@aceshooting/lyra-ui 2.12.0 → 2.13.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 (416) hide show
  1. package/README.md +31 -2
  2. package/custom-elements.json +36931 -20053
  3. package/dist/components/badge/badge.class.d.ts +21 -0
  4. package/dist/components/badge/badge.class.d.ts.map +1 -0
  5. package/dist/components/badge/badge.class.js +29 -0
  6. package/dist/components/badge/badge.class.js.map +1 -0
  7. package/dist/components/badge/badge.d.ts +2 -0
  8. package/dist/components/badge/badge.d.ts.map +1 -0
  9. package/dist/components/badge/badge.js +5 -0
  10. package/dist/components/badge/badge.js.map +1 -0
  11. package/dist/components/badge/badge.styles.d.ts +2 -0
  12. package/dist/components/badge/badge.styles.d.ts.map +1 -0
  13. package/dist/components/badge/badge.styles.js +10 -0
  14. package/dist/components/badge/badge.styles.js.map +1 -0
  15. package/dist/components/badge/tag.class.d.ts +10 -0
  16. package/dist/components/badge/tag.class.d.ts.map +1 -0
  17. package/dist/components/badge/tag.class.js +5 -0
  18. package/dist/components/badge/tag.class.js.map +1 -0
  19. package/dist/components/badge/tag.d.ts +2 -0
  20. package/dist/components/badge/tag.d.ts.map +1 -0
  21. package/dist/components/badge/tag.js +5 -0
  22. package/dist/components/badge/tag.js.map +1 -0
  23. package/dist/components/breadcrumb/breadcrumb-item.class.d.ts +22 -0
  24. package/dist/components/breadcrumb/breadcrumb-item.class.d.ts.map +1 -0
  25. package/dist/components/breadcrumb/breadcrumb-item.class.js +40 -0
  26. package/dist/components/breadcrumb/breadcrumb-item.class.js.map +1 -0
  27. package/dist/components/breadcrumb/breadcrumb-item.d.ts +2 -0
  28. package/dist/components/breadcrumb/breadcrumb-item.d.ts.map +1 -0
  29. package/dist/components/breadcrumb/breadcrumb-item.js +5 -0
  30. package/dist/components/breadcrumb/breadcrumb-item.js.map +1 -0
  31. package/dist/components/breadcrumb/breadcrumb.class.d.ts +20 -0
  32. package/dist/components/breadcrumb/breadcrumb.class.d.ts.map +1 -0
  33. package/dist/components/breadcrumb/breadcrumb.class.js +29 -0
  34. package/dist/components/breadcrumb/breadcrumb.class.js.map +1 -0
  35. package/dist/components/breadcrumb/breadcrumb.d.ts +2 -0
  36. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
  37. package/dist/components/breadcrumb/breadcrumb.js +5 -0
  38. package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
  39. package/dist/components/breadcrumb/breadcrumb.styles.d.ts +2 -0
  40. package/dist/components/breadcrumb/breadcrumb.styles.d.ts.map +1 -0
  41. package/dist/components/breadcrumb/breadcrumb.styles.js +8 -0
  42. package/dist/components/breadcrumb/breadcrumb.styles.js.map +1 -0
  43. package/dist/components/button-group/button-group.class.d.ts +25 -0
  44. package/dist/components/button-group/button-group.class.d.ts.map +1 -0
  45. package/dist/components/button-group/button-group.class.js +39 -0
  46. package/dist/components/button-group/button-group.class.js.map +1 -0
  47. package/dist/components/button-group/button-group.d.ts +2 -0
  48. package/dist/components/button-group/button-group.d.ts.map +1 -0
  49. package/dist/components/button-group/button-group.js +5 -0
  50. package/dist/components/button-group/button-group.js.map +1 -0
  51. package/dist/components/button-group/button-group.styles.d.ts +2 -0
  52. package/dist/components/button-group/button-group.styles.d.ts.map +1 -0
  53. package/dist/components/button-group/button-group.styles.js +33 -0
  54. package/dist/components/button-group/button-group.styles.js.map +1 -0
  55. package/dist/components/callout/callout.class.d.ts +39 -0
  56. package/dist/components/callout/callout.class.d.ts.map +1 -0
  57. package/dist/components/callout/callout.class.js +85 -0
  58. package/dist/components/callout/callout.class.js.map +1 -0
  59. package/dist/components/callout/callout.d.ts +2 -0
  60. package/dist/components/callout/callout.d.ts.map +1 -0
  61. package/dist/components/callout/callout.js +5 -0
  62. package/dist/components/callout/callout.js.map +1 -0
  63. package/dist/components/callout/callout.styles.d.ts +2 -0
  64. package/dist/components/callout/callout.styles.d.ts.map +1 -0
  65. package/dist/components/callout/callout.styles.js +16 -0
  66. package/dist/components/callout/callout.styles.js.map +1 -0
  67. package/dist/components/carousel/carousel-item.class.d.ts +21 -0
  68. package/dist/components/carousel/carousel-item.class.d.ts.map +1 -0
  69. package/dist/components/carousel/carousel-item.class.js +19 -0
  70. package/dist/components/carousel/carousel-item.class.js.map +1 -0
  71. package/dist/components/carousel/carousel-item.d.ts +2 -0
  72. package/dist/components/carousel/carousel-item.d.ts.map +1 -0
  73. package/dist/components/carousel/carousel-item.js +5 -0
  74. package/dist/components/carousel/carousel-item.js.map +1 -0
  75. package/dist/components/carousel/carousel-item.styles.d.ts +2 -0
  76. package/dist/components/carousel/carousel-item.styles.d.ts.map +1 -0
  77. package/dist/components/carousel/carousel-item.styles.js +12 -0
  78. package/dist/components/carousel/carousel-item.styles.js.map +1 -0
  79. package/dist/components/carousel/carousel.class.d.ts +61 -0
  80. package/dist/components/carousel/carousel.class.d.ts.map +1 -0
  81. package/dist/components/carousel/carousel.class.js +223 -0
  82. package/dist/components/carousel/carousel.class.js.map +1 -0
  83. package/dist/components/carousel/carousel.d.ts +3 -0
  84. package/dist/components/carousel/carousel.d.ts.map +1 -0
  85. package/dist/components/carousel/carousel.js +5 -0
  86. package/dist/components/carousel/carousel.js.map +1 -0
  87. package/dist/components/carousel/carousel.styles.d.ts +2 -0
  88. package/dist/components/carousel/carousel.styles.d.ts.map +1 -0
  89. package/dist/components/carousel/carousel.styles.js +81 -0
  90. package/dist/components/carousel/carousel.styles.js.map +1 -0
  91. package/dist/components/color-picker/color-picker.class.d.ts +46 -0
  92. package/dist/components/color-picker/color-picker.class.d.ts.map +1 -0
  93. package/dist/components/color-picker/color-picker.class.js +81 -0
  94. package/dist/components/color-picker/color-picker.class.js.map +1 -0
  95. package/dist/components/color-picker/color-picker.d.ts +2 -0
  96. package/dist/components/color-picker/color-picker.d.ts.map +1 -0
  97. package/dist/components/color-picker/color-picker.js +5 -0
  98. package/dist/components/color-picker/color-picker.js.map +1 -0
  99. package/dist/components/color-picker/color-picker.styles.d.ts +2 -0
  100. package/dist/components/color-picker/color-picker.styles.d.ts.map +1 -0
  101. package/dist/components/color-picker/color-picker.styles.js +9 -0
  102. package/dist/components/color-picker/color-picker.styles.js.map +1 -0
  103. package/dist/components/details/accordion-item.class.d.ts +10 -0
  104. package/dist/components/details/accordion-item.class.d.ts.map +1 -0
  105. package/dist/components/details/accordion-item.class.js +5 -0
  106. package/dist/components/details/accordion-item.class.js.map +1 -0
  107. package/dist/components/details/accordion-item.d.ts +2 -0
  108. package/dist/components/details/accordion-item.d.ts.map +1 -0
  109. package/dist/components/details/accordion-item.js +5 -0
  110. package/dist/components/details/accordion-item.js.map +1 -0
  111. package/dist/components/details/accordion.class.d.ts +23 -0
  112. package/dist/components/details/accordion.class.d.ts.map +1 -0
  113. package/dist/components/details/accordion.class.js +48 -0
  114. package/dist/components/details/accordion.class.js.map +1 -0
  115. package/dist/components/details/accordion.d.ts +2 -0
  116. package/dist/components/details/accordion.d.ts.map +1 -0
  117. package/dist/components/details/accordion.js +5 -0
  118. package/dist/components/details/accordion.js.map +1 -0
  119. package/dist/components/details/details.class.d.ts +33 -0
  120. package/dist/components/details/details.class.d.ts.map +1 -0
  121. package/dist/components/details/details.class.js +63 -0
  122. package/dist/components/details/details.class.js.map +1 -0
  123. package/dist/components/details/details.d.ts +2 -0
  124. package/dist/components/details/details.d.ts.map +1 -0
  125. package/dist/components/details/details.js +5 -0
  126. package/dist/components/details/details.js.map +1 -0
  127. package/dist/components/details/details.styles.d.ts +2 -0
  128. package/dist/components/details/details.styles.d.ts.map +1 -0
  129. package/dist/components/details/details.styles.js +13 -0
  130. package/dist/components/details/details.styles.js.map +1 -0
  131. package/dist/components/divider/divider.class.d.ts +20 -0
  132. package/dist/components/divider/divider.class.d.ts.map +1 -0
  133. package/dist/components/divider/divider.class.js +28 -0
  134. package/dist/components/divider/divider.class.js.map +1 -0
  135. package/dist/components/divider/divider.d.ts +2 -0
  136. package/dist/components/divider/divider.d.ts.map +1 -0
  137. package/dist/components/divider/divider.js +5 -0
  138. package/dist/components/divider/divider.js.map +1 -0
  139. package/dist/components/divider/divider.styles.d.ts +2 -0
  140. package/dist/components/divider/divider.styles.d.ts.map +1 -0
  141. package/dist/components/divider/divider.styles.js +8 -0
  142. package/dist/components/divider/divider.styles.js.map +1 -0
  143. package/dist/components/drawer/drawer.class.d.ts +26 -0
  144. package/dist/components/drawer/drawer.class.d.ts.map +1 -0
  145. package/dist/components/drawer/drawer.class.js +34 -0
  146. package/dist/components/drawer/drawer.class.js.map +1 -0
  147. package/dist/components/drawer/drawer.d.ts +3 -0
  148. package/dist/components/drawer/drawer.d.ts.map +1 -0
  149. package/dist/components/drawer/drawer.js +5 -0
  150. package/dist/components/drawer/drawer.js.map +1 -0
  151. package/dist/components/drawer/drawer.styles.d.ts +2 -0
  152. package/dist/components/drawer/drawer.styles.d.ts.map +1 -0
  153. package/dist/components/drawer/drawer.styles.js +73 -0
  154. package/dist/components/drawer/drawer.styles.js.map +1 -0
  155. package/dist/components/format/format-bytes.class.d.ts +21 -0
  156. package/dist/components/format/format-bytes.class.d.ts.map +1 -0
  157. package/dist/components/format/format-bytes.class.js +46 -0
  158. package/dist/components/format/format-bytes.class.js.map +1 -0
  159. package/dist/components/format/format-bytes.d.ts +2 -0
  160. package/dist/components/format/format-bytes.d.ts.map +1 -0
  161. package/dist/components/format/format-bytes.js +5 -0
  162. package/dist/components/format/format-bytes.js.map +1 -0
  163. package/dist/components/format/format-date.class.d.ts +25 -0
  164. package/dist/components/format/format-date.class.d.ts.map +1 -0
  165. package/dist/components/format/format-date.class.js +59 -0
  166. package/dist/components/format/format-date.class.js.map +1 -0
  167. package/dist/components/format/format-date.d.ts +2 -0
  168. package/dist/components/format/format-date.d.ts.map +1 -0
  169. package/dist/components/format/format-date.js +5 -0
  170. package/dist/components/format/format-date.js.map +1 -0
  171. package/dist/components/format/format-number.class.d.ts +24 -0
  172. package/dist/components/format/format-number.class.d.ts.map +1 -0
  173. package/dist/components/format/format-number.class.js +58 -0
  174. package/dist/components/format/format-number.class.js.map +1 -0
  175. package/dist/components/format/format-number.d.ts +2 -0
  176. package/dist/components/format/format-number.d.ts.map +1 -0
  177. package/dist/components/format/format-number.js +5 -0
  178. package/dist/components/format/format-number.js.map +1 -0
  179. package/dist/components/format/format.styles.d.ts +2 -0
  180. package/dist/components/format/format.styles.d.ts.map +1 -0
  181. package/dist/components/format/format.styles.js +3 -0
  182. package/dist/components/format/format.styles.js.map +1 -0
  183. package/dist/components/format/relative-time.class.d.ts +29 -0
  184. package/dist/components/format/relative-time.class.d.ts.map +1 -0
  185. package/dist/components/format/relative-time.class.js +62 -0
  186. package/dist/components/format/relative-time.class.js.map +1 -0
  187. package/dist/components/format/relative-time.d.ts +2 -0
  188. package/dist/components/format/relative-time.d.ts.map +1 -0
  189. package/dist/components/format/relative-time.js +5 -0
  190. package/dist/components/format/relative-time.js.map +1 -0
  191. package/dist/components/image-comparer/image-comparer.class.d.ts +43 -0
  192. package/dist/components/image-comparer/image-comparer.class.d.ts.map +1 -0
  193. package/dist/components/image-comparer/image-comparer.class.js +92 -0
  194. package/dist/components/image-comparer/image-comparer.class.js.map +1 -0
  195. package/dist/components/image-comparer/image-comparer.d.ts +3 -0
  196. package/dist/components/image-comparer/image-comparer.d.ts.map +1 -0
  197. package/dist/components/image-comparer/image-comparer.js +5 -0
  198. package/dist/components/image-comparer/image-comparer.js.map +1 -0
  199. package/dist/components/image-comparer/image-comparer.styles.d.ts +2 -0
  200. package/dist/components/image-comparer/image-comparer.styles.d.ts.map +1 -0
  201. package/dist/components/image-comparer/image-comparer.styles.js +70 -0
  202. package/dist/components/image-comparer/image-comparer.styles.js.map +1 -0
  203. package/dist/components/input/input.class.d.ts +12 -3
  204. package/dist/components/input/input.class.d.ts.map +1 -1
  205. package/dist/components/input/input.class.js +35 -2
  206. package/dist/components/input/input.class.js.map +1 -1
  207. package/dist/components/input/number-input.class.d.ts +17 -0
  208. package/dist/components/input/number-input.class.d.ts.map +1 -0
  209. package/dist/components/input/number-input.class.js +18 -0
  210. package/dist/components/input/number-input.class.js.map +1 -0
  211. package/dist/components/input/number-input.d.ts +2 -0
  212. package/dist/components/input/number-input.d.ts.map +1 -0
  213. package/dist/components/input/number-input.js +5 -0
  214. package/dist/components/input/number-input.js.map +1 -0
  215. package/dist/components/input/time-input.class.d.ts +16 -0
  216. package/dist/components/input/time-input.class.d.ts.map +1 -0
  217. package/dist/components/input/time-input.class.js +17 -0
  218. package/dist/components/input/time-input.class.js.map +1 -0
  219. package/dist/components/input/time-input.d.ts +2 -0
  220. package/dist/components/input/time-input.d.ts.map +1 -0
  221. package/dist/components/input/time-input.js +5 -0
  222. package/dist/components/input/time-input.js.map +1 -0
  223. package/dist/components/intersection-observer/intersection-observer.class.d.ts +37 -0
  224. package/dist/components/intersection-observer/intersection-observer.class.d.ts.map +1 -0
  225. package/dist/components/intersection-observer/intersection-observer.class.js +77 -0
  226. package/dist/components/intersection-observer/intersection-observer.class.js.map +1 -0
  227. package/dist/components/intersection-observer/intersection-observer.d.ts +2 -0
  228. package/dist/components/intersection-observer/intersection-observer.d.ts.map +1 -0
  229. package/dist/components/intersection-observer/intersection-observer.js +5 -0
  230. package/dist/components/intersection-observer/intersection-observer.js.map +1 -0
  231. package/dist/components/intersection-observer/intersection-observer.styles.d.ts +2 -0
  232. package/dist/components/intersection-observer/intersection-observer.styles.d.ts.map +1 -0
  233. package/dist/components/intersection-observer/intersection-observer.styles.js +8 -0
  234. package/dist/components/intersection-observer/intersection-observer.styles.js.map +1 -0
  235. package/dist/components/menu/dropdown-item.class.d.ts +18 -0
  236. package/dist/components/menu/dropdown-item.class.d.ts.map +1 -0
  237. package/dist/components/menu/dropdown-item.class.js +13 -0
  238. package/dist/components/menu/dropdown-item.class.js.map +1 -0
  239. package/dist/components/menu/dropdown-item.d.ts +2 -0
  240. package/dist/components/menu/dropdown-item.d.ts.map +1 -0
  241. package/dist/components/menu/dropdown-item.js +5 -0
  242. package/dist/components/menu/dropdown-item.js.map +1 -0
  243. package/dist/components/mutation-observer/mutation-observer.class.d.ts +40 -0
  244. package/dist/components/mutation-observer/mutation-observer.class.d.ts.map +1 -0
  245. package/dist/components/mutation-observer/mutation-observer.class.js +96 -0
  246. package/dist/components/mutation-observer/mutation-observer.class.js.map +1 -0
  247. package/dist/components/mutation-observer/mutation-observer.d.ts +2 -0
  248. package/dist/components/mutation-observer/mutation-observer.d.ts.map +1 -0
  249. package/dist/components/mutation-observer/mutation-observer.js +5 -0
  250. package/dist/components/mutation-observer/mutation-observer.js.map +1 -0
  251. package/dist/components/mutation-observer/mutation-observer.styles.d.ts +2 -0
  252. package/dist/components/mutation-observer/mutation-observer.styles.d.ts.map +1 -0
  253. package/dist/components/mutation-observer/mutation-observer.styles.js +8 -0
  254. package/dist/components/mutation-observer/mutation-observer.styles.js.map +1 -0
  255. package/dist/components/overlay/dropdown.class.d.ts +21 -0
  256. package/dist/components/overlay/dropdown.class.d.ts.map +1 -0
  257. package/dist/components/overlay/dropdown.class.js +18 -0
  258. package/dist/components/overlay/dropdown.class.js.map +1 -0
  259. package/dist/components/overlay/dropdown.d.ts +2 -0
  260. package/dist/components/overlay/dropdown.d.ts.map +1 -0
  261. package/dist/components/overlay/dropdown.js +5 -0
  262. package/dist/components/overlay/dropdown.js.map +1 -0
  263. package/dist/components/overlay/overlay.styles.d.ts +3 -0
  264. package/dist/components/overlay/overlay.styles.d.ts.map +1 -0
  265. package/dist/components/overlay/overlay.styles.js +29 -0
  266. package/dist/components/overlay/overlay.styles.js.map +1 -0
  267. package/dist/components/overlay/popover.class.d.ts +48 -0
  268. package/dist/components/overlay/popover.class.d.ts.map +1 -0
  269. package/dist/components/overlay/popover.class.js +132 -0
  270. package/dist/components/overlay/popover.class.js.map +1 -0
  271. package/dist/components/overlay/popover.d.ts +2 -0
  272. package/dist/components/overlay/popover.d.ts.map +1 -0
  273. package/dist/components/overlay/popover.js +5 -0
  274. package/dist/components/overlay/popover.js.map +1 -0
  275. package/dist/components/overlay/tooltip.class.d.ts +41 -0
  276. package/dist/components/overlay/tooltip.class.d.ts.map +1 -0
  277. package/dist/components/overlay/tooltip.class.js +118 -0
  278. package/dist/components/overlay/tooltip.class.js.map +1 -0
  279. package/dist/components/overlay/tooltip.d.ts +2 -0
  280. package/dist/components/overlay/tooltip.d.ts.map +1 -0
  281. package/dist/components/overlay/tooltip.js +5 -0
  282. package/dist/components/overlay/tooltip.js.map +1 -0
  283. package/dist/components/progress/progress-bar.class.d.ts +30 -0
  284. package/dist/components/progress/progress-bar.class.d.ts.map +1 -0
  285. package/dist/components/progress/progress-bar.class.js +61 -0
  286. package/dist/components/progress/progress-bar.class.js.map +1 -0
  287. package/dist/components/progress/progress-bar.d.ts +2 -0
  288. package/dist/components/progress/progress-bar.d.ts.map +1 -0
  289. package/dist/components/progress/progress-bar.js +5 -0
  290. package/dist/components/progress/progress-bar.js.map +1 -0
  291. package/dist/components/progress/progress-ring.class.d.ts +27 -0
  292. package/dist/components/progress/progress-ring.class.d.ts.map +1 -0
  293. package/dist/components/progress/progress-ring.class.js +59 -0
  294. package/dist/components/progress/progress-ring.class.js.map +1 -0
  295. package/dist/components/progress/progress-ring.d.ts +2 -0
  296. package/dist/components/progress/progress-ring.d.ts.map +1 -0
  297. package/dist/components/progress/progress-ring.js +5 -0
  298. package/dist/components/progress/progress-ring.js.map +1 -0
  299. package/dist/components/progress/progress.styles.d.ts +3 -0
  300. package/dist/components/progress/progress.styles.d.ts.map +1 -0
  301. package/dist/components/progress/progress.styles.js +23 -0
  302. package/dist/components/progress/progress.styles.js.map +1 -0
  303. package/dist/components/radio/radio-group.class.d.ts +49 -0
  304. package/dist/components/radio/radio-group.class.d.ts.map +1 -0
  305. package/dist/components/radio/radio-group.class.js +137 -0
  306. package/dist/components/radio/radio-group.class.js.map +1 -0
  307. package/dist/components/radio/radio-group.d.ts +2 -0
  308. package/dist/components/radio/radio-group.d.ts.map +1 -0
  309. package/dist/components/radio/radio-group.js +5 -0
  310. package/dist/components/radio/radio-group.js.map +1 -0
  311. package/dist/components/radio/radio-group.styles.d.ts +2 -0
  312. package/dist/components/radio/radio-group.styles.d.ts.map +1 -0
  313. package/dist/components/radio/radio-group.styles.js +11 -0
  314. package/dist/components/radio/radio-group.styles.js.map +1 -0
  315. package/dist/components/radio/radio.class.d.ts +97 -0
  316. package/dist/components/radio/radio.class.d.ts.map +1 -0
  317. package/dist/components/radio/radio.class.js +159 -0
  318. package/dist/components/radio/radio.class.js.map +1 -0
  319. package/dist/components/radio/radio.d.ts +2 -0
  320. package/dist/components/radio/radio.d.ts.map +1 -0
  321. package/dist/components/radio/radio.js +5 -0
  322. package/dist/components/radio/radio.js.map +1 -0
  323. package/dist/components/radio/radio.styles.d.ts +2 -0
  324. package/dist/components/radio/radio.styles.d.ts.map +1 -0
  325. package/dist/components/radio/radio.styles.js +57 -0
  326. package/dist/components/radio/radio.styles.js.map +1 -0
  327. package/dist/components/rating/rating.class.d.ts +34 -0
  328. package/dist/components/rating/rating.class.d.ts.map +1 -0
  329. package/dist/components/rating/rating.class.js +92 -0
  330. package/dist/components/rating/rating.class.js.map +1 -0
  331. package/dist/components/rating/rating.d.ts +2 -0
  332. package/dist/components/rating/rating.d.ts.map +1 -0
  333. package/dist/components/rating/rating.js +5 -0
  334. package/dist/components/rating/rating.js.map +1 -0
  335. package/dist/components/rating/rating.styles.d.ts +2 -0
  336. package/dist/components/rating/rating.styles.d.ts.map +1 -0
  337. package/dist/components/rating/rating.styles.js +10 -0
  338. package/dist/components/rating/rating.styles.js.map +1 -0
  339. package/dist/components/resize-observer/resize-observer.class.d.ts +37 -0
  340. package/dist/components/resize-observer/resize-observer.class.d.ts.map +1 -0
  341. package/dist/components/resize-observer/resize-observer.class.js +74 -0
  342. package/dist/components/resize-observer/resize-observer.class.js.map +1 -0
  343. package/dist/components/resize-observer/resize-observer.d.ts +2 -0
  344. package/dist/components/resize-observer/resize-observer.d.ts.map +1 -0
  345. package/dist/components/resize-observer/resize-observer.js +5 -0
  346. package/dist/components/resize-observer/resize-observer.js.map +1 -0
  347. package/dist/components/resize-observer/resize-observer.styles.d.ts +2 -0
  348. package/dist/components/resize-observer/resize-observer.styles.d.ts.map +1 -0
  349. package/dist/components/resize-observer/resize-observer.styles.js +11 -0
  350. package/dist/components/resize-observer/resize-observer.styles.js.map +1 -0
  351. package/dist/components/scroller/scroller.class.d.ts +54 -0
  352. package/dist/components/scroller/scroller.class.d.ts.map +1 -0
  353. package/dist/components/scroller/scroller.class.js +138 -0
  354. package/dist/components/scroller/scroller.class.js.map +1 -0
  355. package/dist/components/scroller/scroller.d.ts +2 -0
  356. package/dist/components/scroller/scroller.d.ts.map +1 -0
  357. package/dist/components/scroller/scroller.js +5 -0
  358. package/dist/components/scroller/scroller.js.map +1 -0
  359. package/dist/components/scroller/scroller.styles.d.ts +2 -0
  360. package/dist/components/scroller/scroller.styles.d.ts.map +1 -0
  361. package/dist/components/scroller/scroller.styles.js +94 -0
  362. package/dist/components/scroller/scroller.styles.js.map +1 -0
  363. package/dist/components/spinner/spinner.class.d.ts +24 -0
  364. package/dist/components/spinner/spinner.class.d.ts.map +1 -0
  365. package/dist/components/spinner/spinner.class.js +41 -0
  366. package/dist/components/spinner/spinner.class.js.map +1 -0
  367. package/dist/components/spinner/spinner.d.ts +2 -0
  368. package/dist/components/spinner/spinner.d.ts.map +1 -0
  369. package/dist/components/spinner/spinner.js +5 -0
  370. package/dist/components/spinner/spinner.js.map +1 -0
  371. package/dist/components/spinner/spinner.styles.d.ts +2 -0
  372. package/dist/components/spinner/spinner.styles.d.ts.map +1 -0
  373. package/dist/components/spinner/spinner.styles.js +17 -0
  374. package/dist/components/spinner/spinner.styles.js.map +1 -0
  375. package/dist/components/table/table.class.d.ts +87 -0
  376. package/dist/components/table/table.class.d.ts.map +1 -1
  377. package/dist/components/table/table.class.js +403 -113
  378. package/dist/components/table/table.class.js.map +1 -1
  379. package/dist/components/table/table.styles.d.ts.map +1 -1
  380. package/dist/components/table/table.styles.js +56 -0
  381. package/dist/components/table/table.styles.js.map +1 -1
  382. package/dist/components/textarea/textarea.class.d.ts +6 -2
  383. package/dist/components/textarea/textarea.class.d.ts.map +1 -1
  384. package/dist/components/textarea/textarea.class.js +6 -2
  385. package/dist/components/textarea/textarea.class.js.map +1 -1
  386. package/dist/components/zoomable-frame/zoomable-frame.class.d.ts +48 -0
  387. package/dist/components/zoomable-frame/zoomable-frame.class.d.ts.map +1 -0
  388. package/dist/components/zoomable-frame/zoomable-frame.class.js +115 -0
  389. package/dist/components/zoomable-frame/zoomable-frame.class.js.map +1 -0
  390. package/dist/components/zoomable-frame/zoomable-frame.d.ts +3 -0
  391. package/dist/components/zoomable-frame/zoomable-frame.d.ts.map +1 -0
  392. package/dist/components/zoomable-frame/zoomable-frame.js +5 -0
  393. package/dist/components/zoomable-frame/zoomable-frame.js.map +1 -0
  394. package/dist/components/zoomable-frame/zoomable-frame.styles.d.ts +2 -0
  395. package/dist/components/zoomable-frame/zoomable-frame.styles.d.ts.map +1 -0
  396. package/dist/components/zoomable-frame/zoomable-frame.styles.js +77 -0
  397. package/dist/components/zoomable-frame/zoomable-frame.styles.js.map +1 -0
  398. package/dist/internal/localization.d.ts +1 -1
  399. package/dist/internal/localization.d.ts.map +1 -1
  400. package/dist/internal/localization.js +25 -0
  401. package/dist/internal/localization.js.map +1 -1
  402. package/dist/internal/root-registration-allowlist.d.ts +1 -1
  403. package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
  404. package/dist/internal/root-registration-allowlist.js +36 -0
  405. package/dist/internal/root-registration-allowlist.js.map +1 -1
  406. package/dist/lyra.d.ts +93 -0
  407. package/dist/lyra.d.ts.map +1 -1
  408. package/dist/lyra.js +72 -0
  409. package/dist/lyra.js.map +1 -1
  410. package/dist/testing/happy-dom-shims.d.ts +5 -1
  411. package/dist/testing/happy-dom-shims.d.ts.map +1 -1
  412. package/dist/testing/happy-dom-shims.js +7 -1
  413. package/dist/testing/happy-dom-shims.js.map +1 -1
  414. package/llms-full.txt +441 -8
  415. package/llms.txt +13 -0
  416. package/package.json +73 -1
