@yuuvis/client-framework 2.16.0 → 2.18.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yuuvis/client-framework",
3
- "version": "2.16.0",
3
+ "version": "2.18.0",
4
4
  "author": "OPTIMAL SYSTEMS GmbH <npm@optimal-systems.de>",
5
5
  "license": "MIT",
6
6
  "peerDependencies": {
@@ -8,15 +8,15 @@
8
8
  "@angular/common": "^19.2.1",
9
9
  "@angular/core": "^19.2.1",
10
10
  "angular-gridster2": "^19.0.0",
11
- "@yuuvis/client-core": "^2.16.0",
12
- "@yuuvis/client-shell-core": "^2.16.0",
11
+ "@yuuvis/client-core": "^2.18.0",
12
+ "@yuuvis/client-shell-core": "^2.18.0",
13
13
  "ng-dynamic-component": "^10.8.2",
14
14
  "modern-normalize": "^3.0.1"
15
15
  },
16
16
  "dependencies": {
17
17
  "@angular/material": "^19.2.15",
18
18
  "@ngrx/signals": "^19.2.0",
19
- "@yuuvis/material": "2.16.0",
19
+ "@yuuvis/material": "2.18.0",
20
20
  "@yuuvis/media-viewer": "^2.2.0",
21
21
  "angular-split": "^19.0.0",
22
22
  "vis-network": "^10.0.2",
@@ -152,6 +152,10 @@
152
152
  "types": "./tile-list/index.d.ts",
153
153
  "default": "./fesm2022/yuuvis-client-framework-tile-list.mjs"
154
154
  },
155
+ "./token-search": {
156
+ "types": "./token-search/index.d.ts",
157
+ "default": "./fesm2022/yuuvis-client-framework-token-search.mjs"
158
+ },
155
159
  "./tree": {
156
160
  "types": "./tree/index.d.ts",
157
161
  "default": "./fesm2022/yuuvis-client-framework-tree.mjs"
@@ -0,0 +1,3 @@
1
+ # token-search
2
+
3
+ Token-based search component for yuuvis client framework.
@@ -0,0 +1,3 @@
1
+ export * from './lib/token-search.component';
2
+ export * from './lib/token-search.interface';
3
+ export * from './lib/token-search.module';
@@ -0,0 +1,35 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
4
+ import { GenericObjectType } from '@yuuvis/client-core';
5
+ import { BuildStep, SearchToken, SuggestionItem } from './token-search.interface';
6
+ import * as i0 from "@angular/core";
7
+ export declare class TokenSearchComponent {
8
+ #private;
9
+ types: import("@angular/core").InputSignal<string[]>;
10
+ queryChange: import("@angular/core").OutputEmitterRef<string>;
11
+ searchCtrl: FormControl<string | null>;
12
+ searchInput: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
13
+ tokens: import("@angular/core").WritableSignal<SearchToken[]>;
14
+ step: import("@angular/core").WritableSignal<BuildStep>;
15
+ inputTerm: import("@angular/core").WritableSignal<string>;
16
+ /** Pending state for the group currently being built (not yet committed) */
17
+ pendingTypeId: import("@angular/core").WritableSignal<string | null>;
18
+ pendingTypeLabel: import("@angular/core").WritableSignal<string>;
19
+ pendingTypeIsSot: import("@angular/core").WritableSignal<boolean>;
20
+ pendingField: import("@angular/core").WritableSignal<SuggestionItem | null>;
21
+ pendingOperator: import("@angular/core").WritableSignal<SuggestionItem | null>;
22
+ objectTypes: import("@angular/core").Signal<GenericObjectType[]>;
23
+ placeholderText: import("@angular/core").Signal<string>;
24
+ suggestions: import("@angular/core").Signal<SuggestionItem[]>;
25
+ cmisQuery: import("@angular/core").Signal<string>;
26
+ constructor();
27
+ displayFn: () => string;
28
+ onSuggestionSelected(event: MatAutocompleteSelectedEvent): void;
29
+ onKeydown(event: KeyboardEvent): void;
30
+ onTokenClick(index: number): void;
31
+ removeTokenGroup(index: number): void;
32
+ onBarClick(event: MouseEvent): void;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<TokenSearchComponent, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<TokenSearchComponent, "yuv-token-search", never, { "types": { "alias": "types"; "required": false; "isSignal": true; }; }, { "queryChange": "queryChange"; }, never, never, true, never>;
35
+ }
@@ -0,0 +1,27 @@
1
+ export type TokenKind = 'type' | 'field' | 'operator' | 'value' | 'combinator';
2
+ export interface SearchToken {
3
+ kind: TokenKind;
4
+ /** Unique per-token id for tracking */
5
+ uid: string;
6
+ /** Machine-readable value: typeId, fieldId, operator key, literal value, 'AND'|'OR' */
7
+ id: string;
8
+ /** Human-readable display text */
9
+ label: string;
10
+ /** For field/operator/value tokens: which type they belong to */
11
+ typeId?: string;
12
+ /** For field tokens: the propertyType (string, integer, datetime, boolean) */
13
+ fieldType?: string;
14
+ /** Whether this type token represents a secondary object type */
15
+ isSot?: boolean;
16
+ /** For value tokens: the operator that precedes them */
17
+ operator?: string;
18
+ }
19
+ export type Combinator = 'AND' | 'OR';
20
+ export type BuildStep = 'type' | 'field' | 'operator' | 'value';
21
+ export interface SuggestionItem {
22
+ kind: 'type' | 'field' | 'operator' | 'date-preset';
23
+ id: string;
24
+ label: string;
25
+ fieldType?: string;
26
+ operator?: string;
27
+ }
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./token-search.component";
3
+ export declare class YuvTokenSearchModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<YuvTokenSearchModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<YuvTokenSearchModule, never, [typeof i1.TokenSearchComponent], [typeof i1.TokenSearchComponent]>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<YuvTokenSearchModule>;
7
+ }
@@ -43,7 +43,7 @@ export interface WidgetGridConfig {
43
43
  gap?: number;
44
44
  newItemWidth?: number;
45
45
  newItemHeight?: number;
46
- gridType: GridType;
46
+ gridType?: GridType;
47
47
  }
48
48
  export interface WidgetPickerOptions {
49
49
  pickerData?: WidgetPickerData;