@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
1,169 lines (1,168 loc) • 46 kB
JavaScript
/*!
* KoliBri - The accessible HTML-Standard
*/
import { __decorate } from "tslib";
import { h } from "@stencil/core";
import clsx from "../../utils/clsx";
import KolFormFieldStateWrapperFc from "../../functional-component-wrappers/FormFieldStateWrapper/FormFieldStateWrapper";
import KolInputContainerFc from "../../functional-component-wrappers/InputContainerStateWrapper/InputContainerStateWrapper";
import KolInputStateWrapperFc from "../../functional-component-wrappers/InputStateWrapper/InputStateWrapper";
import { createRelatedUniqueId, createUniqueId } from "../../utils/dev.utils";
import { createCtaRef, delegateClick, delegateFocus } from "../../utils/element-interaction";
import { propagateSubmitEventToForm } from "../form/controller";
import { InputTextController } from "./controller";
export class KolInputText {
async getValue() {
var _a;
return (_a = this.ctaRef.el) === null || _a === void 0 ? void 0 : _a.value;
}
async focus() { }
async click() { }
async selectionStart() {
var _a;
return Promise.resolve((_a = this.ctaRef.el) === null || _a === void 0 ? void 0 : _a.selectionStart);
}
async selectionEnd() {
var _a;
return Promise.resolve((_a = this.ctaRef.el) === null || _a === void 0 ? void 0 : _a.selectionEnd);
}
async setSelectionRange(selectionStart, selectionEnd, selectionDirection) {
var _a;
(_a = this.ctaRef.el) === null || _a === void 0 ? void 0 : _a.setSelectionRange(selectionStart, selectionEnd, selectionDirection);
}
async setSelectionStart(selectionStart) {
var _a;
(_a = this.ctaRef.el) === null || _a === void 0 ? void 0 : _a.setSelectionRange(selectionStart, selectionStart);
}
async setRangeText(replacement, selectionStart, selectionEnd, selectMode) {
var _a, _b;
if (selectionStart !== undefined && selectionEnd !== undefined) {
(_a = this.ctaRef.el) === null || _a === void 0 ? void 0 : _a.setRangeText(replacement, selectionStart, selectionEnd, selectMode);
}
else {
(_b = this.ctaRef.el) === null || _b === void 0 ? void 0 : _b.setRangeText(replacement);
}
}
getFormFieldProps() {
return {
state: this.state,
class: clsx('kol-input-text', this.state._type, {
'has-value': this.state._hasValue,
'kol-form-field--has-counter': this.controller.hasSoftCharacterLimit() || this.controller.hasCounter(),
}),
tooltipAlign: this._tooltipAlign,
alert: this.showAsAlert(),
};
}
getInputProps() {
const ariaDescribedBy = typeof this.state._maxLength === 'number' ? [createRelatedUniqueId(this.state._id, 'character-limit-hint')] : undefined;
return Object.assign(Object.assign({ ref: this.ctaRef, state: this.state, ariaDescribedBy }, this.controller.onFacade), { onBlur: this.onBlur, onChange: this.onChange, onFocus: this.onFocus, onInput: this.onInput, onKeyDown: this.onKeyDown });
}
render() {
return (h(KolFormFieldStateWrapperFc, Object.assign({ key: '96a862e1912fa6d4debb2c42180dc9483df5c747' }, this.getFormFieldProps()), h(KolInputContainerFc, { key: '862ed551320d82a110e14b98248c847ed1d5a3a8', state: this.state }, h(KolInputStateWrapperFc, Object.assign({ key: 'eae0214958c480f4644691448df1da90ccf7ac33' }, this.getInputProps())))));
}
constructor() {
this.ctaRef = createCtaRef();
this.onBlur = (event) => {
this.controller.onFacade.onBlur(event);
this.inputHasFocus = false;
};
this.onChange = (event) => {
var _a;
const value = (_a = this.ctaRef.el) === null || _a === void 0 ? void 0 : _a.value;
if (this.oldValue !== value) {
this.oldValue = value;
}
this.controller.onFacade.onChange(event);
};
this.onFocus = (event) => {
this.controller.onFacade.onFocus(event);
this.inputHasFocus = true;
};
this.onInput = (event) => {
var _a, _b;
this._value = (_b = (_a = this.ctaRef.el) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : '';
this.controller.onFacade.onInput(event);
};
this.onKeyDown = (event) => {
this.controller.onFacade.onKeyDown(event);
if (event.code === 'Enter' || event.code === 'NumpadEnter') {
propagateSubmitEventToForm({
form: this.host,
ref: this.ctaRef.el,
});
}
};
this._autoComplete = 'off';
this._hasCounter = false;
this._maxLengthBehavior = 'hard';
this._disabled = false;
this._hideMsg = false;
this._hideLabel = false;
this._hint = '';
this._readOnly = false;
this._required = false;
this._tooltipAlign = 'top';
this._touched = false;
this._type = 'text';
this.state = {
_currentLength: 0,
_currentLengthDebounced: 0,
_hasValue: false,
_hideMsg: false,
_id: createUniqueId('input-text'),
_label: '',
_suggestions: [],
_type: 'text',
};
this.inputHasFocus = false;
this.controller = new InputTextController(this, 'text', this.host);
}
showAsAlert() {
return Boolean(this.state._touched) && !this.inputHasFocus;
}
validateAccessKey(value) {
this.controller.validateAccessKey(value);
}
validateAutoComplete(value) {
this.controller.validateAutoComplete(value);
}
validateMaxLengthBehavior(value) {
this.controller.validateMaxLengthBehavior(value);
}
validateDisabled(value) {
this.controller.validateDisabled(value);
}
validateHideMsg(value) {
this.controller.validateHideMsg(value);
}
validateHideLabel(value) {
this.controller.validateHideLabel(value);
}
validateHasCounter(value) {
this.controller.validateHasCounter(value);
}
validateHint(value) {
this.controller.validateHint(value);
}
validateIcons(value) {
this.controller.validateIcons(value);
}
validateLabel(value) {
this.controller.validateLabel(value);
}
validateMaxLength(value) {
this.controller.validateMaxLength(value);
}
validateMsg(value) {
this.controller.validateMsg(value);
}
validateName(value) {
this.controller.validateName(value);
}
validateOn(value) {
this.controller.validateOn(value);
}
validatePattern(value) {
this.controller.validatePattern(value);
}
validatePlaceholder(value) {
this.controller.validatePlaceholder(value);
}
validateReadOnly(value) {
this.controller.validateReadOnly(value);
}
validateRequired(value) {
this.controller.validateRequired(value);
}
validateShortKey(value) {
this.controller.validateShortKey(value);
}
validateSpellCheck(value) {
this.controller.validateSpellCheck(value);
}
validateSuggestions(value) {
this.controller.validateSuggestions(value);
}
validateSmartButton(value) {
this.controller.validateSmartButton(value);
}
validateSyncValueBySelector(value) {
this.controller.validateSyncValueBySelector(value);
}
validateTouched(value) {
this.controller.validateTouched(value);
}
validateType(value) {
this.controller.validateType(value);
}
validateValue(value) {
this.controller.validateValue(value);
this.oldValue = value;
}
validateVariant(value) {
this.controller.validateVariant(value);
}
componentWillLoad() {
this._touched = this._touched === true;
this.oldValue = this._value;
this.controller.componentWillLoad();
this.state._hasValue = !!this.state._value;
this.controller.addValueChangeListener((v) => (this.state._hasValue = !!v));
}
static get is() { return "kol-input-text"; }
static get encapsulation() { return "shadow"; }
static get originalStyleUrls() {
return {
"default": ["./style.scss"]
};
}
static get styleUrls() {
return {
"default": ["style.css"]
};
}
static get properties() {
return {
"_accessKey": {
"type": "string",
"mutable": false,
"complexType": {
"original": "AccessKeyPropType",
"resolved": "string | undefined",
"references": {
"AccessKeyPropType": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::AccessKeyPropType"
}
}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Defines the key combination that can be used to trigger or focus the component's interactive element."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_access-key"
},
"_autoComplete": {
"type": "string",
"mutable": false,
"complexType": {
"original": "AutoCompletePropType",
"resolved": "string | undefined",
"references": {
"AutoCompletePropType": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::AutoCompletePropType"
}
}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Defines whether the input can be auto-completed."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_auto-complete",
"defaultValue": "'off'"
},
"_hasCounter": {
"type": "boolean",
"mutable": false,
"complexType": {
"original": "boolean",
"resolved": "boolean | undefined",
"references": {}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Shows a character counter for the input element."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_has-counter",
"defaultValue": "false"
},
"_maxLengthBehavior": {
"type": "string",
"mutable": false,
"complexType": {
"original": "MaxLengthBehaviorPropType",
"resolved": "\"hard\" | \"soft\" | undefined",
"references": {
"MaxLengthBehaviorPropType": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::MaxLengthBehaviorPropType"
}
}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Defines the behavior when maxLength is set. 'hard' sets the maxlength attribute, 'soft' shows a character counter without preventing input."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_max-length-behavior",
"defaultValue": "'hard'"
},
"_disabled": {
"type": "boolean",
"mutable": false,
"complexType": {
"original": "boolean",
"resolved": "boolean | undefined",
"references": {}
},
"required": false,
"optional": true,
"docs": {
"tags": [{
"name": "TODO",
"text": ": Change type back to `DisabledPropType` after Stencil#4663 has been resolved."
}],
"text": "Makes the element not focusable and ignore all events."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_disabled",
"defaultValue": "false"
},
"_hideMsg": {
"type": "boolean",
"mutable": false,
"complexType": {
"original": "boolean",
"resolved": "boolean | undefined",
"references": {}
},
"required": false,
"optional": true,
"docs": {
"tags": [{
"name": "TODO",
"text": ": Change type back to `HideMsgPropType` after Stencil#4663 has been resolved."
}],
"text": "Hides the error message but leaves it in the DOM for the input's aria-describedby."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_hide-msg",
"defaultValue": "false"
},
"_hideLabel": {
"type": "boolean",
"mutable": false,
"complexType": {
"original": "boolean",
"resolved": "boolean | undefined",
"references": {}
},
"required": false,
"optional": true,
"docs": {
"tags": [{
"name": "TODO",
"text": ": Change type back to `HideLabelPropType` after Stencil#4663 has been resolved."
}],
"text": "Hides the caption by default and displays the caption text with a tooltip when the\ninteractive element is focused or the mouse is over it."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_hide-label",
"defaultValue": "false"
},
"_hint": {
"type": "string",
"mutable": false,
"complexType": {
"original": "string",
"resolved": "string | undefined",
"references": {}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Defines the hint text."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_hint",
"defaultValue": "''"
},
"_icons": {
"type": "string",
"mutable": false,
"complexType": {
"original": "IconsHorizontalPropType",
"resolved": "string | undefined | { right?: IconOrIconClass | undefined; left?: IconOrIconClass | undefined; }",
"references": {
"IconsHorizontalPropType": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::IconsHorizontalPropType"
}
}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`)."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_icons"
},
"_label": {
"type": "string",
"mutable": false,
"complexType": {
"original": "LabelWithExpertSlotPropType",
"resolved": "string",
"references": {
"LabelWithExpertSlotPropType": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::LabelWithExpertSlotPropType"
}
}
},
"required": true,
"optional": false,
"docs": {
"tags": [],
"text": "Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_label"
},
"_maxLength": {
"type": "number",
"mutable": false,
"complexType": {
"original": "number",
"resolved": "number | undefined",
"references": {}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Defines the maximum number of input characters."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_max-length"
},
"_msg": {
"type": "string",
"mutable": false,
"complexType": {
"original": "Stringified<MsgPropType>",
"resolved": "Omit<AlertProps, \"_on\" | \"_label\" | \"_level\" | \"_variant\" | \"_hasCloser\"> & { _description: string; } | string | undefined",
"references": {
"Stringified": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::Stringified"
},
"MsgPropType": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::MsgPropType"
}
}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Defines the properties for a message rendered as Alert component."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_msg"
},
"_name": {
"type": "string",
"mutable": false,
"complexType": {
"original": "NamePropType",
"resolved": "string | undefined",
"references": {
"NamePropType": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::NamePropType"
}
}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Defines the technical name of an input field."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_name"
},
"_on": {
"type": "unknown",
"mutable": false,
"complexType": {
"original": "InputTypeOnDefault",
"resolved": "InputTypeOnBlur & InputTypeOnClick & InputTypeOnChange & InputTypeOnFocus & InputTypeOnInput & InputTypeOnKeyDown | undefined",
"references": {
"InputTypeOnDefault": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::InputTypeOnDefault"
}
}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Gibt die EventCallback-Funktionen f\u00FCr das Input-Event an."
},
"getter": false,
"setter": false
},
"_pattern": {
"type": "string",
"mutable": false,
"complexType": {
"original": "string",
"resolved": "string | undefined",
"references": {}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Defines a validation pattern for the input field."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_pattern"
},
"_placeholder": {
"type": "string",
"mutable": false,
"complexType": {
"original": "string",
"resolved": "string | undefined",
"references": {}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Defines the placeholder for input field. To be shown when there's no value."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_placeholder"
},
"_readOnly": {
"type": "boolean",
"mutable": false,
"complexType": {
"original": "boolean",
"resolved": "boolean | undefined",
"references": {}
},
"required": false,
"optional": true,
"docs": {
"tags": [{
"name": "TODO",
"text": ": Change type back to `ReadOnlyPropType` after Stencil#4663 has been resolved."
}],
"text": "Makes the input element read only."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_read-only",
"defaultValue": "false"
},
"_required": {
"type": "boolean",
"mutable": false,
"complexType": {
"original": "boolean",
"resolved": "boolean | undefined",
"references": {}
},
"required": false,
"optional": true,
"docs": {
"tags": [{
"name": "TODO",
"text": ": Change type back to `RequiredPropType` after Stencil#4663 has been resolved."
}],
"text": "Makes the input element required."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_required",
"defaultValue": "false"
},
"_shortKey": {
"type": "string",
"mutable": false,
"complexType": {
"original": "ShortKeyPropType",
"resolved": "string | undefined",
"references": {
"ShortKeyPropType": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::ShortKeyPropType"
}
}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Adds a visual shortcut hint after the label and instructs the screen reader to read the shortcut aloud."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_short-key"
},
"_spellCheck": {
"type": "boolean",
"mutable": false,
"complexType": {
"original": "SpellCheckPropType",
"resolved": "boolean | undefined",
"references": {
"SpellCheckPropType": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::SpellCheckPropType"
}
}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Defines whether the browser should check the spelling and grammar."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_spell-check"
},
"_suggestions": {
"type": "string",
"mutable": false,
"complexType": {
"original": "SuggestionsPropType",
"resolved": "W3CInputValue[] | string | undefined",
"references": {
"SuggestionsPropType": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::SuggestionsPropType"
}
}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Suggestions to provide for the input."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_suggestions"
},
"_smartButton": {
"type": "string",
"mutable": false,
"complexType": {
"original": "Stringified<InternalButtonProps>",
"resolved": "string | undefined | { _label: string; } & { _type?: \"button\" | \"reset\" | \"submit\" | undefined; _accessKey?: string | undefined; _on?: ButtonCallbacksPropType<StencilUnknown> | undefined; _ariaExpanded?: boolean | undefined; _tabIndex?: number | undefined; _value?: StencilUnknown; _role?: \"tab\" | \"treeitem\" | undefined; _ariaControls?: string | undefined; _ariaDescription?: string | undefined; _ariaSelected?: boolean | undefined; _customClass?: string | undefined; _disabled?: boolean | undefined; _hideLabel?: boolean | undefined; _icons?: IconsPropType | undefined; _id?: string | undefined; _inline?: boolean | undefined; _name?: string | undefined; _shortKey?: string | undefined; _syncValueBySelector?: string | undefined; _tooltipAlign?: AlignPropType | undefined; _variant?: string | undefined; }",
"references": {
"Stringified": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::Stringified"
},
"InternalButtonProps": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::InternalButtonProps"
}
}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Allows to add a button with an arbitrary action within the element (_hide-label only)."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_smart-button"
},
"_syncValueBySelector": {
"type": "string",
"mutable": false,
"complexType": {
"original": "SyncValueBySelectorPropType",
"resolved": "string | undefined",
"references": {
"SyncValueBySelectorPropType": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::SyncValueBySelectorPropType"
}
}
},
"required": false,
"optional": true,
"docs": {
"tags": [{
"name": "internal",
"text": undefined
}],
"text": "Selector for synchronizing the value with another input element."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_sync-value-by-selector"
},
"_tooltipAlign": {
"type": "string",
"mutable": false,
"complexType": {
"original": "TooltipAlignPropType",
"resolved": "\"bottom\" | \"left\" | \"right\" | \"top\" | undefined",
"references": {
"TooltipAlignPropType": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::TooltipAlignPropType"
}
}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Defines where to show the Tooltip preferably: top, right, bottom or left."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_tooltip-align",
"defaultValue": "'top'"
},
"_touched": {
"type": "boolean",
"mutable": true,
"complexType": {
"original": "boolean",
"resolved": "boolean | undefined",
"references": {}
},
"required": false,
"optional": true,
"docs": {
"tags": [{
"name": "TODO",
"text": ": Change type back to `TouchedPropType` after Stencil#4663 has been resolved."
}],
"text": "Shows if the input was touched by a user."
},
"getter": false,
"setter": false,
"reflect": true,
"attribute": "_touched",
"defaultValue": "false"
},
"_type": {
"type": "string",
"mutable": false,
"complexType": {
"original": "InputTextTypePropType",
"resolved": "\"search\" | \"tel\" | \"text\" | \"url\" | undefined",
"references": {
"InputTextTypePropType": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::InputTextTypePropType"
}
}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Defines either the type of the component or of the components interactive element."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_type",
"defaultValue": "'text'"
},
"_value": {
"type": "string",
"mutable": true,
"complexType": {
"original": "string",
"resolved": "string | undefined",
"references": {}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Defines the value of the element."
},
"getter": false,
"setter": false,
"reflect": true,
"attribute": "_value"
},
"_variant": {
"type": "string",
"mutable": false,
"complexType": {
"original": "VariantClassNamePropType",
"resolved": "string | undefined",
"references": {
"VariantClassNamePropType": {
"location": "import",
"path": "../../schema",
"id": "src/schema/index.ts::VariantClassNamePropType"
}
}
},
"required": false,
"optional": true,
"docs": {
"tags": [],
"text": "Defines which variant should be used for presentation."
},
"getter": false,
"setter": false,
"reflect": false,
"attribute": "_variant"
}
};
}
static get states() {
return {
"state": {},
"inputHasFocus": {}
};
}
static get methods() {
return {
"getValue": {
"complexType": {
"signature": "() => Promise<string | undefined>",
"parameters": [],
"references": {
"Promise": {
"location": "global",
"id": "global::Promise"
}
},
"return": "Promise<string | undefined>"
},
"docs": {
"text": "Returns the current value.",
"tags": []
}
},
"focus": {
"complexType": {
"signature": "() => Promise<void>",
"parameters": [],
"references": {
"Promise": {
"location": "global",
"id": "global::Promise"
}
},
"return": "Promise<void>"
},
"docs": {
"text": "Sets focus on the internal element.",
"tags": []
}
},
"click": {
"complexType": {
"signature": "() => Promise<void>",
"parameters": [],
"references": {
"Promise": {
"location": "global",
"id": "global::Promise"
}
},
"return": "Promise<void>"
},
"docs": {
"text": "Clicks the primary interactive element inside this component.",
"tags": []
}
},
"selectionStart": {
"complexType": {
"signature": "() => Promise<number | null | undefined>",
"parameters": [],
"references": {
"Promise": {
"location": "global",
"id": "global::Promise"
}
},
"return": "Promise<number | null | undefined>"
},
"docs": {
"text": "Get selection start of internal element.",
"tags": []
}
},
"selectionEnd": {
"complexType": {
"signature": "() => Promise<number | null | undefined>",
"parameters": [],
"references": {
"Promise": {
"location": "global",
"id": "global::Promise"
}
},
"return": "Promise<number | null | undefined>"
},
"docs": {
"text": "Get selection end of internal element.",
"tags": []
}
},
"setSelectionRange": {
"complexType": {
"signature": "(selectionStart: number, selectionEnd: number, selectionDirection?: \"forward\" | \"backward\" | \"none\") => Promise<void>",
"parameters": [{
"name": "selectionStart",
"type": "number",
"docs": ""
}, {
"name": "selectionEnd",
"type": "number",
"docs": ""
}, {
"name": "selectionDirection",
"type": "\"none\" | \"forward\" | \"backward\" | undefined",
"docs": ""
}],
"references": {
"Promise": {
"location": "global",
"id": "global::Promise"
}
},
"return": "Promise<void>"
},
"docs": {
"text": "Set selection start and end, and optional in which direction, of internal element; just like https://developer.mozilla.org/docs/Web/API/HTMLInputElement/setSelectionRange",
"tags": []
}
},
"setSelectionStart": {
"complexType": {
"signature": "(selectionStart: number) => Promise<void>",
"parameters": [{
"name": "selectionStart",
"type": "number",
"docs": ""
}],
"references": {
"Promise": {
"location": "global",
"id": "global::Promise"
}
},
"return": "Promise<void>"
},
"docs": {
"text": "Set selection start (and end = start) of internal element.",
"tags": []
}
},
"setRangeText": {
"complexType": {
"signature": "(replacement: string, selectionStart?: number, selectionEnd?: number, selectMode?: \"select\" | \"start\" | \"end\" | \"preserve\") => Promise<void>",
"parameters": [{
"name": "replacement",
"type": "string",
"docs": ""
}, {
"name": "selectionStart",
"type": "number | undefined",
"docs": ""
}, {
"name": "selectionEnd",
"type": "number | undefined",
"docs": ""
}, {
"name": "selectMode",
"type": "\"select\" | \"start\" | \"end\" | \"preserve\" | undefined",
"docs": ""
}],
"references": {
"Promise": {
"location": "global",
"id": "global::Promise"
}
},
"return": "Promise<void>"
},
"docs": {
"text": "Add string at position of internal element; just like https://developer.mozilla.org/docs/Web/API/HTMLInputElement/setRangeText",
"tags": []
}
}
};
}
static get elementRef() { return "host"; }
static get watchers() {
return [{
"propName": "_accessKey",
"methodName": "validateAccessKey"
}, {
"propName": "_autoComplete",
"methodName": "validateAutoComplete"
}, {
"propName": "_maxLengthBehavior",
"methodName": "validateMaxLengthBehavior"
}, {
"propName": "_disabled",
"methodName": "validateDisabled"
}, {
"propName": "_hideMsg",
"methodName": "validateHideMsg"
}, {
"propName": "_hideLabel",
"methodName": "validateHideLabel"
}, {
"propName": "_hasCounter",
"methodName": "validateHasCounter"
}, {
"propName": "_hint",
"methodName": "validateHint"
}, {
"propName": "_icons",
"methodName": "validateIcons"
}, {
"propName": "_label",
"methodName": "validateLabel"
}, {
"propName": "_maxLength",
"methodName": "validateMaxLength"
}, {
"propName": "_msg",
"methodName": "validateMsg"
}, {
"propName": "_name",
"methodName": "validateName"
}, {
"propName": "_on",
"methodName": "validateOn"
}, {
"propName": "_pattern",
"methodName": "validatePattern"
}, {
"propName": "_placeholder",
"methodName": "validatePlaceholder"
}, {
"propName": "_readOnly",
"methodName": "validateReadOnly"
}, {
"propName": "_required",
"methodName": "validateRequired"
}, {
"propName": "_shortKey",
"methodName": "validateShortKey"
}, {
"propName": "_spellCheck",
"methodName": "validateSpellCheck"
}, {
"propName": "_suggestions",
"methodName": "validateSuggestions"
}, {
"propName": "_smartButton",
"methodName": "validateSmartButton"
}, {
"propName": "_syncValueBySelector",
"methodName": "validateSyncValueBySelector"
}, {
"propName": "_touched",
"methodName": "validateTouched"
}, {
"propName": "_type",
"methodName": "validateType"
}, {
"propName": "_value",
"methodName": "validateValue"
}, {
"propName": "_variant",
"methodName": "validateVariant"
}];
}
}
__decorate([
delegateFocus('ctaRef')
], KolInputText.prototype, "focus", null);
__decorate([
delegateClick('ctaRef')
], KolInputText.prototype, "click", null);
//# sourceMappingURL=shadow.js.map