package/llms-full.txt CHANGED
@@ -790,13 +790,17 @@ form-associated via the same `FormAssociated` mixin as `lyra-textarea`. Ships th
790
790
  - `errorText: string = ''` (attribute `error-text`)
791
791
  - `accessibleLabel: string | null = null` (attribute `aria-label`)
792
792
  - `autocomplete: string = ''`
793
+ - `spellcheck: boolean = true` — forwarded to the native input, including `spellcheck="false"`
794
+ - `autocapitalize: string = ''` / `autoCorrect: string = ''`
795
+ - `inputMode: string = ''` / `enterKeyHint: string = ''`
793
796
  - `min?: number` / `max?: number` / `step?: number` (attribute: false — `type="number"` only)
794
797
  - `passwordVisible: boolean = false` (attribute `password-visible` — `type="password"` only)
795
798
  - `name`/`disabled`/`required` (from `FormAssociated`)
796
799
 
797
- **Events:** `lyra-input` (`detail: { value }`, fired on every user-driven edit), `lyra-change`
798
- (`detail: { value }`, fired on the native `change` timing), `blur`/`focus` (re-dispatched bubbling +
799
- composed from the internal native input's own `blur`/`focus`).
800
+ **Events:** native-style composed `input` and `change`, plus `lyra-input` (`detail: { value }`,
801
+ fired on every user-driven edit) and `lyra-change` (`detail: { value }`, fired on the native
802
+ `change` timing), `blur`/`focus` (re-dispatched bubbling + composed from the internal native input's
803
+ own `blur`/`focus`).
800
804
 
801
805
  **Slots:** `label`, `hint`, `error`.
802
806
 
@@ -821,6 +825,18 @@ composed from the internal native input's own `blur`/`focus`).
821
825
  `ElementInternals` — not a second hand-rolled regex check.
822
826
  - `type="password"` always renders the `password-toggle` button; there is no separate opt-out.
823
827
 
828
+ ## `lyra-number-input`
829
+
830
+ A migration-friendly numeric alias of `lyra-input`. It forces `type="number"` while retaining the
831
+ same form association, label/hint/error chrome, native editing passthrough, input/change events,
832
+ and `min`/`max`/`step` validation. It exposes the same properties, slots, events, and CSS parts as
833
+ `lyra-input`.
834
+
835
+ ## `lyra-time-input`
836
+
837
+ A migration-friendly time alias of `lyra-input`. It forces the native `type="time"` while retaining
838
+ the same form association, chrome, native editing passthrough, events, slots, and CSS parts.
839
+
824
840
  ---
825
841
 
826
842
  ## `lyra-phone-input`
@@ -1400,8 +1416,8 @@ accent edge and value tint).
1400
1416
 
