@neural-ui/core 1.7.1 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/bottom-sheet/package.json +4 -0
  2. package/confirm-popup/package.json +4 -0
  3. package/data-view/package.json +4 -0
  4. package/fesm2022/neural-ui-core-alert.mjs +48 -21
  5. package/fesm2022/neural-ui-core-alert.mjs.map +1 -1
  6. package/fesm2022/neural-ui-core-autocomplete.mjs +141 -68
  7. package/fesm2022/neural-ui-core-autocomplete.mjs.map +1 -1
  8. package/fesm2022/neural-ui-core-block-ui.mjs +2 -2
  9. package/fesm2022/neural-ui-core-block-ui.mjs.map +1 -1
  10. package/fesm2022/neural-ui-core-bottom-sheet.mjs +121 -0
  11. package/fesm2022/neural-ui-core-bottom-sheet.mjs.map +1 -0
  12. package/fesm2022/neural-ui-core-breadcrumb.mjs +2 -2
  13. package/fesm2022/neural-ui-core-breadcrumb.mjs.map +1 -1
  14. package/fesm2022/neural-ui-core-button.mjs +2 -2
  15. package/fesm2022/neural-ui-core-button.mjs.map +1 -1
  16. package/fesm2022/neural-ui-core-calendar.mjs +2 -2
  17. package/fesm2022/neural-ui-core-calendar.mjs.map +1 -1
  18. package/fesm2022/neural-ui-core-checkbox.mjs +69 -39
  19. package/fesm2022/neural-ui-core-checkbox.mjs.map +1 -1
  20. package/fesm2022/neural-ui-core-chip.mjs +2 -2
  21. package/fesm2022/neural-ui-core-chip.mjs.map +1 -1
  22. package/fesm2022/neural-ui-core-code-block.mjs +2 -2
  23. package/fesm2022/neural-ui-core-code-block.mjs.map +1 -1
  24. package/fesm2022/neural-ui-core-confirm-popup.mjs +105 -0
  25. package/fesm2022/neural-ui-core-confirm-popup.mjs.map +1 -0
  26. package/fesm2022/neural-ui-core-data-view.mjs +386 -0
  27. package/fesm2022/neural-ui-core-data-view.mjs.map +1 -0
  28. package/fesm2022/neural-ui-core-date-input.mjs +185 -10
  29. package/fesm2022/neural-ui-core-date-input.mjs.map +1 -1
  30. package/fesm2022/neural-ui-core-empty-state.mjs +19 -5
  31. package/fesm2022/neural-ui-core-empty-state.mjs.map +1 -1
  32. package/fesm2022/neural-ui-core-form-field.mjs +81 -0
  33. package/fesm2022/neural-ui-core-form-field.mjs.map +1 -0
  34. package/fesm2022/neural-ui-core-inline-editor.mjs +428 -0
  35. package/fesm2022/neural-ui-core-inline-editor.mjs.map +1 -0
  36. package/fesm2022/neural-ui-core-input-mask.mjs +110 -0
  37. package/fesm2022/neural-ui-core-input-mask.mjs.map +1 -0
  38. package/fesm2022/neural-ui-core-input.mjs +2 -2
  39. package/fesm2022/neural-ui-core-input.mjs.map +1 -1
  40. package/fesm2022/neural-ui-core-listbox.mjs +219 -0
  41. package/fesm2022/neural-ui-core-listbox.mjs.map +1 -0
  42. package/fesm2022/neural-ui-core-menu.mjs +229 -0
  43. package/fesm2022/neural-ui-core-menu.mjs.map +1 -0
  44. package/fesm2022/neural-ui-core-modal.mjs +34 -10
  45. package/fesm2022/neural-ui-core-modal.mjs.map +1 -1
  46. package/fesm2022/neural-ui-core-multiselect.mjs +159 -174
  47. package/fesm2022/neural-ui-core-multiselect.mjs.map +1 -1
  48. package/fesm2022/neural-ui-core-number-input.mjs +2 -2
  49. package/fesm2022/neural-ui-core-number-input.mjs.map +1 -1
  50. package/fesm2022/neural-ui-core-panel.mjs +92 -0
  51. package/fesm2022/neural-ui-core-panel.mjs.map +1 -0
  52. package/fesm2022/neural-ui-core-password.mjs +106 -0
  53. package/fesm2022/neural-ui-core-password.mjs.map +1 -0
  54. package/fesm2022/neural-ui-core-pick-list.mjs +133 -0
  55. package/fesm2022/neural-ui-core-pick-list.mjs.map +1 -0
  56. package/fesm2022/neural-ui-core-select.mjs +118 -162
  57. package/fesm2022/neural-ui-core-select.mjs.map +1 -1
  58. package/fesm2022/neural-ui-core-sidebar.mjs +14 -3
  59. package/fesm2022/neural-ui-core-sidebar.mjs.map +1 -1
  60. package/fesm2022/neural-ui-core-slider.mjs +2 -2
  61. package/fesm2022/neural-ui-core-slider.mjs.map +1 -1
  62. package/fesm2022/neural-ui-core-spinner.mjs +19 -9
  63. package/fesm2022/neural-ui-core-spinner.mjs.map +1 -1
  64. package/fesm2022/neural-ui-core-split-button.mjs +2 -2
  65. package/fesm2022/neural-ui-core-split-button.mjs.map +1 -1
  66. package/fesm2022/neural-ui-core-table.mjs +501 -62
  67. package/fesm2022/neural-ui-core-table.mjs.map +1 -1
  68. package/fesm2022/neural-ui-core-tags.mjs +134 -0
  69. package/fesm2022/neural-ui-core-tags.mjs.map +1 -0
  70. package/fesm2022/neural-ui-core-textarea.mjs +2 -2
  71. package/fesm2022/neural-ui-core-textarea.mjs.map +1 -1
  72. package/fesm2022/neural-ui-core-toggle-button-group.mjs +2 -2
  73. package/fesm2022/neural-ui-core-toggle-button-group.mjs.map +1 -1
  74. package/fesm2022/neural-ui-core-toolbar.mjs +16 -4
  75. package/fesm2022/neural-ui-core-toolbar.mjs.map +1 -1
  76. package/fesm2022/neural-ui-core-tree-select.mjs +259 -0
  77. package/fesm2022/neural-ui-core-tree-select.mjs.map +1 -0
  78. package/fesm2022/neural-ui-core-tree-table.mjs +267 -8
  79. package/fesm2022/neural-ui-core-tree-table.mjs.map +1 -1
  80. package/fesm2022/neural-ui-core-tree.mjs +15 -14
  81. package/fesm2022/neural-ui-core-tree.mjs.map +1 -1
  82. package/fesm2022/neural-ui-core-uploader.mjs +103 -12
  83. package/fesm2022/neural-ui-core-uploader.mjs.map +1 -1
  84. package/form-field/package.json +4 -0
  85. package/inline-editor/package.json +4 -0
  86. package/input-mask/package.json +4 -0
  87. package/listbox/package.json +4 -0
  88. package/menu/package.json +4 -0
  89. package/package.json +53 -1
  90. package/panel/package.json +4 -0
  91. package/password/package.json +4 -0
  92. package/pick-list/package.json +4 -0
  93. package/styles/_tokens.scss +30 -15
  94. package/tags/package.json +4 -0
  95. package/tree-select/package.json +4 -0
  96. package/types/neural-ui-core-alert.d.ts +2 -1
  97. package/types/neural-ui-core-autocomplete.d.ts +20 -2
  98. package/types/neural-ui-core-bottom-sheet.d.ts +20 -0
  99. package/types/neural-ui-core-checkbox.d.ts +6 -1
  100. package/types/neural-ui-core-confirm-popup.d.ts +38 -0
  101. package/types/neural-ui-core-data-view.d.ts +95 -0
  102. package/types/neural-ui-core-date-input.d.ts +35 -5
  103. package/types/neural-ui-core-empty-state.d.ts +11 -1
  104. package/types/neural-ui-core-form-field.d.ts +33 -0
  105. package/types/neural-ui-core-inline-editor.d.ts +66 -0
  106. package/types/neural-ui-core-input-mask.d.ts +26 -0
  107. package/types/neural-ui-core-listbox.d.ts +54 -0
  108. package/types/neural-ui-core-menu.d.ts +49 -0
  109. package/types/neural-ui-core-modal.d.ts +10 -2
  110. package/types/neural-ui-core-multiselect.d.ts +8 -1
  111. package/types/neural-ui-core-panel.d.ts +25 -0
  112. package/types/neural-ui-core-password.d.ts +29 -0
  113. package/types/neural-ui-core-pick-list.d.ts +40 -0
  114. package/types/neural-ui-core-select.d.ts +5 -1
  115. package/types/neural-ui-core-sidebar.d.ts +5 -1
  116. package/types/neural-ui-core-spinner.d.ts +4 -2
  117. package/types/neural-ui-core-table.d.ts +89 -5
  118. package/types/neural-ui-core-tags.d.ts +32 -0
  119. package/types/neural-ui-core-toolbar.d.ts +8 -2
  120. package/types/neural-ui-core-tree-select.d.ts +57 -0
  121. package/types/neural-ui-core-tree-table.d.ts +111 -4
  122. package/types/neural-ui-core-tree.d.ts +1 -1
  123. package/types/neural-ui-core-uploader.d.ts +26 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neural-ui/core",
