@sectile/vue 0.7.0 → 0.8.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 +4 -2
- package/dist/accordion.d.ts +0 -1
- package/dist/alert-dialog.d.ts +0 -2
- package/dist/alert-dialog.js.map +1 -1
- package/dist/calendar.d.ts +2 -3
- package/dist/calendar.js +14 -14
- package/dist/calendar.js.map +1 -1
- package/dist/carousel.d.ts +22 -1
- package/dist/carousel.js +7 -1
- package/dist/carousel.js.map +1 -1
- package/dist/cascade-list.d.ts +339 -0
- package/dist/cascade-list.js +240 -0
- package/dist/cascade-list.js.map +1 -0
- package/dist/cascade-select.d.ts +11 -42
- package/dist/cascade-select.js +19 -27
- package/dist/cascade-select.js.map +1 -1
- package/dist/checkbox-group.d.ts +9 -1
- package/dist/checkbox-group.js +57 -13
- package/dist/checkbox-group.js.map +1 -1
- package/dist/checkbox.d.ts +0 -1
- package/dist/checkbox.js +15 -8
- package/dist/checkbox.js.map +1 -1
- package/dist/color-picker.d.ts +0 -1
- package/dist/combobox.d.ts +0 -1
- package/dist/combobox.js +46 -6
- package/dist/combobox.js.map +1 -1
- package/dist/data-grid.d.ts +214 -0
- package/dist/data-grid.js +107 -0
- package/dist/data-grid.js.map +1 -0
- package/dist/data-table.d.ts +232 -0
- package/dist/data-table.js +116 -0
- package/dist/data-table.js.map +1 -0
- package/dist/data-tree-grid.d.ts +225 -0
- package/dist/data-tree-grid.js +98 -0
- package/dist/data-tree-grid.js.map +1 -0
- package/dist/date-field.d.ts +1 -2
- package/dist/date-field.js +1 -1
- package/dist/date-field.js.map +1 -1
- package/dist/date-picker.d.ts +37 -6
- package/dist/date-picker.js +3 -1
- package/dist/date-picker.js.map +1 -1
- package/dist/date-range-field.d.ts +2 -3
- package/dist/date-range-field.js +24 -6
- package/dist/date-range-field.js.map +1 -1
- package/dist/date-range-picker.d.ts +37 -6
- package/dist/date-range-picker.js +3 -1
- package/dist/date-range-picker.js.map +1 -1
- package/dist/date-time-field.d.ts +1 -2
- package/dist/date-time-field.js +1 -1
- package/dist/date-time-field.js.map +1 -1
- package/dist/date-time-picker.d.ts +38 -7
- package/dist/date-time-picker.js +3 -1
- package/dist/date-time-picker.js.map +1 -1
- package/dist/date-time-range-picker.d.ts +38 -7
- package/dist/date-time-range-picker.js +3 -1
- package/dist/date-time-range-picker.js.map +1 -1
- package/dist/dialog.d.ts +0 -2
- package/dist/dialog.js.map +1 -1
- package/dist/disclosure.d.ts +0 -1
- package/dist/drawer.d.ts +1 -2
- package/dist/editable.d.ts +0 -1
- package/dist/editable.js +25 -6
- package/dist/editable.js.map +1 -1
- package/dist/feed.d.ts +0 -1
- package/dist/form.d.ts +88 -115
- package/dist/form.js +461 -233
- package/dist/form.js.map +1 -1
- package/dist/grid.d.ts +0 -1
- package/dist/grid.js +51 -6
- package/dist/grid.js.map +1 -1
- package/dist/host-provider.d.ts +0 -13
- package/dist/host-provider.js +0 -16
- package/dist/host-provider.js.map +1 -1
- package/dist/index.d.ts +14 -39
- package/dist/index.js +6 -19
- package/dist/index.js.map +1 -1
- package/dist/internal/cascade-choice.d.ts +204 -0
- package/dist/internal/cascade-choice.js +161 -0
- package/dist/internal/cascade-choice.js.map +1 -0
- package/dist/internal/collection.d.ts +3 -8
- package/dist/internal/collection.js +14 -20
- package/dist/internal/collection.js.map +1 -1
- package/dist/internal/controlled-state.d.ts +0 -1
- package/dist/internal/date-picker.d.ts +78 -9
- package/dist/internal/date-picker.js +116 -27
- package/dist/internal/date-picker.js.map +1 -1
- package/dist/internal/decimal-input.d.ts +1 -0
- package/dist/internal/decimal-input.js +24 -0
- package/dist/internal/decimal-input.js.map +1 -0
- package/dist/internal/form-control-inventory.d.ts +4 -1
- package/dist/internal/form-control-inventory.js +1 -0
- package/dist/internal/form-control-inventory.js.map +1 -1
- package/dist/internal/form-control.d.ts +100 -2
- package/dist/internal/form-control.js +103 -1
- package/dist/internal/form-control.js.map +1 -1
- package/dist/internal/native-field.d.ts +0 -1
- package/dist/internal/native-field.js +11 -2
- package/dist/internal/native-field.js.map +1 -1
- package/dist/internal/native-input.d.ts +0 -1
- package/dist/internal/part-contract.d.ts +0 -1
- package/dist/internal/popup.d.ts +5 -27
- package/dist/internal/popup.js +14 -20
- package/dist/internal/popup.js.map +1 -1
- package/dist/internal/presence.d.ts +0 -1
- package/dist/internal/scheduled-task.d.ts +5 -0
- package/dist/internal/scheduled-task.js +28 -0
- package/dist/internal/scheduled-task.js.map +1 -0
- package/dist/internal/tabs-context.d.ts +2 -3
- package/dist/internal/tabular-components.d.ts +27 -0
- package/dist/internal/tabular-components.js +26 -0
- package/dist/internal/tabular-components.js.map +1 -0
- package/dist/internal/tabular-parts.d.ts +57 -0
- package/dist/internal/tabular-parts.js +239 -0
- package/dist/internal/tabular-parts.js.map +1 -0
- package/dist/internal/tabular-profile.d.ts +75 -0
- package/dist/internal/tabular-profile.js +209 -0
- package/dist/internal/tabular-profile.js.map +1 -0
- package/dist/internal/virtual-collection-model.d.ts +42 -0
- package/dist/internal/virtual-collection-model.js +241 -0
- package/dist/internal/virtual-collection-model.js.map +1 -0
- package/dist/internal/virtual-collection.d.ts +38 -0
- package/dist/internal/virtual-collection.js +87 -0
- package/dist/internal/virtual-collection.js.map +1 -0
- package/dist/{virtual.d.ts → internal/virtual-core.d.ts} +9 -4
- package/dist/{virtual.js → internal/virtual-core.js} +7 -7
- package/dist/internal/virtual-core.js.map +1 -0
- package/dist/internal/virtual-list.d.ts +214 -0
- package/dist/internal/virtual-list.js +401 -0
- package/dist/internal/virtual-list.js.map +1 -0
- package/dist/listbox.d.ts +0 -1
- package/dist/listbox.js +52 -6
- package/dist/listbox.js.map +1 -1
- package/dist/menu-button.d.ts +0 -1
- package/dist/menu.d.ts +0 -1
- package/dist/menubar.d.ts +0 -1
- package/dist/meter-group.d.ts +369 -0
- package/dist/meter-group.js +271 -0
- package/dist/meter-group.js.map +1 -0
- package/dist/meter.d.ts +191 -0
- package/dist/meter.js +133 -0
- package/dist/meter.js.map +1 -0
- package/dist/month-picker.d.ts +37 -6
- package/dist/month-picker.js +3 -1
- package/dist/month-picker.js.map +1 -1
- package/dist/month-range-picker.d.ts +37 -6
- package/dist/month-range-picker.js +3 -1
- package/dist/month-range-picker.js.map +1 -1
- package/dist/multi-thumb-slider.d.ts +0 -1
- package/dist/navigation-menu.d.ts +0 -1
- package/dist/number-field.d.ts +0 -1
- package/dist/pagination.d.ts +23 -2
- package/dist/pagination.js +6 -1
- package/dist/pagination.js.map +1 -1
- package/dist/pin-input.d.ts +0 -1
- package/dist/pin-input.js +1 -1
- package/dist/pin-input.js.map +1 -1
- package/dist/popover.d.ts +0 -2
- package/dist/popover.js.map +1 -1
- package/dist/primitive.d.ts +0 -1
- package/dist/primitive.js +8 -4
- package/dist/primitive.js.map +1 -1
- package/dist/progress.d.ts +148 -0
- package/dist/progress.js +110 -0
- package/dist/progress.js.map +1 -0
- package/dist/quantity-field.d.ts +0 -1
- package/dist/radio-group.d.ts +0 -1
- package/dist/radio-group.js +1 -1
- package/dist/radio-group.js.map +1 -1
- package/dist/range-calendar.d.ts +2 -3
- package/dist/rating.d.ts +0 -1
- package/dist/rating.js +10 -1
- package/dist/rating.js.map +1 -1
- package/dist/reorder.d.ts +1 -2
- package/dist/select.d.ts +18 -44
- package/dist/select.js +11 -13
- package/dist/select.js.map +1 -1
- package/dist/slider.d.ts +0 -1
- package/dist/spin-button.d.ts +0 -1
- package/dist/spin-button.js +17 -4
- package/dist/spin-button.js.map +1 -1
- package/dist/stepper.d.ts +0 -1
- package/dist/stepper.js +19 -2
- package/dist/stepper.js.map +1 -1
- package/dist/switch.d.ts +0 -1
- package/dist/tabs.d.ts +0 -1
- package/dist/tabs.js +4 -22
- package/dist/tabs.js.map +1 -1
- package/dist/tags-input.d.ts +0 -1
- package/dist/tags-input.js +18 -5
- package/dist/tags-input.js.map +1 -1
- package/dist/temporal-provider.d.ts +21 -0
- package/dist/temporal-provider.js +30 -0
- package/dist/temporal-provider.js.map +1 -0
- package/dist/text.d.ts +0 -1
- package/dist/text.js +18 -4
- package/dist/text.js.map +1 -1
- package/dist/time-field.d.ts +1 -2
- package/dist/time-field.js +1 -1
- package/dist/time-field.js.map +1 -1
- package/dist/time-range-field.d.ts +2 -2
- package/dist/time-range-field.js +6 -4
- package/dist/time-range-field.js.map +1 -1
- package/dist/timer.d.ts +0 -1
- package/dist/toast.d.ts +11 -2
- package/dist/toast.js +22 -9
- package/dist/toast.js.map +1 -1
- package/dist/toggle-button.d.ts +0 -1
- package/dist/toggle-group.d.ts +0 -1
- package/dist/toggle-group.js +1 -1
- package/dist/toggle-group.js.map +1 -1
- package/dist/toolbar.d.ts +0 -1
- package/dist/tooltip.d.ts +1 -3
- package/dist/tooltip.js.map +1 -1
- package/dist/tree-grid.d.ts +0 -1
- package/dist/tree-grid.js +62 -8
- package/dist/tree-grid.js.map +1 -1
- package/dist/tree-view.d.ts +0 -1
- package/dist/tree-view.js +51 -10
- package/dist/tree-view.js.map +1 -1
- package/dist/virtual-core.d.ts +1 -0
- package/dist/virtual-core.js +2 -0
- package/dist/virtual-core.js.map +1 -0
- package/dist/virtual-grid.d.ts +188 -0
- package/dist/virtual-grid.js +306 -0
- package/dist/virtual-grid.js.map +1 -0
- package/dist/virtual-list.d.ts +1 -0
- package/dist/virtual-list.js +2 -0
- package/dist/virtual-list.js.map +1 -0
- package/dist/virtual-masonry.d.ts +198 -0
- package/dist/virtual-masonry.js +221 -0
- package/dist/virtual-masonry.js.map +1 -0
- package/dist/virtual-spatial.d.ts +157 -0
- package/dist/virtual-spatial.js +159 -0
- package/dist/virtual-spatial.js.map +1 -0
- package/dist/window-splitter.d.ts +0 -1
- package/dist/year-picker.d.ts +37 -6
- package/dist/year-picker.js +3 -1
- package/dist/year-picker.js.map +1 -1
- package/dist/year-range-picker.d.ts +37 -6
- package/dist/year-range-picker.js +3 -1
- package/dist/year-range-picker.js.map +1 -1
- package/package.json +173 -89
- package/dist/accordion.d.ts.map +0 -1
- package/dist/alert-dialog.d.ts.map +0 -1
- package/dist/calendar.d.ts.map +0 -1
- package/dist/carousel.d.ts.map +0 -1
- package/dist/cascade-select.d.ts.map +0 -1
- package/dist/checkbox-group.d.ts.map +0 -1
- package/dist/checkbox.d.ts.map +0 -1
- package/dist/color-picker.d.ts.map +0 -1
- package/dist/combobox.d.ts.map +0 -1
- package/dist/date-field.d.ts.map +0 -1
- package/dist/date-picker.d.ts.map +0 -1
- package/dist/date-range-field.d.ts.map +0 -1
- package/dist/date-range-picker.d.ts.map +0 -1
- package/dist/date-time-field.d.ts.map +0 -1
- package/dist/date-time-picker.d.ts.map +0 -1
- package/dist/date-time-range-picker.d.ts.map +0 -1
- package/dist/dialog.d.ts.map +0 -1
- package/dist/disclosure.d.ts.map +0 -1
- package/dist/drawer.d.ts.map +0 -1
- package/dist/editable.d.ts.map +0 -1
- package/dist/feed.d.ts.map +0 -1
- package/dist/form.d.ts.map +0 -1
- package/dist/grid.d.ts.map +0 -1
- package/dist/host-provider.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/internal/collection.d.ts.map +0 -1
- package/dist/internal/controlled-state.d.ts.map +0 -1
- package/dist/internal/date-picker.d.ts.map +0 -1
- package/dist/internal/form-control-inventory.d.ts.map +0 -1
- package/dist/internal/form-control.d.ts.map +0 -1
- package/dist/internal/native-field.d.ts.map +0 -1
- package/dist/internal/native-input.d.ts.map +0 -1
- package/dist/internal/part-contract.d.ts.map +0 -1
- package/dist/internal/popup.d.ts.map +0 -1
- package/dist/internal/presence.d.ts.map +0 -1
- package/dist/internal/tabs-context.d.ts.map +0 -1
- package/dist/listbox.d.ts.map +0 -1
- package/dist/menu-button.d.ts.map +0 -1
- package/dist/menu.d.ts.map +0 -1
- package/dist/menubar.d.ts.map +0 -1
- package/dist/month-picker.d.ts.map +0 -1
- package/dist/month-range-picker.d.ts.map +0 -1
- package/dist/multi-thumb-slider.d.ts.map +0 -1
- package/dist/navigation-menu.d.ts.map +0 -1
- package/dist/number-field.d.ts.map +0 -1
- package/dist/pagination.d.ts.map +0 -1
- package/dist/pin-input.d.ts.map +0 -1
- package/dist/popover.d.ts.map +0 -1
- package/dist/primitive.d.ts.map +0 -1
- package/dist/quantity-field.d.ts.map +0 -1
- package/dist/radio-group.d.ts.map +0 -1
- package/dist/range-calendar.d.ts.map +0 -1
- package/dist/rating.d.ts.map +0 -1
- package/dist/reorder.d.ts.map +0 -1
- package/dist/select.d.ts.map +0 -1
- package/dist/slider.d.ts.map +0 -1
- package/dist/spin-button.d.ts.map +0 -1
- package/dist/stepper.d.ts.map +0 -1
- package/dist/switch.d.ts.map +0 -1
- package/dist/tabs.d.ts.map +0 -1
- package/dist/tags-input.d.ts.map +0 -1
- package/dist/text.d.ts.map +0 -1
- package/dist/time-field.d.ts.map +0 -1
- package/dist/time-range-field.d.ts.map +0 -1
- package/dist/timer.d.ts.map +0 -1
- package/dist/toast.d.ts.map +0 -1
- package/dist/toggle-button.d.ts.map +0 -1
- package/dist/toggle-group.d.ts.map +0 -1
- package/dist/toolbar.d.ts.map +0 -1
- package/dist/tooltip.d.ts.map +0 -1
- package/dist/tree-grid.d.ts.map +0 -1
- package/dist/tree-view.d.ts.map +0 -1
- package/dist/virtual.d.ts.map +0 -1
- package/dist/virtual.js.map +0 -1
- package/dist/window-splitter.d.ts.map +0 -1
- package/dist/year-picker.d.ts.map +0 -1
- package/dist/year-range-picker.d.ts.map +0 -1
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { type ComputedRef } from 'vue';
|
|
2
|
+
import { type DataTreeGridColumnSizeState as DOMDataTreeGridColumnSizeState, type DataTreeGridDOMCommand } from '@sectile/dom/tabular';
|
|
3
|
+
import { type DataTreeGridCommand as SemanticDataTreeGridCommand, type DataTreeGridController as SemanticDataTreeGridController, type DataTreeGridCursorState, type DataTreeGridEditState, type DataTreeGridEvent, type DataTreeGridExpansionState, type DataTreeGridOptions as SemanticDataTreeGridOptions, type DataTreeGridProjection, type DataTreeGridState, type DataTreeGridUpdate } from '@sectile/tabular/data-tree-grid';
|
|
4
|
+
import type { TabularAcceptedViewState, TabularAccessState, TabularCellRecord, TabularColumnState, TabularError, TabularGroupID, TabularHeaderNode, TabularHeaderNodeID, TabularLimits, TabularQuery, TabularRequest, TabularRequestState, TabularResult, TabularRow, TabularRowID, TabularRowSelection, TabularView, TabularViewResponse, TabularWireValue } from '@sectile/tabular';
|
|
5
|
+
import type { PrimitiveAs } from './primitive.js';
|
|
6
|
+
import type { DataTableCellsFromColumns, DataTableColumn, DataTableColumnID, DataTableReactiveInput, DataTableWritableRef } from './data-table.js';
|
|
7
|
+
import { type TabularBodyComponent, type TabularComponent } from './internal/tabular-components.js';
|
|
8
|
+
import { type HostConnection } from './internal/tabular-parts.js';
|
|
9
|
+
import { type ProfileContext, type SourceReturn, type SourceStatus, type VueProfileController } from './internal/tabular-profile.js';
|
|
10
|
+
export type DataTreeGridColumn<RecordValue = unknown, ID extends string = string, CellValue extends TabularWireValue = TabularWireValue> = DataTableColumn<RecordValue, ID, CellValue>;
|
|
11
|
+
export type DataTreeGridQuery = TabularQuery;
|
|
12
|
+
export type DataTreeGridViewRow<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = TabularRow<LeafCells, GroupCells>;
|
|
13
|
+
export type DataTreeGridView<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = TabularView<DataTreeGridViewRow<LeafCells, GroupCells>>;
|
|
14
|
+
export type DataTreeGridViewResponse<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = TabularViewResponse<DataTreeGridViewRow<LeafCells, GroupCells>>;
|
|
15
|
+
export type DataTreeGridRowSelection = TabularRowSelection;
|
|
16
|
+
export type DataTreeGridGroupID = TabularGroupID;
|
|
17
|
+
export type DataTreeGridRowID = TabularRowID;
|
|
18
|
+
export type DataTreeGridColumnState = TabularColumnState;
|
|
19
|
+
export type DataTreeGridAccessState = TabularAccessState;
|
|
20
|
+
export type DataTreeGridRequestState = TabularRequestState;
|
|
21
|
+
export type DataTreeGridAcceptedViewState<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = TabularAcceptedViewState<DataTreeGridViewRow<LeafCells, GroupCells>>;
|
|
22
|
+
export type DataTreeGridColumnSizeState = DOMDataTreeGridColumnSizeState;
|
|
23
|
+
export type DataTreeGridSourceStatus = SourceStatus;
|
|
24
|
+
export type DataTreeGridSemanticCommand = SemanticDataTreeGridCommand;
|
|
25
|
+
export type DataTreeGridCommand = DataTreeGridDOMCommand;
|
|
26
|
+
export type DataTreeGridError = TabularError;
|
|
27
|
+
export type DataTreeGridCommandHandler = (command: DataTreeGridCommand) => void;
|
|
28
|
+
export type DataTreeGridErrorHandler = (error: DataTreeGridError) => void;
|
|
29
|
+
export type DataTreeGridSourceErrorHandler = (error: unknown) => void;
|
|
30
|
+
export type DataTreeGridStatusChangeHandler = (status: DataTreeGridSourceStatus) => void;
|
|
31
|
+
export type DataTreeGridQueryChangeHandler = (value: DataTreeGridQuery) => void;
|
|
32
|
+
export type DataTreeGridRowSelectionChangeHandler = (value: DataTreeGridRowSelection) => void;
|
|
33
|
+
export type DataTreeGridColumnStateChangeHandler = (value: DataTreeGridColumnState) => void;
|
|
34
|
+
export type DataTreeGridAccessStateChangeHandler = (value: DataTreeGridAccessState) => void;
|
|
35
|
+
export type DataTreeGridExpansionChangeHandler = (value: readonly DataTreeGridGroupID[]) => void;
|
|
36
|
+
export type DataTreeGridCursorChangeHandler = (value: DataTreeGridCursorState) => void;
|
|
37
|
+
export type DataTreeGridEditStateChangeHandler = (value: DataTreeGridEditState) => void;
|
|
38
|
+
export type DataTreeGridColumnSizeChangeHandler = (value: DataTreeGridColumnSizeState) => void;
|
|
39
|
+
export interface UseDataTreeGridOptions<Columns extends readonly DataTreeGridColumn<never>[] = readonly DataTreeGridColumn<never>[], LeafCells extends object = DataTableCellsFromColumns<Columns>, GroupCells extends object = LeafCells> {
|
|
40
|
+
readonly columns: DataTableReactiveInput<Columns>;
|
|
41
|
+
readonly headers?: DataTableReactiveInput<readonly TabularHeaderNode[]>;
|
|
42
|
+
readonly sourceKey?: DataTableReactiveInput<string>;
|
|
43
|
+
readonly limits?: Partial<TabularLimits>;
|
|
44
|
+
readonly initialView?: DataTreeGridViewResponse<LeafCells, GroupCells>;
|
|
45
|
+
readonly query?: DataTableWritableRef<DataTreeGridQuery>;
|
|
46
|
+
readonly defaultQuery?: DataTreeGridQuery;
|
|
47
|
+
readonly onQueryChange?: DataTreeGridQueryChangeHandler;
|
|
48
|
+
readonly rowSelection?: DataTableWritableRef<DataTreeGridRowSelection>;
|
|
49
|
+
readonly defaultRowSelection?: DataTreeGridRowSelection;
|
|
50
|
+
readonly onRowSelectionChange?: DataTreeGridRowSelectionChangeHandler;
|
|
51
|
+
readonly columnState?: DataTableWritableRef<DataTreeGridColumnState>;
|
|
52
|
+
readonly defaultColumnState?: DataTreeGridColumnState;
|
|
53
|
+
readonly onColumnStateChange?: DataTreeGridColumnStateChangeHandler;
|
|
54
|
+
readonly accessState?: DataTableWritableRef<DataTreeGridAccessState>;
|
|
55
|
+
readonly defaultAccessState?: DataTreeGridAccessState;
|
|
56
|
+
readonly onAccessStateChange?: DataTreeGridAccessStateChangeHandler;
|
|
57
|
+
readonly expansion?: DataTableWritableRef<readonly DataTreeGridGroupID[]>;
|
|
58
|
+
readonly defaultExpansion?: readonly DataTreeGridGroupID[];
|
|
59
|
+
readonly onExpansionChange?: DataTreeGridExpansionChangeHandler;
|
|
60
|
+
readonly cursor?: DataTableWritableRef<DataTreeGridCursorState>;
|
|
61
|
+
readonly defaultCursor?: DataTreeGridCursorState;
|
|
62
|
+
readonly onCursorChange?: DataTreeGridCursorChangeHandler;
|
|
63
|
+
readonly editState?: DataTableWritableRef<DataTreeGridEditState>;
|
|
64
|
+
readonly defaultEditState?: DataTreeGridEditState;
|
|
65
|
+
readonly onEditStateChange?: DataTreeGridEditStateChangeHandler;
|
|
66
|
+
readonly columnSizeState?: DataTableWritableRef<Readonly<Record<string, number>>>;
|
|
67
|
+
readonly defaultColumnSizeState?: Readonly<Record<string, number>>;
|
|
68
|
+
readonly onColumnSizeStateChange?: DataTreeGridColumnSizeChangeHandler;
|
|
69
|
+
readonly isCellDisabled?: SemanticDataTreeGridOptions['isCellDisabled'];
|
|
70
|
+
}
|
|
71
|
+
declare const dataTreeGridSchema: unique symbol;
|
|
72
|
+
export interface DataTreeGridController<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> extends VueProfileController<DataTreeGridState, DataTreeGridEvent, SemanticDataTreeGridCommand> {
|
|
73
|
+
readonly [dataTreeGridSchema]?: {
|
|
74
|
+
readonly leaf: LeafCells;
|
|
75
|
+
readonly group: GroupCells;
|
|
76
|
+
};
|
|
77
|
+
readonly acceptedViewState: ComputedRef<DataTreeGridAcceptedViewState<LeafCells, GroupCells>>;
|
|
78
|
+
getProjection(): DataTreeGridProjection;
|
|
79
|
+
}
|
|
80
|
+
export declare function defineDataTreeGridColumns<const Columns extends readonly DataTreeGridColumn<never>[]>(columns: Columns): Columns;
|
|
81
|
+
export declare function useDataTreeGrid<ExplicitLeafCells extends object | undefined = undefined, ExplicitGroupCells extends object | undefined = ExplicitLeafCells, const Columns extends readonly DataTreeGridColumn<never>[] = readonly DataTreeGridColumn<never>[], LeafCells extends object = ExplicitLeafCells extends object ? ExplicitLeafCells : DataTableCellsFromColumns<Columns>, GroupCells extends object = ExplicitGroupCells extends object ? ExplicitGroupCells : LeafCells>(options: UseDataTreeGridOptions<Columns, LeafCells, GroupCells>): DataTreeGridController<LeafCells, GroupCells>;
|
|
82
|
+
export type DataTreeGridSourceResolver<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = (request: TabularRequest, context: {
|
|
83
|
+
readonly signal: AbortSignal;
|
|
84
|
+
}) => DataTreeGridViewResponse<LeafCells, GroupCells> | Promise<DataTreeGridViewResponse<LeafCells, GroupCells>>;
|
|
85
|
+
export interface UseDataTreeGridSourceOptions {
|
|
86
|
+
readonly onError?: DataTreeGridSourceErrorHandler;
|
|
87
|
+
readonly onStatusChange?: DataTreeGridStatusChangeHandler;
|
|
88
|
+
}
|
|
89
|
+
export interface UseDataTreeGridSourceReturn extends SourceReturn {
|
|
90
|
+
}
|
|
91
|
+
export declare function useDataTreeGridSource<LeafCells extends object, GroupCells extends object>(controller: DataTreeGridController<LeafCells, GroupCells>, resolver: DataTreeGridSourceResolver<LeafCells, GroupCells>, options?: UseDataTreeGridSourceOptions): UseDataTreeGridSourceReturn;
|
|
92
|
+
export interface DataTreeGridContextValue extends Omit<ProfileContext<DataTreeGridState, DataTreeGridEvent, SemanticDataTreeGridCommand, HostConnection>, 'connection'> {
|
|
93
|
+
}
|
|
94
|
+
export declare function useDataTreeGridContext(): DataTreeGridContextValue;
|
|
95
|
+
export interface DataTreeGridProviderProps {
|
|
96
|
+
}
|
|
97
|
+
export interface DataTreeGridRootProps {
|
|
98
|
+
readonly onCommand?: DataTreeGridCommandHandler;
|
|
99
|
+
readonly onError?: DataTreeGridErrorHandler;
|
|
100
|
+
readonly as?: PrimitiveAs;
|
|
101
|
+
readonly asChild?: boolean;
|
|
102
|
+
}
|
|
103
|
+
export interface DataTreeGridRootSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> {
|
|
104
|
+
readonly acceptedViewState: DataTreeGridAcceptedViewState<LeafCells, GroupCells>;
|
|
105
|
+
readonly requestState: DataTreeGridRequestState;
|
|
106
|
+
readonly query: DataTreeGridQuery;
|
|
107
|
+
readonly rowSelection: DataTreeGridRowSelection;
|
|
108
|
+
readonly columnState: DataTreeGridColumnState;
|
|
109
|
+
readonly accessState: DataTreeGridAccessState;
|
|
110
|
+
readonly expansion: readonly DataTreeGridGroupID[];
|
|
111
|
+
readonly cursor: DataTreeGridCursorState;
|
|
112
|
+
readonly editState: DataTreeGridEditState;
|
|
113
|
+
readonly rows: readonly DataTreeGridViewRow<LeafCells, GroupCells>[];
|
|
114
|
+
}
|
|
115
|
+
export interface DataTreeGridRootExpose<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> {
|
|
116
|
+
readonly controller: DataTreeGridController<LeafCells, GroupCells>;
|
|
117
|
+
refresh(): void;
|
|
118
|
+
}
|
|
119
|
+
export interface DataTreeGridPartProps {
|
|
120
|
+
readonly as?: PrimitiveAs;
|
|
121
|
+
readonly asChild?: boolean;
|
|
122
|
+
}
|
|
123
|
+
export type DataTreeGridHeaderRowProps = DataTreeGridPartProps;
|
|
124
|
+
export type DataTreeGridColumnHeaderProps<Column extends string = string> = DataTreeGridPartProps & ({
|
|
125
|
+
readonly column: Column;
|
|
126
|
+
readonly header?: never;
|
|
127
|
+
} | {
|
|
128
|
+
readonly header: TabularHeaderNodeID;
|
|
129
|
+
readonly column?: never;
|
|
130
|
+
});
|
|
131
|
+
export interface DataTreeGridSortTriggerProps<Column extends string = string> extends DataTreeGridPartProps {
|
|
132
|
+
readonly column: Column;
|
|
133
|
+
readonly comparator?: string;
|
|
134
|
+
}
|
|
135
|
+
export type DataTreeGridFilterControlProps<Column extends string = string> = DataTreeGridPartProps & ({
|
|
136
|
+
readonly scope: 'global';
|
|
137
|
+
readonly id: string;
|
|
138
|
+
readonly predicate: string;
|
|
139
|
+
} | {
|
|
140
|
+
readonly scope: 'column';
|
|
141
|
+
readonly column: Column;
|
|
142
|
+
readonly id: string;
|
|
143
|
+
readonly predicate: string;
|
|
144
|
+
});
|
|
145
|
+
export interface DataTreeGridColumnResizeHandleProps<Column extends string = string> extends DataTreeGridPartProps {
|
|
146
|
+
readonly column: Column;
|
|
147
|
+
readonly minSize?: number;
|
|
148
|
+
readonly maxSize?: number;
|
|
149
|
+
}
|
|
150
|
+
export interface DataTreeGridRowProps extends DataTreeGridPartProps {
|
|
151
|
+
readonly rowID: DataTreeGridRowID | DataTreeGridGroupID;
|
|
152
|
+
}
|
|
153
|
+
export interface DataTreeGridRowDisclosureProps extends DataTreeGridPartProps {
|
|
154
|
+
readonly rowID?: DataTreeGridGroupID;
|
|
155
|
+
readonly disabled?: boolean;
|
|
156
|
+
}
|
|
157
|
+
export interface DataTreeGridRowSelectionControlProps extends DataTreeGridPartProps {
|
|
158
|
+
readonly rowID?: DataTreeGridRowID;
|
|
159
|
+
readonly name: string;
|
|
160
|
+
readonly value?: string;
|
|
161
|
+
readonly form?: string;
|
|
162
|
+
readonly disabled?: boolean;
|
|
163
|
+
}
|
|
164
|
+
export interface DataTreeGridBulkSelectionControlProps extends DataTreeGridPartProps {
|
|
165
|
+
readonly target: {
|
|
166
|
+
readonly kind: 'all-matching';
|
|
167
|
+
} | {
|
|
168
|
+
readonly kind: 'group-leaves';
|
|
169
|
+
readonly groupID: DataTreeGridGroupID;
|
|
170
|
+
};
|
|
171
|
+
readonly disabled?: boolean;
|
|
172
|
+
}
|
|
173
|
+
export interface DataTreeGridCellProps<Column extends string = string> extends DataTreeGridPartProps {
|
|
174
|
+
readonly rowID?: DataTreeGridRowID | DataTreeGridGroupID;
|
|
175
|
+
readonly column: Column;
|
|
176
|
+
}
|
|
177
|
+
export interface DataTreeGridEditorProps<Column extends string = string> extends DataTreeGridCellProps<Column> {
|
|
178
|
+
readonly parseValue?: (value: string) => TabularResult<TabularWireValue>;
|
|
179
|
+
readonly commitOnChange?: boolean;
|
|
180
|
+
}
|
|
181
|
+
export type DataTreeGridHeaderProps = DataTreeGridPartProps;
|
|
182
|
+
export interface DataTreeGridBodyProps extends DataTreeGridPartProps {
|
|
183
|
+
readonly manual?: boolean;
|
|
184
|
+
}
|
|
185
|
+
export interface DataTreeGridPartSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> extends DataTreeGridRootSlotProps<LeafCells, GroupCells> {
|
|
186
|
+
readonly row?: DataTreeGridViewRow<LeafCells, GroupCells>;
|
|
187
|
+
readonly isGroup?: boolean;
|
|
188
|
+
}
|
|
189
|
+
export type DataTreeGridProviderSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataTreeGridRootSlotProps<LeafCells, GroupCells>;
|
|
190
|
+
export interface DataTreeGridBodySlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> extends DataTreeGridRootSlotProps<LeafCells, GroupCells> {
|
|
191
|
+
readonly row: DataTreeGridViewRow<LeafCells, GroupCells>;
|
|
192
|
+
readonly rowIndex: number;
|
|
193
|
+
readonly isGroup: boolean;
|
|
194
|
+
}
|
|
195
|
+
export type DataTreeGridHeaderSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataTreeGridRootSlotProps<LeafCells, GroupCells>;
|
|
196
|
+
export type DataTreeGridHeaderRowSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataTreeGridRootSlotProps<LeafCells, GroupCells>;
|
|
197
|
+
export type DataTreeGridColumnHeaderSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataTreeGridRootSlotProps<LeafCells, GroupCells>;
|
|
198
|
+
export type DataTreeGridSortTriggerSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataTreeGridRootSlotProps<LeafCells, GroupCells>;
|
|
199
|
+
export type DataTreeGridFilterControlSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataTreeGridRootSlotProps<LeafCells, GroupCells>;
|
|
200
|
+
export type DataTreeGridColumnResizeHandleSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataTreeGridRootSlotProps<LeafCells, GroupCells>;
|
|
201
|
+
export type DataTreeGridRowSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataTreeGridRootSlotProps<LeafCells, GroupCells>;
|
|
202
|
+
export type DataTreeGridRowDisclosureSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataTreeGridPartSlotProps<LeafCells, GroupCells>;
|
|
203
|
+
export type DataTreeGridRowSelectionControlSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataTreeGridPartSlotProps<LeafCells, GroupCells>;
|
|
204
|
+
export type DataTreeGridBulkSelectionControlSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataTreeGridRootSlotProps<LeafCells, GroupCells>;
|
|
205
|
+
export type DataTreeGridCellSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataTreeGridPartSlotProps<LeafCells, GroupCells>;
|
|
206
|
+
export type DataTreeGridEditorSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataTreeGridPartSlotProps<LeafCells, GroupCells>;
|
|
207
|
+
export interface DataTreeGridComponents<LeafCells extends object, GroupCells extends object = LeafCells> {
|
|
208
|
+
readonly Provider: TabularComponent<DataTreeGridProviderProps, DataTreeGridProviderSlotProps<LeafCells, GroupCells>>;
|
|
209
|
+
readonly Root: TabularComponent<DataTreeGridRootProps, DataTreeGridRootSlotProps<LeafCells, GroupCells>>;
|
|
210
|
+
readonly Header: TabularComponent<DataTreeGridHeaderProps, DataTreeGridHeaderSlotProps<LeafCells, GroupCells>>;
|
|
211
|
+
readonly HeaderRow: TabularComponent<DataTreeGridHeaderRowProps, DataTreeGridHeaderRowSlotProps<LeafCells, GroupCells>>;
|
|
212
|
+
readonly ColumnHeader: TabularComponent<DataTreeGridColumnHeaderProps<DataTableColumnID<LeafCells, GroupCells>>, DataTreeGridColumnHeaderSlotProps<LeafCells, GroupCells>>;
|
|
213
|
+
readonly SortTrigger: TabularComponent<DataTreeGridSortTriggerProps<DataTableColumnID<LeafCells, GroupCells>>, DataTreeGridSortTriggerSlotProps<LeafCells, GroupCells>>;
|
|
214
|
+
readonly FilterControl: TabularComponent<DataTreeGridFilterControlProps<DataTableColumnID<LeafCells, GroupCells>>, DataTreeGridFilterControlSlotProps<LeafCells, GroupCells>>;
|
|
215
|
+
readonly ColumnResizeHandle: TabularComponent<DataTreeGridColumnResizeHandleProps<DataTableColumnID<LeafCells, GroupCells>>, DataTreeGridColumnResizeHandleSlotProps<LeafCells, GroupCells>>;
|
|
216
|
+
readonly Body: TabularBodyComponent<DataTreeGridBodyProps, DataTreeGridRootSlotProps<LeafCells, GroupCells>, DataTreeGridBodySlotProps<LeafCells, GroupCells>>;
|
|
217
|
+
readonly Row: TabularComponent<DataTreeGridRowProps, DataTreeGridRowSlotProps<LeafCells, GroupCells>>;
|
|
218
|
+
readonly RowDisclosure: TabularComponent<DataTreeGridRowDisclosureProps, DataTreeGridRowDisclosureSlotProps<LeafCells, GroupCells>>;
|
|
219
|
+
readonly RowSelectionControl: TabularComponent<DataTreeGridRowSelectionControlProps, DataTreeGridRowSelectionControlSlotProps<LeafCells, GroupCells>>;
|
|
220
|
+
readonly BulkSelectionControl: TabularComponent<DataTreeGridBulkSelectionControlProps, DataTreeGridBulkSelectionControlSlotProps<LeafCells, GroupCells>>;
|
|
221
|
+
readonly Cell: TabularComponent<DataTreeGridCellProps<DataTableColumnID<LeafCells, GroupCells>>, DataTreeGridCellSlotProps<LeafCells, GroupCells>>;
|
|
222
|
+
readonly Editor: TabularComponent<DataTreeGridEditorProps<DataTableColumnID<LeafCells, GroupCells>>, DataTreeGridEditorSlotProps<LeafCells, GroupCells>>;
|
|
223
|
+
}
|
|
224
|
+
export declare function createDataTreeGridComponents<LeafCells extends object, GroupCells extends object>(controller: DataTreeGridController<LeafCells, GroupCells>): DataTreeGridComponents<LeafCells, GroupCells>;
|
|
225
|
+
export type { DataTreeGridCursorState, DataTreeGridEditState, DataTreeGridEvent, DataTreeGridExpansionState, DataTreeGridProjection, DataTreeGridState, DataTreeGridUpdate, SemanticDataTreeGridController };
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { getCurrentScope, onScopeDispose, toValue, watch } from 'vue';
|
|
2
|
+
import { connectDataTreeGrid } from '@sectile/dom/tabular';
|
|
3
|
+
import { createDataTreeGrid, } from '@sectile/tabular/data-tree-grid';
|
|
4
|
+
import { createTabularComponentSuite } from './internal/tabular-components.js';
|
|
5
|
+
import { createTabularParts } from './internal/tabular-parts.js';
|
|
6
|
+
import { aliasVueProfileController, controlledValues, createVueProfileController, useProfile, useProfileSource } from './internal/tabular-profile.js';
|
|
7
|
+
const hosts = new WeakMap();
|
|
8
|
+
export function defineDataTreeGridColumns(columns) { return columns; }
|
|
9
|
+
export function useDataTreeGrid(options) {
|
|
10
|
+
for (const property of ['query', 'rowSelection', 'columnState', 'accessState', 'expansion', 'cursor', 'editState', 'columnSizeState'])
|
|
11
|
+
assertExclusive(options, property);
|
|
12
|
+
const semantic = createDataTreeGrid({
|
|
13
|
+
columns: stripColumns(toValue(options.columns)), ...(options.headers === undefined ? {} : { headers: toValue(options.headers) }), ...(options.limits === undefined ? {} : { limits: options.limits }), ...(options.isCellDisabled === undefined ? {} : { isCellDisabled: options.isCellDisabled }),
|
|
14
|
+
controlled: { query: options.query !== undefined, rowSelection: options.rowSelection !== undefined, columnState: options.columnState !== undefined, accessState: options.accessState !== undefined, expansion: options.expansion !== undefined },
|
|
15
|
+
initialValues: {
|
|
16
|
+
...(options.query === undefined && options.defaultQuery === undefined ? {} : { query: options.query?.value ?? options.defaultQuery }),
|
|
17
|
+
...(options.rowSelection === undefined && options.defaultRowSelection === undefined ? {} : { rowSelection: options.rowSelection?.value ?? options.defaultRowSelection }),
|
|
18
|
+
...(options.columnState === undefined && options.defaultColumnState === undefined ? {} : { columnState: options.columnState?.value ?? options.defaultColumnState }),
|
|
19
|
+
...(options.accessState === undefined && options.defaultAccessState === undefined ? {} : { accessState: options.accessState?.value ?? options.defaultAccessState }),
|
|
20
|
+
...(options.expansion === undefined && options.defaultExpansion === undefined ? {} : { expansion: options.expansion?.value ?? options.defaultExpansion }),
|
|
21
|
+
},
|
|
22
|
+
...(options.onQueryChange === undefined ? {} : { onQueryChange: options.onQueryChange }), ...(options.onRowSelectionChange === undefined ? {} : { onRowSelectionChange: options.onRowSelectionChange }), ...(options.onColumnStateChange === undefined ? {} : { onColumnStateChange: options.onColumnStateChange }), ...(options.onAccessStateChange === undefined ? {} : { onAccessStateChange: options.onAccessStateChange }), ...(options.onExpansionChange === undefined ? {} : { onExpansionChange: options.onExpansionChange }),
|
|
23
|
+
});
|
|
24
|
+
const base = createVueProfileController(semantic);
|
|
25
|
+
const notify = (before, after) => { if (before.cursor !== after.cursor)
|
|
26
|
+
options.onCursorChange?.(after.cursor); if (before.edit !== after.edit)
|
|
27
|
+
options.onEditStateChange?.(after.edit); };
|
|
28
|
+
const controller = Object.freeze({ ...base,
|
|
29
|
+
dispatch: (event, revision) => { const before = base.getSnapshot(); const result = base.dispatch(event, revision); if (result.ok)
|
|
30
|
+
notify(before, result.value.snapshot); return result; },
|
|
31
|
+
synchronizeView: (response) => { const before = base.getSnapshot(); const result = base.synchronizeView(response); if (result.ok)
|
|
32
|
+
notify(before, result.value); return result; },
|
|
33
|
+
syncControlledValues: (values) => { const before = base.getSnapshot(); const result = base.syncControlledValues(values); if (result.ok)
|
|
34
|
+
notify(before, result.value); return result; },
|
|
35
|
+
requestView: () => { const before = base.getSnapshot(); const result = base.requestView(); if (result.ok)
|
|
36
|
+
notify(before, result.value); return result; },
|
|
37
|
+
abandonRequest: (requestID) => { const before = base.getSnapshot(); const result = base.abandonRequest(requestID); if (result.ok)
|
|
38
|
+
notify(before, result.value); return result; },
|
|
39
|
+
getProjection: () => semantic.getProjection(), });
|
|
40
|
+
aliasVueProfileController(controller, base);
|
|
41
|
+
hosts.set(controller, Object.freeze({ ...(options.columnSizeState === undefined ? {} : { columnSizes: options.columnSizeState.value }), ...(options.defaultColumnSizeState === undefined ? {} : { defaultColumnSizes: options.defaultColumnSizeState }), ...(options.onColumnSizeStateChange === undefined ? {} : { onColumnSizesChange: options.onColumnSizeStateChange }) }));
|
|
42
|
+
if (options.initialView !== undefined)
|
|
43
|
+
unwrap(controller.synchronizeView(options.initialView));
|
|
44
|
+
const desiredCursor = options.cursor?.value ?? options.defaultCursor;
|
|
45
|
+
if (desiredCursor?.current !== null && desiredCursor?.current !== undefined && controller.getProjection().rows.length > 0)
|
|
46
|
+
unwrap(controller.dispatch({ type: 'focus-cell', cell: desiredCursor.current }));
|
|
47
|
+
const stops = [];
|
|
48
|
+
const sync = () => unwrap(controller.syncControlledValues(controlledValues(options)));
|
|
49
|
+
for (const source of [options.query, options.rowSelection, options.columnState, options.accessState, options.expansion])
|
|
50
|
+
if (source !== undefined)
|
|
51
|
+
stops.push(watch(() => source.value, sync));
|
|
52
|
+
if (options.sourceKey !== undefined)
|
|
53
|
+
stops.push(watch(() => toValue(options.sourceKey), () => { unwrap(controller.dispatch({ type: 'replace-source' })); }));
|
|
54
|
+
stops.push(watch(() => toValue(options.columns), () => { unwrap(controller.dispatch({ type: 'replace-source' })); }, { deep: false }));
|
|
55
|
+
if (options.cursor !== undefined)
|
|
56
|
+
stops.push(watch(() => options.cursor.value, (value) => { if (value.current !== null)
|
|
57
|
+
unwrap(controller.dispatch({ type: 'focus-cell', cell: value.current })); }));
|
|
58
|
+
if (options.editState !== undefined)
|
|
59
|
+
stops.push(watch(() => options.editState.value, (value) => { unwrap(controller.dispatch(value.kind === 'editing' ? { type: 'begin-edit', cell: value.cell } : { type: 'cancel-edit', reason: 'application' })); }));
|
|
60
|
+
const rawDispose = controller.dispose;
|
|
61
|
+
const wrapped = Object.freeze({ ...controller, dispose: () => { for (const stop of stops.splice(0))
|
|
62
|
+
stop(); rawDispose(); } });
|
|
63
|
+
aliasVueProfileController(wrapped, controller);
|
|
64
|
+
hosts.set(wrapped, hosts.get(controller) ?? {});
|
|
65
|
+
if (getCurrentScope() !== undefined)
|
|
66
|
+
onScopeDispose(wrapped.dispose);
|
|
67
|
+
return wrapped;
|
|
68
|
+
}
|
|
69
|
+
export function useDataTreeGridSource(controller, resolver, options) { return useProfileSource(controller, resolver, options); }
|
|
70
|
+
const publicKey = Symbol('SectileDataTreeGrid');
|
|
71
|
+
const privateKey = Symbol('SectileDataTreeGridHost');
|
|
72
|
+
export function useDataTreeGridContext() { return useProfile(publicKey, 'useDataTreeGridContext'); }
|
|
73
|
+
const parts = createTabularParts({ profile: 'data-tree-grid', prefix: 'DataTreeGrid', publicKey, privateKey, connect: (element, controller, callbacks) => connectDataTreeGrid({ controller: controller, root: element, ...hosts.get(controller), ...(callbacks.onCommand === undefined ? {} : { onCommand: callbacks.onCommand }), onSnapshotChange: callbacks.onSnapshotChange }) });
|
|
74
|
+
const componentSuites = new WeakMap();
|
|
75
|
+
export function createDataTreeGridComponents(controller) {
|
|
76
|
+
return createTabularComponentSuite(parts, controller, componentSuites, 'DataTreeGrid', {
|
|
77
|
+
Root: 'Root',
|
|
78
|
+
Header: 'Header',
|
|
79
|
+
HeaderRow: 'HeaderRow',
|
|
80
|
+
ColumnHeader: 'ColumnHeader',
|
|
81
|
+
SortTrigger: 'SortTrigger',
|
|
82
|
+
FilterControl: 'FilterControl',
|
|
83
|
+
ColumnResizeHandle: 'ColumnResizeHandle',
|
|
84
|
+
Body: 'Body',
|
|
85
|
+
Row: 'Row',
|
|
86
|
+
RowDisclosure: 'Disclosure',
|
|
87
|
+
RowSelectionControl: 'SelectionControl',
|
|
88
|
+
BulkSelectionControl: 'BulkSelectionControl',
|
|
89
|
+
Cell: 'Cell',
|
|
90
|
+
Editor: 'Editor',
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
function stripColumns(columns) { return columns.map(({ getValue: _getValue, groupValue: _groupValue, aggregate: _aggregate, ...column }) => Object.freeze(column)); }
|
|
94
|
+
function assertExclusive(options, property) { const values = options; const fallback = `default${property[0].toUpperCase()}${property.slice(1)}`; if (values[property] !== undefined && values[fallback] !== undefined)
|
|
95
|
+
throw new TypeError(`${property} and ${fallback} are mutually exclusive.`); }
|
|
96
|
+
function unwrap(result) { if (!result.ok)
|
|
97
|
+
throw new TypeError(result.error.message); return result.value; }
|
|
98
|
+
//# sourceMappingURL=data-tree-grid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-tree-grid.js","sourceRoot":"","sources":["../src/data-tree-grid.ts"],"names":[],"mappings":"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"}
|
package/dist/date-field.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type DateFieldOptions } from '@sectile/dom/date-field';
|
|
1
|
+
import { type DateFieldOptions } from '@sectile/dom/temporal/date-field';
|
|
2
2
|
export type DateValue = NonNullable<DateFieldOptions['value']>;
|
|
3
3
|
export interface DateFieldProps {
|
|
4
4
|
readonly modelValue?: DateValue | null;
|
|
@@ -12,4 +12,3 @@ export interface DateFieldProps {
|
|
|
12
12
|
}
|
|
13
13
|
export declare const DateField: import("vue").DefineComponent<import("./internal/native-field.js").NativeFieldPublicProps<import("@sectile/temporal/date-field").DateValue, import("@sectile/temporal").DateFieldPolicies>>;
|
|
14
14
|
export type DateFieldValueChangeHandler = (value: DateValue | null) => void;
|
|
15
|
-
//# sourceMappingURL=date-field.d.ts.map
|
package/dist/date-field.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {} from 'vue';
|
|
2
|
-
import { createDateField, formatDateValue, } from '@sectile/dom/date-field';
|
|
2
|
+
import { createDateField, formatDateValue, } from '@sectile/dom/temporal/date-field';
|
|
3
3
|
import { createNativeFieldComponent } from './internal/native-field.js';
|
|
4
4
|
export const DateField = createNativeFieldComponent({
|
|
5
5
|
name: 'SectileDateField',
|
package/dist/date-field.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-field.js","sourceRoot":"","sources":["../src/date-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,KAAK,CAAC;AACpC,OAAO,EACL,eAAe,EACf,eAAe,GAGhB,MAAM,
|
|
1
|
+
{"version":3,"file":"date-field.js","sourceRoot":"","sources":["../src/date-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,KAAK,CAAC;AACpC,OAAO,EACL,eAAe,EACf,eAAe,GAGhB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAkC,MAAM,4BAA4B,CAAC;AAgBxG,MAAM,CAAC,MAAM,SAAS,GAAG,0BAA0B,CAA+B;IAChF,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,YAAY;IACnB,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,MAAM;IACvB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,eAAe;IAC5B,SAAS,EAAE,MAAoC;IAC/C,MAAM,EAAE,CAAC,OAAgE,EAAuB,EAAE,CAAC,eAAe,CAAC;QACjH,GAAG,OAAO;QACV,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;YAChC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;KACpC,CAAC;CACH,CAAC,CAAC"}
|
package/dist/date-picker.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { DatePickerOptions } from '@sectile/dom/date-picker';
|
|
2
|
-
import type { DateValue } from '@sectile/dom/date-field';
|
|
3
|
-
import { type PickerCellSlotProps, type PickerMonthCellSlotProps, type PickerPartProps, type PickerRootSlotProps } from './internal/date-picker.js';
|
|
4
|
-
export interface DatePickerRootProps extends PickerPartProps {
|
|
1
|
+
import type { DatePickerOptions } from '@sectile/dom/temporal/date-picker';
|
|
2
|
+
import type { DateValue } from '@sectile/dom/temporal/date-field';
|
|
3
|
+
import { type PickerCellSlotProps, type PickerMonthCellSlotProps, type PickerPartProps, type PickerPortalProps, type PickerPositionProps, type PickerRootSlotProps } from './internal/date-picker.js';
|
|
4
|
+
export interface DatePickerRootProps extends PickerPartProps, PickerPositionProps {
|
|
5
5
|
readonly modelValue?: DateValue | null;
|
|
6
6
|
readonly defaultValue?: DateValue | null;
|
|
7
7
|
readonly highlightedValue?: DateValue;
|
|
@@ -22,6 +22,38 @@ export type DatePickerValueChangeHandler = NonNullable<InstanceType<typeof DateP
|
|
|
22
22
|
export type DatePickerOpenChangeHandler = NonNullable<InstanceType<typeof DatePickerRoot>['$props']['onUpdate:open']>;
|
|
23
23
|
export type DatePickerHighlightedValueChangeHandler = NonNullable<InstanceType<typeof DatePickerRoot>['$props']['onUpdate:highlightedValue']>;
|
|
24
24
|
export declare const DatePickerTrigger: import("./internal/date-picker.js").PickerRootPartComponent<"date">;
|
|
25
|
+
export declare const DatePickerAnchor: import("./internal/date-picker.js").PickerRootPartComponent<"date">;
|
|
26
|
+
export declare const DatePickerPortal: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
27
|
+
to: {
|
|
28
|
+
type: import("vue").PropType<string | HTMLElement>;
|
|
29
|
+
default: undefined;
|
|
30
|
+
};
|
|
31
|
+
disabled: {
|
|
32
|
+
type: BooleanConstructor;
|
|
33
|
+
default: boolean;
|
|
34
|
+
};
|
|
35
|
+
defer: {
|
|
36
|
+
type: BooleanConstructor;
|
|
37
|
+
default: boolean;
|
|
38
|
+
};
|
|
39
|
+
}>, () => import("vue").VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
40
|
+
to: {
|
|
41
|
+
type: import("vue").PropType<string | HTMLElement>;
|
|
42
|
+
default: undefined;
|
|
43
|
+
};
|
|
44
|
+
disabled: {
|
|
45
|
+
type: BooleanConstructor;
|
|
46
|
+
default: boolean;
|
|
47
|
+
};
|
|
48
|
+
defer: {
|
|
49
|
+
type: BooleanConstructor;
|
|
50
|
+
default: boolean;
|
|
51
|
+
};
|
|
52
|
+
}>> & Readonly<{}>, {
|
|
53
|
+
to: string | HTMLElement;
|
|
54
|
+
disabled: boolean;
|
|
55
|
+
defer: boolean;
|
|
56
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
25
57
|
export declare const DatePickerContent: import("./internal/date-picker.js").PickerRootPartComponent<"date">;
|
|
26
58
|
export declare const DatePickerGrid: import("./internal/date-picker.js").PickerRootPartComponent<"date">;
|
|
27
59
|
export declare const DatePickerCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
@@ -137,5 +169,4 @@ export declare const DatePickerNextYear: import("./internal/date-picker.js").Pic
|
|
|
137
169
|
export declare const DatePickerWeekViewTrigger: import("./internal/date-picker.js").PickerRootPartComponent<"date">;
|
|
138
170
|
export declare const DatePickerMonthViewTrigger: import("./internal/date-picker.js").PickerRootPartComponent<"date">;
|
|
139
171
|
export declare const DatePickerYearViewTrigger: import("./internal/date-picker.js").PickerRootPartComponent<"date">;
|
|
140
|
-
export type { DateValue, PickerCellSlotProps as DatePickerCellSlotProps, PickerMonthCellSlotProps as DatePickerMonthCellSlotProps, PickerPartProps as DatePickerPartProps };
|
|
141
|
-
//# sourceMappingURL=date-picker.d.ts.map
|
|
172
|
+
export type { DateValue, PickerCellSlotProps as DatePickerCellSlotProps, PickerMonthCellSlotProps as DatePickerMonthCellSlotProps, PickerPartProps as DatePickerPartProps, PickerPortalProps as DatePickerPortalProps };
|
package/dist/date-picker.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { PickerCell, PickerContent, PickerGrid, PickerMonthCell, PickerTrigger, createPickerInput, createPickerMove, createPickerViewTrigger, specializePickerRootPart, createPickerRoot, } from './internal/date-picker.js';
|
|
1
|
+
import { PickerAnchor, PickerCell, PickerContent, PickerGrid, PickerMonthCell, PickerPortal, PickerTrigger, createPickerInput, createPickerMove, createPickerViewTrigger, specializePickerRootPart, createPickerRoot, } from './internal/date-picker.js';
|
|
2
2
|
export const DatePickerRoot = createPickerRoot('date', 'SectileDatePickerRoot');
|
|
3
3
|
export const DatePickerTrigger = specializePickerRootPart('date', PickerTrigger);
|
|
4
|
+
export const DatePickerAnchor = specializePickerRootPart('date', PickerAnchor);
|
|
5
|
+
export const DatePickerPortal = PickerPortal;
|
|
4
6
|
export const DatePickerContent = specializePickerRootPart('date', PickerContent);
|
|
5
7
|
export const DatePickerGrid = specializePickerRootPart('date', PickerGrid);
|
|
6
8
|
export const DatePickerCell = PickerCell;
|
package/dist/date-picker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../src/date-picker.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../src/date-picker.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,wBAAwB,EACzL,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AASnC,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAKhF,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AACjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAC7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AACjF,MAAM,CAAC,MAAM,cAAc,GAAG,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AACzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC,CAAC;AACtI,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC;AAC7H,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,gCAAgC,CAAC,CAAC,CAAC;AACzI,MAAM,CAAC,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC,CAAC;AAChI,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC,CAAC;AACtI,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC;AAC7H,MAAM,CAAC,MAAM,yBAAyB,GAAG,wBAAwB,CAAC,MAAM,EAAE,uBAAuB,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC,CAAC;AAC/I,MAAM,CAAC,MAAM,0BAA0B,GAAG,wBAAwB,CAAC,MAAM,EAAE,uBAAuB,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC,CAAC;AAClJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,wBAAwB,CAAC,MAAM,EAAE,uBAAuB,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type PropType, type SlotsType, type VNodeChild } from 'vue';
|
|
2
|
-
import { type DateRangeFieldPolicies } from '@sectile/dom/date-range-field';
|
|
3
|
-
import type { DateRange } from '@sectile/dom/date-field';
|
|
2
|
+
import { type DateRangeFieldPolicies } from '@sectile/dom/temporal/date-range-field';
|
|
3
|
+
import type { DateRange } from '@sectile/dom/temporal/date-field';
|
|
4
4
|
import { type PrimitiveAs } from './primitive.js';
|
|
5
5
|
export interface DateRangeFieldRootProps {
|
|
6
6
|
readonly modelValue?: DateRange | null;
|
|
@@ -126,4 +126,3 @@ export type DateRangeFieldValueChangeHandler = (value: DateRange | null) => void
|
|
|
126
126
|
export declare const DateRangeFieldStartInput: import("vue").DefineComponent<{}, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
127
127
|
export declare const DateRangeFieldEndInput: import("vue").DefineComponent<{}, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
128
128
|
export type { DateRange };
|
|
129
|
-
//# sourceMappingURL=date-range-field.d.ts.map
|
package/dist/date-range-field.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { computed, defineComponent, h, inject, mergeProps,
|
|
2
|
-
import { createDateRangeField, tryCreateDateRangeFieldState } from '@sectile/dom/date-range-field';
|
|
1
|
+
import { computed, defineComponent, h, inject, mergeProps, onBeforeUnmount, onMounted, provide, ref, shallowRef, watch, } from 'vue';
|
|
2
|
+
import { createDateRangeField, tryCreateDateRangeFieldState } from '@sectile/dom/temporal/date-range-field';
|
|
3
3
|
import { hiddenInputSubmissionCapabilities, useCompositeFormControl, } from './internal/form-control.js';
|
|
4
|
+
import { useNextTickTask } from './internal/scheduled-task.js';
|
|
4
5
|
import { Primitive } from './primitive.js';
|
|
5
6
|
import { useControlledStateInvariant } from './internal/controlled-state.js';
|
|
6
7
|
const contextKey = Symbol('SectileDateRangeField');
|
|
@@ -30,6 +31,7 @@ export const DateRangeFieldRoot = defineComponent({
|
|
|
30
31
|
const startInput = ref(null);
|
|
31
32
|
const endInput = ref(null);
|
|
32
33
|
const root = ref(null);
|
|
34
|
+
let mounted = false;
|
|
33
35
|
const participation = useCompositeFormControl({
|
|
34
36
|
root,
|
|
35
37
|
focusTarget: startInput,
|
|
@@ -45,12 +47,19 @@ export const DateRangeFieldRoot = defineComponent({
|
|
|
45
47
|
capabilities: hiddenInputSubmissionCapabilities,
|
|
46
48
|
},
|
|
47
49
|
],
|
|
50
|
+
reset: () => {
|
|
51
|
+
queueMicrotask(() => {
|
|
52
|
+
if (!controlled)
|
|
53
|
+
snapshot.value = initial.value;
|
|
54
|
+
mount();
|
|
55
|
+
});
|
|
56
|
+
},
|
|
48
57
|
});
|
|
49
58
|
let connection = null;
|
|
50
59
|
const refresh = () => { if (connection !== null)
|
|
51
60
|
snapshot.value = connection.getSnapshot().state; };
|
|
52
61
|
const mount = () => {
|
|
53
|
-
if (startInput.value === null || endInput.value === null)
|
|
62
|
+
if (!mounted || startInput.value === null || endInput.value === null)
|
|
54
63
|
return;
|
|
55
64
|
connection?.disconnect();
|
|
56
65
|
connection = createDateRangeField({
|
|
@@ -68,8 +77,17 @@ export const DateRangeFieldRoot = defineComponent({
|
|
|
68
77
|
});
|
|
69
78
|
refresh();
|
|
70
79
|
};
|
|
71
|
-
|
|
72
|
-
|
|
80
|
+
const mountTask = useNextTickTask(mount);
|
|
81
|
+
onMounted(() => {
|
|
82
|
+
mounted = true;
|
|
83
|
+
mount();
|
|
84
|
+
});
|
|
85
|
+
onBeforeUnmount(() => {
|
|
86
|
+
mounted = false;
|
|
87
|
+
mountTask.cancel();
|
|
88
|
+
connection?.disconnect();
|
|
89
|
+
connection = null;
|
|
90
|
+
});
|
|
73
91
|
watch(() => props.modelValue, (value) => {
|
|
74
92
|
if (!controlled || value === undefined || connection === null)
|
|
75
93
|
return;
|
|
@@ -79,7 +97,7 @@ export const DateRangeFieldRoot = defineComponent({
|
|
|
79
97
|
snapshot.value = result.value.state;
|
|
80
98
|
});
|
|
81
99
|
watch([() => props.policies, () => props.disabled, () => props.readonly, () => props.required,
|
|
82
|
-
() => props.startLabel, () => props.endLabel],
|
|
100
|
+
() => props.startLabel, () => props.endLabel], mountTask.schedule);
|
|
83
101
|
const slotProps = computed(() => Object.freeze({
|
|
84
102
|
value: snapshot.value.value,
|
|
85
103
|
startText: snapshot.value.start.inputState.snapshot.text,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-field.js","sourceRoot":"","sources":["../src/date-range-field.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,CAAC,EACD,MAAM,EACN,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"date-range-field.js","sourceRoot":"","sources":["../src/date-range-field.ts"],"names":[],"mappings":"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"}
|