@aceshooting/lyra-ui 3.3.0 → 3.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 (523) hide show
  1. package/README.md +9 -2
  2. package/custom-elements.json +14259 -7801
  3. package/dist/components/app-rail/app-rail-item.class.d.ts +1 -0
  4. package/dist/components/app-rail/app-rail-item.class.d.ts.map +1 -1
  5. package/dist/components/app-rail/app-rail-item.class.js +13 -2
  6. package/dist/components/app-rail/app-rail-item.class.js.map +1 -1
  7. package/dist/components/archive-viewer/archive-viewer.class.d.ts +1 -1
  8. package/dist/components/archive-viewer/archive-viewer.class.d.ts.map +1 -1
  9. package/dist/components/archive-viewer/archive-viewer.class.js +16 -5
  10. package/dist/components/archive-viewer/archive-viewer.class.js.map +1 -1
  11. package/dist/components/attachment-chip/attachment-chip.d.ts +0 -1
  12. package/dist/components/attachment-chip/attachment-chip.d.ts.map +1 -1
  13. package/dist/components/attachment-chip/attachment-chip.js +0 -1
  14. package/dist/components/attachment-chip/attachment-chip.js.map +1 -1
  15. package/dist/components/breadcrumb/breadcrumb-item.class.d.ts.map +1 -1
  16. package/dist/components/breadcrumb/breadcrumb-item.class.js +2 -1
  17. package/dist/components/breadcrumb/breadcrumb-item.class.js.map +1 -1
  18. package/dist/components/breadcrumb/breadcrumb-item.styles.d.ts +2 -0
  19. package/dist/components/breadcrumb/breadcrumb-item.styles.d.ts.map +1 -0
  20. package/dist/components/breadcrumb/breadcrumb-item.styles.js +20 -0
  21. package/dist/components/breadcrumb/breadcrumb-item.styles.js.map +1 -0
  22. package/dist/components/breadcrumb/breadcrumb.class.d.ts +6 -0
  23. package/dist/components/breadcrumb/breadcrumb.class.d.ts.map +1 -1
  24. package/dist/components/breadcrumb/breadcrumb.class.js +7 -1
  25. package/dist/components/breadcrumb/breadcrumb.class.js.map +1 -1
  26. package/dist/components/breadcrumb/breadcrumb.styles.d.ts.map +1 -1
  27. package/dist/components/breadcrumb/breadcrumb.styles.js +4 -1
  28. package/dist/components/breadcrumb/breadcrumb.styles.js.map +1 -1
  29. package/dist/components/button/button.class.d.ts +8 -0
  30. package/dist/components/button/button.class.d.ts.map +1 -1
  31. package/dist/components/button/button.class.js +8 -0
  32. package/dist/components/button/button.class.js.map +1 -1
  33. package/dist/components/button/button.styles.js +1 -1
  34. package/dist/components/button-group/button-group.styles.d.ts.map +1 -1
  35. package/dist/components/button-group/button-group.styles.js +6 -2
  36. package/dist/components/button-group/button-group.styles.js.map +1 -1
  37. package/dist/components/calendar/calendar.class.d.ts +73 -0
  38. package/dist/components/calendar/calendar.class.d.ts.map +1 -0
  39. package/dist/components/calendar/calendar.class.js +119 -0
  40. package/dist/components/calendar/calendar.class.js.map +1 -0
  41. package/dist/components/calendar/calendar.d.ts +2 -0
  42. package/dist/components/calendar/calendar.d.ts.map +1 -0
  43. package/dist/components/calendar/calendar.js +5 -0
  44. package/dist/components/calendar/calendar.js.map +1 -0
  45. package/dist/components/calendar/calendar.styles.d.ts +2 -0
  46. package/dist/components/calendar/calendar.styles.d.ts.map +1 -0
  47. package/dist/components/calendar/calendar.styles.js +24 -0
  48. package/dist/components/calendar/calendar.styles.js.map +1 -0
  49. package/dist/components/calendar-viewer/calendar-viewer.class.d.ts +1 -1
  50. package/dist/components/calendar-viewer/calendar-viewer.class.d.ts.map +1 -1
  51. package/dist/components/calendar-viewer/calendar-viewer.class.js +2 -2
  52. package/dist/components/calendar-viewer/calendar-viewer.class.js.map +1 -1
  53. package/dist/components/callout/callout.class.d.ts +1 -0
  54. package/dist/components/callout/callout.class.d.ts.map +1 -1
  55. package/dist/components/callout/callout.class.js +2 -1
  56. package/dist/components/callout/callout.class.js.map +1 -1
  57. package/dist/components/carousel/carousel.class.d.ts +2 -0
  58. package/dist/components/carousel/carousel.class.d.ts.map +1 -1
  59. package/dist/components/carousel/carousel.class.js +10 -7
  60. package/dist/components/carousel/carousel.class.js.map +1 -1
  61. package/dist/components/carousel/carousel.styles.d.ts.map +1 -1
  62. package/dist/components/carousel/carousel.styles.js +4 -0
  63. package/dist/components/carousel/carousel.styles.js.map +1 -1
  64. package/dist/components/chart/chart.class.d.ts +6 -0
  65. package/dist/components/chart/chart.class.d.ts.map +1 -1
  66. package/dist/components/chart/chart.class.js +63 -17
  67. package/dist/components/chart/chart.class.js.map +1 -1
  68. package/dist/components/chart/histogram.class.d.ts.map +1 -1
  69. package/dist/components/chart/histogram.class.js +6 -2
  70. package/dist/components/chart/histogram.class.js.map +1 -1
  71. package/dist/components/chart/lite-chart.class.d.ts +1 -2
  72. package/dist/components/chart/lite-chart.class.d.ts.map +1 -1
  73. package/dist/components/chart/lite-chart.class.js +20 -20
  74. package/dist/components/chart/lite-chart.class.js.map +1 -1
  75. package/dist/components/chat-composer/chat-composer.class.d.ts +1 -0
  76. package/dist/components/chat-composer/chat-composer.class.d.ts.map +1 -1
  77. package/dist/components/chat-composer/chat-composer.class.js +17 -0
  78. package/dist/components/chat-composer/chat-composer.class.js.map +1 -1
  79. package/dist/components/checkbox/checkbox.class.d.ts.map +1 -1
  80. package/dist/components/checkbox/checkbox.class.js +4 -2
  81. package/dist/components/checkbox/checkbox.class.js.map +1 -1
  82. package/dist/components/checkbox-group/checkbox-group.class.d.ts +75 -0
  83. package/dist/components/checkbox-group/checkbox-group.class.d.ts.map +1 -0
  84. package/dist/components/checkbox-group/checkbox-group.class.js +157 -0
  85. package/dist/components/checkbox-group/checkbox-group.class.js.map +1 -0
  86. package/dist/components/checkbox-group/checkbox-group.d.ts +2 -0
  87. package/dist/components/checkbox-group/checkbox-group.d.ts.map +1 -0
  88. package/dist/components/checkbox-group/checkbox-group.js +5 -0
  89. package/dist/components/checkbox-group/checkbox-group.js.map +1 -0
  90. package/dist/components/checkbox-group/checkbox-group.styles.d.ts +2 -0
  91. package/dist/components/checkbox-group/checkbox-group.styles.d.ts.map +1 -0
  92. package/dist/components/checkbox-group/checkbox-group.styles.js +12 -0
  93. package/dist/components/checkbox-group/checkbox-group.styles.js.map +1 -0
  94. package/dist/components/code-block/code-block-core.class.d.ts.map +1 -1
  95. package/dist/components/code-block/code-block-core.class.js +17 -0
  96. package/dist/components/code-block/code-block-core.class.js.map +1 -1
  97. package/dist/components/code-block/code-block.class.d.ts.map +1 -1
  98. package/dist/components/code-block/code-block.class.js +8 -0
  99. package/dist/components/code-block/code-block.class.js.map +1 -1
  100. package/dist/components/code-editor/code-editor.class.d.ts +77 -0
  101. package/dist/components/code-editor/code-editor.class.d.ts.map +1 -0
  102. package/dist/components/code-editor/code-editor.class.js +169 -0
  103. package/dist/components/code-editor/code-editor.class.js.map +1 -0
  104. package/dist/components/code-editor/code-editor.d.ts +2 -0
  105. package/dist/components/code-editor/code-editor.d.ts.map +1 -0
  106. package/dist/components/code-editor/code-editor.js +5 -0
  107. package/dist/components/code-editor/code-editor.js.map +1 -0
  108. package/dist/components/code-editor/code-editor.styles.d.ts +2 -0
  109. package/dist/components/code-editor/code-editor.styles.d.ts.map +1 -0
  110. package/dist/components/code-editor/code-editor.styles.js +15 -0
  111. package/dist/components/code-editor/code-editor.styles.js.map +1 -0
  112. package/dist/components/color-picker/color-picker.class.d.ts +13 -2
  113. package/dist/components/color-picker/color-picker.class.d.ts.map +1 -1
  114. package/dist/components/color-picker/color-picker.class.js +51 -6
  115. package/dist/components/color-picker/color-picker.class.js.map +1 -1
  116. package/dist/components/color-picker/color-picker.styles.d.ts.map +1 -1
  117. package/dist/components/color-picker/color-picker.styles.js +20 -1
  118. package/dist/components/color-picker/color-picker.styles.js.map +1 -1
  119. package/dist/components/combobox/combobox.class.d.ts.map +1 -1
  120. package/dist/components/combobox/combobox.class.js +28 -6
  121. package/dist/components/combobox/combobox.class.js.map +1 -1
  122. package/dist/components/command-palette/command-palette.class.d.ts +65 -0
  123. package/dist/components/command-palette/command-palette.class.d.ts.map +1 -0
  124. package/dist/components/command-palette/command-palette.class.js +164 -0
  125. package/dist/components/command-palette/command-palette.class.js.map +1 -0
  126. package/dist/components/command-palette/command-palette.d.ts +3 -0
  127. package/dist/components/command-palette/command-palette.d.ts.map +1 -0
  128. package/dist/components/command-palette/command-palette.js +6 -0
  129. package/dist/components/command-palette/command-palette.js.map +1 -0
  130. package/dist/components/command-palette/command-palette.styles.d.ts +2 -0
  131. package/dist/components/command-palette/command-palette.styles.d.ts.map +1 -0
  132. package/dist/components/command-palette/command-palette.styles.js +17 -0
  133. package/dist/components/command-palette/command-palette.styles.js.map +1 -0
  134. package/dist/components/contact-viewer/contact-viewer.class.d.ts +17 -1
  135. package/dist/components/contact-viewer/contact-viewer.class.d.ts.map +1 -1
  136. package/dist/components/contact-viewer/contact-viewer.class.js +18 -2
  137. package/dist/components/contact-viewer/contact-viewer.class.js.map +1 -1
  138. package/dist/components/copy-button/copy-button.styles.js +1 -1
  139. package/dist/components/csv-viewer/csv-viewer.class.d.ts +1 -1
  140. package/dist/components/csv-viewer/csv-viewer.class.d.ts.map +1 -1
  141. package/dist/components/csv-viewer/csv-viewer.class.js +3 -3
  142. package/dist/components/csv-viewer/csv-viewer.class.js.map +1 -1
  143. package/dist/components/csv-viewer/csv-viewer.d.ts +0 -1
  144. package/dist/components/csv-viewer/csv-viewer.d.ts.map +1 -1
  145. package/dist/components/csv-viewer/csv-viewer.js +0 -1
  146. package/dist/components/csv-viewer/csv-viewer.js.map +1 -1
  147. package/dist/components/data-grid/data-grid.class.d.ts +63 -0
  148. package/dist/components/data-grid/data-grid.class.d.ts.map +1 -0
  149. package/dist/components/data-grid/data-grid.class.js +109 -0
  150. package/dist/components/data-grid/data-grid.class.js.map +1 -0
  151. package/dist/components/data-grid/data-grid.d.ts +2 -0
  152. package/dist/components/data-grid/data-grid.d.ts.map +1 -0
  153. package/dist/components/data-grid/data-grid.js +5 -0
  154. package/dist/components/data-grid/data-grid.js.map +1 -0
  155. package/dist/components/data-grid/data-grid.styles.d.ts +2 -0
  156. package/dist/components/data-grid/data-grid.styles.d.ts.map +1 -0
  157. package/dist/components/data-grid/data-grid.styles.js +13 -0
  158. package/dist/components/data-grid/data-grid.styles.js.map +1 -0
  159. package/dist/components/dataset-viewer/dataset-viewer.class.d.ts.map +1 -1
  160. package/dist/components/dataset-viewer/dataset-viewer.class.js +14 -5
  161. package/dist/components/dataset-viewer/dataset-viewer.class.js.map +1 -1
  162. package/dist/components/dataset-viewer/dataset-viewer.d.ts +0 -1
  163. package/dist/components/dataset-viewer/dataset-viewer.d.ts.map +1 -1
  164. package/dist/components/dataset-viewer/dataset-viewer.js +0 -1
  165. package/dist/components/dataset-viewer/dataset-viewer.js.map +1 -1
  166. package/dist/components/date-picker/date-input.class.d.ts +36 -1
  167. package/dist/components/date-picker/date-input.class.d.ts.map +1 -1
  168. package/dist/components/date-picker/date-input.class.js +102 -26
  169. package/dist/components/date-picker/date-input.class.js.map +1 -1
  170. package/dist/components/date-picker/date-picker.class.d.ts.map +1 -1
  171. package/dist/components/date-picker/date-picker.class.js +13 -5
  172. package/dist/components/date-picker/date-picker.class.js.map +1 -1
  173. package/dist/components/date-picker/date-picker.styles.d.ts.map +1 -1
  174. package/dist/components/date-picker/date-picker.styles.js +5 -0
  175. package/dist/components/date-picker/date-picker.styles.js.map +1 -1
  176. package/dist/components/details/accordion.class.js +1 -1
  177. package/dist/components/details/accordion.class.js.map +1 -1
  178. package/dist/components/details/accordion.styles.d.ts +2 -0
  179. package/dist/components/details/accordion.styles.d.ts.map +1 -0
  180. package/dist/components/details/accordion.styles.js +7 -0
  181. package/dist/components/details/accordion.styles.js.map +1 -0
  182. package/dist/components/details/details.class.d.ts.map +1 -1
  183. package/dist/components/details/details.class.js +6 -1
  184. package/dist/components/details/details.class.js.map +1 -1
  185. package/dist/components/details/details.styles.d.ts.map +1 -1
  186. package/dist/components/details/details.styles.js +5 -0
  187. package/dist/components/details/details.styles.js.map +1 -1
  188. package/dist/components/diff-view/diff-view.class.d.ts +3 -1
  189. package/dist/components/diff-view/diff-view.class.d.ts.map +1 -1
  190. package/dist/components/diff-view/diff-view.class.js +11 -2
  191. package/dist/components/diff-view/diff-view.class.js.map +1 -1
  192. package/dist/components/document-preview/document-preview.class.d.ts +3 -6
  193. package/dist/components/document-preview/document-preview.class.d.ts.map +1 -1
  194. package/dist/components/document-preview/document-preview.class.js +19 -42
  195. package/dist/components/document-preview/document-preview.class.js.map +1 -1
  196. package/dist/components/document-viewer/document-viewer.class.d.ts +1 -0
  197. package/dist/components/document-viewer/document-viewer.class.d.ts.map +1 -1
  198. package/dist/components/document-viewer/document-viewer.class.js +1 -0
  199. package/dist/components/document-viewer/document-viewer.class.js.map +1 -1
  200. package/dist/components/docx-viewer/docx-viewer.class.d.ts +1 -0
  201. package/dist/components/docx-viewer/docx-viewer.class.d.ts.map +1 -1
  202. package/dist/components/docx-viewer/docx-viewer.class.js +2 -1
  203. package/dist/components/docx-viewer/docx-viewer.class.js.map +1 -1
  204. package/dist/components/drawer/drawer.styles.d.ts.map +1 -1
  205. package/dist/components/drawer/drawer.styles.js +12 -0
  206. package/dist/components/drawer/drawer.styles.js.map +1 -1
  207. package/dist/components/ebook-viewer/ebook-viewer.class.d.ts +1 -0
  208. package/dist/components/ebook-viewer/ebook-viewer.class.d.ts.map +1 -1
  209. package/dist/components/ebook-viewer/ebook-viewer.class.js +20 -0
  210. package/dist/components/ebook-viewer/ebook-viewer.class.js.map +1 -1
  211. package/dist/components/email-viewer/email-loader.js +5 -0
  212. package/dist/components/email-viewer/email-loader.js.map +1 -1
  213. package/dist/components/email-viewer/email-viewer.class.d.ts.map +1 -1
  214. package/dist/components/email-viewer/email-viewer.class.js +9 -0
  215. package/dist/components/email-viewer/email-viewer.class.js.map +1 -1
  216. package/dist/components/empty/empty.class.d.ts +2 -0
  217. package/dist/components/empty/empty.class.d.ts.map +1 -1
  218. package/dist/components/empty/empty.class.js +10 -2
  219. package/dist/components/empty/empty.class.js.map +1 -1
  220. package/dist/components/file-input/file-input.class.d.ts +10 -3
  221. package/dist/components/file-input/file-input.class.d.ts.map +1 -1
  222. package/dist/components/file-input/file-input.class.js +39 -6
  223. package/dist/components/file-input/file-input.class.js.map +1 -1
  224. package/dist/components/format/format-bytes.class.d.ts +1 -1
  225. package/dist/components/format/format-bytes.class.d.ts.map +1 -1
  226. package/dist/components/format/format-bytes.class.js +11 -8
  227. package/dist/components/format/format-bytes.class.js.map +1 -1
  228. package/dist/components/format/format-date.class.d.ts +0 -1
  229. package/dist/components/format/format-date.class.d.ts.map +1 -1
  230. package/dist/components/format/format-date.class.js +0 -4
  231. package/dist/components/format/format-date.class.js.map +1 -1
  232. package/dist/components/format/format-number.class.d.ts +0 -1
  233. package/dist/components/format/format-number.class.d.ts.map +1 -1
  234. package/dist/components/format/format-number.class.js +0 -4
  235. package/dist/components/format/format-number.class.js.map +1 -1
  236. package/dist/components/format/relative-time.class.d.ts +0 -1
  237. package/dist/components/format/relative-time.class.d.ts.map +1 -1
  238. package/dist/components/format/relative-time.class.js +0 -4
  239. package/dist/components/format/relative-time.class.js.map +1 -1
  240. package/dist/components/gauge/gauge.class.d.ts.map +1 -1
  241. package/dist/components/gauge/gauge.class.js +3 -3
  242. package/dist/components/gauge/gauge.class.js.map +1 -1
  243. package/dist/components/graph/graph.class.d.ts +6 -0
  244. package/dist/components/graph/graph.class.d.ts.map +1 -1
  245. package/dist/components/graph/graph.class.js +27 -1
  246. package/dist/components/graph/graph.class.js.map +1 -1
  247. package/dist/components/heatmap/calendar-grid.d.ts +5 -3
  248. package/dist/components/heatmap/calendar-grid.d.ts.map +1 -1
  249. package/dist/components/heatmap/calendar-grid.js +6 -4
  250. package/dist/components/heatmap/calendar-grid.js.map +1 -1
  251. package/dist/components/heatmap/heatmap.class.d.ts +9 -2
  252. package/dist/components/heatmap/heatmap.class.d.ts.map +1 -1
  253. package/dist/components/heatmap/heatmap.class.js +37 -23
  254. package/dist/components/heatmap/heatmap.class.js.map +1 -1
  255. package/dist/components/heatmap/heatmap.styles.d.ts.map +1 -1
  256. package/dist/components/heatmap/heatmap.styles.js +0 -3
  257. package/dist/components/heatmap/heatmap.styles.js.map +1 -1
  258. package/dist/components/html-viewer/dompurify-loader.js +4 -0
  259. package/dist/components/html-viewer/dompurify-loader.js.map +1 -1
  260. package/dist/components/html-viewer/html-viewer.class.d.ts +11 -1
  261. package/dist/components/html-viewer/html-viewer.class.d.ts.map +1 -1
  262. package/dist/components/html-viewer/html-viewer.class.js +11 -1
  263. package/dist/components/html-viewer/html-viewer.class.js.map +1 -1
  264. package/dist/components/icon/icon.class.d.ts +31 -0
  265. package/dist/components/icon/icon.class.d.ts.map +1 -0
  266. package/dist/components/icon/icon.class.js +100 -0
  267. package/dist/components/icon/icon.class.js.map +1 -0
  268. package/dist/components/icon/icon.d.ts +2 -0
  269. package/dist/components/icon/icon.d.ts.map +1 -0
  270. package/dist/components/icon/icon.js +5 -0
  271. package/dist/components/icon/icon.js.map +1 -0
  272. package/dist/components/icon/icon.styles.d.ts +2 -0
  273. package/dist/components/icon/icon.styles.d.ts.map +1 -0
  274. package/dist/components/icon/icon.styles.js +3 -0
  275. package/dist/components/icon/icon.styles.js.map +1 -0
  276. package/dist/components/icon-button/icon-button.class.d.ts +25 -0
  277. package/dist/components/icon-button/icon-button.class.d.ts.map +1 -0
  278. package/dist/components/icon-button/icon-button.class.js +51 -0
  279. package/dist/components/icon-button/icon-button.class.js.map +1 -0
  280. package/dist/components/icon-button/icon-button.d.ts +3 -0
  281. package/dist/components/icon-button/icon-button.d.ts.map +1 -0
  282. package/dist/components/icon-button/icon-button.js +6 -0
  283. package/dist/components/icon-button/icon-button.js.map +1 -0
  284. package/dist/components/icon-button/icon-button.styles.d.ts +2 -0
  285. package/dist/components/icon-button/icon-button.styles.d.ts.map +1 -0
  286. package/dist/components/icon-button/icon-button.styles.js +9 -0
  287. package/dist/components/icon-button/icon-button.styles.js.map +1 -0
  288. package/dist/components/image-comparer/image-comparer.styles.d.ts.map +1 -1
  289. package/dist/components/image-comparer/image-comparer.styles.js +30 -1
  290. package/dist/components/image-comparer/image-comparer.styles.js.map +1 -1
  291. package/dist/components/input/input.class.d.ts +4 -1
  292. package/dist/components/input/input.class.d.ts.map +1 -1
  293. package/dist/components/input/input.class.js +10 -4
  294. package/dist/components/input/input.class.js.map +1 -1
  295. package/dist/components/intersection-observer/intersection-observer.class.d.ts +0 -1
  296. package/dist/components/intersection-observer/intersection-observer.class.d.ts.map +1 -1
  297. package/dist/components/intersection-observer/intersection-observer.class.js +7 -6
  298. package/dist/components/intersection-observer/intersection-observer.class.js.map +1 -1
  299. package/dist/components/json-viewer/json-viewer.class.d.ts +13 -0
  300. package/dist/components/json-viewer/json-viewer.class.d.ts.map +1 -1
  301. package/dist/components/json-viewer/json-viewer.class.js +29 -7
  302. package/dist/components/json-viewer/json-viewer.class.js.map +1 -1
  303. package/dist/components/json-viewer/json-viewer.styles.d.ts.map +1 -1
  304. package/dist/components/json-viewer/json-viewer.styles.js +4 -1
  305. package/dist/components/json-viewer/json-viewer.styles.js.map +1 -1
  306. package/dist/components/map/map.class.d.ts +1 -1
  307. package/dist/components/map/map.class.js +1 -1
  308. package/dist/components/mention-popover/mention-popover.class.d.ts.map +1 -1
  309. package/dist/components/mention-popover/mention-popover.class.js +9 -0
  310. package/dist/components/mention-popover/mention-popover.class.js.map +1 -1
  311. package/dist/components/menu/menu.class.d.ts.map +1 -1
  312. package/dist/components/menu/menu.class.js +8 -0
  313. package/dist/components/menu/menu.class.js.map +1 -1
  314. package/dist/components/model-select/model-select.class.d.ts +1 -0
  315. package/dist/components/model-select/model-select.class.d.ts.map +1 -1
  316. package/dist/components/model-select/model-select.class.js +2 -1
  317. package/dist/components/model-select/model-select.class.js.map +1 -1
  318. package/dist/components/model-select/model-select.styles.js +1 -1
  319. package/dist/components/mutation-observer/mutation-observer.class.d.ts +1 -2
  320. package/dist/components/mutation-observer/mutation-observer.class.d.ts.map +1 -1
  321. package/dist/components/mutation-observer/mutation-observer.class.js +11 -13
  322. package/dist/components/mutation-observer/mutation-observer.class.js.map +1 -1
  323. package/dist/components/overlay/dropdown.class.d.ts +1 -2
  324. package/dist/components/overlay/dropdown.class.d.ts.map +1 -1
  325. package/dist/components/overlay/dropdown.class.js +1 -1
  326. package/dist/components/overlay/dropdown.class.js.map +1 -1
  327. package/dist/components/overlay/overlay.styles.d.ts.map +1 -1
  328. package/dist/components/overlay/overlay.styles.js +1 -2
  329. package/dist/components/overlay/overlay.styles.js.map +1 -1
  330. package/dist/components/overlay/popover.class.d.ts +2 -0
  331. package/dist/components/overlay/popover.class.d.ts.map +1 -1
  332. package/dist/components/overlay/popover.class.js +36 -10
  333. package/dist/components/overlay/popover.class.js.map +1 -1
  334. package/dist/components/overlay/tooltip.class.d.ts +7 -0
  335. package/dist/components/overlay/tooltip.class.d.ts.map +1 -1
  336. package/dist/components/overlay/tooltip.class.js +52 -5
  337. package/dist/components/overlay/tooltip.class.js.map +1 -1
  338. package/dist/components/pdf-viewer/pdf-viewer.class.d.ts +11 -0
  339. package/dist/components/pdf-viewer/pdf-viewer.class.d.ts.map +1 -1
  340. package/dist/components/pdf-viewer/pdf-viewer.class.js +38 -10
  341. package/dist/components/pdf-viewer/pdf-viewer.class.js.map +1 -1
  342. package/dist/components/pdf-viewer/pdf-viewer.styles.d.ts.map +1 -1
  343. package/dist/components/pdf-viewer/pdf-viewer.styles.js +27 -1
  344. package/dist/components/pdf-viewer/pdf-viewer.styles.js.map +1 -1
  345. package/dist/components/phone-input/phone-input.class.d.ts +22 -1
  346. package/dist/components/phone-input/phone-input.class.d.ts.map +1 -1
  347. package/dist/components/phone-input/phone-input.class.js +104 -14
  348. package/dist/components/phone-input/phone-input.class.js.map +1 -1
  349. package/dist/components/poll-status/poll-status.class.d.ts.map +1 -1
  350. package/dist/components/poll-status/poll-status.class.js +25 -9
  351. package/dist/components/poll-status/poll-status.class.js.map +1 -1
  352. package/dist/components/pptx-viewer/pptx-viewer.class.d.ts +1 -0
  353. package/dist/components/pptx-viewer/pptx-viewer.class.d.ts.map +1 -1
  354. package/dist/components/pptx-viewer/pptx-viewer.class.js +24 -0
  355. package/dist/components/pptx-viewer/pptx-viewer.class.js.map +1 -1
  356. package/dist/components/progress/progress-bar.class.js +1 -1
  357. package/dist/components/progress/progress-bar.class.js.map +1 -1
  358. package/dist/components/progress/progress.styles.d.ts.map +1 -1
  359. package/dist/components/progress/progress.styles.js +4 -2
  360. package/dist/components/progress/progress.styles.js.map +1 -1
  361. package/dist/components/radio/radio-group.class.d.ts +3 -0
  362. package/dist/components/radio/radio-group.class.d.ts.map +1 -1
  363. package/dist/components/radio/radio-group.class.js +22 -10
  364. package/dist/components/radio/radio-group.class.js.map +1 -1
  365. package/dist/components/radio/radio-group.styles.d.ts.map +1 -1
  366. package/dist/components/radio/radio-group.styles.js +1 -0
  367. package/dist/components/radio/radio-group.styles.js.map +1 -1
  368. package/dist/components/radio/radio.class.d.ts +10 -0
  369. package/dist/components/radio/radio.class.d.ts.map +1 -1
  370. package/dist/components/radio/radio.class.js +54 -4
  371. package/dist/components/radio/radio.class.js.map +1 -1
  372. package/dist/components/rating/rating.class.d.ts +6 -0
  373. package/dist/components/rating/rating.class.d.ts.map +1 -1
  374. package/dist/components/rating/rating.class.js +30 -3
  375. package/dist/components/rating/rating.class.js.map +1 -1
  376. package/dist/components/rating/rating.styles.d.ts.map +1 -1
  377. package/dist/components/rating/rating.styles.js +3 -2
  378. package/dist/components/rating/rating.styles.js.map +1 -1
  379. package/dist/components/resize-observer/resize-observer.class.d.ts.map +1 -1
  380. package/dist/components/resize-observer/resize-observer.class.js +20 -2
  381. package/dist/components/resize-observer/resize-observer.class.js.map +1 -1
  382. package/dist/components/responsive-panel/responsive-panel.class.d.ts +14 -5
  383. package/dist/components/responsive-panel/responsive-panel.class.d.ts.map +1 -1
  384. package/dist/components/responsive-panel/responsive-panel.class.js +18 -6
  385. package/dist/components/responsive-panel/responsive-panel.class.js.map +1 -1
  386. package/dist/components/result-card/result-card.class.d.ts +13 -3
  387. package/dist/components/result-card/result-card.class.d.ts.map +1 -1
  388. package/dist/components/result-card/result-card.class.js +31 -2
  389. package/dist/components/result-card/result-card.class.js.map +1 -1
  390. package/dist/components/scroller/scroller.class.d.ts +4 -0
  391. package/dist/components/scroller/scroller.class.d.ts.map +1 -1
  392. package/dist/components/scroller/scroller.class.js +22 -5
  393. package/dist/components/scroller/scroller.class.js.map +1 -1
  394. package/dist/components/segmented/segmented.class.d.ts.map +1 -1
  395. package/dist/components/segmented/segmented.class.js +11 -3
  396. package/dist/components/segmented/segmented.class.js.map +1 -1
  397. package/dist/components/segmented/segmented.styles.d.ts.map +1 -1
  398. package/dist/components/segmented/segmented.styles.js +8 -0
  399. package/dist/components/segmented/segmented.styles.js.map +1 -1
  400. package/dist/components/sparkline/sparkline.class.d.ts +2 -0
  401. package/dist/components/sparkline/sparkline.class.d.ts.map +1 -1
  402. package/dist/components/sparkline/sparkline.class.js +12 -7
  403. package/dist/components/sparkline/sparkline.class.js.map +1 -1
  404. package/dist/components/spinner/spinner.class.d.ts +3 -1
  405. package/dist/components/spinner/spinner.class.d.ts.map +1 -1
  406. package/dist/components/spinner/spinner.class.js +4 -2
  407. package/dist/components/spinner/spinner.class.js.map +1 -1
  408. package/dist/components/spinner/spinner.styles.d.ts.map +1 -1
  409. package/dist/components/spinner/spinner.styles.js +5 -1
  410. package/dist/components/spinner/spinner.styles.js.map +1 -1
  411. package/dist/components/split/split.class.d.ts.map +1 -1
  412. package/dist/components/split/split.class.js +9 -2
  413. package/dist/components/split/split.class.js.map +1 -1
  414. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +1 -1
  415. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.d.ts.map +1 -1
  416. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.js +2 -2
  417. package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.js.map +1 -1
  418. package/dist/components/stat/stat.styles.d.ts.map +1 -1
  419. package/dist/components/stat/stat.styles.js +9 -0
  420. package/dist/components/stat/stat.styles.js.map +1 -1
  421. package/dist/components/stepper/stepper.class.d.ts.map +1 -1
  422. package/dist/components/stepper/stepper.class.js +8 -2
  423. package/dist/components/stepper/stepper.class.js.map +1 -1
  424. package/dist/components/streaming-text/streaming-text.class.d.ts.map +1 -1
  425. package/dist/components/streaming-text/streaming-text.class.js +5 -5
  426. package/dist/components/streaming-text/streaming-text.class.js.map +1 -1
  427. package/dist/components/streaming-text/streaming-text.styles.d.ts.map +1 -1
  428. package/dist/components/streaming-text/streaming-text.styles.js +4 -1
  429. package/dist/components/streaming-text/streaming-text.styles.js.map +1 -1
  430. package/dist/components/svg-viewer/svg-viewer.class.d.ts +12 -1
  431. package/dist/components/svg-viewer/svg-viewer.class.d.ts.map +1 -1
  432. package/dist/components/svg-viewer/svg-viewer.class.js +12 -1
  433. package/dist/components/svg-viewer/svg-viewer.class.js.map +1 -1
  434. package/dist/components/svg-viewer/svg-viewer.styles.d.ts.map +1 -1
  435. package/dist/components/svg-viewer/svg-viewer.styles.js +6 -0
  436. package/dist/components/svg-viewer/svg-viewer.styles.js.map +1 -1
  437. package/dist/components/switch/switch.class.d.ts +13 -0
  438. package/dist/components/switch/switch.class.d.ts.map +1 -1
  439. package/dist/components/switch/switch.class.js +29 -0
  440. package/dist/components/switch/switch.class.js.map +1 -1
  441. package/dist/components/table/table.class.d.ts +25 -2
  442. package/dist/components/table/table.class.d.ts.map +1 -1
  443. package/dist/components/table/table.class.js +99 -8
  444. package/dist/components/table/table.class.js.map +1 -1
  445. package/dist/components/table/table.styles.d.ts.map +1 -1
  446. package/dist/components/table/table.styles.js +18 -1
  447. package/dist/components/table/table.styles.js.map +1 -1
  448. package/dist/components/textarea/textarea.class.d.ts +1 -0
  449. package/dist/components/textarea/textarea.class.d.ts.map +1 -1
  450. package/dist/components/textarea/textarea.class.js +12 -0
  451. package/dist/components/textarea/textarea.class.js.map +1 -1
  452. package/dist/components/thinking-panel/thinking-panel.styles.d.ts.map +1 -1
  453. package/dist/components/thinking-panel/thinking-panel.styles.js +11 -1
  454. package/dist/components/thinking-panel/thinking-panel.styles.js.map +1 -1
  455. package/dist/components/time-range/time-range.styles.js +1 -1
  456. package/dist/components/token-input/token-input.class.d.ts +103 -0
  457. package/dist/components/token-input/token-input.class.d.ts.map +1 -0
  458. package/dist/components/token-input/token-input.class.js +223 -0
  459. package/dist/components/token-input/token-input.class.js.map +1 -0
  460. package/dist/components/token-input/token-input.d.ts +2 -0
  461. package/dist/components/token-input/token-input.d.ts.map +1 -0
  462. package/dist/components/token-input/token-input.js +5 -0
  463. package/dist/components/token-input/token-input.js.map +1 -0
  464. package/dist/components/token-input/token-input.styles.d.ts +2 -0
  465. package/dist/components/token-input/token-input.styles.d.ts.map +1 -0
  466. package/dist/components/token-input/token-input.styles.js +16 -0
  467. package/dist/components/token-input/token-input.styles.js.map +1 -0
  468. package/dist/components/tool-param-form/tool-param-form.class.d.ts.map +1 -1
  469. package/dist/components/tool-param-form/tool-param-form.class.js +2 -1
  470. package/dist/components/tool-param-form/tool-param-form.class.js.map +1 -1
  471. package/dist/components/tool-result-view/tool-result-view.styles.d.ts.map +1 -1
  472. package/dist/components/tool-result-view/tool-result-view.styles.js +6 -1
  473. package/dist/components/tool-result-view/tool-result-view.styles.js.map +1 -1
  474. package/dist/components/tool-select-dialog/tool-select-dialog.class.d.ts +4 -0
  475. package/dist/components/tool-select-dialog/tool-select-dialog.class.d.ts.map +1 -1
  476. package/dist/components/tool-select-dialog/tool-select-dialog.class.js +28 -2
  477. package/dist/components/tool-select-dialog/tool-select-dialog.class.js.map +1 -1
  478. package/dist/components/widget/widget.class.d.ts +7 -0
  479. package/dist/components/widget/widget.class.d.ts.map +1 -1
  480. package/dist/components/widget/widget.class.js +21 -10
  481. package/dist/components/widget/widget.class.js.map +1 -1
  482. package/dist/components/widget/widget.styles.d.ts.map +1 -1
  483. package/dist/components/widget/widget.styles.js +16 -0
  484. package/dist/components/widget/widget.styles.js.map +1 -1
  485. package/dist/components/word-cloud/word-cloud.class.d.ts +8 -1
  486. package/dist/components/word-cloud/word-cloud.class.d.ts.map +1 -1
  487. package/dist/components/word-cloud/word-cloud.class.js +24 -8
  488. package/dist/components/word-cloud/word-cloud.class.js.map +1 -1
  489. package/dist/components/word-cloud/word-cloud.styles.d.ts.map +1 -1
  490. package/dist/components/word-cloud/word-cloud.styles.js +7 -4
  491. package/dist/components/word-cloud/word-cloud.styles.js.map +1 -1
  492. package/dist/components/zoomable-frame/zoomable-frame.class.d.ts.map +1 -1
  493. package/dist/components/zoomable-frame/zoomable-frame.class.js +3 -2
  494. package/dist/components/zoomable-frame/zoomable-frame.class.js.map +1 -1
  495. package/dist/internal/localization.d.ts +1 -1
  496. package/dist/internal/localization.d.ts.map +1 -1
  497. package/dist/internal/localization.js +26 -14
  498. package/dist/internal/localization.js.map +1 -1
  499. package/dist/internal/papaparse-loader.d.ts +15 -0
  500. package/dist/internal/papaparse-loader.d.ts.map +1 -0
  501. package/dist/internal/papaparse-loader.js +28 -0
  502. package/dist/internal/papaparse-loader.js.map +1 -0
  503. package/dist/internal/root-registration-allowlist.d.ts +1 -1
  504. package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
  505. package/dist/internal/root-registration-allowlist.js +8 -0
  506. package/dist/internal/root-registration-allowlist.js.map +1 -1
  507. package/dist/internal/tokens.styles.d.ts.map +1 -1
  508. package/dist/internal/tokens.styles.js +3 -10
  509. package/dist/internal/tokens.styles.js.map +1 -1
  510. package/dist/lyra.d.ts +22 -0
  511. package/dist/lyra.d.ts.map +1 -1
  512. package/dist/lyra.js +16 -0
  513. package/dist/lyra.js.map +1 -1
  514. package/llms-full.txt +190 -60
  515. package/package.json +20 -2
  516. package/dist/components/csv-viewer/csv-loader.d.ts +0 -8
  517. package/dist/components/csv-viewer/csv-loader.d.ts.map +0 -1
  518. package/dist/components/csv-viewer/csv-loader.js +0 -19
  519. package/dist/components/csv-viewer/csv-loader.js.map +0 -1
  520. package/dist/components/dataset-viewer/dataset-loader.d.ts +0 -7
  521. package/dist/components/dataset-viewer/dataset-loader.d.ts.map +0 -1
  522. package/dist/components/dataset-viewer/dataset-loader.js +0 -19
  523. package/dist/components/dataset-viewer/dataset-loader.js.map +0 -1
