@aceshooting/lyra-ui 25.4.0 → 25.6.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 (179) hide show
  1. package/CHANGELOG.md +36 -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/forms/button/button.class.d.ts +13 -3
  8. package/dist/components/forms/button/button.class.js +2 -2
  9. package/dist/components/forms/catalog-picker-base.d.ts +48 -0
  10. package/dist/components/forms/catalog-picker-base.js +29 -0
  11. package/dist/components/forms/catalog-picker-base.styles.d.ts +1 -0
  12. package/dist/components/forms/catalog-picker-base.styles.js +1 -0
  13. package/dist/components/forms/combobox/combobox.class.d.ts +4 -1
  14. package/dist/components/forms/combobox/combobox.class.js +2 -2
  15. package/dist/components/forms/country-picker/country-picker.class.d.ts +40 -0
  16. package/dist/components/forms/country-picker/country-picker.class.js +1 -0
  17. package/dist/components/forms/country-picker/country-picker.d.ts +1 -0
  18. package/dist/components/forms/country-picker/country-picker.js +1 -0
  19. package/dist/components/forms/country-picker/country-picker.styles.d.ts +1 -0
  20. package/dist/components/forms/country-picker/country-picker.styles.js +1 -0
  21. package/dist/components/forms/currency-picker/currency-catalog.d.ts +19 -0
  22. package/dist/components/forms/currency-picker/currency-catalog.js +1 -0
  23. package/dist/components/forms/currency-picker/currency-picker.class.d.ts +95 -0
  24. package/dist/components/forms/currency-picker/currency-picker.class.js +30 -0
  25. package/dist/components/forms/currency-picker/currency-picker.d.ts +1 -0
  26. package/dist/components/forms/currency-picker/currency-picker.js +1 -0
  27. package/dist/components/forms/currency-picker/currency-picker.styles.d.ts +1 -0
  28. package/dist/components/forms/currency-picker/currency-picker.styles.js +1 -0
  29. package/dist/components/forms/currency-picker/currency-presentation.d.ts +3 -0
  30. package/dist/components/forms/currency-picker/currency-presentation.js +1 -0
  31. package/dist/components/forms/currency-picker/currency-types.d.ts +3 -0
  32. package/dist/components/forms/index.d.ts +1 -1
  33. package/dist/components/forms/index.js +1 -1
  34. package/dist/components/forms/locale-picker/locale-picker.class.d.ts +37 -11
  35. package/dist/components/forms/locale-picker/locale-picker.class.js +43 -8
  36. package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -1
  37. package/dist/components/forms/select/select.class.d.ts +9 -2
  38. package/dist/components/forms/select/select.class.js +2 -2
  39. package/dist/components/forms/select/select.styles.js +1 -1
  40. package/dist/components/forms/time-zone-picker/time-zone-picker.class.d.ts +40 -0
  41. package/dist/components/forms/time-zone-picker/time-zone-picker.class.js +1 -0
  42. package/dist/components/forms/time-zone-picker/time-zone-picker.d.ts +1 -0
  43. package/dist/components/forms/time-zone-picker/time-zone-picker.js +1 -0
  44. package/dist/components/forms/time-zone-picker/time-zone-picker.styles.d.ts +1 -0
  45. package/dist/components/forms/time-zone-picker/time-zone-picker.styles.js +1 -0
  46. package/dist/components/forms/unit-picker/unit-picker.class.d.ts +38 -0
  47. package/dist/components/forms/unit-picker/unit-picker.class.js +1 -0
  48. package/dist/components/forms/unit-picker/unit-picker.d.ts +1 -0
  49. package/dist/components/forms/unit-picker/unit-picker.js +1 -0
  50. package/dist/components/forms/unit-picker/unit-picker.styles.d.ts +1 -0
  51. package/dist/components/forms/unit-picker/unit-picker.styles.js +1 -0
  52. package/dist/components/lr-country-picker.js +1 -0
  53. package/dist/components/lr-currency-picker.js +1 -0
  54. package/dist/components/lr-time-zone-picker.js +1 -0
  55. package/dist/components/lr-unit-picker.js +1 -0
  56. package/dist/components/overlays/overlay/popover.class.d.ts +6 -5
  57. package/dist/components/overlays/overlay/popover.class.js +1 -1
  58. package/dist/countries.d.ts +7 -0
  59. package/dist/countries.js +1 -0
  60. package/dist/currency.d.ts +39 -0
  61. package/dist/currency.js +1 -0
  62. package/dist/custom-elements-jsx.d.ts +1 -1
  63. package/dist/events.d.ts +28 -24
  64. package/dist/framework-types.d.ts +2 -2
  65. package/dist/internal/autoloader-manifest.js +1 -1
  66. package/dist/internal/autoloader-tags.d.ts +1 -1
  67. package/dist/internal/autoloader-tags.js +1 -1
  68. package/dist/internal/default-strings.generated.d.ts +1 -1
  69. package/dist/internal/default-strings.generated.js +1 -1
  70. package/dist/internal/form-associated.d.ts +3 -1
  71. package/dist/internal/form-associated.js +1 -1
  72. package/dist/internal/localization-types.d.ts +1 -1
  73. package/dist/internal/localization.js +1 -1
  74. package/dist/internal/package-metadata.d.ts +1 -1
  75. package/dist/internal/package-metadata.js +1 -1
  76. package/dist/internal/root-registration-allowlist.d.ts +1 -1
  77. package/dist/internal/root-registration-allowlist.js +1 -1
  78. package/dist/internal/scoped-definitions.generated.js +1 -1
  79. package/dist/internal/selection-catalog.d.ts +4 -0
  80. package/dist/internal/selection-catalog.js +1 -0
  81. package/dist/lyra.d.ts +1 -1
  82. package/dist/lyra.js +1 -1
  83. package/dist/ssr/all.d.ts +1 -1
  84. package/dist/ssr/all.js +1 -1
  85. package/dist/ssr.d.ts +4 -4
  86. package/dist/ssr.js +1 -1
  87. package/dist/svelte.d.ts +1 -1
  88. package/dist/testing/lyra-tag-event-map.d.ts +2 -2
  89. package/dist/testing/lyra-tag-event-map.js +1 -1
  90. package/dist/time-zones.d.ts +8 -0
  91. package/dist/time-zones.js +1 -0
  92. package/dist/translations/am/forms.js +1 -1
  93. package/dist/translations/ar/forms.js +1 -1
  94. package/dist/translations/bho/forms.js +1 -1
  95. package/dist/translations/bn/forms.js +1 -1
  96. package/dist/translations/cs/forms.js +1 -1
  97. package/dist/translations/da/forms.js +1 -1
  98. package/dist/translations/de/forms.js +1 -1
  99. package/dist/translations/el/forms.js +1 -1
  100. package/dist/translations/es/forms.js +1 -1
  101. package/dist/translations/fa/forms.js +1 -1
  102. package/dist/translations/fa-AF/forms.js +1 -1
  103. package/dist/translations/fi/forms.js +1 -1
  104. package/dist/translations/fr/forms.js +1 -1
  105. package/dist/translations/gu/forms.js +1 -1
  106. package/dist/translations/ha/forms.js +1 -1
  107. package/dist/translations/he/forms.js +1 -1
  108. package/dist/translations/hi/forms.js +1 -1
  109. package/dist/translations/hr/forms.js +1 -1
  110. package/dist/translations/hu/forms.js +1 -1
  111. package/dist/translations/id/forms.js +1 -1
  112. package/dist/translations/ig/forms.js +1 -1
  113. package/dist/translations/it/forms.js +1 -1
  114. package/dist/translations/ja/forms.js +1 -1
  115. package/dist/translations/jv/forms.js +1 -1
  116. package/dist/translations/kk/forms.js +1 -1
  117. package/dist/translations/kn/forms.js +1 -1
  118. package/dist/translations/ko/forms.js +1 -1
  119. package/dist/translations/ln/forms.js +1 -1
  120. package/dist/translations/ml/forms.js +1 -1
  121. package/dist/translations/mr/forms.js +1 -1
  122. package/dist/translations/ms/forms.js +1 -1
  123. package/dist/translations/my/forms.js +1 -1
  124. package/dist/translations/nb/forms.js +1 -1
  125. package/dist/translations/ne/forms.js +1 -1
  126. package/dist/translations/nl/forms.js +1 -1
  127. package/dist/translations/nn/forms.js +1 -1
  128. package/dist/translations/om/forms.js +1 -1
  129. package/dist/translations/or/forms.js +1 -1
  130. package/dist/translations/pa/forms.js +1 -1
  131. package/dist/translations/pcm/forms.js +1 -1
  132. package/dist/translations/pl/forms.js +1 -1
  133. package/dist/translations/pnb/forms.js +1 -1
  134. package/dist/translations/ps/forms.js +1 -1
  135. package/dist/translations/pt-BR/forms.js +1 -1
  136. package/dist/translations/pt-PT/forms.js +1 -1
  137. package/dist/translations/ro/forms.js +1 -1
  138. package/dist/translations/ru/forms.js +1 -1
  139. package/dist/translations/sd/forms.js +1 -1
  140. package/dist/translations/sl/forms.js +1 -1
  141. package/dist/translations/su/forms.js +1 -1
  142. package/dist/translations/sv/forms.js +1 -1
  143. package/dist/translations/sw/forms.js +1 -1
  144. package/dist/translations/ta/forms.js +1 -1
  145. package/dist/translations/te/forms.js +1 -1
  146. package/dist/translations/th/forms.js +1 -1
  147. package/dist/translations/tl/forms.js +1 -1
  148. package/dist/translations/tr/forms.js +1 -1
  149. package/dist/translations/uk/forms.js +1 -1
  150. package/dist/translations/ur/forms.js +1 -1
  151. package/dist/translations/uz/forms.js +1 -1
  152. package/dist/translations/vi/forms.js +1 -1
  153. package/dist/translations/yo/forms.js +1 -1
  154. package/dist/translations/zh-CN/forms.js +1 -1
  155. package/dist/translations/zh-TW/forms.js +1 -1
  156. package/dist/translations/zu/forms.js +1 -1
  157. package/dist/units.d.ts +5 -0
  158. package/dist/units.js +1 -0
  159. package/dist/vue.d.ts +1 -1
  160. package/llms/components/lr-button.md +9 -0
  161. package/llms/components/lr-combobox.md +5 -0
  162. package/llms/components/lr-country-picker.md +92 -0
  163. package/llms/components/lr-currency-picker.md +101 -0
  164. package/llms/components/lr-locale-picker.md +18 -4
  165. package/llms/components/lr-popover.md +10 -4
  166. package/llms/components/lr-select.md +29 -0
  167. package/llms/components/lr-time-zone-picker.md +56 -0
  168. package/llms/components/lr-unit-picker.md +54 -0
  169. package/llms/index.md +6 -2
  170. package/llms/shared/events-and-types.md +16 -0
  171. package/llms/shared/imports-and-registration.md +1 -1
  172. package/llms/shared/testing-and-utilities.md +4 -1
  173. package/llms/shared.md +21 -2
  174. package/llms.txt +1 -1
  175. package/locales.json +138 -138
  176. package/package.json +55 -3
  177. package/registrations.json +1 -1
  178. package/vscode-html-data.json +1 -1
  179. package/web-types.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # Changelog
