import * as _angular_forms from '@angular/forms'; import { ControlValueAccessor, FormControl, Validator, FormGroup, ValidationErrors, AbstractControl } from '@angular/forms'; import * as _angular_core from '@angular/core'; import { OnInit, OnDestroy, ElementRef, WritableSignal, AfterViewInit } from '@angular/core'; import { AbstractMatFormField } from '@yuuvis/client-framework/common'; import { TranslateService, Situation, ObjectFormControl, RangeValue, Operator, LocaleNumberPipe, FileSizePipe, OrganizationSetEntry, DateRange, FilesizeRange, FormattedMailTo } from '@yuuvis/client-core'; import { MetadataFormFieldContext } from '@yuuvis/client-framework/metadata-form'; import { DatepickerComponent, DatepickerLabels } from '@yuuvis/client-framework/datepicker'; import { AutocompleteItem } from '@yuuvis/client-framework/autocomplete'; import { MatChipInputEvent, MatChipEditedEvent } from '@angular/material/chips'; declare class CatalogComponent extends AbstractMatFormField implements ControlValueAccessor, OnInit, OnDestroy { #private; readonly: _angular_core.InputSignal; multiple: _angular_core.InputSignal; _options: _angular_core.WritableSignal<{ label: string; value: string; }[]>; options: _angular_core.InputSignal; /** * Additional semantics for the form element. */ classifications: _angular_core.InputSignal; /** * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation * of the form element will be turned off, so you are able to enter search terms that do not * meet the elements validators. */ situation: _angular_core.InputSignal; ngControl: _angular_forms.NgControl | null; readonly formCtrl: FormControl; propagateChange: (_: any) => void; writeValue(value: string | string[]): void; registerOnChange(fn: any): void; registerOnTouched(): void; setDisabledState?(isDisabled: boolean): void; ngOnInit(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare enum DataGridSizeType { SMALL = "small", MEDIUM = "medium", LARGE = "large", XLARGE = "extra-large", AUTO = "auto" } declare class DataGridComponent implements ControlValueAccessor, Validator { #private; readonly translate: TranslateService; readonly el: ElementRef; situation: _angular_core.InputSignal; formElement: _angular_core.InputSignal | undefined>; mappedFormElement: _angular_core.WritableSignal | undefined>; formControl: _angular_core.InputSignal; classifications: _angular_core.InputSignal; readonly: _angular_core.InputSignal; formFieldContext: _angular_core.InputSignal; size: _angular_core.InputSignal; dataSource: _angular_core.WritableSignal; tableLabel: _angular_core.Signal; selectedRow: _angular_core.WritableSignal; isRequired: boolean; isInvalid: boolean; initalTableUpdate: boolean; icons: { add: any; more: any; }; displayedColumnsWithActions: _angular_core.WritableSignal; displayedColumns: _angular_core.WritableSignal; onMenuTrigger(element: unknown | null): void; editRow(element: unknown): void; addRow(): void; removeRow(element: any): void; propagateChange: (value: any) => void; onTouched: () => void; writeValue(obj: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState?(isDisabled: boolean): void; onValueChange(e: any): void; validate(control: ObjectFormControl): null; onHostFocusOut(ev: FocusEvent): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class DatetimeRangeComponent extends AbstractMatFormField> implements ControlValueAccessor, OnInit, OnDestroy { #private; /** * Enables setting time as well (default: false) */ withTimeInput: _angular_core.InputSignal; withTime: _angular_core.WritableSignal; /** * Will prevent the input from being changed (default: false) */ readonly: _angular_core.InputSignal; operator: _angular_core.InputSignal; situation: _angular_core.InputSignal; private _isValid; ngControl: _angular_forms.NgControl | null; availableSearchOptions: { label: string; value: Operator; }[]; rangeForm: FormGroup<{ dateValue: FormControl; operator: FormControl; dateValueFrom: FormControl; }>; propagateChange: (_: any) => void; writeValue(value?: RangeValue): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; ngOnInit(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class DatetimeComponent extends AbstractMatFormField implements ControlValueAccessor, OnInit { #private; private translate; pickerCmp: _angular_core.Signal; labels?: DatepickerLabels; ngControl: _angular_forms.NgControl | null; fc: FormControl; _locale: _angular_core.WritableSignal; locale: _angular_core.InputSignal; /** * Whether or not to allow only values in the future (default: false) */ onlyFutureDates: _angular_core.InputSignal; /** * Will prevent the input from being changed (default: false) */ readonly: _angular_core.InputSignal; /** * Whether to show the calendar icon that opens the date picker calendar (default: true) */ calendar: _angular_core.InputSignal; /** * Enables setting time as well (default: false) */ withTime: _angular_core.InputSignal; openCalendar(): void; propagateChange: (_: any) => void; writeValue(value: string | Date): void; registerOnChange(fn: () => void): void; registerOnTouched(): void; setDisabledState?(isDisabled: boolean): void; onValueChange(e: any): void; ngOnInit(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface DynamicCatalogOption { value: string; label: string; disabled: boolean; invalid?: boolean; } interface SelectedDisplay { value: string; label: string; invalid: boolean; } declare class DynamicCatalogComponent extends AbstractMatFormField implements ControlValueAccessor, OnInit, OnDestroy { #private; catalog: _angular_core.InputSignal; readonly: _angular_core.InputSignal; multiple: _angular_core.InputSignal; options: WritableSignal; selectedDisplay: _angular_core.Signal; /** * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation * validation of the form element will be turned off, so you are able to enter * search terms that do not meet the elements validators. */ situation: _angular_core.InputSignal; ngControl: _angular_forms.NgControl | null; readonly ctrl: FormControl; constructor(); propagateChange: (fnc: any) => void; writeValue(value: string | string[]): void; registerOnChange(fnc: any): void; registerOnTouched(): void; setDisabledState(isDisabled: boolean): void; ngOnInit(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * Form element for selecting one or multiple i18n catalog values. * Having a classification of `i18n:catalog[one, two, three]` configured on the metadata field * will automatically populate the options from the catalog. The options will be translated * using the catalogs static values adding a prefix, the property name an the value itself. * E.g. for property name `status` and option value `open` the label key will be `catalog:status:open_label`. */ declare class I18nCatalogComponent extends AbstractMatFormField implements ControlValueAccessor, OnInit, OnDestroy { #private; private readonly translate; readonly: _angular_core.InputSignal; multiple: _angular_core.InputSignal; propertyName: _angular_core.InputSignal; _options: _angular_core.WritableSignal<{ label: string; value: string; }[]>; options: _angular_core.InputSignal; /** * Additional semantics for the form element. */ classifications: _angular_core.InputSignal; /** * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation of the form element will be turned off, so you are able to enter search terms that do not meet the elements validators. */ situation: _angular_core.InputSignal; ngControl: _angular_forms.NgControl | null; readonly fc: FormControl; constructor(); propagateChange: (_: any) => void; writeValue(value: string | string[]): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState?(isDisabled: boolean): void; ngOnInit(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * Creates form input for ranges of numeric values. * * Implements `ControlValueAccessor` so it can be used within Angular forms. * * @example * * */ declare class NumberRangeComponent extends AbstractMatFormField implements ControlValueAccessor, OnInit, OnDestroy { #private; /** * Number of decimal places */ readonly scale: _angular_core.InputSignal; /** * Overall amount of digits allowed (including decimal places) */ readonly precision: _angular_core.InputSignal; /** * Set to true to group number by pattern */ readonly grouping: _angular_core.InputSignal; /** * The pattern to group number value by */ readonly pattern: _angular_core.InputSignal; /** * Will prevent the input from being changed (default: false) */ readonly readonly: _angular_core.InputSignal; /** * classification property adds some semantics to the value of this component. * If you provide a value of `filesize` numbers typed into the control will be * handled like file sizes (calculates differnt units) */ readonly classifications: _angular_core.InputSignal; /** * set minimum input value */ readonly minValue: _angular_core.InputSignal; /** * set maximum input value * */ readonly maxValue: _angular_core.InputSignal; situation: _angular_core.InputSignal; private isValid; ngControl: _angular_forms.NgControl | null; availableSearchOptions: { label: string; value: Operator; }[]; rangeForm: FormGroup<{ numberValue: FormControl; operator: FormControl; numberValueFrom: FormControl; }>; propagateChange: (_: any) => void; writeValue(value: RangeValue): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; validate(): any; ngOnInit(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * Creates form input for number values. * * Implements `ControlValueAccessor` so it can be used within Angular forms. * * @example * * */ declare class NumberComponent extends AbstractMatFormField implements ControlValueAccessor, OnInit, OnDestroy { #private; readonly translate: TranslateService; validationErrors: ValidationErrors[]; transformPipe: LocaleNumberPipe | FileSizePipe; innerCtrl: FormControl; ngControl: _angular_forms.NgControl | null; /** * Number of decimal places */ scale: _angular_core.InputSignal; /** * Overall amount of digits allowed (including decimal places) */ precision: _angular_core.InputSignal; /** * Set to true to group number by pattern */ grouping: _angular_core.InputSignal; /** * The pattern to group number value by */ groupPattern: _angular_core.InputSignal; /** * Will prevent the input from being changed (default: false) */ readonly: _angular_core.InputSignal; /** * set minimum input value */ minValue: _angular_core.InputSignal; /** * set maximum input value * */ maxValue: _angular_core.InputSignal; /** * classification property adds some semantics to the value of this component. * If you provide a value of `filesize` numbers typed into the control will be * handled like file sizes (calculates differnt units) */ classifications: _angular_core.InputSignal; static betweenTwoNumbers(val: number, minVal: number | undefined, maxVal: number | undefined): boolean; propagateChange: (_: any) => void; writeValue(value: any): void; registerOnChange(fn: any): void; registerOnTouched(): void; setDisabledState?(isDisabled: boolean): void; format(): void; unformat(): void; ngOnInit(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * Creates form input for organization set values. An organization set is * either a user or a role. This control will emit a stringified JSON object of * a OrganizationSetEntry object. * * ```json * { * "id:organization:set": [ * "{\"id\":\"YUUVIS_AI_PREDICT\",\"title\":\"YUUVIS_AI_PREDICT\",\"type\":\"role\"}" * ] * } * ``` */ declare class OrganizationSetComponent extends AbstractMatFormField implements ControlValueAccessor, OnDestroy, OnInit { #private; /** * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation of the form element will be turned off, so you are able to enter search terms that do not meet the elements validators. */ situation: _angular_core.InputSignal; /** * Indicator that multiple strings could be inserted, they will be rendered as chips (default: false). */ multiselect: _angular_core.InputSignal; /** * Will prevent the input from being changed (default: false) */ readonly: _angular_core.InputSignal; /** * Whether or not the emitted value should be an object containing id and title * or, if set to false only the ID */ withMetadata: _angular_core.InputSignal; /** * Minimum length of the autocomplete input before a query is sent to the server. */ autocompleteMinLength: _angular_core.InputSignal; classifications: _angular_core.InputSignal; types: _angular_core.InputSignal; busy: _angular_core.WritableSignal; acFormControl: FormControl | AutocompleteItem[] | null | undefined>; ngControl: _angular_forms.NgControl | null; innerValue: OrganizationSetEntry[]; autocompleteRes: AutocompleteItem[]; propagateChange: (_: any) => void; writeValue(value: string | string[]): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState?(isDisabled: boolean): void; private propagate; autocompleteFn(query: string): void; ngOnInit(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } type OrganizationNode = OrganizationSetEntry & { notFound?: boolean; }; type FormControlValue = string | { id: string; title: string; }; /** * Creates form input for organization values. * * @example * */ declare class OrganizationComponent extends AbstractMatFormField implements ControlValueAccessor, OnInit, OnDestroy { #private; readonly translate: TranslateService; minLength: number; busy: _angular_core.WritableSignal; acFormControl: FormControl | AutocompleteItem[] | null | undefined>; ngControl: _angular_forms.NgControl | null; _innerValue: OrganizationNode[]; set innerValue(iv: OrganizationNode[]); get innerValue(): OrganizationNode[]; autocompleteRes: AutocompleteItem[]; /** * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation of the form element will be turned off, so you are able to enter search terms that do not meet the elements validators. */ situation: _angular_core.InputSignal; /** * Indicator that multiple strings could be inserted, they will be rendered as chips (default: false). */ multiselect: _angular_core.InputSignal; classifications: _angular_core.InputSignal; /** * Will prevent the input from being changed (default: false) */ readonly: _angular_core.InputSignal; /** * Whether or not to exclude the current user from autocomplete result */ excludeMe: _angular_core.InputSignal; /** * Whether or not the emitted value should be an object containing id and title * or, if set to false only the ID */ withMetadata: _angular_core.InputSignal; propagateChange: (_: any) => void; writeValue(value: string | string[]): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; private propagate; setDisabledState?(isDisabled: boolean): void; resolveFn(value: string[]): void; autocompleteFn(query: string): void; ngOnInit(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface RangeSelectDateValue { rangeValue: RangeValue; label?: string; } /** * Component for selecting a date range based on pre-defined ranges like * 'today', 'this week', 'this month', etc. * It also allows to pick a custom date range. */ declare class RangeSelectDateComponent extends AbstractMatFormField implements ControlValueAccessor, OnDestroy { #private; private translate; options: _angular_core.WritableSignal<{ label: string; value: unknown; }[]>; readonly fc: FormControl; ngControl: _angular_forms.NgControl | null; get shouldLabelFloat(): boolean; /** * Range values to be used in the dropdown. */ ranges: _angular_core.InputSignal; /** * Whether to show the custom date range option. */ customRange: _angular_core.InputSignal; constructor(); propagateChange: (_: any) => void; writeValue(value?: RangeSelectDateValue): void; registerOnChange(fn: () => void): void; registerOnTouched(fn: () => void): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface RangeSelectFilesizeValue { rangeValue: RangeValue; label?: string; } /** * Component for selecting a range of filesizes based on pre-defined ranges like * 'today', 'this week', 'this month', etc. */ declare class RangeSelectFilesizeComponent extends AbstractMatFormField implements ControlValueAccessor, OnDestroy { #private; private translate; options: _angular_core.WritableSignal<{ label: string; value: unknown; }[]>; readonly fc: FormControl; ngControl: _angular_forms.NgControl | null; get shouldLabelFloat(): boolean; /** * Range values to be used in the dropdown. */ ranges: _angular_core.InputSignal; constructor(); propagateChange: (_: any) => void; writeValue(value?: RangeSelectFilesizeValue): void; registerOnChange(fn: () => void): void; registerOnTouched(fn: () => void): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * Creates form input for strings. Based on the input values different kinds of inputs will be generated. * * Implements `ControlValueAccessor` so it can be used within Angular forms. * * @example * * * * * * * * * */ declare class StringComponent extends AbstractMatFormField implements ControlValueAccessor, AfterViewInit, OnInit, OnDestroy { #private; readonly fc: FormControl; readonly separatorKeysCodes: readonly [13, 188]; classifiytionIcons: { email: string; url: string; phone: string; }; maxEntryCountIfInvalid?: number; /** * Indicator that multiple strings could be inserted, they will be rendered as chips (default: false). */ readonly multiselect: _angular_core.InputSignal; /** * Setting rows to more than 1 will generate a textarea instead of an input tag * and apply the rows property to it */ rows?: number; /** * Will prevent the input from being changed (default: false) */ readonly readonly: _angular_core.InputSignal; /** * Enable autofucus for the input (default: false) */ readonly autofocus: _angular_core.InputSignal; /** * Additional semantics for the form element. Possible values are * `email` (validates and creates a link to send an email once there * is a valid email address) and `url` (validates and creates a link * to an URL typed into the form element). */ set classifications(c: string[]); get classifications(): string[]; /** * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation of the form element will be turned off, so you are able to enter search terms that do not meet the elements validators. */ readonly situation: _angular_core.InputSignal; /** * Regular expression to validate the input value against */ readonly regex: _angular_core.InputSignal; /** * Minimal number of characters */ readonly minLength: _angular_core.InputSignal; /** * Maximum number of characters */ readonly maxLength: _angular_core.InputSignal; formatedValue?: FormattedMailTo; valid: boolean; validationErrors: { [key: string]: any; }[]; classify?: { hrefPrefix: string; icon: string | undefined; }; ngControl: _angular_forms.NgControl | null; propagateChange: (_: any) => void; private propagate; writeValue(value: string | string[]): void; registerOnChange(fn: any): void; registerOnTouched(): void; setDisabledState?(isDisabled: boolean): void; onBlur(): void; chipsAdd(event: MatChipInputEvent): void; chipsRemove(v: string): void; chipsEdit(v: string, event: MatChipEditedEvent): void; private validateClassification; ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * Module for the forms library. */ declare class YuvFormsModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } declare class FormUtils { static getErrorState(control: AbstractControl): boolean; } export { CatalogComponent, DataGridComponent, DatetimeComponent, DatetimeRangeComponent, DynamicCatalogComponent, FormUtils, I18nCatalogComponent, NumberComponent, NumberRangeComponent, OrganizationComponent, OrganizationSetComponent, RangeSelectDateComponent, RangeSelectFilesizeComponent, StringComponent, YuvFormsModule }; export type { RangeSelectDateValue, RangeSelectFilesizeValue };