3
- "version": "1.7.1",
3
+ "version": "1.7.2",
4
4
  "description": "Modern Angular UI component library built with signals, standalone components, and OnPush change detection.",
5
5
  "author": "PedroMorenoTrujillo",
6
6
  "keywords": [
@@ -82,6 +82,10 @@
82
82
  "types": "./types/neural-ui-core-block-ui.d.ts",
83
83
  "default": "./fesm2022/neural-ui-core-block-ui.mjs"
84
84
  },
85
+ "./bottom-sheet": {
86
+ "types": "./types/neural-ui-core-bottom-sheet.d.ts",
87
+ "default": "./fesm2022/neural-ui-core-bottom-sheet.mjs"
88
+ },
85
89
  "./breadcrumb": {
86
90
  "types": "./types/neural-ui-core-breadcrumb.d.ts",
87
91
  "default": "./fesm2022/neural-ui-core-breadcrumb.mjs"
@@ -126,6 +130,10 @@
126
130
  "types": "./types/neural-ui-core-confirm-dialog.d.ts",
127
131
  "default": "./fesm2022/neural-ui-core-confirm-dialog.mjs"
128
132
  },
133
+ "./confirm-popup": {
134
+ "types": "./types/neural-ui-core-confirm-popup.d.ts",
135
+ "default": "./fesm2022/neural-ui-core-confirm-popup.mjs"
136
+ },
129
137
  "./context-menu": {
130
138
  "types": "./types/neural-ui-core-context-menu.d.ts",
131
139
  "default": "./fesm2022/neural-ui-core-context-menu.mjs"
@@ -134,6 +142,10 @@
134
142
  "types": "./types/neural-ui-core-dashboard-grid.d.ts",
135
143
  "default": "./fesm2022/neural-ui-core-dashboard-grid.mjs"
136
144
  },
145
+ "./data-view": {
146
+ "types": "./types/neural-ui-core-data-view.d.ts",
147
+ "default": "./fesm2022/neural-ui-core-data-view.mjs"
148
+ },
137
149
  "./date-input": {
138
150
  "types": "./types/neural-ui-core-date-input.d.ts",
139
151
  "default": "./fesm2022/neural-ui-core-date-input.mjs"
@@ -150,6 +162,10 @@
150
162
  "types": "./types/neural-ui-core-filter-bar.d.ts",
151
163
  "default": "./fesm2022/neural-ui-core-filter-bar.mjs"
152
164
  },
