cats-data-grid 2.0.7 → 2.0.8

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/index.d.ts CHANGED
@@ -63,7 +63,7 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
63
63
  filter: EventEmitter<any>;
64
64
  onHideSettings: EventEmitter<any>;
65
65
  onCellEdit: EventEmitter<any>;
66
- onColCongifgChange: EventEmitter<any>;
66
+ onColConfigChange: EventEmitter<any>;
67
67
  activeFilterIndex: number | null;
68
68
  originalRowData: any[];
69
69
  activeAll: boolean;
@@ -95,6 +95,14 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
95
95
  groupBy: string[];
96
96
  groupByField: string;
97
97
  dragGroupIndex: number | null;
98
+ categorizedCols: any;
99
+ noCategoryCols: any[];
100
+ objectKeys: {
101
+ (o: object): string[];
102
+ (o: {}): string[];
103
+ };
104
+ allActiveDefault: boolean;
105
+ allActiveColMap: Record<string, boolean>;
98
106
  dateConfig: DateConfig;
99
107
  filterOptions: {
100
108
  label: string;
@@ -116,6 +124,8 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
116
124
  appliedFiltersEvent: EventEmitter<ColumnFilter[]>;
117
125
  activeGroupsEvent: EventEmitter<any[]>;
118
126
  dynamicGroupingFiltering: boolean;
127
+ isRowsEditable: boolean;
128
+ showSkeleton: boolean;
119
129
  atLeastOneColumnChecked: boolean;
120
130
  draggedRowData: any;
121
131
  firstCol: any;
@@ -136,11 +146,39 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
136
146
  centerArea: any;
137
147
  groupingDisabled: boolean;
138
148
  draggableColumn: any;
149
+ skeletonRowsLength: number;
150
+ skeletonColsLength: number;
151
+ skeletonRows: any;
152
+ skeletonCols: any;
153
+ allActiveCol: boolean;
154
+ originalCategorizedCols: any;
155
+ originalNoCategoryCols: any[];
139
156
  constructor(renderer: Renderer2, zone: NgZone, cd: ChangeDetectorRef);
140
157
  ngOnInit(): void;
141
158
  ngOnChanges(changes: SimpleChanges): void;
159
+ onColConfigSearch(event: any): void;
160
+ cloneColDefs(colDefs: any[]): any[];
161
+ resetDefaultColConfig(): void;
162
+ /**
163
+ * Autosize column to fit content
164
+ */
165
+ protected autosizeColumn(col: any): void;
166
+ /**
167
+ * Autosize all columns
168
+ */
169
+ protected autosizeAllColumns(): void;
170
+ getColConfigCategory(colDefs: any[]): {
171
+ categorized: Record<string, any[]>;
172
+ noCategory: any[];
173
+ };
142
174
  getColumnDetail(colDefs: any, groupByField: any): any;
143
175
  activeAllSelection(event: Event): void;
176
+ showAllSelection(): void;
177
+ showAllDefaultSelection(): void;
178
+ rebuildView(): void;
179
+ showAllCategorySelection(category: string): void;
180
+ toggleSelectedCol(col: any): void;
181
+ updateGlobalState(): void;
144
182
  changeActiveColSelection(event: Event, col: any): void;
145
183
  getActiveCols(): void;
146
184
  /**
@@ -500,7 +538,7 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
500
538
  onCellEditSave(): void;
501
539
  setFieldValue(row: any, field: string, value: any): void;
502
540
  static ɵfac: i0.ɵɵFactoryDeclaration<CatsDataGridComponent, never>;
503
- static ɵcmp: i0.ɵɵComponentDeclaration<CatsDataGridComponent, "cats-data-grid", never, { "tableOptions": { "alias": "tableOptions"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "sortingRequired": { "alias": "sortingRequired"; "required": false; }; "checkBoxSelection": { "alias": "checkBoxSelection"; "required": false; }; "checkboxSelectionType": { "alias": "checkboxSelectionType"; "required": false; }; "rowData": { "alias": "rowData"; "required": true; }; "colDefs": { "alias": "colDefs"; "required": true; }; "paginationRequired": { "alias": "paginationRequired"; "required": false; }; "selectedRowEmpty": { "alias": "selectedRowEmpty"; "required": false; }; "filterRequired": { "alias": "filterRequired"; "required": false; }; "threeDotsMenuRequired": { "alias": "threeDotsMenuRequired"; "required": false; }; "settingsRequired": { "alias": "settingsRequired"; "required": false; }; "settingsClicked": { "alias": "settingsClicked"; "required": false; }; "resetPage": { "alias": "resetPage"; "required": false; }; "rowId": { "alias": "rowId"; "required": false; }; "bigRows": { "alias": "bigRows"; "required": false; }; "height": { "alias": "height"; "required": false; }; "groupByRequired": { "alias": "groupByRequired"; "required": false; }; "pageSizeList": { "alias": "pageSizeList"; "required": false; }; "groupByField": { "alias": "groupByField"; "required": false; }; "appliedFilters": { "alias": "appliedFilters"; "required": false; }; "rowGripFieldName": { "alias": "rowGripFieldName"; "required": false; }; "pageNumber": { "alias": "pageNumber"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "dynamicGroupingFiltering": { "alias": "dynamicGroupingFiltering"; "required": false; }; }, { "onPaginationChange": "onPaginationChange"; "onCheckboxSelection": "onCheckboxSelection"; "onScrollEmitter": "onScrollEmitter"; "filter": "filter"; "onHideSettings": "onHideSettings"; "onCellEdit": "onCellEdit"; "onColCongifgChange": "onColCongifgChange"; "appliedFiltersEvent": "appliedFiltersEvent"; "activeGroupsEvent": "activeGroupsEvent"; "onRowClicked": "onRowClicked"; "onCellClicked": "onCellClicked"; }, never, never, true, never>;
541
+ static ɵcmp: i0.ɵɵComponentDeclaration<CatsDataGridComponent, "cats-data-grid", never, { "tableOptions": { "alias": "tableOptions"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "sortingRequired": { "alias": "sortingRequired"; "required": false; }; "checkBoxSelection": { "alias": "checkBoxSelection"; "required": false; }; "checkboxSelectionType": { "alias": "checkboxSelectionType"; "required": false; }; "rowData": { "alias": "rowData"; "required": true; }; "colDefs": { "alias": "colDefs"; "required": true; }; "paginationRequired": { "alias": "paginationRequired"; "required": false; }; "selectedRowEmpty": { "alias": "selectedRowEmpty"; "required": false; }; "filterRequired": { "alias": "filterRequired"; "required": false; }; "threeDotsMenuRequired": { "alias": "threeDotsMenuRequired"; "required": false; }; "settingsRequired": { "alias": "settingsRequired"; "required": false; }; "settingsClicked": { "alias": "settingsClicked"; "required": false; }; "resetPage": { "alias": "resetPage"; "required": false; }; "rowId": { "alias": "rowId"; "required": false; }; "bigRows": { "alias": "bigRows"; "required": false; }; "height": { "alias": "height"; "required": false; }; "groupByRequired": { "alias": "groupByRequired"; "required": false; }; "pageSizeList": { "alias": "pageSizeList"; "required": false; }; "groupByField": { "alias": "groupByField"; "required": false; }; "appliedFilters": { "alias": "appliedFilters"; "required": false; }; "rowGripFieldName": { "alias": "rowGripFieldName"; "required": false; }; "pageNumber": { "alias": "pageNumber"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "dynamicGroupingFiltering": { "alias": "dynamicGroupingFiltering"; "required": false; }; "isRowsEditable": { "alias": "isRowsEditable"; "required": false; }; "showSkeleton": { "alias": "showSkeleton"; "required": false; }; "skeletonRowsLength": { "alias": "skeletonRowsLength"; "required": false; }; "skeletonColsLength": { "alias": "skeletonColsLength"; "required": false; }; }, { "onPaginationChange": "onPaginationChange"; "onCheckboxSelection": "onCheckboxSelection"; "onScrollEmitter": "onScrollEmitter"; "filter": "filter"; "onHideSettings": "onHideSettings"; "onCellEdit": "onCellEdit"; "onColConfigChange": "onColConfigChange"; "appliedFiltersEvent": "appliedFiltersEvent"; "activeGroupsEvent": "activeGroupsEvent"; "onRowClicked": "onRowClicked"; "onCellClicked": "onCellClicked"; }, never, never, true, never>;
504
542
  }
505
543
 
506
544
  declare class CommonRendererComponent {
@@ -730,6 +768,7 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
730
768
  showNodeIcon: boolean;
731
769
  noDataText: string;
732
770
  loadingText: string;
771
+ expandAllNodes: boolean;
733
772
  emitExpandAlways: boolean;
734
773
  sortingRequired: boolean;
735
774
  filterRequired: boolean;
@@ -746,12 +785,14 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
746
785
  rowOptionsResolver: (node: T, level: number, path: T[]) => CatsTreeRowOptions;
747
786
  nodeIconResolver: (node: T, level: number, path: T[], expanded: boolean) => string | null;
748
787
  linkResolver: (node: T, level: number, path: T[]) => string | null;
788
+ showSkeleton: boolean;
749
789
  nodeToggle: EventEmitter<CatsTreeExpandEvent<T>>;
750
790
  selectionChange: EventEmitter<CatsTreeSelectionChangeEvent<T>>;
751
791
  linkClick: EventEmitter<CatsTreeLinkClickEvent<T>>;
752
792
  linkDoubleClick: EventEmitter<CatsTreeLinkClickEvent<T>>;
753
793
  onHideSettings: EventEmitter<any>;
754
794
  onPaginationChange: EventEmitter<any>;
795
+ onColConfigChange: EventEmitter<any>;
755
796
  dateConfig: DateConfig;
756
797
  protected rows: RowView<T>[];
757
798
  private linkClickTimer;
@@ -785,6 +826,12 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
785
826
  atLeastOneColumnChecked: boolean;
786
827
  selectedRow: T[];
787
828
  originalColumns: CatsTreeTableColumn[];
829
+ originalCategorizedCols: any;
830
+ originalNoCategoryCols: any[];
831
+ skeletonRowsLength: number;
832
+ skeletonColsLength: number;
833
+ skeletonRows: any;
834
+ skeletonCols: any;
788
835
  private removeMouseMove;
789
836
  private removeMouseUp;
790
837
  private rafId;
@@ -804,13 +851,35 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
804
851
  private fallbackKey;
805
852
  private fallbackSeq;
806
853
  private resolvedTreeColumnField?;
854
+ activeColumns: CatsTreeTableColumn[];
855
+ categorizedCols: any;
856
+ noCategoryCols: any[];
857
+ objectKeys: {
858
+ (o: object): string[];
859
+ (o: {}): string[];
860
+ };
861
+ allActiveDefault: boolean;
862
+ allActiveColMap: Record<string, boolean>;
807
863
  constructor(renderer: Renderer2, zone: NgZone, cd: ChangeDetectorRef);
808
864
  ngAfterViewInit(): void;
809
865
  ngOnDestroy(): void;
810
866
  getUpdatedColDefs(colDefs: any[]): any[];
867
+ cloneColDefs(colDefs: any[]): any[];
868
+ resetDefaultColConfig(): void;
811
869
  normalizeSetFilterType(value: any, key: string): any[] | undefined;
812
870
  ngOnChanges(changes: SimpleChanges): void;
813
871
  ngDoCheck(): void;
872
+ getColConfigCategory(colDefs: any[]): {
873
+ categorized: Record<string, any[]>;
874
+ noCategory: any[];
875
+ };
876
+ onColConfigSearch(event: any): void;
877
+ showAllDefaultSelection(): void;
878
+ rebuildView(): void;
879
+ showAllCategorySelection(category: string): void;
880
+ toggleSelectedCol(col: any): void;
881
+ updateGlobalState(): void;
882
+ getActiveCols(): void;
814
883
  protected get treeColumn(): CatsTreeTableColumn;
815
884
  /**
816
885
  * Initialize column properties for filtering, sorting, and customization
@@ -832,13 +901,10 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
832
901
  * Apply sorting to the row data
833
902
  */
834
903
  private applySort;
835
- /**
836
- * Apply all active filters
837
- */
838
- applyAllFilters(): void;
904
+ applyAllFilters(col?: any): void;
905
+ private filterTreeByColumn;
906
+ private matchesSingleColumn;
839
907
  private expandAllParentsAfterFilter;
840
- private filterTree;
841
- private matchesAllFilters;
842
908
  /**
843
909
  * Evaluate text filter condition
844
910
  */
@@ -987,6 +1053,9 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
987
1053
  */
988
1054
  private collapseAllChildren;
989
1055
  protected isExpanded(node: T): boolean;
1056
+ protected showExpandAllControl(col: CatsTreeTableColumn): boolean;
1057
+ protected toggleAllNodes(): void;
1058
+ protected allNodesExpanded(): boolean;
990
1059
  protected onCheckboxChange(node: T, level: number, path: T[], checked: boolean): void;
991
1060
  protected isChecked(node: T): boolean;
992
1061
  protected onLinkClicked(e: MouseEvent, node: T, level: number, path: T[], col: CatsTreeTableColumn): void;
@@ -1044,6 +1113,12 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
1044
1113
  */
1045
1114
  protected convertToNumber(val: any): number;
1046
1115
  private getChildren;
1116
+ private applyExpandAllInputState;
1117
+ private setAllNodesExpandedState;
1118
+ private collectExpandableNodeKeys;
1119
+ private areAllExpandableNodesExpanded;
1120
+ private hasExpandableNodes;
1121
+ private syncOriginalExpandedKeys;
1047
1122
  private rebuildRows;
1048
1123
  private walk;
1049
1124
  private getNodeKey;
@@ -1098,7 +1173,7 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
1098
1173
  */
1099
1174
  toggleSelectAll(col: any, event: any): void;
1100
1175
  static ɵfac: i0.ɵɵFactoryDeclaration<CommonTreeTableComponent<any>, never>;
1101
- static ɵcmp: i0.ɵɵComponentDeclaration<CommonTreeTableComponent<any>, "cats-tree-table", never, { "data": { "alias": "data"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "tableOptions": { "alias": "tableOptions"; "required": false; }; "idField": { "alias": "idField"; "required": false; }; "labelField": { "alias": "labelField"; "required": false; }; "childrenField": { "alias": "childrenField"; "required": false; }; "treeColumnField": { "alias": "treeColumnField"; "required": false; }; "indentPx": { "alias": "indentPx"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "expandIcon": { "alias": "expandIcon"; "required": false; }; "collapseIcon": { "alias": "collapseIcon"; "required": false; }; "iconBasePath": { "alias": "iconBasePath"; "required": false; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; }; "showNodeIcon": { "alias": "showNodeIcon"; "required": false; }; "noDataText": { "alias": "noDataText"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "emitExpandAlways": { "alias": "emitExpandAlways"; "required": false; }; "sortingRequired": { "alias": "sortingRequired"; "required": false; }; "filterRequired": { "alias": "filterRequired"; "required": false; }; "threeDotsMenuRequired": { "alias": "threeDotsMenuRequired"; "required": false; }; "settingsRequired": { "alias": "settingsRequired"; "required": false; }; "settingsClicked": { "alias": "settingsClicked"; "required": false; }; "checkBoxSelection": { "alias": "checkBoxSelection"; "required": false; }; "checkboxSelectionType": { "alias": "checkboxSelectionType"; "required": false; }; "paginationRequired": { "alias": "paginationRequired"; "required": false; }; "pageSizeList": { "alias": "pageSizeList"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "resetPage": { "alias": "resetPage"; "required": false; }; "isExpandable": { "alias": "isExpandable"; "required": false; }; "rowOptionsResolver": { "alias": "rowOptionsResolver"; "required": false; }; "nodeIconResolver": { "alias": "nodeIconResolver"; "required": false; }; "linkResolver": { "alias": "linkResolver"; "required": false; }; }, { "nodeToggle": "nodeToggle"; "selectionChange": "selectionChange"; "linkClick": "linkClick"; "linkDoubleClick": "linkDoubleClick"; "onHideSettings": "onHideSettings"; "onPaginationChange": "onPaginationChange"; }, never, never, true, never>;
1176
+ static ɵcmp: i0.ɵɵComponentDeclaration<CommonTreeTableComponent<any>, "cats-tree-table", never, { "data": { "alias": "data"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "tableOptions": { "alias": "tableOptions"; "required": false; }; "idField": { "alias": "idField"; "required": false; }; "labelField": { "alias": "labelField"; "required": false; }; "childrenField": { "alias": "childrenField"; "required": false; }; "treeColumnField": { "alias": "treeColumnField"; "required": false; }; "indentPx": { "alias": "indentPx"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "expandIcon": { "alias": "expandIcon"; "required": false; }; "collapseIcon": { "alias": "collapseIcon"; "required": false; }; "iconBasePath": { "alias": "iconBasePath"; "required": false; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; }; "showNodeIcon": { "alias": "showNodeIcon"; "required": false; }; "noDataText": { "alias": "noDataText"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "expandAllNodes": { "alias": "expandAllNodes"; "required": false; }; "emitExpandAlways": { "alias": "emitExpandAlways"; "required": false; }; "sortingRequired": { "alias": "sortingRequired"; "required": false; }; "filterRequired": { "alias": "filterRequired"; "required": false; }; "threeDotsMenuRequired": { "alias": "threeDotsMenuRequired"; "required": false; }; "settingsRequired": { "alias": "settingsRequired"; "required": false; }; "settingsClicked": { "alias": "settingsClicked"; "required": false; }; "checkBoxSelection": { "alias": "checkBoxSelection"; "required": false; }; "checkboxSelectionType": { "alias": "checkboxSelectionType"; "required": false; }; "paginationRequired": { "alias": "paginationRequired"; "required": false; }; "pageSizeList": { "alias": "pageSizeList"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "resetPage": { "alias": "resetPage"; "required": false; }; "isExpandable": { "alias": "isExpandable"; "required": false; }; "rowOptionsResolver": { "alias": "rowOptionsResolver"; "required": false; }; "nodeIconResolver": { "alias": "nodeIconResolver"; "required": false; }; "linkResolver": { "alias": "linkResolver"; "required": false; }; "showSkeleton": { "alias": "showSkeleton"; "required": false; }; "skeletonRowsLength": { "alias": "skeletonRowsLength"; "required": false; }; "skeletonColsLength": { "alias": "skeletonColsLength"; "required": false; }; }, { "nodeToggle": "nodeToggle"; "selectionChange": "selectionChange"; "linkClick": "linkClick"; "linkDoubleClick": "linkDoubleClick"; "onHideSettings": "onHideSettings"; "onPaginationChange": "onPaginationChange"; "onColConfigChange": "onColConfigChange"; }, never, never, true, never>;
1102
1177
  }
1103
1178
 
1104
1179
  type TooltipPosition = 'top' | 'bottom' | 'left' | 'right' | 'adaptive';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cats-data-grid",
3
- "version": "2.0.7",
3
+ "version": "2.0.8",
4
4
  "peerDependencies": {
5
5
  "@angular/core": ">=18 <22",
6
6
  "@angular/common": ">=18 <22"
@@ -1,16 +1,20 @@
1
1
  @use "../sass-utils" as *;
2
2
 
3
3
  //========== CUSTOM SCROLL BAR ======================
4
+
5
+ #table_scroll.filter-tag-wrapper::-webkit-scrollbar {
6
+ @include box(rem(10px), rem(10px));
7
+ }
4
8
  #table_scroll::-webkit-scrollbar {
5
9
  @include box(rem(14px), rem(14px));
6
10
  }
7
11
  #table_scroll::-webkit-scrollbar-track {
8
- background-color: var(--neutral-200);
12
+ background-color: var(--border-core-default);
9
13
  @include border($width: rem(3px), $radius: rem(100px), $color: transparent);
10
14
  background-clip: padding-box;
11
15
  }
12
16
  #table_scroll::-webkit-scrollbar-thumb {
13
- background-color: var(--neutral-500);
17
+ background-color: var(--text-body-secondary);
14
18
  @include border($width: rem(3px), $radius: rem(100px), $color: transparent);
15
19
  background-clip: padding-box;
16
20
  }
@@ -19,16 +23,16 @@
19
23
  }
20
24
  #table_scroll::-webkit-scrollbar-button {
21
25
  @include box(rem(14px), rem(14px));
22
- background-color: var(--neutral-100);
26
+ background-color: var(--surface-background-subtle);
23
27
  border-radius: rem(2px);
24
28
  cursor: pointer;
25
29
  display: none;
26
30
  background-repeat: no-repeat;
27
31
  background-position: center;
28
- background-size: rem(10px);
32
+ background-size: rem(15px);
29
33
  }
30
34
  #table_scroll::-webkit-scrollbar-button:hover {
31
- background-color: var(--neutral-300);
35
+ background-color: var(--text-body-muted);
32
36
  }
33
37
  #table_scroll::-webkit-scrollbar-button:single-button:vertical:decrement {
34
38
  background-image: url("/images/chevron-up.svg");
@@ -57,47 +61,81 @@
57
61
  to bottom,
58
62
  rgb(240, 240, 240) 0%,
59
63
  rgb(240, 240, 240) 70.5%,
60
- var(--neutral-200) 70.5%,
61
- var(--neutral-200) 72.5%,
62
- var(--neutral-100) 72.5%,
63
- var(--neutral-100) 100%
64
+ var(--border-core-default) 70.5%,
65
+ var(--border-core-default) 72.5%,
66
+ var(--surface-background-subtle) 72.5%,
67
+ var(--surface-background-subtle) 100%
64
68
  );
65
69
  border-top-left-radius: 0;
66
70
  border-top-right-radius: 0;
67
71
  &:hover {
72
+ background:
73
+ url("/images/chevron-up.svg") bottom / rem(15px) no-repeat,
74
+ linear-gradient(
75
+ to bottom,
76
+ var(--surface-background-default) 0%,
77
+ var(--surface-background-default) 70.5%,
78
+ var(--border-core-default) 70.5%,
79
+ var(--border-core-default) 72.5%,
80
+ var(--text-body-muted) 72.5%,
81
+ var(--text-body-muted) 100%
82
+ );
83
+ }
84
+ }
85
+ //CSS for large height rows
86
+ .cats-tableArea.large {
87
+ #table_scroll.global::-webkit-scrollbar-button:single-button:vertical:decrement {
88
+ height: rem(71px);
68
89
  background:
69
90
  url("/images/chevron-up.svg") bottom / rem(15px) no-repeat,
70
91
  linear-gradient(
71
92
  to bottom,
72
93
  rgb(240, 240, 240) 0%,
73
- rgb(240, 240, 240) 70.5%,
74
- var(--neutral-200) 70.5%,
75
- var(--neutral-200) 72.5%,
76
- var(--neutral-300) 72.5%,
77
- var(--neutral-300) 100%
94
+ rgb(240, 240, 240) 78.8%,
95
+
96
+ var(--border-core-default) 78.8%,
97
+ var(--border-core-default) 81.7%,
98
+
99
+ var(--surface-background-subtle) 81.7%,
100
+ var(--surface-background-subtle) 100%
78
101
  );
102
+ &:hover {
103
+ background:
104
+ url("/images/chevron-up.svg") bottom / rem(15px) no-repeat,
105
+ linear-gradient(
106
+ to bottom,
107
+ var(--surface-background-default) 0%,
108
+ var(--surface-background-default) 78.8%,
109
+
110
+ var(--border-core-default) 78.8%,
111
+ var(--border-core-default) 81.7%,
112
+
113
+ var(--text-body-muted) 81.7%,
114
+ var(--text-body-muted) 100%
115
+ );
116
+ }
79
117
  }