package/llms-full.txt CHANGED
@@ -531,6 +531,10 @@ Text field + calendar popover, **form-associated** via the shared `FormAssociate
531
531
  **Properties (own, continued):**
532
532
  - `errorText: string = ''` (attribute `error-text` — static error copy; overridden by slotted
533
533
  `error` content when provided)
534
+ - `accessibleLabel: string | null = null` (attribute `aria-label`) — overrides the internal
535
+ `<input>`'s computed accessible name; wins over `label`/`placeholder`/the localized `date`
536
+ fallback in that order. Attribute-reflects from a host-level `aria-label` so a plain-markup
537
+ consumer gets ARIA-name forwarding without setting a JS property.
534
538
  - `clearLabel: string = 'Clear'` (attribute `clear-label` — accessible label for the clear button)
535
539
  - `openLabel: string = 'Open calendar'` (attribute `open-label` — accessible label for the
536
540
  calendar-toggle button)
@@ -547,7 +551,15 @@ Text field + calendar popover, **form-associated** via the shared `FormAssociate
547
551
  - `autocomplete: string = ''`, `inputMode: string = ''` (`inputmode`), and `enterKeyHint: string = ''`
548
552
  (`enterkeyhint`) — forwarded to the internal `<input>`.
549
553
 
550
- **Methods:** `show()`, `hide()`, `clear()`
554
+ **Methods:** `show()`, `hide()`, `clear()`, `focus(options?)`, `blur()`, `select()`,
555
+ `setSelectionRange()`, `setRangeText()` (all of the focus/selection methods forward to the internal
556
+ native date `<input>`).
557
+
558
+ **Getters:** `input: HTMLInputElement | undefined` — the internal native `<input>`, for direct DOM
559
+ access.
560
+
561
+ **Selection properties:** `selectionStart`, `selectionEnd`, and `selectionDirection` mirror the
562
+ internal native date input.
551
563
 
