sapenlinea-components 0.0.30 → 0.0.32

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
@@ -24,7 +24,7 @@ declare class PaginationComponent {
24
24
  interface TableColumn {
25
25
  key: string;
26
26
  label: string;
27
- type?: 'text' | 'number' | 'money' | 'date' | 'percentage' | 'status' | 'icon-button';
27
+ type?: 'text' | 'number' | 'money' | 'date' | 'percentage' | 'status' | 'icon-button' | 'email';
28
28
  align?: 'left' | 'right' | 'center' | 'auto';
29
29
  sortable?: boolean;
30
30
  showActions?: boolean;
@@ -306,6 +306,7 @@ declare class InputNumberFilter implements ControlValueAccessor, OnDestroy {
306
306
  setDisabledState(isDisabled: boolean): void;
307
307
  onInputChange(event: Event, filterValue: string): void;
308
308
  private markAsTouched;
309
+ clearFilter(filterValue: string): void;
309
310
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputNumberFilter, never>;
310
311
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputNumberFilter, "lib-input-number-filter", never, { "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "clearTrigger": { "alias": "clearTrigger"; "required": false; "isSignal": true; }; }, { "filterSelected": "filterSelected"; "valueChange": "valueChange"; }, never, never, true, never>;
311
312
  }
@@ -497,6 +498,7 @@ declare class DynamicFormFields implements OnInit, OnDestroy {
497
498
  onCheckboxChange(event: Event, fieldKey: string, optionIndex: number): void;
498
499
  ngOnDestroy(): void;
499
500
  onCancel(): void;
501
+ onUppercaseInput(event: Event, fieldType: string, key: string): void;
500
502
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFormFields, never>;
501
503
  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>;
502
504
  }
@@ -507,6 +509,7 @@ interface ModalFormStep {
507
509
  component: Type<any>;
508
510
  }
509
511
  declare class ModalForm {
512
+ isFull: _angular_core.InputSignal<boolean>;
510
513
  title: _angular_core.InputSignal<string>;
511
514
  subtitle: _angular_core.InputSignal<string | null>;
512
515
  submitLabel: _angular_core.InputSignal<string>;
@@ -533,7 +536,7 @@ declare class ModalForm {
533
536
  submitForm(): void;
534
537
  onFileSelected(event: Event): void;
535
538
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalForm, never>;
536
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalForm, "lib-modal-form", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "submitLabel": { "alias": "submitLabel"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "steps": { "alias": "steps"; "required": false; "isSignal": true; }; "showActionsLeft": { "alias": "showActionsLeft"; "required": false; "isSignal": true; }; "evidenceLabel": { "alias": "evidenceLabel"; "required": false; "isSignal": true; }; "evidenceHelperText": { "alias": "evidenceHelperText"; "required": false; "isSignal": true; }; "evidenceAccept": { "alias": "evidenceAccept"; "required": false; "isSignal": true; }; "maxSizeMB": { "alias": "maxSizeMB"; "required": false; "isSignal": true; }; }, { "onSubmit": "onSubmit"; "onCancel": "onCancel"; "evidenceChange": "evidenceChange"; }, never, ["*"], true, never>;
539
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalForm, "lib-modal-form", never, { "isFull": { "alias": "isFull"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "submitLabel": { "alias": "submitLabel"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "steps": { "alias": "steps"; "required": false; "isSignal": true; }; "showActionsLeft": { "alias": "showActionsLeft"; "required": false; "isSignal": true; }; "evidenceLabel": { "alias": "evidenceLabel"; "required": false; "isSignal": true; }; "evidenceHelperText": { "alias": "evidenceHelperText"; "required": false; "isSignal": true; }; "evidenceAccept": { "alias": "evidenceAccept"; "required": false; "isSignal": true; }; "maxSizeMB": { "alias": "maxSizeMB"; "required": false; "isSignal": true; }; }, { "onSubmit": "onSubmit"; "onCancel": "onCancel"; "evidenceChange": "evidenceChange"; }, never, ["*"], true, never>;
537
540
  }
538
541
 
539
542
  declare class WizardForm {
@@ -690,7 +693,7 @@ declare class InfoGroup {
690
693
  }
691
694
 
692
695
  interface Feature {
693
- icon: string;
696
+ icon?: string;
694
697
  title: string;
695
698
  description: string;
696
699
  }
@@ -707,30 +710,114 @@ interface SideCardItem {
707
710
  value: string | number;
708
711
  }
709
712
  interface SideCardSection {
710
- title: string;
713
+ title?: string;
711
714
  items?: SideCardItem[];
712
715
  showSlider?: boolean;
713
- buttonLabel?: string;
714
- }
715
- declare class SideCard {
716
+ sliderLabel?: string;
717
+ sliderValue?: number;
718
+ sliderUnit?: string;
719
+ buttonSectionLabel?: string;
720
+ }
721
+ declare class SideCard implements OnChanges {
722
+ isFloating: boolean;
723
+ isCompact: boolean;
724
+ modeSideCard: 'create' | 'edit' | 'info';
716
725
  showTypeSelector: boolean;
717
726
  selectedType: 'radial' | 'poligonal';
727
+ btnClickIcon: EventEmitter<void>;
718
728
  placeholder: string;
719
729
  value: string;
720
730
  valueChange: EventEmitter<string>;
721
731
  typeChange: EventEmitter<"radial" | "poligonal">;
732
+ statusValue: 1 | 2;
733
+ statusChange: EventEmitter<1 | 2>;
722
734
  sections: SideCardSection[];
723
735
  sectionButtonClick: EventEmitter<SideCardSection>;
736
+ min: number;
737
+ max: number;
738
+ sliderLabel: string;
739
+ sliderUnit: string;
724
740
  sliderValue: number;
725
741
  sliderChange: EventEmitter<number>;
742
+ showBtnPrimary: boolean;
743
+ primaryButtonLabel: string;
744
+ showBtnSecondary: boolean;
745
+ secondaryButtonLabel: string;
746
+ buttonClick: EventEmitter<"primary" | "secondary">;
747
+ get statusLabel(): string;
748
+ get statusClass(): string;
749
+ get sliderPercentage(): string;
750
+ ngOnChanges(): void;
726
751
  selectType(type: 'radial' | 'poligonal'): void;
727
752
  onInput(event: Event): void;
728
753
  focusInput(input: HTMLInputElement): void;
729
754
  onSliderChange(event: Event): void;
730
- onButtonClick(section: SideCardSection): void;
755
+ onButtonSectionClick(section: SideCardSection): void;
756
+ onButtonClick(type: 'primary' | 'secondary'): void;
757
+ changeStatusLabel(): void;
758
+ buttonClickIcon(): void;
731
759
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SideCard, never>;
732
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SideCard, "lib-side-card", never, { "showTypeSelector": { "alias": "showTypeSelector"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "sections": { "alias": "sections"; "required": false; }; }, { "valueChange": "valueChange"; "typeChange": "typeChange"; "sectionButtonClick": "sectionButtonClick"; "sliderChange": "sliderChange"; }, never, never, true, 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>;
761
+ }
762
+
763
+ declare class SideCardDetail {
764
+ isFloating: boolean;
765
+ isCompact: boolean;
766
+ nowLabel: string;
767
+ agoLabel: string;
768
+ title: string;
769
+ subtitle: string;
770
+ btnClickIcon: EventEmitter<"back" | "location" | "message">;
771
+ statusValue: 1 | 2;
772
+ statusChange: EventEmitter<1 | 2>;
773
+ sections: SideCardSection[];
774
+ activeTab: 'principal' | 'historial';
775
+ tabChange: EventEmitter<"principal" | "historial">;
776
+ get statusLabel(): string;
777
+ get statusClass(): string;
778
+ buttonClickIcon(type: 'back' | 'location' | 'message'): void;
779
+ setTab(tab: 'principal' | 'historial'): void;
780
+ getIndicatorLeft(): string;
781
+ isDateValue(value: any): boolean;
782
+ getRelativeTime(date: string | Date | number): string;
783
+ 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>;
785
+ }
786
+
787
+ interface DeviceStatus {
788
+ geofence: 'inside' | 'outside';
789
+ wifi?: boolean;
790
+ bluetooth?: boolean;
791
+ gps?: boolean;
792
+ signalStatus?: 1 | 2 | 3 | 4;
793
+ batteryPercentage?: string;
794
+ }
795
+ interface DeviceCard {
796
+ code: string;
797
+ name: string;
798
+ geofenceName: string;
799
+ deviceInfo: string;
800
+ status: DeviceStatus;
801
+ lastUpdate: string | Date | number;
802
+ }
803
+ declare class DevicesCarousel implements AfterViewInit {
804
+ devices: DeviceCard[];
805
+ nowLabel: string;
806
+ agoLabel: string;
807
+ canScrollLeft: boolean;
808
+ canScrollRight: boolean;
809
+ listRef: ElementRef<HTMLElement>;
810
+ onResize(): void;
811
+ onScroll(el: HTMLElement): void;
812
+ updateScrollButtons(el?: HTMLElement): void;
813
+ ngAfterViewInit(): void;
814
+ scroll(el: HTMLElement, dir: 'left' | 'right'): void;
815
+ getGeofenceClass(state: string): "badge-inside" | "badge-outside";
816
+ getSignalClass(level: 1 | 2 | 3 | 4): string;
817
+ getRelativeTime(date: string | Date | number): string;
818
+ 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>;
733
820
  }
734
821
 
735
- export { DateTimeFilter, DateTimePicker, DialogAlertComponent, DialogConfirmation, DynamicFormFields, FeatureCard, InfoGroup, Input, InputNumberFilter, InputSelectFilter, InputTextFilter, Loader, ModalForm, NotFoundModal, PaginationComponent, ProcessingOverlay, ProgressBar, ProgressFormService, STATUS_TONE_STYLES, SelectCustomSearch, SideCard, TOAST_EVENTS, Table, ToastHelper, WizardForm };
736
- export type { DateFilterSelection, DateTimeMode, DialogItem, Feature, FieldConfig, FilterItem, FilterOption, FilterType, Hour12, InfoItem, ModalFormStep, Option, SectionConfig, SelectedDatesMap, SideCardItem, SideCardSection, StatusTone, StatusToneMap, TableAction, TableColumn, TableRow, ToastData };
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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sapenlinea-components",
3
- "version": "0.0.30",
3
+ "version": "0.0.32",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.0",
6
6
  "@angular/core": "^20.3.0",