ln-20-lib-components 0.0.8 → 0.0.10
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/fesm2022/ln-20-lib-components.mjs +97 -11
- package/fesm2022/ln-20-lib-components.mjs.map +1 -1
- package/lib/components/index.d.ts +2 -0
- package/lib/components/origin/empty-message/empty-message.component.d.ts +6 -0
- package/lib/components/origin/index.d.ts +2 -0
- package/lib/components/prime-ng/button-ng/button-ng.component.d.ts +12 -0
- package/lib/components/prime-ng/button-ng/interfaces/index.d.ts +33 -0
- package/lib/components/prime-ng/button-ng/services/app-button-ng.service.d.ts +15 -0
- package/lib/components/prime-ng/index.d.ts +1 -0
- package/lib/interfaces/index.d.ts +1 -0
- package/ln-20-lib-components-0.0.10.tgz +0 -0
- package/ln-20-lib-components-0.0.9.tgz +0 -0
- package/package.json +5 -2
- package/public-api.d.ts +2 -2
- package/lib/empty-message/empty-message.component.d.ts +0 -8
- /package/lib/{button → components/origin/button}/button.component.d.ts +0 -0
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Component, EventEmitter, Output, Input } from '@angular/core';
|
|
2
|
+
import { Injectable, Component, EventEmitter, Output, Input, input, signal, effect, computed, inject, model, output } from '@angular/core';
|
|
3
|
+
import * as i3 from '@angular/common';
|
|
3
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i1 from 'primeng/button';
|
|
6
|
+
import { ButtonModule } from 'primeng/button';
|
|
7
|
+
import * as i2 from 'primeng/tooltip';
|
|
8
|
+
import { TooltipModule } from 'primeng/tooltip';
|
|
4
9
|
|
|
5
10
|
class LibComponentsService {
|
|
6
11
|
constructor() { }
|
|
@@ -70,16 +75,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
70
75
|
}] } });
|
|
71
76
|
|
|
72
77
|
class EmptyMessageComponent {
|
|
73
|
-
|
|
74
|
-
console.log('EmptyMessageComponent constructor');
|
|
75
|
-
}
|
|
76
|
-
ngOnInit() {
|
|
77
|
-
console.log('EmptyMessageComponent ngOnInit');
|
|
78
|
-
}
|
|
78
|
+
message = input('NO DATA AVAILABLE');
|
|
79
79
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EmptyMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
80
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.17", type: EmptyMessageComponent, isStandalone: true, selector: "lib-empty-message", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
81
81
|
<div class="empty-message">
|
|
82
|
-
<p class="empty-message-text">
|
|
82
|
+
<p class="empty-message-text">{{ message() }}</p>
|
|
83
83
|
</div>
|
|
84
84
|
`, isInline: true, styles: [".empty-message{display:flex;align-items:center;justify-content:center;padding:2rem}.empty-message-text{text-align:center;color:#6c757d;margin:0;font-size:1rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
85
85
|
}
|
|
@@ -87,9 +87,95 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
87
87
|
type: Component,
|
|
88
88
|
args: [{ selector: 'lib-empty-message', standalone: true, imports: [CommonModule], template: `
|
|
89
89
|
<div class="empty-message">
|
|
90
|
-
<p class="empty-message-text">
|
|
90
|
+
<p class="empty-message-text">{{ message() }}</p>
|
|
91
91
|
</div>
|
|
92
92
|
`, styles: [".empty-message{display:flex;align-items:center;justify-content:center;padding:2rem}.empty-message-text{text-align:center;color:#6c757d;margin:0;font-size:1rem}\n"] }]
|
|
93
|
+
}] });
|
|
94
|
+
|
|
95
|
+
class AppButtonNgService {
|
|
96
|
+
buttonConfig = signal({});
|
|
97
|
+
constructor() {
|
|
98
|
+
// Effect para manejar automáticamente la rotación de mensajes
|
|
99
|
+
effect(() => {
|
|
100
|
+
const config = this.buttonConfig();
|
|
101
|
+
if (config.loading && config.loadingMessages && config.loadingMessages.length > 1) {
|
|
102
|
+
this.startMessageRotation();
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
this.stopMessageRotation();
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
setButtonConfig(buttonConfig) {
|
|
110
|
+
this.buttonConfig.set(buttonConfig);
|
|
111
|
+
}
|
|
112
|
+
// Computed público para acceder al label dinámico
|
|
113
|
+
label = computed(() => {
|
|
114
|
+
const config = this.buttonConfig();
|
|
115
|
+
// Si está cargando y tiene mensajes de carga, rotar entre ellos
|
|
116
|
+
if (config.loading && config.loadingMessages && config.loadingMessages.length > 0) {
|
|
117
|
+
const messages = config.loadingMessages;
|
|
118
|
+
const index = this.messageIndex() % messages.length; // Wrap around
|
|
119
|
+
return messages[index];
|
|
120
|
+
}
|
|
121
|
+
// Si no está cargando, retornar el label normal
|
|
122
|
+
return config.label ? config.label : '';
|
|
123
|
+
});
|
|
124
|
+
//#region Loading Messages
|
|
125
|
+
messageIndex = signal(0);
|
|
126
|
+
intervalId;
|
|
127
|
+
startMessageRotation() {
|
|
128
|
+
if (this.intervalId)
|
|
129
|
+
return;
|
|
130
|
+
this.intervalId = setInterval(() => {
|
|
131
|
+
this.messageIndex.update(index => index + 1);
|
|
132
|
+
}, 6000);
|
|
133
|
+
}
|
|
134
|
+
stopMessageRotation() {
|
|
135
|
+
if (this.intervalId) {
|
|
136
|
+
clearInterval(this.intervalId);
|
|
137
|
+
this.intervalId = undefined;
|
|
138
|
+
this.messageIndex.set(0);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AppButtonNgService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
142
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AppButtonNgService, providedIn: 'root' });
|
|
143
|
+
}
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AppButtonNgService, decorators: [{
|
|
145
|
+
type: Injectable,
|
|
146
|
+
args: [{
|
|
147
|
+
providedIn: 'root'
|
|
148
|
+
}]
|
|
149
|
+
}], ctorParameters: () => [] });
|
|
150
|
+
|
|
151
|
+
class ButtonNgComponent {
|
|
152
|
+
appButtonNgService = inject(AppButtonNgService);
|
|
153
|
+
buttonConfig = model.required();
|
|
154
|
+
onClick = output();
|
|
155
|
+
constructor() {
|
|
156
|
+
effect(() => {
|
|
157
|
+
this.appButtonNgService.setButtonConfig(this.buttonConfig());
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
get label() {
|
|
161
|
+
return this.appButtonNgService.label();
|
|
162
|
+
}
|
|
163
|
+
onClickButton() {
|
|
164
|
+
if (this.buttonConfig().onClick) {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
this.onClick.emit();
|
|
168
|
+
}
|
|
169
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ButtonNgComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
170
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: ButtonNgComponent, isStandalone: true, selector: "lib-button-ng", inputs: { buttonConfig: { classPropertyName: "buttonConfig", publicName: "buttonConfig", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { buttonConfig: "buttonConfigChange", onClick: "onClick" }, providers: [AppButtonNgService], ngImport: i0, template: "@let config = buttonConfig(); @let tooltipConfig = buttonConfig().tooltipConfig;\r\n@if (!config.hideButton) {\r\n <div\r\n [ngClass]=\"{\r\n 'full-width-button': config.fullWidth,\r\n 'full-height-button': config.fullHeight,\r\n 'cursor-pointer': this.onClick\r\n }\"\r\n [class]=\"config.class ?? ''\"\r\n >\r\n <p-button\r\n [label]=\"config.hasTemplate ? undefined : label\"\r\n [icon]=\"config.hasTemplate ? undefined : config.icon\"\r\n [severity]=\"config.hasTemplate ? 'secondary' : config.severity\"\r\n [loading]=\"config.loading || false\"\r\n [disabled]=\"config.disabled || false\"\r\n [rounded]=\"config.rounded || false\"\r\n [raised]=\"config.raised || false\"\r\n [variant]=\"config.hasTemplate ? 'text' : config.variant\"\r\n [badge]=\"config.badge\"\r\n (onClick)=\"config?.onClick?.() ?? onClickButton()\"\r\n [size]=\"config?.size\"\r\n pTooltip=\"{{ tooltipConfig?.pTooltip }}\"\r\n [tooltipPosition]=\"tooltipConfig?.tooltipPosition ?? 'top'\"\r\n [iconPos]=\"config?.iconPos ?? 'left'\"\r\n [ngClass]=\"{\r\n 'cursor-pointer': (config.onClick || config.hasStaticClick) && !config.disabled,\r\n 'cursor-auto': !((config.onClick || config.hasStaticClick) && !config.disabled),\r\n 'no-hover-template': config.hasTemplate\r\n }\"\r\n [outlined]=\"config.outlined || false\"\r\n [text]=\"config.text || false\"\r\n >\r\n @if (config.hasTemplate) {\r\n <ng-content></ng-content>\r\n }\r\n </p-button>\r\n </div>\r\n}\r\n", styles: [".full-width-button ::ng-deep p-button button{width:100%}.full-height-button ::ng-deep p-button button{height:100%}::ng-deep .cursor-auto button{cursor:auto!important}::ng-deep .cursor-pointer button{cursor:pointer!important}::ng-deep .no-hover-template button{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}::ng-deep .no-hover-template button:hover,::ng-deep .no-hover-template button:focus,::ng-deep .no-hover-template button:active{background:transparent!important;border:none!important;box-shadow:none!important}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
171
|
+
}
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ButtonNgComponent, decorators: [{
|
|
173
|
+
type: Component,
|
|
174
|
+
args: [{ selector: 'lib-button-ng', imports: [
|
|
175
|
+
ButtonModule,
|
|
176
|
+
TooltipModule,
|
|
177
|
+
CommonModule
|
|
178
|
+
], providers: [AppButtonNgService], template: "@let config = buttonConfig(); @let tooltipConfig = buttonConfig().tooltipConfig;\r\n@if (!config.hideButton) {\r\n <div\r\n [ngClass]=\"{\r\n 'full-width-button': config.fullWidth,\r\n 'full-height-button': config.fullHeight,\r\n 'cursor-pointer': this.onClick\r\n }\"\r\n [class]=\"config.class ?? ''\"\r\n >\r\n <p-button\r\n [label]=\"config.hasTemplate ? undefined : label\"\r\n [icon]=\"config.hasTemplate ? undefined : config.icon\"\r\n [severity]=\"config.hasTemplate ? 'secondary' : config.severity\"\r\n [loading]=\"config.loading || false\"\r\n [disabled]=\"config.disabled || false\"\r\n [rounded]=\"config.rounded || false\"\r\n [raised]=\"config.raised || false\"\r\n [variant]=\"config.hasTemplate ? 'text' : config.variant\"\r\n [badge]=\"config.badge\"\r\n (onClick)=\"config?.onClick?.() ?? onClickButton()\"\r\n [size]=\"config?.size\"\r\n pTooltip=\"{{ tooltipConfig?.pTooltip }}\"\r\n [tooltipPosition]=\"tooltipConfig?.tooltipPosition ?? 'top'\"\r\n [iconPos]=\"config?.iconPos ?? 'left'\"\r\n [ngClass]=\"{\r\n 'cursor-pointer': (config.onClick || config.hasStaticClick) && !config.disabled,\r\n 'cursor-auto': !((config.onClick || config.hasStaticClick) && !config.disabled),\r\n 'no-hover-template': config.hasTemplate\r\n }\"\r\n [outlined]=\"config.outlined || false\"\r\n [text]=\"config.text || false\"\r\n >\r\n @if (config.hasTemplate) {\r\n <ng-content></ng-content>\r\n }\r\n </p-button>\r\n </div>\r\n}\r\n", styles: [".full-width-button ::ng-deep p-button button{width:100%}.full-height-button ::ng-deep p-button button{height:100%}::ng-deep .cursor-auto button{cursor:auto!important}::ng-deep .cursor-pointer button{cursor:pointer!important}::ng-deep .no-hover-template button{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}::ng-deep .no-hover-template button:hover,::ng-deep .no-hover-template button:focus,::ng-deep .no-hover-template button:active{background:transparent!important;border:none!important;box-shadow:none!important}\n"] }]
|
|
93
179
|
}], ctorParameters: () => [] });
|
|
94
180
|
|
|
95
181
|
/*
|
|
@@ -107,5 +193,5 @@ de13d65e8a0357ce9f2e18c899c8e7f6f728181baa031761ecdd7ef5cb166eb2
|
|
|
107
193
|
* Generated bundle index. Do not edit.
|
|
108
194
|
*/
|
|
109
195
|
|
|
110
|
-
export { ButtonComponent, EmptyMessageComponent, LibComponentsComponent, LibComponentsService };
|
|
196
|
+
export { ButtonComponent, ButtonNgComponent, EmptyMessageComponent, LibComponentsComponent, LibComponentsService };
|
|
111
197
|
//# sourceMappingURL=ln-20-lib-components.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ln-20-lib-components.mjs","sources":["../../../projects/lib-components/src/lib/lib-components.service.ts","../../../projects/lib-components/src/lib/lib-components.component.ts","../../../projects/lib-components/src/lib/button/button.component.ts","../../../projects/lib-components/src/lib/empty-message/empty-message.component.ts","../../../projects/lib-components/src/public-api.ts","../../../projects/lib-components/src/ln-20-lib-components.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LibComponentsService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-lib-components',\r\n imports: [],\r\n template: `\r\n <p>\r\n lib-components works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class LibComponentsComponent {\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-button',\r\n standalone: true,\r\n imports: [],\r\n template: `\r\n <button \r\n [class]=\"'lib-button ' + (variant || 'primary')\" \r\n [disabled]=\"disabled\" \r\n (click)=\"onClick.emit()\">\r\n <ng-content></ng-content>\r\n </button>\r\n `,\r\n styles: [`\r\n .lib-button {\r\n padding: 8px 16px;\r\n border: none;\r\n border-radius: 4px;\r\n cursor: pointer;\r\n font-size: 14px;\r\n transition: opacity 0.2s ease;\r\n }\r\n \r\n .lib-button.primary {\r\n background-color: #007bff;\r\n color: white;\r\n }\r\n \r\n .lib-button.primary:hover:not(:disabled) {\r\n background-color: #0056b3;\r\n }\r\n \r\n .lib-button.secondary {\r\n background-color: #6c757d;\r\n color: white;\r\n }\r\n \r\n .lib-button.secondary:hover:not(:disabled) {\r\n background-color: #545b62;\r\n }\r\n \r\n .lib-button:disabled {\r\n opacity: 0.6;\r\n cursor: not-allowed;\r\n }\r\n `]\r\n})\r\nexport class ButtonComponent implements OnInit {\r\n\r\n @Input() variant: 'primary' | 'secondary' = 'primary';\r\n @Input() disabled: boolean = false;\r\n @Output() onClick = new EventEmitter<void>();\r\n\r\n constructor() {\r\n console.log('ButtonComponent constructor');\r\n }\r\n ngOnInit(): void {\r\n console.log('ButtonComponent ngOnInit');\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-empty-message',\r\n standalone: true,\r\n imports: [CommonModule],\r\n template: `\r\n <div class=\"empty-message\">\r\n <p class=\"empty-message-text\">NO DATA AVAILABLE</p>\r\n </div>\r\n `,\r\n styles: [`\r\n .empty-message {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: 2rem;\r\n }\r\n \r\n .empty-message-text {\r\n text-align: center;\r\n color: #6c757d;\r\n margin: 0;\r\n font-size: 1rem;\r\n }\r\n `]\r\n})\r\nexport class EmptyMessageComponent implements OnInit{\r\n\r\n constructor() {\r\n console.log('EmptyMessageComponent constructor');\r\n }\r\n\r\n ngOnInit(): void {\r\n console.log('EmptyMessageComponent ngOnInit');\r\n }\r\n}\r\n","/*\r\n * Public API Surface of lib-components\r\n\r\nNPM TOKEN:\r\n4f5f941cb6703a2bea326507bd5098aa7dd8224ef4d9b434f6209c73855bf7ac\r\n8b61ac2dab0cf90c13878339c755b09f868b34906ad196a1138433f76f41feb4\r\n37b8f0500846352a33a9d1e2a8504e8a4332cd035a3819d9dc4b2dcdf557c3f0\r\n31f1ccdf0a47736bd3851647d485385323328542c49de9d95498d875e3977f5e\r\nde13d65e8a0357ce9f2e18c899c8e7f6f728181baa031761ecdd7ef5cb166eb2\r\n */\r\n\r\nexport * from './lib/lib-components.service';\r\nexport * from './lib/lib-components.component';\r\nexport * from './lib/button/button.component';\r\nexport * from './lib/empty-message/empty-message.component';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ln-20-lib-components.mjs","sources":["../../../projects/lib-components/src/lib/lib-components.service.ts","../../../projects/lib-components/src/lib/lib-components.component.ts","../../../projects/lib-components/src/lib/components/origin/button/button.component.ts","../../../projects/lib-components/src/lib/components/origin/empty-message/empty-message.component.ts","../../../projects/lib-components/src/lib/components/prime-ng/button-ng/services/app-button-ng.service.ts","../../../projects/lib-components/src/lib/components/prime-ng/button-ng/button-ng.component.ts","../../../projects/lib-components/src/lib/components/prime-ng/button-ng/button-ng.component.html","../../../projects/lib-components/src/public-api.ts","../../../projects/lib-components/src/ln-20-lib-components.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LibComponentsService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-lib-components',\r\n imports: [],\r\n template: `\r\n <p>\r\n lib-components works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class LibComponentsComponent {\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-button',\r\n standalone: true,\r\n imports: [],\r\n template: `\r\n <button \r\n [class]=\"'lib-button ' + (variant || 'primary')\" \r\n [disabled]=\"disabled\" \r\n (click)=\"onClick.emit()\">\r\n <ng-content></ng-content>\r\n </button>\r\n `,\r\n styles: [`\r\n .lib-button {\r\n padding: 8px 16px;\r\n border: none;\r\n border-radius: 4px;\r\n cursor: pointer;\r\n font-size: 14px;\r\n transition: opacity 0.2s ease;\r\n }\r\n \r\n .lib-button.primary {\r\n background-color: #007bff;\r\n color: white;\r\n }\r\n \r\n .lib-button.primary:hover:not(:disabled) {\r\n background-color: #0056b3;\r\n }\r\n \r\n .lib-button.secondary {\r\n background-color: #6c757d;\r\n color: white;\r\n }\r\n \r\n .lib-button.secondary:hover:not(:disabled) {\r\n background-color: #545b62;\r\n }\r\n \r\n .lib-button:disabled {\r\n opacity: 0.6;\r\n cursor: not-allowed;\r\n }\r\n `]\r\n})\r\nexport class ButtonComponent implements OnInit {\r\n\r\n @Input() variant: 'primary' | 'secondary' = 'primary';\r\n @Input() disabled: boolean = false;\r\n @Output() onClick = new EventEmitter<void>();\r\n\r\n constructor() {\r\n console.log('ButtonComponent constructor');\r\n }\r\n ngOnInit(): void {\r\n console.log('ButtonComponent ngOnInit');\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-empty-message',\r\n standalone: true,\r\n imports: [CommonModule],\r\n template: `\r\n <div class=\"empty-message\">\r\n <p class=\"empty-message-text\">{{ message() }}</p>\r\n </div>\r\n `,\r\n styles: [`\r\n .empty-message {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: 2rem;\r\n }\r\n \r\n .empty-message-text {\r\n text-align: center;\r\n color: #6c757d;\r\n margin: 0;\r\n font-size: 1rem;\r\n }\r\n `]\r\n})\r\nexport class EmptyMessageComponent {\r\n message = input<string>('NO DATA AVAILABLE');\r\n}\r\n","import { computed, effect, inject, Injectable, type Signal, signal } from '@angular/core'\r\nimport type { IButtonConfig } from '../interfaces'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppButtonNgService {\r\n private buttonConfig = signal<IButtonConfig>({} as IButtonConfig)\r\n\r\n constructor() {\r\n // Effect para manejar automáticamente la rotación de mensajes\r\n effect(() => {\r\n const config = this.buttonConfig()\r\n if (config.loading && config.loadingMessages && config.loadingMessages.length > 1) {\r\n this.startMessageRotation()\r\n } else {\r\n this.stopMessageRotation()\r\n }\r\n })\r\n }\r\n\r\n setButtonConfig(buttonConfig: IButtonConfig) {\r\n this.buttonConfig.set(buttonConfig)\r\n }\r\n\r\n // Computed público para acceder al label dinámico\r\n public readonly label: Signal<string> = computed(() => {\r\n const config = this.buttonConfig()\r\n\r\n // Si está cargando y tiene mensajes de carga, rotar entre ellos\r\n if (config.loading && config.loadingMessages && config.loadingMessages.length > 0) {\r\n const messages = config.loadingMessages\r\n const index = this.messageIndex() % messages.length // Wrap around\r\n return messages[index]\r\n }\r\n\r\n // Si no está cargando, retornar el label normal\r\n return config.label ? config.label : ''\r\n })\r\n\r\n //#region Loading Messages\r\n private messageIndex = signal(0)\r\n private intervalId?: ReturnType<typeof setInterval>\r\n\r\n private startMessageRotation() {\r\n if (this.intervalId) return\r\n\r\n this.intervalId = setInterval(() => {\r\n this.messageIndex.update(index => index + 1)\r\n }, 6000)\r\n }\r\n\r\n private stopMessageRotation() {\r\n if (this.intervalId) {\r\n clearInterval(this.intervalId)\r\n this.intervalId = undefined\r\n this.messageIndex.set(0)\r\n }\r\n }\r\n //#endregion\r\n}\r\n","import { CommonModule } from '@angular/common'\r\nimport { Component, effect, inject, model, output } from '@angular/core'\r\nimport { ButtonModule } from 'primeng/button'\r\nimport { TooltipModule } from 'primeng/tooltip'\r\nimport type { IButtonConfig } from './interfaces'\r\nimport { AppButtonNgService } from './services/app-button-ng.service'\r\n\r\n@Component({\r\n selector: 'lib-button-ng',\r\n imports: [\r\n ButtonModule,\r\n TooltipModule,\r\n CommonModule\r\n ],\r\n templateUrl: './button-ng.component.html',\r\n styleUrl: './button-ng.component.scss',\r\n providers: [AppButtonNgService]\r\n})\r\nexport class ButtonNgComponent {\r\n private readonly appButtonNgService = inject(AppButtonNgService)\r\n buttonConfig = model.required<IButtonConfig>()\r\n onClick = output<void>()\r\n\r\n constructor() {\r\n effect(() => {\r\n this.appButtonNgService.setButtonConfig(this.buttonConfig())\r\n })\r\n }\r\n\r\n get label(): string {\r\n return this.appButtonNgService.label()\r\n }\r\n\r\n onClickButton(): void {\r\n if (this.buttonConfig().onClick) {\r\n return\r\n }\r\n this.onClick.emit()\r\n }\r\n}\r\n","@let config = buttonConfig(); @let tooltipConfig = buttonConfig().tooltipConfig;\r\n@if (!config.hideButton) {\r\n <div\r\n [ngClass]=\"{\r\n 'full-width-button': config.fullWidth,\r\n 'full-height-button': config.fullHeight,\r\n 'cursor-pointer': this.onClick\r\n }\"\r\n [class]=\"config.class ?? ''\"\r\n >\r\n <p-button\r\n [label]=\"config.hasTemplate ? undefined : label\"\r\n [icon]=\"config.hasTemplate ? undefined : config.icon\"\r\n [severity]=\"config.hasTemplate ? 'secondary' : config.severity\"\r\n [loading]=\"config.loading || false\"\r\n [disabled]=\"config.disabled || false\"\r\n [rounded]=\"config.rounded || false\"\r\n [raised]=\"config.raised || false\"\r\n [variant]=\"config.hasTemplate ? 'text' : config.variant\"\r\n [badge]=\"config.badge\"\r\n (onClick)=\"config?.onClick?.() ?? onClickButton()\"\r\n [size]=\"config?.size\"\r\n pTooltip=\"{{ tooltipConfig?.pTooltip }}\"\r\n [tooltipPosition]=\"tooltipConfig?.tooltipPosition ?? 'top'\"\r\n [iconPos]=\"config?.iconPos ?? 'left'\"\r\n [ngClass]=\"{\r\n 'cursor-pointer': (config.onClick || config.hasStaticClick) && !config.disabled,\r\n 'cursor-auto': !((config.onClick || config.hasStaticClick) && !config.disabled),\r\n 'no-hover-template': config.hasTemplate\r\n }\"\r\n [outlined]=\"config.outlined || false\"\r\n [text]=\"config.text || false\"\r\n >\r\n @if (config.hasTemplate) {\r\n <ng-content></ng-content>\r\n }\r\n </p-button>\r\n </div>\r\n}\r\n","/*\r\n * Public API Surface of lib-components\r\n\r\nNPM TOKEN:\r\n4f5f941cb6703a2bea326507bd5098aa7dd8224ef4d9b434f6209c73855bf7ac\r\n8b61ac2dab0cf90c13878339c755b09f868b34906ad196a1138433f76f41feb4\r\n37b8f0500846352a33a9d1e2a8504e8a4332cd035a3819d9dc4b2dcdf557c3f0\r\n31f1ccdf0a47736bd3851647d485385323328542c49de9d95498d875e3977f5e\r\nde13d65e8a0357ce9f2e18c899c8e7f6f728181baa031761ecdd7ef5cb166eb2\r\n */\r\n\r\nexport * from './lib/lib-components.service';\r\nexport * from './lib/lib-components.component';\r\nexport * from './lib/components/index';\r\nexport * from './lib/interfaces/index';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class EmptyMessageComponent {
|
|
3
|
+
message: import("@angular/core").InputSignal<string>;
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EmptyMessageComponent, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EmptyMessageComponent, "lib-empty-message", never, { "message": { "alias": "message"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IButtonConfig } from './interfaces';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ButtonNgComponent {
|
|
4
|
+
private readonly appButtonNgService;
|
|
5
|
+
buttonConfig: import("@angular/core").ModelSignal<IButtonConfig<any>>;
|
|
6
|
+
onClick: import("@angular/core").OutputEmitterRef<void>;
|
|
7
|
+
constructor();
|
|
8
|
+
get label(): string;
|
|
9
|
+
onClickButton(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonNgComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonNgComponent, "lib-button-ng", never, { "buttonConfig": { "alias": "buttonConfig"; "required": true; "isSignal": true; }; }, { "buttonConfig": "buttonConfigChange"; "onClick": "onClick"; }, never, ["*"], true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface ITooltipConfig {
|
|
2
|
+
pTooltip: string;
|
|
3
|
+
tooltipPosition: 'top' | 'bottom' | 'left' | 'right';
|
|
4
|
+
}
|
|
5
|
+
export interface IButtonSeverity {
|
|
6
|
+
severity: 'secondary' | 'success' | 'info' | 'warn' | 'help' | 'danger' | 'contrast';
|
|
7
|
+
}
|
|
8
|
+
export interface IButtonConfig<T = any> {
|
|
9
|
+
id?: string;
|
|
10
|
+
label?: string;
|
|
11
|
+
icon?: string;
|
|
12
|
+
loading?: boolean;
|
|
13
|
+
loadingMessages?: string[];
|
|
14
|
+
onClick?: (data?: T) => void;
|
|
15
|
+
severity?: IButtonSeverity['severity'];
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
rounded?: boolean;
|
|
18
|
+
raised?: boolean;
|
|
19
|
+
variant?: 'text' | 'outlined';
|
|
20
|
+
badge?: string;
|
|
21
|
+
size?: 'small' | 'large';
|
|
22
|
+
tooltipConfig?: ITooltipConfig;
|
|
23
|
+
hideButton?: boolean;
|
|
24
|
+
fullWidth?: boolean;
|
|
25
|
+
fullHeight?: boolean;
|
|
26
|
+
iconPos?: 'right' | 'top' | 'bottom' | 'left';
|
|
27
|
+
hasTemplate?: boolean;
|
|
28
|
+
style?: Record<string, string>;
|
|
29
|
+
outlined?: boolean;
|
|
30
|
+
text?: boolean;
|
|
31
|
+
class?: string;
|
|
32
|
+
hasStaticClick?: boolean;
|
|
33
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type Signal } from '@angular/core';
|
|
2
|
+
import type { IButtonConfig } from '../interfaces';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class AppButtonNgService {
|
|
5
|
+
private buttonConfig;
|
|
6
|
+
constructor();
|
|
7
|
+
setButtonConfig(buttonConfig: IButtonConfig): void;
|
|
8
|
+
readonly label: Signal<string>;
|
|
9
|
+
private messageIndex;
|
|
10
|
+
private intervalId?;
|
|
11
|
+
private startMessageRotation;
|
|
12
|
+
private stopMessageRotation;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppButtonNgService, never>;
|
|
14
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AppButtonNgService>;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './button-ng/button-ng.component';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../components/prime-ng/button-ng/interfaces';
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ln-20-lib-components",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^19.0.0",
|
|
6
|
-
"@angular/core": "^19.0.0"
|
|
6
|
+
"@angular/core": "^19.0.0",
|
|
7
|
+
"primeng": "^19.1.3",
|
|
8
|
+
"@primeng/themes": "^19.1.3",
|
|
9
|
+
"primeicons": "^7.0.0"
|
|
7
10
|
},
|
|
8
11
|
"dependencies": {
|
|
9
12
|
"tslib": "^2.3.0"
|
package/public-api.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './lib/lib-components.service';
|
|
2
2
|
export * from './lib/lib-components.component';
|
|
3
|
-
export * from './lib/
|
|
4
|
-
export * from './lib/
|
|
3
|
+
export * from './lib/components/index';
|
|
4
|
+
export * from './lib/interfaces/index';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class EmptyMessageComponent implements OnInit {
|
|
4
|
-
constructor();
|
|
5
|
-
ngOnInit(): void;
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<EmptyMessageComponent, never>;
|
|
7
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<EmptyMessageComponent, "lib-empty-message", never, {}, {}, never, never, true, never>;
|
|
8
|
-
}
|
|
File without changes
|