@ngneers/controls 0.0.1-pre1 → 0.0.1-pre2

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 (195) hide show
  1. package/LICENSE +21 -0
  2. package/fesm2022/ngneers-controls-accordion.mjs +194 -0
  3. package/fesm2022/ngneers-controls-accordion.mjs.map +1 -0
  4. package/fesm2022/ngneers-controls-api-ng.mjs +668 -0
  5. package/fesm2022/ngneers-controls-api-ng.mjs.map +1 -0
  6. package/fesm2022/ngneers-controls-api.mjs +256 -227
  7. package/fesm2022/ngneers-controls-api.mjs.map +1 -1
  8. package/fesm2022/ngneers-controls-avatar.mjs +70 -0
  9. package/fesm2022/ngneers-controls-avatar.mjs.map +1 -0
  10. package/fesm2022/ngneers-controls-base.mjs +397 -0
  11. package/fesm2022/ngneers-controls-base.mjs.map +1 -0
  12. package/fesm2022/ngneers-controls-breadcrumb.mjs +74 -0
  13. package/fesm2022/ngneers-controls-breadcrumb.mjs.map +1 -0
  14. package/fesm2022/ngneers-controls-button-group.mjs +51 -0
  15. package/fesm2022/ngneers-controls-button-group.mjs.map +1 -0
  16. package/fesm2022/ngneers-controls-button.mjs +62 -0
  17. package/fesm2022/ngneers-controls-button.mjs.map +1 -0
  18. package/fesm2022/ngneers-controls-calendar-time-C7UnIFzU.mjs +63 -0
  19. package/fesm2022/ngneers-controls-calendar-time-C7UnIFzU.mjs.map +1 -0
  20. package/fesm2022/ngneers-controls-calendar.mjs +468 -0
  21. package/fesm2022/ngneers-controls-calendar.mjs.map +1 -0
  22. package/fesm2022/ngneers-controls-checkbox.mjs +58 -0
  23. package/fesm2022/ngneers-controls-checkbox.mjs.map +1 -0
  24. package/fesm2022/ngneers-controls-chip.mjs +52 -0
  25. package/fesm2022/ngneers-controls-chip.mjs.map +1 -0
  26. package/fesm2022/ngneers-controls-defer.mjs +43 -0
  27. package/fesm2022/ngneers-controls-defer.mjs.map +1 -0
  28. package/fesm2022/ngneers-controls-dialog.mjs +329 -33
  29. package/fesm2022/ngneers-controls-dialog.mjs.map +1 -1
  30. package/fesm2022/ngneers-controls-directives.mjs +443 -0
  31. package/fesm2022/ngneers-controls-directives.mjs.map +1 -0
  32. package/fesm2022/ngneers-controls-drawer.mjs +232 -0
  33. package/fesm2022/ngneers-controls-drawer.mjs.map +1 -0
  34. package/fesm2022/ngneers-controls-edit-inplace.mjs +120 -0
  35. package/fesm2022/ngneers-controls-edit-inplace.mjs.map +1 -0
  36. package/fesm2022/ngneers-controls-filter.mjs +516 -0
  37. package/fesm2022/ngneers-controls-filter.mjs.map +1 -0
  38. package/fesm2022/ngneers-controls-i18n-de-CdTPeBiR.mjs +87 -0
  39. package/fesm2022/ngneers-controls-i18n-de-CdTPeBiR.mjs.map +1 -0
  40. package/fesm2022/ngneers-controls-i18n-en-Cfp2pOLY.mjs +87 -0
  41. package/fesm2022/ngneers-controls-i18n-en-Cfp2pOLY.mjs.map +1 -0
  42. package/fesm2022/ngneers-controls-i18n.mjs +57 -0
  43. package/fesm2022/ngneers-controls-i18n.mjs.map +1 -0
  44. package/fesm2022/ngneers-controls-icon-calendar-z5xA9wTT.mjs +4 -0
  45. package/fesm2022/ngneers-controls-icon-calendar-z5xA9wTT.mjs.map +1 -0
  46. package/fesm2022/ngneers-controls-icon-check-DdAQ9k-T.mjs +4 -0
  47. package/fesm2022/ngneers-controls-icon-check-DdAQ9k-T.mjs.map +1 -0
  48. package/fesm2022/ngneers-controls-icon-chevron_down-HO-z-xOr.mjs +4 -0
  49. package/fesm2022/ngneers-controls-icon-chevron_down-HO-z-xOr.mjs.map +1 -0
  50. package/fesm2022/ngneers-controls-icon-chevron_left-CC5psi16.mjs +4 -0
  51. package/fesm2022/ngneers-controls-icon-chevron_left-CC5psi16.mjs.map +1 -0
  52. package/fesm2022/ngneers-controls-icon-chevron_right-BRxlzx4G.mjs +4 -0
  53. package/fesm2022/ngneers-controls-icon-chevron_right-BRxlzx4G.mjs.map +1 -0
  54. package/fesm2022/ngneers-controls-icon-chevron_up-cqhPO7g2.mjs +4 -0
  55. package/fesm2022/ngneers-controls-icon-chevron_up-cqhPO7g2.mjs.map +1 -0
  56. package/fesm2022/ngneers-controls-icon-ellipsis-DXIGA1sk.mjs +4 -0
  57. package/fesm2022/ngneers-controls-icon-ellipsis-DXIGA1sk.mjs.map +1 -0
  58. package/fesm2022/ngneers-controls-icon-filter-oU7E6Xgr.mjs +4 -0
  59. package/fesm2022/ngneers-controls-icon-filter-oU7E6Xgr.mjs.map +1 -0
  60. package/fesm2022/ngneers-controls-icon-filter_solid-CqIKuR4N.mjs +4 -0
  61. package/fesm2022/ngneers-controls-icon-filter_solid-CqIKuR4N.mjs.map +1 -0
  62. package/fesm2022/ngneers-controls-icon-magnifying_glass-T4Hzbkig.mjs +4 -0
  63. package/fesm2022/ngneers-controls-icon-magnifying_glass-T4Hzbkig.mjs.map +1 -0
  64. package/fesm2022/ngneers-controls-icon-minus-oGDEFO4E.mjs +4 -0
  65. package/fesm2022/ngneers-controls-icon-minus-oGDEFO4E.mjs.map +1 -0
  66. package/fesm2022/ngneers-controls-icon-sort-CRD4tafz.mjs +4 -0
  67. package/fesm2022/ngneers-controls-icon-sort-CRD4tafz.mjs.map +1 -0
  68. package/fesm2022/ngneers-controls-icon-sort_down-DiFB1P6R.mjs +4 -0
  69. package/fesm2022/ngneers-controls-icon-sort_down-DiFB1P6R.mjs.map +1 -0
  70. package/fesm2022/ngneers-controls-icon-sort_up-Bq_q3hIi.mjs +4 -0
  71. package/fesm2022/ngneers-controls-icon-sort_up-Bq_q3hIi.mjs.map +1 -0
  72. package/fesm2022/ngneers-controls-icon-xmark-BZKZORiu.mjs +4 -0
  73. package/fesm2022/ngneers-controls-icon-xmark-BZKZORiu.mjs.map +1 -0
  74. package/fesm2022/ngneers-controls-icon.mjs +60 -18
  75. package/fesm2022/ngneers-controls-icon.mjs.map +1 -1
  76. package/fesm2022/ngneers-controls-inplace.mjs +107 -0
  77. package/fesm2022/ngneers-controls-inplace.mjs.map +1 -0
  78. package/fesm2022/ngneers-controls-input-field.mjs +141 -0
  79. package/fesm2022/ngneers-controls-input-field.mjs.map +1 -0
  80. package/fesm2022/ngneers-controls-input-mask.mjs +282 -0
  81. package/fesm2022/ngneers-controls-input-mask.mjs.map +1 -0
  82. package/fesm2022/ngneers-controls-input.mjs +69 -0
  83. package/fesm2022/ngneers-controls-input.mjs.map +1 -0
  84. package/fesm2022/ngneers-controls-item-view.mjs +441 -0
  85. package/fesm2022/ngneers-controls-item-view.mjs.map +1 -0
  86. package/fesm2022/ngneers-controls-list-box.mjs +157 -53
  87. package/fesm2022/ngneers-controls-list-box.mjs.map +1 -1
  88. package/fesm2022/ngneers-controls-menu.mjs +332 -0
  89. package/fesm2022/ngneers-controls-menu.mjs.map +1 -0
  90. package/fesm2022/ngneers-controls-message.mjs +29 -0
  91. package/fesm2022/ngneers-controls-message.mjs.map +1 -0
  92. package/fesm2022/ngneers-controls-paginator.mjs +111 -0
  93. package/fesm2022/ngneers-controls-paginator.mjs.map +1 -0
  94. package/fesm2022/ngneers-controls-popover.mjs +129 -40
  95. package/fesm2022/ngneers-controls-popover.mjs.map +1 -1
  96. package/fesm2022/ngneers-controls-progress.mjs +82 -0
  97. package/fesm2022/ngneers-controls-progress.mjs.map +1 -0
  98. package/fesm2022/ngneers-controls-scroller.mjs +155 -78
  99. package/fesm2022/ngneers-controls-scroller.mjs.map +1 -1
  100. package/fesm2022/ngneers-controls-select-button.mjs +55 -0
  101. package/fesm2022/ngneers-controls-select-button.mjs.map +1 -0
  102. package/fesm2022/ngneers-controls-select.mjs +313 -103
  103. package/fesm2022/ngneers-controls-select.mjs.map +1 -1
  104. package/fesm2022/ngneers-controls-slider.mjs +155 -0
  105. package/fesm2022/ngneers-controls-slider.mjs.map +1 -0
  106. package/fesm2022/ngneers-controls-spinner.mjs +169 -0
  107. package/fesm2022/ngneers-controls-spinner.mjs.map +1 -0
  108. package/fesm2022/ngneers-controls-splitter.mjs +717 -0
  109. package/fesm2022/ngneers-controls-splitter.mjs.map +1 -0
  110. package/fesm2022/ngneers-controls-switch.mjs +39 -0
  111. package/fesm2022/ngneers-controls-switch.mjs.map +1 -0
  112. package/fesm2022/ngneers-controls-table.mjs +379 -0
  113. package/fesm2022/ngneers-controls-table.mjs.map +1 -0
  114. package/fesm2022/ngneers-controls-tabs.mjs +287 -0
  115. package/fesm2022/ngneers-controls-tabs.mjs.map +1 -0
  116. package/fesm2022/ngneers-controls-tag.mjs +29 -0
  117. package/fesm2022/ngneers-controls-tag.mjs.map +1 -0
  118. package/fesm2022/ngneers-controls-toast.mjs +184 -0
  119. package/fesm2022/ngneers-controls-toast.mjs.map +1 -0
  120. package/fesm2022/ngneers-controls-toggle-button.mjs +65 -0
  121. package/fesm2022/ngneers-controls-toggle-button.mjs.map +1 -0
  122. package/fesm2022/ngneers-controls-tooltip.mjs +454 -0
  123. package/fesm2022/ngneers-controls-tooltip.mjs.map +1 -0
  124. package/fesm2022/ngneers-controls-utils-ng.mjs +227 -0
  125. package/fesm2022/ngneers-controls-utils-ng.mjs.map +1 -0
  126. package/fesm2022/ngneers-controls-utils.mjs +217 -60
  127. package/fesm2022/ngneers-controls-utils.mjs.map +1 -1
  128. package/fesm2022/ngneers-controls.mjs.map +1 -1
  129. package/package.json +167 -32
  130. package/types/ngneers-controls-accordion.d.ts +114 -0
  131. package/types/ngneers-controls-api-ng.d.ts +291 -0
  132. package/types/ngneers-controls-api.d.ts +99 -0
  133. package/types/ngneers-controls-avatar.d.ts +50 -0
  134. package/types/ngneers-controls-base.d.ts +166 -0
  135. package/types/ngneers-controls-breadcrumb.d.ts +86 -0
  136. package/types/ngneers-controls-button-group.d.ts +30 -0
  137. package/types/ngneers-controls-button.d.ts +34 -0
  138. package/types/ngneers-controls-calendar.d.ts +275 -0
  139. package/types/ngneers-controls-checkbox.d.ts +38 -0
  140. package/types/ngneers-controls-chip.d.ts +37 -0
  141. package/types/ngneers-controls-defer.d.ts +22 -0
  142. package/types/ngneers-controls-dialog.d.ts +218 -0
  143. package/types/ngneers-controls-directives.d.ts +146 -0
  144. package/types/ngneers-controls-drawer.d.ts +220 -0
  145. package/types/ngneers-controls-edit-inplace.d.ts +182 -0
  146. package/types/ngneers-controls-filter.d.ts +304 -0
  147. package/types/ngneers-controls-i18n.d.ts +108 -0
  148. package/types/ngneers-controls-icon.d.ts +74 -0
  149. package/types/ngneers-controls-inplace.d.ts +95 -0
  150. package/types/ngneers-controls-input-field.d.ts +159 -0
  151. package/types/ngneers-controls-input-mask.d.ts +83 -0
  152. package/types/ngneers-controls-input.d.ts +27 -0
  153. package/types/ngneers-controls-item-view.d.ts +211 -0
  154. package/types/ngneers-controls-list-box.d.ts +216 -0
  155. package/types/ngneers-controls-menu.d.ts +178 -0
  156. package/types/ngneers-controls-message.d.ts +19 -0
  157. package/types/ngneers-controls-paginator.d.ts +162 -0
  158. package/types/ngneers-controls-popover.d.ts +101 -0
  159. package/types/ngneers-controls-progress.d.ts +44 -0
  160. package/types/ngneers-controls-scroller.d.ts +137 -0
  161. package/types/ngneers-controls-select-button.d.ts +37 -0
  162. package/types/ngneers-controls-select.d.ts +314 -0
  163. package/types/ngneers-controls-slider.d.ts +53 -0
  164. package/types/ngneers-controls-spinner.d.ts +105 -0
  165. package/types/ngneers-controls-splitter.d.ts +391 -0
  166. package/types/ngneers-controls-switch.d.ts +18 -0
  167. package/types/ngneers-controls-table.d.ts +157 -0
  168. package/types/ngneers-controls-tabs.d.ts +106 -0
  169. package/types/ngneers-controls-tag.d.ts +19 -0
  170. package/types/ngneers-controls-toast.d.ts +70 -0
  171. package/types/ngneers-controls-toggle-button.d.ts +46 -0
  172. package/types/ngneers-controls-tooltip.d.ts +188 -0
  173. package/types/ngneers-controls-utils-ng.d.ts +57 -0
  174. package/types/ngneers-controls-utils.d.ts +130 -0
  175. package/api/index.d.ts +0 -134
  176. package/custom-types/index.d.ts +0 -7
  177. package/dialog/index.d.ts +0 -43
  178. package/fesm2022/ngneers-controls-custom-types.mjs +0 -4
  179. package/fesm2022/ngneers-controls-custom-types.mjs.map +0 -1
  180. package/fesm2022/ngneers-controls-form-field.mjs +0 -33
  181. package/fesm2022/ngneers-controls-form-field.mjs.map +0 -1
  182. package/fesm2022/ngneers-controls-lazy-cacher.mjs +0 -30
  183. package/fesm2022/ngneers-controls-lazy-cacher.mjs.map +0 -1
  184. package/fesm2022/ngneers-controls-text-field.mjs +0 -23
  185. package/fesm2022/ngneers-controls-text-field.mjs.map +0 -1
  186. package/form-field/index.d.ts +0 -19
  187. package/icon/index.d.ts +0 -30
  188. package/lazy-cacher/index.d.ts +0 -14
  189. package/list-box/index.d.ts +0 -58
  190. package/popover/index.d.ts +0 -41
  191. package/scroller/index.d.ts +0 -95
  192. package/select/index.d.ts +0 -86
  193. package/text-field/index.d.ts +0 -10
  194. package/utils/index.d.ts +0 -36
  195. /package/{index.d.ts → types/ngneers-controls.d.ts} +0 -0
