intelica-library-ui 0.1.101 → 0.1.103

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.
@@ -31,6 +31,8 @@ import * as i3$2 from 'primeng/ripple';
31
31
  import { RippleModule } from 'primeng/ripple';
32
32
  import { Dialog } from 'primeng/dialog';
33
33
  import * as echarts from 'echarts';
34
+ import * as i2$2 from 'primeng/multiselect';
35
+ import { MultiSelectModule } from 'primeng/multiselect';
34
36
  import * as i1$3 from 'primeng/skeleton';
35
37
  import { SkeletonModule } from 'primeng/skeleton';
36
38
  import * as XLSX from 'xlsx';
@@ -425,6 +427,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
425
427
  args: [{ name: "term" }]
426
428
  }] });
427
429
 
430
+ class FormatAmountPipe {
431
+ transform(value, shortFormat = false, decimalPlaces = 2) {
432
+ if (value === null || value === undefined) {
433
+ return "0";
434
+ }
435
+ const numericValue = typeof value === "string" ? parseFloat(value) : value;
436
+ if (isNaN(numericValue)) {
437
+ return "0";
438
+ }
439
+ let formattedValue;
440
+ if (shortFormat) {
441
+ formattedValue = this.getShortFormat(numericValue, decimalPlaces);
442
+ }
443
+ else {
444
+ formattedValue = this.formatWithThousandSeparators(numericValue, decimalPlaces);
445
+ }
446
+ return formattedValue;
447
+ }
448
+ getShortFormat(value, decimalPlaces) {
449
+ const absValue = Math.abs(value);
450
+ const suffixes = [
451
+ { limit: 1e12, suffix: "T" },
452
+ { limit: 1e9, suffix: "B" },
453
+ { limit: 1e6, suffix: "M" },
454
+ { limit: 1e3, suffix: "K" },
455
+ ];
456
+ for (const { limit, suffix } of suffixes) {
457
+ if (absValue >= limit) {
458
+ return (value / limit).toFixed(decimalPlaces) + suffix;
459
+ }
460
+ }
461
+ return value.toFixed(decimalPlaces);
462
+ }
463
+ formatWithThousandSeparators(value, decimalPlaces) {
464
+ return new Intl.NumberFormat("en-US", {
465
+ minimumFractionDigits: decimalPlaces,
466
+ maximumFractionDigits: decimalPlaces,
467
+ }).format(value);
468
+ }
469
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FormatAmountPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
470
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: FormatAmountPipe, isStandalone: true, name: "amount" });
471
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FormatAmountPipe, providedIn: "root" });
472
+ }
473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: FormatAmountPipe, decorators: [{
474
+ type: Injectable,
475
+ args: [{
476
+ providedIn: "root",
477
+ }]
478
+ }, {
479
+ type: Pipe,
480
+ args: [{
481
+ name: "amount",
482
+ }]
483
+ }] });
484
+
428
485
  class TruncatePipe {
429
486
  transform(value, size = 15, original = false) {
430
487
  if (!value)
@@ -2773,6 +2830,126 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
2773
2830
  args: ["document:click", ["$event"]]
2774
2831
  }] } });
2775
2832
 
