@cqa-lib/cqa-ui 0.1.2 → 1.0.1
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/esm2020/lib/action-menu/action-menu.component.mjs +42 -0
- package/esm2020/lib/assets/images/image-assets.constants.mjs +28 -0
- package/esm2020/lib/badge/badge.component.mjs +141 -0
- package/esm2020/lib/button/button.component.mjs +42 -67
- package/esm2020/lib/column-visibility/column-visibility.component.mjs +69 -0
- package/esm2020/lib/dashboards/chart-card/chart-card.component.mjs +22 -0
- package/esm2020/lib/dashboards/coverage-module-card/coverage-module-card.component.mjs +105 -0
- package/esm2020/lib/dashboards/dashboard-header/dashboard-header.component.mjs +82 -0
- package/esm2020/lib/dashboards/failed-test-cases-card/failed-test-cases-card.component.mjs +59 -0
- package/esm2020/lib/dashboards/heat-error-map-cell/heat-error-map-cell.component.mjs +45 -0
- package/esm2020/lib/dashboards/insight-card/insight-card.component.mjs +201 -0
- package/esm2020/lib/dashboards/metrics-card/metrics-block.component.mjs +41 -0
- package/esm2020/lib/dashboards/metrics-card/metrics-card-item.interface.mjs +2 -0
- package/esm2020/lib/dashboards/metrics-card/metrics-card.component.mjs +62 -0
- package/esm2020/lib/dashboards/progress-text-card/progress-text-card.component.mjs +46 -0
- package/esm2020/lib/dashboards/test-distribution-card/test-distribution-card.component.mjs +35 -0
- package/esm2020/lib/dialog/dialog.component.mjs +4 -4
- package/esm2020/lib/dropdown-button/dropdown-button.component.mjs +189 -0
- package/esm2020/lib/dynamic-select/dynamic-select-field.component.mjs +160 -0
- package/esm2020/lib/empty-state/empty-state.component.mjs +37 -0
- package/esm2020/lib/filters/dynamic-filter/dynamic-filter.component.mjs +239 -0
- package/esm2020/lib/full-table-loader/full-table-loader.component.mjs +16 -0
- package/esm2020/lib/inline-sort/inline-sort.component.mjs +58 -0
- package/esm2020/lib/other-button/other-button.component.mjs +76 -0
- package/esm2020/lib/pagination/pagination.component.mjs +102 -0
- package/esm2020/lib/search-bar/search-bar.component.mjs +3 -3
- package/esm2020/lib/segment-control/segment-control.component.mjs +3 -3
- package/esm2020/lib/selected-filters/selected-filters.component.mjs +27 -0
- package/esm2020/lib/table/dynamic-table/dynamic-cell.directive.mjs +35 -0
- package/esm2020/lib/table/dynamic-table/dynamic-table.component.mjs +258 -0
- package/esm2020/lib/table-action-toolbar/table-action-toolbar.component.mjs +52 -0
- package/esm2020/lib/table-data-loader/table-data-loader.component.mjs +19 -0
- package/esm2020/lib/templates/table-template.component.mjs +365 -0
- package/esm2020/lib/ui-kit.module.mjs +196 -17
- package/esm2020/lib/utils/metadata-colors.util.mjs +100 -0
- package/esm2020/lib/utils/tw-overlay-container.mjs +22 -0
- package/esm2020/public-api.mjs +29 -1
- package/fesm2015/cqa-lib-cqa-ui.mjs +2899 -133
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +2867 -133
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/action-menu/action-menu.component.d.ts +17 -0
- package/lib/assets/images/image-assets.constants.d.ts +20 -0
- package/lib/badge/badge.component.d.ts +25 -0
- package/lib/button/button.component.d.ts +6 -5
- package/lib/column-visibility/column-visibility.component.d.ts +33 -0
- package/lib/dashboards/chart-card/chart-card.component.d.ts +8 -0
- package/lib/dashboards/coverage-module-card/coverage-module-card.component.d.ts +44 -0
- package/lib/dashboards/dashboard-header/dashboard-header.component.d.ts +30 -0
- package/lib/dashboards/failed-test-cases-card/failed-test-cases-card.component.d.ts +28 -0
- package/lib/dashboards/heat-error-map-cell/heat-error-map-cell.component.d.ts +14 -0
- package/lib/dashboards/insight-card/insight-card.component.d.ts +73 -0
- package/lib/dashboards/metrics-card/metrics-block.component.d.ts +12 -0
- package/lib/dashboards/metrics-card/metrics-card-item.interface.d.ts +12 -0
- package/lib/dashboards/metrics-card/metrics-card.component.d.ts +17 -0
- package/lib/dashboards/progress-text-card/progress-text-card.component.d.ts +13 -0
- package/lib/dashboards/test-distribution-card/test-distribution-card.component.d.ts +29 -0
- package/lib/dropdown-button/dropdown-button.component.d.ts +32 -0
- package/lib/dynamic-select/dynamic-select-field.component.d.ts +43 -0
- package/lib/empty-state/empty-state.component.d.ts +20 -0
- package/lib/filters/dynamic-filter/dynamic-filter.component.d.ts +56 -0
- package/lib/full-table-loader/full-table-loader.component.d.ts +6 -0
- package/lib/inline-sort/inline-sort.component.d.ts +12 -0
- package/lib/other-button/other-button.component.d.ts +37 -0
- package/lib/pagination/pagination.component.d.ts +37 -0
- package/lib/selected-filters/selected-filters.component.d.ts +17 -0
- package/lib/table/dynamic-table/dynamic-cell.directive.d.ts +16 -0
- package/lib/table/dynamic-table/dynamic-table.component.d.ts +72 -0
- package/lib/table-action-toolbar/table-action-toolbar.component.d.ts +34 -0
- package/lib/table-data-loader/table-data-loader.component.d.ts +7 -0
- package/lib/templates/table-template.component.d.ts +90 -0
- package/lib/ui-kit.module.d.ts +43 -6
- package/lib/utils/metadata-colors.util.d.ts +50 -0
- package/lib/utils/tw-overlay-container.d.ts +12 -0
- package/package.json +1 -1
- package/public-api.d.ts +28 -0
- package/src/assets/fonts/SFUIText-Bold/SF-UI-Text-Bold.eot +0 -0
- package/src/assets/fonts/SFUIText-Bold/SF-UI-Text-Bold.otf +0 -0
- package/src/assets/fonts/SFUIText-Bold/SF-UI-Text-Bold.svg +14730 -0
- package/src/assets/fonts/SFUIText-Bold/SF-UI-Text-Bold.ttf +0 -0
- package/src/assets/fonts/SFUIText-Bold/SF-UI-Text-Bold.woff +0 -0
- package/src/assets/fonts/SFUIText-Bold/SF-UI-Text-Bold.woff2 +0 -0
- package/src/assets/fonts/SFUIText-Light/SF-UI-Text-Light.eot +0 -0
- package/src/assets/fonts/SFUIText-Light/SF-UI-Text-Light.otf +0 -0
- package/src/assets/fonts/SFUIText-Light/SF-UI-Text-Light.svg +21333 -0
- package/src/assets/fonts/SFUIText-Light/SF-UI-Text-Light.ttf +0 -0
- package/src/assets/fonts/SFUIText-Light/SF-UI-Text-Light.woff +0 -0
- package/src/assets/fonts/SFUIText-Light/SF-UI-Text-Light.woff2 +0 -0
- package/src/assets/fonts/SFUIText-Medium/SF-UI-Text-Medium.eot +0 -0
- package/src/assets/fonts/SFUIText-Medium/SF-UI-Text-Medium.otf +0 -0
- package/src/assets/fonts/SFUIText-Medium/SF-UI-Text-Medium.svg +14584 -0
- package/src/assets/fonts/SFUIText-Medium/SF-UI-Text-Medium.ttf +0 -0
- package/src/assets/fonts/SFUIText-Medium/SF-UI-Text-Medium.woff +0 -0
- package/src/assets/fonts/SFUIText-Medium/SF-UI-Text-Medium.woff2 +0 -0
- package/src/assets/fonts/SFUIText-Regular/SF-UI-Text-Regular.eot +0 -0
- package/src/assets/fonts/SFUIText-Regular/SF-UI-Text-Regular.otf +0 -0
- package/src/assets/fonts/SFUIText-Regular/SF-UI-Text-Regular.svg +17870 -0
- package/src/assets/fonts/SFUIText-Regular/SF-UI-Text-Regular.ttf +0 -0
- package/src/assets/fonts/SFUIText-Regular/SF-UI-Text-Regular.woff +0 -0
- package/src/assets/fonts/SFUIText-Regular/SF-UI-Text-Regular.woff2 +0 -0
- package/src/assets/fonts/SFUIText-Semibold/SF-UI-Text-Semibold.eot +0 -0
- package/src/assets/fonts/SFUIText-Semibold/SF-UI-Text-Semibold.otf +0 -0
- package/src/assets/fonts/SFUIText-Semibold/SF-UI-Text-Semibold.svg +14732 -0
- package/src/assets/fonts/SFUIText-Semibold/SF-UI-Text-Semibold.ttf +0 -0
- package/src/assets/fonts/SFUIText-Semibold/SF-UI-Text-Semibold.woff +0 -0
- package/src/assets/fonts/SFUIText-Semibold/SF-UI-Text-Semibold.woff2 +0 -0
- package/src/lib/assets/images/.gitkeep +0 -0
- package/src/lib/assets/images/DashboardIcon.png +0 -0
- package/src/lib/assets/images/FilesIcon.png +0 -0
- package/src/lib/assets/images/README.md +66 -0
- package/src/lib/assets/images/ReportsIcon.png +0 -0
- package/src/lib/assets/images/SearchIcon.png +0 -0
- package/src/lib/assets/images/StepsIcon.png +0 -0
- package/src/lib/assets/images/TestCaseIcon.png +0 -0
- package/src/lib/assets/images/analytics-chart-icon.svg +11 -0
- package/src/lib/assets/images/checklist-add-icon.svg +10 -0
- package/src/lib/assets/images/document-gear-icon.svg +9 -0
- package/src/lib/assets/images/empty-state-default-icon.svg +8 -0
- package/src/lib/assets/images/image-assets.constants.ts +38 -0
- package/src/lib/assets/images/search-debug-icon.svg +8 -0
- package/src/lib/assets/images/test-case-icon.svg +9 -0
- package/src/lib/assets/images/upload-folder-icon.svg +7 -0
- package/src/lib/utils/metadata-colors.constants.js +33 -0
- package/storybook-static/assets/images/README.md +66 -0
- package/styles.css +1 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export interface PaginationChange {
|
|
4
|
+
pageIndex: number;
|
|
5
|
+
pageSize: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class PaginationComponent {
|
|
8
|
+
totalElements: number;
|
|
9
|
+
totalPages?: number | null;
|
|
10
|
+
pageIndex: number;
|
|
11
|
+
pageSize: number;
|
|
12
|
+
pageItemCount: number;
|
|
13
|
+
pageSizeOptions: number[];
|
|
14
|
+
pageIndexChange: EventEmitter<number>;
|
|
15
|
+
pageSizeChange: EventEmitter<number>;
|
|
16
|
+
paginate: EventEmitter<PaginationChange>;
|
|
17
|
+
pageSizeOpen: boolean;
|
|
18
|
+
pagesOption: {
|
|
19
|
+
placeholder: string;
|
|
20
|
+
disabled: boolean;
|
|
21
|
+
multiple: boolean;
|
|
22
|
+
searchable: boolean;
|
|
23
|
+
options: {
|
|
24
|
+
id: number;
|
|
25
|
+
name: string;
|
|
26
|
+
}[];
|
|
27
|
+
};
|
|
28
|
+
get computedTotalPages(): number;
|
|
29
|
+
getStartItem(): number;
|
|
30
|
+
getEndItem(): number;
|
|
31
|
+
togglePageSizeMenu(): void;
|
|
32
|
+
selectPageSize(size: number): void;
|
|
33
|
+
onPageSizeChange(): void;
|
|
34
|
+
goToPage(index: number): void;
|
|
35
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PaginationComponent, never>;
|
|
36
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PaginationComponent, "cqa-pagination", never, { "totalElements": "totalElements"; "totalPages": "totalPages"; "pageIndex": "pageIndex"; "pageSize": "pageSize"; "pageItemCount": "pageItemCount"; "pageSizeOptions": "pageSizeOptions"; }, { "pageIndexChange": "pageIndexChange"; "pageSizeChange": "pageSizeChange"; "paginate": "paginate"; }, never, never>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export interface SelectedFilterChip {
|
|
4
|
+
key?: string;
|
|
5
|
+
label?: string;
|
|
6
|
+
text: string;
|
|
7
|
+
fullText?: string;
|
|
8
|
+
hasMore?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare class SelectedFiltersComponent {
|
|
11
|
+
filterApplied: boolean;
|
|
12
|
+
chips: SelectedFilterChip[];
|
|
13
|
+
removeChip: EventEmitter<SelectedFilterChip>;
|
|
14
|
+
clearAll: EventEmitter<void>;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SelectedFiltersComponent, never>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SelectedFiltersComponent, "cqa-selected-filters", never, { "filterApplied": "filterApplied"; "chips": "chips"; }, { "removeChip": "removeChip"; "clearAll": "clearAll"; }, never, never>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TemplateRef } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class DynamicCellTemplateDirective {
|
|
4
|
+
template: TemplateRef<any>;
|
|
5
|
+
name: string;
|
|
6
|
+
constructor(template: TemplateRef<any>);
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicCellTemplateDirective, never>;
|
|
8
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicCellTemplateDirective, "ng-template[dynamicCell]", never, { "name": "dynamicCell"; }, {}, never>;
|
|
9
|
+
}
|
|
10
|
+
export declare class DynamicHeaderTemplateDirective {
|
|
11
|
+
template: TemplateRef<any>;
|
|
12
|
+
name: string;
|
|
13
|
+
constructor(template: TemplateRef<any>);
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicHeaderTemplateDirective, never>;
|
|
15
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicHeaderTemplateDirective, "ng-template[dynamicHeader]", never, { "name": "dynamicHeader"; }, {}, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { QueryList, TemplateRef, EventEmitter } from "@angular/core";
|
|
2
|
+
import { DynamicCellTemplateDirective, DynamicHeaderTemplateDirective } from "./dynamic-cell.directive";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export interface DynamicTableColumn {
|
|
5
|
+
fieldId: string;
|
|
6
|
+
fieldName?: string;
|
|
7
|
+
fieldValue?: string;
|
|
8
|
+
isDefault?: boolean;
|
|
9
|
+
sortable?: boolean;
|
|
10
|
+
isShow?: boolean;
|
|
11
|
+
weight?: number;
|
|
12
|
+
fixedPx?: number;
|
|
13
|
+
responsive?: {
|
|
14
|
+
xs?: boolean;
|
|
15
|
+
sm?: boolean;
|
|
16
|
+
md?: boolean;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export declare class DynamicTableComponent {
|
|
20
|
+
data: any[];
|
|
21
|
+
columns: DynamicTableColumn[];
|
|
22
|
+
/**
|
|
23
|
+
* Optional configuration object used when no custom empty template is provided.
|
|
24
|
+
*/
|
|
25
|
+
emptyState?: {
|
|
26
|
+
title?: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
imageUrl?: string;
|
|
29
|
+
actions?: any[];
|
|
30
|
+
};
|
|
31
|
+
gridTemplateColumns?: string;
|
|
32
|
+
screenWidth?: number;
|
|
33
|
+
enableSelectAll: boolean;
|
|
34
|
+
enableLocalSort: boolean;
|
|
35
|
+
isTableLoading?: boolean;
|
|
36
|
+
isTableDataLoading?: boolean;
|
|
37
|
+
sortChange: EventEmitter<{
|
|
38
|
+
fieldId: string;
|
|
39
|
+
fieldValue?: string;
|
|
40
|
+
direction: 'asc' | 'desc' | null;
|
|
41
|
+
}>;
|
|
42
|
+
cellTemplates: QueryList<DynamicCellTemplateDirective>;
|
|
43
|
+
headerTemplates: QueryList<DynamicHeaderTemplateDirective>;
|
|
44
|
+
emptyTableTpl?: TemplateRef<any>;
|
|
45
|
+
private get isXs();
|
|
46
|
+
private get isSm();
|
|
47
|
+
private get isMd();
|
|
48
|
+
get visibleColumns(): DynamicTableColumn[];
|
|
49
|
+
getHeaderTemplate(colId: string): TemplateRef<any> | null;
|
|
50
|
+
getCellTemplate(colId: string): TemplateRef<any> | null;
|
|
51
|
+
getCellValue(row: any, path?: string): any;
|
|
52
|
+
trackByIndex(index: number): number;
|
|
53
|
+
get computedGridTemplate(): string;
|
|
54
|
+
get computedColumnWidths(): string[];
|
|
55
|
+
get allSelected(): boolean;
|
|
56
|
+
get someSelected(): boolean;
|
|
57
|
+
onSelectAllChange(event: Event): void;
|
|
58
|
+
onRowSelectChange(event: Event, row: any): void;
|
|
59
|
+
toggleSelectAll(checked: boolean): void;
|
|
60
|
+
private _sortActive?;
|
|
61
|
+
private _sortDirection;
|
|
62
|
+
get computedData(): any[];
|
|
63
|
+
get showTableLoading(): boolean;
|
|
64
|
+
get showTableDataLoading(): boolean;
|
|
65
|
+
get isEmpty(): boolean;
|
|
66
|
+
isSortedAsc(colId: string): boolean;
|
|
67
|
+
isSortedDesc(colId: string): boolean;
|
|
68
|
+
toggleSort(col: DynamicTableColumn): void;
|
|
69
|
+
private compareValues;
|
|
70
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicTableComponent, never>;
|
|
71
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DynamicTableComponent, "app-dynamic-table", never, { "data": "data"; "columns": "columns"; "emptyState": "emptyState"; "gridTemplateColumns": "gridTemplateColumns"; "screenWidth": "screenWidth"; "enableSelectAll": "enableSelectAll"; "enableLocalSort": "enableLocalSort"; "isTableLoading": "isTableLoading"; "isTableDataLoading": "isTableDataLoading"; }, { "sortChange": "sortChange"; }, ["emptyTableTpl", "cellTemplates", "headerTemplates"], never>;
|
|
72
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export interface TableAction {
|
|
4
|
+
id: string;
|
|
5
|
+
label: string;
|
|
6
|
+
icon: string;
|
|
7
|
+
tooltip?: string;
|
|
8
|
+
show?: (context: {
|
|
9
|
+
selected: any[];
|
|
10
|
+
}) => boolean;
|
|
11
|
+
disabled?: (context: {
|
|
12
|
+
selected: any[];
|
|
13
|
+
}) => boolean;
|
|
14
|
+
onClick?: (context: {
|
|
15
|
+
id: string;
|
|
16
|
+
selected: any[];
|
|
17
|
+
}) => void;
|
|
18
|
+
}
|
|
19
|
+
export declare class TableActionToolbarComponent {
|
|
20
|
+
selectedItems: any[];
|
|
21
|
+
actions: TableAction[];
|
|
22
|
+
actionClick: EventEmitter<{
|
|
23
|
+
id: string;
|
|
24
|
+
selected: any[];
|
|
25
|
+
}>;
|
|
26
|
+
get hasSelection(): boolean;
|
|
27
|
+
get isSingleSelection(): boolean;
|
|
28
|
+
get selectionLabel(): string;
|
|
29
|
+
visibleActions(): TableAction[];
|
|
30
|
+
isDisabled(action: TableAction): boolean;
|
|
31
|
+
onAction(action: TableAction): void;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableActionToolbarComponent, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableActionToolbarComponent, "cqa-table-action-toolbar", never, { "selectedItems": "selectedItems"; "actions": "actions"; }, { "actionClick": "actionClick"; }, never, never>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class TableDataLoaderComponent {
|
|
3
|
+
label: string;
|
|
4
|
+
size: number;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableDataLoaderComponent, never>;
|
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableDataLoaderComponent, "cqa-table-data-loader", never, { "label": "label"; "size": "size"; }, {}, never, never>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { DynamicFilterItem } from '../filters/dynamic-filter/dynamic-filter.component';
|
|
3
|
+
import { DynamicTableColumn } from '../table/dynamic-table/dynamic-table.component';
|
|
4
|
+
import { ColumnVisibilityConfig } from '../column-visibility/column-visibility.component';
|
|
5
|
+
import { TableAction } from '../table-action-toolbar/table-action-toolbar.component';
|
|
6
|
+
import { EmptyStateAction } from '../empty-state/empty-state.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export interface EmptyStateConfig {
|
|
9
|
+
title: string;
|
|
10
|
+
description: string;
|
|
11
|
+
imageUrl: string;
|
|
12
|
+
actions: EmptyStateAction[];
|
|
13
|
+
}
|
|
14
|
+
export declare class TableTemplateComponent implements OnInit, OnChanges {
|
|
15
|
+
searchPlaceholder: string;
|
|
16
|
+
searchValue: string;
|
|
17
|
+
showClear: boolean;
|
|
18
|
+
showSearchBar: boolean;
|
|
19
|
+
filterConfig: DynamicFilterItem[];
|
|
20
|
+
showFilterPanel: boolean;
|
|
21
|
+
showFilterButton: boolean;
|
|
22
|
+
otherButtonLabel: string;
|
|
23
|
+
otherButtonVariant: 'filled' | 'outlined' | 'text' | 'elevated' | 'tonal' | 'grey-solid';
|
|
24
|
+
showOtherButton: boolean;
|
|
25
|
+
showActionButton: boolean;
|
|
26
|
+
showSettingsButton: boolean;
|
|
27
|
+
showAutoRefreshButton: boolean;
|
|
28
|
+
data: any[];
|
|
29
|
+
isEmptyState: boolean;
|
|
30
|
+
emptyStateConfig: EmptyStateConfig;
|
|
31
|
+
actions: TableAction[];
|
|
32
|
+
chips: Array<{
|
|
33
|
+
key?: string;
|
|
34
|
+
label?: string;
|
|
35
|
+
text: string;
|
|
36
|
+
fullText?: string;
|
|
37
|
+
hasMore?: boolean;
|
|
38
|
+
}>;
|
|
39
|
+
filterApplied: boolean;
|
|
40
|
+
columns: DynamicTableColumn[];
|
|
41
|
+
selectedAutoRefreshInterval: number;
|
|
42
|
+
pageIndex: number;
|
|
43
|
+
pageSize: number;
|
|
44
|
+
isTableLoading?: boolean;
|
|
45
|
+
isTableDataLoading?: boolean;
|
|
46
|
+
private _columnVisibility;
|
|
47
|
+
private _cachedVisibilityColumns;
|
|
48
|
+
filteredRows: any[];
|
|
49
|
+
pagedRows: any[];
|
|
50
|
+
get computedColumns(): DynamicTableColumn[];
|
|
51
|
+
get visibilityColumns(): Array<{
|
|
52
|
+
id: string;
|
|
53
|
+
label: string;
|
|
54
|
+
}>;
|
|
55
|
+
get columnVisibility(): ColumnVisibilityConfig;
|
|
56
|
+
ngOnInit(): void;
|
|
57
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
58
|
+
private initializeComponent;
|
|
59
|
+
private initializeColumnVisibility;
|
|
60
|
+
get anyRowSelected(): boolean;
|
|
61
|
+
get currentSelectedItems(): any[];
|
|
62
|
+
actionClick(data: any): void;
|
|
63
|
+
view(id: number | string): void;
|
|
64
|
+
edit(row: any): void;
|
|
65
|
+
delete(row: any): void;
|
|
66
|
+
onRowCheckboxChange(event: Event, row: any): void;
|
|
67
|
+
toggleFilter(): void;
|
|
68
|
+
onColumnVisibilityChange(cfg: ColumnVisibilityConfig): void;
|
|
69
|
+
onAutoRefreshChange(intervalMs: number): void;
|
|
70
|
+
valueChange(value: string): void;
|
|
71
|
+
search(value: string): void;
|
|
72
|
+
cleared(): void;
|
|
73
|
+
resultBadgeClass(result?: string | null): string;
|
|
74
|
+
onEmptyAction(action: any): void;
|
|
75
|
+
onFiltersChanged(current: any): void;
|
|
76
|
+
onFiltersApplied(_: any): void;
|
|
77
|
+
onPaginate(e: {
|
|
78
|
+
pageIndex: number;
|
|
79
|
+
pageSize: number;
|
|
80
|
+
}): void;
|
|
81
|
+
onPageSizeChange(size: number): void;
|
|
82
|
+
onRemoveChip(chip: any): void;
|
|
83
|
+
onClearAllChips(): void;
|
|
84
|
+
private applyPagination;
|
|
85
|
+
private mapVisibilityColumns;
|
|
86
|
+
private normalizeDate;
|
|
87
|
+
private passFilters;
|
|
88
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableTemplateComponent, never>;
|
|
89
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableTemplateComponent, "cqa-table-template", never, { "searchPlaceholder": "searchPlaceholder"; "searchValue": "searchValue"; "showClear": "showClear"; "showSearchBar": "showSearchBar"; "filterConfig": "filterConfig"; "showFilterPanel": "showFilterPanel"; "showFilterButton": "showFilterButton"; "otherButtonLabel": "otherButtonLabel"; "otherButtonVariant": "otherButtonVariant"; "showOtherButton": "showOtherButton"; "showActionButton": "showActionButton"; "showSettingsButton": "showSettingsButton"; "showAutoRefreshButton": "showAutoRefreshButton"; "data": "data"; "isEmptyState": "isEmptyState"; "emptyStateConfig": "emptyStateConfig"; "actions": "actions"; "chips": "chips"; "filterApplied": "filterApplied"; "columns": "columns"; "selectedAutoRefreshInterval": "selectedAutoRefreshInterval"; "pageIndex": "pageIndex"; "pageSize": "pageSize"; "isTableLoading": "isTableLoading"; "isTableDataLoading": "isTableDataLoading"; }, {}, never, never>;
|
|
90
|
+
}
|
package/lib/ui-kit.module.d.ts
CHANGED
|
@@ -3,13 +3,50 @@ import * as i1 from "./button/button.component";
|
|
|
3
3
|
import * as i2 from "./search-bar/search-bar.component";
|
|
4
4
|
import * as i3 from "./segment-control/segment-control.component";
|
|
5
5
|
import * as i4 from "./dialog/dialog.component";
|
|
6
|
-
import * as i5 from "
|
|
7
|
-
import * as i6 from "
|
|
8
|
-
import * as i7 from "
|
|
9
|
-
import * as i8 from "
|
|
10
|
-
import * as i9 from "
|
|
6
|
+
import * as i5 from "./table/dynamic-table/dynamic-table.component";
|
|
7
|
+
import * as i6 from "./table/dynamic-table/dynamic-cell.directive";
|
|
8
|
+
import * as i7 from "./inline-sort/inline-sort.component";
|
|
9
|
+
import * as i8 from "./pagination/pagination.component";
|
|
10
|
+
import * as i9 from "./action-menu/action-menu.component";
|
|
11
|
+
import * as i10 from "./other-button/other-button.component";
|
|
12
|
+
import * as i11 from "./filters/dynamic-filter/dynamic-filter.component";
|
|
13
|
+
import * as i12 from "./column-visibility/column-visibility.component";
|
|
14
|
+
import * as i13 from "./table-action-toolbar/table-action-toolbar.component";
|
|
15
|
+
import * as i14 from "./dashboards/metrics-card/metrics-card.component";
|
|
16
|
+
import * as i15 from "./dashboards/metrics-card/metrics-block.component";
|
|
17
|
+
import * as i16 from "./dashboards/chart-card/chart-card.component";
|
|
18
|
+
import * as i17 from "./dashboards/progress-text-card/progress-text-card.component";
|
|
19
|
+
import * as i18 from "./dashboards/dashboard-header/dashboard-header.component";
|
|
20
|
+
import * as i19 from "./dashboards/coverage-module-card/coverage-module-card.component";
|
|
21
|
+
import * as i20 from "./dashboards/test-distribution-card/test-distribution-card.component";
|
|
22
|
+
import * as i21 from "./dashboards/failed-test-cases-card/failed-test-cases-card.component";
|
|
23
|
+
import * as i22 from "./dynamic-select/dynamic-select-field.component";
|
|
24
|
+
import * as i23 from "./selected-filters/selected-filters.component";
|
|
25
|
+
import * as i24 from "./dashboards/insight-card/insight-card.component";
|
|
26
|
+
import * as i25 from "./badge/badge.component";
|
|
27
|
+
import * as i26 from "./dropdown-button/dropdown-button.component";
|
|
28
|
+
import * as i27 from "./dashboards/heat-error-map-cell/heat-error-map-cell.component";
|
|
29
|
+
import * as i28 from "./empty-state/empty-state.component";
|
|
30
|
+
import * as i29 from "./templates/table-template.component";
|
|
31
|
+
import * as i30 from "./full-table-loader/full-table-loader.component";
|
|
32
|
+
import * as i31 from "./table-data-loader/table-data-loader.component";
|
|
33
|
+
import * as i32 from "@angular/common";
|
|
34
|
+
import * as i33 from "@angular/forms";
|
|
35
|
+
import * as i34 from "@angular/material/icon";
|
|
36
|
+
import * as i35 from "@angular/material/tooltip";
|
|
37
|
+
import * as i36 from "@angular/material/menu";
|
|
38
|
+
import * as i37 from "@angular/material/button";
|
|
39
|
+
import * as i38 from "@angular/material/form-field";
|
|
40
|
+
import * as i39 from "@angular/material/select";
|
|
41
|
+
import * as i40 from "@angular/material/core";
|
|
42
|
+
import * as i41 from "@angular/material/checkbox";
|
|
43
|
+
import * as i42 from "@angular/material/radio";
|
|
44
|
+
import * as i43 from "@angular/material/datepicker";
|
|
45
|
+
import * as i44 from "@angular/material/progress-spinner";
|
|
46
|
+
import * as i45 from "@angular/cdk/overlay";
|
|
47
|
+
import * as i46 from "@angular/cdk/portal";
|
|
11
48
|
export declare class UiKitModule {
|
|
12
49
|
static ɵfac: i0.ɵɵFactoryDeclaration<UiKitModule, never>;
|
|
13
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<UiKitModule, [typeof i1.ButtonComponent, typeof i2.SearchBarComponent, typeof i3.SegmentControlComponent, typeof i4.DialogComponent], [typeof
|
|
50
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<UiKitModule, [typeof i1.ButtonComponent, typeof i2.SearchBarComponent, typeof i3.SegmentControlComponent, typeof i4.DialogComponent, typeof i5.DynamicTableComponent, typeof i6.DynamicCellTemplateDirective, typeof i6.DynamicHeaderTemplateDirective, typeof i7.InlineSortComponent, typeof i8.PaginationComponent, typeof i9.ActionMenuButtonComponent, typeof i10.OtherButtonComponent, typeof i11.DynamicFilterComponent, typeof i12.ColumnVisibilityComponent, typeof i13.TableActionToolbarComponent, typeof i14.MetricsCardComponent, typeof i15.MetricsBlockComponent, typeof i16.ChartCardComponent, typeof i17.ProgressTextCardComponent, typeof i18.DashboardHeaderComponent, typeof i19.CoverageModuleCardComponent, typeof i20.TestDistributionCardComponent, typeof i21.FailedTestCasesCardComponent, typeof i22.DynamicSelectFieldComponent, typeof i23.SelectedFiltersComponent, typeof i24.InsightCardComponent, typeof i25.BadgeComponent, typeof i26.DropdownButtonComponent, typeof i27.HeatErrorMapCellComponent, typeof i28.EmptyStateComponent, typeof i29.TableTemplateComponent, typeof i30.FullTableLoaderComponent, typeof i31.TableDataLoaderComponent], [typeof i32.CommonModule, typeof i33.FormsModule, typeof i33.ReactiveFormsModule, typeof i34.MatIconModule, typeof i35.MatTooltipModule, typeof i36.MatMenuModule, typeof i37.MatButtonModule, typeof i38.MatFormFieldModule, typeof i39.MatSelectModule, typeof i40.MatOptionModule, typeof i41.MatCheckboxModule, typeof i42.MatRadioModule, typeof i43.MatDatepickerModule, typeof i40.MatNativeDateModule, typeof i44.MatProgressSpinnerModule, typeof i45.OverlayModule, typeof i46.PortalModule], [typeof i1.ButtonComponent, typeof i2.SearchBarComponent, typeof i3.SegmentControlComponent, typeof i4.DialogComponent, typeof i5.DynamicTableComponent, typeof i6.DynamicCellTemplateDirective, typeof i6.DynamicHeaderTemplateDirective, typeof i7.InlineSortComponent, typeof i8.PaginationComponent, typeof i9.ActionMenuButtonComponent, typeof i10.OtherButtonComponent, typeof i11.DynamicFilterComponent, typeof i12.ColumnVisibilityComponent, typeof i13.TableActionToolbarComponent, typeof i14.MetricsCardComponent, typeof i16.ChartCardComponent, typeof i17.ProgressTextCardComponent, typeof i18.DashboardHeaderComponent, typeof i19.CoverageModuleCardComponent, typeof i20.TestDistributionCardComponent, typeof i21.FailedTestCasesCardComponent, typeof i22.DynamicSelectFieldComponent, typeof i23.SelectedFiltersComponent, typeof i24.InsightCardComponent, typeof i25.BadgeComponent, typeof i26.DropdownButtonComponent, typeof i27.HeatErrorMapCellComponent, typeof i28.EmptyStateComponent, typeof i29.TableTemplateComponent, typeof i30.FullTableLoaderComponent, typeof i31.TableDataLoaderComponent]>;
|
|
14
51
|
static ɵinj: i0.ɵɵInjectorDeclaration<UiKitModule>;
|
|
15
52
|
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility for getting consistent colors for metadata values
|
|
3
|
+
* Used across Status, Priority, and Result fields
|
|
4
|
+
*
|
|
5
|
+
* Colors are defined here and also exported in metadata-colors.constants.js for tailwind.config.js
|
|
6
|
+
*/
|
|
7
|
+
export declare type MetadataKey = 'priority' | 'result' | 'status';
|
|
8
|
+
export interface MetadataColorMap {
|
|
9
|
+
[key: string]: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Color mappings for Priority values
|
|
13
|
+
*/
|
|
14
|
+
export declare const PRIORITY_COLORS: MetadataColorMap;
|
|
15
|
+
/**
|
|
16
|
+
* Color mappings for Result values
|
|
17
|
+
*/
|
|
18
|
+
export declare const RESULT_COLORS: MetadataColorMap;
|
|
19
|
+
/**
|
|
20
|
+
* Color mappings for Status values
|
|
21
|
+
*/
|
|
22
|
+
export declare const STATUS_COLORS: MetadataColorMap;
|
|
23
|
+
/**
|
|
24
|
+
* Default color for metadata values
|
|
25
|
+
*/
|
|
26
|
+
export declare const DEFAULT_METADATA_COLOR = "#101828";
|
|
27
|
+
/**
|
|
28
|
+
* Gets the color for a metadata value based on its key and value
|
|
29
|
+
* @param key - The metadata key (priority, result, or status)
|
|
30
|
+
* @param value - The metadata value (string or object with value property)
|
|
31
|
+
* @returns Color hex code as a string
|
|
32
|
+
*/
|
|
33
|
+
export declare function getMetadataColor(key: string, value: string | {
|
|
34
|
+
label: string;
|
|
35
|
+
value: string;
|
|
36
|
+
highlight?: boolean;
|
|
37
|
+
}): string;
|
|
38
|
+
/**
|
|
39
|
+
* Gets inline style object for metadata value color
|
|
40
|
+
* @param key - The metadata key
|
|
41
|
+
* @param value - The metadata value
|
|
42
|
+
* @returns Style object with color property
|
|
43
|
+
*/
|
|
44
|
+
export declare function getMetadataValueStyle(key: string, value: string | {
|
|
45
|
+
label: string;
|
|
46
|
+
value: string;
|
|
47
|
+
highlight?: boolean;
|
|
48
|
+
}): {
|
|
49
|
+
[key: string]: string;
|
|
50
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { OverlayContainer } from '@angular/cdk/overlay';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Ensures Angular CDK overlay content (e.g., MatSelect, Datepicker panels)
|
|
5
|
+
* is nested under an element with id="cqa-ui-root" so Tailwind utilities
|
|
6
|
+
* configured with important: '#cqa-ui-root' are applied inside overlays.
|
|
7
|
+
*/
|
|
8
|
+
export declare class TailwindOverlayContainer extends OverlayContainer {
|
|
9
|
+
protected _createContainer(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TailwindOverlayContainer, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TailwindOverlayContainer>;
|
|
12
|
+
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -7,3 +7,31 @@ export * from './lib/dialog/dialog.service';
|
|
|
7
7
|
export * from './lib/dialog/dialog.models';
|
|
8
8
|
export * from './lib/dialog/dialog.tokens';
|
|
9
9
|
export * from './lib/dialog/dialog-ref';
|
|
10
|
+
export * from './lib/table/dynamic-table/dynamic-table.component';
|
|
11
|
+
export * from './lib/table/dynamic-table/dynamic-cell.directive';
|
|
12
|
+
export * from './lib/inline-sort/inline-sort.component';
|
|
13
|
+
export * from './lib/pagination/pagination.component';
|
|
14
|
+
export * from './lib/action-menu/action-menu.component';
|
|
15
|
+
export * from './lib/other-button/other-button.component';
|
|
16
|
+
export * from './lib/filters/dynamic-filter/dynamic-filter.component';
|
|
17
|
+
export * from './lib/column-visibility/column-visibility.component';
|
|
18
|
+
export * from './lib/table-action-toolbar/table-action-toolbar.component';
|
|
19
|
+
export * from './lib/dashboards/metrics-card/metrics-card.component';
|
|
20
|
+
export * from './lib/dashboards/chart-card/chart-card.component';
|
|
21
|
+
export * from './lib/dashboards/progress-text-card/progress-text-card.component';
|
|
22
|
+
export * from './lib/dashboards/dashboard-header/dashboard-header.component';
|
|
23
|
+
export * from './lib/dashboards/coverage-module-card/coverage-module-card.component';
|
|
24
|
+
export * from './lib/dashboards/test-distribution-card/test-distribution-card.component';
|
|
25
|
+
export * from './lib/dashboards/failed-test-cases-card/failed-test-cases-card.component';
|
|
26
|
+
export * from './lib/dynamic-select/dynamic-select-field.component';
|
|
27
|
+
export * from './lib/selected-filters/selected-filters.component';
|
|
28
|
+
export * from './lib/dashboards/insight-card/insight-card.component';
|
|
29
|
+
export * from './lib/badge/badge.component';
|
|
30
|
+
export * from './lib/dropdown-button/dropdown-button.component';
|
|
31
|
+
export * from './lib/dashboards/heat-error-map-cell/heat-error-map-cell.component';
|
|
32
|
+
export * from './lib/empty-state/empty-state.component';
|
|
33
|
+
export * from './lib/templates/table-template.component';
|
|
34
|
+
export * from './lib/assets/images/image-assets.constants';
|
|
35
|
+
export * from './lib/utils/metadata-colors.util';
|
|
36
|
+
export * from './lib/full-table-loader/full-table-loader.component';
|
|
37
|
+
export * from './lib/table-data-loader/table-data-loader.component';
|
|
Binary file
|
|
Binary file
|