@neural-ui/core 1.2.1 → 1.3.1
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 +406 -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 +825 -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 +710 -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 +1872 -0
- package/fesm2022/neural-ui-core-table.mjs.map +1 -0
- package/fesm2022/neural-ui-core-tabs.mjs +338 -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 +202 -0
- 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 +75 -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 +138 -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 +170 -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 +285 -0
- package/types/neural-ui-core-tabs.d.ts +88 -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 +3 -2105
- package/url-state/package.json +4 -0
- package/virtual-list/package.json +4 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import { NeuButtonSize } from '@neural-ui/core/button';
|
|
4
|
+
|
|
5
|
+
interface NeuToggleOption<T = unknown> {
|
|
6
|
+
/** Texto visible del botón / Visible button text */
|
|
7
|
+
label: string;
|
|
8
|
+
/** Valor asociado a esta opción / Value associated with this option */
|
|
9
|
+
value: T;
|
|
10
|
+
/** Nombre de icono Lucide (opcional) / Lucide icon name (optional) */
|
|
11
|
+
icon?: string;
|
|
12
|
+
/** Deshabilita solo esta opción / Disables this option only */
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* NeuralUI ToggleButtonGroup Component
|
|
17
|
+
*
|
|
18
|
+
* Grupo de botones de selección (single o múltiple). / Selection button group (single or multiple).
|
|
19
|
+
* Selector segmentado para selección única o múltiple. / Segmented selector for single or multiple selection.
|
|
20
|
+
*
|
|
21
|
+
* Uso (single):
|
|
22
|
+
* <neu-toggle-button-group [options]="opts" [formControl]="valueCtrl" />
|
|
23
|
+
*
|
|
24
|
+
* Uso (múltiple):
|
|
25
|
+
* <neu-toggle-button-group [options]="opts" [multiple]="true" [formControl]="valuesCtrl" />
|
|
26
|
+
*/
|
|
27
|
+
declare class NeuToggleButtonGroupComponent<T = unknown> implements ControlValueAccessor {
|
|
28
|
+
/** Lista de opciones del grupo / Group option list */
|
|
29
|
+
options: _angular_core.InputSignal<NeuToggleOption<T>[]>;
|
|
30
|
+
/**
|
|
31
|
+
* Permite seleccionar múltiples opciones.
|
|
32
|
+
* - false (por defecto): valor es `T | null`
|
|
33
|
+
* - true: valor es `T[]`
|
|
34
|
+
*/
|
|
35
|
+
multiple: _angular_core.InputSignal<boolean>;
|
|
36
|
+
/** Tamaño visual / Visual size */
|
|
37
|
+
size: _angular_core.InputSignal<NeuButtonSize>;
|
|
38
|
+
/** Deshabilita todo el grupo / Disables the entire group */
|
|
39
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
40
|
+
/** Emite el nuevo valor al cambiar (útil sin formControl) / Emits the new value on change (useful without formControl) */
|
|
41
|
+
neuChange: _angular_core.OutputEmitterRef<T | T[] | null>;
|
|
42
|
+
readonly _value: _angular_core.WritableSignal<T | T[] | null>;
|
|
43
|
+
readonly _isDisabled: _angular_core.WritableSignal<boolean>;
|
|
44
|
+
readonly groupClasses: _angular_core.Signal<{
|
|
45
|
+
[x: string]: boolean;
|
|
46
|
+
'neu-toggle-group': boolean;
|
|
47
|
+
'neu-toggle-group--disabled': boolean;
|
|
48
|
+
}>;
|
|
49
|
+
isSelected(value: T): boolean;
|
|
50
|
+
toggle(opt: NeuToggleOption<T>): void;
|
|
51
|
+
onBlur(): void;
|
|
52
|
+
private _onChange;
|
|
53
|
+
private _onTouched;
|
|
54
|
+
writeValue(val: T | T[] | null): void;
|
|
55
|
+
registerOnChange(fn: (v: unknown) => void): void;
|
|
56
|
+
registerOnTouched(fn: () => void): void;
|
|
57
|
+
setDisabledState(isDisabled: boolean): void;
|
|
58
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuToggleButtonGroupComponent<any>, never>;
|
|
59
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuToggleButtonGroupComponent<any>, "neu-toggle-button-group", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "neuChange": "neuChange"; }, never, never, true, never>;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export { NeuToggleButtonGroupComponent };
|
|
63
|
+
export type { NeuToggleOption };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
type NeuToolbarSize = 'sm' | 'md' | 'lg';
|
|
4
|
+
/**
|
|
5
|
+
* NeuralUI Toolbar Component
|
|
6
|
+
*
|
|
7
|
+
* Barra horizontal con tres zonas de contenido: start (izquierda), center (centro) y end (derecha).
|
|
8
|
+
*
|
|
9
|
+
* Uso:
|
|
10
|
+
* <neu-toolbar>
|
|
11
|
+
* <span neu-toolbar-start>Logo</span>
|
|
12
|
+
* <span neu-toolbar-center>Título</span>
|
|
13
|
+
* <span neu-toolbar-end><neu-button>Acción</neu-button></span>
|
|
14
|
+
* </neu-toolbar>
|
|
15
|
+
*/
|
|
16
|
+
declare class NeuToolbarComponent {
|
|
17
|
+
/** Tamaño de la toolbar / Toolbar size */
|
|
18
|
+
readonly size: _angular_core.InputSignal<NeuToolbarSize>;
|
|
19
|
+
/** Añade sombra en la parte inferior / Adds shadow at the bottom */
|
|
20
|
+
readonly shadow: _angular_core.InputSignal<boolean>;
|
|
21
|
+
/** Añade separador inferior / Adds bottom separator */
|
|
22
|
+
readonly bordered: _angular_core.InputSignal<boolean>;
|
|
23
|
+
/** Color de fondo personalizado vía CSS (pasa a la variable local) / Custom background color via CSS */
|
|
24
|
+
readonly surface: _angular_core.InputSignal<"primary" | "surface" | "none">;
|
|
25
|
+
readonly hostClasses: _angular_core.Signal<{
|
|
26
|
+
[x: string]: boolean;
|
|
27
|
+
'neu-toolbar': boolean;
|
|
28
|
+
'neu-toolbar--shadow': boolean;
|
|
29
|
+
'neu-toolbar--bordered': boolean;
|
|
30
|
+
}>;
|
|
31
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuToolbarComponent, never>;
|
|
32
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuToolbarComponent, "neu-toolbar", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "shadow": { "alias": "shadow"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "surface": { "alias": "surface"; "required": false; "isSignal": true; }; }, {}, never, ["[neu-toolbar-start]", "[neu-toolbar-center]", "[neu-toolbar-end]", "*"], true, never>;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { NeuToolbarComponent };
|
|
36
|
+
export type { NeuToolbarSize };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { OnDestroy } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
/** @internal — componente flotante del tooltip, renderizado vía CDK Portal / floating tooltip component, rendered via CDK Portal */
|
|
5
|
+
declare class NeuTooltipOverlayComponent {
|
|
6
|
+
readonly text: _angular_core.InputSignal<string>;
|
|
7
|
+
readonly tooltipId: _angular_core.InputSignal<string>;
|
|
8
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuTooltipOverlayComponent, never>;
|
|
9
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuTooltipOverlayComponent, "neu-tooltip-overlay", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "tooltipId": { "alias": "tooltipId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
type NeuTooltipPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
13
|
+
/**
|
|
14
|
+
* NeuralUI Tooltip Directive
|
|
15
|
+
*
|
|
16
|
+
* Muestra un globo informativo al hacer hover/focus sobre el elemento host.
|
|
17
|
+
* Usa CDK Overlay para posicionamiento robusto.
|
|
18
|
+
*
|
|
19
|
+
* Uso:
|
|
20
|
+
* <button [neuTooltip]="'Guardar cambios'">Guardar</button>
|
|
21
|
+
* <button [neuTooltip]="'Eliminar'" neuTooltipPosition="bottom">Eliminar</button>
|
|
22
|
+
*/
|
|
23
|
+
declare class NeuTooltipDirective implements OnDestroy {
|
|
24
|
+
readonly neuTooltip: _angular_core.InputSignal<string>;
|
|
25
|
+
readonly neuTooltipPosition: _angular_core.InputSignal<NeuTooltipPosition>;
|
|
26
|
+
readonly neuTooltipDisabled: _angular_core.InputSignal<boolean>;
|
|
27
|
+
private readonly _overlay;
|
|
28
|
+
private readonly _elementRef;
|
|
29
|
+
private readonly _injector;
|
|
30
|
+
readonly _tooltipId: string;
|
|
31
|
+
/** Elementos HTML nativamente focusables que no necesitan tabindex extra / Natively focusable HTML elements that don't need extra tabindex */
|
|
32
|
+
private readonly _NATIVE_FOCUSABLE;
|
|
33
|
+
protected readonly _needsTabindex: () => boolean;
|
|
34
|
+
private _overlayRef;
|
|
35
|
+
private _tooltipRef;
|
|
36
|
+
private _hideTimeout;
|
|
37
|
+
show(): void;
|
|
38
|
+
hide(): void;
|
|
39
|
+
private _createOverlay;
|
|
40
|
+
private _getPositions;
|
|
41
|
+
private _detach;
|
|
42
|
+
ngOnDestroy(): void;
|
|
43
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuTooltipDirective, never>;
|
|
44
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NeuTooltipDirective, "[neuTooltip]", never, { "neuTooltip": { "alias": "neuTooltip"; "required": true; "isSignal": true; }; "neuTooltipPosition": { "alias": "neuTooltipPosition"; "required": false; "isSignal": true; }; "neuTooltipDisabled": { "alias": "neuTooltipDisabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export { NeuTooltipDirective, NeuTooltipOverlayComponent };
|
|
48
|
+
export type { NeuTooltipPosition };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Signal, Injector } from '@angular/core';
|
|
3
|
+
import { Params, Router } from '@angular/router';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* NeuUrlStateService — El Sistema Nervioso de NeuralUI
|
|
7
|
+
*
|
|
8
|
+
* Sincroniza el estado de la UI con los QueryParams de la URL.
|
|
9
|
+
* Completamente reactivo via Angular Signals.
|
|
10
|
+
*
|
|
11
|
+
* Uso:
|
|
12
|
+
* const urlState = inject(NeuUrlStateService);
|
|
13
|
+
* const page = urlState.getParam('page'); // Signal<string | null>
|
|
14
|
+
* urlState.setParam('menu', 'open'); // Actualiza ?menu=open
|
|
15
|
+
* urlState.patchParams({ page: '2', q: 'filter' }); // Actualiza múltiples
|
|
16
|
+
*/
|
|
17
|
+
declare class NeuUrlStateService {
|
|
18
|
+
private readonly injector;
|
|
19
|
+
private readonly router;
|
|
20
|
+
/**
|
|
21
|
+
* Signal con el mapa completo de queryParams actual.
|
|
22
|
+
* Se actualiza automáticamente en cada NavigationEnd.
|
|
23
|
+
*/
|
|
24
|
+
readonly params: Signal<Params>;
|
|
25
|
+
constructor(injector: Injector, router: Router);
|
|
26
|
+
/**
|
|
27
|
+
* Devuelve un Signal reactivo con el valor del parámetro indicado.
|
|
28
|
+
* Memorizar el resultado: no llamar en bucle pues crea un computed nuevo c/vez.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* readonly menuOpen = computed(() => this.urlState.getParam('menu')() === 'open');
|
|
32
|
+
*/
|
|
33
|
+
getParam(key: string): Signal<string | null>;
|
|
34
|
+
/**
|
|
35
|
+
* Establece un único queryParam en la URL.
|
|
36
|
+
*
|
|
37
|
+
* @param key Nombre del parámetro
|
|
38
|
+
* @param value Valor. Pasar `null` para eliminarlo de la URL.
|
|
39
|
+
* @param replaceUrl Si true (default) usa replaceState — no ensucia el historial.
|
|
40
|
+
* Pasar false para acciones que el usuario debe poder deshacer con Atrás.
|
|
41
|
+
*/
|
|
42
|
+
setParam(key: string, value: string | null, replaceUrl?: boolean): void;
|
|
43
|
+
/**
|
|
44
|
+
* Actualiza múltiples queryParams en una sola navegación.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* urlState.patchParams({ page: '1', q: 'Angular' });
|
|
48
|
+
*/
|
|
49
|
+
patchParams(params: Record<string, string | null>, replaceUrl?: boolean): void;
|
|
50
|
+
/**
|
|
51
|
+
* Elimina todos los queryParams de la URL de una vez.
|
|
52
|
+
*/
|
|
53
|
+
clearParams(replaceUrl?: boolean): void;
|
|
54
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NeuUrlStateService, never>;
|
|
55
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NeuUrlStateService>;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { NeuUrlStateService };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { AfterViewInit, TemplateRef } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* NeuralUI VirtualList
|
|
6
|
+
*
|
|
7
|
+
* Wrapper sobre CDK VirtualScrollViewport para listas de miles de ítems.
|
|
8
|
+
* Proyecta contenido mediante `ng-template` con let-item.
|
|
9
|
+
*
|
|
10
|
+
* Uso:
|
|
11
|
+
* <neu-virtual-list [items]="bigArray" [itemSize]="40">
|
|
12
|
+
* <ng-template neuVirtualItem let-item>
|
|
13
|
+
* <div class="my-row">{{ item.name }}</div>
|
|
14
|
+
* </ng-template>
|
|
15
|
+
* </neu-virtual-list>
|
|
16
|
+
*/
|
|
17
|
+
declare class NeuVirtualListComponent<T = unknown> implements AfterViewInit {
|
|
18
|
+
/** Referencia al viewport CDK — para forzar remeasure tras render / CDK viewport ref — to force remeasure after render */
|
|
19
|
+
private readonly _viewport?;
|
|
20
|
+
constructor();
|
|
21
|
+
ngAfterViewInit(): void;
|
|
22
|
+
/** Array de ítems / Item array */
|
|
23
|
+
readonly items: _angular_core.InputSignal<T[]>;
|
|
24
|
+
/** Altura de cada fila en px / Row height in px */
|
|
25
|
+
readonly itemSize: _angular_core.InputSignal<number>;
|
|
26
|
+
/** Número de filas visibles / Visible row count (sets container height) */
|
|
27
|
+
readonly visibleRows: _angular_core.InputSignal<number>;
|
|
28
|
+
/** Texto cuando la lista está vacía / Empty state text */
|
|
29
|
+
readonly emptyLabel: _angular_core.InputSignal<string>;
|
|
30
|
+
/** Función de tracking / Tracking function */
|
|
31
|
+
readonly trackBy: _angular_core.InputSignal<(index: number, item: T) => unknown>;
|
|
32
|
+
/** Emitido al hacer click en un ítem / Emitted on item click */
|
|
33
|
+
readonly itemClick: _angular_core.OutputEmitterRef<{
|
|
34
|
+
item: T;
|
|
35
|
+
index: number;
|
|
36
|
+
}>;
|
|
37
|
+
itemTemplate: TemplateRef<{
|
|
38
|
+
$implicit: T;
|
|
39
|
+
index: number;
|
|
40
|
+
}> | null;
|
|
41
|
+
readonly _containerHeight: _angular_core.Signal<string>;
|
|
42
|
+
readonly _isEmpty: _angular_core.Signal<boolean>;
|
|
43
|
+
_trackBy: (index: number, item: T) => unknown;
|
|
44
|
+
protected _itemTemplateOrDefault(fallback: TemplateRef<{
|
|
45
|
+
$implicit: T;
|
|
46
|
+
index: number;
|
|
47
|
+
}>): TemplateRef<{
|
|
48
|
+
$implicit: T;
|
|
49
|
+
index: number;
|
|
50
|
+
}>;
|
|
51
|
+
protected _itemContext(item: T, index: number): {
|
|
52
|
+
$implicit: T;
|
|
53
|
+
index: number;
|
|
54
|
+
};
|
|
55
|
+
protected _defaultItemLabel(item: T): string;
|
|
56
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NeuVirtualListComponent<any>, never>;
|
|
57
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NeuVirtualListComponent<any>, "neu-virtual-list", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "itemSize": { "alias": "itemSize"; "required": false; "isSignal": true; }; "visibleRows": { "alias": "visibleRows"; "required": false; "isSignal": true; }; "emptyLabel": { "alias": "emptyLabel"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, ["itemTemplate"], never, true, never>;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { NeuVirtualListComponent };
|