@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,202 @@
1
+ import * as _ngneers_controls_custom_types from '@ngneers/controls-custom-types';
2
+ import * as _iconify_types from '@iconify/types';
3
+ import * as _angular_core from '@angular/core';
4
+ import * as _ngneers_signal_translate from '@ngneers/signal-translate';
5
+ import * as _ngneers_controls_api_ng from '@ngneers/controls/api/ng';
6
+ import * as _ngneers_controls_themes from '@ngneers/controls-themes';
7
+ import { NgnBase } from '@ngneers/controls/base';
8
+
9
+ /**
10
+ * @category control
11
+ */
12
+ declare class NgnChip extends NgnBase<'chip'> {
13
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"chip", ["root", "closable", "actionable", "content", "close-button", "close-icon", `color-${string}`], readonly []>>;
14
+ protected readonly i18n: _ngneers_signal_translate.TranslationsSignal<{
15
+ calendar: {
16
+ today: string;
17
+ input: string;
18
+ selectYear: string;
19
+ selectMonth: string;
20
+ previousMonth: string;
21
+ nextMonth: string;
22
+ weekdays: {
23
+ monday: string;
24
+ tuesday: string;
25
+ wednesday: string;
26
+ thursday: string;
27
+ friday: string;
28
+ saturday: string;
29
+ sunday: string;
30
+ };
31
+ weekdaysShort: {
32
+ monday: string;
33
+ tuesday: string;
34
+ wednesday: string;
35
+ thursday: string;
36
+ friday: string;
37
+ saturday: string;
38
+ sunday: string;
39
+ };
40
+ months: {
41
+ january: string;
42
+ february: string;
43
+ march: string;
44
+ april: string;
45
+ may: string;
46
+ june: string;
47
+ july: string;
48
+ august: string;
49
+ september: string;
50
+ october: string;
51
+ november: string;
52
+ december: string;
53
+ };
54
+ };
55
+ editInplace: {
56
+ placeholder: string;
57
+ confirm: string;
58
+ };
59
+ filter: {
60
+ noFilter: string;
61
+ addCondition: string;
62
+ removeCondition: string;
63
+ operator: string;
64
+ value: string;
65
+ clear: string;
66
+ apply: string;
67
+ cancel: string;
68
+ matchModeLabel: string;
69
+ match: {
70
+ all: string;
71
+ any: string;
72
+ and: string;
73
+ or: string;
74
+ };
75
+ selected: string;
76
+ conditions: string;
77
+ operators: {
78
+ isEqual: string;
79
+ isNotEqual: string;
80
+ contains: string;
81
+ startsWith: string;
82
+ endsWith: string;
83
+ in: string;
84
+ isEmpty: string;
85
+ isNotEmpty: string;
86
+ greaterThan: string;
87
+ greaterThanOrEqual: string;
88
+ lessThan: string;
89
+ lessThanOrEqual: string;
90
+ after: string;
91
+ onOrAfter: string;
92
+ before: string;
93
+ onOrBefore: string;
94
+ isTrue: string;
95
+ isFalse: string;
96
+ custom: string;
97
+ };
98
+ };
99
+ splitter: {
100
+ handleLabel: string;
101
+ };
102
+ inputField: {
103
+ clearInput: string;
104
+ };
105
+ maskInput: {
106
+ roleDescription: string;
107
+ segmentRange: string;
108
+ optionSeparator: string;
109
+ };
110
+ drawer: {
111
+ close: string;
112
+ };
113
+ dialog: {
114
+ close: string;
115
+ };
116
+ chip: {
117
+ close: string;
118
+ };
119
+ breadcrumb: {
120
+ overflow: string;
121
+ };
122
+ toast: {
123
+ close: string;
124
+ region: string;
125
+ };
126
+ snackbar: {
127
+ close: string;
128
+ region: string;
129
+ severity: {
130
+ error: string;
131
+ warning: string;
132
+ success: string;
133
+ info: string;
134
+ };
135
+ };
136
+ upload: {
137
+ upload: string;
138
+ uploadNamed: string;
139
+ retryNamed: string;
140
+ cancelNamed: string;
141
+ removeNamed: string;
142
+ progressNamed: string;
143
+ };
144
+ select: {
145
+ filterOptions: string;
146
+ };
147
+ paginator: {
148
+ previousPage: string;
149
+ nextPage: string;
150
+ };
151
+ listBox: {
152
+ noItemsFound: string;
153
+ };
154
+ tree: {
155
+ noItemsFound: string;
156
+ };
157
+ table: {
158
+ selectAllRows: string;
159
+ selectRow: string;
160
+ sortedBy: string;
161
+ sortAscending: string;
162
+ sortDescending: string;
163
+ sortCleared: string;
164
+ selectedCount: string;
165
+ page: string;
166
+ resultCount: string;
167
+ };
168
+ state: {
169
+ loading: string;
170
+ success: string;
171
+ warning: string;
172
+ error: string;
173
+ cancelled: string;
174
+ };
175
+ }, "_">;
176
+ /**
177
+ * Set whether the chip can be closed (removed).
178
+ * @default false
179
+ */
180
+ readonly closable: _angular_core.InputSignalWithTransform<boolean, unknown>;
181
+ /**
182
+ * Set whether the chip is actionable (can be clicked).
183
+ * @default false
184
+ */
185
+ readonly actionable: _angular_core.InputSignalWithTransform<boolean, unknown>;
186
+ /**
187
+ * Set a custom icon for the close button.
188
+ */
189
+ readonly iconClose: _angular_core.InputSignal<_iconify_types.IconifyIcon | _ngneers_controls_custom_types.NgnIconEntry | undefined>;
190
+ /**
191
+ * Emitted when the chip is closed (removed).
192
+ */
193
+ readonly closed: _angular_core.OutputEmitterRef<Event>;
194
+ /**
195
+ * Emitted when the chip is clicked.
196
+ */
197
+ readonly clicked: _angular_core.OutputEmitterRef<Event>;
198
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnChip, never>;
199
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnChip, "ngn-chip", never, { "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "actionable": { "alias": "actionable"; "required": false; "isSignal": true; }; "iconClose": { "alias": "iconClose"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "clicked": "clicked"; }, never, ["*"], true, never>;
200
+ }
201
+
202
+ export { NgnChip };
@@ -0,0 +1,5 @@
1
+ import { NgnFeature } from '@ngneers/controls/api/ng';
2
+
3
+ declare function withDefaultIcons(): NgnFeature;
4
+
5
+ export { withDefaultIcons };
@@ -0,0 +1,48 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+ import { NgnBase } from '@ngneers/controls/base';
4
+
5
+ /**
6
+ * @category control
7
+ */
8
+ declare class NgnDefer<T> extends NgnBase<null> {
9
+ protected readonly theme: null;
10
+ /**
11
+ * Template to render lazily. When omitted, the projected content
12
+ * (`ng-content`) is rendered instead.
13
+ */
14
+ readonly lazyContent: _angular_core.InputSignal<TemplateRef<T> | null | undefined>;
15
+ /**
16
+ * Context object passed to {@link lazyContent} when it is rendered.
17
+ * @default null
18
+ */
19
+ readonly lazyContentContext: _angular_core.InputSignal<T | null>;
20
+ /**
21
+ * Whether the deferred content is currently open (shown).
22
+ * @default false
23
+ */
24
+ readonly open: _angular_core.InputSignalWithTransform<boolean, unknown>;
25
+ /**
26
+ * Whether to defer rendering until first opened. When `false`, the content is
27
+ * rendered immediately regardless of {@link open}.
28
+ * @default true
29
+ */
30
+ readonly lazy: _angular_core.InputSignalWithTransform<boolean, unknown>;
31
+ /**
32
+ * Whether to keep the content rendered after it has been opened once, rather
33
+ * than tearing it down when {@link open} becomes `false`.
34
+ * @default false
35
+ */
36
+ readonly cache: _angular_core.InputSignalWithTransform<boolean, unknown>;
37
+ /**
38
+ * Whether the host is visually hidden (but kept in the DOM) while closed.
39
+ * @default true
40
+ */
41
+ readonly hiddenOnClosed: _angular_core.InputSignalWithTransform<boolean, unknown>;
42
+ protected readonly hasBeenOpened: _angular_core.WritableSignal<boolean>;
43
+ constructor();
44
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnDefer<any>, never>;
45
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnDefer<any>, "ngn-defer", never, { "lazyContent": { "alias": "lazyContent"; "required": false; "isSignal": true; }; "lazyContentContext": { "alias": "lazyContentContext"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "cache": { "alias": "cache"; "required": false; "isSignal": true; }; "hiddenOnClosed": { "alias": "hiddenOnClosed"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
46
+ }
47
+
48
+ export { NgnDefer };
@@ -0,0 +1,399 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef, Type, Injector } from '@angular/core';
3
+ import { Observable } from 'rxjs';
4
+ import { NgnActionButtonConfig } from '@ngneers/controls/api';
5
+ import * as _ngneers_controls_api_ng from '@ngneers/controls/api/ng';
6
+ import { CloseBy, Openable } from '@ngneers/controls/api/ng';
7
+ import * as _ngneers_signal_translate from '@ngneers/signal-translate';
8
+ import * as _ngneers_controls_themes from '@ngneers/controls-themes';
9
+ import { NgnBase } from '@ngneers/controls/base';
10
+
11
+ declare abstract class PromptDialogBase<D, ButtonValues> {
12
+ /**
13
+ * Injected by the hosting dialog to resolve the prompt. Carries the button value that
14
+ * triggered the prompt and the callback used to report the result back to the dialog.
15
+ * You typically do not set this yourself; call `fulfilPrompt` from your subclass instead.
16
+ */
17
+ readonly ngnPromptDialogResolveFn: _angular_core.InputSignal<{
18
+ fn: (value: D | null) => void;
19
+ button: ButtonValues;
20
+ } | undefined>;
21
+ constructor();
22
+ protected fulfilPrompt(data?: D): void;
23
+ protected abstract onDialogButtonClicked(button: ButtonValues): void;
24
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PromptDialogBase<any, any>, never>;
25
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PromptDialogBase<any, any>, "ng-component", never, { "ngnPromptDialogResolveFn": { "alias": "ngnPromptDialogResolveFn"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
26
+ }
27
+
28
+ type DialogSize = {
29
+ width?: string;
30
+ maxWidth?: string;
31
+ minWidth?: string;
32
+ minHeight?: string;
33
+ maxHeight?: string;
34
+ height?: string;
35
+ };
36
+ type DialogConfig<T, Buttons extends NgnActionButtonConfig<T extends PromptDialogBase<any, infer B> ? B : unknown>[]> = {
37
+ title?: string;
38
+ size?: DialogSize;
39
+ modal?: boolean;
40
+ closeBy?: CloseBy;
41
+ footerButtons?: Buttons;
42
+ content?: string | TemplateRef<unknown> | Type<T>;
43
+ movable?: boolean;
44
+ resizable?: boolean;
45
+ };
46
+
47
+ type DialogHandle<T, Buttons extends NgnActionButtonConfig<T extends PromptDialogBase<any, infer B> ? B : unknown>[]> = {
48
+ close: () => void;
49
+ updateConfig: (config: Partial<DialogConfig<T, Buttons>>) => void;
50
+ buttonClicked: Observable<Buttons[number]['value'] | null>;
51
+ };
52
+ type PromptDialogHandle<T, Buttons extends NgnActionButtonConfig<T extends PromptDialogBase<any, infer B> ? B : unknown>[]> = {
53
+ close: () => void;
54
+ updateConfig: (config: Partial<DialogConfig<T, Buttons>>) => void;
55
+ result: Promise<{
56
+ value: T extends PromptDialogBase<infer D, Buttons> ? D : never | null;
57
+ button: Buttons[number]['value'] | null;
58
+ }>;
59
+ };
60
+ declare function createDialog<T, Buttons extends NgnActionButtonConfig<T extends PromptDialogBase<any, infer B> ? B : unknown>[]>(injector: Injector, config: DialogConfig<T, Buttons>): T extends PromptDialogBase<any, any> ? PromptDialogHandle<T, Buttons> : DialogHandle<T, Buttons>;
61
+
62
+ declare abstract class DialogTemplates<T> extends NgnBase<'dialog'> {
63
+ private readonly _userContentTemplate;
64
+ /**
65
+ * The content of the dialog.
66
+ * Can be a string, a component type, or a template reference.
67
+ * Can also be set using an `<ng-template>` element with `#content` template reference variable.
68
+ */
69
+ readonly content: _angular_core.InputSignal<string | TemplateRef<unknown> | Type<T> | null>;
70
+ protected readonly contentTemplate: _angular_core.Signal<string | TemplateRef<unknown> | Type<T> | null>;
71
+ private readonly _defaultHeaderTemplate;
72
+ private readonly _userHeaderTemplate;
73
+ /**
74
+ * Set a custom template for the header of the dialog.
75
+ * Can also be set using an `<ng-template>` element with `#header` template reference variable.
76
+ */
77
+ readonly templateHeader: _angular_core.InputSignal<TemplateRef<unknown> | null>;
78
+ protected readonly headerTemplate: _angular_core.Signal<TemplateRef<unknown>>;
79
+ private readonly _defaultFooterTemplate;
80
+ private readonly _userFooterTemplate;
81
+ /**
82
+ * Set a custom template for the footer of the dialog.
83
+ * Can also be set using an `<ng-template>` element with `#footer` template reference variable.
84
+ */
85
+ readonly templateFooter: _angular_core.InputSignal<TemplateRef<unknown> | null>;
86
+ protected readonly footerTemplate: _angular_core.Signal<TemplateRef<unknown>>;
87
+ /**
88
+ * Types for the dialog templates.
89
+ */
90
+ readonly templateTypes: {
91
+ header: {
92
+ headerId: string;
93
+ title: string | null;
94
+ };
95
+ } & {
96
+ $implicit: {
97
+ header: Partial<{
98
+ headerId: string;
99
+ title: string | null;
100
+ }>;
101
+ };
102
+ };
103
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DialogTemplates<any>, never>;
104
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DialogTemplates<any>, never, never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "templateHeader": { "alias": "templateHeader"; "required": false; "isSignal": true; }; "templateFooter": { "alias": "templateFooter"; "required": false; "isSignal": true; }; }, {}, ["_userContentTemplate", "_userHeaderTemplate", "_userFooterTemplate"], never, true, never>;
105
+ }
106
+
107
+ type TypedContent = {
108
+ template?: TemplateRef<unknown>;
109
+ string?: string;
110
+ component?: Type<unknown>;
111
+ };
112
+ /**
113
+ * @category control
114
+ */
115
+ declare class NgnDialog<T, Buttons extends NgnActionButtonConfig<T extends PromptDialogBase<any, infer B> ? B : unknown>[]> extends DialogTemplates<T> implements Openable {
116
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"dialog", ["root", "modal", "header", "default-header", "content", "footer", "default-footer", "close-button"], readonly [{
117
+ readonly class: "movable";
118
+ readonly template: _ngneers_controls_themes.ControlTemplate<"movable", ["root", "movable", "moved", "drag-handle-grab", "drag-handle-grabbing"], readonly []>;
119
+ readonly projected: true;
120
+ }]>>;
121
+ protected readonly i18n: _ngneers_signal_translate.TranslationsSignal<{
122
+ calendar: {
123
+ today: string;
124
+ input: string;
125
+ selectYear: string;
126
+ selectMonth: string;
127
+ previousMonth: string;
128
+ nextMonth: string;
129
+ weekdays: {
130
+ monday: string;
131
+ tuesday: string;
132
+ wednesday: string;
133
+ thursday: string;
134
+ friday: string;
135
+ saturday: string;
136
+ sunday: string;
137
+ };
138
+ weekdaysShort: {
139
+ monday: string;
140
+ tuesday: string;
141
+ wednesday: string;
142
+ thursday: string;
143
+ friday: string;
144
+ saturday: string;
145
+ sunday: string;
146
+ };
147
+ months: {
148
+ january: string;
149
+ february: string;
150
+ march: string;
151
+ april: string;
152
+ may: string;
153
+ june: string;
154
+ july: string;
155
+ august: string;
156
+ september: string;
157
+ october: string;
158
+ november: string;
159
+ december: string;
160
+ };
161
+ };
162
+ editInplace: {
163
+ placeholder: string;
164
+ confirm: string;
165
+ };
166
+ filter: {
167
+ noFilter: string;
168
+ addCondition: string;
169
+ removeCondition: string;
170
+ operator: string;
171
+ value: string;
172
+ clear: string;
173
+ apply: string;
174
+ cancel: string;
175
+ matchModeLabel: string;
176
+ match: {
177
+ all: string;
178
+ any: string;
179
+ and: string;
180
+ or: string;
181
+ };
182
+ selected: string;
183
+ conditions: string;
184
+ operators: {
185
+ isEqual: string;
186
+ isNotEqual: string;
187
+ contains: string;
188
+ startsWith: string;
189
+ endsWith: string;
190
+ in: string;
191
+ isEmpty: string;
192
+ isNotEmpty: string;
193
+ greaterThan: string;
194
+ greaterThanOrEqual: string;
195
+ lessThan: string;
196
+ lessThanOrEqual: string;
197
+ after: string;
198
+ onOrAfter: string;
199
+ before: string;
200
+ onOrBefore: string;
201
+ isTrue: string;
202
+ isFalse: string;
203
+ custom: string;
204
+ };
205
+ };
206
+ splitter: {
207
+ handleLabel: string;
208
+ };
209
+ inputField: {
210
+ clearInput: string;
211
+ };
212
+ maskInput: {
213
+ roleDescription: string;
214
+ segmentRange: string;
215
+ optionSeparator: string;
216
+ };
217
+ drawer: {
218
+ close: string;
219
+ };
220
+ dialog: {
221
+ close: string;
222
+ };
223
+ chip: {
224
+ close: string;
225
+ };
226
+ breadcrumb: {
227
+ overflow: string;
228
+ };
229
+ toast: {
230
+ close: string;
231
+ region: string;
232
+ };
233
+ snackbar: {
234
+ close: string;
235
+ region: string;
236
+ severity: {
237
+ error: string;
238
+ warning: string;
239
+ success: string;
240
+ info: string;
241
+ };
242
+ };
243
+ upload: {
244
+ upload: string;
245
+ uploadNamed: string;
246
+ retryNamed: string;
247
+ cancelNamed: string;
248
+ removeNamed: string;
249
+ progressNamed: string;
250
+ };
251
+ select: {
252
+ filterOptions: string;
253
+ };
254
+ paginator: {
255
+ previousPage: string;
256
+ nextPage: string;
257
+ };
258
+ listBox: {
259
+ noItemsFound: string;
260
+ };
261
+ tree: {
262
+ noItemsFound: string;
263
+ };
264
+ table: {
265
+ selectAllRows: string;
266
+ selectRow: string;
267
+ sortedBy: string;
268
+ sortAscending: string;
269
+ sortDescending: string;
270
+ sortCleared: string;
271
+ selectedCount: string;
272
+ page: string;
273
+ resultCount: string;
274
+ };
275
+ state: {
276
+ loading: string;
277
+ success: string;
278
+ warning: string;
279
+ error: string;
280
+ cancelled: string;
281
+ };
282
+ }, "_">;
283
+ protected readonly headerId: string;
284
+ private readonly _dialogElement;
285
+ /**
286
+ * Shows or hides the dialog.
287
+ *
288
+ * You probably want to react to openChange events from outside to update your variable accordingly.
289
+ * @default true
290
+ */
291
+ readonly open: _angular_core.ModelSignal<boolean>;
292
+ /**
293
+ * When `true`, the content will be loaded lazily when the dialog is opened for the first time.
294
+ * Only applies when using a template for the content.
295
+ * @default false
296
+ */
297
+ readonly lazy: _angular_core.InputSignalWithTransform<boolean, unknown>;
298
+ /**
299
+ * When {@link lazy} is `true`, setting this to `true` will cache the content after the first load.
300
+ * @default false
301
+ */
302
+ readonly cache: _angular_core.InputSignalWithTransform<boolean, unknown>;
303
+ /**
304
+ * When `true`, the dialog will be shown as a modal dialog making the background content non-interactable.
305
+ * @default false
306
+ */
307
+ readonly modal: _angular_core.InputSignalWithTransform<boolean, unknown>;
308
+ /**
309
+ * When `true`, the dialog will automatically receive focus when opened.
310
+ * @default modal()
311
+ */
312
+ readonly autofocus: _angular_core.InputSignal<boolean>;
313
+ /**
314
+ * The title of the dialog. Displayed in the default header template.
315
+ */
316
+ readonly title: _angular_core.InputSignal<string | null | undefined>;
317
+ /**
318
+ * Determines how the dialog can be closed by the user.
319
+ * - `'any'` - The dialog can be closed by clicking outside the dialog or pressing the Escape key.
320
+ * - `'escape'` - The dialog can only be closed by pressing the Escape key.
321
+ * - `'none'` - The dialog cannot be closed by user interaction. It can only be closed programmatically.
322
+ * @default 'any'
323
+ */
324
+ readonly closeBy: _angular_core.InputSignal<CloseBy>;
325
+ /**
326
+ * The size of the dialog. You can set any CSS size value (e.g. `300px`, `50%`, `auto`, `min-content`, etc.) for each property.
327
+ */
328
+ readonly size: _angular_core.InputSignal<DialogSize>;
329
+ /**
330
+ * Action buttons to be displayed in the footer of the dialog.
331
+ */
332
+ readonly footerButtons: _angular_core.InputSignal<Buttons | undefined>;
333
+ /**
334
+ * Whether the dialog is movable by dragging its header.
335
+ * @default false
336
+ */
337
+ readonly movable: _angular_core.InputSignal<boolean | "" | null | undefined>;
338
+ /**
339
+ * Whether the dialog is resizable.
340
+ * @default false
341
+ */
342
+ readonly resizable: _angular_core.InputSignal<boolean | "" | null | undefined>;
343
+ /**
344
+ * The result of the dialog, which is the `value` of the button that was clicked to close the dialog or null.
345
+ */
346
+ readonly buttonClicked: _angular_core.OutputEmitterRef<Buttons[number]["value"] | null>;
347
+ /**
348
+ * Emits when the dialog has fully closed.
349
+ */
350
+ readonly closed: _angular_core.OutputEmitterRef<void>;
351
+ /**
352
+ * Emits when a prompt dialog resolves. Carries the value produced by the prompt content
353
+ * and the {@link footerButtons} value that triggered it, or `null` for both when cancelled.
354
+ */
355
+ readonly promptResult: _angular_core.OutputEmitterRef<{
356
+ value: (T extends PromptDialogBase<infer D, Buttons[number]["value"]> ? D : never) | null;
357
+ button: Buttons[number]["value"] | null;
358
+ }>;
359
+ private readonly _latestClickedButtonValue;
360
+ protected readonly contentComponentInputs: _angular_core.Signal<{
361
+ ngnPromptDialogResolveFn?: undefined;
362
+ } | {
363
+ ngnPromptDialogResolveFn: {
364
+ button: Buttons[number]["value"];
365
+ fn: (result: T extends PromptDialogBase<infer D, Buttons[number]["value"]> ? D : never) => void;
366
+ };
367
+ }>;
368
+ /**
369
+ * How a modal dialog can be closed by the user.
370
+ */
371
+ protected readonly modalClosedBy: _angular_core.Signal<"any" | "none" | "closerequest">;
372
+ /**
373
+ * How a popover dialog can be closed by the user.
374
+ */
375
+ protected readonly popoverClosedBy: _angular_core.Signal<"auto" | "manual">;
376
+ protected readonly isFullyClosed: _angular_core.WritableSignal<boolean>;
377
+ protected readonly typedContent: _angular_core.Signal<TypedContent>;
378
+ constructor();
379
+ /**
380
+ * Different cancel handlers for different event types. Required for modal and popover dialogs.
381
+ */
382
+ protected onCancel(event?: ToggleEvent | KeyboardEvent): void;
383
+ private setStateToClosed;
384
+ private cancelPrompt;
385
+ protected closeWithButton(): void;
386
+ /**
387
+ * Opens the dialog. Alternatively, you can also set the `open` input to `true`.
388
+ */
389
+ show(): void;
390
+ hide(): void;
391
+ toggle(): void;
392
+ protected singleButtonTypeFix(button: unknown): Buttons[number];
393
+ protected buttonClick(button: Buttons[number]['value']): void;
394
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnDialog<any, any>, never>;
395
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnDialog<any, any>, "ngn-dialog", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "cache": { "alias": "cache"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "closeBy": { "alias": "closeBy"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "footerButtons": { "alias": "footerButtons"; "required": false; "isSignal": true; }; "movable": { "alias": "movable"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "buttonClicked": "buttonClicked"; "closed": "closed"; "promptResult": "promptResult"; }, never, ["*"], true, never>;
396
+ }
397
+
398
+ export { NgnDialog, PromptDialogBase, createDialog };
399
+ export type { DialogConfig, DialogHandle, DialogSize, PromptDialogHandle };