@devjuliovilla/jv-ui 1.14.0 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +1035 -1033
- package/fesm2022/devjuliovilla-jv-ui.mjs +3792 -3802
- package/fesm2022/devjuliovilla-jv-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/jv-theme.css +135 -135
- package/types/devjuliovilla-jv-ui.d.ts +13 -17
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devjuliovilla/jv-ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"description": "Accessibility-first Angular component library — components, forms, data grids, dialogs, layout, services, and i18n infrastructure built with signals and standalone APIs.",
|
|
5
5
|
"author": "@devjuliovilla",
|
|
6
6
|
"license": "MIT",
|
package/styles/jv-theme.css
CHANGED
|
@@ -1,135 +1,135 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
--jv-color-primary: #2563eb;
|
|
3
|
-
--jv-color-secondary: #475569;
|
|
4
|
-
--jv-color-success: #16a34a;
|
|
5
|
-
--jv-color-warning: #d97706;
|
|
6
|
-
--jv-color-danger: #dc2626;
|
|
7
|
-
--jv-color-info: #0891b2;
|
|
8
|
-
|
|
9
|
-
--jv-color-background: #f8fafc;
|
|
10
|
-
--jv-color-surface: #ffffff;
|
|
11
|
-
--jv-color-surface-muted: #f1f5f9;
|
|
12
|
-
--jv-color-border: #dbe3ef;
|
|
13
|
-
--jv-color-foreground: #0f172a;
|
|
14
|
-
--jv-color-foreground-muted: #475569;
|
|
15
|
-
|
|
16
|
-
--jv-spacing-xs: 0.25rem;
|
|
17
|
-
--jv-spacing-sm: 0.5rem;
|
|
18
|
-
--jv-spacing-md: 1rem;
|
|
19
|
-
--jv-spacing-lg: 1.5rem;
|
|
20
|
-
--jv-spacing-xl: 2rem;
|
|
21
|
-
|
|
22
|
-
--jv-radius-sm: 0.375rem;
|
|
23
|
-
--jv-radius-md: 0.75rem;
|
|
24
|
-
--jv-radius-lg: 1rem;
|
|
25
|
-
|
|
26
|
-
--jv-breakpoint-sm: 640px;
|
|
27
|
-
--jv-breakpoint-md: 768px;
|
|
28
|
-
--jv-breakpoint-lg: 1024px;
|
|
29
|
-
--jv-breakpoint-xl: 1280px;
|
|
30
|
-
|
|
31
|
-
--jv-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.08);
|
|
32
|
-
--jv-shadow-md: 0 10px 30px rgba(15, 23, 42, 0.08);
|
|
33
|
-
--jv-shadow-lg: 0 20px 40px rgba(15, 23, 42, 0.16);
|
|
34
|
-
|
|
35
|
-
--jv-density-control-height: 2.5rem;
|
|
36
|
-
--jv-density-padding-y: 0.75rem;
|
|
37
|
-
--jv-density-font-size: 0.95rem;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
html[data-theme='dark'] {
|
|
41
|
-
--jv-color-background: #020617;
|
|
42
|
-
--jv-color-surface: #0f172a;
|
|
43
|
-
--jv-color-surface-muted: #111c31;
|
|
44
|
-
--jv-color-border: #243244;
|
|
45
|
-
--jv-color-foreground: #e2e8f0;
|
|
46
|
-
--jv-color-foreground-muted: #94a3b8;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
html[data-theme='high-contrast'] {
|
|
50
|
-
--jv-color-primary: #00ffff;
|
|
51
|
-
--jv-color-secondary: #ffffff;
|
|
52
|
-
--jv-color-success: #00ff00;
|
|
53
|
-
--jv-color-warning: #ffff00;
|
|
54
|
-
--jv-color-danger: #ff4d4d;
|
|
55
|
-
--jv-color-info: #00ffff;
|
|
56
|
-
--jv-color-background: #000000;
|
|
57
|
-
--jv-color-surface: #000000;
|
|
58
|
-
--jv-color-surface-muted: #111111;
|
|
59
|
-
--jv-color-border: #ffffff;
|
|
60
|
-
--jv-color-foreground: #ffffff;
|
|
61
|
-
--jv-color-foreground-muted: #f5f5f5;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
html[data-density='compact'] {
|
|
65
|
-
--jv-density-control-height: 2rem;
|
|
66
|
-
--jv-density-padding-y: 0.5rem;
|
|
67
|
-
--jv-density-font-size: 0.875rem;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
html[data-density='comfortable'] {
|
|
71
|
-
--jv-density-control-height: 3rem;
|
|
72
|
-
--jv-density-padding-y: 0.95rem;
|
|
73
|
-
--jv-density-font-size: 1rem;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
html,
|
|
77
|
-
body {
|
|
78
|
-
min-height: 100%;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
body {
|
|
82
|
-
margin: 0;
|
|
83
|
-
background: var(--jv-color-background);
|
|
84
|
-
color: var(--jv-color-foreground);
|
|
85
|
-
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
86
|
-
font-size: var(--jv-density-font-size);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
*,
|
|
90
|
-
*::before,
|
|
91
|
-
*::after {
|
|
92
|
-
box-sizing: border-box;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
button,
|
|
96
|
-
input,
|
|
97
|
-
select,
|
|
98
|
-
textarea {
|
|
99
|
-
font: inherit;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
:focus-visible {
|
|
103
|
-
outline: 2px solid var(--jv-color-primary);
|
|
104
|
-
outline-offset: 2px;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
.sr-only,
|
|
108
|
-
.screen-reader-only {
|
|
109
|
-
position: absolute;
|
|
110
|
-
width: 1px;
|
|
111
|
-
height: 1px;
|
|
112
|
-
padding: 0;
|
|
113
|
-
margin: -1px;
|
|
114
|
-
overflow: hidden;
|
|
115
|
-
clip: rect(0, 0, 0, 0);
|
|
116
|
-
white-space: nowrap;
|
|
117
|
-
border: 0;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
.jv-icon {
|
|
121
|
-
display: inline-block;
|
|
122
|
-
vertical-align: middle;
|
|
123
|
-
flex: none;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
@media (prefers-reduced-motion: reduce) {
|
|
127
|
-
*,
|
|
128
|
-
*::before,
|
|
129
|
-
*::after {
|
|
130
|
-
animation-duration: 0.01ms !important;
|
|
131
|
-
animation-iteration-count: 1 !important;
|
|
132
|
-
scroll-behavior: auto !important;
|
|
133
|
-
transition-duration: 0.01ms !important;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
1
|
+
:root {
|
|
2
|
+
--jv-color-primary: #2563eb;
|
|
3
|
+
--jv-color-secondary: #475569;
|
|
4
|
+
--jv-color-success: #16a34a;
|
|
5
|
+
--jv-color-warning: #d97706;
|
|
6
|
+
--jv-color-danger: #dc2626;
|
|
7
|
+
--jv-color-info: #0891b2;
|
|
8
|
+
|
|
9
|
+
--jv-color-background: #f8fafc;
|
|
10
|
+
--jv-color-surface: #ffffff;
|
|
11
|
+
--jv-color-surface-muted: #f1f5f9;
|
|
12
|
+
--jv-color-border: #dbe3ef;
|
|
13
|
+
--jv-color-foreground: #0f172a;
|
|
14
|
+
--jv-color-foreground-muted: #475569;
|
|
15
|
+
|
|
16
|
+
--jv-spacing-xs: 0.25rem;
|
|
17
|
+
--jv-spacing-sm: 0.5rem;
|
|
18
|
+
--jv-spacing-md: 1rem;
|
|
19
|
+
--jv-spacing-lg: 1.5rem;
|
|
20
|
+
--jv-spacing-xl: 2rem;
|
|
21
|
+
|
|
22
|
+
--jv-radius-sm: 0.375rem;
|
|
23
|
+
--jv-radius-md: 0.75rem;
|
|
24
|
+
--jv-radius-lg: 1rem;
|
|
25
|
+
|
|
26
|
+
--jv-breakpoint-sm: 640px;
|
|
27
|
+
--jv-breakpoint-md: 768px;
|
|
28
|
+
--jv-breakpoint-lg: 1024px;
|
|
29
|
+
--jv-breakpoint-xl: 1280px;
|
|
30
|
+
|
|
31
|
+
--jv-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.08);
|
|
32
|
+
--jv-shadow-md: 0 10px 30px rgba(15, 23, 42, 0.08);
|
|
33
|
+
--jv-shadow-lg: 0 20px 40px rgba(15, 23, 42, 0.16);
|
|
34
|
+
|
|
35
|
+
--jv-density-control-height: 2.5rem;
|
|
36
|
+
--jv-density-padding-y: 0.75rem;
|
|
37
|
+
--jv-density-font-size: 0.95rem;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
html[data-theme='dark'] {
|
|
41
|
+
--jv-color-background: #020617;
|
|
42
|
+
--jv-color-surface: #0f172a;
|
|
43
|
+
--jv-color-surface-muted: #111c31;
|
|
44
|
+
--jv-color-border: #243244;
|
|
45
|
+
--jv-color-foreground: #e2e8f0;
|
|
46
|
+
--jv-color-foreground-muted: #94a3b8;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
html[data-theme='high-contrast'] {
|
|
50
|
+
--jv-color-primary: #00ffff;
|
|
51
|
+
--jv-color-secondary: #ffffff;
|
|
52
|
+
--jv-color-success: #00ff00;
|
|
53
|
+
--jv-color-warning: #ffff00;
|
|
54
|
+
--jv-color-danger: #ff4d4d;
|
|
55
|
+
--jv-color-info: #00ffff;
|
|
56
|
+
--jv-color-background: #000000;
|
|
57
|
+
--jv-color-surface: #000000;
|
|
58
|
+
--jv-color-surface-muted: #111111;
|
|
59
|
+
--jv-color-border: #ffffff;
|
|
60
|
+
--jv-color-foreground: #ffffff;
|
|
61
|
+
--jv-color-foreground-muted: #f5f5f5;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
html[data-density='compact'] {
|
|
65
|
+
--jv-density-control-height: 2rem;
|
|
66
|
+
--jv-density-padding-y: 0.5rem;
|
|
67
|
+
--jv-density-font-size: 0.875rem;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
html[data-density='comfortable'] {
|
|
71
|
+
--jv-density-control-height: 3rem;
|
|
72
|
+
--jv-density-padding-y: 0.95rem;
|
|
73
|
+
--jv-density-font-size: 1rem;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
html,
|
|
77
|
+
body {
|
|
78
|
+
min-height: 100%;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
body {
|
|
82
|
+
margin: 0;
|
|
83
|
+
background: var(--jv-color-background);
|
|
84
|
+
color: var(--jv-color-foreground);
|
|
85
|
+
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
86
|
+
font-size: var(--jv-density-font-size);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
*,
|
|
90
|
+
*::before,
|
|
91
|
+
*::after {
|
|
92
|
+
box-sizing: border-box;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
button,
|
|
96
|
+
input,
|
|
97
|
+
select,
|
|
98
|
+
textarea {
|
|
99
|
+
font: inherit;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
:focus-visible {
|
|
103
|
+
outline: 2px solid var(--jv-color-primary);
|
|
104
|
+
outline-offset: 2px;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.sr-only,
|
|
108
|
+
.screen-reader-only {
|
|
109
|
+
position: absolute;
|
|
110
|
+
width: 1px;
|
|
111
|
+
height: 1px;
|
|
112
|
+
padding: 0;
|
|
113
|
+
margin: -1px;
|
|
114
|
+
overflow: hidden;
|
|
115
|
+
clip: rect(0, 0, 0, 0);
|
|
116
|
+
white-space: nowrap;
|
|
117
|
+
border: 0;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.jv-icon {
|
|
121
|
+
display: inline-block;
|
|
122
|
+
vertical-align: middle;
|
|
123
|
+
flex: none;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
@media (prefers-reduced-motion: reduce) {
|
|
127
|
+
*,
|
|
128
|
+
*::before,
|
|
129
|
+
*::after {
|
|
130
|
+
animation-duration: 0.01ms !important;
|
|
131
|
+
animation-iteration-count: 1 !important;
|
|
132
|
+
scroll-behavior: auto !important;
|
|
133
|
+
transition-duration: 0.01ms !important;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
@@ -8,7 +8,7 @@ type JvIntent = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'succ
|
|
|
8
8
|
type JvTone = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'neutral';
|
|
9
9
|
|
|
10
10
|
declare class JvButtonComponent {
|
|
11
|
-
readonly type: _angular_core.InputSignal<"button" | "
|
|
11
|
+
readonly type: _angular_core.InputSignal<"button" | "submit" | "reset">;
|
|
12
12
|
readonly variant: _angular_core.InputSignal<JvIntent>;
|
|
13
13
|
readonly icon: _angular_core.InputSignal<string | null>;
|
|
14
14
|
readonly iconPosition: _angular_core.InputSignal<"start" | "end">;
|
|
@@ -55,14 +55,12 @@ declare class JvTranslationService {
|
|
|
55
55
|
|
|
56
56
|
declare class JvDayPlannerDetailDirective {
|
|
57
57
|
readonly templateRef: TemplateRef<JvDayPlannerDetailContext>;
|
|
58
|
-
constructor(templateRef: TemplateRef<JvDayPlannerDetailContext>);
|
|
59
58
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JvDayPlannerDetailDirective, never>;
|
|
60
59
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<JvDayPlannerDetailDirective, "ng-template[jvDayPlannerDetail]", never, {}, {}, never, never, true, never>;
|
|
61
60
|
}
|
|
62
61
|
|
|
63
62
|
declare class JvDayPlannerItemDirective {
|
|
64
63
|
readonly templateRef: TemplateRef<JvDayPlannerItemContext>;
|
|
65
|
-
constructor(templateRef: TemplateRef<JvDayPlannerItemContext>);
|
|
66
64
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JvDayPlannerItemDirective, never>;
|
|
67
65
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<JvDayPlannerItemDirective, "ng-template[jvDayPlannerItem]", never, {}, {}, never, never, true, never>;
|
|
68
66
|
}
|
|
@@ -149,7 +147,6 @@ interface JvModalSelectorOption<T = string> {
|
|
|
149
147
|
|
|
150
148
|
declare class JvMonthCalendarDayDirective {
|
|
151
149
|
readonly templateRef: TemplateRef<JvMonthCalendarDayContext>;
|
|
152
|
-
constructor(templateRef: TemplateRef<JvMonthCalendarDayContext>);
|
|
153
150
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JvMonthCalendarDayDirective, never>;
|
|
154
151
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<JvMonthCalendarDayDirective, "ng-template[jvMonthCalendarDay]", never, {}, {}, never, never, true, never>;
|
|
155
152
|
}
|
|
@@ -333,9 +330,8 @@ declare class JvSectionComponent {
|
|
|
333
330
|
}
|
|
334
331
|
|
|
335
332
|
declare class JvAccordionPanelDirective {
|
|
336
|
-
readonly templateRef: TemplateRef<unknown>;
|
|
337
333
|
readonly id: _angular_core.InputSignal<string>;
|
|
338
|
-
|
|
334
|
+
readonly templateRef: TemplateRef<unknown>;
|
|
339
335
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JvAccordionPanelDirective, never>;
|
|
340
336
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<JvAccordionPanelDirective, "ng-template[jvAccordionPanel]", never, { "id": { "alias": "jvAccordionPanel"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
341
337
|
}
|
|
@@ -571,7 +567,7 @@ declare class JvFormContainerComponent {
|
|
|
571
567
|
}
|
|
572
568
|
|
|
573
569
|
declare class JvInputComponent implements ControlValueAccessor {
|
|
574
|
-
readonly type: _angular_core.InputSignal<"number" | "
|
|
570
|
+
readonly type: _angular_core.InputSignal<"number" | "search" | "text" | "email" | "password">;
|
|
575
571
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
576
572
|
readonly required: _angular_core.InputSignal<boolean>;
|
|
577
573
|
readonly invalid: _angular_core.InputSignal<boolean>;
|
|
@@ -1226,7 +1222,7 @@ declare class JvListItemComponent {
|
|
|
1226
1222
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JvListItemComponent, "jv-list-item", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "leadingIcon": { "alias": "leadingIcon"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; }, { "activated": "activated"; }, never, ["[meta]"], true, never>;
|
|
1227
1223
|
}
|
|
1228
1224
|
|
|
1229
|
-
interface JvListItemModel<T =
|
|
1225
|
+
interface JvListItemModel<T = unknown> {
|
|
1230
1226
|
title: string;
|
|
1231
1227
|
description?: string;
|
|
1232
1228
|
value?: T;
|
|
@@ -1236,9 +1232,8 @@ interface JvListItemModel<T = any> {
|
|
|
1236
1232
|
}
|
|
1237
1233
|
|
|
1238
1234
|
declare class JvTabPanelDirective {
|
|
1239
|
-
readonly templateRef: TemplateRef<unknown>;
|
|
1240
1235
|
readonly id: _angular_core.InputSignal<string>;
|
|
1241
|
-
|
|
1236
|
+
readonly templateRef: TemplateRef<unknown>;
|
|
1242
1237
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JvTabPanelDirective, never>;
|
|
1243
1238
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<JvTabPanelDirective, "ng-template[jvTabPanel]", never, { "id": { "alias": "jvTabPanel"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1244
1239
|
}
|
|
@@ -1326,7 +1321,7 @@ interface JvGridSortState {
|
|
|
1326
1321
|
type JvGridColumnType = 'text' | 'integer' | 'number' | 'currency' | 'percent' | 'date' | 'time' | 'datetime' | 'boolean';
|
|
1327
1322
|
type JvGridEditType = 'text' | 'number' | 'date' | 'time' | 'datetime' | 'select' | 'boolean';
|
|
1328
1323
|
type JvGridColumnFormatOptions = Intl.NumberFormatOptions & Intl.DateTimeFormatOptions;
|
|
1329
|
-
interface JvGridColumn<T =
|
|
1324
|
+
interface JvGridColumn<T = unknown> {
|
|
1330
1325
|
key: keyof T | string;
|
|
1331
1326
|
header: string;
|
|
1332
1327
|
sortable?: boolean;
|
|
@@ -1353,7 +1348,7 @@ interface JvGridColumn<T = any> {
|
|
|
1353
1348
|
children?: JvGridColumn<T>[];
|
|
1354
1349
|
filterValue?: string;
|
|
1355
1350
|
}
|
|
1356
|
-
interface JvGridAction<T =
|
|
1351
|
+
interface JvGridAction<T = unknown> {
|
|
1357
1352
|
id: string;
|
|
1358
1353
|
label: string;
|
|
1359
1354
|
icon?: string;
|
|
@@ -1377,7 +1372,7 @@ interface JvGridOptions {
|
|
|
1377
1372
|
noResultsMessage?: string;
|
|
1378
1373
|
searchPlaceholder?: string;
|
|
1379
1374
|
ariaLabel?: string;
|
|
1380
|
-
trackBy?: JvGridTrackBy<
|
|
1375
|
+
trackBy?: JvGridTrackBy<unknown>;
|
|
1381
1376
|
serverSide?: boolean;
|
|
1382
1377
|
totalItems?: number;
|
|
1383
1378
|
stickyColumns?: boolean;
|
|
@@ -1404,7 +1399,7 @@ interface JvGridColumnResizeEvent {
|
|
|
1404
1399
|
columnKey: string;
|
|
1405
1400
|
width: string;
|
|
1406
1401
|
}
|
|
1407
|
-
interface JvGridRowEditEvent<T =
|
|
1402
|
+
interface JvGridRowEditEvent<T = unknown> {
|
|
1408
1403
|
row: T;
|
|
1409
1404
|
column: JvGridColumn<T>;
|
|
1410
1405
|
value: unknown;
|
|
@@ -1417,7 +1412,7 @@ interface JvGridColumnFilter {
|
|
|
1417
1412
|
}
|
|
1418
1413
|
declare const JV_GRID_DEFAULT_OPTIONS: JvGridOptions;
|
|
1419
1414
|
|
|
1420
|
-
declare class JvGridComponent<T =
|
|
1415
|
+
declare class JvGridComponent<T = unknown> {
|
|
1421
1416
|
private readonly gridId;
|
|
1422
1417
|
protected readonly gridSearchInputId: string;
|
|
1423
1418
|
private readonly destroyRef;
|
|
@@ -1462,7 +1457,7 @@ declare class JvGridComponent<T = any> {
|
|
|
1462
1457
|
noResultsMessage?: string;
|
|
1463
1458
|
searchPlaceholder?: string;
|
|
1464
1459
|
ariaLabel?: string;
|
|
1465
|
-
trackBy?: _devjuliovilla_jv_ui.JvGridTrackBy<
|
|
1460
|
+
trackBy?: _devjuliovilla_jv_ui.JvGridTrackBy<unknown>;
|
|
1466
1461
|
serverSide?: boolean;
|
|
1467
1462
|
totalItems?: number;
|
|
1468
1463
|
stickyColumns?: boolean;
|
|
@@ -1577,7 +1572,7 @@ declare class JvGridComponent<T = any> {
|
|
|
1577
1572
|
protected onRowDblClick(row: T): void;
|
|
1578
1573
|
protected onActionClick(action: JvGridAction<T>, row: T): void;
|
|
1579
1574
|
protected onColumnFilterChange(col: JvGridColumn<T>, value: string): void;
|
|
1580
|
-
protected getRowLabel(row: T,
|
|
1575
|
+
protected getRowLabel(row: T, _index: number): string;
|
|
1581
1576
|
protected startEdit(row: T, col: JvGridColumn<T>, event: Event): void;
|
|
1582
1577
|
protected commitEdit(row: T, col: JvGridColumn<T>, value: unknown): void;
|
|
1583
1578
|
protected commitEditFromKeyboard(event: Event, row: T, col: JvGridColumn<T>, value: unknown): void;
|
|
@@ -1607,6 +1602,7 @@ interface JvPaginationEvent {
|
|
|
1607
1602
|
pageSize: number;
|
|
1608
1603
|
}
|
|
1609
1604
|
declare class JvPaginationComponent {
|
|
1605
|
+
protected readonly pageSizeInputId: string;
|
|
1610
1606
|
private readonly translationService;
|
|
1611
1607
|
readonly totalItems: _angular_core.InputSignal<number>;
|
|
1612
1608
|
readonly pageSize: _angular_core.InputSignal<number>;
|