@iyulab/components 1.42.2 → 1.42.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.
Files changed (36) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/assets/locales/ar.json.js +4 -2
  3. package/dist/assets/locales/de.json.js +4 -2
  4. package/dist/assets/locales/en.json.js +4 -2
  5. package/dist/assets/locales/es.json.js +4 -2
  6. package/dist/assets/locales/fr.json.js +4 -2
  7. package/dist/assets/locales/id.json.js +4 -2
  8. package/dist/assets/locales/ja.json.js +4 -2
  9. package/dist/assets/locales/ko.json.js +4 -2
  10. package/dist/assets/locales/pt-BR.json.js +4 -2
  11. package/dist/assets/locales/ru.json.js +4 -2
  12. package/dist/assets/locales/th.json.js +4 -2
  13. package/dist/assets/locales/vi.json.js +4 -2
  14. package/dist/assets/locales/zh-CN.json.js +4 -2
  15. package/dist/assets/locales/zh-TW.json.js +4 -2
  16. package/dist/components/avatar/UAvatar.js +1 -1
  17. package/dist/components/breadcrumb/UBreadcrumb.js +2 -1
  18. package/dist/components/card/UCard.d.ts +1 -0
  19. package/dist/components/date-picker/UDatePicker.d.ts +2 -0
  20. package/dist/components/divider/UDivider.d.ts +1 -0
  21. package/dist/components/icon/UIcon.d.ts +6 -1
  22. package/dist/components/option/UOption.d.ts +3 -0
  23. package/dist/components/tab/UTab.d.ts +1 -0
  24. package/dist/components/tag/UTag.d.ts +1 -0
  25. package/dist/utilities/Locale.d.ts +1 -1
  26. package/package.json +1 -1
  27. package/skills/iyulab-components/references/components/badge.md +7 -0
  28. package/skills/iyulab-components/references/components/breadcrumb.md +1 -0
  29. package/skills/iyulab-components/references/components/card.md +1 -0
  30. package/skills/iyulab-components/references/components/date-picker.md +2 -0
  31. package/skills/iyulab-components/references/components/divider.md +1 -0
  32. package/skills/iyulab-components/references/components/icon.md +7 -3
  33. package/skills/iyulab-components/references/components/menu.md +1 -0
  34. package/skills/iyulab-components/references/components/option.md +3 -0
  35. package/skills/iyulab-components/references/components/tag.md +1 -0
  36. package/skills/iyulab-components/references/components/tooltip.md +6 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,40 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.42.4] - 2026-09-21
4
+
5
+ ### Changed
6
+
7
+ - **`u-icon` no longer documents an `svg` CSS part.** It was declared and published but
8
+ **never implemented** — the SVG markup comes from the icon registry or a URL and is injected
9
+ as-is, so there is no element the component owns to carry a part. If you have a rule like
10
+ `u-icon::part(svg) { … }`, it has been matching nothing and raising no error the whole time;
11
+ that is why the claim survived. Style `u-icon` itself instead — it inherits `font-size` and
12
+ `color`, which is what sizes and colors the glyph. This removes a documented name, but
13
+ nothing can have depended on behavior that never existed.
14
+
15
+ ### Documentation
16
+
17
+ - **Every CSS part a component emits is now declared and listed.** Nine parts were emitted
18
+ without a `@csspart` declaration (`base` on card, divider, tag and tab; `base`,
19
+ `radio-marker` and `check-marker` on option; `calendar-week` and `time-input` on the date
20
+ picker), and seven were emitted without appearing in their reference page. The badge and
21
+ tooltip pages had no `CSS Parts` section at all, and the breadcrumb page was missing the
22
+ `link` part its items expose.
23
+ - Aiming `::part()` at a name no element carries matches nothing and raises no error, so this
24
+ class of drift is invisible from the outside — which is why it is now checked rather than
25
+ maintained by hand.
26
+
27
+ ## [1.42.3] - 2026-09-20
28
+
29
+ ### Fixed
30
+
31
+ - **Two accessible names were English regardless of the locale.** The breadcrumb landmark was
32
+ labelled `breadcrumb` inline, so a screen-reader user on a translated page heard an English
33
+ landmark name; it now resolves through the locale table, which gains a `breadcrumb` key in every
34
+ bundled language. `u-avatar` fell back to the literal `Avatar` as its image `alt` when no label
35
+ was given — an avatar with nothing to name is decorative, so it now carries an empty `alt` and is
36
+ skipped rather than announced with an English word.
37
+
3
38
  ## [1.42.2] - 2026-09-20
