@ngneers/controls 0.0.1-next.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.
Files changed (186) hide show
  1. package/fesm2022/ngneers-controls-accordion.mjs +234 -0
  2. package/fesm2022/ngneers-controls-accordion.mjs.map +1 -0
  3. package/fesm2022/ngneers-controls-api-ng.mjs +959 -0
  4. package/fesm2022/ngneers-controls-api-ng.mjs.map +1 -0
  5. package/fesm2022/ngneers-controls-api-resize.mjs +712 -0
  6. package/fesm2022/ngneers-controls-api-resize.mjs.map +1 -0
  7. package/fesm2022/ngneers-controls-api.mjs +347 -0
  8. package/fesm2022/ngneers-controls-api.mjs.map +1 -0
  9. package/fesm2022/ngneers-controls-avatar.mjs +77 -0
  10. package/fesm2022/ngneers-controls-avatar.mjs.map +1 -0
  11. package/fesm2022/ngneers-controls-base.mjs +620 -0
  12. package/fesm2022/ngneers-controls-base.mjs.map +1 -0
  13. package/fesm2022/ngneers-controls-breadcrumb.mjs +100 -0
  14. package/fesm2022/ngneers-controls-breadcrumb.mjs.map +1 -0
  15. package/fesm2022/ngneers-controls-button-group.mjs +110 -0
  16. package/fesm2022/ngneers-controls-button-group.mjs.map +1 -0
  17. package/fesm2022/ngneers-controls-button.mjs +83 -0
  18. package/fesm2022/ngneers-controls-button.mjs.map +1 -0
  19. package/fesm2022/ngneers-controls-calendar-time-CJT5AFlA.mjs +74 -0
  20. package/fesm2022/ngneers-controls-calendar-time-CJT5AFlA.mjs.map +1 -0
  21. package/fesm2022/ngneers-controls-calendar.mjs +801 -0
  22. package/fesm2022/ngneers-controls-calendar.mjs.map +1 -0
  23. package/fesm2022/ngneers-controls-checkbox.mjs +63 -0
  24. package/fesm2022/ngneers-controls-checkbox.mjs.map +1 -0
  25. package/fesm2022/ngneers-controls-chip.mjs +55 -0
  26. package/fesm2022/ngneers-controls-chip.mjs.map +1 -0
  27. package/fesm2022/ngneers-controls-default-icons.mjs +82 -0
  28. package/fesm2022/ngneers-controls-default-icons.mjs.map +1 -0
  29. package/fesm2022/ngneers-controls-defer.mjs +72 -0
  30. package/fesm2022/ngneers-controls-defer.mjs.map +1 -0
  31. package/fesm2022/ngneers-controls-dialog.mjs +407 -0
  32. package/fesm2022/ngneers-controls-dialog.mjs.map +1 -0
  33. package/fesm2022/ngneers-controls-directives.mjs +498 -0
  34. package/fesm2022/ngneers-controls-directives.mjs.map +1 -0
  35. package/fesm2022/ngneers-controls-drawer.mjs +271 -0
  36. package/fesm2022/ngneers-controls-drawer.mjs.map +1 -0
  37. package/fesm2022/ngneers-controls-edit-inplace.mjs +127 -0
  38. package/fesm2022/ngneers-controls-edit-inplace.mjs.map +1 -0
  39. package/fesm2022/ngneers-controls-errors.mjs +329 -0
  40. package/fesm2022/ngneers-controls-errors.mjs.map +1 -0
  41. package/fesm2022/ngneers-controls-filter.mjs +708 -0
  42. package/fesm2022/ngneers-controls-filter.mjs.map +1 -0
  43. package/fesm2022/ngneers-controls-hint.mjs +153 -0
  44. package/fesm2022/ngneers-controls-hint.mjs.map +1 -0
  45. package/fesm2022/ngneers-controls-i18n-translations-de.mjs +170 -0
  46. package/fesm2022/ngneers-controls-i18n-translations-de.mjs.map +1 -0
  47. package/fesm2022/ngneers-controls-i18n-translations-en.mjs +170 -0
  48. package/fesm2022/ngneers-controls-i18n-translations-en.mjs.map +1 -0
  49. package/fesm2022/ngneers-controls-i18n.mjs +57 -0
  50. package/fesm2022/ngneers-controls-i18n.mjs.map +1 -0
  51. package/fesm2022/ngneers-controls-icon.mjs +195 -0
  52. package/fesm2022/ngneers-controls-icon.mjs.map +1 -0
  53. package/fesm2022/ngneers-controls-inplace.mjs +150 -0
  54. package/fesm2022/ngneers-controls-inplace.mjs.map +1 -0
  55. package/fesm2022/ngneers-controls-input-field.mjs +165 -0
  56. package/fesm2022/ngneers-controls-input-field.mjs.map +1 -0
  57. package/fesm2022/ngneers-controls-input.mjs +72 -0
  58. package/fesm2022/ngneers-controls-input.mjs.map +1 -0
  59. package/fesm2022/ngneers-controls-item-view.mjs +473 -0
  60. package/fesm2022/ngneers-controls-item-view.mjs.map +1 -0
  61. package/fesm2022/ngneers-controls-list-box.mjs +281 -0
  62. package/fesm2022/ngneers-controls-list-box.mjs.map +1 -0
  63. package/fesm2022/ngneers-controls-mask-input.mjs +888 -0
  64. package/fesm2022/ngneers-controls-mask-input.mjs.map +1 -0
  65. package/fesm2022/ngneers-controls-menu.mjs +371 -0
  66. package/fesm2022/ngneers-controls-menu.mjs.map +1 -0
  67. package/fesm2022/ngneers-controls-message.mjs +30 -0
  68. package/fesm2022/ngneers-controls-message.mjs.map +1 -0
  69. package/fesm2022/ngneers-controls-number-input.mjs +366 -0
  70. package/fesm2022/ngneers-controls-number-input.mjs.map +1 -0
  71. package/fesm2022/ngneers-controls-paginator.mjs +129 -0
  72. package/fesm2022/ngneers-controls-paginator.mjs.map +1 -0
  73. package/fesm2022/ngneers-controls-popover.mjs +215 -0
  74. package/fesm2022/ngneers-controls-popover.mjs.map +1 -0
  75. package/fesm2022/ngneers-controls-progress.mjs +98 -0
  76. package/fesm2022/ngneers-controls-progress.mjs.map +1 -0
  77. package/fesm2022/ngneers-controls-radio.mjs +152 -0
  78. package/fesm2022/ngneers-controls-radio.mjs.map +1 -0
  79. package/fesm2022/ngneers-controls-roving-focus.mjs +323 -0
  80. package/fesm2022/ngneers-controls-roving-focus.mjs.map +1 -0
  81. package/fesm2022/ngneers-controls-scroll-shadow.mjs +65 -0
  82. package/fesm2022/ngneers-controls-scroll-shadow.mjs.map +1 -0
  83. package/fesm2022/ngneers-controls-scroller.mjs +308 -0
  84. package/fesm2022/ngneers-controls-scroller.mjs.map +1 -0
  85. package/fesm2022/ngneers-controls-select-button.mjs +58 -0
  86. package/fesm2022/ngneers-controls-select-button.mjs.map +1 -0
  87. package/fesm2022/ngneers-controls-select.mjs +417 -0
  88. package/fesm2022/ngneers-controls-select.mjs.map +1 -0
  89. package/fesm2022/ngneers-controls-slider.mjs +167 -0
  90. package/fesm2022/ngneers-controls-slider.mjs.map +1 -0
  91. package/fesm2022/ngneers-controls-snackbar.mjs +414 -0
  92. package/fesm2022/ngneers-controls-snackbar.mjs.map +1 -0
  93. package/fesm2022/ngneers-controls-spin-buttons.mjs +126 -0
  94. package/fesm2022/ngneers-controls-spin-buttons.mjs.map +1 -0
  95. package/fesm2022/ngneers-controls-spinner.mjs +184 -0
  96. package/fesm2022/ngneers-controls-spinner.mjs.map +1 -0
  97. package/fesm2022/ngneers-controls-splitter.mjs +604 -0
  98. package/fesm2022/ngneers-controls-splitter.mjs.map +1 -0
  99. package/fesm2022/ngneers-controls-state.mjs +185 -0
  100. package/fesm2022/ngneers-controls-state.mjs.map +1 -0
  101. package/fesm2022/ngneers-controls-switch.mjs +39 -0
  102. package/fesm2022/ngneers-controls-switch.mjs.map +1 -0
  103. package/fesm2022/ngneers-controls-table.mjs +2634 -0
  104. package/fesm2022/ngneers-controls-table.mjs.map +1 -0
  105. package/fesm2022/ngneers-controls-tabs.mjs +336 -0
  106. package/fesm2022/ngneers-controls-tabs.mjs.map +1 -0
  107. package/fesm2022/ngneers-controls-tag.mjs +30 -0
  108. package/fesm2022/ngneers-controls-tag.mjs.map +1 -0
  109. package/fesm2022/ngneers-controls-toast.mjs +350 -0
  110. package/fesm2022/ngneers-controls-toast.mjs.map +1 -0
  111. package/fesm2022/ngneers-controls-toggle-button.mjs +70 -0
  112. package/fesm2022/ngneers-controls-toggle-button.mjs.map +1 -0
  113. package/fesm2022/ngneers-controls-tooltip.mjs +506 -0
  114. package/fesm2022/ngneers-controls-tooltip.mjs.map +1 -0
  115. package/fesm2022/ngneers-controls-tree.mjs +599 -0
  116. package/fesm2022/ngneers-controls-tree.mjs.map +1 -0
  117. package/fesm2022/ngneers-controls-upload.mjs +377 -0
  118. package/fesm2022/ngneers-controls-upload.mjs.map +1 -0
  119. package/fesm2022/ngneers-controls-utils-ng.mjs +411 -0
  120. package/fesm2022/ngneers-controls-utils-ng.mjs.map +1 -0
  121. package/fesm2022/ngneers-controls-utils.mjs +261 -0
  122. package/fesm2022/ngneers-controls-utils.mjs.map +1 -0
  123. package/fesm2022/ngneers-controls.mjs +6 -0
  124. package/fesm2022/ngneers-controls.mjs.map +1 -0
  125. package/package.json +302 -0
  126. package/types/ngneers-controls-accordion.d.ts +139 -0
  127. package/types/ngneers-controls-api-ng.d.ts +364 -0
  128. package/types/ngneers-controls-api-resize.d.ts +318 -0
  129. package/types/ngneers-controls-api.d.ts +145 -0
  130. package/types/ngneers-controls-avatar.d.ts +54 -0
  131. package/types/ngneers-controls-base.d.ts +277 -0
  132. package/types/ngneers-controls-breadcrumb.d.ts +272 -0
  133. package/types/ngneers-controls-button-group.d.ts +46 -0
  134. package/types/ngneers-controls-button.d.ts +48 -0
  135. package/types/ngneers-controls-calendar.d.ts +466 -0
  136. package/types/ngneers-controls-checkbox.d.ts +40 -0
  137. package/types/ngneers-controls-chip.d.ts +202 -0
  138. package/types/ngneers-controls-default-icons.d.ts +5 -0
  139. package/types/ngneers-controls-defer.d.ts +48 -0
  140. package/types/ngneers-controls-dialog.d.ts +399 -0
  141. package/types/ngneers-controls-directives.d.ts +171 -0
  142. package/types/ngneers-controls-drawer.d.ts +308 -0
  143. package/types/ngneers-controls-edit-inplace.d.ts +263 -0
  144. package/types/ngneers-controls-errors.d.ts +155 -0
  145. package/types/ngneers-controls-filter.d.ts +609 -0
  146. package/types/ngneers-controls-hint.d.ts +88 -0
  147. package/types/ngneers-controls-i18n-translations-de.d.ts +164 -0
  148. package/types/ngneers-controls-i18n-translations-en.d.ts +164 -0
  149. package/types/ngneers-controls-i18n.d.ts +186 -0
  150. package/types/ngneers-controls-icon.d.ts +68 -0
  151. package/types/ngneers-controls-inplace.d.ts +98 -0
  152. package/types/ngneers-controls-input-field.d.ts +248 -0
  153. package/types/ngneers-controls-input.d.ts +30 -0
  154. package/types/ngneers-controls-item-view.d.ts +215 -0
  155. package/types/ngneers-controls-list-box.d.ts +334 -0
  156. package/types/ngneers-controls-mask-input.d.ts +434 -0
  157. package/types/ngneers-controls-menu.d.ts +192 -0
  158. package/types/ngneers-controls-message.d.ts +21 -0
  159. package/types/ngneers-controls-number-input.d.ts +146 -0
  160. package/types/ngneers-controls-paginator.d.ts +255 -0
  161. package/types/ngneers-controls-popover.d.ts +116 -0
  162. package/types/ngneers-controls-progress.d.ts +49 -0
  163. package/types/ngneers-controls-radio.d.ts +91 -0
  164. package/types/ngneers-controls-roving-focus.d.ts +107 -0
  165. package/types/ngneers-controls-scroll-shadow.d.ts +25 -0
  166. package/types/ngneers-controls-scroller.d.ts +151 -0
  167. package/types/ngneers-controls-select-button.d.ts +51 -0
  168. package/types/ngneers-controls-select.d.ts +409 -0
  169. package/types/ngneers-controls-slider.d.ts +57 -0
  170. package/types/ngneers-controls-snackbar.d.ts +330 -0
  171. package/types/ngneers-controls-spin-buttons.d.ts +69 -0
  172. package/types/ngneers-controls-spinner.d.ts +117 -0
  173. package/types/ngneers-controls-splitter.d.ts +465 -0
  174. package/types/ngneers-controls-state.d.ts +102 -0
  175. package/types/ngneers-controls-switch.d.ts +18 -0
  176. package/types/ngneers-controls-table.d.ts +3127 -0
  177. package/types/ngneers-controls-tabs.d.ts +118 -0
  178. package/types/ngneers-controls-tag.d.ts +21 -0
  179. package/types/ngneers-controls-toast.d.ts +298 -0
  180. package/types/ngneers-controls-toggle-button.d.ts +48 -0
  181. package/types/ngneers-controls-tooltip.d.ts +189 -0
  182. package/types/ngneers-controls-tree.d.ts +409 -0
  183. package/types/ngneers-controls-upload.d.ts +347 -0
  184. package/types/ngneers-controls-utils-ng.d.ts +129 -0
  185. package/types/ngneers-controls-utils.d.ts +130 -0
  186. package/types/ngneers-controls.d.ts +2 -0
