@iyulab/components 1.33.0 → 1.33.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +56 -0
- package/dist/_virtual/{_@oxc-project_runtime@0.146.0 → _@oxc-project_runtime@0.147.0}/helpers/esm/decorate.js +1 -1
- package/dist/_virtual/{_@oxc-project_runtime@0.146.0 → _@oxc-project_runtime@0.147.0}/helpers/esm/decorateMetadata.js +1 -1
- package/dist/assets/locales/ar.json.js +8 -2
- package/dist/assets/locales/de.json.js +8 -2
- package/dist/assets/locales/en.json.js +8 -2
- package/dist/assets/locales/es.json.js +8 -2
- package/dist/assets/locales/fr.json.js +8 -2
- package/dist/assets/locales/id.json.js +8 -2
- package/dist/assets/locales/ja.json.js +8 -2
- package/dist/assets/locales/ko.json.js +8 -2
- package/dist/assets/locales/pt-BR.json.js +8 -2
- package/dist/assets/locales/ru.json.js +8 -2
- package/dist/assets/locales/th.json.js +8 -2
- package/dist/assets/locales/vi.json.js +8 -2
- package/dist/assets/locales/zh-CN.json.js +8 -2
- package/dist/assets/locales/zh-TW.json.js +8 -2
- package/dist/components/UFloatingElement.d.ts +4 -0
- package/dist/components/UFloatingElement.js +2 -2
- package/dist/components/UFormControlElement.js +2 -2
- package/dist/components/UOverlayElement.js +2 -2
- package/dist/components/alert/UAlert.js +2 -2
- package/dist/components/avatar/UAvatar.js +2 -2
- package/dist/components/badge/UBadge.js +2 -2
- package/dist/components/breadcrumb/UBreadcrumb.js +1 -1
- package/dist/components/breadcrumb-item/UBreadcrumbItem.js +2 -2
- package/dist/components/button/UButton.d.ts +13 -0
- package/dist/components/button/UButton.js +23 -2
- package/dist/components/button-group/UButtonGroup.js +2 -2
- package/dist/components/card/UCard.js +2 -2
- package/dist/components/carousel/UCarousel.js +7 -2
- package/dist/components/checkbox/UCheckbox.js +2 -2
- package/dist/components/chip/UChip.js +2 -2
- package/dist/components/copy-button/UCopyButton.js +2 -2
- package/dist/components/date-picker/UDatePicker.js +2 -2
- package/dist/components/dialog/UDialog.js +2 -2
- package/dist/components/divider/UDivider.js +2 -2
- package/dist/components/drawer/UDrawer.js +2 -2
- package/dist/components/expander/UExpander.js +2 -2
- package/dist/components/field/UField.js +2 -2
- package/dist/components/form/UForm.js +2 -2
- package/dist/components/icon/UIcon.js +2 -2
- package/dist/components/icon-button/UIconButton.js +2 -2
- package/dist/components/input/UInput.js +2 -2
- package/dist/components/menu/UMenu.js +2 -2
- package/dist/components/menu-item/UMenuItem.js +2 -2
- package/dist/components/option/UOption.js +2 -2
- package/dist/components/panel/UPanel.js +2 -2
- package/dist/components/popover/UPopover.js +14 -5
- package/dist/components/progress-bar/UProgressBar.js +2 -2
- package/dist/components/progress-ring/UProgressRing.js +2 -2
- package/dist/components/radio/URadio.js +2 -2
- package/dist/components/rating/URating.js +2 -2
- package/dist/components/select/USelect.js +2 -2
- package/dist/components/skeleton/USkeleton.js +2 -2
- package/dist/components/slider/USlider.js +2 -2
- package/dist/components/spinner/USpinner.js +2 -2
- package/dist/components/split-panel/USplitPanel.js +2 -2
- package/dist/components/switch/USwitch.js +2 -2
- package/dist/components/tab/UTab.js +2 -2
- package/dist/components/tab-panel/UTabPanel.js +2 -2
- package/dist/components/tag/UTag.js +2 -2
- package/dist/components/text/UText.js +2 -2
- package/dist/components/textarea/UTextarea.js +2 -2
- package/dist/components/tooltip/UTooltip.js +2 -2
- package/dist/components/tree/UTree.js +2 -2
- package/dist/components/tree-item/UTreeItem.js +2 -2
- package/dist/index.js +3 -3
- package/dist/utilities/Locale.d.ts +1 -1
- package/dist/utilities/Locale.js +1 -1
- package/dist/utilities/elements.d.ts +6 -0
- package/dist/utilities/elements.js +9 -1
- package/package.json +1 -1
- package/skills/iyulab-components/references/components/button.md +17 -0
- package/skills/iyulab-components/references/components/card.md +7 -0
- package/skills/iyulab-components/references/components/drawer.md +6 -0
- package/skills/iyulab-components/references/components/radio.md +7 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,61 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.33.4] - 2026-08-27
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- **`u-carousel`'s previous/next buttons and pagination dots had no accessible
|
|
8
|
+
name.** All three are icon-only controls; without an explicit label a screen
|
|
9
|
+
reader announced them as unnamed buttons. They now carry a localized
|
|
10
|
+
`aria-label` (`Locale.getValue('previousSlide' | 'nextSlide' | 'goToSlide')`,
|
|
11
|
+
the pagination dots also gaining `aria-current`) — translated across all 14
|
|
12
|
+
built-in locales.
|
|
13
|
+
|
|
14
|
+
## [1.33.3] - 2026-08-26
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- **`Locale`'s automatic locale detection could pick up the host machine's OS
|
|
19
|
+
locale instead of a browser user's language.** `detectLocale()` trusted any
|
|
20
|
+
global `navigator.language` it found, including the one Node.js itself now
|
|
21
|
+
provides outside a browser — that global reflects the server/CLI machine's
|
|
22
|
+
OS locale, not a real user's setting. Importing this module in a non-browser
|
|
23
|
+
context (SSR, a Node script, a test runner) could silently default to a
|
|
24
|
+
non-English locale instead of the documented `'en'` fallback. It now only
|
|
25
|
+
trusts `navigator.language` when an actual `window` is present.
|
|
26
|
+
|
|
27
|
+
## [1.33.2] - 2026-08-25
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
|
|
31
|
+
- **`u-popover[trigger="hover"]` closed immediately on touch devices.** Its hover
|
|
32
|
+
handlers didn't distinguish pointer type — a tap fires `pointerenter` followed
|
|
33
|
+
almost instantly by `pointerleave` (touch/pen have no sustained "hover" state the
|
|
34
|
+
way a mouse does), so the popover closed again before a user could interact with
|
|
35
|
+
it. It now falls back to a click-like toggle on `touch`/`pen` pointers, matching
|
|
36
|
+
the common convention for hover-triggered menus (this also fixes `u-menu-item`'s
|
|
37
|
+
submenu, which uses the same trigger). Mouse and `focus`/`focusin` triggers are
|
|
38
|
+
unaffected.
|
|
39
|
+
|
|
40
|
+
### Docs
|
|
41
|
+
|
|
42
|
+
- `UFloatingElement`'s `show-delay`/`hide-delay` now document their kebab-case HTML
|
|
43
|
+
attribute name explicitly — the corresponding `showDelay`/`hideDelay` camelCase
|
|
44
|
+
spelling is silently ignored, and this wasn't called out before.
|
|
45
|
+
|
|
46
|
+
## [1.33.1] - 2026-08-25
|
|
47
|
+
|
|
48
|
+
### Fixed
|
|
49
|
+
|
|
50
|
+
- **`aria-label` set on `<u-button>` never reached the accessibility tree.** The host
|
|
51
|
+
attribute was present, but the actual interactive node exposed to assistive technology is
|
|
52
|
+
the native `<button>`/`<a>` rendered inside the shadow root — ARIA content attributes on a
|
|
53
|
+
shadow host do not cross the shadow boundary to label a descendant. Icon-only buttons using
|
|
54
|
+
`aria-label` for their accessible name were announced as unnamed controls. `render()` now
|
|
55
|
+
forwards the host's `aria-label` onto the internal element, and attribute changes made after
|
|
56
|
+
connection are observed and re-rendered (previously only the initial value would have had
|
|
57
|
+
any chance of being picked up).
|
|
58
|
+
|
|
3
59
|
## [1.33.0] - 2026-08-21
|
|
4
60
|
|
|
5
61
|
### Added
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region \0@oxc-project+runtime@0.
|
|
1
|
+
//#region \0@oxc-project+runtime@0.147.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.
|
|
1
|
+
//#region \0@oxc-project+runtime@0.147.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
|
}
|
|
@@ -13,6 +13,9 @@ var decrement = "إنقاص القيمة";
|
|
|
13
13
|
var clear = "مسح القيمة";
|
|
14
14
|
var showPassword = "إظهار كلمة المرور";
|
|
15
15
|
var hidePassword = "إخفاء كلمة المرور";
|
|
16
|
+
var previousSlide = "الشريحة السابقة";
|
|
17
|
+
var nextSlide = "الشريحة التالية";
|
|
18
|
+
var goToSlide = "الانتقال إلى الشريحة {n}";
|
|
16
19
|
var ar_default = {
|
|
17
20
|
valueMissing,
|
|
18
21
|
badInput,
|
|
@@ -27,7 +30,10 @@ var ar_default = {
|
|
|
27
30
|
decrement,
|
|
28
31
|
clear,
|
|
29
32
|
showPassword,
|
|
30
|
-
hidePassword
|
|
33
|
+
hidePassword,
|
|
34
|
+
previousSlide,
|
|
35
|
+
nextSlide,
|
|
36
|
+
goToSlide
|
|
31
37
|
};
|
|
32
38
|
//#endregion
|
|
33
|
-
export { badInput, clear, decrement, ar_default as default, hidePassword, increment, patternMismatch, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
39
|
+
export { badInput, clear, decrement, ar_default as default, goToSlide, hidePassword, increment, nextSlide, patternMismatch, previousSlide, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
@@ -13,6 +13,9 @@ var decrement = "Wert verringern";
|
|
|
13
13
|
var clear = "Wert löschen";
|
|
14
14
|
var showPassword = "Passwort anzeigen";
|
|
15
15
|
var hidePassword = "Passwort verbergen";
|
|
16
|
+
var previousSlide = "Vorherige Folie";
|
|
17
|
+
var nextSlide = "Nächste Folie";
|
|
18
|
+
var goToSlide = "Zu Folie {n} wechseln";
|
|
16
19
|
var de_default = {
|
|
17
20
|
valueMissing,
|
|
18
21
|
badInput,
|
|
@@ -27,7 +30,10 @@ var de_default = {
|
|
|
27
30
|
decrement,
|
|
28
31
|
clear,
|
|
29
32
|
showPassword,
|
|
30
|
-
hidePassword
|
|
33
|
+
hidePassword,
|
|
34
|
+
previousSlide,
|
|
35
|
+
nextSlide,
|
|
36
|
+
goToSlide
|
|
31
37
|
};
|
|
32
38
|
//#endregion
|
|
33
|
-
export { badInput, clear, decrement, de_default as default, hidePassword, increment, patternMismatch, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
39
|
+
export { badInput, clear, decrement, de_default as default, goToSlide, hidePassword, increment, nextSlide, patternMismatch, previousSlide, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
@@ -13,6 +13,9 @@ var decrement = "Decrease value";
|
|
|
13
13
|
var clear = "Clear value";
|
|
14
14
|
var showPassword = "Show password";
|
|
15
15
|
var hidePassword = "Hide password";
|
|
16
|
+
var previousSlide = "Previous slide";
|
|
17
|
+
var nextSlide = "Next slide";
|
|
18
|
+
var goToSlide = "Go to slide {n}";
|
|
16
19
|
var en_default = {
|
|
17
20
|
valueMissing,
|
|
18
21
|
badInput,
|
|
@@ -27,7 +30,10 @@ var en_default = {
|
|
|
27
30
|
decrement,
|
|
28
31
|
clear,
|
|
29
32
|
showPassword,
|
|
30
|
-
hidePassword
|
|
33
|
+
hidePassword,
|
|
34
|
+
previousSlide,
|
|
35
|
+
nextSlide,
|
|
36
|
+
goToSlide
|
|
31
37
|
};
|
|
32
38
|
//#endregion
|
|
33
|
-
export { badInput, clear, decrement, en_default as default, hidePassword, increment, patternMismatch, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
39
|
+
export { badInput, clear, decrement, en_default as default, goToSlide, hidePassword, increment, nextSlide, patternMismatch, previousSlide, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
@@ -13,6 +13,9 @@ var decrement = "Disminuir valor";
|
|
|
13
13
|
var clear = "Borrar valor";
|
|
14
14
|
var showPassword = "Mostrar contraseña";
|
|
15
15
|
var hidePassword = "Ocultar contraseña";
|
|
16
|
+
var previousSlide = "Diapositiva anterior";
|
|
17
|
+
var nextSlide = "Siguiente diapositiva";
|
|
18
|
+
var goToSlide = "Ir a la diapositiva {n}";
|
|
16
19
|
var es_default = {
|
|
17
20
|
valueMissing,
|
|
18
21
|
badInput,
|
|
@@ -27,7 +30,10 @@ var es_default = {
|
|
|
27
30
|
decrement,
|
|
28
31
|
clear,
|
|
29
32
|
showPassword,
|
|
30
|
-
hidePassword
|
|
33
|
+
hidePassword,
|
|
34
|
+
previousSlide,
|
|
35
|
+
nextSlide,
|
|
36
|
+
goToSlide
|
|
31
37
|
};
|
|
32
38
|
//#endregion
|
|
33
|
-
export { badInput, clear, decrement, es_default as default, hidePassword, increment, patternMismatch, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
39
|
+
export { badInput, clear, decrement, es_default as default, goToSlide, hidePassword, increment, nextSlide, patternMismatch, previousSlide, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
@@ -13,6 +13,9 @@ var decrement = "Diminuer la valeur";
|
|
|
13
13
|
var clear = "Effacer la valeur";
|
|
14
14
|
var showPassword = "Afficher le mot de passe";
|
|
15
15
|
var hidePassword = "Masquer le mot de passe";
|
|
16
|
+
var previousSlide = "Diapositive précédente";
|
|
17
|
+
var nextSlide = "Diapositive suivante";
|
|
18
|
+
var goToSlide = "Aller à la diapositive {n}";
|
|
16
19
|
var fr_default = {
|
|
17
20
|
valueMissing,
|
|
18
21
|
badInput,
|
|
@@ -27,7 +30,10 @@ var fr_default = {
|
|
|
27
30
|
decrement,
|
|
28
31
|
clear,
|
|
29
32
|
showPassword,
|
|
30
|
-
hidePassword
|
|
33
|
+
hidePassword,
|
|
34
|
+
previousSlide,
|
|
35
|
+
nextSlide,
|
|
36
|
+
goToSlide
|
|
31
37
|
};
|
|
32
38
|
//#endregion
|
|
33
|
-
export { badInput, clear, decrement, fr_default as default, hidePassword, increment, patternMismatch, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
39
|
+
export { badInput, clear, decrement, fr_default as default, goToSlide, hidePassword, increment, nextSlide, patternMismatch, previousSlide, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
@@ -13,6 +13,9 @@ var decrement = "Kurangi nilai";
|
|
|
13
13
|
var clear = "Hapus nilai";
|
|
14
14
|
var showPassword = "Tampilkan kata sandi";
|
|
15
15
|
var hidePassword = "Sembunyikan kata sandi";
|
|
16
|
+
var previousSlide = "Slide sebelumnya";
|
|
17
|
+
var nextSlide = "Slide berikutnya";
|
|
18
|
+
var goToSlide = "Buka slide {n}";
|
|
16
19
|
var id_default = {
|
|
17
20
|
valueMissing,
|
|
18
21
|
badInput,
|
|
@@ -27,7 +30,10 @@ var id_default = {
|
|
|
27
30
|
decrement,
|
|
28
31
|
clear,
|
|
29
32
|
showPassword,
|
|
30
|
-
hidePassword
|
|
33
|
+
hidePassword,
|
|
34
|
+
previousSlide,
|
|
35
|
+
nextSlide,
|
|
36
|
+
goToSlide
|
|
31
37
|
};
|
|
32
38
|
//#endregion
|
|
33
|
-
export { badInput, clear, decrement, id_default as default, hidePassword, increment, patternMismatch, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
39
|
+
export { badInput, clear, decrement, id_default as default, goToSlide, hidePassword, increment, nextSlide, patternMismatch, previousSlide, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
@@ -13,6 +13,9 @@ var decrement = "値を減らす";
|
|
|
13
13
|
var clear = "値をクリア";
|
|
14
14
|
var showPassword = "パスワードを表示";
|
|
15
15
|
var hidePassword = "パスワードを隠す";
|
|
16
|
+
var previousSlide = "前のスライド";
|
|
17
|
+
var nextSlide = "次のスライド";
|
|
18
|
+
var goToSlide = "スライド{n}に移動";
|
|
16
19
|
var ja_default = {
|
|
17
20
|
valueMissing,
|
|
18
21
|
badInput,
|
|
@@ -27,7 +30,10 @@ var ja_default = {
|
|
|
27
30
|
decrement,
|
|
28
31
|
clear,
|
|
29
32
|
showPassword,
|
|
30
|
-
hidePassword
|
|
33
|
+
hidePassword,
|
|
34
|
+
previousSlide,
|
|
35
|
+
nextSlide,
|
|
36
|
+
goToSlide
|
|
31
37
|
};
|
|
32
38
|
//#endregion
|
|
33
|
-
export { badInput, clear, decrement, ja_default as default, hidePassword, increment, patternMismatch, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
39
|
+
export { badInput, clear, decrement, ja_default as default, goToSlide, hidePassword, increment, nextSlide, patternMismatch, previousSlide, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
@@ -13,6 +13,9 @@ var decrement = "값 감소";
|
|
|
13
13
|
var clear = "값 지우기";
|
|
14
14
|
var showPassword = "비밀번호 표시";
|
|
15
15
|
var hidePassword = "비밀번호 숨기기";
|
|
16
|
+
var previousSlide = "이전 슬라이드";
|
|
17
|
+
var nextSlide = "다음 슬라이드";
|
|
18
|
+
var goToSlide = "{n}번 슬라이드로 이동";
|
|
16
19
|
var ko_default = {
|
|
17
20
|
valueMissing,
|
|
18
21
|
badInput,
|
|
@@ -27,7 +30,10 @@ var ko_default = {
|
|
|
27
30
|
decrement,
|
|
28
31
|
clear,
|
|
29
32
|
showPassword,
|
|
30
|
-
hidePassword
|
|
33
|
+
hidePassword,
|
|
34
|
+
previousSlide,
|
|
35
|
+
nextSlide,
|
|
36
|
+
goToSlide
|
|
31
37
|
};
|
|
32
38
|
//#endregion
|
|
33
|
-
export { badInput, clear, decrement, ko_default as default, hidePassword, increment, patternMismatch, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
39
|
+
export { badInput, clear, decrement, ko_default as default, goToSlide, hidePassword, increment, nextSlide, patternMismatch, previousSlide, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
@@ -13,6 +13,9 @@ var decrement = "Diminuir valor";
|
|
|
13
13
|
var clear = "Limpar valor";
|
|
14
14
|
var showPassword = "Mostrar senha";
|
|
15
15
|
var hidePassword = "Ocultar senha";
|
|
16
|
+
var previousSlide = "Slide anterior";
|
|
17
|
+
var nextSlide = "Próximo slide";
|
|
18
|
+
var goToSlide = "Ir para o slide {n}";
|
|
16
19
|
var pt_BR_default = {
|
|
17
20
|
valueMissing,
|
|
18
21
|
badInput,
|
|
@@ -27,7 +30,10 @@ var pt_BR_default = {
|
|
|
27
30
|
decrement,
|
|
28
31
|
clear,
|
|
29
32
|
showPassword,
|
|
30
|
-
hidePassword
|
|
33
|
+
hidePassword,
|
|
34
|
+
previousSlide,
|
|
35
|
+
nextSlide,
|
|
36
|
+
goToSlide
|
|
31
37
|
};
|
|
32
38
|
//#endregion
|
|
33
|
-
export { badInput, clear, decrement, pt_BR_default as default, hidePassword, increment, patternMismatch, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
39
|
+
export { badInput, clear, decrement, pt_BR_default as default, goToSlide, hidePassword, increment, nextSlide, patternMismatch, previousSlide, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
@@ -13,6 +13,9 @@ var decrement = "Уменьшить значение";
|
|
|
13
13
|
var clear = "Очистить значение";
|
|
14
14
|
var showPassword = "Показать пароль";
|
|
15
15
|
var hidePassword = "Скрыть пароль";
|
|
16
|
+
var previousSlide = "Предыдущий слайд";
|
|
17
|
+
var nextSlide = "Следующий слайд";
|
|
18
|
+
var goToSlide = "Перейти к слайду {n}";
|
|
16
19
|
var ru_default = {
|
|
17
20
|
valueMissing,
|
|
18
21
|
badInput,
|
|
@@ -27,7 +30,10 @@ var ru_default = {
|
|
|
27
30
|
decrement,
|
|
28
31
|
clear,
|
|
29
32
|
showPassword,
|
|
30
|
-
hidePassword
|
|
33
|
+
hidePassword,
|
|
34
|
+
previousSlide,
|
|
35
|
+
nextSlide,
|
|
36
|
+
goToSlide
|
|
31
37
|
};
|
|
32
38
|
//#endregion
|
|
33
|
-
export { badInput, clear, decrement, ru_default as default, hidePassword, increment, patternMismatch, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
39
|
+
export { badInput, clear, decrement, ru_default as default, goToSlide, hidePassword, increment, nextSlide, patternMismatch, previousSlide, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
@@ -13,6 +13,9 @@ var decrement = "ลดค่า";
|
|
|
13
13
|
var clear = "ล้างค่า";
|
|
14
14
|
var showPassword = "แสดงรหัสผ่าน";
|
|
15
15
|
var hidePassword = "ซ่อนรหัสผ่าน";
|
|
16
|
+
var previousSlide = "สไลด์ก่อนหน้า";
|
|
17
|
+
var nextSlide = "สไลด์ถัดไป";
|
|
18
|
+
var goToSlide = "ไปที่สไลด์ที่ {n}";
|
|
16
19
|
var th_default = {
|
|
17
20
|
valueMissing,
|
|
18
21
|
badInput,
|
|
@@ -27,7 +30,10 @@ var th_default = {
|
|
|
27
30
|
decrement,
|
|
28
31
|
clear,
|
|
29
32
|
showPassword,
|
|
30
|
-
hidePassword
|
|
33
|
+
hidePassword,
|
|
34
|
+
previousSlide,
|
|
35
|
+
nextSlide,
|
|
36
|
+
goToSlide
|
|
31
37
|
};
|
|
32
38
|
//#endregion
|
|
33
|
-
export { badInput, clear, decrement, th_default as default, hidePassword, increment, patternMismatch, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
39
|
+
export { badInput, clear, decrement, th_default as default, goToSlide, hidePassword, increment, nextSlide, patternMismatch, previousSlide, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
@@ -13,6 +13,9 @@ var decrement = "Giảm giá trị";
|
|
|
13
13
|
var clear = "Xóa giá trị";
|
|
14
14
|
var showPassword = "Hiện mật khẩu";
|
|
15
15
|
var hidePassword = "Ẩn mật khẩu";
|
|
16
|
+
var previousSlide = "Slide trước";
|
|
17
|
+
var nextSlide = "Slide sau";
|
|
18
|
+
var goToSlide = "Đi đến slide {n}";
|
|
16
19
|
var vi_default = {
|
|
17
20
|
valueMissing,
|
|
18
21
|
badInput,
|
|
@@ -27,7 +30,10 @@ var vi_default = {
|
|
|
27
30
|
decrement,
|
|
28
31
|
clear,
|
|
29
32
|
showPassword,
|
|
30
|
-
hidePassword
|
|
33
|
+
hidePassword,
|
|
34
|
+
previousSlide,
|
|
35
|
+
nextSlide,
|
|
36
|
+
goToSlide
|
|
31
37
|
};
|
|
32
38
|
//#endregion
|
|
33
|
-
export { badInput, clear, decrement, vi_default as default, hidePassword, increment, patternMismatch, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
39
|
+
export { badInput, clear, decrement, vi_default as default, goToSlide, hidePassword, increment, nextSlide, patternMismatch, previousSlide, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
@@ -13,6 +13,9 @@ var decrement = "减少值";
|
|
|
13
13
|
var clear = "清除值";
|
|
14
14
|
var showPassword = "显示密码";
|
|
15
15
|
var hidePassword = "隐藏密码";
|
|
16
|
+
var previousSlide = "上一张幻灯片";
|
|
17
|
+
var nextSlide = "下一张幻灯片";
|
|
18
|
+
var goToSlide = "转到幻灯片{n}";
|
|
16
19
|
var zh_CN_default = {
|
|
17
20
|
valueMissing,
|
|
18
21
|
badInput,
|
|
@@ -27,7 +30,10 @@ var zh_CN_default = {
|
|
|
27
30
|
decrement,
|
|
28
31
|
clear,
|
|
29
32
|
showPassword,
|
|
30
|
-
hidePassword
|
|
33
|
+
hidePassword,
|
|
34
|
+
previousSlide,
|
|
35
|
+
nextSlide,
|
|
36
|
+
goToSlide
|
|
31
37
|
};
|
|
32
38
|
//#endregion
|
|
33
|
-
export { badInput, clear, decrement, zh_CN_default as default, hidePassword, increment, patternMismatch, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
39
|
+
export { badInput, clear, decrement, zh_CN_default as default, goToSlide, hidePassword, increment, nextSlide, patternMismatch, previousSlide, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
@@ -13,6 +13,9 @@ var decrement = "減少值";
|
|
|
13
13
|
var clear = "清除值";
|
|
14
14
|
var showPassword = "顯示密碼";
|
|
15
15
|
var hidePassword = "隱藏密碼";
|
|
16
|
+
var previousSlide = "上一張投影片";
|
|
17
|
+
var nextSlide = "下一張投影片";
|
|
18
|
+
var goToSlide = "前往投影片{n}";
|
|
16
19
|
var zh_TW_default = {
|
|
17
20
|
valueMissing,
|
|
18
21
|
badInput,
|
|
@@ -27,7 +30,10 @@ var zh_TW_default = {
|
|
|
27
30
|
decrement,
|
|
28
31
|
clear,
|
|
29
32
|
showPassword,
|
|
30
|
-
hidePassword
|
|
33
|
+
hidePassword,
|
|
34
|
+
previousSlide,
|
|
35
|
+
nextSlide,
|
|
36
|
+
goToSlide
|
|
31
37
|
};
|
|
32
38
|
//#endregion
|
|
33
|
-
export { badInput, clear, decrement, zh_TW_default as default, hidePassword, increment, patternMismatch, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
39
|
+
export { badInput, clear, decrement, zh_TW_default as default, goToSlide, hidePassword, increment, nextSlide, patternMismatch, previousSlide, rangeOverflow, rangeUnderflow, showPassword, stepMismatch, tooLong, tooShort, typeMismatch, valueMissing };
|
|
@@ -76,12 +76,16 @@ export declare class UFloatingElement extends UElement {
|
|
|
76
76
|
/**
|
|
77
77
|
* 엘리먼트가 표시되기 전 지연 시간(ms)입니다.
|
|
78
78
|
*
|
|
79
|
+
* @attr {number} show-delay - HTML에서는 이 kebab-case 이름으로만 반영됩니다
|
|
80
|
+
* (`showDelay`로 적으면 조용히 무시됩니다).
|
|
79
81
|
* @default 0
|
|
80
82
|
*/
|
|
81
83
|
showDelay: number;
|
|
82
84
|
/**
|
|
83
85
|
* 엘리먼트가 숨겨지기 전 지연 시간(ms)입니다.
|
|
84
86
|
*
|
|
87
|
+
* @attr {number} hide-delay - HTML에서는 이 kebab-case 이름으로만 반영됩니다
|
|
88
|
+
* (`hideDelay`로 적으면 조용히 무시됩니다).
|
|
85
89
|
* @default 0
|
|
86
90
|
*/
|
|
87
91
|
hideDelay: number;
|
|
@@ -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.
|
|
5
|
-
import __decorate from "../_virtual/_@oxc-project_runtime@0.
|
|
4
|
+
import __decorateMetadata from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
5
|
+
import __decorate from "../_virtual/_@oxc-project_runtime@0.147.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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "./UElement.js";
|
|
2
|
-
import __decorateMetadata from "../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
4
4
|
import { styles } from "./UFormControlElement.styles.js";
|
|
5
5
|
import { property } 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.
|
|
3
|
-
import __decorate from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../_virtual/_@oxc-project_runtime@0.147.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.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
4
4
|
import "../button/UButton.js";
|
|
5
5
|
import "../icon/UIcon.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.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.147.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.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.147.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.
|
|
2
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
3
3
|
import "../icon/UIcon.js";
|
|
4
4
|
import { styles } from "./UBreadcrumb.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.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.147.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";
|
|
@@ -93,6 +93,19 @@ export declare class UButton extends UElement {
|
|
|
93
93
|
get form(): HTMLFormElement | null;
|
|
94
94
|
connectedCallback(): void;
|
|
95
95
|
disconnectedCallback(): void;
|
|
96
|
+
/**
|
|
97
|
+
* 호스트에 세팅된 `aria-label`은 실제 접근 가능한(포커스 대상) 엘리먼트가 아니라 —
|
|
98
|
+
* 그 안쪽 shadow DOM 의 네이티브 `<a>`/`<button>`이다. 섀도우 경계를 넘지 않으므로
|
|
99
|
+
* 접근성 트리에 자동 반영되지 않는다(docket #75 실측 — 속성은 붙어 있는데
|
|
100
|
+
* 접근성 이름이 비어 있음). `render()`가 이 값을 읽어 내부 엘리먼트에 직접 옮긴다.
|
|
101
|
+
*
|
|
102
|
+
* `aria-label`은 Lit 리액티브 프로퍼티로 선언돼 있지 않아 `observedAttributes`에
|
|
103
|
+
* 없다 — 그 목록에 없는 속성은 `attributeChangedCallback` 자체가 호출되지 않는다
|
|
104
|
+
* (커스텀 엘리먼트 표준 동작). 초기 렌더는 되지만 연결 후 동적 변경은 반영되지
|
|
105
|
+
* 않았다 — 목록에 명시적으로 추가해야 한다.
|
|
106
|
+
*/
|
|
107
|
+
static get observedAttributes(): string[];
|
|
108
|
+
attributeChangedCallback(name: string, old: string | null, value: string | null): void;
|
|
96
109
|
render(): TemplateResult<1>;
|
|
97
110
|
private renderContent;
|
|
98
111
|
private renderMask;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.147.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";
|
|
@@ -53,9 +53,29 @@ var UButton = class UButton extends UElement {
|
|
|
53
53
|
this.removeEventListener("click", this.handleClick);
|
|
54
54
|
super.disconnectedCallback();
|
|
55
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* 호스트에 세팅된 `aria-label`은 실제 접근 가능한(포커스 대상) 엘리먼트가 아니라 —
|
|
58
|
+
* 그 안쪽 shadow DOM 의 네이티브 `<a>`/`<button>`이다. 섀도우 경계를 넘지 않으므로
|
|
59
|
+
* 접근성 트리에 자동 반영되지 않는다(docket #75 실측 — 속성은 붙어 있는데
|
|
60
|
+
* 접근성 이름이 비어 있음). `render()`가 이 값을 읽어 내부 엘리먼트에 직접 옮긴다.
|
|
61
|
+
*
|
|
62
|
+
* `aria-label`은 Lit 리액티브 프로퍼티로 선언돼 있지 않아 `observedAttributes`에
|
|
63
|
+
* 없다 — 그 목록에 없는 속성은 `attributeChangedCallback` 자체가 호출되지 않는다
|
|
64
|
+
* (커스텀 엘리먼트 표준 동작). 초기 렌더는 되지만 연결 후 동적 변경은 반영되지
|
|
65
|
+
* 않았다 — 목록에 명시적으로 추가해야 한다.
|
|
66
|
+
*/
|
|
67
|
+
static get observedAttributes() {
|
|
68
|
+
return [...super.observedAttributes, "aria-label"];
|
|
69
|
+
}
|
|
70
|
+
attributeChangedCallback(name, old, value) {
|
|
71
|
+
super.attributeChangedCallback(name, old, value);
|
|
72
|
+
if (name === "aria-label") this.requestUpdate();
|
|
73
|
+
}
|
|
56
74
|
render() {
|
|
75
|
+
const ariaLabel = this.getAttribute("aria-label") ?? void 0;
|
|
57
76
|
if (this.href) return html`
|
|
58
77
|
<a part="link"
|
|
78
|
+
aria-label=${ifDefined(ariaLabel)}
|
|
59
79
|
?disabled=${this.disabled || this.loading}
|
|
60
80
|
tabindex=${this.disabled || this.loading ? -1 : 0}
|
|
61
81
|
href=${ifDefined(this.disabled || this.loading ? void 0 : this.href)}
|
|
@@ -69,6 +89,7 @@ var UButton = class UButton extends UElement {
|
|
|
69
89
|
`;
|
|
70
90
|
return html`
|
|
71
91
|
<button part="button"
|
|
92
|
+
aria-label=${ifDefined(ariaLabel)}
|
|
72
93
|
type=${this.type}
|
|
73
94
|
?disabled=${this.disabled || this.loading}
|
|
74
95
|
>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.147.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.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.147.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,8 +1,9 @@
|
|
|
1
1
|
import { UElement } from "../UElement.js";
|
|
2
|
-
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.
|
|
3
|
-
import __decorate from "../../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
3
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
4
4
|
import "../button/UButton.js";
|
|
5
5
|
import "../icon/UIcon.js";
|
|
6
|
+
import { Locale } from "../../utilities/Locale.js";
|
|
6
7
|
import { styles } from "./UCarousel.styles.js";
|
|
7
8
|
import { html } from "lit";
|
|
8
9
|
import { customElement, property, state } from "lit/decorators.js";
|
|
@@ -143,6 +144,7 @@ var UCarousel = class UCarousel extends UElement {
|
|
|
143
144
|
?hidden=${!this.navigation || !this.loop && this.index <= 0}
|
|
144
145
|
variant="ghost"
|
|
145
146
|
rounded
|
|
147
|
+
aria-label=${Locale.getValue("previousSlide")}
|
|
146
148
|
@click=${this.prev}>
|
|
147
149
|
<u-icon lib="internal" name="chevron-left"></u-icon>
|
|
148
150
|
</u-button>
|
|
@@ -150,6 +152,7 @@ var UCarousel = class UCarousel extends UElement {
|
|
|
150
152
|
?hidden=${!this.navigation || !this.loop && this.index >= this.maxIndex}
|
|
151
153
|
variant="ghost"
|
|
152
154
|
rounded
|
|
155
|
+
aria-label=${Locale.getValue("nextSlide")}
|
|
153
156
|
@click=${this.next}>
|
|
154
157
|
<u-icon lib="internal" name="chevron-right"></u-icon>
|
|
155
158
|
</u-button>
|
|
@@ -158,6 +161,8 @@ var UCarousel = class UCarousel extends UElement {
|
|
|
158
161
|
?hidden=${!this.pagination || this.pageCount <= 1}>
|
|
159
162
|
${Array.from({ length: this.pageCount }, (_, i) => html`
|
|
160
163
|
<button part="dot" class="dot"
|
|
164
|
+
aria-label=${Locale.getValue("goToSlide", { n: i + 1 })}
|
|
165
|
+
aria-current=${i === this.currentPage ? "true" : "false"}
|
|
161
166
|
?active=${i === this.currentPage}
|
|
162
167
|
@click=${() => this.goTo(Math.min(i * this.perMove, this.maxIndex))}>
|
|
163
168
|
</button>
|