1401
1417
  ## `lyra-table`
1402
1418
 
1403
- Presentational, sort/select-aware data table. **The host owns actual sorting/filtering/pagination**
1404
- of `rows` this component only renders and emits intents.
1419
+ Sort/select-aware data table. Sorting remains consumer-controlled; optional filtering, pagination,
1420
+ and loading chrome are built in while remaining controlled at the public API boundary.
1405
1421
 
1406
1422
  **Properties:**
1407
1423
  - `columns: TableColumn<T>[] = []` (attribute: false) — `{ key, label, headerCell?, width?,
@@ -1419,7 +1435,8 @@ of `rows` — this component only renders and emits intents.
1419
1435
  `[part='foot']` (`<tfoot>`) only renders at all when at least one column defines `footer`;
1420
1436
  `cellStyle` is applied directly to the generated `<td>` via `styleMap` — e.g. a computed heat-tint
1421
1437
  background a `cell()`-returned inner element can't paint into the cell's own padding — omit it for
1422
- no per-cell style override (the default, unchanged output)
1438
+ no per-cell style override (the default, unchanged output); `editable` enables double-click
1439
+ editing, `editValue` supplies the editor value, and `editType` selects `text` or `number`
1423
1440
  - `columnsHidden: boolean = false` (attribute `columns-hidden`, reflected) — computed/read-only: true
1424
1441
  when a `priority` column is *actually* hidden right now by the `@container` breakpoints above, or
1425
1442
  `showAllColumns` force-visible mode is currently active. Measured via a `ResizeObserver` on
@@ -1437,6 +1454,31 @@ of `rows` — this component only renders and emits intents.
1437
1454
  when omitted, which is only safe while `rows` never reorders — set it whenever `rows` can be
1438
1455
  sorted/filtered/re-ordered across renders, or selection/click can silently attach to the wrong row
1439
1456
  - `selectedKey: string | number | null = null` (attribute: false) — **single**-selection only
1457
+ - `selectionMode: 'none'|'single'|'multiple' = 'none'` (attribute `selection-mode`, reflected) —
1458
+ opt-in self-managed row selection; the default remains presentational
1459
+ - `selectedKeys: Set<string | number> = new Set()` (attribute: false) — the selected raw row keys
1460
+ used by multiple selection
1461
+ - `filterable: boolean = false` (attribute `filterable`, reflected) — renders a localized search
1462
+ field above the grid
1463
+ - `filterText: string = ''` (attribute `filter-text`) — controlled filter text
1464
+ - `filter?: (row: T, text: string) => boolean` (attribute: false) — typed predicate used by the
1465
+ filter field; when omitted, rows are matched against their JSON representation
1466
+ - `filterLabel: string = ''` (attribute `filter-label`) and `filterPlaceholder: string = ''`
1467
+ (attribute `filter-placeholder`) — optional localized-label overrides
1468
+ - `loading: boolean = false` (attribute `loading`, reflected) and `loadingLabel: string = ''`
1469
+ (attribute `loading-label`) — renders a busy spinner and suppresses the grid while loading
1470
+ - `pageSize: number = 0` (attribute `page-size`) — positive values enable controlled pagination;
1471
+ zero disables the pagination footer
1472
+ - `page: number = 1` (attribute `page`, reflected) — controlled current page
1473
+ - `totalItems: number = -1` (attribute `total-items`) — server-side total item count; `-1` derives
1474
+ the total from filtered rows
1475
+ - `paginationMode: 'client'|'server' = 'client'` (attribute `pagination-mode`, reflected) — client
1476
+ mode slices rows; server mode renders the supplied page unchanged
1477
+ - Editable columns emit `lyra-cell-edit` on commit and never mutate the supplied row object.
1478
+ - `groupBy?: (row: T) => string | number` (attribute: false) — inserts a non-focusable full-width
1479
+ group row before each group
1480
+ - `groupLabel?: (key: string | number, rows: T[]) => unknown` (attribute: false) — custom group
1481
+ header content; without it, the group key is rendered as text
1440
1482
  - `expandedContent?: (row: T) => unknown` (attribute: false) — enables a leading expand toggle and
1441
1483
  renders a full-width detail row beneath expanded records
1442
1484
  - `canExpand?: (row: T) => boolean` (attribute: false) — optional per-row gate for expansion
@@ -1459,7 +1501,11 @@ of `rows` — this component only renders and emits intents.
1459
1501
  (`detail: { row }`), `lyra-load-more` (fired on the "load more" button), `lyra-columns-hidden-change`
1460
1502
  (`detail: { hidden: boolean }`, fired only on a real `columnsHidden` transition),
1461
1503
  `lyra-columns-revealed` (`detail: { revealed: boolean }`), and `lyra-row-expand-toggle`
1462
- (`detail: { row, key }`; the table does not mutate `expandedKeys`)
1504
+ (`detail: { row, key }`; the table does not mutate `expandedKeys`), and
1505
+ `lyra-selection-change` (`detail: { keys }`) when selection is enabled, `lyra-filter-change`
1506
+ (`detail: { text }`), and `lyra-page-change` (`detail: { page }`) from the controlled
1507
+ filter/pagination surfaces, and `lyra-cell-edit` (`detail: { row, key, value }`) for editable
1508
+ columns
1463
1509
 
1464
1510
  **Slots:** none — content comes entirely from `columns`/`rows`.
1465
1511
 
@@ -1467,7 +1513,8 @@ of `rows` — this component only renders and emits intents.
1467
1513
  chevron indicator shown on the active sortable header, rotated per `sortDir`), `reveal-columns-button`
1468
1514
  (shown only when `columnsHidden` is true), `foot` (the `<tfoot>`, only rendered when at least one
1469
1515
  column defines `footer`), `footer-row`, `footer-cell`, `expand-toggle-cell`, `row-expand-toggle`,
1470
- `row-expand-icon`, `expanded-row`, `expanded-cell`
1516
+ `row-expand-icon`, `expanded-row`, `expanded-cell`, `filter-label`, `filter`, `loading`, and
1517
+ `pagination`, `cell-editor`, `group-row`, and `group-cell`
1471
1518
 
1472
1519
  **Themeable custom properties:** `--lyra-table-max-height` (default `none`; controls the scrollable
1473
1520
  body's `max-block-size`).
@@ -3181,6 +3228,219 @@ an extension-only `accept` list.
3181
3228
 
3182
3229
  ---
3183
3230
 
3231
+ ## `lyra-drawer`
3232
+
3233
+ A modal panel anchored to one edge of the viewport. It inherits the dialog overlay contract:
3234
+ focus trapping, Escape and optional backdrop dismissal, document scroll locking, overlay stacking,
3235
+ accessible naming, and the cancelable `lyra-dialog-close` event.
3236
+
3237
+ **Properties:**
3238
+ - `open: boolean = false` (attribute `open`, reflected) — controls visibility
3239
+ - `placement: 'start'|'end'|'top'|'bottom' = 'start'` (attribute `placement`, reflected)
3240
+ - `heading?: string`, `label: string`, `closable: boolean`, and `noLightDismiss: boolean` — inherited
3241
+ dialog naming and dismissal options
3242
+
3243
+ **CSS parts:** `backdrop`, `panel`, `header`, `heading`, `close-button`, `label`, `body`, `footer`.
3244
+
3245
+ **Themeable custom properties:** `--lyra-drawer-width`, `--lyra-drawer-height`, and inherited
3246
+ dialog surface/overlay tokens.
3247
+
3248
+ ```html
3249
+ <lyra-drawer open placement="end" heading="Filters" closable>
3250
+ <lyra-checkbox label="Only active"></lyra-checkbox>
3251
+ </lyra-drawer>
3252
+ ```
3253
+
3254
+ ---
3255
+
3256
+ ## `lyra-carousel`
3257
+
3258
+ Accessible carousel for arbitrary slotted slide elements. It shows one assigned element at a time,
3259
+ adds slide semantics and localized position labels, and provides keyboard, button, and indicator
3260
+ navigation.
3261
+
3262
+ **Properties:**
3263
+ - `index: number = 0` (attribute `index`, reflected) — active slide index
3264
+ - `loop: boolean = false` (attribute `loop`, reflected) — wraps navigation at either end
3265
+ - `autoplay: boolean = false` (attribute `autoplay`, reflected) and `autoplayInterval: number = 5000`
3266
+ (attribute `autoplay-interval`) — optional timed advance; autoplay is disabled under reduced motion
3267
+ - `showIndicators: boolean = true` (attribute `show-indicators`) — renders slide indicator buttons
3268
+ - `accessibleLabel: string = ''` (attribute `accessible-label`) — fallback landmark name; a host
3269
+ `aria-label` takes precedence
3270
+
3271
+ **Methods:** `next()`, `previous()`, and `goTo(index)` update the active index and emit
3272
+ `lyra-slide-change` (`detail: { index }`).
3273
+
3274
+ **CSS parts:** `base`, `viewport`, `track`, `controls`, `previous-button`, `next-button`,
3275
+ `indicators`, and `indicator`.
3276
+
3277
+ ```html
3278
+ <lyra-carousel aria-label="Screenshots">
3279
+ <img alt="Dashboard overview" src="overview.png">
3280
+ <img alt="Dashboard details" src="details.png">
3281
+ </lyra-carousel>
3282
+ ```
3283
+
3284
+ ---
3285
+
3286
+ ## `lyra-carousel-item`
3287
+
3288
+ Optional semantic wrapper for one slide in `<lyra-carousel>`. The carousel also accepts arbitrary
3289
+ slotted elements, so this element is useful when a migration needs the explicit item tag.
3290
+
3291
+ **Slots:** default slide content.
3292
+
3293
+ **CSS parts:** `base`.
3294
+
3295
+ ```html
3296
+ <lyra-carousel>
3297
+ <lyra-carousel-item>Dashboard overview</lyra-carousel-item>
3298
+ <lyra-carousel-item>Dashboard details</lyra-carousel-item>
3299
+ </lyra-carousel>
3300
+ ```
3301
+
3302
+ ---
3303
+
3304
+ ## `lyra-button-group`
3305
+
3306
+ Responsive semantic grouping primitive for related action controls. It preserves the slotted
3307
+ controls and exposes `role="group"` on its internal wrapper.
3308
+
3309
+ **Properties:**
3310
+ - `orientation: 'horizontal' | 'vertical' = 'horizontal'` (reflected)
3311
+ - `label: string = ''` — accessible group name; a host `aria-label` is used when `label` is empty
3312
+
3313
+ **Slots:** default action controls.
3314
+
3315
+ **CSS parts:** `base`.
3316
+
3317
+ ---
3318
+
3319
+ ## `lyra-image-comparer`
3320
+
3321
+ Before/after comparison surface with two named slots and a keyboard-accessible native range handle.
3322
+
3323
+ **Properties:**
3324
+ - `position: number = 50` (attribute `position`, reflected) — divider position from 0 to 100
3325
+ - `orientation: 'horizontal'|'vertical' = 'horizontal'` (attribute `orientation`, reflected)
3326
+ - `accessibleLabel: string | null` (attribute `aria-label`) — accessible name for the comparison
3327
+ and its range handle
3328
+ - `beforeLabel`/`afterLabel` — fallback text for empty named slots
3329
+
3330
+ **Events:** `lyra-position-change` (`detail: { position }`), plus composed `focus` and `blur` events
3331
+ from the internal range handle.
3332
+
3333
+ **Slots:** `before`, `after`.
3334
+
3335
+ **CSS parts:** `base`, `before`, `after`, `divider`, and `handle`.
3336
+
3337
+ ```html
3338
+ <lyra-image-comparer aria-label="Before and after">
3339
+ <img slot="before" alt="Before" src="before.png">
3340
+ <img slot="after" alt="After" src="after.png">
3341
+ </lyra-image-comparer>
3342
+ ```
3343
+
3344
+ ---
3345
+
3346
+ ## `lyra-zoomable-frame`
3347
+
3348
+ Scrollable inspection frame with bounded zoom controls and keyboard shortcuts. Scrolling provides
3349
+ panning when zoomed content exceeds the viewport.
3350
+
3351
+ **Properties:**
3352
+ - `zoom: number = 1` (attribute `zoom`, reflected), `minZoom: number = 0.5`, `maxZoom: number = 4`,
3353
+ and `zoomStep: number = 0.25` — bounded zoom configuration
3354
+ - `src: string = ''` and `alt: string = ''` — optional image source; otherwise the default slot is
3355
+ rendered
3356
+ - `accessibleLabel: string | null` (attribute `aria-label`) — host-level accessible name
3357
+
3358
+ **Methods:** `zoomIn()`, `zoomOut()`, and `resetZoom()` update the zoom and emit
3359
+ `lyra-zoom-change` (`detail: { zoom }`). The viewport also accepts `+`, `-`, and `0` keyboard
3360
+ shortcuts.
3361
+
3362
+ **CSS parts:** `base`, `viewport`, `content`, `controls`, `zoom-out`, `zoom-in`, and `reset`.
3363
+
3364
+ ```html
3365
+ <lyra-zoomable-frame src="map-preview.png" alt="Map preview" aria-label="Map preview"></lyra-zoomable-frame>
3366
+ ```
3367
+
3368
+ ---
3369
+
3370
+ ## `lyra-scroller`
3371
+
3372
+ Responsive overflow surface with optional previous/next controls. The default slot remains the
3373
+ consumer's content, and the viewport is a native scroll container that works in narrow panels as
3374
+ well as full-width layouts.
3375
+
3376
+ **Properties:**
3377
+ - `orientation: 'horizontal' | 'vertical' = 'horizontal'` (reflected)
3378
+ - `controls: boolean = false` (reflected) — show previous/next controls
3379
+ - `hideScrollbar: boolean = false` (attribute `hide-scrollbar`, reflected)
3380
+ - `scrollStep: number = 0` (attribute `scroll-step`) — custom step; zero uses 80% of the viewport
3381
+ - `label: string = ''` — accessible region name; a host `aria-label` is used when set
3382
+
3383
+ **Events:** `lyra-scroll` with `scrollStart`, `scrollEnd`, `scrollLeft`, and `scrollTop` in the
3384
+ detail object.
3385
+
3386
+ **Slots:** default scrollable content.
3387
+
3388
+ **CSS parts:** `base`, `viewport`, `content`, `previous`, and `next`.
3389
+
3390
+ ```html
3391
+ <lyra-scroller controls label="Project cards">
3392
+ <lyra-card>Solar</lyra-card>
3393
+ <lyra-card>Wind</lyra-card>
3394
+ <lyra-card>Battery</lyra-card>
3395
+ </lyra-scroller>
3396
+ ```
3397
+
3398
+ ---
3399
+
3400
+ ## `lyra-resize-observer`
3401
+
3402
+ Lifecycle-managed wrapper around the native `ResizeObserver`. It observes all element children in
3403
+ the default slot and emits a composed event, while adding no layout of its own.
3404
+
3405
+ **Properties:** `disabled: boolean = false` (reflected) and `box: 'content-box' | 'border-box' |
3406
+ 'device-pixel-content-box' = 'content-box'` (reflected).
3407
+
3408
+ **Events:** `lyra-resize` with `{ entries: ResizeObserverEntry[] }` in `detail`.
3409
+
3410
+ **Slots:** default observed elements. **CSS parts:** `base`.
3411
+
3412
+ ---
3413
+
3414
+ ## `lyra-intersection-observer`
3415
+
3416
+ Lifecycle-managed wrapper around the native `IntersectionObserver`. It observes all element children
3417
+ in the default slot and emits a composed event, while adding no layout of its own.
3418
+
3419
+ **Properties:** `disabled: boolean = false` (reflected), `rootMargin: string = '0px'` (attribute
3420
+ `root-margin`), `threshold: number | number[] = 0`, and `root: Element | null = null`.
3421
+
3422
+ **Events:** `lyra-intersection` with `{ entries: IntersectionObserverEntry[] }` in `detail`.
3423
+
3424
+ **Slots:** default observed elements. **CSS parts:** `base`.
3425
+
3426
+ ---
3427
+
3428
+ ## `lyra-mutation-observer`
3429
+
3430
+ Lifecycle-managed wrapper around the native `MutationObserver`. All element children in the default
3431
+ slot are observed and their mutation records are emitted as a composed event; the wrapper itself
3432
+ adds no layout.
3433
+
3434
+ **Properties:** `disabled: boolean = false` (reflected), `childList: boolean = true` (attribute
3435
+ `child-list`), `observeAttributes: boolean = false` (attribute `attributes`), `characterData: boolean = false` (attribute
3436
+ `character-data`), `subtree: boolean = true`, and `attributeFilter: string[] = []`.
3437
+
3438
+ **Events:** `lyra-mutation` with `{ records: MutationRecord[] }` in `detail`.
3439
+
3440
+ **Slots:** default observed elements. **CSS parts:** `base`.
3441
+
3442
+ ---
3443
+
3184
3444
  ## `lyra-dialog` / `confirm()`
3185
3445
 
3186
3446
  General-purpose modal/overlay plus a promise-based confirmation helper built on top of it.
@@ -6869,6 +7129,21 @@ not rendered at all for `type="normal"`)
6869
7129
 
6870
7130
  **Optional peer deps:** none.
6871
7131
 
7132
+ ### `lyra-dropdown-item`
7133
+
7134
+ Compatibility naming alias for `<lyra-menu-item>`. It is a subclass of the same implementation,
7135
+ so `value`, `disabled`, `destructive`, `type`, `checked`, `select()`, checkbox events, and menu
7136
+ roving focus behave identically.
7137
+
7138
+ **Slots:** default label content and optional `icon`.
7139
+
7140
+ ```html
7141
+ <lyra-menu>
7142
+ <button slot="trigger">Actions</button>
7143
+ <lyra-dropdown-item value="archive">Archive</lyra-dropdown-item>
7144
+ </lyra-menu>
7145
+ ```
7146
+
6872
7147
  ```html
