@neural-ui/core 1.2.1 → 1.3.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 (239) hide show
  1. package/README.md +56 -88
  2. package/accordion/package.json +4 -0
  3. package/alert/package.json +4 -0
  4. package/autocomplete/package.json +4 -0
  5. package/avatar/package.json +4 -0
  6. package/badge/package.json +4 -0
  7. package/block-ui/package.json +4 -0
  8. package/breadcrumb/package.json +4 -0
  9. package/button/package.json +4 -0
  10. package/card/package.json +4 -0
  11. package/chart/package.json +4 -0
  12. package/checkbox/package.json +4 -0
  13. package/chip/package.json +4 -0
  14. package/code-block/package.json +4 -0
  15. package/color-picker/package.json +4 -0
  16. package/command-palette/package.json +4 -0
  17. package/confirm-dialog/package.json +4 -0
  18. package/context-menu/package.json +4 -0
  19. package/dashboard-grid/package.json +4 -0
  20. package/date-input/package.json +4 -0
  21. package/divider/package.json +4 -0
  22. package/empty-state/package.json +4 -0
  23. package/fesm2022/neural-ui-core-accordion.mjs +162 -0
  24. package/fesm2022/neural-ui-core-accordion.mjs.map +1 -0
  25. package/fesm2022/neural-ui-core-alert.mjs +116 -0
  26. package/fesm2022/neural-ui-core-alert.mjs.map +1 -0
  27. package/fesm2022/neural-ui-core-autocomplete.mjs +332 -0
  28. package/fesm2022/neural-ui-core-autocomplete.mjs.map +1 -0
  29. package/fesm2022/neural-ui-core-avatar.mjs +109 -0
  30. package/fesm2022/neural-ui-core-avatar.mjs.map +1 -0
  31. package/fesm2022/neural-ui-core-badge.mjs +54 -0
  32. package/fesm2022/neural-ui-core-badge.mjs.map +1 -0
  33. package/fesm2022/neural-ui-core-block-ui.mjs +95 -0
  34. package/fesm2022/neural-ui-core-block-ui.mjs.map +1 -0
  35. package/fesm2022/neural-ui-core-breadcrumb.mjs +84 -0
  36. package/fesm2022/neural-ui-core-breadcrumb.mjs.map +1 -0
  37. package/fesm2022/neural-ui-core-button.mjs +125 -0
  38. package/fesm2022/neural-ui-core-button.mjs.map +1 -0
  39. package/fesm2022/neural-ui-core-card.mjs +69 -0
  40. package/fesm2022/neural-ui-core-card.mjs.map +1 -0
  41. package/fesm2022/neural-ui-core-chart.mjs +287 -0
  42. package/fesm2022/neural-ui-core-chart.mjs.map +1 -0
  43. package/fesm2022/neural-ui-core-checkbox.mjs +138 -0
  44. package/fesm2022/neural-ui-core-checkbox.mjs.map +1 -0
  45. package/fesm2022/neural-ui-core-chip.mjs +130 -0
  46. package/fesm2022/neural-ui-core-chip.mjs.map +1 -0
  47. package/fesm2022/neural-ui-core-code-block.mjs +250 -0
  48. package/fesm2022/neural-ui-core-code-block.mjs.map +1 -0
  49. package/fesm2022/neural-ui-core-color-picker.mjs +435 -0
  50. package/fesm2022/neural-ui-core-color-picker.mjs.map +1 -0
  51. package/fesm2022/neural-ui-core-command-palette.mjs +235 -0
  52. package/fesm2022/neural-ui-core-command-palette.mjs.map +1 -0
  53. package/fesm2022/neural-ui-core-confirm-dialog.mjs +118 -0
  54. package/fesm2022/neural-ui-core-confirm-dialog.mjs.map +1 -0
  55. package/fesm2022/neural-ui-core-context-menu.mjs +158 -0
  56. package/fesm2022/neural-ui-core-context-menu.mjs.map +1 -0
  57. package/fesm2022/neural-ui-core-dashboard-grid.mjs +144 -0
  58. package/fesm2022/neural-ui-core-dashboard-grid.mjs.map +1 -0
  59. package/fesm2022/neural-ui-core-date-input.mjs +1332 -0
  60. package/fesm2022/neural-ui-core-date-input.mjs.map +1 -0
  61. package/fesm2022/neural-ui-core-divider.mjs +54 -0
  62. package/fesm2022/neural-ui-core-divider.mjs.map +1 -0
  63. package/fesm2022/neural-ui-core-empty-state.mjs +84 -0
  64. package/fesm2022/neural-ui-core-empty-state.mjs.map +1 -0
  65. package/fesm2022/neural-ui-core-filter-bar.mjs +118 -0
  66. package/fesm2022/neural-ui-core-filter-bar.mjs.map +1 -0
  67. package/fesm2022/neural-ui-core-icon.mjs +50 -0
  68. package/fesm2022/neural-ui-core-icon.mjs.map +1 -0
  69. package/fesm2022/neural-ui-core-image-viewer.mjs +309 -0
  70. package/fesm2022/neural-ui-core-image-viewer.mjs.map +1 -0
  71. package/fesm2022/neural-ui-core-input-otp.mjs +192 -0
  72. package/fesm2022/neural-ui-core-input-otp.mjs.map +1 -0
  73. package/fesm2022/neural-ui-core-input.mjs +320 -0
  74. package/fesm2022/neural-ui-core-input.mjs.map +1 -0
  75. package/fesm2022/neural-ui-core-knob.mjs +323 -0
  76. package/fesm2022/neural-ui-core-knob.mjs.map +1 -0
  77. package/fesm2022/neural-ui-core-meter-group.mjs +122 -0
  78. package/fesm2022/neural-ui-core-meter-group.mjs.map +1 -0
  79. package/fesm2022/neural-ui-core-modal.mjs +156 -0
  80. package/fesm2022/neural-ui-core-modal.mjs.map +1 -0
  81. package/fesm2022/neural-ui-core-multiselect.mjs +748 -0
  82. package/fesm2022/neural-ui-core-multiselect.mjs.map +1 -0
  83. package/fesm2022/neural-ui-core-nav.mjs +952 -0
  84. package/fesm2022/neural-ui-core-nav.mjs.map +1 -0
  85. package/fesm2022/neural-ui-core-notification-center.mjs +264 -0
  86. package/fesm2022/neural-ui-core-notification-center.mjs.map +1 -0
  87. package/fesm2022/neural-ui-core-number-input.mjs +331 -0
  88. package/fesm2022/neural-ui-core-number-input.mjs.map +1 -0
  89. package/fesm2022/neural-ui-core-pagination.mjs +198 -0
  90. package/fesm2022/neural-ui-core-pagination.mjs.map +1 -0
  91. package/fesm2022/neural-ui-core-popover.mjs +207 -0
  92. package/fesm2022/neural-ui-core-popover.mjs.map +1 -0
  93. package/fesm2022/neural-ui-core-progress-bar.mjs +105 -0
  94. package/fesm2022/neural-ui-core-progress-bar.mjs.map +1 -0
  95. package/fesm2022/neural-ui-core-radio.mjs +171 -0
  96. package/fesm2022/neural-ui-core-radio.mjs.map +1 -0
  97. package/fesm2022/neural-ui-core-rating.mjs +151 -0
  98. package/fesm2022/neural-ui-core-rating.mjs.map +1 -0
  99. package/fesm2022/neural-ui-core-select.mjs +638 -0
  100. package/fesm2022/neural-ui-core-select.mjs.map +1 -0
  101. package/fesm2022/neural-ui-core-sidebar.mjs +214 -0
  102. package/fesm2022/neural-ui-core-sidebar.mjs.map +1 -0
  103. package/fesm2022/neural-ui-core-skeleton.mjs +40 -0
  104. package/fesm2022/neural-ui-core-skeleton.mjs.map +1 -0
  105. package/fesm2022/neural-ui-core-slider.mjs +146 -0
  106. package/fesm2022/neural-ui-core-slider.mjs.map +1 -0
  107. package/fesm2022/neural-ui-core-spinner.mjs +113 -0
  108. package/fesm2022/neural-ui-core-spinner.mjs.map +1 -0
  109. package/fesm2022/neural-ui-core-split-button.mjs +252 -0
  110. package/fesm2022/neural-ui-core-split-button.mjs.map +1 -0
  111. package/fesm2022/neural-ui-core-splitter.mjs +174 -0
  112. package/fesm2022/neural-ui-core-splitter.mjs.map +1 -0
  113. package/fesm2022/neural-ui-core-stats-card.mjs +163 -0
  114. package/fesm2022/neural-ui-core-stats-card.mjs.map +1 -0
  115. package/fesm2022/neural-ui-core-stepper.mjs +204 -0
  116. package/fesm2022/neural-ui-core-stepper.mjs.map +1 -0
  117. package/fesm2022/neural-ui-core-switch.mjs +111 -0
  118. package/fesm2022/neural-ui-core-switch.mjs.map +1 -0
  119. package/fesm2022/neural-ui-core-table.mjs +1860 -0
  120. package/fesm2022/neural-ui-core-table.mjs.map +1 -0
  121. package/fesm2022/neural-ui-core-tabs.mjs +246 -0
  122. package/fesm2022/neural-ui-core-tabs.mjs.map +1 -0
  123. package/fesm2022/neural-ui-core-textarea.mjs +188 -0
  124. package/fesm2022/neural-ui-core-textarea.mjs.map +1 -0
  125. package/fesm2022/neural-ui-core-timeline.mjs +117 -0
  126. package/fesm2022/neural-ui-core-timeline.mjs.map +1 -0
  127. package/fesm2022/neural-ui-core-toast.mjs +171 -0
  128. package/fesm2022/neural-ui-core-toast.mjs.map +1 -0
  129. package/fesm2022/neural-ui-core-toggle-button-group.mjs +162 -0
  130. package/fesm2022/neural-ui-core-toggle-button-group.mjs.map +1 -0
  131. package/fesm2022/neural-ui-core-toolbar.mjs +67 -0
  132. package/fesm2022/neural-ui-core-toolbar.mjs.map +1 -0
  133. package/fesm2022/neural-ui-core-tooltip.mjs +151 -0
  134. package/fesm2022/neural-ui-core-tooltip.mjs.map +1 -0
  135. package/fesm2022/neural-ui-core-url-state.mjs +96 -0
  136. package/fesm2022/neural-ui-core-url-state.mjs.map +1 -0
  137. package/fesm2022/neural-ui-core-virtual-list.mjs +126 -0
  138. package/fesm2022/neural-ui-core-virtual-list.mjs.map +1 -0
  139. package/fesm2022/neural-ui-core.mjs +11 -8544
  140. package/fesm2022/neural-ui-core.mjs.map +1 -1
  141. package/filter-bar/package.json +4 -0
  142. package/icon/package.json +4 -0
  143. package/image-viewer/package.json +4 -0
  144. package/input/package.json +4 -0
  145. package/input-otp/package.json +4 -0
  146. package/knob/package.json +4 -0
  147. package/meter-group/package.json +4 -0
  148. package/modal/package.json +4 -0
  149. package/multiselect/package.json +4 -0
  150. package/nav/package.json +4 -0
  151. package/notification-center/package.json +4 -0
  152. package/number-input/package.json +4 -0
  153. package/package.json +252 -5
  154. package/pagination/package.json +4 -0
  155. package/popover/package.json +4 -0
  156. package/progress-bar/package.json +4 -0
  157. package/radio/package.json +4 -0
  158. package/rating/package.json +4 -0
  159. package/select/package.json +4 -0
  160. package/sidebar/package.json +4 -0
  161. package/skeleton/package.json +4 -0
  162. package/slider/package.json +4 -0
  163. package/spinner/package.json +4 -0
  164. package/split-button/package.json +4 -0
  165. package/splitter/package.json +4 -0
  166. package/stats-card/package.json +4 -0
  167. package/stepper/package.json +4 -0
  168. package/styles/_tokens.scss +202 -0
  169. package/styles.scss +1 -0
  170. package/switch/package.json +4 -0
  171. package/table/package.json +4 -0
  172. package/tabs/package.json +4 -0
  173. package/textarea/package.json +4 -0
  174. package/timeline/package.json +4 -0
  175. package/toast/package.json +4 -0
  176. package/toggle-button-group/package.json +4 -0
  177. package/toolbar/package.json +4 -0
  178. package/tooltip/package.json +4 -0
  179. package/types/neural-ui-core-accordion.d.ts +55 -0
  180. package/types/neural-ui-core-alert.d.ts +47 -0
  181. package/types/neural-ui-core-autocomplete.d.ts +69 -0
  182. package/types/neural-ui-core-avatar.d.ts +39 -0
  183. package/types/neural-ui-core-badge.d.ts +36 -0
  184. package/types/neural-ui-core-block-ui.d.ts +46 -0
  185. package/types/neural-ui-core-breadcrumb.d.ts +38 -0
  186. package/types/neural-ui-core-button.d.ts +55 -0
  187. package/types/neural-ui-core-card.d.ts +37 -0
  188. package/types/neural-ui-core-chart.d.ts +236 -0
  189. package/types/neural-ui-core-checkbox.d.ts +33 -0
  190. package/types/neural-ui-core-chip.d.ts +53 -0
  191. package/types/neural-ui-core-code-block.d.ts +55 -0
  192. package/types/neural-ui-core-color-picker.d.ts +55 -0
  193. package/types/neural-ui-core-command-palette.d.ts +56 -0
  194. package/types/neural-ui-core-confirm-dialog.d.ts +50 -0
  195. package/types/neural-ui-core-context-menu.d.ts +66 -0
  196. package/types/neural-ui-core-dashboard-grid.d.ts +41 -0
  197. package/types/neural-ui-core-date-input.d.ts +178 -0
  198. package/types/neural-ui-core-divider.d.ts +20 -0
  199. package/types/neural-ui-core-empty-state.d.ts +32 -0
  200. package/types/neural-ui-core-filter-bar.d.ts +49 -0
  201. package/types/neural-ui-core-icon.d.ts +33 -0
  202. package/types/neural-ui-core-image-viewer.d.ts +67 -0
  203. package/types/neural-ui-core-input-otp.d.ts +49 -0
  204. package/types/neural-ui-core-input.d.ts +86 -0
  205. package/types/neural-ui-core-knob.d.ts +68 -0
  206. package/types/neural-ui-core-meter-group.d.ts +52 -0
  207. package/types/neural-ui-core-modal.d.ts +54 -0
  208. package/types/neural-ui-core-multiselect.d.ts +129 -0
  209. package/types/neural-ui-core-nav.d.ts +69 -0
  210. package/types/neural-ui-core-notification-center.d.ts +60 -0
  211. package/types/neural-ui-core-number-input.d.ts +63 -0
  212. package/types/neural-ui-core-pagination.d.ts +30 -0
  213. package/types/neural-ui-core-popover.d.ts +73 -0
  214. package/types/neural-ui-core-progress-bar.d.ts +35 -0
  215. package/types/neural-ui-core-radio.d.ts +51 -0
  216. package/types/neural-ui-core-rating.d.ts +34 -0
  217. package/types/neural-ui-core-select.d.ts +161 -0
  218. package/types/neural-ui-core-sidebar.d.ts +57 -0
  219. package/types/neural-ui-core-skeleton.d.ts +22 -0
  220. package/types/neural-ui-core-slider.d.ts +42 -0
  221. package/types/neural-ui-core-spinner.d.ts +38 -0
  222. package/types/neural-ui-core-split-button.d.ts +65 -0
  223. package/types/neural-ui-core-splitter.d.ts +28 -0
  224. package/types/neural-ui-core-stats-card.d.ts +39 -0
  225. package/types/neural-ui-core-stepper.d.ts +51 -0
  226. package/types/neural-ui-core-switch.d.ts +34 -0
  227. package/types/neural-ui-core-table.d.ts +282 -0
  228. package/types/neural-ui-core-tabs.d.ts +76 -0
  229. package/types/neural-ui-core-textarea.d.ts +52 -0
  230. package/types/neural-ui-core-timeline.d.ts +33 -0
  231. package/types/neural-ui-core-toast.d.ts +70 -0
  232. package/types/neural-ui-core-toggle-button-group.d.ts +63 -0
  233. package/types/neural-ui-core-toolbar.d.ts +36 -0
  234. package/types/neural-ui-core-tooltip.d.ts +48 -0
  235. package/types/neural-ui-core-url-state.d.ts +58 -0
  236. package/types/neural-ui-core-virtual-list.d.ts +60 -0
  237. package/types/neural-ui-core.d.ts +3 -2105
  238. package/url-state/package.json +4 -0
  239. package/virtual-list/package.json +4 -0