@@ -0,0 +1,3127 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef, OnDestroy, OnInit, Signal, computed } from '@angular/core';
3
+ import * as _ngneers_signal_translate from '@ngneers/signal-translate';
4
+ import * as _ngneers_controls_api_ng from '@ngneers/controls/api/ng';
5
+ import * as _ngneers_controls_themes from '@ngneers/controls-themes';
6
+ import { PaginationState } from '@ngneers/controls/paginator';
7
+ import * as _ngneers_controls_filter from '@ngneers/controls/filter';
8
+ import { NgnFilterConfig, NgnFilterDataType } from '@ngneers/controls/filter';
9
+ import { AllKeysOfUnion } from '@ngneers/controls/utils';
10
+ import { NgnBase } from '@ngneers/controls/base';
11
+ import { ResizableItem, ResizeLimit } from '@ngneers/controls/api/resize';
12
+ import { NgnActionItem, NgnActionButtonConfig } from '@ngneers/controls/api';
13
+ import { NgnScrollerItem } from '@ngneers/controls/scroller';
14
+
15
+ type FormattedTableDataRow<T> = {
16
+ kind: 'data' | 'header' | 'footer';
17
+ id: T[keyof T] & (string | number);
18
+ data: T;
19
+ index: number;
20
+ };
21
+ type TableSelectionMode = 'single' | 'multi';
22
+ type FormattedTableGroupHeaderRow<V = unknown> = {
23
+ kind: 'group-header';
24
+ id: string;
25
+ groupKey: V;
26
+ groupValue: V;
27
+ count: number;
28
+ expanded: boolean;
29
+ index: number;
30
+ };
31
+ type FormattedTableRow<T, V = unknown> = FormattedTableDataRow<T> | FormattedTableGroupHeaderRow<V>;
32
+
33
+ type TableSort<T> = {
34
+ column: Extract<AllKeysOfUnion<T>, string>;
35
+ direction: 'asc' | 'desc';
36
+ };
37
+ type TableFilters<T> = {
38
+ [key in Extract<AllKeysOfUnion<T>, string>]?: NgnFilterConfig;
39
+ } | null;
40
+ type TableSortComparator<T> = (a: T, b: T, sort: TableSort<T>) => number;
41
+ /** Applies the active multi-column filter set. Returns the input untouched when no filters are set. */
42
+ declare function filterRows<T extends object>(rows: readonly T[], filters: TableFilters<T>): readonly T[];
43
+ /**
44
+ * Default comparator: nulls sort first on `asc` / last on `desc`; numbers compare
45
+ * numerically; everything else compares via `localeCompare` on the stringified value.
46
+ */
47
+ declare function defaultSortComparator<T>(a: T, b: T, sort: TableSort<T>): number;
48
+ /** Sorts rows without mutating the input. Returns the input untouched when no sort is set. */
49
+ declare function sortRows<T>(rows: readonly T[], sort: TableSort<T> | null, comparator?: TableSortComparator<T>): readonly T[];
50
+ /**
51
+ * Builds a flat row list with group headers interleaved, preserving the incoming
52
+ * (already filtered + sorted) order. Data rows appear only under expanded groups.
53
+ */
54
+ declare function groupRows<T>(rows: readonly T[], groupBy: string, fieldId: keyof T, expanded: ReadonlySet<unknown>): FormattedTableRow<T>[];
55
+ /** Slices a formatted row list to the current page. Returns `[]` when there is no page state. */
56
+ declare function paginateRows<T, V>(rows: readonly FormattedTableRow<T, V>[], pageState: PaginationState | null): readonly FormattedTableRow<T, V>[];
57
+
58
+ type GroupHeaderContext = {
59
+ $implicit: {
60
+ groupKey: unknown;
61
+ groupValue: unknown;
62
+ count: number;
63
+ expanded: boolean;
64
+ };
65
+ };
66
+ declare abstract class NgnTableTemplates<T extends object> extends NgnBase<'table'> {
67
+ private readonly _headerTemplate;
68
+ private readonly _bodyTemplate;
69
+ private readonly _groupHeaderTemplate;
70
+ protected readonly headerTemplate: _angular_core.Signal<TemplateRef<unknown> | undefined>;
71
+ protected readonly bodyTemplate: _angular_core.Signal<TemplateRef<{
72
+ $implicit: FormattedTableDataRow<T>;
73
+ }> | undefined>;
74
+ protected readonly groupHeaderTemplate: _angular_core.Signal<TemplateRef<GroupHeaderContext> | undefined>;
75
+ /**
76
+ * Types for the table templates.
77
+ */
78
+ readonly templateTypes: {
79
+ /**
80
+ * Type of the template variable for the body template.
81
+ */
82
+ body: {
83
+ $implicit: FormattedTableDataRow<T>;
84
+ };
85
+ /**
86
+ * Type of the template variable for the group header template.
87
+ */
88
+ groupHeader: GroupHeaderContext;
89
+ } & {
90
+ $implicit: {
91
+ body: Partial<{
92
+ $implicit: FormattedTableDataRow<T>;
93
+ }>;
94
+ groupHeader: Partial<GroupHeaderContext>;
95
+ };
96
+ };
97
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnTableTemplates<any>, never>;
98
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnTableTemplates<any>, "ng-component", never, {}, {}, ["_headerTemplate", "_bodyTemplate", "_groupHeaderTemplate"], never, true, never>;
99
+ }
100
+
101
+ declare class NgnTableTh extends NgnBase<'table'> implements ResizableItem, OnDestroy, OnInit {
102
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"table", ["root", "table", "virtual", "head", "body", "cell", "row", "foot", "even", "striped", "spacer", "sort-control", "sortable-column", "sorted-column", "filter-control", "filterable-column", "filtered-column", "resize-handle", "resizable", "resizing", "cell-text", "selected-row", "selection-checkbox", "selection-column", "selectable", "focused-row", "selected-row-cell", "focused-row-cell", "group-header-row", "group-header-cell", "group-toggle", "group-expanded", "reorderable", "reordering", "drag-source", "drop-indicator", "sticky-start", "sticky-end", "sticky-start-edge", "sticky-end-edge", "row-actions", "row-action-button", "active-row"], readonly [{
103
+ readonly class: "scroller";
104
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
105
+ }, {
106
+ readonly class: "scroll-shadow";
107
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scrollShadow", ["root", "scrolled-start", "scrolled-end", "scrolled-top", "scrolled-bottom"], readonly []>;
108
+ readonly projected: true;
109
+ }, {
110
+ readonly class: "group-toggle-icon";
111
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
112
+ }, {
113
+ readonly class: "sort-icon";
114
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
115
+ readonly projected: true;
116
+ }, {
117
+ readonly class: "filter";
118
+ readonly template: _ngneers_controls_themes.ControlTemplate<"filter", ["root", "inline", "summary", "icon", "popover-content", "rows", "row", "condition-divider", "footer", "footer-actions", "active-indicator"], readonly [{
119
+ readonly class: "popover";
120
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
121
+ }, {
122
+ readonly class: "input-field";
123
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
124
+ readonly class: "input";
125
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
126
+ readonly projected: true;
127
+ }]>;
128
+ }, {
129
+ readonly class: "value";
130
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
131
+ readonly class: "input";
132
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
133
+ readonly projected: true;
134
+ }]>;
135
+ }, {
136
+ readonly class: "operator";
137
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
138
+ readonly class: "input";
139
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
140
+ readonly projected: true;
141
+ }]>;
142
+ }, {
143
+ readonly class: "list-select";
144
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
145
+ readonly class: "popover";
146
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
147
+ }, {
148
+ readonly class: "list-box";
149
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
150
+ readonly class: "checkbox";
151
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
152
+ }, {
153
+ readonly class: "scroller";
154
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
155
+ }]>;
156
+ }, {
157
+ readonly class: "filter";
158
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
159
+ readonly class: "input";
160
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
161
+ readonly projected: true;
162
+ }]>;
163
+ }]>;
164
+ }, {
165
+ readonly class: "operator-select";
166
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
167
+ readonly class: "popover";
168
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
169
+ }, {
170
+ readonly class: "list-box";
171
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
172
+ readonly class: "checkbox";
173
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
174
+ }, {
175
+ readonly class: "scroller";
176
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
177
+ }]>;
178
+ }, {
179
+ readonly class: "filter";
180
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
181
+ readonly class: "input";
182
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
183
+ readonly projected: true;
184
+ }]>;
185
+ }]>;
186
+ }, {
187
+ readonly class: "calendar";
188
+ readonly template: _ngneers_controls_themes.ControlTemplate<"calendar", ["root", "inline", "invalid", "details", "header", "navigation", "days", "week-day", "day", "day-selected", "day-today", "day-other-month", "months", "month", "time", "input-field"], readonly [{
189
+ readonly class: "input";
190
+ readonly template: _ngneers_controls_themes.ControlTemplate<"mask-input", ["root", "section", "section-active", "section-placeholder", "separator", "proxy", "sr-only"], readonly []>;
191
+ }, {
192
+ readonly class: "trigger-icon";
193
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
194
+ }, {
195
+ readonly class: "popover";
196
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
197
+ }, {
198
+ readonly class: "previous";
199
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
200
+ }, {
201
+ readonly class: "next";
202
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
203
+ }, {
204
+ readonly class: "current-month";
205
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
206
+ readonly class: "popover";
207
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
208
+ }, {
209
+ readonly class: "list-box";
210
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
211
+ readonly class: "checkbox";
212
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
213
+ }, {
214
+ readonly class: "scroller";
215
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
216
+ }]>;
217
+ }, {
218
+ readonly class: "filter";
219
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
220
+ readonly class: "input";
221
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
222
+ readonly projected: true;
223
+ }]>;
224
+ }]>;
225
+ }, {
226
+ readonly class: "current-year";
227
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
228
+ readonly class: "popover";
229
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
230
+ }, {
231
+ readonly class: "list-box";
232
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
233
+ readonly class: "checkbox";
234
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
235
+ }, {
236
+ readonly class: "scroller";
237
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
238
+ }]>;
239
+ }, {
240
+ readonly class: "filter";
241
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
242
+ readonly class: "input";
243
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
244
+ readonly projected: true;
245
+ }]>;
246
+ }]>;
247
+ }, {
248
+ readonly class: "current-month-field";
249
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
250
+ readonly class: "input";
251
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
252
+ readonly projected: true;
253
+ }]>;
254
+ }, {
255
+ readonly class: "current-year-field";
256
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
257
+ readonly class: "input";
258
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
259
+ readonly projected: true;
260
+ }]>;
261
+ }]>;
262
+ }, {
263
+ readonly class: "input";
264
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
265
+ }, {
266
+ readonly class: "remove-btn";
267
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
268
+ }, {
269
+ readonly class: "add-button";
270
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
271
+ }, {
272
+ readonly class: "cancel-button";
273
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
274
+ }, {
275
+ readonly class: "apply-button";
276
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
277
+ }, {
278
+ readonly class: "clear-button";
279
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
280
+ }]>;
281
+ readonly projected: true;
282
+ }, {
283
+ readonly class: "popover";
284
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
285
+ readonly projected: true;
286
+ }, {
287
+ readonly class: "paginator";
288
+ readonly template: _ngneers_controls_themes.ControlTemplate<"paginator", ["root", "page-size-options", "active-page"], readonly [{
289
+ readonly class: "previous";
290
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
291
+ }, {
292
+ readonly class: "next";
293
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
294
+ }, {
295
+ readonly class: "page-number";
296
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
297
+ }, {
298
+ readonly class: "overflow";
299
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
300
+ }, {
301
+ readonly class: "item-view";
302
+ readonly template: _ngneers_controls_themes.ControlTemplate<"item-view", ["root", "item", "item-overflowing", "more-items", "more-items-hidden", "more-items-default", "hidden-separator"], readonly []>;
303
+ }]>;
304
+ }, {
305
+ readonly class: "checkbox";
306
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
307
+ readonly projected: true;
308
+ }]>>;
309
+ private _table?;
310
+ private readonly _tableSignal;
311
+ private _resizeHandle?;
312
+ /** The unique column identifier for this header cell, used for sorting, filtering, sticky, and reorder. */
313
+ readonly ngnTableTh: _angular_core.InputSignal<string>;
314
+ /**
315
+ * The size of this column (e.g. '1fr', '200px', '25%').
316
+ * @default '1fr'
317
+ */
318
+ readonly size: _angular_core.ModelSignal<`${number}px` | `${number}fr` | `${number}%`>;
319
+ /**
320
+ * The minimum size constraint for this column.
321
+ * @default '50px'
322
+ */
323
+ readonly minSize: Signal<ResizeLimit>;
324
+ /**
325
+ * The maximum size constraint for this column.
326
+ * @default '100%'
327
+ */
328
+ readonly maxSize: Signal<ResizeLimit>;
329
+ /**
330
+ * Whether this column is resizable. Computed from the parent table's `resizable` input.
331
+ */
332
+ readonly resizable: Signal<boolean>;
333
+ /**
334
+ * Whether the resize handle should be shown. Hidden for the last column in adjacent
335
+ * and proportional modes since it is implicitly resized via the previous column's handle.
336
+ * Push mode shows handles on all columns since each column grows independently.
337
+ */
338
+ private readonly _showHandle;
339
+ /**
340
+ * 1-based visual column index, derived from the table's column order map.
341
+ * Falls back to registration index + 1 when no reordering is active.
342
+ */
343
+ readonly _visualColumnIndex: Signal<number | undefined>;
344
+ constructor();
345
+ ngOnInit(): void;
346
+ ngOnDestroy(): void;
347
+ private prepareDom;
348
+ private readonly onResizeDblClick;
349
+ private readonly onResizePointerDown;
350
+ private getColumnIndex;
351
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnTableTh, never>;
352
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgnTableTh, "[ngnTableTh]", never, { "ngnTableTh": { "alias": "ngnTableTh"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "minSize": { "alias": "minSize"; "required": false; "isSignal": true; }; "maxSize": { "alias": "maxSize"; "required": false; "isSignal": true; }; }, { "size": "sizeChange"; }, never, never, true, never>;
353
+ }
354
+
355
+ /**
356
+ * Per-row actions for the table body `<tr>`. Exposes the same `NgnActionItem[]`
357
+ * as a right-click context menu ({@link context}) and/or an inline hover
358
+ * button-bar ({@link inline}). Both modes are on by default and independent.
359
+ */
360
+ declare class NgnTableRowActions implements OnDestroy {
361
+ private readonly _element;
362
+ private readonly _vcr;
363
+ private readonly _renderer;
364
+ private readonly _row;
365
+ private readonly _table;
366
+ private _menu?;
367
+ private _bar?;
368
+ /** The actions available on this row. */
369
+ readonly actions: _angular_core.InputSignal<NgnActionItem[]>;
370
+ /**
371
+ * Whether right-clicking the row opens a context menu of the actions.
372
+ * @default true
373
+ */
374
+ readonly context: _angular_core.InputSignalWithTransform<boolean, unknown>;
375
+ /**
376
+ * Whether an inline button-bar is rendered at the row's right edge, revealed
377
+ * on hover or keyboard focus.
378
+ * @default true
379
+ */
380
+ readonly inline: _angular_core.InputSignalWithTransform<boolean, unknown>;
381
+ constructor();
382
+ ngOnDestroy(): void;
383
+ /**
384
+ * Opens the context menu anchored to the row element (keyboard trigger:
385
+ * Enter, ContextMenu, or Shift+F10). Deliberately independent of
386
+ * {@link context} — that input only toggles the right-click affordance,
387
+ * not the keyboard one, so keyboard users can always reach a row's menu.
388
+ */
389
+ openMenuFromKeyboard(): boolean;
390
+ /** Focuses the first enabled action button in the inline bar. Returns whether one was focused. */
391
+ focusFirstAction(): boolean;
392
+ /** Moves focus by `delta` among the inline bar's action buttons. Returns whether focus stayed within the bar. */
393
+ moveAction(delta: 1 | -1): boolean;
394
+ private _onContextMenu;
395
+ private _mountBar;
396
+ private _unmountBar;
397
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnTableRowActions, never>;
398
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgnTableRowActions, "[ngnTableRowActions]", never, { "actions": { "alias": "ngnTableRowActions"; "required": true; "isSignal": true; }; "context": { "alias": "ngnTableRowActionsContext"; "required": false; "isSignal": true; }; "inline": { "alias": "ngnTableRowActionsInline"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
399
+ }
400
+
401
+ /**
402
+ * @category control
403
+ */
404
+ declare class NgnTable<T extends object, K extends keyof T, G extends Extract<AllKeysOfUnion<T>, string> = never> extends NgnTableTemplates<T> {
405
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"table", ["root", "table", "virtual", "head", "body", "cell", "row", "foot", "even", "striped", "spacer", "sort-control", "sortable-column", "sorted-column", "filter-control", "filterable-column", "filtered-column", "resize-handle", "resizable", "resizing", "cell-text", "selected-row", "selection-checkbox", "selection-column", "selectable", "focused-row", "selected-row-cell", "focused-row-cell", "group-header-row", "group-header-cell", "group-toggle", "group-expanded", "reorderable", "reordering", "drag-source", "drop-indicator", "sticky-start", "sticky-end", "sticky-start-edge", "sticky-end-edge", "row-actions", "row-action-button", "active-row"], readonly [{
406
+ readonly class: "scroller";
407
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
408
+ }, {
409
+ readonly class: "scroll-shadow";
410
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scrollShadow", ["root", "scrolled-start", "scrolled-end", "scrolled-top", "scrolled-bottom"], readonly []>;
411
+ readonly projected: true;
412
+ }, {
413
+ readonly class: "group-toggle-icon";
414
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
415
+ }, {
416
+ readonly class: "sort-icon";
417
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
418
+ readonly projected: true;
419
+ }, {
420
+ readonly class: "filter";
421
+ readonly template: _ngneers_controls_themes.ControlTemplate<"filter", ["root", "inline", "summary", "icon", "popover-content", "rows", "row", "condition-divider", "footer", "footer-actions", "active-indicator"], readonly [{
422
+ readonly class: "popover";
423
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
424
+ }, {
425
+ readonly class: "input-field";
426
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
427
+ readonly class: "input";
428
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
429
+ readonly projected: true;
430
+ }]>;
431
+ }, {
432
+ readonly class: "value";
433
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
434
+ readonly class: "input";
435
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
436
+ readonly projected: true;
437
+ }]>;
438
+ }, {
439
+ readonly class: "operator";
440
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
441
+ readonly class: "input";
442
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
443
+ readonly projected: true;
444
+ }]>;
445
+ }, {
446
+ readonly class: "list-select";
447
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
448
+ readonly class: "popover";
449
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
450
+ }, {
451
+ readonly class: "list-box";
452
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
453
+ readonly class: "checkbox";
454
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
455
+ }, {
456
+ readonly class: "scroller";
457
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
458
+ }]>;
459
+ }, {
460
+ readonly class: "filter";
461
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
462
+ readonly class: "input";
463
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
464
+ readonly projected: true;
465
+ }]>;
466
+ }]>;
467
+ }, {
468
+ readonly class: "operator-select";
469
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
470
+ readonly class: "popover";
471
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
472
+ }, {
473
+ readonly class: "list-box";
474
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
475
+ readonly class: "checkbox";
476
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
477
+ }, {
478
+ readonly class: "scroller";
479
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
480
+ }]>;
481
+ }, {
482
+ readonly class: "filter";
483
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
484
+ readonly class: "input";
485
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
486
+ readonly projected: true;
487
+ }]>;
488
+ }]>;
489
+ }, {
490
+ readonly class: "calendar";
491
+ readonly template: _ngneers_controls_themes.ControlTemplate<"calendar", ["root", "inline", "invalid", "details", "header", "navigation", "days", "week-day", "day", "day-selected", "day-today", "day-other-month", "months", "month", "time", "input-field"], readonly [{
492
+ readonly class: "input";
493
+ readonly template: _ngneers_controls_themes.ControlTemplate<"mask-input", ["root", "section", "section-active", "section-placeholder", "separator", "proxy", "sr-only"], readonly []>;
494
+ }, {
495
+ readonly class: "trigger-icon";
496
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
497
+ }, {
498
+ readonly class: "popover";
499
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
500
+ }, {
501
+ readonly class: "previous";
502
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
503
+ }, {
504
+ readonly class: "next";
505
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
506
+ }, {
507
+ readonly class: "current-month";
508
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
509
+ readonly class: "popover";
510
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
511
+ }, {
512
+ readonly class: "list-box";
513
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
514
+ readonly class: "checkbox";
515
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
516
+ }, {
517
+ readonly class: "scroller";
518
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
519
+ }]>;
520
+ }, {
521
+ readonly class: "filter";
522
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
523
+ readonly class: "input";
524
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
525
+ readonly projected: true;
526
+ }]>;
527
+ }]>;
528
+ }, {
529
+ readonly class: "current-year";
530
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
531
+ readonly class: "popover";
532
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
533
+ }, {
534
+ readonly class: "list-box";
535
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
536
+ readonly class: "checkbox";
537
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
538
+ }, {
539
+ readonly class: "scroller";
540
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
541
+ }]>;
542
+ }, {
543
+ readonly class: "filter";
544
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
545
+ readonly class: "input";
546
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
547
+ readonly projected: true;
548
+ }]>;
549
+ }]>;
550
+ }, {
551
+ readonly class: "current-month-field";
552
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
553
+ readonly class: "input";
554
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
555
+ readonly projected: true;
556
+ }]>;
557
+ }, {
558
+ readonly class: "current-year-field";
559
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
560
+ readonly class: "input";
561
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
562
+ readonly projected: true;
563
+ }]>;
564
+ }]>;
565
+ }, {
566
+ readonly class: "input";
567
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
568
+ }, {
569
+ readonly class: "remove-btn";
570
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
571
+ }, {
572
+ readonly class: "add-button";
573
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
574
+ }, {
575
+ readonly class: "cancel-button";
576
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
577
+ }, {
578
+ readonly class: "apply-button";
579
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
580
+ }, {
581
+ readonly class: "clear-button";
582
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
583
+ }]>;
584
+ readonly projected: true;
585
+ }, {
586
+ readonly class: "popover";
587
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
588
+ readonly projected: true;
589
+ }, {
590
+ readonly class: "paginator";
591
+ readonly template: _ngneers_controls_themes.ControlTemplate<"paginator", ["root", "page-size-options", "active-page"], readonly [{
592
+ readonly class: "previous";
593
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
594
+ }, {
595
+ readonly class: "next";
596
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
597
+ }, {
598
+ readonly class: "page-number";
599
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
600
+ }, {
601
+ readonly class: "overflow";
602
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
603
+ }, {
604
+ readonly class: "item-view";
605
+ readonly template: _ngneers_controls_themes.ControlTemplate<"item-view", ["root", "item", "item-overflowing", "more-items", "more-items-hidden", "more-items-default", "hidden-separator"], readonly []>;
606
+ }]>;
607
+ }, {
608
+ readonly class: "checkbox";
609
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
610
+ readonly projected: true;
611
+ }]>>;
612
+ private readonly _scroller;
613
+ /** The data rows to render. */
614
+ readonly rows: _angular_core.InputSignal<readonly T[]>;
615
+ /**
616
+ * When {@link virtual} is enabled, this defines the height of each row in pixels.
617
+ */
618
+ readonly rowHeight: _angular_core.InputSignal<number | undefined>;
619
+ /** The key of the property that uniquely identifies each row. */
620
+ readonly fieldId: _angular_core.InputSignal<K>;
621
+ /**
622
+ * Whether the table is virtualized. When enabled, provide {@link rowHeight}.
623
+ * @default false
624
+ */
625
+ readonly virtual: _angular_core.InputSignal<boolean>;
626
+ /**
627
+ * When {@link virtual} is enabled, the number of extra rows to render above and below the viewport.
628
+ * @default 2
629
+ */
630
+ readonly virtualPadding: _angular_core.InputSignal<number>;
631
+ /**
632
+ * Whether to apply alternating background colors to rows.
633
+ * @default false
634
+ */
635
+ readonly striped: _angular_core.InputSignal<boolean>;
636
+ /**
637
+ * Whether to render a paginator and page the rows.
638
+ * @default false
639
+ */
640
+ readonly paginator: _angular_core.InputSignal<boolean>;
641
+ /**
642
+ * The selection mode for the table.
643
+ * - `'single'`: Only one row can be selected at a time.
644
+ * - `'multi'`: Multiple rows can be selected (with Ctrl/Shift click or checkboxes).
645
+ * - `null`: Selection is disabled.
646
+ * @default null
647
+ */
648
+ readonly selectionMode: _angular_core.InputSignal<TableSelectionMode | null>;
649
+ /**
650
+ * The selected row IDs. Two-way bindable via `[(selection)]`.
651
+ * @default []
652
+ */
653
+ readonly selection: _angular_core.ModelSignal<T[K & keyof T][]>;
654
+ /**
655
+ * Column key to group rows by. Rows with the same value in this column
656
+ * are collected under a collapsible group header.
657
+ * @default null (no grouping)
658
+ */
659
+ readonly groupBy: _angular_core.InputSignal<G | null>;
660
+ /**
661
+ * Two-way model tracking which groups are currently expanded, identified
662
+ * by their column value. Defaults to `[]` (all collapsed).
663
+ * Pass all group values to start with all groups expanded.
664
+ *
665
+ * Type-safe: when `groupBy` is set, this is typed as `T[G][]` where G
666
+ * is the groupBy column key (inferred by Angular's template type checker).
667
+ */
668
+ readonly expandedGroups: _angular_core.ModelSignal<(T[G] & (string | number))[]>;
669
+ /**
670
+ * Whether column resizing is enabled.
671
+ * @default false
672
+ */
673
+ readonly resizable: _angular_core.InputSignalWithTransform<boolean, unknown>;
674
+ /**
675
+ * The resize distribution mode.
676
+ * - `'adjacent'`: Only columns adjacent to the resize handle change. Total width stays the same.
677
+ * - `'push'`: Column grows/shrinks independently, total width changes (enables horizontal scrolling).
678
+ * @default 'adjacent'
679
+ */
680
+ readonly resizeMode: _angular_core.InputSignal<"adjacent" | "proportional" | "push">;
681
+ /**
682
+ * Whether to lock affected columns to fixed `px` values after a resize completes.
683
+ *
684
+ * - **`proportional` mode**: when `true`, the resized column stays as `px` (locked);
685
+ * when `false`, it is converted back to `fr` and continues to flex with the container.
686
+ * - **`adjacent` / `push` modes**: when `true`, columns whose size changed are converted
687
+ * to `px`; when `false`, columns keep their original units.
688
+ *
689
+ * @default false
690
+ */
691
+ readonly lockSizes: _angular_core.InputSignal<boolean>;
692
+ /**
693
+ * Whether column reordering is enabled.
694
+ * @default false
695
+ */
696
+ readonly reorderable: _angular_core.InputSignalWithTransform<boolean, unknown>;
697
+ /**
698
+ * The current column order as an array of column identifiers.
699
+ * When empty, the natural registration order (DOM order) is used.
700
+ * Supports two-way binding for persistence.
701
+ */
702
+ readonly columnOrder: _angular_core.ModelSignal<string[]>;
703
+ protected readonly trackById: (item: T) => unknown;
704
+ /**
705
+ * The active sort descriptor (column + direction), or `null` when unsorted. Two-way bindable.
706
+ * @default null
707
+ */
708
+ readonly sort: _angular_core.ModelSignal<{
709
+ column: Extract<AllKeysOfUnion<T>, string>;
710
+ direction: "asc" | "desc";
711
+ } | null>;
712
+ /**
713
+ * Optional custom comparator used when `sort` is active. Receives the two rows and the
714
+ * active sort descriptor. When omitted, a default comparator is used (nulls-first on asc,
715
+ * numeric for numbers, `localeCompare` otherwise).
716
+ */
717
+ readonly sortComparator: _angular_core.InputSignal<TableSortComparator<T> | undefined>;
718
+ /**
719
+ * The active per-column filter configuration, keyed by column, or `null` when unfiltered. Two-way bindable.
720
+ * @default null
721
+ */
722
+ readonly filters: _angular_core.ModelSignal<{ [key in Extract<AllKeysOfUnion<T>, string>]?: NgnFilterConfig | undefined; } | null>;
723
+ protected readonly pageState: _angular_core.WritableSignal<PaginationState | null>;
724
+ protected readonly i18n: _ngneers_signal_translate.TranslationsSignal<{
725
+ calendar: {
726
+ today: string;
727
+ input: string;
728
+ selectYear: string;
729
+ selectMonth: string;
730
+ previousMonth: string;
731
+ nextMonth: string;
732
+ weekdays: {
733
+ monday: string;
734
+ tuesday: string;
735
+ wednesday: string;
736
+ thursday: string;
737
+ friday: string;
738
+ saturday: string;
739
+ sunday: string;
740
+ };
741
+ weekdaysShort: {
742
+ monday: string;
743
+ tuesday: string;
744
+ wednesday: string;
745
+ thursday: string;
746
+ friday: string;
747
+ saturday: string;
748
+ sunday: string;
749
+ };
750
+ months: {
751
+ january: string;
752
+ february: string;
753
+ march: string;
754
+ april: string;
755
+ may: string;
756
+ june: string;
757
+ july: string;
758
+ august: string;
759
+ september: string;
760
+ october: string;
761
+ november: string;
762
+ december: string;
763
+ };
764
+ };
765
+ editInplace: {
766
+ placeholder: string;
767
+ confirm: string;
768
+ };
769
+ filter: {
770
+ noFilter: string;
771
+ addCondition: string;
772
+ removeCondition: string;
773
+ operator: string;
774
+ value: string;
775
+ clear: string;
776
+ apply: string;
777
+ cancel: string;
778
+ matchModeLabel: string;
779
+ match: {
780
+ all: string;
781
+ any: string;
782
+ and: string;
783
+ or: string;
784
+ };
785
+ selected: string;
786
+ conditions: string;
787
+ operators: {
788
+ isEqual: string;
789
+ isNotEqual: string;
790
+ contains: string;
791
+ startsWith: string;
792
+ endsWith: string;
793
+ in: string;
794
+ isEmpty: string;
795
+ isNotEmpty: string;
796
+ greaterThan: string;
797
+ greaterThanOrEqual: string;
798
+ lessThan: string;
799
+ lessThanOrEqual: string;
800
+ after: string;
801
+ onOrAfter: string;
802
+ before: string;
803
+ onOrBefore: string;
804
+ isTrue: string;
805
+ isFalse: string;
806
+ custom: string;
807
+ };
808
+ };
809
+ splitter: {
810
+ handleLabel: string;
811
+ };
812
+ inputField: {
813
+ clearInput: string;
814
+ };
815
+ maskInput: {
816
+ roleDescription: string;
817
+ segmentRange: string;
818
+ optionSeparator: string;
819
+ };
820
+ drawer: {
821
+ close: string;
822
+ };
823
+ dialog: {
824
+ close: string;
825
+ };
826
+ chip: {
827
+ close: string;
828
+ };
829
+ breadcrumb: {
830
+ overflow: string;
831
+ };
832
+ toast: {
833
+ close: string;
834
+ region: string;
835
+ };
836
+ snackbar: {
837
+ close: string;
838
+ region: string;
839
+ severity: {
840
+ error: string;
841
+ warning: string;
842
+ success: string;
843
+ info: string;
844
+ };
845
+ };
846
+ upload: {
847
+ upload: string;
848
+ uploadNamed: string;
849
+ retryNamed: string;
850
+ cancelNamed: string;
851
+ removeNamed: string;
852
+ progressNamed: string;
853
+ };
854
+ select: {
855
+ filterOptions: string;
856
+ };
857
+ paginator: {
858
+ previousPage: string;
859
+ nextPage: string;
860
+ };
861
+ listBox: {
862
+ noItemsFound: string;
863
+ };
864
+ tree: {
865
+ noItemsFound: string;
866
+ };
867
+ table: {
868
+ selectAllRows: string;
869
+ selectRow: string;
870
+ sortedBy: string;
871
+ sortAscending: string;
872
+ sortDescending: string;
873
+ sortCleared: string;
874
+ selectedCount: string;
875
+ page: string;
876
+ resultCount: string;
877
+ };
878
+ state: {
879
+ loading: string;
880
+ success: string;
881
+ warning: string;
882
+ error: string;
883
+ cancelled: string;
884
+ };
885
+ }, "_">;
886
+ /**
887
+ * Polite live-region text announcing sort / filter / pagination / selection
888
+ * changes to assistive tech. Populated by an effect in the constructor.
889
+ */
890
+ protected readonly liveAnnouncement: _angular_core.WritableSignal<string>;
891
+ private readonly _columns;
892
+ /**
893
+ * Whether a selection column directive is present in the template.
894
+ * Set automatically by `NgnTableSelectionColumn` — do not set manually.
895
+ */
896
+ readonly showCheckboxes: _angular_core.Signal<boolean>;
897
+ protected readonly dropIndicatorState: _angular_core.Signal<{
898
+ leftPx: number;
899
+ topPx: number;
900
+ heightPx: number;
901
+ } | null>;
902
+ readonly columnOrderMap: _angular_core.Signal<ReadonlyMap<string, number>>;
903
+ /**
904
+ * Grid template columns computed from the resize engine when resizable,
905
+ * otherwise falls back to the standard equal-width repeat.
906
+ */
907
+ get gridTemplateColumns(): _angular_core.Signal<string>;
908
+ /**
909
+ * The single current-row index (index in {@link formattedRows}) for
910
+ * keyboard navigation. Shared by {@link NgnTable}'s selection keyboard
911
+ * handling and row-actions keyboard navigation — arrows move it, and (when
912
+ * {@link selectionMode} is set) selection follows it. Cleared whenever
913
+ * {@link formattedRows} changes identity (sort/filter/rows replaced) so it
914
+ * never points at a stale row.
915
+ */
916
+ readonly focusedRowIndex: _angular_core.WritableSignal<number | null>;
917
+ private readonly _selection;
918
+ readonly headerCheckboxValue: ReturnType<typeof computed<boolean | null>>;
919
+ private readonly _rowActions;
920
+ private readonly _rowNav;
921
+ /**
922
+ * Total column count including the selection checkbox column.
923
+ */
924
+ protected readonly totalColumnCount: _angular_core.Signal<number>;
925
+ protected readonly formattedRows: _angular_core.Signal<FormattedTableRow<T>[]>;
926
+ private readonly _groupedRows;
927
+ protected readonly pagedRows: _angular_core.Signal<FormattedTableRow<T>[]>;
928
+ private readonly _filteredRows;
929
+ private readonly _sortedRows;
930
+ constructor();
931
+ protected pageChanged(event: PaginationState): void;
932
+ column<V extends AllKeysOfUnion<T> & string>(column: V): V;
933
+ getVisualColumnIndex(logicalIndex: number): number;
934
+ getRegisteredHeaderCells(): readonly NgnTableTh[];
935
+ getStickyInfo(columnId: string): {
936
+ side: 'start' | 'end';
937
+ index: number;
938
+ isEdge: boolean;
939
+ } | null;
940
+ registerHeaderCell(cell: NgnTableTh): void;
941
+ unregisterHeaderCell(cell: NgnTableTh): void;
942
+ registerSelectionColumn(): void;
943
+ unregisterSelectionColumn(): void;
944
+ registerStickyColumn(columnId: string, side: 'start' | 'end'): void;
945
+ unregisterStickyColumn(columnId: string): void;
946
+ startColumnResize(columnIndex: number, event: PointerEvent): void;
947
+ dragColumnResize(columnIndex: number, event: PointerEvent): void;
948
+ endColumnResize(columnIndex: number, cancel: boolean): void;
949
+ autoSizeColumn(columnIndex: number): void;
950
+ getReorderBounds(columnId: string): {
951
+ min: number;
952
+ max: number;
953
+ };
954
+ startColumnReorder(columnId: string): void;
955
+ dragColumnReorder(event: PointerEvent): void;
956
+ endColumnReorder(cancel: boolean): void;
957
+ getReorderSourceColumnId(): string | null;
958
+ isRowSelected(id: T[keyof T] & (string | number)): boolean;
959
+ handleRowClick(row: FormattedTableDataRow<T>, event: MouseEvent): void;
960
+ handleCheckboxChange(row: FormattedTableDataRow<T>): void;
961
+ toggleSelectAll(): void;
962
+ /**
963
+ * Registers a row's {@link NgnTableRowActions} directive keyed by its row
964
+ * index, so keyboard navigation can look up the active row's actions.
965
+ * Called by `NgnTableRowActions`; not intended for manual use.
966
+ */
967
+ registerRowActions(index: number, dir: NgnTableRowActions): void;
968
+ /**
969
+ * Unregisters a row's actions directive. Called by `NgnTableRowActions`.
970
+ * Only removes the entry if `dir` is still the registered owner for
971
+ * `index`, so a stale unregister (e.g. after row recycling re-registered
972
+ * a different instance at the same index) cannot clobber it.
973
+ */
974
+ unregisterRowActions(index: number, dir: NgnTableRowActions): void;
975
+ /** Looks up the registered actions directive for a row index, if any. */
976
+ getRowActions(index: number): NgnTableRowActions | undefined;
977
+ /**
978
+ * Whether keyboard focus is currently inside the action bar of the row at
979
+ * `index` — i.e. this row is both the current row and
980
+ * {@link TableRowNavigationModel.inActions}. Drives the `active-row`
981
+ * highlight in {@link NgnTableBodyTr}.
982
+ */
983
+ isRowInActions(index: number): boolean;
984
+ protected onKeyDown(event: KeyboardEvent): void;
985
+ /**
986
+ * Toggle the expanded state of a group identified by its column value.
987
+ */
988
+ toggleGroup(groupKey: T[G] & (string | number)): void;
989
+ /**
990
+ * Toggle a group from a group-header row. Used in the template where
991
+ * the scroller item type cannot carry the `G` generic.
992
+ * @internal
993
+ */
994
+ protected toggleGroupFromRow(row: FormattedTableGroupHeaderRow): void;
995
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnTable<any, any, any>, never>;
996
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnTable<any, any, any>, "ngn-table", never, { "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "fieldId": { "alias": "fieldId"; "required": true; "isSignal": true; }; "virtual": { "alias": "virtual"; "required": false; "isSignal": true; }; "virtualPadding": { "alias": "virtualPadding"; "required": false; "isSignal": true; }; "striped": { "alias": "striped"; "required": false; "isSignal": true; }; "paginator": { "alias": "paginator"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "groupBy": { "alias": "groupBy"; "required": false; "isSignal": true; }; "expandedGroups": { "alias": "expandedGroups"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "resizeMode": { "alias": "resizeMode"; "required": false; "isSignal": true; }; "lockSizes": { "alias": "lockSizes"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "columnOrder": { "alias": "columnOrder"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "sortComparator": { "alias": "sortComparator"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; }, { "selection": "selectionChange"; "expandedGroups": "expandedGroupsChange"; "columnOrder": "columnOrderChange"; "sort": "sortChange"; "filters": "filtersChange"; }, never, never, true, never>;
997
+ }
998
+
999
+ declare class NgnTableBodyTr<T> extends NgnScrollerItem {
1000
+ /** The formatted data row this `<tr>` renders. */
1001
+ readonly ngnTableBodyTr: _angular_core.InputSignal<FormattedTableDataRow<T>>;
1002
+ /** The item bound to the underlying scroller entry; kept in sync with {@link ngnTableBodyTr}. */
1003
+ readonly ngnScrollerItem: _angular_core.InputSignal<object>;
1004
+ private readonly _element;
1005
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"table", ["root", "table", "virtual", "head", "body", "cell", "row", "foot", "even", "striped", "spacer", "sort-control", "sortable-column", "sorted-column", "filter-control", "filterable-column", "filtered-column", "resize-handle", "resizable", "resizing", "cell-text", "selected-row", "selection-checkbox", "selection-column", "selectable", "focused-row", "selected-row-cell", "focused-row-cell", "group-header-row", "group-header-cell", "group-toggle", "group-expanded", "reorderable", "reordering", "drag-source", "drop-indicator", "sticky-start", "sticky-end", "sticky-start-edge", "sticky-end-edge", "row-actions", "row-action-button", "active-row"], readonly [{
1006
+ readonly class: "scroller";
1007
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1008
+ }, {
1009
+ readonly class: "scroll-shadow";
1010
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scrollShadow", ["root", "scrolled-start", "scrolled-end", "scrolled-top", "scrolled-bottom"], readonly []>;
1011
+ readonly projected: true;
1012
+ }, {
1013
+ readonly class: "group-toggle-icon";
1014
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
1015
+ }, {
1016
+ readonly class: "sort-icon";
1017
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
1018
+ readonly projected: true;
1019
+ }, {
1020
+ readonly class: "filter";
1021
+ readonly template: _ngneers_controls_themes.ControlTemplate<"filter", ["root", "inline", "summary", "icon", "popover-content", "rows", "row", "condition-divider", "footer", "footer-actions", "active-indicator"], readonly [{
1022
+ readonly class: "popover";
1023
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1024
+ }, {
1025
+ readonly class: "input-field";
1026
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1027
+ readonly class: "input";
1028
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1029
+ readonly projected: true;
1030
+ }]>;
1031
+ }, {
1032
+ readonly class: "value";
1033
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1034
+ readonly class: "input";
1035
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1036
+ readonly projected: true;
1037
+ }]>;
1038
+ }, {
1039
+ readonly class: "operator";
1040
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1041
+ readonly class: "input";
1042
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1043
+ readonly projected: true;
1044
+ }]>;
1045
+ }, {
1046
+ readonly class: "list-select";
1047
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1048
+ readonly class: "popover";
1049
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1050
+ }, {
1051
+ readonly class: "list-box";
1052
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1053
+ readonly class: "checkbox";
1054
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1055
+ }, {
1056
+ readonly class: "scroller";
1057
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1058
+ }]>;
1059
+ }, {
1060
+ readonly class: "filter";
1061
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1062
+ readonly class: "input";
1063
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1064
+ readonly projected: true;
1065
+ }]>;
1066
+ }]>;
1067
+ }, {
1068
+ readonly class: "operator-select";
1069
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1070
+ readonly class: "popover";
1071
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1072
+ }, {
1073
+ readonly class: "list-box";
1074
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1075
+ readonly class: "checkbox";
1076
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1077
+ }, {
1078
+ readonly class: "scroller";
1079
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1080
+ }]>;
1081
+ }, {
1082
+ readonly class: "filter";
1083
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1084
+ readonly class: "input";
1085
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1086
+ readonly projected: true;
1087
+ }]>;
1088
+ }]>;
1089
+ }, {
1090
+ readonly class: "calendar";
1091
+ readonly template: _ngneers_controls_themes.ControlTemplate<"calendar", ["root", "inline", "invalid", "details", "header", "navigation", "days", "week-day", "day", "day-selected", "day-today", "day-other-month", "months", "month", "time", "input-field"], readonly [{
1092
+ readonly class: "input";
1093
+ readonly template: _ngneers_controls_themes.ControlTemplate<"mask-input", ["root", "section", "section-active", "section-placeholder", "separator", "proxy", "sr-only"], readonly []>;
1094
+ }, {
1095
+ readonly class: "trigger-icon";
1096
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
1097
+ }, {
1098
+ readonly class: "popover";
1099
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1100
+ }, {
1101
+ readonly class: "previous";
1102
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1103
+ }, {
1104
+ readonly class: "next";
1105
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1106
+ }, {
1107
+ readonly class: "current-month";
1108
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1109
+ readonly class: "popover";
1110
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1111
+ }, {
1112
+ readonly class: "list-box";
1113
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1114
+ readonly class: "checkbox";
1115
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1116
+ }, {
1117
+ readonly class: "scroller";
1118
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1119
+ }]>;
1120
+ }, {
1121
+ readonly class: "filter";
1122
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1123
+ readonly class: "input";
1124
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1125
+ readonly projected: true;
1126
+ }]>;
1127
+ }]>;
1128
+ }, {
1129
+ readonly class: "current-year";
1130
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1131
+ readonly class: "popover";
1132
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1133
+ }, {
1134
+ readonly class: "list-box";
1135
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1136
+ readonly class: "checkbox";
1137
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1138
+ }, {
1139
+ readonly class: "scroller";
1140
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1141
+ }]>;
1142
+ }, {
1143
+ readonly class: "filter";
1144
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1145
+ readonly class: "input";
1146
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1147
+ readonly projected: true;
1148
+ }]>;
1149
+ }]>;
1150
+ }, {
1151
+ readonly class: "current-month-field";
1152
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1153
+ readonly class: "input";
1154
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1155
+ readonly projected: true;
1156
+ }]>;
1157
+ }, {
1158
+ readonly class: "current-year-field";
1159
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1160
+ readonly class: "input";
1161
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1162
+ readonly projected: true;
1163
+ }]>;
1164
+ }]>;
1165
+ }, {
1166
+ readonly class: "input";
1167
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1168
+ }, {
1169
+ readonly class: "remove-btn";
1170
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1171
+ }, {
1172
+ readonly class: "add-button";
1173
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1174
+ }, {
1175
+ readonly class: "cancel-button";
1176
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1177
+ }, {
1178
+ readonly class: "apply-button";
1179
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1180
+ }, {
1181
+ readonly class: "clear-button";
1182
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1183
+ }]>;
1184
+ readonly projected: true;
1185
+ }, {
1186
+ readonly class: "popover";
1187
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1188
+ readonly projected: true;
1189
+ }, {
1190
+ readonly class: "paginator";
1191
+ readonly template: _ngneers_controls_themes.ControlTemplate<"paginator", ["root", "page-size-options", "active-page"], readonly [{
1192
+ readonly class: "previous";
1193
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1194
+ }, {
1195
+ readonly class: "next";
1196
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1197
+ }, {
1198
+ readonly class: "page-number";
1199
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1200
+ }, {
1201
+ readonly class: "overflow";
1202
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1203
+ }, {
1204
+ readonly class: "item-view";
1205
+ readonly template: _ngneers_controls_themes.ControlTemplate<"item-view", ["root", "item", "item-overflowing", "more-items", "more-items-hidden", "more-items-default", "hidden-separator"], readonly []>;
1206
+ }]>;
1207
+ }, {
1208
+ readonly class: "checkbox";
1209
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1210
+ readonly projected: true;
1211
+ }]>>;
1212
+ private readonly _table;
1213
+ protected readonly selectable: _angular_core.Signal<boolean>;
1214
+ protected readonly selected: _angular_core.Signal<boolean>;
1215
+ /**
1216
+ * Whether this row is the table's single current-row for keyboard
1217
+ * navigation ({@link NgnTable.focusedRowIndex}). Tracks selection keyboard
1218
+ * nav when {@link NgnTable.selectionMode} is set, and also tracks
1219
+ * row-actions keyboard nav on non-selectable tables that have row actions,
1220
+ * so a keyboard user always sees which row is current.
1221
+ */
1222
+ protected readonly focused: _angular_core.Signal<boolean>;
1223
+ /** Whether this row's action bar currently has DOM focus. */
1224
+ protected readonly active: _angular_core.Signal<boolean>;
1225
+ constructor();
1226
+ private prepareDom;
1227
+ protected onRowClick(event: MouseEvent): void;
1228
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnTableBodyTr<any>, never>;
1229
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgnTableBodyTr<any>, "[ngnTableBodyTr]", never, { "ngnTableBodyTr": { "alias": "ngnTableBodyTr"; "required": true; "isSignal": true; }; "ngnScrollerItem": { "alias": "ngnScrollerItem"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1230
+ }
1231
+
1232
+ /**
1233
+ * Lightweight body-cell directive. Deliberately does **not** extend `NgnBase`:
1234
+ * a `<td>` is instantiated once per cell (thousands per table), so it avoids the
1235
+ * per-control overhead (kind/color effects, `viewChildren` query, theme kind/color
1236
+ * injection, leave-animation hooks). It only does what a cell needs — apply the
1237
+ * `cell` class, expose its visual column index, and mirror sticky positioning.
1238
+ */
1239
+ declare class NgnTableTd {
1240
+ private readonly _element;
1241
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"table", ["root", "table", "virtual", "head", "body", "cell", "row", "foot", "even", "striped", "spacer", "sort-control", "sortable-column", "sorted-column", "filter-control", "filterable-column", "filtered-column", "resize-handle", "resizable", "resizing", "cell-text", "selected-row", "selection-checkbox", "selection-column", "selectable", "focused-row", "selected-row-cell", "focused-row-cell", "group-header-row", "group-header-cell", "group-toggle", "group-expanded", "reorderable", "reordering", "drag-source", "drop-indicator", "sticky-start", "sticky-end", "sticky-start-edge", "sticky-end-edge", "row-actions", "row-action-button", "active-row"], readonly [{
1242
+ readonly class: "scroller";
1243
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1244
+ }, {
1245
+ readonly class: "scroll-shadow";
1246
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scrollShadow", ["root", "scrolled-start", "scrolled-end", "scrolled-top", "scrolled-bottom"], readonly []>;
1247
+ readonly projected: true;
1248
+ }, {
1249
+ readonly class: "group-toggle-icon";
1250
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
1251
+ }, {
1252
+ readonly class: "sort-icon";
1253
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
1254
+ readonly projected: true;
1255
+ }, {
1256
+ readonly class: "filter";
1257
+ readonly template: _ngneers_controls_themes.ControlTemplate<"filter", ["root", "inline", "summary", "icon", "popover-content", "rows", "row", "condition-divider", "footer", "footer-actions", "active-indicator"], readonly [{
1258
+ readonly class: "popover";
1259
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1260
+ }, {
1261
+ readonly class: "input-field";
1262
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1263
+ readonly class: "input";
1264
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1265
+ readonly projected: true;
1266
+ }]>;
1267
+ }, {
1268
+ readonly class: "value";
1269
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1270
+ readonly class: "input";
1271
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1272
+ readonly projected: true;
1273
+ }]>;
1274
+ }, {
1275
+ readonly class: "operator";
1276
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1277
+ readonly class: "input";
1278
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1279
+ readonly projected: true;
1280
+ }]>;
1281
+ }, {
1282
+ readonly class: "list-select";
1283
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1284
+ readonly class: "popover";
1285
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1286
+ }, {
1287
+ readonly class: "list-box";
1288
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1289
+ readonly class: "checkbox";
1290
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1291
+ }, {
1292
+ readonly class: "scroller";
1293
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1294
+ }]>;
1295
+ }, {
1296
+ readonly class: "filter";
1297
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1298
+ readonly class: "input";
1299
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1300
+ readonly projected: true;
1301
+ }]>;
1302
+ }]>;
1303
+ }, {
1304
+ readonly class: "operator-select";
1305
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1306
+ readonly class: "popover";
1307
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1308
+ }, {
1309
+ readonly class: "list-box";
1310
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1311
+ readonly class: "checkbox";
1312
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1313
+ }, {
1314
+ readonly class: "scroller";
1315
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1316
+ }]>;
1317
+ }, {
1318
+ readonly class: "filter";
1319
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1320
+ readonly class: "input";
1321
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1322
+ readonly projected: true;
1323
+ }]>;
1324
+ }]>;
1325
+ }, {
1326
+ readonly class: "calendar";
1327
+ readonly template: _ngneers_controls_themes.ControlTemplate<"calendar", ["root", "inline", "invalid", "details", "header", "navigation", "days", "week-day", "day", "day-selected", "day-today", "day-other-month", "months", "month", "time", "input-field"], readonly [{
1328
+ readonly class: "input";
1329
+ readonly template: _ngneers_controls_themes.ControlTemplate<"mask-input", ["root", "section", "section-active", "section-placeholder", "separator", "proxy", "sr-only"], readonly []>;
1330
+ }, {
1331
+ readonly class: "trigger-icon";
1332
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
1333
+ }, {
1334
+ readonly class: "popover";
1335
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1336
+ }, {
1337
+ readonly class: "previous";
1338
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1339
+ }, {
1340
+ readonly class: "next";
1341
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1342
+ }, {
1343
+ readonly class: "current-month";
1344
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1345
+ readonly class: "popover";
1346
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1347
+ }, {
1348
+ readonly class: "list-box";
1349
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1350
+ readonly class: "checkbox";
1351
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1352
+ }, {
1353
+ readonly class: "scroller";
1354
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1355
+ }]>;
1356
+ }, {
1357
+ readonly class: "filter";
1358
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1359
+ readonly class: "input";
1360
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1361
+ readonly projected: true;
1362
+ }]>;
1363
+ }]>;
1364
+ }, {
1365
+ readonly class: "current-year";
1366
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1367
+ readonly class: "popover";
1368
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1369
+ }, {
1370
+ readonly class: "list-box";
1371
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1372
+ readonly class: "checkbox";
1373
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1374
+ }, {
1375
+ readonly class: "scroller";
1376
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1377
+ }]>;
1378
+ }, {
1379
+ readonly class: "filter";
1380
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1381
+ readonly class: "input";
1382
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1383
+ readonly projected: true;
1384
+ }]>;
1385
+ }]>;
1386
+ }, {
1387
+ readonly class: "current-month-field";
1388
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1389
+ readonly class: "input";
1390
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1391
+ readonly projected: true;
1392
+ }]>;
1393
+ }, {
1394
+ readonly class: "current-year-field";
1395
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1396
+ readonly class: "input";
1397
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1398
+ readonly projected: true;
1399
+ }]>;
1400
+ }]>;
1401
+ }, {
1402
+ readonly class: "input";
1403
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1404
+ }, {
1405
+ readonly class: "remove-btn";
1406
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1407
+ }, {
1408
+ readonly class: "add-button";
1409
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1410
+ }, {
1411
+ readonly class: "cancel-button";
1412
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1413
+ }, {
1414
+ readonly class: "apply-button";
1415
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1416
+ }, {
1417
+ readonly class: "clear-button";
1418
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1419
+ }]>;
1420
+ readonly projected: true;
1421
+ }, {
1422
+ readonly class: "popover";
1423
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1424
+ readonly projected: true;
1425
+ }, {
1426
+ readonly class: "paginator";
1427
+ readonly template: _ngneers_controls_themes.ControlTemplate<"paginator", ["root", "page-size-options", "active-page"], readonly [{
1428
+ readonly class: "previous";
1429
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1430
+ }, {
1431
+ readonly class: "next";
1432
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1433
+ }, {
1434
+ readonly class: "page-number";
1435
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1436
+ }, {
1437
+ readonly class: "overflow";
1438
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1439
+ }, {
1440
+ readonly class: "item-view";
1441
+ readonly template: _ngneers_controls_themes.ControlTemplate<"item-view", ["root", "item", "item-overflowing", "more-items", "more-items-hidden", "more-items-default", "hidden-separator"], readonly []>;
1442
+ }]>;
1443
+ }, {
1444
+ readonly class: "checkbox";
1445
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1446
+ readonly projected: true;
1447
+ }]>>;
1448
+ private readonly _table;
1449
+ /** 0-based logical (DOM) index of this cell within its row. */
1450
+ private readonly _logicalIndex;
1451
+ /** 1-based visual column index, remapped through the table's column order. */
1452
+ protected readonly _visualColumnIndex: _angular_core.Signal<number>;
1453
+ private readonly _columnId;
1454
+ private readonly _stickyInfo;
1455
+ constructor();
1456
+ private prepareDom;
1457
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnTableTd, never>;
1458
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgnTableTd, "[ngnTableTd]", never, {}, {}, never, never, true, never>;
1459
+ }
1460
+
1461
+ declare class NgnTableHeadTr extends NgnBase<'table'> {
1462
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"table", ["root", "table", "virtual", "head", "body", "cell", "row", "foot", "even", "striped", "spacer", "sort-control", "sortable-column", "sorted-column", "filter-control", "filterable-column", "filtered-column", "resize-handle", "resizable", "resizing", "cell-text", "selected-row", "selection-checkbox", "selection-column", "selectable", "focused-row", "selected-row-cell", "focused-row-cell", "group-header-row", "group-header-cell", "group-toggle", "group-expanded", "reorderable", "reordering", "drag-source", "drop-indicator", "sticky-start", "sticky-end", "sticky-start-edge", "sticky-end-edge", "row-actions", "row-action-button", "active-row"], readonly [{
1463
+ readonly class: "scroller";
1464
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1465
+ }, {
1466
+ readonly class: "scroll-shadow";
1467
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scrollShadow", ["root", "scrolled-start", "scrolled-end", "scrolled-top", "scrolled-bottom"], readonly []>;
1468
+ readonly projected: true;
1469
+ }, {
1470
+ readonly class: "group-toggle-icon";
1471
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
1472
+ }, {
1473
+ readonly class: "sort-icon";
1474
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
1475
+ readonly projected: true;
1476
+ }, {
1477
+ readonly class: "filter";
1478
+ readonly template: _ngneers_controls_themes.ControlTemplate<"filter", ["root", "inline", "summary", "icon", "popover-content", "rows", "row", "condition-divider", "footer", "footer-actions", "active-indicator"], readonly [{
1479
+ readonly class: "popover";
1480
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1481
+ }, {
1482
+ readonly class: "input-field";
1483
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1484
+ readonly class: "input";
1485
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1486
+ readonly projected: true;
1487
+ }]>;
1488
+ }, {
1489
+ readonly class: "value";
1490
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1491
+ readonly class: "input";
1492
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1493
+ readonly projected: true;
1494
+ }]>;
1495
+ }, {
1496
+ readonly class: "operator";
1497
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1498
+ readonly class: "input";
1499
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1500
+ readonly projected: true;
1501
+ }]>;
1502
+ }, {
1503
+ readonly class: "list-select";
1504
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1505
+ readonly class: "popover";
1506
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1507
+ }, {
1508
+ readonly class: "list-box";
1509
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1510
+ readonly class: "checkbox";
1511
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1512
+ }, {
1513
+ readonly class: "scroller";
1514
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1515
+ }]>;
1516
+ }, {
1517
+ readonly class: "filter";
1518
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1519
+ readonly class: "input";
1520
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1521
+ readonly projected: true;
1522
+ }]>;
1523
+ }]>;
1524
+ }, {
1525
+ readonly class: "operator-select";
1526
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1527
+ readonly class: "popover";
1528
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1529
+ }, {
1530
+ readonly class: "list-box";
1531
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1532
+ readonly class: "checkbox";
1533
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1534
+ }, {
1535
+ readonly class: "scroller";
1536
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1537
+ }]>;
1538
+ }, {
1539
+ readonly class: "filter";
1540
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1541
+ readonly class: "input";
1542
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1543
+ readonly projected: true;
1544
+ }]>;
1545
+ }]>;
1546
+ }, {
1547
+ readonly class: "calendar";
1548
+ readonly template: _ngneers_controls_themes.ControlTemplate<"calendar", ["root", "inline", "invalid", "details", "header", "navigation", "days", "week-day", "day", "day-selected", "day-today", "day-other-month", "months", "month", "time", "input-field"], readonly [{
1549
+ readonly class: "input";
1550
+ readonly template: _ngneers_controls_themes.ControlTemplate<"mask-input", ["root", "section", "section-active", "section-placeholder", "separator", "proxy", "sr-only"], readonly []>;
1551
+ }, {
1552
+ readonly class: "trigger-icon";
1553
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
1554
+ }, {
1555
+ readonly class: "popover";
1556
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1557
+ }, {
1558
+ readonly class: "previous";
1559
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1560
+ }, {
1561
+ readonly class: "next";
1562
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1563
+ }, {
1564
+ readonly class: "current-month";
1565
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1566
+ readonly class: "popover";
1567
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1568
+ }, {
1569
+ readonly class: "list-box";
1570
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1571
+ readonly class: "checkbox";
1572
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1573
+ }, {
1574
+ readonly class: "scroller";
1575
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1576
+ }]>;
1577
+ }, {
1578
+ readonly class: "filter";
1579
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1580
+ readonly class: "input";
1581
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1582
+ readonly projected: true;
1583
+ }]>;
1584
+ }]>;
1585
+ }, {
1586
+ readonly class: "current-year";
1587
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1588
+ readonly class: "popover";
1589
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1590
+ }, {
1591
+ readonly class: "list-box";
1592
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1593
+ readonly class: "checkbox";
1594
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1595
+ }, {
1596
+ readonly class: "scroller";
1597
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1598
+ }]>;
1599
+ }, {
1600
+ readonly class: "filter";
1601
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1602
+ readonly class: "input";
1603
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1604
+ readonly projected: true;
1605
+ }]>;
1606
+ }]>;
1607
+ }, {
1608
+ readonly class: "current-month-field";
1609
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1610
+ readonly class: "input";
1611
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1612
+ readonly projected: true;
1613
+ }]>;
1614
+ }, {
1615
+ readonly class: "current-year-field";
1616
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1617
+ readonly class: "input";
1618
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1619
+ readonly projected: true;
1620
+ }]>;
1621
+ }]>;
1622
+ }, {
1623
+ readonly class: "input";
1624
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1625
+ }, {
1626
+ readonly class: "remove-btn";
1627
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1628
+ }, {
1629
+ readonly class: "add-button";
1630
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1631
+ }, {
1632
+ readonly class: "cancel-button";
1633
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1634
+ }, {
1635
+ readonly class: "apply-button";
1636
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1637
+ }, {
1638
+ readonly class: "clear-button";
1639
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1640
+ }]>;
1641
+ readonly projected: true;
1642
+ }, {
1643
+ readonly class: "popover";
1644
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1645
+ readonly projected: true;
1646
+ }, {
1647
+ readonly class: "paginator";
1648
+ readonly template: _ngneers_controls_themes.ControlTemplate<"paginator", ["root", "page-size-options", "active-page"], readonly [{
1649
+ readonly class: "previous";
1650
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1651
+ }, {
1652
+ readonly class: "next";
1653
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1654
+ }, {
1655
+ readonly class: "page-number";
1656
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1657
+ }, {
1658
+ readonly class: "overflow";
1659
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1660
+ }, {
1661
+ readonly class: "item-view";
1662
+ readonly template: _ngneers_controls_themes.ControlTemplate<"item-view", ["root", "item", "item-overflowing", "more-items", "more-items-hidden", "more-items-default", "hidden-separator"], readonly []>;
1663
+ }]>;
1664
+ }, {
1665
+ readonly class: "checkbox";
1666
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1667
+ readonly projected: true;
1668
+ }]>>;
1669
+ private readonly _element;
1670
+ constructor();
1671
+ private prepareDom;
1672
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnTableHeadTr, never>;
1673
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgnTableHeadTr, "[ngnTableHeadTr]", never, {}, {}, never, never, true, never>;
1674
+ }
1675
+
1676
+ declare class NgnTableGroupHeaderTr extends NgnScrollerItem {
1677
+ /** The group-header row this `<tr>` renders. */
1678
+ readonly ngnTableGroupHeaderTr: _angular_core.InputSignal<FormattedTableGroupHeaderRow>;
1679
+ /** The item bound to the underlying scroller entry; kept in sync with {@link ngnTableGroupHeaderTr}. */
1680
+ readonly ngnScrollerItem: _angular_core.InputSignal<object>;
1681
+ private readonly _element;
1682
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"table", ["root", "table", "virtual", "head", "body", "cell", "row", "foot", "even", "striped", "spacer", "sort-control", "sortable-column", "sorted-column", "filter-control", "filterable-column", "filtered-column", "resize-handle", "resizable", "resizing", "cell-text", "selected-row", "selection-checkbox", "selection-column", "selectable", "focused-row", "selected-row-cell", "focused-row-cell", "group-header-row", "group-header-cell", "group-toggle", "group-expanded", "reorderable", "reordering", "drag-source", "drop-indicator", "sticky-start", "sticky-end", "sticky-start-edge", "sticky-end-edge", "row-actions", "row-action-button", "active-row"], readonly [{
1683
+ readonly class: "scroller";
1684
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1685
+ }, {
1686
+ readonly class: "scroll-shadow";
1687
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scrollShadow", ["root", "scrolled-start", "scrolled-end", "scrolled-top", "scrolled-bottom"], readonly []>;
1688
+ readonly projected: true;
1689
+ }, {
1690
+ readonly class: "group-toggle-icon";
1691
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
1692
+ }, {
1693
+ readonly class: "sort-icon";
1694
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
1695
+ readonly projected: true;
1696
+ }, {
1697
+ readonly class: "filter";
1698
+ readonly template: _ngneers_controls_themes.ControlTemplate<"filter", ["root", "inline", "summary", "icon", "popover-content", "rows", "row", "condition-divider", "footer", "footer-actions", "active-indicator"], readonly [{
1699
+ readonly class: "popover";
1700
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1701
+ }, {
1702
+ readonly class: "input-field";
1703
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1704
+ readonly class: "input";
1705
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1706
+ readonly projected: true;
1707
+ }]>;
1708
+ }, {
1709
+ readonly class: "value";
1710
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1711
+ readonly class: "input";
1712
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1713
+ readonly projected: true;
1714
+ }]>;
1715
+ }, {
1716
+ readonly class: "operator";
1717
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1718
+ readonly class: "input";
1719
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1720
+ readonly projected: true;
1721
+ }]>;
1722
+ }, {
1723
+ readonly class: "list-select";
1724
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1725
+ readonly class: "popover";
1726
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1727
+ }, {
1728
+ readonly class: "list-box";
1729
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1730
+ readonly class: "checkbox";
1731
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1732
+ }, {
1733
+ readonly class: "scroller";
1734
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1735
+ }]>;
1736
+ }, {
1737
+ readonly class: "filter";
1738
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1739
+ readonly class: "input";
1740
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1741
+ readonly projected: true;
1742
+ }]>;
1743
+ }]>;
1744
+ }, {
1745
+ readonly class: "operator-select";
1746
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1747
+ readonly class: "popover";
1748
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1749
+ }, {
1750
+ readonly class: "list-box";
1751
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1752
+ readonly class: "checkbox";
1753
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1754
+ }, {
1755
+ readonly class: "scroller";
1756
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1757
+ }]>;
1758
+ }, {
1759
+ readonly class: "filter";
1760
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1761
+ readonly class: "input";
1762
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1763
+ readonly projected: true;
1764
+ }]>;
1765
+ }]>;
1766
+ }, {
1767
+ readonly class: "calendar";
1768
+ readonly template: _ngneers_controls_themes.ControlTemplate<"calendar", ["root", "inline", "invalid", "details", "header", "navigation", "days", "week-day", "day", "day-selected", "day-today", "day-other-month", "months", "month", "time", "input-field"], readonly [{
1769
+ readonly class: "input";
1770
+ readonly template: _ngneers_controls_themes.ControlTemplate<"mask-input", ["root", "section", "section-active", "section-placeholder", "separator", "proxy", "sr-only"], readonly []>;
1771
+ }, {
1772
+ readonly class: "trigger-icon";
1773
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
1774
+ }, {
1775
+ readonly class: "popover";
1776
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1777
+ }, {
1778
+ readonly class: "previous";
1779
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1780
+ }, {
1781
+ readonly class: "next";
1782
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1783
+ }, {
1784
+ readonly class: "current-month";
1785
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1786
+ readonly class: "popover";
1787
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1788
+ }, {
1789
+ readonly class: "list-box";
1790
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1791
+ readonly class: "checkbox";
1792
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1793
+ }, {
1794
+ readonly class: "scroller";
1795
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1796
+ }]>;
1797
+ }, {
1798
+ readonly class: "filter";
1799
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1800
+ readonly class: "input";
1801
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1802
+ readonly projected: true;
1803
+ }]>;
1804
+ }]>;
1805
+ }, {
1806
+ readonly class: "current-year";
1807
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1808
+ readonly class: "popover";
1809
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1810
+ }, {
1811
+ readonly class: "list-box";
1812
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1813
+ readonly class: "checkbox";
1814
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1815
+ }, {
1816
+ readonly class: "scroller";
1817
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1818
+ }]>;
1819
+ }, {
1820
+ readonly class: "filter";
1821
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1822
+ readonly class: "input";
1823
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1824
+ readonly projected: true;
1825
+ }]>;
1826
+ }]>;
1827
+ }, {
1828
+ readonly class: "current-month-field";
1829
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1830
+ readonly class: "input";
1831
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1832
+ readonly projected: true;
1833
+ }]>;
1834
+ }, {
1835
+ readonly class: "current-year-field";
1836
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1837
+ readonly class: "input";
1838
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1839
+ readonly projected: true;
1840
+ }]>;
1841
+ }]>;
1842
+ }, {
1843
+ readonly class: "input";
1844
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1845
+ }, {
1846
+ readonly class: "remove-btn";
1847
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1848
+ }, {
1849
+ readonly class: "add-button";
1850
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1851
+ }, {
1852
+ readonly class: "cancel-button";
1853
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1854
+ }, {
1855
+ readonly class: "apply-button";
1856
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1857
+ }, {
1858
+ readonly class: "clear-button";
1859
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1860
+ }]>;
1861
+ readonly projected: true;
1862
+ }, {
1863
+ readonly class: "popover";
1864
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1865
+ readonly projected: true;
1866
+ }, {
1867
+ readonly class: "paginator";
1868
+ readonly template: _ngneers_controls_themes.ControlTemplate<"paginator", ["root", "page-size-options", "active-page"], readonly [{
1869
+ readonly class: "previous";
1870
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1871
+ }, {
1872
+ readonly class: "next";
1873
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1874
+ }, {
1875
+ readonly class: "page-number";
1876
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1877
+ }, {
1878
+ readonly class: "overflow";
1879
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1880
+ }, {
1881
+ readonly class: "item-view";
1882
+ readonly template: _ngneers_controls_themes.ControlTemplate<"item-view", ["root", "item", "item-overflowing", "more-items", "more-items-hidden", "more-items-default", "hidden-separator"], readonly []>;
1883
+ }]>;
1884
+ }, {
1885
+ readonly class: "checkbox";
1886
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1887
+ readonly projected: true;
1888
+ }]>>;
1889
+ constructor();
1890
+ private prepareDom;
1891
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnTableGroupHeaderTr, never>;
1892
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgnTableGroupHeaderTr, "[ngnTableGroupHeaderTr]", never, { "ngnTableGroupHeaderTr": { "alias": "ngnTableGroupHeaderTr"; "required": true; "isSignal": true; }; "ngnScrollerItem": { "alias": "ngnScrollerItem"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1893
+ }
1894
+
1895
+ /**
1896
+ * @category directive
1897
+ */
1898
+ declare class NgnTableReorderableColumn implements OnDestroy {
1899
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"table", ["root", "table", "virtual", "head", "body", "cell", "row", "foot", "even", "striped", "spacer", "sort-control", "sortable-column", "sorted-column", "filter-control", "filterable-column", "filtered-column", "resize-handle", "resizable", "resizing", "cell-text", "selected-row", "selection-checkbox", "selection-column", "selectable", "focused-row", "selected-row-cell", "focused-row-cell", "group-header-row", "group-header-cell", "group-toggle", "group-expanded", "reorderable", "reordering", "drag-source", "drop-indicator", "sticky-start", "sticky-end", "sticky-start-edge", "sticky-end-edge", "row-actions", "row-action-button", "active-row"], readonly [{
1900
+ readonly class: "scroller";
1901
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1902
+ }, {
1903
+ readonly class: "scroll-shadow";
1904
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scrollShadow", ["root", "scrolled-start", "scrolled-end", "scrolled-top", "scrolled-bottom"], readonly []>;
1905
+ readonly projected: true;
1906
+ }, {
1907
+ readonly class: "group-toggle-icon";
1908
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
1909
+ }, {
1910
+ readonly class: "sort-icon";
1911
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
1912
+ readonly projected: true;
1913
+ }, {
1914
+ readonly class: "filter";
1915
+ readonly template: _ngneers_controls_themes.ControlTemplate<"filter", ["root", "inline", "summary", "icon", "popover-content", "rows", "row", "condition-divider", "footer", "footer-actions", "active-indicator"], readonly [{
1916
+ readonly class: "popover";
1917
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1918
+ }, {
1919
+ readonly class: "input-field";
1920
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1921
+ readonly class: "input";
1922
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1923
+ readonly projected: true;
1924
+ }]>;
1925
+ }, {
1926
+ readonly class: "value";
1927
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1928
+ readonly class: "input";
1929
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1930
+ readonly projected: true;
1931
+ }]>;
1932
+ }, {
1933
+ readonly class: "operator";
1934
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1935
+ readonly class: "input";
1936
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1937
+ readonly projected: true;
1938
+ }]>;
1939
+ }, {
1940
+ readonly class: "list-select";
1941
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1942
+ readonly class: "popover";
1943
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1944
+ }, {
1945
+ readonly class: "list-box";
1946
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1947
+ readonly class: "checkbox";
1948
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1949
+ }, {
1950
+ readonly class: "scroller";
1951
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1952
+ }]>;
1953
+ }, {
1954
+ readonly class: "filter";
1955
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1956
+ readonly class: "input";
1957
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1958
+ readonly projected: true;
1959
+ }]>;
1960
+ }]>;
1961
+ }, {
1962
+ readonly class: "operator-select";
1963
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
1964
+ readonly class: "popover";
1965
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1966
+ }, {
1967
+ readonly class: "list-box";
1968
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
1969
+ readonly class: "checkbox";
1970
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
1971
+ }, {
1972
+ readonly class: "scroller";
1973
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
1974
+ }]>;
1975
+ }, {
1976
+ readonly class: "filter";
1977
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
1978
+ readonly class: "input";
1979
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
1980
+ readonly projected: true;
1981
+ }]>;
1982
+ }]>;
1983
+ }, {
1984
+ readonly class: "calendar";
1985
+ readonly template: _ngneers_controls_themes.ControlTemplate<"calendar", ["root", "inline", "invalid", "details", "header", "navigation", "days", "week-day", "day", "day-selected", "day-today", "day-other-month", "months", "month", "time", "input-field"], readonly [{
1986
+ readonly class: "input";
1987
+ readonly template: _ngneers_controls_themes.ControlTemplate<"mask-input", ["root", "section", "section-active", "section-placeholder", "separator", "proxy", "sr-only"], readonly []>;
1988
+ }, {
1989
+ readonly class: "trigger-icon";
1990
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
1991
+ }, {
1992
+ readonly class: "popover";
1993
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
1994
+ }, {
1995
+ readonly class: "previous";
1996
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
1997
+ }, {
1998
+ readonly class: "next";
1999
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2000
+ }, {
2001
+ readonly class: "current-month";
2002
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2003
+ readonly class: "popover";
2004
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2005
+ }, {
2006
+ readonly class: "list-box";
2007
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2008
+ readonly class: "checkbox";
2009
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2010
+ }, {
2011
+ readonly class: "scroller";
2012
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2013
+ }]>;
2014
+ }, {
2015
+ readonly class: "filter";
2016
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2017
+ readonly class: "input";
2018
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2019
+ readonly projected: true;
2020
+ }]>;
2021
+ }]>;
2022
+ }, {
2023
+ readonly class: "current-year";
2024
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2025
+ readonly class: "popover";
2026
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2027
+ }, {
2028
+ readonly class: "list-box";
2029
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2030
+ readonly class: "checkbox";
2031
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2032
+ }, {
2033
+ readonly class: "scroller";
2034
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2035
+ }]>;
2036
+ }, {
2037
+ readonly class: "filter";
2038
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2039
+ readonly class: "input";
2040
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2041
+ readonly projected: true;
2042
+ }]>;
2043
+ }]>;
2044
+ }, {
2045
+ readonly class: "current-month-field";
2046
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2047
+ readonly class: "input";
2048
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2049
+ readonly projected: true;
2050
+ }]>;
2051
+ }, {
2052
+ readonly class: "current-year-field";
2053
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2054
+ readonly class: "input";
2055
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2056
+ readonly projected: true;
2057
+ }]>;
2058
+ }]>;
2059
+ }, {
2060
+ readonly class: "input";
2061
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2062
+ }, {
2063
+ readonly class: "remove-btn";
2064
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2065
+ }, {
2066
+ readonly class: "add-button";
2067
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2068
+ }, {
2069
+ readonly class: "cancel-button";
2070
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2071
+ }, {
2072
+ readonly class: "apply-button";
2073
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2074
+ }, {
2075
+ readonly class: "clear-button";
2076
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2077
+ }]>;
2078
+ readonly projected: true;
2079
+ }, {
2080
+ readonly class: "popover";
2081
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2082
+ readonly projected: true;
2083
+ }, {
2084
+ readonly class: "paginator";
2085
+ readonly template: _ngneers_controls_themes.ControlTemplate<"paginator", ["root", "page-size-options", "active-page"], readonly [{
2086
+ readonly class: "previous";
2087
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2088
+ }, {
2089
+ readonly class: "next";
2090
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2091
+ }, {
2092
+ readonly class: "page-number";
2093
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2094
+ }, {
2095
+ readonly class: "overflow";
2096
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2097
+ }, {
2098
+ readonly class: "item-view";
2099
+ readonly template: _ngneers_controls_themes.ControlTemplate<"item-view", ["root", "item", "item-overflowing", "more-items", "more-items-hidden", "more-items-default", "hidden-separator"], readonly []>;
2100
+ }]>;
2101
+ }, {
2102
+ readonly class: "checkbox";
2103
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2104
+ readonly projected: true;
2105
+ }]>>;
2106
+ private readonly _element;
2107
+ private readonly _headerCell;
2108
+ private readonly _columnId;
2109
+ private readonly _table;
2110
+ private _isDragging;
2111
+ private _startX;
2112
+ private _startY;
2113
+ private _pointerId;
2114
+ private _boundOnPointerMove;
2115
+ private _boundOnPointerUp;
2116
+ private _boundOnPointerCancel;
2117
+ private _boundOnKeyDown;
2118
+ constructor();
2119
+ ngOnDestroy(): void;
2120
+ private readonly onPointerDown;
2121
+ private onPointerMove;
2122
+ private onPointerUp;
2123
+ private onPointerCancel;
2124
+ private onKeyDown;
2125
+ private cleanup;
2126
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnTableReorderableColumn, never>;
2127
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgnTableReorderableColumn, "[ngnTableReorderableColumn]", never, {}, {}, never, never, true, never>;
2128
+ }
2129
+
2130
+ type BarAction = {
2131
+ item: NgnActionItem;
2132
+ config: NgnActionButtonConfig<string>;
2133
+ hasChildren: boolean;
2134
+ };
2135
+ /**
2136
+ * Inline row-actions bar: renders each {@link NgnActionItem} as an
2137
+ * `ngn-action-button`. An action with `children` opens a submenu popover
2138
+ * anchored to its own button — the anchor is resolved from the rendered
2139
+ * button element itself, never from a `testId` lookup, so it keeps working
2140
+ * even when an action has no `testId`. Positioning/visibility is applied by
2141
+ * the table theme via the `row-actions` class; this component only renders
2142
+ * the buttons.
2143
+ */
2144
+ declare class NgnTableRowActionsBar implements OnDestroy {
2145
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"table", ["root", "table", "virtual", "head", "body", "cell", "row", "foot", "even", "striped", "spacer", "sort-control", "sortable-column", "sorted-column", "filter-control", "filterable-column", "filtered-column", "resize-handle", "resizable", "resizing", "cell-text", "selected-row", "selection-checkbox", "selection-column", "selectable", "focused-row", "selected-row-cell", "focused-row-cell", "group-header-row", "group-header-cell", "group-toggle", "group-expanded", "reorderable", "reordering", "drag-source", "drop-indicator", "sticky-start", "sticky-end", "sticky-start-edge", "sticky-end-edge", "row-actions", "row-action-button", "active-row"], readonly [{
2146
+ readonly class: "scroller";
2147
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2148
+ }, {
2149
+ readonly class: "scroll-shadow";
2150
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scrollShadow", ["root", "scrolled-start", "scrolled-end", "scrolled-top", "scrolled-bottom"], readonly []>;
2151
+ readonly projected: true;
2152
+ }, {
2153
+ readonly class: "group-toggle-icon";
2154
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
2155
+ }, {
2156
+ readonly class: "sort-icon";
2157
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
2158
+ readonly projected: true;
2159
+ }, {
2160
+ readonly class: "filter";
2161
+ readonly template: _ngneers_controls_themes.ControlTemplate<"filter", ["root", "inline", "summary", "icon", "popover-content", "rows", "row", "condition-divider", "footer", "footer-actions", "active-indicator"], readonly [{
2162
+ readonly class: "popover";
2163
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2164
+ }, {
2165
+ readonly class: "input-field";
2166
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2167
+ readonly class: "input";
2168
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2169
+ readonly projected: true;
2170
+ }]>;
2171
+ }, {
2172
+ readonly class: "value";
2173
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2174
+ readonly class: "input";
2175
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2176
+ readonly projected: true;
2177
+ }]>;
2178
+ }, {
2179
+ readonly class: "operator";
2180
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2181
+ readonly class: "input";
2182
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2183
+ readonly projected: true;
2184
+ }]>;
2185
+ }, {
2186
+ readonly class: "list-select";
2187
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2188
+ readonly class: "popover";
2189
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2190
+ }, {
2191
+ readonly class: "list-box";
2192
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2193
+ readonly class: "checkbox";
2194
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2195
+ }, {
2196
+ readonly class: "scroller";
2197
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2198
+ }]>;
2199
+ }, {
2200
+ readonly class: "filter";
2201
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2202
+ readonly class: "input";
2203
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2204
+ readonly projected: true;
2205
+ }]>;
2206
+ }]>;
2207
+ }, {
2208
+ readonly class: "operator-select";
2209
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2210
+ readonly class: "popover";
2211
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2212
+ }, {
2213
+ readonly class: "list-box";
2214
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2215
+ readonly class: "checkbox";
2216
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2217
+ }, {
2218
+ readonly class: "scroller";
2219
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2220
+ }]>;
2221
+ }, {
2222
+ readonly class: "filter";
2223
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2224
+ readonly class: "input";
2225
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2226
+ readonly projected: true;
2227
+ }]>;
2228
+ }]>;
2229
+ }, {
2230
+ readonly class: "calendar";
2231
+ readonly template: _ngneers_controls_themes.ControlTemplate<"calendar", ["root", "inline", "invalid", "details", "header", "navigation", "days", "week-day", "day", "day-selected", "day-today", "day-other-month", "months", "month", "time", "input-field"], readonly [{
2232
+ readonly class: "input";
2233
+ readonly template: _ngneers_controls_themes.ControlTemplate<"mask-input", ["root", "section", "section-active", "section-placeholder", "separator", "proxy", "sr-only"], readonly []>;
2234
+ }, {
2235
+ readonly class: "trigger-icon";
2236
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
2237
+ }, {
2238
+ readonly class: "popover";
2239
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2240
+ }, {
2241
+ readonly class: "previous";
2242
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2243
+ }, {
2244
+ readonly class: "next";
2245
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2246
+ }, {
2247
+ readonly class: "current-month";
2248
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2249
+ readonly class: "popover";
2250
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2251
+ }, {
2252
+ readonly class: "list-box";
2253
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2254
+ readonly class: "checkbox";
2255
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2256
+ }, {
2257
+ readonly class: "scroller";
2258
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2259
+ }]>;
2260
+ }, {
2261
+ readonly class: "filter";
2262
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2263
+ readonly class: "input";
2264
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2265
+ readonly projected: true;
2266
+ }]>;
2267
+ }]>;
2268
+ }, {
2269
+ readonly class: "current-year";
2270
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2271
+ readonly class: "popover";
2272
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2273
+ }, {
2274
+ readonly class: "list-box";
2275
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2276
+ readonly class: "checkbox";
2277
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2278
+ }, {
2279
+ readonly class: "scroller";
2280
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2281
+ }]>;
2282
+ }, {
2283
+ readonly class: "filter";
2284
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2285
+ readonly class: "input";
2286
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2287
+ readonly projected: true;
2288
+ }]>;
2289
+ }]>;
2290
+ }, {
2291
+ readonly class: "current-month-field";
2292
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2293
+ readonly class: "input";
2294
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2295
+ readonly projected: true;
2296
+ }]>;
2297
+ }, {
2298
+ readonly class: "current-year-field";
2299
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2300
+ readonly class: "input";
2301
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2302
+ readonly projected: true;
2303
+ }]>;
2304
+ }]>;
2305
+ }, {
2306
+ readonly class: "input";
2307
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2308
+ }, {
2309
+ readonly class: "remove-btn";
2310
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2311
+ }, {
2312
+ readonly class: "add-button";
2313
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2314
+ }, {
2315
+ readonly class: "cancel-button";
2316
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2317
+ }, {
2318
+ readonly class: "apply-button";
2319
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2320
+ }, {
2321
+ readonly class: "clear-button";
2322
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2323
+ }]>;
2324
+ readonly projected: true;
2325
+ }, {
2326
+ readonly class: "popover";
2327
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2328
+ readonly projected: true;
2329
+ }, {
2330
+ readonly class: "paginator";
2331
+ readonly template: _ngneers_controls_themes.ControlTemplate<"paginator", ["root", "page-size-options", "active-page"], readonly [{
2332
+ readonly class: "previous";
2333
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2334
+ }, {
2335
+ readonly class: "next";
2336
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2337
+ }, {
2338
+ readonly class: "page-number";
2339
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2340
+ }, {
2341
+ readonly class: "overflow";
2342
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2343
+ }, {
2344
+ readonly class: "item-view";
2345
+ readonly template: _ngneers_controls_themes.ControlTemplate<"item-view", ["root", "item", "item-overflowing", "more-items", "more-items-hidden", "more-items-default", "hidden-separator"], readonly []>;
2346
+ }]>;
2347
+ }, {
2348
+ readonly class: "checkbox";
2349
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2350
+ readonly projected: true;
2351
+ }]>>;
2352
+ private readonly _vcr;
2353
+ private readonly _element;
2354
+ private _menu?;
2355
+ private readonly _buttonHosts;
2356
+ /**
2357
+ * The actions to render as buttons. Used for standalone consumers that bind
2358
+ * an array directly. When {@link actionsSource} is provided (the directive
2359
+ * mounts the bar imperatively), that signal takes precedence.
2360
+ */
2361
+ readonly actions: _angular_core.InputSignal<NgnActionItem[]>;
2362
+ /**
2363
+ * A reactive source of actions. Preferred over {@link actions} when set:
2364
+ * the host directive passes its own `actions` input signal here so the bar
2365
+ * reads it lazily during its own change detection. This avoids the directive
2366
+ * imperatively re-pushing the array every change-detection pass — which, when
2367
+ * a consumer binds a fresh array each pass (e.g. `actionsFor(row)`), would
2368
+ * otherwise loop into infinite change detection (NG0103).
2369
+ * @internal
2370
+ */
2371
+ readonly actionsSource: _angular_core.InputSignal<Signal<NgnActionItem[]> | null>;
2372
+ protected readonly barActions: Signal<BarAction[]>;
2373
+ ngOnDestroy(): void;
2374
+ private readonly _buttons;
2375
+ /** Focuses the first enabled action button. Returns whether one was focused. */
2376
+ focusFirst(): boolean;
2377
+ /**
2378
+ * Moves focus by `delta` among the rendered action buttons. Returns whether
2379
+ * focus stayed within the bar — `false` when the move would go past the
2380
+ * first/last button, in which case focus is left unchanged.
2381
+ */
2382
+ move(delta: 1 | -1): boolean;
2383
+ /**
2384
+ * Stops a native button click (mouse or Space/Enter key activation) from
2385
+ * bubbling to the row's own click handler — otherwise, on a table with
2386
+ * `selectionMode` set, activating an action would also select/toggle the
2387
+ * row it lives in. Mirrors {@link import('./table-selection-column').NgnTableSelectionColumn}'s
2388
+ * click guard for the same reason.
2389
+ */
2390
+ protected onBarClick(event: MouseEvent): void;
2391
+ protected onClicked(action: BarAction): void;
2392
+ private _buttonElement;
2393
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnTableRowActionsBar, never>;
2394
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnTableRowActionsBar, "ngn-table-row-actions-bar", never, { "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "actionsSource": { "alias": "actionsSource"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2395
+ }
2396
+
2397
+ /**
2398
+ * Directive that turns a `<th>` or `<td>` into a selection checkbox column.
2399
+ *
2400
+ * **Header usage** — renders a "select all / none" checkbox:
2401
+ * ```html
2402
+ * <th ngnTableSelectionColumn></th>
2403
+ * ```
2404
+ *
2405
+ * **Body usage** — renders a per-row checkbox (must be inside a `[ngnTableBodyTr]`):
2406
+ * ```html
2407
+ * <td ngnTableSelectionColumn></td>
2408
+ * ```
2409
+ *
2410
+ * @category directive
2411
+ */
2412
+ declare class NgnTableSelectionColumn implements OnDestroy {
2413
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"table", ["root", "table", "virtual", "head", "body", "cell", "row", "foot", "even", "striped", "spacer", "sort-control", "sortable-column", "sorted-column", "filter-control", "filterable-column", "filtered-column", "resize-handle", "resizable", "resizing", "cell-text", "selected-row", "selection-checkbox", "selection-column", "selectable", "focused-row", "selected-row-cell", "focused-row-cell", "group-header-row", "group-header-cell", "group-toggle", "group-expanded", "reorderable", "reordering", "drag-source", "drop-indicator", "sticky-start", "sticky-end", "sticky-start-edge", "sticky-end-edge", "row-actions", "row-action-button", "active-row"], readonly [{
2414
+ readonly class: "scroller";
2415
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2416
+ }, {
2417
+ readonly class: "scroll-shadow";
2418
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scrollShadow", ["root", "scrolled-start", "scrolled-end", "scrolled-top", "scrolled-bottom"], readonly []>;
2419
+ readonly projected: true;
2420
+ }, {
2421
+ readonly class: "group-toggle-icon";
2422
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
2423
+ }, {
2424
+ readonly class: "sort-icon";
2425
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
2426
+ readonly projected: true;
2427
+ }, {
2428
+ readonly class: "filter";
2429
+ readonly template: _ngneers_controls_themes.ControlTemplate<"filter", ["root", "inline", "summary", "icon", "popover-content", "rows", "row", "condition-divider", "footer", "footer-actions", "active-indicator"], readonly [{
2430
+ readonly class: "popover";
2431
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2432
+ }, {
2433
+ readonly class: "input-field";
2434
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2435
+ readonly class: "input";
2436
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2437
+ readonly projected: true;
2438
+ }]>;
2439
+ }, {
2440
+ readonly class: "value";
2441
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2442
+ readonly class: "input";
2443
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2444
+ readonly projected: true;
2445
+ }]>;
2446
+ }, {
2447
+ readonly class: "operator";
2448
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2449
+ readonly class: "input";
2450
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2451
+ readonly projected: true;
2452
+ }]>;
2453
+ }, {
2454
+ readonly class: "list-select";
2455
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2456
+ readonly class: "popover";
2457
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2458
+ }, {
2459
+ readonly class: "list-box";
2460
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2461
+ readonly class: "checkbox";
2462
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2463
+ }, {
2464
+ readonly class: "scroller";
2465
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2466
+ }]>;
2467
+ }, {
2468
+ readonly class: "filter";
2469
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2470
+ readonly class: "input";
2471
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2472
+ readonly projected: true;
2473
+ }]>;
2474
+ }]>;
2475
+ }, {
2476
+ readonly class: "operator-select";
2477
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2478
+ readonly class: "popover";
2479
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2480
+ }, {
2481
+ readonly class: "list-box";
2482
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2483
+ readonly class: "checkbox";
2484
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2485
+ }, {
2486
+ readonly class: "scroller";
2487
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2488
+ }]>;
2489
+ }, {
2490
+ readonly class: "filter";
2491
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2492
+ readonly class: "input";
2493
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2494
+ readonly projected: true;
2495
+ }]>;
2496
+ }]>;
2497
+ }, {
2498
+ readonly class: "calendar";
2499
+ readonly template: _ngneers_controls_themes.ControlTemplate<"calendar", ["root", "inline", "invalid", "details", "header", "navigation", "days", "week-day", "day", "day-selected", "day-today", "day-other-month", "months", "month", "time", "input-field"], readonly [{
2500
+ readonly class: "input";
2501
+ readonly template: _ngneers_controls_themes.ControlTemplate<"mask-input", ["root", "section", "section-active", "section-placeholder", "separator", "proxy", "sr-only"], readonly []>;
2502
+ }, {
2503
+ readonly class: "trigger-icon";
2504
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
2505
+ }, {
2506
+ readonly class: "popover";
2507
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2508
+ }, {
2509
+ readonly class: "previous";
2510
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2511
+ }, {
2512
+ readonly class: "next";
2513
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2514
+ }, {
2515
+ readonly class: "current-month";
2516
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2517
+ readonly class: "popover";
2518
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2519
+ }, {
2520
+ readonly class: "list-box";
2521
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2522
+ readonly class: "checkbox";
2523
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2524
+ }, {
2525
+ readonly class: "scroller";
2526
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2527
+ }]>;
2528
+ }, {
2529
+ readonly class: "filter";
2530
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2531
+ readonly class: "input";
2532
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2533
+ readonly projected: true;
2534
+ }]>;
2535
+ }]>;
2536
+ }, {
2537
+ readonly class: "current-year";
2538
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2539
+ readonly class: "popover";
2540
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2541
+ }, {
2542
+ readonly class: "list-box";
2543
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2544
+ readonly class: "checkbox";
2545
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2546
+ }, {
2547
+ readonly class: "scroller";
2548
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2549
+ }]>;
2550
+ }, {
2551
+ readonly class: "filter";
2552
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2553
+ readonly class: "input";
2554
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2555
+ readonly projected: true;
2556
+ }]>;
2557
+ }]>;
2558
+ }, {
2559
+ readonly class: "current-month-field";
2560
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2561
+ readonly class: "input";
2562
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2563
+ readonly projected: true;
2564
+ }]>;
2565
+ }, {
2566
+ readonly class: "current-year-field";
2567
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2568
+ readonly class: "input";
2569
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2570
+ readonly projected: true;
2571
+ }]>;
2572
+ }]>;
2573
+ }, {
2574
+ readonly class: "input";
2575
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2576
+ }, {
2577
+ readonly class: "remove-btn";
2578
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2579
+ }, {
2580
+ readonly class: "add-button";
2581
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2582
+ }, {
2583
+ readonly class: "cancel-button";
2584
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2585
+ }, {
2586
+ readonly class: "apply-button";
2587
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2588
+ }, {
2589
+ readonly class: "clear-button";
2590
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2591
+ }]>;
2592
+ readonly projected: true;
2593
+ }, {
2594
+ readonly class: "popover";
2595
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2596
+ readonly projected: true;
2597
+ }, {
2598
+ readonly class: "paginator";
2599
+ readonly template: _ngneers_controls_themes.ControlTemplate<"paginator", ["root", "page-size-options", "active-page"], readonly [{
2600
+ readonly class: "previous";
2601
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2602
+ }, {
2603
+ readonly class: "next";
2604
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2605
+ }, {
2606
+ readonly class: "page-number";
2607
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2608
+ }, {
2609
+ readonly class: "overflow";
2610
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2611
+ }, {
2612
+ readonly class: "item-view";
2613
+ readonly template: _ngneers_controls_themes.ControlTemplate<"item-view", ["root", "item", "item-overflowing", "more-items", "more-items-hidden", "more-items-default", "hidden-separator"], readonly []>;
2614
+ }]>;
2615
+ }, {
2616
+ readonly class: "checkbox";
2617
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2618
+ readonly projected: true;
2619
+ }]>>;
2620
+ private readonly _element;
2621
+ private readonly _envInjector;
2622
+ private readonly _appRef;
2623
+ private readonly _i18n;
2624
+ private readonly _table;
2625
+ /** Non-null only when used inside a body row (`<td>`). */
2626
+ private readonly _bodyTr;
2627
+ private readonly _isHeader;
2628
+ /**
2629
+ * NgnCheckbox created at the application level via `createComponent` + `EnvironmentInjector`.
2630
+ * This keeps it outside Angular's view tree so `@for` reconciliation cannot destroy it.
2631
+ */
2632
+ private _checkboxRef;
2633
+ protected readonly selected: _angular_core.Signal<boolean>;
2634
+ protected readonly focused: _angular_core.Signal<boolean>;
2635
+ constructor();
2636
+ ngOnDestroy(): void;
2637
+ private _prepareDom;
2638
+ /**
2639
+ * Creates an NgnCheckbox via `createComponent` + `EnvironmentInjector`.
2640
+ * The component is attached to `ApplicationRef` (not a ViewContainerRef),
2641
+ * so Angular's `@for` block reconciliation cannot destroy it.
2642
+ */
2643
+ private _createCheckbox;
2644
+ private _setupHeaderEffects;
2645
+ private _setupBodyEffects;
2646
+ protected onClick(event: MouseEvent): void;
2647
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnTableSelectionColumn, never>;
2648
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgnTableSelectionColumn, "[ngnTableSelectionColumn]", never, {}, {}, never, never, true, never>;
2649
+ }
2650
+
2651
+ declare class NgnTableStickyColumn implements OnDestroy {
2652
+ private readonly _element;
2653
+ private readonly _headerCell;
2654
+ private readonly _columnId;
2655
+ /** Which edge the column sticks to: `'start'` (left) or `'end'` (right). */
2656
+ readonly ngnTableStickyColumn: _angular_core.InputSignal<"start" | "end">;
2657
+ private readonly _table;
2658
+ constructor();
2659
+ ngOnDestroy(): void;
2660
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnTableStickyColumn, never>;
2661
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgnTableStickyColumn, "[ngnTableStickyColumn]", never, { "ngnTableStickyColumn": { "alias": "ngnTableStickyColumn"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
2662
+ }
2663
+
2664
+ declare class NgnTableModule {
2665
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnTableModule, never>;
2666
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<NgnTableModule, never, [typeof NgnTable, typeof NgnTableBodyTr, typeof NgnTableTd, typeof NgnTableTh, typeof NgnTableHeadTr, typeof NgnTableGroupHeaderTr, typeof NgnTableReorderableColumn, typeof NgnTableRowActions, typeof NgnTableRowActionsBar, typeof NgnTableSelectionColumn, typeof NgnTableStickyColumn], [typeof NgnTable, typeof NgnTableBodyTr, typeof NgnTableTd, typeof NgnTableTh, typeof NgnTableHeadTr, typeof NgnTableGroupHeaderTr, typeof NgnTableReorderableColumn, typeof NgnTableRowActions, typeof NgnTableRowActionsBar, typeof NgnTableSelectionColumn, typeof NgnTableStickyColumn]>;
2667
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<NgnTableModule>;
2668
+ }
2669
+
2670
+ /**
2671
+ * @category directive
2672
+ */
2673
+ declare class NgnTableFilterableColumn implements OnDestroy {
2674
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"table", ["root", "table", "virtual", "head", "body", "cell", "row", "foot", "even", "striped", "spacer", "sort-control", "sortable-column", "sorted-column", "filter-control", "filterable-column", "filtered-column", "resize-handle", "resizable", "resizing", "cell-text", "selected-row", "selection-checkbox", "selection-column", "selectable", "focused-row", "selected-row-cell", "focused-row-cell", "group-header-row", "group-header-cell", "group-toggle", "group-expanded", "reorderable", "reordering", "drag-source", "drop-indicator", "sticky-start", "sticky-end", "sticky-start-edge", "sticky-end-edge", "row-actions", "row-action-button", "active-row"], readonly [{
2675
+ readonly class: "scroller";
2676
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2677
+ }, {
2678
+ readonly class: "scroll-shadow";
2679
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scrollShadow", ["root", "scrolled-start", "scrolled-end", "scrolled-top", "scrolled-bottom"], readonly []>;
2680
+ readonly projected: true;
2681
+ }, {
2682
+ readonly class: "group-toggle-icon";
2683
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
2684
+ }, {
2685
+ readonly class: "sort-icon";
2686
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
2687
+ readonly projected: true;
2688
+ }, {
2689
+ readonly class: "filter";
2690
+ readonly template: _ngneers_controls_themes.ControlTemplate<"filter", ["root", "inline", "summary", "icon", "popover-content", "rows", "row", "condition-divider", "footer", "footer-actions", "active-indicator"], readonly [{
2691
+ readonly class: "popover";
2692
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2693
+ }, {
2694
+ readonly class: "input-field";
2695
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2696
+ readonly class: "input";
2697
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2698
+ readonly projected: true;
2699
+ }]>;
2700
+ }, {
2701
+ readonly class: "value";
2702
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2703
+ readonly class: "input";
2704
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2705
+ readonly projected: true;
2706
+ }]>;
2707
+ }, {
2708
+ readonly class: "operator";
2709
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2710
+ readonly class: "input";
2711
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2712
+ readonly projected: true;
2713
+ }]>;
2714
+ }, {
2715
+ readonly class: "list-select";
2716
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2717
+ readonly class: "popover";
2718
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2719
+ }, {
2720
+ readonly class: "list-box";
2721
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2722
+ readonly class: "checkbox";
2723
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2724
+ }, {
2725
+ readonly class: "scroller";
2726
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2727
+ }]>;
2728
+ }, {
2729
+ readonly class: "filter";
2730
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2731
+ readonly class: "input";
2732
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2733
+ readonly projected: true;
2734
+ }]>;
2735
+ }]>;
2736
+ }, {
2737
+ readonly class: "operator-select";
2738
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2739
+ readonly class: "popover";
2740
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2741
+ }, {
2742
+ readonly class: "list-box";
2743
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2744
+ readonly class: "checkbox";
2745
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2746
+ }, {
2747
+ readonly class: "scroller";
2748
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2749
+ }]>;
2750
+ }, {
2751
+ readonly class: "filter";
2752
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2753
+ readonly class: "input";
2754
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2755
+ readonly projected: true;
2756
+ }]>;
2757
+ }]>;
2758
+ }, {
2759
+ readonly class: "calendar";
2760
+ readonly template: _ngneers_controls_themes.ControlTemplate<"calendar", ["root", "inline", "invalid", "details", "header", "navigation", "days", "week-day", "day", "day-selected", "day-today", "day-other-month", "months", "month", "time", "input-field"], readonly [{
2761
+ readonly class: "input";
2762
+ readonly template: _ngneers_controls_themes.ControlTemplate<"mask-input", ["root", "section", "section-active", "section-placeholder", "separator", "proxy", "sr-only"], readonly []>;
2763
+ }, {
2764
+ readonly class: "trigger-icon";
2765
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
2766
+ }, {
2767
+ readonly class: "popover";
2768
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2769
+ }, {
2770
+ readonly class: "previous";
2771
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2772
+ }, {
2773
+ readonly class: "next";
2774
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2775
+ }, {
2776
+ readonly class: "current-month";
2777
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2778
+ readonly class: "popover";
2779
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2780
+ }, {
2781
+ readonly class: "list-box";
2782
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2783
+ readonly class: "checkbox";
2784
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2785
+ }, {
2786
+ readonly class: "scroller";
2787
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2788
+ }]>;
2789
+ }, {
2790
+ readonly class: "filter";
2791
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2792
+ readonly class: "input";
2793
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2794
+ readonly projected: true;
2795
+ }]>;
2796
+ }]>;
2797
+ }, {
2798
+ readonly class: "current-year";
2799
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2800
+ readonly class: "popover";
2801
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2802
+ }, {
2803
+ readonly class: "list-box";
2804
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2805
+ readonly class: "checkbox";
2806
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2807
+ }, {
2808
+ readonly class: "scroller";
2809
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2810
+ }]>;
2811
+ }, {
2812
+ readonly class: "filter";
2813
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2814
+ readonly class: "input";
2815
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2816
+ readonly projected: true;
2817
+ }]>;
2818
+ }]>;
2819
+ }, {
2820
+ readonly class: "current-month-field";
2821
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2822
+ readonly class: "input";
2823
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2824
+ readonly projected: true;
2825
+ }]>;
2826
+ }, {
2827
+ readonly class: "current-year-field";
2828
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2829
+ readonly class: "input";
2830
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2831
+ readonly projected: true;
2832
+ }]>;
2833
+ }]>;
2834
+ }, {
2835
+ readonly class: "input";
2836
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2837
+ }, {
2838
+ readonly class: "remove-btn";
2839
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2840
+ }, {
2841
+ readonly class: "add-button";
2842
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2843
+ }, {
2844
+ readonly class: "cancel-button";
2845
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2846
+ }, {
2847
+ readonly class: "apply-button";
2848
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2849
+ }, {
2850
+ readonly class: "clear-button";
2851
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2852
+ }]>;
2853
+ readonly projected: true;
2854
+ }, {
2855
+ readonly class: "popover";
2856
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2857
+ readonly projected: true;
2858
+ }, {
2859
+ readonly class: "paginator";
2860
+ readonly template: _ngneers_controls_themes.ControlTemplate<"paginator", ["root", "page-size-options", "active-page"], readonly [{
2861
+ readonly class: "previous";
2862
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2863
+ }, {
2864
+ readonly class: "next";
2865
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2866
+ }, {
2867
+ readonly class: "page-number";
2868
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2869
+ }, {
2870
+ readonly class: "overflow";
2871
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
2872
+ }, {
2873
+ readonly class: "item-view";
2874
+ readonly template: _ngneers_controls_themes.ControlTemplate<"item-view", ["root", "item", "item-overflowing", "more-items", "more-items-hidden", "more-items-default", "hidden-separator"], readonly []>;
2875
+ }]>;
2876
+ }, {
2877
+ readonly class: "checkbox";
2878
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2879
+ readonly projected: true;
2880
+ }]>>;
2881
+ private readonly _element;
2882
+ private readonly _columnId;
2883
+ /** Enables filtering on this column. The directive selector; its value is unused. */
2884
+ readonly ngnTableFilterableColumn: _angular_core.InputSignal<unknown>;
2885
+ private readonly _ngnActionButton;
2886
+ private readonly _ngnFilter;
2887
+ private readonly _table;
2888
+ private readonly _rows;
2889
+ protected readonly filter: _angular_core.Signal<_ngneers_controls_filter.NgnFilterConfig | undefined>;
2890
+ /** The data type of the column, which determines the available filter operators and UI. */
2891
+ readonly ngnTableFilterableColumnType: _angular_core.InputSignal<NgnFilterDataType>;
2892
+ /** For list-based filters, the set of selectable option values to offer. */
2893
+ readonly ngnTableFilterableColumnItems: _angular_core.InputSignal<string[] | null | undefined>;
2894
+ constructor();
2895
+ ngOnDestroy(): void;
2896
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnTableFilterableColumn, never>;
2897
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgnTableFilterableColumn, "[ngnTableFilterableColumn]", never, { "ngnTableFilterableColumn": { "alias": "ngnTableFilterableColumn"; "required": false; "isSignal": true; }; "ngnTableFilterableColumnType": { "alias": "ngnTableFilterableColumnType"; "required": true; "isSignal": true; }; "ngnTableFilterableColumnItems": { "alias": "ngnTableFilterableColumnItems"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2898
+ }
2899
+
2900
+ /**
2901
+ * @category directive
2902
+ */
2903
+ declare class NgnTableSortableColumn implements OnDestroy {
2904
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"table", ["root", "table", "virtual", "head", "body", "cell", "row", "foot", "even", "striped", "spacer", "sort-control", "sortable-column", "sorted-column", "filter-control", "filterable-column", "filtered-column", "resize-handle", "resizable", "resizing", "cell-text", "selected-row", "selection-checkbox", "selection-column", "selectable", "focused-row", "selected-row-cell", "focused-row-cell", "group-header-row", "group-header-cell", "group-toggle", "group-expanded", "reorderable", "reordering", "drag-source", "drop-indicator", "sticky-start", "sticky-end", "sticky-start-edge", "sticky-end-edge", "row-actions", "row-action-button", "active-row"], readonly [{
2905
+ readonly class: "scroller";
2906
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2907
+ }, {
2908
+ readonly class: "scroll-shadow";
2909
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scrollShadow", ["root", "scrolled-start", "scrolled-end", "scrolled-top", "scrolled-bottom"], readonly []>;
2910
+ readonly projected: true;
2911
+ }, {
2912
+ readonly class: "group-toggle-icon";
2913
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
2914
+ }, {
2915
+ readonly class: "sort-icon";
2916
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
2917
+ readonly projected: true;
2918
+ }, {
2919
+ readonly class: "filter";
2920
+ readonly template: _ngneers_controls_themes.ControlTemplate<"filter", ["root", "inline", "summary", "icon", "popover-content", "rows", "row", "condition-divider", "footer", "footer-actions", "active-indicator"], readonly [{
2921
+ readonly class: "popover";
2922
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2923
+ }, {
2924
+ readonly class: "input-field";
2925
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2926
+ readonly class: "input";
2927
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2928
+ readonly projected: true;
2929
+ }]>;
2930
+ }, {
2931
+ readonly class: "value";
2932
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2933
+ readonly class: "input";
2934
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2935
+ readonly projected: true;
2936
+ }]>;
2937
+ }, {
2938
+ readonly class: "operator";
2939
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2940
+ readonly class: "input";
2941
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2942
+ readonly projected: true;
2943
+ }]>;
2944
+ }, {
2945
+ readonly class: "list-select";
2946
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2947
+ readonly class: "popover";
2948
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2949
+ }, {
2950
+ readonly class: "list-box";
2951
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2952
+ readonly class: "checkbox";
2953
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2954
+ }, {
2955
+ readonly class: "scroller";
2956
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2957
+ }]>;
2958
+ }, {
2959
+ readonly class: "filter";
2960
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2961
+ readonly class: "input";
2962
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2963
+ readonly projected: true;
2964
+ }]>;
2965
+ }]>;
2966
+ }, {
2967
+ readonly class: "operator-select";
2968
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
2969
+ readonly class: "popover";
2970
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2971
+ }, {
2972
+ readonly class: "list-box";
2973
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
2974
+ readonly class: "checkbox";
2975
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
2976
+ }, {
2977
+ readonly class: "scroller";
2978
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
2979
+ }]>;
2980
+ }, {
2981
+ readonly class: "filter";
2982
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
2983
+ readonly class: "input";
2984
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
2985
+ readonly projected: true;
2986
+ }]>;
2987
+ }]>;
2988
+ }, {
2989
+ readonly class: "calendar";
2990
+ readonly template: _ngneers_controls_themes.ControlTemplate<"calendar", ["root", "inline", "invalid", "details", "header", "navigation", "days", "week-day", "day", "day-selected", "day-today", "day-other-month", "months", "month", "time", "input-field"], readonly [{
2991
+ readonly class: "input";
2992
+ readonly template: _ngneers_controls_themes.ControlTemplate<"mask-input", ["root", "section", "section-active", "section-placeholder", "separator", "proxy", "sr-only"], readonly []>;
2993
+ }, {
2994
+ readonly class: "trigger-icon";
2995
+ readonly template: _ngneers_controls_themes.ControlTemplate<"icon", ["root", "default"], readonly []>;
2996
+ }, {
2997
+ readonly class: "popover";
2998
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
2999
+ }, {
3000
+ readonly class: "previous";
3001
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
3002
+ }, {
3003
+ readonly class: "next";
3004
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
3005
+ }, {
3006
+ readonly class: "current-month";
3007
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
3008
+ readonly class: "popover";
3009
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
3010
+ }, {
3011
+ readonly class: "list-box";
3012
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
3013
+ readonly class: "checkbox";
3014
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
3015
+ }, {
3016
+ readonly class: "scroller";
3017
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
3018
+ }]>;
3019
+ }, {
3020
+ readonly class: "filter";
3021
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
3022
+ readonly class: "input";
3023
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
3024
+ readonly projected: true;
3025
+ }]>;
3026
+ }]>;
3027
+ }, {
3028
+ readonly class: "current-year";
3029
+ readonly template: _ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
3030
+ readonly class: "popover";
3031
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
3032
+ }, {
3033
+ readonly class: "list-box";
3034
+ readonly template: _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "item-selected", "item-highlighted", "item-disabled"], readonly [{
3035
+ readonly class: "checkbox";
3036
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
3037
+ }, {
3038
+ readonly class: "scroller";
3039
+ readonly template: _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "item-sticky"], readonly []>;
3040
+ }]>;
3041
+ }, {
3042
+ readonly class: "filter";
3043
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
3044
+ readonly class: "input";
3045
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
3046
+ readonly projected: true;
3047
+ }]>;
3048
+ }]>;
3049
+ }, {
3050
+ readonly class: "current-month-field";
3051
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
3052
+ readonly class: "input";
3053
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
3054
+ readonly projected: true;
3055
+ }]>;
3056
+ }, {
3057
+ readonly class: "current-year-field";
3058
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
3059
+ readonly class: "input";
3060
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
3061
+ readonly projected: true;
3062
+ }]>;
3063
+ }]>;
3064
+ }, {
3065
+ readonly class: "input";
3066
+ readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
3067
+ }, {
3068
+ readonly class: "remove-btn";
3069
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
3070
+ }, {
3071
+ readonly class: "add-button";
3072
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
3073
+ }, {
3074
+ readonly class: "cancel-button";
3075
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
3076
+ }, {
3077
+ readonly class: "apply-button";
3078
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
3079
+ }, {
3080
+ readonly class: "clear-button";
3081
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
3082
+ }]>;
3083
+ readonly projected: true;
3084
+ }, {
3085
+ readonly class: "popover";
3086
+ readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
3087
+ readonly projected: true;
3088
+ }, {
3089
+ readonly class: "paginator";
3090
+ readonly template: _ngneers_controls_themes.ControlTemplate<"paginator", ["root", "page-size-options", "active-page"], readonly [{
3091
+ readonly class: "previous";
3092
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
3093
+ }, {
3094
+ readonly class: "next";
3095
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
3096
+ }, {
3097
+ readonly class: "page-number";
3098
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
3099
+ }, {
3100
+ readonly class: "overflow";
3101
+ readonly template: _ngneers_controls_themes.ControlTemplate<"button", ["root", "inline", "loading", `kind-${string}`, `color-${string}`], readonly []>;
3102
+ }, {
3103
+ readonly class: "item-view";
3104
+ readonly template: _ngneers_controls_themes.ControlTemplate<"item-view", ["root", "item", "item-overflowing", "more-items", "more-items-hidden", "more-items-default", "hidden-separator"], readonly []>;
3105
+ }]>;
3106
+ }, {
3107
+ readonly class: "checkbox";
3108
+ readonly template: _ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "box-icon-visible", "invalid"], readonly []>;
3109
+ readonly projected: true;
3110
+ }]>>;
3111
+ private readonly _element;
3112
+ /** Enables sorting on this column. The directive selector; its value is unused. */
3113
+ readonly ngnTableSortableColumn: _angular_core.InputSignal<unknown>;
3114
+ private readonly _table;
3115
+ protected readonly sort: _angular_core.Signal<"desc" | "asc" | null>;
3116
+ private readonly columnId;
3117
+ private readonly _ngnIcon;
3118
+ constructor();
3119
+ ngOnDestroy(): void;
3120
+ protected onHostClick(event: MouseEvent): void;
3121
+ protected toggleSort(): void;
3122
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnTableSortableColumn, never>;
3123
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgnTableSortableColumn, "[ngnTableSortableColumn]", never, { "ngnTableSortableColumn": { "alias": "ngnTableSortableColumn"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3124
+ }
3125
+
3126
+ export { NgnTable, NgnTableBodyTr, NgnTableFilterableColumn, NgnTableGroupHeaderTr, NgnTableHeadTr, NgnTableModule, NgnTableReorderableColumn, NgnTableRowActions, NgnTableRowActionsBar, NgnTableSelectionColumn, NgnTableSortableColumn, NgnTableStickyColumn, NgnTableTd, NgnTableTemplates, NgnTableTh, defaultSortComparator, filterRows, groupRows, paginateRows, sortRows };
3127
+ export type { FormattedTableDataRow, FormattedTableGroupHeaderRow, FormattedTableRow, GroupHeaderContext, TableFilters, TableSelectionMode, TableSort, TableSortComparator };