import { OmniFormElement } from '../core/OmniFormElement.js'; import '../label/Label.js'; /** * Control to enter a formatted currency value. * * @import * ```js * import '@capitec/omni-components/currency-field'; * ``` * @example * * ```html * * * ``` * * @element omni-currency-field * * Registry of all properties defined by the component. * * @fires {CustomEvent<{}>} change - Dispatched when the component value changes. * * @cssprop --omni-currency-field-text-align - Currency field text align. * @cssprop --omni-currency-field-font-color - Currency field font color. * @cssprop --omni-currency-field-font-family - Currency field font family. * @cssprop --omni-currency-field-font-size - Currency field font size. * @cssprop --omni-currency-field-font-weight - Currency field font weight. * @cssprop --omni-currency-field-padding - Currency field padding. * @cssprop --omni-currency-field-height - Currency field height. * @cssprop --omni-currency-field-width - Currency field width. * * @cssprop --omni-currency-field-disabled-font-color - Currency field disabled font color. * * @cssprop --omni-currency-field-label-left-margin - Currency field label left margin. * * @cssprop --omni-currency-field-symbol-font-size - Currency field symbol font size. * @cssprop --omni-currency-field-symbol-color - Currency field symbol font color. * @cssprop --omni-currency-field-symbol-left-padding - Currency field symbol left padding. * @cssprop --omni-currency-field-symbol-select - Currency field symbol selectable state. * */ export declare class CurrencyField extends OmniFormElement { private _inputElement?; /** * Currency symbol. * @attr [currency-symbol] */ currencySymbol: string; /** * Thousands separator. * @attr [thousands-separator] */ thousandsSeparator: string; /** * Fractional separator. * @attr [fractional-separator] */ fractionalSeparator: string; /** * Fractional precision. * @attr [fractional-precision] */ fractionalPrecision: number; /** * Disables native on screen keyboards for the component. * @attr [no-native-keyboard] */ noNativeKeyboard?: boolean; /** * Formatter provided to format the value. * @attr */ formatter: string; connectedCallback(): void; protected firstUpdated(): Promise; focus(options?: FocusOptions | undefined): void; attributeChangedCallback(name: string, _old: string | null, value: string | null): Promise; _dispatchChange(amount: number): void; _isNumber(number: string): boolean; _isAllZeros(centValue: string): boolean; _convertToCents(currencyValue: string): string; _formatToCurrencyValue(value: string): string; _parseAmount(value: string): number | null; _setValue(value: string): void; _parseFraction(value: string): string; _blurOnEnter(e: KeyboardEvent): void; _formatToCurrency(preFormattedValue: number | string): Promise; _formatToFloat(formattedValue: string): string | number; _onFocusInput(): void; _onClickInput(): void; _onBlur(): Promise; _onPaste(e: ClipboardEvent): void; _beforeInput(e: InputEvent): void; static get styles(): import("lit").CSSResultGroup[]; protected renderPrefix(): import("lit-html").TemplateResult<1>; protected renderContent(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'omni-currency-field': CurrencyField; } } //# sourceMappingURL=CurrencyField.d.ts.map