@lesterarte/sefin-ui 0.0.20-dev.1 → 0.0.20-dev.11
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/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Injector, AfterViewInit, OnChanges, ElementRef, SimpleChanges, OnInit, OnDestroy, ChangeDetectorRef, NgZone } from '@angular/core';
|
|
2
|
+
import { EventEmitter, Injector, AfterViewInit, OnChanges, ElementRef, SimpleChanges, OnInit, OnDestroy, ChangeDetectorRef, NgZone, TemplateRef } from '@angular/core';
|
|
3
3
|
import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
4
|
+
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Color design tokens as TypeScript constants
|
|
@@ -639,6 +640,8 @@ declare class ButtonComponent {
|
|
|
639
640
|
size: ButtonSize;
|
|
640
641
|
/** Whether the button is disabled */
|
|
641
642
|
disabled: boolean;
|
|
643
|
+
/** Whether the button should take full width of the container */
|
|
644
|
+
fullWidth: boolean;
|
|
642
645
|
/** Button type. Options: 'button' | 'submit' | 'reset' */
|
|
643
646
|
type: 'button' | 'submit' | 'reset';
|
|
644
647
|
/** Additional CSS classes */
|
|
@@ -647,7 +650,7 @@ declare class ButtonComponent {
|
|
|
647
650
|
onClick(event: MouseEvent): void;
|
|
648
651
|
get buttonClasses(): string;
|
|
649
652
|
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
|
|
650
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "sefin-button", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "type": { "alias": "type"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
|
|
653
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "sefin-button", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "type": { "alias": "type"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
|
|
651
654
|
}
|
|
652
655
|
|
|
653
656
|
type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
@@ -1249,6 +1252,81 @@ declare class ImageComponent implements OnInit, OnChanges {
|
|
|
1249
1252
|
static ɵcmp: i0.ɵɵComponentDeclaration<ImageComponent, "sefin-image", never, { "src": { "alias": "src"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "fit": { "alias": "fit"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; }; "fallback": { "alias": "fallback"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "class": { "alias": "class"; "required": false; }; "sizes": { "alias": "sizes"; "required": false; }; "srcset": { "alias": "srcset"; "required": false; }; }, {}, never, never, true, never>;
|
|
1250
1253
|
}
|
|
1251
1254
|
|
|
1255
|
+
type TabVariant = 'default' | 'primary' | 'secondary' | 'underline';
|
|
1256
|
+
type TabSize = 'sm' | 'md' | 'lg';
|
|
1257
|
+
declare class TabComponent {
|
|
1258
|
+
/** Tab variant style. Options: 'default' | 'primary' | 'secondary' | 'underline' */
|
|
1259
|
+
variant: TabVariant;
|
|
1260
|
+
/** Tab size. Options: 'sm' | 'md' | 'lg' */
|
|
1261
|
+
size: TabSize;
|
|
1262
|
+
/** Whether the tab is disabled */
|
|
1263
|
+
disabled: boolean;
|
|
1264
|
+
/** Whether the tab is active */
|
|
1265
|
+
active: boolean;
|
|
1266
|
+
/** Additional CSS classes */
|
|
1267
|
+
class: string;
|
|
1268
|
+
clicked: EventEmitter<MouseEvent>;
|
|
1269
|
+
onClick(event: MouseEvent): void;
|
|
1270
|
+
get tabClasses(): string;
|
|
1271
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TabComponent, never>;
|
|
1272
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TabComponent, "sefin-tab", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "active": { "alias": "active"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1275
|
+
type RateSize = 'sm' | 'md' | 'lg';
|
|
1276
|
+
type RateIcon = 'star' | 'heart' | 'thumb';
|
|
1277
|
+
declare class RateComponent {
|
|
1278
|
+
/** Current rating value (0 to max) */
|
|
1279
|
+
set value(value: number);
|
|
1280
|
+
get value(): number;
|
|
1281
|
+
private _value;
|
|
1282
|
+
/** Maximum rating value */
|
|
1283
|
+
max: number;
|
|
1284
|
+
/** Whether the rating is disabled */
|
|
1285
|
+
disabled: boolean;
|
|
1286
|
+
/** Whether the rating is readonly */
|
|
1287
|
+
readonly: boolean;
|
|
1288
|
+
/** Whether to allow half stars */
|
|
1289
|
+
allowHalf: boolean;
|
|
1290
|
+
/** Icon type. Options: 'star' | 'heart' | 'thumb' */
|
|
1291
|
+
icon: RateIcon;
|
|
1292
|
+
/** Rate size. Options: 'sm' | 'md' | 'lg' */
|
|
1293
|
+
size: RateSize;
|
|
1294
|
+
/** Whether to show text with rating */
|
|
1295
|
+
showText: boolean;
|
|
1296
|
+
/** Additional CSS classes */
|
|
1297
|
+
class: string;
|
|
1298
|
+
/** Event emitted when rating changes */
|
|
1299
|
+
valueChange: EventEmitter<number>;
|
|
1300
|
+
/** Event emitted when rating is hovered */
|
|
1301
|
+
hoverChange: EventEmitter<number>;
|
|
1302
|
+
/** Internal hover value */
|
|
1303
|
+
private _hoverValue;
|
|
1304
|
+
readonly items: i0.Signal<number[]>;
|
|
1305
|
+
get rateClasses(): string;
|
|
1306
|
+
isInteractive(): boolean;
|
|
1307
|
+
getDisplayValue(): number;
|
|
1308
|
+
getIconState(index: number): 'full' | 'half' | 'empty';
|
|
1309
|
+
onItemClick(index: number): void;
|
|
1310
|
+
onItemHover(index: number | null): void;
|
|
1311
|
+
onHalfClick(index: number, isLeftHalf: boolean): void;
|
|
1312
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RateComponent, never>;
|
|
1313
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RateComponent, "sefin-rate", never, { "value": { "alias": "value"; "required": false; }; "max": { "alias": "max"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "allowHalf": { "alias": "allowHalf"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "size": { "alias": "size"; "required": false; }; "showText": { "alias": "showText"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "valueChange": "valueChange"; "hoverChange": "hoverChange"; }, never, never, true, never>;
|
|
1314
|
+
}
|
|
1315
|
+
|
|
1316
|
+
type SpacerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl';
|
|
1317
|
+
type SpacerOrientation = 'vertical' | 'horizontal';
|
|
1318
|
+
declare class SpacerComponent {
|
|
1319
|
+
/** Size of the spacer. Options: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' */
|
|
1320
|
+
size: SpacerSize;
|
|
1321
|
+
/** Orientation of the spacer. Options: 'vertical' | 'horizontal' */
|
|
1322
|
+
orientation: SpacerOrientation;
|
|
1323
|
+
/** Additional CSS classes */
|
|
1324
|
+
class: string;
|
|
1325
|
+
get spacerClasses(): string;
|
|
1326
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpacerComponent, never>;
|
|
1327
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpacerComponent, "sefin-spacer", never, { "size": { "alias": "size"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1252
1330
|
declare class AccordionItemComponent {
|
|
1253
1331
|
/** Title text for the accordion header */
|
|
1254
1332
|
title: string;
|
|
@@ -1311,6 +1389,79 @@ declare class AutocompleteComponent implements OnInit, OnDestroy, OnChanges {
|
|
|
1311
1389
|
static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "sefin-autocomplete", never, { "options": { "alias": "options"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "class": { "alias": "class"; "required": false; }; "value": { "alias": "value"; "required": false; }; "minChars": { "alias": "minChars"; "required": false; }; "maxResults": { "alias": "maxResults"; "required": false; }; }, { "valueChange": "valueChange"; "optionSelected": "optionSelected"; "inputChange": "inputChange"; }, never, never, true, never>;
|
|
1312
1390
|
}
|
|
1313
1391
|
|
|
1392
|
+
interface BreadcrumbItem {
|
|
1393
|
+
label: string;
|
|
1394
|
+
href?: string;
|
|
1395
|
+
icon?: string;
|
|
1396
|
+
}
|
|
1397
|
+
type BreadcrumbSeparator = 'slash' | 'chevron' | 'arrow';
|
|
1398
|
+
type BreadcrumbSize = 'sm' | 'md' | 'lg';
|
|
1399
|
+
declare class BreadcrumbsComponent {
|
|
1400
|
+
private sanitizer;
|
|
1401
|
+
/** Array of breadcrumb items */
|
|
1402
|
+
items: BreadcrumbItem[];
|
|
1403
|
+
/** Separator style. Options: 'slash' | 'chevron' | 'arrow' */
|
|
1404
|
+
separator: BreadcrumbSeparator;
|
|
1405
|
+
/** Breadcrumb size. Options: 'sm' | 'md' | 'lg' */
|
|
1406
|
+
size: BreadcrumbSize;
|
|
1407
|
+
/** Additional CSS classes */
|
|
1408
|
+
class: string;
|
|
1409
|
+
constructor(sanitizer: DomSanitizer);
|
|
1410
|
+
get breadcrumbsClasses(): string;
|
|
1411
|
+
isLastItem(index: number): boolean;
|
|
1412
|
+
getSeparatorIcon(): string;
|
|
1413
|
+
sanitizeHtml(html: string | undefined): SafeHtml | string;
|
|
1414
|
+
getSeparatorIconSafe(): SafeHtml;
|
|
1415
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbsComponent, never>;
|
|
1416
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BreadcrumbsComponent, "sefin-breadcrumbs", never, { "items": { "alias": "items"; "required": false; }; "separator": { "alias": "separator"; "required": false; }; "size": { "alias": "size"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
|
|
1417
|
+
}
|
|
1418
|
+
|
|
1419
|
+
interface ButtonGroupOption {
|
|
1420
|
+
label: string;
|
|
1421
|
+
value: string | number;
|
|
1422
|
+
disabled?: boolean;
|
|
1423
|
+
icon?: string;
|
|
1424
|
+
}
|
|
1425
|
+
type ButtonGroupVariant = 'default' | 'segmented';
|
|
1426
|
+
type ButtonGroupSize = 'sm' | 'md' | 'lg';
|
|
1427
|
+
declare class ButtonGroupComponent {
|
|
1428
|
+
private sanitizer;
|
|
1429
|
+
constructor(sanitizer: DomSanitizer);
|
|
1430
|
+
/** Array of button options */
|
|
1431
|
+
options: ButtonGroupOption[];
|
|
1432
|
+
/** Selected value (for segmented variant) */
|
|
1433
|
+
value: string | number | null;
|
|
1434
|
+
/** Whether multiple selection is allowed (for default variant) */
|
|
1435
|
+
multiple: boolean;
|
|
1436
|
+
/** Selected values (for multiple selection) */
|
|
1437
|
+
selectedValues: (string | number)[];
|
|
1438
|
+
/** Button variant style. Options: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' */
|
|
1439
|
+
variant: ButtonVariant;
|
|
1440
|
+
/** Button size. Options: 'sm' | 'md' | 'lg' */
|
|
1441
|
+
size: ButtonSize;
|
|
1442
|
+
/** Button group variant. Options: 'default' | 'segmented' */
|
|
1443
|
+
groupVariant: ButtonGroupVariant;
|
|
1444
|
+
/** Whether the button group is disabled */
|
|
1445
|
+
disabled: boolean;
|
|
1446
|
+
/** Whether buttons should take full width of the container */
|
|
1447
|
+
fullWidth: boolean;
|
|
1448
|
+
/** Additional CSS classes */
|
|
1449
|
+
class: string;
|
|
1450
|
+
/** Event emitted when value changes (for segmented variant) */
|
|
1451
|
+
valueChange: EventEmitter<string | number>;
|
|
1452
|
+
/** Event emitted when selected values change (for multiple selection) */
|
|
1453
|
+
selectedValuesChange: EventEmitter<(string | number)[]>;
|
|
1454
|
+
/** Event emitted when a button is clicked */
|
|
1455
|
+
buttonClick: EventEmitter<ButtonGroupOption>;
|
|
1456
|
+
get buttonGroupClasses(): string;
|
|
1457
|
+
isSelected(option: ButtonGroupOption): boolean;
|
|
1458
|
+
onButtonClick(option: ButtonGroupOption): void;
|
|
1459
|
+
getButtonClasses(option: ButtonGroupOption): string;
|
|
1460
|
+
sanitizeHtml(html: string | undefined): SafeHtml | string;
|
|
1461
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonGroupComponent, never>;
|
|
1462
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonGroupComponent, "sefin-button-group", never, { "options": { "alias": "options"; "required": false; }; "value": { "alias": "value"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "selectedValues": { "alias": "selectedValues"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "groupVariant": { "alias": "groupVariant"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "valueChange": "valueChange"; "selectedValuesChange": "selectedValuesChange"; "buttonClick": "buttonClick"; }, never, never, true, never>;
|
|
1463
|
+
}
|
|
1464
|
+
|
|
1314
1465
|
declare class CardComponent {
|
|
1315
1466
|
/** Card variant style. Options: 'default' | 'elevated' | 'outlined' */
|
|
1316
1467
|
variant: CardVariant;
|
|
@@ -1412,6 +1563,147 @@ declare class DatepickerComponent implements OnInit, OnChanges, AfterViewInit, O
|
|
|
1412
1563
|
static ɵcmp: i0.ɵɵComponentDeclaration<DatepickerComponent, "sefin-datepicker", never, { "value": { "alias": "value"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "format": { "alias": "format"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "showTodayButton": { "alias": "showTodayButton"; "required": false; }; "showClearButton": { "alias": "showClearButton"; "required": false; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; }; }, { "valueChange": "valueChange"; "dateSelected": "dateSelected"; }, never, never, true, never>;
|
|
1413
1564
|
}
|
|
1414
1565
|
|
|
1566
|
+
type FormFieldVariant = 'outlined' | 'filled' | 'standard';
|
|
1567
|
+
type FormFieldSize = 'sm' | 'md' | 'lg';
|
|
1568
|
+
type FormFieldType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search';
|
|
1569
|
+
declare class FormFieldComponent implements ControlValueAccessor, Validator, OnInit, AfterViewInit, OnDestroy {
|
|
1570
|
+
private cdr;
|
|
1571
|
+
inputRef?: ElementRef<HTMLInputElement>;
|
|
1572
|
+
/** Label text for the field */
|
|
1573
|
+
label: string;
|
|
1574
|
+
/** FormField variant style. Options: 'outlined' | 'filled' | 'standard' */
|
|
1575
|
+
variant: FormFieldVariant;
|
|
1576
|
+
/** FormField size. Options: 'sm' | 'md' | 'lg' */
|
|
1577
|
+
size: FormFieldSize;
|
|
1578
|
+
/** Input type. Options: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' */
|
|
1579
|
+
type: FormFieldType;
|
|
1580
|
+
/** Placeholder text */
|
|
1581
|
+
placeholder: string;
|
|
1582
|
+
/** Helper text shown below the input */
|
|
1583
|
+
hint: string;
|
|
1584
|
+
/** Error message to display */
|
|
1585
|
+
errorMessage: string;
|
|
1586
|
+
/** Whether the field is required */
|
|
1587
|
+
required: boolean;
|
|
1588
|
+
/** Whether the field is disabled */
|
|
1589
|
+
disabled: boolean;
|
|
1590
|
+
/** Whether the field is readonly */
|
|
1591
|
+
readonly: boolean;
|
|
1592
|
+
/** Maximum length of the input */
|
|
1593
|
+
maxLength?: number;
|
|
1594
|
+
/** Minimum length of the input */
|
|
1595
|
+
minLength?: number;
|
|
1596
|
+
/** Pattern for validation (regex string) */
|
|
1597
|
+
pattern?: string;
|
|
1598
|
+
/** Leading icon name */
|
|
1599
|
+
leadingIcon?: string;
|
|
1600
|
+
/** Trailing icon name */
|
|
1601
|
+
trailingIcon?: string;
|
|
1602
|
+
/** Whether to show character counter */
|
|
1603
|
+
showCounter: boolean;
|
|
1604
|
+
/** Autocomplete attribute */
|
|
1605
|
+
autocomplete?: string;
|
|
1606
|
+
/** Input name attribute */
|
|
1607
|
+
name: string;
|
|
1608
|
+
/** Input id attribute */
|
|
1609
|
+
id: string;
|
|
1610
|
+
/** Additional CSS classes */
|
|
1611
|
+
class: string;
|
|
1612
|
+
/** Custom validation function */
|
|
1613
|
+
customValidator?: (value: string) => string | null;
|
|
1614
|
+
/** Event emitted when the value changes */
|
|
1615
|
+
valueChange: EventEmitter<string>;
|
|
1616
|
+
/** Event emitted when the input is focused */
|
|
1617
|
+
focused: EventEmitter<FocusEvent>;
|
|
1618
|
+
/** Event emitted when the input is blurred */
|
|
1619
|
+
blurred: EventEmitter<FocusEvent>;
|
|
1620
|
+
/** Event emitted when trailing icon is clicked */
|
|
1621
|
+
trailingIconClick: EventEmitter<MouseEvent>;
|
|
1622
|
+
value: string;
|
|
1623
|
+
isFocused: boolean;
|
|
1624
|
+
hasError: boolean;
|
|
1625
|
+
internalErrorMessage: string;
|
|
1626
|
+
internalId: string;
|
|
1627
|
+
private onChange;
|
|
1628
|
+
private onTouched;
|
|
1629
|
+
private destroy$;
|
|
1630
|
+
private control?;
|
|
1631
|
+
constructor(cdr: ChangeDetectorRef);
|
|
1632
|
+
ngOnInit(): void;
|
|
1633
|
+
ngAfterViewInit(): void;
|
|
1634
|
+
ngOnDestroy(): void;
|
|
1635
|
+
private generateIdIfNeeded;
|
|
1636
|
+
get fieldId(): string;
|
|
1637
|
+
get labelId(): string;
|
|
1638
|
+
get inputId(): string;
|
|
1639
|
+
get hintId(): string;
|
|
1640
|
+
onInput(event: Event): void;
|
|
1641
|
+
onFocus(event: FocusEvent): void;
|
|
1642
|
+
onBlur(event: FocusEvent): void;
|
|
1643
|
+
onTrailingIconClick(event: MouseEvent): void;
|
|
1644
|
+
private validateField;
|
|
1645
|
+
get displayError(): boolean;
|
|
1646
|
+
get displayErrorMessage(): string;
|
|
1647
|
+
get characterCount(): number;
|
|
1648
|
+
get formFieldClasses(): string;
|
|
1649
|
+
writeValue(value: string | null | undefined): void;
|
|
1650
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
1651
|
+
registerOnTouched(fn: () => void): void;
|
|
1652
|
+
setDisabledState(isDisabled: boolean): void;
|
|
1653
|
+
validate(control: AbstractControl): ValidationErrors | null;
|
|
1654
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldComponent, never>;
|
|
1655
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldComponent, "sefin-form-field", never, { "label": { "alias": "label"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "leadingIcon": { "alias": "leadingIcon"; "required": false; }; "trailingIcon": { "alias": "trailingIcon"; "required": false; }; "showCounter": { "alias": "showCounter"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "class": { "alias": "class"; "required": false; }; "customValidator": { "alias": "customValidator"; "required": false; }; }, { "valueChange": "valueChange"; "focused": "focused"; "blurred": "blurred"; "trailingIconClick": "trailingIconClick"; }, never, never, true, never>;
|
|
1656
|
+
}
|
|
1657
|
+
|
|
1658
|
+
type PaginationSize = 'sm' | 'md' | 'lg';
|
|
1659
|
+
type PaginationVariant = 'default' | 'compact';
|
|
1660
|
+
declare class PaginationComponent {
|
|
1661
|
+
/** Current page (1-based) */
|
|
1662
|
+
set currentPage(value: number);
|
|
1663
|
+
get currentPage(): number;
|
|
1664
|
+
private _currentPage;
|
|
1665
|
+
/** Total number of pages */
|
|
1666
|
+
set totalPages(value: number);
|
|
1667
|
+
get totalPages(): number;
|
|
1668
|
+
private _totalPages;
|
|
1669
|
+
/** Total number of items (alternative to totalPages) */
|
|
1670
|
+
set totalItems(value: number | undefined);
|
|
1671
|
+
get totalItems(): number | undefined;
|
|
1672
|
+
private _totalItems;
|
|
1673
|
+
/** Items per page (used when totalItems is provided) */
|
|
1674
|
+
itemsPerPage: number;
|
|
1675
|
+
/** Number of page buttons to show on each side of current page */
|
|
1676
|
+
siblingCount: number;
|
|
1677
|
+
/** Show first and last page buttons */
|
|
1678
|
+
showFirstLast: boolean;
|
|
1679
|
+
/** Show previous and next buttons */
|
|
1680
|
+
showPrevNext: boolean;
|
|
1681
|
+
/** Pagination size. Options: 'sm' | 'md' | 'lg' */
|
|
1682
|
+
size: PaginationSize;
|
|
1683
|
+
/** Pagination variant. Options: 'default' | 'compact' */
|
|
1684
|
+
variant: PaginationVariant;
|
|
1685
|
+
/** Additional CSS classes */
|
|
1686
|
+
class: string;
|
|
1687
|
+
/** Event emitted when page changes */
|
|
1688
|
+
pageChange: EventEmitter<number>;
|
|
1689
|
+
/** Computed total pages (from totalItems or direct input) */
|
|
1690
|
+
readonly computedTotalPages: i0.Signal<number>;
|
|
1691
|
+
/** Computed page numbers to display */
|
|
1692
|
+
readonly pageNumbers: i0.Signal<(string | number)[]>;
|
|
1693
|
+
get paginationClasses(): string;
|
|
1694
|
+
isDisabled(direction: 'prev' | 'next'): boolean;
|
|
1695
|
+
goToPage(page: number | string): void;
|
|
1696
|
+
goToPrevious(): void;
|
|
1697
|
+
goToNext(): void;
|
|
1698
|
+
goToFirst(): void;
|
|
1699
|
+
goToLast(): void;
|
|
1700
|
+
isEllipsis(item: number | string): boolean;
|
|
1701
|
+
isCurrentPage(page: number | string): boolean;
|
|
1702
|
+
getAriaCurrent(page: number | string): string | null;
|
|
1703
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PaginationComponent, never>;
|
|
1704
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PaginationComponent, "sefin-pagination", never, { "currentPage": { "alias": "currentPage"; "required": false; }; "totalPages": { "alias": "totalPages"; "required": false; }; "totalItems": { "alias": "totalItems"; "required": false; }; "itemsPerPage": { "alias": "itemsPerPage"; "required": false; }; "siblingCount": { "alias": "siblingCount"; "required": false; }; "showFirstLast": { "alias": "showFirstLast"; "required": false; }; "showPrevNext": { "alias": "showPrevNext"; "required": false; }; "size": { "alias": "size"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
|
|
1705
|
+
}
|
|
1706
|
+
|
|
1415
1707
|
type TextareaVariant = 'outlined' | 'filled' | 'standard';
|
|
1416
1708
|
type TextareaSize = 'sm' | 'md' | 'lg';
|
|
1417
1709
|
declare class TextareaComponent implements ControlValueAccessor, Validator, OnInit, AfterViewInit, OnDestroy {
|
|
@@ -1500,7 +1792,154 @@ declare class TextareaComponent implements ControlValueAccessor, Validator, OnIn
|
|
|
1500
1792
|
static ɵcmp: i0.ɵɵComponentDeclaration<TextareaComponent, "sefin-textarea", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "cols": { "alias": "cols"; "required": false; }; "autoResize": { "alias": "autoResize"; "required": false; }; "minHeight": { "alias": "minHeight"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "showCounter": { "alias": "showCounter"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "class": { "alias": "class"; "required": false; }; "customValidator": { "alias": "customValidator"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; "focused": "focused"; "blurred": "blurred"; }, never, never, true, never>;
|
|
1501
1793
|
}
|
|
1502
1794
|
|
|
1795
|
+
/**
|
|
1796
|
+
* Column type for table cells
|
|
1797
|
+
*/
|
|
1798
|
+
type TableColumnType = 'text' | 'number' | 'date' | 'badge' | 'actions';
|
|
1799
|
+
/**
|
|
1800
|
+
* Text alignment options
|
|
1801
|
+
*/
|
|
1802
|
+
type TableColumnAlign = 'left' | 'center' | 'right';
|
|
1803
|
+
/**
|
|
1804
|
+
* Sort direction
|
|
1805
|
+
*/
|
|
1806
|
+
type SortDirection = 'asc' | 'desc' | '';
|
|
1807
|
+
/**
|
|
1808
|
+
* Table column definition
|
|
1809
|
+
*/
|
|
1810
|
+
interface TableColumn {
|
|
1811
|
+
/** Unique key for the column (should match a property in data objects) */
|
|
1812
|
+
key: string;
|
|
1813
|
+
/** Column header label */
|
|
1814
|
+
header: string;
|
|
1815
|
+
/** Column type for formatting/rendering */
|
|
1816
|
+
type?: TableColumnType;
|
|
1817
|
+
/** Text alignment */
|
|
1818
|
+
align?: TableColumnAlign;
|
|
1819
|
+
/** Column width (CSS value, e.g., '100px', '20%') */
|
|
1820
|
+
width?: string;
|
|
1821
|
+
/** Whether column is sortable */
|
|
1822
|
+
sortable?: boolean;
|
|
1823
|
+
/** Whether column is sticky (e.g., first/last column) */
|
|
1824
|
+
sticky?: boolean;
|
|
1825
|
+
/** Whether column sticks to left or right when sticky */
|
|
1826
|
+
stickyEnd?: boolean;
|
|
1827
|
+
/** Custom cell template */
|
|
1828
|
+
cellTemplate?: TemplateRef<any>;
|
|
1829
|
+
}
|
|
1830
|
+
/**
|
|
1831
|
+
* Table density mode
|
|
1832
|
+
*/
|
|
1833
|
+
type TableDensity = 'compact' | 'comfortable';
|
|
1834
|
+
/**
|
|
1835
|
+
* Selection mode
|
|
1836
|
+
*/
|
|
1837
|
+
type SelectionMode = 'single' | 'multiple';
|
|
1838
|
+
/**
|
|
1839
|
+
* Page change event payload
|
|
1840
|
+
*/
|
|
1841
|
+
interface PageChangeEvent {
|
|
1842
|
+
pageIndex: number;
|
|
1843
|
+
pageSize: number;
|
|
1844
|
+
}
|
|
1845
|
+
/**
|
|
1846
|
+
* Sort change event payload
|
|
1847
|
+
*/
|
|
1848
|
+
interface SortChangeEvent {
|
|
1849
|
+
active: string;
|
|
1850
|
+
direction: SortDirection;
|
|
1851
|
+
}
|
|
1852
|
+
|
|
1853
|
+
/**
|
|
1854
|
+
* Helper function to build displayed columns array including selection and actions
|
|
1855
|
+
*/
|
|
1856
|
+
declare function buildDisplayedColumns(columns: TableColumn[], selectable: boolean, hasActions: boolean): string[];
|
|
1857
|
+
declare class TableComponent implements OnInit, OnChanges {
|
|
1858
|
+
private cdr;
|
|
1859
|
+
/** Column definitions */
|
|
1860
|
+
columns: TableColumn[];
|
|
1861
|
+
/** Table data */
|
|
1862
|
+
data: any[];
|
|
1863
|
+
/** Property key used for tracking rows (default: 'id') */
|
|
1864
|
+
trackByKey: string;
|
|
1865
|
+
/** Loading state */
|
|
1866
|
+
loading: boolean;
|
|
1867
|
+
/** Empty state message */
|
|
1868
|
+
emptyText: string;
|
|
1869
|
+
/** Table density */
|
|
1870
|
+
density: TableDensity;
|
|
1871
|
+
/** Striped rows */
|
|
1872
|
+
striped: boolean;
|
|
1873
|
+
/** Row hover effect */
|
|
1874
|
+
hover: boolean;
|
|
1875
|
+
/** Enable row selection */
|
|
1876
|
+
selectable: boolean;
|
|
1877
|
+
/** Selection mode: 'single' or 'multiple' */
|
|
1878
|
+
selectionMode: SelectionMode;
|
|
1879
|
+
/** Enable pagination */
|
|
1880
|
+
pagination: boolean;
|
|
1881
|
+
/** Page size options */
|
|
1882
|
+
pageSizeOptions: number[];
|
|
1883
|
+
/** Current page size */
|
|
1884
|
+
pageSize: number;
|
|
1885
|
+
/** Total items (for server-side mode) */
|
|
1886
|
+
total: number | undefined;
|
|
1887
|
+
/** Enable sorting */
|
|
1888
|
+
sort: boolean;
|
|
1889
|
+
/** Server-side mode (don't slice data locally) */
|
|
1890
|
+
serverSide: boolean;
|
|
1891
|
+
/** Sticky header */
|
|
1892
|
+
stickyHeader: boolean;
|
|
1893
|
+
/** Header actions template slot */
|
|
1894
|
+
headerActionsTemplate?: TemplateRef<any>;
|
|
1895
|
+
/** Empty state icon template slot */
|
|
1896
|
+
emptyIconTemplate?: TemplateRef<any>;
|
|
1897
|
+
/** Row clicked event */
|
|
1898
|
+
rowClicked: EventEmitter<any>;
|
|
1899
|
+
/** Selection changed event */
|
|
1900
|
+
selectionChanged: EventEmitter<any[]>;
|
|
1901
|
+
/** Page changed event */
|
|
1902
|
+
pageChanged: EventEmitter<PageChangeEvent>;
|
|
1903
|
+
/** Sort changed event */
|
|
1904
|
+
sortChanged: EventEmitter<SortChangeEvent>;
|
|
1905
|
+
readonly selectedItems: i0.WritableSignal<any[]>;
|
|
1906
|
+
readonly currentSortColumn: i0.WritableSignal<string>;
|
|
1907
|
+
readonly currentSortDirection: i0.WritableSignal<SortDirection>;
|
|
1908
|
+
readonly currentPage: i0.WritableSignal<number>;
|
|
1909
|
+
readonly currentPageSize: i0.WritableSignal<number>;
|
|
1910
|
+
readonly sortedData: i0.Signal<any[]>;
|
|
1911
|
+
readonly paginatedData: i0.Signal<any[]>;
|
|
1912
|
+
readonly displayedData: i0.Signal<any[]>;
|
|
1913
|
+
readonly totalPages: i0.Signal<number>;
|
|
1914
|
+
readonly isEmpty: i0.Signal<boolean>;
|
|
1915
|
+
readonly hasActionsColumn: i0.Signal<boolean>;
|
|
1916
|
+
readonly totalColspan: i0.Signal<number>;
|
|
1917
|
+
readonly isAllSelected: i0.Signal<boolean>;
|
|
1918
|
+
readonly isIndeterminate: i0.Signal<boolean>;
|
|
1919
|
+
constructor(cdr: ChangeDetectorRef);
|
|
1920
|
+
ngOnInit(): void;
|
|
1921
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
1922
|
+
trackByFn(index: number, item: any): any;
|
|
1923
|
+
getCellValue(row: any, column: TableColumn): any;
|
|
1924
|
+
formatCellValue(value: any, type?: TableColumnType): string;
|
|
1925
|
+
private parseDate;
|
|
1926
|
+
onRowClick(row: any): void;
|
|
1927
|
+
onSort(column: TableColumn): void;
|
|
1928
|
+
onPageChange(page: number): void;
|
|
1929
|
+
isSelected(row: any): boolean;
|
|
1930
|
+
toggleRowSelection(checked: boolean, row?: any): void;
|
|
1931
|
+
toggleSelectAll(checked: boolean): void;
|
|
1932
|
+
private getItemId;
|
|
1933
|
+
getColumnClass(column: TableColumn): string;
|
|
1934
|
+
getTableClasses(): string;
|
|
1935
|
+
getColumnWidth(column: TableColumn): string | undefined;
|
|
1936
|
+
getPageNumbers(): (number | string)[];
|
|
1937
|
+
Math: Math;
|
|
1938
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent, never>;
|
|
1939
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent, "sefin-table", never, { "columns": { "alias": "columns"; "required": false; }; "data": { "alias": "data"; "required": false; }; "trackByKey": { "alias": "trackByKey"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "emptyText": { "alias": "emptyText"; "required": false; }; "density": { "alias": "density"; "required": false; }; "striped": { "alias": "striped"; "required": false; }; "hover": { "alias": "hover"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "pagination": { "alias": "pagination"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "total": { "alias": "total"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "serverSide": { "alias": "serverSide"; "required": false; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; }; "headerActionsTemplate": { "alias": "headerActionsTemplate"; "required": false; }; "emptyIconTemplate": { "alias": "emptyIconTemplate"; "required": false; }; }, { "rowClicked": "rowClicked"; "selectionChanged": "selectionChanged"; "pageChanged": "pageChanged"; "sortChanged": "sortChanged"; }, never, ["[actions]", "[actions]"], true, never>;
|
|
1940
|
+
}
|
|
1941
|
+
|
|
1503
1942
|
declare const STYLES_PATH = "./styles/index.scss";
|
|
1504
1943
|
|
|
1505
|
-
export { AccordionItemComponent, AlertComponent, AutocompleteComponent, AvatarComponent, BORDER_RADIUS_TOKENS, BRAND_THEME, BadgeComponent, ButtonComponent, COLOR_TOKENS, CardComponent, CheckboxComponent, ChipComponent, ContainerComponent, DARK_THEME, DESIGN_TOKENS, DatepickerComponent, DividerComponent, FabButtonComponent, IconButtonComponent, IconComponent, ImageComponent, LIGHT_THEME, LinkComponent, ProgressBarComponent, RadioComponent, SHADOW_TOKENS, SPACING_TOKENS, STYLES_PATH, SelectComponent, SpinnerComponent, StackComponent, SwitchComponent, TYPOGRAPHY_TOKENS, TagComponent, TextFieldComponent, TextareaComponent, ThemeLoader, ToastComponent, TooltipComponent, TypographyComponent };
|
|
1506
|
-
export type { AlertSize, AlertVariant, AutocompleteOption, AvatarSize, BadgeSize, BadgeVariant, BaseComponent, BorderRadiusToken, ButtonSize, ButtonVariant, CardVariant, ChipSize, ChipVariant, ColorShade, ColorTokenName, ContainerSize, ContainerVariant, CustomTheme, DateFormat, DatePickerMode, DateRange, DividerOrientation, DividerVariant, FabSize, IconSize, ImageFit, ImageLoading, ImageRounded, InputSize, LinkSize, LinkVariant, ProgressBarSize, ProgressBarVariant, SelectOption, ShadowToken, SpacingToken, SpinnerSize, SpinnerVariant, TagSize, TagVariant, TextFieldSize, TextFieldType, TextFieldVariant, TextareaSize, TextareaVariant, Theme, ThemeColors, ToastPosition, ToastVariant, TooltipPosition, TooltipTrigger, TypographyColor, TypographyLineHeight, TypographySize, TypographyToken, TypographyVariant, TypographyWeight };
|
|
1944
|
+
export { AccordionItemComponent, AlertComponent, AutocompleteComponent, AvatarComponent, BORDER_RADIUS_TOKENS, BRAND_THEME, BadgeComponent, BreadcrumbsComponent, ButtonComponent, ButtonGroupComponent, COLOR_TOKENS, CardComponent, CheckboxComponent, ChipComponent, ContainerComponent, DARK_THEME, DESIGN_TOKENS, DatepickerComponent, DividerComponent, FabButtonComponent, FormFieldComponent, IconButtonComponent, IconComponent, ImageComponent, LIGHT_THEME, LinkComponent, PaginationComponent, ProgressBarComponent, RadioComponent, RateComponent, SHADOW_TOKENS, SPACING_TOKENS, STYLES_PATH, SelectComponent, SpacerComponent, SpinnerComponent, StackComponent, SwitchComponent, TYPOGRAPHY_TOKENS, TabComponent, TableComponent, TagComponent, TextFieldComponent, TextareaComponent, ThemeLoader, ToastComponent, TooltipComponent, TypographyComponent, buildDisplayedColumns };
|
|
1945
|
+
export type { AlertSize, AlertVariant, AutocompleteOption, AvatarSize, BadgeSize, BadgeVariant, BaseComponent, BorderRadiusToken, BreadcrumbItem, BreadcrumbSeparator, BreadcrumbSize, ButtonGroupOption, ButtonGroupSize, ButtonGroupVariant, ButtonSize, ButtonVariant, CardVariant, ChipSize, ChipVariant, ColorShade, ColorTokenName, ContainerSize, ContainerVariant, CustomTheme, DateFormat, DatePickerMode, DateRange, DividerOrientation, DividerVariant, FabSize, FormFieldSize, FormFieldType, FormFieldVariant, IconSize, ImageFit, ImageLoading, ImageRounded, InputSize, LinkSize, LinkVariant, PageChangeEvent, PaginationSize, PaginationVariant, ProgressBarSize, ProgressBarVariant, RateIcon, RateSize, SelectOption, SelectionMode, ShadowToken, SortChangeEvent, SortDirection, SpacerOrientation, SpacerSize, SpacingToken, SpinnerSize, SpinnerVariant, TabSize, TabVariant, TableColumn, TableColumnAlign, TableColumnType, TableDensity, TagSize, TagVariant, TextFieldSize, TextFieldType, TextFieldVariant, TextareaSize, TextareaVariant, Theme, ThemeColors, ToastPosition, ToastVariant, TooltipPosition, TooltipTrigger, TypographyColor, TypographyLineHeight, TypographySize, TypographyToken, TypographyVariant, TypographyWeight };
|