@pecb-ui/components 1.1.2 → 1.2.0
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/README.md +556 -556
- package/fesm2022/pecb-ui-components.mjs +3826 -1945
- package/fesm2022/pecb-ui-components.mjs.map +1 -1
- package/index.d.ts +3937 -3
- package/package.json +6 -8
- package/esm2022/lib/components/button/button.component.mjs +0 -171
- package/esm2022/lib/components/card/card.component.mjs +0 -182
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -126
- package/esm2022/lib/components/datepicker/datepicker.component.mjs +0 -349
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +0 -329
- package/esm2022/lib/components/input/input.component.mjs +0 -321
- package/esm2022/lib/components/pagination/pagination.component.mjs +0 -197
- package/esm2022/lib/components/radio/radio.component.mjs +0 -147
- package/esm2022/lib/components/right-modal/right-modal.component.mjs +0 -234
- package/esm2022/lib/components/sidebar/sidebar.component.mjs +0 -155
- package/esm2022/lib/components/status/status.component.mjs +0 -50
- package/esm2022/lib/components/tab/tab.component.mjs +0 -151
- package/esm2022/lib/components/table/table.component.mjs +0 -503
- package/esm2022/lib/components/toggle/toggle.component.mjs +0 -126
- package/esm2022/lib/pecb-components.module.mjs +0 -118
- package/esm2022/lib/services/loading.service.mjs +0 -182
- package/esm2022/lib/services/notification.service.mjs +0 -144
- package/esm2022/lib/services/theme.service.mjs +0 -232
- package/esm2022/lib/shared/interfaces/component.interfaces.mjs +0 -2
- package/esm2022/lib/shared/types/common.types.mjs +0 -6
- package/esm2022/lib/shared/utils/accessibility.utils.mjs +0 -223
- package/esm2022/lib/shared/utils/dom.utils.mjs +0 -240
- package/esm2022/lib/shared/utils/error.utils.mjs +0 -277
- package/esm2022/lib/shared/utils/string.utils.mjs +0 -204
- package/esm2022/pecb-ui-components.mjs +0 -5
- package/esm2022/public-api.mjs +0 -53
- package/lib/components/button/button.component.d.ts +0 -130
- package/lib/components/card/card.component.d.ts +0 -140
- package/lib/components/checkbox/checkbox.component.d.ts +0 -74
- package/lib/components/datepicker/datepicker.component.d.ts +0 -155
- package/lib/components/dropdown/dropdown.component.d.ts +0 -144
- package/lib/components/input/input.component.d.ts +0 -215
- package/lib/components/pagination/pagination.component.d.ts +0 -53
- package/lib/components/radio/radio.component.d.ts +0 -93
- package/lib/components/right-modal/right-modal.component.d.ts +0 -137
- package/lib/components/sidebar/sidebar.component.d.ts +0 -97
- package/lib/components/status/status.component.d.ts +0 -19
- package/lib/components/tab/tab.component.d.ts +0 -102
- package/lib/components/table/table.component.d.ts +0 -403
- package/lib/components/toggle/toggle.component.d.ts +0 -74
- package/lib/pecb-components.module.d.ts +0 -37
- package/lib/services/loading.service.d.ts +0 -129
- package/lib/services/notification.service.d.ts +0 -136
- package/lib/services/theme.service.d.ts +0 -142
- package/lib/shared/interfaces/component.interfaces.d.ts +0 -283
- package/lib/shared/types/common.types.d.ts +0 -86
- package/lib/shared/utils/accessibility.utils.d.ts +0 -167
- package/lib/shared/utils/dom.utils.d.ts +0 -108
- package/lib/shared/utils/error.utils.d.ts +0 -191
- package/lib/shared/utils/string.utils.d.ts +0 -144
- package/public-api.d.ts +0 -24
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, ElementRef, ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export type DatepickerSize = 'sm' | 'md' | 'lg';
|
|
5
|
-
interface CalendarDay {
|
|
6
|
-
date: Date;
|
|
7
|
-
day: number;
|
|
8
|
-
isCurrentMonth: boolean;
|
|
9
|
-
isSelected: boolean;
|
|
10
|
-
isToday: boolean;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* A professional datepicker component with calendar dropdown.
|
|
14
|
-
* Fully accessible with WCAG 2.1 AA compliance and reactive forms support.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```html
|
|
18
|
-
* <pecb-datepicker
|
|
19
|
-
* label="Date"
|
|
20
|
-
* placeholder="Choose Date"
|
|
21
|
-
* [(ngModel)]="selectedDate"
|
|
22
|
-
* ></pecb-datepicker>
|
|
23
|
-
*
|
|
24
|
-
* <!-- With custom configuration -->
|
|
25
|
-
* <pecb-datepicker
|
|
26
|
-
* label="Birth Date"
|
|
27
|
-
* [required]="true"
|
|
28
|
-
* size="lg"
|
|
29
|
-
* (dateChange)="handleDateChange($event)"
|
|
30
|
-
* ></pecb-datepicker>
|
|
31
|
-
* ```
|
|
32
|
-
*
|
|
33
|
-
* @publicApi
|
|
34
|
-
*/
|
|
35
|
-
export declare class DatepickerComponent implements ControlValueAccessor {
|
|
36
|
-
private elementRef;
|
|
37
|
-
private cdr;
|
|
38
|
-
inputElement?: ElementRef<HTMLInputElement>;
|
|
39
|
-
/**
|
|
40
|
-
* Unique ID for the datepicker element
|
|
41
|
-
*/
|
|
42
|
-
id: string;
|
|
43
|
-
/**
|
|
44
|
-
* Label text to display above the input
|
|
45
|
-
*/
|
|
46
|
-
label?: string;
|
|
47
|
-
/**
|
|
48
|
-
* Placeholder text for the input
|
|
49
|
-
*/
|
|
50
|
-
placeholder: string;
|
|
51
|
-
/**
|
|
52
|
-
* The size of the datepicker
|
|
53
|
-
*/
|
|
54
|
-
size: DatepickerSize;
|
|
55
|
-
/**
|
|
56
|
-
* Whether the field is required
|
|
57
|
-
*/
|
|
58
|
-
required: boolean;
|
|
59
|
-
/**
|
|
60
|
-
* Whether the datepicker is disabled
|
|
61
|
-
*/
|
|
62
|
-
disabled: boolean;
|
|
63
|
-
/**
|
|
64
|
-
* Date format for display (default: MM/DD/YYYY)
|
|
65
|
-
*/
|
|
66
|
-
dateFormat: string;
|
|
67
|
-
/**
|
|
68
|
-
* Minimum selectable date
|
|
69
|
-
*/
|
|
70
|
-
minDate?: Date;
|
|
71
|
-
/**
|
|
72
|
-
* Maximum selectable date
|
|
73
|
-
*/
|
|
74
|
-
maxDate?: Date;
|
|
75
|
-
/**
|
|
76
|
-
* Event emitted when date is selected
|
|
77
|
-
*/
|
|
78
|
-
dateChange: EventEmitter<Date | null>;
|
|
79
|
-
/**
|
|
80
|
-
* Event emitted when calendar is opened
|
|
81
|
-
*/
|
|
82
|
-
opened: EventEmitter<void>;
|
|
83
|
-
/**
|
|
84
|
-
* Event emitted when calendar is closed
|
|
85
|
-
*/
|
|
86
|
-
closed: EventEmitter<void>;
|
|
87
|
-
selectedDate: Date | null;
|
|
88
|
-
isCalendarOpen: boolean;
|
|
89
|
-
currentMonth: Date;
|
|
90
|
-
calendarDays: CalendarDay[];
|
|
91
|
-
weekDays: string[];
|
|
92
|
-
monthNames: string[];
|
|
93
|
-
private onChange;
|
|
94
|
-
private onTouched;
|
|
95
|
-
constructor(elementRef: ElementRef, cdr: ChangeDetectorRef);
|
|
96
|
-
/**
|
|
97
|
-
* Get CSS classes for the datepicker wrapper
|
|
98
|
-
*/
|
|
99
|
-
get wrapperClasses(): string[];
|
|
100
|
-
/**
|
|
101
|
-
* Get formatted display value
|
|
102
|
-
*/
|
|
103
|
-
get displayValue(): string;
|
|
104
|
-
/**
|
|
105
|
-
* Get current month and year display
|
|
106
|
-
*/
|
|
107
|
-
get monthYearDisplay(): string;
|
|
108
|
-
/**
|
|
109
|
-
* Toggle calendar dropdown
|
|
110
|
-
*/
|
|
111
|
-
toggleCalendar(): void;
|
|
112
|
-
/**
|
|
113
|
-
* Close calendar
|
|
114
|
-
*/
|
|
115
|
-
closeCalendar(): void;
|
|
116
|
-
/**
|
|
117
|
-
* Navigate to previous month
|
|
118
|
-
*/
|
|
119
|
-
previousMonth(): void;
|
|
120
|
-
/**
|
|
121
|
-
* Navigate to next month
|
|
122
|
-
*/
|
|
123
|
-
nextMonth(): void;
|
|
124
|
-
/**
|
|
125
|
-
* Select a date
|
|
126
|
-
*/
|
|
127
|
-
selectDate(day: CalendarDay): void;
|
|
128
|
-
/**
|
|
129
|
-
* Generate calendar days
|
|
130
|
-
*/
|
|
131
|
-
private generateCalendar;
|
|
132
|
-
/**
|
|
133
|
-
* Format date for display
|
|
134
|
-
*/
|
|
135
|
-
private formatDate;
|
|
136
|
-
/**
|
|
137
|
-
* Listen for clicks outside to close calendar
|
|
138
|
-
*/
|
|
139
|
-
onDocumentClick(event: MouseEvent): void;
|
|
140
|
-
/**
|
|
141
|
-
* Handle keyboard navigation
|
|
142
|
-
*/
|
|
143
|
-
onKeyDown(event: KeyboardEvent): void;
|
|
144
|
-
/**
|
|
145
|
-
* Clear selected date
|
|
146
|
-
*/
|
|
147
|
-
clearDate(event: MouseEvent): void;
|
|
148
|
-
writeValue(value: Date | null): void;
|
|
149
|
-
registerOnChange(fn: (value: Date | null) => void): void;
|
|
150
|
-
registerOnTouched(fn: () => void): void;
|
|
151
|
-
setDisabledState(isDisabled: boolean): void;
|
|
152
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerComponent, never>;
|
|
153
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DatepickerComponent, "pecb-datepicker", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "size": { "alias": "size"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "dateFormat": { "alias": "dateFormat"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; }, { "dateChange": "dateChange"; "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
|
|
154
|
-
}
|
|
155
|
-
export {};
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, ChangeDetectorRef, ElementRef } from '@angular/core';
|
|
2
|
-
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export interface DropdownOption {
|
|
5
|
-
label: string;
|
|
6
|
-
value: unknown;
|
|
7
|
-
disabled?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export type DropdownSize = 'sm' | 'md' | 'lg';
|
|
10
|
-
/**
|
|
11
|
-
* A professional dropdown/select component with multi-select and search support.
|
|
12
|
-
* Fully accessible with WCAG 2.1 AA compliance and reactive forms support.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```html
|
|
16
|
-
* <!-- Single select -->
|
|
17
|
-
* <pecb-dropdown
|
|
18
|
-
* label="Select option"
|
|
19
|
-
* [options]="options"
|
|
20
|
-
* [(ngModel)]="selectedValue"
|
|
21
|
-
* ></pecb-dropdown>
|
|
22
|
-
*
|
|
23
|
-
* <!-- Multi-select with search -->
|
|
24
|
-
* <pecb-dropdown
|
|
25
|
-
* label="Select multiple"
|
|
26
|
-
* [options]="options"
|
|
27
|
-
* [multiple]="true"
|
|
28
|
-
* [searchable]="true"
|
|
29
|
-
* [(ngModel)]="selectedValues"
|
|
30
|
-
* ></pecb-dropdown>
|
|
31
|
-
* ```
|
|
32
|
-
*
|
|
33
|
-
* @publicApi
|
|
34
|
-
*/
|
|
35
|
-
export declare class DropdownComponent implements ControlValueAccessor {
|
|
36
|
-
private cdr;
|
|
37
|
-
private elementRef;
|
|
38
|
-
searchInput?: ElementRef<HTMLInputElement>;
|
|
39
|
-
/**
|
|
40
|
-
* Unique ID for the dropdown element
|
|
41
|
-
*/
|
|
42
|
-
id: string;
|
|
43
|
-
/**
|
|
44
|
-
* Label text to display
|
|
45
|
-
*/
|
|
46
|
-
label?: string;
|
|
47
|
-
/**
|
|
48
|
-
* The size of the dropdown
|
|
49
|
-
*/
|
|
50
|
-
size: DropdownSize;
|
|
51
|
-
/**
|
|
52
|
-
* List of options
|
|
53
|
-
*/
|
|
54
|
-
options: DropdownOption[];
|
|
55
|
-
/**
|
|
56
|
-
* Whether multiple selection is enabled
|
|
57
|
-
*/
|
|
58
|
-
multiple: boolean;
|
|
59
|
-
/**
|
|
60
|
-
* Whether search is enabled
|
|
61
|
-
*/
|
|
62
|
-
searchable: boolean;
|
|
63
|
-
/**
|
|
64
|
-
* Maximum height for dropdown panel (in pixels)
|
|
65
|
-
*/
|
|
66
|
-
maxHeight: number;
|
|
67
|
-
/**
|
|
68
|
-
* Whether the dropdown is disabled
|
|
69
|
-
*/
|
|
70
|
-
disabled: boolean;
|
|
71
|
-
/**
|
|
72
|
-
* Whether the field is required
|
|
73
|
-
*/
|
|
74
|
-
required: boolean;
|
|
75
|
-
/**
|
|
76
|
-
* Whether to show error state
|
|
77
|
-
*/
|
|
78
|
-
error: boolean;
|
|
79
|
-
/**
|
|
80
|
-
* Error message to display
|
|
81
|
-
*/
|
|
82
|
-
errorMessage?: string;
|
|
83
|
-
/**
|
|
84
|
-
* Helper text to display below dropdown
|
|
85
|
-
*/
|
|
86
|
-
helperText?: string;
|
|
87
|
-
/**
|
|
88
|
-
* Event emitted when selection changes
|
|
89
|
-
*/
|
|
90
|
-
selectionChange: EventEmitter<unknown>;
|
|
91
|
-
isOpen: boolean;
|
|
92
|
-
searchQuery: string;
|
|
93
|
-
selectedValues: unknown[];
|
|
94
|
-
focusedIndex: number;
|
|
95
|
-
private onChange;
|
|
96
|
-
private onTouched;
|
|
97
|
-
constructor(cdr: ChangeDetectorRef, elementRef: ElementRef);
|
|
98
|
-
/**
|
|
99
|
-
* Get CSS classes for the dropdown wrapper
|
|
100
|
-
*/
|
|
101
|
-
get wrapperClasses(): string[];
|
|
102
|
-
/**
|
|
103
|
-
* Check if dropdown has value
|
|
104
|
-
*/
|
|
105
|
-
get hasValue(): boolean;
|
|
106
|
-
/**
|
|
107
|
-
* Get filtered options based on search query
|
|
108
|
-
*/
|
|
109
|
-
get filteredOptions(): DropdownOption[];
|
|
110
|
-
/**
|
|
111
|
-
* Get display text for selected value(s)
|
|
112
|
-
*/
|
|
113
|
-
get displayText(): string;
|
|
114
|
-
/**
|
|
115
|
-
* Toggle dropdown open/close
|
|
116
|
-
*/
|
|
117
|
-
toggleDropdown(): void;
|
|
118
|
-
/**
|
|
119
|
-
* Select an option
|
|
120
|
-
*/
|
|
121
|
-
selectOption(option: DropdownOption): void;
|
|
122
|
-
/**
|
|
123
|
-
* Check if option is selected
|
|
124
|
-
*/
|
|
125
|
-
isSelected(option: DropdownOption): boolean;
|
|
126
|
-
/**
|
|
127
|
-
* Handle search input
|
|
128
|
-
*/
|
|
129
|
-
onSearchInput(event: Event): void;
|
|
130
|
-
/**
|
|
131
|
-
* Handle keyboard navigation
|
|
132
|
-
*/
|
|
133
|
-
onKeyDown(event: KeyboardEvent): void;
|
|
134
|
-
/**
|
|
135
|
-
* Close dropdown when clicking outside
|
|
136
|
-
*/
|
|
137
|
-
onDocumentClick(event: MouseEvent): void;
|
|
138
|
-
writeValue(value: unknown): void;
|
|
139
|
-
registerOnChange(fn: (value: unknown) => void): void;
|
|
140
|
-
registerOnTouched(fn: () => void): void;
|
|
141
|
-
setDisabledState(isDisabled: boolean): void;
|
|
142
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, never>;
|
|
143
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "pecb-dropdown", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "size": { "alias": "size"; "required": false; }; "options": { "alias": "options"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
144
|
-
}
|
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, ElementRef, ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
|
|
3
|
-
import { ControlValueAccessor } from '@angular/forms';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export type InputType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search';
|
|
6
|
-
export type InputSize = 'sm' | 'md' | 'lg';
|
|
7
|
-
/**
|
|
8
|
-
* A professional input component with floating label and multiple types.
|
|
9
|
-
* Fully accessible with WCAG 2.1 AA compliance and reactive forms support.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```html
|
|
13
|
-
* <pecb-input
|
|
14
|
-
* label="Email"
|
|
15
|
-
* type="email"
|
|
16
|
-
* placeholder="Enter your email"
|
|
17
|
-
* [(ngModel)]="email"
|
|
18
|
-
* ></pecb-input>
|
|
19
|
-
*
|
|
20
|
-
* <!-- With predefined icon -->
|
|
21
|
-
* <pecb-input
|
|
22
|
-
* label="Email"
|
|
23
|
-
* type="email"
|
|
24
|
-
* icon="email"
|
|
25
|
-
* iconPosition="left"
|
|
26
|
-
* ></pecb-input>
|
|
27
|
-
*
|
|
28
|
-
* <!-- With custom SVG icon -->
|
|
29
|
-
* <pecb-input
|
|
30
|
-
* label="Phone"
|
|
31
|
-
* type="tel"
|
|
32
|
-
* [icon]="'<svg>...</svg>'"
|
|
33
|
-
* iconPosition="left"
|
|
34
|
-
* ></pecb-input>
|
|
35
|
-
*
|
|
36
|
-
* <!-- With error state -->
|
|
37
|
-
* <pecb-input
|
|
38
|
-
* label="Password"
|
|
39
|
-
* type="password"
|
|
40
|
-
* [error]="true"
|
|
41
|
-
* errorMessage="Password is required"
|
|
42
|
-
* ></pecb-input>
|
|
43
|
-
* ```
|
|
44
|
-
*
|
|
45
|
-
* @publicApi
|
|
46
|
-
*/
|
|
47
|
-
export declare class InputComponent implements ControlValueAccessor {
|
|
48
|
-
private cdr;
|
|
49
|
-
private sanitizer;
|
|
50
|
-
inputElement?: ElementRef<HTMLInputElement>;
|
|
51
|
-
/**
|
|
52
|
-
* Unique ID for the input element
|
|
53
|
-
*/
|
|
54
|
-
id: string;
|
|
55
|
-
/**
|
|
56
|
-
* Input type
|
|
57
|
-
*/
|
|
58
|
-
type: InputType;
|
|
59
|
-
/**
|
|
60
|
-
* Label text to display
|
|
61
|
-
*/
|
|
62
|
-
label?: string;
|
|
63
|
-
/**
|
|
64
|
-
* Placeholder text (shown when label is not present)
|
|
65
|
-
*/
|
|
66
|
-
placeholder: string;
|
|
67
|
-
/**
|
|
68
|
-
* The size of the input
|
|
69
|
-
*/
|
|
70
|
-
size: InputSize;
|
|
71
|
-
/**
|
|
72
|
-
* Whether the field is required
|
|
73
|
-
*/
|
|
74
|
-
required: boolean;
|
|
75
|
-
/**
|
|
76
|
-
* Whether the input is disabled
|
|
77
|
-
*/
|
|
78
|
-
disabled: boolean;
|
|
79
|
-
/**
|
|
80
|
-
* Whether the input is readonly
|
|
81
|
-
*/
|
|
82
|
-
readonly: boolean;
|
|
83
|
-
/**
|
|
84
|
-
* Whether to show error state
|
|
85
|
-
*/
|
|
86
|
-
error: boolean;
|
|
87
|
-
/**
|
|
88
|
-
* Error message to display
|
|
89
|
-
*/
|
|
90
|
-
errorMessage?: string;
|
|
91
|
-
/**
|
|
92
|
-
* Helper text to display below input
|
|
93
|
-
*/
|
|
94
|
-
helperText?: string;
|
|
95
|
-
/**
|
|
96
|
-
* Icon to display - can be a predefined name ('email', 'search', 'user') or custom SVG string
|
|
97
|
-
*/
|
|
98
|
-
icon?: string;
|
|
99
|
-
/**
|
|
100
|
-
* Icon position (left or right)
|
|
101
|
-
*/
|
|
102
|
-
iconPosition: 'left' | 'right';
|
|
103
|
-
/**
|
|
104
|
-
* Left icon name or HTML (deprecated - use icon with iconPosition instead)
|
|
105
|
-
*/
|
|
106
|
-
leftIcon?: string;
|
|
107
|
-
/**
|
|
108
|
-
* Right icon name or HTML (deprecated - use icon with iconPosition instead)
|
|
109
|
-
*/
|
|
110
|
-
rightIcon?: string;
|
|
111
|
-
/**
|
|
112
|
-
* Whether to show clear button
|
|
113
|
-
*/
|
|
114
|
-
clearable: boolean;
|
|
115
|
-
/**
|
|
116
|
-
* Maximum length of input
|
|
117
|
-
*/
|
|
118
|
-
maxLength?: number;
|
|
119
|
-
/**
|
|
120
|
-
* Minimum value (for number type)
|
|
121
|
-
*/
|
|
122
|
-
min?: number;
|
|
123
|
-
/**
|
|
124
|
-
* Maximum value (for number type)
|
|
125
|
-
*/
|
|
126
|
-
max?: number;
|
|
127
|
-
/**
|
|
128
|
-
* Step value (for number type)
|
|
129
|
-
*/
|
|
130
|
-
step?: number;
|
|
131
|
-
/**
|
|
132
|
-
* Autocomplete attribute
|
|
133
|
-
*/
|
|
134
|
-
autocomplete?: string;
|
|
135
|
-
/**
|
|
136
|
-
* Event emitted when value changes
|
|
137
|
-
*/
|
|
138
|
-
valueChange: EventEmitter<string>;
|
|
139
|
-
/**
|
|
140
|
-
* Event emitted on blur
|
|
141
|
-
*/
|
|
142
|
-
blurred: EventEmitter<void>;
|
|
143
|
-
/**
|
|
144
|
-
* Event emitted on focus
|
|
145
|
-
*/
|
|
146
|
-
focused: EventEmitter<void>;
|
|
147
|
-
/**
|
|
148
|
-
* Event emitted when clear button is clicked
|
|
149
|
-
*/
|
|
150
|
-
cleared: EventEmitter<void>;
|
|
151
|
-
value: string;
|
|
152
|
-
isFocused: boolean;
|
|
153
|
-
showPassword: boolean;
|
|
154
|
-
private onChange;
|
|
155
|
-
private onTouched;
|
|
156
|
-
constructor(cdr: ChangeDetectorRef, sanitizer: DomSanitizer);
|
|
157
|
-
/**
|
|
158
|
-
* Get CSS classes for the input wrapper
|
|
159
|
-
*/
|
|
160
|
-
get wrapperClasses(): string[];
|
|
161
|
-
/**
|
|
162
|
-
* Get the actual input type (handles password visibility toggle)
|
|
163
|
-
*/
|
|
164
|
-
get inputType(): string;
|
|
165
|
-
/**
|
|
166
|
-
* Check if clear button should be shown
|
|
167
|
-
*/
|
|
168
|
-
get showClearButton(): boolean;
|
|
169
|
-
/**
|
|
170
|
-
* Check if password toggle should be shown
|
|
171
|
-
*/
|
|
172
|
-
get showPasswordToggle(): boolean;
|
|
173
|
-
/**
|
|
174
|
-
* Get computed left icon
|
|
175
|
-
*/
|
|
176
|
-
get computedLeftIcon(): string | undefined;
|
|
177
|
-
/**
|
|
178
|
-
* Get computed right icon
|
|
179
|
-
*/
|
|
180
|
-
get computedRightIcon(): string | undefined;
|
|
181
|
-
/**
|
|
182
|
-
* Handle input change
|
|
183
|
-
*/
|
|
184
|
-
onInput(event: Event): void;
|
|
185
|
-
/**
|
|
186
|
-
* Handle focus event
|
|
187
|
-
*/
|
|
188
|
-
onFocus(): void;
|
|
189
|
-
/**
|
|
190
|
-
* Handle blur event
|
|
191
|
-
*/
|
|
192
|
-
onBlur(): void;
|
|
193
|
-
/**
|
|
194
|
-
* Clear input value
|
|
195
|
-
*/
|
|
196
|
-
clearValue(event: MouseEvent): void;
|
|
197
|
-
/**
|
|
198
|
-
* Toggle password visibility
|
|
199
|
-
*/
|
|
200
|
-
togglePasswordVisibility(event: MouseEvent): void;
|
|
201
|
-
/**
|
|
202
|
-
* Focus the input
|
|
203
|
-
*/
|
|
204
|
-
focus(): void;
|
|
205
|
-
/**
|
|
206
|
-
* Sanitize custom icon HTML/SVG
|
|
207
|
-
*/
|
|
208
|
-
sanitizeIcon(icon: string | undefined): SafeHtml;
|
|
209
|
-
writeValue(value: string): void;
|
|
210
|
-
registerOnChange(fn: (value: string) => void): void;
|
|
211
|
-
registerOnTouched(fn: () => void): void;
|
|
212
|
-
setDisabledState(isDisabled: boolean): void;
|
|
213
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>;
|
|
214
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "pecb-input", never, { "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "size": { "alias": "size"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconPosition": { "alias": "iconPosition"; "required": false; }; "leftIcon": { "alias": "leftIcon"; "required": false; }; "rightIcon": { "alias": "rightIcon"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; }, { "valueChange": "valueChange"; "blurred": "blurred"; "focused": "focused"; "cleared": "cleared"; }, never, never, true, never>;
|
|
215
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, OnChanges, SimpleChanges, ElementRef } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export type PaginationSize = 'sm' | 'md' | 'lg';
|
|
4
|
-
export type PaginationVariant = 'full' | 'compact' | 'minimal' | 'centered';
|
|
5
|
-
export interface PageChangeEvent {
|
|
6
|
-
page: number;
|
|
7
|
-
pageSize: number;
|
|
8
|
-
startIndex: number;
|
|
9
|
-
endIndex: number;
|
|
10
|
-
}
|
|
11
|
-
export declare class PaginationComponent implements OnChanges {
|
|
12
|
-
private elementRef;
|
|
13
|
-
totalItems: number;
|
|
14
|
-
pageSize: number;
|
|
15
|
-
currentPage: number;
|
|
16
|
-
pageSizeOptions: number[];
|
|
17
|
-
size: PaginationSize;
|
|
18
|
-
variant: PaginationVariant;
|
|
19
|
-
showPageSizeSelector: boolean;
|
|
20
|
-
showItemsInfo: boolean;
|
|
21
|
-
maxVisiblePages: number;
|
|
22
|
-
disabled: boolean;
|
|
23
|
-
ariaLabel: string;
|
|
24
|
-
pageChange: EventEmitter<PageChangeEvent>;
|
|
25
|
-
pageSizeChange: EventEmitter<number>;
|
|
26
|
-
totalPages: number;
|
|
27
|
-
visiblePages: (number | string)[];
|
|
28
|
-
isDropdownOpen: boolean;
|
|
29
|
-
constructor(elementRef: ElementRef);
|
|
30
|
-
onDocumentClick(event: MouseEvent): void;
|
|
31
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
32
|
-
get containerClasses(): string[];
|
|
33
|
-
get showPages(): boolean;
|
|
34
|
-
get showPageSize(): boolean;
|
|
35
|
-
get itemsInfoText(): string;
|
|
36
|
-
get startIndex(): number;
|
|
37
|
-
get endIndex(): number;
|
|
38
|
-
get canGoPrevious(): boolean;
|
|
39
|
-
get canGoNext(): boolean;
|
|
40
|
-
private calculateTotalPages;
|
|
41
|
-
private updateVisiblePages;
|
|
42
|
-
goToPage(page: number): void;
|
|
43
|
-
goToPrevious(): void;
|
|
44
|
-
goToNext(): void;
|
|
45
|
-
onPageSizeChange(newSize: number): void;
|
|
46
|
-
toggleDropdown(): void;
|
|
47
|
-
closeDropdown(): void;
|
|
48
|
-
private emitPageChange;
|
|
49
|
-
isNumber(value: number | string): boolean;
|
|
50
|
-
trackByPage(index: number, page: number | string): number | string;
|
|
51
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PaginationComponent, never>;
|
|
52
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PaginationComponent, "pecb-pagination", never, { "totalItems": { "alias": "totalItems"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "currentPage": { "alias": "currentPage"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; "size": { "alias": "size"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "showPageSizeSelector": { "alias": "showPageSizeSelector"; "required": false; }; "showItemsInfo": { "alias": "showItemsInfo"; "required": false; }; "maxVisiblePages": { "alias": "maxVisiblePages"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; }, { "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; }, never, never, true, never>;
|
|
53
|
-
}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export type RadioVariant = 'dot' | 'filled';
|
|
5
|
-
export type RadioLabelPosition = 'right' | 'left';
|
|
6
|
-
/**
|
|
7
|
-
* A professional radio button component with label and description support.
|
|
8
|
-
* Fully accessible with WCAG 2.1 AA compliance and reactive forms support.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```html
|
|
12
|
-
* <!-- Default variant with inner dot -->
|
|
13
|
-
* <pecb-radio
|
|
14
|
-
* label="Option 1"
|
|
15
|
-
* description="This is a description"
|
|
16
|
-
* [(ngModel)]="selectedValue"
|
|
17
|
-
* value="option1"
|
|
18
|
-
* ></pecb-radio>
|
|
19
|
-
*
|
|
20
|
-
* <!-- Filled variant -->
|
|
21
|
-
* <pecb-radio
|
|
22
|
-
* label="Option 1"
|
|
23
|
-
* variant="filled"
|
|
24
|
-
* [(ngModel)]="selectedValue"
|
|
25
|
-
* value="option1"
|
|
26
|
-
* ></pecb-radio>
|
|
27
|
-
* ```
|
|
28
|
-
*
|
|
29
|
-
* @publicApi
|
|
30
|
-
*/
|
|
31
|
-
export declare class RadioComponent implements ControlValueAccessor {
|
|
32
|
-
private cdr;
|
|
33
|
-
/**
|
|
34
|
-
* Unique ID for the radio element
|
|
35
|
-
*/
|
|
36
|
-
id: string;
|
|
37
|
-
/**
|
|
38
|
-
* Name attribute for the radio group
|
|
39
|
-
*/
|
|
40
|
-
name?: string;
|
|
41
|
-
/**
|
|
42
|
-
* Value of this radio button
|
|
43
|
-
*/
|
|
44
|
-
value: unknown;
|
|
45
|
-
/**
|
|
46
|
-
* Visual variant of the radio button
|
|
47
|
-
*/
|
|
48
|
-
variant: RadioVariant;
|
|
49
|
-
/**
|
|
50
|
-
* Label text to display
|
|
51
|
-
*/
|
|
52
|
-
label?: string;
|
|
53
|
-
/**
|
|
54
|
-
* Description text to display below label
|
|
55
|
-
*/
|
|
56
|
-
description?: string;
|
|
57
|
-
/**
|
|
58
|
-
* Position of the label relative to the radio control.
|
|
59
|
-
* 'right' (default): [radio] Title Description
|
|
60
|
-
* 'left': Title Description [radio]
|
|
61
|
-
*/
|
|
62
|
-
labelPosition: RadioLabelPosition;
|
|
63
|
-
/**
|
|
64
|
-
* Whether the radio is disabled
|
|
65
|
-
*/
|
|
66
|
-
disabled: boolean;
|
|
67
|
-
/**
|
|
68
|
-
* Event emitted when selection changes
|
|
69
|
-
*/
|
|
70
|
-
selectionChange: EventEmitter<unknown>;
|
|
71
|
-
checked: boolean;
|
|
72
|
-
private onChange;
|
|
73
|
-
private onTouched;
|
|
74
|
-
constructor(cdr: ChangeDetectorRef);
|
|
75
|
-
/**
|
|
76
|
-
* Get CSS classes for the radio wrapper
|
|
77
|
-
*/
|
|
78
|
-
get wrapperClasses(): string[];
|
|
79
|
-
/**
|
|
80
|
-
* Handle radio selection
|
|
81
|
-
*/
|
|
82
|
-
onRadioChange(event: Event): void;
|
|
83
|
-
/**
|
|
84
|
-
* Handle blur event
|
|
85
|
-
*/
|
|
86
|
-
onBlur(): void;
|
|
87
|
-
writeValue(value: unknown): void;
|
|
88
|
-
registerOnChange(fn: (value: unknown) => void): void;
|
|
89
|
-
registerOnTouched(fn: () => void): void;
|
|
90
|
-
setDisabledState(isDisabled: boolean): void;
|
|
91
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RadioComponent, never>;
|
|
92
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RadioComponent, "pecb-radio", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "label": { "alias": "label"; "required": false; }; "description": { "alias": "description"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
93
|
-
}
|