@iyulab/components 1.0.9 → 1.1.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.
Files changed (55) hide show
  1. package/dist/_virtual/{_@oxc-project_runtime@0.132.0/helpers → _@oxc-project_runtime@0.133.0/helpers/esm}/decorate.js +1 -1
  2. package/dist/_virtual/{_@oxc-project_runtime@0.132.0/helpers → _@oxc-project_runtime@0.133.0/helpers/esm}/decorateMetadata.js +1 -1
  3. package/dist/components/UFloatingElement.js +2 -2
  4. package/dist/components/UFormControlElement.d.ts +2 -0
  5. package/dist/components/UFormControlElement.js +3 -2
  6. package/dist/components/UOverlayElement.js +2 -2
  7. package/dist/components/alert/UAlert.js +2 -2
  8. package/dist/components/avatar/UAvatar.js +2 -2
  9. package/dist/components/badge/UBadge.js +2 -2
  10. package/dist/components/breadcrumb/UBreadcrumb.js +1 -1
  11. package/dist/components/breadcrumb-item/UBreadcrumbItem.js +2 -2
  12. package/dist/components/button/UButton.js +2 -2
  13. package/dist/components/button-group/UButtonGroup.js +2 -2
  14. package/dist/components/card/UCard.js +2 -2
  15. package/dist/components/carousel/UCarousel.js +2 -2
  16. package/dist/components/checkbox/UCheckbox.js +2 -2
  17. package/dist/components/chip/UChip.js +2 -2
  18. package/dist/components/dialog/UDialog.js +2 -2
  19. package/dist/components/divider/UDivider.js +2 -2
  20. package/dist/components/drawer/UDrawer.js +2 -2
  21. package/dist/components/field/UField.js +2 -2
  22. package/dist/components/form/UForm.js +3 -4
  23. package/dist/components/icon/UIcon.js +2 -2
  24. package/dist/components/icon-button/UIconButton.js +2 -2
  25. package/dist/components/input/UInput.d.ts +3 -0
  26. package/dist/components/input/UInput.js +20 -8
  27. package/dist/components/menu/UMenu.js +2 -2
  28. package/dist/components/menu-item/UMenuItem.js +2 -2
  29. package/dist/components/option/UOption.js +2 -2
  30. package/dist/components/panel/UPanel.js +2 -2
  31. package/dist/components/popover/UPopover.js +2 -2
  32. package/dist/components/progress-bar/UProgressBar.js +2 -2
  33. package/dist/components/progress-ring/UProgressRing.js +2 -2
  34. package/dist/components/radio/URadio.js +2 -2
  35. package/dist/components/rating/URating.js +8 -6
  36. package/dist/components/select/USelect.js +9 -8
  37. package/dist/components/skeleton/USkeleton.js +2 -2
  38. package/dist/components/slider/USlider.js +8 -7
  39. package/dist/components/spinner/USpinner.js +2 -2
  40. package/dist/components/split-panel/USplitPanel.js +3 -4
  41. package/dist/components/switch/USwitch.js +2 -2
  42. package/dist/components/tab/UTab.js +2 -2
  43. package/dist/components/tab-panel/UTabPanel.js +2 -2
  44. package/dist/components/tag/UTag.js +2 -2
  45. package/dist/components/textarea/UTextarea.js +4 -5
  46. package/dist/components/tooltip/UTooltip.js +2 -2
  47. package/dist/components/tree/UTree.js +4 -5
  48. package/dist/components/tree-item/UTreeItem.js +5 -5
  49. package/dist/core/locale.d.ts +69 -0
  50. package/dist/core/locale.js +85 -0
  51. package/dist/index.d.ts +1 -0
  52. package/dist/index.js +2 -1
  53. package/dist/utilities/Theme.js +1 -1
  54. package/dist/utilities/icons.js +1 -1
  55. package/package.json +6 -3
