@sectile/vue 0.16.6 → 0.18.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/accordion.d.ts +12 -0
- package/dist/accordion.js +1 -1
- package/dist/accordion.js.map +1 -1
- package/dist/carousel.d.ts +13 -0
- package/dist/carousel.js +1 -1
- package/dist/carousel.js.map +1 -1
- package/dist/cascade-list.d.ts +11 -1
- package/dist/cascade-list.js +1 -1
- package/dist/cascade-list.js.map +1 -1
- package/dist/cascade-select.d.ts +11 -1
- package/dist/cascade-select.js +1 -1
- package/dist/cascade-select.js.map +1 -1
- package/dist/checkbox-group.d.ts +9 -0
- package/dist/checkbox.d.ts +11 -1
- package/dist/checkbox.js +1 -1
- package/dist/checkbox.js.map +1 -1
- package/dist/combobox.d.ts +12 -0
- package/dist/combobox.js +1 -1
- package/dist/combobox.js.map +1 -1
- package/dist/disclosure.d.ts +11 -1
- package/dist/disclosure.js +1 -1
- package/dist/disclosure.js.map +1 -1
- package/dist/form.d.ts +6 -48
- package/dist/form.js +1 -1
- package/dist/form.js.map +1 -1
- package/dist/internal/cascade-choice.d.ts +13 -0
- package/dist/internal/cascade-choice.js +1 -1
- package/dist/internal/cascade-choice.js.map +1 -1
- package/dist/internal/conditional-presence.d.ts +23 -0
- package/dist/internal/conditional-presence.js +2 -0
- package/dist/internal/conditional-presence.js.map +1 -0
- package/dist/internal/date-picker.js +1 -1
- package/dist/internal/date-picker.js.map +1 -1
- package/dist/internal/form-context.d.ts +22 -0
- package/dist/internal/form-context.js +2 -0
- package/dist/internal/form-context.js.map +1 -0
- package/dist/internal/form-presence-parts.d.ts +69 -0
- package/dist/internal/form-presence-parts.js +2 -0
- package/dist/internal/form-presence-parts.js.map +1 -0
- package/dist/internal/tabular-parts.js +1 -1
- package/dist/internal/tabular-parts.js.map +1 -1
- package/dist/internal/virtual-collection.d.ts +4 -3
- package/dist/internal/virtual-collection.js.map +1 -1
- package/dist/internal/virtual-core.d.ts +15 -4
- package/dist/internal/virtual-core.js +1 -1
- package/dist/internal/virtual-core.js.map +1 -1
- package/dist/internal/virtual-list.js +1 -1
- package/dist/internal/virtual-list.js.map +1 -1
- package/dist/listbox.d.ts +12 -0
- package/dist/listbox.js +1 -1
- package/dist/listbox.js.map +1 -1
- package/dist/navigation-menu.d.ts +15 -0
- package/dist/navigation-menu.js +1 -1
- package/dist/navigation-menu.js.map +1 -1
- package/dist/radio-group.d.ts +11 -1
- package/dist/radio-group.js +1 -1
- package/dist/radio-group.js.map +1 -1
- package/dist/rating.d.ts +9 -0
- package/dist/select.d.ts +12 -0
- package/dist/select.js +1 -1
- package/dist/select.js.map +1 -1
- package/dist/stepper.d.ts +9 -0
- package/dist/tabs.d.ts +11 -1
- package/dist/tabs.js +1 -1
- package/dist/tabs.js.map +1 -1
- package/dist/tree-grid.d.ts +14 -0
- package/dist/tree-grid.js +1 -1
- package/dist/tree-grid.js.map +1 -1
- package/dist/tree-view.d.ts +11 -1
- package/dist/tree-view.js +1 -1
- package/dist/tree-view.js.map +1 -1
- package/dist/virtual-core.d.ts +1 -1
- package/dist/virtual-core.js.map +1 -1
- package/package.json +11 -11
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type PropType, type SlotsType, type VNodeChild } from 'vue';
|
|
2
|
+
import type { FormFieldSlotProps, FormSummarySlotProps } from '../form.js';
|
|
3
|
+
import { type PrimitiveAs } from '../primitive.js';
|
|
4
|
+
export declare const FormMessage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
5
|
+
forcePresent: {
|
|
6
|
+
readonly type: BooleanConstructor;
|
|
7
|
+
readonly default: false;
|
|
8
|
+
};
|
|
9
|
+
asChild: {
|
|
10
|
+
type: BooleanConstructor;
|
|
11
|
+
default: boolean;
|
|
12
|
+
};
|
|
13
|
+
as: {
|
|
14
|
+
type: PropType<PrimitiveAs>;
|
|
15
|
+
default: string;
|
|
16
|
+
};
|
|
17
|
+
}>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
18
|
+
forcePresent: {
|
|
19
|
+
readonly type: BooleanConstructor;
|
|
20
|
+
readonly default: false;
|
|
21
|
+
};
|
|
22
|
+
asChild: {
|
|
23
|
+
type: BooleanConstructor;
|
|
24
|
+
default: boolean;
|
|
25
|
+
};
|
|
26
|
+
as: {
|
|
27
|
+
type: PropType<PrimitiveAs>;
|
|
28
|
+
default: string;
|
|
29
|
+
};
|
|
30
|
+
}>> & Readonly<{}>, {
|
|
31
|
+
forcePresent: boolean;
|
|
32
|
+
asChild: boolean;
|
|
33
|
+
as: PrimitiveAs;
|
|
34
|
+
}, SlotsType<{
|
|
35
|
+
default: (props: FormFieldSlotProps) => VNodeChild;
|
|
36
|
+
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
37
|
+
export declare const FormSummary: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
38
|
+
forcePresent: {
|
|
39
|
+
readonly type: BooleanConstructor;
|
|
40
|
+
readonly default: false;
|
|
41
|
+
};
|
|
42
|
+
as: {
|
|
43
|
+
type: PropType<PrimitiveAs>;
|
|
44
|
+
default: string;
|
|
45
|
+
};
|
|
46
|
+
asChild: {
|
|
47
|
+
type: BooleanConstructor;
|
|
48
|
+
default: boolean;
|
|
49
|
+
};
|
|
50
|
+
}>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
51
|
+
forcePresent: {
|
|
52
|
+
readonly type: BooleanConstructor;
|
|
53
|
+
readonly default: false;
|
|
54
|
+
};
|
|
55
|
+
as: {
|
|
56
|
+
type: PropType<PrimitiveAs>;
|
|
57
|
+
default: string;
|
|
58
|
+
};
|
|
59
|
+
asChild: {
|
|
60
|
+
type: BooleanConstructor;
|
|
61
|
+
default: boolean;
|
|
62
|
+
};
|
|
63
|
+
}>> & Readonly<{}>, {
|
|
64
|
+
forcePresent: boolean;
|
|
65
|
+
as: PrimitiveAs;
|
|
66
|
+
asChild: boolean;
|
|
67
|
+
}, SlotsType<{
|
|
68
|
+
default: (props: FormSummarySlotProps) => VNodeChild;
|
|
69
|
+
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{computed,defineComponent,h,mergeProps}from"vue";import{getFormIssuesBySource}from"@sectile/form/state";import{Primitive}from"../primitive.js";import{conditionalPresenceProps,useConditionalPresence}from"./conditional-presence.js";import{useFormContext,useFormFieldContext,useFormSelectorFromContext}from"./form-context.js";const partProps={as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}};const FormMessage=defineComponent({name:"SectileFormMessage",inheritAttrs:false,props:{...partProps,...conditionalPresenceProps,as:{...partProps.as,default:"p"}},slots:Object,setup(props,{attrs,slots}){const field=useFormFieldContext("FormMessage");const active=computed(()=>!field.slotProps.value.valid);const forcePresent=computed(()=>props.forcePresent);const presence=useConditionalPresence(active,forcePresent);return()=>{const inactivePresent=!active.value&&presence.present.value;return h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:presence.register,id:field.slotProps.value.messageId,hidden:presence.hidden.value,role:active.value?"alert":void 0,"aria-live":active.value?"polite":"off",...inactivePresent?{inert:true,"aria-hidden":"true"}:{},"data-scope":"form","data-part":"message","data-state":active.value?"visible":"hidden"}),{default:()=>slots["default"]?.(field.slotProps.value)??field.slotProps.value.issues.map(issue=>issue.message).join(" ")})}}});const FormSummary=defineComponent({name:"SectileFormSummary",inheritAttrs:false,props:{...partProps,...conditionalPresenceProps},slots:Object,setup(props,{attrs,slots}){const form=useFormContext("FormSummary");const valid=useFormSelectorFromContext(form,()=>state=>state.valid);const validation=useFormSelectorFromContext(form,()=>state=>state.validation);const submission=useFormSelectorFromContext(form,()=>state=>state.submission);const issues=useFormSelectorFromContext(form,()=>state=>state.allIssues);const serverIssues=useFormSelectorFromContext(form,()=>state=>getFormIssuesBySource(state,"server"));const firstIssue=useFormSelectorFromContext(form,()=>state=>state.allIssues[0]??null);const active=computed(()=>issues.value.length>0||submission.value.failure!==null);const forcePresent=computed(()=>props.forcePresent);const presence=useConditionalPresence(active,forcePresent);const slotProps=computed(()=>Object.freeze({validation:validation.value,submission:submission.value,issues:issues.value,serverIssues:serverIssues.value,firstIssue:firstIssue.value,valid:valid.value}));return()=>{const inactivePresent=!active.value&&presence.present.value;return h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,id:form.summaryId,elementRef:element=>{const resolved=presence.register(element);form.summary.value=resolved??null},role:active.value?"alert":void 0,"aria-live":active.value?"polite":"off",tabindex:-1,hidden:presence.hidden.value,...inactivePresent?{inert:true,"aria-hidden":"true"}:{},"data-scope":"form","data-part":"summary","data-state":active.value?"visible":"hidden"}),{default:()=>slots["default"]?.(slotProps.value)??[submission.value.failure?.message,...issues.value.map(issue=>issue.message)].filter(message=>message!==void 0).join(" ")})}}});export{FormMessage,FormSummary};
|
|
2
|
+
//# sourceMappingURL=form-presence-parts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/internal/form-presence-parts.ts"],"mappings":"AAAA,OACE,SACA,gBACA,EACA,eAIK,MACP,OAAS,0BAA6B,sBAEtC,OAAS,cAAmC,kBAC5C,OACE,yBACA,2BACK,4BACP,OACE,eACA,oBACA,+BACK,oBAEP,MAAM,UAAY,CAChB,GAAI,CAAE,KAAM,CAAC,OAAQ,OAAQ,QAAQ,EAA4B,QAAS,KAAK,EAC/E,QAAS,CAAE,KAAM,QAAS,QAAS,KAAK,GAGnC,MAAM,YAAc,gBAAgB,CACzC,KAAM,qBAAsB,aAAc,MAC1C,MAAO,CAAE,GAAG,UAAW,GAAG,yBAA0B,GAAI,CAAE,GAAG,UAAU,GAAI,QAAS,GAAG,CAAE,EACzF,MAAO,OACP,MAAM,MAAO,CAAE,MAAO,KAAK,EAAE,CAC3B,MAAM,MAAQ,oBAAoB,aAAa,EAC/C,MAAM,OAAS,SAAS,IAAM,CAAC,MAAM,UAAU,MAAM,KAAK,EAC1D,MAAM,aAAe,SAAS,IAAM,MAAM,YAAY,EACtD,MAAM,SAAW,uBAAuB,OAAQ,YAAY,EAC5D,MAAO,IAAiB,CACtB,MAAM,gBAAkB,CAAC,OAAO,OAAS,SAAS,QAAQ,MAC1D,OAAO,EAAE,UAAW,WAAW,MAAO,CACpC,GAAI,MAAM,GACV,QAAS,MAAM,QACf,WAAY,SAAS,SACrB,GAAI,MAAM,UAAU,MAAM,UAC1B,OAAQ,SAAS,OAAO,MACxB,KAAM,OAAO,MAAQ,QAAU,OAC/B,YAAa,OAAO,MAAQ,SAAW,MACvC,GAAI,gBAAkB,CAAE,MAAO,KAAM,cAAe,MAAM,EAAK,CAAA,EAC/D,aAAc,OACd,YAAa,UACb,aAAc,OAAO,MAAQ,UAAY,SAC1C,EAAG,CACF,QAAS,IAAM,MAAM,SAAS,IAAI,MAAM,UAAU,KAAK,GAClD,MAAM,UAAU,MAAM,OAAO,IAAK,OAAU,MAAM,OAAO,EAAE,KAAK,GAAG,EACzE,CACH,CACF,EACD,EAEM,MAAM,YAAc,gBAAgB,CACzC,KAAM,qBAAsB,aAAc,MAC1C,MAAO,CAAE,GAAG,UAAW,GAAG,wBAAwB,EAClD,MAAO,OACP,MAAM,MAAO,CAAE,MAAO,KAAK,EAAE,CAC3B,MAAM,KAAO,eAAe,aAAa,EACzC,MAAM,MAAQ,2BAA2B,KAAM,IAAO,OAAU,MAAM,KAAK,EAC3E,MAAM,WAAa,2BAA2B,KAAM,IAAO,OAAU,MAAM,UAAU,EACrF,MAAM,WAAa,2BAA2B,KAAM,IAAO,OAAU,MAAM,UAAU,EACrF,MAAM,OAAS,2BAA2B,KAAM,IAAO,OAAU,MAAM,SAAS,EAChF,MAAM,aAAe,2BACnB,KACA,IAAO,OAAU,sBAAsB,MAAO,QAAQ,CAAC,EAEzD,MAAM,WAAa,2BACjB,KACA,IAAO,OAAU,MAAM,UAAU,CAAC,GAAK,IAAI,EAE7C,MAAM,OAAS,SAAS,IAAM,OAAO,MAAM,OAAS,GAAK,WAAW,MAAM,UAAY,IAAI,EAC1F,MAAM,aAAe,SAAS,IAAM,MAAM,YAAY,EACtD,MAAM,SAAW,uBAAuB,OAAQ,YAAY,EAC5D,MAAM,UAAY,SAA+B,IAAM,OAAO,OAAO,CACnE,WAAY,WAAW,MACvB,WAAY,WAAW,MACvB,OAAQ,OAAO,MACf,aAAc,aAAa,MAC3B,WAAY,WAAW,MACvB,MAAO,MAAM,MACd,CAAC,EACF,MAAO,IAAiB,CACtB,MAAM,gBAAkB,CAAC,OAAO,OAAS,SAAS,QAAQ,MAC1D,OAAO,EAAE,UAAW,WAAW,MAAO,CACpC,GAAI,MAAM,GACV,QAAS,MAAM,QACf,GAAI,KAAK,UACT,WAAa,SAAoB,CAC/B,MAAM,SAAW,SAAS,SAAS,OAAO,EAC1C,KAAK,QAAQ,MAAQ,UAAY,IACnC,EACA,KAAM,OAAO,MAAQ,QAAU,OAC/B,YAAa,OAAO,MAAQ,SAAW,MACvC,SAAU,GACV,OAAQ,SAAS,OAAO,MACxB,GAAI,gBAAkB,CAAE,MAAO,KAAM,cAAe,MAAM,EAAK,CAAA,EAC/D,aAAc,OACd,YAAa,UACb,aAAc,OAAO,MAAQ,UAAY,SAC1C,EAAG,CACF,QAAS,IAAM,MAAM,SAAS,IAAI,UAAU,KAAK,GAC5C,CACD,WAAW,MAAM,SAAS,QAC1B,GAAG,OAAO,MAAM,IAAK,OAAU,MAAM,OAAO,GAC5C,OAAQ,SAA+B,UAAY,MAAS,EAAE,KAAK,GAAG,EAC3E,CACH,CACF,EACD","names":[],"file":"form-presence-parts.js"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide}from"vue";import{Primitive}from"../primitive.js";import{provideProfile,refreshVueProfileController,stateOf,useProfile}from"./tabular-profile.js";const asProp={type:[String,Object,Function],default:"div"};const asChildProp={type:Boolean,default:false};const identityProps={rowID:{type:String,default:void 0},column:{type:String,required:true}};function createTabularParts(config){const rowKey=Symbol(`Sectile${config.prefix}Row`);const usePublic=name=>useProfile(config.publicKey,`${config.prefix}${name}`);const usePrivate=name=>useProfile(config.privateKey,`${config.prefix}${name}`);const structural=(suffix,part,tag)=>defineComponent({name:`Sectile${config.prefix}${suffix}`,inheritAttrs:false,props:{as:{...asProp,default:tag},asChild:asChildProp},setup(props,{attrs,slots}){const context=usePublic(suffix);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":config.profile,"data-part":part,role:config.profile==="data-table"?void 0:part==="header"||part==="body"?"rowgroup":void 0}),{default:()=>slots["default"]?.(rootSlot(context))})}});const boundPart=(suffix,part,tag,props,bind,rowAware=false)=>defineComponent({name:`Sectile${config.prefix}${suffix}`,inheritAttrs:false,props:{...props,as:{...asProp,default:tag},asChild:asChildProp},setup(runtimeProps,{attrs,slots}){const context=usePrivate(suffix);const inheritedRow=rowAware?inject(rowKey,null):null;const values=()=>{const resolved=runtimeProps;if(!rowAware||resolved["rowID"]!==void 0)return resolved;const row=inheritedRow?.value;if(row===void 0)throw new TypeError(`${config.prefix}${suffix} requires rowID outside automatic ${config.prefix}Body.`);return Object.freeze({...resolved,rowID:row.id})};let release;onBeforeUnmount(()=>release?.());const elementRef=value=>{release?.();release=void 0;if(!(value instanceof HTMLElement)||context.connection.value===null)return;release=bind(context.connection.value,value,values())};return()=>h(Primitive,mergeProps(attrs,{as:runtimeProps.as,asChild:runtimeProps.asChild,elementRef,"data-scope":config.profile,"data-part":part,role:config.profile==="data-table"?void 0:part==="row"?"row":part==="column-header"?"columnheader":part==="cell"?"gridcell":void 0}),{default:()=>slots["default"]?.(partSlot(context,inheritedRow))})}});const Provider=defineComponent({name:`Sectile${config.prefix}Provider`,props:{controller:{type:Object,required:true}},setup(props,{slots}){const context=provideProfile(config.publicKey,config.privateKey,props.controller);return()=>slots["default"]?.(rootSlot(context))}});const rootTag=config.profile==="data-table"?"table":"div";const Root=defineComponent({name:`Sectile${config.prefix}Root`,inheritAttrs:false,props:{onCommand:{type:Function,default:void 0},onError:{type:Function,default:void 0},as:{...asProp,default:rootTag},asChild:asChildProp},setup(props,{attrs,expose,slots}){const context=usePrivate("Root");let element=null;const connect=()=>{config.connectionChanged?.(context.controller,null);context.connection.value?.disconnect();context.connection.value=null;if(element===null)return;try{context.connection.value=config.connect(element,context.controller,{...props.onCommand===void 0?{}:{onCommand:props.onCommand},onSnapshotChange:()=>refreshVueProfileController(context.controller)});config.connectionChanged?.(context.controller,context.connection.value)}catch(error){props.onError?.(error);if(props.onError===void 0)throw error}};onMounted(connect);onBeforeUnmount(()=>{config.connectionChanged?.(context.controller,null);context.connection.value?.disconnect();context.connection.value=null});expose({controller:context.controller,refresh:()=>context.connection.value?.refresh()});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:value=>{element=value instanceof HTMLElement?value:null},"data-scope":config.profile,"data-part":"root",role:config.profile==="data-grid"?"grid":config.profile==="data-tree-grid"?"treegrid":void 0}),{default:()=>slots["default"]?.(rootSlot(context))})}});const table=config.profile==="data-table";const Caption=structural("Caption","caption","caption");const Header=structural("Header","header",table?"thead":"div");const HeaderRow=defineComponent({name:`Sectile${config.prefix}HeaderRow`,inheritAttrs:false,props:{as:{...asProp,default:table?"tr":"div"},asChild:asChildProp},setup(props,{attrs,slots}){const context=usePublic("HeaderRow");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,role:table?void 0:"row","data-scope":config.profile,"data-part":"header-row"}),{default:()=>slots["default"]?.(rootSlot(context))})}});const ColumnHeader=boundPart("ColumnHeader","column-header",table?"th":"div",{column:{type:String,default:void 0},header:{type:String,default:void 0}},(connection,element,props)=>{const column=props["column"];const header=props["header"];if(column===void 0===(header===void 0)){throw new TypeError(`${config.prefix}ColumnHeader requires exactly one of column or header.`)}const reference=column===void 0?{headerNodeID:String(header)}:{columnID:String(column)};if(table&&element instanceof HTMLTableCellElement)connection.setHeaderCellAttributes?.(element,reference);else connection.setColumnHeaderAttributes?.(element,reference);return void 0});const Row=boundPart("Row","row",table?"tr":"div",{rowID:{type:String,required:true}},(connection,element,props)=>{const result=connection.registerRow(element,{rowID:String(props["rowID"]),expectedProjectionGeneration:connection.getProjection().generation});return result.ok?result.value:void 0});const AutomaticRow=defineComponent({name:`Sectile${config.prefix}AutomaticRow`,props:{row:{type:Object,required:true}},setup(props,{slots}){provide(rowKey,computed(()=>props.row));return()=>h(Row,{rowID:props.row.id,"data-row-id":props.row.id,"data-row-kind":props.row.kind,...props.row.contextOnly===true?{"data-context-only":""}:{}},{default:()=>slots["default"]?.()})}});const Body=defineComponent({name:`Sectile${config.prefix}Body`,inheritAttrs:false,props:{manual:{type:Boolean,default:false},as:{...asProp,default:table?"tbody":"div"},asChild:asChildProp},slots:Object,setup(props,{attrs,slots}){const context=usePublic("Body");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":config.profile,"data-part":"body",role:table?void 0:"rowgroup"}),{default:()=>{const root=rootSlot(context);if(props.manual)return slots["default"]?.(root);const rows=root["rows"];if(rows.length===0)return slots["empty"]?.(root);return rows.map((row,rowIndex)=>h(AutomaticRow,{key:row.id,row},{default:()=>slots["default"]?.(Object.freeze({...root,row,rowIndex,isGroup:row.kind==="group"}))}))}})}});const Cell=boundPart("Cell","cell",table?"td":"div",identityProps,(connection,element,props)=>{const result=connection.registerCell(element,{cell:{rowID:String(props["rowID"]),columnID:String(props["column"])},expectedProjectionGeneration:connection.getProjection().generation});return result.ok?result.value:void 0},true);const SortTrigger=boundPart("SortTrigger","sort-trigger","button",{column:{type:String,required:true},comparator:{type:String,default:"default"}},(connection,element,props)=>connection.bindSortTrigger(element,{columnID:String(props["column"]),comparator:String(props["comparator"])}));const FilterControl=boundPart("FilterControl","filter-control","input",{scope:{type:String,required:true},column:{type:String,default:void 0},id:{type:String,required:true},predicate:{type:String,required:true}},(connection,element,props)=>element instanceof HTMLInputElement||element instanceof HTMLSelectElement?connection.bindFilterControl(element,props["scope"]==="column"?{scope:"column",columnID:String(props["column"]),id:String(props["id"]),predicate:String(props["predicate"])}:{scope:"global",id:String(props["id"]),predicate:String(props["predicate"])}):void 0);const ColumnResizeHandle=boundPart("ColumnResizeHandle","column-resize-handle","button",{column:{type:String,required:true},minSize:{type:Number,default:void 0},maxSize:{type:Number,default:void 0}},(connection,element,props)=>connection.bindColumnResizeHandle(element,{columnID:String(props["column"]),...typeof props["minSize"]==="number"?{minSize:props["minSize"]}:{},...typeof props["maxSize"]==="number"?{maxSize:props["maxSize"]}:{}}));const SelectionControl=boundPart(table?"SelectionControl":"RowSelectionControl","selection-control","input",{rowID:{type:String,default:void 0},name:{type:String,required:true},value:{type:String,default:void 0},form:{type:String,default:void 0},disabled:{type:Boolean,default:false}},(connection,element,props)=>{const rowID=String(props["rowID"]);const options={rowID,name:String(props["name"]),value:props["value"]===void 0?rowID:String(props["value"]),...typeof props["form"]==="string"?{form:props["form"]}:{},disabled:props["disabled"]===true};return table?connection.bindSelectionControl?.(element,options):connection.bindRowSelectionControl?.(element,options)},true);const BulkSelectionControl=boundPart("BulkSelectionControl","bulk-selection-control","button",{target:{type:Object,required:true},disabled:{type:Boolean,default:false}},(connection,element,props)=>connection.bindBulkSelectionControl(element,{target:props["target"],disabled:props["disabled"]===true}));const Disclosure=boundPart(config.profile==="data-tree-grid"?"RowDisclosure":"Disclosure","disclosure","button",{rowID:{type:String,default:void 0},disabled:{type:Boolean,default:false}},(connection,element,props)=>config.profile==="data-tree-grid"?connection.bindRowDisclosure?.(element,{rowID:String(props["rowID"]),disabled:props["disabled"]===true}):connection.bindDisclosure?.(element,{rowID:String(props["rowID"]),disabled:props["disabled"]===true}),true);const Editor=boundPart("Editor","editor","input",{...identityProps,parseValue:{type:Function,default:void 0},commitOnChange:{type:Boolean,default:false}},(connection,element,props)=>element instanceof HTMLInputElement||element instanceof HTMLTextAreaElement||element instanceof HTMLSelectElement?connection.bindEditor(element,{cell:{rowID:String(props["rowID"]),columnID:String(props["column"])},...typeof props["parseValue"]==="function"?{parseValue:props["parseValue"]}:{},commitOnChange:props["commitOnChange"]===true}):void 0,true);return Object.freeze({Provider,Root,Caption,Header,HeaderRow,ColumnHeader,SortTrigger,FilterControl,ColumnResizeHandle,Body,Row,SelectionControl,BulkSelectionControl,Disclosure,Cell,Editor})}function rootSlot(context){const state=stateOf(context.snapshot.value);const profile=context.snapshot.value;return Object.freeze({controller:context.controller,snapshot:context.snapshot.value,acceptedViewState:state.acceptedViewState,requestState:state.requestState,query:state.query,rowSelection:state.rowSelection,columnState:state.columnState,accessState:state.accessState,expansion:state.expansion,rows:state.acceptedViewState.kind==="none"?Object.freeze([]):state.acceptedViewState.view.rows,...profile.cursor===void 0?{}:{cursor:profile.cursor},...profile.edit===void 0?{}:{editState:profile.edit}})}function partSlot(context,row){const root=rootSlot(context);return row===null?root:Object.freeze({...root,row:row.value,isGroup:row.value.kind==="group"})}export{createTabularParts};
|
|
1
|
+
import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide}from"vue";import{Primitive}from"../primitive.js";import{provideProfile,refreshVueProfileController,stateOf,useProfile}from"./tabular-profile.js";const asProp={type:[String,Object,Function],default:"div"};const asChildProp={type:Boolean,default:false};const identityProps={rowID:{type:String,default:void 0},column:{type:String,required:true}};function createTabularParts(config){const rowKey=Symbol(`Sectile${config.prefix}Row`);const usePublic=name=>useProfile(config.publicKey,`${config.prefix}${name}`);const usePrivate=name=>useProfile(config.privateKey,`${config.prefix}${name}`);const structural=(suffix,part,tag)=>defineComponent({name:`Sectile${config.prefix}${suffix}`,inheritAttrs:false,props:{as:{...asProp,default:tag},asChild:asChildProp},setup(props,{attrs,slots}){const context=usePublic(suffix);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":config.profile,"data-part":part,role:config.profile==="data-table"?void 0:part==="header"||part==="body"?"rowgroup":void 0}),{default:()=>slots["default"]?.(rootSlot(context))})}});const boundPart=(suffix,part,tag,props,bind,rowAware=false)=>defineComponent({name:`Sectile${config.prefix}${suffix}`,inheritAttrs:false,props:{...props,as:{...asProp,default:tag},asChild:asChildProp},setup(runtimeProps,{attrs,slots}){const context=usePrivate(suffix);const inheritedRow=rowAware?inject(rowKey,null):null;const values=()=>{const resolved=runtimeProps;if(!rowAware||resolved["rowID"]!==void 0)return resolved;const row=inheritedRow?.value;if(row===void 0)throw new TypeError(`${config.prefix}${suffix} requires rowID outside automatic ${config.prefix}Body.`);return Object.freeze({...resolved,rowID:row.id})};let release;onBeforeUnmount(()=>release?.());const elementRef=value=>{release?.();release=void 0;if(!(value instanceof HTMLElement)||context.connection.value===null)return;release=bind(context.connection.value,value,values())};return()=>h(Primitive,mergeProps(attrs,{as:runtimeProps.as,asChild:runtimeProps.asChild,elementRef,"data-scope":config.profile,"data-part":part,role:config.profile==="data-table"?void 0:part==="row"?"row":part==="column-header"?"columnheader":part==="cell"?"gridcell":void 0}),{default:()=>slots["default"]?.(partSlot(context,inheritedRow))})}});const Provider=defineComponent({name:`Sectile${config.prefix}Provider`,props:{controller:{type:Object,required:true}},setup(props,{slots}){const context=provideProfile(config.publicKey,config.privateKey,props.controller);return()=>slots["default"]?.(rootSlot(context))}});const rootTag=config.profile==="data-table"?"table":"div";const Root=defineComponent({name:`Sectile${config.prefix}Root`,inheritAttrs:false,props:{onCommand:{type:Function,default:void 0},onError:{type:Function,default:void 0},as:{...asProp,default:rootTag},asChild:asChildProp},setup(props,{attrs,expose,slots}){const context=usePrivate("Root");let element=null;const connect=()=>{config.connectionChanged?.(context.controller,null);context.connection.value?.disconnect();context.connection.value=null;if(element===null)return;try{context.connection.value=config.connect(element,context.controller,{...props.onCommand===void 0?{}:{onCommand:props.onCommand},onSnapshotChange:()=>refreshVueProfileController(context.controller)});config.connectionChanged?.(context.controller,context.connection.value)}catch(error){props.onError?.(error);if(props.onError===void 0)throw error}};onMounted(connect);onBeforeUnmount(()=>{config.connectionChanged?.(context.controller,null);context.connection.value?.disconnect();context.connection.value=null});expose({controller:context.controller,refresh:()=>context.connection.value?.refresh()});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:value=>{element=value instanceof HTMLElement?value:null},"data-scope":config.profile,"data-part":"root",role:config.profile==="data-grid"?"grid":config.profile==="data-tree-grid"?"treegrid":void 0}),{default:()=>slots["default"]?.(rootSlot(context))})}});const table=config.profile==="data-table";const Caption=structural("Caption","caption","caption");const Header=structural("Header","header",table?"thead":"div");const HeaderRow=defineComponent({name:`Sectile${config.prefix}HeaderRow`,inheritAttrs:false,props:{as:{...asProp,default:table?"tr":"div"},asChild:asChildProp},setup(props,{attrs,slots}){const context=usePublic("HeaderRow");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,role:table?void 0:"row","data-scope":config.profile,"data-part":"header-row"}),{default:()=>slots["default"]?.(rootSlot(context))})}});const ColumnHeader=boundPart("ColumnHeader","column-header",table?"th":"div",{column:{type:String,default:void 0},header:{type:String,default:void 0}},(connection,element,props)=>{const column=props["column"];const header=props["header"];if(column===void 0===(header===void 0)){throw new TypeError(`${config.prefix}ColumnHeader requires exactly one of column or header.`)}const reference=column===void 0?{headerNodeID:String(header)}:{columnID:String(column)};if(table&&element instanceof HTMLTableCellElement)connection.setHeaderCellAttributes?.(element,reference);else connection.setColumnHeaderAttributes?.(element,reference);return void 0});const Row=boundPart("Row","row",table?"tr":"div",{rowID:{type:String,required:true}},(connection,element,props)=>{const result=connection.registerRow(element,{rowID:String(props["rowID"]),expectedProjectionGeneration:connection.getProjection().generation});return result.ok?result.value:void 0});const AutomaticRow=defineComponent({name:`Sectile${config.prefix}AutomaticRow`,props:{row:{type:Object,required:true}},setup(props,{slots}){provide(rowKey,computed(()=>props.row));return()=>h(Row,{rowID:props.row.id,"data-row-id":props.row.id,"data-row-kind":props.row.kind,...props.row.kind==="group"&&props.row.contextOnly===true?{"data-context-only":""}:{}},{default:()=>slots["default"]?.()})}});const Body=defineComponent({name:`Sectile${config.prefix}Body`,inheritAttrs:false,props:{manual:{type:Boolean,default:false},as:{...asProp,default:table?"tbody":"div"},asChild:asChildProp},slots:Object,setup(props,{attrs,slots}){const context=usePublic("Body");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":config.profile,"data-part":"body",role:table?void 0:"rowgroup"}),{default:()=>{const root=rootSlot(context);if(props.manual)return slots["default"]?.(root);const rows=root["rows"];if(rows.length===0)return slots["empty"]?.(root);return rows.map((row,rowIndex)=>h(AutomaticRow,{key:row.id,row},{default:()=>slots["default"]?.(Object.freeze({...root,row,rowIndex,isGroup:row.kind==="group"}))}))}})}});const Cell=boundPart("Cell","cell",table?"td":"div",identityProps,(connection,element,props)=>{const result=connection.registerCell(element,{cell:{rowID:String(props["rowID"]),columnID:String(props["column"])},expectedProjectionGeneration:connection.getProjection().generation});return result.ok?result.value:void 0},true);const SortTrigger=boundPart("SortTrigger","sort-trigger","button",{column:{type:String,required:true},comparator:{type:String,default:"default"}},(connection,element,props)=>connection.bindSortTrigger(element,{columnID:String(props["column"]),comparator:String(props["comparator"])}));const FilterControl=boundPart("FilterControl","filter-control","input",{scope:{type:String,required:true},column:{type:String,default:void 0},id:{type:String,required:true},predicate:{type:String,required:true}},(connection,element,props)=>element instanceof HTMLInputElement||element instanceof HTMLSelectElement?connection.bindFilterControl(element,props["scope"]==="column"?{scope:"column",columnID:String(props["column"]),id:String(props["id"]),predicate:String(props["predicate"])}:{scope:"global",id:String(props["id"]),predicate:String(props["predicate"])}):void 0);const ColumnResizeHandle=boundPart("ColumnResizeHandle","column-resize-handle","button",{column:{type:String,required:true},minSize:{type:Number,default:void 0},maxSize:{type:Number,default:void 0}},(connection,element,props)=>connection.bindColumnResizeHandle(element,{columnID:String(props["column"]),...typeof props["minSize"]==="number"?{minSize:props["minSize"]}:{},...typeof props["maxSize"]==="number"?{maxSize:props["maxSize"]}:{}}));const SelectionControl=boundPart(table?"SelectionControl":"RowSelectionControl","selection-control","input",{rowID:{type:String,default:void 0},name:{type:String,required:true},value:{type:String,default:void 0},form:{type:String,default:void 0},disabled:{type:Boolean,default:false}},(connection,element,props)=>{const rowID=String(props["rowID"]);const options={rowID,name:String(props["name"]),value:props["value"]===void 0?rowID:String(props["value"]),...typeof props["form"]==="string"?{form:props["form"]}:{},disabled:props["disabled"]===true};return table?connection.bindSelectionControl?.(element,options):connection.bindRowSelectionControl?.(element,options)},true);const BulkSelectionControl=boundPart("BulkSelectionControl","bulk-selection-control","button",{target:{type:Object,required:true},disabled:{type:Boolean,default:false}},(connection,element,props)=>connection.bindBulkSelectionControl(element,{target:props["target"],disabled:props["disabled"]===true}));const Disclosure=boundPart(config.profile==="data-tree-grid"?"RowDisclosure":"Disclosure","disclosure","button",{rowID:{type:String,default:void 0},disabled:{type:Boolean,default:false}},(connection,element,props)=>config.profile==="data-tree-grid"?connection.bindRowDisclosure?.(element,{rowID:String(props["rowID"]),disabled:props["disabled"]===true}):connection.bindDisclosure?.(element,{rowID:String(props["rowID"]),disabled:props["disabled"]===true}),true);const Editor=boundPart("Editor","editor","input",{...identityProps,parseValue:{type:Function,default:void 0},commitOnChange:{type:Boolean,default:false}},(connection,element,props)=>element instanceof HTMLInputElement||element instanceof HTMLTextAreaElement||element instanceof HTMLSelectElement?connection.bindEditor(element,{cell:{rowID:String(props["rowID"]),columnID:String(props["column"])},...typeof props["parseValue"]==="function"?{parseValue:props["parseValue"]}:{},commitOnChange:props["commitOnChange"]===true}):void 0,true);return Object.freeze({Provider,Root,Caption,Header,HeaderRow,ColumnHeader,SortTrigger,FilterControl,ColumnResizeHandle,Body,Row,SelectionControl,BulkSelectionControl,Disclosure,Cell,Editor})}function rootSlot(context){const state=stateOf(context.snapshot.value);const profile=context.snapshot.value;return Object.freeze({controller:context.controller,snapshot:context.snapshot.value,acceptedViewState:state.acceptedViewState,requestState:state.requestState,query:state.query,rowSelection:state.rowSelection,columnState:state.columnState,accessState:state.accessState,expansion:state.expansion,rows:state.acceptedViewState.kind==="none"?Object.freeze([]):state.acceptedViewState.view.rows,...profile.cursor===void 0?{}:{cursor:profile.cursor},...profile.edit===void 0?{}:{editState:profile.edit}})}function partSlot(context,row){const root=rootSlot(context);return row===null?root:Object.freeze({...root,row:row.value,isGroup:row.value.kind==="group"})}export{createTabularParts};
|
|
2
2
|
//# sourceMappingURL=tabular-parts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/internal/tabular-parts.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../src/internal/tabular-parts.ts"],"mappings":"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","names":[],"file":"tabular-parts.js"}
|
|
@@ -2,8 +2,8 @@ import { type ShallowRef, type VNodeArrayChildren, type VNodeChild } from 'vue';
|
|
|
2
2
|
import type { StableID } from '@sectile/core';
|
|
3
3
|
import type { Sequence } from '@sectile/core/sequence';
|
|
4
4
|
import { type VirtualCollectionIDResolver as OwnerVirtualCollectionIDResolver, type VirtualCollectionProjection, type VirtualLanePolicy, type VirtualSizePolicy } from '@sectile/virtual/collection';
|
|
5
|
-
import { type VirtualInsets, type VirtualLayoutPlan, type VirtualPlacement, type VirtualPoint, type VirtualRect, type VirtualScrollAlignment } from '@sectile/dom/virtual';
|
|
6
|
-
import { type VirtualizerItemSize, type VirtualizerOperationResult, type VirtualizerRootExpose } from './virtual-core.js';
|
|
5
|
+
import { type VirtualInsets, type VirtualLayoutPlan, type VirtualPlacement, type VirtualPoint, type VirtualRect, type VirtualScrollAlignment, type VirtualScrollport } from '@sectile/dom/virtual';
|
|
6
|
+
import { type VirtualizerItemSize, type VirtualizerOperationResult, type VirtualizerRootExpose, type VirtualizerScrollportTarget } from './virtual-core.js';
|
|
7
7
|
export type VirtualCollectionIDResolver<Value, ID extends StableID = StableID> = OwnerVirtualCollectionIDResolver<Value, ID>;
|
|
8
8
|
export type VirtualCollectionItemAttributes<Value> = {
|
|
9
9
|
bivarianceHack(value: Value, index: number): Readonly<Record<string, unknown>>;
|
|
@@ -14,6 +14,7 @@ export interface VirtualCollectionBaseProps<Value, ID extends StableID = StableI
|
|
|
14
14
|
readonly getID: VirtualCollectionIDResolver<Value, ID>;
|
|
15
15
|
readonly overscan?: number | Partial<VirtualInsets>;
|
|
16
16
|
readonly viewportInsets?: number | Partial<VirtualInsets>;
|
|
17
|
+
readonly scrollport?: VirtualizerScrollportTarget | null;
|
|
17
18
|
readonly maxItems?: number;
|
|
18
19
|
readonly initialViewport?: VirtualRect;
|
|
19
20
|
readonly as?: string;
|
|
@@ -41,7 +42,7 @@ export interface VirtualCollectionSlots<Value = unknown, ID extends StableID = S
|
|
|
41
42
|
readonly footer?: () => VNodeChild;
|
|
42
43
|
}
|
|
43
44
|
export interface VirtualCollectionExpose<State, ID extends StableID = StableID> {
|
|
44
|
-
readonly scrollport: ShallowRef<
|
|
45
|
+
readonly scrollport: ShallowRef<VirtualScrollport | null | undefined>;
|
|
45
46
|
readonly surface: ShallowRef<HTMLElement | null | undefined>;
|
|
46
47
|
readonly state: State;
|
|
47
48
|
readonly plan: VirtualLayoutPlan<ID> | null;
|
|
@@ -1 +1 @@
|
|
|
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":"OACEA,gBACAC,EACAC,gBACAC,gBACAC,eAMK,aAILC,iCACAC,wBACAC,6BAKK,qCAELC,
|
|
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,14 +1,14 @@
|
|
|
1
1
|
import { type MaybeRefOrGetter, type PropType, type Ref, type ShallowRef, type SlotsType, type VNodeChild } from 'vue';
|
|
2
2
|
import type { Result, StableID } from '@sectile/core';
|
|
3
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
|
+
import { createAxisMeasurementResolver, virtualItemStyle, virtualSurfaceStyle, type VirtualInsets, type VirtualLayoutMutation, type VirtualLayoutPlan, type VirtualLayoutStrategy, type VirtualMeasurementResolver, type VirtualPlacement, type VirtualPoint, type VirtualRect, type VirtualScrollAlignment, type VirtualScrollport, type VirtualScrollWriter, type VirtualViewportReader, type VirtualizerConnection, type VirtualizerEnvironment, type VirtualizerErrorHandler } from '@sectile/dom/virtual';
|
|
5
5
|
import { type PrimitiveAs } from '../primitive.js';
|
|
6
6
|
export type VirtualizerHostErrorCode = 'virtualizer-not-connected';
|
|
7
7
|
export type VirtualizerOperationResult<T> = Result<T, VirtualErrorCode | VirtualizerHostErrorCode>;
|
|
8
8
|
export interface UseVirtualizerOptions<State, ID extends StableID, Measurement, Mutation> {
|
|
9
9
|
readonly state: Ref<State>;
|
|
10
10
|
readonly strategy: VirtualLayoutStrategy<State, ID, Measurement, Mutation>;
|
|
11
|
-
readonly scrollport?: ShallowRef<
|
|
11
|
+
readonly scrollport?: ShallowRef<VirtualScrollport | null | undefined>;
|
|
12
12
|
readonly surface?: ShallowRef<HTMLElement | null | undefined>;
|
|
13
13
|
readonly overscan?: MaybeRefOrGetter<number | Partial<VirtualInsets> | undefined>;
|
|
14
14
|
readonly viewportInsets?: MaybeRefOrGetter<number | Partial<VirtualInsets> | undefined>;
|
|
@@ -22,7 +22,7 @@ export interface UseVirtualizerOptions<State, ID extends StableID, Measurement,
|
|
|
22
22
|
readonly onError?: VirtualizerErrorHandler;
|
|
23
23
|
}
|
|
24
24
|
export interface UseVirtualizerReturn<State, ID extends StableID, Measurement, Mutation> {
|
|
25
|
-
readonly scrollport: ShallowRef<
|
|
25
|
+
readonly scrollport: ShallowRef<VirtualScrollport | null | undefined>;
|
|
26
26
|
readonly surface: ShallowRef<HTMLElement | null | undefined>;
|
|
27
27
|
readonly plan: ShallowRef<VirtualLayoutPlan<ID> | null>;
|
|
28
28
|
readonly connection: ShallowRef<VirtualizerConnection<State, ID, Measurement, Mutation> | undefined>;
|
|
@@ -35,9 +35,11 @@ export interface UseVirtualizerReturn<State, ID extends StableID, Measurement, M
|
|
|
35
35
|
flush(): VirtualizerOperationResult<VirtualLayoutPlan<ID>>;
|
|
36
36
|
}
|
|
37
37
|
export type VirtualizerItemSize = 'none' | 'width' | 'height' | 'both';
|
|
38
|
+
export type VirtualizerScrollportTarget = 'root' | 'document' | HTMLElement | Document;
|
|
38
39
|
export interface VirtualizerRootProps {
|
|
39
40
|
readonly defaultState: object;
|
|
40
41
|
readonly strategy: VirtualLayoutStrategy<object, StableID, unknown, unknown>;
|
|
42
|
+
readonly scrollport?: VirtualizerScrollportTarget | null;
|
|
41
43
|
readonly overscan?: number | Partial<VirtualInsets>;
|
|
42
44
|
readonly viewportInsets?: number | Partial<VirtualInsets>;
|
|
43
45
|
readonly initialViewport?: VirtualRect;
|
|
@@ -70,7 +72,7 @@ export interface VirtualizerItemProps {
|
|
|
70
72
|
readonly asChild?: boolean;
|
|
71
73
|
}
|
|
72
74
|
export interface VirtualizerRootExpose extends VirtualizerRootSlotProps {
|
|
73
|
-
readonly scrollport: ShallowRef<
|
|
75
|
+
readonly scrollport: ShallowRef<VirtualScrollport | null | undefined>;
|
|
74
76
|
readonly surface: ShallowRef<HTMLElement | null | undefined>;
|
|
75
77
|
}
|
|
76
78
|
export interface VirtualizerSurfaceRegistration {
|
|
@@ -86,6 +88,10 @@ export declare const VirtualizerRoot: import("vue").DefineComponent<import("vue"
|
|
|
86
88
|
type: PropType<VirtualLayoutStrategy<object, StableID, unknown, unknown>>;
|
|
87
89
|
required: true;
|
|
88
90
|
};
|
|
91
|
+
scrollport: {
|
|
92
|
+
type: PropType<VirtualizerScrollportTarget | null>;
|
|
93
|
+
default: string;
|
|
94
|
+
};
|
|
89
95
|
overscan: {
|
|
90
96
|
type: PropType<number | Partial<VirtualInsets>>;
|
|
91
97
|
default: undefined;
|
|
@@ -123,6 +129,10 @@ export declare const VirtualizerRoot: import("vue").DefineComponent<import("vue"
|
|
|
123
129
|
type: PropType<VirtualLayoutStrategy<object, StableID, unknown, unknown>>;
|
|
124
130
|
required: true;
|
|
125
131
|
};
|
|
132
|
+
scrollport: {
|
|
133
|
+
type: PropType<VirtualizerScrollportTarget | null>;
|
|
134
|
+
default: string;
|
|
135
|
+
};
|
|
126
136
|
overscan: {
|
|
127
137
|
type: PropType<number | Partial<VirtualInsets>>;
|
|
128
138
|
default: undefined;
|
|
@@ -152,6 +162,7 @@ export declare const VirtualizerRoot: import("vue").DefineComponent<import("vue"
|
|
|
152
162
|
onPlanChange?: (_plan: VirtualLayoutPlan<StableID>) => any;
|
|
153
163
|
onStateChange?: (_state: object) => any;
|
|
154
164
|
}>, {
|
|
165
|
+
scrollport: VirtualizerScrollportTarget | null;
|
|
155
166
|
overscan: number | Partial<import("@sectile/core/geometry").Insets>;
|
|
156
167
|
viewportInsets: number | Partial<import("@sectile/core/geometry").Insets>;
|
|
157
168
|
initialViewport: import("@sectile/core/geometry").Rect;
|
|
@@ -1,2 +1,2 @@
|
|
|
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};
|
|
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},scrollport:{type:[String,Object],default:'root'},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);let rootElement=null;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)}});const resolveScrollport=target=>{virtualizer.scrollport.value=target==='root'?rootElement:target==='document'?rootElement?.ownerDocument??null:target};watch(()=>props.scrollport,resolveScrollport,{flush:'sync'});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=>{rootElement=asHTMLElement(element);resolveScrollport(props.scrollport)},'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=asHTMLElement(value);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=asHTMLElement(value);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=asHTMLElement(value);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=asHTMLElement(value);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)}function asHTMLElement(value){return typeof value==='object'&&value!==null&&'offsetHeight'in value?value:null}export function virtualizerNotConnected(){return{ok:false,error:{class:'transition-rejection',code:'virtualizer-not-connected',message:'not connected'}}}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","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":[]}
|
|
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","String","default","Number","Function","as","asChild","Boolean","emits","stateChange","_state","planChange","_plan","_error","slots","setup","attrs","emit","expose","rootElement","virtualizer","resolveScrollport","target","ownerDocument","is","constructionWarningShown","previous","every","index","console","warn","slotProps","placements","elementRef","asHTMLElement","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":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineComponent,h,nextTick,onBeforeUnmount,onMounted,shallowRef,watch}from'vue';import{createSequence}from'@sectile/core/sequence';import{createExactVirtualExtent,createVirtualExtent,reconcileVirtualCollectionExtents,reconcileVirtualCollectionValueExtents,virtualSizePolicyRequiresMeasurement}from'@sectile/virtual/collection';import{createExtentIndex,createUniformExtentIndex}from'@sectile/virtual/extent-index';import{createLinearLayout,linearLayoutStrategyFor,setLinearCrossExtent,tryApplyLinearMeasurements,tryApplyLinearPatch}from'@sectile/virtual/linear-layout';import{}from'@sectile/dom/virtual';import{VirtualizerFooter,VirtualizerHeader,VirtualizerRoot,VirtualizerSurface}from'./virtual-core.js';import{constrainPreparedVirtualCollection,createVirtualCollectionExpose,prepareVirtualCollection,renderHighLevelItems,updatePreparedVirtualCollection}from'./virtual-collection.js';const VirtualListRuntime=/* @__PURE__ */defineComponent({name:'SectileVirtualList',inheritAttrs:false,props:{items:{type:Array,required:true},getID:{type:Function,required:true},sizePolicy:{type:Object,required:true},axis:{type:String,default:'vertical'},gap:{type:Number,default:0},overscan:{type:[Number,Object],default:240},viewportInsets:{type:[Number,Object],default:undefined},maxItems:{type:Number,default:1_000_000},initialViewport:{type:Object,default:undefined},as:{type:String,default:'div'},contentAs:{type:String,default:'div'},itemAs:{type:String,default:'div'},itemAttributes:{type:Function,default:undefined}},emits:{stateChange:_state=>true,planChange:_plan=>true,error:_error=>true},slots:Object,setup(props,{attrs,emit,expose,slots}){const axis=props.axis;const gap=props.gap;const maxItems=props.maxItems;const sizePolicy=props.sizePolicy;const initialViewport=props.initialViewport===undefined?undefined:Object.freeze({...props.initialViewport});const prepared=shallowRef(prepareVirtualCollection(props.items,props.getID,maxItems));const automaticEstimate=shallowRef();const bootstrapCount=shallowRef(virtualSizePolicyRequiresMeasurement(sizePolicy)&&prepared.value.domain.size>0?1:0);const bootstrapElements=new Map;const bootstrapRefs=new Map;let bootstrapScheduled=false;let disposed=false;const initialCrossExtent=crossExtentForViewport(axis,initialViewport);const initialState=virtualSizePolicyRequiresMeasurement(sizePolicy)?createEmptyVirtualListState({axis,gap,maxItems,crossExtent:initialCrossExtent}):createVirtualListState(prepared.value,props.items,{sizePolicy,axis,gap,maxItems,crossExtent:initialCrossExtent});const activeState=shallowRef(initialState);const root=shallowRef();const measure=sizePolicy.kind==='fixed'?undefined:createVirtualListMeasurementResolver(axis);const isBootstrapping=()=>automaticEstimate.value===undefined&&bootstrapCount.value>0&&prepared.value.domain.size>0;const phase=()=>prepared.value.domain.size===0?'empty':isBootstrapping()?'bootstrap':'ready';const currentState=()=>root.value?.state??activeState.value;const bootstrapItemRef=index=>{const existing=bootstrapRefs.get(index);if(existing!==undefined)return existing;const callback=value=>{const element=value instanceof HTMLElement?value:null;if(element===null){bootstrapElements.delete(index);if(bootstrapRefs.get(index)===callback)bootstrapRefs.delete(index);return}bootstrapElements.set(index,element);scheduleBootstrap()};bootstrapRefs.set(index,callback);return callback};const completeBootstrap=()=>{if(!isBootstrapping())return;const count=Math.min(bootstrapCount.value,prepared.value.domain.size);const extents=[];for(let index=0;index<count;index+=1){const element=bootstrapElements.get(index);if(element===undefined)return;const bounds=element.getBoundingClientRect();const extent=axis==='vertical'?bounds.height:bounds.width;if(!Number.isFinite(extent)||extent<=0)return;extents.push(extent)}const total=extents.reduce((sum,extent)=>sum+extent,0)+gap*Math.max(0,extents.length-1);const scrollport=root.value?.scrollport.value;const measuredViewportExtent=axis==='vertical'?scrollport?.clientHeight??0:scrollport?.clientWidth??0;const viewportExtent=measuredViewportExtent>0?measuredViewportExtent:axis==='vertical'?initialViewport?.height??0:initialViewport?.width??0;const target=viewportExtent+bootstrapTrailingOverscanExtent(props.overscan,axis);const average=extents.reduce((sum,extent)=>sum+extent,0)/extents.length;if(target>total&&count<prepared.value.domain.size){bootstrapCount.value=Math.min(prepared.value.domain.size,Math.max(count+1,Math.ceil((target+gap)/(average+gap))));return}automaticEstimate.value=average;bootstrapCount.value=0;bootstrapElements.clear();bootstrapRefs.clear();activeState.value=createVirtualListState(prepared.value,props.items,{sizePolicy,axis,gap,maxItems,crossExtent:currentState().crossExtent},average)};function scheduleBootstrap(){if(disposed||bootstrapScheduled||automaticEstimate.value!==undefined||bootstrapCount.value===0)return;bootstrapScheduled=true;void nextTick(()=>{bootstrapScheduled=false;if(!disposed)completeBootstrap()})}onMounted(scheduleBootstrap);watch(()=>[props.items,props.getID],()=>{const next=updatePreparedVirtualCollection(prepared.value,props.items,props.getID);if(virtualSizePolicyRequiresMeasurement(sizePolicy)&&automaticEstimate.value===undefined){prepared.value=next;bootstrapCount.value=next.domain.size>0?1:0;scheduleBootstrap();return}let nextState=currentState();const exposed=root.value;const patch=reconcileVirtualCollectionExtents(nextState,next,sizePolicy,automaticEstimate.value);if(patch!==null){const result=exposed===undefined?tryApplyLinearPatch(nextState,patch):exposed.mutate(patch);if(!result.ok){if(exposed===undefined){emit('error',result.error)}return}nextState=result.value.state;activeState.value=nextState}const valueUpdates=reconcileVirtualCollectionValueExtents(nextState,next,sizePolicy,automaticEstimate.value);if(valueUpdates.length>0){const result=exposed===undefined?tryApplyLinearMeasurements(nextState,{generation:nextState.generation,measurements:valueUpdates}):exposed.measure(valueUpdates);if(!result.ok){if(exposed===undefined){emit('error',result.error)}return}nextState=result.value.state;activeState.value=nextState}prepared.value=next},{flush:'sync'});const syncCrossExtent=plan=>{const crossExtent=axis==='vertical'?plan.viewport.width:plan.viewport.height;const state=currentState();const next=setLinearCrossExtent(state,crossExtent);if(Object.is(next,state))return false;activeState.value=next;return true};let constructionWarningShown=false;watch(()=>[props.axis,props.gap,props.maxItems,props.sizePolicy,props.initialViewport?.x,props.initialViewport?.y,props.initialViewport?.width,props.initialViewport?.height],()=>{if(constructionWarningShown||props.axis===axis&&props.gap===gap&&props.maxItems===maxItems&&sameVirtualSizePolicy(props.sizePolicy,sizePolicy)&&sameVirtualRect(props.initialViewport,initialViewport))return;constructionWarningShown=true;console.warn('[Sectile] VirtualList axis, gap, maxItems, sizePolicy, and initialViewport are construction-time options. Remount the list to change them.')},{flush:'sync'});onBeforeUnmount(()=>{disposed=true;bootstrapElements.clear();bootstrapRefs.clear()});expose(createVirtualCollectionExpose(root,initialState,phase));return()=>h(VirtualizerRoot,{...attrs,ref:root,defaultState:activeState.value,strategy:linearLayoutStrategyFor(),overscan:props.overscan,...props.viewportInsets===undefined?{}:{viewportInsets:props.viewportInsets},...initialViewport===undefined?{}:{initialViewport},...measure===undefined?{}:{measure},as:props.as,style:[{overflow:'auto'},attrs['style']],'data-virtual-layout':'virtual-list','data-phase':phase(),onStateChange:value=>{const state=value;activeState.value=state;emit('stateChange',state)},onPlanChange:plan=>{if(syncCrossExtent(plan))return;emit('planChange',plan)},onError:error=>emit('error',error)},{default:({placements})=>[slots['header']===undefined?null:h(VirtualizerHeader,{},{default:()=>slots['header']?.()}),h(VirtualizerSurface,{as:props.contentAs,...isBootstrapping()&&axis==='horizontal'?{style:{display:'flex'}}:{}},{default:()=>isBootstrapping()?renderVirtualListBootstrapItems(prepared.value,props.items,bootstrapCount.value,{axis,gap,crossExtent:currentState().crossExtent,itemAs:props.itemAs,itemAttributes:props.itemAttributes},slots['item'],bootstrapItemRef):renderHighLevelItems('virtual-list',placements,prepared.value,props.items,props.itemAs,props.itemAttributes,linearItemSize(axis,sizePolicy),(value,id,index,placement)=>slots['item']?.({value,id,index,placement}),slots['empty'])}),slots['footer']===undefined?null:h(VirtualizerFooter,{},{default:()=>slots['footer']?.()})]})}});export const VirtualList=VirtualListRuntime;export function createVirtualListMeasurementResolver(axis){return({element,placement,state})=>measureVirtualListElement(axis,placement.id,element,state)}function measureVirtualListElement(axis,id,element,state){const index=state.domain.indexOf(id);if(index===null)return null;const bounds=element.getBoundingClientRect();const value=axis==='vertical'?bounds.height:bounds.width;if(!Number.isFinite(value)||value<=0)return null;const current=state.extents.extentAt(index);if(current?.kind==='exact'&&Math.abs(current.value-value)<0.01)return null;return Object.freeze({index,extent:Object.freeze({kind:'exact',value})})}export function createVirtualListState(prepared,items,props,automaticEstimate){return createLinearLayout(constrainPreparedVirtualCollection(prepared,props.maxItems),createVirtualListExtentIndex(prepared,items,props.sizePolicy,props.maxItems,automaticEstimate),{axis:props.axis,gap:props.gap,crossExtent:props.crossExtent})}export function createEmptyVirtualListState(props){return createLinearLayout(createSequence([],{maxItems:props.maxItems,maxIDCodeUnits:1_024}),createUniformExtentIndex(0,createExactVirtualExtent(0),{maxItems:props.maxItems}),{axis:props.axis,gap:props.gap,crossExtent:props.crossExtent})}export function bootstrapTrailingOverscanExtent(overscan,axis){if(typeof overscan==='number')return overscan;return axis==='vertical'?overscan.bottom??0:overscan.right??0}export function renderVirtualListBootstrapItems(prepared,items,count,props,render,itemRef){return Array.from({length:Math.min(count,prepared.domain.size)},(_unused,index)=>{const value=items[index];const id=prepared.domain.at(index);const attributes=props.itemAttributes?.(value,index)??{};const placement=Object.freeze({id,index,rect:Object.freeze(props.axis==='vertical'?{x:0,y:0,width:props.crossExtent,height:0}:{x:0,y:0,width:0,height:props.crossExtent}),visible:true});const rendered=render?.({value,id,index,placement});const children=rendered===undefined||rendered===null?[]:Array.isArray(rendered)?rendered:[rendered];return h(props.itemAs,{...attributes,key:id,ref:itemRef(index),style:[attributes['style'],props.crossExtent>0?props.axis==='vertical'?{width:`${props.crossExtent}px`}:{height:`${props.crossExtent}px`}:undefined,props.gap>0&&index>0?props.axis==='vertical'?{marginTop:`${props.gap}px`}:{marginLeft:`${props.gap}px`}:undefined],'data-scope':'virtual-list','data-part':'item','data-index':index,'data-visible':'','data-bootstrap':''},children)})}function createVirtualListExtentIndex(prepared,items,sizePolicy,maxItems,automaticEstimate){if(prepared.domain.size===0){return createUniformExtentIndex(0,createExactVirtualExtent(0),{maxItems})}const shared=sizePolicy.kind==='fixed'||sizePolicy.kind==='measured'||sizePolicy.kind==='estimated'&&typeof sizePolicy.estimate==='number'?createVirtualExtent(sizePolicy,items[0],0,automaticEstimate):null;return shared===null?createExtentIndex(Array.from({length:prepared.domain.size},(_unused,index)=>createVirtualExtent(sizePolicy,items[index],index,automaticEstimate)),{maxItems}):createUniformExtentIndex(prepared.domain.size,shared,{maxItems})}function linearItemSize(axis,sizePolicy){if(sizePolicy.kind==='fixed')return'both';return axis==='vertical'?'width':'height'}function crossExtentForViewport(axis,viewport){if(viewport===undefined)return 0;return axis==='vertical'?viewport.width:viewport.height}function sameVirtualSizePolicy(left,right){if(left.kind!==right.kind)return false;if(left.kind==='measured'&&right.kind==='measured')return true;if(left.kind==='fixed'&&right.kind==='fixed'){return left.extent===right.extent}return left.kind==='estimated'&&right.kind==='estimated'&&Object.is(left.estimate,right.estimate)}function sameVirtualRect(left,right){if(left===undefined||right===undefined)return left===right;return left.x===right.x&&left.y===right.y&&left.width===right.width&&left.height===right.height}
|
|
1
|
+
import{defineComponent,h,nextTick,onBeforeUnmount,onMounted,shallowRef,watch}from'vue';import{createSequence}from'@sectile/core/sequence';import{createExactVirtualExtent,createVirtualExtent,reconcileVirtualCollectionExtents,reconcileVirtualCollectionValueExtents,virtualSizePolicyRequiresMeasurement}from'@sectile/virtual/collection';import{createExtentIndex,createUniformExtentIndex}from'@sectile/virtual/extent-index';import{createLinearLayout,linearLayoutStrategyFor,setLinearCrossExtent,tryApplyLinearMeasurements,tryApplyLinearPatch}from'@sectile/virtual/linear-layout';import{}from'@sectile/dom/virtual';import{VirtualizerFooter,VirtualizerHeader,VirtualizerRoot,VirtualizerSurface}from'./virtual-core.js';import{constrainPreparedVirtualCollection,createVirtualCollectionExpose,prepareVirtualCollection,renderHighLevelItems,updatePreparedVirtualCollection}from'./virtual-collection.js';const VirtualListRuntime=/* @__PURE__ */defineComponent({name:'SectileVirtualList',inheritAttrs:false,props:{items:{type:Array,required:true},getID:{type:Function,required:true},sizePolicy:{type:Object,required:true},axis:{type:String,default:'vertical'},gap:{type:Number,default:0},overscan:{type:[Number,Object],default:240},viewportInsets:{type:[Number,Object],default:undefined},maxItems:{type:Number,default:1_000_000},initialViewport:{type:Object,default:undefined},as:{type:String,default:'div'},contentAs:{type:String,default:'div'},itemAs:{type:String,default:'div'},itemAttributes:{type:Function,default:undefined}},emits:{stateChange:_state=>true,planChange:_plan=>true,error:_error=>true},slots:Object,setup(props,{attrs,emit,expose,slots}){const axis=props.axis;const gap=props.gap;const maxItems=props.maxItems;const sizePolicy=props.sizePolicy;const initialViewport=props.initialViewport===undefined?undefined:Object.freeze({...props.initialViewport});const prepared=shallowRef(prepareVirtualCollection(props.items,props.getID,maxItems));const automaticEstimate=shallowRef();const bootstrapCount=shallowRef(virtualSizePolicyRequiresMeasurement(sizePolicy)&&prepared.value.domain.size>0?1:0);const bootstrapElements=new Map;const bootstrapRefs=new Map;let bootstrapScheduled=false;let disposed=false;const initialCrossExtent=crossExtentForViewport(axis,initialViewport);const initialState=virtualSizePolicyRequiresMeasurement(sizePolicy)?createEmptyVirtualListState({axis,gap,maxItems,crossExtent:initialCrossExtent}):createVirtualListState(prepared.value,props.items,{sizePolicy,axis,gap,maxItems,crossExtent:initialCrossExtent});const activeState=shallowRef(initialState);const root=shallowRef();const measure=sizePolicy.kind==='fixed'?undefined:createVirtualListMeasurementResolver(axis);const isBootstrapping=()=>automaticEstimate.value===undefined&&bootstrapCount.value>0&&prepared.value.domain.size>0;const phase=()=>prepared.value.domain.size===0?'empty':isBootstrapping()?'bootstrap':'ready';const currentState=()=>root.value?.state??activeState.value;const bootstrapItemRef=index=>{const existing=bootstrapRefs.get(index);if(existing!==undefined)return existing;const callback=value=>{const element=value instanceof HTMLElement?value:null;if(element===null){bootstrapElements.delete(index);if(bootstrapRefs.get(index)===callback)bootstrapRefs.delete(index);return}bootstrapElements.set(index,element);scheduleBootstrap()};bootstrapRefs.set(index,callback);return callback};const completeBootstrap=()=>{if(!isBootstrapping())return;const count=Math.min(bootstrapCount.value,prepared.value.domain.size);const extents=[];for(let index=0;index<count;index+=1){const element=bootstrapElements.get(index);if(element===undefined)return;const bounds=element.getBoundingClientRect();const extent=axis==='vertical'?bounds.height:bounds.width;if(!Number.isFinite(extent)||extent<=0)return;extents.push(extent)}const total=extents.reduce((sum,extent)=>sum+extent,0)+gap*Math.max(0,extents.length-1);const viewport=root.value?.plan?.viewport;const viewportExtent=axis==='vertical'?viewport?.height??initialViewport?.height??0:viewport?.width??initialViewport?.width??0;const target=viewportExtent+bootstrapTrailingOverscanExtent(props.overscan,axis);const average=extents.reduce((sum,extent)=>sum+extent,0)/extents.length;if(target>total&&count<prepared.value.domain.size){bootstrapCount.value=Math.min(prepared.value.domain.size,Math.max(count+1,Math.ceil((target+gap)/(average+gap))));return}automaticEstimate.value=average;bootstrapCount.value=0;bootstrapElements.clear();bootstrapRefs.clear();activeState.value=createVirtualListState(prepared.value,props.items,{sizePolicy,axis,gap,maxItems,crossExtent:currentState().crossExtent},average)};function scheduleBootstrap(){if(disposed||bootstrapScheduled||automaticEstimate.value!==undefined||bootstrapCount.value===0)return;bootstrapScheduled=true;void nextTick(()=>{bootstrapScheduled=false;if(!disposed)completeBootstrap()})}onMounted(scheduleBootstrap);watch(()=>[props.items,props.getID],()=>{const next=updatePreparedVirtualCollection(prepared.value,props.items,props.getID);if(virtualSizePolicyRequiresMeasurement(sizePolicy)&&automaticEstimate.value===undefined){prepared.value=next;bootstrapCount.value=next.domain.size>0?1:0;scheduleBootstrap();return}let nextState=currentState();const exposed=root.value;const patch=reconcileVirtualCollectionExtents(nextState,next,sizePolicy,automaticEstimate.value);if(patch!==null){const result=exposed===undefined?tryApplyLinearPatch(nextState,patch):exposed.mutate(patch);if(!result.ok){if(exposed===undefined){emit('error',result.error)}return}nextState=result.value.state;activeState.value=nextState}const valueUpdates=reconcileVirtualCollectionValueExtents(nextState,next,sizePolicy,automaticEstimate.value);if(valueUpdates.length>0){const result=exposed===undefined?tryApplyLinearMeasurements(nextState,{generation:nextState.generation,measurements:valueUpdates}):exposed.measure(valueUpdates);if(!result.ok){if(exposed===undefined){emit('error',result.error)}return}nextState=result.value.state;activeState.value=nextState}prepared.value=next},{flush:'sync'});const syncCrossExtent=plan=>{const crossExtent=axis==='vertical'?plan.viewport.width:plan.viewport.height;const state=currentState();const next=setLinearCrossExtent(state,crossExtent);if(Object.is(next,state))return false;activeState.value=next;return true};let constructionWarningShown=false;watch(()=>[props.axis,props.gap,props.maxItems,props.sizePolicy,props.initialViewport?.x,props.initialViewport?.y,props.initialViewport?.width,props.initialViewport?.height],()=>{if(constructionWarningShown||props.axis===axis&&props.gap===gap&&props.maxItems===maxItems&&sameVirtualSizePolicy(props.sizePolicy,sizePolicy)&&sameVirtualRect(props.initialViewport,initialViewport))return;constructionWarningShown=true;console.warn('[Sectile] VirtualList axis, gap, maxItems, sizePolicy, and initialViewport are construction-time options. Remount the list to change them.')},{flush:'sync'});onBeforeUnmount(()=>{disposed=true;bootstrapElements.clear();bootstrapRefs.clear()});expose(createVirtualCollectionExpose(root,initialState,phase));return()=>h(VirtualizerRoot,{...attrs,ref:root,defaultState:activeState.value,strategy:linearLayoutStrategyFor(),overscan:props.overscan,...props.viewportInsets===undefined?{}:{viewportInsets:props.viewportInsets},...initialViewport===undefined?{}:{initialViewport},...measure===undefined?{}:{measure},as:props.as,style:attrs['scrollport']===undefined||attrs['scrollport']==='root'?[{overflow:'auto'},attrs['style']]:attrs['style'],'data-virtual-layout':'virtual-list','data-phase':phase(),onStateChange:value=>{const state=value;activeState.value=state;emit('stateChange',state)},onPlanChange:plan=>{if(syncCrossExtent(plan))return;emit('planChange',plan)},onError:error=>emit('error',error)},{default:({placements})=>[slots['header']===undefined?null:h(VirtualizerHeader,{},{default:()=>slots['header']?.()}),h(VirtualizerSurface,{as:props.contentAs,...isBootstrapping()&&axis==='horizontal'?{style:{display:'flex'}}:{}},{default:()=>isBootstrapping()?renderVirtualListBootstrapItems(prepared.value,props.items,bootstrapCount.value,{axis,gap,crossExtent:currentState().crossExtent,itemAs:props.itemAs,itemAttributes:props.itemAttributes},slots['item'],bootstrapItemRef):renderHighLevelItems('virtual-list',placements,prepared.value,props.items,props.itemAs,props.itemAttributes,linearItemSize(axis,sizePolicy),(value,id,index,placement)=>slots['item']?.({value,id,index,placement}),slots['empty'])}),slots['footer']===undefined?null:h(VirtualizerFooter,{},{default:()=>slots['footer']?.()})]})}});export const VirtualList=VirtualListRuntime;export function createVirtualListMeasurementResolver(axis){return({element,placement,state})=>measureVirtualListElement(axis,placement.id,element,state)}function measureVirtualListElement(axis,id,element,state){const index=state.domain.indexOf(id);if(index===null)return null;const bounds=element.getBoundingClientRect();const value=axis==='vertical'?bounds.height:bounds.width;if(!Number.isFinite(value)||value<=0)return null;const current=state.extents.extentAt(index);if(current?.kind==='exact'&&Math.abs(current.value-value)<0.01)return null;return Object.freeze({index,extent:Object.freeze({kind:'exact',value})})}export function createVirtualListState(prepared,items,props,automaticEstimate){return createLinearLayout(constrainPreparedVirtualCollection(prepared,props.maxItems),createVirtualListExtentIndex(prepared,items,props.sizePolicy,props.maxItems,automaticEstimate),{axis:props.axis,gap:props.gap,crossExtent:props.crossExtent})}export function createEmptyVirtualListState(props){return createLinearLayout(createSequence([],{maxItems:props.maxItems,maxIDCodeUnits:1_024}),createUniformExtentIndex(0,createExactVirtualExtent(0),{maxItems:props.maxItems}),{axis:props.axis,gap:props.gap,crossExtent:props.crossExtent})}export function bootstrapTrailingOverscanExtent(overscan,axis){if(typeof overscan==='number')return overscan;return axis==='vertical'?overscan.bottom??0:overscan.right??0}export function renderVirtualListBootstrapItems(prepared,items,count,props,render,itemRef){return Array.from({length:Math.min(count,prepared.domain.size)},(_unused,index)=>{const value=items[index];const id=prepared.domain.at(index);const attributes=props.itemAttributes?.(value,index)??{};const placement=Object.freeze({id,index,rect:Object.freeze(props.axis==='vertical'?{x:0,y:0,width:props.crossExtent,height:0}:{x:0,y:0,width:0,height:props.crossExtent}),visible:true});const rendered=render?.({value,id,index,placement});const children=rendered===undefined||rendered===null?[]:Array.isArray(rendered)?rendered:[rendered];return h(props.itemAs,{...attributes,key:id,ref:itemRef(index),style:[attributes['style'],props.crossExtent>0?props.axis==='vertical'?{width:`${props.crossExtent}px`}:{height:`${props.crossExtent}px`}:undefined,props.gap>0&&index>0?props.axis==='vertical'?{marginTop:`${props.gap}px`}:{marginLeft:`${props.gap}px`}:undefined],'data-scope':'virtual-list','data-part':'item','data-index':index,'data-visible':'','data-bootstrap':''},children)})}function createVirtualListExtentIndex(prepared,items,sizePolicy,maxItems,automaticEstimate){if(prepared.domain.size===0){return createUniformExtentIndex(0,createExactVirtualExtent(0),{maxItems})}const shared=sizePolicy.kind==='fixed'||sizePolicy.kind==='measured'||sizePolicy.kind==='estimated'&&typeof sizePolicy.estimate==='number'?createVirtualExtent(sizePolicy,items[0],0,automaticEstimate):null;return shared===null?createExtentIndex(Array.from({length:prepared.domain.size},(_unused,index)=>createVirtualExtent(sizePolicy,items[index],index,automaticEstimate)),{maxItems}):createUniformExtentIndex(prepared.domain.size,shared,{maxItems})}function linearItemSize(axis,sizePolicy){if(sizePolicy.kind==='fixed')return'both';return axis==='vertical'?'width':'height'}function crossExtentForViewport(axis,viewport){if(viewport===undefined)return 0;return axis==='vertical'?viewport.width:viewport.height}function sameVirtualSizePolicy(left,right){if(left.kind!==right.kind)return false;if(left.kind==='measured'&&right.kind==='measured')return true;if(left.kind==='fixed'&&right.kind==='fixed'){return left.extent===right.extent}return left.kind==='estimated'&&right.kind==='estimated'&&Object.is(left.estimate,right.estimate)}function sameVirtualRect(left,right){if(left===undefined||right===undefined)return left===right;return left.x===right.x&&left.y===right.y&&left.width===right.width&&left.height===right.height}
|
|
2
2
|
//# sourceMappingURL=virtual-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-list.js","names":["defineComponent","h","nextTick","onBeforeUnmount","onMounted","shallowRef","watch","createSequence","createExactVirtualExtent","createVirtualExtent","reconcileVirtualCollectionExtents","reconcileVirtualCollectionValueExtents","virtualSizePolicyRequiresMeasurement","createExtentIndex","createUniformExtentIndex","createLinearLayout","linearLayoutStrategyFor","setLinearCrossExtent","tryApplyLinearMeasurements","tryApplyLinearPatch","VirtualizerFooter","VirtualizerHeader","VirtualizerRoot","VirtualizerSurface","constrainPreparedVirtualCollection","createVirtualCollectionExpose","prepareVirtualCollection","renderHighLevelItems","updatePreparedVirtualCollection","VirtualListRuntime","name","inheritAttrs","props","items","type","Array","required","getID","Function","sizePolicy","Object","axis","String","default","gap","Number","overscan","viewportInsets","undefined","maxItems","initialViewport","as","contentAs","itemAs","itemAttributes","emits","stateChange","_state","planChange","_plan","error","_error","slots","setup","attrs","emit","expose","freeze","prepared","automaticEstimate","bootstrapCount","value","domain","size","bootstrapElements","Map","bootstrapRefs","bootstrapScheduled","disposed","initialCrossExtent","crossExtentForViewport","initialState","createEmptyVirtualListState","crossExtent","createVirtualListState","activeState","root","measure","kind","createVirtualListMeasurementResolver","isBootstrapping","phase","currentState","state","bootstrapItemRef","index","existing","get","callback","element","HTMLElement","delete","set","scheduleBootstrap","completeBootstrap","count","Math","min","extents","bounds","getBoundingClientRect","extent","height","width","isFinite","push","total","reduce","sum","max","length","scrollport","measuredViewportExtent","clientHeight","clientWidth","viewportExtent","target","bootstrapTrailingOverscanExtent","average","ceil","clear","next","nextState","exposed","patch","result","mutate","ok","valueUpdates","generation","measurements","flush","syncCrossExtent","plan","viewport","is","constructionWarningShown","x","y","sameVirtualSizePolicy","sameVirtualRect","console","warn","ref","defaultState","strategy","style","overflow","onStateChange","onPlanChange","onError","placements","display","renderVirtualListBootstrapItems","linearItemSize","id","placement","VirtualList","measureVirtualListElement","indexOf","current","extentAt","abs","createVirtualListExtentIndex","maxIDCodeUnits","bottom","right","render","itemRef","from","_unused","at","attributes","rect","visible","rendered","children","isArray","key","marginTop","marginLeft","shared","estimate","left"],"sources":["../../src/internal/virtual-list.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"virtual-list.js","names":["defineComponent","h","nextTick","onBeforeUnmount","onMounted","shallowRef","watch","createSequence","createExactVirtualExtent","createVirtualExtent","reconcileVirtualCollectionExtents","reconcileVirtualCollectionValueExtents","virtualSizePolicyRequiresMeasurement","createExtentIndex","createUniformExtentIndex","createLinearLayout","linearLayoutStrategyFor","setLinearCrossExtent","tryApplyLinearMeasurements","tryApplyLinearPatch","VirtualizerFooter","VirtualizerHeader","VirtualizerRoot","VirtualizerSurface","constrainPreparedVirtualCollection","createVirtualCollectionExpose","prepareVirtualCollection","renderHighLevelItems","updatePreparedVirtualCollection","VirtualListRuntime","name","inheritAttrs","props","items","type","Array","required","getID","Function","sizePolicy","Object","axis","String","default","gap","Number","overscan","viewportInsets","undefined","maxItems","initialViewport","as","contentAs","itemAs","itemAttributes","emits","stateChange","_state","planChange","_plan","error","_error","slots","setup","attrs","emit","expose","freeze","prepared","automaticEstimate","bootstrapCount","value","domain","size","bootstrapElements","Map","bootstrapRefs","bootstrapScheduled","disposed","initialCrossExtent","crossExtentForViewport","initialState","createEmptyVirtualListState","crossExtent","createVirtualListState","activeState","root","measure","kind","createVirtualListMeasurementResolver","isBootstrapping","phase","currentState","state","bootstrapItemRef","index","existing","get","callback","element","HTMLElement","delete","set","scheduleBootstrap","completeBootstrap","count","Math","min","extents","bounds","getBoundingClientRect","extent","height","width","isFinite","push","total","reduce","sum","max","length","viewport","plan","viewportExtent","target","bootstrapTrailingOverscanExtent","average","ceil","clear","next","nextState","exposed","patch","result","mutate","ok","valueUpdates","generation","measurements","flush","syncCrossExtent","is","constructionWarningShown","x","y","sameVirtualSizePolicy","sameVirtualRect","console","warn","ref","defaultState","strategy","style","overflow","onStateChange","onPlanChange","onError","placements","display","renderVirtualListBootstrapItems","linearItemSize","id","placement","VirtualList","measureVirtualListElement","indexOf","current","extentAt","abs","createVirtualListExtentIndex","maxIDCodeUnits","bottom","right","render","itemRef","from","_unused","at","attributes","rect","visible","rendered","children","isArray","key","marginTop","marginLeft","shared","estimate","left"],"sources":["../../src/internal/virtual-list.ts"],"mappings":"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","ignoreList":[]}
|