@sectile/vue 0.18.3 → 0.20.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 +127 -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 +33 -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 +16 -7
- package/dist/input/native-range-field.js +1 -1
- package/dist/input/native-range-field.js.map +1 -1
- 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/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/number-field.d.ts +18 -1
- package/dist/number-field.js +1 -1
- package/dist/number-field.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 +50 -2
- package/dist/overlay/popup.js +1 -1
- package/dist/overlay/popup.js.map +1 -1
- package/dist/overlay/tooltip.d.ts +38 -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 +169 -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/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 +15 -111
- 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 +3 -1
- package/dist/temporal/date-picker.js.map +1 -1
- package/dist/temporal/date-range-field.d.ts +20 -0
- 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 +3 -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 +3 -1
- 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 +3 -1
- 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 +3 -1
- package/dist/temporal/month-picker.js.map +1 -1
- package/dist/temporal/month-range-picker.d.ts +3 -1
- package/dist/temporal/month-range-picker.js.map +1 -1
- package/dist/temporal/picker.d.ts +23 -1
- package/dist/temporal/picker.js +1 -1
- package/dist/temporal/picker.js.map +1 -1
- package/dist/temporal/range-calendar.d.ts +119 -2
- 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 +32 -1
- 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 +3 -1
- package/dist/temporal/year-picker.js.map +1 -1
- package/dist/temporal/year-range-picker.d.ts +3 -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 +2 -0
- package/dist/virtual/virtual-collection.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 +88 -17
package/dist/tree-grid.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ import { type PrimitiveAs } from './primitive.js';
|
|
|
4
4
|
import { type ConditionalPresenceProps } from './presence/conditional-presence.js';
|
|
5
5
|
export interface TreeGridRootProps {
|
|
6
6
|
readonly rows: readonly TreeGridRowInput<string, string>[];
|
|
7
|
+
/** Column labels rendered by TreeGridHeader; data row indexes remain one-based. */
|
|
8
|
+
readonly headers?: readonly string[];
|
|
7
9
|
readonly getCellValue: (id: string) => string;
|
|
8
10
|
readonly setCellValue: (id: string, value: string) => void;
|
|
9
11
|
readonly modelValue?: string | null;
|
|
@@ -44,6 +46,16 @@ export interface TreeGridPartProps {
|
|
|
44
46
|
readonly as?: PrimitiveAs;
|
|
45
47
|
readonly asChild?: boolean;
|
|
46
48
|
}
|
|
49
|
+
export interface TreeGridHeaderCellProps extends TreeGridPartProps {
|
|
50
|
+
readonly columnIndex: number;
|
|
51
|
+
}
|
|
52
|
+
export interface TreeGridHeaderCellSlotProps {
|
|
53
|
+
readonly columnIndex: number;
|
|
54
|
+
readonly label: string;
|
|
55
|
+
}
|
|
56
|
+
export interface TreeGridGroupProps extends TreeGridPartProps, ConditionalPresenceProps {
|
|
57
|
+
readonly for: string;
|
|
58
|
+
}
|
|
47
59
|
export interface TreeGridEditorProps extends ConditionalPresenceProps {
|
|
48
60
|
readonly for: string;
|
|
49
61
|
readonly label?: string;
|
|
@@ -53,6 +65,10 @@ export declare const TreeGridRoot: import("vue").DefineComponent<import("vue").E
|
|
|
53
65
|
type: PropType<readonly TreeGridRowInput<string, string>[]>;
|
|
54
66
|
required: true;
|
|
55
67
|
};
|
|
68
|
+
headers: {
|
|
69
|
+
type: PropType<readonly string[]>;
|
|
70
|
+
default: () => never[];
|
|
71
|
+
};
|
|
56
72
|
getCellValue: {
|
|
57
73
|
type: PropType<TreeGridCellValueResolver>;
|
|
58
74
|
required: true;
|
|
@@ -123,6 +139,10 @@ export declare const TreeGridRoot: import("vue").DefineComponent<import("vue").E
|
|
|
123
139
|
type: PropType<readonly TreeGridRowInput<string, string>[]>;
|
|
124
140
|
required: true;
|
|
125
141
|
};
|
|
142
|
+
headers: {
|
|
143
|
+
type: PropType<readonly string[]>;
|
|
144
|
+
default: () => never[];
|
|
145
|
+
};
|
|
126
146
|
getCellValue: {
|
|
127
147
|
type: PropType<TreeGridCellValueResolver>;
|
|
128
148
|
required: true;
|
|
@@ -189,6 +209,7 @@ export declare const TreeGridRoot: import("vue").DefineComponent<import("vue").E
|
|
|
189
209
|
"onUpdate:highlightedValue"?: (_value: string | null) => any;
|
|
190
210
|
"onUpdate:modelValue"?: (_value: string | null) => any;
|
|
191
211
|
}>, {
|
|
212
|
+
headers: readonly string[];
|
|
192
213
|
modelValue: string | null;
|
|
193
214
|
defaultValue: string | null;
|
|
194
215
|
expandedValue: readonly string[];
|
|
@@ -209,6 +230,65 @@ export type TreeGridValueChangeHandler = (value: string | null) => void;
|
|
|
209
230
|
export type TreeGridExpandedValueChangeHandler = (value: readonly string[]) => void;
|
|
210
231
|
export type TreeGridHighlightedValueChangeHandler = (value: string | null) => void;
|
|
211
232
|
export type TreeGridEditModeChangeHandler = (value: TreeGridEditMode) => void;
|
|
233
|
+
/** Authored alongside data rows; the root owns the count and data-index offset. */
|
|
234
|
+
export declare const TreeGridHeader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
235
|
+
as: {
|
|
236
|
+
type: PropType<PrimitiveAs>;
|
|
237
|
+
default: string;
|
|
238
|
+
};
|
|
239
|
+
asChild: {
|
|
240
|
+
type: BooleanConstructor;
|
|
241
|
+
default: boolean;
|
|
242
|
+
};
|
|
243
|
+
}>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
244
|
+
as: {
|
|
245
|
+
type: PropType<PrimitiveAs>;
|
|
246
|
+
default: string;
|
|
247
|
+
};
|
|
248
|
+
asChild: {
|
|
249
|
+
type: BooleanConstructor;
|
|
250
|
+
default: boolean;
|
|
251
|
+
};
|
|
252
|
+
}>> & Readonly<{}>, {
|
|
253
|
+
as: PrimitiveAs;
|
|
254
|
+
asChild: boolean;
|
|
255
|
+
}, SlotsType<{
|
|
256
|
+
default: (props: {
|
|
257
|
+
readonly headers: readonly string[];
|
|
258
|
+
}) => VNodeChild;
|
|
259
|
+
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
260
|
+
export declare const TreeGridHeaderCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
261
|
+
as: {
|
|
262
|
+
type: PropType<PrimitiveAs>;
|
|
263
|
+
default: string;
|
|
264
|
+
};
|
|
265
|
+
asChild: {
|
|
266
|
+
type: BooleanConstructor;
|
|
267
|
+
default: boolean;
|
|
268
|
+
};
|
|
269
|
+
columnIndex: {
|
|
270
|
+
type: NumberConstructor;
|
|
271
|
+
required: true;
|
|
272
|
+
};
|
|
273
|
+
}>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
274
|
+
as: {
|
|
275
|
+
type: PropType<PrimitiveAs>;
|
|
276
|
+
default: string;
|
|
277
|
+
};
|
|
278
|
+
asChild: {
|
|
279
|
+
type: BooleanConstructor;
|
|
280
|
+
default: boolean;
|
|
281
|
+
};
|
|
282
|
+
columnIndex: {
|
|
283
|
+
type: NumberConstructor;
|
|
284
|
+
required: true;
|
|
285
|
+
};
|
|
286
|
+
}>> & Readonly<{}>, {
|
|
287
|
+
as: PrimitiveAs;
|
|
288
|
+
asChild: boolean;
|
|
289
|
+
}, SlotsType<{
|
|
290
|
+
default: (props: TreeGridHeaderCellSlotProps) => VNodeChild;
|
|
291
|
+
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
212
292
|
export declare const TreeGridRow: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
213
293
|
as: {
|
|
214
294
|
type: PropType<PrimitiveAs>;
|
|
@@ -267,6 +347,48 @@ export declare const TreeGridRow: import("vue").DefineComponent<import("vue").Ex
|
|
|
267
347
|
}, SlotsType<{
|
|
268
348
|
default: (props: TreeGridRowSlotProps) => VNodeChild;
|
|
269
349
|
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
350
|
+
/** Rowgroup visibility borrows the root expansion owner and the shared Presence lifecycle. */
|
|
351
|
+
export declare const TreeGridGroup: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
352
|
+
forcePresent: {
|
|
353
|
+
readonly type: BooleanConstructor;
|
|
354
|
+
readonly default: false;
|
|
355
|
+
};
|
|
356
|
+
as: {
|
|
357
|
+
type: PropType<PrimitiveAs>;
|
|
358
|
+
default: string;
|
|
359
|
+
};
|
|
360
|
+
asChild: {
|
|
361
|
+
type: BooleanConstructor;
|
|
362
|
+
default: boolean;
|
|
363
|
+
};
|
|
364
|
+
for: {
|
|
365
|
+
type: StringConstructor;
|
|
366
|
+
required: true;
|
|
367
|
+
};
|
|
368
|
+
}>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
369
|
+
forcePresent: {
|
|
370
|
+
readonly type: BooleanConstructor;
|
|
371
|
+
readonly default: false;
|
|
372
|
+
};
|
|
373
|
+
as: {
|
|
374
|
+
type: PropType<PrimitiveAs>;
|
|
375
|
+
default: string;
|
|
376
|
+
};
|
|
377
|
+
asChild: {
|
|
378
|
+
type: BooleanConstructor;
|
|
379
|
+
default: boolean;
|
|
380
|
+
};
|
|
381
|
+
for: {
|
|
382
|
+
type: StringConstructor;
|
|
383
|
+
required: true;
|
|
384
|
+
};
|
|
385
|
+
}>> & Readonly<{}>, {
|
|
386
|
+
forcePresent: boolean;
|
|
387
|
+
as: PrimitiveAs;
|
|
388
|
+
asChild: boolean;
|
|
389
|
+
}, SlotsType<{
|
|
390
|
+
default: (props: TreeGridRootSlotProps) => VNodeChild;
|
|
391
|
+
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
270
392
|
export declare const TreeGridCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
271
393
|
as: {
|
|
272
394
|
type: PropType<PrimitiveAs>;
|
package/dist/tree-grid.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createTreeGrid}from"@sectile/dom/tree-grid";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("SectileTreeGridRoot");const partProps={as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}};const TreeGridRoot=defineComponent({name:"SectileTreeGridRoot",inheritAttrs:false,props:{rows:{type:Array,required:true},getCellValue:{type:Function,required:true},setCellValue:{type:Function,required:true},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:null},expandedValue:{type:Array,default:void 0},defaultExpandedValue:{type:Array,default:()=>[]},highlightedValue:{type:String,default:void 0},defaultHighlightedValue:{type:String,default:null},editMode:{type:String,default:void 0},defaultEditMode:{type:String,default:"navigation"},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},policies:{type:Object,default:void 0},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,"update:expandedValue":_value=>true,"update:highlightedValue":_value=>true,"update:editMode":_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.expandedValue!==void 0?props.expandedValue:props.defaultExpandedValue);const localHighlight=shallowRef(props.highlightedValue!==void 0?props.highlightedValue:props.defaultHighlightedValue);const localEditMode=shallowRef(props.editMode??props.defaultEditMode);const controlled={value:useControlledStateInvariant("TreeGridRoot","modelValue",()=>props.modelValue),expanded:useControlledStateInvariant("TreeGridRoot","expandedValue",()=>props.expandedValue),highlighted:useControlledStateInvariant("TreeGridRoot","highlightedValue",()=>props.highlightedValue),editMode:useControlledStateInvariant("TreeGridRoot","editMode",()=>props.editMode)};const state=computed(()=>Object.freeze({value:props.modelValue!==void 0?props.modelValue:localValue.value,expandedValue:props.expandedValue!==void 0?props.expandedValue:localExpanded.value,highlightedValue:props.highlightedValue!==void 0?props.highlightedValue:localHighlight.value,editMode:props.editMode??localEditMode.value,disabled:props.disabled,readonly:props.readonly}));const expandedRows=computed(()=>new Set(state.value.expandedValue));const refreshParts=()=>{if(element.value===void 0||connection.value===void 0)return;connection.value.setGridAttributes(props.rows.length,maxTreeGridColumnCount(props.rows));element.value.querySelectorAll("[data-sectile-tree-grid-row]").forEach(node=>connection.value?.setRowAttributes(node,{rowIndex:numberData(node.dataset["rowIndex"],1),level:numberData(node.dataset["level"],1),...node.dataset["expandable"]===void 0?{}:{expanded:node.dataset["expanded"]!==void 0}}));element.value.querySelectorAll("[data-sectile-tree-grid-cell]").forEach(node=>{const id=node.dataset["sectileTreeGridCell"];if(id!==void 0)connection.value?.setCellAttributes(node,{id,columnIndex:numberData(node.dataset["columnIndex"],1)})});element.value.querySelectorAll("[data-sectile-tree-grid-disclosure]").forEach(node=>{const id=node.dataset["sectileTreeGridDisclosure"];if(id!==void 0)connection.value?.setDisclosureAttributes(node,id)});element.value.querySelectorAll("[data-sectile-tree-grid-editor]").forEach(node=>{const id=node.dataset["sectileTreeGridEditor"];if(id!==void 0)connection.value?.bindEditor(node,{id,...node.getAttribute("aria-label")===null?{}:{label:node.getAttribute("aria-label")}})})};const refresh=()=>{const snapshot=connection.value?.getSnapshot().state;if(snapshot===void 0)return;localValue.value=snapshot.selection.selected[0]??null;localExpanded.value=snapshot.expansion.ids;localHighlight.value=snapshot.cursor.current;localEditMode.value=snapshot.editMode;refreshParts()};const connect=()=>{const nextOwner=snapshotTreeGridConnectionOwner(props);if(connection.value!==void 0&&connectionOwner!==void 0&&sameTreeGridConnectionOwner(connectionOwner,nextOwner))return;connection.value?.disconnect();if(element.value===void 0)return;const cells=nextOwner.rows.flatMap(row=>row.cells.filter(id=>id!==null));const branches=collectionBranchIDs(nextOwner.rows);const requestedValue=controlled.value?props.modelValue:localValue.value;const requestedExpanded=controlled.expanded?props.expandedValue:localExpanded.value;const requestedHighlight=controlled.highlighted?props.highlightedValue:localHighlight.value;const reconciled=reconcileCollectionState(cells,requestedValue===null?[]:[requestedValue],requestedHighlight,[],"single",{preserveNullCurrent:true});const expanded=reconcileCollectionState(branches,requestedExpanded,null,[],"multiple",{preserveNullCurrent:true}).selected;const value=reconciled.selected[0]??null;const requestedEditMode=controlled.editMode?props.editMode:localEditMode.value;const editMode=reconciled.current===null&&requestedEditMode==="editing"?"navigation":requestedEditMode;localValue.value=value;localExpanded.value=expanded;localHighlight.value=reconciled.current;localEditMode.value=editMode;if(controlled.value&&requestedValue!==value)emit("update:modelValue",value);if(controlled.expanded&&!sameIDs(requestedExpanded,expanded))emit("update:expandedValue",expanded);if(controlled.highlighted&&requestedHighlight!==reconciled.current)emit("update:highlightedValue",reconciled.current);if(controlled.editMode&&props.editMode!==editMode)emit("update:editMode",editMode);connection.value=createTreeGrid({root:element.value,rows:nextOwner.rows,getCellValue:id=>props.getCellValue(id),setCellValue:(id,value2)=>props.setCellValue(id,value2),...controlled.value?{value}:{defaultValue:value},...controlled.expanded?{expandedValue:expanded}:{defaultExpandedValue:expanded},...controlled.highlighted?{highlightedValue:reconciled.current}:{defaultHighlightedValue:reconciled.current},...controlled.editMode?{editMode}:{defaultEditMode:editMode},disabled:nextOwner.disabled,readOnly:nextOwner.readonly,...props.policies===void 0?{}:{policies:props.policies},onValueChange:({value:value2})=>{localValue.value=value2;emit("update:modelValue",value2)},onExpandedValueChange:({value:value2})=>{localExpanded.value=value2;emit("update:expandedValue",value2)},onHighlightedValueChange:({value:value2})=>{localHighlight.value=value2;emit("update:highlightedValue",value2)},onEditModeChange:({value:value2})=>{localEditMode.value=value2;emit("update:editMode",value2)},onUpdate:refresh});connectionOwner=nextOwner;refreshParts();refresh()};let mounted=false;let editorFocused=false;let editorComposing=false;let reconnectPending=false;let reconnectTimer=null;const editorActive=()=>editorFocused||editorComposing;const requestConnect=()=>{if(editorActive()){reconnectPending=true;return}connect()};const schedulePendingConnect=()=>{if(editorActive()||!reconnectPending||reconnectTimer!==null)return;reconnectTimer=setTimeout(()=>{reconnectTimer=null;if(!mounted||editorActive())return;reconnectPending=false;connect()},0)};const setEditorFocused=focused=>{editorFocused=focused;schedulePendingConnect()};const setEditorComposing=composing=>{editorComposing=composing;schedulePendingConnect()};provide(key,{state,expandedRows,registerRow:(node,rowIndex,level,expanded)=>connection.value?.setRowAttributes(node,{rowIndex,level,...expanded===void 0?{}:{expanded}}),registerCell:(node,id,columnIndex)=>connection.value?.setCellAttributes(node,{id,columnIndex}),registerDisclosure:(node,id)=>connection.value?.setDisclosureAttributes(node,id),registerEditor:(node,id,label)=>connection.value?.bindEditor(node,{id,...label===void 0?{}:{label}}),setEditorFocused,setEditorComposing,handleEditorKeydown:event=>{if(connection.value?.handleKeyboardEvent(event)!==true)return;event.preventDefault();event.stopPropagation()}});onMounted(()=>{mounted=true;connect()});onBeforeUnmount(()=>{mounted=false;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;editorFocused=false;editorComposing=false;connection.value?.disconnect()});watch([()=>props.rows,()=>props.getCellValue,()=>props.setCellValue,()=>props.disabled,()=>props.readonly,()=>props.policies],requestConnect);watch([()=>props.modelValue,()=>props.expandedValue,()=>props.highlightedValue,()=>props.editMode],()=>{if(connection.value===void 0)return;const result=connection.value.syncControlledValues({...controlled.value?{value:props.modelValue}:{},...controlled.expanded?{expandedValue:props.expandedValue}:{},...controlled.highlighted?{highlightedValue:props.highlightedValue}:{},...controlled.editMode?{editMode:props.editMode}:{}});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-grid","data-part":"root","data-edit-mode":state.value.editMode}),{default:()=>slots["default"]?.(state.value)})}});const TreeGridRow=defineComponent({name:"SectileTreeGridRow",inheritAttrs:false,props:{value:{type:String,required:true},rowIndex:{type:Number,required:true},level:{type:Number,default:1},expandable:{type:Boolean,default:false},...partProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("TreeGridRow");const state=computed(()=>({...root.state.value,value:props.value,expanded:root.expandedRows.value.has(props.value)}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{if(node instanceof HTMLElement)root.registerRow(node,props.rowIndex,props.level,props.expandable?state.value.expanded:void 0)},"data-sectile-tree-grid-row":props.value,"data-row-index":props.rowIndex,"data-level":props.level,"data-expandable":props.expandable?"":void 0,"data-expanded":props.expandable&&state.value.expanded?"":void 0,"data-scope":"tree-grid","data-part":"row"}),{default:()=>slots["default"]?.(state.value)})}});const TreeGridCell=defineComponent({name:"SectileTreeGridCell",inheritAttrs:false,props:{value:{type:String,required:true},columnIndex:{type:Number,required:true},...partProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("TreeGridCell");const state=computed(()=>({...root.state.value,value:props.value,selected:root.state.value.value===props.value,highlighted:root.state.value.highlightedValue===props.value,editing:root.state.value.highlightedValue===props.value&&root.state.value.editMode==="editing"}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{if(node instanceof HTMLElement)root.registerCell(node,props.value,props.columnIndex)},"data-sectile-tree-grid-cell":props.value,"data-column-index":props.columnIndex,"data-scope":"tree-grid","data-part":"cell","data-selected":state.value.selected?"":void 0,"data-highlighted":state.value.highlighted?"":void 0,"data-editing":state.value.editing?"":void 0}),{default:()=>slots["default"]?.(state.value)})}});const TreeGridDisclosure=defineComponent({name:"SectileTreeGridDisclosure",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("TreeGridDisclosure");const state=computed(()=>({...root.state.value,value:props.for,expanded:root.expandedRows.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"?root.state.value.disabled:void 0,elementRef:node=>{if(node instanceof HTMLElement)root.registerDisclosure(node,props.for)},"data-sectile-tree-grid-disclosure":props.for,"data-scope":"tree-grid","data-part":"disclosure","data-state":state.value.expanded?"open":"closed"}),{default:()=>slots["default"]?.(state.value)})}});const TreeGridEditor=defineComponent({name:"SectileTreeGridEditor",inheritAttrs:false,props:{for:{type:String,required:true},label:{type:String,default:void 0},...conditionalPresenceProps},setup(props,{attrs}){const root=useRoot("TreeGridEditor");const editing=computed(()=>root.state.value.highlightedValue===props.for&&root.state.value.editMode==="editing");const forcePresent=computed(()=>props.forcePresent);const presence=useConditionalPresence(editing,forcePresent);return()=>{const inactivePresent=!editing.value&&presence.present.value;return h("input",mergeProps(attrs,{ref:node=>{const element=presence.register(node);if(element?.tagName==="INPUT")root.registerEditor(element,props.for,props.label)},hidden:presence.hidden.value,tabindex:inactivePresent?-1:void 0,onKeydown:root.handleEditorKeydown,onFocus:()=>root.setEditorFocused(true),onBlur:()=>root.setEditorFocused(false),onCompositionstart:()=>root.setEditorComposing(true),onCompositionend:()=>root.setEditorComposing(false),...inactivePresent?{inert:true,"aria-hidden":"true"}:{},disabled:root.state.value.disabled,readonly:root.state.value.readonly,"aria-label":props.label,"data-sectile-tree-grid-editor":props.for,"data-scope":"tree-grid","data-part":"editor","data-state":editing.value?"editing":"idle"}))}}});function numberData(value,fallback){const parsed=Number(value);return Number.isFinite(parsed)?parsed:fallback}function maxTreeGridColumnCount(rows){let maximum=0;for(const row of rows)maximum=Math.max(maximum,row.cells.length);return maximum}function useRoot(part){const root=inject(key);if(root===void 0)throw new TypeError(`${part} must be used inside TreeGridRoot.`);return root}function snapshotTreeGridConnectionOwner(props){return Object.freeze({rows:Object.freeze(props.rows.map(row=>Object.freeze({id:row.id,parentID:row.parentID,cells:Object.freeze([...row.cells])}))),disabled:props.disabled,readonly:props.readonly,eligible:props.policies?.eligible,boundary:props.policies?.boundary,maxScan:props.policies?.maxScan})}function sameTreeGridConnectionOwner(left,right){if(left.rows.length!==right.rows.length||left.disabled!==right.disabled||left.readonly!==right.readonly||left.eligible!==right.eligible||left.boundary!==right.boundary||left.maxScan!==right.maxScan)return false;for(let rowIndex=0;rowIndex<left.rows.length;rowIndex+=1){const leftRow=left.rows[rowIndex];const rightRow=right.rows[rowIndex];if(leftRow.id!==rightRow.id||leftRow.parentID!==rightRow.parentID||leftRow.cells.length!==rightRow.cells.length)return false;for(let column=0;column<leftRow.cells.length;column+=1){if(leftRow.cells[column]!==rightRow.cells[column])return false}}return true}export{TreeGridCell,TreeGridDisclosure,TreeGridEditor,TreeGridRoot,TreeGridRow};
|
|
1
|
+
import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createTreeGrid}from"@sectile/dom/tree-grid";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("SectileTreeGridRoot");const partProps={as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}};const TreeGridRoot=defineComponent({name:"SectileTreeGridRoot",inheritAttrs:false,props:{rows:{type:Array,required:true},headers:{type:Array,default:()=>[]},getCellValue:{type:Function,required:true},setCellValue:{type:Function,required:true},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:null},expandedValue:{type:Array,default:void 0},defaultExpandedValue:{type:Array,default:()=>[]},highlightedValue:{type:String,default:void 0},defaultHighlightedValue:{type:String,default:null},editMode:{type:String,default:void 0},defaultEditMode:{type:String,default:"navigation"},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},policies:{type:Object,default:void 0},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,"update:expandedValue":_value=>true,"update:highlightedValue":_value=>true,"update:editMode":_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const dataColumnCount=computed(()=>maxTreeGridColumnCount(props.rows));const headers=computed(()=>props.headers);const headerCount=computed(()=>headers.value.length===0?0:1);const columnCount=computed(()=>{if(headerCount.value&&headers.value.length<dataColumnCount.value){throw new TypeError("TreeGrid headers must label every data column.")}return Math.max(dataColumnCount.value,headers.value.length)});const element=shallowRef();const connection=shallowRef();let connectionOwner;const localValue=shallowRef(props.modelValue!==void 0?props.modelValue:props.defaultValue);const localExpanded=shallowRef(props.expandedValue!==void 0?props.expandedValue:props.defaultExpandedValue);const localHighlight=shallowRef(props.highlightedValue!==void 0?props.highlightedValue:props.defaultHighlightedValue);const localEditMode=shallowRef(props.editMode??props.defaultEditMode);const controlled={value:useControlledStateInvariant("TreeGridRoot","modelValue",()=>props.modelValue),expanded:useControlledStateInvariant("TreeGridRoot","expandedValue",()=>props.expandedValue),highlighted:useControlledStateInvariant("TreeGridRoot","highlightedValue",()=>props.highlightedValue),editMode:useControlledStateInvariant("TreeGridRoot","editMode",()=>props.editMode)};const state=computed(()=>Object.freeze({value:props.modelValue!==void 0?props.modelValue:localValue.value,expandedValue:props.expandedValue!==void 0?props.expandedValue:localExpanded.value,highlightedValue:props.highlightedValue!==void 0?props.highlightedValue:localHighlight.value,editMode:props.editMode??localEditMode.value,disabled:props.disabled,readonly:props.readonly}));const expandedRows=computed(()=>new Set(state.value.expandedValue));const refreshParts=()=>{if(element.value===void 0||connection.value===void 0)return;connection.value.setGridAttributes(props.rows.length+headerCount.value,columnCount.value);element.value.querySelectorAll("[data-sectile-tree-grid-row]").forEach(node=>connection.value?.setRowAttributes(node,{rowIndex:numberData(node.dataset["rowIndex"],1)+headerCount.value,level:numberData(node.dataset["level"],1),...node.dataset["expandable"]===void 0?{}:{expanded:node.dataset["expanded"]!==void 0}}));element.value.querySelectorAll("[data-sectile-tree-grid-cell]").forEach(node=>{const id=node.dataset["sectileTreeGridCell"];if(id!==void 0)connection.value?.setCellAttributes(node,{id,columnIndex:numberData(node.dataset["columnIndex"],1)})});element.value.querySelectorAll("[data-sectile-tree-grid-disclosure]").forEach(node=>{const id=node.dataset["sectileTreeGridDisclosure"];if(id!==void 0)connection.value?.setDisclosureAttributes(node,id)});element.value.querySelectorAll("[data-sectile-tree-grid-editor]").forEach(node=>{const id=node.dataset["sectileTreeGridEditor"];if(id!==void 0)connection.value?.bindEditor(node,{id,...node.getAttribute("aria-label")===null?{}:{label:node.getAttribute("aria-label")}})})};const refresh=()=>{const snapshot=connection.value?.getSnapshot().state;if(snapshot===void 0)return;localValue.value=snapshot.selection.selected[0]??null;localExpanded.value=snapshot.expansion.ids;localHighlight.value=snapshot.cursor.current;localEditMode.value=snapshot.editMode;refreshParts()};const connect=()=>{const nextOwner=snapshotTreeGridConnectionOwner(props);if(connection.value!==void 0&&connectionOwner!==void 0&&sameTreeGridConnectionOwner(connectionOwner,nextOwner))return;connection.value?.disconnect();if(element.value===void 0)return;const cells=nextOwner.rows.flatMap(row=>row.cells.filter(id=>id!==null));const branches=collectionBranchIDs(nextOwner.rows);const requestedValue=controlled.value?props.modelValue:localValue.value;const requestedExpanded=controlled.expanded?props.expandedValue:localExpanded.value;const requestedHighlight=controlled.highlighted?props.highlightedValue:localHighlight.value;const reconciled=reconcileCollectionState(cells,requestedValue===null?[]:[requestedValue],requestedHighlight,[],"single",{preserveNullCurrent:true});const expanded=reconcileCollectionState(branches,requestedExpanded,null,[],"multiple",{preserveNullCurrent:true}).selected;const value=reconciled.selected[0]??null;const requestedEditMode=controlled.editMode?props.editMode:localEditMode.value;const editMode=reconciled.current===null&&requestedEditMode==="editing"?"navigation":requestedEditMode;localValue.value=value;localExpanded.value=expanded;localHighlight.value=reconciled.current;localEditMode.value=editMode;if(controlled.value&&requestedValue!==value)emit("update:modelValue",value);if(controlled.expanded&&!sameIDs(requestedExpanded,expanded))emit("update:expandedValue",expanded);if(controlled.highlighted&&requestedHighlight!==reconciled.current)emit("update:highlightedValue",reconciled.current);if(controlled.editMode&&props.editMode!==editMode)emit("update:editMode",editMode);connection.value=createTreeGrid({root:element.value,rows:nextOwner.rows,getCellValue:id=>props.getCellValue(id),setCellValue:(id,value2)=>props.setCellValue(id,value2),...controlled.value?{value}:{defaultValue:value},...controlled.expanded?{expandedValue:expanded}:{defaultExpandedValue:expanded},...controlled.highlighted?{highlightedValue:reconciled.current}:{defaultHighlightedValue:reconciled.current},...controlled.editMode?{editMode}:{defaultEditMode:editMode},disabled:nextOwner.disabled,readOnly:nextOwner.readonly,...props.policies===void 0?{}:{policies:props.policies},onValueChange:({value:value2})=>{localValue.value=value2;emit("update:modelValue",value2)},onExpandedValueChange:({value:value2})=>{localExpanded.value=value2;emit("update:expandedValue",value2)},onHighlightedValueChange:({value:value2})=>{localHighlight.value=value2;emit("update:highlightedValue",value2)},onEditModeChange:({value:value2})=>{localEditMode.value=value2;emit("update:editMode",value2)},onUpdate:refresh});connectionOwner=nextOwner;refreshParts();refresh()};let mounted=false;let editorFocused;let editorComposing;let reconnectPending=false;let reconnectTimer=null;const editorActive=()=>editorFocused!==void 0||editorComposing!==void 0;const requestConnect=()=>{if(editorActive()){reconnectPending=true;return}connect()};const schedulePendingConnect=()=>{if(editorActive()||!reconnectPending||reconnectTimer!==null)return;reconnectTimer=setTimeout(()=>{reconnectTimer=null;if(!mounted||editorActive())return;reconnectPending=false;connect()},0)};const setEditorFocused=(node,focused)=>{if(focused)editorFocused=node;else if(editorFocused===node)editorFocused=void 0;schedulePendingConnect()};const setEditorComposing=(node,composing)=>{if(composing)editorComposing=node;else if(editorComposing===node)editorComposing=void 0;schedulePendingConnect()};provide(key,{state,expandedRows,headers,headerCount,registerRow:(node,rowIndex,level,expanded)=>connection.value?.setRowAttributes(node,{rowIndex:rowIndex+headerCount.value,level,...expanded===void 0?{}:{expanded}}),registerCell:(node,id,columnIndex)=>connection.value?.setCellAttributes(node,{id,columnIndex}),registerDisclosure:(node,id)=>connection.value?.setDisclosureAttributes(node,id),registerEditor:(node,id,label)=>connection.value?.bindEditor(node,{id,...label===void 0?{}:{label}}),unregisterEditor:node=>{connection.value?.unbindEditor(node);setEditorFocused(node,false);setEditorComposing(node,false)},setEditorFocused,setEditorComposing,handleEditorKeydown:event=>{if(connection.value?.handleKeyboardEvent(event)!==true)return;event.preventDefault();event.stopPropagation()}});onMounted(()=>{mounted=true;connect()});onBeforeUnmount(()=>{mounted=false;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;editorFocused=void 0;editorComposing=void 0;connection.value?.disconnect()});watch([()=>props.rows,()=>props.getCellValue,()=>props.setCellValue,()=>props.disabled,()=>props.readonly,()=>props.policies],requestConnect);watch(headers,refreshParts,{flush:"post"});watch([()=>props.modelValue,()=>props.expandedValue,()=>props.highlightedValue,()=>props.editMode],()=>{if(connection.value===void 0)return;const result=connection.value.syncControlledValues({...controlled.value?{value:props.modelValue}:{},...controlled.expanded?{expandedValue:props.expandedValue}:{},...controlled.highlighted?{highlightedValue:props.highlightedValue}:{},...controlled.editMode?{editMode:props.editMode}:{}});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},role:"treegrid","aria-rowcount":props.rows.length+headerCount.value,"aria-colcount":columnCount.value,"data-column-count":columnCount.value,"data-scope":"tree-grid","data-part":"root","data-edit-mode":state.value.editMode}),{default:()=>slots["default"]?.(state.value)})}});const TreeGridHeader=defineComponent({name:"SectileTreeGridHeader",inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const root=useRoot("TreeGridHeader");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,role:"row","aria-rowindex":1,hidden:root.headerCount.value===0,"data-scope":"tree-grid","data-part":"header"}),{default:()=>slots["default"]?.({headers:root.headers.value})??root.headers.value.map((_label,index)=>h(TreeGridHeaderCell,{key:index,columnIndex:index+1}))})}});const TreeGridHeaderCell=defineComponent({name:"SectileTreeGridHeaderCell",inheritAttrs:false,props:{columnIndex:{type:Number,required:true},...partProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("TreeGridHeaderCell");return()=>{const label=root.headers.value[props.columnIndex-1]??"";return h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,role:"columnheader","aria-colindex":props.columnIndex,"data-scope":"tree-grid","data-part":"headerCell"}),{default:()=>slots["default"]?.({columnIndex:props.columnIndex,label})??label})}}});const TreeGridRow=defineComponent({name:"SectileTreeGridRow",inheritAttrs:false,props:{value:{type:String,required:true},rowIndex:{type:Number,required:true},level:{type:Number,default:1},expandable:{type:Boolean,default:false},...partProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("TreeGridRow");const state=computed(()=>({...root.state.value,value:props.value,expanded:root.expandedRows.value.has(props.value)}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{if(node instanceof HTMLElement)root.registerRow(node,props.rowIndex,props.level,props.expandable?state.value.expanded:void 0)},role:"row","aria-rowindex":props.rowIndex+root.headerCount.value,"aria-level":props.level,"aria-expanded":props.expandable?state.value.expanded:void 0,"data-sectile-tree-grid-row":props.value,"data-row-index":props.rowIndex,"data-level":props.level,"data-expandable":props.expandable?"":void 0,"data-expanded":props.expandable&&state.value.expanded?"":void 0,"data-scope":"tree-grid","data-part":"row"}),{default:()=>slots["default"]?.(state.value)})}});const TreeGridGroup=defineComponent({name:"SectileTreeGridGroup",inheritAttrs:false,props:{for:{type:String,required:true},...partProps,...conditionalPresenceProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("TreeGridGroup"),expanded=computed(()=>root.expandedRows.value.has(props.for));const presence=useConditionalPresence(expanded,computed(()=>props.forcePresent));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:presence.register,role:"rowgroup",hidden:presence.hidden.value,...!expanded.value&&presence.present.value?{inert:true,"aria-hidden":"true"}:{},"data-scope":"tree-grid","data-part":"group","data-state":expanded.value?"open":"closed"}),{default:()=>slots["default"]?.(root.state.value)})}});const TreeGridCell=defineComponent({name:"SectileTreeGridCell",inheritAttrs:false,props:{value:{type:String,required:true},columnIndex:{type:Number,required:true},...partProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("TreeGridCell");const state=computed(()=>({...root.state.value,value:props.value,selected:root.state.value.value===props.value,highlighted:root.state.value.highlightedValue===props.value,editing:root.state.value.highlightedValue===props.value&&root.state.value.editMode==="editing"}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{if(node instanceof HTMLElement)root.registerCell(node,props.value,props.columnIndex)},role:"gridcell","aria-colindex":props.columnIndex,"aria-selected":state.value.selected,"data-sectile-tree-grid-cell":props.value,"data-column-index":props.columnIndex,"data-scope":"tree-grid","data-part":"cell","data-selected":state.value.selected?"":void 0,"data-highlighted":state.value.highlighted?"":void 0,"data-editing":state.value.editing?"":void 0}),{default:()=>slots["default"]?.(state.value)})}});const TreeGridDisclosure=defineComponent({name:"SectileTreeGridDisclosure",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("TreeGridDisclosure");const state=computed(()=>({...root.state.value,value:props.for,expanded:root.expandedRows.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"?root.state.value.disabled:void 0,elementRef:node=>{if(node instanceof HTMLElement)root.registerDisclosure(node,props.for)},"data-sectile-tree-grid-disclosure":props.for,"data-scope":"tree-grid","data-part":"disclosure","data-state":state.value.expanded?"open":"closed"}),{default:()=>slots["default"]?.(state.value)})}});const TreeGridEditor=defineComponent({name:"SectileTreeGridEditor",inheritAttrs:false,props:{for:{type:String,required:true},label:{type:String,default:void 0},...conditionalPresenceProps},setup(props,{attrs}){const root=useRoot("TreeGridEditor");const editing=computed(()=>root.state.value.highlightedValue===props.for&&root.state.value.editMode==="editing");const forcePresent=computed(()=>props.forcePresent);const presence=useConditionalPresence(editing,forcePresent);let registeredInput;const register=node=>{const element=presence.register(node);const input=element?.tagName==="INPUT"?element:void 0;if(registeredInput!==void 0&®isteredInput!==input)root.unregisterEditor(registeredInput);registeredInput=input;if(input!==void 0)root.registerEditor(input,props.for,props.label)};const setFocused=focused=>{if(registeredInput!==void 0)root.setEditorFocused(registeredInput,focused)};const setComposing=composing=>{if(registeredInput!==void 0)root.setEditorComposing(registeredInput,composing)};onBeforeUnmount(()=>{if(registeredInput!==void 0)root.unregisterEditor(registeredInput);registeredInput=void 0});return()=>{const inactivePresent=!editing.value&&presence.present.value;return h("input",mergeProps(attrs,{ref:register,hidden:presence.hidden.value,tabindex:inactivePresent?-1:void 0,onKeydown:root.handleEditorKeydown,onFocus:()=>setFocused(true),onBlur:()=>setFocused(false),onCompositionstart:()=>setComposing(true),onCompositionend:()=>setComposing(false),...inactivePresent?{inert:true,"aria-hidden":"true"}:{},disabled:root.state.value.disabled,readonly:root.state.value.readonly,"aria-label":props.label,"data-sectile-tree-grid-editor":props.for,"data-scope":"tree-grid","data-part":"editor","data-state":editing.value?"editing":"idle"}))}}});function numberData(value,fallback){const parsed=Number(value);return Number.isFinite(parsed)?parsed:fallback}function maxTreeGridColumnCount(rows){let maximum=0;for(const row of rows)maximum=Math.max(maximum,row.cells.length);return maximum}function useRoot(part){const root=inject(key);if(root===void 0)throw new TypeError(`${part} must be used inside TreeGridRoot.`);return root}function snapshotTreeGridConnectionOwner(props){return Object.freeze({rows:Object.freeze(props.rows.map(row=>Object.freeze({id:row.id,parentID:row.parentID,cells:Object.freeze([...row.cells])}))),disabled:props.disabled,readonly:props.readonly,eligible:props.policies?.eligible,boundary:props.policies?.boundary,maxScan:props.policies?.maxScan})}function sameTreeGridConnectionOwner(left,right){if(left.rows.length!==right.rows.length||left.disabled!==right.disabled||left.readonly!==right.readonly||left.eligible!==right.eligible||left.boundary!==right.boundary||left.maxScan!==right.maxScan)return false;for(let rowIndex=0;rowIndex<left.rows.length;rowIndex+=1){const leftRow=left.rows[rowIndex];const rightRow=right.rows[rowIndex];if(leftRow.id!==rightRow.id||leftRow.parentID!==rightRow.parentID||leftRow.cells.length!==rightRow.cells.length)return false;for(let column=0;column<leftRow.cells.length;column+=1){if(leftRow.cells[column]!==rightRow.cells[column])return false}}return true}export{TreeGridCell,TreeGridDisclosure,TreeGridEditor,TreeGridGroup,TreeGridHeader,TreeGridHeaderCell,TreeGridRoot,TreeGridRow};
|
|
2
2
|
//# sourceMappingURL=tree-grid.js.map
|
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,ssrContextKey,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;let inputComposing=false,buildPending=false,attachPending=false;let compositionTimer;const compositionRevision=shallowRef(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=()=>{if(inputComposing){attachPending=true;return}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;if(inputComposing&&!reset){buildPending=true;return}buildPending=false;attachPending=false;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,setInputComposing:composing=>{if(!alive)return;inputComposing=composing;if(composing||!buildPending&&!attachPending||compositionTimer!==undefined)return;compositionTimer=setTimeout(()=>{compositionTimer=undefined;if(!alive||inputComposing)return;if(buildPending)compositionRevision.value++;else if(attachPending){attachPending=false;scheduleAttach()}},0)},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();if(compositionTimer!==undefined)clearTimeout(compositionTimer);compositionTimer=undefined;buildPending=false;attachPending=false;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,compositionRevision],()=>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'),server=inject(ssrContextKey,undefined)!==undefined,element=shallowRef();watch(element,()=>root.setInputComposing(false));onBeforeUnmount(()=>root.setInputComposing(false));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',...server?{value:root.state.value.query}:{},onCompositionstart:()=>root.setInputComposing(true),onCompositionend:()=>root.setInputComposing(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","ssrContextKey","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","inputComposing","buildPending","attachPending","compositionTimer","compositionRevision","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","setInputComposing","composing","setTimeout","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","clearTimeout","clear","syncInteraction","prepareModelUpdate","supplied","result","syncControlledValues","error","code","_stale","controls","flush","sourceIDs","encoding","ref","HTMLSelectElement","multiple","tabindex","style","size","map","participating","TreeSelectRoot","TreeSelectInput","server","elementRef","onCompositionstart","onCompositionend","role","getAttribute","TreeSelectContent","present","hidden","inert","visibility","TreeSelectItem","TreeSelectGroup","TreeSelectDisclosure"],"sources":["../src/tree-select.ts"],"mappings":"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","ignoreList":[]}
|