@devjuliovilla/jv-ui 1.5.1 → 1.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devjuliovilla/jv-ui",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.2",
|
|
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",
|
|
@@ -26,12 +26,16 @@
|
|
|
26
26
|
],
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"@angular/common": "^21.2.0",
|
|
29
|
-
"@angular/core": "^21.2.0"
|
|
29
|
+
"@angular/core": "^21.2.0",
|
|
30
|
+
"@angular/forms": "^21.2.0",
|
|
31
|
+
"@angular/router": "^21.2.0"
|
|
30
32
|
},
|
|
31
33
|
"dependencies": {
|
|
32
34
|
"tslib": "^2.3.0"
|
|
33
35
|
},
|
|
34
|
-
"sideEffects":
|
|
36
|
+
"sideEffects": [
|
|
37
|
+
"styles/**/*.css"
|
|
38
|
+
],
|
|
35
39
|
"module": "fesm2022/devjuliovilla-jv-ui.mjs",
|
|
36
40
|
"typings": "types/devjuliovilla-jv-ui.d.ts",
|
|
37
41
|
"exports": {
|
|
@@ -41,6 +45,9 @@
|
|
|
41
45
|
".": {
|
|
42
46
|
"types": "./types/devjuliovilla-jv-ui.d.ts",
|
|
43
47
|
"default": "./fesm2022/devjuliovilla-jv-ui.mjs"
|
|
48
|
+
},
|
|
49
|
+
"./styles/*": {
|
|
50
|
+
"default": "./styles/*"
|
|
44
51
|
}
|
|
45
52
|
},
|
|
46
53
|
"type": "module"
|
|
@@ -0,0 +1,130 @@
|
|
|
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-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.08);
|
|
27
|
+
--jv-shadow-md: 0 10px 30px rgba(15, 23, 42, 0.08);
|
|
28
|
+
--jv-shadow-lg: 0 20px 40px rgba(15, 23, 42, 0.16);
|
|
29
|
+
|
|
30
|
+
--jv-density-control-height: 2.5rem;
|
|
31
|
+
--jv-density-padding-y: 0.75rem;
|
|
32
|
+
--jv-density-font-size: 0.95rem;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
html[data-theme='dark'] {
|
|
36
|
+
--jv-color-background: #020617;
|
|
37
|
+
--jv-color-surface: #0f172a;
|
|
38
|
+
--jv-color-surface-muted: #111c31;
|
|
39
|
+
--jv-color-border: #243244;
|
|
40
|
+
--jv-color-foreground: #e2e8f0;
|
|
41
|
+
--jv-color-foreground-muted: #94a3b8;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
html[data-theme='high-contrast'] {
|
|
45
|
+
--jv-color-primary: #00ffff;
|
|
46
|
+
--jv-color-secondary: #ffffff;
|
|
47
|
+
--jv-color-success: #00ff00;
|
|
48
|
+
--jv-color-warning: #ffff00;
|
|
49
|
+
--jv-color-danger: #ff4d4d;
|
|
50
|
+
--jv-color-info: #00ffff;
|
|
51
|
+
--jv-color-background: #000000;
|
|
52
|
+
--jv-color-surface: #000000;
|
|
53
|
+
--jv-color-surface-muted: #111111;
|
|
54
|
+
--jv-color-border: #ffffff;
|
|
55
|
+
--jv-color-foreground: #ffffff;
|
|
56
|
+
--jv-color-foreground-muted: #f5f5f5;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
html[data-density='compact'] {
|
|
60
|
+
--jv-density-control-height: 2rem;
|
|
61
|
+
--jv-density-padding-y: 0.5rem;
|
|
62
|
+
--jv-density-font-size: 0.875rem;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
html[data-density='comfortable'] {
|
|
66
|
+
--jv-density-control-height: 3rem;
|
|
67
|
+
--jv-density-padding-y: 0.95rem;
|
|
68
|
+
--jv-density-font-size: 1rem;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
html,
|
|
72
|
+
body {
|
|
73
|
+
min-height: 100%;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
body {
|
|
77
|
+
margin: 0;
|
|
78
|
+
background: var(--jv-color-background);
|
|
79
|
+
color: var(--jv-color-foreground);
|
|
80
|
+
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
81
|
+
font-size: var(--jv-density-font-size);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
*,
|
|
85
|
+
*::before,
|
|
86
|
+
*::after {
|
|
87
|
+
box-sizing: border-box;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
button,
|
|
91
|
+
input,
|
|
92
|
+
select,
|
|
93
|
+
textarea {
|
|
94
|
+
font: inherit;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
:focus-visible {
|
|
98
|
+
outline: 2px solid var(--jv-color-primary);
|
|
99
|
+
outline-offset: 2px;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.sr-only,
|
|
103
|
+
.screen-reader-only {
|
|
104
|
+
position: absolute;
|
|
105
|
+
width: 1px;
|
|
106
|
+
height: 1px;
|
|
107
|
+
padding: 0;
|
|
108
|
+
margin: -1px;
|
|
109
|
+
overflow: hidden;
|
|
110
|
+
clip: rect(0, 0, 0, 0);
|
|
111
|
+
white-space: nowrap;
|
|
112
|
+
border: 0;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.jv-icon {
|
|
116
|
+
display: inline-block;
|
|
117
|
+
vertical-align: middle;
|
|
118
|
+
flex: none;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
@media (prefers-reduced-motion: reduce) {
|
|
122
|
+
*,
|
|
123
|
+
*::before,
|
|
124
|
+
*::after {
|
|
125
|
+
animation-duration: 0.01ms !important;
|
|
126
|
+
animation-iteration-count: 1 !important;
|
|
127
|
+
scroll-behavior: auto !important;
|
|
128
|
+
transition-duration: 0.01ms !important;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
@@ -359,11 +359,6 @@ declare class JvSwitchComponent implements ControlValueAccessor {
|
|
|
359
359
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JvSwitchComponent, "jv-switch", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "describedBy": { "alias": "describedBy"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
360
360
|
}
|
|
361
361
|
|
|
362
|
-
interface JvIconDefinition {
|
|
363
|
-
viewBox: string;
|
|
364
|
-
paths: string[];
|
|
365
|
-
}
|
|
366
|
-
|
|
367
362
|
declare class JvIconComponent {
|
|
368
363
|
private readonly warnedNames;
|
|
369
364
|
readonly name: _angular_core.InputSignal<string>;
|
|
@@ -372,11 +367,18 @@ declare class JvIconComponent {
|
|
|
372
367
|
readonly decorative: _angular_core.InputSignal<boolean>;
|
|
373
368
|
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
374
369
|
protected readonly normalizedName: _angular_core.Signal<string>;
|
|
375
|
-
protected readonly iconDefinition: _angular_core.Signal<JvIconDefinition>;
|
|
370
|
+
protected readonly iconDefinition: _angular_core.Signal<_devjuliovilla_jv_ui.JvIconDefinition>;
|
|
376
371
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JvIconComponent, never>;
|
|
377
372
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JvIconComponent, "jv-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "decorative": { "alias": "decorative"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
378
373
|
}
|
|
379
374
|
|
|
375
|
+
interface JvIconDefinition {
|
|
376
|
+
viewBox: string;
|
|
377
|
+
paths: string[];
|
|
378
|
+
}
|
|
379
|
+
declare const JV_FALLBACK_ICON_NAME = "circle-alert";
|
|
380
|
+
declare const JV_LUCIDE_ICON_REGISTRY: Record<string, JvIconDefinition>;
|
|
381
|
+
|
|
380
382
|
declare const JV_UI_CONFIG: InjectionToken<Partial<JvUiConfig>[]>;
|
|
381
383
|
declare const JV_UI_CONFIG_DEFAULTS: InjectionToken<JvUiConfig>;
|
|
382
384
|
declare function provideJvUi(config?: Partial<JvUiConfig>): _angular_core.EnvironmentProviders;
|
|
@@ -704,5 +706,5 @@ declare class JvGridComponent<T = any> {
|
|
|
704
706
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JvGridComponent<any>, "jv-grid", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; }, { "rowClick": "rowClick"; "actionClick": "actionClick"; "selectionChange": "selectionChange"; "pageChange": "pageChange"; "searchChange": "searchChange"; "sortChange": "sortChange"; }, never, never, true, never>;
|
|
705
707
|
}
|
|
706
708
|
|
|
707
|
-
export { EN, ES, JV_DEFAULT_LOCALE, JV_GRID_DEFAULT_OPTIONS, JV_LOCALE_DICTIONARIES, JV_UI_CONFIG, JV_UI_CONFIG_DEFAULTS, JV_UI_DEFAULT_CONFIG, JvAlertComponent, JvAnnouncementService, JvBadgeComponent, JvBreadcrumbComponent, JvButtonComponent, JvButtonGroupComponent, JvCardComponent, JvChangePasswordPageComponent, JvCheckboxComponent, JvConfirmDialogComponent, JvDashboardShellComponent, JvDialogComponent, JvDialogService, JvDividerComponent, JvForgotPasswordPageComponent, JvFormContainerComponent, JvGridComponent, JvIconButtonComponent, JvIconComponent, JvInputComponent, JvLoaderComponent, JvLoaderService, JvLoginPageComponent, JvPageComponent, JvRadioComponent, JvSectionComponent, JvSelectComponent, JvSidebarComponent, JvSwitchComponent, JvThemeService, JvToastComponent, JvToastService, JvTopbarComponent, JvTranslationService, provideJvUi };
|
|
708
|
-
export type { JvActiveConfirmDialog, JvBreadcrumbItem, JvChangePasswordSubmitEvent, JvConfirmOptions, JvDensity, JvForgotPasswordSubmitEvent, JvGridAction, JvGridColumn, JvGridOptions, JvGridPageEvent, JvGridRowId, JvGridSortDirection, JvGridSortState, JvGridTrackBy, JvIntent, JvLoaderState, JvLocale, JvLoginSubmitEvent, JvNavItem, JvSelectOption, JvTheme, JvThemeOption, JvToastItem, JvToastPosition, JvToastViewport, JvTone, JvTopbarAction, JvUiConfig };
|
|
709
|
+
export { EN, ES, JV_DEFAULT_LOCALE, JV_FALLBACK_ICON_NAME, JV_GRID_DEFAULT_OPTIONS, JV_LOCALE_DICTIONARIES, JV_LUCIDE_ICON_REGISTRY, JV_UI_CONFIG, JV_UI_CONFIG_DEFAULTS, JV_UI_DEFAULT_CONFIG, JvAlertComponent, JvAnnouncementService, JvBadgeComponent, JvBreadcrumbComponent, JvButtonComponent, JvButtonGroupComponent, JvCardComponent, JvChangePasswordPageComponent, JvCheckboxComponent, JvConfirmDialogComponent, JvDashboardShellComponent, JvDialogComponent, JvDialogService, JvDividerComponent, JvForgotPasswordPageComponent, JvFormContainerComponent, JvGridComponent, JvIconButtonComponent, JvIconComponent, JvInputComponent, JvLoaderComponent, JvLoaderService, JvLoginPageComponent, JvPageComponent, JvRadioComponent, JvSectionComponent, JvSelectComponent, JvSidebarComponent, JvSwitchComponent, JvThemeService, JvToastComponent, JvToastService, JvTopbarComponent, JvTranslationService, provideJvUi };
|
|
710
|
+
export type { JvActiveConfirmDialog, JvBreadcrumbItem, JvChangePasswordSubmitEvent, JvConfirmOptions, JvDensity, JvForgotPasswordSubmitEvent, JvGridAction, JvGridColumn, JvGridOptions, JvGridPageEvent, JvGridRowId, JvGridSortDirection, JvGridSortState, JvGridTrackBy, JvIconDefinition, JvIntent, JvLoaderState, JvLocale, JvLoginSubmitEvent, JvNavItem, JvSelectOption, JvTheme, JvThemeOption, JvToastItem, JvToastPosition, JvToastViewport, JvTone, JvTopbarAction, JvUiConfig };
|