@iyulab/components 1.28.0 → 1.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +57 -0
- package/dist/_virtual/{_@oxc-project_runtime@0.144.0 → _@oxc-project_runtime@0.146.0}/helpers/esm/decorate.js +1 -1
- package/dist/_virtual/{_@oxc-project_runtime@0.144.0 → _@oxc-project_runtime@0.146.0}/helpers/esm/decorateMetadata.js +1 -1
- package/dist/assets/locales/ar.json.js +12 -2
- package/dist/assets/locales/de.json.js +12 -2
- package/dist/assets/locales/en.json.js +12 -2
- package/dist/assets/locales/es.json.js +12 -2
- package/dist/assets/locales/fr.json.js +12 -2
- package/dist/assets/locales/id.json.js +12 -2
- package/dist/assets/locales/ja.json.js +12 -2
- package/dist/assets/locales/ko.json.js +12 -2
- package/dist/assets/locales/pt-BR.json.js +12 -2
- package/dist/assets/locales/ru.json.js +12 -2
- package/dist/assets/locales/th.json.js +12 -2
- package/dist/assets/locales/vi.json.js +12 -2
- package/dist/assets/locales/zh-CN.json.js +12 -2
- package/dist/assets/locales/zh-TW.json.js +12 -2
- package/dist/components/UFloatingElement.js +2 -2
- package/dist/components/UFormControlElement.js +2 -2
- package/dist/components/UOverlayElement.js +2 -2
- package/dist/components/alert/UAlert.js +2 -2
- package/dist/components/avatar/UAvatar.js +2 -2
- package/dist/components/badge/UBadge.js +2 -2
- package/dist/components/breadcrumb/UBreadcrumb.js +1 -1
- package/dist/components/breadcrumb-item/UBreadcrumbItem.js +2 -2
- package/dist/components/button/UButton.js +2 -2
- package/dist/components/button-group/UButtonGroup.js +2 -2
- package/dist/components/card/UCard.js +2 -2
- package/dist/components/carousel/UCarousel.js +2 -2
- package/dist/components/checkbox/UCheckbox.d.ts +2 -0
- package/dist/components/checkbox/UCheckbox.js +8 -2
- package/dist/components/chip/UChip.js +2 -3
- package/dist/components/copy-button/UCopyButton.js +2 -2
- package/dist/components/date-picker/UDatePicker.d.ts +9 -0
- package/dist/components/date-picker/UDatePicker.js +21 -2
- package/dist/components/dialog/UDialog.js +2 -2
- package/dist/components/divider/UDivider.js +2 -2
- package/dist/components/drawer/UDrawer.js +2 -2
- package/dist/components/expander/UExpander.js +2 -2
- package/dist/components/field/UField.d.ts +4 -0
- package/dist/components/field/UField.js +13 -7
- package/dist/components/form/UForm.js +2 -2
- package/dist/components/icon/UIcon.js +2 -2
- package/dist/components/icon-button/UIconButton.js +2 -2
- package/dist/components/input/UInput.d.ts +14 -0
- package/dist/components/input/UInput.js +66 -2
- package/dist/components/input/UInput.styles.js +7 -0
- package/dist/components/menu/UMenu.js +2 -2
- package/dist/components/menu-item/UMenuItem.js +2 -2
- package/dist/components/option/UOption.js +2 -2
- package/dist/components/panel/UPanel.js +2 -2
- package/dist/components/popover/UPopover.js +2 -2
- package/dist/components/progress-bar/UProgressBar.js +2 -2
- package/dist/components/progress-ring/UProgressRing.js +2 -2
- package/dist/components/radio/URadio.js +2 -2
- package/dist/components/rating/URating.js +2 -2
- package/dist/components/select/USelect.d.ts +9 -0
- package/dist/components/select/USelect.js +21 -2
- package/dist/components/skeleton/USkeleton.js +2 -2
- package/dist/components/slider/USlider.d.ts +8 -0
- package/dist/components/slider/USlider.js +13 -2
- package/dist/components/spinner/USpinner.js +2 -2
- package/dist/components/split-panel/USplitPanel.js +2 -2
- package/dist/components/switch/USwitch.d.ts +2 -0
- package/dist/components/switch/USwitch.js +8 -2
- package/dist/components/tab/UTab.js +2 -3
- package/dist/components/tab-panel/UTabPanel.js +2 -2
- package/dist/components/tag/UTag.js +2 -2
- package/dist/components/text/UText.js +2 -2
- package/dist/components/textarea/UTextarea.d.ts +2 -0
- package/dist/components/textarea/UTextarea.js +8 -2
- package/dist/components/tooltip/UTooltip.js +2 -2
- package/dist/components/tree/UTree.js +2 -2
- package/dist/components/tree-item/UTreeItem.js +2 -2
- package/dist/utilities/Locale.d.ts +1 -1
- package/package.json +1 -1
- package/skills/iyulab-components/references/components/checkbox.md +2 -0
- package/skills/iyulab-components/references/components/date-picker.md +2 -0
- package/skills/iyulab-components/references/components/field.md +6 -0
- package/skills/iyulab-components/references/components/input.md +9 -1
- package/skills/iyulab-components/references/components/select.md +2 -0
- package/skills/iyulab-components/references/components/slider.md +2 -0
- package/skills/iyulab-components/references/components/switch.md +2 -0
- package/skills/iyulab-components/references/components/textarea.md +2 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import "../button/UButton.js";
|
|
5
5
|
import "../icon/UIcon.js";
|
|
6
6
|
import "../icon-button/UIconButton.js";
|
|
@@ -59,9 +59,18 @@ export declare class UDatePicker extends UFormControlElement<string> {
|
|
|
59
59
|
private handlePopoverShow;
|
|
60
60
|
private handlePopoverHide;
|
|
61
61
|
private handleClearClick;
|
|
62
|
+
/** suffix `u-icon`은 순수 표시 요소(버튼 아님)라 네이티브 키보드 활성화가 없다 —
|
|
63
|
+
* `role="button"`+`tabindex="0"`로 포커스 가능하게 한 뒤, Enter/Space를 같은 클릭
|
|
64
|
+
* 핸들러로 릴레이한다(`UInput`/`USelect`의 동일 패턴과 일치). */
|
|
65
|
+
private handleClearKeydown;
|
|
62
66
|
private emitChange;
|
|
63
67
|
protected setValidity(): void;
|
|
64
68
|
reset(): void;
|
|
69
|
+
/** `.container`는 div라 네이티브 `disabled`가 없다 — disabled일 때 `tabindex="-1"`로만
|
|
70
|
+
* Tab 순서에서 빠지고 프로그램적 `.focus()`는 여전히 통과하므로, `UInput.focus()`가
|
|
71
|
+
* 네이티브 `disabled` `<input>`에서 얻는 것과 같은 no-op을 여기서 직접 재현한다. */
|
|
72
|
+
focus(options?: FocusOptions): void;
|
|
73
|
+
blur(): void;
|
|
65
74
|
}
|
|
66
75
|
declare global {
|
|
67
76
|
interface HTMLElementTagNameMap {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
3
3
|
import { UFormControlElement } from "../UFormControlElement.js";
|
|
4
4
|
import "../icon/UIcon.js";
|
|
5
5
|
import "../icon-button/UIconButton.js";
|
|
@@ -121,6 +121,11 @@ var UDatePicker = class UDatePicker extends UFormControlElement {
|
|
|
121
121
|
if (hadValue) this.emitChange();
|
|
122
122
|
this.containerEl?.focus();
|
|
123
123
|
};
|
|
124
|
+
this.handleClearKeydown = (e) => {
|
|
125
|
+
if (e.key !== "Enter" && e.key !== " ") return;
|
|
126
|
+
e.preventDefault();
|
|
127
|
+
this.handleClearClick(e);
|
|
128
|
+
};
|
|
124
129
|
}
|
|
125
130
|
static {
|
|
126
131
|
this.styles = [super.styles, styles];
|
|
@@ -156,9 +161,13 @@ var UDatePicker = class UDatePicker extends UFormControlElement {
|
|
|
156
161
|
<span class="text-content ${!displayText ? "placeholder" : ""}">${displayText || this.placeholder || ""}</span>
|
|
157
162
|
<u-icon class="suffix-item"
|
|
158
163
|
?hidden=${!this.clearable || !this.value || this.disabled || this.readonly}
|
|
164
|
+
role="button"
|
|
165
|
+
tabindex="0"
|
|
166
|
+
aria-label=${Locale.getValue("clear")}
|
|
159
167
|
lib="internal"
|
|
160
168
|
name="x"
|
|
161
169
|
@click=${this.handleClearClick}
|
|
170
|
+
@keydown=${this.handleClearKeydown}
|
|
162
171
|
></u-icon>
|
|
163
172
|
<u-icon class="suffix-item"
|
|
164
173
|
lib="internal"
|
|
@@ -288,6 +297,16 @@ var UDatePicker = class UDatePicker extends UFormControlElement {
|
|
|
288
297
|
this.value = void 0;
|
|
289
298
|
this.invalid = false;
|
|
290
299
|
}
|
|
300
|
+
/** `.container`는 div라 네이티브 `disabled`가 없다 — disabled일 때 `tabindex="-1"`로만
|
|
301
|
+
* Tab 순서에서 빠지고 프로그램적 `.focus()`는 여전히 통과하므로, `UInput.focus()`가
|
|
302
|
+
* 네이티브 `disabled` `<input>`에서 얻는 것과 같은 no-op을 여기서 직접 재현한다. */
|
|
303
|
+
focus(options) {
|
|
304
|
+
if (this.disabled) return;
|
|
305
|
+
this.containerEl?.focus(options);
|
|
306
|
+
}
|
|
307
|
+
blur() {
|
|
308
|
+
this.containerEl?.blur();
|
|
309
|
+
}
|
|
291
310
|
};
|
|
292
311
|
__decorate([property({ type: String }), __decorateMetadata("design:type", String)], UDatePicker.prototype, "min", void 0);
|
|
293
312
|
__decorate([property({ type: String }), __decorateMetadata("design:type", String)], UDatePicker.prototype, "max", void 0);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
3
3
|
import { UOverlayElement } from "../UOverlayElement.js";
|
|
4
4
|
import "../button/UButton.js";
|
|
5
5
|
import "../icon/UIcon.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import { styles } from "./UDivider.styles.js";
|
|
5
5
|
import { html } from "lit";
|
|
6
6
|
import { customElement, property } from "lit/decorators.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
3
3
|
import { UOverlayElement } from "../UOverlayElement.js";
|
|
4
4
|
import "../button/UButton.js";
|
|
5
5
|
import "../icon/UIcon.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import "../icon/UIcon.js";
|
|
5
5
|
import { styles } from "./UExpander.styles.js";
|
|
6
6
|
import { html } from "lit";
|
|
@@ -29,6 +29,10 @@ export declare class UField extends UElement {
|
|
|
29
29
|
validationMessage?: string;
|
|
30
30
|
render(): import('lit-html').TemplateResult<1>;
|
|
31
31
|
private renderFooter;
|
|
32
|
+
/** 슬롯에 꽂힌 첫 포커스 가능 자식으로 위임한다 — 라벨 클릭과 같은 대상 탐색 로직을
|
|
33
|
+
* 공개 API로도 노출해, 소비자가 임의의 폼 컨트롤(자체 웹 컴포넌트가 아닌 것 포함)을
|
|
34
|
+
* 슬롯에 꽂아도 host의 `.focus()`가 `UInput.focus()`와 같은 계약으로 동작하게 한다. */
|
|
35
|
+
focus(options?: FocusOptions): void;
|
|
32
36
|
private handleLabelClick;
|
|
33
37
|
}
|
|
34
38
|
declare global {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import { styles } from "./UField.styles.js";
|
|
5
5
|
import { html, nothing } from "lit";
|
|
6
6
|
import { customElement, property } from "lit/decorators.js";
|
|
@@ -13,11 +13,7 @@ var UField = class UField extends UElement {
|
|
|
13
13
|
this.required = false;
|
|
14
14
|
this.invalid = false;
|
|
15
15
|
this.handleLabelClick = () => {
|
|
16
|
-
|
|
17
|
-
for (const node of nodes) if (isFocusable(node)) {
|
|
18
|
-
node.focus();
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
16
|
+
this.focus();
|
|
21
17
|
};
|
|
22
18
|
}
|
|
23
19
|
static {
|
|
@@ -43,6 +39,16 @@ var UField = class UField extends UElement {
|
|
|
43
39
|
if (!message) return nothing;
|
|
44
40
|
return html`<div class="footer">${message}</div>`;
|
|
45
41
|
}
|
|
42
|
+
/** 슬롯에 꽂힌 첫 포커스 가능 자식으로 위임한다 — 라벨 클릭과 같은 대상 탐색 로직을
|
|
43
|
+
* 공개 API로도 노출해, 소비자가 임의의 폼 컨트롤(자체 웹 컴포넌트가 아닌 것 포함)을
|
|
44
|
+
* 슬롯에 꽂아도 host의 `.focus()`가 `UInput.focus()`와 같은 계약으로 동작하게 한다. */
|
|
45
|
+
focus(options) {
|
|
46
|
+
const nodes = (this.shadowRoot?.querySelector("slot:not([name])"))?.assignedElements({ flatten: true }) || [];
|
|
47
|
+
for (const node of nodes) if (isFocusable(node)) {
|
|
48
|
+
node.focus(options);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
46
52
|
};
|
|
47
53
|
__decorate([property({
|
|
48
54
|
type: Boolean,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import { UFormControlElement } from "../UFormControlElement.js";
|
|
5
5
|
import { arrayAttrConverter } from "../../utilities/converters.js";
|
|
6
6
|
import { styles } from "./UForm.styles.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import { IconRegistry, getDefaultBaseUrl } from "../../utilities/icons.js";
|
|
5
5
|
import { styles } from "./UIcon.styles.js";
|
|
6
6
|
import { nothing } from "lit";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import "../button/UButton.js";
|
|
5
5
|
import "../icon/UIcon.js";
|
|
6
6
|
import "../tooltip/UTooltip.js";
|
|
@@ -102,8 +102,22 @@ export declare class UInput extends UFormControlElement<string> {
|
|
|
102
102
|
private handleInputChange;
|
|
103
103
|
private handleInputBlur;
|
|
104
104
|
private handleInputKeydown;
|
|
105
|
+
/** suffix `u-icon`은 순수 표시 요소(버튼 아님)라 네이티브 키보드 활성화가 없다 —
|
|
106
|
+
* `role="button"`+`tabindex="0"`로 포커스 가능하게 한 뒤, Enter/Space를 같은 클릭
|
|
107
|
+
* 핸들러로 릴레이한다. `e.preventDefault()`는 Space가 페이지를 스크롤시키는 것을 막는다. */
|
|
108
|
+
private handleSuffixIconKeydown;
|
|
105
109
|
private handlePasswordTogglerClick;
|
|
106
110
|
private handleClearButtonClick;
|
|
111
|
+
/** 경계(min/max)에 걸리면 시각적으로 흐리고 마우스 클릭을 막는다(CSS `pointer-events:
|
|
112
|
+
* none`) — 네이티브 stepUp/stepDown 자체가 경계에서 조용히 no-op이라 값이 튀지는
|
|
113
|
+
* 않지만, 헛클릭 피드백을 준다. 키보드 Enter/Space는 `pointer-events`의 영향을 받지
|
|
114
|
+
* 않아 그대로 stepUp/stepDown까지 가지만 결과는 동일하게 no-op이다. */
|
|
115
|
+
private get canIncrement();
|
|
116
|
+
private get canDecrement();
|
|
117
|
+
/** 네이티브 `<input type="number">`의 stepUp/stepDown에 위임한다 — min/max/step 클램핑을
|
|
118
|
+
* 다시 구현하지 않는다. 클릭이 곧 "값을 확정"하는 동작이라 change도 함께 낸다(네이티브
|
|
119
|
+
* 스핀 버튼과 동일하게, 타이핑 중 blur 대기가 아니다). */
|
|
120
|
+
private handleStepperClick;
|
|
107
121
|
private handleOptionClick;
|
|
108
122
|
private handleOptionKeydown;
|
|
109
123
|
private handlePopoverShow;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
3
3
|
import { UFormControlElement } from "../UFormControlElement.js";
|
|
4
4
|
import "../spinner/USpinner.js";
|
|
5
5
|
import "../icon/UIcon.js";
|
|
@@ -72,6 +72,11 @@ var UInput = class UInput extends UFormControlElement {
|
|
|
72
72
|
this.popoverEl?.hide();
|
|
73
73
|
}
|
|
74
74
|
};
|
|
75
|
+
this.handleSuffixIconKeydown = (action) => (e) => {
|
|
76
|
+
if (e.key !== "Enter" && e.key !== " ") return;
|
|
77
|
+
e.preventDefault();
|
|
78
|
+
action(e);
|
|
79
|
+
};
|
|
75
80
|
this.handlePasswordTogglerClick = (e) => {
|
|
76
81
|
e.stopImmediatePropagation();
|
|
77
82
|
this.showPassword = !this.showPassword;
|
|
@@ -86,6 +91,23 @@ var UInput = class UInput extends UFormControlElement {
|
|
|
86
91
|
}));
|
|
87
92
|
this.focus();
|
|
88
93
|
};
|
|
94
|
+
this.handleStepperClick = (delta) => (e) => {
|
|
95
|
+
e.stopImmediatePropagation();
|
|
96
|
+
const input = this.inputEl;
|
|
97
|
+
if (!input) return;
|
|
98
|
+
try {
|
|
99
|
+
if (delta === 1) input.stepUp();
|
|
100
|
+
else input.stepDown();
|
|
101
|
+
} catch {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
input.dispatchEvent(new InputEvent("input", { bubbles: true }));
|
|
105
|
+
this.dispatchEvent(new Event("change", {
|
|
106
|
+
bubbles: true,
|
|
107
|
+
composed: true
|
|
108
|
+
}));
|
|
109
|
+
this.focus();
|
|
110
|
+
};
|
|
89
111
|
this.handleOptionClick = (e) => {
|
|
90
112
|
const option = e.currentTarget;
|
|
91
113
|
if (option.disabled) return;
|
|
@@ -184,15 +206,45 @@ var UInput = class UInput extends UFormControlElement {
|
|
|
184
206
|
|
|
185
207
|
<u-icon class="suffix-item"
|
|
186
208
|
?hidden=${this.type !== "password" || this.disabled || this.readonly}
|
|
209
|
+
role="button"
|
|
210
|
+
tabindex="0"
|
|
211
|
+
aria-label=${Locale.getValue(this.showPassword ? "hidePassword" : "showPassword")}
|
|
187
212
|
lib="internal"
|
|
188
213
|
name=${this.showPassword ? "eye-off" : "eye"}
|
|
189
214
|
@click=${this.handlePasswordTogglerClick}
|
|
215
|
+
@keydown=${this.handleSuffixIconKeydown(this.handlePasswordTogglerClick)}
|
|
190
216
|
></u-icon>
|
|
191
217
|
<u-icon class="suffix-item"
|
|
192
218
|
?hidden=${!this.clearable || this.disabled || this.readonly || !this.value}
|
|
219
|
+
role="button"
|
|
220
|
+
tabindex="0"
|
|
221
|
+
aria-label=${Locale.getValue("clear")}
|
|
193
222
|
lib="internal"
|
|
194
223
|
name="x"
|
|
195
224
|
@click=${this.handleClearButtonClick}
|
|
225
|
+
@keydown=${this.handleSuffixIconKeydown(this.handleClearButtonClick)}
|
|
226
|
+
></u-icon>
|
|
227
|
+
<u-icon class="suffix-item stepper-btn"
|
|
228
|
+
?hidden=${this.type !== "number" || this.disabled || this.readonly}
|
|
229
|
+
role="button"
|
|
230
|
+
tabindex="0"
|
|
231
|
+
aria-disabled=${!this.canDecrement}
|
|
232
|
+
aria-label=${Locale.getValue("decrement")}
|
|
233
|
+
lib="internal"
|
|
234
|
+
name="minus"
|
|
235
|
+
@click=${this.handleStepperClick(-1)}
|
|
236
|
+
@keydown=${this.handleSuffixIconKeydown(this.handleStepperClick(-1))}
|
|
237
|
+
></u-icon>
|
|
238
|
+
<u-icon class="suffix-item stepper-btn"
|
|
239
|
+
?hidden=${this.type !== "number" || this.disabled || this.readonly}
|
|
240
|
+
role="button"
|
|
241
|
+
tabindex="0"
|
|
242
|
+
aria-disabled=${!this.canIncrement}
|
|
243
|
+
aria-label=${Locale.getValue("increment")}
|
|
244
|
+
lib="internal"
|
|
245
|
+
name="plus"
|
|
246
|
+
@click=${this.handleStepperClick(1)}
|
|
247
|
+
@keydown=${this.handleSuffixIconKeydown(this.handleStepperClick(1))}
|
|
196
248
|
></u-icon>
|
|
197
249
|
</div>
|
|
198
250
|
</u-field>
|
|
@@ -279,6 +331,18 @@ var UInput = class UInput extends UFormControlElement {
|
|
|
279
331
|
option.removeEventListener("keydown", this.handleOptionKeydown);
|
|
280
332
|
}
|
|
281
333
|
}
|
|
334
|
+
/** 경계(min/max)에 걸리면 시각적으로 흐리고 마우스 클릭을 막는다(CSS `pointer-events:
|
|
335
|
+
* none`) — 네이티브 stepUp/stepDown 자체가 경계에서 조용히 no-op이라 값이 튀지는
|
|
336
|
+
* 않지만, 헛클릭 피드백을 준다. 키보드 Enter/Space는 `pointer-events`의 영향을 받지
|
|
337
|
+
* 않아 그대로 stepUp/stepDown까지 가지만 결과는 동일하게 no-op이다. */
|
|
338
|
+
get canIncrement() {
|
|
339
|
+
if (this.max === void 0 || this.max === "" || !this.value) return true;
|
|
340
|
+
return Number(this.value) < Number(this.max);
|
|
341
|
+
}
|
|
342
|
+
get canDecrement() {
|
|
343
|
+
if (this.min === void 0 || this.min === "" || !this.value) return true;
|
|
344
|
+
return Number(this.value) > Number(this.min);
|
|
345
|
+
}
|
|
282
346
|
};
|
|
283
347
|
__decorate([property({
|
|
284
348
|
type: String,
|
|
@@ -166,6 +166,13 @@ var styles = css`
|
|
|
166
166
|
.suffix-item:active {
|
|
167
167
|
color: var(--u-icon-color-active, #1565C0);
|
|
168
168
|
}
|
|
169
|
+
.stepper-btn {
|
|
170
|
+
font-size: 0.85em;
|
|
171
|
+
}
|
|
172
|
+
.stepper-btn[aria-disabled="true"] {
|
|
173
|
+
opacity: 0.35;
|
|
174
|
+
pointer-events: none;
|
|
175
|
+
}
|
|
169
176
|
|
|
170
177
|
u-popover {
|
|
171
178
|
width: var(--input-popover-width, var(--anchor-width, 100%));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import { UMenuItem } from "../menu-item/UMenuItem.js";
|
|
5
5
|
import { styles } from "./UMenu.styles.js";
|
|
6
6
|
import { html } from "lit";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import "../icon/UIcon.js";
|
|
5
5
|
import "../popover/UPopover.js";
|
|
6
6
|
import { UDivider } from "../divider/UDivider.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import "../icon/UIcon.js";
|
|
5
5
|
import { styles } from "./UOption.styles.js";
|
|
6
6
|
import { html, nothing } from "lit";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import { styles } from "./UPanel.styles.js";
|
|
5
5
|
import { html } from "lit";
|
|
6
6
|
import { customElement, property } from "lit/decorators.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
3
3
|
import { UFloatingElement } from "../UFloatingElement.js";
|
|
4
4
|
import { arrayAttrConverter } from "../../utilities/converters.js";
|
|
5
5
|
import { styles } from "./UPopover.styles.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import { styles } from "./UProgressBar.styles.js";
|
|
5
5
|
import { html } from "lit";
|
|
6
6
|
import { customElement, property, state } from "lit/decorators.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import { styles } from "./UProgressRing.styles.js";
|
|
5
5
|
import { html } from "lit";
|
|
6
6
|
import { customElement, property, state } from "lit/decorators.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
3
3
|
import { UFormControlElement } from "../UFormControlElement.js";
|
|
4
4
|
import { Locale } from "../../utilities/Locale.js";
|
|
5
5
|
import "../field/UField.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
3
3
|
import { UFormControlElement } from "../UFormControlElement.js";
|
|
4
4
|
import "../icon/UIcon.js";
|
|
5
5
|
import { Locale } from "../../utilities/Locale.js";
|
|
@@ -62,6 +62,11 @@ export declare class USelect extends UFormControlElement<string | string[]> {
|
|
|
62
62
|
private renderContent;
|
|
63
63
|
protected setValidity(): void;
|
|
64
64
|
reset(): void;
|
|
65
|
+
/** `.container`는 div라 네이티브 `disabled`가 없다 — disabled일 때 `tabindex="-1"`로만
|
|
66
|
+
* Tab 순서에서 빠지고 프로그램적 `.focus()`는 여전히 통과하므로, `UInput.focus()`가
|
|
67
|
+
* 네이티브 `disabled` `<input>`에서 얻는 것과 같은 no-op을 여기서 직접 재현한다. */
|
|
68
|
+
focus(options?: FocusOptions): void;
|
|
69
|
+
blur(): void;
|
|
65
70
|
private setup;
|
|
66
71
|
private cleanup;
|
|
67
72
|
private onChangeValue;
|
|
@@ -76,6 +81,10 @@ export declare class USelect extends UFormControlElement<string | string[]> {
|
|
|
76
81
|
private handleSearchInput;
|
|
77
82
|
private handleSearchKeydown;
|
|
78
83
|
private handleClearClick;
|
|
84
|
+
/** suffix `u-icon`은 순수 표시 요소(버튼 아님)라 네이티브 키보드 활성화가 없다 —
|
|
85
|
+
* `role="button"`+`tabindex="0"`로 포커스 가능하게 한 뒤, Enter/Space를 같은 클릭
|
|
86
|
+
* 핸들러로 릴레이한다(`UInput`의 동일 패턴과 일치). */
|
|
87
|
+
private handleClearKeydown;
|
|
79
88
|
private handleChipRemove;
|
|
80
89
|
}
|
|
81
90
|
declare global {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
3
3
|
import { UFormControlElement } from "../UFormControlElement.js";
|
|
4
4
|
import "../spinner/USpinner.js";
|
|
5
5
|
import "../icon/UIcon.js";
|
|
@@ -111,6 +111,11 @@ var USelect = class USelect extends UFormControlElement {
|
|
|
111
111
|
this.emitChange();
|
|
112
112
|
this.containerEl?.click();
|
|
113
113
|
};
|
|
114
|
+
this.handleClearKeydown = (e) => {
|
|
115
|
+
if (e.key !== "Enter" && e.key !== " ") return;
|
|
116
|
+
e.preventDefault();
|
|
117
|
+
this.handleClearClick(e);
|
|
118
|
+
};
|
|
114
119
|
this.handleChipRemove = (e) => {
|
|
115
120
|
const value = e.currentTarget.dataset.value;
|
|
116
121
|
if (!value) return;
|
|
@@ -172,9 +177,13 @@ var USelect = class USelect extends UFormControlElement {
|
|
|
172
177
|
|
|
173
178
|
<u-icon class="suffix-item"
|
|
174
179
|
?hidden=${!this.clearable || !this.hasValue || this.disabled || this.readonly}
|
|
180
|
+
role="button"
|
|
181
|
+
tabindex="0"
|
|
182
|
+
aria-label=${Locale.getValue("clear")}
|
|
175
183
|
lib="internal"
|
|
176
184
|
name="x"
|
|
177
185
|
@click=${this.handleClearClick}
|
|
186
|
+
@keydown=${this.handleClearKeydown}
|
|
178
187
|
></u-icon>
|
|
179
188
|
<u-icon class="suffix-item"
|
|
180
189
|
?hidden=${this.loading}
|
|
@@ -256,6 +265,16 @@ var USelect = class USelect extends UFormControlElement {
|
|
|
256
265
|
this.value = this.multiple ? [] : "";
|
|
257
266
|
this.invalid = false;
|
|
258
267
|
}
|
|
268
|
+
/** `.container`는 div라 네이티브 `disabled`가 없다 — disabled일 때 `tabindex="-1"`로만
|
|
269
|
+
* Tab 순서에서 빠지고 프로그램적 `.focus()`는 여전히 통과하므로, `UInput.focus()`가
|
|
270
|
+
* 네이티브 `disabled` `<input>`에서 얻는 것과 같은 no-op을 여기서 직접 재현한다. */
|
|
271
|
+
focus(options) {
|
|
272
|
+
if (this.disabled) return;
|
|
273
|
+
this.containerEl?.focus(options);
|
|
274
|
+
}
|
|
275
|
+
blur() {
|
|
276
|
+
this.containerEl?.blur();
|
|
277
|
+
}
|
|
259
278
|
setup(options) {
|
|
260
279
|
for (const option of options) {
|
|
261
280
|
option.removeEventListener("click", this.handleOptionClick);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import { styles } from "./USkeleton.styles.js";
|
|
5
5
|
import { html } from "lit";
|
|
6
6
|
import { customElement, property } from "lit/decorators.js";
|
|
@@ -60,6 +60,9 @@ export declare class USlider extends UFormControlElement<number | number[]> {
|
|
|
60
60
|
private dragging;
|
|
61
61
|
private trackEl;
|
|
62
62
|
private containerEl?;
|
|
63
|
+
/** `.container`는 포인터 이벤트 좌표 계산용 래퍼일 뿐 tabindex가 없다 — 실제
|
|
64
|
+
* 포커스 가능한 대상은 min thumb(단일 모드의 유일한 thumb, range 모드의 시작값)다. */
|
|
65
|
+
private minThumbEl?;
|
|
63
66
|
protected shouldValidate(changed: PropertyValues): boolean;
|
|
64
67
|
get valueAsNumber(): number;
|
|
65
68
|
get valueAsArray(): number[];
|
|
@@ -74,6 +77,11 @@ export declare class USlider extends UFormControlElement<number | number[]> {
|
|
|
74
77
|
render(): TemplateResult<1>;
|
|
75
78
|
protected setValidity(): void;
|
|
76
79
|
reset(): void;
|
|
80
|
+
/** thumb는 div라 네이티브 `disabled`가 없다 — disabled일 때 `tabindex="-1"`로만 Tab
|
|
81
|
+
* 순서에서 빠지고 프로그램적 `.focus()`는 여전히 통과하므로, `UInput.focus()`가
|
|
82
|
+
* 네이티브 `disabled` `<input>`에서 얻는 것과 같은 no-op을 여기서 직접 재현한다. */
|
|
83
|
+
focus(options?: FocusOptions): void;
|
|
84
|
+
blur(): void;
|
|
77
85
|
private onChangeValue;
|
|
78
86
|
/** 사용자 상호작용으로 값이 확정된 경로에서만 호출한다 — 프로그램적 value 세팅은
|
|
79
87
|
* 네이티브 폼 컨트롤과 동일하게 change를 발화하지 않는다. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
3
3
|
import { UFormControlElement } from "../UFormControlElement.js";
|
|
4
4
|
import "../tooltip/UTooltip.js";
|
|
5
5
|
import { Locale } from "../../utilities/Locale.js";
|
|
@@ -200,6 +200,16 @@ var USlider = class USlider extends UFormControlElement {
|
|
|
200
200
|
else this.value = this.offset ?? this.min;
|
|
201
201
|
this.invalid = false;
|
|
202
202
|
}
|
|
203
|
+
/** thumb는 div라 네이티브 `disabled`가 없다 — disabled일 때 `tabindex="-1"`로만 Tab
|
|
204
|
+
* 순서에서 빠지고 프로그램적 `.focus()`는 여전히 통과하므로, `UInput.focus()`가
|
|
205
|
+
* 네이티브 `disabled` `<input>`에서 얻는 것과 같은 no-op을 여기서 직접 재현한다. */
|
|
206
|
+
focus(options) {
|
|
207
|
+
if (this.disabled) return;
|
|
208
|
+
this.minThumbEl?.focus(options);
|
|
209
|
+
}
|
|
210
|
+
blur() {
|
|
211
|
+
this.minThumbEl?.blur();
|
|
212
|
+
}
|
|
203
213
|
onChangeValue() {
|
|
204
214
|
if (Array.isArray(this.value)) this.value = [this.snap(this.value[0]), this.snap(this.value[1])];
|
|
205
215
|
else if (typeof this.value === "number") this.value = this.snap(this.value);
|
|
@@ -300,6 +310,7 @@ __decorate([property({ converter: { fromAttribute: (value) => {
|
|
|
300
310
|
__decorate([state(), __decorateMetadata("design:type", Object)], USlider.prototype, "dragging", void 0);
|
|
301
311
|
__decorate([query(".track"), __decorateMetadata("design:type", typeof HTMLElement === "undefined" ? Object : HTMLElement)], USlider.prototype, "trackEl", void 0);
|
|
302
312
|
__decorate([query(".container"), __decorateMetadata("design:type", typeof HTMLElement === "undefined" ? Object : HTMLElement)], USlider.prototype, "containerEl", void 0);
|
|
313
|
+
__decorate([query(".thumb[data-thumb=\"min\"]"), __decorateMetadata("design:type", typeof HTMLElement === "undefined" ? Object : HTMLElement)], USlider.prototype, "minThumbEl", void 0);
|
|
303
314
|
USlider = __decorate([customElement("u-slider")], USlider);
|
|
304
315
|
//#endregion
|
|
305
316
|
export { USlider };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import { styles } from "./USpinner.styles.js";
|
|
5
5
|
import { html } from "lit";
|
|
6
6
|
import { customElement, property, state } from "lit/decorators.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.146.0/helpers/esm/decorate.js";
|
|
4
4
|
import { arrayAttrConverter } from "../../utilities/converters.js";
|
|
5
5
|
import { styles } from "./USplitPanel.styles.js";
|
|
6
6
|
import { html } from "lit";
|
|
@@ -41,6 +41,8 @@ export declare class USwitch extends UFormControlElement<string> {
|
|
|
41
41
|
render(): import('lit-html').TemplateResult<1>;
|
|
42
42
|
protected setValidity(): void;
|
|
43
43
|
reset(): void;
|
|
44
|
+
focus(options?: FocusOptions): void;
|
|
45
|
+
blur(): void;
|
|
44
46
|
private handleInputChange;
|
|
45
47
|
}
|
|
46
48
|
declare global {
|