@lesterarte/sefin-ui 0.0.21 → 0.0.25
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,5 +1,5 @@
|
|
|
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
4
|
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
|
|
5
5
|
|
|
@@ -640,6 +640,8 @@ declare class ButtonComponent {
|
|
|
640
640
|
size: ButtonSize;
|
|
641
641
|
/** Whether the button is disabled */
|
|
642
642
|
disabled: boolean;
|
|
643
|
+
/** Whether the button should take full width of the container */
|
|
644
|
+
fullWidth: boolean;
|
|
643
645
|
/** Button type. Options: 'button' | 'submit' | 'reset' */
|
|
644
646
|
type: 'button' | 'submit' | 'reset';
|
|
645
647
|
/** Additional CSS classes */
|
|
@@ -648,7 +650,7 @@ declare class ButtonComponent {
|
|
|
648
650
|
onClick(event: MouseEvent): void;
|
|
649
651
|
get buttonClasses(): string;
|
|
650
652
|
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
|
|
651
|
-
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>;
|
|
652
654
|
}
|
|
653
655
|
|
|
654
656
|
type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
@@ -948,10 +950,9 @@ declare class TypographyComponent {
|
|
|
948
950
|
color: TypographyColor;
|
|
949
951
|
lineHeight?: TypographyLineHeight;
|
|
950
952
|
class: string;
|
|
951
|
-
text?: string;
|
|
952
953
|
get typographyClasses(): string;
|
|
953
954
|
static ɵfac: i0.ɵɵFactoryDeclaration<TypographyComponent, never>;
|
|
954
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TypographyComponent, "sefin-typography", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "weight": { "alias": "weight"; "required": false; }; "color": { "alias": "color"; "required": false; }; "lineHeight": { "alias": "lineHeight"; "required": false; }; "class": { "alias": "class"; "required": false; };
|
|
955
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TypographyComponent, "sefin-typography", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "weight": { "alias": "weight"; "required": false; }; "color": { "alias": "color"; "required": false; }; "lineHeight": { "alias": "lineHeight"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*", "*", "*", "*", "*", "*", "*", "*"], true, never>;
|
|
955
956
|
}
|
|
956
957
|
|
|
957
958
|
type DividerOrientation = 'horizontal' | 'vertical';
|
|
@@ -1311,6 +1312,20 @@ declare class RateComponent {
|
|
|
1311
1312
|
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>;
|
|
1312
1313
|
}
|
|
1313
1314
|
|
|
1315
|
+
type SpacerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl';
|
|
1316
|
+
type SpacerOrientation = 'vertical' | 'horizontal';
|
|
1317
|
+
declare class SpacerComponent {
|
|
1318
|
+
/** Size of the spacer. Options: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' */
|
|
1319
|
+
size: SpacerSize;
|
|
1320
|
+
/** Orientation of the spacer. Options: 'vertical' | 'horizontal' */
|
|
1321
|
+
orientation: SpacerOrientation;
|
|
1322
|
+
/** Additional CSS classes */
|
|
1323
|
+
class: string;
|
|
1324
|
+
get spacerClasses(): string;
|
|
1325
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpacerComponent, never>;
|
|
1326
|
+
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>;
|
|
1327
|
+
}
|
|
1328
|
+
|
|
1314
1329
|
declare class AccordionItemComponent {
|
|
1315
1330
|
/** Title text for the accordion header */
|
|
1316
1331
|
title: string;
|
|
@@ -1427,6 +1442,8 @@ declare class ButtonGroupComponent {
|
|
|
1427
1442
|
groupVariant: ButtonGroupVariant;
|
|
1428
1443
|
/** Whether the button group is disabled */
|
|
1429
1444
|
disabled: boolean;
|
|
1445
|
+
/** Whether buttons should take full width of the container */
|
|
1446
|
+
fullWidth: boolean;
|
|
1430
1447
|
/** Additional CSS classes */
|
|
1431
1448
|
class: string;
|
|
1432
1449
|
/** Event emitted when value changes (for segmented variant) */
|
|
@@ -1437,11 +1454,13 @@ declare class ButtonGroupComponent {
|
|
|
1437
1454
|
buttonClick: EventEmitter<ButtonGroupOption>;
|
|
1438
1455
|
get buttonGroupClasses(): string;
|
|
1439
1456
|
isSelected(option: ButtonGroupOption): boolean;
|
|
1440
|
-
onButtonClick(option: ButtonGroupOption): void;
|
|
1457
|
+
onButtonClick(option: ButtonGroupOption, event?: MouseEvent): void;
|
|
1458
|
+
handleButtonClick(option: ButtonGroupOption): (event: MouseEvent) => void;
|
|
1441
1459
|
getButtonVariant(option: ButtonGroupOption): ButtonVariant;
|
|
1460
|
+
getButtonClasses(option: ButtonGroupOption): string;
|
|
1442
1461
|
sanitizeHtml(html: string | undefined): SafeHtml | string;
|
|
1443
1462
|
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonGroupComponent, never>;
|
|
1444
|
-
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; }; "class": { "alias": "class"; "required": false; }; }, { "valueChange": "valueChange"; "selectedValuesChange": "selectedValuesChange"; "buttonClick": "buttonClick"; }, never, never, true, never>;
|
|
1463
|
+
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>;
|
|
1445
1464
|
}
|
|
1446
1465
|
|
|
1447
1466
|
declare class CardComponent {
|
|
@@ -1545,6 +1564,98 @@ declare class DatepickerComponent implements OnInit, OnChanges, AfterViewInit, O
|
|
|
1545
1564
|
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>;
|
|
1546
1565
|
}
|
|
1547
1566
|
|
|
1567
|
+
type FormFieldVariant = 'outlined' | 'filled' | 'standard';
|
|
1568
|
+
type FormFieldSize = 'sm' | 'md' | 'lg';
|
|
1569
|
+
type FormFieldType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search';
|
|
1570
|
+
declare class FormFieldComponent implements ControlValueAccessor, Validator, OnInit, AfterViewInit, OnDestroy {
|
|
1571
|
+
private cdr;
|
|
1572
|
+
inputRef?: ElementRef<HTMLInputElement>;
|
|
1573
|
+
/** Label text for the field */
|
|
1574
|
+
label: string;
|
|
1575
|
+
/** FormField variant style. Options: 'outlined' | 'filled' | 'standard' */
|
|
1576
|
+
variant: FormFieldVariant;
|
|
1577
|
+
/** FormField size. Options: 'sm' | 'md' | 'lg' */
|
|
1578
|
+
size: FormFieldSize;
|
|
1579
|
+
/** Input type. Options: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' */
|
|
1580
|
+
type: FormFieldType;
|
|
1581
|
+
/** Placeholder text */
|
|
1582
|
+
placeholder: string;
|
|
1583
|
+
/** Helper text shown below the input */
|
|
1584
|
+
hint: string;
|
|
1585
|
+
/** Error message to display */
|
|
1586
|
+
errorMessage: string;
|
|
1587
|
+
/** Whether the field is required */
|
|
1588
|
+
required: boolean;
|
|
1589
|
+
/** Whether the field is disabled */
|
|
1590
|
+
disabled: boolean;
|
|
1591
|
+
/** Whether the field is readonly */
|
|
1592
|
+
readonly: boolean;
|
|
1593
|
+
/** Maximum length of the input */
|
|
1594
|
+
maxLength?: number;
|
|
1595
|
+
/** Minimum length of the input */
|
|
1596
|
+
minLength?: number;
|
|
1597
|
+
/** Pattern for validation (regex string) */
|
|
1598
|
+
pattern?: string;
|
|
1599
|
+
/** Leading icon name */
|
|
1600
|
+
leadingIcon?: string;
|
|
1601
|
+
/** Trailing icon name */
|
|
1602
|
+
trailingIcon?: string;
|
|
1603
|
+
/** Whether to show character counter */
|
|
1604
|
+
showCounter: boolean;
|
|
1605
|
+
/** Autocomplete attribute */
|
|
1606
|
+
autocomplete?: string;
|
|
1607
|
+
/** Input name attribute */
|
|
1608
|
+
name: string;
|
|
1609
|
+
/** Input id attribute */
|
|
1610
|
+
id: string;
|
|
1611
|
+
/** Additional CSS classes */
|
|
1612
|
+
class: string;
|
|
1613
|
+
/** Custom validation function */
|
|
1614
|
+
customValidator?: (value: string) => string | null;
|
|
1615
|
+
/** Event emitted when the value changes */
|
|
1616
|
+
valueChange: EventEmitter<string>;
|
|
1617
|
+
/** Event emitted when the input is focused */
|
|
1618
|
+
focused: EventEmitter<FocusEvent>;
|
|
1619
|
+
/** Event emitted when the input is blurred */
|
|
1620
|
+
blurred: EventEmitter<FocusEvent>;
|
|
1621
|
+
/** Event emitted when trailing icon is clicked */
|
|
1622
|
+
trailingIconClick: EventEmitter<MouseEvent>;
|
|
1623
|
+
value: string;
|
|
1624
|
+
isFocused: boolean;
|
|
1625
|
+
hasError: boolean;
|
|
1626
|
+
internalErrorMessage: string;
|
|
1627
|
+
internalId: string;
|
|
1628
|
+
private onChange;
|
|
1629
|
+
private onTouched;
|
|
1630
|
+
private destroy$;
|
|
1631
|
+
private control?;
|
|
1632
|
+
constructor(cdr: ChangeDetectorRef);
|
|
1633
|
+
ngOnInit(): void;
|
|
1634
|
+
ngAfterViewInit(): void;
|
|
1635
|
+
ngOnDestroy(): void;
|
|
1636
|
+
private generateIdIfNeeded;
|
|
1637
|
+
get fieldId(): string;
|
|
1638
|
+
get labelId(): string;
|
|
1639
|
+
get inputId(): string;
|
|
1640
|
+
get hintId(): string;
|
|
1641
|
+
onInput(event: Event): void;
|
|
1642
|
+
onFocus(event: FocusEvent): void;
|
|
1643
|
+
onBlur(event: FocusEvent): void;
|
|
1644
|
+
onTrailingIconClick(event: MouseEvent): void;
|
|
1645
|
+
private validateField;
|
|
1646
|
+
get displayError(): boolean;
|
|
1647
|
+
get displayErrorMessage(): string;
|
|
1648
|
+
get characterCount(): number;
|
|
1649
|
+
get formFieldClasses(): string;
|
|
1650
|
+
writeValue(value: string | null | undefined): void;
|
|
1651
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
1652
|
+
registerOnTouched(fn: () => void): void;
|
|
1653
|
+
setDisabledState(isDisabled: boolean): void;
|
|
1654
|
+
validate(control: AbstractControl): ValidationErrors | null;
|
|
1655
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldComponent, never>;
|
|
1656
|
+
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>;
|
|
1657
|
+
}
|
|
1658
|
+
|
|
1548
1659
|
type PaginationSize = 'sm' | 'md' | 'lg';
|
|
1549
1660
|
type PaginationVariant = 'default' | 'compact';
|
|
1550
1661
|
declare class PaginationComponent {
|
|
@@ -1682,7 +1793,256 @@ declare class TextareaComponent implements ControlValueAccessor, Validator, OnIn
|
|
|
1682
1793
|
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>;
|
|
1683
1794
|
}
|
|
1684
1795
|
|
|
1796
|
+
/**
|
|
1797
|
+
* Column type for table cells
|
|
1798
|
+
*/
|
|
1799
|
+
type TableColumnType = 'text' | 'number' | 'date' | 'badge' | 'actions';
|
|
1800
|
+
/**
|
|
1801
|
+
* Text alignment options
|
|
1802
|
+
*/
|
|
1803
|
+
type TableColumnAlign = 'left' | 'center' | 'right';
|
|
1804
|
+
/**
|
|
1805
|
+
* Sort direction
|
|
1806
|
+
*/
|
|
1807
|
+
type SortDirection = 'asc' | 'desc' | '';
|
|
1808
|
+
/**
|
|
1809
|
+
* Table column definition
|
|
1810
|
+
*/
|
|
1811
|
+
interface TableColumn {
|
|
1812
|
+
/** Unique key for the column (should match a property in data objects) */
|
|
1813
|
+
key: string;
|
|
1814
|
+
/** Column header label */
|
|
1815
|
+
header: string;
|
|
1816
|
+
/** Column type for formatting/rendering */
|
|
1817
|
+
type?: TableColumnType;
|
|
1818
|
+
/** Text alignment */
|
|
1819
|
+
align?: TableColumnAlign;
|
|
1820
|
+
/** Column width (CSS value, e.g., '100px', '20%') */
|
|
1821
|
+
width?: string;
|
|
1822
|
+
/** Whether column is sortable */
|
|
1823
|
+
sortable?: boolean;
|
|
1824
|
+
/** Whether column is sticky (e.g., first/last column) */
|
|
1825
|
+
sticky?: boolean;
|
|
1826
|
+
/** Whether column sticks to left or right when sticky */
|
|
1827
|
+
stickyEnd?: boolean;
|
|
1828
|
+
/** Custom cell template */
|
|
1829
|
+
cellTemplate?: TemplateRef<any>;
|
|
1830
|
+
}
|
|
1831
|
+
/**
|
|
1832
|
+
* Table density mode
|
|
1833
|
+
*/
|
|
1834
|
+
type TableDensity = 'compact' | 'comfortable';
|
|
1835
|
+
/**
|
|
1836
|
+
* Selection mode
|
|
1837
|
+
*/
|
|
1838
|
+
type SelectionMode = 'single' | 'multiple';
|
|
1839
|
+
/**
|
|
1840
|
+
* Page change event payload
|
|
1841
|
+
*/
|
|
1842
|
+
interface PageChangeEvent {
|
|
1843
|
+
pageIndex: number;
|
|
1844
|
+
pageSize: number;
|
|
1845
|
+
}
|
|
1846
|
+
/**
|
|
1847
|
+
* Sort change event payload
|
|
1848
|
+
*/
|
|
1849
|
+
interface SortChangeEvent {
|
|
1850
|
+
active: string;
|
|
1851
|
+
direction: SortDirection;
|
|
1852
|
+
}
|
|
1853
|
+
|
|
1854
|
+
/**
|
|
1855
|
+
* Helper function to build displayed columns array including selection and actions
|
|
1856
|
+
*/
|
|
1857
|
+
declare function buildDisplayedColumns(columns: TableColumn[], selectable: boolean, hasActions: boolean): string[];
|
|
1858
|
+
declare class TableComponent implements OnInit, OnChanges {
|
|
1859
|
+
private cdr;
|
|
1860
|
+
/** Column definitions */
|
|
1861
|
+
columns: TableColumn[];
|
|
1862
|
+
/** Table data */
|
|
1863
|
+
data: any[];
|
|
1864
|
+
/** Property key used for tracking rows (default: 'id') */
|
|
1865
|
+
trackByKey: string;
|
|
1866
|
+
/** Loading state */
|
|
1867
|
+
loading: boolean;
|
|
1868
|
+
/** Empty state message */
|
|
1869
|
+
emptyText: string;
|
|
1870
|
+
/** Table density */
|
|
1871
|
+
density: TableDensity;
|
|
1872
|
+
/** Striped rows */
|
|
1873
|
+
striped: boolean;
|
|
1874
|
+
/** Row hover effect */
|
|
1875
|
+
hover: boolean;
|
|
1876
|
+
/** Enable row selection */
|
|
1877
|
+
selectable: boolean;
|
|
1878
|
+
/** Selection mode: 'single' or 'multiple' */
|
|
1879
|
+
selectionMode: SelectionMode;
|
|
1880
|
+
/** Enable pagination */
|
|
1881
|
+
pagination: boolean;
|
|
1882
|
+
/** Page size options */
|
|
1883
|
+
pageSizeOptions: number[];
|
|
1884
|
+
/** Current page size */
|
|
1885
|
+
pageSize: number;
|
|
1886
|
+
/** Total items (for server-side mode) */
|
|
1887
|
+
total: number | undefined;
|
|
1888
|
+
/** Enable sorting */
|
|
1889
|
+
sort: boolean;
|
|
1890
|
+
/** Server-side mode (don't slice data locally) */
|
|
1891
|
+
serverSide: boolean;
|
|
1892
|
+
/** Sticky header */
|
|
1893
|
+
stickyHeader: boolean;
|
|
1894
|
+
/** Header actions template slot */
|
|
1895
|
+
headerActionsTemplate?: TemplateRef<any>;
|
|
1896
|
+
/** Empty state icon template slot */
|
|
1897
|
+
emptyIconTemplate?: TemplateRef<any>;
|
|
1898
|
+
/** Row clicked event */
|
|
1899
|
+
rowClicked: EventEmitter<any>;
|
|
1900
|
+
/** Selection changed event */
|
|
1901
|
+
selectionChanged: EventEmitter<any[]>;
|
|
1902
|
+
/** Page changed event */
|
|
1903
|
+
pageChanged: EventEmitter<PageChangeEvent>;
|
|
1904
|
+
/** Sort changed event */
|
|
1905
|
+
sortChanged: EventEmitter<SortChangeEvent>;
|
|
1906
|
+
readonly selectedItems: i0.WritableSignal<any[]>;
|
|
1907
|
+
readonly currentSortColumn: i0.WritableSignal<string>;
|
|
1908
|
+
readonly currentSortDirection: i0.WritableSignal<SortDirection>;
|
|
1909
|
+
readonly currentPage: i0.WritableSignal<number>;
|
|
1910
|
+
readonly currentPageSize: i0.WritableSignal<number>;
|
|
1911
|
+
readonly sortedData: i0.Signal<any[]>;
|
|
1912
|
+
readonly paginatedData: i0.Signal<any[]>;
|
|
1913
|
+
readonly displayedData: i0.Signal<any[]>;
|
|
1914
|
+
readonly totalPages: i0.Signal<number>;
|
|
1915
|
+
readonly isEmpty: i0.Signal<boolean>;
|
|
1916
|
+
readonly hasActionsColumn: i0.Signal<boolean>;
|
|
1917
|
+
readonly totalColspan: i0.Signal<number>;
|
|
1918
|
+
readonly isAllSelected: i0.Signal<boolean>;
|
|
1919
|
+
readonly isIndeterminate: i0.Signal<boolean>;
|
|
1920
|
+
readonly sortIcons: {
|
|
1921
|
+
readonly unsorted: "M3 4.5L6 1.5L9 4.5M3 7.5L6 10.5L9 7.5";
|
|
1922
|
+
readonly ascending: "M3 7.5L6 4.5L9 7.5";
|
|
1923
|
+
readonly descending: "M3 4.5L6 7.5L9 4.5";
|
|
1924
|
+
};
|
|
1925
|
+
constructor(cdr: ChangeDetectorRef);
|
|
1926
|
+
ngOnInit(): void;
|
|
1927
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
1928
|
+
/**
|
|
1929
|
+
* Validates component inputs and logs warnings for invalid configurations
|
|
1930
|
+
* @private
|
|
1931
|
+
*/
|
|
1932
|
+
private validateInputs;
|
|
1933
|
+
trackByFn(index: number, item: any): any;
|
|
1934
|
+
/**
|
|
1935
|
+
* Gets the cell value from a row, supporting nested property paths (e.g., 'user.name')
|
|
1936
|
+
* @param row - The row data object
|
|
1937
|
+
* @param column - The column definition
|
|
1938
|
+
* @returns The cell value or undefined if not found
|
|
1939
|
+
*/
|
|
1940
|
+
getCellValue(row: any, column: TableColumn): any;
|
|
1941
|
+
/**
|
|
1942
|
+
* Formats a cell value based on its type
|
|
1943
|
+
* @param value - The value to format
|
|
1944
|
+
* @param type - The column type
|
|
1945
|
+
* @param column - Optional column definition for additional formatting options
|
|
1946
|
+
* @returns Formatted string representation
|
|
1947
|
+
*/
|
|
1948
|
+
formatCellValue(value: any, type?: TableColumnType, column?: TableColumn): string;
|
|
1949
|
+
/**
|
|
1950
|
+
* Parses a value into a Date object
|
|
1951
|
+
* @param value - The value to parse (Date, string, or number timestamp)
|
|
1952
|
+
* @returns A Date object
|
|
1953
|
+
*/
|
|
1954
|
+
private parseDate;
|
|
1955
|
+
onRowClick(row: any): void;
|
|
1956
|
+
/**
|
|
1957
|
+
* Handles column sorting when header is clicked
|
|
1958
|
+
* @param column - The column to sort by
|
|
1959
|
+
* @param event - Optional keyboard event for accessibility
|
|
1960
|
+
*/
|
|
1961
|
+
onSort(column: TableColumn, event?: KeyboardEvent): void;
|
|
1962
|
+
onPageChange(page: number): void;
|
|
1963
|
+
isSelected(row: any): boolean;
|
|
1964
|
+
/**
|
|
1965
|
+
* Toggles the selection state of a row
|
|
1966
|
+
* @param checked - Whether the row should be selected
|
|
1967
|
+
* @param row - The row to toggle selection for
|
|
1968
|
+
*/
|
|
1969
|
+
toggleRowSelection(checked: boolean, row?: any): void;
|
|
1970
|
+
/**
|
|
1971
|
+
* Toggles selection for all rows on the current page
|
|
1972
|
+
* @param checked - Whether all rows should be selected
|
|
1973
|
+
*/
|
|
1974
|
+
toggleSelectAll(checked: boolean): void;
|
|
1975
|
+
/**
|
|
1976
|
+
* Gets the unique identifier for an item using the trackByKey
|
|
1977
|
+
* @param item - The item to get the ID for
|
|
1978
|
+
* @returns The item's ID or the item itself if no ID property exists
|
|
1979
|
+
* @private
|
|
1980
|
+
*/
|
|
1981
|
+
private getItemId;
|
|
1982
|
+
/**
|
|
1983
|
+
* Gets CSS classes for a column cell
|
|
1984
|
+
* @param column - The column definition
|
|
1985
|
+
* @returns Space-separated string of CSS classes
|
|
1986
|
+
*/
|
|
1987
|
+
getColumnClass(column: TableColumn): string;
|
|
1988
|
+
/**
|
|
1989
|
+
* Gets CSS classes for the table element
|
|
1990
|
+
* @returns Space-separated string of CSS classes
|
|
1991
|
+
*/
|
|
1992
|
+
getTableClasses(): string;
|
|
1993
|
+
/**
|
|
1994
|
+
* Gets the width CSS value for a column
|
|
1995
|
+
* @param column - The column definition
|
|
1996
|
+
* @returns The width value or undefined
|
|
1997
|
+
*/
|
|
1998
|
+
getColumnWidth(column: TableColumn): string | undefined;
|
|
1999
|
+
/**
|
|
2000
|
+
* Gets the appropriate sort icon path for a column
|
|
2001
|
+
* @param column - The column to get the icon for
|
|
2002
|
+
* @returns The SVG path string for the sort icon
|
|
2003
|
+
*/
|
|
2004
|
+
getSortIconPath(column: TableColumn): string;
|
|
2005
|
+
/**
|
|
2006
|
+
* Determines if a column should show the unsorted icon
|
|
2007
|
+
* @param column - The column to check
|
|
2008
|
+
* @returns True if unsorted icon should be shown
|
|
2009
|
+
*/
|
|
2010
|
+
showUnsortedIcon(column: TableColumn): boolean;
|
|
2011
|
+
/**
|
|
2012
|
+
* Determines if a column should show the ascending icon
|
|
2013
|
+
* @param column - The column to check
|
|
2014
|
+
* @returns True if ascending icon should be shown
|
|
2015
|
+
*/
|
|
2016
|
+
showAscendingIcon(column: TableColumn): boolean;
|
|
2017
|
+
/**
|
|
2018
|
+
* Determines if a column should show the descending icon
|
|
2019
|
+
* @param column - The column to check
|
|
2020
|
+
* @returns True if descending icon should be shown
|
|
2021
|
+
*/
|
|
2022
|
+
showDescendingIcon(column: TableColumn): boolean;
|
|
2023
|
+
/**
|
|
2024
|
+
* Gets the ARIA sort state for a column
|
|
2025
|
+
* @param column - The column to get the sort state for
|
|
2026
|
+
* @returns The ARIA sort value ('ascending', 'descending', or 'none')
|
|
2027
|
+
*/
|
|
2028
|
+
getAriaSort(column: TableColumn): string;
|
|
2029
|
+
/**
|
|
2030
|
+
* Gets the ARIA label for a sortable column header
|
|
2031
|
+
* @param column - The column to get the label for
|
|
2032
|
+
* @returns The ARIA label string or null if not sortable
|
|
2033
|
+
*/
|
|
2034
|
+
getSortAriaLabel(column: TableColumn): string | null;
|
|
2035
|
+
/**
|
|
2036
|
+
* Generates page numbers array for pagination display
|
|
2037
|
+
* This method is currently not used in the template but kept for potential future use
|
|
2038
|
+
* @returns Array of page numbers and ellipsis strings
|
|
2039
|
+
*/
|
|
2040
|
+
getPageNumbers(): (number | string)[];
|
|
2041
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent, never>;
|
|
2042
|
+
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>;
|
|
2043
|
+
}
|
|
2044
|
+
|
|
1685
2045
|
declare const STYLES_PATH = "./styles/index.scss";
|
|
1686
2046
|
|
|
1687
|
-
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, IconButtonComponent, IconComponent, ImageComponent, LIGHT_THEME, LinkComponent, PaginationComponent, ProgressBarComponent, RadioComponent, RateComponent, SHADOW_TOKENS, SPACING_TOKENS, STYLES_PATH, SelectComponent, SpinnerComponent, StackComponent, SwitchComponent, TYPOGRAPHY_TOKENS, TabComponent, TagComponent, TextFieldComponent, TextareaComponent, ThemeLoader, ToastComponent, TooltipComponent, TypographyComponent };
|
|
1688
|
-
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, IconSize, ImageFit, ImageLoading, ImageRounded, InputSize, LinkSize, LinkVariant, PaginationSize, PaginationVariant, ProgressBarSize, ProgressBarVariant, RateIcon, RateSize, SelectOption, ShadowToken, SpacingToken, SpinnerSize, SpinnerVariant, TabSize, TabVariant, TagSize, TagVariant, TextFieldSize, TextFieldType, TextFieldVariant, TextareaSize, TextareaVariant, Theme, ThemeColors, ToastPosition, ToastVariant, TooltipPosition, TooltipTrigger, TypographyColor, TypographyLineHeight, TypographySize, TypographyToken, TypographyVariant, TypographyWeight };
|
|
2047
|
+
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 };
|
|
2048
|
+
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 };
|