@aceshooting/lyra-ui 25.3.1 → 25.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +15 -3
  3. package/custom-elements.json +1 -1
  4. package/dist/all.d.ts +1 -1
  5. package/dist/all.js +1 -1
  6. package/dist/cli/migration-contract.json +1 -1
  7. package/dist/components/agent-tools/browser-frame/browser-frame.styles.js +1 -1
  8. package/dist/components/charts/chart/chart-sync.d.ts +4 -0
  9. package/dist/components/charts/chart/chart-sync.js +1 -0
  10. package/dist/components/charts/chart/chart-sync.styles.d.ts +1 -0
  11. package/dist/components/charts/chart/chart-sync.styles.js +1 -0
  12. package/dist/components/charts/chart/chart.class.d.ts +12 -2
  13. package/dist/components/charts/chart/chart.class.js +5 -4
  14. package/dist/components/charts/chart/histogram.class.js +1 -1
  15. package/dist/components/charts/chart/lite-chart.class.d.ts +18 -5
  16. package/dist/components/charts/chart/lite-chart.class.js +11 -11
  17. package/dist/components/data/heatmap/heatmap-grid-navigation.d.ts +2 -2
  18. package/dist/components/data/heatmap/heatmap-grid-navigation.js +1 -1
  19. package/dist/components/data/heatmap/heatmap.class.d.ts +24 -9
  20. package/dist/components/data/heatmap/heatmap.class.js +3 -3
  21. package/dist/components/forms/button/button.styles.js +1 -1
  22. package/dist/components/forms/catalog-picker-base.d.ts +48 -0
  23. package/dist/components/forms/catalog-picker-base.js +29 -0
  24. package/dist/components/forms/catalog-picker-base.styles.d.ts +1 -0
  25. package/dist/components/forms/catalog-picker-base.styles.js +1 -0
  26. package/dist/components/forms/combobox/combobox.class.d.ts +4 -1
  27. package/dist/components/forms/combobox/combobox.class.js +2 -2
  28. package/dist/components/forms/country-picker/country-picker.class.d.ts +40 -0
  29. package/dist/components/forms/country-picker/country-picker.class.js +1 -0
  30. package/dist/components/forms/country-picker/country-picker.d.ts +1 -0
  31. package/dist/components/forms/country-picker/country-picker.js +1 -0
  32. package/dist/components/forms/country-picker/country-picker.styles.d.ts +1 -0
  33. package/dist/components/forms/country-picker/country-picker.styles.js +1 -0
  34. package/dist/components/forms/currency-picker/currency-catalog.d.ts +19 -0
  35. package/dist/components/forms/currency-picker/currency-catalog.js +1 -0
  36. package/dist/components/forms/currency-picker/currency-picker.class.d.ts +95 -0
  37. package/dist/components/forms/currency-picker/currency-picker.class.js +30 -0
  38. package/dist/components/forms/currency-picker/currency-picker.d.ts +1 -0
  39. package/dist/components/forms/currency-picker/currency-picker.js +1 -0
  40. package/dist/components/forms/currency-picker/currency-picker.styles.d.ts +1 -0
  41. package/dist/components/forms/currency-picker/currency-picker.styles.js +1 -0
  42. package/dist/components/forms/currency-picker/currency-presentation.d.ts +3 -0
  43. package/dist/components/forms/currency-picker/currency-presentation.js +1 -0
  44. package/dist/components/forms/currency-picker/currency-types.d.ts +3 -0
  45. package/dist/components/forms/index.d.ts +1 -1
  46. package/dist/components/forms/index.js +1 -1
  47. package/dist/components/forms/locale-picker/locale-picker.class.d.ts +37 -11
  48. package/dist/components/forms/locale-picker/locale-picker.class.js +43 -8
  49. package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -1
  50. package/dist/components/forms/select/select.class.d.ts +9 -2
  51. package/dist/components/forms/select/select.class.js +2 -2
  52. package/dist/components/forms/select/select.styles.js +1 -1
  53. package/dist/components/forms/time-zone-picker/time-zone-picker.class.d.ts +40 -0
  54. package/dist/components/forms/time-zone-picker/time-zone-picker.class.js +1 -0
  55. package/dist/components/forms/time-zone-picker/time-zone-picker.d.ts +1 -0
  56. package/dist/components/forms/time-zone-picker/time-zone-picker.js +1 -0
  57. package/dist/components/forms/time-zone-picker/time-zone-picker.styles.d.ts +1 -0
  58. package/dist/components/forms/time-zone-picker/time-zone-picker.styles.js +1 -0
  59. package/dist/components/forms/unit-picker/unit-picker.class.d.ts +38 -0
  60. package/dist/components/forms/unit-picker/unit-picker.class.js +1 -0
  61. package/dist/components/forms/unit-picker/unit-picker.d.ts +1 -0
  62. package/dist/components/forms/unit-picker/unit-picker.js +1 -0
  63. package/dist/components/forms/unit-picker/unit-picker.styles.d.ts +1 -0
  64. package/dist/components/forms/unit-picker/unit-picker.styles.js +1 -0
  65. package/dist/components/layout/app-rail/app-rail.class.d.ts +1 -1
  66. package/dist/components/layout/app-rail/app-rail.class.js +1 -1
  67. package/dist/components/layout/card/card.styles.js +1 -1
  68. package/dist/components/layout/details/accordion-item.styles.js +1 -1
  69. package/dist/components/layout/details/details.styles.js +1 -1
  70. package/dist/components/layout/reorder-list/reorder-item.class.js +2 -0
  71. package/dist/components/lr-country-picker.js +1 -0
  72. package/dist/components/lr-currency-picker.js +1 -0
  73. package/dist/components/lr-time-zone-picker.js +1 -0
  74. package/dist/components/lr-unit-picker.js +1 -0
  75. package/dist/components/media/avatar/avatar.class.d.ts +3 -0
  76. package/dist/components/media/avatar/avatar.styles.js +1 -1
  77. package/dist/components/media/pan-zoom/pan-zoom.styles.js +1 -1
  78. package/dist/countries.d.ts +7 -0
  79. package/dist/countries.js +1 -0
  80. package/dist/currency.d.ts +39 -0
  81. package/dist/currency.js +1 -0
  82. package/dist/custom-elements-jsx.d.ts +1 -1
  83. package/dist/events.d.ts +28 -24
  84. package/dist/framework-types.d.ts +2 -2
  85. package/dist/internal/autoloader-manifest.js +1 -1
  86. package/dist/internal/autoloader-tags.d.ts +1 -1
  87. package/dist/internal/autoloader-tags.js +1 -1
  88. package/dist/internal/default-strings.generated.d.ts +1 -1
  89. package/dist/internal/default-strings.generated.js +1 -1
  90. package/dist/internal/form-associated.d.ts +3 -1
  91. package/dist/internal/form-associated.js +1 -1
  92. package/dist/internal/glass-surface.styles.js +1 -1
  93. package/dist/internal/localization-types.d.ts +1 -1
  94. package/dist/internal/localization.js +1 -1
  95. package/dist/internal/opaque-content-border.styles.d.ts +3 -0
  96. package/dist/internal/opaque-content-border.styles.js +1 -0
  97. package/dist/internal/package-metadata.d.ts +1 -1
  98. package/dist/internal/package-metadata.js +1 -1
  99. package/dist/internal/root-registration-allowlist.d.ts +1 -1
  100. package/dist/internal/root-registration-allowlist.js +1 -1
  101. package/dist/internal/scoped-definitions.generated.js +1 -1
  102. package/dist/internal/selection-catalog.d.ts +4 -0
  103. package/dist/internal/selection-catalog.js +1 -0
  104. package/dist/internal/tokens.styles.js +1 -1
  105. package/dist/lyra.d.ts +1 -1
  106. package/dist/lyra.js +1 -1
  107. package/dist/ssr/all.d.ts +1 -1
  108. package/dist/ssr/all.js +1 -1
  109. package/dist/ssr.d.ts +4 -4
  110. package/dist/ssr.js +1 -1
  111. package/dist/surfaces/glass.css +1 -1
  112. package/dist/svelte.d.ts +1 -1
  113. package/dist/testing/lyra-tag-event-map.d.ts +2 -2
  114. package/dist/testing/lyra-tag-event-map.js +1 -1
  115. package/dist/theme.css +1 -1
  116. package/dist/time-zones.d.ts +8 -0
  117. package/dist/time-zones.js +1 -0
  118. package/dist/translations/am/forms.js +1 -1
  119. package/dist/translations/ar/forms.js +1 -1
  120. package/dist/translations/bho/forms.js +1 -1
  121. package/dist/translations/bn/forms.js +1 -1
  122. package/dist/translations/cs/forms.js +1 -1
  123. package/dist/translations/da/forms.js +1 -1
  124. package/dist/translations/de/forms.js +1 -1
  125. package/dist/translations/el/forms.js +1 -1
  126. package/dist/translations/es/forms.js +1 -1
  127. package/dist/translations/fa/forms.js +1 -1
  128. package/dist/translations/fa-AF/forms.js +1 -1
  129. package/dist/translations/fi/forms.js +1 -1
  130. package/dist/translations/fr/forms.js +1 -1
  131. package/dist/translations/gu/forms.js +1 -1
  132. package/dist/translations/ha/forms.js +1 -1
  133. package/dist/translations/he/forms.js +1 -1
  134. package/dist/translations/hi/forms.js +1 -1
  135. package/dist/translations/hr/forms.js +1 -1
  136. package/dist/translations/hu/forms.js +1 -1
  137. package/dist/translations/id/forms.js +1 -1
  138. package/dist/translations/ig/forms.js +1 -1
  139. package/dist/translations/it/forms.js +1 -1
  140. package/dist/translations/ja/forms.js +1 -1
  141. package/dist/translations/jv/forms.js +1 -1
  142. package/dist/translations/kk/forms.js +1 -1
  143. package/dist/translations/kn/forms.js +1 -1
  144. package/dist/translations/ko/forms.js +1 -1
  145. package/dist/translations/ln/forms.js +1 -1
  146. package/dist/translations/ml/forms.js +1 -1
  147. package/dist/translations/mr/forms.js +1 -1
  148. package/dist/translations/ms/forms.js +1 -1
  149. package/dist/translations/my/forms.js +1 -1
  150. package/dist/translations/nb/forms.js +1 -1
  151. package/dist/translations/ne/forms.js +1 -1
  152. package/dist/translations/nl/forms.js +1 -1
  153. package/dist/translations/nn/forms.js +1 -1
  154. package/dist/translations/om/forms.js +1 -1
  155. package/dist/translations/or/forms.js +1 -1
  156. package/dist/translations/pa/forms.js +1 -1
  157. package/dist/translations/pcm/forms.js +1 -1
  158. package/dist/translations/pl/forms.js +1 -1
  159. package/dist/translations/pnb/forms.js +1 -1
  160. package/dist/translations/ps/forms.js +1 -1
  161. package/dist/translations/pt-BR/forms.js +1 -1
  162. package/dist/translations/pt-PT/forms.js +1 -1
  163. package/dist/translations/ro/forms.js +1 -1
  164. package/dist/translations/ru/forms.js +1 -1
  165. package/dist/translations/sd/forms.js +1 -1
  166. package/dist/translations/sl/forms.js +1 -1
  167. package/dist/translations/su/forms.js +1 -1
  168. package/dist/translations/sv/forms.js +1 -1
  169. package/dist/translations/sw/forms.js +1 -1
  170. package/dist/translations/ta/forms.js +1 -1
  171. package/dist/translations/te/forms.js +1 -1
  172. package/dist/translations/th/forms.js +1 -1
  173. package/dist/translations/tl/forms.js +1 -1
  174. package/dist/translations/tr/forms.js +1 -1
  175. package/dist/translations/uk/forms.js +1 -1
  176. package/dist/translations/ur/forms.js +1 -1
  177. package/dist/translations/uz/forms.js +1 -1
  178. package/dist/translations/vi/forms.js +1 -1
  179. package/dist/translations/yo/forms.js +1 -1
  180. package/dist/translations/zh-CN/forms.js +1 -1
  181. package/dist/translations/zh-TW/forms.js +1 -1
  182. package/dist/translations/zu/forms.js +1 -1
  183. package/dist/units.d.ts +5 -0
  184. package/dist/units.js +1 -0
  185. package/dist/vue.d.ts +1 -1
  186. package/llms/components/lr-avatar.md +9 -3
  187. package/llms/components/lr-bar-chart.md +1 -1
  188. package/llms/components/lr-bubble-chart.md +1 -1
  189. package/llms/components/lr-chart.md +11 -2
  190. package/llms/components/lr-combobox.md +5 -0
  191. package/llms/components/lr-country-picker.md +92 -0
  192. package/llms/components/lr-currency-picker.md +101 -0
  193. package/llms/components/lr-doughnut-chart.md +1 -1
  194. package/llms/components/lr-heatmap.md +16 -3
  195. package/llms/components/lr-histogram.md +9 -1
  196. package/llms/components/lr-line-chart.md +11 -1
  197. package/llms/components/lr-lite-chart.md +14 -4
  198. package/llms/components/lr-locale-picker.md +18 -4
  199. package/llms/components/lr-pie-chart.md +1 -1
  200. package/llms/components/lr-polar-area-chart.md +1 -1
  201. package/llms/components/lr-radar-chart.md +1 -1
  202. package/llms/components/lr-reorder-list.md +5 -0
  203. package/llms/components/lr-scatter-chart.md +1 -1
  204. package/llms/components/lr-select.md +29 -0
  205. package/llms/components/lr-time-zone-picker.md +56 -0
  206. package/llms/components/lr-unit-picker.md +54 -0
  207. package/llms/index.md +6 -2
  208. package/llms/peers.md +2 -2
  209. package/llms/shared/events-and-types.md +16 -0
  210. package/llms/shared/imports-and-registration.md +1 -1
  211. package/llms/shared/styles-and-tokens.md +8 -2
  212. package/llms/shared/testing-and-utilities.md +4 -1
  213. package/llms/shared.md +29 -4
  214. package/llms.txt +1 -1
  215. package/locales.json +138 -138
  216. package/package.json +56 -4
  217. package/registrations.json +1 -1
  218. package/vscode-css-data.json +1 -1
  219. package/vscode-html-data.json +1 -1
  220. package/web-types.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,50 @@
