@yuuvis/client-components 3.0.1 → 3.2.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.
Files changed (33) hide show
  1. package/charts/README.md +64 -0
  2. package/fesm2022/yuuvis-client-components-autocomplete.mjs +7 -7
  3. package/fesm2022/yuuvis-client-components-autocomplete.mjs.map +1 -1
  4. package/fesm2022/yuuvis-client-components-charts.mjs +206 -0
  5. package/fesm2022/yuuvis-client-components-charts.mjs.map +1 -0
  6. package/fesm2022/yuuvis-client-components-common.mjs +154 -145
  7. package/fesm2022/yuuvis-client-components-common.mjs.map +1 -1
  8. package/fesm2022/yuuvis-client-components-datepicker.mjs +13 -13
  9. package/fesm2022/yuuvis-client-components-datepicker.mjs.map +1 -1
  10. package/fesm2022/yuuvis-client-components-list.mjs +21 -21
  11. package/fesm2022/yuuvis-client-components-list.mjs.map +1 -1
  12. package/fesm2022/yuuvis-client-components-master-details.mjs +7 -7
  13. package/fesm2022/yuuvis-client-components-master-details.mjs.map +1 -1
  14. package/fesm2022/yuuvis-client-components-overflow-hidden.mjs +7 -7
  15. package/fesm2022/yuuvis-client-components-overflow-hidden.mjs.map +1 -1
  16. package/fesm2022/yuuvis-client-components-overflow-menu.mjs +7 -7
  17. package/fesm2022/yuuvis-client-components-overflow-menu.mjs.map +1 -1
  18. package/fesm2022/yuuvis-client-components-popout.mjs +10 -10
  19. package/fesm2022/yuuvis-client-components-popout.mjs.map +1 -1
  20. package/fesm2022/yuuvis-client-components-split-view.mjs +13 -13
  21. package/fesm2022/yuuvis-client-components-split-view.mjs.map +1 -1
  22. package/fesm2022/yuuvis-client-components-table-grid.mjs +108 -0
  23. package/fesm2022/yuuvis-client-components-table-grid.mjs.map +1 -0
  24. package/fesm2022/yuuvis-client-components-widget-grid.mjs +28 -28
  25. package/fesm2022/yuuvis-client-components-widget-grid.mjs.map +1 -1
  26. package/fesm2022/yuuvis-client-components.mjs +3 -3
  27. package/fesm2022/yuuvis-client-components.mjs.map +1 -1
  28. package/package.json +20 -2
  29. package/table-grid/README.md +90 -0
  30. package/types/yuuvis-client-components-charts.d.ts +47 -0
  31. package/types/yuuvis-client-components-common.d.ts +6 -6
  32. package/types/yuuvis-client-components-list.d.ts +8 -8
  33. package/types/yuuvis-client-components-table-grid.d.ts +60 -0
@@ -0,0 +1,47 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { AgChartOptions, AgChartTheme } from 'ag-charts-community';
3
+
4
+ /**
5
+ * Wrapper component around AG Charts that automatically applies the
6
+ * application's chart theme based on the current UI theme (light, dark,
7
+ * high-contrast). Consumers provide standard AG Charts options and may
8
+ * optionally override the theme.
9
+ *
10
+ * @example
11
+ * ```html
12
+ * <yuv-chart [options]="chartOptions" />
13
+ * ```
14
+ */
15
+ declare class YuvChartComponent {
16
+ private readonly themeService;
17
+ /** AG Charts configuration (data, series, axes, etc.). */
18
+ readonly options: _angular_core.InputSignal<AgChartOptions>;
19
+ /**
20
+ * Optional theme override. When provided, takes precedence over the
21
+ * theme resolved by {@link YuvChartThemeService} from the current UI mode.
22
+ */
23
+ readonly theme: _angular_core.InputSignal<string | AgChartTheme | undefined>;
24
+ /**
25
+ * Final options passed to AG Charts: the user-supplied {@link options}
26
+ * merged with either the explicit {@link theme} input or the theme
27
+ * derived from the active UI mode.
28
+ */
29
+ protected readonly mergedOptions: _angular_core.Signal<AgChartOptions>;
30
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuvChartComponent, never>;
31
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuvChartComponent, "yuv-chart", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
32
+ }
33
+
34
+ declare class YuvChartThemeService {
35
+ #private;
36
+ readonly chartTheme: _angular_core.Signal<AgChartTheme>;
37
+ constructor();
38
+ refresh(): void;
39
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuvChartThemeService, never>;
40
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<YuvChartThemeService>;
41
+ }
42
+
43
+ type YuvChartOptions = AgChartOptions;
44
+ type YuvChartMode = 'light' | 'dark' | 'high-contrast';
45
+
46
+ export { YuvChartComponent, YuvChartThemeService };
47
+ export type { YuvChartMode, YuvChartOptions };
@@ -215,6 +215,12 @@ interface DragSelectOptions {
215
215
  disabled?: boolean;
216
216
  selectorColor?: string;
217
217
  }
