intelica-library-ui 0.1.110 → 0.1.111

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.
@@ -3010,6 +3010,102 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
3010
3010
  type: Input
3011
3011
  }] } });
3012
3012
 
3013
+ class DataDirective {
3014
+ size = ""; // Esta es la propiedad que recibirás en la etiqueta <data>
3015
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: DataDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3016
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: DataDirective, isStandalone: true, selector: "data", inputs: { size: "size" }, ngImport: i0 });
3017
+ }
3018
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: DataDirective, decorators: [{
3019
+ type: Directive,
3020
+ args: [{
3021
+ selector: "data", // El selector es 'data', lo que permite usar <data> en la plantilla
3022
+ }]
3023
+ }], propDecorators: { size: [{
3024
+ type: Input
3025
+ }] } });
3026
+
3027
+ class SkeletonChartComponent {
3028
+ /**
3029
+ * @description type of skeleton chart
3030
+ * @default 'bar'
3031
+ * @type string
3032
+ * @example <intelica-skeleton-chart [type]="'bar'"></intelica-skeleton-chart>
3033
+ */
3034
+ type = "bar";
3035
+ /**
3036
+ * @description number of series to display
3037
+ * @default 6
3038
+ * @type number
3039
+ * @example <intelica-skeleton-chart [series]="3"></intelica-skeleton-chart>
3040
+ */
3041
+ series = 6;
3042
+ /**
3043
+ * @description number of data items to display in each bar
3044
+ * @default 1
3045
+ * @type number
3046
+ * @example <intelica-skeleton-chart [data]="3"></intelica-skeleton-chart>
3047
+ */
3048
+ data = 1;
3049
+ /**
3050
+ * @description Flag to indicate whether the label should be displayed or hidden
3051
+ * @default false
3052
+ * @type boolean
3053
+ */
3054
+ label = true;
3055
+ // Propiedad para almacenar los valores aleatorios de porcentaje de altura
3056
+ randomPercent = [];
3057
+ // Recibimos las etiquetas <data> como directivas
3058
+ dataElements;
3059
+ ngOnInit() {
3060
+ this.updateRandomPercentages();
3061
+ }
3062
+ ngAfterContentInit() {
3063
+ // Si hay elementos <data> proyectados, usamos sus valores de 'size'
3064
+ if (this.dataElements.length > 0) {
3065
+ this.setFixedPercentages();
3066
+ return;
3067
+ }
3068
+ this.updateRandomPercentages();
3069
+ }
3070
+ // Método para asignar alturas aleatorias
3071
+ updateRandomPercentages() {
3072
+ // Si no se encuentran las etiquetas <data>, usamos valores aleatorios
3073
+ this.randomPercent = this.getArray(this.series).map(() => this.getArray(this.data).map(() => this.setRandomPercent(20, 100)));
3074
+ }
3075
+ // Método para asignar alturas fijas según las etiquetas <data>
3076
+ setFixedPercentages() {
3077
+ // Usa las alturas fijas definidas por las etiquetas <data>
3078
+ this.randomPercent = this.getArray(this.series).map(() => this.dataElements.toArray().map(data => data.size) // Aquí mapeamos todas las alturas de las etiquetas <data>
3079
+ );
3080
+ }
3081
+ // Función para generar un valor aleatorio en porcentaje
3082
+ setRandomPercent(min, max) {
3083
+ const random = Math.floor(Math.random() * (max - min + 1));
3084
+ return `${random + min}%`;
3085
+ }
3086
+ // Función auxiliar para crear un array de tamaño "length"
3087
+ getArray(length) {
3088
+ return Array.from({ length }, (_, i) => i);
3089
+ }
3090
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkeletonChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3091
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: SkeletonChartComponent, isStandalone: true, selector: "intelica-skeleton-chart", inputs: { type: "type", series: "series", data: "data", label: "label" }, queries: [{ propertyName: "dataElements", predicate: DataDirective }], ngImport: i0, template: "@switch (type) { @case('bar'){\r\n<div class=\"skeletonGraphic skeletonGraphic--verticalBars\">\r\n\t<div class=\"skeletonGraphic__serie\" *ngFor=\"let i of getArray(series)\">\r\n\t\t<div class=\"skeletonGraphic__data\">\r\n\t\t\t<!-- Si hay etiquetas <data> proyectadas, las usamos con las alturas fijas -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length > 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let data of dataElements.toArray()\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"data.size\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\r\n\t\t\t<!-- Si no hay etiquetas <data>, usamos los valores aleatorios -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length === 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let j of getArray(data)\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"randomPercent[i][j]\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"skeletonGraphic__label\" *ngIf=\"label\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'50%'\" [height]=\"'1rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n} @case ('horizontal-bar'){\r\n<div class=\"skeletonGraphic skeletonGraphic--horizontalBars\">\r\n\t<div class=\"skeletonGraphic__serie\" *ngFor=\"let i of getArray(series)\">\r\n\t\t<div class=\"skeletonGraphic__data\">\r\n\t\t\t<!-- Si hay etiquetas <data> proyectadas, las usamos con las alturas fijas -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length > 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let data of dataElements.toArray()\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"data.size\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\r\n\t\t\t<!-- Si no hay etiquetas <data>, usamos los valores aleatorios -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length === 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let j of getArray(data)\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"randomPercent[i][j]\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"skeletonGraphic__label\" *ngIf=\"label\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'10rem'\" [height]=\"'1rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n} @case ('pie'){\r\n<div class=\"skeletonGraphic skeletonGraphic--pie\">\r\n\t<ng-container *ngTemplateOutlet=\"pieDonutTemplate\"></ng-container>\r\n</div>\r\n} @case ('donut'){\r\n<div class=\"skeletonGraphic skeletonGraphic--pie skeletonGraphic--donut\">\r\n\t<ng-container *ngTemplateOutlet=\"pieDonutTemplate\"></ng-container>\r\n</div>\r\n} @case ('line'){\r\n<div class=\"col-6 mb-3\">\r\n\t<div class=\"row align-items-end\">\r\n\t\t<div class=\"col-1 d-flex justify-content-end\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'0.5rem'\" [height]=\"'25rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'10rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'20rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'8rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'15rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'20rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'8rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"row mt-3\">\r\n\t\t<div class=\"col-1\"></div>\r\n\t\t<div class=\"col\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'0.5rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n} }\r\n\r\n<ng-template #pieDonutTemplate>\r\n\t<div class=\"skeletonGraphic__serie\">\r\n\t\t<div class=\"skeletonGraphic__wrap\">\r\n\t\t\t<div class=\"skeletonGraphic__label left\" *ngIf=\"label\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"skeletonGraphic__data\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" shape=\"circle\" [size]=\"'100%'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"skeletonGraphic__label right\" *ngIf=\"label\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i1$3.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }] });
3092
+ }
3093
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkeletonChartComponent, decorators: [{
3094
+ type: Component,
3095
+ args: [{ selector: "intelica-skeleton-chart", imports: [CommonModule, SkeletonModule], template: "@switch (type) { @case('bar'){\r\n<div class=\"skeletonGraphic skeletonGraphic--verticalBars\">\r\n\t<div class=\"skeletonGraphic__serie\" *ngFor=\"let i of getArray(series)\">\r\n\t\t<div class=\"skeletonGraphic__data\">\r\n\t\t\t<!-- Si hay etiquetas <data> proyectadas, las usamos con las alturas fijas -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length > 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let data of dataElements.toArray()\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"data.size\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\r\n\t\t\t<!-- Si no hay etiquetas <data>, usamos los valores aleatorios -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length === 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let j of getArray(data)\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"randomPercent[i][j]\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"skeletonGraphic__label\" *ngIf=\"label\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'50%'\" [height]=\"'1rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n} @case ('horizontal-bar'){\r\n<div class=\"skeletonGraphic skeletonGraphic--horizontalBars\">\r\n\t<div class=\"skeletonGraphic__serie\" *ngFor=\"let i of getArray(series)\">\r\n\t\t<div class=\"skeletonGraphic__data\">\r\n\t\t\t<!-- Si hay etiquetas <data> proyectadas, las usamos con las alturas fijas -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length > 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let data of dataElements.toArray()\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"data.size\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\r\n\t\t\t<!-- Si no hay etiquetas <data>, usamos los valores aleatorios -->\r\n\t\t\t<ng-container *ngIf=\"dataElements.length === 0\">\r\n\t\t\t\t<ng-container *ngFor=\"let j of getArray(data)\">\r\n\t\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"randomPercent[i][j]\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"skeletonGraphic__label\" *ngIf=\"label\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'10rem'\" [height]=\"'1rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n} @case ('pie'){\r\n<div class=\"skeletonGraphic skeletonGraphic--pie\">\r\n\t<ng-container *ngTemplateOutlet=\"pieDonutTemplate\"></ng-container>\r\n</div>\r\n} @case ('donut'){\r\n<div class=\"skeletonGraphic skeletonGraphic--pie skeletonGraphic--donut\">\r\n\t<ng-container *ngTemplateOutlet=\"pieDonutTemplate\"></ng-container>\r\n</div>\r\n} @case ('line'){\r\n<div class=\"col-6 mb-3\">\r\n\t<div class=\"row align-items-end\">\r\n\t\t<div class=\"col-1 d-flex justify-content-end\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'0.5rem'\" [height]=\"'25rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'10rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'20rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'8rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'15rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'20rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col d-flex justify-content-center px-0\">\r\n\t\t\t<div class=\"col-8 px-0\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'8rem'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"row mt-3\">\r\n\t\t<div class=\"col-1\"></div>\r\n\t\t<div class=\"col\">\r\n\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'0.5rem'\"></p-skeleton>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n} }\r\n\r\n<ng-template #pieDonutTemplate>\r\n\t<div class=\"skeletonGraphic__serie\">\r\n\t\t<div class=\"skeletonGraphic__wrap\">\r\n\t\t\t<div class=\"skeletonGraphic__label left\" *ngIf=\"label\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"skeletonGraphic__data\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" shape=\"circle\" [size]=\"'100%'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"skeletonGraphic__label right\" *ngIf=\"label\">\r\n\t\t\t\t<p-skeleton class=\"prSkeleton\" [width]=\"'100%'\" [height]=\"'100%'\"></p-skeleton>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n" }]
3096
+ }], propDecorators: { type: [{
3097
+ type: Input
3098
+ }], series: [{
3099
+ type: Input
3100
+ }], data: [{
3101
+ type: Input
3102
+ }], label: [{
3103
+ type: Input
3104
+ }], dataElements: [{
3105
+ type: ContentChildren,
3106
+ args: [DataDirective]
3107
+ }] } });
3108
+
3013
3109
  class HtmlToExcelService {
3014
3110
  ExportTOExcel(idTabla, html, filename, tabname, extension) {
3015
3111
  let Table = document.getElementById(idTabla);
@@ -6253,5 +6349,5 @@ const IntelicaTheme = definePreset(Aura, {
6253
6349
  * Generated bundle index. Do not edit.
6254
6350
  */
6255
6351
 
6256
- export { ActionDirective, ActionsMenuComponent, ButtonSplitComponent, Color, ColumnComponent, ColumnGroupComponent, CompareByField, ConfigService, CookieAttributesGeneral, DynamicInputValidation, EchartComponent, EchartService, EmailInputValidation, ErrorInterceptor, FeatureFlagService, FormatAmountPipe, GlobalFeatureFlagService, GlobalTermService, HtmlToExcelService, InitializeConfigService, InputValidation, IntelicaTheme, ItemSplitDirective, LanguageService, ModalDialogComponent, MultiSelectComponent, OrderConstants, PaginatorComponent, Patterns, PopoverComponent, ProfileService, RecordPerPageComponent, RefreshTokenInterceptor, RowResumenComponent, SearchComponent, SharedService, SkeletonComponent, SkeletonService, SkeletonTableComponent, SortingComponent, SpinnerComponent, SpinnerService, SweetAlertService, TableComponent, TemplateMenuComponent, TermGuard, TermPipe, TermService, TruncatePipe, decryptData, encryptData, getColor };
6352
+ export { ActionDirective, ActionsMenuComponent, ButtonSplitComponent, Color, ColumnComponent, ColumnGroupComponent, CompareByField, ConfigService, CookieAttributesGeneral, DynamicInputValidation, EchartComponent, EchartService, EmailInputValidation, ErrorInterceptor, FeatureFlagService, FormatAmountPipe, GlobalFeatureFlagService, GlobalTermService, HtmlToExcelService, InitializeConfigService, InputValidation, IntelicaTheme, ItemSplitDirective, LanguageService, ModalDialogComponent, MultiSelectComponent, OrderConstants, PaginatorComponent, Patterns, PopoverComponent, ProfileService, RecordPerPageComponent, RefreshTokenInterceptor, RowResumenComponent, SearchComponent, SharedService, SkeletonChartComponent, SkeletonComponent, SkeletonService, SkeletonTableComponent, SortingComponent, SpinnerComponent, SpinnerService, SweetAlertService, TableComponent, TemplateMenuComponent, TermGuard, TermPipe, TermService, TruncatePipe, decryptData, encryptData, getColor };
6257
6353
  //# sourceMappingURL=intelica-library-ui.mjs.map