import { EventEmitter } from '../../stencil-public-runtime'; import { StoryInput } from '../../models'; import { Experience } from '../dxp-experience/models/experience'; declare enum FilterType { include = "include", exclude = "exclude" } /** * This component uses a DXP story's input definition to render HTML inputs. * @docs * * @part input - Represents the input element * @part input-wrapper - Represents the container around the input element * @part label - (valid|invalid) Represents the label element. Valid or invalid is added depending on resolved value. * @part textarea - Represents the textarea element * @part select - Represents the select element * @part error - Represents the container around the error message * @part toggle-slider - Represents the slider element with Toggle display types * @part radio-group - Represents the container around a group of radio inputs * @part radio-label - Represents the label element for individual radio inputs */ export declare class DXPInput { private readonly delimeter; private input?; private radioGroupParent; private get display(); private styleSheet; private tw; el: HTMLDxpInputElement; experience: Experience | null; selectedIds: Array; /** * This will be true when the control is in an invalid state. * Validity is determined by props such as `type`, `required`, `minlength`, `maxlength`, and `pattern` using the browser's constraint validation API. */ isValid: boolean; value?: any; /** If `true`, the radio is selected */ checked: boolean; /** * The tabindex for radio buttons */ buttonTabIndex: number; /** * For binding directly to a DXP story-input object. */ storyInput?: StoryInput; /** * Provide an input key from the story to display a form-field */ inputKey: string; /** * The value to set this input. */ setValue?: any; /** * Hide the label for this input */ label?: string; /** * The placeholder within the element. Defaults * to the field name. Specify a value if you * want to override it or false to turn it off */ placeholder?: string; /** * Override the requirement for this input */ required: boolean; /** * Customized pattern validation (regular expression). * Note: Inputs with a display type of 'email' or 'phone' have default patterns: * - Email: Must contain an '@' and a valid top-level domain (e.g. ".com", ".edu"). * - Phone: Must contain 10 digits, can optionally include non-digit characters (e.g., "-") but cannot start or end with them. */ pattern?: string; /** * Customized message to show if this field is marked * invalid for any reason. * Tip: 'State ALL field requirements' */ validationMessage?: string; /** * By default this component validates itself in real-time. * To validate later, like when in a form set this value to true * and make sure to use ask each input to report its validity. */ skipValidate: boolean; /** * (optional) Override the default classes for the input element */ styles: string; /** * (optional) The filter type * Has two types: Include & Exclude that will filter a set of data * using the value set within each child dxp-filter component. */ filterType?: FilterType; /** * (optional) Removes the associated label element for the input */ noLabel: boolean; /** * This event is bubbled when the component is done loading */ initialized: EventEmitter; /** * Checking the validity of the input. * */ checkValidity(): Promise; /** * Reporting the validity of the input. * */ reportValidity(): Promise; /** @internal */ setFocus(ev: any): Promise; /** @internal */ setButtonTabIndex(val: number): Promise; /** * Update the input value for the associated DXP experience. * **NOTE** Call this to ensure values are updated before a parent event (i.e., form submission, redirect) */ submitInputValue(): Promise; connectedCallback(): Promise; private updateRadioState; private handleDataChanged; private setExperience; private scrubServerValue; private inclusionFilter; private exclusionFilter; private getNestedFilterElements; private validateInputToBeFiltered; private validateFilterValue; private handleFilterValidation; private returnFilteredOptions; private handleOptionState; private isStringDisplayType; private inputAttributeMap; private validateInput; private getAttributes; private depthKey; private handleSelectedIndex; componentDidRender(): void; private getInnerInput; render(): any; disconnectedCallback(): Promise; } export {};