165
+ "./form-field": {
166
+ "types": "./types/neural-ui-core-form-field.d.ts",
167
+ "default": "./fesm2022/neural-ui-core-form-field.mjs"
168
+ },
153
169
  "./icon": {
154
170
  "types": "./types/neural-ui-core-icon.d.ts",
155
171
  "default": "./fesm2022/neural-ui-core-icon.mjs"
@@ -162,10 +178,18 @@
162
178
  "types": "./types/neural-ui-core-image-viewer.d.ts",
163
179
  "default": "./fesm2022/neural-ui-core-image-viewer.mjs"
164
180
  },
181
+ "./inline-editor": {
182
+ "types": "./types/neural-ui-core-inline-editor.d.ts",
183
+ "default": "./fesm2022/neural-ui-core-inline-editor.mjs"
184
+ },
165
185
  "./input": {
166
186
  "types": "./types/neural-ui-core-input.d.ts",
167
187
  "default": "./fesm2022/neural-ui-core-input.mjs"
168
188
  },
189
+ "./input-mask": {
190
+ "types": "./types/neural-ui-core-input-mask.d.ts",
191
+ "default": "./fesm2022/neural-ui-core-input-mask.mjs"
192
+ },
169
193
  "./input-otp": {
170
194
  "types": "./types/neural-ui-core-input-otp.d.ts",
171
195
  "default": "./fesm2022/neural-ui-core-input-otp.mjs"
@@ -178,6 +202,14 @@
178
202
  "types": "./types/neural-ui-core-knob.d.ts",
179
203
  "default": "./fesm2022/neural-ui-core-knob.mjs"
180
204
  },
205
+ "./listbox": {
206
+ "types": "./types/neural-ui-core-listbox.d.ts",
207
+ "default": "./fesm2022/neural-ui-core-listbox.mjs"
208
+ },
209
+ "./menu": {
210
+ "types": "./types/neural-ui-core-menu.d.ts",
211
+ "default": "./fesm2022/neural-ui-core-menu.mjs"
212
+ },
181
213
  "./meter-group": {
182
214
  "types": "./types/neural-ui-core-meter-group.d.ts",
183
215
  "default": "./fesm2022/neural-ui-core-meter-group.mjs"
@@ -206,6 +238,18 @@
206
238
  "types": "./types/neural-ui-core-pagination.d.ts",
207
239
  "default": "./fesm2022/neural-ui-core-pagination.mjs"
208
240
  },
241
+ "./panel": {
242
+ "types": "./types/neural-ui-core-panel.d.ts",
243
+ "default": "./fesm2022/neural-ui-core-panel.mjs"
244
+ },
245
+ "./password": {
246
+ "types": "./types/neural-ui-core-password.d.ts",
247
+ "default": "./fesm2022/neural-ui-core-password.mjs"
248
+ },
249
+ "./pick-list": {
250
+ "types": "./types/neural-ui-core-pick-list.d.ts",
251
+ "default": "./fesm2022/neural-ui-core-pick-list.mjs"
252
+ },
209
253
  "./popover": {
210
254
  "types": "./types/neural-ui-core-popover.d.ts",
211
255
  "default": "./fesm2022/neural-ui-core-popover.mjs"
@@ -278,6 +322,10 @@
278
322
  "types": "./types/neural-ui-core-tabs.d.ts",
279
323
  "default": "./fesm2022/neural-ui-core-tabs.mjs"
280
324
  },
325
+ "./tags": {
326
+ "types": "./types/neural-ui-core-tags.d.ts",
327
+ "default": "./fesm2022/neural-ui-core-tags.mjs"
328
+ },
281
329
  "./textarea": {
282
330
  "types": "./types/neural-ui-core-textarea.d.ts",
283
331
  "default": "./fesm2022/neural-ui-core-textarea.mjs"
@@ -310,6 +358,10 @@
310
358
  "types": "./types/neural-ui-core-tree.d.ts",
311
359
  "default": "./fesm2022/neural-ui-core-tree.mjs"
312
360
  },
