@neural-ui/core 1.2.0 → 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.
- package/README.md +56 -88
- package/accordion/package.json +4 -0
- package/alert/package.json +4 -0
- package/autocomplete/package.json +4 -0
- package/avatar/package.json +4 -0
- package/badge/package.json +4 -0
- package/block-ui/package.json +4 -0
- package/breadcrumb/package.json +4 -0
- package/button/package.json +4 -0
- package/card/package.json +4 -0
- package/chart/package.json +4 -0
- package/checkbox/package.json +4 -0
- package/chip/package.json +4 -0
- package/code-block/package.json +4 -0
- package/color-picker/package.json +4 -0
- package/command-palette/package.json +4 -0
- package/confirm-dialog/package.json +4 -0
- package/context-menu/package.json +4 -0
- package/dashboard-grid/package.json +4 -0
- package/date-input/package.json +4 -0
- package/divider/package.json +4 -0
- package/empty-state/package.json +4 -0
- package/fesm2022/neural-ui-core-accordion.mjs +162 -0
- package/fesm2022/neural-ui-core-accordion.mjs.map +1 -0
- package/fesm2022/neural-ui-core-alert.mjs +116 -0
- package/fesm2022/neural-ui-core-alert.mjs.map +1 -0
- package/fesm2022/neural-ui-core-autocomplete.mjs +332 -0
- package/fesm2022/neural-ui-core-autocomplete.mjs.map +1 -0
- package/fesm2022/neural-ui-core-avatar.mjs +109 -0
- package/fesm2022/neural-ui-core-avatar.mjs.map +1 -0
- package/fesm2022/neural-ui-core-badge.mjs +54 -0
- package/fesm2022/neural-ui-core-badge.mjs.map +1 -0
- package/fesm2022/neural-ui-core-block-ui.mjs +95 -0
- package/fesm2022/neural-ui-core-block-ui.mjs.map +1 -0
- package/fesm2022/neural-ui-core-breadcrumb.mjs +84 -0
- package/fesm2022/neural-ui-core-breadcrumb.mjs.map +1 -0
- package/fesm2022/neural-ui-core-button.mjs +125 -0
- package/fesm2022/neural-ui-core-button.mjs.map +1 -0
- package/fesm2022/neural-ui-core-card.mjs +69 -0
- package/fesm2022/neural-ui-core-card.mjs.map +1 -0
- package/fesm2022/neural-ui-core-chart.mjs +287 -0
- package/fesm2022/neural-ui-core-chart.mjs.map +1 -0
- package/fesm2022/neural-ui-core-checkbox.mjs +138 -0
- package/fesm2022/neural-ui-core-checkbox.mjs.map +1 -0
- package/fesm2022/neural-ui-core-chip.mjs +130 -0
- package/fesm2022/neural-ui-core-chip.mjs.map +1 -0
- package/fesm2022/neural-ui-core-code-block.mjs +250 -0
- package/fesm2022/neural-ui-core-code-block.mjs.map +1 -0
- package/fesm2022/neural-ui-core-color-picker.mjs +435 -0
- package/fesm2022/neural-ui-core-color-picker.mjs.map +1 -0
- package/fesm2022/neural-ui-core-command-palette.mjs +235 -0
- package/fesm2022/neural-ui-core-command-palette.mjs.map +1 -0
- package/fesm2022/neural-ui-core-confirm-dialog.mjs +118 -0
- package/fesm2022/neural-ui-core-confirm-dialog.mjs.map +1 -0
- package/fesm2022/neural-ui-core-context-menu.mjs +158 -0
- package/fesm2022/neural-ui-core-context-menu.mjs.map +1 -0
- package/fesm2022/neural-ui-core-dashboard-grid.mjs +144 -0
- package/fesm2022/neural-ui-core-dashboard-grid.mjs.map +1 -0
- package/fesm2022/neural-ui-core-date-input.mjs +1332 -0
- package/fesm2022/neural-ui-core-date-input.mjs.map +1 -0
- package/fesm2022/neural-ui-core-divider.mjs +54 -0
- package/fesm2022/neural-ui-core-divider.mjs.map +1 -0
- package/fesm2022/neural-ui-core-empty-state.mjs +84 -0
- package/fesm2022/neural-ui-core-empty-state.mjs.map +1 -0
- package/fesm2022/neural-ui-core-filter-bar.mjs +118 -0
- package/fesm2022/neural-ui-core-filter-bar.mjs.map +1 -0
- package/fesm2022/neural-ui-core-icon.mjs +50 -0
- package/fesm2022/neural-ui-core-icon.mjs.map +1 -0
- package/fesm2022/neural-ui-core-image-viewer.mjs +309 -0
- package/fesm2022/neural-ui-core-image-viewer.mjs.map +1 -0
- package/fesm2022/neural-ui-core-input-otp.mjs +192 -0
- package/fesm2022/neural-ui-core-input-otp.mjs.map +1 -0
- package/fesm2022/neural-ui-core-input.mjs +320 -0
- package/fesm2022/neural-ui-core-input.mjs.map +1 -0
- package/fesm2022/neural-ui-core-knob.mjs +323 -0
- package/fesm2022/neural-ui-core-knob.mjs.map +1 -0
- package/fesm2022/neural-ui-core-meter-group.mjs +122 -0
- package/fesm2022/neural-ui-core-meter-group.mjs.map +1 -0
- package/fesm2022/neural-ui-core-modal.mjs +156 -0
- package/fesm2022/neural-ui-core-modal.mjs.map +1 -0
- package/fesm2022/neural-ui-core-multiselect.mjs +748 -0
- package/fesm2022/neural-ui-core-multiselect.mjs.map +1 -0
- package/fesm2022/neural-ui-core-nav.mjs +952 -0
- package/fesm2022/neural-ui-core-nav.mjs.map +1 -0
- package/fesm2022/neural-ui-core-notification-center.mjs +264 -0
- package/fesm2022/neural-ui-core-notification-center.mjs.map +1 -0
- package/fesm2022/neural-ui-core-number-input.mjs +331 -0
- package/fesm2022/neural-ui-core-number-input.mjs.map +1 -0
- package/fesm2022/neural-ui-core-pagination.mjs +198 -0
- package/fesm2022/neural-ui-core-pagination.mjs.map +1 -0
- package/fesm2022/neural-ui-core-popover.mjs +207 -0
- package/fesm2022/neural-ui-core-popover.mjs.map +1 -0
- package/fesm2022/neural-ui-core-progress-bar.mjs +105 -0
- package/fesm2022/neural-ui-core-progress-bar.mjs.map +1 -0
- package/fesm2022/neural-ui-core-radio.mjs +171 -0
- package/fesm2022/neural-ui-core-radio.mjs.map +1 -0
- package/fesm2022/neural-ui-core-rating.mjs +151 -0
- package/fesm2022/neural-ui-core-rating.mjs.map +1 -0
- package/fesm2022/neural-ui-core-select.mjs +638 -0
- package/fesm2022/neural-ui-core-select.mjs.map +1 -0
- package/fesm2022/neural-ui-core-sidebar.mjs +214 -0
- package/fesm2022/neural-ui-core-sidebar.mjs.map +1 -0
- package/fesm2022/neural-ui-core-skeleton.mjs +40 -0
- package/fesm2022/neural-ui-core-skeleton.mjs.map +1 -0
- package/fesm2022/neural-ui-core-slider.mjs +146 -0
- package/fesm2022/neural-ui-core-slider.mjs.map +1 -0
- package/fesm2022/neural-ui-core-spinner.mjs +113 -0
- package/fesm2022/neural-ui-core-spinner.mjs.map +1 -0
- package/fesm2022/neural-ui-core-split-button.mjs +252 -0
- package/fesm2022/neural-ui-core-split-button.mjs.map +1 -0
- package/fesm2022/neural-ui-core-splitter.mjs +174 -0
- package/fesm2022/neural-ui-core-splitter.mjs.map +1 -0
- package/fesm2022/neural-ui-core-stats-card.mjs +163 -0
- package/fesm2022/neural-ui-core-stats-card.mjs.map +1 -0
- package/fesm2022/neural-ui-core-stepper.mjs +204 -0
- package/fesm2022/neural-ui-core-stepper.mjs.map +1 -0
- package/fesm2022/neural-ui-core-switch.mjs +111 -0
- package/fesm2022/neural-ui-core-switch.mjs.map +1 -0
- package/fesm2022/neural-ui-core-table.mjs +1860 -0
- package/fesm2022/neural-ui-core-table.mjs.map +1 -0
- package/fesm2022/neural-ui-core-tabs.mjs +246 -0
- package/fesm2022/neural-ui-core-tabs.mjs.map +1 -0
- package/fesm2022/neural-ui-core-textarea.mjs +188 -0
- package/fesm2022/neural-ui-core-textarea.mjs.map +1 -0
- package/fesm2022/neural-ui-core-timeline.mjs +117 -0
- package/fesm2022/neural-ui-core-timeline.mjs.map +1 -0
- package/fesm2022/neural-ui-core-toast.mjs +171 -0
- package/fesm2022/neural-ui-core-toast.mjs.map +1 -0
- package/fesm2022/neural-ui-core-toggle-button-group.mjs +162 -0
- package/fesm2022/neural-ui-core-toggle-button-group.mjs.map +1 -0
- package/fesm2022/neural-ui-core-toolbar.mjs +67 -0
- package/fesm2022/neural-ui-core-toolbar.mjs.map +1 -0
- package/fesm2022/neural-ui-core-tooltip.mjs +151 -0
- package/fesm2022/neural-ui-core-tooltip.mjs.map +1 -0
- package/fesm2022/neural-ui-core-url-state.mjs +96 -0
- package/fesm2022/neural-ui-core-url-state.mjs.map +1 -0
- package/fesm2022/neural-ui-core-virtual-list.mjs +126 -0
- package/fesm2022/neural-ui-core-virtual-list.mjs.map +1 -0
- package/fesm2022/neural-ui-core.mjs +11 -8544
- package/fesm2022/neural-ui-core.mjs.map +1 -1
- package/filter-bar/package.json +4 -0
- package/icon/package.json +4 -0
- package/image-viewer/package.json +4 -0
- package/input/package.json +4 -0
- package/input-otp/package.json +4 -0
- package/knob/package.json +4 -0
- package/meter-group/package.json +4 -0
- package/modal/package.json +4 -0
- package/multiselect/package.json +4 -0
- package/nav/package.json +4 -0
- package/notification-center/package.json +4 -0
- package/number-input/package.json +4 -0
- package/package.json +252 -5
- package/pagination/package.json +4 -0
- package/popover/package.json +4 -0
- package/progress-bar/package.json +4 -0
- package/radio/package.json +4 -0
- package/rating/package.json +4 -0
- package/select/package.json +4 -0
- package/sidebar/package.json +4 -0
- package/skeleton/package.json +4 -0
- package/slider/package.json +4 -0
- package/spinner/package.json +4 -0
- package/split-button/package.json +4 -0
- package/splitter/package.json +4 -0
- package/stats-card/package.json +4 -0
- package/stepper/package.json +4 -0
- package/styles/_tokens.scss +209 -7
- package/styles.scss +1 -0
- package/switch/package.json +4 -0
- package/table/package.json +4 -0
- package/tabs/package.json +4 -0
- package/textarea/package.json +4 -0
- package/timeline/package.json +4 -0
- package/toast/package.json +4 -0
- package/toggle-button-group/package.json +4 -0
- package/toolbar/package.json +4 -0
- package/tooltip/package.json +4 -0
- package/types/neural-ui-core-accordion.d.ts +55 -0
- package/types/neural-ui-core-alert.d.ts +47 -0
- package/types/neural-ui-core-autocomplete.d.ts +69 -0
- package/types/neural-ui-core-avatar.d.ts +39 -0
- package/types/neural-ui-core-badge.d.ts +36 -0
- package/types/neural-ui-core-block-ui.d.ts +46 -0
- package/types/neural-ui-core-breadcrumb.d.ts +38 -0
- package/types/neural-ui-core-button.d.ts +55 -0
- package/types/neural-ui-core-card.d.ts +37 -0
- package/types/neural-ui-core-chart.d.ts +236 -0
- package/types/neural-ui-core-checkbox.d.ts +33 -0
- package/types/neural-ui-core-chip.d.ts +53 -0
- package/types/neural-ui-core-code-block.d.ts +55 -0
- package/types/neural-ui-core-color-picker.d.ts +55 -0
- package/types/neural-ui-core-command-palette.d.ts +56 -0
- package/types/neural-ui-core-confirm-dialog.d.ts +50 -0
- package/types/neural-ui-core-context-menu.d.ts +66 -0
- package/types/neural-ui-core-dashboard-grid.d.ts +41 -0
- package/types/neural-ui-core-date-input.d.ts +178 -0
- package/types/neural-ui-core-divider.d.ts +20 -0
- package/types/neural-ui-core-empty-state.d.ts +32 -0
- package/types/neural-ui-core-filter-bar.d.ts +49 -0
- package/types/neural-ui-core-icon.d.ts +33 -0
- package/types/neural-ui-core-image-viewer.d.ts +67 -0
- package/types/neural-ui-core-input-otp.d.ts +49 -0
- package/types/neural-ui-core-input.d.ts +86 -0
- package/types/neural-ui-core-knob.d.ts +68 -0
- package/types/neural-ui-core-meter-group.d.ts +52 -0
- package/types/neural-ui-core-modal.d.ts +54 -0
- package/types/neural-ui-core-multiselect.d.ts +129 -0
- package/types/neural-ui-core-nav.d.ts +69 -0
- package/types/neural-ui-core-notification-center.d.ts +60 -0
- package/types/neural-ui-core-number-input.d.ts +63 -0
- package/types/neural-ui-core-pagination.d.ts +30 -0
- package/types/neural-ui-core-popover.d.ts +73 -0
- package/types/neural-ui-core-progress-bar.d.ts +35 -0
- package/types/neural-ui-core-radio.d.ts +51 -0
- package/types/neural-ui-core-rating.d.ts +34 -0
- package/types/neural-ui-core-select.d.ts +161 -0
- package/types/neural-ui-core-sidebar.d.ts +57 -0
- package/types/neural-ui-core-skeleton.d.ts +22 -0
- package/types/neural-ui-core-slider.d.ts +42 -0
- package/types/neural-ui-core-spinner.d.ts +38 -0
- package/types/neural-ui-core-split-button.d.ts +65 -0
- package/types/neural-ui-core-splitter.d.ts +28 -0
- package/types/neural-ui-core-stats-card.d.ts +39 -0
- package/types/neural-ui-core-stepper.d.ts +51 -0
- package/types/neural-ui-core-switch.d.ts +34 -0
- package/types/neural-ui-core-table.d.ts +282 -0
- package/types/neural-ui-core-tabs.d.ts +76 -0
- package/types/neural-ui-core-textarea.d.ts +52 -0
- package/types/neural-ui-core-timeline.d.ts +33 -0
- package/types/neural-ui-core-toast.d.ts +70 -0
- package/types/neural-ui-core-toggle-button-group.d.ts +63 -0
- package/types/neural-ui-core-toolbar.d.ts +36 -0
- package/types/neural-ui-core-tooltip.d.ts +48 -0
- package/types/neural-ui-core-url-state.d.ts +58 -0
- package/types/neural-ui-core-virtual-list.d.ts +60 -0
- package/types/neural-ui-core.d.ts +5 -2107
- package/url-state/package.json +4 -0
- package/virtual-list/package.json +4 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
interface NeuBreadcrumbItem {
|
|
4
|
+
/** Etiqueta visible / Visible label */
|
|
5
|
+
label: string;
|
|
6
|
+
/** Ruta interna (RouterLink) / Internal route (RouterLink) */
|
|
7
|
+
route?: string | string[];
|
|
8
|
+
/** URL externa / External URL */
|
|
9
|
+
url?: string;
|
|
10
|
+
/** Icono Lucide opcional / Optional Lucide icon */
|
|
11
|
+
icon?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* NeuralUI Breadcrumb Component
|
|
15
|
+
*
|
|
16
|
+
* Ruta de navegación jerárquica. El último elemento se muestra
|
|
17
|
+
* como activo (sin enlace).
|
|
18
|
+
*
|
|
19
|
+
* Uso:
|
|
20
|
+
* <neu-breadcrumb [items]="breadcrumbs" />
|
|
21
|
+
*
|
|
22
|
+
* items = [
|
|
23
|
+
* { label: 'Inicio', route: '/' },
|
|
24
|
+
* { label: 'Componentes', route: '/components' },
|
|
25
|
+
* { label: 'Breadcrumb' },
|
|
26
|
+
* ];
|
|
27
|
+
*/
|
|
28
|
+
declare class NeuBreadcrumbComponent {
|
|
29
|
+
/** Lista de ítems de navegación / Navigation item list */
|
|
30
|
+
items: _angular_core.InputSignal<NeuBreadcrumbItem[]>;
|
|
31
|
+
/** Separador personalizable / Customizable separator */
|
|
32
|
+
separator: _angular_core.InputSignal<string>;
|
|
33
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuBreadcrumbComponent, never>;
|
|
34
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuBreadcrumbComponent, "neu-breadcrumb", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export { NeuBreadcrumbComponent };
|
|
38
|
+
export type { NeuBreadcrumbItem };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
type NeuButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger' | 'outline';
|
|
4
|
+
type NeuButtonSize = 'sm' | 'md' | 'lg';
|
|
5
|
+
type NeuButtonIconPosition = 'left' | 'right';
|
|
6
|
+
/**
|
|
7
|
+
* NeuralUI Button Component
|
|
8
|
+
*
|
|
9
|
+
* Uso: <button neu-button variant="primary" size="md">Texto</button>
|
|
10
|
+
* Con icono: <button neu-button icon="lucideSave">Guardar</button>
|
|
11
|
+
* Solo icono: <button neu-button icon="lucideTrash2" [iconOnly]="true" />
|
|
12
|
+
*
|
|
13
|
+
* Signals: variant, size, disabled, loading, fullWidth, icon, iconPosition, iconOnly
|
|
14
|
+
* son inputs reactivos. El estado se computa automáticamente con computed().
|
|
15
|
+
*/
|
|
16
|
+
declare class NeuButtonComponent {
|
|
17
|
+
/** Variante visual del botón / Visual button variant */
|
|
18
|
+
variant: _angular_core.InputSignal<NeuButtonVariant>;
|
|
19
|
+
/** Tamaño del botón / Button size */
|
|
20
|
+
size: _angular_core.InputSignal<NeuButtonSize>;
|
|
21
|
+
/** Deshabilita el botón y bloquea la interacción / Disables the button and blocks interaction */
|
|
22
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
23
|
+
/** Muestra un spinner y deshabilita mientras se procesa / Shows a spinner and disables while processing */
|
|
24
|
+
loading: _angular_core.InputSignal<boolean>;
|
|
25
|
+
/** Ocupa el 100% del ancho de su contenedor / Takes up 100% of its container width */
|
|
26
|
+
fullWidth: _angular_core.InputSignal<boolean>;
|
|
27
|
+
/** Nombre del icono Lucide (ej: 'lucideSave', 'lucidePlus') / Lucide icon name (e.g. 'lucideSave', 'lucidePlus') */
|
|
28
|
+
icon: _angular_core.InputSignal<string>;
|
|
29
|
+
/** Posición del icono respecto al texto */
|
|
30
|
+
iconPosition: _angular_core.InputSignal<NeuButtonIconPosition>;
|
|
31
|
+
/** Modo solo-icono: aplica padding cuadrado y oculta el ng-content / Icon-only mode: applies square padding and hides ng-content */
|
|
32
|
+
iconOnly: _angular_core.InputSignal<boolean>;
|
|
33
|
+
/** Etiqueta accesible obligatoria cuando se usa iconOnly (WCAG 4.1.2) / Required accessible label when using iconOnly (WCAG 4.1.2) */
|
|
34
|
+
ariaLabel: _angular_core.InputSignal<string>;
|
|
35
|
+
/** Emite el evento de click cuando el botón está activo / Emits the click event when the button is active */
|
|
36
|
+
neuClick: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
37
|
+
/** @internal — reenvía el click nativo al output Angular / forwards the native click to the Angular output */
|
|
38
|
+
_onHostClick(event: MouseEvent): void;
|
|
39
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
40
|
+
readonly hasIcon: _angular_core.Signal<boolean>;
|
|
41
|
+
readonly iconSize: _angular_core.Signal<string>;
|
|
42
|
+
readonly hostClasses: _angular_core.Signal<{
|
|
43
|
+
[x: string]: boolean;
|
|
44
|
+
'neu-button': boolean;
|
|
45
|
+
'neu-button--loading': boolean;
|
|
46
|
+
'neu-button--disabled': boolean;
|
|
47
|
+
'neu-button--full-width': boolean;
|
|
48
|
+
'neu-button--icon-only': boolean;
|
|
49
|
+
}>;
|
|
50
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuButtonComponent, never>;
|
|
51
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuButtonComponent, "button[neu-button]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "iconPosition"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "neuClick": "neuClick"; }, never, ["*"], true, never>;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export { NeuButtonComponent };
|
|
55
|
+
export type { NeuButtonIconPosition, NeuButtonSize, NeuButtonVariant };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
type NeuCardPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
4
|
+
/**
|
|
5
|
+
* NeuralUI Card Component
|
|
6
|
+
*
|
|
7
|
+
* Contenedor con sombras y bordes Neural. Soporta header, body y footer
|
|
8
|
+
* via content projection.
|
|
9
|
+
*
|
|
10
|
+
* Uso:
|
|
11
|
+
* <neu-card>
|
|
12
|
+
* <div neu-card-header>Título</div>
|
|
13
|
+
* <p>Contenido</p>
|
|
14
|
+
* <div neu-card-footer>Acciones</div>
|
|
15
|
+
* </neu-card>
|
|
16
|
+
*/
|
|
17
|
+
declare class NeuCardComponent {
|
|
18
|
+
/** Espaciado interior del cuerpo / Inner body padding */
|
|
19
|
+
padding: _angular_core.InputSignal<NeuCardPadding>;
|
|
20
|
+
/** Efecto hover con elevación de sombra / Hover effect with shadow elevation */
|
|
21
|
+
hoverable: _angular_core.InputSignal<boolean>;
|
|
22
|
+
/** Borde con acento de color primario / Border with primary color accent */
|
|
23
|
+
bordered: _angular_core.InputSignal<boolean>;
|
|
24
|
+
/** Card compacta sin bordes ni sombras / Compact card without borders or shadows */
|
|
25
|
+
flat: _angular_core.InputSignal<boolean>;
|
|
26
|
+
readonly hostClasses: _angular_core.Signal<{
|
|
27
|
+
'neu-card': boolean;
|
|
28
|
+
'neu-card--hoverable': boolean;
|
|
29
|
+
'neu-card--bordered': boolean;
|
|
30
|
+
'neu-card--flat': boolean;
|
|
31
|
+
}>;
|
|
32
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuCardComponent, never>;
|
|
33
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuCardComponent, "neu-card", never, { "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "hoverable": { "alias": "hoverable"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "flat": { "alias": "flat"; "required": false; "isSignal": true; }; }, {}, never, ["[neu-card-header]", "*", "[neu-card-footer]"], true, never>;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { NeuCardComponent };
|
|
37
|
+
export type { NeuCardPadding };
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
type NeuChartType = 'line' | 'area' | 'bar' | 'bar-stacked' | 'bar-horizontal' | 'bar-horizontal-stacked' | 'pareto' | 'donut' | 'pie' | 'radialBar';
|
|
4
|
+
interface NeuChartSeries {
|
|
5
|
+
name: string;
|
|
6
|
+
data: number[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* NeuChart — Wrapper reactivo de ApexCharts con estética Neural-Blue.
|
|
10
|
+
*
|
|
11
|
+
* Tipos soportados:
|
|
12
|
+
* line · area · bar · bar-stacked · bar-horizontal · bar-horizontal-stacked · pareto · donut · pie · radialBar
|
|
13
|
+
*
|
|
14
|
+
* Uso:
|
|
15
|
+
* <neu-chart
|
|
16
|
+
* type="bar-stacked"
|
|
17
|
+
* [series]="series()"
|
|
18
|
+
* [categories]="months()"
|
|
19
|
+
* height="280"
|
|
20
|
+
* />
|
|
21
|
+
*/
|
|
22
|
+
declare class NeuChartComponent {
|
|
23
|
+
/** Tipo de gráfica. / Chart type. */
|
|
24
|
+
type: _angular_core.InputSignal<NeuChartType>;
|
|
25
|
+
/** Series para gráficas de ejes (line, area, bar, pareto…). / Series for axis-based charts (line, area, bar, pareto…). */
|
|
26
|
+
series: _angular_core.InputSignal<NeuChartSeries[]>;
|
|
27
|
+
/** Series para gráficas sin ejes (donut, pie). / Series for non-axis charts (donut, pie). */
|
|
28
|
+
pieSeries: _angular_core.InputSignal<number[]>;
|
|
29
|
+
/** Etiquetas del eje X. / X-axis labels. */
|
|
30
|
+
categories: _angular_core.InputSignal<string[]>;
|
|
31
|
+
/** Etiquetas para donut/pie. / Labels for donut/pie. */
|
|
32
|
+
labels: _angular_core.InputSignal<string[]>;
|
|
33
|
+
/** Altura en px. / Height in px. */
|
|
34
|
+
height: _angular_core.InputSignal<number>;
|
|
35
|
+
/** Colores custom. Si no se proveen, usa la paleta Neural-Blue. / Custom colors. If not provided, uses the Neural-Blue palette. */
|
|
36
|
+
colors: _angular_core.InputSignal<string[]>;
|
|
37
|
+
/** Muestra/oculta las etiquetas de datos. / Shows/hides data labels. */
|
|
38
|
+
showDataLabels: _angular_core.InputSignal<boolean>;
|
|
39
|
+
/** Título de la gráfica. / Chart title. */
|
|
40
|
+
title: _angular_core.InputSignal<string>;
|
|
41
|
+
private get _isBar();
|
|
42
|
+
private get _isStacked();
|
|
43
|
+
private get _isHorizontal();
|
|
44
|
+
protected readonly resolvedColors: _angular_core.Signal<string[]>;
|
|
45
|
+
protected readonly resolvedSeries: _angular_core.Signal<any>;
|
|
46
|
+
protected readonly chartConfig: _angular_core.Signal<{
|
|
47
|
+
type: any;
|
|
48
|
+
height: number;
|
|
49
|
+
stacked: boolean;
|
|
50
|
+
fontFamily: string;
|
|
51
|
+
foreColor: string;
|
|
52
|
+
background: string;
|
|
53
|
+
toolbar: {
|
|
54
|
+
show: boolean;
|
|
55
|
+
};
|
|
56
|
+
sparkline: {
|
|
57
|
+
enabled: boolean;
|
|
58
|
+
};
|
|
59
|
+
zoom: {
|
|
60
|
+
enabled: boolean;
|
|
61
|
+
};
|
|
62
|
+
animations: {
|
|
63
|
+
enabled: boolean;
|
|
64
|
+
speed: number;
|
|
65
|
+
};
|
|
66
|
+
}>;
|
|
67
|
+
protected readonly xaxisConfig: _angular_core.Signal<{
|
|
68
|
+
categories: string[];
|
|
69
|
+
labels: {
|
|
70
|
+
style: {
|
|
71
|
+
fontSize: string;
|
|
72
|
+
fontFamily: string;
|
|
73
|
+
colors: string;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
axisBorder: {
|
|
77
|
+
show: boolean;
|
|
78
|
+
};
|
|
79
|
+
axisTicks: {
|
|
80
|
+
show: boolean;
|
|
81
|
+
};
|
|
82
|
+
}>;
|
|
83
|
+
protected readonly yaxisConfig: _angular_core.Signal<any>;
|
|
84
|
+
protected readonly strokeConfig: _angular_core.Signal<{
|
|
85
|
+
show: boolean;
|
|
86
|
+
width: number[];
|
|
87
|
+
curve: any;
|
|
88
|
+
lineCap: "round";
|
|
89
|
+
} | {
|
|
90
|
+
show: boolean;
|
|
91
|
+
width?: undefined;
|
|
92
|
+
curve?: undefined;
|
|
93
|
+
lineCap?: undefined;
|
|
94
|
+
} | {
|
|
95
|
+
curve: "smooth";
|
|
96
|
+
width: number;
|
|
97
|
+
show?: undefined;
|
|
98
|
+
lineCap?: undefined;
|
|
99
|
+
}>;
|
|
100
|
+
protected readonly fillConfig: _angular_core.Signal<{
|
|
101
|
+
type: "gradient";
|
|
102
|
+
gradient: {
|
|
103
|
+
shadeIntensity: number;
|
|
104
|
+
opacityFrom: number;
|
|
105
|
+
opacityTo: number;
|
|
106
|
+
stops: number[];
|
|
107
|
+
};
|
|
108
|
+
opacity?: undefined;
|
|
109
|
+
} | {
|
|
110
|
+
opacity: number;
|
|
111
|
+
type?: undefined;
|
|
112
|
+
gradient?: undefined;
|
|
113
|
+
}>;
|
|
114
|
+
protected readonly dataLabelsConfig: _angular_core.Signal<{
|
|
115
|
+
enabled: boolean;
|
|
116
|
+
style: {
|
|
117
|
+
fontSize: string;
|
|
118
|
+
fontFamily: string;
|
|
119
|
+
};
|
|
120
|
+
}>;
|
|
121
|
+
protected readonly gridConfig: _angular_core.Signal<{
|
|
122
|
+
borderColor: string;
|
|
123
|
+
strokeDashArray: number;
|
|
124
|
+
xaxis: {
|
|
125
|
+
lines: {
|
|
126
|
+
show: boolean;
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
yaxis: {
|
|
130
|
+
lines: {
|
|
131
|
+
show: boolean;
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
padding: {
|
|
135
|
+
left: number;
|
|
136
|
+
right: number;
|
|
137
|
+
};
|
|
138
|
+
}>;
|
|
139
|
+
protected readonly legendConfig: _angular_core.Signal<{
|
|
140
|
+
position: "bottom";
|
|
141
|
+
fontFamily: string;
|
|
142
|
+
fontSize: string;
|
|
143
|
+
markers: {
|
|
144
|
+
size: number;
|
|
145
|
+
};
|
|
146
|
+
itemMargin: {
|
|
147
|
+
horizontal: number;
|
|
148
|
+
};
|
|
149
|
+
}>;
|
|
150
|
+
protected readonly tooltipConfig: _angular_core.Signal<{
|
|
151
|
+
theme: "light";
|
|
152
|
+
style: {
|
|
153
|
+
fontSize: string;
|
|
154
|
+
fontFamily: string;
|
|
155
|
+
};
|
|
156
|
+
} | {
|
|
157
|
+
y: {
|
|
158
|
+
formatter: (v: number) => string;
|
|
159
|
+
}[];
|
|
160
|
+
theme: "light";
|
|
161
|
+
style: {
|
|
162
|
+
fontSize: string;
|
|
163
|
+
fontFamily: string;
|
|
164
|
+
};
|
|
165
|
+
}>;
|
|
166
|
+
protected readonly plotOptionsConfig: _angular_core.Signal<{
|
|
167
|
+
pie: {
|
|
168
|
+
donut: {
|
|
169
|
+
size: string;
|
|
170
|
+
};
|
|
171
|
+
};
|
|
172
|
+
radialBar?: undefined;
|
|
173
|
+
bar?: undefined;
|
|
174
|
+
} | {
|
|
175
|
+
radialBar: {
|
|
176
|
+
hollow: {
|
|
177
|
+
margin: number;
|
|
178
|
+
size: string;
|
|
179
|
+
};
|
|
180
|
+
track: {
|
|
181
|
+
background: string;
|
|
182
|
+
strokeWidth: string;
|
|
183
|
+
margin: number;
|
|
184
|
+
};
|
|
185
|
+
dataLabels: {
|
|
186
|
+
name: {
|
|
187
|
+
fontSize: string;
|
|
188
|
+
fontFamily: string;
|
|
189
|
+
color: string;
|
|
190
|
+
offsetY: number;
|
|
191
|
+
};
|
|
192
|
+
value: {
|
|
193
|
+
fontSize: string;
|
|
194
|
+
fontFamily: string;
|
|
195
|
+
fontWeight: number;
|
|
196
|
+
color: string;
|
|
197
|
+
offsetY: number;
|
|
198
|
+
formatter: (v: number) => string;
|
|
199
|
+
};
|
|
200
|
+
total: {
|
|
201
|
+
show: boolean;
|
|
202
|
+
label: string;
|
|
203
|
+
fontSize: string;
|
|
204
|
+
fontFamily: string;
|
|
205
|
+
color: string;
|
|
206
|
+
formatter: (w: any) => string;
|
|
207
|
+
};
|
|
208
|
+
};
|
|
209
|
+
};
|
|
210
|
+
pie?: undefined;
|
|
211
|
+
bar?: undefined;
|
|
212
|
+
} | {
|
|
213
|
+
bar: {
|
|
214
|
+
horizontal: boolean;
|
|
215
|
+
borderRadius: number;
|
|
216
|
+
columnWidth: string;
|
|
217
|
+
barHeight: string;
|
|
218
|
+
dataLabels: {
|
|
219
|
+
total: {
|
|
220
|
+
enabled: boolean;
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
pie?: undefined;
|
|
225
|
+
radialBar?: undefined;
|
|
226
|
+
} | {
|
|
227
|
+
pie?: undefined;
|
|
228
|
+
radialBar?: undefined;
|
|
229
|
+
bar?: undefined;
|
|
230
|
+
}>;
|
|
231
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuChartComponent, never>;
|
|
232
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuChartComponent, "neu-chart", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "series": { "alias": "series"; "required": false; "isSignal": true; }; "pieSeries": { "alias": "pieSeries"; "required": false; "isSignal": true; }; "categories": { "alias": "categories"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "colors": { "alias": "colors"; "required": false; "isSignal": true; }; "showDataLabels": { "alias": "showDataLabels"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
export { NeuChartComponent };
|
|
236
|
+
export type { NeuChartSeries, NeuChartType };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* NeuralUI Checkbox Component
|
|
6
|
+
*
|
|
7
|
+
* Checkbox personalizado y accesible para Angular Forms.
|
|
8
|
+
*
|
|
9
|
+
* Uso:
|
|
10
|
+
* <neu-checkbox label="Acepto los términos" [formControl]="termsCtrl" />
|
|
11
|
+
*/
|
|
12
|
+
declare class NeuCheckboxComponent implements ControlValueAccessor {
|
|
13
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
14
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
15
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
16
|
+
readonly _id: string;
|
|
17
|
+
protected readonly _checked: _angular_core.WritableSignal<boolean>;
|
|
18
|
+
/** Estado disabled interno — combina el input `disabled` con el CVA setDisabledState / Internal disabled state — combines the `disabled` input with CVA setDisabledState */
|
|
19
|
+
private readonly _cvaDisabled;
|
|
20
|
+
protected readonly _isDisabled: _angular_core.Signal<boolean>;
|
|
21
|
+
private _onChange;
|
|
22
|
+
private _onTouched;
|
|
23
|
+
onChange(event: Event): void;
|
|
24
|
+
onBlur(): void;
|
|
25
|
+
writeValue(val: unknown): void;
|
|
26
|
+
registerOnChange(fn: (v: boolean) => void): void;
|
|
27
|
+
registerOnTouched(fn: () => void): void;
|
|
28
|
+
setDisabledState(isDisabled: boolean): void;
|
|
29
|
+
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>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { NeuCheckboxComponent };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
type NeuChipVariant = 'default' | 'primary' | 'success' | 'warning' | 'danger';
|
|
4
|
+
type NeuChipSize = 'sm' | 'md';
|
|
5
|
+
/**
|
|
6
|
+
* NeuralUI Chip Component
|
|
7
|
+
*
|
|
8
|
+
* Etiqueta compacta seleccionable y/o eliminable. Ideal para filtros,
|
|
9
|
+
* listas de tags y multiselección visual.
|
|
10
|
+
*
|
|
11
|
+
* Uso:
|
|
12
|
+
* <neu-chip>Angular</neu-chip>
|
|
13
|
+
* <neu-chip [removable]="true" (removed)="onRemove()">CSS</neu-chip>
|
|
14
|
+
* <neu-chip [selected]="true" (selectedChange)="toggle()">TypeScript</neu-chip>
|
|
15
|
+
*/
|
|
16
|
+
declare class NeuChipComponent {
|
|
17
|
+
/** Variante de color / Color variant */
|
|
18
|
+
variant: _angular_core.InputSignal<NeuChipVariant>;
|
|
19
|
+
/** Tamaño / Size */
|
|
20
|
+
size: _angular_core.InputSignal<NeuChipSize>;
|
|
21
|
+
/** Estado seleccionado / Selected state */
|
|
22
|
+
selected: _angular_core.InputSignal<boolean>;
|
|
23
|
+
/** Muestra botón de cierre / Shows close button */
|
|
24
|
+
removable: _angular_core.InputSignal<boolean>;
|
|
25
|
+
/** Deshabilitado / Disabled */
|
|
26
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
27
|
+
/** Aria-label del botón de eliminar / Aria-label for the delete button */
|
|
28
|
+
removeAriaLabel: _angular_core.InputSignal<string>;
|
|
29
|
+
/** Emite al hacer clic o pulsar espacio/enter / Emits on click or space/enter press */
|
|
30
|
+
selectedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
31
|
+
/** Emite al pulsar el botón de cierre / Emits when the close button is pressed */
|
|
32
|
+
removed: _angular_core.OutputEmitterRef<void>;
|
|
33
|
+
readonly hostClasses: _angular_core.Signal<{
|
|
34
|
+
[x: string]: boolean;
|
|
35
|
+
'neu-chip': boolean;
|
|
36
|
+
'neu-chip--selected': boolean;
|
|
37
|
+
'neu-chip--removable': boolean;
|
|
38
|
+
'neu-chip--disabled': boolean;
|
|
39
|
+
}>;
|
|
40
|
+
/** Rol ARIA del host: 'button' cuando seleccionable, 'group' cuando también eliminable / Host ARIA role: 'button' when selectable, 'group' when removable */
|
|
41
|
+
readonly _hostRole: _angular_core.Signal<"group" | "button">;
|
|
42
|
+
/** aria-pressed solo cuando actúa como botón toggle / aria-pressed only when acting as toggle button */
|
|
43
|
+
readonly _hostAriaPressed: _angular_core.Signal<boolean | null>;
|
|
44
|
+
/** tabindex nulo en el host grupo para no saturar el orden de foco / null tabindex on group host to not saturate focus order */
|
|
45
|
+
readonly _hostTabindex: _angular_core.Signal<number | null>;
|
|
46
|
+
onToggle(): void;
|
|
47
|
+
onRemove(): void;
|
|
48
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuChipComponent, never>;
|
|
49
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuChipComponent, "neu-chip", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "removeAriaLabel": { "alias": "removeAriaLabel"; "required": false; "isSignal": true; }; }, { "selectedChange": "selectedChange"; "removed": "removed"; }, never, ["*"], true, never>;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export { NeuChipComponent };
|
|
53
|
+
export type { NeuChipSize, NeuChipVariant };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* NeuralUI Code Block
|
|
5
|
+
*
|
|
6
|
+
* Bloque de código con estilo editor oscuro (Tokyo Night).
|
|
7
|
+
* Incluye botón de copiar al portapapeles, badge del lenguaje
|
|
8
|
+
* y soporte para resaltado futuro con ngx-highlightjs.
|
|
9
|
+
*
|
|
10
|
+
* Uso:
|
|
11
|
+
* <neu-code-block [code]="snippet" lang="TypeScript" />
|
|
12
|
+
*
|
|
13
|
+
* Con ngx-highlightjs instalado, envuelve el <pre> con
|
|
14
|
+
* [highlight]="code" para resaltado automático.
|
|
15
|
+
*/
|
|
16
|
+
declare class NeuCodeBlockComponent {
|
|
17
|
+
private readonly doc;
|
|
18
|
+
private readonly destroyRef;
|
|
19
|
+
/** Código fuente a mostrar / Source code to display */
|
|
20
|
+
code: _angular_core.InputSignal<string>;
|
|
21
|
+
/** Nombre del lenguaje (decorativo) / Language name (decorative) */
|
|
22
|
+
lang: _angular_core.InputSignal<string>;
|
|
23
|
+
/**
|
|
24
|
+
* Identificador de lenguaje estándar (typescript, scss, html, bash…).
|
|
25
|
+
* Genera automáticamente el label legible para el badge.
|
|
26
|
+
* Language identifier — auto-generates a readable badge label.
|
|
27
|
+
*/
|
|
28
|
+
language: _angular_core.InputSignal<string>;
|
|
29
|
+
/** Label legible derivado de lang o language / Readable label derived from lang or language */
|
|
30
|
+
protected readonly displayLang: _angular_core.Signal<string>;
|
|
31
|
+
/** Texto del botón cuando no se ha copiado / Button text when not yet copied */
|
|
32
|
+
copyLabel: _angular_core.InputSignal<string | undefined>;
|
|
33
|
+
/** Texto del botón tras copiar / Button text after copying */
|
|
34
|
+
copiedLabel: _angular_core.InputSignal<string | undefined>;
|
|
35
|
+
/** Aria-label del botón copiar / Aria-label for the copy button */
|
|
36
|
+
copyAriaLabel: _angular_core.InputSignal<string | undefined>;
|
|
37
|
+
/** Aria-label del botón tras copiar / Aria-label for the button after copying */
|
|
38
|
+
copiedAriaLabel: _angular_core.InputSignal<string | undefined>;
|
|
39
|
+
private readonly localeLabels;
|
|
40
|
+
protected readonly resolvedCopyLabel: _angular_core.Signal<string>;
|
|
41
|
+
protected readonly resolvedCopiedLabel: _angular_core.Signal<string>;
|
|
42
|
+
protected readonly resolvedCopyAriaLabel: _angular_core.Signal<string>;
|
|
43
|
+
protected readonly resolvedCopiedAriaLabel: _angular_core.Signal<string>;
|
|
44
|
+
protected readonly copied: _angular_core.WritableSignal<boolean>;
|
|
45
|
+
private _copyTimer?;
|
|
46
|
+
constructor();
|
|
47
|
+
copy(): void;
|
|
48
|
+
private _markCopied;
|
|
49
|
+
private _getLocaleLabels;
|
|
50
|
+
private _resolveInputLabel;
|
|
51
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuCodeBlockComponent, never>;
|
|
52
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuCodeBlockComponent, "neu-code-block", never, { "code": { "alias": "code"; "required": false; "isSignal": true; }; "lang": { "alias": "lang"; "required": false; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "copyLabel": { "alias": "copyLabel"; "required": false; "isSignal": true; }; "copiedLabel": { "alias": "copiedLabel"; "required": false; "isSignal": true; }; "copyAriaLabel": { "alias": "copyAriaLabel"; "required": false; "isSignal": true; }; "copiedAriaLabel": { "alias": "copiedAriaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export { NeuCodeBlockComponent };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
|
|
4
|
+
type NeuColorMode = 'hex' | 'rgb' | 'hsl';
|
|
5
|
+
/**
|
|
6
|
+
* NeuralUI ColorPicker
|
|
7
|
+
*
|
|
8
|
+
* Selector de color con swatch, hue slider y modos hex/rgb/hsl. CVA.
|
|
9
|
+
*
|
|
10
|
+
* Uso:
|
|
11
|
+
* <neu-color-picker [formControl]="colorCtrl" mode="hex" />
|
|
12
|
+
*/
|
|
13
|
+
declare class NeuColorPickerComponent implements ControlValueAccessor {
|
|
14
|
+
readonly mode: _angular_core.InputSignal<NeuColorMode>;
|
|
15
|
+
/** Emitido al cambiar el color / Emitted when color changes */
|
|
16
|
+
readonly colorChange: _angular_core.OutputEmitterRef<string>;
|
|
17
|
+
readonly _id: string;
|
|
18
|
+
readonly _modes: NeuColorMode[];
|
|
19
|
+
readonly _swatches: string[];
|
|
20
|
+
readonly _isOpen: _angular_core.WritableSignal<boolean>;
|
|
21
|
+
readonly _cvaDisabled: _angular_core.WritableSignal<boolean>;
|
|
22
|
+
readonly _hue: _angular_core.WritableSignal<number>;
|
|
23
|
+
readonly _sv: _angular_core.WritableSignal<{
|
|
24
|
+
s: number;
|
|
25
|
+
v: number;
|
|
26
|
+
}>;
|
|
27
|
+
readonly _activeMode: _angular_core.WritableSignal<NeuColorMode>;
|
|
28
|
+
private _dragging;
|
|
29
|
+
private _onChange;
|
|
30
|
+
private _onTouched;
|
|
31
|
+
private readonly _el;
|
|
32
|
+
constructor();
|
|
33
|
+
_outsideClick(e: MouseEvent): void;
|
|
34
|
+
readonly _hexValue: _angular_core.Signal<string>;
|
|
35
|
+
readonly _textValue: _angular_core.Signal<string>;
|
|
36
|
+
_canvasDown(e: PointerEvent): void;
|
|
37
|
+
_canvasDrag(e: PointerEvent): void;
|
|
38
|
+
_canvasUp(e: PointerEvent): void;
|
|
39
|
+
private _updateFromCanvas;
|
|
40
|
+
_toggle(): void;
|
|
41
|
+
_onHueChange(v: number): void;
|
|
42
|
+
_pickSwatch(hex: string): void;
|
|
43
|
+
_onTextChange(text: string): void;
|
|
44
|
+
private _applyHex;
|
|
45
|
+
private _emit;
|
|
46
|
+
writeValue(val: string | null): void;
|
|
47
|
+
registerOnChange(fn: (v: string) => void): void;
|
|
48
|
+
registerOnTouched(fn: () => void): void;
|
|
49
|
+
setDisabledState(d: boolean): void;
|
|
50
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuColorPickerComponent, never>;
|
|
51
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuColorPickerComponent, "neu-color-picker", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "colorChange": "colorChange"; }, never, never, true, never>;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export { NeuColorPickerComponent };
|
|
55
|
+
export type { NeuColorMode };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
interface NeuCommand {
|
|
4
|
+
id: string;
|
|
5
|
+
label: string;
|
|
6
|
+
/** Grupo / Category */
|
|
7
|
+
group?: string;
|
|
8
|
+
/** Icono (emoji / texto) / Icon */
|
|
9
|
+
icon?: string;
|
|
10
|
+
/** Shortcut display (e.g. '⌘K') */
|
|
11
|
+
shortcut?: string;
|
|
12
|
+
/** Handler invocado al seleccionar / Handler called on select */
|
|
13
|
+
action: () => void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* NeuralUI CommandPaletteService
|
|
17
|
+
*
|
|
18
|
+
* Gestiona los comandos registrados y la apertura/cierre del pallete.
|
|
19
|
+
*
|
|
20
|
+
* Uso:
|
|
21
|
+
* inject(NeuCommandPaletteService).register({ id: 'goto-home', label: 'Ir al inicio', action: () => router.navigate(['/']) });
|
|
22
|
+
* inject(NeuCommandPaletteService).open();
|
|
23
|
+
*/
|
|
24
|
+
declare class NeuCommandPaletteService {
|
|
25
|
+
private readonly _commands;
|
|
26
|
+
readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
27
|
+
readonly query: _angular_core.WritableSignal<string>;
|
|
28
|
+
readonly filteredCommands: _angular_core.Signal<NeuCommand[]>;
|
|
29
|
+
register(...commands: NeuCommand[]): void;
|
|
30
|
+
unregister(...ids: string[]): void;
|
|
31
|
+
open(): void;
|
|
32
|
+
close(): void;
|
|
33
|
+
execute(id: string): void;
|
|
34
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuCommandPaletteService, never>;
|
|
35
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<NeuCommandPaletteService>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* NeuralUI CommandPalette Component
|
|
39
|
+
*
|
|
40
|
+
* Paleta de comandos activada con Cmd+K / Ctrl+K.
|
|
41
|
+
* Registra el atajos globalmente mientras el componente está montado.
|
|
42
|
+
*
|
|
43
|
+
* Uso:
|
|
44
|
+
* <neu-command-palette /> <!-- colócalo una vez en el root layout -->
|
|
45
|
+
*/
|
|
46
|
+
declare class NeuCommandPaletteComponent {
|
|
47
|
+
readonly _svc: NeuCommandPaletteService;
|
|
48
|
+
readonly _activeIndex: _angular_core.WritableSignal<number>;
|
|
49
|
+
_onDocKey(e: KeyboardEvent): void;
|
|
50
|
+
_onInputKey(e: KeyboardEvent): void;
|
|
51
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuCommandPaletteComponent, never>;
|
|
52
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuCommandPaletteComponent, "neu-command-palette", never, {}, {}, never, never, true, never>;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export { NeuCommandPaletteComponent, NeuCommandPaletteService };
|
|
56
|
+
export type { NeuCommand };
|