6873
7148
  <lyra-menu label="Row actions">
6874
7149
  <button slot="trigger" aria-label="More actions">⋮</button>
@@ -7860,6 +8135,164 @@ the `footer` slot, hidden entirely when empty).
7860
8135
 
7861
8136
  ---
7862
8137
 
8138
+ ## `lyra-radio`
8139
+
8140
+ A form-associated single-choice control. Use it alone or inside `lyra-radio-group`.
8141
+
8142
+ **Properties:** `checked`, `disabled`, `required`, `name`, and `value` (all reflected where
8143
+ applicable). A selected radio submits its value through `ElementInternals`.
8144
+
8145
+ **Events:** native-style composed `input` and `change`, plus `lyra-change` with
8146
+ `{ checked, value }`.
8147
+
8148
+ **Slots:** default label content.
8149
+
8150
+ **CSS parts:** `base`, `circle`, `dot`, `label`.
8151
+
8152
+ ```html
8153
+ <lyra-radio name="format" value="json">JSON</lyra-radio>
8154
+ ```
8155
+
8156
+ ## `lyra-popover`
8157
+
8158
+ A click-triggered, light-dismiss floating surface positioned with the shared Floating UI positioner.
8159
+
8160
+ **Properties:** `open`, `placement`, `distance`, `accessibleLabel` (`aria-label`), and `popupRole` (`popup-role`).
8161
+ **Events:** `lyra-show`, `lyra-hide`. **Slots:** `trigger`, default content. **CSS parts:** `trigger`,
8162
+ `popup`, `content`.
8163
+
8164
+ ## `lyra-tooltip`
8165
+
8166
+ A hover/focus tooltip positioned with the shared Floating UI positioner.
8167
+
8168
+ **Properties:** `open`, `manual`, `delay`, `placement`, `distance`, `content`, and
8169
+ `accessibleLabel` (`aria-label`). **Slots:** `trigger`, default content. **CSS parts:**
8170
+ `trigger`, `popup`.
8171
+
8172
+ ## `lyra-dropdown`
8173
+
8174
+ A menu-role popover for consumer-supplied action content. Compose `lyra-menu` when full roving
8175
+ menu-item behavior is needed.
8176
+
8177
+ **Properties:** `open`, `placement`, `distance`, `accessibleLabel` (`aria-label`), and `popupRole` (`popup-role`).
8178
+ **Slots:** `trigger`, default menu content. **CSS parts:** `trigger`, `popup`, `content`.
8179
+
8180
+ ## `lyra-radio-group`
8181
+
8182
+ A labeled, keyboard-navigable group of `lyra-radio` controls. Arrow keys, Home, and End move
8183
+ focus; arrow navigation selects the next enabled radio.
8184
+
8185
+ **Properties:** `label`, `hint`, `errorText` (`error-text`), `name`, `required`, `disabled`, and
8186
+ `aria-label` (through `accessibleLabel`).
8187
+
8188
+ **Events:** `lyra-change` with `{ value, radio }`.
8189
+
8190
+ **Slots:** default radios, `label`, `hint`, `error`.
8191
+
8192
+ **CSS parts:** `base`, `label`, `hint`, `error`.
8193
+
8194
+ ## `lyra-spinner`
8195
+
8196
+ An indeterminate busy indicator with a localized `role="status"` name.
8197
+
8198
+ **Properties:** `labelPlacement` (`label-placement`): `'none' | 'after'` and `accessibleLabel`
8199
+ (`accessible-label`).
8200
+
8201
+ **Slots:** default optional visible label. **CSS parts:** `base`, `spinner`, `label`.
8202
+
8203
+ ## `lyra-progress-bar`
8204
+
8205
+ A determinate or indeterminate progress bar.
8206
+
8207
+ **Properties:** `value`, `max`, `indeterminate`, `variant`, `showValue` (`show-value`), and
8208
+ `accessibleLabel` (`accessible-label`).
8209
+ The rendered progressbar exposes `aria-valuemin`, `aria-valuemax`, and `aria-valuenow` when
8210
+ determinate.
8211
+
8212
+ **Slots:** `label`. **CSS parts:** `base`, `track`, `indicator`, `label`.
8213
+
8214
+ ## `lyra-progress-ring`
8215
+
8216
+ A circular progress indicator with the same value contract as `lyra-progress-bar`.
8217
+
8218
+ **Properties:** `value`, `max`, `indeterminate`, and `accessibleLabel` (`accessible-label`).
8219
+ **Slots:** default center label. **CSS parts:** `base`, `track`, `indicator`, `label`.
8220
+
8221
+ ## `lyra-badge` and `lyra-tag`
8222
+
8223
+ Compact status labels. Both expose `variant: 'neutral' | 'brand' | 'success' | 'warning' | 'danger'`.
8224
+ The two tags share the same visual contract; `lyra-tag` is a semantic alias for migration-friendly
8225
+ markup.
8226
+
8227
+ **Slots:** default content. **CSS parts:** `base`.
8228
+
8229
+ ## `lyra-callout`
8230
+
8231
+ An inline status, warning, or error surface.
8232
+
8233
+ **Properties:** `variant`, `heading`, `closable`, `open`, and `accessibleLabel` (`accessible-label`).
8234
+
8235
+ **Events:** cancelable `lyra-close`; the callout hides after the event unless a listener calls
8236
+ `preventDefault()`.
8237
+
8238
+ **Slots:** default message, `heading`, `icon`. **CSS parts:** `base`, `icon`, `content`, `heading`,
8239
+ `close-button`.
8240
+
8241
+ ## `lyra-details`, `lyra-accordion`, and `lyra-accordion-item`
8242
+
8243
+ `lyra-details` is a native-semantics disclosure panel. `lyra-accordion` coordinates slotted
8244
+ details panels and closes siblings unless `multiple` is true. `lyra-accordion-item` is an
8245
+ accordion-compatible alias.
8246
+
8247
+ **Properties:** `open`, `disabled`, and `summary` on details/items; `multiple` on accordion.
8248
+ **Events:** `lyra-toggle` with `{ open }` from details/items. **Slots:** `summary` and default
8249
+ content on details/items; default panels on accordion. **CSS parts:** `base`, `summary`, `content`
8250
+ on details/items; `base` on accordion.
8251
+
8252
+ ## `lyra-divider`
8253
+
8254
+ A semantic separator with `orientation: 'horizontal' | 'vertical'`. **CSS part:** `base`.
8255
+
8256
+ ## `lyra-breadcrumb` and `lyra-breadcrumb-item`
8257
+
8258
+ Responsive navigation trail primitives. Breadcrumb has `accessibleLabel` (`accessible-label`);
8259
+ items have `href` and `current`. Breadcrumb slots default items; item slots default label content.
8260
+ Breadcrumb exposes `base`; item exposes `base`.
8261
+
8262
+ ## `lyra-format-number`
8263
+
8264
+ Locale-aware `Intl.NumberFormat` output. **Properties:** `value`, `locale`, `currency`, `notation`,
8265
+ `minimumFractionDigits`, and `maximumFractionDigits`. Default slot is fallback content for a
8266
+ non-finite value.
8267
+
8268
+ ## `lyra-format-date`
8269
+
8270
+ Locale-aware `Intl.DateTimeFormat` output. **Properties:** `date`, `locale`, `year`, `month`, `day`,
8271
+ `dateStyle`, and `timeStyle`. Default slot is fallback content for an invalid date.
8272
+
8273
+ ## `lyra-format-bytes`
8274
+
8275
+ Locale-aware byte-size output. **Properties:** `value`, `locale`, `unitStep` (`unit-step`), and
8276
+ `decimals`.
8277
+
8278
+ ## `lyra-relative-time`
8279
+
8280
+ Locale-aware relative time output. **Properties:** `date`, `locale`, `unit`, `numeric`, and `sync`.
8281
+ When `sync` is true the displayed value refreshes periodically.
8282
+
8283
+ ## `lyra-rating`
8284
+
8285
+ A keyboard-accessible star rating control with slider semantics. **Properties:** `value`, `max`,
8286
+ `precision`, `readonly`, `disabled`, and `accessibleLabel` (`aria-label`). **Events:**
8287
+ `lyra-change` with `{ value }`. **CSS parts:** `base`, `star`.
8288
+
8289
+ ## `lyra-color-picker`
8290
+
8291
+ A form-associated native color picker with label and hint chrome. **Properties:** the shared form
8292
+ properties `name`, `value`, `disabled`, and `required`, plus `label`, `hint`, and `accessibleLabel`
8293
+ (`aria-label`). **Slots:** `label`, `hint`. **Events:** composed `input` and `change`, plus
8294
+ `lyra-change` with `{ value }`. **CSS parts:** `form-control`, `label`, `input`, `hint`.
8295
+
7863
8296
  ## Cross-cutting notes