552
564
  **Events:** `input`, `change`, `lyra-show`, `lyra-hide`, `lyra-clear`, `blur` (re-dispatched from
553
565
  the internal `<input>`'s own `blur`, bubbling and composed unlike the native event), `focus`
@@ -787,7 +799,7 @@ form-associated via the same `FormAssociated` mixin as `lyra-textarea`. Ships th
787
799
  `size` scale as `lyra-select`/`lyra-combobox`.
788
800
 
789
801
  **Properties:**
790
- - `type: 'text' | 'password' | 'email' | 'number' = 'text'`
802
+ - `type: 'text' | 'password' | 'email' | 'number' | 'time' = 'text'`
791
803
  - `size: 'xs' | 's' | 'm' | 'l' | 'xl' = 'm'` (reflected)
792
804
  - `value: string = ''` (from `FormAssociated`)
793
805
  - `placeholder: string = ''`
@@ -799,10 +811,14 @@ form-associated via the same `FormAssociated` mixin as `lyra-textarea`. Ships th
799
811
  - `spellcheck: boolean = true` — forwarded to the native input, including `spellcheck="false"`
800
812
  - `autocapitalize: string = ''` / `autoCorrect: string = ''`
801
813
  - `inputMode: string = ''` / `enterKeyHint: string = ''`
802
- - `min?: number` / `max?: number` / `step?: number` (attribute: false — `type="number"` only)
814
+ - `min?: number` / `max?: number` (attributes `min`/`max`) / `step?: number | 'any'` (attribute
815
+ `step`, accepts the native `'any'` value alongside a number) — `type="number"` only
803
816
  - `passwordVisible: boolean = false` (attribute `password-visible` — `type="password"` only)
804
817
  - `name`/`disabled`/`required` (from `FormAssociated`)
805
818
 
819
+ **Getters/methods:** `input: HTMLInputElement | null` (the internal native `<input>`, for direct DOM
820
+ access), `focus(options?: FocusOptions)`, `blur()`, `select()`.
821
+
806
822
  **Events:** native-style composed `input` and `change`, plus `lyra-input` (`detail: { value }`,
807
823
  fired on every user-driven edit) and `lyra-change` (`detail: { value }`, fired on the native
808
824
  `change` timing), `blur`/`focus` (re-dispatched bubbling + composed from the internal native input's
@@ -896,6 +912,11 @@ interface PhoneNumberAdapter {
896
912
  - `label: string = ''`, `hint: string = ''`, `errorText: string = ''` (attribute `error-text`) —
897
913
  visible form-field chrome; each has a matching named slot.
898
914
  - `placeholder: string = ''` — forwarded to the native telephone input.
915
+ - `spellcheck: boolean = true`, `autocapitalize: string = ''`, `autoCorrect: string = ''`
916
+ (attribute `autocorrect`) — forwarded to the internal telephone input's own `spellcheck`/
917
+ `autocapitalize`/`autocorrect`; `spellcheck="false"` is parsed as `false` via a string-aware
918
+ converter (Lit's default presence-based boolean converter would otherwise treat any attribute
919
+ value, including the literal string `"false"`, as `true`).
899
920
  - `accessibleLabel: string | null = null` (attribute `aria-label`) — forwarded to the internal
900
921
  telephone input. Name precedence is host `aria-label`, `phoneLabel`, visible `label`, then
901
922
  `placeholder`.
@@ -1120,8 +1141,10 @@ Zero-dependency inline SVG trend chart (mirrors `<wa-sparkline>`).
1120
1141
 
1121
1142
  **CSS parts:** `line`, `area`, `bar`
1122
1143
 
1123
- **Themeable custom properties:** `--lyra-color-brand` only the single cleanest theming story in
1124
- the reviewed family (pure CSS cascade, no JS/`getComputedStyle` bridging needed).
1144
+ **Themeable custom properties:** `--lyra-color-brand` (pure CSS cascade, no JS/`getComputedStyle`
1145
+ bridging needed), `--lyra-sparkline-stroke-width` (default `1.5` stroke width of the line/area
1146
+ path), and `--lyra-sparkline-area-opacity` (default `0.15` — fill opacity of the area under the
1147
+ line, `type="area"` only).
1125
1148
 
1126
1149
  **Optional peer deps:** none.
1127
1150
 
@@ -1282,7 +1305,8 @@ attribute), `description` (rich description content, overrides the `description`
1282
1305
  **CSS parts:** `base`, `icon`, `heading`, `description`, `actions`
1283
1306
 
1284
1307
  **Themeable custom properties:** `--lyra-empty-compact-align` (compact mode only; defaults preserve
1285
- the existing `flex-start` cross-axis and `start` text alignment, and `center` centers both), plus
1308
+ the existing `flex-start` cross-axis and `start` text alignment, and `center` centers both),
1309
+ `--lyra-empty-compact-padding` (default `--lyra-space-xs` — padding used in compact mode), plus
1286
1310
  shared tokens (`--lyra-space-xs/-s/-l`, `--lyra-color-text-quiet/-border/-text`).
1287
1311
 
1288
1312
  **Optional peer deps:** none.
@@ -1471,6 +1495,12 @@ and loading chrome are built in while remaining controlled at the public API bou
1471
1495
  filter field; when omitted, rows are matched against their JSON representation
1472
1496
  - `filterLabel: string = ''` (attribute `filter-label`) and `filterPlaceholder: string = ''`
1473
1497
  (attribute `filter-placeholder`) — optional localized-label overrides
1498
+ - `spellcheck: boolean = true`, `autocapitalize: string = ''`, `autoCorrect: string = ''`
1499
+ (attribute `autocorrect`) — forwarded to the filter input and, for a `'text'` (the default)
1500
+ `editType`, the inline cell editor; no effect on a `'number'` cell editor. `spellcheck="false"`
1501
+ is parsed as `false` via a string-aware converter (Lit's default presence-based boolean
1502
+ converter would otherwise treat any attribute value, including the literal string `"false"`, as
1503
+ `true`).
1474
1504
  - `loading: boolean = false` (attribute `loading`, reflected) and `loadingLabel: string = ''`
1475
1505
  (attribute `loading-label`) — renders a busy spinner and suppresses the grid while loading
1476
1506
  - `pageSize: number = 0` (attribute `page-size`) — positive values enable controlled pagination;
@@ -1978,6 +2008,8 @@ position) survives the transition.
1978
2008
  - `activeView: string = ''` (attribute: false) — the currently active view's `id`; defaults to the
1979
2009
  first entry of `views` (or `''` when `views` is empty). Settable directly to control the active
1980
2010
  view externally; also updated internally when a view toggle is clicked.
2011
+ - `accessibleLabel: string = ''` (attribute `aria-label`) — overrides the label-derived fullscreen
2012
+ dialog name.
1981
2013
 
1982
2014
  **Events:** `lyra-collapse-change` (`detail: boolean`, the new `collapsed` state),
1983
2015
  `lyra-fullscreen-change` (`detail: boolean`, the new `fullscreen` state — also fired when fullscreen
@@ -2753,9 +2785,9 @@ the escape hatch for a consumer's own theme-toggle handler to call when it flips
2753
2785
  a data point/segment, for any chart type, not just bar; `detail: { datasetIndex: number, index:
2754
2786
  number, label: string | undefined, value: unknown }`)
2755
2787
 
2756
- **Slots:** none.
2788
+ **Slots:** `data-table` — an optional consumer-provided accessible table alternative.
2757
2789
 
2758
- **CSS parts:** `base`, `canvas`, `reset-zoom-button`
2790
+ **CSS parts:** `base`, `canvas`, `reset-zoom-button`, `description`, `data-table`
2759
2791
 
2760
2792
  **Themeable custom properties:** `--lyra-chart-height` (set programmatically on the host from the
2761
2793
  `height` property — must be read from the host, not a shadow-tree descendant, since custom
@@ -2903,20 +2935,17 @@ focused). `detail: { datasetIndex: number, index: number, label: string | undefi
2903
2935
  The axis gutter/title and y-axis labels mirror to logical start under RTL. Built-in mark summaries
2904
2936
  are complete localized templates and format values with `effectiveLocale`.
2905
2937
 
2906
- **Performance:** rendering is `IntersectionObserver`-gated and content-signature-memoized `render()`
2907
- skips recomputing the grid/marks (and reuses the previous `TemplateResult`) while the host is scrolled
2908
- off-screen, or when none of the content-affecting properties (`type`, `labels`, `datasets`, `legend`,
2909
- `xLabel`, `yLabel`, `beginAtZero`, `stacked`, `layout`, `barWidth`, `maxLabels`, or the measured plot
2910
- size) have changed since the last render. A `tickFormat`/`barX` identity change alone (with everything
2911
- else unchanged) does not force a redraw — in practice both are stable across a component's lifetime,
2912
- and any data change that would make a different output visible already changes `datasets`/`labels`
2913
- too.
2938
+ **Performance:** `render()` recomputes the grid/marks on every update rather than memoizing against a
2939
+ content signature `datasets`/`labels` can hold callbacks (`tickFormat`, `barX`) or arbitrary,
2940
+ possibly circular or BigInt-bearing application data that a fingerprint can't serialize safely, so a
2941
+ fresh, small SVG render is cheaper and more correct than a lossy cache.
2914
2942
 
2915
2943
  **Slots:** none.
2916
2944
 
2917
2945
  **CSS parts:** `base`, `grid-line`, `axis-label`, `axis-title`, `bar` (each bar rect; carries
2918
2946
  `data-selected` when its category index is in `selectedIndex`), `line`, `point`, `legend`,
2919
- `legend-item`, `legend-swatch`.
2947
+ `legend-item`, `legend-swatch`, `live-region` (the current mark announcement for keyboard users),
2948
+ `data-list` (a visually hidden list of all plotted data points).
2920
2949
 
2921
2950
  **Themeable custom properties:** `--lyra-chart-height` (same host-level property as `lyra-chart`);
2922
2951
  `--lyra-chart-grid-color`, `--lyra-chart-tick-color`, `--lyra-chart-legend-color` — same token
@@ -3042,12 +3071,12 @@ browser). Does **not** extend `LyraChart` — a deliberately bespoke API.
3042
3071
 
3043
3072
  **Events:** none.
3044
3073
 
3045
- **Slots:** none.
3074
+ **Slots:** `data-table` — an optional consumer-provided accessible table alternative.
3046
3075
 
3047
- **CSS parts:** `base`, `canvas`
3076
+ **CSS parts:** `base`, `canvas`, `description`, `data-table`
3048
3077
 
3049
- **Themeable custom properties:** `--lyra-chart-height` (same mechanism as `lyra-chart`; styles file
3050
- is a re-export of `chart.styles.ts`).
3078
+ **Themeable custom properties:** `--lyra-chart-height` same host-level mechanism and token name
3079
+ as `lyra-chart`, but its own stylesheet (not a re-export).
3051
3080
 
3052
3081
  **Optional peer deps:** `@sgratzl/chartjs-chart-boxplot` (plus `chart.js` transitively, loaded
3053
3082
  independently of the base `chart-loader.ts`).
@@ -3067,8 +3096,8 @@ independently of the base `chart-loader.ts`).
3067
3096
  - Chart.js receives `effectiveLocale`; generated numeric summaries use it, the y axis moves to
3068
3097
  logical start in RTL, canvas tooltip/axis colors are token-driven, and animation is disabled
3069
3098
  under reduced motion.
3070
- - The peer-dependency-missing failure path (`.catch()` warn + resolve `null`) is untested —
3071
- verify it manually if shipping without the peer installed.
3099
+ - If `@sgratzl/chartjs-chart-boxplot` fails to load, the component warns to the console and
3100
+ resolves to no chart rather than throwing.
3072
3101
 
3073
3102
  ---
3074
3103
 
@@ -3190,6 +3219,8 @@ parsing (that's left entirely to the host).
3190
3219
  - `forbiddenMimeTypes: string[] = []` (attribute: false) — exact MIME-string denylist, checked
3191
3220
  **before** (and takes precedence over) `allowedMimeTypes`
3192
3221
  - `maxFileSize: number = 0` (attribute `max-file-size` — bytes; `0` disables the check)
3222
+ - `directory: boolean = false` (reflected) — enables native directory selection where supported
3223
+ - `paste: boolean = true` (reflected) — accepts files pasted into the dropzone
3193
3224
  - `label: string = 'Drop files here or click to browse'`
3194
3225
  - `accessibleLabel: string = ''` (attribute `aria-label`) — overrides `label` as the internal
3195
3226
  dropzone/button accessible name without changing visible copy
@@ -3202,10 +3233,12 @@ parsing (that's left entirely to the host).
3202
3233
  forwards to the interactive dropzone.
3203
3234
 
3204
3235
  **Events:** `lyra-files` (`detail: { files: File[], rejected: RejectedFile[] }`, fired on both drop
3205
- and manual file-picker selection) — `RejectedFile = { file: File; reason: 'type' | 'count' | 'size'
3236
+ and manual file-picker selection) — `RejectedFile = { file: File; reason: 'type' | 'count' | 'size' | 'directory'
3206
3237
  }`: `'type'` from `accept`/`allowedMimeTypes`/`forbiddenMimeTypes`, `'count'` when a single-file
3207
3238
  input (`multiple` unset) receives more than one file (in which case *all* files are rejected, none
3208
- accepted), `'size'` from `maxFileSize`.
3239
+ accepted), `'size'` from `maxFileSize`, or `'directory'` for a dropped folder. `focus`/`blur` fire
3240
+ when the semantic dropzone (the actual keyboard-focusable element, not the hidden native `<input>`)
3241
+ gains/loses focus.
3209
3242
 
