sapenlinea-components 0.0.32 → 0.0.34

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/index.d.ts CHANGED
@@ -30,7 +30,6 @@ interface TableColumn {
30
30
  showActions?: boolean;
31
31
  icon?: string;
32
32
  iconKey?: string;
33
- iconColor?: string;
34
33
  }
35
34
  interface TableRow {
36
35
  [key: string]: any;
@@ -39,16 +38,11 @@ interface TableAction {
39
38
  key: string;
40
39
  icon: string;
41
40
  label: string;
42
- color?: string;
43
41
  }
44
42
  interface StatusToneMap {
45
43
  [statusKey: string]: StatusTone;
46
44
  }
47
45
  type StatusTone = 'success' | 'error' | 'warning' | 'info' | 'neutral';
48
- declare const STATUS_TONE_STYLES: Record<StatusTone, {
49
- bg: string;
50
- color: string;
51
- }>;
52
46
  declare class Table implements AfterViewInit {
53
47
  columns: _angular_core.InputSignal<TableColumn[]>;
54
48
  data: _angular_core.InputSignal<TableRow[]>;
@@ -76,6 +70,7 @@ declare class Table implements AfterViewInit {
76
70
  onClickOutside(event: MouseEvent): void;
77
71
  getAlignment(col: TableColumn): string;
78
72
  formatValue(col: TableColumn, value: any): string;
73
+ getActionColor(action: TableAction): string;
79
74
  getStatusStyle(value: any): {
80
75
  bg: string;
81
76
  color: string;
@@ -395,7 +390,7 @@ declare class InputTextFilter implements ControlValueAccessor, OnDestroy {
395
390
  }
396
391
 
397
392
  declare class Input {
398
- mode: _angular_core.InputSignal<"search" | "select">;
393
+ mode: _angular_core.InputSignal<"select" | "search">;
399
394
  placeholder: _angular_core.InputSignal<string | undefined>;
400
395
  type: _angular_core.InputSignal<string>;
401
396
  value: _angular_core.ModelSignal<string>;
@@ -498,7 +493,9 @@ declare class DynamicFormFields implements OnInit, OnDestroy {
498
493
  onCheckboxChange(event: Event, fieldKey: string, optionIndex: number): void;
499
494
  ngOnDestroy(): void;
500
495
  onCancel(): void;
496
+ onEnter(event: KeyboardEvent): void;
501
497
  onUppercaseInput(event: Event, fieldType: string, key: string): void;
498
+ private focusNextElement;
502
499
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFormFields, never>;
503
500
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicFormFields, "lib-dynamic-form-fields", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
504
501
  }
@@ -681,7 +678,7 @@ interface InfoItem {
681
678
  value: string | boolean | null | undefined;
682
679
  }
683
680
  declare class InfoGroup {
684
- type: _angular_core.InputSignal<"success" | "error" | "info">;
681
+ type: _angular_core.InputSignal<"error" | "success" | "info">;
685
682
  showBox: _angular_core.InputSignal<boolean>;
686
683
  items: _angular_core.InputSignal<InfoItem[]>;
687
684
  title: _angular_core.InputSignal<string | null>;
@@ -718,7 +715,8 @@ interface SideCardSection {
718
715
  sliderUnit?: string;
719
716
  buttonSectionLabel?: string;
720
717
  }
721
- declare class SideCard implements OnChanges {
718
+ declare class SideCard implements AfterViewInit, OnChanges, OnDestroy {
719
+ wrapper: ElementRef<HTMLElement>;
722
720
  isFloating: boolean;
723
721
  isCompact: boolean;
724
722
  modeSideCard: 'create' | 'edit' | 'info';
@@ -730,7 +728,7 @@ declare class SideCard implements OnChanges {
730
728
  valueChange: EventEmitter<string>;
731
729
  typeChange: EventEmitter<"radial" | "poligonal">;
732
730
  statusValue: 1 | 2;
733
- statusChange: EventEmitter<1 | 2>;
731
+ statusChange: EventEmitter<2 | 1>;
734
732
  sections: SideCardSection[];
735
733
  sectionButtonClick: EventEmitter<SideCardSection>;
736
734
  min: number;
@@ -744,10 +742,13 @@ declare class SideCard implements OnChanges {
744
742
  showBtnSecondary: boolean;
745
743
  secondaryButtonLabel: string;
746
744
  buttonClick: EventEmitter<"primary" | "secondary">;
745
+ private ro;
747
746
  get statusLabel(): string;
748
747
  get statusClass(): string;
749
748
  get sliderPercentage(): string;
750
749
  ngOnChanges(): void;
750
+ ngAfterViewInit(): void;
751
+ ngOnDestroy(): void;
751
752
  selectType(type: 'radial' | 'poligonal'): void;
752
753
  onInput(event: Event): void;
753
754
  focusInput(input: HTMLInputElement): void;
@@ -756,23 +757,29 @@ declare class SideCard implements OnChanges {
756
757
  onButtonClick(type: 'primary' | 'secondary'): void;
757
758
  changeStatusLabel(): void;
758
759
  buttonClickIcon(): void;
760
+ private updateCompact;
759
761
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SideCard, never>;
760
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SideCard, "lib-side-card", never, { "isFloating": { "alias": "isFloating"; "required": false; }; "isCompact": { "alias": "isCompact"; "required": false; }; "modeSideCard": { "alias": "modeSideCard"; "required": false; }; "showTypeSelector": { "alias": "showTypeSelector"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "statusValue": { "alias": "statusValue"; "required": false; }; "sections": { "alias": "sections"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "showBtnPrimary": { "alias": "showBtnPrimary"; "required": false; }; "primaryButtonLabel": { "alias": "primaryButtonLabel"; "required": false; }; "showBtnSecondary": { "alias": "showBtnSecondary"; "required": false; }; "secondaryButtonLabel": { "alias": "secondaryButtonLabel"; "required": false; }; }, { "btnClickIcon": "btnClickIcon"; "valueChange": "valueChange"; "typeChange": "typeChange"; "statusChange": "statusChange"; "sectionButtonClick": "sectionButtonClick"; "sliderChange": "sliderChange"; "buttonClick": "buttonClick"; }, never, never, true, never>;
762
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SideCard, "lib-side-card", never, { "isFloating": { "alias": "isFloating"; "required": false; }; "modeSideCard": { "alias": "modeSideCard"; "required": false; }; "showTypeSelector": { "alias": "showTypeSelector"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "statusValue": { "alias": "statusValue"; "required": false; }; "sections": { "alias": "sections"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "showBtnPrimary": { "alias": "showBtnPrimary"; "required": false; }; "primaryButtonLabel": { "alias": "primaryButtonLabel"; "required": false; }; "showBtnSecondary": { "alias": "showBtnSecondary"; "required": false; }; "secondaryButtonLabel": { "alias": "secondaryButtonLabel"; "required": false; }; }, { "btnClickIcon": "btnClickIcon"; "valueChange": "valueChange"; "typeChange": "typeChange"; "statusChange": "statusChange"; "sectionButtonClick": "sectionButtonClick"; "sliderChange": "sliderChange"; "buttonClick": "buttonClick"; }, never, never, true, never>;
761
763
  }
762
764
 
763
- declare class SideCardDetail {
765
+ declare class SideCardDetail implements AfterViewInit, OnDestroy {
766
+ wrapper: ElementRef<HTMLElement>;
764
767
  isFloating: boolean;
765
768
  isCompact: boolean;
766
769
  nowLabel: string;
767
770
  agoLabel: string;
771
+ showMessageModal: boolean;
768
772
  title: string;
769
773
  subtitle: string;
770
774
  btnClickIcon: EventEmitter<"back" | "location" | "message">;
771
775
  statusValue: 1 | 2;
772
- statusChange: EventEmitter<1 | 2>;
776
+ statusChange: EventEmitter<2 | 1>;
773
777
  sections: SideCardSection[];
774
778
  activeTab: 'principal' | 'historial';
775
779
  tabChange: EventEmitter<"principal" | "historial">;
780
+ private ro;
781
+ ngAfterViewInit(): void;
782
+ ngOnDestroy(): void;
776
783
  get statusLabel(): string;
777
784
  get statusClass(): string;
778
785
  buttonClickIcon(type: 'back' | 'location' | 'message'): void;
@@ -780,8 +787,9 @@ declare class SideCardDetail {
780
787
  getIndicatorLeft(): string;
781
788
  isDateValue(value: any): boolean;
782
789
  getRelativeTime(date: string | Date | number): string;
790
+ private updateCompact;
783
791
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SideCardDetail, never>;
784
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SideCardDetail, "lib-side-card-detail", never, { "isFloating": { "alias": "isFloating"; "required": false; }; "isCompact": { "alias": "isCompact"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "statusValue": { "alias": "statusValue"; "required": false; }; "sections": { "alias": "sections"; "required": false; }; }, { "btnClickIcon": "btnClickIcon"; "statusChange": "statusChange"; "tabChange": "tabChange"; }, never, never, true, never>;
792
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SideCardDetail, "lib-side-card-detail", never, { "isFloating": { "alias": "isFloating"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "statusValue": { "alias": "statusValue"; "required": false; }; "sections": { "alias": "sections"; "required": false; }; }, { "btnClickIcon": "btnClickIcon"; "statusChange": "statusChange"; "tabChange": "tabChange"; }, never, never, true, never>;
785
793
  }
786
794
 
787
795
  interface DeviceStatus {
@@ -789,7 +797,7 @@ interface DeviceStatus {
789
797
  wifi?: boolean;
790
798
  bluetooth?: boolean;
791
799
  gps?: boolean;
792
- signalStatus?: 1 | 2 | 3 | 4;
800
+ signalStatus?: 0 | 1 | 2 | 3 | 4;
793
801
  batteryPercentage?: string;
794
802
  }
795
803
  interface DeviceCard {
@@ -806,6 +814,7 @@ declare class DevicesCarousel implements AfterViewInit {
806
814
  agoLabel: string;
807
815
  canScrollLeft: boolean;
808
816
  canScrollRight: boolean;
817
+ btnClickIcon: EventEmitter<void>;
809
818
  listRef: ElementRef<HTMLElement>;
810
819
  onResize(): void;
811
820
  onScroll(el: HTMLElement): void;
@@ -813,11 +822,63 @@ declare class DevicesCarousel implements AfterViewInit {
813
822
  ngAfterViewInit(): void;
814
823
  scroll(el: HTMLElement, dir: 'left' | 'right'): void;
815
824
  getGeofenceClass(state: string): "badge-inside" | "badge-outside";
816
- getSignalClass(level: 1 | 2 | 3 | 4): string;
825
+ getSignalClass(level: 0 | 1 | 2 | 3 | 4): string;
826
+ getBatteryLevel(battery?: string): 0 | 1 | 2 | 3 | 4;
817
827
  getRelativeTime(date: string | Date | number): string;
828
+ buttonClickIcon(): void;
818
829
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DevicesCarousel, never>;
819
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DevicesCarousel, "lib-devices-carousel", never, { "devices": { "alias": "devices"; "required": false; }; }, {}, never, never, true, never>;
830
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DevicesCarousel, "lib-devices-carousel", never, { "devices": { "alias": "devices"; "required": false; }; }, { "btnClickIcon": "btnClickIcon"; }, never, never, true, never>;
831
+ }
832
+
833
+ interface TitleFilterConfig {
834
+ type: FilterType;
835
+ filters: FilterItem[];
836
+ }
837
+ type FilterButtonMode = 'toggle' | 'action';
838
+ declare class TitleFilters {
839
+ showFilters: _angular_core.WritableSignal<boolean>;
840
+ title: _angular_core.InputSignal<string>;
841
+ filtersConfig: _angular_core.InputSignal<TitleFilterConfig[]>;
842
+ filtersChange: _angular_core.OutputEmitterRef<Record<string, string | number | Date | null>>;
843
+ applyFilters: _angular_core.OutputEmitterRef<void>;
844
+ clearFilterTrigger: _angular_core.WritableSignal<number>;
845
+ selectedDates: _angular_core.WritableSignal<SelectedDatesMap>;
846
+ selectedTextFilters: _angular_core.WritableSignal<Record<string, string>>;
847
+ buttonMode: _angular_core.InputSignal<FilterButtonMode>;
848
+ filterButtonClicked: _angular_core.OutputEmitterRef<void>;
849
+ private emitAllFilters;
850
+ private normalizeSelectOptions;
851
+ private normalizeFilters;
852
+ normalizedFiltersConfig: _angular_core.Signal<TitleFilterConfig[]>;
853
+ onFilterButtonClick(): void;
854
+ toggleFilters(): void;
855
+ clearAllFilters(): void;
856
+ onApplyFilters(): void;
857
+ onDateSelected(event: DateFilterSelection): void;
858
+ onFilterSelected(event: {
859
+ filter: string;
860
+ value: string;
861
+ }): void;
862
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TitleFilters, never>;
863
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TitleFilters, "lib-title-filters", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "filtersConfig": { "alias": "filtersConfig"; "required": false; "isSignal": true; }; "buttonMode": { "alias": "buttonMode"; "required": false; "isSignal": true; }; }, { "filtersChange": "filtersChange"; "applyFilters": "applyFilters"; "filterButtonClicked": "filterButtonClicked"; }, never, never, true, never>;
864
+ }
865
+
866
+ declare class NotificationModal {
867
+ messageInput: ElementRef<HTMLTextAreaElement>;
868
+ mode: 'list' | 'edit';
869
+ titulo: string;
870
+ buttonClick: EventEmitter<void>;
871
+ itemLabel: string;
872
+ btnLabel: string;
873
+ defaultMessages: string[];
874
+ messageValue: string;
875
+ selectDefaultMessage(message: string): void;
876
+ customMessage(): void;
877
+ btnClick(): void;
878
+ backToList(): void;
879
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationModal, never>;
880
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NotificationModal, "lib-notification-modal", never, { "titulo": { "alias": "titulo"; "required": false; }; }, { "buttonClick": "buttonClick"; }, never, never, true, never>;
820
881
  }
821
882
 
822
- export { DateTimeFilter, DateTimePicker, DevicesCarousel, DialogAlertComponent, DialogConfirmation, DynamicFormFields, FeatureCard, InfoGroup, Input, InputNumberFilter, InputSelectFilter, InputTextFilter, Loader, ModalForm, NotFoundModal, PaginationComponent, ProcessingOverlay, ProgressBar, ProgressFormService, STATUS_TONE_STYLES, SelectCustomSearch, SideCard, SideCardDetail, TOAST_EVENTS, Table, ToastHelper, WizardForm };
823
- export type { DateFilterSelection, DateTimeMode, DeviceCard, DeviceStatus, DialogItem, Feature, FieldConfig, FilterItem, FilterOption, FilterType, Hour12, InfoItem, ModalFormStep, Option, SectionConfig, SelectedDatesMap, SideCardItem, SideCardSection, StatusTone, StatusToneMap, TableAction, TableColumn, TableRow, ToastData };
883
+ export { DateTimeFilter, DateTimePicker, DevicesCarousel, DialogAlertComponent, DialogConfirmation, DynamicFormFields, FeatureCard, InfoGroup, Input, InputNumberFilter, InputSelectFilter, InputTextFilter, Loader, ModalForm, NotFoundModal, NotificationModal, PaginationComponent, ProcessingOverlay, ProgressBar, ProgressFormService, SelectCustomSearch, SideCard, SideCardDetail, TOAST_EVENTS, Table, TitleFilters, ToastHelper, WizardForm };
884
+ export type { DateFilterSelection, DateTimeMode, DeviceCard, DeviceStatus, DialogItem, Feature, FieldConfig, FilterItem, FilterOption, FilterType, Hour12, InfoItem, ModalFormStep, Option, SectionConfig, SelectedDatesMap, SideCardItem, SideCardSection, StatusTone, StatusToneMap, TableAction, TableColumn, TableRow, TitleFilterConfig, ToastData };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sapenlinea-components",
3
- "version": "0.0.32",
3
+ "version": "0.0.34",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.0",
6
6
  "@angular/core": "^20.3.0",