@sectile/vue 0.18.2 → 0.19.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/README.md +53 -14
- package/dist/accordion.js +1 -1
- package/dist/accordion.js.map +1 -1
- package/dist/carousel.d.ts +20 -0
- package/dist/carousel.js +1 -1
- package/dist/carousel.js.map +1 -1
- package/dist/cascade-list.js +1 -1
- package/dist/cascade-list.js.map +1 -1
- package/dist/cascade-select.js +1 -1
- package/dist/cascade-select.js.map +1 -1
- package/dist/chart.js +1 -1
- package/dist/chart.js.map +1 -1
- package/dist/checkbox-group.js +1 -1
- package/dist/checkbox-group.js.map +1 -1
- package/dist/checkbox-tree.d.ts +102 -0
- package/dist/checkbox-tree.js +2 -0
- package/dist/checkbox-tree.js.map +1 -0
- package/dist/checkbox.js +1 -1
- package/dist/checkbox.js.map +1 -1
- package/dist/color-picker.d.ts +24 -0
- package/dist/color-picker.js +1 -1
- package/dist/color-picker.js.map +1 -1
- package/dist/combobox.d.ts +47 -1
- package/dist/combobox.js +1 -1
- package/dist/combobox.js.map +1 -1
- package/dist/component-handle.d.ts +8 -0
- package/dist/component-handle.js +2 -0
- package/dist/component-handle.js.map +1 -0
- package/dist/context-menu.d.ts +1 -0
- package/dist/context-menu.js +2 -0
- package/dist/context-menu.js.map +1 -0
- package/dist/drag-drop.d.ts +23 -0
- package/dist/drag-drop.js +2 -0
- package/dist/drag-drop.js.map +1 -0
- package/dist/editable.d.ts +3 -0
- package/dist/editable.js +1 -1
- package/dist/editable.js.map +1 -1
- package/dist/form/context.d.ts +3 -0
- package/dist/form/context.js +1 -1
- package/dist/form/context.js.map +1 -1
- package/dist/form/contracts.d.ts +1 -0
- package/dist/form/control-inventory.d.ts +20 -0
- package/dist/form/control-inventory.js +1 -1
- package/dist/form/control-inventory.js.map +1 -1
- package/dist/form/control.d.ts +44 -1
- package/dist/form/control.js +1 -1
- package/dist/form/control.js.map +1 -1
- package/dist/form/field.d.ts +10 -0
- package/dist/form/field.js +1 -1
- package/dist/form/field.js.map +1 -1
- package/dist/form/file-input.d.ts +229 -0
- package/dist/form/file-input.js +2 -0
- package/dist/form/file-input.js.map +1 -0
- package/dist/form/file-upload/group.d.ts +28 -0
- package/dist/form/file-upload/group.js +2 -0
- package/dist/form/file-upload/group.js.map +1 -0
- package/dist/form/file-upload.d.ts +26 -0
- package/dist/form/file-upload.js +2 -0
- package/dist/form/file-upload.js.map +1 -0
- package/dist/form/root.js +1 -1
- package/dist/form/root.js.map +1 -1
- package/dist/form-boundary.d.ts +2 -0
- package/dist/form-boundary.js +2 -0
- package/dist/form-boundary.js.map +1 -0
- package/dist/fullscreen.d.ts +16 -0
- package/dist/fullscreen.js +2 -0
- package/dist/fullscreen.js.map +1 -0
- package/dist/host-provider.d.ts +99 -1
- package/dist/host-provider.js +1 -1
- package/dist/host-provider.js.map +1 -1
- package/dist/image.d.ts +24 -0
- package/dist/image.js +2 -0
- package/dist/image.js.map +1 -0
- package/dist/index.d.ts +6 -5
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/input/native-field.d.ts +25 -6
- package/dist/input/native-field.js +1 -1
- package/dist/input/native-field.js.map +1 -1
- package/dist/input/native-range-field.d.ts +95 -0
- package/dist/input/native-range-field.js +2 -0
- package/dist/input/native-range-field.js.map +1 -0
- package/dist/internal/cascade-choice.js +1 -1
- package/dist/internal/cascade-choice.js.map +1 -1
- package/dist/internal/connection-lifetime.d.ts +10 -0
- package/dist/internal/connection-lifetime.js +2 -0
- package/dist/internal/connection-lifetime.js.map +1 -0
- package/dist/internal/controlled-state.js +1 -1
- package/dist/internal/controlled-state.js.map +1 -1
- package/dist/internal/popup-presentation.d.ts +32 -0
- package/dist/internal/popup-presentation.js +2 -0
- package/dist/internal/popup-presentation.js.map +1 -0
- package/dist/internal/portal-move.d.ts +11 -0
- package/dist/internal/portal-move.js +2 -0
- package/dist/internal/portal-move.js.map +1 -0
- package/dist/internal/scheduled-task.js +1 -1
- package/dist/internal/scheduled-task.js.map +1 -1
- package/dist/internal/tabs-context.d.ts +11 -0
- package/dist/internal/tabs-context.js +1 -1
- package/dist/internal/tabs-context.js.map +1 -1
- package/dist/internal/tree-parts.d.ts +142 -0
- package/dist/internal/tree-parts.js +2 -0
- package/dist/internal/tree-parts.js.map +1 -0
- package/dist/listbox.d.ts +11 -0
- package/dist/listbox.js +1 -1
- package/dist/listbox.js.map +1 -1
- package/dist/media-gesture.d.ts +20 -0
- package/dist/media-gesture.js +2 -0
- package/dist/media-gesture.js.map +1 -0
- package/dist/menu.d.ts +239 -0
- package/dist/menu.js +1 -1
- package/dist/menu.js.map +1 -1
- package/dist/meter-group.js +1 -1
- package/dist/meter-group.js.map +1 -1
- package/dist/multi-thumb-slider.js +1 -1
- package/dist/multi-thumb-slider.js.map +1 -1
- package/dist/overlay/dialog.d.ts +1 -0
- package/dist/overlay/dialog.js.map +1 -1
- package/dist/overlay/drawer.d.ts +33 -4
- package/dist/overlay/drawer.js +1 -1
- package/dist/overlay/drawer.js.map +1 -1
- package/dist/overlay/popover.d.ts +2 -1
- package/dist/overlay/popover.js.map +1 -1
- package/dist/overlay/popup.d.ts +46 -2
- package/dist/overlay/popup.js +1 -1
- package/dist/overlay/popup.js.map +1 -1
- package/dist/overlay/tooltip.d.ts +37 -3
- package/dist/overlay/tooltip.js +1 -1
- package/dist/overlay/tooltip.js.map +1 -1
- package/dist/pagination.js +1 -1
- package/dist/pagination.js.map +1 -1
- package/dist/pin-input.js +1 -1
- package/dist/pin-input.js.map +1 -1
- package/dist/presence/presence.d.ts +1 -1
- package/dist/presence/presence.js +1 -1
- package/dist/presence/presence.js.map +1 -1
- package/dist/primitive.d.ts +37 -3
- package/dist/primitive.js +1 -1
- package/dist/primitive.js.map +1 -1
- package/dist/quantity-field.js +1 -1
- package/dist/quantity-field.js.map +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/radio-group.js.map +1 -1
- package/dist/rating.js +1 -1
- package/dist/rating.js.map +1 -1
- package/dist/reorder.d.ts +156 -77
- package/dist/reorder.js +1 -1
- package/dist/reorder.js.map +1 -1
- package/dist/select.d.ts +21 -0
- package/dist/select.js +1 -1
- package/dist/select.js.map +1 -1
- package/dist/slider.js +1 -1
- package/dist/slider.js.map +1 -1
- package/dist/spin-button.d.ts +19 -0
- package/dist/spin-button.js +1 -1
- package/dist/spin-button.js.map +1 -1
- package/dist/stepper.js +1 -1
- package/dist/stepper.js.map +1 -1
- package/dist/switch.js +1 -1
- package/dist/switch.js.map +1 -1
- package/dist/tabs.d.ts +2 -0
- package/dist/tabs.js +1 -1
- package/dist/tabs.js.map +1 -1
- package/dist/tabular/components.d.ts +5 -0
- package/dist/tabular/components.js.map +1 -1
- package/dist/tabular/controller.d.ts +1 -0
- package/dist/tabular/controller.js +1 -1
- package/dist/tabular/controller.js.map +1 -1
- package/dist/tabular/data-grid.d.ts +4 -4
- package/dist/tabular/data-grid.js +1 -1
- package/dist/tabular/data-grid.js.map +1 -1
- package/dist/tabular/data-table.d.ts +4 -4
- package/dist/tabular/data-table.js +1 -1
- package/dist/tabular/data-table.js.map +1 -1
- package/dist/tabular/data-tree-grid.d.ts +4 -4
- package/dist/tabular/data-tree-grid.js +1 -1
- package/dist/tabular/data-tree-grid.js.map +1 -1
- package/dist/tabular/parts.d.ts +11 -1
- package/dist/tabular/parts.js +1 -1
- package/dist/tabular/parts.js.map +1 -1
- package/dist/tabular/source.js +1 -1
- package/dist/tabular/source.js.map +1 -1
- package/dist/tags-input.d.ts +12 -1
- package/dist/tags-input.js +1 -1
- package/dist/tags-input.js.map +1 -1
- package/dist/temporal/calendar.d.ts +27 -123
- package/dist/temporal/calendar.js +1 -1
- package/dist/temporal/calendar.js.map +1 -1
- package/dist/temporal/capabilities/date-picker.js +1 -1
- package/dist/temporal/capabilities/date-picker.js.map +1 -1
- package/dist/temporal/capabilities/date-time-picker.js +1 -1
- package/dist/temporal/capabilities/date-time-picker.js.map +1 -1
- package/dist/temporal/capabilities/date-time-range-picker.js +1 -1
- package/dist/temporal/capabilities/date-time-range-picker.js.map +1 -1
- package/dist/temporal/capability.d.ts +13 -1
- package/dist/temporal/capability.js.map +1 -1
- package/dist/temporal/date-field.d.ts +1 -1
- package/dist/temporal/date-field.js +1 -1
- package/dist/temporal/date-field.js.map +1 -1
- package/dist/temporal/date-picker.d.ts +16 -14
- package/dist/temporal/date-picker.js +1 -1
- package/dist/temporal/date-picker.js.map +1 -1
- package/dist/temporal/date-range-field.d.ts +21 -1
- package/dist/temporal/date-range-field.js +1 -1
- package/dist/temporal/date-range-field.js.map +1 -1
- package/dist/temporal/date-range-picker.d.ts +16 -14
- package/dist/temporal/date-range-picker.js +1 -1
- package/dist/temporal/date-range-picker.js.map +1 -1
- package/dist/temporal/date-time-field.d.ts +4 -1
- package/dist/temporal/date-time-field.js +1 -1
- package/dist/temporal/date-time-field.js.map +1 -1
- package/dist/temporal/date-time-picker.d.ts +16 -14
- package/dist/temporal/date-time-picker.js +1 -1
- package/dist/temporal/date-time-picker.js.map +1 -1
- package/dist/temporal/date-time-range-field.d.ts +158 -0
- package/dist/temporal/date-time-range-field.js +2 -0
- package/dist/temporal/date-time-range-field.js.map +1 -0
- package/dist/temporal/date-time-range-picker.d.ts +16 -14
- package/dist/temporal/date-time-range-picker.js +1 -1
- package/dist/temporal/date-time-range-picker.js.map +1 -1
- package/dist/temporal/internal/time-presentation.d.ts +15 -0
- package/dist/temporal/internal/time-presentation.js +2 -0
- package/dist/temporal/internal/time-presentation.js.map +1 -0
- package/dist/temporal/month-picker.d.ts +9 -7
- package/dist/temporal/month-picker.js +1 -1
- package/dist/temporal/month-picker.js.map +1 -1
- package/dist/temporal/month-range-picker.d.ts +9 -7
- package/dist/temporal/month-range-picker.js +1 -1
- package/dist/temporal/month-range-picker.js.map +1 -1
- package/dist/temporal/picker.d.ts +24 -3
- package/dist/temporal/picker.js +1 -1
- package/dist/temporal/picker.js.map +1 -1
- package/dist/temporal/range-calendar.d.ts +125 -8
- package/dist/temporal/range-calendar.js +1 -1
- package/dist/temporal/range-calendar.js.map +1 -1
- package/dist/temporal/temporal-provider.d.ts +23 -0
- package/dist/temporal/temporal-provider.js +1 -1
- package/dist/temporal/temporal-provider.js.map +1 -1
- package/dist/temporal/time-field.d.ts +4 -1
- package/dist/temporal/time-field.js +1 -1
- package/dist/temporal/time-field.js.map +1 -1
- package/dist/temporal/time-picker.d.ts +112 -0
- package/dist/temporal/time-picker.js +2 -0
- package/dist/temporal/time-picker.js.map +1 -0
- package/dist/temporal/time-range-field.d.ts +33 -2
- package/dist/temporal/time-range-field.js +1 -1
- package/dist/temporal/time-range-field.js.map +1 -1
- package/dist/temporal/year-picker.d.ts +9 -7
- package/dist/temporal/year-picker.js +1 -1
- package/dist/temporal/year-picker.js.map +1 -1
- package/dist/temporal/year-range-picker.d.ts +9 -7
- package/dist/temporal/year-range-picker.js +1 -1
- package/dist/temporal/year-range-picker.js.map +1 -1
- package/dist/text.d.ts +43 -1
- package/dist/text.js +1 -1
- package/dist/text.js.map +1 -1
- package/dist/timer.d.ts +16 -5
- package/dist/timer.js +1 -1
- package/dist/timer.js.map +1 -1
- package/dist/toast.js +1 -1
- package/dist/toast.js.map +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/toggle-group.js.map +1 -1
- package/dist/toolbar.js +1 -1
- package/dist/toolbar.js.map +1 -1
- package/dist/transfer.d.ts +191 -0
- package/dist/transfer.js +2 -0
- package/dist/transfer.js.map +1 -0
- package/dist/tree-grid.d.ts +122 -0
- package/dist/tree-grid.js +1 -1
- package/dist/tree-grid.js.map +1 -1
- package/dist/tree-select.d.ts +186 -0
- package/dist/tree-select.js +2 -0
- package/dist/tree-select.js.map +1 -0
- package/dist/tree-view.js +1 -1
- package/dist/tree-view.js.map +1 -1
- package/dist/virtual/virtual-collection.d.ts +3 -0
- package/dist/virtual/virtual-collection.js +1 -1
- package/dist/virtual/virtual-collection.js.map +1 -1
- package/dist/virtual/virtual-core.d.ts +1 -0
- package/dist/virtual/virtual-core.js +1 -1
- package/dist/virtual/virtual-core.js.map +1 -1
- package/dist/virtual/virtual-grid.d.ts +12 -2
- package/dist/virtual/virtual-grid.js +1 -1
- package/dist/virtual/virtual-grid.js.map +1 -1
- package/dist/virtual/virtual-list.d.ts +12 -3
- package/dist/virtual/virtual-list.js +1 -1
- package/dist/virtual/virtual-list.js.map +1 -1
- package/dist/virtual/virtual-masonry.d.ts +12 -2
- package/dist/virtual/virtual-masonry.js +1 -1
- package/dist/virtual/virtual-masonry.js.map +1 -1
- package/dist/virtual/virtual-spatial.d.ts +12 -2
- package/dist/virtual/virtual-spatial.js +1 -1
- package/dist/virtual/virtual-spatial.js.map +1 -1
- package/dist/window-splitter.js +1 -1
- package/dist/window-splitter.js.map +1 -1
- package/package.json +86 -16
package/dist/tree-grid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/tree-grid.ts"],"mappings":"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","names":["value"],"file":"tree-grid.js"}
|
|
1
|
+
{"version":3,"sources":["../src/tree-grid.ts"],"mappings":"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","names":["value"],"file":"tree-grid.js"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { type DefineSetupFnComponent, type EmitsToProps, type PropType, type PublicProps, type SlotsType, type VNodeChild } from 'vue';
|
|
2
|
+
import { type TreeNodeInput } from '@sectile/core/tree';
|
|
3
|
+
import type { TreeSelectSearchRequest, TreeSelectPolicies } from '@sectile/core/tree-select';
|
|
4
|
+
import { type TreeSelectControlledValues } from '@sectile/dom/tree-select';
|
|
5
|
+
import { type PrimitiveAs } from './primitive.js';
|
|
6
|
+
import type { TreeViewGroupProps, TreeViewItemSlotProps, TreeViewPartProps } from './tree-view.js';
|
|
7
|
+
export type { TreeSelectSearchRequest, TreeSelectPolicies } from '@sectile/core/tree-select';
|
|
8
|
+
export interface TreeSelectRootProps<ID extends string = string> extends TreeViewPartProps {
|
|
9
|
+
readonly nodes: readonly TreeNodeInput<ID>[];
|
|
10
|
+
readonly selectionMode?: 'single' | 'multiple';
|
|
11
|
+
readonly modelValue?: readonly NoInfer<ID>[];
|
|
12
|
+
readonly defaultValue?: readonly NoInfer<ID>[];
|
|
13
|
+
readonly expandedValues?: readonly NoInfer<ID>[];
|
|
14
|
+
readonly defaultExpandedValues?: readonly NoInfer<ID>[];
|
|
15
|
+
readonly highlightedValue?: NoInfer<ID> | null;
|
|
16
|
+
readonly defaultHighlightedValue?: NoInfer<ID> | null;
|
|
17
|
+
readonly query?: string;
|
|
18
|
+
readonly defaultQuery?: string;
|
|
19
|
+
readonly open?: boolean;
|
|
20
|
+
readonly defaultOpen?: boolean;
|
|
21
|
+
readonly matches?: readonly NoInfer<ID>[];
|
|
22
|
+
readonly results?: TreeSelectControlledValues<NoInfer<ID>>['results'];
|
|
23
|
+
readonly disabledItems?: readonly NoInfer<ID>[];
|
|
24
|
+
readonly policies?: TreeSelectPolicies<NoInfer<ID>>;
|
|
25
|
+
readonly disabled?: boolean;
|
|
26
|
+
readonly?: boolean;
|
|
27
|
+
readonly label?: string;
|
|
28
|
+
readonly position?: boolean;
|
|
29
|
+
readonly name?: string;
|
|
30
|
+
readonly form?: string;
|
|
31
|
+
readonly required?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface TreeSelectRootSlotProps<ID extends string = string> {
|
|
34
|
+
readonly value: readonly ID[];
|
|
35
|
+
readonly expandedValues: readonly ID[];
|
|
36
|
+
readonly highlightedValue: ID | null;
|
|
37
|
+
readonly query: string;
|
|
38
|
+
readonly open: boolean;
|
|
39
|
+
readonly pending: boolean;
|
|
40
|
+
readonly disabled: boolean;
|
|
41
|
+
readonly: boolean;
|
|
42
|
+
readonly request: TreeSelectSearchRequest;
|
|
43
|
+
getChildren(parent: ID | null): readonly ID[];
|
|
44
|
+
isBranch(id: ID): boolean;
|
|
45
|
+
}
|
|
46
|
+
export type TreeSelectEmits<ID extends string = string> = {
|
|
47
|
+
'update:modelValue': [value: readonly NoInfer<ID>[]];
|
|
48
|
+
'update:expandedValues': [value: readonly NoInfer<ID>[]];
|
|
49
|
+
'update:highlightedValue': [value: NoInfer<ID> | null];
|
|
50
|
+
'update:query': [query: string];
|
|
51
|
+
'update:open': [open: boolean];
|
|
52
|
+
search: [request: TreeSelectSearchRequest];
|
|
53
|
+
};
|
|
54
|
+
export interface TreeSelectSlots<ID extends string = string> {
|
|
55
|
+
default?: (state: TreeSelectRootSlotProps<ID>) => VNodeChild;
|
|
56
|
+
}
|
|
57
|
+
export interface TreeSelectExpose<ID extends string = string> {
|
|
58
|
+
readonly element: HTMLInputElement | null;
|
|
59
|
+
focus(options?: FocusOptions): void;
|
|
60
|
+
resolveSearch(request: TreeSelectSearchRequest, matches: readonly NoInfer<ID>[]): boolean;
|
|
61
|
+
}
|
|
62
|
+
export interface TreeSelectItemProps extends TreeViewPartProps {
|
|
63
|
+
readonly value: string;
|
|
64
|
+
readonly disabled?: never;
|
|
65
|
+
}
|
|
66
|
+
export type TreeSelectGroupProps = TreeViewGroupProps;
|
|
67
|
+
export interface TreeSelectDisclosureProps extends TreeViewPartProps {
|
|
68
|
+
readonly for: string;
|
|
69
|
+
}
|
|
70
|
+
export type TreeSelectPartProps = TreeViewPartProps;
|
|
71
|
+
type RootProps<ID extends string> = TreeSelectRootProps<ID> & PublicProps & EmitsToProps<TreeSelectEmits<ID>>;
|
|
72
|
+
type RootInstance<ID extends string> = InstanceType<DefineSetupFnComponent<TreeSelectRootProps<ID>, TreeSelectEmits<ID>, SlotsType<TreeSelectSlots<ID>>>> & TreeSelectExpose<ID>;
|
|
73
|
+
export declare const TreeSelectRoot: new <const ID extends string = string>(props: RootProps<ID>) => Omit<RootInstance<ID>, '$props'> & {
|
|
74
|
+
readonly $props: RootProps<ID>;
|
|
75
|
+
};
|
|
76
|
+
export declare const TreeSelectInput: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
77
|
+
asChild: {
|
|
78
|
+
type: BooleanConstructor;
|
|
79
|
+
default: boolean;
|
|
80
|
+
};
|
|
81
|
+
}>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
82
|
+
asChild: {
|
|
83
|
+
type: BooleanConstructor;
|
|
84
|
+
default: boolean;
|
|
85
|
+
};
|
|
86
|
+
}>> & Readonly<{}>, {
|
|
87
|
+
asChild: boolean;
|
|
88
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
89
|
+
export declare const TreeSelectContent: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
90
|
+
as: {
|
|
91
|
+
type: PropType<PrimitiveAs>;
|
|
92
|
+
default: string;
|
|
93
|
+
};
|
|
94
|
+
asChild: {
|
|
95
|
+
type: BooleanConstructor;
|
|
96
|
+
default: boolean;
|
|
97
|
+
};
|
|
98
|
+
}>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
99
|
+
as: {
|
|
100
|
+
type: PropType<PrimitiveAs>;
|
|
101
|
+
default: string;
|
|
102
|
+
};
|
|
103
|
+
asChild: {
|
|
104
|
+
type: BooleanConstructor;
|
|
105
|
+
default: boolean;
|
|
106
|
+
};
|
|
107
|
+
}>> & Readonly<{}>, {
|
|
108
|
+
as: PrimitiveAs;
|
|
109
|
+
asChild: boolean;
|
|
110
|
+
}, SlotsType<TreeSelectSlots<string>>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
111
|
+
export declare const TreeSelectItem: DefineSetupFnComponent<TreeSelectItemProps, {}, SlotsType<{
|
|
112
|
+
default?: (state: TreeViewItemSlotProps) => VNodeChild;
|
|
113
|
+
}>>;
|
|
114
|
+
export declare const TreeSelectGroup: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
115
|
+
forcePresent: {
|
|
116
|
+
readonly type: BooleanConstructor;
|
|
117
|
+
readonly default: false;
|
|
118
|
+
};
|
|
119
|
+
as: {
|
|
120
|
+
type: PropType<PrimitiveAs>;
|
|
121
|
+
default: string;
|
|
122
|
+
};
|
|
123
|
+
asChild: {
|
|
124
|
+
type: BooleanConstructor;
|
|
125
|
+
default: boolean;
|
|
126
|
+
};
|
|
127
|
+
for: {
|
|
128
|
+
type: StringConstructor;
|
|
129
|
+
required: true;
|
|
130
|
+
};
|
|
131
|
+
}>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
132
|
+
forcePresent: {
|
|
133
|
+
readonly type: BooleanConstructor;
|
|
134
|
+
readonly default: false;
|
|
135
|
+
};
|
|
136
|
+
as: {
|
|
137
|
+
type: PropType<PrimitiveAs>;
|
|
138
|
+
default: string;
|
|
139
|
+
};
|
|
140
|
+
asChild: {
|
|
141
|
+
type: BooleanConstructor;
|
|
142
|
+
default: boolean;
|
|
143
|
+
};
|
|
144
|
+
for: {
|
|
145
|
+
type: StringConstructor;
|
|
146
|
+
required: true;
|
|
147
|
+
};
|
|
148
|
+
}>> & Readonly<{}>, {
|
|
149
|
+
forcePresent: boolean;
|
|
150
|
+
as: PrimitiveAs;
|
|
151
|
+
asChild: boolean;
|
|
152
|
+
}, SlotsType<{
|
|
153
|
+
default: (props: import("./tree-view.js").TreeViewRootSlotProps) => VNodeChild;
|
|
154
|
+
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
155
|
+
export declare const TreeSelectDisclosure: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
156
|
+
for: {
|
|
157
|
+
type: StringConstructor;
|
|
158
|
+
required: true;
|
|
159
|
+
};
|
|
160
|
+
as: {
|
|
161
|
+
type: PropType<PrimitiveAs>;
|
|
162
|
+
default: string;
|
|
163
|
+
};
|
|
164
|
+
asChild: {
|
|
165
|
+
type: BooleanConstructor;
|
|
166
|
+
default: boolean;
|
|
167
|
+
};
|
|
168
|
+
}>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
169
|
+
for: {
|
|
170
|
+
type: StringConstructor;
|
|
171
|
+
required: true;
|
|
172
|
+
};
|
|
173
|
+
as: {
|
|
174
|
+
type: PropType<PrimitiveAs>;
|
|
175
|
+
default: string;
|
|
176
|
+
};
|
|
177
|
+
asChild: {
|
|
178
|
+
type: BooleanConstructor;
|
|
179
|
+
default: boolean;
|
|
180
|
+
};
|
|
181
|
+
}>> & Readonly<{}>, {
|
|
182
|
+
as: PrimitiveAs;
|
|
183
|
+
asChild: boolean;
|
|
184
|
+
}, SlotsType<{
|
|
185
|
+
default: (props: TreeViewItemSlotProps) => VNodeChild;
|
|
186
|
+
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,useId,watch}from'vue';import{createTree}from'@sectile/core/tree';import{unwrap}from'@sectile/core/result';import{connectTreeSelect,createTreeSelectController}from'@sectile/dom/tree-select';import{stableIDElementToken}from'@sectile/dom/identity';import{Primitive}from'./primitive.js';import{usePopupPresentation}from'./internal/popup-presentation.js';import{useControlledStateInvariant}from'./internal/controlled-state.js';import{useNextTickTask}from'./internal/scheduled-task.js';import{reconcileCollectionState,sameIDs}from'./internal/collection.js';import{createTreeGroup,createTreeItem,createTreeDisclosure,provideTreeParts}from'./internal/tree-parts.js';import{usePresence}from'./presence/presence.js';import{provideHostLayerParent}from'./host-provider.js';import{hiddenSelectSubmissionCapabilities,provideFormControlOwner,useCompositeFormControl,useFormControlFlags,useFormSubmissionProps}from'./form/control.js';import{visuallyHiddenInputStyle}from'./input/native-input.js';const key=/* @__PURE__ */Symbol('SectileTreeSelect');const empty=/* @__PURE__ */Object.freeze([]);const partProps={as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}};function useRoot(name){const root=inject(key);if(!root)throw new TypeError(`${name} must be used inside TreeSelectRoot.`);return root}const RootImplementation=/* @__PURE__ */defineComponent({name:'SectileTreeSelectRoot',inheritAttrs:false,props:{nodes:{type:Array,required:true},selectionMode:{type:String,default:'single'},modelValue:{type:Array,default:undefined},defaultValue:{type:Array,default:()=>empty},expandedValues:{type:Array,default:undefined},defaultExpandedValues:{type:Array,default:()=>empty},highlightedValue:{type:String,default:undefined},defaultHighlightedValue:{type:String,default:null},query:{type:String,default:undefined},defaultQuery:{type:String,default:''},open:{type:Boolean,default:undefined},defaultOpen:{type:Boolean,default:false},matches:{type:Array,default:undefined},results:{type:Object,default:undefined},disabledItems:{type:Array,default:()=>empty},policies:{type:Object,default:undefined},disabled:{type:Boolean,default:undefined},readonly:{type:Boolean,default:undefined},required:{type:Boolean,default:undefined},label:String,name:String,form:String,position:{type:Boolean,default:true},as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}},emits:{'update:modelValue':_value=>true,'update:expandedValues':_value=>true,'update:highlightedValue':_value=>true,'update:query':_value=>true,'update:open':_value=>true,search:_request=>true},slots:Object,setup(props,{attrs,emit,slots,expose}){const input=shallowRef(),popup=shallowRef(),submission=shallowRef();const controller=shallowRef(),accepted=shallowRef();const connection=shallowRef();const flags=useFormControlFlags(props);const disabled=computed(()=>flags.value.disabled),readonly=computed(()=>flags.value.readonly);const required=computed(()=>flags.value.required);const inputID=`sectile-tree-select-${useId()}`,popupID=`${inputID}-popup`;const elementID=id=>`${popupID}-${stableIDElementToken(id)}`;const items=new Map,disclosures=new Map;let alive=true,mounted=false,generation=0;const controlled={value:useControlledStateInvariant('TreeSelectRoot','modelValue',()=>props.modelValue),expansion:useControlledStateInvariant('TreeSelectRoot','expandedValues',()=>props.expandedValues),cursor:useControlledStateInvariant('TreeSelectRoot','highlightedValue',()=>props.highlightedValue),query:useControlledStateInvariant('TreeSelectRoot','query',()=>props.query),open:useControlledStateInvariant('TreeSelectRoot','open',()=>props.open)};const initial={value:props.defaultValue,expansion:props.defaultExpandedValues,cursor:props.defaultHighlightedValue,query:props.defaultQuery,open:props.defaultOpen};const snapshot=computed(()=>accepted.value.state);const navigation=computed(()=>(snapshot.value.results?.tree??controller.value.tree).visible(snapshot.value.view.expansion.ids));const publish=()=>{if(alive&&controller.value)accepted.value=controller.value.getSnapshot()};const refreshParts=()=>{const current=connection.value;if(!current)return;for(const[element,id]of items)current.setItemAttributes(element,{id});for(const[element,id]of disclosures)current.setDisclosureAttributes(element,id)};const refresh=()=>{publish();refreshParts();connection.value?.render()};const disconnect=()=>{try{lifecycle.release()}finally{try{connection.value?.disconnect()}finally{connection.value=undefined}}};const attach=()=>{disconnect();if(!alive||!mounted||!input.value||!popup.value||!controller.value)return;connection.value=connectTreeSelect({controller:controller.value,input:input.value,popup:popup.value,position:props.position,manageVisibility:false,...lifecycle.layerHost.value===undefined?{}:{layerHost:lifecycle.layerHost.value},getItemElementID:elementID,onUpdate:()=>{publish();refreshParts();lifecycle.update()}});refresh()};const open=computed(()=>accepted.value?.state.open??props.open??props.defaultOpen);const lifecycle=usePopupPresentation({connection,open,connect:attach,refresh,trackLayerHost:true});const attachmentTask=useNextTickTask(()=>{if(alive&&mounted)lifecycle.reconnect()});const scheduleAttach=()=>{if(alive&&mounted)attachmentTask.schedule()};const values=()=>({...controlled.value?{value:props.modelValue}:{},...controlled.expansion?{expandedValues:props.expandedValues}:{},...controlled.cursor?{highlightedValue:props.highlightedValue}:{},...controlled.query?{query:props.query}:{},...controlled.open?{open:props.open}:{},...props.results===undefined?{}:{results:props.results}});const build=(reset=false)=>{if(!alive)return;const prior=controller.value?.getSnapshot().state,previous=reset?undefined:prior,tree=createTree(props.nodes);const requested=controlled.value?props.modelValue:previous?.selection.selected??initial.value;const value=prior?reconcileCollectionState(tree.preorder().ids,requested,null,empty,props.selectionMode,{preserveNullCurrent:true}).selected:requested;const expanded=tree.normalizeExpansion(controlled.expansion?props.expandedValues:previous?.expansion.ids??initial.expansion).ids;const query=controlled.query?props.query:previous?.request.query??initial.query;const requestedCursor=controlled.cursor?props.highlightedValue:previous?.view.cursor.current??initial.cursor;const visible=tree.visible(expanded).ids;const cursor=!prior?requestedCursor:query===''?reconcileCollectionState(visible,empty,requestedCursor,props.disabledItems,'multiple',{preserveNullCurrent:true}).current:controlled.cursor?requestedCursor:null;const nextGeneration=generation+1,current=()=>alive&&generation===nextGeneration;const next=unwrap(createTreeSelectController({tree,selectionMode:props.selectionMode,disabled:disabled.value,readOnly:readonly.value,disabledItems:props.disabledItems,...props.policies===undefined?{}:{policies:props.policies},...props.matches===undefined?{}:{matches:props.matches},...controlled.value?{value}:{defaultValue:value},...controlled.expansion?{expandedValues:expanded}:{defaultExpandedValues:expanded},...controlled.cursor?{highlightedValue:cursor}:{defaultHighlightedValue:cursor},...controlled.query?{query}:{defaultQuery:query},...controlled.open?{open:props.open}:{defaultOpen:previous?.open??initial.open},onValueChange:value=>{if(current())emit('update:modelValue',value)},onExpandedValuesChange:value=>{if(current())emit('update:expandedValues',value)},onHighlightedValueChange:value=>{if(current())emit('update:highlightedValue',value)},onQueryChange:value=>{if(current())emit('update:query',value)},onOpenChange:value=>{if(current())emit('update:open',value)},onSearch:request=>{if(current())emit('search',request)},onUpdate:()=>{if(current())refresh()}}));const old=controller.value;disconnect();generation=nextGeneration;controller.value=next;old?.dispose();publish();if(previous&&!sameIDs(requested,value))emit('update:modelValue',value);if(previous&&requestedCursor!==cursor)emit('update:highlightedValue',cursor);scheduleAttach()};build();const getChildren=parent=>{if(!alive||!controller.value)return empty;const tree=snapshot.value.results?.tree??controller.value.tree;return parent===null?tree.roots.ids:tree.childrenOf(parent)?.ids??empty};const isBranch=id=>alive&&controller.value?.tree.isLeaf(id)===false;const state=computed(()=>({value:snapshot.value.selection.selected,expandedValues:snapshot.value.view.expansion.ids,highlightedValue:snapshot.value.view.cursor.current,query:snapshot.value.request.query,open:snapshot.value.open,pending:snapshot.value.pending,request:snapshot.value.request,disabled:disabled.value||!lifecycle.active.value,readonly:readonly.value,getChildren,isBranch}));const resetTask=useNextTickTask(()=>{if(alive)build(true)});const submissionProps=useFormSubmissionProps({element:submission,capabilities:hiddenSelectSubmissionCapabilities},props);const participation=useCompositeFormControl({root:input,focusTarget:input,validationTarget:submission,labelMode:'for',submissions:[{element:submission,capabilities:hiddenSelectSubmissionCapabilities}],getValue:()=>snapshot.value.selection.selected,isValueEqual:(left,right)=>Array.isArray(left)&&Array.isArray(right)&&sameIDs(left,right),reset:resetTask.schedule});provideFormControlOwner();provide(key,{state,snapshot,inputID,popupID,elementID,position:computed(()=>props.position),label:computed(()=>props.label),controlProps:participation.controlProps,connection,active:lifecycle.active,presentation:lifecycle.presentation,registerPresence:lifecycle.registerPresence,registerInput:node=>{const next=typeof HTMLInputElement!=='undefined'&&node instanceof HTMLInputElement?node:undefined;if(input.value!==next){input.value=next;scheduleAttach()}},registerPopup:node=>{const next=typeof HTMLElement!=='undefined'&&node instanceof HTMLElement?node:undefined;if(popup.value!==next){popup.value=next;scheduleAttach()}}});provideTreeParts({scope:'tree-select',state,selectedItems:computed(()=>snapshot.value.selection),expandedItems:computed(()=>snapshot.value.view.expansion),disabledItems:computed(()=>{accepted.value;return{has:id=>snapshot.value.pending||controller.value?.isDisabled(id)!==false}}),selecting:{levelOf:id=>(controller.value.tree.depthOf(id)??0)+1,isLeaf:id=>controller.value.tree.isLeaf(id)!==false,isVisible:id=>navigation.value.contains(id),elementID},registerItem:(element,id)=>{items.set(element,id);connection.value?.setItemAttributes(element,{id})},unregisterItem:(element,id)=>{if(items.get(element)===id){items.delete(element);connection.value?.releaseItem(element,id)}},registerDisclosure:(element,id)=>{disclosures.set(element,id);connection.value?.setDisclosureAttributes(element,id)},unregisterDisclosure:(element,id)=>{if(disclosures.get(element)===id)disclosures.delete(element)}});expose({get element(){return input.value??null},focus(options){if(alive&&lifecycle.active.value)input.value?.focus(options)},resolveSearch(request,matches){return alive&&!!controller.value?.resolveSearch(request,matches).ok}});onMounted(()=>{mounted=true;lifecycle.reconnect()});onBeforeUnmount(()=>{alive=false;mounted=false;generation++;attachmentTask.cancel();resetTask.cancel();try{disconnect()}finally{try{controller.value?.dispose()}finally{controller.value=undefined;items.clear();disclosures.clear()}}});watch([()=>props.nodes,()=>props.disabledItems,()=>props.selectionMode,()=>props.policies,()=>props.matches],()=>build());watch([disabled,readonly],()=>{if(controller.value)unwrap(controller.value.syncInteraction({disabled:disabled.value,readOnly:readonly.value}))});watch([()=>props.modelValue,()=>props.expandedValues,()=>props.highlightedValue,()=>props.query,()=>props.open,()=>props.results],()=>{if(!alive||!controller.value)return;lifecycle.prepareModelUpdate();const supplied=values(),result=controller.value.syncControlledValues(supplied);if(!result.ok&&result.error.code==='tree-select-stale-results'){const{results:_stale,...controls}=supplied;unwrap(controller.value.syncControlledValues(controls))}else unwrap(result)},{flush:'post'});watch(()=>props.position,scheduleAttach);const selected=computed(()=>snapshot.value.selection),sourceIDs=computed(()=>controller.value.tree.preorder().ids);const encoding=computed(()=>h('select',{ref:node=>{submission.value=typeof HTMLSelectElement!=='undefined'&&node instanceof HTMLSelectElement?node:undefined},...submissionProps.value,required:required.value,disabled:disabled.value,multiple:props.selectionMode==='multiple',tabindex:-1,'aria-hidden':'true',style:visuallyHiddenInputStyle},[...props.selectionMode==='single'?[h('option',{value:'',selected:selected.value.size===0})]:[],...sourceIDs.value.map(id=>h('option',{key:id,value:id,selected:selected.value.has(id)},id))]));return()=>[h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,'data-scope':'tree-select','data-part':'root','data-state':state.value.open?'open':'closed'}),{default:()=>slots.default?.(state.value)}),...participation.participating||props.name!==undefined||props.form!==undefined||required.value?[encoding.value]:[]]}});export const TreeSelectRoot=RootImplementation;export const TreeSelectInput=/* @__PURE__ */defineComponent({name:'SectileTreeSelectInput',inheritAttrs:false,props:{asChild:{type:Boolean,default:false}},setup(props,{attrs,slots}){const root=useRoot('TreeSelectInput'),composing=shallowRef(false),element=shallowRef();return()=>h(Primitive,mergeProps(attrs,root.controlProps.value,{as:'input',asChild:props.asChild,elementRef:node=>{element.value=typeof HTMLInputElement!=='undefined'&&node instanceof HTMLInputElement?node:undefined;root.registerInput(node)},id:attrs['id']??root.controlProps.value['id']??root.inputID,name:undefined,required:false,type:'text',value:composing.value?element.value?.value:root.state.value.query,onCompositionstart:()=>{composing.value=true},onCompositionend:()=>{composing.value=false},role:'combobox','aria-haspopup':'tree','aria-autocomplete':'list','aria-controls':root.popupID,'aria-expanded':root.active.value&&root.state.value.open,'aria-activedescendant':element.value?element.value.getAttribute('aria-activedescendant')??undefined:root.active.value&&root.state.value.open&&!root.state.value.pending&&root.state.value.highlightedValue!==null?root.elementID(root.state.value.highlightedValue):undefined,'aria-label':root.label.value??attrs['aria-label'],disabled:root.state.value.disabled,readonly:root.state.value.readonly,'data-scope':'tree-select','data-part':'input'}),slots)}});export const TreeSelectContent=/* @__PURE__ */defineComponent({name:'SectileTreeSelectContent',inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const root=useRoot('TreeSelectContent'),element=shallowRef(),open=computed(()=>root.state.value.open);provideHostLayerParent({active:root.active,open,element,presentation:root.presentation});const present=usePresence(open,element,undefined,root.active);onBeforeUnmount(root.registerPresence(present));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{element.value=typeof HTMLElement!=='undefined'&&node instanceof HTMLElement?node:undefined;root.registerPopup(node)},id:root.popupID,role:'tree',tabindex:-1,hidden:!root.active.value||!present.value,'aria-label':root.label.value,'aria-busy':root.state.value.pending,'aria-multiselectable':root.snapshot.value.selectionMode==='multiple'?'true':undefined,...!open.value||!root.active.value?{inert:true,'aria-hidden':'true'}:{},style:root.position.value?{position:'absolute',visibility:element.value===undefined?'hidden':undefined}:undefined,'data-scope':'tree-select','data-part':'content','data-state':open.value?'open':'closed'}),{default:()=>slots.default?.(root.state.value)})}});export const TreeSelectItem=/* @__PURE__ */createTreeItem('SectileTreeSelectItem','tree-select');export const TreeSelectGroup=/* @__PURE__ */createTreeGroup('SectileTreeSelectGroup','tree-select');export const TreeSelectDisclosure=/* @__PURE__ */createTreeDisclosure('SectileTreeSelectDisclosure','tree-select');
|
|
2
|
+
//# sourceMappingURL=tree-select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-select.js","names":["computed","defineComponent","h","inject","mergeProps","onBeforeUnmount","onMounted","provide","shallowRef","useId","watch","createTree","unwrap","connectTreeSelect","createTreeSelectController","stableIDElementToken","Primitive","usePopupPresentation","useControlledStateInvariant","useNextTickTask","reconcileCollectionState","sameIDs","createTreeGroup","createTreeItem","createTreeDisclosure","provideTreeParts","usePresence","provideHostLayerParent","hiddenSelectSubmissionCapabilities","provideFormControlOwner","useCompositeFormControl","useFormControlFlags","useFormSubmissionProps","visuallyHiddenInputStyle","key","Symbol","empty","Object","freeze","partProps","as","type","String","Function","default","asChild","Boolean","useRoot","name","root","TypeError","RootImplementation","inheritAttrs","props","nodes","Array","required","selectionMode","modelValue","undefined","defaultValue","expandedValues","defaultExpandedValues","highlightedValue","defaultHighlightedValue","query","defaultQuery","open","defaultOpen","matches","results","disabledItems","policies","disabled","readonly","label","form","position","emits","_value","search","_request","slots","setup","attrs","emit","expose","input","popup","submission","controller","accepted","connection","flags","value","inputID","popupID","elementID","id","items","Map","disclosures","alive","mounted","generation","controlled","expansion","cursor","initial","snapshot","state","navigation","tree","visible","view","ids","publish","getSnapshot","refreshParts","current","element","setItemAttributes","setDisclosureAttributes","refresh","render","disconnect","lifecycle","release","attach","manageVisibility","layerHost","getItemElementID","onUpdate","update","connect","trackLayerHost","attachmentTask","reconnect","scheduleAttach","schedule","values","build","reset","prior","previous","requested","selection","selected","preorder","preserveNullCurrent","expanded","normalizeExpansion","request","requestedCursor","nextGeneration","next","readOnly","onValueChange","onExpandedValuesChange","onHighlightedValueChange","onQueryChange","onOpenChange","onSearch","old","dispose","getChildren","parent","roots","childrenOf","isBranch","isLeaf","pending","active","resetTask","submissionProps","capabilities","participation","focusTarget","validationTarget","labelMode","submissions","getValue","isValueEqual","left","right","isArray","controlProps","presentation","registerPresence","registerInput","node","HTMLInputElement","registerPopup","HTMLElement","scope","selectedItems","expandedItems","has","isDisabled","selecting","levelOf","depthOf","isVisible","contains","registerItem","set","unregisterItem","get","delete","releaseItem","registerDisclosure","unregisterDisclosure","focus","options","resolveSearch","ok","cancel","clear","syncInteraction","prepareModelUpdate","supplied","result","syncControlledValues","error","code","_stale","controls","flush","sourceIDs","encoding","ref","HTMLSelectElement","multiple","tabindex","style","size","map","participating","TreeSelectRoot","TreeSelectInput","composing","elementRef","onCompositionstart","onCompositionend","role","getAttribute","TreeSelectContent","present","hidden","inert","visibility","TreeSelectItem","TreeSelectGroup","TreeSelectDisclosure"],"sources":["../src/tree-select.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/tree-view.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createTreeView}from"@sectile/dom/tree-view";import{Primitive}from"./primitive.js";import{collectionBranchIDs,reconcileCollectionState,sameIDs}from"./internal/collection.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{conditionalPresenceProps,useConditionalPresence}from"./presence/conditional-presence.js";const key=Symbol("SectileTreeViewRoot");const partProps={as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}};const TreeViewRoot=defineComponent({name:"SectileTreeViewRoot",inheritAttrs:false,props:{nodes:{type:Array,required:true},selectionMode:{type:String,default:"single"},modelValue:{type:Array,default:void 0},defaultValue:{type:Array,default:()=>[]},expandedValues:{type:Array,default:void 0},defaultExpandedValues:{type:Array,default:()=>[]},highlightedValue:{type:String,default:void 0},defaultHighlightedValue:{type:String,default:null},disabledItems:{type:Array,default:()=>[]},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:void 0},policies:{type:Object,default:void 0},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,"update:expandedValues":_value=>true,"update:highlightedValue":_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const element=shallowRef();const connection=shallowRef();let connectionOwner;const localValue=shallowRef(props.modelValue!==void 0?props.modelValue:props.defaultValue);const localExpanded=shallowRef(props.expandedValues!==void 0?props.expandedValues:props.defaultExpandedValues);const localHighlight=shallowRef(props.highlightedValue!==void 0?props.highlightedValue:props.defaultHighlightedValue);const controlled={value:useControlledStateInvariant("TreeViewRoot","modelValue",()=>props.modelValue),expanded:useControlledStateInvariant("TreeViewRoot","expandedValues",()=>props.expandedValues),highlighted:useControlledStateInvariant("TreeViewRoot","highlightedValue",()=>props.highlightedValue)};const state=computed(()=>Object.freeze({value:props.modelValue!==void 0?props.modelValue:localValue.value,expandedValues:props.expandedValues!==void 0?props.expandedValues:localExpanded.value,highlightedValue:props.highlightedValue!==void 0?props.highlightedValue:localHighlight.value,disabled:props.disabled,readonly:props.readonly}));const refreshParts=()=>{if(element.value===void 0||connection.value===void 0)return;element.value.querySelectorAll("[data-sectile-tree-view-item]").forEach(node=>{const id=node.dataset["sectileTreeViewItem"];if(id!==void 0)connection.value?.setItemAttributes(node,{id,disabled:node.dataset["disabled"]!==void 0})});element.value.querySelectorAll("[data-sectile-tree-view-disclosure]").forEach(node=>{const id=node.dataset["sectileTreeViewDisclosure"];if(id!==void 0)connection.value?.setDisclosureAttributes(node,id)})};const refresh=()=>{const snapshot=connection.value?.getSnapshot().state;if(snapshot===void 0)return;localValue.value=snapshot.selection.selected;localExpanded.value=snapshot.expansion.ids;localHighlight.value=snapshot.cursor.current;refreshParts()};const connect=()=>{const nextOwner=snapshotTreeViewConnectionOwner(props);if(connection.value!==void 0&&connectionOwner!==void 0&&sameTreeViewConnectionOwner(connectionOwner,nextOwner))return;connection.value?.disconnect();if(element.value===void 0)return;const items=nextOwner.nodes.map(node=>node.id);const branches=collectionBranchIDs(nextOwner.nodes);const requestedValue=controlled.value?props.modelValue:localValue.value;const requestedExpanded=controlled.expanded?props.expandedValues:localExpanded.value;const requestedHighlight=controlled.highlighted?props.highlightedValue:localHighlight.value;const reconciled=reconcileCollectionState(items,requestedValue,requestedHighlight,nextOwner.disabledItems,nextOwner.selectionMode,{preserveNullCurrent:true});const expanded=reconcileCollectionState(branches,requestedExpanded,null,[],"multiple",{preserveNullCurrent:true}).selected;localValue.value=reconciled.selected;localExpanded.value=expanded;localHighlight.value=reconciled.current;if(controlled.value&&!sameIDs(requestedValue,reconciled.selected))emit("update:modelValue",reconciled.selected);if(controlled.expanded&&!sameIDs(requestedExpanded,expanded))emit("update:expandedValues",expanded);if(controlled.highlighted&&requestedHighlight!==reconciled.current)emit("update:highlightedValue",reconciled.current);connection.value=createTreeView({root:element.value,nodes:nextOwner.nodes,selectionMode:nextOwner.selectionMode,...controlled.value?{value:reconciled.selected}:{defaultValue:reconciled.selected},...controlled.expanded?{expandedValues:expanded}:{defaultExpandedValues:expanded},...controlled.highlighted?{highlightedValue:reconciled.current}:{defaultHighlightedValue:reconciled.current},disabledItems:nextOwner.disabledItems,disabled:nextOwner.disabled,readOnly:nextOwner.readonly,...props.policies===void 0?{}:{policies:props.policies},onValueChange:({value})=>{localValue.value=value;emit("update:modelValue",value)},onExpandedValuesChange:({value})=>{localExpanded.value=value;emit("update:expandedValues",value)},onHighlightedValueChange:({value})=>{localHighlight.value=value;emit("update:highlightedValue",value)},onUpdate:refresh});connectionOwner=nextOwner;connection.value.setTreeAttributes(nextOwner.label);refreshParts();refresh()};const disabledItems=computed(()=>new Set(props.disabledItems));const selectedItems=computed(()=>new Set(state.value.value));const expandedItems=computed(()=>new Set(state.value.expandedValues));provide(key,{state,selectedItems,expandedItems,disabledItems,registerItem:(node,id,disabled)=>connection.value?.setItemAttributes(node,{id,disabled}),registerDisclosure:(node,id)=>connection.value?.setDisclosureAttributes(node,id)});onMounted(connect);onBeforeUnmount(()=>connection.value?.disconnect());watch([()=>props.nodes,()=>props.selectionMode,()=>props.disabledItems,()=>props.disabled,()=>props.readonly,()=>props.label,()=>props.policies],connect);watch([()=>props.modelValue,()=>props.expandedValues,()=>props.highlightedValue],()=>{if(connection.value===void 0)return;const result=connection.value.syncControlledValues({...controlled.value?{value:props.modelValue}:{},...controlled.expanded?{expandedValues:props.expandedValues}:{},...controlled.highlighted?{highlightedValue:props.highlightedValue}:{}});if(!result.ok)throw new TypeError(result.error.message);refresh()});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{element.value=node instanceof HTMLElement?node:void 0},"data-scope":"tree-view","data-part":"root"}),{default:()=>slots["default"]?.(state.value)})}});const TreeViewGroup=defineComponent({name:"SectileTreeViewGroup",inheritAttrs:false,props:{for:{type:String,required:true},...partProps,...conditionalPresenceProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("TreeViewGroup");const expanded=computed(()=>root.expandedItems.value.has(props.for));const forcePresent=computed(()=>props.forcePresent);const presence=useConditionalPresence(expanded,forcePresent);return()=>{const inactivePresent=!expanded.value&&presence.present.value;return h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:presence.register,role:"group",hidden:presence.hidden.value,...inactivePresent?{inert:true,"aria-hidden":"true"}:{},"data-scope":"tree-view","data-part":"group","data-state":expanded.value?"open":"closed"}),{default:()=>slots["default"]?.(root.state.value)})}}});const TreeViewItem=defineComponent({name:"SectileTreeViewItem",inheritAttrs:false,props:{value:{type:String,required:true},disabled:{type:Boolean,default:false},...partProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("TreeViewItem");const state=computed(()=>({expandedValues:root.state.value.expandedValues,highlightedValue:root.state.value.highlightedValue,readonly:root.state.value.readonly,value:props.value,selectedValues:root.state.value.value,selected:root.selectedItems.value.has(props.value),expanded:root.expandedItems.value.has(props.value),highlighted:root.state.value.highlightedValue===props.value,disabled:root.state.value.disabled||props.disabled||root.disabledItems.value.has(props.value)}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{if(node instanceof HTMLElement)root.registerItem(node,props.value,props.disabled)},"data-sectile-tree-view-item":props.value,"data-scope":"tree-view","data-part":"item","data-selected":state.value.selected?"":void 0,"data-expanded":state.value.expanded?"":void 0,"data-highlighted":state.value.highlighted?"":void 0,"data-disabled":state.value.disabled?"":void 0}),{default:()=>slots["default"]?.(state.value)})}});const TreeViewDisclosure=defineComponent({name:"SectileTreeViewDisclosure",inheritAttrs:false,props:{for:{type:String,required:true},as:{type:[String,Object,Function],default:"span"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("TreeViewDisclosure");const state=computed(()=>({expandedValues:root.state.value.expandedValues,highlightedValue:root.state.value.highlightedValue,readonly:root.state.value.readonly,value:props.for,selectedValues:root.state.value.value,selected:root.selectedItems.value.has(props.for),expanded:root.expandedItems.value.has(props.for),highlighted:root.state.value.highlightedValue===props.for,disabled:root.state.value.disabled||root.disabledItems.value.has(props.for)}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==="button"?"button":void 0,disabled:props.as==="button"?state.value.disabled:void 0,elementRef:node=>{if(node instanceof HTMLElement)root.registerDisclosure(node,props.for)},"data-sectile-tree-view-disclosure":props.for,"data-scope":"tree-view","data-part":"disclosure","data-state":state.value.expanded?"open":"closed"}),{default:()=>slots["default"]?.(state.value)})}});function useRoot(part){const root=inject(key);if(root===void 0)throw new TypeError(`${part} must be used inside TreeViewRoot.`);return root}function snapshotTreeViewConnectionOwner(props){return Object.freeze({nodes:Object.freeze(props.nodes.map(node=>Object.freeze({id:node.id,parentID:node.parentID}))),selectionMode:props.selectionMode,disabledItems:Object.freeze([...props.disabledItems]),disabled:props.disabled,readonly:props.readonly,label:props.label,eligible:props.policies?.eligible})}function sameTreeViewConnectionOwner(left,right){if(left.nodes.length!==right.nodes.length||!sameIDs(left.disabledItems,right.disabledItems)||left.selectionMode!==right.selectionMode||left.disabled!==right.disabled||left.readonly!==right.readonly||left.label!==right.label||left.eligible!==right.eligible)return false;for(let index=0;index<left.nodes.length;index+=1){const leftNode=left.nodes[index];const rightNode=right.nodes[index];if(leftNode.id!==rightNode.id||leftNode.parentID!==rightNode.parentID){return false}}return true}export{TreeViewDisclosure,TreeViewGroup,TreeViewItem,TreeViewRoot};
|
|
1
|
+
import{computed,defineComponent,h,mergeProps,onBeforeUnmount,onMounted,shallowRef,watch}from'vue';import{createTreeView}from'@sectile/dom/tree-view';import{Primitive}from'./primitive.js';import{collectionBranchIDs,reconcileCollectionState,sameIDs}from'./internal/collection.js';import{createTreeGroup,createTreeItem,createTreeDisclosure,provideTreeParts}from'./internal/tree-parts.js';import{useControlledStateInvariant}from'./internal/controlled-state.js';import{}from'./presence/conditional-presence.js';export const TreeViewRoot=defineComponent({name:'SectileTreeViewRoot',inheritAttrs:false,props:{nodes:{type:Array,required:true},selectionMode:{type:String,default:'single'},modelValue:{type:Array,default:undefined},defaultValue:{type:Array,default:()=>[]},expandedValues:{type:Array,default:undefined},defaultExpandedValues:{type:Array,default:()=>[]},highlightedValue:{type:String,default:undefined},defaultHighlightedValue:{type:String,default:null},disabledItems:{type:Array,default:()=>[]},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:undefined},policies:{type:Object,default:undefined},as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}},emits:{'update:modelValue':_value=>true,'update:expandedValues':_value=>true,'update:highlightedValue':_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const element=shallowRef();const connection=shallowRef();let connectionOwner;const localValue=shallowRef(props.modelValue!==undefined?props.modelValue:props.defaultValue);const localExpanded=shallowRef(props.expandedValues!==undefined?props.expandedValues:props.defaultExpandedValues);const localHighlight=shallowRef(props.highlightedValue!==undefined?props.highlightedValue:props.defaultHighlightedValue);const controlled={value:useControlledStateInvariant('TreeViewRoot','modelValue',()=>props.modelValue),expanded:useControlledStateInvariant('TreeViewRoot','expandedValues',()=>props.expandedValues),highlighted:useControlledStateInvariant('TreeViewRoot','highlightedValue',()=>props.highlightedValue)};const state=computed(()=>Object.freeze({value:props.modelValue!==undefined?props.modelValue:localValue.value,expandedValues:props.expandedValues!==undefined?props.expandedValues:localExpanded.value,highlightedValue:props.highlightedValue!==undefined?props.highlightedValue:localHighlight.value,disabled:props.disabled,readonly:props.readonly}));const refreshParts=()=>{if(element.value===undefined||connection.value===undefined)return;element.value.querySelectorAll('[data-sectile-tree-view-item]').forEach(node=>{const id=node.dataset['sectileTreeViewItem'];if(id!==undefined)connection.value?.setItemAttributes(node,{id,disabled:node.dataset['disabled']!==undefined})});element.value.querySelectorAll('[data-sectile-tree-view-disclosure]').forEach(node=>{const id=node.dataset['sectileTreeViewDisclosure'];if(id!==undefined)connection.value?.setDisclosureAttributes(node,id)})};const refresh=()=>{const snapshot=connection.value?.getSnapshot().state;if(snapshot===undefined)return;localValue.value=snapshot.selection.selected;localExpanded.value=snapshot.expansion.ids;localHighlight.value=snapshot.cursor.current;refreshParts()};const connect=()=>{const nextOwner=snapshotTreeViewConnectionOwner(props);if(connection.value!==undefined&&connectionOwner!==undefined&&sameTreeViewConnectionOwner(connectionOwner,nextOwner))return;connection.value?.disconnect();if(element.value===undefined)return;const items=nextOwner.nodes.map(node=>node.id);const branches=collectionBranchIDs(nextOwner.nodes);const requestedValue=controlled.value?props.modelValue:localValue.value;const requestedExpanded=controlled.expanded?props.expandedValues:localExpanded.value;const requestedHighlight=controlled.highlighted?props.highlightedValue:localHighlight.value;const reconciled=reconcileCollectionState(items,requestedValue,requestedHighlight,nextOwner.disabledItems,nextOwner.selectionMode,{preserveNullCurrent:true});const expanded=reconcileCollectionState(branches,requestedExpanded,null,[],'multiple',{preserveNullCurrent:true}).selected;localValue.value=reconciled.selected;localExpanded.value=expanded;localHighlight.value=reconciled.current;if(controlled.value&&!sameIDs(requestedValue,reconciled.selected))emit('update:modelValue',reconciled.selected);if(controlled.expanded&&!sameIDs(requestedExpanded,expanded))emit('update:expandedValues',expanded);if(controlled.highlighted&&requestedHighlight!==reconciled.current)emit('update:highlightedValue',reconciled.current);connection.value=createTreeView({root:element.value,nodes:nextOwner.nodes,selectionMode:nextOwner.selectionMode,...controlled.value?{value:reconciled.selected}:{defaultValue:reconciled.selected},...controlled.expanded?{expandedValues:expanded}:{defaultExpandedValues:expanded},...controlled.highlighted?{highlightedValue:reconciled.current}:{defaultHighlightedValue:reconciled.current},disabledItems:nextOwner.disabledItems,disabled:nextOwner.disabled,readOnly:nextOwner.readonly,...props.policies===undefined?{}:{policies:props.policies},onValueChange:({value})=>{localValue.value=value;emit('update:modelValue',value)},onExpandedValuesChange:({value})=>{localExpanded.value=value;emit('update:expandedValues',value)},onHighlightedValueChange:({value})=>{localHighlight.value=value;emit('update:highlightedValue',value)},onUpdate:refresh});connectionOwner=nextOwner;connection.value.setTreeAttributes(nextOwner.label);refreshParts();refresh()};const disabledItems=computed(()=>new Set(props.disabledItems));const selectedItems=computed(()=>new Set(state.value.value));const expandedItems=computed(()=>new Set(state.value.expandedValues));provideTreeParts({scope:'tree-view',state,selectedItems,expandedItems,disabledItems,registerItem:(node,id,disabled)=>connection.value?.setItemAttributes(node,{id,disabled}),registerDisclosure:(node,id)=>connection.value?.setDisclosureAttributes(node,id),unregisterItem:(node,id)=>connection.value?.releaseItem?.(node,id)});onMounted(connect);onBeforeUnmount(()=>connection.value?.disconnect());watch([()=>props.nodes,()=>props.selectionMode,()=>props.disabledItems,()=>props.disabled,()=>props.readonly,()=>props.label,()=>props.policies],connect);watch([()=>props.modelValue,()=>props.expandedValues,()=>props.highlightedValue],()=>{if(connection.value===undefined)return;const result=connection.value.syncControlledValues({...controlled.value?{value:props.modelValue}:{},...controlled.expanded?{expandedValues:props.expandedValues}:{},...controlled.highlighted?{highlightedValue:props.highlightedValue}:{}});if(!result.ok)throw new TypeError(result.error.message);refresh()});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{element.value=node instanceof HTMLElement?node:undefined},'data-scope':'tree-view','data-part':'root'}),{default:()=>slots['default']?.(state.value)})}});export const TreeViewGroup=/* @__PURE__ */createTreeGroup('SectileTreeViewGroup','tree-view');export const TreeViewItem=/* @__PURE__ */createTreeItem('SectileTreeViewItem','tree-view');export const TreeViewDisclosure=/* @__PURE__ */createTreeDisclosure('SectileTreeViewDisclosure','tree-view');function snapshotTreeViewConnectionOwner(props){return Object.freeze({nodes:Object.freeze(props.nodes.map(node=>Object.freeze({id:node.id,parentID:node.parentID}))),selectionMode:props.selectionMode,disabledItems:Object.freeze([...props.disabledItems]),disabled:props.disabled,readonly:props.readonly,label:props.label,eligible:props.policies?.eligible})}function sameTreeViewConnectionOwner(left,right){if(left.nodes.length!==right.nodes.length||!sameIDs(left.disabledItems,right.disabledItems)||left.selectionMode!==right.selectionMode||left.disabled!==right.disabled||left.readonly!==right.readonly||left.label!==right.label||left.eligible!==right.eligible)return false;for(let index=0;index<left.nodes.length;index+=1){const leftNode=left.nodes[index];const rightNode=right.nodes[index];if(leftNode.id!==rightNode.id||leftNode.parentID!==rightNode.parentID){return false}}return true}
|
|
2
2
|
//# sourceMappingURL=tree-view.js.map
|
package/dist/tree-view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"tree-view.js","names":["computed","defineComponent","h","mergeProps","onBeforeUnmount","onMounted","shallowRef","watch","createTreeView","Primitive","collectionBranchIDs","reconcileCollectionState","sameIDs","createTreeGroup","createTreeItem","createTreeDisclosure","provideTreeParts","useControlledStateInvariant","TreeViewRoot","name","inheritAttrs","props","nodes","type","Array","required","selectionMode","String","default","modelValue","undefined","defaultValue","expandedValues","defaultExpandedValues","highlightedValue","defaultHighlightedValue","disabledItems","disabled","Boolean","readonly","label","policies","Object","as","Function","asChild","emits","_value","slots","setup","attrs","emit","element","connection","connectionOwner","localValue","localExpanded","localHighlight","controlled","value","expanded","highlighted","state","freeze","refreshParts","querySelectorAll","forEach","node","id","dataset","setItemAttributes","setDisclosureAttributes","refresh","snapshot","getSnapshot","selection","selected","expansion","ids","cursor","current","connect","nextOwner","snapshotTreeViewConnectionOwner","sameTreeViewConnectionOwner","disconnect","items","map","branches","requestedValue","requestedExpanded","requestedHighlight","reconciled","preserveNullCurrent","root","readOnly","onValueChange","onExpandedValuesChange","onHighlightedValueChange","onUpdate","setTreeAttributes","Set","selectedItems","expandedItems","scope","registerItem","registerDisclosure","unregisterItem","releaseItem","result","syncControlledValues","ok","TypeError","error","message","elementRef","HTMLElement","TreeViewGroup","TreeViewItem","TreeViewDisclosure","parentID","eligible","left","right","length","index","leftNode","rightNode"],"sources":["../src/tree-view.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,10 +4,12 @@ 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
5
|
import { type VirtualInsets, type VirtualLayoutPlan, type VirtualPlacement, type VirtualPoint, type VirtualRect, type VirtualScrollAlignment, type VirtualScrollport } from '@sectile/dom/virtual';
|
|
6
6
|
import { type VirtualizerItemSize, type VirtualizerOperationResult, type VirtualizerRootExpose, type VirtualizerScrollportTarget } from './virtual-core.js';
|
|
7
|
+
export declare function virtualCollectionRootStyle({ scrollport, style, }: Readonly<Record<string, unknown>>): unknown;
|
|
7
8
|
export type VirtualCollectionIDResolver<Value, ID extends StableID = StableID> = OwnerVirtualCollectionIDResolver<Value, ID>;
|
|
8
9
|
export type VirtualCollectionItemAttributes<Value> = {
|
|
9
10
|
bivarianceHack(value: Value, index: number): Readonly<Record<string, unknown>>;
|
|
10
11
|
}['bivarianceHack'];
|
|
12
|
+
export type VirtualCollectionPartAttributes = Readonly<Partial<Record<'header' | 'surface' | 'footer', Readonly<Record<string, unknown>>>>>;
|
|
11
13
|
export type PreparedVirtualCollection<Value = unknown, ID extends StableID = StableID> = VirtualCollectionProjection<Value, ID>;
|
|
12
14
|
export interface VirtualCollectionBaseProps<Value, ID extends StableID = StableID> {
|
|
13
15
|
readonly items: readonly Value[];
|
|
@@ -21,6 +23,7 @@ export interface VirtualCollectionBaseProps<Value, ID extends StableID = StableI
|
|
|
21
23
|
readonly contentAs?: string;
|
|
22
24
|
readonly itemAs?: string;
|
|
23
25
|
readonly itemAttributes?: VirtualCollectionItemAttributes<Value>;
|
|
26
|
+
readonly partAttributes?: VirtualCollectionPartAttributes;
|
|
24
27
|
}
|
|
25
28
|
export interface VirtualCollectionSizePolicyProps<Value> {
|
|
26
29
|
readonly sizePolicy?: VirtualSizePolicy<Value>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineComponent,h,onBeforeUnmount,shallowReactive,shallowRef}from'vue';import{constrainVirtualCollectionDomain,createVirtualCollection,replaceVirtualCollection}from'@sectile/virtual/collection';import{virtualItemStyle}from'@sectile/dom/virtual';import{useVirtualizerSurfaceRegistration,virtualizerNotConnected}from'./virtual-core.js';export function prepareVirtualCollection(items,getID,maxItems=1_000_000){return createVirtualCollection(items,getID,{maxItems,maxIDCodeUnits:1_024})}export function updatePreparedVirtualCollection(previous,items,getID){return replaceVirtualCollection(previous,items,getID)}export function constrainPreparedVirtualCollection(prepared,maxItems){return constrainVirtualCollectionDomain(prepared,maxItems)}const VirtualCollectionProjectionRuntime=/* @__PURE__ */defineComponent({name:'SectileVirtualCollectionProjection',inheritAttrs:false,props:{scope:{type:String,required:true},placements:{type:Array,required:true},prepared:{type:Object,required:true},items:{type:Array,required:true},itemAs:{type:String,required:true},itemAttributes:{type:Function,default:undefined},size:{type:String,required:true}},slots:Object,setup(props,{slots}){const surface=useVirtualizerSurfaceRegistration('VirtualCollectionProjection');const
|
|
1
|
+
import{defineComponent,h,onBeforeUnmount,shallowReactive,shallowRef}from'vue';import{constrainVirtualCollectionDomain,createVirtualCollection,replaceVirtualCollection}from'@sectile/virtual/collection';import{virtualItemStyle}from'@sectile/dom/virtual';import{asHTMLElement,useVirtualizerSurfaceRegistration,virtualizerNotConnected}from'./virtual-core.js';const rootScrollportStyle={overflow:'auto'};export function virtualCollectionRootStyle({scrollport='root',style}){return scrollport==='root'?style==null?rootScrollportStyle:[rootScrollportStyle,style]:style}export function prepareVirtualCollection(items,getID,maxItems=1_000_000){return createVirtualCollection(items,getID,{maxItems,maxIDCodeUnits:1_024})}export function updatePreparedVirtualCollection(previous,items,getID){return replaceVirtualCollection(previous,items,getID)}export function constrainPreparedVirtualCollection(prepared,maxItems){return constrainVirtualCollectionDomain(prepared,maxItems)}const VirtualCollectionProjectionRuntime=/* @__PURE__ */defineComponent({name:'SectileVirtualCollectionProjection',inheritAttrs:false,props:{scope:{type:String,required:true},placements:{type:Array,required:true},prepared:{type:Object,required:true},items:{type:Array,required:true},itemAs:{type:String,required:true},itemAttributes:{type:Function,default:undefined},size:{type:String,required:true}},slots:Object,setup(props,{slots}){const surface=useVirtualizerSurfaceRegistration('VirtualCollectionProjection');const refs=new Map;const itemRef=id=>{const existing=refs.get(id);if(existing!==undefined)return existing;let mounted=null;let unregister;const callback=value=>{const element=asHTMLElement(value);if(element!==null&&mounted===element)return;unregister?.();unregister=undefined;mounted=element;if(element===null){if(refs.get(id)===callback)refs.delete(id);return}unregister=surface.registerItem(element,id)};refs.set(id,callback);return callback};onBeforeUnmount(()=>{for(const callback of refs.values())callback(null);refs.clear()});return()=>{const sizing=itemSizing(props.size);const children=[];for(const placement of props.placements){const index=placement.index;if(index>=props.items.length||props.prepared.domain.at(index)!==placement.id)continue;const value=props.items[index];const attributes=props.itemAttributes?.(value,index)??{};const rendered=slots['default']?.({value,id:placement.id,index,placement});children.push(h(props.itemAs,{...attributes,key:placement.id,ref:itemRef(placement.id),style:[attributes['style'],virtualItemStyle(placement,sizing)],'data-scope':props.scope,'data-virtual-layout':props.scope,'data-part':'item','data-index':placement.index,'data-visible':placement.visible?'':undefined},rendered))}return children}}});const VirtualCollectionBootstrapProjectionRuntime=/* @__PURE__ */defineComponent({name:'SectileVirtualCollectionBootstrapProjection',inheritAttrs:false,props:{scope:{type:String,required:true},prepared:{type:Object,required:true},items:{type:Array,required:true},count:{type:Number,required:true},width:{type:Number,required:true},itemAs:{type:String,required:true},itemAttributes:{type:Function,default:undefined},itemRef:{type:Function,required:true}},slots:Object,setup(props,{slots}){const refs=new Map;const bootstrapRef=index=>{const existing=refs.get(index);if(existing!==undefined)return existing;const callback=value=>{props.itemRef(index,value);if(value===null&&refs.get(index)===callback)refs.delete(index)};refs.set(index,callback);return callback};onBeforeUnmount(()=>refs.clear());return()=>{const children=[];const count=Math.min(props.count,props.prepared.domain.size);for(let index=0;index<count;index+=1){const id=props.prepared.domain.at(index);const value=props.items[index];const attributes=props.itemAttributes?.(value,index)??{};const placement=Object.freeze({id,index,rect:Object.freeze({x:index*props.width,y:0,width:props.width,height:0}),visible:true});children.push(h(props.itemAs,{...attributes,key:id,ref:bootstrapRef(index),style:[attributes['style'],{width:`${props.width}px`}],'data-scope':props.scope,'data-virtual-layout':props.scope,'data-part':'item','data-index':index,'data-bootstrap':''},slots['default']?.({value,id,index,placement})))}return children}}});export function renderHighLevelItems(scope,placements,prepared,items,itemAs,itemAttributes,size,render,empty){if(prepared.domain.size===0){const child=empty?.();return child===undefined||child===null?[]:[child]}return[h(VirtualCollectionProjectionRuntime,{scope,placements,prepared,items,itemAs,...itemAttributes===undefined?{}:{itemAttributes},size},{default:({value,id,index,placement})=>render(value,id,index,placement)})]}export function renderCollectionBootstrapItems(scope,prepared,items,count,width,itemAs,itemAttributes,render,itemRef){return[h(VirtualCollectionBootstrapProjectionRuntime,{scope,prepared,items,count,width,itemAs,...itemAttributes===undefined?{}:{itemAttributes},itemRef},{default:({value,id,index,placement})=>render(value,id,index,placement)})]}export function createVirtualCollectionExpose(root,initialState,phase){const emptyScrollport=shallowRef(null);const emptySurface=shallowRef(null);return shallowReactive({get scrollport(){return root.value?.scrollport??emptyScrollport},get surface(){return root.value?.surface??emptySurface},get state(){return root.value?.state??initialState},get plan(){return root.value?.plan??null},get phase(){return phase()},scrollToID:(id,alignment)=>root.value?.scrollTo(id,alignment)??virtualizerNotConnected(),refresh:()=>root.value?.refresh(),flush:()=>root.value?.flush()??virtualizerNotConnected()})}export function nearlyEqual(left,right){return Math.abs(left-right)<0.01}function itemSizing(size){return Object.freeze({width:size==='width'||size==='both',height:size==='height'||size==='both'})}
|
|
2
2
|
//# sourceMappingURL=virtual-collection.js.map
|
|
@@ -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","
|
|
1
|
+
{"version":3,"file":"virtual-collection.js","names":["defineComponent","h","onBeforeUnmount","shallowReactive","shallowRef","constrainVirtualCollectionDomain","createVirtualCollection","replaceVirtualCollection","virtualItemStyle","asHTMLElement","useVirtualizerSurfaceRegistration","virtualizerNotConnected","rootScrollportStyle","overflow","virtualCollectionRootStyle","scrollport","style","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","refs","Map","itemRef","id","existing","get","mounted","unregister","callback","value","element","delete","registerItem","set","values","clear","sizing","itemSizing","children","placement","index","length","domain","at","attributes","rendered","push","key","ref","visible","VirtualCollectionBootstrapProjectionRuntime","count","Number","width","bootstrapRef","Math","min","freeze","rect","x","y","height","renderHighLevelItems","render","empty","child","renderCollectionBootstrapItems","createVirtualCollectionExpose","root","initialState","phase","emptyScrollport","emptySurface","state","plan","scrollToID","alignment","scrollTo","refresh","flush","nearlyEqual","left","right","abs"],"sources":["../../src/virtual/virtual-collection.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -286,6 +286,7 @@ export declare const VirtualizerFooter: import("vue").DefineComponent<import("vu
|
|
|
286
286
|
default: () => VNodeChild;
|
|
287
287
|
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
288
288
|
export declare function useVirtualizerSurfaceRegistration(part: string): VirtualizerSurfaceRegistration;
|
|
289
|
+
export declare function asHTMLElement(value: unknown): HTMLElement | null;
|
|
289
290
|
export declare function virtualizerNotConnected<T>(): VirtualizerOperationResult<T>;
|
|
290
291
|
export type { VirtualInsets, VirtualLayoutPlan, VirtualLayoutStrategy, VirtualMeasurementResolver, VirtualPlacement, VirtualPoint, VirtualRect, VirtualScrollAlignment, VirtualizerConnection, VirtualizerEnvironment, };
|
|
291
292
|
export { createAxisMeasurementResolver, virtualItemStyle, virtualSurfaceStyle, };
|