7864
8297
 
7865
8298
  These apply across the whole library rather than to any one component:
package/llms.txt CHANGED
@@ -33,6 +33,17 @@ The catalog is grouped by capability; `llms-full.txt` follows the same consumer-
33
33
  `lyra-empty`, `lyra-skeleton`, `lyra-stat`, `lyra-table`, `lyra-pagination`, `lyra-gauge`,
34
34
  `lyra-export-button`, `lyra-copy-button`, `lyra-split`, `lyra-widget`, `lyra-word-cloud`
35
35
  (zero-dependency SVG word/tag cloud).
36
+ - **Web Awesome parity and visual primitives** — `lyra-number-input`/`lyra-time-input`,
37
+ `lyra-color-picker`, `lyra-radio`/`lyra-radio-group`, `lyra-spinner`,
38
+ `lyra-progress-bar`/`lyra-progress-ring`, `lyra-badge`/`lyra-tag`, `lyra-callout`,
39
+ `lyra-details`/`lyra-accordion`/`lyra-accordion-item`, `lyra-divider`,
40
+ `lyra-breadcrumb`/`lyra-breadcrumb-item`, `lyra-format-number`/`lyra-format-date`/
41
+ `lyra-format-bytes`/`lyra-relative-time`, `lyra-rating`, `lyra-popover`/`lyra-tooltip`/
42
+ `lyra-dropdown`, `lyra-drawer`, `lyra-carousel`, `lyra-image-comparer`, and
43
+ `lyra-zoomable-frame`, `lyra-carousel-item`, `lyra-button-group`, and
44
+ `lyra-dropdown-item`, and `lyra-scroller` compatibility primitives.
45
+ Observer utilities include `lyra-resize-observer`, `lyra-intersection-observer`, and
46
+ `lyra-mutation-observer`.
36
47
  - **Temporal & graph** — time-series and hierarchy/network widgets: `lyra-time-range`,
