@pecb-ui/components 1.1.2 → 2.0.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.
Files changed (56) hide show
  1. package/README.md +556 -556
  2. package/fesm2022/pecb-ui-components.mjs +998 -1907
  3. package/fesm2022/pecb-ui-components.mjs.map +1 -1
  4. package/index.d.ts +2439 -3
  5. package/package.json +6 -8
  6. package/esm2022/lib/components/button/button.component.mjs +0 -171
  7. package/esm2022/lib/components/card/card.component.mjs +0 -182
  8. package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -126
  9. package/esm2022/lib/components/datepicker/datepicker.component.mjs +0 -349
  10. package/esm2022/lib/components/dropdown/dropdown.component.mjs +0 -329
  11. package/esm2022/lib/components/input/input.component.mjs +0 -321
  12. package/esm2022/lib/components/pagination/pagination.component.mjs +0 -197
  13. package/esm2022/lib/components/radio/radio.component.mjs +0 -147
  14. package/esm2022/lib/components/right-modal/right-modal.component.mjs +0 -234
  15. package/esm2022/lib/components/sidebar/sidebar.component.mjs +0 -155
  16. package/esm2022/lib/components/status/status.component.mjs +0 -50
  17. package/esm2022/lib/components/tab/tab.component.mjs +0 -151
  18. package/esm2022/lib/components/table/table.component.mjs +0 -503
  19. package/esm2022/lib/components/toggle/toggle.component.mjs +0 -126
  20. package/esm2022/lib/pecb-components.module.mjs +0 -118
  21. package/esm2022/lib/services/loading.service.mjs +0 -182
  22. package/esm2022/lib/services/notification.service.mjs +0 -144
  23. package/esm2022/lib/services/theme.service.mjs +0 -232
  24. package/esm2022/lib/shared/interfaces/component.interfaces.mjs +0 -2
  25. package/esm2022/lib/shared/types/common.types.mjs +0 -6
  26. package/esm2022/lib/shared/utils/accessibility.utils.mjs +0 -223
  27. package/esm2022/lib/shared/utils/dom.utils.mjs +0 -240
  28. package/esm2022/lib/shared/utils/error.utils.mjs +0 -277
  29. package/esm2022/lib/shared/utils/string.utils.mjs +0 -204
  30. package/esm2022/pecb-ui-components.mjs +0 -5
  31. package/esm2022/public-api.mjs +0 -53
  32. package/lib/components/button/button.component.d.ts +0 -130
  33. package/lib/components/card/card.component.d.ts +0 -140
  34. package/lib/components/checkbox/checkbox.component.d.ts +0 -74
  35. package/lib/components/datepicker/datepicker.component.d.ts +0 -155
  36. package/lib/components/dropdown/dropdown.component.d.ts +0 -144
  37. package/lib/components/input/input.component.d.ts +0 -215
  38. package/lib/components/pagination/pagination.component.d.ts +0 -53
  39. package/lib/components/radio/radio.component.d.ts +0 -93
  40. package/lib/components/right-modal/right-modal.component.d.ts +0 -137
  41. package/lib/components/sidebar/sidebar.component.d.ts +0 -97
  42. package/lib/components/status/status.component.d.ts +0 -19
  43. package/lib/components/tab/tab.component.d.ts +0 -102
  44. package/lib/components/table/table.component.d.ts +0 -403
  45. package/lib/components/toggle/toggle.component.d.ts +0 -74
  46. package/lib/pecb-components.module.d.ts +0 -37
  47. package/lib/services/loading.service.d.ts +0 -129
  48. package/lib/services/notification.service.d.ts +0 -136
  49. package/lib/services/theme.service.d.ts +0 -142
  50. package/lib/shared/interfaces/component.interfaces.d.ts +0 -283
  51. package/lib/shared/types/common.types.d.ts +0 -86
  52. package/lib/shared/utils/accessibility.utils.d.ts +0 -167
  53. package/lib/shared/utils/dom.utils.d.ts +0 -108
  54. package/lib/shared/utils/error.utils.d.ts +0 -191
  55. package/lib/shared/utils/string.utils.d.ts +0 -144
  56. 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
- }