@@ -1,4 +1,4 @@
1
- //#region \0@oxc-project+runtime@0.132.0/helpers/decorate.js
1
+ //#region \0@oxc-project+runtime@0.133.0/helpers/esm/decorate.js
2
2
  function __decorate(decorators, target, key, desc) {
3
3
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
4
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -1,4 +1,4 @@
1
- //#region \0@oxc-project+runtime@0.132.0/helpers/decorateMetadata.js
1
+ //#region \0@oxc-project+runtime@0.133.0/helpers/esm/decorateMetadata.js
2
2
  function __decorateMetadata(k, v) {
3
3
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
4
4
  }
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "./UElement.js";
2
- import { __decorateMetadata } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { getParentElement, querySelectorAllWithin } from "../utilities/elements.js";
5
5
  import { styles } from "./UFloatingElement.styles.js";
6
6
  import { property, state } from "lit/decorators.js";
@@ -23,6 +23,8 @@ export declare abstract class UFormControlElement<T> extends UElement {
23
23
  description?: string;
24
24
  /** 커스텀 유효성 검증 메시지 */
25
25
  validationMessage?: string;
26
+ /** chrome 문자열(검증 메시지 등)에 사용할 로케일 태그 (예: 'ko-KR'). 미지정 시 전역 기본/문서 언어를 따른다. */
27
+ locale?: string;
26
28
  /** 폼 제출 시 사용되는 이름 */
27
29
  name?: string;
28
30
  /** 폼 제출 시 사용되는 값 */
@@ -1,7 +1,7 @@
1
1
  import { UElement } from "./UElement.js";
2
2
  import { styles } from "./UFormControlElement.styles.js";
3
- import { __decorateMetadata } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
4
- import { __decorate } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
3
+ import { __decorateMetadata } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
4
+ import { __decorate } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
5
5
  import { property } from "lit/decorators.js";
6
6
  //#region src/components/UFormControlElement.ts
7
7
  /**
@@ -62,6 +62,7 @@ __decorate([property({ type: Boolean }), __decorateMetadata("design:type", Boole
62
62
  __decorate([property({ type: String }), __decorateMetadata("design:type", String)], UFormControlElement.prototype, "label", void 0);
63
63
  __decorate([property({ type: String }), __decorateMetadata("design:type", String)], UFormControlElement.prototype, "description", void 0);
64
64
  __decorate([property({ type: String }), __decorateMetadata("design:type", String)], UFormControlElement.prototype, "validationMessage", void 0);
65
+ __decorate([property({ type: String }), __decorateMetadata("design:type", String)], UFormControlElement.prototype, "locale", void 0);
65
66
  __decorate([property({ type: String }), __decorateMetadata("design:type", String)], UFormControlElement.prototype, "name", void 0);
66
67
  __decorate([property({ type: Object }), __decorateMetadata("design:type", Object)], UFormControlElement.prototype, "value", void 0);
67
68
  //#endregion
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "./UElement.js";
2
- import { __decorateMetadata } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { OverlayManager } from "../utilities/OverlayManager.js";
5
5
  import { arrayAttrConverter } from "../utilities/converters.js";
6
6
  import { styles } from "./UOverlayElement.styles.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import "../icon/UIcon.js";
5
5
  import "../button/UButton.js";
6
6
  import { styles } from "./UAlert.styles.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./UAvatar.styles.js";
5
5
  import { customElement, property } from "lit/decorators.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.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./UBadge.styles.js";
5
5
  import { customElement, property } from "lit/decorators.js";
6
6
  import { html, nothing } from "lit";
@@ -1,5 +1,5 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
3
3
  import "../icon/UIcon.js";
4
4
  import { styles } from "./UBreadcrumb.styles.js";
5
5
  import { customElement } from "lit/decorators.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./UBreadcrumbItem.styles.js";
5
5
  import { customElement, property } from "lit/decorators.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.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import "../spinner/USpinner.js";
5
5
  import { styles } from "./UButton.styles.js";
6
6
  import { customElement, property } from "lit/decorators.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { UButton } from "../button/UButton.js";
5
5
  import { UIconButton } from "../icon-button/UIconButton.js";
6
6
  import { styles } from "./UButtonGroup.styles.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./UCard.styles.js";
5
5
  import { customElement, property } from "lit/decorators.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.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import "../icon/UIcon.js";
5
5
  import "../button/UButton.js";
6
6
  import { styles } from "./UCarousel.styles.js";
@@ -1,5 +1,5 @@
1
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
2
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
1
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
2
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
3
3
  import { UFormControlElement } from "../UFormControlElement.js";
4
4
  import "../icon/UIcon.js";
5
5
  import { styles } from "./UCheckbox.styles.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import "../icon/UIcon.js";
5
5
  import "../button/UButton.js";
6
6
  import "../tooltip/UTooltip.js";
@@ -1,5 +1,5 @@
1
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
2
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
1
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
2
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
3
3
  import "../icon/UIcon.js";
4
4
  import { UOverlayElement } from "../UOverlayElement.js";
5
5
  import "../button/UButton.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./UDivider.styles.js";
5
5
  import { customElement, property } from "lit/decorators.js";
6
6
  import { html } from "lit";
@@ -1,5 +1,5 @@
1
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
2
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
1
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
2
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
3
3
  import "../icon/UIcon.js";
4
4
  import { UOverlayElement } from "../UOverlayElement.js";
5
5
  import "../button/UButton.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./UField.styles.js";
5
5
  import { customElement, property } from "lit/decorators.js";
6
6
  import { html, nothing } from "lit";
@@ -1,13 +1,12 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.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";
7
7
  import { customElement, property } from "lit/decorators.js";
8
8
  import { html } from "lit";
9
9
  //#region src/components/form/UForm.ts
10
- var _ref;
11
10
  var UForm = class UForm extends UElement {
12
11
  constructor(..._args) {
13
12
  super(..._args);
@@ -100,7 +99,7 @@ __decorate([property({
100
99
  __decorate([property({
101
100
  type: Object,
102
101
  attribute: false
103
- }), __decorateMetadata("design:type", typeof (_ref = typeof Record !== "undefined" && Record) === "function" ? _ref : Object)], UForm.prototype, "model", void 0);
102
+ }), __decorateMetadata("design:type", typeof Record === "undefined" ? Object : Record)], UForm.prototype, "model", void 0);
104
103
  UForm = __decorate([customElement("u-form")], UForm);
105
104
  //#endregion
106
105
  export { UForm };
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.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 { customElement, property } from "lit/decorators.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import "../icon/UIcon.js";
5
5
  import "../button/UButton.js";
6
6
  import "../tooltip/UTooltip.js";
@@ -81,6 +81,9 @@ export declare class UInput extends UFormControlElement<string> {
81
81
  private setup;
82
82
  private cleanup;
83
83
  private handleSlotChange;
84
+ private composing;
85
+ private handleCompositionStart;
86
+ private handleCompositionEnd;
84
87
  private handleInputInput;
85
88
  private handleInputChange;
86
89
  private handleInputBlur;
@@ -1,5 +1,5 @@
1
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
2
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
1
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
2
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
3
3
  import { UFormControlElement } from "../UFormControlElement.js";
4
4
  import "../icon/UIcon.js";
5
5
  import "../spinner/USpinner.js";
@@ -12,7 +12,6 @@ import { html } from "lit";
12
12
  import { ifDefined } from "lit/directives/if-defined.js";
13
13
  import { live } from "lit/directives/live.js";
14
14
  //#region src/components/input/UInput.ts
15
- var _ref, _ref2, _ref3, _ref4;
16
15
  var UInput = class UInput extends UFormControlElement {
17
16
  constructor(..._args) {
18
17
  super(..._args);
@@ -33,8 +32,19 @@ var UInput = class UInput extends UFormControlElement {
33
32
  if (this.options.length > 0) this.popoverEl?.show(this.containerEl);
34
33
  else this.popoverEl?.hide();
35
34
  };
35
+ this.composing = false;
36
+ this.handleCompositionStart = () => {
37
+ this.composing = true;
38
+ };
39
+ this.handleCompositionEnd = () => {
40
+ this.composing = false;
41
+ this.inputEl?.dispatchEvent(new InputEvent("input", { bubbles: true }));
42
+ };
36
43
  this.handleInputInput = (e) => {
37
- this.value = this.inputEl?.value;
44
+ if (this.composing) return;
45
+ const next = this.inputEl?.value;
46
+ if (next === this.value) return;
47
+ this.value = next;
38
48
  this.relay(e);
39
49
  };
40
50
  this.handleInputChange = (e) => {
@@ -165,6 +175,8 @@ var UInput = class UInput extends UFormControlElement {
165
175
  @change=${this.handleInputChange}
166
176
  @blur=${this.handleInputBlur}
167
177
  @keydown=${this.handleInputKeydown}
178
+ @compositionstart=${this.handleCompositionStart}
179
+ @compositionend=${this.handleCompositionEnd}
168
180
  />
169
181
 
170
182
  <slot name="suffix"></slot>
@@ -249,13 +261,13 @@ __decorate([property({ type: Boolean }), __decorateMetadata("design:type", Boole
249
261
  __decorate([property({ type: Boolean }), __decorateMetadata("design:type", Boolean)], UInput.prototype, "autofocus", void 0);
250
262
  __decorate([property({ type: Boolean }), __decorateMetadata("design:type", Boolean)], UInput.prototype, "autocorrect", void 0);
251
263
  __decorate([property({ type: String }), __decorateMetadata("design:type", Object)], UInput.prototype, "autocapitalize", void 0);
252
- __decorate([property({ type: String }), __decorateMetadata("design:type", typeof (_ref = typeof AutoFill !== "undefined" && AutoFill) === "function" ? _ref : Object)], UInput.prototype, "autocomplete", void 0);
264
+ __decorate([property({ type: String }), __decorateMetadata("design:type", typeof AutoFill === "undefined" ? Object : AutoFill)], UInput.prototype, "autocomplete", void 0);
253
265
  __decorate([property({ type: Number }), __decorateMetadata("design:type", Number)], UInput.prototype, "size", void 0);
254
266
  __decorate([property({ type: String }), __decorateMetadata("design:type", String)], UInput.prototype, "placeholder", void 0);
255
267
  __decorate([property({ type: String }), __decorateMetadata("design:type", String)], UInput.prototype, "pattern", void 0);
256
- __decorate([query(".container", true), __decorateMetadata("design:type", typeof (_ref2 = typeof HTMLDivElement !== "undefined" && HTMLDivElement) === "function" ? _ref2 : Object)], UInput.prototype, "containerEl", void 0);
257
- __decorate([query("input", true), __decorateMetadata("design:type", typeof (_ref3 = typeof HTMLInputElement !== "undefined" && HTMLInputElement) === "function" ? _ref3 : Object)], UInput.prototype, "inputEl", void 0);
258
- __decorate([query("u-popover", true), __decorateMetadata("design:type", typeof (_ref4 = typeof UPopover !== "undefined" && UPopover) === "function" ? _ref4 : Object)], UInput.prototype, "popoverEl", void 0);
268
+ __decorate([query(".container", true), __decorateMetadata("design:type", typeof HTMLDivElement === "undefined" ? Object : HTMLDivElement)], UInput.prototype, "containerEl", void 0);
269
+ __decorate([query("input", true), __decorateMetadata("design:type", typeof HTMLInputElement === "undefined" ? Object : HTMLInputElement)], UInput.prototype, "inputEl", void 0);
270
+ __decorate([query("u-popover", true), __decorateMetadata("design:type", typeof UPopover === "undefined" ? Object : UPopover)], UInput.prototype, "popoverEl", void 0);
259
271
  __decorate([state(), __decorateMetadata("design:type", Boolean)], UInput.prototype, "showPassword", void 0);
260
272
  UInput = __decorate([customElement("u-input")], UInput);
261
273
  //#endregion
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.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 { customElement, property } from "lit/decorators.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import "../icon/UIcon.js";
5
5
  import { UDivider } from "../divider/UDivider.js";
6
6
  import "../popover/UPopover.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import "../icon/UIcon.js";
5
5
  import { styles } from "./UOption.styles.js";
6
6
  import { customElement, property } from "lit/decorators.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./UPanel.styles.js";
5
5
  import { customElement, property } from "lit/decorators.js";
6
6
  import { html } from "lit";
@@ -1,5 +1,5 @@
1
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
2
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
1
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
2
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.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.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./UProgressBar.styles.js";
5
5
  import { customElement, property, state } from "lit/decorators.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.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./UProgressRing.styles.js";
5
5
  import { customElement, property, state } from "lit/decorators.js";
6
6
  import { html } from "lit";
@@ -1,5 +1,5 @@
1
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
2
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
1
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
2
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
3
3
  import { UFormControlElement } from "../UFormControlElement.js";
4
4
  import "../field/UField.js";
5
5
  import { UOption } from "../option/UOption.js";
@@ -1,5 +1,6 @@
1
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
2
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
1
+ import { formatTemplate, getLocaleStrings, resolveLocale } from "../../core/locale.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
3
4
  import { UFormControlElement } from "../UFormControlElement.js";
4
5
  import "../icon/UIcon.js";
5
6
  import "../field/UField.js";
@@ -153,23 +154,24 @@ var URating = class URating extends UFormControlElement {
153
154
  }
154
155
  getValidity() {
155
156
  const v = this.value || 0;
157
+ const s = getLocaleStrings(resolveLocale(this.locale));
156
158
  if (this.required && !v) return {
157
159
  flags: { valueMissing: true },
158
- message: "This field is required"
160
+ message: s.required
159
161
  };
160
162
  if (v && v < this.min) return {
161
163
  flags: { rangeUnderflow: true },
162
- message: `Value must be at least ${this.min}`
164
+ message: formatTemplate(s.minValue, { min: this.min })
163
165
  };
164
166
  if (v && v > this.max) return {
165
167
  flags: { rangeOverflow: true },
166
- message: `Value must be no more than ${this.max}`
168
+ message: formatTemplate(s.maxValue, { max: this.max })
167
169
  };
168
170
  if (v && this.precision < 1) {
169
171
  const remainder = Math.abs(v % this.precision);
170
172
  if (remainder > .001 && Math.abs(remainder - this.precision) > .001) return {
171
173
  flags: { stepMismatch: true },
172
- message: `Value must be a multiple of ${this.precision}`
174
+ message: formatTemplate(s.stepMismatch, { step: this.precision })
173
175
  };
174
176
  }
175
177
  return {
@@ -1,5 +1,6 @@
1
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
2
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
1
+ import { formatTemplate, getLocaleStrings, resolveLocale } from "../../core/locale.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
3
4
  import { UFormControlElement } from "../UFormControlElement.js";
4
5
  import "../icon/UIcon.js";
5
6
  import "../spinner/USpinner.js";
@@ -10,7 +11,6 @@ import { styles } from "./USelect.styles.js";
10
11
  import { customElement, property, query, state } from "lit/decorators.js";
11
12
  import { html } from "lit";
12
13
  //#region src/components/select/USelect.ts
13
- var _ref, _ref2;
14
14
  var USelect = class USelect extends UFormControlElement {
15
15
  constructor(..._args) {
16
16
  super(..._args);
@@ -262,17 +262,18 @@ var USelect = class USelect extends UFormControlElement {
262
262
  }));
263
263
  }
264
264
  getValidity(values) {
265
+ const s = getLocaleStrings(resolveLocale(this.locale));
265
266
  if (this.required && !values.length) return {
266
267
  flags: { valueMissing: true },
267
- message: "This field is required"
268
+ message: s.required
268
269
  };
269
270
  if (this.multiple && this.minCount != null && values.length > 0 && values.length < this.minCount) return {
270
271
  flags: { rangeUnderflow: true },
271
- message: `Please select at least ${this.minCount} items`
272
+ message: formatTemplate(s.minCount, { min: this.minCount })
272
273
  };
273
274
  if (this.multiple && this.maxCount != null && values.length > this.maxCount) return {
274
275
  flags: { rangeOverflow: true },
275
- message: `Please select no more than ${this.maxCount} items`
276
+ message: formatTemplate(s.maxCount, { max: this.maxCount })
276
277
  };
277
278
  return {
278
279
  flags: {},
@@ -309,8 +310,8 @@ __decorate([property({
309
310
  attribute: "max-count"
310
311
  }), __decorateMetadata("design:type", Number)], USelect.prototype, "maxCount", void 0);
311
312
  __decorate([property({ type: String }), __decorateMetadata("design:type", String)], USelect.prototype, "placeholder", void 0);
312
- __decorate([query(".container", true), __decorateMetadata("design:type", typeof (_ref = typeof HTMLElement !== "undefined" && HTMLElement) === "function" ? _ref : Object)], USelect.prototype, "containerEl", void 0);
313
- __decorate([query("u-popover", true), __decorateMetadata("design:type", typeof (_ref2 = typeof UPopover !== "undefined" && UPopover) === "function" ? _ref2 : Object)], USelect.prototype, "popoverEl", void 0);
313
+ __decorate([query(".container", true), __decorateMetadata("design:type", typeof HTMLElement === "undefined" ? Object : HTMLElement)], USelect.prototype, "containerEl", void 0);
314
+ __decorate([query("u-popover", true), __decorateMetadata("design:type", typeof UPopover === "undefined" ? Object : UPopover)], USelect.prototype, "popoverEl", void 0);
314
315
  __decorate([state(), __decorateMetadata("design:type", Array)], USelect.prototype, "options", void 0);
315
316
  USelect = __decorate([customElement("u-select")], USelect);
316
317
  //#endregion
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./USkeleton.styles.js";
5
5
  import { customElement, property } from "lit/decorators.js";
6
6
  import { html } from "lit";
@@ -1,5 +1,6 @@
1
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
2
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
1
+ import { formatTemplate, getLocaleStrings, resolveLocale } from "../../core/locale.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
3
4
  import { UFormControlElement } from "../UFormControlElement.js";
4
5
  import "../tooltip/UTooltip.js";
5
6
  import "../field/UField.js";
@@ -7,7 +8,6 @@ import { styles } from "./USlider.styles.js";
7
8
  import { customElement, property, query, state } from "lit/decorators.js";
8
9
  import { html } from "lit";
9
10
  //#region src/components/slider/USlider.ts
10
- var _ref;
11
11
  var USlider = class USlider extends UFormControlElement {
12
12
  constructor(..._args) {
13
13
  super(..._args);
@@ -195,17 +195,18 @@ var USlider = class USlider extends UFormControlElement {
195
195
  }
196
196
  getValidity() {
197
197
  const v = this.valueAsNumber;
198
+ const s = getLocaleStrings(resolveLocale(this.locale));
198
199
  if (this.required && !v) return {
199
200
  flags: { valueMissing: true },
200
- message: "This field is required"
201
+ message: s.required
201
202
  };
202
203
  if (v < this.min) return {
203
204
  flags: { rangeUnderflow: true },
204
- message: `Value must be at least ${this.min}`
205
+ message: formatTemplate(s.minValue, { min: this.min })
205
206
  };
206
207
  if (v > this.max) return {
207
208
  flags: { rangeOverflow: true },
208
- message: `Value must be at most ${this.max}`
209
+ message: formatTemplate(s.maxValue, { max: this.max })
209
210
  };
210
211
  return {
211
212
  flags: {},
@@ -280,7 +281,7 @@ __decorate([property({ type: Number }), __decorateMetadata("design:type", Number
280
281
  __decorate([property({ type: Number }), __decorateMetadata("design:type", Number)], USlider.prototype, "max", void 0);
281
282
  __decorate([property({ type: Number }), __decorateMetadata("design:type", Number)], USlider.prototype, "step", void 0);
282
283
  __decorate([state(), __decorateMetadata("design:type", Object)], USlider.prototype, "dragging", void 0);
283
- __decorate([query(".track"), __decorateMetadata("design:type", typeof (_ref = typeof HTMLElement !== "undefined" && HTMLElement) === "function" ? _ref : Object)], USlider.prototype, "trackEl", void 0);
284
+ __decorate([query(".track"), __decorateMetadata("design:type", typeof HTMLElement === "undefined" ? Object : HTMLElement)], USlider.prototype, "trackEl", void 0);
284
285
  USlider = __decorate([customElement("u-slider")], USlider);
285
286
  //#endregion
286
287
  export { USlider };
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./USpinner.styles.js";
5
5
  import { customElement, property, state } from "lit/decorators.js";
6
6
  import { html } from "lit";
@@ -1,12 +1,11 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { arrayAttrConverter } from "../../utilities/converters.js";
5
5
  import { styles } from "./USplitPanel.styles.js";
6
6
  import { customElement, property, query } from "lit/decorators.js";
7
7
  import { html } from "lit";
8
8
  //#region src/components/split-panel/USplitPanel.ts
9
- var _ref;
10
9
  var USplitPanel = class USplitPanel extends UElement {
11
10
  constructor(..._args) {
12
11
  super(..._args);
@@ -237,7 +236,7 @@ __decorate([property({
237
236
  reflect: true,
238
237
  converter: arrayAttrConverter(parseFloat)
239
238
  }), __decorateMetadata("design:type", Array)], USplitPanel.prototype, "ratio", void 0);
240
- __decorate([query(".splitter-ghost"), __decorateMetadata("design:type", typeof (_ref = typeof HTMLElement !== "undefined" && HTMLElement) === "function" ? _ref : Object)], USplitPanel.prototype, "ghost", void 0);
239
+ __decorate([query(".splitter-ghost"), __decorateMetadata("design:type", typeof HTMLElement === "undefined" ? Object : HTMLElement)], USplitPanel.prototype, "ghost", void 0);
241
240
  USplitPanel = __decorate([customElement("u-split-panel")], USplitPanel);
242
241
  //#endregion
243
242
  export { USplitPanel };
@@ -1,5 +1,5 @@
1
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
2
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
1
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
2
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
3
3
  import { UFormControlElement } from "../UFormControlElement.js";
4
4
  import { styles } from "./USwitch.styles.js";
5
5
  import { customElement, property } from "lit/decorators.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import "../icon/UIcon.js";
5
5
  import "../button/UButton.js";
6
6
  import { styles } from "./UTab.styles.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { UPanel } from "../panel/UPanel.js";
5
5
  import { UTab } from "../tab/UTab.js";
6
6
  import { styles } from "./UTabPanel.styles.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./UTag.styles.js";
5
5
  import { customElement, property } from "lit/decorators.js";
6
6
  import { html } from "lit";
@@ -1,5 +1,5 @@
1
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
2
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
1
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
2
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
3
3
  import { UFormControlElement } from "../UFormControlElement.js";
4
4
  import "../field/UField.js";
5
5
  import { styles } from "./UTextarea.styles.js";
@@ -8,7 +8,6 @@ import { html } from "lit";
8
8
  import { ifDefined } from "lit/directives/if-defined.js";
9
9
  import { live } from "lit/directives/live.js";
10
10
  //#region src/components/textarea/UTextarea.ts
11
- var _ref, _ref2;
12
11
  var UTextarea = class UTextarea extends UFormControlElement {
13
12
  constructor(..._args) {
14
13
  super(..._args);
@@ -140,9 +139,9 @@ __decorate([property({ type: Boolean }), __decorateMetadata("design:type", Boole
140
139
  __decorate([property({ type: Boolean }), __decorateMetadata("design:type", Boolean)], UTextarea.prototype, "autofocus", void 0);
141
140
  __decorate([property({ type: Boolean }), __decorateMetadata("design:type", Boolean)], UTextarea.prototype, "autocorrect", void 0);
142
141
  __decorate([property({ type: String }), __decorateMetadata("design:type", Object)], UTextarea.prototype, "autocapitalize", void 0);
143
- __decorate([property({ type: String }), __decorateMetadata("design:type", typeof (_ref = typeof AutoFill !== "undefined" && AutoFill) === "function" ? _ref : Object)], UTextarea.prototype, "autocomplete", void 0);
142
+ __decorate([property({ type: String }), __decorateMetadata("design:type", typeof AutoFill === "undefined" ? Object : AutoFill)], UTextarea.prototype, "autocomplete", void 0);
144
143
  __decorate([property({ type: String }), __decorateMetadata("design:type", String)], UTextarea.prototype, "placeholder", void 0);
145
- __decorate([query("textarea", true), __decorateMetadata("design:type", typeof (_ref2 = typeof HTMLTextAreaElement !== "undefined" && HTMLTextAreaElement) === "function" ? _ref2 : Object)], UTextarea.prototype, "textareaEl", void 0);
144
+ __decorate([query("textarea", true), __decorateMetadata("design:type", typeof HTMLTextAreaElement === "undefined" ? Object : HTMLTextAreaElement)], UTextarea.prototype, "textareaEl", void 0);
146
145
  UTextarea = __decorate([customElement("u-textarea")], UTextarea);
147
146
  //#endregion
148
147
  export { UTextarea };
@@ -1,5 +1,5 @@
1
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
2
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
1
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
2
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
3
3
  import { UFloatingElement } from "../UFloatingElement.js";
4
4
  import { styles } from "./UTooltip.styles.js";
5
5
  import { customElement, property } from "lit/decorators.js";
@@ -1,12 +1,11 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { UTreeItem } from "../tree-item/UTreeItem.js";
5
5
  import { styles } from "./UTree.styles.js";
6
6
  import { customElement, property, state } from "lit/decorators.js";
7
7
  import { html } from "lit";
8
8
  //#region src/components/tree/UTree.ts
9
- var _ref, _ref2;
10
9
  var UTree = class UTree extends UElement {
11
10
  constructor(..._args) {
12
11
  super(..._args);
@@ -304,8 +303,8 @@ __decorate([property({
304
303
  type: Boolean,
305
304
  reflect: true
306
305
  }), __decorateMetadata("design:type", Boolean)], UTree.prototype, "droppable", void 0);
307
- __decorate([state(), __decorateMetadata("design:type", typeof (_ref = typeof Node !== "undefined" && Node) === "function" ? _ref : Object)], UTree.prototype, "expandIcon", void 0);
308
- __decorate([state(), __decorateMetadata("design:type", typeof (_ref2 = typeof Node !== "undefined" && Node) === "function" ? _ref2 : Object)], UTree.prototype, "collapseIcon", void 0);
306
+ __decorate([state(), __decorateMetadata("design:type", typeof Node === "undefined" ? Object : Node)], UTree.prototype, "expandIcon", void 0);
307
+ __decorate([state(), __decorateMetadata("design:type", typeof Node === "undefined" ? Object : Node)], UTree.prototype, "collapseIcon", void 0);
309
308
  UTree = __decorate([customElement("u-tree")], UTree);
310
309
  //#endregion
311
310
  export { UTree };
@@ -1,13 +1,13 @@
1
1
  import { UElement } from "../UElement.js";
2
- import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.js";
3
- import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
2
+ import { __decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorateMetadata.js";
3
+ import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import "../icon/UIcon.js";
5
5
  import "../spinner/USpinner.js";
6
6
  import { styles } from "./UTreeItem.styles.js";
7
7
  import { customElement, property, state } from "lit/decorators.js";
8
8
  import { html } from "lit";
9
9
  //#region src/components/tree-item/UTreeItem.ts
10
- var _ref, _ref2, _UTreeItem;
10
+ var _UTreeItem;
11
11
  var UTreeItem = class UTreeItem extends UElement {
12
12
  static {
13
13
  _UTreeItem = this;
@@ -188,8 +188,8 @@ __decorate([state(), __decorateMetadata("design:type", Number)], UTreeItem.proto
188
188
  __decorate([state(), __decorateMetadata("design:type", Boolean)], UTreeItem.prototype, "selected", void 0);
189
189
  __decorate([state(), __decorateMetadata("design:type", Boolean)], UTreeItem.prototype, "checked", void 0);
190
190
  __decorate([state(), __decorateMetadata("design:type", Boolean)], UTreeItem.prototype, "indeterminate", void 0);
191
- __decorate([state(), __decorateMetadata("design:type", typeof (_ref = typeof Node !== "undefined" && Node) === "function" ? _ref : Object)], UTreeItem.prototype, "expandIcon", void 0);
192
- __decorate([state(), __decorateMetadata("design:type", typeof (_ref2 = typeof Node !== "undefined" && Node) === "function" ? _ref2 : Object)], UTreeItem.prototype, "collapseIcon", void 0);
191
+ __decorate([state(), __decorateMetadata("design:type", typeof Node === "undefined" ? Object : Node)], UTreeItem.prototype, "expandIcon", void 0);
192
+ __decorate([state(), __decorateMetadata("design:type", typeof Node === "undefined" ? Object : Node)], UTreeItem.prototype, "collapseIcon", void 0);
193
193
  UTreeItem = _UTreeItem = __decorate([customElement("u-tree-item")], UTreeItem);
194
194
  //#endregion
195
195
  export { UTreeItem };
@@ -0,0 +1,69 @@
1
+ /**
2
+ * @iyulab/components 의 경량 로케일 레지스트리.
3
+ *
4
+ * 범위: 라이브러리가 스스로 생성하는 chrome 문자열(검증 메시지 등)만 대상.
5
+ * 일반 i18n 프레임워크가 아니다. 앱 콘텐츠 번역은 consumer 의 i18n 계층(예:
6
+ * modern-app 의 i18next)이 담당한다.
7
+ *
8
+ * 영어가 내장 기본값이며, 한국어 등 도메인 로케일은 consumer 가 등록한다:
9
+ * registerLocale('ko', { required: '필수 항목입니다.', ... });
10
+ * setDefaultLocale('ko');
11
+ *
12
+ * 모노레포 로케일 표준(packages/u-widgets/src/core/locale.ts)과 동일한 계약을 따른다.
13
+ */
14
+ export interface UComponentsLocaleStrings {
15
+ required: string;
16
+ minValue: string;
17
+ maxValue: string;
18
+ stepMismatch: string;
19
+ minCount: string;
20
+ maxCount: string;
21
+ }
22
+ /**
23
+ * 로케일을 등록한다. 부분 등록은 영어 기본값에 병합된다.
24
+ */
25
+ export declare function registerLocale(lang: string, strings: Partial<UComponentsLocaleStrings>): void;
26
+ /**
27
+ * 주어진 언어 태그에 대한 로케일 문자열을 해석한다.
28
+ *
29
+ * 해석 순서:
30
+ * 1. 정확히 일치 (예: 'ko-KR')
31
+ * 2. 기반 언어 (예: 'ko')
32
+ * 3. 영어 폴백
33
+ */
34
+ export declare function getLocaleStrings(lang?: string): UComponentsLocaleStrings;
35
+ /**
36
+ * 템플릿 문자열의 {key} 플레이스홀더를 치환한다.
37
+ */
38
+ export declare function formatTemplate(template: string, params: Record<string, string | number>): string;
39
+ /**
40
+ * 영어 기본값을 반환한다 (테스트/참조용).
41
+ */
42
+ export declare function getDefaultLocale(): UComponentsLocaleStrings;
43
+ /**
44
+ * 모든 컴포넌트에 적용되는 전역 기본 로케일을 설정한다.
45
+ *
46
+ * 해석 순서(우선순위 높은 순):
47
+ * 1. 컴포넌트별 `locale` 속성/프로퍼티
48
+ * 2. setDefaultLocale() 값
49
+ * 3. document.documentElement.lang (브라우저)
50
+ * 4. 영어 폴백
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * import { setDefaultLocale } from '@iyulab/components';
55
+ * setDefaultLocale('ko-KR');
56
+ * ```
57
+ */
58
+ export declare function setDefaultLocale(lang: string | undefined): void;
59
+ /**
60
+ * setDefaultLocale() 로 설정된 전역 기본 로케일을 반환한다.
61
+ * 설정되지 않았으면 undefined 를 반환한다.
62
+ */
63
+ export declare function getEffectiveLocale(): string | undefined;
64
+ /**
65
+ * 컴포넌트가 사용할 로케일을 해석한다.
66
+ *
67
+ * 우선순위: widgetLocale > setDefaultLocale() > document.lang > undefined
68
+ */
69
+ export declare function resolveLocale(widgetLocale?: string | null): string | undefined;
@@ -0,0 +1,85 @@
1
+ //#region src/core/locale.ts
2
+ var EN = {
3
+ required: "This field is required",
4
+ minValue: "Value must be at least {min}",
5
+ maxValue: "Value must be at most {max}",
6
+ stepMismatch: "Value must be a multiple of {step}",
7
+ minCount: "Please select at least {min} items",
8
+ maxCount: "Please select no more than {max} items"
9
+ };
10
+ var registry = /* @__PURE__ */ new Map();
11
+ /**
12
+ * 로케일을 등록한다. 부분 등록은 영어 기본값에 병합된다.
13
+ */
14
+ function registerLocale(lang, strings) {
15
+ registry.set(lang.toLowerCase(), {
16
+ ...EN,
17
+ ...strings
18
+ });
19
+ }
20
+ /**
21
+ * 주어진 언어 태그에 대한 로케일 문자열을 해석한다.
22
+ *
23
+ * 해석 순서:
24
+ * 1. 정확히 일치 (예: 'ko-KR')
25
+ * 2. 기반 언어 (예: 'ko')
26
+ * 3. 영어 폴백
27
+ */
28
+ function getLocaleStrings(lang) {
29
+ if (!lang) return EN;
30
+ const key = lang.toLowerCase();
31
+ if (registry.has(key)) return registry.get(key);
32
+ const base = key.split("-")[0];
33
+ if (base !== key && registry.has(base)) return registry.get(base);
34
+ return EN;
35
+ }
36
+ /**
37
+ * 템플릿 문자열의 {key} 플레이스홀더를 치환한다.
38
+ */
39
+ function formatTemplate(template, params) {
40
+ return template.replace(/\{(\w+)\}/g, (_, key) => params[key] != null ? String(params[key]) : `{${key}}`);
41
+ }
42
+ /**
43
+ * 영어 기본값을 반환한다 (테스트/참조용).
44
+ */
45
+ function getDefaultLocale() {
46
+ return { ...EN };
47
+ }
48
+ var _defaultLocale;
49
+ /**
50
+ * 모든 컴포넌트에 적용되는 전역 기본 로케일을 설정한다.
51
+ *
52
+ * 해석 순서(우선순위 높은 순):
53
+ * 1. 컴포넌트별 `locale` 속성/프로퍼티
54
+ * 2. setDefaultLocale() 값
55
+ * 3. document.documentElement.lang (브라우저)
56
+ * 4. 영어 폴백
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * import { setDefaultLocale } from '@iyulab/components';
61
+ * setDefaultLocale('ko-KR');
62
+ * ```
63
+ */
64
+ function setDefaultLocale(lang) {
65
+ _defaultLocale = lang;
66
+ }
67
+ /**
68
+ * setDefaultLocale() 로 설정된 전역 기본 로케일을 반환한다.
69
+ * 설정되지 않았으면 undefined 를 반환한다.
70
+ */
71
+ function getEffectiveLocale() {
72
+ return _defaultLocale;
73
+ }
74
+ /**
75
+ * 컴포넌트가 사용할 로케일을 해석한다.
76
+ *
77
+ * 우선순위: widgetLocale > setDefaultLocale() > document.lang > undefined
78
+ */
79
+ function resolveLocale(widgetLocale) {
80
+ if (widgetLocale) return widgetLocale;
81
+ if (_defaultLocale) return _defaultLocale;
82
+ if (typeof document !== "undefined" && document.documentElement?.lang) return document.documentElement.lang;
83
+ }
84
+ //#endregion
85
+ export { formatTemplate, getDefaultLocale, getEffectiveLocale, getLocaleStrings, registerLocale, resolveLocale, setDefaultLocale };
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './core/locale.js';
1
2
  export * from './components/UFormControlElement.js';
2
3
  export * from './components/UDataElement.js';
3
4
  export * from './components/UElement.js';
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { formatTemplate, getDefaultLocale, getEffectiveLocale, getLocaleStrings, registerLocale, resolveLocale, setDefaultLocale } from "./core/locale.js";
1
2
  import { UElement } from "./components/UElement.js";
2
3
  import { UFormControlElement } from "./components/UFormControlElement.js";
3
4
  import { IconCache, IconRegistry, getDefaultBaseUrl, setDefaultBaseUrl } from "./utilities/icons.js";
@@ -53,4 +54,4 @@ import { BrowserStorage } from "./utilities/BrowserStorage.js";
53
54
  import { Dialog } from "./utilities/Dialog.js";
54
55
  import { Theme } from "./utilities/Theme.js";
55
56
  import { Toast } from "./utilities/Toast.js";
56
- export { BrowserStorage, Dialog, IconCache, IconRegistry, OverlayManager, Theme, Toast, UAlert, UAvatar, UBadge, UBreadcrumb, UBreadcrumbItem, UButton, UButtonGroup, UCard, UCarousel, UCheckbox, UChip, UDataElement, UDialog, UDivider, UDrawer, UElement, UField, UFloatingElement, UForm, UFormControlElement, UIcon, UIconButton, UInput, UMenu, UMenuItem, UOption, UOverlayElement, UPanel, UPopover, UProgressBar, UProgressRing, URadio, URating, USelect, USkeleton, USlider, USpinner, USplitPanel, USwitch, UTab, UTabPanel, UTag, UTextarea, UTooltip, UTree, UTreeItem, arrayAttrConverter, booleanAttrConverter, buildElementHTML, dateAttrConverter, escapeHtmlAttr, escapeHtmlHref, escapeHtmlText, getDefaultBaseUrl, getParentElement, jsonAttrConverter, querySelectorAllWithin, querySelectorWithin, setDefaultBaseUrl, stripZeroWidth, urlAttrConverter };
57
+ export { BrowserStorage, Dialog, IconCache, IconRegistry, OverlayManager, Theme, Toast, UAlert, UAvatar, UBadge, UBreadcrumb, UBreadcrumbItem, UButton, UButtonGroup, UCard, UCarousel, UCheckbox, UChip, UDataElement, UDialog, UDivider, UDrawer, UElement, UField, UFloatingElement, UForm, UFormControlElement, UIcon, UIconButton, UInput, UMenu, UMenuItem, UOption, UOverlayElement, UPanel, UPopover, UProgressBar, UProgressRing, URadio, URating, USelect, USkeleton, USlider, USpinner, USplitPanel, USwitch, UTab, UTabPanel, UTag, UTextarea, UTooltip, UTree, UTreeItem, arrayAttrConverter, booleanAttrConverter, buildElementHTML, dateAttrConverter, escapeHtmlAttr, escapeHtmlHref, escapeHtmlText, formatTemplate, getDefaultBaseUrl, getDefaultLocale, getEffectiveLocale, getLocaleStrings, getParentElement, jsonAttrConverter, querySelectorAllWithin, querySelectorWithin, registerLocale, resolveLocale, setDefaultBaseUrl, setDefaultLocale, stripZeroWidth, urlAttrConverter };
@@ -6,7 +6,7 @@ import light_css_default from "../_virtual/_glob-assets_raw/light.css.637cb2f8.j
6
6
  * 스타일 시트 번들 로드, 내부 자산에서 CSS를 인라인으로 가져옵니다.
7
7
  * 빌드 시점에 정적 파일을 포함시키기 위해 vite의 `import.meta.glob`을 사용합니다.
8
8
  */
9
- var internalStyleBundle = Object.entries(/* @__PURE__ */ Object.assign({
9
+ var internalStyleBundle = Object.entries(/* #__PURE__ */ Object.assign({
10
10
  "../assets/styles/dark.css": dark_css_default,
11
11
  "../assets/styles/light.css": light_css_default
12
12
  })).map(([path, module]) => {
@@ -38,7 +38,7 @@ function setDefaultBaseUrl(url) {
38
38
  * vite의 `import.meta.glob`을 사용하여 내부 경로상의 모든 SVG 파일을 빌드 시점에 한 번에 로드합니다.
39
39
  * 이 레지스트리는 런타임 동안 불변이며, 아이콘 조회 시 재사용됩니다.
40
40
  */
41
- var internalIconBundle = new Map(Object.entries(/* @__PURE__ */ Object.assign({
41
+ var internalIconBundle = new Map(Object.entries(/* #__PURE__ */ Object.assign({
42
42
  "../assets/icons/bell-fill.svg": bell_fill_svg_default,
43
43
  "../assets/icons/check-circle-fill.svg": check_circle_fill_svg_default,
44
44
  "../assets/icons/check-lg.svg": check_lg_svg_default,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@iyulab/components",
3
3
  "description": "web-components library based on lit-element made by iyulab",
4
- "version": "1.0.9",
4
+ "version": "1.1.0",
5
5
  "keywords": [
6
6
  "iyulab",
7
7
  "components",
@@ -39,7 +39,9 @@
39
39
  "./plugins/*": "./plugins/*"
40
40
  },
41
41
  "scripts": {
42
- "test": "vite --force",
42
+ "dev": "vite --force",
43
+ "test": "vitest run",
44
+ "test:watch": "vitest",
43
45
  "build:plugins": "tsc -p plugins/tsconfig.json",
44
46
  "build": "eslint && vite build && npm run build:plugins"
45
47
  },
@@ -72,6 +74,7 @@
72
74
  "typescript-eslint": "^8.59.3",
73
75
  "vite": "^8.0.13",
74
76
  "vite-plugin-dts": "^5.0.0",
75
- "vite-plugin-static-copy": "^4.1.0"
77
+ "vite-plugin-static-copy": "^4.1.0",
78
+ "vitest": "^4.1.8"
76
79
  }
77
80
  }