@@ -0,0 +1,101 @@
1
+ import * as _floating_ui_dom from '@floating-ui/dom';
2
+ import { Placement } from '@floating-ui/dom';
3
+ import * as _angular_core from '@angular/core';
4
+ import { TemplateRef, ElementRef } from '@angular/core';
5
+ import * as _ngneers_controls_api_ng from '@ngneers/controls/api/ng';
6
+ import { PositioningSizeConstraints, Openable, Anchor, PopoverCloseBy } from '@ngneers/controls/api/ng';
7
+ import * as _ngneers_controls_themes from '@ngneers/controls-themes';
8
+ import { NgnBase } from '@ngneers/controls/base';
9
+
10
+ type PopoverOptions = {
11
+ /**
12
+ * Constraints for the size of the popover.
13
+ */
14
+ sizeConstraints?: PositioningSizeConstraints;
15
+ /**
16
+ * If true, the content of the popover will be cached and not recreated on each open.
17
+ * This is useful for performance when the content is expensive to create.
18
+ */
19
+ cache?: boolean;
20
+ /**
21
+ * The placement of the popover relative to the anchor element.
22
+ */
23
+ placement?: Placement;
24
+ /**
25
+ * The padding of the popover content.
26
+ */
27
+ padding?: number;
28
+ };
29
+
30
+ /**
31
+ * @category control
32
+ */
33
+ declare class NgnPopover extends NgnBase<'popover'> implements Openable {
34
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing", "anim-in", "anim-out"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>>;
35
+ /**
36
+ * Emits when the popover has fully closed.
37
+ */
38
+ readonly closed: _angular_core.OutputEmitterRef<void>;
39
+ /**
40
+ * Emits when the popover is closed.
41
+ */
42
+ readonly closing: _angular_core.OutputEmitterRef<void>;
43
+ /**
44
+ * Shows or hides the popover.
45
+ *
46
+ * You probably want to react to openChange events from outside to update your variable accordingly.
47
+ */
48
+ readonly open: _angular_core.ModelSignal<boolean>;
49
+ /**
50
+ * The element to which the popover is anchored.
51
+ */
52
+ readonly anchor: _angular_core.InputSignal<Anchor>;
53
+ /**
54
+ * The popover options.
55
+ */
56
+ readonly options: _angular_core.InputSignal<PopoverOptions | undefined>;
57
+ /**
58
+ * Set to true for scrollable/shrink-able content
59
+ */
60
+ readonly hasShrinkableContent: _angular_core.InputSignalWithTransform<boolean, unknown>;
61
+ /**
62
+ * How the drawer closes depending on user interaction.
63
+ * @default 'any'
64
+ */
65
+ readonly closeBy: _angular_core.InputSignal<PopoverCloseBy>;
66
+ protected readonly lazyContent: _angular_core.Signal<TemplateRef<unknown> | undefined>;
67
+ protected readonly _content: _angular_core.Signal<ElementRef<HTMLElement>>;
68
+ protected readonly closeByPopover: _angular_core.Signal<"auto" | "manual">;
69
+ protected readonly isFullyClosed: _angular_core.WritableSignal<boolean>;
70
+ private _skipEmitCloseEvent;
71
+ private _triggeredByInput;
72
+ protected readonly appliedOptions: _angular_core.Signal<{
73
+ sizeConstraints?: _ngneers_controls_api_ng.PositioningSizeConstraints;
74
+ cache: boolean;
75
+ placement?: _floating_ui_dom.Placement;
76
+ padding?: number;
77
+ }>;
78
+ private readonly _injector;
79
+ private readonly _popoverRef;
80
+ private readonly _popover;
81
+ private readonly _autoPos;
82
+ constructor();
83
+ /**
84
+ * Opens the drawer. Alternatively, you can also set the `open` input to `true`.
85
+ */
86
+ show(): void;
87
+ /**
88
+ * Closes the drawer. Alternatively, you can also set the `open` input to `false`.
89
+ */
90
+ hide(emitCloseEvent?: boolean): void;
91
+ /**
92
+ * Toggles the drawer open or closed. Alternatively, you can also set the `open` input accordingly.
93
+ */
94
+ toggle(): void;
95
+ protected onToggle(event: Event): void;
96
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnPopover, never>;
97
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnPopover, "ngn-popover", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "anchor": { "alias": "anchor"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "hasShrinkableContent": { "alias": "hasShrinkableContent"; "required": false; "isSignal": true; }; "closeBy": { "alias": "closeBy"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "closing": "closing"; "open": "openChange"; }, ["lazyContent"], ["*"], true, never>;
98
+ }
99
+
100
+ export { NgnPopover };
101
+ export type { PopoverOptions };
@@ -0,0 +1,44 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import * as _ngneers_controls_api_ng from '@ngneers/controls/api/ng';
3
+ import * as _ngneers_controls_themes from '@ngneers/controls-themes';
4
+ import { NgnBase } from '@ngneers/controls/base';
5
+
6
+ /**
7
+ * @category control
8
+ */
9
+ declare class NgnProgress extends NgnBase<'progress'> {
10
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"progress", ["root", "svg", "track", "indeterminate", "circular", "fill", "fill2"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>>;
11
+ /**
12
+ * The current progress value (0-100).
13
+ */
14
+ readonly value: _angular_core.InputSignal<number>;
15
+ /**
16
+ * Whether the progress indicator is indeterminate.
17
+ */
18
+ readonly indeterminate: _angular_core.InputSignalWithTransform<boolean, unknown>;
19
+ /**
20
+ * Whether the progress indicator is circular.
21
+ */
22
+ readonly circular: _angular_core.InputSignalWithTransform<boolean, unknown>;
23
+ /**
24
+ * Radius of the circular progress indicator (in px).
25
+ */
26
+ readonly radius: _angular_core.InputSignal<number>;
27
+ /**
28
+ * Thickness of the circular progress indicator stroke (in px).
29
+ */
30
+ readonly thickness: _angular_core.InputSignal<number>;
31
+ protected readonly safeValue: _angular_core.Signal<number>;
32
+ protected readonly safeRadius: _angular_core.Signal<number>;
33
+ protected readonly safeThickness: _angular_core.Signal<number>;
34
+ protected readonly svgSize: _angular_core.Signal<number>;
35
+ protected readonly svgCenter: _angular_core.Signal<number>;
36
+ protected readonly circumference: _angular_core.Signal<number>;
37
+ protected readonly strokeDasharray: _angular_core.Signal<string>;
38
+ protected readonly strokeDashoffset: _angular_core.Signal<string>;
39
+ constructor();
40
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnProgress, never>;
41
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnProgress, "ngn-progress", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "circular": { "alias": "circular"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "thickness": { "alias": "thickness"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
42
+ }
43
+
44
+ export { NgnProgress };
@@ -0,0 +1,137 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef, AfterViewInit } from '@angular/core';
3
+ import * as _ngneers_controls_api_ng from '@ngneers/controls/api/ng';
4
+ import * as _ngneers_controls_themes from '@ngneers/controls-themes';
5
+ import { AllKeysOfUnion } from '@ngneers/controls/utils';
6
+ import { NgnBase } from '@ngneers/controls/base';
7
+ import * as i1 from '@ngneers/controls/directives';
8
+
9
+ declare abstract class ScrollerTemplates<T> extends NgnBase<'scroller'> {
10
+ /**
11
+ * The template to be used for rendering each item in the scroller.
12
+ * Can also be set using the `item` content child.
13
+ */
14
+ readonly templateItem: _angular_core.InputSignal<TemplateRef<{
15
+ $implicit: T;
16
+ index: number;
17
+ }> | null>;
18
+ private readonly _userItemTemplate;
19
+ protected readonly itemTemplate: _angular_core.Signal<TemplateRef<{
20
+ $implicit: T;
21
+ index: number;
22
+ }> | null>;
23
+ /**
24
+ * Template types for the scroller.
25
+ * Can be used with the {@link NgnTemplate} directive for type safe ng-templates.
26
+ */
27
+ readonly templateTypes: {
28
+ item: {
29
+ $implicit: T;
30
+ index: number;
31
+ };
32
+ } & {
33
+ $implicit: {
34
+ item: Partial<{
35
+ $implicit: T;
36
+ index: number;
37
+ }>;
38
+ };
39
+ };
40
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScrollerTemplates<any>, never>;
41
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ScrollerTemplates<any>, never, never, { "templateItem": { "alias": "templateItem"; "required": false; "isSignal": true; }; }, {}, ["_userItemTemplate"], never, true, never>;
42
+ }
43
+
44
+ /**
45
+ * @category control
46
+ */
47
+ declare class NgnScroller<T> extends ScrollerTemplates<T> {
48
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "spacer", "item-sticky"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>>;
49
+ private readonly _el;
50
+ private readonly _scrollAmount;
51
+ /**
52
+ * The items to be displayed in the scroller.
53
+ * This is a required input and should be an array of items of type {@link T}.
54
+ */
55
+ readonly items: _angular_core.InputSignal<readonly T[]>;
56
+ /**
57
+ * The field of the item that uniquely identifies it.
58
+ */
59
+ readonly fieldId: _angular_core.InputSignal<keyof T | undefined>;
60
+ /**
61
+ * Whether the scroller should use virtual scrolling.
62
+ * When set to true, the scroller will only render the items that are currently visible
63
+ * on the screen, improving performance for large lists.
64
+ *
65
+ * When virtual scrolling is enabled, {@link itemHeight} must be set to a non-zero value.
66
+ * @default `false`
67
+ */
68
+ readonly virtual: _angular_core.InputSignal<boolean | undefined>;
69
+ /**
70
+ * When {@link virtual} scrolling is enabled, this input is required to define the height of each item in pixels.
71
+ */
72
+ readonly itemHeight: _angular_core.InputSignal<number | undefined>;
73
+ /**
74
+ * When {@link virtual} scrolling is enabled, this input defines the number of items to be rendered above and below the visible area.
75
+ * This can help to reduce flickering when scrolling.
76
+ * @default `2`
77
+ */
78
+ readonly virtualPadding: _angular_core.InputSignal<number>;
79
+ /**
80
+ * Determines whether the scroller should have a tab index and be focusable.
81
+ * @default `false`
82
+ */
83
+ readonly focusable: _angular_core.InputSignalWithTransform<boolean, unknown>;
84
+ /**
85
+ * Determines whether an item is sticky or not.
86
+ * If set, the scroller will stick the items with a truthy value for the specified field to the top of the scroller.
87
+ */
88
+ readonly fieldSticky: _angular_core.InputSignal<AllKeysOfUnion<T> | null>;
89
+ private readonly _elementSize;
90
+ private readonly _itemHeightPx;
91
+ private readonly _visibleItemCount;
92
+ private readonly _scrollTop;
93
+ /**
94
+ * The index of the first item that is rendered in the (virtual) scroller.
95
+ */
96
+ readonly itemStartIndex: _angular_core.Signal<number>;
97
+ private readonly _itemEndIndex;
98
+ protected readonly paddingTop: _angular_core.Signal<number>;
99
+ protected readonly paddingBottom: _angular_core.Signal<number>;
100
+ protected readonly visibleItems: _angular_core.Signal<{
101
+ item: T;
102
+ index: number;
103
+ }[]>;
104
+ /**
105
+ * Returns the last sticky item that is not rendered regularly in the list.
106
+ * Required because sticky items might need to be rendered longer than they would.
107
+ * Only applicable when virtual scrolling is enabled.
108
+ */
109
+ protected readonly latestStickyItem: _angular_core.Signal<{
110
+ item: T;
111
+ index: number;
112
+ } | null>;
113
+ constructor();
114
+ /**
115
+ * Scrolls the item with the given index into view.
116
+ * @param index The index of the item to scroll to.
117
+ */
118
+ scrollToIndex(index: number, position?: ScrollLogicalPosition): void;
119
+ protected track(item: {
120
+ item: T;
121
+ index: number;
122
+ }): unknown;
123
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnScroller<any>, never>;
124
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnScroller<any>, "ngn-scroller, [ngn-scroller]", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "fieldId": { "alias": "fieldId"; "required": false; "isSignal": true; }; "virtual": { "alias": "virtual"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "virtualPadding": { "alias": "virtualPadding"; "required": false; "isSignal": true; }; "focusable": { "alias": "focusable"; "required": false; "isSignal": true; }; "fieldSticky": { "alias": "fieldSticky"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.NgnScrollAmount; inputs: {}; outputs: {}; }]>;
125
+ }
126
+
127
+ declare class NgnScrollerItem implements AfterViewInit {
128
+ private readonly _el;
129
+ readonly ngnScrollerItem: _angular_core.InputSignal<object>;
130
+ private readonly _scroller;
131
+ ngAfterViewInit(): void;
132
+ constructor();
133
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnScrollerItem, never>;
134
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgnScrollerItem, "[ngnScrollerItem]", never, { "ngnScrollerItem": { "alias": "ngnScrollerItem"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
135
+ }
136
+
137
+ export { NgnScroller, NgnScrollerItem };
@@ -0,0 +1,37 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import * as _ngneers_controls_api_ng from '@ngneers/controls/api/ng';
3
+ import * as _ngneers_controls_themes from '@ngneers/controls-themes';
4
+ import { ValueControlBase } from '@ngneers/controls/base';
5
+ import { maybeCallback } from '@ngneers/controls/utils';
6
+ import { NgnActionItemFlat, NgnItem } from '@ngneers/controls/api';
7
+
8
+ /**
9
+ * @category control
10
+ */
11
+ declare class NgnSelectButton<V> extends ValueControlBase<'selectButton', V> {
12
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"select-button", ["root", "button", "invalid"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>>;
13
+ /**
14
+ * Defines the orientation of the select buttons.
15
+ * - 'auto' - The orientation is determined based on the available space.
16
+ * - 'horizontal' - The buttons are arranged horizontally. (Default for `auto` if enough space)
17
+ * - 'vertical' - The buttons are arranged vertically.
18
+ * @default 'auto'
19
+ */
20
+ readonly orientation: _angular_core.InputSignal<"vertical" | "horizontal" | "auto">;
21
+ /**
22
+ * Defines the options for the select button.
23
+ */
24
+ readonly options: _angular_core.InputSignal<readonly NgnActionItemFlat<NgnItem<unknown, V>>[]>;
25
+ /**
26
+ * When `true`, allows unselecting the currently selected option by clicking on it again.
27
+ * If `false`, clicking on the selected option will not change the selection.
28
+ * @default false
29
+ */
30
+ readonly allowUnselect: _angular_core.InputSignal<boolean>;
31
+ protected readonly maybeCallback: typeof maybeCallback;
32
+ protected valueChange(value: V): void;
33
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnSelectButton<any>, never>;
34
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnSelectButton<any>, "ngn-select-button", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": true; "isSignal": true; }; "allowUnselect": { "alias": "allowUnselect"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
35
+ }
36
+
37
+ export { NgnSelectButton };
@@ -0,0 +1,314 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef, Signal } 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 { NgnItem, FilterConfig, FilterConfigInternal, FilterFn } from '@ngneers/controls/api';
7
+ import { PopoverOptions } from '@ngneers/controls/popover';
8
+ import { InputGeneric, maybeCallback } from '@ngneers/controls/utils';
9
+ import { ValueControlBase } from '@ngneers/controls/base';
10
+
11
+ /**
12
+ * This type determines the value type for the select control.
13
+ * * If `multiple` is true, the value is an array of items: `T[K][]`.
14
+ * * If `editable` is true, the value is a `string`.
15
+ * * If neither is true, the value is the item's value type `T[K]`.
16
+ */
17
+ type ValueType<V, Editable extends boolean, Multiple extends boolean> = InputGeneric<Multiple, false> extends true ? V[] : InputGeneric<Editable, false> extends true ? string : V;
18
+ declare abstract class SelectTemplates<V, Editable extends boolean, Multiple extends boolean> extends ValueControlBase<'select', ValueType<V, Editable, Multiple> | null> {
19
+ private readonly _defaultItemTemplate;
20
+ private readonly _userItemTemplate;
21
+ /**
22
+ * Set a custom template for an item of the select control.
23
+ * Can also be set using an `<ng-template>` element with `#item` template reference variable.
24
+ */
25
+ readonly templateItem: _angular_core.InputSignal<TemplateRef<{
26
+ $implicit: NgnItem<unknown, V> | undefined;
27
+ }> | null>;
28
+ protected readonly itemTemplate: _angular_core.Signal<TemplateRef<{
29
+ $implicit: NgnItem<unknown, V> | undefined;
30
+ }>>;
31
+ private readonly _defaultSelectedItemTemplate;
32
+ private readonly _userSelectedItemTemplate;
33
+ /**
34
+ * Set a custom template for the selected item of the select control.
35
+ * Can also be set using an `<ng-template>` element with `#selectedItem` template reference variable.
36
+ */
37
+ readonly templateSelectedItem: _angular_core.InputSignal<TemplateRef<{
38
+ $implicit: NgnItem<unknown, V> | undefined;
39
+ }> | null>;
40
+ protected readonly selectedItemTemplate: _angular_core.Signal<TemplateRef<{
41
+ $implicit: NgnItem<unknown, V> | undefined;
42
+ }>>;
43
+ private readonly _defaultSelectedItemsTemplate;
44
+ private readonly _userSelectedItemsTemplate;
45
+ /**
46
+ * Set a custom template for the selected items of the select control if {@link multiple} is `true`.
47
+ * Can also be set using an `<ng-template>` element with `#selectedItems` template reference variable.
48
+ */
49
+ readonly templateSelectedItems: _angular_core.InputSignal<TemplateRef<{
50
+ $implicit: NgnItem<unknown, V>[];
51
+ }> | null>;
52
+ protected readonly selectedItemsTemplate: _angular_core.Signal<TemplateRef<{
53
+ $implicit: NgnItem<unknown, V>[];
54
+ }>>;
55
+ private readonly _defaultGroupTemplate;
56
+ private readonly _userGroupTemplate;
57
+ /**
58
+ * Set a custom template for a group in the select control.
59
+ * Can also be set using an `<ng-template>` element with `#group` template reference variable.
60
+ */
61
+ readonly templateGroup: _angular_core.InputSignal<TemplateRef<{
62
+ $implicit: NgnItem<unknown, V> | undefined;
63
+ }> | null>;
64
+ protected readonly groupTemplate: _angular_core.Signal<TemplateRef<{
65
+ $implicit: NgnItem<unknown, V> | undefined;
66
+ }>>;
67
+ private readonly _userNoItemsTemplate;
68
+ /**
69
+ * Set a custom template for the no items state of the select control.
70
+ * Can also be set using an `<ng-template>` element with `#noItems` template reference variable.
71
+ */
72
+ readonly templateNoItems: _angular_core.InputSignal<TemplateRef<unknown> | null>;
73
+ protected readonly noItemsTemplate: _angular_core.Signal<TemplateRef<unknown> | null>;
74
+ /**
75
+ * Types for the dialog templates.
76
+ */
77
+ readonly templateTypes: {
78
+ item: {
79
+ $implicit: NgnItem<unknown, V> | undefined;
80
+ };
81
+ selectedItems: {
82
+ $implicit: NgnItem<unknown, V>[];
83
+ };
84
+ } & {
85
+ $implicit: {
86
+ item: Partial<{
87
+ $implicit: NgnItem<unknown, V> | undefined;
88
+ }>;
89
+ selectedItems: Partial<{
90
+ $implicit: NgnItem<unknown, V>[];
91
+ }>;
92
+ };
93
+ };
94
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectTemplates<any, any, any>, never>;
95
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectTemplates<any, any, any>, never, never, { "templateItem": { "alias": "templateItem"; "required": false; "isSignal": true; }; "templateSelectedItem": { "alias": "templateSelectedItem"; "required": false; "isSignal": true; }; "templateSelectedItems": { "alias": "templateSelectedItems"; "required": false; "isSignal": true; }; "templateGroup": { "alias": "templateGroup"; "required": false; "isSignal": true; }; "templateNoItems": { "alias": "templateNoItems"; "required": false; "isSignal": true; }; }, {}, ["_userItemTemplate", "_userSelectedItemTemplate", "_userSelectedItemsTemplate", "_userGroupTemplate", "_userNoItemsTemplate"], never, true, never>;
96
+ }
97
+
98
+ type _SelectFilterOptions = {
99
+ clearFilterOnClose?: boolean;
100
+ };
101
+ type SelectFilterOptions<T extends object> = _SelectFilterOptions & FilterConfig<T>;
102
+ type SelectFilterOptionsInternal<T extends object> = _SelectFilterOptions & FilterConfigInternal<T>;
103
+ type SelectFilterFn<T extends object> = FilterFn<NgnItem<T>>;
104
+
105
+ /**
106
+ * @category control
107
+ */
108
+ declare class NgnSelect<V, Editable extends boolean = false, Multiple extends boolean = false> extends SelectTemplates<V, Editable, Multiple> {
109
+ protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter", "filter-icon", "list-box", "list-box-empty"], readonly [_ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing", "anim-in", "anim-out"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>, _ngneers_controls_themes.ControlTemplate<"list-box", ["root", "empty", "invalid", "item", "group", "default-item", "default-group", "scroller", "item-selected", "item-highlighted"], readonly [_ngneers_controls_themes.ControlTemplate<"checkbox", ["root", "input", "box", "box-checked", "box-indeterminate", "box-icon", "anim-box-icon-enter", "anim-box-icon-leave", "invalid"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>, _ngneers_controls_themes.ControlTemplate<"scroller", ["root", "virtual", "item", "spacer", "item-sticky"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>]>, _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [_ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly _ngneers_controls_themes.ControlTemplate<string, string[], readonly any[]>[]>]>]>>;
110
+ protected readonly i18n: _ngneers_signal_translate.TranslationsSignal<{
111
+ calendar: {
112
+ today: string;
113
+ selectYear: string;
114
+ weekdays: {
115
+ monday: string;
116
+ tuesday: string;
117
+ wednesday: string;
118
+ thursday: string;
119
+ friday: string;
120
+ saturday: string;
121
+ sunday: string;
122
+ };
123
+ weekdaysShort: {
124
+ monday: string;
125
+ tuesday: string;
126
+ wednesday: string;
127
+ thursday: string;
128
+ friday: string;
129
+ saturday: string;
130
+ sunday: string;
131
+ };
132
+ months: {
133
+ january: string;
134
+ february: string;
135
+ march: string;
136
+ april: string;
137
+ may: string;
138
+ june: string;
139
+ july: string;
140
+ august: string;
141
+ september: string;
142
+ october: string;
143
+ november: string;
144
+ december: string;
145
+ };
146
+ };
147
+ editInplace: {
148
+ placeholder: string;
149
+ };
150
+ filter: {
151
+ noFilter: string;
152
+ addCondition: string;
153
+ removeCondition: string;
154
+ clear: string;
155
+ matchModeLabel: string;
156
+ match: {
157
+ all: string;
158
+ any: string;
159
+ };
160
+ selected: string;
161
+ conditions: string;
162
+ operators: {
163
+ isEqual: string;
164
+ isNotEqual: string;
165
+ contains: string;
166
+ startsWith: string;
167
+ endsWith: string;
168
+ in: string;
169
+ isEmpty: string;
170
+ isNotEmpty: string;
171
+ greaterThan: string;
172
+ greaterThanOrEqual: string;
173
+ lessThan: string;
174
+ lessThanOrEqual: string;
175
+ after: string;
176
+ onOrAfter: string;
177
+ before: string;
178
+ onOrBefore: string;
179
+ isTrue: string;
180
+ isFalse: string;
181
+ custom: string;
182
+ };
183
+ };
184
+ splitter: {
185
+ handleLabel: string;
186
+ };
187
+ inputField: {
188
+ clearInput: string;
189
+ };
190
+ drawer: {
191
+ close: string;
192
+ };
193
+ }, "_">;
194
+ private readonly _popover;
195
+ private readonly _customEditableInput;
196
+ private _customEditableSub?;
197
+ /**
198
+ * Options for the popover.
199
+ */
200
+ readonly popoverOptions: _angular_core.InputSignal<PopoverOptions>;
201
+ protected readonly appliedPopoverOptions: Signal<{
202
+ sizeConstraints: {
203
+ width: number;
204
+ maxWidth: number;
205
+ minHeight: string;
206
+ maxHeight: string;
207
+ };
208
+ } & PopoverOptions>;
209
+ /**
210
+ * The available options to choose from. They can either be
211
+ * * A list of {@link NgnItem} objects
212
+ * * A list of plain objects. You'll have to provide a {@link fields} input to specify how to map the plain objects to {@link NgnItem} objects.
213
+ */
214
+ readonly options: _angular_core.InputSignal<readonly NgnItem<unknown, V>[]>;
215
+ /**
216
+ * Accepts a boolean value that determines whether the filter is enabled.
217
+ * Alternatively, you can provide `SelectFilterOptions` to customize the filter behavior.
218
+ * @default `false`
219
+ */
220
+ readonly filter: _angular_core.InputSignal<boolean | SelectFilterOptions<NgnItem<unknown, V>>>;
221
+ /**
222
+ * Manually set the filter text.
223
+ */
224
+ readonly filterText: _angular_core.InputSignal<string | null>;
225
+ /**
226
+ * The icon to display in the filter input.
227
+ */
228
+ readonly filterIcon: _angular_core.InputSignal<string | undefined>;
229
+ /**
230
+ * The icon to display in the dropdown.
231
+ */
232
+ readonly dropdownIcon: _angular_core.InputSignal<string | undefined>;
233
+ /**
234
+ * Whether the select is virtualized.
235
+ * @default `false`
236
+ */
237
+ readonly virtual: _angular_core.InputSignalWithTransform<boolean, unknown>;
238
+ /**
239
+ * When {@link virtual} is enabled, this property defines the height of each item in the list.
240
+ */
241
+ readonly itemHeight: _angular_core.InputSignal<number | undefined>;
242
+ /**
243
+ * Enable this to allow the user to type in a value that is not in the list.
244
+ * When enabled, the value of the control becomes the label of a selected item or the typed value.
245
+ *
246
+ * Cannot be used with
247
+ * * {@link multiple} selection
248
+ * * {@link filter} without also setting {@link editableAutoFilter} to `false`
249
+ *
250
+ * @default `false`
251
+ */
252
+ readonly editable: _angular_core.InputSignal<Editable | undefined>;
253
+ /**
254
+ * Whether to automatically filter the options based on the user's input in the {@link editable} input.
255
+ * @default `true`
256
+ */
257
+ readonly editableAutoFilter: _angular_core.InputSignalWithTransform<boolean, unknown>;
258
+ /**
259
+ * Enable this to allow the user to select multiple values.
260
+ * When enabled, the value of the control becomes an array of selected items.
261
+ *
262
+ * This is only applicable when {@link editable} is `false`.
263
+ * @default `false`
264
+ */
265
+ readonly multiple: _angular_core.InputSignal<Multiple | undefined>;
266
+ /**
267
+ * Whether to scroll to the selected item when the dropdown is opened.
268
+ * @default `true`
269
+ */
270
+ readonly scrollToSelectedItemOnOpen: _angular_core.InputSignal<boolean | ScrollLogicalPosition>;
271
+ /**
272
+ * Tabindex for the select control.
273
+ * @default `0`
274
+ */
275
+ readonly tabindex: _angular_core.InputSignal<number>;
276
+ /**
277
+ * Whether to use a checkbox to indicate selection state.
278
+ *
279
+ * This option is true per default when {@link multiple} is `true`.
280
+ * @default multiple()
281
+ */
282
+ readonly checkbox: _angular_core.InputSignal<boolean | undefined>;
283
+ protected readonly maybeCallback: typeof maybeCallback;
284
+ private readonly _listbox;
285
+ private _userChangedEditableInput;
286
+ protected readonly filterTextInternal: _angular_core.WritableSignal<string | null>;
287
+ protected readonly currentHighlightedValue: _angular_core.WritableSignal<V | null>;
288
+ protected readonly valueStr: Signal<(ValueType<V, Editable, Multiple> & string) | null>;
289
+ protected readonly valueArray: Signal<(ValueType<V, Editable, Multiple> & any[]) | NonNullable<ValueType<V, Editable, Multiple>>[]>;
290
+ protected readonly appliedFilter: Signal<FilterConfig<NgnItem> | boolean>;
291
+ private readonly _flatOptions;
292
+ protected readonly selectedItems: Signal<(NgnItem<any, any> | undefined)[]>;
293
+ protected readonly selectedItemsValues: Signal<any[]>;
294
+ constructor();
295
+ protected onKeyDown(event: KeyboardEvent): void;
296
+ protected onPopoverClosed(): void;
297
+ protected onSelect(value: ValueType<V, false, Multiple> | null): void;
298
+ protected onItemClicked(): void;
299
+ /**
300
+ * Shows the select dropdown.
301
+ */
302
+ show(): void;
303
+ /**
304
+ * Hides the select dropdown.
305
+ */
306
+ hide(): void;
307
+ protected onEditableChange(value: string | null): void;
308
+ protected potentiallyBlurred(): void;
309
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnSelect<any, any, any>, never>;
310
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnSelect<any, any, any>, "ngn-select", never, { "popoverOptions": { "alias": "popoverOptions"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterText": { "alias": "filterText"; "required": false; "isSignal": true; }; "filterIcon": { "alias": "filterIcon"; "required": false; "isSignal": true; }; "dropdownIcon": { "alias": "dropdownIcon"; "required": false; "isSignal": true; }; "virtual": { "alias": "virtual"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "editableAutoFilter": { "alias": "editableAutoFilter"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "scrollToSelectedItemOnOpen": { "alias": "scrollToSelectedItemOnOpen"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "checkbox": { "alias": "checkbox"; "required": false; "isSignal": true; }; }, {}, ["_customEditableInput"], ["[ngnInput]"], true, never>;
311
+ }
312
+
313
+ export { NgnSelect };
314
+ export type { SelectFilterFn, SelectFilterOptions, SelectFilterOptionsInternal };