218
+ declare class DragSelectItemDirective {
219
+ #private;
220
+ el: HTMLElement;
221
+ static ɵfac: i0.ɵɵFactoryDeclaration<DragSelectItemDirective, never>;
222
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DragSelectItemDirective, "[yuvDragSelectItem]", never, {}, {}, never, never, true, never>;
223
+ }
218
224
  declare class DragSelectDirective {
219
225
  #private;
220
226
  onPointerDown(event: PointerEvent): void;
@@ -225,12 +231,6 @@ declare class DragSelectDirective {
225
231
  static ɵfac: i0.ɵɵFactoryDeclaration<DragSelectDirective, never>;
226
232
  static ɵdir: i0.ɵɵDirectiveDeclaration<DragSelectDirective, "[yuvDragSelect]", never, { "yuvDragSelect": { "alias": "yuvDragSelect"; "required": false; "isSignal": true; }; }, { "dragSelectChange": "dragSelectChange"; "dragSelect": "dragSelect"; }, ["items"], never, true, never>;
227
233
  }
228
- declare class DragSelectItemDirective {
229
- #private;
230
- el: HTMLElement;
231
- static ɵfac: i0.ɵɵFactoryDeclaration<DragSelectItemDirective, never>;
232
- static ɵdir: i0.ɵɵDirectiveDeclaration<DragSelectItemDirective, "[yuvDragSelectItem]", never, {}, {}, never, never, true, never>;
233
- }
234
234
 
235
235
  /**
236
236
  * Directive for adding drag scroll behaviour to a container element. Elements that overlow will then
@@ -359,14 +359,14 @@ declare class ListComponent implements OnDestroy {
359
359
  }
360
360
 
361
361
  declare class ListTileComponent {
362
- iconSlot: _angular_core.Signal<TemplateRef<any> | undefined>;
363
- titleSlot: _angular_core.Signal<TemplateRef<any> | undefined>;
364
- descriptionSlot: _angular_core.Signal<TemplateRef<any> | undefined>;
365
- asideSlot: _angular_core.Signal<TemplateRef<any> | undefined>;
366
- actionsSlot: _angular_core.Signal<TemplateRef<any> | undefined>;
367
- badgesSlot: _angular_core.Signal<TemplateRef<any> | undefined>;
368
- metaSlot: _angular_core.Signal<TemplateRef<any> | undefined>;
369
- extensionSlot: _angular_core.Signal<TemplateRef<any> | undefined>;
362
+ iconSlot: _angular_core.Signal<TemplateRef<unknown> | undefined>;
363
+ titleSlot: _angular_core.Signal<TemplateRef<unknown> | undefined>;
364
+ descriptionSlot: _angular_core.Signal<TemplateRef<unknown> | undefined>;
365
+ asideSlot: _angular_core.Signal<TemplateRef<unknown> | undefined>;
366
+ actionsSlot: _angular_core.Signal<TemplateRef<unknown> | undefined>;
367
+ badgesSlot: _angular_core.Signal<TemplateRef<unknown> | undefined>;
368
+ metaSlot: _angular_core.Signal<TemplateRef<unknown> | undefined>;
369
+ extensionSlot: _angular_core.Signal<TemplateRef<unknown> | undefined>;
370
370
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListTileComponent, never>;
371
371
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListTileComponent, "yuv-list-tile", never, {}, {}, ["iconSlot", "titleSlot", "descriptionSlot", "asideSlot", "actionsSlot", "badgesSlot", "metaSlot", "extensionSlot"], ["*"], true, never>;
372
372
  }
@@ -0,0 +1,60 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { AgGridAngular } from 'ag-grid-angular';
3
+ import { ColDef, ColGroupDef, GridOptions, Theme, GridReadyEvent, SelectionChangedEvent, RowClickedEvent, RowDoubleClickedEvent, CellClickedEvent, SortChangedEvent, FilterChangedEvent } from 'ag-grid-community';
4
+ export { CellClickedEvent, ColDef, ColGroupDef, FilterChangedEvent, GridApi, GridOptions, GridReadyEvent, RowClickedEvent, RowDoubleClickedEvent, SelectionChangedEvent, SortChangedEvent, Theme } from 'ag-grid-community';
5
+
6
+ /**
7
+ * Thin Angular wrapper around {@link AgGridAngular} that provides a yuuvis-themed
8
+ * data grid with a consistent host class and pre-applied default theme.
9
+ *
10
+ * Inputs are forwarded to the underlying AG Grid instance, and the most common
11
+ * grid events are re-emitted as Angular outputs. Consumers that need access to
12
+ * the raw grid API can read the {@link grid} view child.
13
+ *
14
+ * @typeParam TData - Row data type rendered by the grid.
15
+ *
16
+ * @example
17
+ * ```html
18
+ * <yuv-table-grid
19
+ * [rowData]="rows()"
20
+ * [columnDefs]="columns"
21
+ * (rowClicked)="onRowClicked($event)">
22
+ * </yuv-table-grid>
23
+ * ```
24
+ */
25
+ declare class YuvTableGridComponent<TData = unknown> {
26
+ /** Row data rendered by the grid. `null` keeps the grid in its loading state. */
27
+ readonly rowData: _angular_core.InputSignal<TData[] | null>;
28
+ /** Column or column-group definitions describing the grid's structure. */
29
+ readonly columnDefs: _angular_core.InputSignal<(ColDef<TData, any> | ColGroupDef<TData>)[]>;
30
+ /** Additional AG Grid options merged with the component's defaults. */
31
+ readonly gridOptions: _angular_core.InputSignal<GridOptions<TData>>;
32
+ /** AG Grid theme applied to the grid; defaults to the yuuvis grid theme. */
33
+ readonly theme: _angular_core.InputSignal<Theme>;
34
+ /** Emitted once the grid has finished initializing and the API is available. */
35
+ readonly gridReady: _angular_core.OutputEmitterRef<GridReadyEvent<TData, any>>;
36
+ /** Emitted whenever the set of selected rows changes. */
37
+ readonly selectionChanged: _angular_core.OutputEmitterRef<SelectionChangedEvent<TData, any>>;
38
+ /** Emitted when a row is clicked. */
39
+ readonly rowClicked: _angular_core.OutputEmitterRef<RowClickedEvent<TData, any>>;
40
+ /** Emitted when a row is double-clicked. */
41
+ readonly rowDoubleClicked: _angular_core.OutputEmitterRef<RowDoubleClickedEvent<TData, any>>;
42
+ /** Emitted when a cell is clicked. */
43
+ readonly cellClicked: _angular_core.OutputEmitterRef<CellClickedEvent<TData, any, any>>;
44
+ /** Emitted when the grid's sort state changes. */
45
+ readonly sortChanged: _angular_core.OutputEmitterRef<SortChangedEvent<TData, any>>;
46
+ /** Emitted when the grid's filter state changes. */
47
+ readonly filterChanged: _angular_core.OutputEmitterRef<FilterChangedEvent<TData, any>>;
48
+ /** Reference to the underlying AG Grid Angular instance for direct API access. */
49
+ readonly grid: _angular_core.Signal<AgGridAngular<any, any>>;
50
+ constructor();
51
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuvTableGridComponent<any>, never>;
52
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuvTableGridComponent<any>, "yuv-table-grid", never, { "rowData": { "alias": "rowData"; "required": false; "isSignal": true; }; "columnDefs": { "alias": "columnDefs"; "required": false; "isSignal": true; }; "gridOptions": { "alias": "gridOptions"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; }, { "gridReady": "gridReady"; "selectionChanged": "selectionChanged"; "rowClicked": "rowClicked"; "rowDoubleClicked": "rowDoubleClicked"; "cellClicked": "cellClicked"; "sortChanged": "sortChanged"; "filterChanged": "filterChanged"; }, never, never, true, never>;
53
+ }
54
+
55
+ declare const yuuvisTableGridTheme: Theme;
56
+ type YuuvisTableGridThemeOverrides = Record<string, unknown>;
57
+ declare function buildYuuvisTableGridTheme(overrides?: YuuvisTableGridThemeOverrides): Theme;
58
+
59
+ export { YuvTableGridComponent, buildYuuvisTableGridTheme, yuuvisTableGridTheme };
60
+ export type { YuuvisTableGridThemeOverrides };