80
118
  }
81
119
 
82
120
  // ---------------- CUSTOM RADIO INPUT START HERE--------
83
- .radio_option {
121
+ .cats-radio-option {
84
122
  display: flex;
85
123
  @include box(rem(16px), rem(16px));
86
- [type="radio"]:not(:checked)[disabled] + label {
87
- color: var(--neutral-300);
124
+ [type="radio"]:not(:checked)[disabled] + .label {
125
+ color: var(--text-body-muted);
88
126
  cursor: default;
89
127
  &::before {
90
- background-color: var(--neutral-100);
128
+ background-color: var(--surface-background-subtle);
91
129
  }
92
130
  }
93
- [type="radio"]:is(:checked)[disabled] + label {
94
- color: var(--neutral-300);
131
+ [type="radio"]:is(:checked)[disabled] + .label {
132
+ color: var(--text-body-muted);
95
133
  cursor: default;
96
134
  &::before {
97
- border-color: var(--neutral-100);
135
+ border-color: var(--border-core-muted);
98
136
  }
99
137
  &::after {
100
- background-color: var(--neutral-100);
138
+ background-color: var(--surface-background-subtle);
101
139
  }
102
140
  }
103
141
  %check-style {
@@ -105,64 +143,68 @@
105
143
  position: absolute;
106
144
  @include positioning(0, 0);
107
145
  @include box(rem(16px), rem(16px));
108
- background: var(--white);
146
+ background: var(--surface-background-canvas);
109
147
  }
110
148
  [type="radio"]:checked,
111
149
  [type="radio"]:not(:checked) {
112
150
  position: absolute;
113
151
  left: -9999px;
114
152
  }
115
- [type="radio"]:checked + label,
116
- [type="radio"]:not(:checked) + label {
153
+ [type="radio"]:checked + .label,
154
+ [type="radio"]:not(:checked) + .label {
117
155
  position: relative;
118
156
  padding-left: rem(24px);
119
157
  cursor: pointer;
120
158
  display: inline-block;
121
- color: var(--neutral-600);
159
+ color: var(--text-heading-primary);
122
160
  line-height: rem(16px);
123
161
  }
124
- [type="radio"]:checked + label:before {
162
+ [type="radio"]:checked + .label:before {
125
163
  @extend %check-style;
126
- @include border($width: rem(1.5px), $color: var(--blue-600), $radius: 100%);
164
+ @include border(
165
+ $width: rem(1.5px),
166
+ $color: var(--border-interaction-focus),
167
+ $radius: 100%
168
+ );
127
169
  }
128
- [type="radio"]:not(:checked) + label:before {
170
+ [type="radio"]:not(:checked) + .label:before {
129
171
  @extend %check-style;
130
172
  @include border($width: rem(1.5px), $radius: 100%);
131
173
  }
132
- [type="radio"]:checked + label:after,
133
- [type="radio"]:not(:checked) + label:after {
174
+ [type="radio"]:checked + .label:after,
175
+ [type="radio"]:not(:checked) + .label:after {
134
176
  content: "";
135
177
  @include box(rem(6px), rem(6px));
136
- background: var(--blue-600);
178
+ background: var(--surface-action-default);
137
179
  position: absolute;
138
180
  @include positioning(rem(5px), rem(5px));
139
181
  border-radius: 100%;
140
182
  transition: all 0.2s ease;
141
183
  }
142
- [type="radio"]:not(:checked) + label:after {
184
+ [type="radio"]:not(:checked) + .label:after {
143
185
  opacity: 0;
144
186
  transform: scale(0);
145
187
  }
146
- [type="radio"]:checked + label:after {
188
+ [type="radio"]:checked + .label:after {
147
189
  opacity: 1;
148
190
  transform: scale(1);
149
191
  }
150
192
  }
151
193
 
152
194
  // ---------------- CUSTOM CHECKBOX INPUT START HERE--------
153
- .checkbox_container {
195
+ .cats-checkbox_container {
154
196
  @include flex(flex-start, center, rem(8px));
155
197
  @include fontStyle(var(--fs-14), rem(20px), 400);
156
- color: var(--neutral-600);
198
+ color: var(--text-heading-primary);
157
199
  // --- Disabled (check & uncheck) ---
158
200
  input[type="checkbox"].custom_check_box,
159
201
  input[type="checkbox"].custom_check_box:checked {
160
202
  &[disabled] {
161
203
  cursor: default;
162
- background-color: var(--neutral-300);
163
- border-color: var(--neutral-300);
204
+ background-color: var(--text-body-muted);
205
+ border-color: var(--border-core-strong);
164
206
  & + span {
165
- color: var(--neutral-300);
207
+ color: var(--text-body-muted);
166
208
  }
167
209
  }
168
210
  }
@@ -173,7 +215,7 @@
173
215
  min-width: rem(16px);
174
216
  @include border();
175
217
  cursor: pointer;
176
- background-color: var(--white);
218
+ background-color: var(--surface-background-canvas);
177
219
  position: relative;
178
220
  transition: all 0.2s ease;
179
221
 
@@ -190,8 +232,8 @@
190
232
  }
191
233
  // --- Checked State ---
192
234
  &:checked {
193
- border-color: var(--blue-600);
194
- background-color: var(--blue-600);
235
+ border-color: var(--border-interaction-focus);
236
+ background-color: var(--surface-action-default);
195
237
  &::after {
196
238
  display: block;
197
239
  background-image: url("/images/check-white.svg");
@@ -200,8 +242,8 @@
200
242
  }
201
243
  // --- Indeterminate (minus) state ---
202
244
  &:indeterminate {
203
- border-color: var(--blue-600);
204
- background-color: var(--white);
245
+ border-color: var(--border-interaction-focus);
246
+ background-color: var(--surface-background-canvas);
205
247
  &::after {
206
248
  display: block;
207
249
  top: 0;
@@ -222,8 +264,8 @@
222
264
  @include border();
223
265
  padding: rem(10px) rem(12px);
224
266
  @include fontStyle(var(--fs-14), rem(20px));
225
- background-color: var(--white);
226
- color: var(--neutral-600);
267
+ background-color: var(--surface-background-canvas);
268
+ color: var(--text-heading-primary);
227
269
  cursor: pointer;
228
270
 
229
271
  .left_details {
@@ -244,7 +286,7 @@
244
286
  overflow: auto;
245
287
  position: absolute;
246
288
  z-index: 2;
247
- background: var(--white);
289
+ background: var(--surface-background-canvas);
248
290
  box-shadow: rem(0px) rem(12px) rem(16px) rem(-4px) var(--box-shadow);
249
291
  top: rem(40px);
250
292
 
@@ -262,9 +304,9 @@
262
304
  @include fontStyle(var(--fs-14), rem(20px));
263
305
  padding: rem(10px) rem(12px);
264
306
  cursor: pointer;
265
- color: var(--neutral-600);
307
+ color: var(--text-heading-primary);
266
308
  &:hover {
267
- background-color: var(--neutral-50);
309
+ background-color: var(--surface-background-default);
268
310
  }
269
311
  &.disabled_option {
270
312
  opacity: 0.3;
@@ -281,7 +323,7 @@
281
323
  @include box(100%, rem(40px));
282
324
  @include border();
283
325
  padding: rem(10px) rem(12px);
284
- background-color: var(--white);
326
+ background-color: var(--surface-background-canvas);
285
327
  @include flex(flex-start, center, rem(4px));
286
328
 
287
329
  img {
@@ -292,9 +334,9 @@
292
334
  @include box(100%, 100%);
293
335
  border: 0;
294
336
  @include fontStyle(var(--fs-14), rem(20px), 400);
295
- color: var(--neutral-600);
337
+ color: var(--text-heading-primary);
296
338
  &::placeholder {
297
- color: var(--neutral-500);
339
+ color: var(--text-heading-secondary);
298
340
  }
299
341
  }
300
342
  }
@@ -312,7 +354,7 @@
312
354
  .slider {
313
355
  position: absolute;
314
356
  cursor: pointer;
315
- background-color: var(--neutral-100);
357
+ background-color: var(--surface-background-subtle);
316
358
  border-radius: rem(16px);
317
359
  inset: 0;
318
360
  transition: 0.3s;
@@ -322,7 +364,7 @@
322
364
  @include box(rem(12px), rem(12px));
323
365
  left: rem(2px);
324
366
  bottom: rem(2px);
325
- background-color: var(--white);
367
+ background-color: var(--surface-background-canvas);
326
368
  border-radius: 50%;
327
369
  transition: 0.3s;
328
370
  box-shadow: 0 rem(0.8px) rem(2.4px) 0 var(--box-shadow);
@@ -330,14 +372,14 @@
330
372
  }
331
373
 
332
374
  input:checked + .slider {
333
- background-color: var(--blue-600);
375
+ background-color: var(--surface-action-default);
334
376
  &:before {
335
377
  transform: translateX(rem(12px));
336
378
  }
337
379
  }
338
380
  }
339
381
  }
340
- .tableArea.big {
382
+ .cats-tableArea.large {
341
383
  .table_wrapper {
342
384
  table {
343
385
  tbody {
@@ -363,13 +405,22 @@
363
405
  }
364
406
  }
365
407
 
366
- .text-primary {
367
- color: var(--blue-600);
408
+ .cats-text-primary {
409
+ color: var(--text-link-default);
410
+ }
411
+ .cats-text-danger {
412
+ color: var(--semantics-error-default);
368
413
  }
369
- .text-danger {
370
- color: var(--red) !important;
414
+ //---------------Text Trunctae CSS -----------
415
+
416
+ .ellipsis,
417
+ .textTruncate {
418
+ white-space: nowrap;
419
+ overflow: hidden;
420
+ text-overflow: ellipsis;
421
+ /* max-width: rem(200px); */
371
422
  }
372
423
 
373
424
  .tooltip-trigger {
374
425
  cursor: default;
375
- }
426
+ }
@@ -62,7 +62,7 @@ $ultraWideDesktop: 1919px;
62
62
  @mixin border(
63
63
  $width: rem(1px),
64
64
  $style: solid,
65
- $color: var(--neutral-200),
65
+ $color: var(--border-core-default),
66
66
  $radius: rem(4px)
67
67
  ) {
68
68
  border: $width $style $color;
@@ -85,3 +85,16 @@ $ultraWideDesktop: 1919px;
85
85
  }
86
86
  }
87
87
  }
88
+ $base-color: #f4f4f4;
89
+ $shine-color: rgba(229, 229, 229, 0.8);
90
+ $animation-duration: 2s;
91
+ $avatar-offset: 52 + 16;
92
+ @mixin background-gradient {
93
+ background-image: linear-gradient(
94
+ 90deg,
95
+ $base-color 0px,
96
+ $shine-color 40px,
97
+ $base-color 80px
98
+ );
99
+ background-size: 600px;
100
+ }