@skdx/vue 0.32.0 → 0.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/table/Table.vue.d.cts +73 -4
- package/dist/table/Table.vue.d.ts +73 -4
- package/dist/table/Table.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/table/Table.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/table/TableAnatomy.vue.d.cts +11 -1
- package/dist/table/TableAnatomy.vue.d.ts +11 -1
- package/dist/table/TableAnatomy.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/table/TableAnatomy.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/table/TableCell.vue.d.cts +11 -3
- package/dist/table/TableCell.vue.d.ts +11 -3
- package/dist/table/TableCell.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/table/TableCell.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/table/TableColumnPinTrigger.vue.cjs +1 -0
- package/dist/table/TableColumnPinTrigger.vue.d.cts +30 -0
- package/dist/table/TableColumnPinTrigger.vue.d.ts +30 -0
- package/dist/table/TableColumnPinTrigger.vue.js +1 -0
- package/dist/table/TableColumnPinTrigger.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/table/TableColumnPinTrigger.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/table/TableColumnReorderTrigger.vue.cjs +1 -0
- package/dist/table/TableColumnReorderTrigger.vue.d.cts +27 -0
- package/dist/table/TableColumnReorderTrigger.vue.d.ts +27 -0
- package/dist/table/TableColumnReorderTrigger.vue.js +1 -0
- package/dist/table/TableColumnReorderTrigger.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/table/TableColumnReorderTrigger.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/table/TableGroupRow.vue.cjs +1 -0
- package/dist/table/TableGroupRow.vue.d.cts +26 -0
- package/dist/table/TableGroupRow.vue.d.ts +26 -0
- package/dist/table/TableGroupRow.vue.js +1 -0
- package/dist/table/TableGroupRow.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/table/TableGroupRow.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/table/TableHeaderCell.vue.d.cts +12 -0
- package/dist/table/TableHeaderCell.vue.d.ts +12 -0
- package/dist/table/TableHeaderCell.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/table/TableHeaderCell.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/table/TableRow.vue.d.cts +9 -1
- package/dist/table/TableRow.vue.d.ts +9 -1
- package/dist/table/TableRow.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/table/TableRow.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/table/TableTreeTrigger.vue.cjs +1 -0
- package/dist/table/TableTreeTrigger.vue.d.cts +19 -0
- package/dist/table/TableTreeTrigger.vue.d.ts +19 -0
- package/dist/table/TableTreeTrigger.vue.js +1 -0
- package/dist/table/TableTreeTrigger.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/table/TableTreeTrigger.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/table/context.cjs +1 -1
- package/dist/table/context.d.cts +39 -0
- package/dist/table/context.d.ts +39 -0
- package/dist/table/context.js +1 -1
- package/dist/table/index.d.cts +1 -1
- package/dist/table/index.d.ts +1 -1
- package/dist/table/primitives.cjs +1 -1
- package/dist/table/primitives.d.cts +5 -1
- package/dist/table/primitives.d.ts +5 -1
- package/dist/table/primitives.js +1 -1
- package/dist/transfer/Transfer.vue.d.cts +1 -1
- package/dist/transfer/Transfer.vue.d.ts +1 -1
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -60,7 +60,7 @@ export { SkdxToolbar, type ToolbarItem } from './toolbar/index.cjs';
|
|
|
60
60
|
export { SkdxBreadcrumb, type BreadcrumbItem } from './breadcrumb/index.cjs';
|
|
61
61
|
export { SkdxStepper } from './stepper/index.cjs';
|
|
62
62
|
export type { StepperItemData, StepStatus, StepperOrientation, StepperNavigationMode, StepperItemState, } from './stepper/index.cjs';
|
|
63
|
-
export { SkdxTable, SkdxTableRow, SkdxTableCell, tableDetailRowId, defaultSelectAllLabel, type TableSortState, type TableFilterState, type TableSort, type TableSelectAllScope, type TableSelectionMode, type TableColumnWidths, type TableColumnDef, type SortDirection, } from './table/index.cjs';
|
|
63
|
+
export { SkdxTable, SkdxTableRow, SkdxTableCell, tableDetailRowId, defaultSelectAllLabel, type TableSortState, type TableFilterState, type TableSort, type TableSelectAllScope, type TableSelectionMode, type TableColumnWidths, type TableColumnPins, type TableColumnDef, type SortDirection, } from './table/index.cjs';
|
|
64
64
|
export { SkdxTimeline, type TimelineItem } from './timeline/index.cjs';
|
|
65
65
|
export { SkdxCalendar, type CalendarDay, CALENDAR_VIEWS, CALENDAR_YEAR_PAGE, getISOWeek, getVisibleWeeks, emptySelection, isDateRange, isDateSelected, nextSelection, rangePositionOf, type CalendarSelectionMode, type CalendarValue, type CalendarValueInput, type DateRange, type RangePosition, type CalendarPageBehavior, type CalendarView, formatDateLabel, formatMonthLabel, formatYear, formatYearRange, getLocaleWeekStartsOn, getMonthNames, getWeekDayNames, resolveLocale, type NameWidth, } from './calendar/index.cjs';
|
|
66
66
|
export { SkdxTree, type TreeSelectionPropagation, type TreeCheckedState, type TreeDisabledBehavior, type TreeSelectionMode, } from './tree/index.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ export { SkdxToolbar, type ToolbarItem } from './toolbar/index.js';
|
|
|
60
60
|
export { SkdxBreadcrumb, type BreadcrumbItem } from './breadcrumb/index.js';
|
|
61
61
|
export { SkdxStepper } from './stepper/index.js';
|
|
62
62
|
export type { StepperItemData, StepStatus, StepperOrientation, StepperNavigationMode, StepperItemState, } from './stepper/index.js';
|
|
63
|
-
export { SkdxTable, SkdxTableRow, SkdxTableCell, tableDetailRowId, defaultSelectAllLabel, type TableSortState, type TableFilterState, type TableSort, type TableSelectAllScope, type TableSelectionMode, type TableColumnWidths, type TableColumnDef, type SortDirection, } from './table/index.js';
|
|
63
|
+
export { SkdxTable, SkdxTableRow, SkdxTableCell, tableDetailRowId, defaultSelectAllLabel, type TableSortState, type TableFilterState, type TableSort, type TableSelectAllScope, type TableSelectionMode, type TableColumnWidths, type TableColumnPins, type TableColumnDef, type SortDirection, } from './table/index.js';
|
|
64
64
|
export { SkdxTimeline, type TimelineItem } from './timeline/index.js';
|
|
65
65
|
export { SkdxCalendar, type CalendarDay, CALENDAR_VIEWS, CALENDAR_YEAR_PAGE, getISOWeek, getVisibleWeeks, emptySelection, isDateRange, isDateSelected, nextSelection, rangePositionOf, type CalendarSelectionMode, type CalendarValue, type CalendarValueInput, type DateRange, type RangePosition, type CalendarPageBehavior, type CalendarView, formatDateLabel, formatMonthLabel, formatYear, formatYearRange, getLocaleWeekStartsOn, getMonthNames, getWeekDayNames, resolveLocale, type NameWidth, } from './calendar/index.js';
|
|
66
66
|
export { SkdxTree, type TreeSelectionPropagation, type TreeCheckedState, type TreeDisabledBehavior, type TreeSelectionMode, } from './tree/index.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type SortDirection, type TableColumnDef, type TableColumnWidths, type TableFilterState, type TableSelectionMode, type TableSort } from './context.cjs';
|
|
1
|
+
import { type SortDirection, type TableColumnDef, type TableColumnPins, type TableColumnWidths, type TableFilterState, type TableSelectionMode, type TableSort } from './context.cjs';
|
|
2
2
|
declare const _default: <TRow extends object = object>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
3
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
4
4
|
readonly "onUpdate:sort"?: (sort: TableSort) => any;
|
|
@@ -12,7 +12,15 @@ declare const _default: <TRow extends object = object>(__VLS_props: NonNullable<
|
|
|
12
12
|
readonly "onUpdate:columnWidths"?: (widths: TableColumnWidths) => any;
|
|
13
13
|
readonly "onColumn-widths-change"?: (widths: TableColumnWidths) => any;
|
|
14
14
|
readonly "onColumn-widths-commit"?: (widths: TableColumnWidths) => any;
|
|
15
|
-
|
|
15
|
+
readonly "onUpdate:columnOrder"?: (columnOrder: string[]) => any;
|
|
16
|
+
readonly "onColumn-order-change"?: (columnOrder: string[]) => any;
|
|
17
|
+
readonly "onUpdate:columnPins"?: (columnPins: TableColumnPins) => any;
|
|
18
|
+
readonly "onColumn-pins-change"?: (columnPins: TableColumnPins) => any;
|
|
19
|
+
readonly "onUpdate:collapsedGroups"?: (collapsedGroups: string[]) => any;
|
|
20
|
+
readonly "onCollapsed-groups-change"?: (collapsedGroups: string[]) => any;
|
|
21
|
+
readonly "onUpdate:expandedNodeIds"?: (expandedNodeIds: string[]) => any;
|
|
22
|
+
readonly "onExpanded-node-ids-change"?: (expandedNodeIds: string[]) => any;
|
|
23
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:sort" | "onSort-change" | "onUpdate:filter" | "onFilter-change" | "onUpdate:selected" | "onSelected-change" | "onUpdate:expandedRowIds" | "onExpanded-row-ids-change" | "onUpdate:columnWidths" | "onColumn-widths-change" | "onColumn-widths-commit" | "onUpdate:columnOrder" | "onColumn-order-change" | "onUpdate:columnPins" | "onColumn-pins-change" | "onUpdate:collapsedGroups" | "onCollapsed-groups-change" | "onUpdate:expandedNodeIds" | "onExpanded-node-ids-change"> & {
|
|
16
24
|
/** Sorted columns, most significant first, for controlled usage. Pair with `v-model:sort`. */
|
|
17
25
|
sort?: TableSort | undefined;
|
|
18
26
|
/** Initially sorted columns, for uncontrolled usage. */
|
|
@@ -53,6 +61,36 @@ declare const _default: <TRow extends object = object>(__VLS_props: NonNullable<
|
|
|
53
61
|
columnWidths?: TableColumnWidths | undefined;
|
|
54
62
|
/** Initial per-column pixel widths, for uncontrolled usage. Columns left out size themselves until resized. */
|
|
55
63
|
defaultColumnWidths?: TableColumnWidths;
|
|
64
|
+
/**
|
|
65
|
+
* Display order of column keys, for controlled usage. Pair with `v-model:column-order`; keys left out follow in source order.
|
|
66
|
+
* @default undefined
|
|
67
|
+
*/
|
|
68
|
+
columnOrder?: string[] | undefined;
|
|
69
|
+
/** Initial display order of column keys, for uncontrolled usage; `[]` keeps source order. @default [] */
|
|
70
|
+
defaultColumnOrder?: string[];
|
|
71
|
+
/**
|
|
72
|
+
* Which edge each pinned column sticks to, for controlled usage. Pair with `v-model:column-pins`.
|
|
73
|
+
* @default undefined
|
|
74
|
+
*/
|
|
75
|
+
columnPins?: TableColumnPins | undefined;
|
|
76
|
+
/** Initially pinned columns keyed by `columnKey`, for uncontrolled usage. @default {} */
|
|
77
|
+
defaultColumnPins?: TableColumnPins;
|
|
78
|
+
/**
|
|
79
|
+
* Group keys whose rows are hidden, for controlled usage. Pair with `v-model:collapsed-groups`.
|
|
80
|
+
* @default undefined
|
|
81
|
+
*/
|
|
82
|
+
collapsedGroups?: string[] | undefined;
|
|
83
|
+
/** Initially collapsed group keys, for uncontrolled usage; groups start expanded. @default [] */
|
|
84
|
+
defaultCollapsedGroups?: string[];
|
|
85
|
+
/**
|
|
86
|
+
* Tree parents whose child rows are rendered, for controlled usage. Pair with `v-model:expanded-node-ids`.
|
|
87
|
+
* @default undefined
|
|
88
|
+
*/
|
|
89
|
+
expandedNodeIds?: string[] | undefined;
|
|
90
|
+
/** Initially expanded tree parents, for uncontrolled usage; parents start collapsed. @default [] */
|
|
91
|
+
defaultExpandedNodeIds?: string[];
|
|
92
|
+
/** Format the announcement made after a keyboard move or a drop. Return an empty string to announce nothing. */
|
|
93
|
+
getMoveLabel?: (column: string, position: number, count: number) => string;
|
|
56
94
|
/**
|
|
57
95
|
* The columns of the derived anatomy, ignored once the default slot supplies its own parts.
|
|
58
96
|
* @default undefined — no derived anatomy; compose the parts yourself.
|
|
@@ -98,6 +136,31 @@ declare const _default: <TRow extends object = object>(__VLS_props: NonNullable<
|
|
|
98
136
|
* @default false — derived columns are not filterable.
|
|
99
137
|
*/
|
|
100
138
|
filterable?: boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Makes derived columns reorderable, each with a move trigger; the derived view then renders them in `columnOrder`.
|
|
141
|
+
* @default false — derived columns are not reorderable.
|
|
142
|
+
*/
|
|
143
|
+
reorderable?: boolean;
|
|
144
|
+
/**
|
|
145
|
+
* Makes derived columns pinnable, each with a pin trigger; the derived view then renders pinned columns at the edges.
|
|
146
|
+
* @default false — derived columns are not pinnable.
|
|
147
|
+
*/
|
|
148
|
+
pinnable?: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Column key the derived rows are grouped by, one group row per distinct value in first-appearance order.
|
|
151
|
+
* @default undefined — the derived rows are not grouped.
|
|
152
|
+
*/
|
|
153
|
+
groupBy?: string | undefined;
|
|
154
|
+
/**
|
|
155
|
+
* Renders one derived group row's label, overridden by the `group-header` slot.
|
|
156
|
+
* @default undefined — a group row renders its key and row count, as in `EMEA (12)`.
|
|
157
|
+
*/
|
|
158
|
+
renderGroupHeader?: ((groupKey: string, rows: TRow[]) => unknown) | undefined;
|
|
159
|
+
/**
|
|
160
|
+
* Returns a row's children so the derived view renders it as a tree parent, one level deeper each time.
|
|
161
|
+
* @default undefined — the derived rows are a flat list.
|
|
162
|
+
*/
|
|
163
|
+
getSubRows?: ((row: TRow) => TRow[] | undefined) | undefined;
|
|
101
164
|
/**
|
|
102
165
|
* Content for the derived empty state, shown when `data` is empty.
|
|
103
166
|
* @default undefined — no derived empty state.
|
|
@@ -134,9 +197,15 @@ declare const _default: <TRow extends object = object>(__VLS_props: NonNullable<
|
|
|
134
197
|
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
135
198
|
attrs: any;
|
|
136
199
|
slots: {
|
|
137
|
-
|
|
200
|
+
/** Full manual composition — the table's own header, body and footer parts. */
|
|
201
|
+
default?(): unknown;
|
|
202
|
+
/** Label of a derived group row, given the group key and the rows it heads. */
|
|
203
|
+
'group-header'?(props: {
|
|
204
|
+
groupKey: string;
|
|
205
|
+
rows: TRow[];
|
|
206
|
+
}): unknown;
|
|
138
207
|
};
|
|
139
|
-
emit: ((evt: "update:sort", sort: TableSort) => void) & ((evt: "sort-change", sort: TableSort) => void) & ((evt: "update:filter", filter: TableFilterState) => void) & ((evt: "filter-change", filter: TableFilterState) => void) & ((evt: "update:selected", selected: string[]) => void) & ((evt: "selected-change", selected: string[]) => void) & ((evt: "update:expandedRowIds", rowIds: string[]) => void) & ((evt: "expanded-row-ids-change", rowIds: string[]) => void) & ((evt: "update:columnWidths", widths: TableColumnWidths) => void) & ((evt: "column-widths-change", widths: TableColumnWidths) => void) & ((evt: "column-widths-commit", widths: TableColumnWidths) => void);
|
|
208
|
+
emit: ((evt: "update:sort", sort: TableSort) => void) & ((evt: "sort-change", sort: TableSort) => void) & ((evt: "update:filter", filter: TableFilterState) => void) & ((evt: "filter-change", filter: TableFilterState) => void) & ((evt: "update:selected", selected: string[]) => void) & ((evt: "selected-change", selected: string[]) => void) & ((evt: "update:expandedRowIds", rowIds: string[]) => void) & ((evt: "expanded-row-ids-change", rowIds: string[]) => void) & ((evt: "update:columnWidths", widths: TableColumnWidths) => void) & ((evt: "column-widths-change", widths: TableColumnWidths) => void) & ((evt: "column-widths-commit", widths: TableColumnWidths) => void) & ((evt: "update:columnOrder", columnOrder: string[]) => void) & ((evt: "column-order-change", columnOrder: string[]) => void) & ((evt: "update:columnPins", columnPins: TableColumnPins) => void) & ((evt: "column-pins-change", columnPins: TableColumnPins) => void) & ((evt: "update:collapsedGroups", collapsedGroups: string[]) => void) & ((evt: "collapsed-groups-change", collapsedGroups: string[]) => void) & ((evt: "update:expandedNodeIds", expandedNodeIds: string[]) => void) & ((evt: "expanded-node-ids-change", expandedNodeIds: string[]) => void);
|
|
140
209
|
}>) => import("vue").VNode & {
|
|
141
210
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
142
211
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type SortDirection, type TableColumnDef, type TableColumnWidths, type TableFilterState, type TableSelectionMode, type TableSort } from './context.js';
|
|
1
|
+
import { type SortDirection, type TableColumnDef, type TableColumnPins, type TableColumnWidths, type TableFilterState, type TableSelectionMode, type TableSort } from './context.js';
|
|
2
2
|
declare const _default: <TRow extends object = object>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
3
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
4
4
|
readonly "onUpdate:sort"?: (sort: TableSort) => any;
|
|
@@ -12,7 +12,15 @@ declare const _default: <TRow extends object = object>(__VLS_props: NonNullable<
|
|
|
12
12
|
readonly "onUpdate:columnWidths"?: (widths: TableColumnWidths) => any;
|
|
13
13
|
readonly "onColumn-widths-change"?: (widths: TableColumnWidths) => any;
|
|
14
14
|
readonly "onColumn-widths-commit"?: (widths: TableColumnWidths) => any;
|
|
15
|
-
|
|
15
|
+
readonly "onUpdate:columnOrder"?: (columnOrder: string[]) => any;
|
|
16
|
+
readonly "onColumn-order-change"?: (columnOrder: string[]) => any;
|
|
17
|
+
readonly "onUpdate:columnPins"?: (columnPins: TableColumnPins) => any;
|
|
18
|
+
readonly "onColumn-pins-change"?: (columnPins: TableColumnPins) => any;
|
|
19
|
+
readonly "onUpdate:collapsedGroups"?: (collapsedGroups: string[]) => any;
|
|
20
|
+
readonly "onCollapsed-groups-change"?: (collapsedGroups: string[]) => any;
|
|
21
|
+
readonly "onUpdate:expandedNodeIds"?: (expandedNodeIds: string[]) => any;
|
|
22
|
+
readonly "onExpanded-node-ids-change"?: (expandedNodeIds: string[]) => any;
|
|
23
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:sort" | "onSort-change" | "onUpdate:filter" | "onFilter-change" | "onUpdate:selected" | "onSelected-change" | "onUpdate:expandedRowIds" | "onExpanded-row-ids-change" | "onUpdate:columnWidths" | "onColumn-widths-change" | "onColumn-widths-commit" | "onUpdate:columnOrder" | "onColumn-order-change" | "onUpdate:columnPins" | "onColumn-pins-change" | "onUpdate:collapsedGroups" | "onCollapsed-groups-change" | "onUpdate:expandedNodeIds" | "onExpanded-node-ids-change"> & {
|
|
16
24
|
/** Sorted columns, most significant first, for controlled usage. Pair with `v-model:sort`. */
|
|
17
25
|
sort?: TableSort | undefined;
|
|
18
26
|
/** Initially sorted columns, for uncontrolled usage. */
|
|
@@ -53,6 +61,36 @@ declare const _default: <TRow extends object = object>(__VLS_props: NonNullable<
|
|
|
53
61
|
columnWidths?: TableColumnWidths | undefined;
|
|
54
62
|
/** Initial per-column pixel widths, for uncontrolled usage. Columns left out size themselves until resized. */
|
|
55
63
|
defaultColumnWidths?: TableColumnWidths;
|
|
64
|
+
/**
|
|
65
|
+
* Display order of column keys, for controlled usage. Pair with `v-model:column-order`; keys left out follow in source order.
|
|
66
|
+
* @default undefined
|
|
67
|
+
*/
|
|
68
|
+
columnOrder?: string[] | undefined;
|
|
69
|
+
/** Initial display order of column keys, for uncontrolled usage; `[]` keeps source order. @default [] */
|
|
70
|
+
defaultColumnOrder?: string[];
|
|
71
|
+
/**
|
|
72
|
+
* Which edge each pinned column sticks to, for controlled usage. Pair with `v-model:column-pins`.
|
|
73
|
+
* @default undefined
|
|
74
|
+
*/
|
|
75
|
+
columnPins?: TableColumnPins | undefined;
|
|
76
|
+
/** Initially pinned columns keyed by `columnKey`, for uncontrolled usage. @default {} */
|
|
77
|
+
defaultColumnPins?: TableColumnPins;
|
|
78
|
+
/**
|
|
79
|
+
* Group keys whose rows are hidden, for controlled usage. Pair with `v-model:collapsed-groups`.
|
|
80
|
+
* @default undefined
|
|
81
|
+
*/
|
|
82
|
+
collapsedGroups?: string[] | undefined;
|
|
83
|
+
/** Initially collapsed group keys, for uncontrolled usage; groups start expanded. @default [] */
|
|
84
|
+
defaultCollapsedGroups?: string[];
|
|
85
|
+
/**
|
|
86
|
+
* Tree parents whose child rows are rendered, for controlled usage. Pair with `v-model:expanded-node-ids`.
|
|
87
|
+
* @default undefined
|
|
88
|
+
*/
|
|
89
|
+
expandedNodeIds?: string[] | undefined;
|
|
90
|
+
/** Initially expanded tree parents, for uncontrolled usage; parents start collapsed. @default [] */
|
|
91
|
+
defaultExpandedNodeIds?: string[];
|
|
92
|
+
/** Format the announcement made after a keyboard move or a drop. Return an empty string to announce nothing. */
|
|
93
|
+
getMoveLabel?: (column: string, position: number, count: number) => string;
|
|
56
94
|
/**
|
|
57
95
|
* The columns of the derived anatomy, ignored once the default slot supplies its own parts.
|
|
58
96
|
* @default undefined — no derived anatomy; compose the parts yourself.
|
|
@@ -98,6 +136,31 @@ declare const _default: <TRow extends object = object>(__VLS_props: NonNullable<
|
|
|
98
136
|
* @default false — derived columns are not filterable.
|
|
99
137
|
*/
|
|
100
138
|
filterable?: boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Makes derived columns reorderable, each with a move trigger; the derived view then renders them in `columnOrder`.
|
|
141
|
+
* @default false — derived columns are not reorderable.
|
|
142
|
+
*/
|
|
143
|
+
reorderable?: boolean;
|
|
144
|
+
/**
|
|
145
|
+
* Makes derived columns pinnable, each with a pin trigger; the derived view then renders pinned columns at the edges.
|
|
146
|
+
* @default false — derived columns are not pinnable.
|
|
147
|
+
*/
|
|
148
|
+
pinnable?: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Column key the derived rows are grouped by, one group row per distinct value in first-appearance order.
|
|
151
|
+
* @default undefined — the derived rows are not grouped.
|
|
152
|
+
*/
|
|
153
|
+
groupBy?: string | undefined;
|
|
154
|
+
/**
|
|
155
|
+
* Renders one derived group row's label, overridden by the `group-header` slot.
|
|
156
|
+
* @default undefined — a group row renders its key and row count, as in `EMEA (12)`.
|
|
157
|
+
*/
|
|
158
|
+
renderGroupHeader?: ((groupKey: string, rows: TRow[]) => unknown) | undefined;
|
|
159
|
+
/**
|
|
160
|
+
* Returns a row's children so the derived view renders it as a tree parent, one level deeper each time.
|
|
161
|
+
* @default undefined — the derived rows are a flat list.
|
|
162
|
+
*/
|
|
163
|
+
getSubRows?: ((row: TRow) => TRow[] | undefined) | undefined;
|
|
101
164
|
/**
|
|
102
165
|
* Content for the derived empty state, shown when `data` is empty.
|
|
103
166
|
* @default undefined — no derived empty state.
|
|
@@ -134,9 +197,15 @@ declare const _default: <TRow extends object = object>(__VLS_props: NonNullable<
|
|
|
134
197
|
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
135
198
|
attrs: any;
|
|
136
199
|
slots: {
|
|
137
|
-
|
|
200
|
+
/** Full manual composition — the table's own header, body and footer parts. */
|
|
201
|
+
default?(): unknown;
|
|
202
|
+
/** Label of a derived group row, given the group key and the rows it heads. */
|
|
203
|
+
'group-header'?(props: {
|
|
204
|
+
groupKey: string;
|
|
205
|
+
rows: TRow[];
|
|
206
|
+
}): unknown;
|
|
138
207
|
};
|
|
139
|
-
emit: ((evt: "update:sort", sort: TableSort) => void) & ((evt: "sort-change", sort: TableSort) => void) & ((evt: "update:filter", filter: TableFilterState) => void) & ((evt: "filter-change", filter: TableFilterState) => void) & ((evt: "update:selected", selected: string[]) => void) & ((evt: "selected-change", selected: string[]) => void) & ((evt: "update:expandedRowIds", rowIds: string[]) => void) & ((evt: "expanded-row-ids-change", rowIds: string[]) => void) & ((evt: "update:columnWidths", widths: TableColumnWidths) => void) & ((evt: "column-widths-change", widths: TableColumnWidths) => void) & ((evt: "column-widths-commit", widths: TableColumnWidths) => void);
|
|
208
|
+
emit: ((evt: "update:sort", sort: TableSort) => void) & ((evt: "sort-change", sort: TableSort) => void) & ((evt: "update:filter", filter: TableFilterState) => void) & ((evt: "filter-change", filter: TableFilterState) => void) & ((evt: "update:selected", selected: string[]) => void) & ((evt: "selected-change", selected: string[]) => void) & ((evt: "update:expandedRowIds", rowIds: string[]) => void) & ((evt: "expanded-row-ids-change", rowIds: string[]) => void) & ((evt: "update:columnWidths", widths: TableColumnWidths) => void) & ((evt: "column-widths-change", widths: TableColumnWidths) => void) & ((evt: "column-widths-commit", widths: TableColumnWidths) => void) & ((evt: "update:columnOrder", columnOrder: string[]) => void) & ((evt: "column-order-change", columnOrder: string[]) => void) & ((evt: "update:columnPins", columnPins: TableColumnPins) => void) & ((evt: "column-pins-change", columnPins: TableColumnPins) => void) & ((evt: "update:collapsedGroups", collapsedGroups: string[]) => void) & ((evt: "collapsed-groups-change", collapsedGroups: string[]) => void) & ((evt: "update:expandedNodeIds", expandedNodeIds: string[]) => void) & ((evt: "expanded-node-ids-change", expandedNodeIds: string[]) => void);
|
|
140
209
|
}>) => import("vue").VNode & {
|
|
141
210
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
142
211
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const we=require("../utils/appearance.cjs"),xe=require("../utils/id.cjs"),U=require("../utils/liveAnnouncer.cjs"),Se=require("../utils/clamp.cjs"),R=require("./context.cjs"),ye=require("./TableAnatomy.vue.cjs");let n=require("vue");var Ce=["aria-rowcount","aria-colcount"],Re=(0,n.defineComponent)({inheritAttrs:!1,__name:"Table",props:{sort:{default:void 0},defaultSort:{default:()=>[]},filter:{default:void 0},defaultFilter:{default:()=>({})},rowCount:{default:void 0},columnCount:{default:void 0},multiSort:{type:Boolean,default:!1},selected:{default:void 0},defaultSelected:{default:void 0},selectionMode:{},getSortLabel:{type:Function,default:R.defaultGetSortLabel},expandedRowIds:{},defaultExpandedRowIds:{default:()=>[]},columnWidths:{},defaultColumnWidths:{default:()=>({})},columnOrder:{},defaultColumnOrder:{default:()=>[]},columnPins:{},defaultColumnPins:{default:()=>({})},collapsedGroups:{},defaultCollapsedGroups:{default:()=>[]},expandedNodeIds:{},defaultExpandedNodeIds:{default:()=>[]},getMoveLabel:{type:Function,default:R.defaultGetMoveLabel},columns:{},data:{},rowId:{},getRowLabel:{},sortable:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1},expandable:{type:Boolean,default:!1},resizable:{type:Boolean,default:!1},filterable:{type:Boolean,default:!1},reorderable:{type:Boolean,default:!1},pinnable:{type:Boolean,default:!1},groupBy:{default:void 0},renderGroupHeader:{type:Function,default:void 0},getSubRows:{type:Function,default:void 0},empty:{},caption:{},renderCell:{},renderExpanded:{},density:{},stickyHeader:{type:Boolean,default:void 0},size:{default:void 0}},emits:["update:sort","sort-change","update:filter","filter-change","update:selected","selected-change","update:expandedRowIds","expanded-row-ids-change","update:columnWidths","column-widths-change","column-widths-commit","update:columnOrder","column-order-change","update:columnPins","column-pins-change","update:collapsedGroups","collapsed-groups-change","update:expandedNodeIds","expanded-node-ids-change"],setup(d,{emit:V}){function X(e,t,l){const o=e.find(r=>r.columnKey===t);let u="asc";return o!==void 0&&(u=o.direction==="asc"?"desc":null),l?u===null?e.filter(r=>r.columnKey!==t):o===void 0?[...e,{columnKey:t,direction:u}]:e.map(r=>r.columnKey===t?{columnKey:t,direction:u}:r):u===null?[]:[{columnKey:t,direction:u}]}function O(e){return e===void 0?new Set:e instanceof Set?e:new Set(e)}const a=d,f=(0,n.computed)(()=>a.selectionMode??(a.selectable?"multiple":"none")),k=(0,n.useAttrs)(),D=(0,n.computed)(()=>a.size??k["data-size"]),J=(0,n.computed)(()=>{const{"data-size":e,...t}=k;return t}),s=V,Q=xe.nextId("table"),i=(0,n.ref)(null),z=(0,n.ref)(a.defaultSort),B=(0,n.computed)(()=>a.sort!==void 0?a.sort:z.value),G=(0,n.shallowRef)(O(a.defaultSelected??[])),c=(0,n.computed)(()=>a.selected!==void 0?O(a.selected):G.value),q=(0,n.ref)(a.defaultFilter),A=(0,n.computed)(()=>a.filter!==void 0?a.filter:q.value);function Y(e,t){const l=A.value;if((l[e]??"")===t)return;const o={...l};t===""?delete o[e]:o[e]=t,a.filter===void 0&&(q.value=o),s("update:filter",o),s("filter-change",o)}function Z(e){a.sort===void 0&&(z.value=e),s("update:sort",e),s("sort-change",e)}function p(e){const t=c.value;if(t.size===e.size&&[...e].every(o=>t.has(o)))return;a.selected===void 0&&(G.value=e);const l=[...e];s("update:selected",l),s("selected-change",l)}function K(e,t=e){const l=X(B.value,e,a.multiSort);Z(l);const o=l.find(u=>u.columnKey===e)?.direction??null;U.announce(a.getSortLabel(t,o))}function _(){const e=i.value?.querySelectorAll(":scope > tbody > tr[data-row-id]");return e?[...e].map(t=>t.dataset.rowId):[]}let v=null;function ee(e,t=!1){if(f.value==="none")return;const l=c.value;if(t&&f.value==="multiple"&&v!==null&&v!==e){const u=_(),r=u.indexOf(v),C=u.indexOf(e);if(r!==-1&&C!==-1){const be=u.slice(Math.min(r,C),Math.max(r,C)+1);p(new Set([...l,...be]));return}}if(v=e,f.value==="single"){p(l.has(e)&&l.size===1?new Set:new Set([e]));return}const o=new Set(l);o.has(e)?o.delete(e):o.add(e),p(o)}function te(e){return c.value.has(e)}function E(e){return e.length>0&&e.every(t=>c.value.has(t))}function ne(e){return e.some(t=>c.value.has(t))&&!E(e)}function oe(e){if(f.value==="none")return;const t=c.value;if(e.length>0&&e.every(l=>t.has(l))){const l=new Set(t);for(const o of e)l.delete(o);p(l);return}p(new Set([...t,...e]))}const P=(0,n.ref)(a.defaultExpandedRowIds),m=(0,n.computed)(()=>a.expandedRowIds??P.value),I=(0,n.computed)(()=>new Set(m.value));function le(e){const t=m.value.includes(e)?m.value.filter(l=>l!==e):[...m.value,e];a.expandedRowIds===void 0&&(P.value=t),s("update:expandedRowIds",t),s("expanded-row-ids-change",t)}function ae(e){return I.value.has(e)}const N=(0,n.ref)({...a.defaultColumnWidths}),h=(0,n.computed)(()=>a.columnWidths??N.value);function de(e,t){if(h.value[e]===t)return;const l={...h.value,[e]:t};a.columnWidths===void 0&&(N.value=l),s("update:columnWidths",l),s("column-widths-change",l)}function ue(){s("column-widths-commit",h.value)}const W=(0,n.ref)([...a.defaultColumnOrder]),re=(0,n.computed)(()=>a.columnOrder??W.value);function se(){const e=i.value?.querySelectorAll(":scope > thead th[data-column-key]");return e?[...e].map(t=>t.dataset.columnKey):[]}function ce(e,t,l=e){const o=se(),u=o.indexOf(e);if(u===-1)return;const r=Se.clamp(t,0,o.length-1);u!==r&&(o.splice(u,1),o.splice(r,0,e),a.columnOrder===void 0&&(W.value=o),s("update:columnOrder",o),s("column-order-change",o),U.announce(a.getMoveLabel(l,r+1,o.length)))}const L=(0,n.ref)({...a.defaultColumnPins}),x=(0,n.computed)(()=>a.columnPins??L.value);function ie(e,t){const l=x.value;if((l[e]??null)===t)return;const o={...l};t===null?delete o[e]:o[e]=t,a.columnPins===void 0&&(L.value=o),s("update:columnPins",o),s("column-pins-change",o)}const M=(0,n.shallowRef)({});let S={};function F(){const e=i.value,t={};if(e&&Object.keys(x.value).length>0){const o=[...e.querySelectorAll("thead th[data-column-key]")];let u=0;for(const r of o)r.dataset.pinned==="start"&&(t[r.dataset.columnKey]=u,u+=r.offsetWidth);u=0;for(const r of[...o].reverse())r.dataset.pinned==="end"&&(t[r.dataset.columnKey]=u,u+=r.offsetWidth)}const l=Object.keys(t);l.length===Object.keys(S).length&&l.every(o=>S[o]===t[o])||(S=t,M.value=t)}(0,n.watchPostEffect)(F);let y=null;(0,n.onMounted)(()=>{typeof ResizeObserver>"u"||!i.value||(y=new ResizeObserver(F),y.observe(i.value))}),(0,n.onBeforeUnmount)(()=>y?.disconnect());const H=(0,n.ref)([...a.defaultCollapsedGroups]),g=(0,n.computed)(()=>a.collapsedGroups??H.value),T=(0,n.computed)(()=>new Set(g.value));function fe(e){const t=g.value.includes(e)?g.value.filter(l=>l!==e):[...g.value,e];a.collapsedGroups===void 0&&(H.value=t),s("update:collapsedGroups",t),s("collapsed-groups-change",t)}function pe(e){return T.value.has(e)}const $=(0,n.ref)([...a.defaultExpandedNodeIds]),b=(0,n.computed)(()=>a.expandedNodeIds??$.value),j=(0,n.computed)(()=>new Set(b.value));function ve(e){const t=b.value.includes(e)?b.value.filter(l=>l!==e):[...b.value,e];a.expandedNodeIds===void 0&&($.value=t),s("update:expandedNodeIds",t),s("expanded-node-ids-change",t)}function me(e){return j.value.has(e)}const w=(0,n.ref)(0),he=(0,n.computed)(()=>w.value>0?w.value:a.columnCount??1);function ge(){return w.value+=1,()=>{w.value-=1}}return(0,n.provide)(R.TABLE_CONTEXT,{tableId:Q,headerCellCount:he,registerHeaderCell:ge,sortList:B,get multiSort(){return a.multiSort},selected:c,get selectionMode(){return f.value},toggleSort:K,filterMap:A,setColumnFilter:Y,toggleRow:ee,isRowSelected:te,toggleAll:oe,isAllSelected:E,isSomeSelected:ne,expandedRows:I,toggleRowExpanded:le,isRowExpanded:ae,columnWidths:h,setColumnWidth:de,commitColumnWidths:ue,columnOrder:re,moveColumn:ce,columnPins:x,setColumnPin:ie,pinOffsets:M,collapsedGroups:T,toggleGroup:fe,isGroupCollapsed:pe,expandedNodes:j,toggleNode:ve,isNodeExpanded:me}),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)("table",(0,n.mergeProps)({ref_key:"tableRef",ref:i,class:"skdx-table","data-part":"root","data-skdx-component":"table","aria-rowcount":d.rowCount,"aria-colcount":d.columnCount},{...J.value,...(0,n.unref)(we.appearanceAttrs)({density:d.density,stickyHeader:d.stickyHeader},e.$attrs)}),[(0,n.renderSlot)(e.$slots,"default",{},()=>[d.columns&&d.data?((0,n.openBlock)(),(0,n.createBlock)(ye.default,{key:0,columns:d.columns,data:d.data,"row-id":d.rowId,"get-row-label":d.getRowLabel,sortable:d.sortable,selectable:d.selectable,expandable:d.expandable,resizable:d.resizable,filterable:d.filterable,reorderable:d.reorderable,pinnable:d.pinnable,"group-by":d.groupBy,"render-group-header":d.renderGroupHeader,"get-sub-rows":d.getSubRows,empty:d.empty,caption:d.caption,"render-cell":d.renderCell,"render-expanded":d.renderExpanded,size:D.value},(0,n.createSlots)({_:2},[e.$slots["group-header"]?{name:"group-header",fn:(0,n.withCtx)(l=>[(0,n.renderSlot)(e.$slots,"group-header",(0,n.normalizeProps)((0,n.guardReactiveProps)(l)))]),key:"0"}:void 0]),1032,["columns","data","row-id","get-row-label","sortable","selectable","expandable","resizable","filterable","reorderable","pinnable","group-by","render-group-header","get-sub-rows","empty","caption","render-cell","render-expanded","size"])):(0,n.createCommentVNode)("",!0)])],16,Ce))}});exports.default=Re;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{appearanceAttrs as e}from"../utils/appearance.js";import{nextId as t}from"../utils/id.js";import{announce as l}from"../utils/liveAnnouncer.js";import{TABLE_CONTEXT as a,defaultGetSortLabel as
|
|
1
|
+
import{appearanceAttrs as e}from"../utils/appearance.js";import{nextId as t}from"../utils/id.js";import{announce as l}from"../utils/liveAnnouncer.js";import{clamp as o}from"../utils/clamp.js";import{TABLE_CONTEXT as a,defaultGetMoveLabel as n,defaultGetSortLabel as d}from"./context.js";import u from"./TableAnatomy.vue.js";import{computed as r,createBlock as s,createCommentVNode as i,createElementBlock as c,createSlots as p,defineComponent as f,guardReactiveProps as m,mergeProps as v,normalizeProps as h,onBeforeUnmount as g,onMounted as b,openBlock as y,provide as w,ref as x,renderSlot as S,shallowRef as C,unref as R,useAttrs as I,watchPostEffect as O,withCtx as k}from"vue";var z=["aria-rowcount","aria-colcount"],B=/* @__PURE__ */f({inheritAttrs:!1,__name:"Table",props:{sort:{default:void 0},defaultSort:{default:()=>[]},filter:{default:void 0},defaultFilter:{default:()=>({})},rowCount:{default:void 0},columnCount:{default:void 0},multiSort:{type:Boolean,default:!1},selected:{default:void 0},defaultSelected:{default:void 0},selectionMode:{},getSortLabel:{type:Function,default:d},expandedRowIds:{},defaultExpandedRowIds:{default:()=>[]},columnWidths:{},defaultColumnWidths:{default:()=>({})},columnOrder:{},defaultColumnOrder:{default:()=>[]},columnPins:{},defaultColumnPins:{default:()=>({})},collapsedGroups:{},defaultCollapsedGroups:{default:()=>[]},expandedNodeIds:{},defaultExpandedNodeIds:{default:()=>[]},getMoveLabel:{type:Function,default:n},columns:{},data:{},rowId:{},getRowLabel:{},sortable:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1},expandable:{type:Boolean,default:!1},resizable:{type:Boolean,default:!1},filterable:{type:Boolean,default:!1},reorderable:{type:Boolean,default:!1},pinnable:{type:Boolean,default:!1},groupBy:{default:void 0},renderGroupHeader:{type:Function,default:void 0},getSubRows:{type:Function,default:void 0},empty:{},caption:{},renderCell:{},renderExpanded:{},density:{},stickyHeader:{type:Boolean,default:void 0},size:{default:void 0}},emits:["update:sort","sort-change","update:filter","filter-change","update:selected","selected-change","update:expandedRowIds","expanded-row-ids-change","update:columnWidths","column-widths-change","column-widths-commit","update:columnOrder","column-order-change","update:columnPins","column-pins-change","update:collapsedGroups","collapsed-groups-change","update:expandedNodeIds","expanded-node-ids-change"],setup(n,{emit:d}){function f(e){return void 0===e?/* @__PURE__ */new Set:e instanceof Set?e:new Set(e)}const B=n,G=r(()=>B.selectionMode??(B.selectable?"multiple":"none")),E=I(),P=r(()=>B.size??E["data-size"]),N=r(()=>{const{"data-size":e,...t}=E;return t}),W=d,A=t("table"),K=x(null),L=x(B.defaultSort),M=r(()=>void 0!==B.sort?B.sort:L.value),j=C(f(B.defaultSelected??[])),F=r(()=>void 0!==B.selected?f(B.selected):j.value),H=x(B.defaultFilter),T=r(()=>void 0!==B.filter?B.filter:H.value);function _(e){const t=F.value;if(t.size===e.size&&[...e].every(e=>t.has(e)))return;void 0===B.selected&&(j.value=e);const l=[...e];W("update:selected",l),W("selected-change",l)}let $=null;function q(e){return e.length>0&&e.every(e=>F.value.has(e))}const U=x(B.defaultExpandedRowIds),V=r(()=>B.expandedRowIds??U.value),X=r(()=>new Set(V.value)),D=x({...B.defaultColumnWidths}),J=r(()=>B.columnWidths??D.value),Q=x([...B.defaultColumnOrder]),Y=r(()=>B.columnOrder??Q.value),Z=x({...B.defaultColumnPins}),ee=r(()=>B.columnPins??Z.value),te=C({});let le={};function oe(){const e=K.value,t={};if(e&&Object.keys(ee.value).length>0){const l=[...e.querySelectorAll("thead th[data-column-key]")];let o=0;for(const e of l)"start"===e.dataset.pinned&&(t[e.dataset.columnKey]=o,o+=e.offsetWidth);o=0;for(const e of[...l].reverse())"end"===e.dataset.pinned&&(t[e.dataset.columnKey]=o,o+=e.offsetWidth)}const l=Object.keys(t);l.length===Object.keys(le).length&&l.every(e=>le[e]===t[e])||(le=t,te.value=t)}O(oe);let ae=null;b(()=>{typeof ResizeObserver>"u"||!K.value||(ae=new ResizeObserver(oe),ae.observe(K.value))}),g(()=>ae?.disconnect());const ne=x([...B.defaultCollapsedGroups]),de=r(()=>B.collapsedGroups??ne.value),ue=r(()=>new Set(de.value)),re=x([...B.defaultExpandedNodeIds]),se=r(()=>B.expandedNodeIds??re.value),ie=r(()=>new Set(se.value)),ce=x(0),pe=r(()=>ce.value>0?ce.value:B.columnCount??1);return w(a,{tableId:A,headerCellCount:pe,registerHeaderCell:function(){return ce.value+=1,()=>{ce.value-=1}},sortList:M,get multiSort(){return B.multiSort},selected:F,get selectionMode(){return G.value},toggleSort:function(e,t=e){const o=function(e,t,l){const o=e.find(e=>e.columnKey===t);let a="asc";return void 0!==o&&(a="asc"===o.direction?"desc":null),l?null===a?e.filter(e=>e.columnKey!==t):void 0===o?[...e,{columnKey:t,direction:a}]:e.map(e=>e.columnKey===t?{columnKey:t,direction:a}:e):null===a?[]:[{columnKey:t,direction:a}]}(M.value,e,B.multiSort);!function(e){void 0===B.sort&&(L.value=e),W("update:sort",e),W("sort-change",e)}(o);const a=o.find(t=>t.columnKey===e)?.direction??null;l(B.getSortLabel(t,a))},filterMap:T,setColumnFilter:function(e,t){const l=T.value;if((l[e]??"")===t)return;const o={...l};""===t?delete o[e]:o[e]=t,void 0===B.filter&&(H.value=o),W("update:filter",o),W("filter-change",o)},toggleRow:function(e,t=!1){if("none"===G.value)return;const l=F.value;if(t&&"multiple"===G.value&&null!==$&&$!==e){const t=function(){const e=K.value?.querySelectorAll(":scope > tbody > tr[data-row-id]");return e?[...e].map(e=>e.dataset.rowId):[]}(),o=t.indexOf($),a=t.indexOf(e);if(-1!==o&&-1!==a){const e=t.slice(Math.min(o,a),Math.max(o,a)+1);return void _(/* @__PURE__ */new Set([...l,...e]))}}if($=e,"single"===G.value)return void _(l.has(e)&&1===l.size?/* @__PURE__ */new Set:/* @__PURE__ */new Set([e]));const o=new Set(l);o.has(e)?o.delete(e):o.add(e),_(o)},isRowSelected:function(e){return F.value.has(e)},toggleAll:function(e){if("none"===G.value)return;const t=F.value;if(e.length>0&&e.every(e=>t.has(e))){const l=new Set(t);for(const t of e)l.delete(t);return void _(l)}_(/* @__PURE__ */new Set([...t,...e]))},isAllSelected:q,isSomeSelected:function(e){return e.some(e=>F.value.has(e))&&!q(e)},expandedRows:X,toggleRowExpanded:function(e){const t=V.value.includes(e)?V.value.filter(t=>t!==e):[...V.value,e];void 0===B.expandedRowIds&&(U.value=t),W("update:expandedRowIds",t),W("expanded-row-ids-change",t)},isRowExpanded:function(e){return X.value.has(e)},columnWidths:J,setColumnWidth:function(e,t){if(J.value[e]===t)return;const l={...J.value,[e]:t};void 0===B.columnWidths&&(D.value=l),W("update:columnWidths",l),W("column-widths-change",l)},commitColumnWidths:function(){W("column-widths-commit",J.value)},columnOrder:Y,moveColumn:function(e,t,a=e){const n=function(){const e=K.value?.querySelectorAll(":scope > thead th[data-column-key]");return e?[...e].map(e=>e.dataset.columnKey):[]}(),d=n.indexOf(e);if(-1===d)return;const u=o(t,0,n.length-1);d!==u&&(n.splice(d,1),n.splice(u,0,e),void 0===B.columnOrder&&(Q.value=n),W("update:columnOrder",n),W("column-order-change",n),l(B.getMoveLabel(a,u+1,n.length)))},columnPins:ee,setColumnPin:function(e,t){const l=ee.value;if((l[e]??null)===t)return;const o={...l};null===t?delete o[e]:o[e]=t,void 0===B.columnPins&&(Z.value=o),W("update:columnPins",o),W("column-pins-change",o)},pinOffsets:te,collapsedGroups:ue,toggleGroup:function(e){const t=de.value.includes(e)?de.value.filter(t=>t!==e):[...de.value,e];void 0===B.collapsedGroups&&(ne.value=t),W("update:collapsedGroups",t),W("collapsed-groups-change",t)},isGroupCollapsed:function(e){return ue.value.has(e)},expandedNodes:ie,toggleNode:function(e){const t=se.value.includes(e)?se.value.filter(t=>t!==e):[...se.value,e];void 0===B.expandedNodeIds&&(re.value=t),W("update:expandedNodeIds",t),W("expanded-node-ids-change",t)},isNodeExpanded:function(e){return ie.value.has(e)}}),(t,l)=>(y(),c("table",v({ref_key:"tableRef",ref:K,class:"skdx-table","data-part":"root","data-skdx-component":"table","aria-rowcount":n.rowCount,"aria-colcount":n.columnCount},{...N.value,...R(e)({density:n.density,stickyHeader:n.stickyHeader},t.$attrs)}),[S(t.$slots,"default",{},()=>[n.columns&&n.data?(y(),s(u,{key:0,columns:n.columns,data:n.data,"row-id":n.rowId,"get-row-label":n.getRowLabel,sortable:n.sortable,selectable:n.selectable,expandable:n.expandable,resizable:n.resizable,filterable:n.filterable,reorderable:n.reorderable,pinnable:n.pinnable,"group-by":n.groupBy,"render-group-header":n.renderGroupHeader,"get-sub-rows":n.getSubRows,empty:n.empty,caption:n.caption,"render-cell":n.renderCell,"render-expanded":n.renderExpanded,size:P.value},p({_:2},[t.$slots["group-header"]?{name:"group-header",fn:k(e=>[S(t.$slots,"group-header",h(m(e)))]),key:"0"}:void 0]),1032,["columns","data","row-id","get-row-label","sortable","selectable","expandable","resizable","filterable","reorderable","pinnable","group-by","render-group-header","get-sub-rows","empty","caption","render-cell","render-expanded","size"])):i("",!0)])],16,z))}});export{B as default};
|
|
@@ -10,6 +10,11 @@ declare const _default: <TRow extends object>(__VLS_props: NonNullable<Awaited<t
|
|
|
10
10
|
expandable?: boolean | undefined;
|
|
11
11
|
resizable?: boolean | undefined;
|
|
12
12
|
filterable?: boolean | undefined;
|
|
13
|
+
reorderable?: boolean | undefined;
|
|
14
|
+
pinnable?: boolean | undefined;
|
|
15
|
+
groupBy?: string | undefined;
|
|
16
|
+
renderGroupHeader?: ((groupKey: string, rows: TRow[]) => unknown) | undefined;
|
|
17
|
+
getSubRows?: ((row: TRow) => TRow[] | undefined) | undefined;
|
|
13
18
|
empty?: string | undefined;
|
|
14
19
|
caption?: string | undefined;
|
|
15
20
|
renderCell?: ((row: TRow, column: TableColumnDef<TRow>) => unknown) | undefined;
|
|
@@ -22,7 +27,12 @@ declare const _default: <TRow extends object>(__VLS_props: NonNullable<Awaited<t
|
|
|
22
27
|
} & Partial<{}>> & import("vue").PublicProps;
|
|
23
28
|
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
24
29
|
attrs: any;
|
|
25
|
-
slots: {
|
|
30
|
+
slots: {
|
|
31
|
+
'group-header'?(props: {
|
|
32
|
+
groupKey: string;
|
|
33
|
+
rows: TRow[];
|
|
34
|
+
}): unknown;
|
|
35
|
+
};
|
|
26
36
|
emit: {};
|
|
27
37
|
}>) => import("vue").VNode & {
|
|
28
38
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
@@ -10,6 +10,11 @@ declare const _default: <TRow extends object>(__VLS_props: NonNullable<Awaited<t
|
|
|
10
10
|
expandable?: boolean | undefined;
|
|
11
11
|
resizable?: boolean | undefined;
|
|
12
12
|
filterable?: boolean | undefined;
|
|
13
|
+
reorderable?: boolean | undefined;
|
|
14
|
+
pinnable?: boolean | undefined;
|
|
15
|
+
groupBy?: string | undefined;
|
|
16
|
+
renderGroupHeader?: ((groupKey: string, rows: TRow[]) => unknown) | undefined;
|
|
17
|
+
getSubRows?: ((row: TRow) => TRow[] | undefined) | undefined;
|
|
13
18
|
empty?: string | undefined;
|
|
14
19
|
caption?: string | undefined;
|
|
15
20
|
renderCell?: ((row: TRow, column: TableColumnDef<TRow>) => unknown) | undefined;
|
|
@@ -22,7 +27,12 @@ declare const _default: <TRow extends object>(__VLS_props: NonNullable<Awaited<t
|
|
|
22
27
|
} & Partial<{}>> & import("vue").PublicProps;
|
|
23
28
|
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
24
29
|
attrs: any;
|
|
25
|
-
slots: {
|
|
30
|
+
slots: {
|
|
31
|
+
'group-header'?(props: {
|
|
32
|
+
groupKey: string;
|
|
33
|
+
rows: TRow[];
|
|
34
|
+
}): unknown;
|
|
35
|
+
};
|
|
26
36
|
emit: {};
|
|
27
37
|
}>) => import("vue").VNode & {
|
|
28
38
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const F=require("../utils/injectRequired.cjs"),f=require("../utils/renderProp.cjs"),p=require("./context.cjs"),z=require("./TableBody.vue.cjs"),L=require("./TableCaption.vue.cjs"),w=require("./TableCell.vue.cjs"),D=require("./TableEmpty.vue.cjs"),$=require("./TableExpandedRow.vue.cjs"),P=require("./TableExpandTrigger.vue.cjs"),A=require("./TableGroupRow.vue.cjs"),G=require("./TableHeader.vue.cjs"),g=require("./TableHeaderCell.vue.cjs"),q=require("./TableRow.vue.cjs"),H=require("./TableRowSelectCheckbox.vue.cjs"),O=require("./TableSelectAllCheckbox.vue.cjs"),I=require("./TableTreeTrigger.vue.cjs");let e=require("vue");var M=(0,e.defineComponent)({__name:"TableAnatomy",props:{columns:{},data:{},rowId:{type:Function,default:void 0},getRowLabel:{type:Function,default:void 0},sortable:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1},expandable:{type:Boolean,default:!1},resizable:{type:Boolean,default:!1},filterable:{type:Boolean,default:!1},reorderable:{type:Boolean,default:!1},pinnable:{type:Boolean,default:!1},groupBy:{default:void 0},renderGroupHeader:{type:Function,default:void 0},getSubRows:{type:Function,default:void 0},empty:{default:void 0},caption:{default:void 0},renderCell:{type:Function,default:void 0},renderExpanded:{type:Function,default:void 0},size:{default:void 0}},setup(o){const n=o,c=F.injectRequired(p.TABLE_CONTEXT,"TableAnatomy must be used within SkdxTable.");function s(r){return typeof r=="string"?r:String(r)}function b(r,a){if(n.rowId)return n.rowId(r,a);const t=p.cellValue(r,"id");return t===void 0?String(a):s(t)}function T(r,a){return n.getRowLabel?n.getRowLabel(r,a):`row ${b(r,a)}`}function V(r,a){const t=p.cellValue(r,a.key);return t==null?"":s(t)}function N(r,a){return typeof r=="number"&&typeof a=="number"?r-a:s(r??"").localeCompare(s(a??""))}const R=(0,e.computed)(()=>{const r=Object.entries(c.filterMap.value).filter(([,a])=>a!=="");return r.length===0?n.data:n.data.filter(a=>r.every(([t,i])=>s(p.cellValue(a,t)??"").toLowerCase().includes(i.toLowerCase())))});function m(r){const a=c.sortList.value;return a.length===0?r:[...r].sort((t,i)=>{for(const{columnKey:d,direction:u}of a){const l=N(t[d],i[d]);if(l!==0)return u==="asc"?l:-l}return 0})}const y=(0,e.computed)(()=>m(R.value)),h=(0,e.computed)(()=>{const r=c.columnOrder.value,a=new Map(n.columns.map(l=>[l.key,l])),t=r.map(l=>a.get(l)).filter(l=>l!==void 0),i=n.columns.filter(l=>!r.includes(l.key)),d=[...t,...i],u=c.columnPins.value;return[...d.filter(l=>u[l.key]==="start"),...d.filter(l=>u[l.key]===void 0),...d.filter(l=>u[l.key]==="end")]}),v=(0,e.computed)(()=>{const r=[];function a(d,u){for(const l of d){const C=r.length,x=b(l,C),B=n.getSubRows?.(l)??[];r.push({kind:"row",row:l,id:x,label:T(l,C),level:u,parent:B.length>0}),B.length>0&&c.isNodeExpanded(x)&&a(m(B),(u??0)+1)}}const t=n.getSubRows?0:void 0;if(n.groupBy===void 0)return a(y.value,t),r;const i=new Map;for(const d of y.value){const u=s(p.cellValue(d,n.groupBy)??""),l=i.get(u);l?l.push(d):i.set(u,[d])}for(const[d,u]of i)r.push({kind:"group",key:d,rows:u}),c.isGroupCollapsed(d)||a(u,t);return r}),E=(0,e.computed)(()=>v.value.filter(r=>r.kind==="row")),k=(0,e.computed)(()=>n.columns.length+(n.selectable?1:0)+(n.expandable?1:0)),S=(0,e.computed)(()=>E.value.map(r=>r.id));return(r,a)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[o.caption?((0,e.openBlock)(),(0,e.createBlock)(L.default,{key:0},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(o.caption),1)]),_:1})):(0,e.createCommentVNode)("",!0),(0,e.createVNode)(G.default,null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)(q.default,null,{default:(0,e.withCtx)(()=>[o.selectable?((0,e.openBlock)(),(0,e.createBlock)(g.default,{key:0},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(O.default,{"row-ids":S.value,scope:"page",size:o.size},null,8,["row-ids","size"])]),_:1})):(0,e.createCommentVNode)("",!0),o.expandable?((0,e.openBlock)(),(0,e.createBlock)(g.default,{key:1,"aria-hidden":"true"})):(0,e.createCommentVNode)("",!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(h.value,t=>((0,e.openBlock)(),(0,e.createBlock)(g.default,{key:t.key,"column-key":t.key,sortable:t.sortable??o.sortable,filterable:t.filterable??o.filterable,"filter-label":`Filter ${typeof t.header=="string"?t.header:t.key}`,resizable:t.resizable??o.resizable,reorderable:t.reorderable??o.reorderable,pinnable:t.pinnable??o.pinnable,"reorder-label":`Move ${typeof t.header=="string"?t.header:t.key}`,"pin-label":`Pin ${typeof t.header=="string"?t.header:t.key}`,"min-width":t.minWidth,"max-width":t.maxWidth},{default:(0,e.withCtx)(()=>[t.header!==void 0&&typeof t.header!="string"?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(f.RenderProp),{key:0,render:()=>t.header},null,8,["render"])):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.createTextVNode)((0,e.toDisplayString)(t.header??t.key),1)],64))]),_:2},1032,["column-key","sortable","filterable","filter-label","resizable","reorderable","pinnable","reorder-label","pin-label","min-width","max-width"]))),128))]),_:1})]),_:1}),(0,e.createVNode)(z.default,null,{default:(0,e.withCtx)(()=>[y.value.length===0&&o.empty?((0,e.openBlock)(),(0,e.createBlock)(D.default,{key:0,"col-span":k.value},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(o.empty),1)]),_:1},8,["col-span"])):(0,e.createCommentVNode)("",!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(v.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:t.kind==="group"?`group:${t.key}`:t.id},[t.kind==="group"?((0,e.openBlock)(),(0,e.createBlock)(A.default,{key:0,"group-key":t.key,"col-span":k.value},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(r.$slots,"group-header",{groupKey:t.key,rows:t.rows},()=>[typeof o.renderGroupHeader=="function"?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(f.RenderProp),{key:0,render:()=>n.renderGroupHeader(t.key,t.rows)},null,8,["render"])):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.createTextVNode)((0,e.toDisplayString)(t.key)+" ("+(0,e.toDisplayString)(t.rows.length)+")",1)],64))])]),_:2},1032,["group-key","col-span"])):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.createVNode)(q.default,{"row-id":o.selectable?t.id:void 0,level:t.level},{default:(0,e.withCtx)(()=>[o.selectable?((0,e.openBlock)(),(0,e.createBlock)(w.default,{key:0},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(H.default,{"row-id":t.id,"aria-label":`Select ${t.label}`,size:o.size},null,8,["row-id","aria-label","size"])]),_:2},1024)):(0,e.createCommentVNode)("",!0),o.expandable?((0,e.openBlock)(),(0,e.createBlock)(w.default,{key:1},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(P.default,{"row-id":t.id,"aria-label":`Details for ${t.label}`},null,8,["row-id","aria-label"])]),_:2},1024)):(0,e.createCommentVNode)("",!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(h.value,(i,d)=>((0,e.openBlock)(),(0,e.createBlock)(w.default,{key:i.key,"column-key":i.key},{default:(0,e.withCtx)(()=>[d===0&&t.parent?((0,e.openBlock)(),(0,e.createBlock)(I.default,{key:0,"row-id":t.id,"aria-label":`Children of ${t.label}`},null,8,["row-id","aria-label"])):(0,e.createCommentVNode)("",!0),typeof i.cell=="function"?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(f.RenderProp),{key:1,render:()=>i.cell(t.row)},null,8,["render"])):typeof o.renderCell=="function"?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(f.RenderProp),{key:2,render:()=>n.renderCell(t.row,i)},null,8,["render"])):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:3},[(0,e.createTextVNode)((0,e.toDisplayString)(V(t.row,i)),1)],64))]),_:2},1032,["column-key"]))),128))]),_:2},1032,["row-id","level"]),o.expandable?((0,e.openBlock)(),(0,e.createBlock)($.default,{key:0,"row-id":t.id,"col-span":k.value},{default:(0,e.withCtx)(()=>[typeof o.renderExpanded=="function"?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(f.RenderProp),{key:0,render:()=>n.renderExpanded(t.row)},null,8,["render"])):(0,e.createCommentVNode)("",!0)]),_:2},1032,["row-id","col-span"])):(0,e.createCommentVNode)("",!0)],64))],64))),128))]),_:3})],64))}});exports.default=M;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{injectRequired as e}from"../utils/injectRequired.js";import{RenderProp as
|
|
1
|
+
import{injectRequired as e}from"../utils/injectRequired.js";import{RenderProp as r}from"../utils/renderProp.js";import{TABLE_CONTEXT as l,cellValue as o}from"./context.js";import t from"./TableBody.vue.js";import a from"./TableCaption.vue.js";import n from"./TableCell.vue.js";import i from"./TableEmpty.vue.js";import d from"./TableExpandedRow.vue.js";import u from"./TableExpandTrigger.vue.js";import s from"./TableGroupRow.vue.js";import p from"./TableHeader.vue.js";import f from"./TableHeaderCell.vue.js";import c from"./TableRow.vue.js";import y from"./TableRowSelectCheckbox.vue.js";import b from"./TableSelectAllCheckbox.vue.js";import m from"./TableTreeTrigger.vue.js";import{Fragment as k,computed as v,createBlock as w,createCommentVNode as g,createElementBlock as h,createTextVNode as T,createVNode as x,defineComponent as j,openBlock as C,renderList as _,renderSlot as B,toDisplayString as R,unref as z,withCtx as S}from"vue";var E=/* @__PURE__ */j({__name:"TableAnatomy",props:{columns:{},data:{},rowId:{type:Function,default:void 0},getRowLabel:{type:Function,default:void 0},sortable:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1},expandable:{type:Boolean,default:!1},resizable:{type:Boolean,default:!1},filterable:{type:Boolean,default:!1},reorderable:{type:Boolean,default:!1},pinnable:{type:Boolean,default:!1},groupBy:{default:void 0},renderGroupHeader:{type:Function,default:void 0},getSubRows:{type:Function,default:void 0},empty:{default:void 0},caption:{default:void 0},renderCell:{type:Function,default:void 0},renderExpanded:{type:Function,default:void 0},size:{default:void 0}},setup(j){const E=j,$=e(l,"TableAnatomy must be used within SkdxTable.");function F(e){return"string"==typeof e?e:String(e)}function L(e,r){if(E.rowId)return E.rowId(e,r);const l=o(e,"id");return void 0===l?String(r):F(l)}function G(e,r){return E.getRowLabel?E.getRowLabel(e,r):`row ${L(e,r)}`}function H(e,r){const l=o(e,r.key);return null==l?"":F(l)}function N(e,r){return"number"==typeof e&&"number"==typeof r?e-r:F(e??"").localeCompare(F(r??""))}const A=v(()=>{const e=Object.entries($.filterMap.value).filter(([,e])=>""!==e);return 0===e.length?E.data:E.data.filter(r=>e.every(([e,l])=>F(o(r,e)??"").toLowerCase().includes(l.toLowerCase())))});function M(e){const r=$.sortList.value;return 0===r.length?e:[...e].sort((e,l)=>{for(const{columnKey:o,direction:t}of r){const r=N(e[o],l[o]);if(0!==r)return"asc"===t?r:-r}return 0})}const P=v(()=>M(A.value)),V=v(()=>{const e=$.columnOrder.value,r=new Map(E.columns.map(e=>[e.key,e])),l=[...e.map(e=>r.get(e)).filter(e=>void 0!==e),...E.columns.filter(r=>!e.includes(r.key))],o=$.columnPins.value;return[...l.filter(e=>"start"===o[e.key]),...l.filter(e=>void 0===o[e.key]),...l.filter(e=>"end"===o[e.key])]}),I=v(()=>{const e=[];function r(l,o){for(const t of l){const l=e.length,a=L(t,l),n=E.getSubRows?.(t)??[];e.push({kind:"row",row:t,id:a,label:G(t,l),level:o,parent:n.length>0}),n.length>0&&$.isNodeExpanded(a)&&r(M(n),(o??0)+1)}}const l=E.getSubRows?0:void 0;if(void 0===E.groupBy)return r(P.value,l),e;const t=/* @__PURE__ */new Map;for(const e of P.value){const r=F(o(e,E.groupBy)??""),l=t.get(r);l?l.push(e):t.set(r,[e])}for(const[o,a]of t)e.push({kind:"group",key:o,rows:a}),$.isGroupCollapsed(o)||r(a,l);return e}),O=v(()=>I.value.filter(e=>"row"===e.kind)),q=v(()=>E.columns.length+(E.selectable?1:0)+(E.expandable?1:0)),D=v(()=>O.value.map(e=>e.id));return(e,l)=>(C(),h(k,null,[j.caption?(C(),w(a,{key:0},{default:S(()=>[T(R(j.caption),1)]),_:1})):g("",!0),x(p,null,{default:S(()=>[x(c,null,{default:S(()=>[j.selectable?(C(),w(f,{key:0},{default:S(()=>[x(b,{"row-ids":D.value,scope:"page",size:j.size},null,8,["row-ids","size"])]),_:1})):g("",!0),j.expandable?(C(),w(f,{key:1,"aria-hidden":"true"})):g("",!0),(C(!0),h(k,null,_(V.value,e=>(C(),w(f,{key:e.key,"column-key":e.key,sortable:e.sortable??j.sortable,filterable:e.filterable??j.filterable,"filter-label":`Filter ${"string"==typeof e.header?e.header:e.key}`,resizable:e.resizable??j.resizable,reorderable:e.reorderable??j.reorderable,pinnable:e.pinnable??j.pinnable,"reorder-label":`Move ${"string"==typeof e.header?e.header:e.key}`,"pin-label":`Pin ${"string"==typeof e.header?e.header:e.key}`,"min-width":e.minWidth,"max-width":e.maxWidth},{default:S(()=>[void 0!==e.header&&"string"!=typeof e.header?(C(),w(z(r),{key:0,render:()=>e.header},null,8,["render"])):(C(),h(k,{key:1},[T(R(e.header??e.key),1)],64))]),_:2},1032,["column-key","sortable","filterable","filter-label","resizable","reorderable","pinnable","reorder-label","pin-label","min-width","max-width"]))),128))]),_:1})]),_:1}),x(t,null,{default:S(()=>[0===P.value.length&&j.empty?(C(),w(i,{key:0,"col-span":q.value},{default:S(()=>[T(R(j.empty),1)]),_:1},8,["col-span"])):g("",!0),(C(!0),h(k,null,_(I.value,l=>(C(),h(k,{key:"group"===l.kind?`group:${l.key}`:l.id},["group"===l.kind?(C(),w(s,{key:0,"group-key":l.key,"col-span":q.value},{default:S(()=>[B(e.$slots,"group-header",{groupKey:l.key,rows:l.rows},()=>["function"==typeof j.renderGroupHeader?(C(),w(z(r),{key:0,render:()=>E.renderGroupHeader(l.key,l.rows)},null,8,["render"])):(C(),h(k,{key:1},[T(R(l.key)+" ("+R(l.rows.length)+")",1)],64))])]),_:2},1032,["group-key","col-span"])):(C(),h(k,{key:1},[x(c,{"row-id":j.selectable?l.id:void 0,level:l.level},{default:S(()=>[j.selectable?(C(),w(n,{key:0},{default:S(()=>[x(y,{"row-id":l.id,"aria-label":`Select ${l.label}`,size:j.size},null,8,["row-id","aria-label","size"])]),_:2},1024)):g("",!0),j.expandable?(C(),w(n,{key:1},{default:S(()=>[x(u,{"row-id":l.id,"aria-label":`Details for ${l.label}`},null,8,["row-id","aria-label"])]),_:2},1024)):g("",!0),(C(!0),h(k,null,_(V.value,(e,o)=>(C(),w(n,{key:e.key,"column-key":e.key},{default:S(()=>[0===o&&l.parent?(C(),w(m,{key:0,"row-id":l.id,"aria-label":`Children of ${l.label}`},null,8,["row-id","aria-label"])):g("",!0),"function"==typeof e.cell?(C(),w(z(r),{key:1,render:()=>e.cell(l.row)},null,8,["render"])):"function"==typeof j.renderCell?(C(),w(z(r),{key:2,render:()=>E.renderCell(l.row,e)},null,8,["render"])):(C(),h(k,{key:3},[T(R(H(l.row,e)),1)],64))]),_:2},1032,["column-key"]))),128))]),_:2},1032,["row-id","level"]),j.expandable?(C(),w(d,{key:0,"row-id":l.id,"col-span":q.value},{default:S(()=>["function"==typeof j.renderExpanded?(C(),w(z(r),{key:0,render:()=>E.renderExpanded(l.row)},null,8,["render"])):g("",!0)]),_:2},1032,["row-id","col-span"])):g("",!0)],64))],64))),128))]),_:3})],64))}});export{E as default};
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
/** A single body cell (`<td>`) rendered inside a table row
|
|
2
|
-
type __VLS_Props = {
|
|
1
|
+
/** A single body cell (`<td>`) rendered inside a table row, following its column's pin when given a `columnKey`. */
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
/**
|
|
4
|
+
* Column this cell belongs to, so it sticks with a pinned header.
|
|
5
|
+
* @default undefined — the cell never pins.
|
|
6
|
+
*/
|
|
7
|
+
columnKey?: string | undefined;
|
|
8
|
+
};
|
|
3
9
|
declare var __VLS_1: {};
|
|
4
10
|
type __VLS_Slots = {} & {
|
|
5
11
|
default?: (props: typeof __VLS_1) => any;
|
|
6
12
|
};
|
|
7
|
-
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
13
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
14
|
+
columnKey: string | undefined;
|
|
15
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
8
16
|
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
9
17
|
export default _default;
|
|
10
18
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
/** A single body cell (`<td>`) rendered inside a table row
|
|
2
|
-
type __VLS_Props = {
|
|
1
|
+
/** A single body cell (`<td>`) rendered inside a table row, following its column's pin when given a `columnKey`. */
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
/**
|
|
4
|
+
* Column this cell belongs to, so it sticks with a pinned header.
|
|
5
|
+
* @default undefined — the cell never pins.
|
|
6
|
+
*/
|
|
7
|
+
columnKey?: string | undefined;
|
|
8
|
+
};
|
|
3
9
|
declare var __VLS_1: {};
|
|
4
10
|
type __VLS_Slots = {} & {
|
|
5
11
|
default?: (props: typeof __VLS_1) => any;
|
|
6
12
|
};
|
|
7
|
-
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
13
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
14
|
+
columnKey: string | undefined;
|
|
15
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
8
16
|
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
9
17
|
export default _default;
|
|
10
18
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
let e=require("vue");var
|
|
1
|
+
const c=require("./context.cjs");let e=require("vue");var d=["data-pinned"],s=(0,e.defineComponent)({__name:"TableCell",props:{columnKey:{default:void 0}},setup(o){const l=o,t=(0,e.inject)(c.TABLE_CONTEXT,null),n=(0,e.computed)(()=>l.columnKey===void 0?void 0:t?.columnPins.value[l.columnKey]),a=(0,e.computed)(()=>n.value===void 0?void 0:{"--skdx-table-pin-offset":`${t?.pinOffsets.value[l.columnKey]??0}px`});return(u,r)=>((0,e.openBlock)(),(0,e.createElementBlock)("td",{class:"skdx-table__cell","data-part":"cell","data-pinned":n.value,style:(0,e.normalizeStyle)(a.value)},[(0,e.renderSlot)(u.$slots,"default")],12,d))}});exports.default=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{TABLE_CONTEXT as e}from"./context.js";import{computed as l,createElementBlock as a,defineComponent as t,inject as o,normalizeStyle as n,openBlock as s,renderSlot as d}from"vue";var u=["data-pinned"],c=/* @__PURE__ */t({__name:"TableCell",props:{columnKey:{default:void 0}},setup(t){const c=t,i=o(e,null),p=l(()=>void 0===c.columnKey?void 0:i?.columnPins.value[c.columnKey]),m=l(()=>void 0===p.value?void 0:{"--skdx-table-pin-offset":`${i?.pinOffsets.value[c.columnKey]??0}px`});return(e,l)=>(s(),a("td",{class:"skdx-table__cell","data-part":"cell","data-pinned":p.value,style:n(m.value)},[d(e.$slots,"default")],12,u))}});export{c as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./TableColumnPinTrigger.vue_vue_type_script_setup_true_lang.cjs");var r=e.default;exports.default=r;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Toggle button pinning its column to one edge: a `<button aria-pressed>` that unpins the column when it is already pinned to `side`.
|
|
3
|
+
*/
|
|
4
|
+
type __VLS_Props = {
|
|
5
|
+
/** Column this trigger pins, inherited from `SkdxTableHeaderCell`'s `columnKey` or renders nothing. */
|
|
6
|
+
columnKey?: string | undefined;
|
|
7
|
+
/** Which edge the column sticks to when pinned by this trigger. @default 'start' */
|
|
8
|
+
side?: 'start' | 'end';
|
|
9
|
+
/**
|
|
10
|
+
* Accessible name for the trigger, e.g. `"Pin Name column"`.
|
|
11
|
+
* @default the enclosing header cell's `pinLabel`, otherwise `'Pin column'`.
|
|
12
|
+
*/
|
|
13
|
+
label?: string | undefined;
|
|
14
|
+
};
|
|
15
|
+
declare var __VLS_1: {};
|
|
16
|
+
type __VLS_Slots = {} & {
|
|
17
|
+
default?: (props: typeof __VLS_1) => any;
|
|
18
|
+
};
|
|
19
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
20
|
+
label: string | undefined;
|
|
21
|
+
side: "start" | "end";
|
|
22
|
+
columnKey: string | undefined;
|
|
23
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
24
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
25
|
+
export default _default;
|
|
26
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
27
|
+
new (): {
|
|
28
|
+
$slots: S;
|
|
29
|
+
};
|
|
30
|
+
};
|