4
39
 
5
40
  ### Fixed
@@ -37,6 +37,7 @@ var alertNotice = "إشعار";
37
37
  var alertMessage = "رسالة";
38
38
  var remove = "إزالة";
39
39
  var closeTab = "إغلاق علامة التبويب";
40
+ var breadcrumb = "مسار التنقل";
40
41
  var ar_default = {
41
42
  valueMissing,
42
43
  badInput,
@@ -75,7 +76,8 @@ var ar_default = {
75
76
  alertNotice,
76
77
  alertMessage,
77
78
  remove,
78
- closeTab
79
+ closeTab,
80
+ breadcrumb
79
81
  };
80
82
  //#endregion
81
- export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, ar_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
83
+ export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, breadcrumb, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, ar_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
@@ -37,6 +37,7 @@ var alertNotice = "Hinweis";
37
37
  var alertMessage = "Nachricht";
38
38
  var remove = "Entfernen";
39
39
  var closeTab = "Tab schließen";
40
+ var breadcrumb = "Navigationspfad";
40
41
  var de_default = {
41
42
  valueMissing,
42
43
  badInput,
@@ -75,7 +76,8 @@ var de_default = {
75
76
  alertNotice,
76
77
  alertMessage,
77
78
  remove,
78
- closeTab
79
+ closeTab,
80
+ breadcrumb
79
81
  };
80
82
  //#endregion
81
- export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, de_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
83
+ export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, breadcrumb, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, de_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
@@ -37,6 +37,7 @@ var alertNotice = "Notice";
37
37
  var alertMessage = "Message";
38
38
  var remove = "Remove";
39
39
  var closeTab = "Close tab";
40
+ var breadcrumb = "Breadcrumb";
40
41
  var en_default = {
41
42
  valueMissing,
42
43
  badInput,
@@ -75,7 +76,8 @@ var en_default = {
75
76
  alertNotice,
76
77
  alertMessage,
77
78
  remove,
78
- closeTab
79
+ closeTab,
80
+ breadcrumb
79
81
  };
80
82
  //#endregion
81
- export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, en_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
83
+ export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, breadcrumb, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, en_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
@@ -36,6 +36,7 @@ var alertNotice = "Aviso";
36
36
  var alertMessage = "Mensaje";
37
37
  var remove = "Quitar";
38
38
  var closeTab = "Cerrar pestaña";
39
+ var breadcrumb = "Ruta de navegación";
39
40
  var es_default = {
40
41
  valueMissing,
41
42
  badInput,
@@ -74,7 +75,8 @@ var es_default = {
74
75
  alertNotice,
75
76
  alertMessage,
76
77
  remove,
77
- closeTab
78
+ closeTab,
79
+ breadcrumb
78
80
  };
79
81
  //#endregion
80
- export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, es_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, tooLong, tooShort, typeMismatch, valueMissing };
82
+ export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, breadcrumb, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, es_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, tooLong, tooShort, typeMismatch, valueMissing };
@@ -37,6 +37,7 @@ var alertNotice = "Avis";
37
37
  var alertMessage = "Message";
38
38
  var remove = "Supprimer";
39
39
  var closeTab = "Fermer l'onglet";
40
+ var breadcrumb = "Fil d'Ariane";
40
41
  var fr_default = {
41
42
  valueMissing,
42
43
  badInput,
@@ -75,7 +76,8 @@ var fr_default = {
75
76
  alertNotice,
76
77
  alertMessage,
77
78
  remove,
78
- closeTab
79
+ closeTab,
80
+ breadcrumb
79
81
  };
80
82
  //#endregion
81
- export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, fr_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
83
+ export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, breadcrumb, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, fr_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
@@ -37,6 +37,7 @@ var alertNotice = "Pemberitahuan";
37
37
  var alertMessage = "Pesan";
38
38
  var remove = "Hapus";
39
39
  var closeTab = "Tutup tab";
40
+ var breadcrumb = "Navigasi remah roti";
40
41
  var id_default = {
41
42
  valueMissing,
42
43
  badInput,
@@ -75,7 +76,8 @@ var id_default = {
75
76
  alertNotice,
76
77
  alertMessage,
77
78
  remove,
78
- closeTab
79
+ closeTab,
80
+ breadcrumb
79
81
  };
80
82
  //#endregion
81
- export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, id_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
83
+ export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, breadcrumb, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, id_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
@@ -37,6 +37,7 @@ var alertNotice = "通知";
37
37
  var alertMessage = "メッセージ";
38
38
  var remove = "削除";
39
39
  var closeTab = "タブを閉じる";
40
+ var breadcrumb = "パンくずリスト";
40
41
  var ja_default = {
41
42
  valueMissing,
42
43
  badInput,
@@ -75,7 +76,8 @@ var ja_default = {
75
76
  alertNotice,
76
77
  alertMessage,
77
78
  remove,
78
- closeTab
79
+ closeTab,
80
+ breadcrumb
79
81
  };
80
82
  //#endregion
81
- export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, ja_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
83
+ export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, breadcrumb, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, ja_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
@@ -37,6 +37,7 @@ var alertNotice = "알림";
37
37
  var alertMessage = "메시지";
38
38
  var remove = "제거";
39
39
  var closeTab = "탭 닫기";
40
+ var breadcrumb = "탐색 경로";
40
41
  var ko_default = {
41
42
  valueMissing,
42
43
  badInput,
@@ -75,7 +76,8 @@ var ko_default = {
75
76
  alertNotice,
76
77
  alertMessage,
77
78
  remove,
78
- closeTab
79
+ closeTab,
80
+ breadcrumb
79
81
  };
80
82
  //#endregion
81
- export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, ko_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
83
+ export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, breadcrumb, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, ko_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
@@ -37,6 +37,7 @@ var alertNotice = "Nota";
37
37
  var alertMessage = "Mensagem";
38
38
  var remove = "Remover";
39
39
  var closeTab = "Fechar aba";
40
+ var breadcrumb = "Trilha de navegação";
40
41
  var pt_BR_default = {
41
42
  valueMissing,
42
43
  badInput,
@@ -75,7 +76,8 @@ var pt_BR_default = {
75
76
  alertNotice,
76
77
  alertMessage,
77
78
  remove,
78
- closeTab
79
+ closeTab,
80
+ breadcrumb
79
81
  };
80
82
  //#endregion
81
- export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, pt_BR_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
83
+ export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, breadcrumb, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, pt_BR_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
@@ -37,6 +37,7 @@ var alertNotice = "Уведомление";
37
37
  var alertMessage = "Сообщение";
38
38
  var remove = "Удалить";
39
39
  var closeTab = "Закрыть вкладку";
40
+ var breadcrumb = "Навигационная цепочка";
40
41
  var ru_default = {
41
42
  valueMissing,
42
43
  badInput,
@@ -75,7 +76,8 @@ var ru_default = {
75
76
  alertNotice,
76
77
  alertMessage,
77
78
  remove,
78
- closeTab
79
+ closeTab,
80
+ breadcrumb
79
81
  };
80
82
  //#endregion
81
- export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, ru_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
83
+ export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, breadcrumb, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, ru_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
@@ -37,6 +37,7 @@ var alertNotice = "ประกาศ";
37
37
  var alertMessage = "ข้อความ";
38
38
  var remove = "ลบ";
39
39
  var closeTab = "ปิดแท็บ";
40
+ var breadcrumb = "เส้นทางการนำทาง";
40
41
  var th_default = {
41
42
  valueMissing,
42
43
  badInput,
@@ -75,7 +76,8 @@ var th_default = {
75
76
  alertNotice,
76
77
  alertMessage,
77
78
  remove,
78
- closeTab
79
+ closeTab,
80
+ breadcrumb
79
81
  };
80
82
  //#endregion
81
- export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, th_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
83
+ export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, breadcrumb, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, th_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
@@ -37,6 +37,7 @@ var alertNotice = "Lưu ý";
37
37
  var alertMessage = "Thông báo";
38
38
  var remove = "Xóa";
39
39
  var closeTab = "Đóng tab";
40
+ var breadcrumb = "Đường dẫn điều hướng";
40
41
  var vi_default = {
41
42
  valueMissing,
42
43
  badInput,
@@ -75,7 +76,8 @@ var vi_default = {
75
76
  alertNotice,
76
77
  alertMessage,
77
78
  remove,
78
- closeTab
79
+ closeTab,
80
+ breadcrumb
79
81
  };
80
82
  //#endregion
81
- export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, vi_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
83
+ export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, breadcrumb, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, vi_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
@@ -37,6 +37,7 @@ var alertNotice = "提示";
37
37
  var alertMessage = "消息";
38
38
  var remove = "移除";
39
39
  var closeTab = "关闭标签页";
40
+ var breadcrumb = "面包屑导航";
40
41
  var zh_CN_default = {
41
42
  valueMissing,
42
43
  badInput,
@@ -75,7 +76,8 @@ var zh_CN_default = {
75
76
  alertNotice,
76
77
  alertMessage,
77
78
  remove,
78
- closeTab
79
+ closeTab,
80
+ breadcrumb
79
81
  };
80
82
  //#endregion
81
- export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, zh_CN_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
83
+ export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, breadcrumb, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, zh_CN_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
@@ -37,6 +37,7 @@ var alertNotice = "提示";
37
37
  var alertMessage = "訊息";
38
38
  var remove = "移除";
39
39
  var closeTab = "關閉分頁";
40
+ var breadcrumb = "麵包屑導覽";
40
41
  var zh_TW_default = {
41
42
  valueMissing,
42
43
  badInput,
@@ -75,7 +76,8 @@ var zh_TW_default = {
75
76
  alertNotice,
76
77
  alertMessage,
77
78
  remove,
78
- closeTab
79
+ closeTab,
80
+ breadcrumb
79
81
  };
80
82
  //#endregion
81
- export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, zh_TW_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
83
+ export { alertError, alertInfo, alertMessage, alertNotice, alertSuccess, alertWarning, badInput, breadcrumb, chooseDate, chooseFile, clear, close, closeTab, copied, copy, decrement, zh_TW_default as default, filesSelected, goToSlide, hidePassword, increment, nextMonth, nextSlide, noFileChosen, patternMismatch, previousMonth, previousSlide, rangeOverflow, rangeUnderflow, remove, resizePanels, search, showPassword, stepMismatch, time, today, tooLong, tooShort, typeMismatch, valueMissing };
@@ -18,7 +18,7 @@ var UAvatar = class UAvatar extends UElement {
18
18
  if (this.image) return html`
19
19
  <img part="image"
20
20
  src=${this.image}
21
- alt=${this.label || "Avatar"}
21
+ alt=${this.label || ""}
22
22
  />`;
23
23
  if (this.label) return html`
24
24
  <span part="label" class="label">
@@ -1,6 +1,7 @@
1
1
  import { UElement } from "../UElement.js";
2
2
  import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
3
3
  import "../icon/UIcon.js";
4
+ import { Locale } from "../../utilities/Locale.js";
4
5
  import { styles } from "./UBreadcrumb.styles.js";
5
6
  import { html } from "lit";
6
7
  import { customElement } from "lit/decorators.js";
@@ -25,7 +26,7 @@ var UBreadcrumb = class UBreadcrumb extends UElement {
25
26
  }
26
27
  render() {
27
28
  return html`
28
- <nav aria-label="breadcrumb" part="nav">
29
+ <nav aria-label=${Locale.getValue("breadcrumb")} part="nav">
29
30
  <slot @slotchange=${this.handleSlotChange}></slot>
30
31
  </nav>
31
32
  <div hidden aria-hidden="true">
@@ -8,6 +8,7 @@ export type CardOrientation = 'vertical' | 'horizontal';
8
8
  * @slot footer - 카드 하단 푸터 영역
9
9
  * @slot media - 카드의 미디어 영역 (이미지, 동영상 등)
10
10
  *
11
+ * @csspart base - 카드 바깥 상자
11
12
  * @csspart media - 미디어 영역 컨테이너
12
13
  * @csspart content - 콘텐츠 영역 컨테이너
13
14
  * @csspart header - 헤더 영역 컨테이너
@@ -29,6 +29,8 @@ export type DatePickerMode = 'date' | 'datetime';
29
29
  * @csspart calendar-title - the "Month Year" title
30
30
  * @csspart calendar-weekdays - the weekday header row
31
31
  * @csspart calendar-grid - the date grid
32
+ * @csspart calendar-week - one week row inside the date grid
33
+ * @csspart time-input - the time-of-day input (datetime mode only)
32
34
  * @csspart day - a date cell button
33
35
  * @csspart calendar-footer - the row holding the "today"/"clear" quick-action buttons
34
36
  * @csspart calendar-time - the row holding the time-of-day input (datetime mode only)
@@ -6,6 +6,7 @@ export type DividerAlign = 'start' | 'center' | 'end';
6
6
  *
7
7
  * @slot - 구분선 위에 오버레이하는 콘텐츠 (텍스트, 아이콘)
8
8
  *
9
+ * @csspart base - 구분선 바깥 상자
9
10
  * @csspart line-start - 구분선의 시작 부분
10
11
  * @csspart label - 슬롯 콘텐츠 부분
11
12
  * @csspart line-end - 구분선의 끝 부분
@@ -3,7 +3,12 @@ export type IconLibrary = (string & {}) | "internal" | "tabler" | "heroicons" |
3
3
  /**
4
4
  * SVG 아이콘을 이름으로 불러와 표시하는 아이콘 컴포넌트입니다.
5
5
  *
6
- * @csspart svg - 아이콘의 SVG 요소에 적용됩니다.
6
+ * ⚠**이 컴포넌트는 part 를 내보내지 않는다 — 호스트(u-icon) 자체가 스타일 대상이다.**
7
+ * svg part 선언이 오래 있었으나 **구현된 적이 없었다**. SVG 마크업은 레지스트리/URL 에서 받아 unsafeHTML 로 그대로 주입하므로, 그 안의 루트 요소에
8
+ * part 를 붙이려면 받아 온 문자열을 고쳐 쓰거나 래퍼 요소를 하나 더 끼워야 한다 — 둘 다 기존
9
+ * 선택자를 깨뜨린다. 없는 part 를 겨눈 선택자는 **아무것도 맞히지 못하고 오류도 내지 않으므로**,
10
+ * 지키지 못할 약속을 지우는 쪽이 소비자에게 정직하다.
11
+ * 크기·색은 u-icon 자신에 걸면 된다(font-size·color 를 상속한다).
7
12
  */
8
13
  export declare class UIcon extends UElement {
9
14
  static styles: import('lit').CSSResultGroup[];
@@ -9,7 +9,10 @@ export type OptionMarker = 'radio' | 'check';
9
9
  * @slot prefix - 라벨 앞에 표시되는 아이콘 등
10
10
  * @slot suffix - 라벨 뒤에 표시되는 추가 콘텐츠
11
11
  *
12
+ * @csspart base - 옵션 항목 바깥 상자
12
13
  * @csspart content - 콘텐츠 영역
14
+ * @csspart radio-marker - 단일 선택 모드의 라디오 표식
15
+ * @csspart check-marker - 다중 선택 모드의 체크 표식
13
16
  *
14
17
  * @cssprop --option-color-interactive - 호버/포커스 시 텍스트 색상
15
18
  * @cssprop --option-border-color-interactive - 호버/포커스 시 테두리 색상
@@ -6,6 +6,7 @@ import { UElement } from '../UElement.js';
6
6
  * @slot prefix - 탭 레이블 앞에 표시되는 콘텐츠
7
7
  * @slot suffix - 탭 레이블 뒤에 표시되는 콘텐츠
8
8
  *
9
+ * @csspart base - 탭 바깥 상자
9
10
  * @csspart remove-btn - 탭 닫기 버튼
10
11
  *
11
12
  * @event remove - 탭이 닫힐 때 발생. 이벤트 리스너에서 preventDefault()를 호출하면 탭이 닫히지 않습니다.
@@ -13,6 +13,7 @@ export type TagColor = "neutral" | "primary" | "info" | "success" | "warning" |
13
13
  * @slot prefix - 태그 앞에 표시할 콘텐츠
14
14
  * @slot suffix - 태그 뒤에 표시할 콘텐츠
15
15
  *
16
+ * @csspart base - 태그 바깥 상자
16
17
  * @csspart content - 콘텐츠 영역
17
18
  * @csspart icon - 상태 아이콘 (`icon` + 역할 색일 때만 렌더된다)
18
19
  *
@@ -12,7 +12,7 @@ export type SupportedLocale = 'en' | 'ko' | 'ja' | 'zh-CN' | 'zh-TW' | 'es' | 'f
12
12
  /** 내장 로케일은 자동완성되지만, 임의의 BCP47 태그도 그대로 받는다. */
13
13
  export type LocaleTag = SupportedLocale | (string & {});
14
14
  /** 라이브러리가 제공하는 chrome 문자열 키. 지금은 검증 메시지뿐이지만 이후 다른 UI 문구도 추가될 수 있다. */
15
- export type LocaleMessageKey = 'valueMissing' | 'badInput' | 'typeMismatch' | 'patternMismatch' | 'rangeUnderflow' | 'rangeOverflow' | 'stepMismatch' | 'tooShort' | 'tooLong' | 'increment' | 'decrement' | 'clear' | 'today' | 'time' | 'showPassword' | 'hidePassword' | 'previousSlide' | 'nextSlide' | 'goToSlide' | 'chooseDate' | 'previousMonth' | 'nextMonth' | 'close' | 'copy' | 'copied' | 'chooseFile' | 'noFileChosen' | 'filesSelected' | 'resizePanels' | 'search' | 'alertError' | 'alertWarning' | 'alertSuccess' | 'alertInfo' | 'alertNotice' | 'alertMessage' | 'remove' | 'closeTab';
15
+ export type LocaleMessageKey = 'valueMissing' | 'badInput' | 'typeMismatch' | 'patternMismatch' | 'rangeUnderflow' | 'rangeOverflow' | 'stepMismatch' | 'tooShort' | 'tooLong' | 'increment' | 'decrement' | 'clear' | 'today' | 'time' | 'showPassword' | 'hidePassword' | 'previousSlide' | 'nextSlide' | 'goToSlide' | 'chooseDate' | 'previousMonth' | 'nextMonth' | 'close' | 'copy' | 'copied' | 'chooseFile' | 'noFileChosen' | 'filesSelected' | 'resizePanels' | 'breadcrumb' | 'search' | 'alertError' | 'alertWarning' | 'alertSuccess' | 'alertInfo' | 'alertNotice' | 'alertMessage' | 'remove' | 'closeTab';
16
16
  type LocaleTable = Record<LocaleMessageKey, string>;
17
17
  /**
18
18
  * 한 패키지(또는 앱 영역)의 문자열 묶음.
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.42.2",
4
+ "version": "1.42.4",
5
5
  "keywords": [
6
6
  "iyulab",
7
7
  "components",
@@ -29,6 +29,13 @@ Status badge for numbers, labels, or dot indicators. Use `anchor` to position it
29
29
  | *(default)* | Badge label (text or icon) |
30
30
  | `suffix` | Content after the main label |
31
31
 
32
+ ## CSS Parts
33
+
34
+ | Part | Description |
35
+ |------|-------------|
36
+ | `base` | Outer badge box |
37
+ | `icon` | Status icon (rendered only with `icon` + a semantic `color`) |
38
+
32
39
  ## Properties
33
40
 
34
41
  | Property | Type | Default | Reflect | Description |
@@ -40,6 +40,7 @@ Hierarchical location indicator. Compose `u-breadcrumb-item` elements inside `u-
40
40
  | Part | Description |
41
41
  |------|-------------|
42
42
  | `nav` | `<nav>` wrapper element |
43
+ | `link` | Each `u-breadcrumb-item`'s link element |
43
44
 
44
45
  ---
45
46
 
@@ -46,6 +46,7 @@ Content card with optional media, header, body, and footer sections.
46
46
 
47
47
  | Part | Description |
48
48
  |------|-------------|
49
+ | `base` | Outer card box |
49
50
  | `media` | Media area wrapper |
50
51
  | `content` | Full content wrapper (header + body + footer) |
51
52
  | `header` | Header slot wrapper |
@@ -81,6 +81,8 @@ day preserves whatever time-of-day was already set; only the "Today" button over
81
81
  | `day` | A date cell button |
82
82
  | `calendar-footer` | The row holding the "Today"/"Clear" quick-action buttons |
83
83
  | `calendar-time` | The row holding the time-of-day input (`mode="datetime"` only) |
84
+ | `calendar-week` | One week row inside the date grid |
85
+ | `time-input` | Time-of-day input (datetime mode only) |
84
86
 
85
87
  ## CSS Custom Properties
86
88
 
@@ -43,6 +43,7 @@ Horizontal or vertical separator line. Slot content is overlaid as an inline lab
43
43
 
44
44
  | Part | Description |
45
45
  |------|-------------|
46
+ | `base` | Outer divider box |
46
47
  | `line-start` | Line segment before the label |
47
48
  | `label` | Label wrapper |
48
49
  | `line-end` | Line segment after the label |
@@ -56,6 +56,10 @@ For registering custom libraries, see [icons.md](../utilities/icons.md).
56
56
 
57
57
  ## CSS Parts
58
58
 
59
- | Part | Description |
60
- |------|-------------|
61
- | `svg` | The rendered `<svg>` element |
59
+ None. Style `u-icon` itself — it inherits `font-size` and `color`, which is what sizes
60
+ and colors the glyph.
61
+
62
+ ⚠ A `svg` part was documented here for a long time and **never existed**: the markup comes
63
+ from the registry or a URL and is injected as-is, so there is no element the component owns to
64
+ put a `part` on. `::part(svg)` matched nothing and raised no error, which is exactly how that
65
+ claim survived.
@@ -100,6 +100,7 @@ Keyboard-navigable menu. Supports single/multiple selection, highlight or checkm
100
100
 
101
101
  | Part | Description |
102
102
  |------|-------------|
103
+ | `base` | Outer menu box (on `u-menu` itself; the rows below are `u-menu-item` parts) |
103
104
  | `header` | Item header row |
104
105
  | `content` | Label content area |
105
106
  | `submenu` | Inline sub-menu wrapper |
@@ -57,6 +57,9 @@ Selectable option item. Used inside `u-select`, `u-radio`, and `u-input` (combob
57
57
 
58
58
  | Part | Description |
59
59
  |------|-------------|
60
+ | `base` | Outer option box |
61
+ | `radio-marker` | Single-select marker |
62
+ | `check-marker` | Multi-select marker |
60
63
  | `content` | Main content wrapper |
61
64
 
62
65
  ## CSS Custom Properties
@@ -45,6 +45,7 @@ For interactive chips (selectable/removable), use [`u-chip`](./chip.md) instead.
45
45
 
46
46
  | Part | Description |
47
47
  |------|-------------|
48
+ | `base` | Outer tag box |
48
49
  | `content` | Inner content wrapper |
49
50
  | `icon` | Status icon (rendered only with `icon` + a semantic `color`) |
50
51
 
@@ -60,6 +60,12 @@ Inherits all `UFloatingElement` properties (see [floating.md](../extensions/floa
60
60
  > *within* whichever side ended up being used. Neither can be turned off independently.
61
61
 
62
62
 
63
+ ## CSS Parts
64
+
65
+ | Part | Description |
66
+ |------|-------------|
67
+ | `base` | Outer tooltip box |
68
+
63
69
  ## Events
64
70
 
65
71
  | Event | Cancelable | Description |