pdm-ui-kit 0.1.50 → 0.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 +356 -4
- package/esm2020/lib/components/alert-dialog/alert-dialog.component.mjs +3 -3
- package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +37 -4
- package/esm2020/lib/components/button-group/button-group.component.mjs +208 -182
- package/esm2020/lib/components/calendar/calendar.component.mjs +3 -3
- package/esm2020/lib/components/card/card.component.mjs +36 -53
- package/esm2020/lib/components/combobox/combobox.component.mjs +136 -14
- package/esm2020/lib/components/command/command.component.mjs +3 -3
- package/esm2020/lib/components/context-menu/context-menu.component.mjs +121 -42
- package/esm2020/lib/components/data-table/data-table.component.mjs +214 -16
- package/esm2020/lib/components/date-picker/date-picker.component.mjs +66 -54
- package/esm2020/lib/components/dialog/dialog.component.mjs +171 -38
- package/esm2020/lib/components/draggable-table/draggable-table.component.mjs +300 -0
- package/esm2020/lib/components/drawer/drawer.component.mjs +123 -16
- package/esm2020/lib/components/dropdown-menu/dropdown-menu.component.mjs +3 -2
- package/esm2020/lib/components/hover-card/hover-card.component.mjs +185 -24
- package/esm2020/lib/components/input/input.component.mjs +15 -15
- package/esm2020/lib/components/input-group/input-group.component.mjs +14 -14
- package/esm2020/lib/components/menubar/menubar.component.mjs +105 -29
- package/esm2020/lib/components/navigation-menu/navigation-menu.component.mjs +25 -3
- package/esm2020/lib/components/pagination/pagination.component.mjs +3 -3
- package/esm2020/lib/components/popover/popover.component.mjs +107 -73
- package/esm2020/lib/components/select/select.component.mjs +26 -23
- package/esm2020/lib/components/sheet/sheet.component.mjs +68 -12
- package/esm2020/lib/components/sidebar/sidebar.component.mjs +52 -5
- package/esm2020/lib/components/table/table.component.mjs +165 -192
- package/esm2020/lib/components/tabs/tabs.component.mjs +6 -6
- package/esm2020/lib/components/toggle-group/toggle-group.component.mjs +6 -6
- package/esm2020/lib/components/tooltip/tooltip.component.mjs +162 -19
- package/esm2020/lib/overlay/z-index-helper.mjs +69 -0
- package/esm2020/lib/pdm-ui-kit.module.mjs +5 -1
- package/esm2020/lib/utils/responsive.mjs +143 -0
- package/esm2020/lib/utils/z-index.mjs +90 -0
- package/esm2020/public-api.mjs +67 -63
- package/fesm2015/pdm-ui-kit.mjs +2628 -847
- package/fesm2015/pdm-ui-kit.mjs.map +1 -1
- package/fesm2020/pdm-ui-kit.mjs +2630 -845
- package/fesm2020/pdm-ui-kit.mjs.map +1 -1
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +23 -1
- package/lib/components/button-group/button-group.component.d.ts +8 -2
- package/lib/components/card/card.component.d.ts +32 -19
- package/lib/components/combobox/combobox.component.d.ts +20 -3
- package/lib/components/context-menu/context-menu.component.d.ts +17 -8
- package/lib/components/data-table/data-table.component.d.ts +172 -14
- package/lib/components/date-picker/date-picker.component.d.ts +5 -6
- package/lib/components/dialog/dialog.component.d.ts +38 -4
- package/lib/components/draggable-table/draggable-table.component.d.ts +74 -0
- package/lib/components/drawer/drawer.component.d.ts +65 -7
- package/lib/components/hover-card/hover-card.component.d.ts +27 -4
- package/lib/components/input/input.component.d.ts +3 -3
- package/lib/components/input-group/input-group.component.d.ts +1 -1
- package/lib/components/menubar/menubar.component.d.ts +16 -8
- package/lib/components/navigation-menu/navigation-menu.component.d.ts +22 -1
- package/lib/components/popover/popover.component.d.ts +13 -12
- package/lib/components/select/select.component.d.ts +4 -5
- package/lib/components/sheet/sheet.component.d.ts +30 -3
- package/lib/components/sidebar/sidebar.component.d.ts +39 -1
- package/lib/components/table/table.component.d.ts +47 -26
- package/lib/components/tabs/tabs.component.d.ts +1 -1
- package/lib/components/toggle-group/toggle-group.component.d.ts +1 -1
- package/lib/components/tooltip/tooltip.component.d.ts +21 -3
- package/lib/overlay/z-index-helper.d.ts +36 -0
- package/lib/pdm-ui-kit.module.d.ts +42 -41
- package/lib/utils/responsive.d.ts +107 -0
- package/lib/utils/z-index.d.ts +69 -0
- package/package.json +10 -8
- package/public-api.d.ts +66 -62
- package/src/lib/styles/tokens.css +182 -0
|
@@ -1,12 +1,70 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
export declare type PdmDrawerPosition = 'bottom' | 'left' | 'right' | 'top';
|
|
4
|
+
export declare type PdmDrawerSize = 'sm' | 'md' | 'lg' | 'full';
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated Use specific drawer types. Will be removed in v0.3.0
|
|
7
|
+
*/
|
|
3
8
|
export declare type PdmDrawerVariant = 'drawer' | 'responsive-dialog';
|
|
9
|
+
/**
|
|
10
|
+
* Drawer/Sheet component con soporte responsive
|
|
11
|
+
*
|
|
12
|
+
* MEJORADO en v0.2.0:
|
|
13
|
+
* - Posicionamiento configurable (bottom, left, right, top)
|
|
14
|
+
* - Tamaños predefinidos
|
|
15
|
+
* - Responsive: bottom sheet en mobile, side panel en desktop
|
|
16
|
+
* - Contenido genérico via ng-content
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* // Drawer simple desde el bottom
|
|
20
|
+
* <pdm-drawer [open]="isOpen" position="bottom">
|
|
21
|
+
* <h3>Title</h3>
|
|
22
|
+
* <p>Content</p>
|
|
23
|
+
* </pdm-drawer>
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* // Side panel desde la right
|
|
27
|
+
* <pdm-drawer [open]="isOpen" position="right" size="md">
|
|
28
|
+
* <p>Content</p>
|
|
29
|
+
* </pdm-drawer>
|
|
30
|
+
*/
|
|
4
31
|
export declare class PdmDrawerComponent {
|
|
5
32
|
open: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Posición del drawer
|
|
35
|
+
* - bottom: desde abajo (default, mejor para mobile)
|
|
36
|
+
* - left: side panel desde izquierda
|
|
37
|
+
* - right: side panel desde derecha
|
|
38
|
+
* - top: desde arriba (poco común)
|
|
39
|
+
*/
|
|
40
|
+
position: PdmDrawerPosition;
|
|
41
|
+
/**
|
|
42
|
+
* Tamaño del drawer
|
|
43
|
+
* - sm: 400px (side) / 50vh (bottom/top)
|
|
44
|
+
* - md: 500px (side) / 66vh (bottom/top) (default)
|
|
45
|
+
* - lg: 640px (side) / 80vh (bottom/top)
|
|
46
|
+
* - full: 100% ancho/alto
|
|
47
|
+
*/
|
|
48
|
+
size: PdmDrawerSize;
|
|
49
|
+
/**
|
|
50
|
+
* @deprecated Use position="bottom" instead
|
|
51
|
+
*/
|
|
6
52
|
variant: PdmDrawerVariant;
|
|
7
53
|
className: string;
|
|
8
54
|
title: string;
|
|
9
55
|
description: string;
|
|
56
|
+
/**
|
|
57
|
+
* Mostrar handle visual (línea para arrastrar)
|
|
58
|
+
* Solo tiene sentido en position="bottom"
|
|
59
|
+
*/
|
|
60
|
+
showHandle: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Mostrar botón de cerrar
|
|
63
|
+
*/
|
|
64
|
+
showCloseButton: boolean;
|
|
65
|
+
closeOnEsc: boolean;
|
|
66
|
+
closeOnBackdropClick: boolean;
|
|
67
|
+
openChange: EventEmitter<boolean>;
|
|
10
68
|
value: number | string;
|
|
11
69
|
unit: string;
|
|
12
70
|
decrementLabel: string;
|
|
@@ -20,19 +78,19 @@ export declare class PdmDrawerComponent {
|
|
|
20
78
|
usernameLabel: string;
|
|
21
79
|
usernameValue: string;
|
|
22
80
|
responsivePrimaryLabel: string;
|
|
23
|
-
|
|
24
|
-
closeOnEsc: boolean;
|
|
25
|
-
/** Close when the backdrop is clicked. Default: `true`. */
|
|
26
|
-
closeOnBackdropClick: boolean;
|
|
27
|
-
openChange: EventEmitter<boolean>;
|
|
81
|
+
bars: number[];
|
|
28
82
|
primaryAction: EventEmitter<void>;
|
|
29
83
|
secondaryAction: EventEmitter<void>;
|
|
30
|
-
bars: number[];
|
|
31
84
|
onEsc(): void;
|
|
32
85
|
onBackdropClick(): void;
|
|
33
86
|
close(): void;
|
|
34
87
|
onPrimaryAction(): void;
|
|
35
88
|
onSecondaryAction(): void;
|
|
89
|
+
get containerClassName(): string;
|
|
90
|
+
get panelClassName(): string;
|
|
91
|
+
private getPositionClasses;
|
|
92
|
+
private getSizeClasses;
|
|
93
|
+
get showLegacyContent(): boolean;
|
|
36
94
|
static ɵfac: i0.ɵɵFactoryDeclaration<PdmDrawerComponent, never>;
|
|
37
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PdmDrawerComponent, "pdm-drawer", never, { "open": "open"; "variant": "variant"; "className": "className"; "title": "title"; "description": "description"; "value": "value"; "unit": "unit"; "decrementLabel": "decrementLabel"; "incrementLabel": "incrementLabel"; "primaryLabel": "primaryLabel"; "secondaryLabel": "secondaryLabel"; "profileTitle": "profileTitle"; "profileDescription": "profileDescription"; "nameLabel": "nameLabel"; "nameValue": "nameValue"; "usernameLabel": "usernameLabel"; "usernameValue": "usernameValue"; "responsivePrimaryLabel": "responsivePrimaryLabel"; "
|
|
95
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PdmDrawerComponent, "pdm-drawer", never, { "open": "open"; "position": "position"; "size": "size"; "variant": "variant"; "className": "className"; "title": "title"; "description": "description"; "showHandle": "showHandle"; "showCloseButton": "showCloseButton"; "closeOnEsc": "closeOnEsc"; "closeOnBackdropClick": "closeOnBackdropClick"; "value": "value"; "unit": "unit"; "decrementLabel": "decrementLabel"; "incrementLabel": "incrementLabel"; "primaryLabel": "primaryLabel"; "secondaryLabel": "secondaryLabel"; "profileTitle": "profileTitle"; "profileDescription": "profileDescription"; "nameLabel": "nameLabel"; "nameValue": "nameValue"; "usernameLabel": "usernameLabel"; "usernameValue": "usernameValue"; "responsivePrimaryLabel": "responsivePrimaryLabel"; "bars": "bars"; }, { "openChange": "openChange"; "primaryAction": "primaryAction"; "secondaryAction": "secondaryAction"; }, never, ["*"], false>;
|
|
38
96
|
}
|
|
@@ -1,14 +1,37 @@
|
|
|
1
|
+
import { ChangeDetectorRef, ElementRef, OnDestroy, ViewContainerRef } from "@angular/core";
|
|
2
|
+
import { Overlay } from "@angular/cdk/overlay";
|
|
1
3
|
import * as i0 from "@angular/core";
|
|
2
|
-
export declare type PdmHoverCardSide =
|
|
3
|
-
export declare type PdmHoverCardAlign =
|
|
4
|
-
export declare class PdmHoverCardComponent {
|
|
4
|
+
export declare type PdmHoverCardSide = "top" | "right" | "bottom" | "left";
|
|
5
|
+
export declare type PdmHoverCardAlign = "start" | "center" | "end";
|
|
6
|
+
export declare class PdmHoverCardComponent implements OnDestroy {
|
|
7
|
+
private readonly overlay;
|
|
8
|
+
private readonly viewContainerRef;
|
|
9
|
+
private readonly elementRef;
|
|
10
|
+
private readonly cdr;
|
|
5
11
|
className: string;
|
|
6
12
|
panelClassName: string;
|
|
7
13
|
side: PdmHoverCardSide;
|
|
8
14
|
align: PdmHoverCardAlign;
|
|
9
15
|
panelWidth: number;
|
|
10
16
|
open: boolean;
|
|
11
|
-
|
|
17
|
+
private overlayRef;
|
|
18
|
+
private showTimeout;
|
|
19
|
+
private hideTimeout;
|
|
20
|
+
panelTemplateRef: any;
|
|
21
|
+
constructor(overlay: Overlay, viewContainerRef: ViewContainerRef, elementRef: ElementRef<HTMLElement>, cdr: ChangeDetectorRef);
|
|
22
|
+
ngOnDestroy(): void;
|
|
23
|
+
onMouseEnter(): void;
|
|
24
|
+
onMouseLeave(): void;
|
|
25
|
+
onFocusIn(): void;
|
|
26
|
+
onFocusOut(): void;
|
|
27
|
+
private clearTimeouts;
|
|
28
|
+
private show;
|
|
29
|
+
private hide;
|
|
30
|
+
private createOverlay;
|
|
31
|
+
private destroyOverlay;
|
|
32
|
+
private getPositionConfigs;
|
|
33
|
+
private getAlignX;
|
|
34
|
+
private getAlignY;
|
|
12
35
|
static ɵfac: i0.ɵɵFactoryDeclaration<PdmHoverCardComponent, never>;
|
|
13
36
|
static ɵcmp: i0.ɵɵComponentDeclaration<PdmHoverCardComponent, "pdm-hover-card", never, { "className": "className"; "panelClassName": "panelClassName"; "side": "side"; "align": "align"; "panelWidth": "panelWidth"; }, {}, never, ["[pdmHoverTrigger]", "[pdmHoverContent]"], false>;
|
|
14
37
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { EventEmitter } from
|
|
1
|
+
import { EventEmitter } from "@angular/core";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
export declare type PdmInputSize =
|
|
4
|
-
export declare type PdmInputRoundness =
|
|
3
|
+
export declare type PdmInputSize = "mini" | "small" | "regular" | "large";
|
|
4
|
+
export declare type PdmInputRoundness = "default" | "round";
|
|
5
5
|
export declare class PdmInputComponent {
|
|
6
6
|
id: string;
|
|
7
7
|
type: string;
|
|
@@ -1,26 +1,34 @@
|
|
|
1
|
-
import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from
|
|
2
|
-
import {
|
|
1
|
+
import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, ViewContainerRef } from "@angular/core";
|
|
2
|
+
import { Overlay } from "@angular/cdk/overlay";
|
|
3
|
+
import { PdmMenuItem } from "../dropdown-menu/dropdown-menu.component";
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export interface PdmMenubarItem {
|
|
5
6
|
label: string;
|
|
6
7
|
items: PdmMenuItem[];
|
|
7
8
|
}
|
|
8
9
|
export declare class PdmMenubarComponent implements OnInit, OnDestroy {
|
|
10
|
+
private readonly overlay;
|
|
11
|
+
private readonly viewContainerRef;
|
|
9
12
|
private readonly elementRef;
|
|
10
13
|
private readonly cdr;
|
|
11
14
|
menus: PdmMenubarItem[];
|
|
12
15
|
className: string;
|
|
16
|
+
panelClassName: string;
|
|
13
17
|
itemSelect: EventEmitter<string>;
|
|
14
18
|
openIndex: number;
|
|
15
|
-
|
|
16
|
-
|
|
19
|
+
menuTemplateRef: any;
|
|
20
|
+
private overlayRef;
|
|
21
|
+
private outsideClickSub;
|
|
22
|
+
constructor(overlay: Overlay, viewContainerRef: ViewContainerRef, elementRef: ElementRef<HTMLElement>, cdr: ChangeDetectorRef);
|
|
17
23
|
ngOnInit(): void;
|
|
18
24
|
ngOnDestroy(): void;
|
|
19
|
-
|
|
20
|
-
toggle(index: number): void;
|
|
25
|
+
onDocumentClickOrEsc(event: MouseEvent | KeyboardEvent): void;
|
|
26
|
+
toggle(index: number, event: MouseEvent): void;
|
|
21
27
|
select(value: string): void;
|
|
22
28
|
selectItem(item: PdmMenuItem): void;
|
|
23
|
-
private
|
|
29
|
+
private createOverlay;
|
|
30
|
+
private destroyOverlay;
|
|
31
|
+
private getPositionConfigs;
|
|
24
32
|
static ɵfac: i0.ɵɵFactoryDeclaration<PdmMenubarComponent, never>;
|
|
25
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PdmMenubarComponent, "pdm-menubar", never, { "menus": "menus"; "className": "className"; }, { "itemSelect": "itemSelect"; }, never, never, false>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PdmMenubarComponent, "pdm-menubar", never, { "menus": "menus"; "className": "className"; "panelClassName": "panelClassName"; }, { "itemSelect": "itemSelect"; }, never, never, false>;
|
|
26
34
|
}
|
|
@@ -4,9 +4,30 @@ export interface PdmNavigationItem {
|
|
|
4
4
|
href?: string;
|
|
5
5
|
active?: boolean;
|
|
6
6
|
}
|
|
7
|
+
export declare type PdmNavigationMobileMode = 'scroll' | 'compact';
|
|
8
|
+
/**
|
|
9
|
+
* Navigation Menu component - Navegación horizontal responsive
|
|
10
|
+
*
|
|
11
|
+
* MEJORAS en v0.2.0:
|
|
12
|
+
* - Modo scroll: overflow-x-auto con scroll indicators en mobile
|
|
13
|
+
* - Modo compact: items abreviados en mobile, completos en desktop
|
|
14
|
+
* - Scroll smooth automático al item activo
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* <!-- Scroll horizontal (default) -->
|
|
18
|
+
* <pdm-navigation-menu [items]="navItems"></pdm-navigation-menu>
|
|
19
|
+
*
|
|
20
|
+
* <!-- Compact mode -->
|
|
21
|
+
* <pdm-navigation-menu [items]="navItems" mobileMode="compact"></pdm-navigation-menu>
|
|
22
|
+
*/
|
|
7
23
|
export declare class PdmNavigationMenuComponent {
|
|
8
24
|
items: PdmNavigationItem[];
|
|
9
25
|
className: string;
|
|
26
|
+
/**
|
|
27
|
+
* Mobile behavior: 'scroll' (horizontal scroll) o 'compact' (items reducidos)
|
|
28
|
+
* @default 'scroll'
|
|
29
|
+
*/
|
|
30
|
+
mobileMode: PdmNavigationMobileMode;
|
|
10
31
|
static ɵfac: i0.ɵɵFactoryDeclaration<PdmNavigationMenuComponent, never>;
|
|
11
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PdmNavigationMenuComponent, "pdm-navigation-menu", never, { "items": "items"; "className": "className"; }, {}, never, never, false>;
|
|
32
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PdmNavigationMenuComponent, "pdm-navigation-menu", never, { "items": "items"; "className": "className"; "mobileMode": "mobileMode"; }, {}, never, never, false>;
|
|
12
33
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from
|
|
1
|
+
import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, ViewContainerRef } from "@angular/core";
|
|
2
|
+
import { Overlay } from "@angular/cdk/overlay";
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class PdmPopoverComponent implements OnInit, OnDestroy {
|
|
5
|
+
private readonly overlay;
|
|
6
|
+
private readonly viewContainerRef;
|
|
4
7
|
private readonly elementRef;
|
|
5
8
|
private readonly cdr;
|
|
6
9
|
private _open;
|
|
@@ -9,23 +12,21 @@ export declare class PdmPopoverComponent implements OnInit, OnDestroy {
|
|
|
9
12
|
panelClassName: string;
|
|
10
13
|
showTrigger: boolean;
|
|
11
14
|
openChange: EventEmitter<boolean>;
|
|
12
|
-
panelPlacement: 'top' | 'bottom';
|
|
13
|
-
private anchorRef?;
|
|
14
15
|
private triggerRef?;
|
|
15
|
-
private
|
|
16
|
-
private
|
|
17
|
-
|
|
16
|
+
private panelTemplateRef;
|
|
17
|
+
private overlayRef;
|
|
18
|
+
private outsideClickSub;
|
|
19
|
+
constructor(overlay: Overlay, viewContainerRef: ViewContainerRef, elementRef: ElementRef<HTMLElement>, cdr: ChangeDetectorRef);
|
|
18
20
|
ngOnInit(): void;
|
|
19
21
|
ngOnDestroy(): void;
|
|
20
22
|
set open(value: boolean);
|
|
21
23
|
get open(): boolean;
|
|
22
|
-
get panelClasses(): string[];
|
|
23
24
|
toggle(): void;
|
|
24
25
|
onEsc(): void;
|
|
25
|
-
|
|
26
|
-
private
|
|
27
|
-
private
|
|
28
|
-
private
|
|
26
|
+
private openPanel;
|
|
27
|
+
private closePanel;
|
|
28
|
+
private destroyOverlay;
|
|
29
|
+
private getPositionConfigs;
|
|
29
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<PdmPopoverComponent, never>;
|
|
30
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PdmPopoverComponent, "pdm-popover", never, { "triggerText": "triggerText"; "className": "className"; "panelClassName": "panelClassName"; "showTrigger": "showTrigger"; "open": "open"; }, { "openChange": "openChange"; }, never, ["*"], false>;
|
|
31
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PdmPopoverComponent, "pdm-popover", never, { "triggerText": "triggerText"; "className": "className"; "panelClassName": "panelClassName"; "showTrigger": "showTrigger"; "open": "open"; }, { "openChange": "openChange"; }, never, ["[pdmPopoverTrigger]", "*"], false>;
|
|
31
32
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AfterContentInit, ChangeDetectorRef,
|
|
2
|
-
import { Overlay } from
|
|
3
|
-
import { PdmOverlayOptions } from
|
|
1
|
+
import { AfterContentInit, ChangeDetectorRef, EventEmitter, OnDestroy, ViewContainerRef } from "@angular/core";
|
|
2
|
+
import { Overlay } from "@angular/cdk/overlay";
|
|
3
|
+
import { PdmOverlayOptions } from "../../overlay/pdm-overlay-options";
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export interface PdmSelectOption {
|
|
6
6
|
label: string;
|
|
@@ -8,7 +8,6 @@ export interface PdmSelectOption {
|
|
|
8
8
|
disabled?: boolean;
|
|
9
9
|
}
|
|
10
10
|
export declare class PdmSelectComponent implements AfterContentInit, OnDestroy {
|
|
11
|
-
private readonly elementRef;
|
|
12
11
|
private readonly cdr;
|
|
13
12
|
private readonly overlay;
|
|
14
13
|
private readonly viewContainerRef;
|
|
@@ -33,7 +32,7 @@ export declare class PdmSelectComponent implements AfterContentInit, OnDestroy {
|
|
|
33
32
|
private projectedOptions;
|
|
34
33
|
private overlayRef;
|
|
35
34
|
private backdropSub;
|
|
36
|
-
constructor(
|
|
35
|
+
constructor(cdr: ChangeDetectorRef, overlay: Overlay, viewContainerRef: ViewContainerRef);
|
|
37
36
|
ngAfterContentInit(): void;
|
|
38
37
|
ngOnDestroy(): void;
|
|
39
38
|
/**
|
|
@@ -1,19 +1,46 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare type PdmSheetSide = 'top' | 'right' | 'bottom' | 'left';
|
|
4
|
+
export declare type PdmSheetSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
5
|
+
/**
|
|
6
|
+
* Sheet/Side panel component con soporte responsive
|
|
7
|
+
*
|
|
8
|
+
* MEJORADO en v0.2.0:
|
|
9
|
+
* - Tamaños configurables
|
|
10
|
+
* - Mejor manejo de overflow
|
|
11
|
+
* - Responsive sizes
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* <pdm-sheet [open]="isOpen" side="right" size="md">
|
|
15
|
+
* <h3>Settings</h3>
|
|
16
|
+
* <p>Content here</p>
|
|
17
|
+
* </pdm-sheet>
|
|
18
|
+
*/
|
|
4
19
|
export declare class PdmSheetComponent {
|
|
5
20
|
open: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Lado desde donde aparece el sheet
|
|
23
|
+
*/
|
|
6
24
|
side: PdmSheetSide;
|
|
25
|
+
/**
|
|
26
|
+
* Tamaño del sheet
|
|
27
|
+
* - sm: 320px (side) / 40vh (top/bottom)
|
|
28
|
+
* - md: 400px (side) / 50vh (top/bottom) (default)
|
|
29
|
+
* - lg: 500px (side) / 66vh (top/bottom)
|
|
30
|
+
* - xl: 640px (side) / 80vh (top/bottom)
|
|
31
|
+
* - full: 100%
|
|
32
|
+
*/
|
|
33
|
+
size: PdmSheetSize;
|
|
7
34
|
className: string;
|
|
8
|
-
/** Close when the ESC key is pressed. Default: `true`. */
|
|
9
35
|
closeOnEsc: boolean;
|
|
10
|
-
/** Close when the backdrop is clicked. Default: `true`. */
|
|
11
36
|
closeOnBackdropClick: boolean;
|
|
12
37
|
openChange: EventEmitter<boolean>;
|
|
13
38
|
onEsc(): void;
|
|
14
39
|
onBackdropClick(): void;
|
|
15
40
|
close(): void;
|
|
16
41
|
get panelClass(): string;
|
|
42
|
+
private getPositionClass;
|
|
43
|
+
private getSizingClass;
|
|
17
44
|
static ɵfac: i0.ɵɵFactoryDeclaration<PdmSheetComponent, never>;
|
|
18
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PdmSheetComponent, "pdm-sheet", never, { "open": "open"; "side": "side"; "className": "className"; "closeOnEsc": "closeOnEsc"; "closeOnBackdropClick": "closeOnBackdropClick"; }, { "openChange": "openChange"; }, never, ["*"], false>;
|
|
45
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PdmSheetComponent, "pdm-sheet", never, { "open": "open"; "side": "side"; "size": "size"; "className": "className"; "closeOnEsc": "closeOnEsc"; "closeOnBackdropClick": "closeOnBackdropClick"; }, { "openChange": "openChange"; }, never, ["*"], false>;
|
|
19
46
|
}
|
|
@@ -1,7 +1,45 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
1
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
export declare type PdmSidebarMobileMode = 'drawer' | 'sidebar';
|
|
4
|
+
/**
|
|
5
|
+
* Sidebar component - Navegación lateral responsive
|
|
6
|
+
*
|
|
7
|
+
* MEJORAS en v0.2.0:
|
|
8
|
+
* - Mobile drawer mode: overlay fullscreen en mobile, sidebar fijo en desktop
|
|
9
|
+
* - Sidebar mode: sidebar persistente con widths responsive
|
|
10
|
+
* - Backdrop automático en mobile drawer mode
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* <!-- Mobile drawer (default) -->
|
|
14
|
+
* <pdm-sidebar [open]="sidebarOpen" (openChange)="sidebarOpen = $event">
|
|
15
|
+
* <nav>Menu items...</nav>
|
|
16
|
+
* </pdm-sidebar>
|
|
17
|
+
*
|
|
18
|
+
* <!-- Sidebar persistente -->
|
|
19
|
+
* <pdm-sidebar mobileMode="sidebar" [collapsed]="collapsed">
|
|
20
|
+
* <nav>Menu items...</nav>
|
|
21
|
+
* </pdm-sidebar>
|
|
22
|
+
*/
|
|
2
23
|
export declare class PdmSidebarComponent {
|
|
24
|
+
/**
|
|
25
|
+
* Mobile behavior: 'drawer' (overlay) o 'sidebar' (persistente)
|
|
26
|
+
* @default 'drawer'
|
|
27
|
+
*/
|
|
28
|
+
mobileMode: PdmSidebarMobileMode;
|
|
29
|
+
/**
|
|
30
|
+
* Collapsed state (solo aplica en mobileMode="sidebar")
|
|
31
|
+
*/
|
|
3
32
|
collapsed: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Open state (solo aplica en mobileMode="drawer")
|
|
35
|
+
*/
|
|
36
|
+
open: boolean;
|
|
4
37
|
className: string;
|
|
38
|
+
/**
|
|
39
|
+
* Emite cuando el drawer se cierra (solo en mobileMode="drawer")
|
|
40
|
+
*/
|
|
41
|
+
openChange: EventEmitter<boolean>;
|
|
42
|
+
onBackdropClick(): void;
|
|
5
43
|
static ɵfac: i0.ɵɵFactoryDeclaration<PdmSidebarComponent, never>;
|
|
6
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PdmSidebarComponent, "pdm-sidebar", never, { "collapsed": "collapsed"; "className": "className"; }, {}, never, ["*"], false>;
|
|
44
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PdmSidebarComponent, "pdm-sidebar", never, { "mobileMode": "mobileMode"; "collapsed": "collapsed"; "open": "open"; "className": "className"; }, { "openChange": "openChange"; }, never, ["*", "*"], false>;
|
|
7
45
|
}
|
|
@@ -1,34 +1,55 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type TableResponsiveStrategy } from "../../utils/responsive";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
export declare type PdmTableVariant =
|
|
3
|
+
export declare type PdmTableVariant = "default" | "data" | "interactive";
|
|
4
|
+
/**
|
|
5
|
+
* Componente base de tabla con soporte responsive
|
|
6
|
+
*
|
|
7
|
+
* SIMPLIFICADO: Ya no incluye drag & drop (usar pdm-draggable-table para eso)
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* // Tabla simple con scroll horizontal
|
|
11
|
+
* <pdm-table variant="default">
|
|
12
|
+
* <thead><tr><th>Name</th><th>Email</th></tr></thead>
|
|
13
|
+
* <tbody><tr><td>John</td><td>john@example.com</td></tr></tbody>
|
|
14
|
+
* </pdm-table>
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // Tabla interactiva con wrap en mobile
|
|
18
|
+
* <pdm-table variant="interactive" responsiveStrategy="wrap">
|
|
19
|
+
* ...
|
|
20
|
+
* </pdm-table>
|
|
21
|
+
*/
|
|
4
22
|
export declare class PdmTableComponent {
|
|
5
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Variante visual de la tabla
|
|
25
|
+
* - default: tabla básica sin estilos extra
|
|
26
|
+
* - data: tabla con bordes y espaciado para data
|
|
27
|
+
* - interactive: tabla con hover, sticky header y estilos interactivos
|
|
28
|
+
*/
|
|
6
29
|
variant: PdmTableVariant;
|
|
7
|
-
|
|
8
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Estrategia responsive para la tabla
|
|
32
|
+
* - scroll: scroll horizontal en mobile (default, más simple)
|
|
33
|
+
* - wrap: permite que el contenido haga wrap
|
|
34
|
+
* - stack: convierte filas en cards en mobile (requiere data-label en celdas)
|
|
35
|
+
* - collapse: oculta columnas menos importantes en mobile
|
|
36
|
+
*/
|
|
37
|
+
responsiveStrategy: TableResponsiveStrategy;
|
|
38
|
+
/**
|
|
39
|
+
* Clases CSS adicionales para el wrapper
|
|
40
|
+
*/
|
|
9
41
|
className: string;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
constructor(renderer: Renderer2);
|
|
16
|
-
ngAfterViewInit(): void;
|
|
17
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
18
|
-
ngOnDestroy(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Si es true, aplica padding negativo en mobile para scroll edge-to-edge
|
|
44
|
+
* Útil cuando la tabla está dentro de un container con padding
|
|
45
|
+
*/
|
|
46
|
+
fullBleed: boolean;
|
|
19
47
|
get wrapperClasses(): string[];
|
|
20
48
|
get tableClasses(): string[];
|
|
21
|
-
private
|
|
22
|
-
private
|
|
23
|
-
private
|
|
24
|
-
private
|
|
25
|
-
private setRowsDraggable;
|
|
26
|
-
private syncAutoDragHandle;
|
|
27
|
-
private onDragStart;
|
|
28
|
-
private onDragOver;
|
|
29
|
-
private onDrop;
|
|
30
|
-
private onDragEnd;
|
|
31
|
-
private armDragFromHandle;
|
|
49
|
+
private getResponsiveStrategyClasses;
|
|
50
|
+
private getVariantWrapperClasses;
|
|
51
|
+
private getVariantTableClasses;
|
|
52
|
+
private getCellClasses;
|
|
32
53
|
static ɵfac: i0.ɵɵFactoryDeclaration<PdmTableComponent, never>;
|
|
33
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PdmTableComponent, "pdm-table", never, { "variant": "variant"; "
|
|
54
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PdmTableComponent, "pdm-table", never, { "variant": "variant"; "responsiveStrategy": "responsiveStrategy"; "className": "className"; "fullBleed": "fullBleed"; }, {}, never, ["*"], false>;
|
|
34
55
|
}
|
|
@@ -1,10 +1,28 @@
|
|
|
1
|
+
import { ChangeDetectorRef, ElementRef, OnDestroy, ViewContainerRef } from "@angular/core";
|
|
2
|
+
import { Overlay } from "@angular/cdk/overlay";
|
|
1
3
|
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class PdmTooltipComponent {
|
|
4
|
+
export declare class PdmTooltipComponent implements OnDestroy {
|
|
5
|
+
private readonly overlay;
|
|
6
|
+
private readonly viewContainerRef;
|
|
7
|
+
private readonly elementRef;
|
|
8
|
+
private readonly cdr;
|
|
3
9
|
text: string;
|
|
4
|
-
side:
|
|
10
|
+
side: "top" | "right" | "bottom" | "left";
|
|
5
11
|
className: string;
|
|
12
|
+
tooltipTemplate: any;
|
|
6
13
|
open: boolean;
|
|
7
|
-
|
|
14
|
+
private overlayRef;
|
|
15
|
+
constructor(overlay: Overlay, viewContainerRef: ViewContainerRef, elementRef: ElementRef<HTMLElement>, cdr: ChangeDetectorRef);
|
|
16
|
+
ngOnDestroy(): void;
|
|
17
|
+
onMouseEnter(): void;
|
|
18
|
+
onMouseLeave(): void;
|
|
19
|
+
onFocusIn(): void;
|
|
20
|
+
onFocusOut(): void;
|
|
21
|
+
private show;
|
|
22
|
+
private hide;
|
|
23
|
+
private createOverlay;
|
|
24
|
+
private destroyOverlay;
|
|
25
|
+
private getPositionConfigs;
|
|
8
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<PdmTooltipComponent, never>;
|
|
9
27
|
static ɵcmp: i0.ɵɵComponentDeclaration<PdmTooltipComponent, "pdm-tooltip", never, { "text": "text"; "side": "side"; "className": "className"; }, {}, never, ["*"], false>;
|
|
10
28
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export interface OverlayConfig {
|
|
2
|
+
panelClass?: string | string[];
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Z-Index helper for overlay components.
|
|
6
|
+
*
|
|
7
|
+
* CRITICAL: Consumer custom panelClass MUST NOT replace the base z-index.
|
|
8
|
+
* This helper ensures z-index is preserved when merging custom classes.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Base z-index class for overlays - MUST be included in any overlay panel.
|
|
12
|
+
* This ensures overlays appear above modals (z-50) and drawers (z-40).
|
|
13
|
+
*/
|
|
14
|
+
export declare const OVERLAY_BASE_Z_INDEX = "z-[70]";
|
|
15
|
+
/**
|
|
16
|
+
* Merge consumer's panelClass with our base z-index.
|
|
17
|
+
* Consumer classes are APPENDED, not replacing our z-index guarantee.
|
|
18
|
+
*
|
|
19
|
+
* @param baseZIndex - Base z-index class to enforce (default: OVERLAY_BASE_Z_INDEX)
|
|
20
|
+
* @param consumerClasses - Optional additional classes from consumer
|
|
21
|
+
* @returns Array of classes safe for CDK Overlay panelClass
|
|
22
|
+
*/
|
|
23
|
+
export declare function mergeOverlayPanelClass(baseZIndex?: string, consumerClasses?: string | string[]): string[];
|
|
24
|
+
/**
|
|
25
|
+
* Create OverlayConfig with guaranteed z-index.
|
|
26
|
+
* Use this instead of direct OverlayConfig to ensure z-index enforcement.
|
|
27
|
+
*
|
|
28
|
+
* @param baseConfig - Base overlay configuration
|
|
29
|
+
* @param consumerPanelClass - Optional consumer panelClass to merge
|
|
30
|
+
* @returns OverlayConfig with z-index guarantee
|
|
31
|
+
*/
|
|
32
|
+
export declare function createZIndexEnforcedOverlay(baseConfig: OverlayConfig, consumerPanelClass?: string | string[]): OverlayConfig;
|
|
33
|
+
/**
|
|
34
|
+
* Helper to extract z-index from a class string for debugging.
|
|
35
|
+
*/
|
|
36
|
+
export declare function extractZIndex(classes: string | string[]): string | null;
|