361
+ "./tree-select": {
362
+ "types": "./types/neural-ui-core-tree-select.d.ts",
363
+ "default": "./fesm2022/neural-ui-core-tree-select.mjs"
364
+ },
313
365
  "./tree-table": {
314
366
  "types": "./types/neural-ui-core-tree-table.d.ts",
315
367
  "default": "./fesm2022/neural-ui-core-tree-table.mjs"
@@ -0,0 +1,4 @@
1
+ {
2
+ "module": "../fesm2022/neural-ui-core-panel.mjs",
3
+ "typings": "../types/neural-ui-core-panel.d.ts"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "module": "../fesm2022/neural-ui-core-password.mjs",
3
+ "typings": "../types/neural-ui-core-password.d.ts"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "module": "../fesm2022/neural-ui-core-pick-list.mjs",
3
+ "typings": "../types/neural-ui-core-pick-list.d.ts"
4
+ }
@@ -28,8 +28,14 @@
28
28
  // ------------------------------------------------
29
29
  --neu-bg: #f8fafc; // Slate-50 — fondo base
30
30
  --neu-surface: #ffffff; // Blanco puro — tarjetas
31
+ --neu-surface-1: var(--neu-surface); // Alias compatible para superficies base
31
32
  --neu-surface-2: #f1f5f9; // Slate-100 — fondos secundarios
32
33
  --neu-surface-3: #e2e8f0; // Slate-200 — hover, separadores
34
+ --neu-surface-raised: var(--neu-surface);
35
+ --neu-surface-hover: var(--neu-surface-2);
36
+ --neu-surface-muted: var(--neu-surface-2);
37
+ --neu-surface-inverse: #020617;
38
+ --neu-surface-rgb: 255, 255, 255;
33
39
 
34
40
  // ------------------------------------------------
35
41
  // Bordes
@@ -192,9 +198,12 @@
192
198
  --neu-alert-warning-text: var(--neu-warning-text);
193
199
  --neu-alert-warning-border: rgba(245, 158, 11, 0.2);
194
200
 
195
- --neu-alert-danger-bg: var(--neu-error-bg);
196
- --neu-alert-danger-text: var(--neu-error-text);
197
- --neu-alert-danger-border: rgba(239, 68, 68, 0.2);
201
+ --neu-alert-error-bg: var(--neu-error-bg);
202
+ --neu-alert-error-text: var(--neu-error-text);
203
+ --neu-alert-error-border: rgba(239, 68, 68, 0.2);
204
+ --neu-alert-danger-bg: var(--neu-alert-error-bg);
205
+ --neu-alert-danger-text: var(--neu-alert-error-text);
206
+ --neu-alert-danger-border: var(--neu-alert-error-border);
198
207
 
199
208
  // ------------------------------------------------
200
209
  // Popover (v1.3.0)
@@ -307,15 +316,16 @@
307
316
  // ------------------------------------------------
308
317
  --neu-code-block-bg: #1a1b26;
309
318
  --neu-code-block-bar-bg: #16161e;
310
- --neu-code-block-border: rgba(255, 255, 255, 0.06);
311
- --neu-code-block-text: #cdd6f4;
312
- --neu-code-block-accent: #7aa2f7;
319
+ --neu-code-block-border: rgba(255, 255, 255, 0.14);
320
+ --neu-code-block-text: #d9e2ff;
321
+ --neu-code-block-accent: #9ab8ff;
313
322
  --neu-code-block-muted: #565f89;
314
- --neu-code-block-copy-text: #a9b1d6;
315
- --neu-code-block-copy-hover-text: #c0caf5;
316
- --neu-code-block-copy-border: rgba(255, 255, 255, 0.1);
317
- --neu-code-block-copy-hover-bg: rgba(255, 255, 255, 0.1);
318
- --neu-code-block-copy-hover-border: rgba(255, 255, 255, 0.2);
323
+ --neu-code-block-copy-bg: rgba(255, 255, 255, 0.12);
324
+ --neu-code-block-copy-text: #d9e2ff;
325
+ --neu-code-block-copy-hover-text: #ffffff;
326
+ --neu-code-block-copy-border: rgba(255, 255, 255, 0.22);
327
+ --neu-code-block-copy-hover-bg: rgba(255, 255, 255, 0.18);
328
+ --neu-code-block-copy-hover-border: rgba(255, 255, 255, 0.34);
319
329
  }
320
330
 
321
331
  // ============================================================
@@ -337,6 +347,8 @@
337
347
  --neu-surface: #161b22; // Tarjetas, paneles
338
348
  --neu-surface-2: #21262d; // Hover, fondos secundarios
339
349
  --neu-surface-3: #30363d; // Separadores, track de switch
350
+ --neu-surface-inverse: #e6edf3;
351
+ --neu-surface-rgb: 22, 27, 34;
340
352
 
341
353
  // ---- Bordes / Borders ----
342
354
  --neu-border: rgba(255, 255, 255, 0.08);
@@ -345,7 +357,7 @@
345
357
  // ---- Texto / Text ----
346
358
  --neu-text: #e6edf3; // Casi blanco — texto principal
347
359
  --neu-text-muted: #8b949e; // Slate-400 equivalent — subtítulos
348
- --neu-text-disabled: #484f58; // Elementos deshabilitados
360
+ --neu-text-disabled: #8b949e; // Elementos deshabilitados; conserva contraste sobre surface-2
349
361
  --neu-knob-display-color: #f8fafc;
350
362
  --neu-knob-label-color: #8b949e;
351
363
 
@@ -391,9 +403,12 @@
391
403
  --neu-alert-warning-text: #fcd34d;
392
404
  --neu-alert-warning-border: rgba(245, 158, 11, 0.3);
393
405
 
394
- --neu-alert-danger-bg: rgba(239, 68, 68, 0.15);
395
- --neu-alert-danger-text: #fca5a5;
396
- --neu-alert-danger-border: rgba(239, 68, 68, 0.3);
406
+ --neu-alert-error-bg: rgba(239, 68, 68, 0.15);
407
+ --neu-alert-error-text: #fca5a5;
408
+ --neu-alert-error-border: rgba(239, 68, 68, 0.3);
409
+ --neu-alert-danger-bg: var(--neu-alert-error-bg);
410
+ --neu-alert-danger-text: var(--neu-alert-error-text);
411
+ --neu-alert-danger-border: var(--neu-alert-error-border);
397
412
 
398
413
  // ---- Block UI dark override (v1.3.0) ----
399
414
  --neu-block-ui-bg: rgba(13, 17, 23, 0.7);