@@ -0,0 +1,66 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnDestroy } from '@angular/core';
3
+
4
+ interface NeuContextMenuItem {
5
+ /** Key para identificar la acción / Key to identify the action */
6
+ key: string;
7
+ /** Texto visible / Visible text */
8
+ label: string;
9
+ /** Icono opcional (texto/emoji) / Optional icon (text/emoji) */
10
+ icon?: string;
11
+ /** Separador antes de este item / Separator before this item */
12
+ separator?: boolean;
13
+ /** Desactiva el item / Disables the item */
14
+ disabled?: boolean;
15
+ /** Variante de color / Color variant */
16
+ variant?: 'default' | 'danger';
17
+ }
18
+ /**
19
+ * NeuralUI ContextMenu Overlay Component (internal)
20
+ */
21
+ declare class NeuContextMenuOverlayComponent {
22
+ readonly _items: _angular_core.WritableSignal<NeuContextMenuItem[]>;
23
+ _selectFn: ((item: NeuContextMenuItem) => void) | null;
24
+ _escapeFn: (() => void) | null;
25
+ select(item: NeuContextMenuItem): void;
26
+ _onEscape(): void;
27
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuContextMenuOverlayComponent, never>;
28
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuContextMenuOverlayComponent, "neu-context-menu-overlay", never, {}, {}, never, never, true, never>;
29
+ }
30
+ /**
31
+ * NeuralUI ContextMenu Directive
32
+ *
33
+ * Muestra un menú contextual al hacer clic derecho sobre el elemento host.
34
+ *
35
+ * Uso:
36
+ * <div [neuContextMenu]="menuItems" (menuItemClick)="onItem($event)">
37
+ * Clic derecho aquí
38
+ * </div>
39
+ */
40
+ declare class NeuContextMenuDirective implements OnDestroy {
41
+ /** Ítems del menú / Menu items */
42
+ readonly neuContextMenu: _angular_core.InputSignal<NeuContextMenuItem[]>;
43
+ /** Desactiva el menú / Disables the menu */
44
+ readonly neuContextMenuDisabled: _angular_core.InputSignal<boolean>;
45
+ /** Emitido al seleccionar un ítem / Emitted when an item is selected */
46
+ readonly menuItemClick: _angular_core.OutputEmitterRef<NeuContextMenuItem>;
47
+ /** Emitido al abrir / Emitted on open */
48
+ readonly menuOpened: _angular_core.OutputEmitterRef<void>;
49
+ /** Emitido al cerrar / Emitted on close */
50
+ readonly menuClosed: _angular_core.OutputEmitterRef<void>;
51
+ private readonly _overlay;
52
+ private readonly _el;
53
+ private readonly _injector;
54
+ private readonly _vcr;
55
+ private _overlayRef;
56
+ private _compRef;
57
+ onContextMenu(event: MouseEvent): void;
58
+ private _open;
59
+ private _close;
60
+ ngOnDestroy(): void;
61
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuContextMenuDirective, never>;
62
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NeuContextMenuDirective, "[neuContextMenu]", ["neuContextMenu"], { "neuContextMenu": { "alias": "neuContextMenu"; "required": false; "isSignal": true; }; "neuContextMenuDisabled": { "alias": "neuContextMenuDisabled"; "required": false; "isSignal": true; }; }, { "menuItemClick": "menuItemClick"; "menuOpened": "menuOpened"; "menuClosed": "menuClosed"; }, never, never, true, never>;
63
+ }
64
+
65
+ export { NeuContextMenuDirective, NeuContextMenuOverlayComponent };
66
+ export type { NeuContextMenuItem };
@@ -0,0 +1,41 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
3
+ import { CdkDragDrop } from '@angular/cdk/drag-drop';
4
+
5
+ interface NeuDashboardTileConfig {
6
+ /** Identificador único / Unique identifier */
7
+ id: string;
8
+ /** Número de columnas que ocupa / Column span */
9
+ cols?: number;
10
+ /** Número de filas que ocupa / Row span */
11
+ rows?: number;
12
+ /** Título del tile / Tile title */
13
+ title?: string;
14
+ }
15
+ /**
16
+ * NeuralUI DashboardGrid
17
+ *
18
+ * Cuadrícula de tiles reordenables mediante drag-and-drop (CDK DragDrop).
19
+ *
20
+ * Uso:
21
+ * <neu-dashboard-grid [tiles]="tileConfigs" [columns]="3">
22
+ * <ng-template neuDashboardTile id="tile-1">...</ng-template>
23
+ * </neu-dashboard-grid>
24
+ */
25
+ declare class NeuDashboardGridComponent {
26
+ private readonly _host;
27
+ readonly tiles: _angular_core.InputSignal<NeuDashboardTileConfig[]>;
28
+ readonly columns: _angular_core.InputSignal<number>;
29
+ /** Emitido cuando el orden cambia / Emitted when order changes */
30
+ readonly orderChange: _angular_core.OutputEmitterRef<NeuDashboardTileConfig[]>;
31
+ readonly _orderedTiles: _angular_core.WritableSignal<NeuDashboardTileConfig[]>;
32
+ readonly _tileSlots: _angular_core.Signal<readonly ElementRef<HTMLElement>[]>;
33
+ constructor();
34
+ _onDrop(event: CdkDragDrop<NeuDashboardTileConfig[]>): void;
35
+ private _attachProjectedTiles;
36
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuDashboardGridComponent, never>;
37
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuDashboardGridComponent, "neu-dashboard-grid", never, { "tiles": { "alias": "tiles"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; }, { "orderChange": "orderChange"; }, never, ["*"], true, never>;
38
+ }
39
+
40
+ export { NeuDashboardGridComponent };
41
+ export type { NeuDashboardTileConfig };
@@ -0,0 +1,178 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnDestroy } from '@angular/core';
3
+ import { ControlValueAccessor } from '@angular/forms';
4
+
5
+ /** Rango de fechas seleccionado / Selected date range */
6
+ interface NeuDateRange {
7
+ start: Date | null;
8
+ end: Date | null;
9
+ }
10
+ interface CalendarDay {
11
+ date: Date;
12
+ inMonth: boolean;
13
+ isToday: boolean;
14
+ isSelected: boolean;
15
+ }
16
+ interface DrumSlot {
17
+ value: number;
18
+ offset: number;
19
+ label: string;
20
+ }
21
+ interface RangeCell {
22
+ date: Date;
23
+ day: number;
24
+ ts: number;
25
+ current: boolean;
26
+ today: boolean;
27
+ selected: boolean;
28
+ rangeStart: boolean;
29
+ rangeEnd: boolean;
30
+ inRange: boolean;
31
+ label: string;
32
+ }
33
+ /**
34
+ * NeuralUI DateInput — campo de fecha/hora unificado con modo rango.
35
+ * Unified date/time field with range mode.
36
+ *
37
+ * Uso básico / Basic usage:
38
+ * <neu-date-input type="date" [formControl]="dateCtrl" />
39
+ * <neu-date-input type="time" [formControl]="timeCtrl" />
40
+ * <neu-date-input type="datetime-local" [formControl]="dateTimeCtrl" />
41
+ * <neu-date-input type="range" [formControl]="rangeCtrl" />
42
+ */
43
+ declare class NeuDateInputComponent implements ControlValueAccessor, OnDestroy {
44
+ #private;
45
+ private readonly el;
46
+ private readonly doc;
47
+ private _langObserver?;
48
+ /** Tipo del campo / Field type */
49
+ type: _angular_core.InputSignal<"date" | "time" | "datetime-local" | "range">;
50
+ /** Etiqueta / Label */
51
+ label: _angular_core.InputSignal<string>;
52
+ /** Texto de ayuda / Help text */
53
+ hint: _angular_core.InputSignal<string>;
54
+ /** Mensaje de error / Error message */
55
+ errorMessage: _angular_core.InputSignal<string>;
56
+ /** Deshabilita / Disabled */
57
+ disabled: _angular_core.InputSignal<boolean>;
58
+ /** Tamaño del campo: 'sm' = 36px | 'md' = 48px | 'lg' = 56px / Field size */
59
+ size: _angular_core.InputSignal<"sm" | "md" | "lg">;
60
+ /** Solo lectura / Read only */
61
+ readonly: _angular_core.InputSignal<boolean>;
62
+ /** Nombre / Field name */
63
+ name: _angular_core.InputSignal<string>;
64
+ /** ID accesible / Accessible ID */
65
+ inputId: _angular_core.InputSignal<string>;
66
+ /** Requerido / Required */
67
+ required: _angular_core.InputSignal<boolean>;
68
+ /** Mínimo / Minimum */
69
+ min: _angular_core.InputSignal<string | null>;
70
+ /** Máximo / Maximum */
71
+ max: _angular_core.InputSignal<string | null>;
72
+ /** Paso / Step */
73
+ step: _angular_core.InputSignal<number | null>;
74
+ /** Locale explícito opcional / Optional explicit locale */
75
+ locale: _angular_core.InputSignal<string | null>;
76
+ /** Placeholder del trigger de rango / Range trigger placeholder */
77
+ placeholder: _angular_core.InputSignal<string>;
78
+ /** Formato de fecha en modo rango / Date display format in range mode */
79
+ dateFormat: _angular_core.InputSignal<"short" | "medium" | "long" | "full" | "numeric">;
80
+ /** Emitido al confirmar el rango / Emitted when range is confirmed */
81
+ readonly rangeChange: _angular_core.OutputEmitterRef<NeuDateRange>;
82
+ protected readonly _id: string;
83
+ readonly isOpen: _angular_core.WritableSignal<boolean>;
84
+ readonly _isRange: _angular_core.Signal<boolean>;
85
+ private readonly _cvaDisabled;
86
+ readonly isDisabledFinal: _angular_core.Signal<boolean>;
87
+ readonly hasError: _angular_core.Signal<boolean>;
88
+ private _onChange;
89
+ private _onTouched;
90
+ protected readonly _value: _angular_core.WritableSignal<string>;
91
+ protected readonly _viewYear: _angular_core.WritableSignal<number>;
92
+ protected readonly _viewMonth: _angular_core.WritableSignal<number>;
93
+ protected readonly _selYear: _angular_core.WritableSignal<number | null>;
94
+ protected readonly _selMonth: _angular_core.WritableSignal<number | null>;
95
+ protected readonly _selDay: _angular_core.WritableSignal<number | null>;
96
+ protected readonly _selHour: _angular_core.WritableSignal<number>;
97
+ protected readonly _selMinute: _angular_core.WritableSignal<number>;
98
+ private readonly _today;
99
+ private readonly _documentLang;
100
+ private readonly _pickStart;
101
+ private readonly _pickEnd;
102
+ private readonly _hoverDate;
103
+ readonly _leftCursor: _angular_core.WritableSignal<Date>;
104
+ readonly _rightCursor: _angular_core.Signal<Date>;
105
+ readonly _hasRange: _angular_core.Signal<boolean>;
106
+ readonly _canApply: _angular_core.Signal<boolean>;
107
+ readonly _resolvedLocale: _angular_core.Signal<string>;
108
+ readonly _texts: _angular_core.Signal<{
109
+ rangeAriaLabel: string;
110
+ prevMonth: string;
111
+ nextMonth: string;
112
+ clear: string;
113
+ apply: string;
114
+ chooseDate: string;
115
+ delete: string;
116
+ today: string;
117
+ prevHour: string;
118
+ nextHour: string;
119
+ prevMinute: string;
120
+ nextMinute: string;
121
+ rangePlaceholder: string;
122
+ timePlaceholder: string;
123
+ datePlaceholder: string;
124
+ dateTimePlaceholder: string;
125
+ }>;
126
+ readonly _weekDayLabels: _angular_core.Signal<string[]>;
127
+ readonly _leftTitle: _angular_core.Signal<string>;
128
+ readonly _rightTitle: _angular_core.Signal<string>;
129
+ readonly _leftDays: _angular_core.Signal<RangeCell[]>;
130
+ readonly _rightDays: _angular_core.Signal<RangeCell[]>;
131
+ readonly _rangePlaceholderText: _angular_core.Signal<string>;
132
+ constructor();
133
+ ngOnDestroy(): void;
134
+ private _monthTitle;
135
+ readonly _rangeDisplayValue: _angular_core.Signal<string>;
136
+ private _fmtDate;
137
+ private _buildRangeMonth;
138
+ private _rangeCell;
139
+ _prevLeft(): void;
140
+ _nextLeft(): void;
141
+ _prevRight(): void;
142
+ _nextRight(): void;
143
+ _selectDay(date: Date): void;
144
+ _hoverDay(date: Date): void;
145
+ _applyRange(): void;
146
+ _clearRange(): void;
147
+ readonly displayValue: _angular_core.Signal<string>;
148
+ readonly placeholderText: _angular_core.Signal<string>;
149
+ readonly monthLabel: _angular_core.Signal<string>;
150
+ readonly weekdays: _angular_core.Signal<string[]>;
151
+ readonly calendarDays: _angular_core.Signal<CalendarDay[]>;
152
+ readonly hourSlots: _angular_core.Signal<DrumSlot[]>;
153
+ readonly minuteSlots: _angular_core.Signal<DrumSlot[]>;
154
+ private _drumSlots;
155
+ toggle(): void;
156
+ close(): void;
157
+ onDocumentClick(event: MouseEvent): void;
158
+ prevMonth(): void;
159
+ nextMonth(): void;
160
+ selectDay(day: CalendarDay): void;
161
+ formatDayLabel(date: Date): string;
162
+ today(): void;
163
+ clear(): void;
164
+ changeHour(delta: number): void;
165
+ changeMinute(delta: number): void;
166
+ onHourWheel(e: WheelEvent): void;
167
+ onMinuteWheel(e: WheelEvent): void;
168
+ private _emitValue;
169
+ writeValue(value: string | NeuDateRange | null): void;
170
+ registerOnChange(fn: (v: string | NeuDateRange) => void): void;
171
+ registerOnTouched(fn: () => void): void;
172
+ setDisabledState(isDisabled: boolean): void;
173
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuDateInputComponent, never>;
174
+ 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; }; }, { "rangeChange": "rangeChange"; }, never, never, true, never>;
175
+ }
176
+
177
+ export { NeuDateInputComponent };
178
+ export type { NeuDateRange };
@@ -0,0 +1,20 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ /**
4
+ * NeuralUI Divider
5
+ *
6
+ * Separador visual para secciones de contenido.
7
+ *
8
+ * Uso:
9
+ * <neu-divider />
10
+ * <neu-divider label="O continúa con" />
11
+ * <neu-divider orientation="vertical" />
12
+ */
13
+ declare class NeuDividerComponent {
14
+ label: _angular_core.InputSignal<string>;
15
+ orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
16
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuDividerComponent, never>;
17
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuDividerComponent, "neu-divider", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18
+ }
19
+
20
+ export { NeuDividerComponent };
@@ -0,0 +1,32 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ /**
4
+ * NeuEmptyState — Estado vacío con icono Lucide, título, descripción y acción.
5
+ *
6
+ * Uso:
7
+ * <neu-empty-state
8
+ * icon="lucideInbox"
9
+ * title="Sin resultados"
10
+ * description="Prueba con otros filtros."
11
+ * actionLabel="Limpiar filtros"
12
+ * (action)="clearFilters()"
13
+ * />
14
+ */
15
+ declare class NeuEmptyStateComponent {
16
+ /** Nombre del icono Lucide registrado con provideIcons(). / Lucide icon name registered with provideIcons(). */
17
+ icon: _angular_core.InputSignal<string>;
18
+ /** Tamaño del icono. Por defecto 3rem. / Icon size. Default 3rem. */
19
+ iconSize: _angular_core.InputSignal<string>;
20
+ /** Título principal del estado vacío. / Main title of the empty state. */
21
+ title: _angular_core.InputSignal<string>;
22
+ /** Descripción secundaria opcional. / Optional secondary description. */
23
+ description: _angular_core.InputSignal<string>;
24
+ /** Texto del botón de acción. Si está vacío, no se muestra el botón. / Action button text. If empty, the button is not shown. */
25
+ actionLabel: _angular_core.InputSignal<string>;
26
+ /** Emite cuando el usuario hace clic en el botón de acción. / Emits when the user clicks the action button. */
27
+ action: _angular_core.OutputEmitterRef<void>;
28
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuEmptyStateComponent, never>;
29
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuEmptyStateComponent, "neu-empty-state", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconSize": { "alias": "iconSize"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "actionLabel": { "alias": "actionLabel"; "required": false; "isSignal": true; }; }, { "action": "action"; }, never, never, true, never>;
30
+ }
31
+
32
+ export { NeuEmptyStateComponent };
@@ -0,0 +1,49 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ interface NeuFilterChip {
4
+ /** Identificador único del filtro / Unique filter identifier */
5
+ key: string;
6
+ /** Etiqueta visible / Visible label */
7
+ label: string;
8
+ /** Si el chip está activo / Whether the chip is active */
9
+ active?: boolean;
10
+ }
11
+ /**
12
+ * NeuralUI FilterBar Component
13
+ *
14
+ * Fila de chips de filtro con selección individual y botón "Limpiar todo".
15
+ *
16
+ * Uso:
17
+ * <neu-filter-bar [filters]="chips" (filterChange)="onFilter($event)" />
18
+ */
19
+ declare class NeuFilterBarComponent {
20
+ /** Lista inicial de filtros / Initial filter chips list */
21
+ readonly filters: _angular_core.InputSignal<NeuFilterChip[]>;
22
+ /** Muestra el botón "Limpiar todo" cuando hay activos / Shows "Clear all" when any active */
23
+ readonly clearable: _angular_core.InputSignal<boolean>;
24
+ /** Texto del botón de limpiar / Clear button text */
25
+ readonly clearLabel: _angular_core.InputSignal<string>;
26
+ /** Permite selección múltiple / Allows multi-selection */
27
+ readonly multi: _angular_core.InputSignal<boolean>;
28
+ /** Aria-label de la barra / Aria-label for the bar */
29
+ readonly ariaLabel: _angular_core.InputSignal<string>;
30
+ /** Emitido con los chips activos al cambiar / Emitted with active chips on change */
31
+ readonly filterChange: _angular_core.OutputEmitterRef<NeuFilterChip[]>;
32
+ readonly _id: string;
33
+ readonly _chips: _angular_core.WritableSignal<NeuFilterChip[]>;
34
+ readonly _hasActive: _angular_core.Signal<boolean>;
35
+ readonly hostClasses: _angular_core.Signal<{
36
+ 'neu-filter-bar': boolean;
37
+ 'neu-filter-bar--multi': boolean;
38
+ }>;
39
+ constructor();
40
+ toggle(chip: NeuFilterChip): void;
41
+ clearAll(): void;
42
+ /** Activa chips por sus keys programáticamente / Activate chips by keys programmatically */
43
+ setActive(keys: string[]): void;
44
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuFilterBarComponent, never>;
45
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuFilterBarComponent, "neu-filter-bar", never, { "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; "multi": { "alias": "multi"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "filterChange": "filterChange"; }, never, never, true, never>;
46
+ }
47
+
48
+ export { NeuFilterBarComponent };
49
+ export type { NeuFilterChip };
@@ -0,0 +1,33 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ /**
4
+ * NeuIconComponent — Wrapper delgado sobre NgIcon de @ng-icons/core
5
+ *
6
+ * Hereda el color del elemento padre mediante `color: currentColor`.
7
+ * El grosor del trazo se controla con la variable CSS `--ng-icon__stroke-width`
8
+ * que viene configurada globalmente vía `provideNgIconsConfig`.
9
+ *
10
+ * Uso básico:
11
+ * <neu-icon name="lucideX" />
12
+ * <neu-icon name="lucideAlertCircle" size="1rem" />
13
+ */
14
+ declare class NeuIconComponent {
15
+ /** Nombre del icono registrado con provideIcons() / Icon name registered with provideIcons() */
16
+ name: _angular_core.InputSignal<string>;
17
+ /**
18
+ * Grosor del trazo. Default '2' para estética fina y técnica.
19
+ * Puede sobrescribirse por instancia.
20
+ */
21
+ strokeWidth: _angular_core.InputSignal<string>;
22
+ /**
23
+ * Tamaño del icono. Acepta cualquier unidad CSS válida.
24
+ * Si no se especifica, usa la variable CSS `--neu-icon-size` (1.25rem por defecto).
25
+ */
26
+ size: _angular_core.InputSignal<string>;
27
+ /** Tamaño resuelto: usa el input `size` o cae al token CSS. / Resolved size: uses the `size` input or falls back to the CSS token. */
28
+ readonly resolvedSize: _angular_core.Signal<string>;
29
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuIconComponent, never>;
30
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuIconComponent, "neu-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
31
+ }
32
+
33
+ export { NeuIconComponent };
@@ -0,0 +1,67 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken, OnDestroy } from '@angular/core';
3
+
4
+ interface NeuImageViewerItem {
5
+ src: string;
6
+ alt?: string;
7
+ caption?: string;
8
+ }
9
+ declare const NEU_IV_DATA: InjectionToken<_NeuIvData>;
10
+ interface _NeuIvData {
11
+ items: NeuImageViewerItem[];
12
+ initialIndex: number;
13
+ close: () => void;
14
+ }
15
+ /**
16
+ * Componente interno del overlay del visor de imágenes.
17
+ * No debe usarse directamente — es instanciado por la directiva.
18
+ */
19
+ declare class NeuImageViewerOverlayComponent {
20
+ readonly _data: _NeuIvData;
21
+ readonly _index: _angular_core.WritableSignal<number>;
22
+ readonly _scale: _angular_core.WritableSignal<number>;
23
+ readonly _panX: _angular_core.WritableSignal<number>;
24
+ readonly _panY: _angular_core.WritableSignal<number>;
25
+ private _dragging;
26
+ private _dragStart;
27
+ readonly _current: _angular_core.Signal<NeuImageViewerItem>;
28
+ readonly _transform: _angular_core.Signal<string>;
29
+ _navigate(dir: -1 | 1): void;
30
+ _zoom(delta: number): void;
31
+ _resetZoom(): void;
32
+ _onWheel(e: WheelEvent): void;
33
+ _onMouseDown(e: MouseEvent): void;
34
+ _onBackdropClick(_e: MouseEvent): void;
35
+ _onKey(e: KeyboardEvent): void;
36
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuImageViewerOverlayComponent, never>;
37
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuImageViewerOverlayComponent, "neu-image-viewer-overlay", never, {}, {}, never, never, true, never>;
38
+ }
39
+ /**
40
+ * NeuralUI ImageViewer Directive
41
+ *
42
+ * Adjunta un visor de imágenes en pantalla completa a cualquier elemento.
43
+ *
44
+ * Uso básico (imagen única):
45
+ * <img src="photo.jpg" [neuImageViewer]="src" />
46
+ *
47
+ * Uso con galería:
48
+ * <img src="photo.jpg" [neuImageViewer]="items" [neuIvIndex]="0" />
49
+ */
50
+ declare class NeuImageViewerDirective implements OnDestroy {
51
+ /** Puede ser una URL, NeuImageViewerItem o un array de items */
52
+ readonly neuImageViewer: _angular_core.InputSignal<string | NeuImageViewerItem | NeuImageViewerItem[]>;
53
+ /** Índice inicial cuando se pasa un array */
54
+ readonly neuIvIndex: _angular_core.InputSignal<number>;
55
+ private readonly _overlay;
56
+ private readonly _injector;
57
+ private _overlayRef;
58
+ open(): void;
59
+ close(): void;
60
+ ngOnDestroy(): void;
61
+ private _normalizeItems;
62
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuImageViewerDirective, never>;
63
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NeuImageViewerDirective, "[neuImageViewer]", ["neuImageViewer"], { "neuImageViewer": { "alias": "neuImageViewer"; "required": false; "isSignal": true; }; "neuIvIndex": { "alias": "neuIvIndex"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
64
+ }
65
+
66
+ export { NEU_IV_DATA, NeuImageViewerDirective, NeuImageViewerOverlayComponent };
67
+ export type { NeuImageViewerItem };
@@ -0,0 +1,49 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+
4
+ /**
5
+ * NeuralUI InputOTP Component
6
+ *
7
+ * N-digit OTP code input split into individual cells. Implements CVA.
8
+ *
9
+ * Uso: <neu-input-otp [length]="6" (completed)="onOtp($event)" formControlName="code" />
10
+ */
11
+ declare class NeuInputOTPComponent implements ControlValueAccessor {
12
+ /** Número de celdas / Number of cells */
13
+ readonly length: _angular_core.InputSignal<number>;
14
+ /** Tipo de caracteres: numeric | alphanumeric / Character type */
15
+ readonly type: _angular_core.InputSignal<"numeric" | "alphanumeric">;
16
+ /** Emitido cuando todas las celdas están completas / Emitted when all cells are filled */
17
+ readonly completed: _angular_core.OutputEmitterRef<string>;
18
+ /** Emitido en cada cambio parcial / Emitted on each partial change */
19
+ readonly valueChange: _angular_core.OutputEmitterRef<string>;
20
+ readonly _id: string;
21
+ readonly _cvaDisabled: _angular_core.WritableSignal<boolean>;
22
+ readonly _digits: _angular_core.WritableSignal<string[]>;
23
+ readonly _cells: _angular_core.Signal<unknown[]>;
24
+ /** Array de dígitos con padding de vacíos — nunca undefined / Digits array padded with empty strings — never undefined */
25
+ readonly _paddedDigits: _angular_core.Signal<string[]>;
26
+ readonly hostClasses: _angular_core.Signal<{
27
+ [x: string]: boolean;
28
+ 'neu-input-otp': boolean;
29
+ 'neu-input-otp--disabled': boolean;
30
+ }>;
31
+ private readonly _cellEls;
32
+ private _onChange;
33
+ private _onTouched;
34
+ writeValue(val: string | null): void;
35
+ registerOnChange(fn: (v: string) => void): void;
36
+ registerOnTouched(fn: () => void): void;
37
+ setDisabledState(disabled: boolean): void;
38
+ onCellInput(event: Event, index: number): void;
39
+ onKeyDown(event: KeyboardEvent, index: number): void;
40
+ onPaste(event: ClipboardEvent): void;
41
+ onFocus(index: number): void;
42
+ clear(): void;
43
+ private _sanitize;
44
+ private _focusCell;
45
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuInputOTPComponent, never>;
46
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuInputOTPComponent, "neu-input-otp", never, { "length": { "alias": "length"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, { "completed": "completed"; "valueChange": "valueChange"; }, never, never, true, never>;
47
+ }
48
+
49
+ export { NeuInputOTPComponent };
@@ -0,0 +1,86 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+
4
+ type NeuInputType = 'text' | 'email' | 'password' | 'tel' | 'url' | 'search';
5
+ /**
6
+ * NeuralUI Input Component
7
+ *
8
+ * Input con floating label, iconos y soporte completo para Angular Forms.
9
+ * Compatible con Reactive Forms mediante FormControl y formularios reactivos.
10
+ *
11
+ * Uso standalone:
12
+ * <neu-input label="Correo" type="email" />
13
+ *
14
+ * Con Reactive Forms:
15
+ * <neu-input label="Correo" [formControl]="emailCtrl" [errorMessage]="emailError()" />
16
+ */
17
+ declare class NeuInputComponent implements ControlValueAccessor {
18
+ /** Tipo de input HTML / HTML input type */
19
+ type: _angular_core.InputSignal<NeuInputType>;
20
+ /** Texto del floating label / Floating label text */
21
+ label: _angular_core.InputSignal<string>;
22
+ /** Placeholder visible cuando floatingLabel=false / Visible placeholder when floatingLabel=false */
23
+ placeholder: _angular_core.InputSignal<string>;
24
+ /** 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) */
25
+ floatingLabel: _angular_core.InputSignal<boolean>;
26
+ /** Tamaño del campo: 'sm' = 36px | 'md' = 48px | 'lg' = 56px / Field size */
27
+ size: _angular_core.InputSignal<"sm" | "md" | "lg">;
28
+ /** Hint de ayuda (visible cuando no hay error) / Help hint (visible when there is no error) */
29
+ hint: _angular_core.InputSignal<string>;
30
+ /** Mensaje de error (activa el estado de error) / Error message (activates the error state) */
31
+ errorMessage: _angular_core.InputSignal<string>;
32
+ /** Deshabilita el campo / Disables the field */
33
+ disabled: _angular_core.InputSignal<boolean>;
34
+ /** Atributo autocomplete HTML / HTML autocomplete attribute */
35
+ autocomplete: _angular_core.InputSignal<string>;
36
+ /** Muestra zona para icono al inicio / Shows icon slot at the start */
37
+ startIcon: _angular_core.InputSignal<boolean>;
38
+ /** Muestra zona para icono al final / Shows icon slot at the end */
39
+ endIcon: _angular_core.InputSignal<boolean>;
40
+ /** Nombre del icono lucide a renderizar dentro del campo / Lucide icon name to render inside the field */
41
+ icon: _angular_core.InputSignal<string>;
42
+ /** Posición del icono cuando se usa `icon` / Icon position when using `icon` */
43
+ iconPosition: _angular_core.InputSignal<"left" | "right">;
44
+ /** ID accesible para el input — generado con contador estable (seguro en SSR) / Accessible ID for the input — generated with stable counter (SSR-safe) */
45
+ inputId: _angular_core.InputSignal<string>;
46
+ /** Nombre del campo para formularios nativos / Field name for native forms */
47
+ name: _angular_core.InputSignal<string>;
48
+ /** Marca el campo como requerido / Marks the field as required */
49
+ required: _angular_core.InputSignal<boolean>;
50
+ /** Hace el campo de solo lectura / Makes the field read-only */
51
+ readonly: _angular_core.InputSignal<boolean>;
52
+ /** Longitud máxima de caracteres / Maximum character length */
53
+ maxlength: _angular_core.InputSignal<number | null>;
54
+ /** Longitud mínima de caracteres / Minimum character length */
55
+ minlength: _angular_core.InputSignal<number | null>;
56
+ /** Valor mínimo (para type=number/date) / Minimum value (for type=number/date) */
57
+ min: _angular_core.InputSignal<string | null>;
58
+ /** Valor máximo (para type=number/date) / Maximum value (for type=number/date) */
59
+ max: _angular_core.InputSignal<string | null>;
60
+ /** Patrón de validación HTML5 / HTML5 validation pattern */
61
+ pattern: _angular_core.InputSignal<string | null>;
62
+ protected readonly _value: _angular_core.WritableSignal<string>;
63
+ protected readonly _focused: _angular_core.WritableSignal<boolean>;
64
+ readonly hasValue: _angular_core.Signal<boolean>;
65
+ readonly hasError: _angular_core.Signal<boolean>;
66
+ readonly startIconPath: _angular_core.Signal<string>;
67
+ readonly hasStartContent: _angular_core.Signal<boolean>;
68
+ readonly _hasIconLeft: _angular_core.Signal<boolean>;
69
+ readonly _hasIconRight: _angular_core.Signal<boolean>;
70
+ private _onChange;
71
+ private _onTouched;
72
+ writeValue(val: unknown): void;
73
+ registerOnChange(fn: (v: string) => void): void;
74
+ registerOnTouched(fn: () => void): void;
75
+ private readonly _cvaDisabled;
76
+ setDisabledState(isDisabled: boolean): void;
77
+ readonly isDisabledFinal: _angular_core.Signal<boolean>;
78
+ onInput(event: Event): void;
79
+ onFocus(): void;
80
+ onBlur(): void;
81
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuInputComponent, never>;
82
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuInputComponent, "neu-input", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "floatingLabel": { "alias": "floatingLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "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; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "startIcon": { "alias": "startIcon"; "required": false; "isSignal": true; }; "endIcon": { "alias": "endIcon"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "iconPosition"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "minlength": { "alias": "minlength"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; }, {}, never, ["[neu-input-start]", "[neu-input-end]"], true, never>;
83
+ }
84
+
85
+ export { NeuInputComponent };
86
+ export type { NeuInputType };