1
1
  # Changelog
2
2
 
3
+ ## 25.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 8a42ae7: Add `lr-currency-picker`, a form-associated currency selector with localized names and symbols,
8
+ an optional ordered catalog, and a compact ISO-code trigger. The control follows shared keyboard,
9
+ validation, localization and styling contracts without fetching exchange rates or changing the
10
+ page locale. Its opt-in search matches codes, localized names and symbols, and catalogs support
11
+ caller-defined groups. Registration-free currency helpers expose the complete ISO catalog and
12
+ validate, load and convert explicit rate snapshots with caller-owned providers and cancellation.
13
+
14
+ Add country, time-zone and measurement-unit pickers with configurable catalogs, optional search,
15
+ native form contracts and consistent field styling. Country choices include localized names and
16
+ decorative flags by default, with an option to hide the flags. Add optional text filtering to the
17
+ language picker while preserving its locale loading, veto and selection behavior.
18
+
19
+ Match the form mixin's public reset-default setter type to its existing nullable runtime input,
20
+ while preserving the non-nullable read type and dirty live values. Keep a cleared reset attribute
21
+ absent after the next render instead of restoring an empty attribute through queued reflection.
22
+
23
+ Avoid marking selected `lr-select` and `lr-combobox` values as unavailable before their slotted
24
+ options have been collected, including during server rendering. Keep the select dropdown within
25
+ the available screen height and width when text is enlarged, and scroll keyboard-highlighted
26
+ options into view within the listbox. Document the existing rendered `data-value` hooks and `chooseOption()` test driver for
27
+ selecting options by value.
28
+
29
+ ## 25.4.0
30
+
31
+ ### Minor Changes
32
+
33
+ - 9deeb23: Add the inherited `--lr-avatar-border` CSS border hook for image, glyph and initials avatars. It defaults to no border and keeps the configured outer diameter across shapes and avatar groups, while preserving the forced-colors boundary.
34
+ - 9deeb23: Add matrix-only heatmap `rowHeight` / `row-height` to keep readable rows independently of fit-to-width columns, with matching pointer, keyboard, accessibility, frozen labels, and export geometry.
35
+ - 9deeb23: Add opt-in `sync-group` coordination between categorical vertical `lr-chart` and `lr-lite-chart` bar and line charts. Pointer and keyboard navigation show each chart's own matching category, crosshair and tooltip while preserving focus, announcements and activation behavior.
36
+
37
+ ### Patch Changes
38
+
39
+ - Keep the pan-zoom reset button’s screen-reader label inside its button so nested scroll containers do not create extra page overflow. Preserve localized reset names, keyboard activation and visible zoom percentages.
40
+ - Contain flag-only locale-picker descriptions within their trigger and browser-frame address labels within their toolbar, preserving accessible text without enlarging outer scroll areas.
41
+ - fffbad7: Support KaTeX 0.19 alongside the existing 0.18 range, and preserve complete version ranges in the generated optional-peer documentation.
42
+ - 9deeb23: Give reorder-item move controls localized action-label fallbacks for automation tools that omit
43
+ reflected element references, while preserving the full action-and-row native accessible names.
44
+ - 9deeb23: Qualify glass control borders from the effective painted opacity, preserving contrast at the default 70% while restoring ordinary border colors on opaque surfaces and nested overlays. Controls inside surface-colored outlined cards and disclosures no longer inherit bright glass border qualification.
45
+ - 9deeb23: Keep the app rail resize handle aligned with the navigation edge during width transitions, live sizing changes and reconnection.
46
+ - 9deeb23: Keep loading button spinners centered in a glyph-sized box so their rotation does not create overflow or flickering scrollbars in dialogs and scroll containers.
47
+
3
48
  ## 25.3.1
