@iyulab/components 1.44.1 → 1.45.1

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 (58) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +2 -1
  3. package/dist/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/decorate.js +1 -1
  4. package/dist/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/decorateMetadata.js +1 -1
  5. package/dist/components/UFloatingElement.d.ts +6 -0
  6. package/dist/components/UFloatingElement.js +36 -17
  7. package/dist/components/UFormControlElement.js +2 -2
  8. package/dist/components/UOverlayElement.js +2 -2
  9. package/dist/components/alert/UAlert.js +2 -2
  10. package/dist/components/avatar/UAvatar.js +2 -2
  11. package/dist/components/badge/UBadge.js +2 -2
  12. package/dist/components/breadcrumb/UBreadcrumb.js +1 -1
  13. package/dist/components/breadcrumb-item/UBreadcrumbItem.js +2 -2
  14. package/dist/components/button/UButton.js +2 -2
  15. package/dist/components/button-group/UButtonGroup.js +2 -2
  16. package/dist/components/card/UCard.js +2 -2
  17. package/dist/components/carousel/UCarousel.js +2 -2
  18. package/dist/components/checkbox/UCheckbox.js +2 -2
  19. package/dist/components/chip/UChip.js +2 -2
  20. package/dist/components/copy-button/UCopyButton.js +2 -2
  21. package/dist/components/date-picker/UDatePicker.js +2 -2
  22. package/dist/components/dialog/UDialog.js +2 -2
  23. package/dist/components/divider/UDivider.js +2 -2
  24. package/dist/components/drawer/UDrawer.js +2 -2
  25. package/dist/components/expander/UExpander.js +2 -2
  26. package/dist/components/field/UField.js +2 -2
  27. package/dist/components/file-input/UFileInput.js +2 -2
  28. package/dist/components/form/UForm.js +2 -2
  29. package/dist/components/icon/UIcon.js +2 -2
  30. package/dist/components/icon-button/UIconButton.js +2 -2
  31. package/dist/components/input/UInput.js +2 -2
  32. package/dist/components/menu/UMenu.js +2 -2
  33. package/dist/components/menu-item/UMenuItem.js +2 -2
  34. package/dist/components/option/UOption.js +2 -2
  35. package/dist/components/panel/UPanel.js +2 -2
  36. package/dist/components/popover/UPopover.js +2 -2
  37. package/dist/components/progress-bar/UProgressBar.js +2 -2
  38. package/dist/components/progress-ring/UProgressRing.js +2 -2
  39. package/dist/components/radio/URadio.js +2 -2
  40. package/dist/components/rating/URating.js +2 -2
  41. package/dist/components/select/USelect.js +2 -2
  42. package/dist/components/skeleton/USkeleton.js +2 -2
  43. package/dist/components/slider/USlider.js +2 -2
  44. package/dist/components/spinner/USpinner.js +2 -2
  45. package/dist/components/split-panel/USplitPanel.js +2 -2
  46. package/dist/components/switch/USwitch.js +2 -2
  47. package/dist/components/tab/UTab.js +2 -2
  48. package/dist/components/tab-panel/UTabPanel.js +2 -2
  49. package/dist/components/tag/UTag.js +2 -2
  50. package/dist/components/text/UText.js +2 -2
  51. package/dist/components/textarea/UTextarea.js +2 -2
  52. package/dist/components/tooltip/UTooltip.js +2 -2
  53. package/dist/components/tree/UTree.js +2 -2
  54. package/dist/components/tree-item/UTreeItem.js +2 -2
  55. package/dist/utilities/Locale.d.ts +8 -2
  56. package/dist/utilities/Locale.js +40 -15
  57. package/package.json +1 -1
  58. package/skills/iyulab-components/references/utilities/locale.md +35 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,40 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.45.1] - 2026-09-24
