yukit-web 0.0.22 → 0.0.23

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,7 +1,7 @@
1
1
  {
2
2
  "name": "yukit-web",
3
3
  "description": "Angular UI component library for Yurest web applications.",
4
- "version": "0.0.22",
4
+ "version": "0.0.23",
5
5
  "author": {
6
6
  "name": "Yurest Solutions",
7
7
  "email": "develop@yurest.com"
@@ -3,6 +3,7 @@
3
3
  --yuw-accent-foreground: var(--neutrals-white);
4
4
  --secondary: var(--sidebar-accent);
5
5
  --secondary-foreground: var(--sidebar-accent-foreground);
6
+ --yuw-callout-bg: var(--accent-primary-lighter-2);
6
7
  }
7
8
 
8
9
  [data-yuw-color='primary'] button.bg-primary:not(:disabled) {
@@ -19,6 +20,7 @@
19
20
  --yuw-accent-foreground: var(--background);
20
21
  --secondary: var(--neutrals-element-low);
21
22
  --secondary-foreground: var(--neutrals-overlay-accent);
23
+ --yuw-callout-bg: var(--neutrals-overlay);
22
24
  }
23
25
 
24
26
  [data-yuw-color='secondary'] button.bg-primary:not(:disabled) {
@@ -35,6 +37,7 @@
35
37
  --yuw-accent-foreground: var(--neutrals-white);
36
38
  --secondary: var(--feedback-error-light);
37
39
  --secondary-foreground: var(--neutrals-surface);
40
+ --yuw-callout-bg: var(--feedback-error-lighter-2);
38
41
  }
39
42
 
40
43
  [data-yuw-color='destructive'] button.bg-primary:not(:disabled):hover {
@@ -46,6 +49,7 @@
46
49
  --yuw-accent-foreground: var(--neutrals-white);
47
50
  --secondary: var(--feedback-success-light);
48
51
  --secondary-foreground: var(--neutrals-surface);
52
+ --yuw-callout-bg: var(--feedback-success-lighter-2);
49
53
  }
50
54
 
51
55
  [data-yuw-color='success'] button.bg-primary:not(:disabled):hover {
@@ -57,6 +61,7 @@
57
61
  --yuw-accent-foreground: var(--neutrals-white);
58
62
  --secondary: var(--feedback-warning-light);
59
63
  --secondary-foreground: var(--neutrals-surface);
64
+ --yuw-callout-bg: var(--feedback-warning-lighter-2);
60
65
  }
61
66
 
62
67
  [data-yuw-color='warning'] button.bg-primary:not(:disabled):hover {
@@ -68,6 +73,7 @@
68
73
  --yuw-accent-foreground: var(--neutrals-white);
69
74
  --secondary: var(--feedback-info-light);
70
75
  --secondary-foreground: var(--neutrals-surface);
76
+ --yuw-callout-bg: var(--feedback-info-lighter-2);
71
77
  }
72
78
 
73
79
  [data-yuw-color='info'] button.bg-primary:not(:disabled):hover {
@@ -79,6 +85,7 @@
79
85
  --yuw-accent-foreground: var(--neutrals-white);
80
86
  --secondary: var(--feedback-additional-light);
81
87
  --secondary-foreground: var(--neutrals-surface);
88
+ --yuw-callout-bg: var(--feedback-additional-lighter-2);
82
89
  }
83
90
 
84
91
  [data-yuw-color='violet'] button.bg-primary:not(:disabled):hover {
@@ -90,6 +97,7 @@
90
97
  --yuw-accent-foreground: var(--neutrals-white);
91
98
  --secondary: var(--neutrals-overlay);
92
99
  --secondary-foreground: var(--neutrals-element-mid);
100
+ --yuw-callout-bg: var(--neutrals-overlay);
93
101
  }
94
102
 
95
103
  [data-yuw-color='muted'] button.bg-primary:not(:disabled):hover {
@@ -126,42 +134,49 @@
126
134
  --yuw-accent: var(--accent-primary-dark);
127
135
  --secondary: var(--sidebar-accent);
128
136
  --secondary-foreground: var(--sidebar-accent-foreground);
137
+ --yuw-callout-bg: var(--accent-primary-lighter-2);
129
138
  }
130
139
 
131
140
  .dark [data-yuw-color='secondary'] {
132
141
  --secondary: var(--neutrals-element-low);
133
142
  --secondary-foreground: var(--neutrals-overlay-accent);
134
143
  --input: color-mix(in oklab, var(--yuw-accent) 40%, transparent);
144
+ --yuw-callout-bg: var(--neutrals-overlay);
135
145
  }
136
146
 
137
147
  .dark [data-yuw-color='destructive'] {
138
148
  --yuw-accent: var(--feedback-error-dark);
139
149
  --secondary: var(--feedback-error-lighter-2);
140
150
  --secondary-foreground: var(--neutrals-white);
151
+ --yuw-callout-bg: var(--feedback-error-lighter-2);
141
152
  }
142
153
 
143
154
  .dark [data-yuw-color='success'] {
144
155
  --yuw-accent: var(--feedback-success-dark);
145
156
  --secondary: var(--feedback-success-lighter-2);
146
157
  --secondary-foreground: var(--neutrals-white);
158
+ --yuw-callout-bg: var(--feedback-success-lighter-2);
147
159
  }
148
160
 
149
161
  .dark [data-yuw-color='warning'] {
150
162
  --yuw-accent: var(--feedback-warning-dark);
151
163
  --secondary: var(--feedback-warning-lighter-2);
152
164
  --secondary-foreground: var(--neutrals-white);
165
+ --yuw-callout-bg: var(--feedback-warning-lighter-2);
153
166
  }
154
167
 
155
168
  .dark [data-yuw-color='info'] {
156
169
  --yuw-accent: var(--feedback-info-dark);
157
170
  --secondary: var(--feedback-info-lighter-2);
158
171
  --secondary-foreground: var(--neutrals-white);
172
+ --yuw-callout-bg: var(--feedback-info-lighter-2);
159
173
  }
160
174
 
161
175
  .dark [data-yuw-color='violet'] {
162
176
  --yuw-accent-foreground: var(--neutrals-white);
163
177
  --secondary: var(--feedback-additional-dark);
164
178
  --secondary-foreground: var(--neutrals-white);
179
+ --yuw-callout-bg: var(--feedback-additional-lighter-2);
165
180
  }
166
181
 
167
182
  .dark [data-yuw-color] button.bg-background:not(:disabled):hover {
@@ -1879,10 +1879,17 @@ type YuwDatatableRowClass<TData extends RowData> = string | ((row: TData, index:
1879
1879
  * - `columnVisibility`: Two-way column visibility state (`ColumnVisibilityState`).
1880
1880
  * - `rowSelection`: Two-way row selection state (`RowSelectionState`).
1881
1881
  * - `pagination`: Two-way pagination state (`PaginationState`). Default is `{ pageIndex: 0, pageSize: 10 }`.
1882
+ * - `totalItems`: Total row count across all pages, for server-side pagination where `data` holds
1883
+ * only the current page. When set, pagination becomes manual — TanStack stops slicing `data`
1884
+ * itself and `getPageCount()` is derived from this count instead of `data.length`. Leave unset
1885
+ * for the default client-side pagination, where `data` holds the whole dataset.
1882
1886
  *
1883
1887
  * Outputs:
1884
1888
  * - `selectedRowsChange`: Emits the selected row objects (`TData[]`) on selection changes. The
1885
1889
  * initial state does not emit — only actual changes after mount.
1890
+ * - `rowClicked`: Emits a row's data (`TData`) on click, Enter, or Space. Every body row carries
1891
+ * `role="button"` and `tabindex="0"` so it stays operable from the keyboard, not just the mouse,
1892
+ * even when nothing is listening.
1886
1893
  *
1887
1894
  * Usage:
1888
1895
  * ```html
@@ -1932,6 +1939,7 @@ declare class YuwDatatableComponent<TData extends RowData> implements OnInit {
1932
1939
  readonly sorting: _angular_core.ModelSignal<SortingState>;
1933
1940
  readonly summary: _angular_core.InputSignalWithTransform<boolean, unknown>;
1934
1941
  readonly tableClass: _angular_core.InputSignal<string | undefined>;
1942
+ readonly totalItems: _angular_core.InputSignal<number | undefined>;
1935
1943
  protected rowClicked: _angular_core.OutputEmitterRef<TData>;
1936
1944
  protected readonly _ariaSort: Record<'asc' | 'desc', 'ascending' | 'descending'>;
1937
1945
  private readonly _options;
@@ -1969,8 +1977,9 @@ declare class YuwDatatableComponent<TData extends RowData> implements OnInit {
1969
1977
  ngOnInit(): void;
1970
1978
  protected onPageChange(page: number): void;
1971
1979
  protected onRowClick(row: TData): void;
1980
+ protected onRowKeydown(event: KeyboardEvent, row: TData): void;
1972
1981
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwDatatableComponent<any>, never>;
1973
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwDatatableComponent<any>, "yuw-datatable", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "cellClass": { "alias": "cellClass"; "required": false; "isSignal": true; }; "columnFilters": { "alias": "columnFilters"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "columnVisibility": { "alias": "columnVisibility"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingRows": { "alias": "loadingRows"; "required": false; "isSignal": true; }; "nextPageLabel": { "alias": "nextPageLabel"; "required": true; "isSignal": true; }; "paginated": { "alias": "paginated"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; "paginationAriaLabel": { "alias": "paginationAriaLabel"; "required": true; "isSignal": true; }; "paginationEllipsisSrText": { "alias": "paginationEllipsisSrText"; "required": true; "isSignal": true; }; "previousPageLabel": { "alias": "previousPageLabel"; "required": true; "isSignal": true; }; "rowClass": { "alias": "rowClass"; "required": false; "isSignal": true; }; "rowSelection": { "alias": "rowSelection"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "sortable": { "alias": "sortable"; "required": false; "isSignal": true; }; "sorting": { "alias": "sorting"; "required": false; "isSignal": true; }; "summary": { "alias": "summary"; "required": false; "isSignal": true; }; "tableClass": { "alias": "tableClass"; "required": false; "isSignal": true; }; }, { "columnFilters": "columnFiltersChange"; "columnVisibility": "columnVisibilityChange"; "pagination": "paginationChange"; "rowSelection": "rowSelectionChange"; "sorting": "sortingChange"; "rowClicked": "rowClicked"; "selectedRowsChange": "selectedRowsChange"; }, ["customPagination"], ["[yuwDatatablePagination]"], true, never>;
1982
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwDatatableComponent<any>, "yuw-datatable", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "cellClass": { "alias": "cellClass"; "required": false; "isSignal": true; }; "columnFilters": { "alias": "columnFilters"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "columnVisibility": { "alias": "columnVisibility"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingRows": { "alias": "loadingRows"; "required": false; "isSignal": true; }; "nextPageLabel": { "alias": "nextPageLabel"; "required": true; "isSignal": true; }; "paginated": { "alias": "paginated"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; "paginationAriaLabel": { "alias": "paginationAriaLabel"; "required": true; "isSignal": true; }; "paginationEllipsisSrText": { "alias": "paginationEllipsisSrText"; "required": true; "isSignal": true; }; "previousPageLabel": { "alias": "previousPageLabel"; "required": true; "isSignal": true; }; "rowClass": { "alias": "rowClass"; "required": false; "isSignal": true; }; "rowSelection": { "alias": "rowSelection"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "sortable": { "alias": "sortable"; "required": false; "isSignal": true; }; "sorting": { "alias": "sorting"; "required": false; "isSignal": true; }; "summary": { "alias": "summary"; "required": false; "isSignal": true; }; "tableClass": { "alias": "tableClass"; "required": false; "isSignal": true; }; "totalItems": { "alias": "totalItems"; "required": false; "isSignal": true; }; }, { "columnFilters": "columnFiltersChange"; "columnVisibility": "columnVisibilityChange"; "pagination": "paginationChange"; "rowSelection": "rowSelectionChange"; "sorting": "sortingChange"; "rowClicked": "rowClicked"; "selectedRowsChange": "selectedRowsChange"; }, ["customPagination"], ["[yuwDatatablePagination]"], true, never>;
1974
1983
  }
1975
1984
 
1976
1985
  declare class YuwDatatableRowSelect {
@@ -2400,6 +2409,9 @@ type YuwAlertVariantDto = 'default' | 'destructive';
2400
2409
  *
2401
2410
  * Inputs:
2402
2411
  * - `variant`: Visual tone (`'default'`, `'destructive'`). Default is `'default'`.
2412
+ * - `color`: Shared color vocabulary (`YuwColorDto`, e.g. `'warning'`, `'info'`, `'destructive'`)
2413
+ * for a tinted callout — soft background, colored border, icon and title/border in the color's
2414
+ * strong tone. Leave unset for the plain `variant`-only look.
2403
2415
  * - `title`: Heading text. User-facing text the consuming app is responsible for translating.
2404
2416
  * Ignored when a `[yuwAlertTitle]` slot is projected.
2405
2417
  * - `description`: Body text. User-facing text the consuming app is responsible for translating.
@@ -2416,7 +2428,7 @@ type YuwAlertVariantDto = 'default' | 'destructive';
2416
2428
  *
2417
2429
  * Usage:
2418
2430
  * ```html
2419
- * <yuw-alert variant="destructive" title="Pago rechazado" description="Revisa los datos de la tarjeta.">
2431
+ * <yuw-alert color="warning" title="Pago pendiente" description="Revisa los datos de la tarjeta.">
2420
2432
  * <ng-icon yuwAlertIcon name="lucideTriangleAlert" />
2421
2433
  * <yuw-button yuwAlertAction size="sm" variant="ghost">Reintentar</yuw-button>
2422
2434
  * </yuw-alert>
@@ -2431,12 +2443,15 @@ declare class YuwAlertComponent {
2431
2443
  protected readonly descriptionSlot: _angular_core.Signal<YuwAlertDescriptionDirective | undefined>;
2432
2444
  protected readonly hasAction: _angular_core.Signal<YuwAlertActionDirective | undefined>;
2433
2445
  protected readonly titleSlot: _angular_core.Signal<YuwAlertTitleDirective | undefined>;
2446
+ readonly color: _angular_core.InputSignal<YuwColorDto | undefined>;
2434
2447
  readonly description: _angular_core.InputSignal<string | undefined>;
2435
2448
  readonly title: _angular_core.InputSignal<string | undefined>;
2436
2449
  readonly userClass: _angular_core.InputSignal<string>;
2437
2450
  readonly variant: _angular_core.InputSignal<YuwAlertVariantDto>;
2451
+ protected readonly alertClass: _angular_core.Signal<string>;
2452
+ protected readonly effectiveVariant: _angular_core.Signal<YuwAlertVariantDto>;
2438
2453
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuwAlertComponent, never>;
2439
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwAlertComponent, "yuw-alert", never, { "description": { "alias": "description"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, ["descriptionSlot", "hasAction", "titleSlot"], ["[yuwAlertIcon]", "[yuwAlertTitle]", "[yuwAlertDescription]", "*", "[yuwAlertAction]"], true, never>;
2454
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuwAlertComponent, "yuw-alert", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, ["descriptionSlot", "hasAction", "titleSlot"], ["[yuwAlertIcon]", "[yuwAlertTitle]", "[yuwAlertDescription]", "*", "[yuwAlertAction]"], true, never>;
2440
2455
  }
2441
2456
  declare const YuwAlertImports: readonly [typeof YuwAlertComponent, typeof YuwAlertActionDirective, typeof YuwAlertTitleDirective, typeof YuwAlertDescriptionDirective];
2442
2457