4
49
 
5
50
  ### Patch Changes
package/README.md CHANGED
@@ -28,7 +28,7 @@
28
28
  library for accessible forms, dashboards, charts, data visualization, and AI chat/agent interfaces.
29
29
  Built with [Lit](https://lit.dev), it works with Lit, React, Vue, Angular, Svelte, and plain JavaScript.
30
30
  It is a practical open-source alternative to [Shoelace](https://shoelace.style/) and
31
- [Web Awesome](https://webawesome.com/), with 303 custom elements, native custom-element APIs,
31
+ [Web Awesome](https://webawesome.com/), with 307 custom elements, native custom-element APIs,
32
32
  tree-shakeable, granular per-component imports, its own `--lr-*` design tokens, built-in localization and RTL support,
33
33
  and no runtime dependency on either project.
34
34
 
@@ -106,6 +106,14 @@ Run the installed, version-matched CLI with `--origin=lyra-v22` and review its r
106
106
  import and SSR replacements, theme semantics, event-detail changes and historical profile rules.
107
107
  The generated [`llms/migration.md`](./llms/migration.md) has per-component `wa-*`/`sl-*` mappings.
108
108
 
109
+ ## Quick Start
110
+
111
+ Paste this prompt into Claude or Codex:
112
+
113
+ ```text
114
+ Install the Lyra UI skill from GitHub aceshooting/lyra-ui. Start a Lit app with Vite+ and @aceshooting/lyra-ui, following the skill.
115
+ ```
116
+
109
117
  ## Install
110
118
 
111
119
  ```bash
@@ -214,7 +222,7 @@ import "@aceshooting/lyra-ui/all.js";
214
222
  > component registration entry, family entry, or `@aceshooting/lyra-ui/all.js` to define tags.
215
223
  > An unregistered tag remains inert even when the import and build succeed.
216
224
 
217
- `all.js` registers 288 tags — every component **except** the 15 inventory-designated
225
+ `all.js` registers 292 tags — every component **except** the 15 inventory-designated
218
226
  optional-peer-family tags: `<lr-chart>` and its 8 typed subclasses, `<lr-box-plot>`,
219
227
  `<lr-histogram>`, `<lr-map>`, `<lr-graph>`, `<lr-knowledge-graph-explorer>`, and
220
228
  `<lr-geojson-viewer>` (see Install above). Those always require their own explicit subpath import,
@@ -838,7 +846,7 @@ covers every published component, and is regenerated by `pnpm run registration-g
838
846
 
839
847
  ## Components
840
848
 
841
- The catalog below lists all 303 tags in the current Custom Elements Manifest, grouped by
849
+ The catalog below lists all 307 tags in the current Custom Elements Manifest, grouped by
842
850
  capability. The manifest and live docs are the authoritative sources for the complete generated
843
851
  API details.
844
852
 
@@ -848,6 +856,10 @@ API details.
848
856
  | -------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
849
857
  | `<lr-combobox>` + `<lr-option>` | `wa-combobox` / `wa-option` / `sl-option` | Filterable single/multi select, form-associated; options separate live `selected` from attribute-backed/reset `defaultSelected`; `xs`–`xl` sizing; async rich rows and retained selection payloads via `source`/`selectedRows`; virtual scrolling with `max-render` |
850
858
  | `<lr-select>` | `wa-select` / `sl-select` | Closed-list single-select, button trigger (not a text input, no filtering); form-associated, shares `<lr-option>` with `lr-combobox` |
859
+ | `<lr-currency-picker>` | — (extra) | Currency selector with optional name/code/symbol search, grouped catalogs and native validation |
860
+ | `<lr-country-picker>` | — (extra) | Country and territory selector with localized names, flags and optional search |
861
+ | `<lr-time-zone-picker>` | — (extra) | IANA time-zone selector with an ordered catalog override and optional search |
862
+ | `<lr-unit-picker>` | — (extra) | Measurement-unit selector with localized names, symbols and custom unit catalogs |
851
863
  | `<lr-date-picker>` | `wa-date-picker` | Inline calendar, single + range |
852
864
  | `<lr-date-input>` | `wa-date-input` | Date field + calendar popover, form-associated |
853
865
  | `<lr-phone-input>` | — (extra) | Country-aware telephone field with canonical E.164 form values; numbering metadata is supplied through an optional adapter |