4
+
5
+ ### Fixed
6
+
7
+ - 🔴 **A floating element opened by setting `open` is now positioned.** Positioning and scroll/resize
8
+ tracking ran only inside `show()`, so every path that sets `open` directly left the element at
9
+ its static position with no coordinates at all. The visible case is a `u-menu-item` submenu
10
+ opened with the keyboard (`ArrowRight`) or by clicking its header: the submenu drew on top of
11
+ its parent item instead of beside it — mouse users never saw it, because hovering goes through
12
+ `show()`. A declarative `<u-popover open>` was affected the same way. Opening by `open` now
13
+ positions against the anchor and tracks it; closing by `open` stops tracking.
14
+
15
+ ## [1.45.0] - 2026-09-23
16
+
17
+ ### Added
18
+
19
+ - **`LocaleNamespace.textIn(locale, key, params?)` — look a string up in a given locale without
20
+ changing the active one.** A namespace resolved only against the active locale, and the lookup
21
+ chain is internal, so a package whose elements take their own `locale` attribute (one element in
22
+ a different language from the document) had to re-implement the chain to honor it. `textIn`
23
+ walks the same chain as `text()`; an empty `locale` means the active one. `text` and `textIn`
24
+ also keep working when taken off the handle (`const { text } = ns`).
25
+
26
+ ### Fixed
27
+
28
+ - **A region-less language tag now reaches the shipped regional table.** Chinese and Portuguese
29
+ ship only as `zh-CN`, `zh-TW` and `pt-BR`, and the lookup chain only shortened a tag (`ko-KR` →
30
+ `ko`) — so a page with `<html lang="zh">` or `lang="pt"`, a common and valid choice, rendered
31
+ every built-in string (clear buttons, steppers, validation messages) in English. The chain now
32
+ shortens a tag one subtag at a time and then falls to the language's default regional table:
33
+ `zh` → `zh-CN`, `pt` → `pt-BR`, and Traditional Chinese tags (`zh-Hant`, `zh-HK`, `zh-MO`) →
34
+ `zh-TW` rather than the Simplified default. A table you register for the region-less tag still
35
+ comes first. `Locale.namespace()` shares the chain, so packages that register their own strings
36
+ get the same resolution.
37
+
3
38
  ## [1.44.1] - 2026-09-23
4
39
 
5
40
  ### Fixed
package/README.md CHANGED
@@ -186,8 +186,9 @@ t.text('empty'); // 활성 로케일 기준
186
186
  t.text('greet', { who: 'Ann' }); // {name} 치환