3210
3243
  **Slots:** default slot — custom dropzone content, overrides the `label` attribute text when
3211
3244
  provided. The accessible name always comes from `label` regardless, so icon-only slot content still
@@ -3413,7 +3446,8 @@ detail object.
3413
3446
 
3414
3447
  **Slots:** default scrollable content.
3415
3448
 
3416
- **CSS parts:** `base`, `viewport`, `content`, `previous`, and `next`.
3449
+ **CSS parts:** `base`, `viewport`, `content`, `previous`, `next`, `control` (shared by `previous` and
3450
+ `next`), and `previous-glyph`/`next-glyph` (the chevron inside each, mirrored under RTL).
3417
3451
 
3418
3452
  ```html
3419
3453
  <lyra-scroller controls label="Project cards">
@@ -3719,7 +3753,9 @@ convention).
3719
3753
 
3720
3754
  **Properties:**
3721
3755
  - `steps: StepItem[] = []` (attribute: false) — `StepItem { id: string; label: string; state:
3722
- 'pending' | 'current' | 'completed' | 'disabled' | 'error' }`; never mutated by this component.
3756
+ 'pending' | 'current' | 'completed' | 'disabled' | 'error'; title?: string }`; `title` is an
3757
+ optional native tooltip for the step's button (e.g. explaining why a `disabled` step is locked) —
3758
+ omit it for no `title` attribute at all, not an empty string. Never mutated by this component.
3723
3759
  Empty (the default) renders nothing.