@@ -0,0 +1,4 @@
1
+ {
2
+ "module": "../fesm2022/neural-ui-core-tags.mjs",
3
+ "typings": "../types/neural-ui-core-tags.d.ts"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "module": "../fesm2022/neural-ui-core-tree-select.mjs",
3
+ "typings": "../types/neural-ui-core-tree-select.d.ts"
4
+ }
@@ -28,8 +28,9 @@ declare class NeuAlertComponent {
28
28
  readonly closed: _angular_core.OutputEmitterRef<void>;
29
29
  readonly _id: string;
30
30
  readonly _dismissed: _angular_core.WritableSignal<boolean>;
31
- readonly _resolvedIcon: _angular_core.Signal<string>;
31
+ readonly _defaultIconName: _angular_core.Signal<string>;
32
32
  readonly liveRegion: _angular_core.Signal<"assertive" | "polite">;
33
+ readonly alertRole: _angular_core.Signal<"alert" | "status">;
33
34
  readonly hostClasses: _angular_core.Signal<{
34
35
  [x: string]: boolean;
35
36
  'neu-alert': boolean;
@@ -1,6 +1,7 @@
1
1
  import * as _angular_cdk_overlay from '@angular/cdk/overlay';
2
2
  import { ConnectedPosition } from '@angular/cdk/overlay';
3
3
  import * as _angular_core from '@angular/core';
4
+ import { TemplateRef } from '@angular/core';
4
5
  import { ControlValueAccessor } from '@angular/forms';
5
6
 
6
7
  interface NeuAutocompleteOption {
@@ -11,6 +12,16 @@ interface NeuAutocompleteOption {
11
12
  /** Desactiva la opción / Disables the option */
12
13
  disabled?: boolean;
13
14
  }
15
+ declare class NeuAutocompleteItemDirective {
16
+ readonly templateRef: TemplateRef<{
17
+ $implicit: NeuAutocompleteOption;
18
+ }>;
19
+ constructor(templateRef: TemplateRef<{
20
+ $implicit: NeuAutocompleteOption;
21
+ }>);
22
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuAutocompleteItemDirective, never>;
23
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NeuAutocompleteItemDirective, "ng-template[neuAutocompleteItem]", never, {}, {}, never, never, true, never>;
24
+ }
14
25
  /**
15
26
  * NeuralUI Autocomplete
16
27
  *
@@ -33,6 +44,11 @@ declare class NeuAutocompleteComponent implements ControlValueAccessor {
33
44
  readonly errorMessage: _angular_core.InputSignal<string>;
34
45
  readonly emptyLabel: _angular_core.InputSignal<string>;
35
46
  readonly minLength: _angular_core.InputSignal<number>;
47
+ readonly loading: _angular_core.InputSignal<boolean>;
48
+ readonly loadingLabel: _angular_core.InputSignal<string>;
49
+ readonly dropdown: _angular_core.InputSignal<boolean>;
50
+ readonly dropdownAriaLabel: _angular_core.InputSignal<string>;
51
+ readonly forceSelection: _angular_core.InputSignal<boolean>;
36
52
  /** Muestra el label como flotante (true) o estático encima del campo (false) / Shows the label as floating (true) or static above the field (false) */
37
53
  readonly floatingLabel: _angular_core.InputSignal<boolean>;
38
54
  /** Tamaño del campo: 'sm' = 36px | 'md' = 48px | 'lg' = 56px / Field size */
@@ -45,6 +61,7 @@ declare class NeuAutocompleteComponent implements ControlValueAccessor {
45
61
  readonly optionSelected: _angular_core.OutputEmitterRef<NeuAutocompleteOption>;
46
62
  /** Emitido al cambiar el texto del input / Emitted on query change */
47
63
  readonly queryChange: _angular_core.OutputEmitterRef<string>;
64
+ readonly itemTpl: _angular_core.Signal<NeuAutocompleteItemDirective | undefined>;
48
65
  readonly _id: string;
49
66
  readonly _listId: string;
50
67
  readonly _query: _angular_core.WritableSignal<string>;
@@ -76,6 +93,7 @@ declare class NeuAutocompleteComponent implements ControlValueAccessor {
76
93
  onQueryChange(q: string): void;
77
94
  _onFocus(): void;
78
95
  _onBlur(): void;
96
+ openAll(): void;
79
97
  onKeyDown(e: KeyboardEvent): void;
80
98
  private _moveActiveIndex;
81
99
  selectOption(opt: NeuAutocompleteOption): void;
@@ -88,8 +106,8 @@ declare class NeuAutocompleteComponent implements ControlValueAccessor {
88
106
  registerOnTouched(fn: () => void): void;
89
107
  setDisabledState(d: boolean): void;
90
108
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuAutocompleteComponent, never>;
91
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuAutocompleteComponent, "neu-autocomplete", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "emptyLabel": { "alias": "emptyLabel"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "floatingLabel": { "alias": "floatingLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "virtualScrollVisibleItems": { "alias": "virtualScrollVisibleItems"; "required": false; "isSignal": true; }; }, { "optionSelected": "optionSelected"; "queryChange": "queryChange"; }, never, never, true, never>;
109
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuAutocompleteComponent, "neu-autocomplete", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "emptyLabel": { "alias": "emptyLabel"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "dropdown": { "alias": "dropdown"; "required": false; "isSignal": true; }; "dropdownAriaLabel": { "alias": "dropdownAriaLabel"; "required": false; "isSignal": true; }; "forceSelection": { "alias": "forceSelection"; "required": false; "isSignal": true; }; "floatingLabel": { "alias": "floatingLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "virtualScrollVisibleItems": { "alias": "virtualScrollVisibleItems"; "required": false; "isSignal": true; }; }, { "optionSelected": "optionSelected"; "queryChange": "queryChange"; }, ["itemTpl"], never, true, never>;
92
110
  }
93
111
 
94
- export { NeuAutocompleteComponent };
112
+ export { NeuAutocompleteComponent, NeuAutocompleteItemDirective };
95
113
  export type { NeuAutocompleteOption };
@@ -0,0 +1,20 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ type NeuBottomSheetSize = 'sm' | 'md' | 'lg' | 'full';
4
+ declare class NeuBottomSheetComponent {
5
+ readonly open: _angular_core.InputSignal<boolean>;
6
+ readonly title: _angular_core.InputSignal<string>;
7
+ readonly ariaLabel: _angular_core.InputSignal<string>;
8
+ readonly closeLabel: _angular_core.InputSignal<string>;
9
+ readonly backdrop: _angular_core.InputSignal<boolean>;
10
+ readonly disableClose: _angular_core.InputSignal<boolean>;
11
+ readonly size: _angular_core.InputSignal<NeuBottomSheetSize>;
12
+ readonly closed: _angular_core.OutputEmitterRef<void>;
13
+ requestClose(): void;
14
+ onEscape(): void;
15
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuBottomSheetComponent, never>;
16
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuBottomSheetComponent, "neu-bottom-sheet", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; "backdrop": { "alias": "backdrop"; "required": false; "isSignal": true; }; "disableClose": { "alias": "disableClose"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, ["*"], true, never>;
17
+ }
18
+
19
+ export { NeuBottomSheetComponent };
20
+ export type { NeuBottomSheetSize };
@@ -13,11 +13,16 @@ declare class NeuCheckboxComponent implements ControlValueAccessor {
13
13
  readonly label: _angular_core.InputSignal<string>;
14
14
  readonly name: _angular_core.InputSignal<string>;
15
15
  readonly disabled: _angular_core.InputSignal<boolean>;
16
+ readonly checked: _angular_core.InputSignal<boolean | undefined>;
17
+ readonly indeterminate: _angular_core.InputSignal<boolean>;
18
+ readonly ariaLabel: _angular_core.InputSignal<string>;
19
+ readonly checkedChange: _angular_core.OutputEmitterRef<boolean>;
16
20
  readonly _id: string;
17
21
  protected readonly _checked: _angular_core.WritableSignal<boolean>;
18
22
  /** Estado disabled interno — combina el input `disabled` con el CVA setDisabledState / Internal disabled state — combines the `disabled` input with CVA setDisabledState */
19
23
  private readonly _cvaDisabled;
20
24
  protected readonly _isDisabled: _angular_core.Signal<boolean>;
25
+ protected readonly _resolvedChecked: _angular_core.Signal<boolean>;
21
26
  private _onChange;
22
27
  private _onTouched;
23
28
  onChange(event: Event): void;
@@ -27,7 +32,7 @@ declare class NeuCheckboxComponent implements ControlValueAccessor {
27
32
  registerOnTouched(fn: () => void): void;
28
33
  setDisabledState(isDisabled: boolean): void;
29
34
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuCheckboxComponent, never>;
30
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuCheckboxComponent, "neu-checkbox", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
35
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuCheckboxComponent, "neu-checkbox", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "checkedChange": "checkedChange"; }, never, never, true, never>;
31
36
  }
32
37
 
33
38
  export { NeuCheckboxComponent };
@@ -0,0 +1,38 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ interface NeuConfirmPopupOptions {
4
+ title?: string;
5
+ message: string;
6
+ acceptLabel?: string;
7
+ rejectLabel?: string;
8
+ }
9
+ declare class NeuConfirmPopupService {
10
+ readonly state: _angular_core.WritableSignal<NeuConfirmPopupOptions | null>;
11
+ private resolver;
12
+ confirm(options: NeuConfirmPopupOptions): Promise<boolean>;
13
+ close(value: boolean): void;
14
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuConfirmPopupService, never>;
15
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<NeuConfirmPopupService>;
16
+ }
17
+ declare class NeuConfirmPopupComponent {
18
+ readonly service: NeuConfirmPopupService;
19
+ readonly open: _angular_core.InputSignal<boolean>;
20
+ readonly title: _angular_core.InputSignal<string>;
21
+ readonly message: _angular_core.InputSignal<string>;
22
+ readonly acceptLabel: _angular_core.InputSignal<string>;
23
+ readonly rejectLabel: _angular_core.InputSignal<string>;
24
+ readonly accepted: _angular_core.OutputEmitterRef<void>;
25
+ readonly rejected: _angular_core.OutputEmitterRef<void>;
26
+ constructor(service: NeuConfirmPopupService);
27
+ currentTitle(): string;
28
+ currentMessage(): string;
29
+ currentAcceptLabel(): string;
30
+ currentRejectLabel(): string;
31
+ accept(): void;
32
+ reject(): void;
33
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuConfirmPopupComponent, never>;
34
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuConfirmPopupComponent, "neu-confirm-popup", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "acceptLabel": { "alias": "acceptLabel"; "required": false; "isSignal": true; }; "rejectLabel": { "alias": "rejectLabel"; "required": false; "isSignal": true; }; }, { "accepted": "accepted"; "rejected": "rejected"; }, never, never, true, never>;
35
+ }
36
+
37
+ export { NeuConfirmPopupComponent, NeuConfirmPopupService };
38
+ export type { NeuConfirmPopupOptions };
@@ -0,0 +1,95 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+ import { FormControl } from '@angular/forms';
4
+ import { NeuSelectOption } from '@neural-ui/core/select';
5
+
6
+ type NeuDataViewMode = 'list' | 'grid' | 'table';
7
+ type NeuDataViewSortDirection = 'asc' | 'desc';
8
+ interface NeuDataViewSortOption {
9
+ label: string;
10
+ value: string;
11
+ direction?: NeuDataViewSortDirection;
12
+ }
13
+ interface NeuDataViewPageEvent {
14
+ page: number;
15
+ pageSize: number;
16
+ }
17
+ declare class NeuDataViewItemDirective {
18
+ readonly templateRef: TemplateRef<{
19
+ $implicit: unknown;
20
+ index: number;
21
+ }>;
22
+ constructor(templateRef: TemplateRef<{
23
+ $implicit: unknown;
24
+ index: number;
25
+ }>);
26
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuDataViewItemDirective, never>;
27
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NeuDataViewItemDirective, "ng-template[neuDataViewItem]", never, {}, {}, never, never, true, never>;
28
+ }
29
+ declare class NeuDataViewHeaderDirective {
30
+ readonly templateRef: TemplateRef<void>;
31
+ constructor(templateRef: TemplateRef<void>);
32
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuDataViewHeaderDirective, never>;
33
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NeuDataViewHeaderDirective, "ng-template[neuDataViewHeader]", never, {}, {}, never, never, true, never>;
34
+ }
35
+ declare class NeuDataViewFooterDirective {
36
+ readonly templateRef: TemplateRef<void>;
37
+ constructor(templateRef: TemplateRef<void>);
38
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuDataViewFooterDirective, never>;
39
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NeuDataViewFooterDirective, "ng-template[neuDataViewFooter]", never, {}, {}, never, never, true, never>;
40
+ }
41
+ declare class NeuDataViewComponent {
42
+ private readonly _destroyRef;
43
+ readonly items: _angular_core.InputSignal<unknown[]>;
44
+ readonly mode: _angular_core.InputSignal<NeuDataViewMode>;
45
+ readonly modes: _angular_core.InputSignal<NeuDataViewMode[]>;
46
+ readonly viewSwitcher: _angular_core.InputSignal<boolean>;
47
+ readonly viewAriaLabel: _angular_core.InputSignal<string>;
48
+ readonly searchable: _angular_core.InputSignal<boolean>;
49
+ readonly searchFields: _angular_core.InputSignal<string[]>;
50
+ readonly searchPlaceholder: _angular_core.InputSignal<string>;
51
+ readonly searchAriaLabel: _angular_core.InputSignal<string>;
52
+ readonly sortOptions: _angular_core.InputSignal<NeuDataViewSortOption[]>;
53
+ readonly sortAriaLabel: _angular_core.InputSignal<string>;
54
+ readonly pagination: _angular_core.InputSignal<boolean>;
55
+ readonly pageSize: _angular_core.InputSignal<number>;
56
+ readonly emptyLabel: _angular_core.InputSignal<string>;
57
+ readonly loading: _angular_core.InputSignal<boolean>;
58
+ readonly loadingLabel: _angular_core.InputSignal<string>;
59
+ readonly previousLabel: _angular_core.InputSignal<string>;
60
+ readonly nextLabel: _angular_core.InputSignal<string>;
61
+ readonly paginationAriaLabel: _angular_core.InputSignal<string>;
62
+ readonly trackBy: _angular_core.InputSignal<(index: number, item: unknown) => unknown>;
63
+ readonly modeChange: _angular_core.OutputEmitterRef<NeuDataViewMode>;
64
+ readonly searchChange: _angular_core.OutputEmitterRef<string>;
65
+ readonly sortChange: _angular_core.OutputEmitterRef<string>;
66
+ readonly pageChange: _angular_core.OutputEmitterRef<NeuDataViewPageEvent>;
67
+ readonly itemTpl: _angular_core.Signal<NeuDataViewItemDirective | undefined>;
68
+ readonly headerTpl: _angular_core.Signal<NeuDataViewHeaderDirective | undefined>;
69
+ readonly footerTpl: _angular_core.Signal<NeuDataViewFooterDirective | undefined>;
70
+ readonly query: _angular_core.WritableSignal<string>;
71
+ readonly page: _angular_core.WritableSignal<number>;
72
+ readonly sortKey: _angular_core.WritableSignal<string>;
73
+ readonly _sortControl: FormControl<string | null>;
74
+ readonly _selectSortOptions: _angular_core.Signal<NeuSelectOption[]>;
75
+ readonly showToolbar: _angular_core.Signal<boolean>;
76
+ readonly filteredItems: _angular_core.Signal<unknown[]>;
77
+ readonly pageCount: _angular_core.Signal<number>;
78
+ readonly pagedItems: _angular_core.Signal<unknown[]>;
79
+ constructor();
80
+ setMode(mode: NeuDataViewMode): void;
81
+ setQuery(value: string): void;
82
+ setSort(value: string): void;
83
+ previousPage(): void;
84
+ nextPage(): void;
85
+ trackItem(index: number, item: unknown): unknown;
86
+ displayItem(item: unknown): string;
87
+ private setPage;
88
+ private searchableText;
89
+ private valueFor;
90
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuDataViewComponent, never>;
91
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuDataViewComponent, "neu-data-view", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "modes": { "alias": "modes"; "required": false; "isSignal": true; }; "viewSwitcher": { "alias": "viewSwitcher"; "required": false; "isSignal": true; }; "viewAriaLabel": { "alias": "viewAriaLabel"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchFields": { "alias": "searchFields"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "searchAriaLabel": { "alias": "searchAriaLabel"; "required": false; "isSignal": true; }; "sortOptions": { "alias": "sortOptions"; "required": false; "isSignal": true; }; "sortAriaLabel": { "alias": "sortAriaLabel"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "emptyLabel": { "alias": "emptyLabel"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "previousLabel": { "alias": "previousLabel"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "paginationAriaLabel": { "alias": "paginationAriaLabel"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; }, { "modeChange": "modeChange"; "searchChange": "searchChange"; "sortChange": "sortChange"; "pageChange": "pageChange"; }, ["itemTpl", "headerTpl", "footerTpl"], never, true, never>;
92
+ }
93
+
94
+ export { NeuDataViewComponent, NeuDataViewFooterDirective, NeuDataViewHeaderDirective, NeuDataViewItemDirective };
95
+ export type { NeuDataViewMode, NeuDataViewPageEvent, NeuDataViewSortDirection, NeuDataViewSortOption };
@@ -9,11 +9,16 @@ interface NeuDateRange {
9
9
  start: Date | null;
10
10
  end: Date | null;
11
11
  }
12
+ interface NeuDatePreset {
13
+ label: string;
14
+ range: NeuDateRange | (() => NeuDateRange);
15
+ }
12
16
  interface CalendarDay {
13
17
  date: Date;
14
18
  inMonth: boolean;
15
19
  isToday: boolean;
16
20
  isSelected: boolean;
21
+ disabled: boolean;
17
22
  }
18
23
  interface DrumSlot {
19
24
  value: number;
@@ -31,6 +36,7 @@ interface RangeCell {
31
36
  rangeEnd: boolean;
32
37
  inRange: boolean;
33
38
  label: string;
39
+ disabled: boolean;
34
40
  }
35
41
  /**
36
42
  * NeuralUI DateInput — campo de fecha/hora unificado con modo rango.
@@ -75,12 +81,22 @@ declare class NeuDateInputComponent implements ControlValueAccessor, OnDestroy {
75
81
  step: _angular_core.InputSignal<number | null>;
76
82
  /** Locale explícito opcional / Optional explicit locale */
77
83
  locale: _angular_core.InputSignal<string | null>;
78
- /** Placeholder del trigger de rango / Range trigger placeholder */
84
+ /** Fechas deshabilitadas / Disabled dates */
85
+ disabledDates: _angular_core.InputSignal<(string | Date)[] | ((date: Date) => boolean)>;
86
+ /** Permite seleccionar varias fechas en type="date" / Multiple date selection for type="date" */
87
+ multiple: _angular_core.InputSignal<boolean>;
88
+ /** Muestra selectores de mes/año en el calendario / Shows month/year picker controls */
89
+ showMonthYearPicker: _angular_core.InputSignal<boolean>;
90
+ /** Rango de años para el selector / Year picker range */
91
+ yearRange: _angular_core.InputSignal<number>;
92
+ /** Placeholder del trigger / Trigger placeholder */
79
93
  placeholder: _angular_core.InputSignal<string>;
80
94
  /** Formato de fecha en modo rango / Date display format in range mode */
81
95
  dateFormat: _angular_core.InputSignal<"short" | "medium" | "long" | "full" | "numeric">;
82
96
  /** Etiqueta flotante / Floating label */
83
97
  floatingLabel: _angular_core.InputSignal<boolean>;
98
+ /** Presets rápidos para rangos / Quick range presets */
99
+ presets: _angular_core.InputSignal<NeuDatePreset[]>;
84
100
  /** Emitido al confirmar el rango / Emitted when range is confirmed */
85
101
  readonly rangeChange: _angular_core.OutputEmitterRef<NeuDateRange>;
86
102
  protected readonly _id: string;
@@ -103,6 +119,7 @@ declare class NeuDateInputComponent implements ControlValueAccessor, OnDestroy {
103
119
  protected readonly _selDay: _angular_core.WritableSignal<number | null>;
104
120
  protected readonly _selHour: _angular_core.WritableSignal<number>;
105
121
  protected readonly _selMinute: _angular_core.WritableSignal<number>;
122
+ protected readonly _selectedDates: _angular_core.WritableSignal<string[]>;
106
123
  private readonly _today;
107
124
  private readonly _documentLang;
108
125
  private readonly _pickStart;
@@ -130,6 +147,8 @@ declare class NeuDateInputComponent implements ControlValueAccessor, OnDestroy {
130
147
  timePlaceholder: string;
131
148
  datePlaceholder: string;
132
149
  dateTimePlaceholder: string;
150
+ chooseMonth: string;
151
+ chooseYear: string;
133
152
  }>;
134
153
  readonly _weekDayLabels: _angular_core.Signal<string[]>;
135
154
  readonly _leftTitle: _angular_core.Signal<string>;
@@ -151,11 +170,17 @@ declare class NeuDateInputComponent implements ControlValueAccessor, OnDestroy {
151
170
  _selectDay(date: Date): void;
152
171
  _hoverDay(date: Date): void;
153
172
  _applyRange(): void;
173
+ _applyPreset(preset: NeuDatePreset): void;
154
174
  _clearRange(): void;
155
175
  readonly displayValue: _angular_core.Signal<string>;
156
176
  readonly placeholderText: _angular_core.Signal<string>;
157
177
  readonly monthLabel: _angular_core.Signal<string>;
158
178
  readonly weekdays: _angular_core.Signal<string[]>;
179
+ readonly monthOptions: _angular_core.Signal<{
180
+ value: number;
181
+ label: string;
182
+ }[]>;
183
+ readonly yearOptions: _angular_core.Signal<number[]>;
159
184
  readonly calendarDays: _angular_core.Signal<CalendarDay[]>;
160
185
  readonly hourSlots: _angular_core.Signal<DrumSlot[]>;
161
186
  readonly minuteSlots: _angular_core.Signal<DrumSlot[]>;
@@ -166,6 +191,8 @@ declare class NeuDateInputComponent implements ControlValueAccessor, OnDestroy {
166
191
  prevMonth(): void;
167
192
  nextMonth(): void;
168
193
  selectDay(day: CalendarDay): void;
194
+ setViewMonth(value: string | number): void;
195
+ setViewYear(value: string | number): void;
169
196
  formatDayLabel(date: Date): string;
170
197
  today(): void;
171
198
  clear(): void;
@@ -174,13 +201,16 @@ declare class NeuDateInputComponent implements ControlValueAccessor, OnDestroy {
174
201
  onHourWheel(e: WheelEvent): void;
175
202
  onMinuteWheel(e: WheelEvent): void;
176
203
  private _emitValue;
177
- writeValue(value: string | NeuDateRange | null): void;
178
- registerOnChange(fn: (v: string | NeuDateRange) => void): void;
204
+ isDateSelected(date: Date): boolean;
205
+ isDateDisabled(date: Date): boolean;
206
+ private _toDateValue;
207
+ writeValue(value: string | string[] | NeuDateRange | null): void;
208
+ registerOnChange(fn: (v: string | string[] | NeuDateRange) => void): void;
179
209
  registerOnTouched(fn: () => void): void;
180
210
  setDisabledState(isDisabled: boolean): void;
181
211
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuDateInputComponent, never>;
182
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuDateInputComponent, "neu-date-input", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; "floatingLabel": { "alias": "floatingLabel"; "required": false; "isSignal": true; }; }, { "rangeChange": "rangeChange"; }, never, never, true, never>;
212
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuDateInputComponent, "neu-date-input", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "disabledDates": { "alias": "disabledDates"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "showMonthYearPicker": { "alias": "showMonthYearPicker"; "required": false; "isSignal": true; }; "yearRange": { "alias": "yearRange"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; "floatingLabel": { "alias": "floatingLabel"; "required": false; "isSignal": true; }; "presets": { "alias": "presets"; "required": false; "isSignal": true; }; }, { "rangeChange": "rangeChange"; }, never, never, true, never>;
183
213
  }
184
214
 
185
215
  export { NeuDateInputComponent };
186
- export type { NeuDateRange };
216
+ export type { NeuDatePreset, NeuDateRange };