37
48
  `lyra-playback`, `lyra-heatmap` (matrix and calendar layouts), `lyra-graph` (needs the optional peer
38
49
  deps `d3-force`/`d3-drag`/`d3-zoom`/`d3-selection`), `lyra-tree`/`lyra-tree-node`.
@@ -49,6 +60,8 @@ The catalog is grouped by capability; `llms-full.txt` follows the same consumer-
49
60
  dropzone, emits raw `File[]`).
50
61
  - **Conversation & Agent UI** — chat/tool-call/agent-config building blocks for streaming AI
51
62
  interfaces: `lyra-dialog`/`confirm()`, `lyra-tabs`, `lyra-checkbox`, `lyra-switch`,
63
+ `lyra-radio`/`lyra-radio-group`, `lyra-input`, `lyra-textarea`, `lyra-callout`, `lyra-spinner`,
64
+ `lyra-progress-bar`/`lyra-progress-ring`, `lyra-badge`/`lyra-tag`,
52
65
  `lyra-json-viewer`, `lyra-live-region` (+ `internal/announcer.ts`'s throttled `Announcer`),
53
66
  `lyra-markdown` (needs the optional peers `marked`/`dompurify`), `lyra-chat-message`,
54
67
  `lyra-typing-indicator`, `lyra-tool-call-chip`, `lyra-tool-result-view` (+ its