import * as _dayflow_blossom_color_picker_angular from '@dayflow/blossom-color-picker-angular'; import { ColorInput, BlossomColorPickerValue, SliderPosition, BlossomColorPickerColor } from '@dayflow/blossom-color-picker-angular'; import * as _angular_core from '@angular/core'; import { Signal, OnInit, ElementRef, TemplateRef } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { ZPopoverControl } from '@shival99/z-ui/components/z-popover'; import { ZSelectOption } from '@shival99/z-ui/components/z-select'; import { ZEvent } from '@shival99/z-ui/utils'; import { ClassValue } from 'clsx'; import { Observable } from 'rxjs'; import * as class_variance_authority_types from 'class-variance-authority/types'; import { VariantProps } from 'class-variance-authority'; interface ZInputControl { /** Trigger validation and return true if valid */ valid: () => boolean; /** * Trigger validation and return true if has error. * @deprecated Use `valid()` for boolean form-submit checks. */ validate: () => boolean; /** Reset component to initial state */ reset: () => void; /** Focus the input element */ focus: () => void; /** Blur the input element */ blur: () => void; /** Set value programmatically */ setValue: (value: string | number | null) => void; /** Set custom error message (useful for server-side validation). Pass null to clear. */ setErrorMessage: (message: string | null) => void; /** Signal indicating if component has validation error */ hasError: Signal; /** Signal indicating if async validation is in progress */ isValidating: Signal; /** Signal with current value */ value: Signal; /** Signal with current error message */ errorMessage: Signal; } interface ZInputValidator { error: string; message: string; pattern?: RegExp; min?: number; max?: number; validate?: (value: string | number | null) => boolean; } interface ZAsyncValidator { error: string; message: string; validate: (value: string | number | null) => Promise | Observable; } type ZInputType = 'text' | 'number' | 'password' | 'email' | 'tel' | 'url' | 'color' | 'textarea'; type ZInputSize = 'sm' | 'default' | 'lg'; type ZInputAlign = 'left' | 'center' | 'right'; type ZAsyncValidateOn = 'change' | 'blur'; type ZInputStatus = 'default' | 'disabled' | 'readonly' | 'error'; type ZInputColorFormat = 'hex' | 'rgb' | 'hsl' | 'hsv'; interface ZInputTypeConfig { isPassword: boolean; isColor: boolean; isTextarea: boolean; isNumber: boolean; } interface ZInputSlotConfig { isPrefixTemplate: boolean; isSuffixTemplate: boolean; hasPrefix: boolean; hasSuffix: boolean; } interface ZInputMaskConfig { effectiveMask: string; effectiveType: ZInputType; effectiveThousandSeparator: string; effectiveDecimalMarker: '.' | ',' | ['.', ',']; } interface ZInputColorConfig { mode?: 'blossom' | 'picker'; cacheKey?: string; count?: number | null; colors?: ColorInput[]; savedColors?: string[]; defaultValue?: BlossomColorPickerValue; openOnHover?: boolean; initialExpanded?: boolean; animationDuration?: number; showAlphaSlider?: boolean; showCoreColor?: boolean; adaptivePositioning?: boolean; sliderPosition?: SliderPosition; coreSize?: number; petalSize?: number; } declare class ZInputComponent implements OnInit, ControlValueAccessor { private readonly _injector; private readonly _destroyRef; private readonly _toastService; private readonly _zTranslate; private readonly _maskConfig; protected readonly inputRef: _angular_core.Signal | undefined>; protected readonly nativeColorInputRef: _angular_core.Signal | undefined>; readonly zOnSearch: _angular_core.OutputEmitterRef; readonly zOnChange: _angular_core.OutputEmitterRef; readonly zOnBlur: _angular_core.OutputEmitterRef; readonly zOnFocus: _angular_core.OutputEmitterRef; readonly zOnKeydown: _angular_core.OutputEmitterRef; readonly zOnEnter: _angular_core.OutputEmitterRef; readonly zOnColorCollapse: _angular_core.OutputEmitterRef; readonly zControl: _angular_core.OutputEmitterRef; readonly zEvent: _angular_core.OutputEmitterRef; readonly class: _angular_core.InputSignal; readonly zType: _angular_core.InputSignal; readonly zSize: _angular_core.InputSignal; readonly zAlign: _angular_core.InputSignal; readonly zLabel: _angular_core.InputSignal; readonly zLabelClass: _angular_core.InputSignal; readonly zPlaceholder: _angular_core.InputSignal; readonly zRequired: _angular_core.InputSignalWithTransform; readonly zDisabled: _angular_core.InputSignalWithTransform; readonly zReadonly: _angular_core.InputSignalWithTransform; readonly zLoading: _angular_core.InputSignalWithTransform; readonly zLoadingOutline: _angular_core.InputSignalWithTransform; readonly zPrefix: _angular_core.InputSignal>; readonly zSuffix: _angular_core.InputSignal>; readonly zMin: _angular_core.InputSignal; readonly zMax: _angular_core.InputSignal; readonly zStep: _angular_core.InputSignal; readonly zShowArrows: _angular_core.InputSignalWithTransform; readonly zMask: _angular_core.InputSignal; readonly zDecimalPlaces: _angular_core.InputSignal; readonly zAllowNegative: _angular_core.InputSignalWithTransform; readonly zThousandSeparator: _angular_core.InputSignal; readonly zDecimalMarker: _angular_core.InputSignal<"." | "," | [".", ","] | undefined>; readonly zValidators: _angular_core.InputSignal; readonly zAsyncValidators: _angular_core.InputSignal; readonly zAsyncDebounce: _angular_core.InputSignal; readonly zAsyncValidateOn: _angular_core.InputSignal; readonly zShowPasswordToggle: _angular_core.InputSignalWithTransform; readonly zSearch: _angular_core.InputSignalWithTransform; readonly zDebounce: _angular_core.InputSignal; readonly zAutofocus: _angular_core.InputSignalWithTransform; readonly zAutoComplete: _angular_core.InputSignal; readonly zAllowClear: _angular_core.InputSignalWithTransform; readonly zAutoSizeContent: _angular_core.InputSignalWithTransform; readonly zRows: _angular_core.InputSignal; readonly zResize: _angular_core.InputSignalWithTransform; readonly zMaxLength: _angular_core.InputSignal; readonly zAutoSuggest: _angular_core.InputSignal; readonly zColorConfig: _angular_core.InputSignal; private readonly _value; private readonly _disabled; private readonly _formControl; private readonly _formStateVersion; private readonly _isNgModel; private readonly _asyncErrors; private readonly _customError; protected readonly isLoading: _angular_core.Signal; private readonly _blossomColor; private readonly _colorPickerHsv; private readonly _colorPickerRgb; private readonly _colorPickerHsl; private readonly _colorPickerAlpha; private readonly _colorPickerFormat; private readonly _colorPickerSavedColors; protected readonly inputId: string; protected readonly suggestHistory: _angular_core.WritableSignal; protected readonly suggestActiveIndex: _angular_core.WritableSignal; protected readonly isValidating: _angular_core.WritableSignal; protected readonly uiState: _angular_core.WritableSignal<{ passwordVisible: boolean; isFocused: boolean; touched: boolean; dirty: boolean; showSuggestPopover: boolean; colorCopied: boolean; }>; protected readonly typeConfig: _angular_core.Signal; protected readonly slotConfig: _angular_core.Signal; protected readonly maskConfig: _angular_core.Signal; protected readonly displayValue: _angular_core.Signal; protected readonly normalizedColorValue: _angular_core.Signal; protected readonly colorMode: _angular_core.Signal<"blossom" | "picker">; protected readonly isBlossomColorMode: _angular_core.Signal; protected readonly blossomCoreBorderColor: _angular_core.Signal; protected readonly blossomColor: _angular_core.Signal; protected readonly colorPickerHsv: _angular_core.Signal<{ hue: number; saturation: number; value: number; }>; protected readonly colorPickerRgbValue: _angular_core.Signal<{ red: number; green: number; blue: number; }>; protected readonly colorPickerHslValue: _angular_core.Signal<{ hue: number; saturation: number; lightness: number; }>; protected readonly colorPickerAlpha: _angular_core.Signal; protected readonly colorPickerFormat: _angular_core.Signal; protected readonly colorPickerFormatOptions: ZSelectOption[]; protected readonly colorPickerHueColor: _angular_core.Signal; protected readonly colorPickerSvStyle: _angular_core.Signal<{ background: string; }>; protected readonly colorPickerCursorStyle: _angular_core.Signal<{ left: string; top: string; }>; protected readonly defaultColorPickerSavedColors: _angular_core.Signal; protected readonly colorPickerSavedColors: _angular_core.Signal; protected readonly colorPickerSavedSwatches: _angular_core.Signal<{ color: string; isLight: boolean; }[]>; protected readonly blossomCoreSize: _angular_core.Signal<22 | 30 | 26>; protected readonly blossomOptions: _angular_core.Signal<{ defaultValue: BlossomColorPickerValue | undefined; openOnHover: boolean; initialExpanded: boolean; animationDuration: number; showAlphaSlider: boolean; showCoreColor: boolean; adaptivePositioning: boolean; sliderPosition: _dayflow_blossom_color_picker_angular.SliderPosition; coreSize: number; petalSize: number; }>; protected readonly blossomColors: _angular_core.Signal; protected readonly hasValue: _angular_core.Signal; protected readonly isDisabled: _angular_core.Signal; protected readonly showArrows: _angular_core.Signal; protected readonly hasAutoSuggest: _angular_core.Signal; protected readonly showClearButton: _angular_core.Signal; protected readonly currentStatus: _angular_core.Signal; protected readonly alignClass: _angular_core.Signal<"" | "[&_.z-input-native]:text-center" | "[&_.z-input-native]:text-right">; protected readonly inputClasses: _angular_core.Signal; protected readonly textareaClasses: _angular_core.Signal; protected readonly loadingOutlineClass: _angular_core.Signal<"" | "z-loading-outline-active !ring-ring/50 !ring-[3px]">; protected readonly filteredSuggestHistory: _angular_core.Signal; private readonly _shouldShowValidation; protected readonly hasError: _angular_core.Signal; protected readonly errorMessage: _angular_core.Signal; private _translateValidationMessage; private readonly _searchSubject; private readonly _changeSubject; private readonly _asyncValidationSubject; private readonly _asyncCancelSubject; private _asyncValidationAbortController; private _onChange; private _onTouched; private _ngControl; private _colorPickerPopoverControl; ngOnInit(): void; writeValue(value: string | number | null): void; registerOnChange(fn: (value: string | number | null) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; focus(): void; blur(): void; /** @deprecated Use `valid()` for boolean form-submit checks. */ validate(): boolean; valid(): boolean; reset(): void; setValue(value: string | number | null): void; setErrorMessage(message: string | null): void; getValue(): string | number | null; saveToSuggestHistory(value: string): void; protected clearValue(event: MouseEvent): void; protected onInput(event: Event): void; protected onModelChange(rawValue: string | number | null): void; protected onBlur(event: FocusEvent): void; protected onFocus(event: FocusEvent): void; protected onKeydown(event: KeyboardEvent): void; protected onSuggestKeydown(event: KeyboardEvent): void; protected selectSuggestItem(item: string): void; protected closeSuggestPopover(): void; protected onArrowClick(event: MouseEvent, direction: 'up' | 'down'): void; protected togglePasswordVisibility(): void; protected copyColorToClipboard(): void; protected onBlossomColorChange(color: BlossomColorPickerColor): void; protected onBlossomColorCollapse(color: BlossomColorPickerColor): void; protected onColorPickerControl(control: ZPopoverControl): void; protected onColorPickerOpen(): void; protected onColorPickerFormatChange(value: ZInputColorFormat | ZInputColorFormat[] | null): void; protected onColorPickerHexChange(value: string | number | null): void; protected onColorPickerAlphaValueChange(value: string | number | null): void; protected onColorPickerRgbChange(channel: 'red' | 'green' | 'blue', value: string | number | null): void; protected onColorPickerHslChange(channel: 'hue' | 'saturation' | 'lightness', value: string | number | null): void; protected onColorPickerHsvValueChange(channel: 'hue' | 'saturation' | 'value', value: string | number | null): void; protected onColorPickerHueInput(event: Event): void; protected onColorPickerAlphaInput(event: Event): void; protected onColorPickerSvPointerDown(event: PointerEvent): void; protected onColorPickerSvPointerMove(event: PointerEvent): void; protected selectSavedColor(color: string): void; protected addCurrentColorToSaved(): void; protected openNativeColorPicker(): Promise; protected closeColorPicker(): void; private _emitControl; private _runAsyncValidation; private _cancelAsyncValidation; private _showSuggestPopover; private _hideSuggestPopover; private _loadSuggestHistory; private _colorPickerCacheKey; private _loadColorPickerSavedColors; private _incrementValue; private _cleanNumberValue; private _parseNumberValue; private _getEffectiveMask; private _getEffectiveType; private _getEffectiveThousandSeparator; private _getEffectiveDecimalMarker; private _getValidationErrors; private _normalizeHexColor; private _tryNormalizeHexColor; private _syncBlossomColorFromHex; private _syncColorStateFromHex; private _syncColorPickerFromHex; private _commitColor; private _setColorPickerAlpha; private _parseBoundedNumber; private _normalizeColorList; private _isLightHexColor; private _getEyeDropper; private _updateColorPickerSv; private _hexToHsv; private _hsvToRgb; private _rgbToHex; private _rgbToHsl; private _hslToHex; private _hsvToHex; private _generateColorPalette; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare const zInputVariants: (props?: ({ zSize?: "sm" | "default" | "lg" | null | undefined; zStatus?: "default" | "disabled" | "readonly" | "error" | null | undefined; } & class_variance_authority_types.ClassProp) | undefined) => string; type ZInputVariants = VariantProps; declare const zTextareaVariants: (props?: ({ zStatus?: "default" | "disabled" | "readonly" | "error" | null | undefined; } & class_variance_authority_types.ClassProp) | undefined) => string; type ZTextareaVariants = VariantProps; export { ZInputComponent, zInputVariants, zTextareaVariants }; export type { ZAsyncValidateOn, ZAsyncValidator, ZInputAlign, ZInputControl, ZInputSize, ZInputType, ZInputValidator, ZInputVariants, ZTextareaVariants };