2833
+ class MultiSelectComponent {
2834
+ /**
2835
+ * @description Id
2836
+ * @default ""
2837
+ * @type {string}
2838
+ */
2839
+ id = "";
2840
+ /**
2841
+ * @description Opciones.
2842
+ * @example [{value: string, text: string}]
2843
+ * @type {any[]}
2844
+ */
2845
+ options = [];
2846
+ /**
2847
+ * @description Label name.
2848
+ * @default "text"
2849
+ * @type {{value: string, label: string}[]}
2850
+ */
2851
+ optionLabel = "text";
2852
+ /**
2853
+ * @description Value name.
2854
+ * @default "value"
2855
+ * @type {{value: string, label: string}[]}
2856
+ */
2857
+ optionValue = "value";
2858
+ /**
2859
+ * @description Placeholder
2860
+ * @default "Select an item"
2861
+ * @type {string}
2862
+ */
2863
+ placeholder = "Select an item";
2864
+ /**
2865
+ * @description Show filter textbox
2866
+ * @default false
2867
+ * @type {boolean}
2868
+ */
2869
+ showFilter = false;
2870
+ /**
2871
+ * @description Show All Checkbox
2872
+ * @default false
2873
+ * @type {boolean}
2874
+ */
2875
+ showAll = false;
2876
+ /**
2877
+ * @description All | Todo
2878
+ * @default "All"
2879
+ * @type {string}
2880
+ */
2881
+ allText = "All";
2882
+ /**
2883
+ * @description Number of selected labels to show
2884
+ * @default 3
2885
+ * @type {number}
2886
+ */
2887
+ maxSelectedLabels = 3;
2888
+ /**
2889
+ * @description Append To
2890
+ * @default ""
2891
+ * @type {string}
2892
+ */
2893
+ appendTo = "";
2894
+ /**
2895
+ * @description Panel Style Class
2896
+ * @default ""
2897
+ * @type {string}
2898
+ */
2899
+ panelStyleClass = "prMultiselect";
2900
+ /**
2901
+ * @description Change event
2902
+ * @emits {string[]}
2903
+ * @type {EventEmitter<string[]>}
2904
+ */
2905
+ onChangeEvent = new EventEmitter();
2906
+ checked = false;
2907
+ selectedOptions = [];
2908
+ toggleAllSelection(event) {
2909
+ this.selectedOptions = event.checked ? this.options.map(option => option.value) : [];
2910
+ this.emitChangeEvent();
2911
+ }
2912
+ onChangeSelect(event) {
2913
+ console.log("onChange -> ", event);
2914
+ this.checked = this.selectedOptions.length === this.options.length;
2915
+ this.emitChangeEvent();
2916
+ }
2917
+ emitChangeEvent() {
2918
+ this.onChangeEvent.emit(this.selectedOptions);
2919
+ }
2920
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: MultiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2921
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: MultiSelectComponent, isStandalone: true, selector: "intelica-multi-select", inputs: { id: "id", options: "options", optionLabel: "optionLabel", optionValue: "optionValue", placeholder: "placeholder", showFilter: "showFilter", showAll: "showAll", allText: "allText", maxSelectedLabels: "maxSelectedLabels", appendTo: "appendTo", panelStyleClass: "panelStyleClass" }, outputs: { onChangeEvent: "onChange" }, ngImport: i0, template: "<p-multiSelect\r\n\tclass=\"prMultiselect\"\r\n\t[options]=\"options\"\r\n\t[(ngModel)]=\"selectedOptions\"\r\n\t[optionLabel]=\"optionLabel\"\r\n\t[optionValue]=\"optionValue\"\r\n\t[placeholder]=\"placeholder\"\r\n\t[maxSelectedLabels]=\"maxSelectedLabels\"\r\n\t[filter]=\"showFilter\"\r\n\t[showToggleAll]=\"false\"\r\n\t(onChange)=\"onChangeSelect($event)\"\r\n\t[appendTo]=\"appendTo\"\r\n\t[panelStyleClass]=\"panelStyleClass\"\r\n>\r\n\t@if(showAll){\r\n\t<ng-template #header>\r\n\t\t<div class=\"prMultiselect__all\">\r\n\t\t\t<label [for]=\"id + '-all'\">\r\n\t\t\t\t<p-checkbox [inputId]=\"id + '-all'\" [binary]=\"true\" [(ngModel)]=\"checked\" (onChange)=\"toggleAllSelection($event)\"></p-checkbox>\r\n\t\t\t\t{{ allText }}\r\n\t\t\t</label>\r\n\t\t</div>\r\n\t</ng-template>\r\n\t}\r\n</p-multiSelect>\r\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i2$2.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "fluid", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "size", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i5.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "name", "disabled", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "inputStyle", "styleClass", "inputClass", "indeterminate", "size", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }] });
2922
+ }
2923
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: MultiSelectComponent, decorators: [{
2924
+ type: Component,
2925
+ args: [{ selector: "intelica-multi-select", imports: [FormsModule, MultiSelectModule, CheckboxModule], template: "<p-multiSelect\r\n\tclass=\"prMultiselect\"\r\n\t[options]=\"options\"\r\n\t[(ngModel)]=\"selectedOptions\"\r\n\t[optionLabel]=\"optionLabel\"\r\n\t[optionValue]=\"optionValue\"\r\n\t[placeholder]=\"placeholder\"\r\n\t[maxSelectedLabels]=\"maxSelectedLabels\"\r\n\t[filter]=\"showFilter\"\r\n\t[showToggleAll]=\"false\"\r\n\t(onChange)=\"onChangeSelect($event)\"\r\n\t[appendTo]=\"appendTo\"\r\n\t[panelStyleClass]=\"panelStyleClass\"\r\n>\r\n\t@if(showAll){\r\n\t<ng-template #header>\r\n\t\t<div class=\"prMultiselect__all\">\r\n\t\t\t<label [for]=\"id + '-all'\">\r\n\t\t\t\t<p-checkbox [inputId]=\"id + '-all'\" [binary]=\"true\" [(ngModel)]=\"checked\" (onChange)=\"toggleAllSelection($event)\"></p-checkbox>\r\n\t\t\t\t{{ allText }}\r\n\t\t\t</label>\r\n\t\t</div>\r\n\t</ng-template>\r\n\t}\r\n</p-multiSelect>\r\n" }]
2926
+ }], propDecorators: { id: [{
2927
+ type: Input
2928
+ }], options: [{
2929
+ type: Input
2930
+ }], optionLabel: [{
2931
+ type: Input
2932
+ }], optionValue: [{
2933
+ type: Input
2934
+ }], placeholder: [{
2935
+ type: Input
2936
+ }], showFilter: [{
2937
+ type: Input
2938
+ }], showAll: [{
2939
+ type: Input
2940
+ }], allText: [{
2941
+ type: Input
2942
+ }], maxSelectedLabels: [{
2943
+ type: Input
2944
+ }], appendTo: [{
2945
+ type: Input
2946
+ }], panelStyleClass: [{
2947
+ type: Input
2948
+ }], onChangeEvent: [{
2949
+ type: Output,
2950
+ args: ["onChange"]
2951
+ }] } });
2952
+
2776
2953
  class SkeletonService {
2777
2954
  isLoading = signal(false);
2778
2955
  hide() {
@@ -6075,5 +6252,5 @@ const IntelicaTheme = definePreset(Aura, {
6075
6252
  * Generated bundle index. Do not edit.
6076
6253
  */
6077
6254
 
6078
- export { ActionDirective, ActionsMenuComponent, ButtonSplitComponent, Color, ColumnComponent, ColumnGroupComponent, CompareByField, ConfigService, CookieAttributesGeneral, DynamicInputValidation, EchartComponent, EchartService, EmailInputValidation, ErrorInterceptor, FeatureFlagService, GlobalFeatureFlagService, GlobalTermService, HtmlToExcelService, InitializeConfigService, InputValidation, IntelicaTheme, ItemSplitDirective, LanguageService, ModalDialogComponent, 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 };
6255
+ 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 };
6079
6256
  //# sourceMappingURL=intelica-library-ui.mjs.map