@tedi-design-system/angular 6.5.0-rc.1 → 6.5.0-rc.2
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/fesm2022/tedi-design-system-angular-tedi.mjs +4451 -2795
- package/fesm2022/tedi-design-system-angular-tedi.mjs.map +1 -1
- package/package.json +2 -1
- package/tedi/components/buttons/collapse/collapse.component.d.ts +21 -5
- package/tedi/components/buttons/collapse/collapse.component.d.ts.map +1 -1
- package/tedi/components/buttons/collapse-button/collapse-button.component.d.ts +76 -0
- package/tedi/components/buttons/collapse-button/collapse-button.component.d.ts.map +1 -0
- package/tedi/components/buttons/index.d.ts +1 -0
- package/tedi/components/buttons/index.d.ts.map +1 -1
- package/tedi/components/content/index.d.ts +1 -0
- package/tedi/components/content/index.d.ts.map +1 -1
- package/tedi/components/content/table/index.d.ts +9 -0
- package/tedi/components/content/table/index.d.ts.map +1 -0
- package/tedi/components/content/table/row-span.utils.d.ts +10 -0
- package/tedi/components/content/table/row-span.utils.d.ts.map +1 -0
- package/tedi/components/content/table/table-columns-menu/index.d.ts +2 -0
- package/tedi/components/content/table/table-columns-menu/index.d.ts.map +1 -0
- package/tedi/components/content/table/table-columns-menu/table-columns-menu.component.d.ts +19 -0
- package/tedi/components/content/table/table-columns-menu/table-columns-menu.component.d.ts.map +1 -0
- package/tedi/components/content/table/table-header-button/index.d.ts +2 -0
- package/tedi/components/content/table/table-header-button/index.d.ts.map +1 -0
- package/tedi/components/content/table/table-header-button/table-header-button.component.d.ts +36 -0
- package/tedi/components/content/table/table-header-button/table-header-button.component.d.ts.map +1 -0
- package/tedi/components/content/table/table-toolbar/index.d.ts +2 -0
- package/tedi/components/content/table/table-toolbar/index.d.ts.map +1 -0
- package/tedi/components/content/table/table-toolbar/table-toolbar.component.d.ts +6 -0
- package/tedi/components/content/table/table-toolbar/table-toolbar.component.d.ts.map +1 -0
- package/tedi/components/content/table/table.component.d.ts +499 -0
- package/tedi/components/content/table/table.component.d.ts.map +1 -0
- package/tedi/components/content/table/table.context.d.ts +5 -0
- package/tedi/components/content/table/table.context.d.ts.map +1 -0
- package/tedi/components/content/table/table.persistence.d.ts +21 -0
- package/tedi/components/content/table/table.persistence.d.ts.map +1 -0
- package/tedi/components/content/table/table.types.d.ts +196 -0
- package/tedi/components/content/table/table.types.d.ts.map +1 -0
- package/tedi/components/helpers/empty-state/empty-state.component.d.ts +54 -0
- package/tedi/components/helpers/empty-state/empty-state.component.d.ts.map +1 -0
- package/tedi/components/helpers/empty-state/index.d.ts +2 -0
- package/tedi/components/helpers/empty-state/index.d.ts.map +1 -0
- package/tedi/components/helpers/index.d.ts +1 -0
- package/tedi/components/helpers/index.d.ts.map +1 -1
- package/tedi/components/overlay/dropdown/dropdown-item/dropdown-item.component.d.ts +14 -1
- package/tedi/components/overlay/dropdown/dropdown-item/dropdown-item.component.d.ts.map +1 -1
- package/tedi/services/translation/translations.d.ts +84 -0
- package/tedi/services/translation/translations.d.ts.map +1 -1
|
@@ -0,0 +1,499 @@
|
|
|
1
|
+
import { Injector, Signal, TemplateRef } from "@angular/core";
|
|
2
|
+
import { type CdkDragDrop } from "@angular/cdk/drag-drop";
|
|
3
|
+
import { type CellContext, type Column, type ColumnDef, type Row, type Table as TanstackTable } from "@tanstack/angular-table";
|
|
4
|
+
import { type CollapseButtonArrowType } from "../../buttons/collapse-button/collapse-button.component";
|
|
5
|
+
import { PopoverComponent } from "../../overlay/popover/popover.component";
|
|
6
|
+
import type { TableColumnMeta, TableExpandTrigger, TablePaginationOptions, TablePersistOptions, TableSelectionMode, TableSize, TableState, TediColumnDef, TediTableContextValue, TediTableFilterContext } from "./table.types";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
/**
|
|
9
|
+
* Per-slot visual config forwarded to a `tedi-pagination` instance rendered by
|
|
10
|
+
* the table. Mirrors the pagination component's inputs (defaults applied so the
|
|
11
|
+
* template binds plain values, not `T | undefined`).
|
|
12
|
+
*/
|
|
13
|
+
interface ResolvedPaginationSlot {
|
|
14
|
+
boundaryCount: number;
|
|
15
|
+
siblingCount: number;
|
|
16
|
+
labels: TablePaginationOptions["labels"];
|
|
17
|
+
background: NonNullable<TablePaginationOptions["background"]>;
|
|
18
|
+
dividerPosition: NonNullable<TablePaginationOptions["dividerPosition"]>;
|
|
19
|
+
hideResults: NonNullable<TablePaginationOptions["hideResults"]>;
|
|
20
|
+
hidePageSize: NonNullable<TablePaginationOptions["hidePageSize"]>;
|
|
21
|
+
hidePager: NonNullable<TablePaginationOptions["hidePager"]>;
|
|
22
|
+
hideArrows: NonNullable<TablePaginationOptions["hideArrows"]>;
|
|
23
|
+
disableArrowsAtBoundary: boolean;
|
|
24
|
+
arrowVariant: NonNullable<TablePaginationOptions["arrowVariant"]>;
|
|
25
|
+
showArrowLabels: boolean;
|
|
26
|
+
previousIcon: NonNullable<TablePaginationOptions["previousIcon"]>;
|
|
27
|
+
nextIcon: NonNullable<TablePaginationOptions["nextIcon"]>;
|
|
28
|
+
showModalTitle: boolean;
|
|
29
|
+
}
|
|
30
|
+
export declare class TediTableComponent<TData> {
|
|
31
|
+
/** Stable identifier used for synthetic ids. */
|
|
32
|
+
readonly id: import("@angular/core").InputSignal<string | undefined>;
|
|
33
|
+
/** Row data. */
|
|
34
|
+
readonly data: import("@angular/core").InputSignal<TData[]>;
|
|
35
|
+
/** Column definitions. */
|
|
36
|
+
readonly columns: import("@angular/core").InputSignal<TediColumnDef<TData>[]>;
|
|
37
|
+
/** Visual size. @default 'medium' */
|
|
38
|
+
readonly size: import("@angular/core").InputSignal<TableSize>;
|
|
39
|
+
/** Caption rendered above the table. */
|
|
40
|
+
readonly caption: import("@angular/core").InputSignal<string | TemplateRef<unknown> | undefined>;
|
|
41
|
+
readonly striped: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
42
|
+
readonly verticalBorders: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
43
|
+
readonly borderless: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
44
|
+
readonly stickyFirstColumn: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
45
|
+
readonly stickyHeader: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
46
|
+
/**
|
|
47
|
+
* Switches the table to `table-layout: fixed`, making column `size` /
|
|
48
|
+
* `minSize` / `maxSize` authoritative — cell content wraps inside the
|
|
49
|
+
* allotted width instead of stretching the column. With the default auto
|
|
50
|
+
* layout, browsers size columns to content and the widths are only hints.
|
|
51
|
+
* @default false
|
|
52
|
+
*/
|
|
53
|
+
readonly fixedLayout: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
54
|
+
readonly maxHeight: import("@angular/core").InputSignal<string | number | undefined>;
|
|
55
|
+
readonly activeRowId: import("@angular/core").InputSignal<string | undefined>;
|
|
56
|
+
readonly rowHover: import("@angular/core").InputSignal<boolean | undefined>;
|
|
57
|
+
/**
|
|
58
|
+
* Enables row selection and renders the selection column. Pass `true` to
|
|
59
|
+
* allow selecting any row, or a predicate `(row) => boolean` to gate which
|
|
60
|
+
* rows are selectable. Pair with `selectionMode` for checkbox vs radio.
|
|
61
|
+
* @default undefined
|
|
62
|
+
*/
|
|
63
|
+
readonly enableRowSelection: import("@angular/core").InputSignal<boolean | ((row: Row<TData>) => boolean) | undefined>;
|
|
64
|
+
/**
|
|
65
|
+
* Whether row selection is multi- or single-row. `'multiple'` (default)
|
|
66
|
+
* renders a checkbox per row + a select-all checkbox in the header.
|
|
67
|
+
* `'single'` renders a radio per row (sharing one `name` so native HTML
|
|
68
|
+
* group behaviour auto-deselects siblings) and omits the header control —
|
|
69
|
+
* select-all is meaningless in single-select mode. Mirrors the React
|
|
70
|
+
* Table's `selectionMode` prop.
|
|
71
|
+
* @default 'multiple'
|
|
72
|
+
*/
|
|
73
|
+
readonly selectionMode: import("@angular/core").InputSignal<TableSelectionMode>;
|
|
74
|
+
readonly enableColumnFilters: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
75
|
+
/**
|
|
76
|
+
* Template rendered as an expandable detail row beneath each expandable row.
|
|
77
|
+
* Receives the TanStack `Row` as `$implicit` (`let-row`). Providing it
|
|
78
|
+
* auto-adds the expand column; pair with `getRowCanExpand` to gate which
|
|
79
|
+
* rows expand.
|
|
80
|
+
* @default undefined
|
|
81
|
+
*/
|
|
82
|
+
readonly renderSubComponent: import("@angular/core").InputSignal<TemplateRef<{
|
|
83
|
+
$implicit: Row<TData>;
|
|
84
|
+
}> | undefined>;
|
|
85
|
+
/**
|
|
86
|
+
* Predicate deciding whether a given row can expand. When omitted, every row
|
|
87
|
+
* with a `renderSubComponent` / sub-rows is expandable.
|
|
88
|
+
* @default undefined
|
|
89
|
+
*/
|
|
90
|
+
readonly getRowCanExpand: import("@angular/core").InputSignal<((row: Row<TData>) => boolean) | undefined>;
|
|
91
|
+
/**
|
|
92
|
+
* How an expandable row is toggled. `button` (default) — only the chevron
|
|
93
|
+
* button toggles. `row` — clicking anywhere on the row toggles. The chevron
|
|
94
|
+
* renders in the bordered `secondary` style regardless; use
|
|
95
|
+
* `expandButtonVariant` to change it.
|
|
96
|
+
* @default 'button'
|
|
97
|
+
*/
|
|
98
|
+
readonly expandTrigger: import("@angular/core").InputSignal<TableExpandTrigger>;
|
|
99
|
+
/**
|
|
100
|
+
* Overrides the expand toggle button's arrow style. Defaults to the bordered
|
|
101
|
+
* `secondary` style; set `default` for the neutral (borderless) chevron.
|
|
102
|
+
* Only affects the icon-only button (i.e. when `expandButtonLabel` is unset).
|
|
103
|
+
* @default undefined
|
|
104
|
+
*/
|
|
105
|
+
readonly expandButtonVariant: import("@angular/core").InputSignal<CollapseButtonArrowType | undefined>;
|
|
106
|
+
/**
|
|
107
|
+
* Renders a visible label next to the expand chevron instead of an icon-only
|
|
108
|
+
* button. Pass a single string to use the same label in both states, or an
|
|
109
|
+
* `{ open, close }` pair for distinct collapsed / expanded labels (`open` is
|
|
110
|
+
* shown while collapsed, `close` while expanded). When unset, the button is
|
|
111
|
+
* icon-only and its accessible name comes from the translated
|
|
112
|
+
* expand/collapse-row labels.
|
|
113
|
+
* @default undefined
|
|
114
|
+
*/
|
|
115
|
+
readonly expandButtonLabel: import("@angular/core").InputSignal<string | {
|
|
116
|
+
open: string;
|
|
117
|
+
close: string;
|
|
118
|
+
} | undefined>;
|
|
119
|
+
/**
|
|
120
|
+
* Accessor returning a row's child rows, enabling hierarchical / tree data.
|
|
121
|
+
* Children render as nested sub-rows under their parent and expand via the
|
|
122
|
+
* same chevron.
|
|
123
|
+
* @default undefined
|
|
124
|
+
*/
|
|
125
|
+
readonly getSubRows: import("@angular/core").InputSignal<((row: TData) => TData[] | undefined) | undefined>;
|
|
126
|
+
/**
|
|
127
|
+
* Enables pagination and configures the bottom paginator slot. This is also
|
|
128
|
+
* the source of truth for `pageSize` / `pageSizeOptions` — the top slot
|
|
129
|
+
* (if any) shares the same state. Pass `true` to enable with defaults,
|
|
130
|
+
* `false` / omit to disable entirely.
|
|
131
|
+
*/
|
|
132
|
+
readonly pagination: import("@angular/core").InputSignal<boolean | TablePaginationOptions | undefined>;
|
|
133
|
+
/**
|
|
134
|
+
* Opt-in top paginator slot. Independent visual config from the bottom slot
|
|
135
|
+
* (different `hide*` toggles, divider position, labels, etc.) but shares
|
|
136
|
+
* page / page-size state with the bottom slot. Requires `pagination` to be
|
|
137
|
+
* truthy — if pagination as a feature is off, the top slot does not render.
|
|
138
|
+
* @default undefined
|
|
139
|
+
*/
|
|
140
|
+
readonly paginationTop: import("@angular/core").InputSignal<boolean | TablePaginationOptions | undefined>;
|
|
141
|
+
/**
|
|
142
|
+
* Switch pagination to server-side mode: the table renders `data` as the
|
|
143
|
+
* current page as-is and does not slice it. Supply `pageCount` or `rowCount`.
|
|
144
|
+
* @default false
|
|
145
|
+
*/
|
|
146
|
+
readonly manualPagination: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
147
|
+
/**
|
|
148
|
+
* Switch sorting to server-side mode: the table emits sort state via
|
|
149
|
+
* `(stateChange)` but does not reorder `data` itself.
|
|
150
|
+
* @default false
|
|
151
|
+
*/
|
|
152
|
+
readonly manualSorting: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
153
|
+
/**
|
|
154
|
+
* Switch filtering to server-side mode: the table emits filter state via
|
|
155
|
+
* `(stateChange)` but does not filter `data` itself.
|
|
156
|
+
* @default false
|
|
157
|
+
*/
|
|
158
|
+
readonly manualFiltering: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
159
|
+
/** Total page count for server-side pagination (`manualPagination`). */
|
|
160
|
+
readonly pageCount: import("@angular/core").InputSignal<number | undefined>;
|
|
161
|
+
/** Total row count for server-side pagination (`manualPagination`). */
|
|
162
|
+
readonly rowCount: import("@angular/core").InputSignal<number | undefined>;
|
|
163
|
+
/**
|
|
164
|
+
* Controlled state. When provided, the table is fully controlled — render the
|
|
165
|
+
* given slices and emit every change via `(stateChange)` for the consumer to
|
|
166
|
+
* apply back.
|
|
167
|
+
* @default undefined
|
|
168
|
+
*/
|
|
169
|
+
readonly state: import("@angular/core").InputSignal<Partial<TableState> | undefined>;
|
|
170
|
+
/**
|
|
171
|
+
* Initial state for uncontrolled mode (seeds sorting / filters / pagination /
|
|
172
|
+
* selection etc. on first render). Ignored once `state` is provided.
|
|
173
|
+
* @default undefined
|
|
174
|
+
*/
|
|
175
|
+
readonly defaultState: import("@angular/core").InputSignal<Partial<TableState> | undefined>;
|
|
176
|
+
/**
|
|
177
|
+
* Persist selected state slices to storage. `{ key, storage?, include? }` —
|
|
178
|
+
* defaults to persisting user-preference slices (`columnVisibility`,
|
|
179
|
+
* `columnOrder`, `rowOrder`, `columnSizing`).
|
|
180
|
+
* @default undefined
|
|
181
|
+
*/
|
|
182
|
+
readonly persist: import("@angular/core").InputSignal<TablePersistOptions | undefined>;
|
|
183
|
+
/**
|
|
184
|
+
* Empty-state content shown when there are no rows — a string or a
|
|
185
|
+
* `TemplateRef`. Defaults to the translated `table.no-data` label.
|
|
186
|
+
* @default undefined
|
|
187
|
+
*/
|
|
188
|
+
readonly placeholder: import("@angular/core").InputSignal<string | TemplateRef<unknown> | undefined>;
|
|
189
|
+
/**
|
|
190
|
+
* ARIA live-region role wrapping the empty-state placeholder — `'status'`
|
|
191
|
+
* (polite) or `'alert'` (assertive). Omit for no live region.
|
|
192
|
+
* @default undefined
|
|
193
|
+
*/
|
|
194
|
+
readonly placeholderRole: import("@angular/core").InputSignal<"alert" | "status" | undefined>;
|
|
195
|
+
/**
|
|
196
|
+
* Adds clickable styling, role="button", and keyboard activation to rows.
|
|
197
|
+
* Subscribe to `rowClick` to react when a row is activated. Defaults to
|
|
198
|
+
* `false` — turn on when rows should behave like buttons.
|
|
199
|
+
* @default false
|
|
200
|
+
*/
|
|
201
|
+
readonly interactive: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
202
|
+
/**
|
|
203
|
+
* Makes data rows reorderable via drag-and-drop. The consumer reorders the
|
|
204
|
+
* `data` array in `(rowDrop)` (typically with `moveItemInArray`) and passes
|
|
205
|
+
* the new array back via `[data]`. Pair with `table-layout: fixed` (via the
|
|
206
|
+
* `tedi-table--draggable-rows` host modifier added automatically) so the
|
|
207
|
+
* drag preview preserves cell widths.
|
|
208
|
+
* @default false
|
|
209
|
+
*/
|
|
210
|
+
readonly draggableRows: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
211
|
+
/**
|
|
212
|
+
* Makes columns reorderable via drag-and-drop on the header row. Reorders
|
|
213
|
+
* the table's internal `columnOrder` state directly — no consumer wiring
|
|
214
|
+
* needed beyond persisting the state slice if desired.
|
|
215
|
+
* @default false
|
|
216
|
+
*/
|
|
217
|
+
readonly draggableColumns: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
218
|
+
/**
|
|
219
|
+
* Emits the full merged table state whenever any slice changes (sorting,
|
|
220
|
+
* filters, pagination, selection, expansion, column visibility / order).
|
|
221
|
+
* Use with `state` for controlled mode or to persist externally.
|
|
222
|
+
*/
|
|
223
|
+
readonly stateChange: import("@angular/core").OutputEmitterRef<TableState>;
|
|
224
|
+
/**
|
|
225
|
+
* Emits the activated row. Only fires when `interactive` is `true` (click or
|
|
226
|
+
* Enter/Space on a focused row).
|
|
227
|
+
*/
|
|
228
|
+
readonly rowClick: import("@angular/core").OutputEmitterRef<Row<TData>>;
|
|
229
|
+
/**
|
|
230
|
+
* Fires when a row is dropped to a new position. `previousIndex` and
|
|
231
|
+
* `currentIndex` are normalised to **source `data` array** positions — even
|
|
232
|
+
* when the table is sorted, filtered, or paginated — so consumers can call
|
|
233
|
+
* `moveItemInArray(data, previousIndex, currentIndex)` directly and pass the
|
|
234
|
+
* reordered array back via `[data]`.
|
|
235
|
+
*/
|
|
236
|
+
readonly rowDrop: import("@angular/core").OutputEmitterRef<CdkDragDrop<TData[], TData[], any>>;
|
|
237
|
+
protected readonly injector: Injector;
|
|
238
|
+
private readonly translation;
|
|
239
|
+
private readonly _hoveredRowId;
|
|
240
|
+
/**
|
|
241
|
+
* Id of the data row currently under the pointer, or `null`. Exposed so
|
|
242
|
+
* cell templates can react to hover (e.g. emphasise a badge while its row is
|
|
243
|
+
* hovered). Read it via a template reference: `#table` →
|
|
244
|
+
* `table.hoveredRowId()`. Also available through `TEDI_TABLE_CONTEXT`.
|
|
245
|
+
*/
|
|
246
|
+
readonly hoveredRowId: Signal<string | null>;
|
|
247
|
+
private readonly internalId;
|
|
248
|
+
protected readonly resolvedId: Signal<string>;
|
|
249
|
+
protected readonly placeholderLabel: Signal<string>;
|
|
250
|
+
protected readonly rowDetailsLabel: Signal<string>;
|
|
251
|
+
protected readonly dragColumnLabel: Signal<string>;
|
|
252
|
+
protected readonly dragRowLabel: Signal<string>;
|
|
253
|
+
private readonly persistence;
|
|
254
|
+
protected readonly tableState: Signal<TableState>;
|
|
255
|
+
protected readonly SELECT_COLUMN_ID = "__select__";
|
|
256
|
+
protected readonly EXPAND_COLUMN_ID = "__expand__";
|
|
257
|
+
protected readonly DRAG_COLUMN_ID = "__drag__";
|
|
258
|
+
private readonly paginationOptions;
|
|
259
|
+
protected readonly paginationEnabled: Signal<boolean>;
|
|
260
|
+
protected readonly paginationPageSizeOptions: Signal<number[]>;
|
|
261
|
+
protected readonly resolvedBottomSlot: Signal<ResolvedPaginationSlot | null>;
|
|
262
|
+
protected readonly resolvedTopSlot: Signal<ResolvedPaginationSlot | null>;
|
|
263
|
+
/**
|
|
264
|
+
* Which slot the `[tediPaginationResults]` projection should be rendered in.
|
|
265
|
+
* Picks whichever paginator actually shows results; defaults to the bottom
|
|
266
|
+
* when both do, falls back to the top when bottom hides results.
|
|
267
|
+
*/
|
|
268
|
+
protected readonly resultsRenderTarget: Signal<"top" | "bottom" | null>;
|
|
269
|
+
/**
|
|
270
|
+
* Captures a `<ng-template tediPaginationResults>` declared inside the
|
|
271
|
+
* `<tedi-table>` host. Read as a `TemplateRef` (the directive is a bare
|
|
272
|
+
* marker) and forwarded — projected as `<span tediPaginationResults>` — into
|
|
273
|
+
* whichever paginator slot is set to display results.
|
|
274
|
+
*/
|
|
275
|
+
private readonly customResultsTemplateRef;
|
|
276
|
+
protected readonly customResultsTemplate: Signal<TemplateRef<any> | null>;
|
|
277
|
+
protected readonly topResultsTemplate: Signal<TemplateRef<any> | null>;
|
|
278
|
+
protected readonly bottomResultsTemplate: Signal<TemplateRef<any> | null>;
|
|
279
|
+
private readonly paginationHostClasses;
|
|
280
|
+
private readonly hasExpansion;
|
|
281
|
+
private readonly hasSelection;
|
|
282
|
+
/**
|
|
283
|
+
* True when any column has `filterable` truthy. The table forces TanStack's
|
|
284
|
+
* column-filter machinery on in this case so per-column `getCanFilter()`
|
|
285
|
+
* returns true and the trigger button renders — without forcing the
|
|
286
|
+
* legacy inline filter row.
|
|
287
|
+
*/
|
|
288
|
+
private readonly hasFilterableColumns;
|
|
289
|
+
private readonly augmentedColumns;
|
|
290
|
+
private buildStateChangeHandlers;
|
|
291
|
+
private readonly defaultPagination;
|
|
292
|
+
private buildResolvedState;
|
|
293
|
+
protected readonly table: TanstackTable<TData>;
|
|
294
|
+
readonly contextValue: TediTableContextValue<TData>;
|
|
295
|
+
private trackTableInputs;
|
|
296
|
+
protected readonly hostClasses: Signal<string>;
|
|
297
|
+
protected readonly headerGroups: Signal<import("@tanstack/angular-table").HeaderGroup<TData>[]>;
|
|
298
|
+
protected readonly rows: Signal<Row<TData>[]>;
|
|
299
|
+
protected readonly leafColumns: Signal<Column<TData, unknown>[]>;
|
|
300
|
+
protected readonly leafColumnCount: Signal<number>;
|
|
301
|
+
protected readonly footerGroups: Signal<import("@tanstack/angular-table").HeaderGroup<TData>[]>;
|
|
302
|
+
protected readonly hasFooter: Signal<boolean>;
|
|
303
|
+
protected readonly headerRowCount: Signal<number>;
|
|
304
|
+
protected readonly totalDataRowCount: Signal<number>;
|
|
305
|
+
/**
|
|
306
|
+
* `aria-rowcount` / `aria-rowindex` only apply to genuine grid rows (role
|
|
307
|
+
* `row`). When `interactive` is on, each `<tr>` takes `role="button"`, which
|
|
308
|
+
* does not allow `aria-rowindex` — so the whole row-indexing scheme is
|
|
309
|
+
* disabled to avoid an invalid-ARIA violation.
|
|
310
|
+
*/
|
|
311
|
+
protected readonly ariaRowIndexingEnabled: Signal<boolean>;
|
|
312
|
+
protected readonly ariaRowCount: Signal<number | null>;
|
|
313
|
+
protected readonly rowAriaIndexById: Signal<Map<string, number | null>>;
|
|
314
|
+
protected readonly paginationPage: Signal<number>;
|
|
315
|
+
protected readonly paginationPageSize: Signal<number>;
|
|
316
|
+
protected readonly paginationTotalItems: Signal<number>;
|
|
317
|
+
protected readonly paginationPageCount: Signal<number>;
|
|
318
|
+
protected readonly maxHeightStyle: Signal<string | null>;
|
|
319
|
+
protected readonly isAllPageRowsSelected: Signal<boolean>;
|
|
320
|
+
protected readonly isSomePageRowsSelected: Signal<boolean>;
|
|
321
|
+
constructor();
|
|
322
|
+
private applyPatch;
|
|
323
|
+
protected handleRowClick(row: Row<TData>): void;
|
|
324
|
+
protected rowExpandsOnClick(row: Row<TData>): boolean;
|
|
325
|
+
protected handleRowMouseEnter(row: Row<TData>): void;
|
|
326
|
+
protected handleRowMouseLeave(): void;
|
|
327
|
+
/**
|
|
328
|
+
* Consumer-authored sizing per column id, read from the *original* column
|
|
329
|
+
* defs (`augmentedColumns`) — TanStack merges its defaults
|
|
330
|
+
* (`size: 150`, `minSize: 20`, `maxSize: Number.MAX_SAFE_INTEGER`) into the
|
|
331
|
+
* resolved `column.columnDef`, so that copy can't tell "set" from "default".
|
|
332
|
+
*/
|
|
333
|
+
private readonly authoredColumnSizing;
|
|
334
|
+
/**
|
|
335
|
+
* Rendered `width` (px) for a column's cells. Under `fixedLayout`, only
|
|
336
|
+
* explicitly-sized columns get a width so the unsized ones absorb the
|
|
337
|
+
* leftover space (otherwise fixed layout scales every column up to fill the
|
|
338
|
+
* table). In auto layout the (clamped) size is emitted as a hint for all.
|
|
339
|
+
*/
|
|
340
|
+
protected headerCellWidth(column: {
|
|
341
|
+
id: string;
|
|
342
|
+
getSize: () => number;
|
|
343
|
+
}): number | null;
|
|
344
|
+
/** Consumer-set `min-width` (px); `null` when not set (TanStack's default
|
|
345
|
+
* `20` is not emitted as CSS). */
|
|
346
|
+
protected columnMinWidth(column: {
|
|
347
|
+
id: string;
|
|
348
|
+
}): number | null;
|
|
349
|
+
/** Consumer-set `max-width` (px); `null` when not set (TanStack's default
|
|
350
|
+
* `Number.MAX_SAFE_INTEGER` is not emitted as CSS). */
|
|
351
|
+
protected columnMaxWidth(column: {
|
|
352
|
+
id: string;
|
|
353
|
+
}): number | null;
|
|
354
|
+
protected handleRowKeydown(event: KeyboardEvent, row: Row<TData>): void;
|
|
355
|
+
protected handleRowDrop(event: CdkDragDrop<TData[]>): void;
|
|
356
|
+
protected handleColumnDrop(event: CdkDragDrop<unknown>): void;
|
|
357
|
+
protected handlePaginationPageChange(nextPage: number): void;
|
|
358
|
+
protected handlePaginationPageSizeChange(nextSize: number | undefined): void;
|
|
359
|
+
protected getColumnMeta(column: {
|
|
360
|
+
columnDef: {
|
|
361
|
+
meta?: unknown;
|
|
362
|
+
};
|
|
363
|
+
}): TableColumnMeta | undefined;
|
|
364
|
+
protected getHeaderAriaSort(column: ReturnType<TanstackTable<TData>["getAllLeafColumns"]>[number]): "ascending" | "descending" | "none" | null;
|
|
365
|
+
protected getHeaderLabel(column: ReturnType<TanstackTable<TData>["getAllLeafColumns"]>[number]): string | null;
|
|
366
|
+
protected resolveColumnLabel(column: ReturnType<TanstackTable<TData>["getAllLeafColumns"]>[number]): string;
|
|
367
|
+
protected filterLabel(column: ReturnType<TanstackTable<TData>["getAllLeafColumns"]>[number]): string;
|
|
368
|
+
protected filterPlaceholder(): string;
|
|
369
|
+
protected selectAllLabel(): string;
|
|
370
|
+
protected selectRowLabel(row: Row<TData>): string;
|
|
371
|
+
protected expandRowLabel(isOpen: boolean): string;
|
|
372
|
+
/** Whether the consumer opted the expand button into visible-label mode. */
|
|
373
|
+
protected readonly expandButtonHasLabel: Signal<boolean>;
|
|
374
|
+
/**
|
|
375
|
+
* Arrow style for the expand toggle button. Defaults to the bordered
|
|
376
|
+
* `secondary` style regardless of `expandTrigger`; honours
|
|
377
|
+
* `expandButtonVariant` when the consumer sets it.
|
|
378
|
+
*/
|
|
379
|
+
protected readonly resolvedExpandVariant: Signal<CollapseButtonArrowType>;
|
|
380
|
+
/** Visible label shown while a row is collapsed (`open` action). */
|
|
381
|
+
protected readonly expandButtonOpenText: Signal<string | undefined>;
|
|
382
|
+
/** Visible label shown while a row is expanded (`close` action). */
|
|
383
|
+
protected readonly expandButtonCloseText: Signal<string | undefined>;
|
|
384
|
+
protected handleSelectAll(checked: boolean): void;
|
|
385
|
+
protected handleSelectRow(row: Row<TData>, checked: boolean): void;
|
|
386
|
+
protected handleExpandToggle(row: Row<TData>): void;
|
|
387
|
+
protected handleExpandKeydown(event: KeyboardEvent): void;
|
|
388
|
+
protected handleColumnFilter(column: ReturnType<TanstackTable<TData>["getAllLeafColumns"]>[number], value: string): void;
|
|
389
|
+
protected shouldRenderHeader(header: {
|
|
390
|
+
isPlaceholder: boolean;
|
|
391
|
+
column: {
|
|
392
|
+
columnDef: ColumnDef<TData> & {
|
|
393
|
+
columns?: unknown[];
|
|
394
|
+
};
|
|
395
|
+
parent?: unknown;
|
|
396
|
+
};
|
|
397
|
+
}, rowIndex: number): boolean;
|
|
398
|
+
protected getHeaderRowSpan(header: {
|
|
399
|
+
isPlaceholder: boolean;
|
|
400
|
+
column: {
|
|
401
|
+
columnDef: ColumnDef<TData> & {
|
|
402
|
+
columns?: unknown[];
|
|
403
|
+
};
|
|
404
|
+
parent?: unknown;
|
|
405
|
+
};
|
|
406
|
+
}, rowIndex: number): number | null;
|
|
407
|
+
protected isHeaderGroup(header: {
|
|
408
|
+
subHeaders: unknown[];
|
|
409
|
+
}): boolean;
|
|
410
|
+
protected getFilterValue(column: ReturnType<TanstackTable<TData>["getAllLeafColumns"]>[number]): string;
|
|
411
|
+
protected isString(value: unknown): value is string;
|
|
412
|
+
protected isNumber(value: unknown): value is number;
|
|
413
|
+
/**
|
|
414
|
+
* Returns true when the column opted into the built-in sort affordance
|
|
415
|
+
* (`sortable: true` on its `TediColumnDef`), TanStack reports it can sort
|
|
416
|
+
* (`enableSorting !== false`), and the rendered header content is a plain
|
|
417
|
+
* string / number. Custom header `TemplateRef`s and functions bow out of
|
|
418
|
+
* the shorthand and render via `flexRender` as-is.
|
|
419
|
+
*/
|
|
420
|
+
protected shouldRenderSortableHeader(column: Column<TData, unknown>, content: unknown): boolean;
|
|
421
|
+
/**
|
|
422
|
+
* Material icon name reflecting the column's current sort state.
|
|
423
|
+
* `asc → arrow_upward`, `desc → arrow_downward`, otherwise `unfold_more`.
|
|
424
|
+
*/
|
|
425
|
+
protected sortIcon(column: Column<TData, unknown>): string;
|
|
426
|
+
protected handleSortToggle(column: Column<TData, unknown>): void;
|
|
427
|
+
/**
|
|
428
|
+
* Per-column in-popover filter draft. Keyed by `column.id`. The signal
|
|
429
|
+
* carries the unapplied value while the popover is open; `Apply` calls
|
|
430
|
+
* `column.setFilterValue(draft())`, `Clear` resets both the draft and the
|
|
431
|
+
* applied value. Lazy-initialised so columns without `filterable` pay
|
|
432
|
+
* nothing.
|
|
433
|
+
*/
|
|
434
|
+
private readonly filterDrafts;
|
|
435
|
+
/**
|
|
436
|
+
* Normalises `filterable: true | TableFilterOptions | undefined | false`
|
|
437
|
+
* into `TableFilterOptions | null`. `null` means the column did not opt in.
|
|
438
|
+
*/
|
|
439
|
+
private resolveFilterOptions;
|
|
440
|
+
/**
|
|
441
|
+
* Typed accessor for the consumer-provided filter template — pulls
|
|
442
|
+
* `TediColumnDef.filterTemplate` off a TanStack `Column.columnDef` (whose
|
|
443
|
+
* static type is the base `ColumnDef`, so the property would otherwise
|
|
444
|
+
* read as `unknown` in strict templates).
|
|
445
|
+
*/
|
|
446
|
+
protected filterTemplateFor(col: Column<TData, unknown>): TemplateRef<TediTableFilterContext<unknown, TData>> | undefined;
|
|
447
|
+
/**
|
|
448
|
+
* True when the column opted into the built-in filter affordance
|
|
449
|
+
* (`filterable: true | TableFilterOptions`) AND TanStack reports it can
|
|
450
|
+
* filter (`enableColumnFilter !== false`, etc.).
|
|
451
|
+
*/
|
|
452
|
+
protected shouldRenderFilterButton(col: Column<TData, unknown>): boolean;
|
|
453
|
+
/** Whether the column currently has a filter applied. Drives the trigger's
|
|
454
|
+
* selected / filled state. */
|
|
455
|
+
protected filterIsActive(col: Column<TData, unknown>): boolean;
|
|
456
|
+
/** Translated aria-label for the filter trigger button — uses the column
|
|
457
|
+
* label (header text or `meta.label`). */
|
|
458
|
+
protected filterAriaLabel(col: ReturnType<TanstackTable<TData>["getAllLeafColumns"]>[number]): string;
|
|
459
|
+
protected filterApplyLabel(): string;
|
|
460
|
+
protected filterClearLabel(): string;
|
|
461
|
+
private getFilterDraft;
|
|
462
|
+
/**
|
|
463
|
+
* Called when the filter trigger button is clicked. If `clearOnClose` is
|
|
464
|
+
* set, the draft is reset to the currently-applied value every time the
|
|
465
|
+
* popover opens — otherwise the draft persists across opens until the user
|
|
466
|
+
* Applies or Clears.
|
|
467
|
+
*/
|
|
468
|
+
protected handleFilterTriggerClick(col: Column<TData, unknown>): void;
|
|
469
|
+
/**
|
|
470
|
+
* Builds the per-column context object handed to the consumer's
|
|
471
|
+
* `filterTemplate`. Calling `setValue` writes to the draft; `apply` /
|
|
472
|
+
* `clear` commit the draft and close the popover.
|
|
473
|
+
*/
|
|
474
|
+
/**
|
|
475
|
+
* Builds the per-column context object handed to the consumer's
|
|
476
|
+
* `filterTemplate`. `$implicit` is wired to the context itself so
|
|
477
|
+
* `<ng-template let-ctx>` resolves `ctx.value`, `ctx.setValue`,
|
|
478
|
+
* `ctx.apply()`, `ctx.clear()` and `ctx.column` without extra `let-*`
|
|
479
|
+
* destructuring.
|
|
480
|
+
*/
|
|
481
|
+
protected filterContextFor(col: Column<TData, unknown>, popover: PopoverComponent): TediTableFilterContext<unknown, TData>;
|
|
482
|
+
protected handleFilterApply(col: Column<TData, unknown>, popover: PopoverComponent): void;
|
|
483
|
+
protected handleFilterClear(col: Column<TData, unknown>, popover: PopoverComponent): void;
|
|
484
|
+
/**
|
|
485
|
+
* Resolve `rowSpan` for a body cell.
|
|
486
|
+
* - `null` → render normal `<td>`
|
|
487
|
+
* - `0` → skip rendering (covered by a previous spanning cell)
|
|
488
|
+
* - `N>1` → emit `rowspan="N"`
|
|
489
|
+
*/
|
|
490
|
+
protected resolveRowSpan(cell: {
|
|
491
|
+
column: {
|
|
492
|
+
columnDef: TediColumnDef<TData>;
|
|
493
|
+
};
|
|
494
|
+
}, cellContext: CellContext<TData, unknown>): number | null;
|
|
495
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TediTableComponent<any>, never>;
|
|
496
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TediTableComponent<any>, "tedi-table", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "striped": { "alias": "striped"; "required": false; "isSignal": true; }; "verticalBorders": { "alias": "verticalBorders"; "required": false; "isSignal": true; }; "borderless": { "alias": "borderless"; "required": false; "isSignal": true; }; "stickyFirstColumn": { "alias": "stickyFirstColumn"; "required": false; "isSignal": true; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; "isSignal": true; }; "fixedLayout": { "alias": "fixedLayout"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "activeRowId": { "alias": "activeRowId"; "required": false; "isSignal": true; }; "rowHover": { "alias": "rowHover"; "required": false; "isSignal": true; }; "enableRowSelection": { "alias": "enableRowSelection"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "enableColumnFilters": { "alias": "enableColumnFilters"; "required": false; "isSignal": true; }; "renderSubComponent": { "alias": "renderSubComponent"; "required": false; "isSignal": true; }; "getRowCanExpand": { "alias": "getRowCanExpand"; "required": false; "isSignal": true; }; "expandTrigger": { "alias": "expandTrigger"; "required": false; "isSignal": true; }; "expandButtonVariant": { "alias": "expandButtonVariant"; "required": false; "isSignal": true; }; "expandButtonLabel": { "alias": "expandButtonLabel"; "required": false; "isSignal": true; }; "getSubRows": { "alias": "getSubRows"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; "paginationTop": { "alias": "paginationTop"; "required": false; "isSignal": true; }; "manualPagination": { "alias": "manualPagination"; "required": false; "isSignal": true; }; "manualSorting": { "alias": "manualSorting"; "required": false; "isSignal": true; }; "manualFiltering": { "alias": "manualFiltering"; "required": false; "isSignal": true; }; "pageCount": { "alias": "pageCount"; "required": false; "isSignal": true; }; "rowCount": { "alias": "rowCount"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "defaultState": { "alias": "defaultState"; "required": false; "isSignal": true; }; "persist": { "alias": "persist"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "placeholderRole": { "alias": "placeholderRole"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "draggableRows": { "alias": "draggableRows"; "required": false; "isSignal": true; }; "draggableColumns": { "alias": "draggableColumns"; "required": false; "isSignal": true; }; }, { "stateChange": "stateChange"; "rowClick": "rowClick"; "rowDrop": "rowDrop"; }, ["customResultsTemplateRef"], ["tedi-table-toolbar", "tedi-table-columns-menu"], true, never>;
|
|
497
|
+
}
|
|
498
|
+
export {};
|
|
499
|
+
//# sourceMappingURL=table.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.component.d.ts","sourceRoot":"","sources":["../../../../../tedi/components/content/table/table.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { InjectionToken } from "@angular/core";
|
|
2
|
+
import type { TediTableContextValue } from "./table.types";
|
|
3
|
+
export declare const TEDI_TABLE_CONTEXT: InjectionToken<TediTableContextValue<unknown>>;
|
|
4
|
+
export declare function injectTediTableContext<TData = unknown>(): TediTableContextValue<TData>;
|
|
5
|
+
//# sourceMappingURL=table.context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.context.d.ts","sourceRoot":"","sources":["../../../../../tedi/components/content/table/table.context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,cAAc,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,eAAO,MAAM,kBAAkB,gDAE9B,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,KAAK,GAAG,OAAO,KACZ,qBAAqB,CAAC,KAAK,CAAC,CAQhC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type Signal } from "@angular/core";
|
|
2
|
+
import type { TablePersistOptions, TableState, TableStatePatch } from "./table.types";
|
|
3
|
+
export interface TablePersistenceController {
|
|
4
|
+
/** Merged state signal (internal ∪ controlled). Reactive. */
|
|
5
|
+
state: Signal<TableState>;
|
|
6
|
+
/** Apply a patch — updates internal state, persists, fires onStateChange. */
|
|
7
|
+
patch(next: TableStatePatch): void;
|
|
8
|
+
/** Replace the controlled slice. */
|
|
9
|
+
setControlled(controlled: Partial<TableState> | undefined): void;
|
|
10
|
+
/** Replace persist options. */
|
|
11
|
+
setPersist(persist: TablePersistOptions | undefined): void;
|
|
12
|
+
/** Replace onStateChange callback. */
|
|
13
|
+
setOnStateChange(cb: ((state: TableState) => void) | undefined): void;
|
|
14
|
+
}
|
|
15
|
+
export declare function createTablePersistence(options: {
|
|
16
|
+
persist?: TablePersistOptions;
|
|
17
|
+
controlled?: Partial<TableState>;
|
|
18
|
+
defaultState?: Partial<TableState>;
|
|
19
|
+
onStateChange?: (state: TableState) => void;
|
|
20
|
+
}): TablePersistenceController;
|
|
21
|
+
//# sourceMappingURL=table.persistence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.persistence.d.ts","sourceRoot":"","sources":["../../../../../tedi/components/content/table/table.persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EACV,eAAe,EAChB,MAAM,eAAe,CAAC;AAiDvB,MAAM,WAAW,0BAA0B;IACzC,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1B,6EAA6E;IAC7E,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,oCAAoC;IACpC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IACjE,+BAA+B;IAC/B,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,GAAG,IAAI,CAAC;IAC3D,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;CACvE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE;IAC9C,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CAC7C,GAAG,0BAA0B,CA0E7B"}
|