3724
3760
  - `orientation: 'horizontal' | 'vertical' = 'horizontal'` (reflected) — `'horizontal'` (the default)
3725
3761
  lays steps out in a row (Left/Right, RTL-aware, navigate); `'vertical'` stacks them (Up/Down
@@ -3915,6 +3951,8 @@ control's visible, clickable label (same as `<lyra-checkbox>`).
3915
3951
  **Events:** `lyra-change` (`detail: { checked: boolean }`) — fired on a user toggle (click or
3916
3952
  Space/Enter); not fired for a programmatic `.checked` assignment.
3917
3953
 
3954
+ **Methods:** `focus(options?)` and `blur()` forward to the internal switch control.
3955
+
3918
3956
  **Slots:**
3919
3957
  - default — label text, rendered next to the track. Clicking it toggles the switch, the same as
3920
3958
  clicking a checkbox's associated `<label>`. If left empty, set `aria-label` on the host so the
@@ -3985,7 +4023,9 @@ stack overflow on cyclic `data`.
3985
4023
  **Events:** `lyra-copy` (`detail: { text: string }`) — fired by the top-level copy button or a
3986
4024
  per-node one. Fires even when `navigator.clipboard` is unavailable or the write silently failed
3987
4025
  (a rejected `writeText()` is swallowed), so a consumer can still observe copy *intent* — the event
3988
- is not a confirmation that the OS clipboard was actually reached.
4026
+ is not a confirmation that the OS clipboard was actually reached. Copying a circular `data` value
4027
+ serializes safely, substituting the same `Circular reference` marker the tree view renders, instead
4028
+ of throwing.
3989
4029
 
3990
4030
  **Slots:** none — the tree is rendered entirely from `data`.
3991
4031
 
@@ -4452,13 +4492,15 @@ the built-in glyph for the current `status` is used)
4452
4492
  `summary`), `category`, `name`, `summary`, `meta` (wrapper around `status-text` and `duration`),