187
187
  ```
188
188
 
189
- - 조회 사슬은 검증 메시지와 같습니다: **정확 일치 → base 언어(`ko-KR` → `ko`) → `en`**.
189
+ - 조회 사슬은 검증 메시지와 같습니다: **정확 일치 → 접두(`zh-Hant-HK` → `zh-Hant` → `zh`) → 그 언어의 기본 지역형(`zh` → `zh-CN` · `zh-Hant`/`zh-HK` → `zh-TW` · `pt` → `pt-BR`) → `en`**.
190
190
  - 같은 이름의 네임스페이스는 **같은 저장소**를 가리킵니다(모듈 어디서 만들어도 됩니다).
191
+ - 요소 하나가 문서와 다른 언어를 쓴다면(인스턴스별 `locale` 속성) `t.textIn(locale, 'empty')` 로 찾습니다 — 사슬은 같고 활성 로케일은 바꾸지 않습니다. `locale` 이 비어 있으면 활성 로케일입니다.
191
192
  - 사슬에 없는 키는 **키 자체**를 돌려줍니다 — 조용히 빈 문자열이 되지 않습니다.
192
193
  - `Locale.set()` 하나로 검증 메시지와 네임스페이스가 함께 전환됩니다.
193
194
 
@@ -1,4 +1,4 @@
1
- //#region \0@oxc-project+runtime@0.150.0/helpers/esm/decorate.js
1
+ //#region \0@oxc-project+runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js
1
+ //#region \0@oxc-project+runtime@0.151.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
  }
@@ -108,11 +108,17 @@ export declare class UFloatingElement extends UElement {
108
108
  /** arrow를 사용할 때 만들어지는 화살표 엘리먼트입니다. */
109
109
  protected arrowEl?: HTMLElement;
110
110
  private cleanup;
111
+ private trackSeq;
111
112
  private showTimer?;
112
113
  private hideTimer?;
113
114
  connectedCallback(): void;
114
115
  disconnectedCallback(): void;
115
116
  protected willUpdate(changedProperties: PropertyValues): void;
117
+ protected updated(changedProperties: PropertyValues): void;
118
+ /** 자동 위치 추적을 끊고, 계산 중인 track() 이 뒤늦게 추적을 걸지 못하게 한다. */
119
+ private untrack;
120
+ /** 타겟 기준으로 위치를 계산하고, 스크롤·리사이즈를 따라 재배치하도록 추적을 건다. */
121
+ private track;
116
122
  /**
117
123
  * 현재 엘리먼트를 표시합니다.
118
124
  *
@@ -1,8 +1,8 @@
1
1
  import { UElement } from "./UElement.js";
2
2
  import { getParentElement, querySelectorAllWithin } from "../utilities/elements.js";
3
3
  import { styles } from "./UFloatingElement.styles.js";
4
- import __decorateMetadata from "../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
5
- import __decorate from "../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
4
+ import __decorateMetadata from "../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
5
+ import __decorate from "../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
6
6
  import { property, state } from "lit/decorators.js";
7
7
  import { arrow, autoPlacement, autoUpdate, computePosition, flip, hide, offset, shift } from "@floating-ui/dom";
8
8
  //#region src/components/UFloatingElement.ts
@@ -30,6 +30,7 @@ var UFloatingElement = class extends UElement {
30
30
  this.showDelay = 0;
31
31
  this.hideDelay = 0;
32
32
  this.cleanup = null;
33
+ this.trackSeq = 0;
33
34
  }
34
35
  static {
35
36
  this.styles = [super.styles, styles];
@@ -42,8 +43,7 @@ var UFloatingElement = class extends UElement {
42
43
  }
43
44
  }
44
45
  disconnectedCallback() {
45
- if (this.cleanup !== null) this.cleanup();
46
- this.cleanup = null;
46
+ this.untrack();
47
47
  clearTimeout(this.showTimer);
48
48
  clearTimeout(this.hideTimer);
49
49
  this.showTimer = void 0;
@@ -55,6 +55,36 @@ var UFloatingElement = class extends UElement {
55
55
  if (changedProperties.has("for")) this.anchors = this.getAnchors(this.for);
56
56
  if (changedProperties.has("arrow")) this.toggleArrowElement(this.arrow);
57
57
  }
58
+ updated(changedProperties) {
59
+ super.updated(changedProperties);
60
+ if (!changedProperties.has("open")) return;
61
+ if (this.open && this.cleanup === null) {
62
+ const target = this.targetEl ?? this.anchors?.[0];
63
+ if (target) this.track(target);
64
+ } else if (!this.open) {
65
+ this.untrack();
66
+ this.targetEl = void 0;
67
+ }
68
+ }
69
+ /** 자동 위치 추적을 끊고, 계산 중인 track() 이 뒤늦게 추적을 걸지 못하게 한다. */
70
+ untrack() {
71
+ this.trackSeq++;
72
+ if (this.cleanup !== null) {
73
+ this.cleanup();
74
+ this.cleanup = null;
75
+ }
76
+ }
77
+ /** 타겟 기준으로 위치를 계산하고, 스크롤·리사이즈를 따라 재배치하도록 추적을 건다. */
78
+ async track(target) {
79
+ this.untrack();
80
+ const seq = this.trackSeq;
81
+ await this.reposition(target);
82
+ if (seq !== this.trackSeq) return;
83
+ this.cleanup = autoUpdate(target, this, () => {
84
+ this.reposition(target);
85
+ });
86
+ this.targetEl = target;
87
+ }
58
88
  /**
59
89
  * 현재 엘리먼트를 표시합니다.
60
90
  *
@@ -68,15 +98,7 @@ var UFloatingElement = class extends UElement {
68
98
  this.hideTimer = void 0;
69
99
  }
70
100
  if (this.showTimer) return true;
71
- if (this.cleanup !== null) {
72
- this.cleanup();
73
- this.cleanup = null;
74
- }
75
- await this.reposition(target);
76
- this.cleanup = autoUpdate(target, this, () => {
77
- this.reposition(target);
78
- });
79
- this.targetEl = target;
101
+ await this.track(target);
80
102
  if (this.open) return true;
81
103
  if (this.fire("show", {
82
104
  bubbles: false,
@@ -103,10 +125,7 @@ var UFloatingElement = class extends UElement {
103
125
  this.showTimer = void 0;
104
126
  }
105
127
  if (this.hideTimer) return true;
106
- if (this.cleanup !== null) {
107
- this.cleanup();
108
- this.cleanup = null;
109
- }
128
+ this.untrack();
110
129
  await this.updateComplete;
111
130
  this.targetEl = void 0;
112
131
  if (!this.open) return true;
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "./UElement.js";
2
- import __decorateMetadata from "../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./UFormControlElement.styles.js";
5
5
  import { property, state } from "lit/decorators.js";
6
6
  //#region src/components/UFormControlElement.ts
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "./UElement.js";
2
- import __decorateMetadata from "../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../_virtual/_@oxc-project_runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import "../button/UButton.js";
5
5
  import { devWarnOnce } from "../../utilities/devWarning.js";
6
6
  import "../icon/UIcon.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./UAvatar.styles.js";
5
5
  import { html } from "lit";
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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import "../icon/UIcon.js";
5
5
  import { statusIcon } from "../../utilities/statusIcon.js";
6
6
  import { styles } from "./UBadge.styles.js";
@@ -1,5 +1,5 @@
1
1
  import { UElement } from "../UElement.js";
2
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
3
3
  import "../icon/UIcon.js";
4
4
  import { Locale } from "../../utilities/Locale.js";
5
5
  import { styles } from "./UBreadcrumb.styles.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./UBreadcrumbItem.styles.js";
5
5
  import { html } from "lit";
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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import "../spinner/USpinner.js";
5
5
  import { styles } from "./UButton.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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./UCard.styles.js";
5
5
  import { html } from "lit";
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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import "../button/UButton.js";
5
5
  import "../icon/UIcon.js";
6
6
  import { Locale } from "../../utilities/Locale.js";
@@ -1,5 +1,5 @@
1
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
2
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
1
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
2
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import "../button/UButton.js";
5
5
  import "../icon/UIcon.js";
6
6
  import { Locale } from "../../utilities/Locale.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import "../button/UButton.js";
5
5
  import "../icon/UIcon.js";
6
6
  import { Locale } from "../../utilities/Locale.js";
@@ -1,5 +1,5 @@
1
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
2
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
1
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
2
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
3
3
  import { UFormControlElement } from "../UFormControlElement.js";
4
4
  import "../button/UButton.js";
5
5
  import "../icon/UIcon.js";
@@ -1,5 +1,5 @@
1
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
2
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
1
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
2
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js";
2
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
1
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
2
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import { devWarnOnce } from "../../utilities/devWarning.js";
5
5
  import { styles } from "./UField.styles.js";
6
6
  import { html, nothing } from "lit";
@@ -1,5 +1,5 @@
1
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
2
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
1
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
2
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import { IconRegistry, getDefaultBaseUrl } from "../../utilities/icons.js";
5
5
  import { devWarnOnce } from "../../utilities/devWarning.js";
6
6
  import { styles } from "./UIcon.styles.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import "../button/UButton.js";
5
5
  import "../icon/UIcon.js";
6
6
  import "../tooltip/UTooltip.js";
@@ -1,5 +1,5 @@
1
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
2
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
1
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
2
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
3
3
  import { UFormControlElement } from "../UFormControlElement.js";
4
4
  import "../spinner/USpinner.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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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,6 +1,6 @@
1
1
  import { isCoarsePointer } from "../../utilities/elements.js";
2
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import { UFloatingElement } from "../UFloatingElement.js";
5
5
  import { arrayAttrConverter } from "../../utilities/converters.js";
6
6
  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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js";
2
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
1
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
2
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js";
2
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
1
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
2
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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";
@@ -1,5 +1,5 @@
1
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
2
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
1
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
2
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
3
3
  import { UFormControlElement } from "../UFormControlElement.js";
4
4
  import "../spinner/USpinner.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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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";
@@ -1,5 +1,5 @@
1
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
2
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
1
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
2
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
3
3
  import { UFormControlElement } from "../UFormControlElement.js";
4
4
  import { Locale } from "../../utilities/Locale.js";
5
5
  import "../tooltip/UTooltip.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import { arrayAttrConverter } from "../../utilities/converters.js";
5
5
  import { devWarnOnce } from "../../utilities/devWarning.js";
6
6
  import { Locale } from "../../utilities/Locale.js";
@@ -1,5 +1,5 @@
1
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
2
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
1
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
2
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
3
3
  import { UFormControlElement } from "../UFormControlElement.js";
4
4
  import { Locale } from "../../utilities/Locale.js";
5
5
  import { styles } from "./USwitch.styles.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import "../button/UButton.js";
5
5
  import "../icon/UIcon.js";
6
6
  import { Locale } from "../../utilities/Locale.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import "../icon/UIcon.js";
5
5
  import { statusIcon } from "../../utilities/statusIcon.js";
6
6
  import { styles } from "./UTag.styles.js";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import { styles } from "./UText.styles.js";
5
5
  import { customElement, property } from "lit/decorators.js";
6
6
  import { html, literal } from "lit/static-html.js";
@@ -1,5 +1,5 @@
1
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
2
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
1
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
2
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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.150.0/helpers/esm/decorateMetadata.js";
2
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
1
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
2
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
3
3
  import { UFloatingElement } from "../UFloatingElement.js";
4
4
  import { styles } from "./UTooltip.styles.js";
5
5
  import { html } from "lit";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.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 { html } from "lit";
@@ -1,6 +1,6 @@
1
1
  import { UElement } from "../UElement.js";
2
- import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorateMetadata.js";
3
- import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
2
+ import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.js";
3
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.js";
4
4
  import "../spinner/USpinner.js";
5
5
  import "../icon/UIcon.js";
6
6
  import { styles } from "./UTreeItem.styles.js";
@@ -4,7 +4,7 @@
4
4
  * 범위: 라이브러리가 스스로 생성하는 chrome 문자열(검증 메시지 등)만 대상.
5
5
  * 일반 i18n 프레임워크가 아니다. 앱 콘텐츠 번역은 consumer 의 i18n 계층이 담당한다.
6
6
  *
7
- * en/ko/ja/zh-CN/es/fr 은 빌드 시점에 내장된다 (src/assets/locales/*.json).
7
+ * `SupportedLocale` 의 14개 언어가 빌드 시점에 내장된다 (src/assets/locales/*.json).
8
8
  * 그 외 언어는 register()로 테이블 단위 등록/오버라이드한다.
9
9
  */
10
10
  /** 라이브러리가 기본 제공하는 로케일. */
@@ -34,10 +34,16 @@ export interface LocaleNamespace<K extends string = string> {
34
34
  register(locale: LocaleTag, table: Partial<Record<K, string>>): void;
35
35
  /**
36
36
  * 활성 로케일 기준으로 문자열을 찾는다.
37
- * 사슬(정확 일치 → base → en)에 없으면 **키 자체를 돌려준다** — 조용히 빈 문자열이
37
+ * 사슬(정확 일치 → 접두 → 기본 지역형 → en)에 없으면 **키 자체를 돌려준다** — 조용히 빈 문자열이
38
38
  * 되는 것보다 화면에 드러나는 편이 낫다.
39
39
  */
40
40
  text(key: K, params?: Record<string, string | number>): string;
41
+ /**
42
+ * `text()` 와 같되 **주어진 로케일**로 찾는다 — 활성 로케일은 바꾸지 않는다.
43
+ * 요소 하나가 문서와 다른 언어를 쓰는 자리(인스턴스별 `locale` 속성)를 위한 것이다.
44
+ * 사슬은 `text()` 와 같고, `locale` 이 비어 있으면(`undefined`·`''`) 활성 로케일을 쓴다.
45
+ */
46
+ textIn(locale: LocaleTag | undefined, key: K, params?: Record<string, string | number>): string;
41
47
  }
42
48
  /**
43
49
  * 검증 메시지 로케일을 관리하는 정적 유틸리티입니다.
@@ -49,15 +49,38 @@ function detectLocale() {
49
49
  return "en";
50
50
  }
51
51
  var active = detectLocale();
52
- /** 정확 일치 → base 언어(ko-KR → ko) → en 순의 조회 사슬. */
52
+ /**
53
+ * 내장 표가 **지역형으로만** 있는 언어의 기본 지역형 — 키는 태그의 접두(소문자).
54
+ *
55
+ * ⚠`lang="zh"`·`"pt"` 처럼 지역 없는 태그는 흔하고 정당하다(BCP 47). 사슬이 접두를 줄여 가기만
56
+ * 하면 그 태그는 `zh-CN`·`pt-BR` 표에 **닿지 못하고** 영어로 떨어진다.
57
+ * ⚠«같은 base 의 첫 번째 표» 로 고르지 않고 **명시한다** — 중국어는 표기 체계가 둘이라 고르는
58
+ * 순서에 따라 번체 사용자가 간체를 받는다. 번체 쪽 태그(`zh-Hant`·`zh-HK`·`zh-MO`)는 `zh-TW` 로,
59
+ * 나머지 중국어는 `zh-CN` 으로. 사슬은 **가장 구체적인 접두부터** 이 표를 찾는다.
60
+ */
61
+ var REGIONAL_DEFAULTS = {
62
+ "zh-hant": "zh-tw",
63
+ "zh-hk": "zh-tw",
64
+ "zh-mo": "zh-tw",
65
+ zh: "zh-cn",
66
+ pt: "pt-br"
67
+ };
68
+ /**
69
+ * 조회 사슬 — 정확 일치 → 접두를 줄여 가며(RFC 4647 lookup: `zh-hant-hk → zh-hant → zh`) →
70
+ * 그 언어의 기본 지역형(`REGIONAL_DEFAULTS`) → `en`.
71
+ *
72
+ * 앱이 `register('pt', …)` 로 지역 없는 표를 직접 등록하면 그것이 기본 지역형보다 먼저 온다.
73
+ */
53
74
  function chainOf(locale) {
54
- const norm = locale.toLowerCase();
55
- const base = norm.split("-")[0];
56
- return base === norm ? [norm, "en"] : [
57
- norm,
58
- base,
75
+ const subtags = locale.toLowerCase().split("-");
76
+ const prefixes = subtags.map((_, i) => subtags.slice(0, subtags.length - i).join("-"));
77
+ const regional = prefixes.find((p) => p in REGIONAL_DEFAULTS);
78
+ const chain = regional ? [
79
+ ...prefixes,
80
+ REGIONAL_DEFAULTS[regional],
59
81
  "en"
60
- ];
82
+ ] : [...prefixes, "en"];
83
+ return [...new Set(chain)];
61
84
  }
62
85
  /** 템플릿의 `{name}` 자리를 치환한다. 값이 없는 자리는 그대로 남긴다(디버깅 단서). */
63
86
  function interpolate(template, params) {
@@ -114,6 +137,14 @@ var Locale = class {
114
137
  * @param name 네임스페이스 이름. 패키지·컴포넌트 단위를 권장합니다(예: `'u-data-view'`).
115
138
  */
116
139
  static namespace(name) {
140
+ const textIn = (locale, key, params) => {
141
+ const byLocale = namespaces.get(name);
142
+ for (const tag of chainOf(locale || active)) {
143
+ const value = byLocale?.get(tag)?.[key];
144
+ if (value) return interpolate(value, params);
145
+ }
146
+ return key;
147
+ };
117
148
  return {
118
149
  name,
119
150
  register(locale, table) {
@@ -125,14 +156,8 @@ var Locale = class {
125
156
  });
126
157
  namespaces.set(name, byLocale);
127
158
  },
128
- text(key, params) {
129
- const byLocale = namespaces.get(name);
130
- for (const tag of chainOf(active)) {
131
- const value = byLocale?.get(tag)?.[key];
132
- if (value) return interpolate(value, params);
133
- }
134
- return key;
135
- }
159
+ text: (key, params) => textIn(void 0, key, params),
160
+ textIn
136
161
  };
137
162
  }
138
163
  };
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.44.1",
4
+ "version": "1.45.1",
5
5
  "keywords": [
6
6
  "iyulab",
7
7
  "components",
@@ -16,6 +16,21 @@ declaration of the document's language and is what assistive technology uses to
16
16
  pronunciation rules (WCAG 3.1.1 / 3.1.2); the browser language is the user-preference
17
17
  fallback for when no such declaration exists. Call `Locale.set()` to override either.
18
18
 
19
+ ## Resolution
20
+
21
+ A message is looked up along a chain, first match wins:
22
+
23
+ 1. the exact tag (case-insensitive);
24
+ 2. the tag with trailing subtags removed, one at a time (`zh-Hant-HK` → `zh-Hant` → `zh`);
25
+ 3. the language's default regional table, for languages shipped only in regional form —
26
+ `zh` → `zh-CN`, `zh-Hant` / `zh-HK` / `zh-MO` → `zh-TW`, `pt` → `pt-BR`;
27
+ 4. `en`.
28
+
29
+ So `<html lang="zh">` or `lang="pt"` gets the shipped Chinese or Portuguese strings, and a
30
+ Traditional Chinese tag gets `zh-TW` rather than the Simplified default. A table you register for
31
+ the region-less tag (`Locale.register('pt', …)`) comes before step 3. `Locale.namespace()` uses the
32
+ same chain.
33
+
19
34
  ## API
20
35
 
21
36
  | Method | Description |
@@ -24,6 +39,26 @@ fallback for when no such declaration exists. Call `Locale.set()` to override ei
24
39
  | `Locale.get()` | Get active locale |
25
40
  | `Locale.register(locale, table)` | Register/override locale messages (partial merge supported) |
26
41
  | `Locale.getValue(key, params?)` | Resolve a localized message for current locale |
42
+ | `Locale.namespace(name)` | A string table for a package or app area, keyed by its own union — returns a handle (below) |
43
+
44
+ ### Namespaces
45
+
46
+ `Locale.getValue` covers the library's own message keys. A package built on top keeps its own
47
+ strings in a namespace and follows the same active locale and chain:
48
+
49
+ ```ts
50
+ const t = Locale.namespace<'empty' | 'greet'>('my-package');
51
+ t.register('en', { empty: 'No data', greet: 'Hello, {who}' });
52
+ t.register('ko', { empty: '데이터가 없습니다' }); // partial tables merge
53
+
54
+ t.text('empty'); // active locale
55
+ t.text('greet', { who: 'Ann' }); // {name} substitution
56
+ t.textIn(el.locale, 'empty'); // a given locale (e.g. an element's own `locale`);
57
+ // empty → active locale. Does not change the active one.
58
+ ```
59
+
60
+ A key missing from every table in the chain returns the key itself, so a gap shows on screen
61
+ instead of rendering as an empty string.
27
62
 
28
63
  ## Example
29
64