import type Input from "./Input.js"; import Icon from "@ui5/webcomponents/dist/Icon.js"; import BusyIndicator from "@ui5/webcomponents/dist/BusyIndicator.js"; import MenuItem from "@ui5/webcomponents/dist/MenuItem.js"; import MenuSeparator from "@ui5/webcomponents/dist/MenuSeparator.js"; import Button from "@ui5/webcomponents/dist/Button.js"; import Menu from "@ui5/webcomponents/dist/Menu.js"; import "@ui5/webcomponents-icons/dist/navigation-left-arrow.js"; import "@ui5/webcomponents-icons/dist/navigation-right-arrow.js"; import type { JsxTemplateResult } from "@ui5/webcomponents-base"; type TemplateHook = () => JsxTemplateResult; export default function InputTemplate(this: Input, hooks?: { preContent: TemplateHook, postContent: TemplateHook }) { const preContent = hooks?.preContent || defaultPreContent; const postContent = hooks?.postContent || defaultPostContent; return ( <>
{preContent.call(this)} 0} disabled={this.disabled} readonly={this._readonly || this.loading} value={this.value} placeholder={this._placeholder} maxlength={this.maxlength} role={this.accInfo.role} enterkeyhint={this.hint} aria-controls={this.accInfo.ariaControls} aria-invalid={this.accInfo.ariaInvalid} aria-haspopup={this.accInfo.ariaHasPopup} aria-describedby={this.accInfo.ariaDescribedBy} aria-roledescription={this.accInfo.ariaRoledescription} aria-autocomplete={this.accInfo.ariaAutoComplete} aria-expanded={this.accInfo.ariaExpanded} aria-label={this.ariaLabel} aria-required={this.required} autocomplete="off" data-sap-focus-ref step={this.nativeInputAttributes.step} min={this.nativeInputAttributes.min} max={this.nativeInputAttributes.max} onInput={this._handleNativeInput} onChange={this._handleChange} onSelect={this._handleSelect} onKeyDown={this._onkeydown} onKeyUp={this._onkeyup} onClick={this._click} onFocusIn={this.innerFocusIn} /> {this._effectiveShowClearIcon &&
} {this.icon.length > 0 &&
}
{this._valueStateInputIcon}
{ postContent.call(this) } {this.accInfo.ariaDescription && {this.accInfo.ariaDescription} } {this.accInfo.accessibleDescription && {this.accInfo.accessibleDescription} } {this.linksInAriaValueStateHiddenText.length > 0 && {this.valueStateLinksShortcutsTextAcc} } {this.hasValueState && {this.ariaValueStateHiddenText} }
); } function Versioning(this: Input) { return ( <>