4453
4493
  `status-text`, `duration`, `tooltip` (the floating detail popup, only meaningful while open)
4454
4494
 
4455
- **Themeable custom properties:** no component-specific custom properties (per-status accent/
4456
- background/border are internal `--lyra-tool-call-chip-*` variables swapped by `:host([status])`
4457
- rules, not part of the public theming API); shared tokens referenced: `--lyra-color-text-quiet`,
4458
- `--lyra-color-surface`, `--lyra-color-border`, `--lyra-color-brand`/`-brand-quiet`,
4459
- `--lyra-color-success`/`-success-quiet`, `--lyra-color-danger`/`-danger-quiet`,
4460
- `--lyra-color-warning`/`-warning-quiet`, `--lyra-color-text`, `--lyra-space-xs/-s/-m`, `--lyra-radius`,
4461
- `--lyra-shadow`, `--lyra-focus-ring-*`, `--lyra-transition-fast`.
4495
+ **Themeable custom properties:** `--lyra-tool-call-chip-spin` (default `1s linear` — running-icon
4496
+ animation duration/timing) and `--lyra-transition-ambient` (default `1.8s ease-in-out` — pending-icon
4497
+ pulse duration/timing); the per-status accent/background/border are internal `--lyra-tool-call-chip-*`
4498
+ variables swapped by `:host([status])` rules, not part of the public theming API. Shared tokens
4499
+ referenced: `--lyra-color-text-quiet`, `--lyra-color-surface`, `--lyra-color-border`,
4500
+ `--lyra-color-brand`/`-brand-quiet`, `--lyra-color-success`/`-success-quiet`,
4501
+ `--lyra-color-danger`/`-danger-quiet`, `--lyra-color-warning`/`-warning-quiet`, `--lyra-color-text`,
4502
+ `--lyra-space-xs/-s/-m`, `--lyra-radius`, `--lyra-shadow`, `--lyra-focus-ring-*`,
4503
+ `--lyra-transition-fast`.
4462
4504
 
4463
4505
  **Optional peer deps:** none.
4464
4506
 
@@ -5186,8 +5228,10 @@ invention (no Web Awesome equivalent).
5186
5228
  which is only a safe identity while `items` never reorders/inserts/removes — provide this whenever
5187
5229
  possible, or scroll position and per-row DOM state (e.g. an `<audio>` element's playback position)
5188
5230
  can attach to the wrong row across a mutation.
5189
- - `groups?: VirtualListGroup[]` (attribute: false) — accepted for compatibility but **not currently
5190
- read or rendered** every row still renders flat, in `items` order.
5231
+ - `groups?: VirtualListGroup[]` (attribute: false) — renders a labeled `role="heading"` marker at each
5232
+ group's `startIndex`, positioned independently of the row window (so it stays in place as its rows
5233
+ scroll past). Groups are sorted by `startIndex`; a `startIndex` that's non-integer, out of range, or
5234
+ a duplicate of an earlier group's is silently dropped rather than rendered wrong.
5191
5235
  - `rowHeight: string = 'auto'` (attribute `row-height`) — `'auto'` measures each row's real height via
5192
5236
  `ResizeObserver`; a numeric string (e.g. `"56"`) fixes every row to that many pixels. Anything else
5193
5237
  (non-numeric, zero, negative, non-finite) silently falls back to `'auto'` rather than throwing.
@@ -5195,16 +5239,17 @@ invention (no Web Awesome equivalent).
5195
5239
  values are floored and clamped to 0–100, while non-finite values use the default 6, so an invalid
5196
5240
  runtime value cannot disable windowing and render the entire collection.
5197
5241
  - `activeId: string = ''` (attribute `active-id`) — when set and it matches a row's `keyFunction`
5198
- result (compared as a string), that row is smoothly scrolled into view whenever this changes, and
5199
- rendered with `aria-current="true"`.
5242
+ result (compared with `Object.is` against the typed value attribute values arrive as strings, so
5243
+ assign the property directly for a numeric key), that row is smoothly scrolled into view whenever
5244
+ this changes, and rendered with `aria-current="true"`.
5200
5245
  - `loading: boolean = false` (reflected) — sets `aria-busy` on the scroll container and a `cursor:
5201
5246
  progress` style; does not by itself gate `lyra-load-more` (see below).
5202
5247
  - `hasMore: boolean = false` (attribute `has-more`, reflected) — when true, scrolling near the bottom
5203
5248
  fires `lyra-load-more` (gated by `loading`).
5204
5249
 
5205
5250
  **Exported types:** `VirtualListRange { start: number; end: number }` (the `lyra-visible-range-changed`
5206
- detail shape); `VirtualListGroup { key: string | number; label?: string; startIndex: number }` — an
5207
- accepted grouping shape that the list does not currently render.
5251
+ detail shape); `VirtualListGroup { key: string | number; label?: string; startIndex: number }` — the
5252
+ shape consumed by `groups` above.
5208
5253
  The package root also exports `groupByRecency(items, options?)`, a DOM-free helper that returns
5209
5254
  non-empty Today/Yesterday/Previous 7 Days/Older buckets, preserves input order within each bucket,
5210
5255
  and accepts a timestamp extractor, reference date, and label overrides.
@@ -5219,7 +5264,8 @@ current visible, non-overscanned item index range — fired only when it actuall
5219
5264
 
