ln-20-lib-components 0.0.9 → 0.0.11

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.
@@ -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
- constructor() {
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: "14.0.0", version: "19.2.17", type: EmptyMessageComponent, isStandalone: true, selector: "lib-empty-message", ngImport: i0, template: `
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">NO DATA AVAILABLE</p>
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">NO DATA AVAILABLE</p>
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/components/button/button.component.ts","../../../projects/lib-components/src/lib/components/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/components/button/button.component';\r\nexport * from './lib/components/empty-message/empty-message.component';\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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"}
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,2 @@
1
+ export * from './origin/index';
2
+ export * from './prime-ng/index';
@@ -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,2 @@
1
+ export * from './button/button.component';
2
+ export * from './empty-message/empty-message.component';
@@ -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';
@@ -1,12 +1 @@
1
- export interface ButtonVariant {
2
- primary: string;
3
- secondary: string;
4
- }
5
- export interface ButtonProps {
6
- variant: ButtonVariant;
7
- disabled: boolean;
8
- onClick: () => void;
9
- }
10
- export interface EmptyMessageProps {
11
- message: string;
12
- }
1
+ export * from '../components/prime-ng/button-ng/interfaces';
Binary file
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.9",
3
+ "version": "0.0.11",
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,5 +1,4 @@
1
1
  export * from './lib/lib-components.service';
2
2
  export * from './lib/lib-components.component';
3
- export * from './lib/components/button/button.component';
4
- export * from './lib/components/empty-message/empty-message.component';
3
+ export * from './lib/components/index';
5
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
- }