2
2
 
3
+ ## 25.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 2abd8e5: Add a `pressed` property to buttons so toggle state reaches the native control without placing ARIA toggle attributes on the custom-element host. The property supports true, false and mixed state; existing host `aria-pressed` values remain the fallback when it is unset.
8
+
9
+ ### Patch Changes
10
+
11
+ - a50faaf: Keep popover disclosure state on the semantic trigger control, including the native control inside a Lyra button with a roving tabindex. Restore authored ARIA when controls change or disconnect, and avoid generated expansion state on generic wrappers or incompatible roles.
12
+
13
+ ## 25.5.0
14
+
15
+ ### Minor Changes
16
+
17
+ - 8a42ae7: Add `lr-currency-picker`, a form-associated currency selector with localized names and symbols,
18
+ an optional ordered catalog, and a compact ISO-code trigger. The control follows shared keyboard,
19
+ validation, localization and styling contracts without fetching exchange rates or changing the
20
+ page locale. Its opt-in search matches codes, localized names and symbols, and catalogs support
21
+ caller-defined groups. Registration-free currency helpers expose the complete ISO catalog and
22
+ validate, load and convert explicit rate snapshots with caller-owned providers and cancellation.
23
+
24
+ Add country, time-zone and measurement-unit pickers with configurable catalogs, optional search,
25
+ native form contracts and consistent field styling. Country choices include localized names and
26
+ decorative flags by default, with an option to hide the flags. Add optional text filtering to the
27
+ language picker while preserving its locale loading, veto and selection behavior.
28
+
29
+ Match the form mixin's public reset-default setter type to its existing nullable runtime input,
30
+ while preserving the non-nullable read type and dirty live values. Keep a cleared reset attribute
31
+ absent after the next render instead of restoring an empty attribute through queued reflection.
32
+
33
+ Avoid marking selected `lr-select` and `lr-combobox` values as unavailable before their slotted
34
+ options have been collected, including during server rendering. Keep the select dropdown within
35
+ the available screen height and width when text is enlarged, and scroll keyboard-highlighted
36
+ options into view within the listbox. Document the existing rendered `data-value` hooks and `chooseOption()` test driver for
37
+ selecting options by value.
38
+
3
39
  ## 25.4.0
4
40
 
5
41
  ### Minor 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 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 |