5220
5265
  **CSS parts:** `base` (the scrollable container, `role="list"`, `tabindex="0"`), `spacer` (the
5221
5266
  full-content-height inner element establishing true scroll extent), `row` (one rendered row's
5222
- absolutely-positioned wrapper, `role="listitem"`)
5267
+ absolutely-positioned wrapper, `role="listitem"`), `group` (a `groups` entry's positioned
5268
+ `role="heading"` marker)
5223
5269
 
5224
5270
  **Themeable custom properties:** `--lyra-virtual-list-height` (default `24rem` — the host's bounded
5225
5271
  scroll extent; component-specific since a virtualized list is meaningless without a sized viewport),
@@ -5619,6 +5665,9 @@ shared overlay stack. First-party invention (no Web Awesome equivalent).
5619
5665
  - `useDefaults: boolean = false` (attribute `use-defaults`, reflected) — whether the conversation is
5620
5666
  using the default tool set (`true`) or a custom selection (`false`).
5621
5667
  - `label: string = 'Select tools'` — the dialog's visible heading and accessible name.
5668
+ - `accessibleLabel: string | null = null` (attribute `aria-label`) — overrides the dialog panel's
5669
+ accessible name, taking precedence over the visible `label` heading; mirrors `<lyra-dialog>`'s
5670
+ own host-`aria-label` override pattern.
5622
5671
  - `searchPlaceholder: string = 'Search tools…'` (attribute `search-placeholder`)
5623
5672
  - `filter: ToolSelectFilter | null = null` (attribute: false) — overrides the built-in
5624
5673
  case-insensitive name/description substring match.
@@ -7037,7 +7086,7 @@ set `valid: false` while `formError`, rather than a fabricated field key, carrie
7037
7086
 
7038
7087
  **Slots:** none.
7039
7088
 
7040
- **CSS parts:** `base`, `field`, `label`, `description`, `error`
7089
+ **CSS parts:** `base`, `field`, `label`, `description`, `error`, `unsupported`, `empty`
7041
7090
 
7042
7091
  **Themeable custom properties:** no component-specific custom properties; shared tokens only —
7043
7092
  `--lyra-space-l/-xs/-s`, `--lyra-color-border`, `--lyra-radius`, `--lyra-color-surface`,
@@ -7295,7 +7344,14 @@ already follow.
7295
7344
  since the remove button already nests inside `[part='base']` — a focusable descendant of a
7296
7345
  `role="button"` ancestor isn't allowed there, and this component's two real use cases (a
7297
7346
  chart-series visibility toggle, a category filter chip) never need both at once. `false` (the
7298
- default) reproduces the exact passive-label-pill output.
7347
+ default, with `toggleable` also left at its default) reproduces the exact passive-label-pill
7348
+ output.
7349
+ - `toggleable: boolean = false` (reflected) — explicit opt-in into `selected`'s toggle/pressed
7350
+ interactive mode, independent of `selected`'s own current value. Setting `selected` to `true` at
7351
+ any point opts in automatically and keeps `toggleable` `true` from then on (enough for a chip that
7352
+ starts already pressed) — set `toggleable` directly instead for a chip that must be clickable from
7353
+ the outset while starting **unselected**, e.g. an initially-inactive category filter chip, since
7354
+ `selected`'s own default (`false`) can't otherwise be distinguished from "never opted in".
7299
7355
  - `value?: string` — opaque consumer bookkeeping value, never read, validated, or rendered by this
7300
7356
  component itself, only ever echoed back verbatim (including `undefined` if never set) in
7301
7357
  `lyra-remove`'s detail
@@ -7936,12 +7992,13 @@ Remote resources are capped at 25 MB; exceeding it surfaces the localized
7936
7992
  ## `lyra-archive-viewer`
7937
7993
 
7938
7994
  Lists entry names and human-readable uncompressed sizes inside a `.zip` archive using the optional
7939
- `jszip` peer. It is listing-only: entry content is never rendered or previewed. Files are measured
7940
- through JSZip's public async API, so every file is decompressed once up front to obtain its size;
7941
- there is no cheaper public uncompressed-size API. The list composes `<lyra-virtual-list>` for large
7942
- archives.
7995
+ `jszip` peer. It is listing-only: entry content is never rendered or previewed. Each entry's size is
7996
+ read straight from JSZip's local file header (`uncompressedSize`) when available, falling back to
7997
+ fully decompressing only the rare entry missing that header field. The list composes
7998
+ `<lyra-virtual-list>` for large archives.
7943
7999
 
7944
- **Properties:** `src` and `name` are strings.
8000
+ **Properties:** `src` and `name` are strings — `name` (or a host-level `aria-label`) names the
8001
+ listing region as `role="region"`; with neither set, the region is unnamed.
7945
8002
 
7946
8003
  **Events:** `lyra-render-error` with `detail.error` when fetching or parsing fails.
7947
8004
 
@@ -8068,9 +8125,10 @@ Fetches tab-, pipe-, or delimiter-separated text and renders an accessible table
8068
8125
 
8069
8126
  **Optional peer dependency:** `papaparse`.
8070
8127
 
8071
- Remote resources are capped at 25 MB, and the parsed table at 10,000 rows and 1,000 columns;
8072
- exceeding any of these surfaces the localized `documentPreviewResourceTooLarge` message instead of
8073
- the table.
8128
+ Remote resources are capped at 25 MB, and the parsed table at 1,000 rows and 1,000 columns (lower
8129
+ than `lyra-csv-viewer`/`lyra-spreadsheet-viewer`'s shared 10,000-row cap, since this component renders
8130
+ every row into a real, non-virtualized `<table>` in one synchronous pass); exceeding any of these
8131
+ surfaces the localized `documentPreviewResourceTooLarge` message instead of the table.
8074
8132
 
8075
8133
  ## `lyra-contact-viewer`
8076
8134
 
@@ -8574,6 +8632,8 @@ A form-associated single-choice control. Use it alone or inside `lyra-radio-grou
8574
8632
 
8575
8633
  **Properties:** `checked`, `disabled`, `required`, `name`, and `value` (all reflected where
8576
8634
  applicable). A selected radio submits its value through `ElementInternals`.
8635
+ `effectiveRequired` exposes the required state inherited from a containing radio group. `focus()`
8636
+ and `blur()` forward to the internal radio control.
8577
8637
 
8578
8638
  **Events:** native-style composed `input` and `change`, plus `lyra-change` with
8579
8639
  `{ checked, value }`.
@@ -8592,7 +8652,8 @@ A click-triggered, light-dismiss floating surface positioned with the shared Flo
8592
8652
 
8593
8653
  **Properties:** `open`, `placement`, `distance`, `accessibleLabel` (`aria-label`), and `popupRole` (`popup-role`).
8594
8654
  **Events:** `lyra-show`, `lyra-hide`. **Slots:** `trigger`, default content. **CSS parts:** `trigger`,
8595
- `popup`, `content`.
8655
+ `popup`, `content`. **Themeable custom properties:** `--lyra-overlay-max-inline-size` (default
8656
+ `--lyra-size-20rem` — maximum inline size of the popup).
8596
8657
 
8597
8658
  ## `lyra-tooltip`
8598
8659
 
@@ -8600,7 +8661,9 @@ A hover/focus tooltip positioned with the shared Floating UI positioner.
8600
8661
 
8601
8662
  **Properties:** `open`, `manual`, `delay`, `placement`, `distance`, `content`, and
8602
8663
  `accessibleLabel` (`aria-label`). **Slots:** `trigger`, default content. **CSS parts:**
8603
- `trigger`, `popup`.
8664
+ `trigger`, `popup`. **Themeable custom properties:** `--lyra-tooltip-max-inline-size` (default
8665
+ `--lyra-size-20rem`), `--lyra-tooltip-background` (default `--lyra-color-neutral`), and
8666
+ `--lyra-tooltip-color` (default `--lyra-color-on-neutral`).
8604
8667
 
8605
8668
  ## `lyra-dropdown`
8606
8669
 
@@ -8609,6 +8672,8 @@ menu-item behavior is needed.
8609
8672
 
8610
8673
  **Properties:** `open`, `placement`, `distance`, `accessibleLabel` (`aria-label`), and `popupRole` (`popup-role`).
8611
8674
  **Slots:** `trigger`, default menu content. **CSS parts:** `trigger`, `popup`, `content`.
8675
+ **Themeable custom properties:** `--lyra-overlay-max-inline-size` (default `--lyra-size-20rem` —
8676
+ maximum inline size of the popup).
8612
8677
 
8613
8678
  ## `lyra-radio-group`
8614
8679
 
@@ -8624,6 +8689,64 @@ focus; arrow navigation selects the next enabled radio.
8624
8689
 
8625
8690
  **CSS parts:** `base`, `label`, `hint`, `error`.
8626
8691
 
8692
+ ## `lyra-checkbox-group`
8693
+
8694
+ A form-associated collection of `<lyra-checkbox>` children. Its `value` is a `string[]`; each
8695
+ selected value is submitted under `name` and `required` requires at least one selection.
8696
+
8697
+ **Properties:** `label`, `hint`, `errorText`, `value`, `name`, `required`, `disabled`, and
8698
+ `accessibleLabel` (`aria-label`). **Slots:** default checkboxes, `label`, `hint`, `error`.
8699
+ **Events:** `input`, `change`, and `lyra-change` with `{ value: string[] }`.
8700
+ **CSS parts:** `form-control`, `form-control-label`, `options`, `hint`, `error`.
8701
+
8702
+ ## `lyra-token-input`
8703
+
8704
+ An editable form-associated token list. Enter, comma, or blur commits a token; Backspace removes
8705
+ the last token. `value` is a `string[]` and repeated values are submitted under `name`.
8706
+
8707
+ **Properties:** `value`, `label`, `hint`, `errorText`, `placeholder`, `name`, `required`,
8708
+ `disabled`, `accessibleLabel`, `allowDuplicates`, and `delimiter`.
8709
+ **Events:** `input`, `change`, `lyra-add`, and `lyra-remove`.
8710
+ **CSS parts:** `form-control`, `form-control-label`, `input-wrapper`, `token`, `remove`, `input`,
8711
+ `hint`, `error`. `focus()` and `blur()` forward to the internal text input.
8712
+
8713
+ ## `lyra-icon` / `lyra-icon-button`
8714
+
8715
+ `lyra-icon` is a dependency-free SVG path icon with named common glyphs and a custom `path`
8716
+ property. `lyra-icon-button` provides an accessible icon-only native button with `icon`, `label`,
8717
+ `aria-label`, `type`, and `disabled` properties. Its `accessibleLabel` property is the typed
8718
+ `aria-label` override, and `focus()`/`blur()` forward to the native button.
8719
+
8720
+ ## `lyra-command-palette`
8721
+
8722
+ Searchable application command menu with a `commands` property, fuzzy substring matching, command
8723
+ groups, keyboard navigation, Escape dismissal, and a configurable `mod+k` shortcut.
8724
+ `openPalette()`, `close()`, and `registerCommand()` provide imperative control. `accessibleLabel`
8725
+ (`aria-label`) overrides the dialog name. **Events:** `lyra-open`, `lyra-close`, and `lyra-select`
8726
+ with `{ command }`.
8727
+
8728
+ ## `lyra-code-editor`
8729
+
8730
+ Dependency-free, form-associated multiline code editor built around a native textarea. Supports
8731
+ line numbers, language metadata, tab insertion, readonly mode, resize, selection getters/methods,
8732
+ and editing-assistance passthrough attributes. Properties include `label`, `hint`, `errorText`,
8733
+ `placeholder`, `lineNumbers`, `tabSize`, `wrap`, `spellcheck`, `autocapitalize`, `autoCorrect`,
8734
+ and `accessibleLabel`; `selectionStart`/`selectionEnd`, `setSelectionRange()`, `setRangeText()`,
8735
+ `focus()`, and `blur()` are public editing APIs.
8736
+
8737
+ ## `lyra-data-grid`
8738
+
8739
+ Keyboard-navigable data grid with typed `columns` and `rows`, sortable headers, roving cell focus,
8740
+ selection events, loading/empty states, and responsive horizontal overflow. Properties include
8741
+ `rowKey`, `selectedKey`, `sortKey`, `sortDirection`, `emptyText`, and `accessibleLabel`.
8742
+
8743
+ ## `lyra-calendar`
8744
+
8745
+ Responsive month calendar with event markers and agenda mode. `events` accepts `{ date, title,
8746
+ start?, end?, color?, data? }` records. `value` controls the selected date and `viewDate` controls
8747
+ the visible month. `firstDayOfWeek` controls week layout and `accessibleLabel` names the calendar.
8748
+ **Events:** `lyra-date-select`, `lyra-event-select`, and `lyra-view-change`.
8749
+
8627
8750
  ## `lyra-spinner`
8628
8751
 
8629
8752
  An indeterminate busy indicator with a localized `role="status"` name.
@@ -8671,7 +8794,7 @@ errors without panel chrome.
8671
8794
  `preventDefault()`.
8672
8795
 
8673
8796
  **Slots:** default message, `heading`, `icon`. **CSS parts:** `base`, `icon`, `content`, `heading`,
8674
- `close-button`.
8797
+ `message` (wrapper around the default slot), `close-button`.
8675
8798
 
8676
8799
  ## `lyra-details`, `lyra-accordion`, and `lyra-accordion-item`
8677
8800
 
@@ -8719,14 +8842,21 @@ When `sync` is true the displayed value refreshes periodically.
8719
8842
 
8720
8843
  A keyboard-accessible star rating control with slider semantics. **Properties:** `value`, `max`,
8721
8844
  `precision`, `readonly`, `disabled`, and `accessibleLabel` (`aria-label`). **Events:**
8722
- `lyra-change` with `{ value }`. **CSS parts:** `base`, `star`.
8845
+ `lyra-change` with `{ value }`. **CSS parts:** `base`, `star`, `star-fill` (the filled overlay
8846
+ inside each star, clipped to the fractional `precision` value). **Themeable custom properties:**
8847
+ `--lyra-rating-fill` (default `--lyra-color-warning` — filled-star color), `--lyra-rating-empty-color`
8848
+ (default `--lyra-color-border` — unfilled-star color), and `--lyra-rating-size` (default
8849
+ `--lyra-font-size-xl` — star size).
8723
8850
 
8724
8851
  ## `lyra-color-picker`
8725
8852
 
8726
- A form-associated native color picker with label and hint chrome. **Properties:** the shared form
8727
- properties `name`, `value`, `disabled`, and `required`, plus `label`, `hint`, and `accessibleLabel`
8728
- (`aria-label`). **Slots:** `label`, `hint`. **Events:** composed `input` and `change`, plus
8729
- `lyra-change` with `{ value }`. **CSS parts:** `form-control`, `label`, `input`, `hint`.
8853
+ A form-associated native color picker with label, hint, and error chrome. **Properties:** the shared
8854
+ form properties `name`, `value`, `disabled`, and `required`, plus `label`, `hint`, `errorText`
8855
+ (`error-text`), and `accessibleLabel` (`aria-label`). **Slots:** `label`, `hint`, `error`. **Events:**
8856
+ composed `input` and `change`, `lyra-change` with `{ value }`, and `focus`/`blur` (re-dispatched from
8857
+ the internal `<input>`'s own `focus`/`blur`, bubbling and composed unlike the native events). **CSS
8858
+ parts:** `form-control`, `form-control-label` (the label; `label` is an alias kept for back-compat),
8859
+ `input`, `hint`, `error`.
8730
8860
 
8731
8861
  ## Cross-cutting notes
8732
8862
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aceshooting/lyra-ui",
3
- "version": "3.3.0",
3
+ "version": "3.5.0",
4
4
  "description": "Free, independent Lit web components: an open-source alternative to Shoelace and Web Awesome with accessible forms, dashboards, charts, and agent UI.",
5
5
  "keywords": [
6
6
  "web-components",
@@ -56,7 +56,8 @@
56
56
  "./components/*": "./dist/components/*",
57
57
  "./internal/*": "./dist/internal/*",
58
58
  "./theme.css": "./dist/theme.css",
59
- "./testing": "./dist/testing/happy-dom-shims.js"
59
+ "./testing": "./dist/testing/happy-dom-shims.js",
60
+ "./package.json": "./package.json"
60
61
  },
61
62
  "sideEffects": [
62
63
  "./dist/components/app-rail/app-rail-item.js",
@@ -153,6 +154,14 @@
153
154
  "./dist/components/badge/tag.js",
154
155
  "./dist/components/callout/callout.js",
155
156
  "./dist/components/color-picker/color-picker.js",
157
+ "./dist/components/checkbox-group/checkbox-group.js",
158
+ "./dist/components/token-input/token-input.js",
159
+ "./dist/components/icon/icon.js",
160
+ "./dist/components/icon-button/icon-button.js",
161
+ "./dist/components/command-palette/command-palette.js",
162
+ "./dist/components/code-editor/code-editor.js",
163
+ "./dist/components/data-grid/data-grid.js",
164
+ "./dist/components/calendar/calendar.js",
156
165
  "./dist/components/rating/rating.js",
157
166
  "./dist/components/json-viewer/json-viewer.js",
158
167
  "./dist/components/kbd/kbd.js",
@@ -304,6 +313,14 @@
304
313
  "./src/components/badge/tag.ts",
305
314
  "./src/components/callout/callout.ts",
306
315
  "./src/components/color-picker/color-picker.ts",
316
+ "./src/components/checkbox-group/checkbox-group.ts",
317
+ "./src/components/token-input/token-input.ts",
318
+ "./src/components/icon/icon.ts",
319
+ "./src/components/icon-button/icon-button.ts",
320
+ "./src/components/command-palette/command-palette.ts",
321
+ "./src/components/code-editor/code-editor.ts",
322
+ "./src/components/data-grid/data-grid.ts",
323
+ "./src/components/calendar/calendar.ts",
307
324
  "./src/components/rating/rating.ts",
308
325
  "./src/components/json-viewer/json-viewer.ts",
309
326
  "./src/components/kbd/kbd.ts",
@@ -488,6 +505,7 @@
488
505
  "epubjs": "^0.3.93",
489
506
  "ical.js": "^2.2.1",
490
507
  "jszip": "^3.10.1",
508
+ "libphonenumber-js": "^1.13.8",
491
509
  "mammoth": "^1.12.0",
492
510
  "maplibre-gl": "^5.24.0",
493
511
  "marked": "^18.0.6",
@@ -1,8 +0,0 @@
1
- import type { OptionalPeerApi } from '../../internal/optional-peer-types.js';
2
- export type PapaParseApi = OptionalPeerApi;
3
- export declare function loadPapaParse(importPapaParse?: () => Promise<PapaParseApi | {
4
- default: PapaParseApi;
5
- }>): Promise<PapaParseApi | null>;
6
- export declare function loadPapaParseCached(): Promise<PapaParseApi | null>;
7
- export declare function clearPapaParseCache(): void;
8
- //# sourceMappingURL=csv-loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"csv-loader.d.ts","sourceRoot":"","sources":["../../../src/components/csv-viewer/csv-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAE7E,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC;AAG3C,wBAAsB,aAAa,CACjC,eAAe,GAAE,MAAM,OAAO,CAAC,YAAY,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,CAA6B,GACnG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAS9B;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAGlE;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAAwB"}
@@ -1,19 +0,0 @@
1
- let cached;
2
- export async function loadPapaParse(importPapaParse = () => import('papaparse')) {
3
- try {
4
- const module = await importPapaParse();
5
- const candidate = module.default;
6
- return candidate && typeof candidate.parse === 'function' ? candidate : module;
7
- }
8
- catch (error) {
9
- console.warn('<lyra-csv-viewer> needs the optional peer dependency `papaparse` to parse CSV files — install it with `pnpm add papaparse`:', error);
10
- return null;
11
- }
12
- }
13
- export function loadPapaParseCached() {
14
- if (!cached)
15
- cached = loadPapaParse();
16
- return cached;
17
- }
18
- export function clearPapaParseCache() { cached = undefined; }
19
- //# sourceMappingURL=csv-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"csv-loader.js","sourceRoot":"","sources":["../../../src/components/csv-viewer/csv-loader.ts"],"names":[],"mappings":"AAGA,IAAI,MAAgD,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,eAAe,GAA4D,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;IAEpG,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;QACvC,MAAM,SAAS,GAAI,MAAqC,CAAC,OAAO,CAAC;QACjE,OAAO,SAAS,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAsB,CAAC;IACjG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,6HAA6H,EAAE,KAAK,CAAC,CAAC;QACnJ,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,aAAa,EAAE,CAAC;IACtC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,KAAW,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { OptionalPeerApi } from '../../internal/optional-peer-types.js';
2
- export declare function loadPapaParseDeps(importPapaparse?: () => Promise<{
3
- default: OptionalPeerApi;
4
- }>): Promise<OptionalPeerApi | null>;
5
- export declare function loadPapaParse(): Promise<OptionalPeerApi | null>;
6
- export declare function clearPapaParseCache(): void;
7
- //# sourceMappingURL=dataset-loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataset-loader.d.ts","sourceRoot":"","sources":["../../../src/components/dataset-viewer/dataset-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAI7E,wBAAsB,iBAAiB,CACrC,eAAe,GAAE,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,eAAe,CAAA;CAAE,CACG,GAC7D,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAUjC;AAED,wBAAgB,aAAa,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAG/D;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}