@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
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { html, nothing } from 'lit';
8
8
  import { property, state } from 'lit/decorators.js';
9
9
  import { LyraElement } from '../../internal/lyra-element.js';
10
+ import { nextId } from '../../internal/a11y.js';
10
11
  import { tag } from '../../internal/prefix.js';
11
12
  import { groupStyles } from './radio-group.styles.js';
12
13
  /**
@@ -36,6 +37,9 @@ export class LyraRadioGroup extends LyraElement {
36
37
  this.hasLabelSlot = false;
37
38
  this.hasHintSlot = false;
38
39
  this.hasErrorSlot = false;
40
+ this.labelId = nextId('radio-group-label');
41
+ this.hintId = nextId('radio-group-hint');
42
+ this.errorId = nextId('radio-group-error');
39
43
  this.onKeyDown = (event) => {
40
44
  if (!['ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft', 'Home', 'End'].includes(event.key))
41
45
  return;
@@ -75,31 +79,39 @@ export class LyraRadioGroup extends LyraElement {
75
79
  return [...this.querySelectorAll(tag('radio'))];
76
80
  }
77
81
  syncRadios() {
78
- for (const radio of this.radios()) {
79
- if (this.name && !radio.name)
82
+ const radios = this.radios();
83
+ const enabled = radios.filter((radio) => !radio.disabled && !this.disabled);
84
+ const checkedRadio = radios.find((radio) => radio.checked);
85
+ for (const radio of radios) {
86
+ if (this.name)
80
87
  radio.name = this.name;
81
- if (this.required)
82
- radio.required = true;
83
- if (this.disabled)
84
- radio.disabled = true;
88
+ radio.setGroupRequired(this.required);
89
+ radio.setGroupDisabled(this.disabled);
90
+ radio.setGroupTabbable(checkedRadio ? radio === checkedRadio : radio === enabled[0]);
85
91
  }
86
92
  }
87
93
  /** @internal */
88
94
  selectRadio(radio) {
89
95
  for (const candidate of this.radios())
90
96
  candidate.checked = candidate === radio;
97
+ this.syncRadios();
91
98
  this.emit('lyra-change', { value: radio.value, radio });
92
99
  }
93
100
  render() {
94
101
  const hasLabel = this.hasLabelSlot || Boolean(this.label);
95
102
  const hasHint = this.hasHintSlot || Boolean(this.hint);
96
103
  const hasError = this.hasErrorSlot || Boolean(this.errorText);
104
+ const described = [hasHint ? this.hintId : '', hasError ? this.errorId : ''].filter(Boolean).join(' ') || nothing;
97
105
  return html `
98
- <div part="base" role="radiogroup" aria-label=${this.accessibleLabel || nothing} @keydown=${this.onKeyDown}>
99
- <div part="label" ?hidden=${!hasLabel}>${this.label}<slot name="label" @slotchange=${this.onSlotChange}></slot></div>
106
+ <div part="base" role="radiogroup"
107
+ aria-label=${this.accessibleLabel || nothing}
108
+ aria-labelledby=${!this.accessibleLabel && hasLabel ? this.labelId : nothing}
109
+ aria-describedby=${described}
110
+ @keydown=${this.onKeyDown}>
111
+ <div part="label" id=${this.labelId} ?hidden=${!hasLabel}>${this.label}<slot name="label" @slotchange=${this.onSlotChange}></slot></div>
100
112
  <slot></slot>
101
- <div part="hint" ?hidden=${!hasHint}>${this.hint}<slot name="hint" @slotchange=${this.onSlotChange}></slot></div>
102
- <div part="error" ?hidden=${!hasError}>${this.errorText}<slot name="error" @slotchange=${this.onSlotChange}></slot></div>
113
+ <div part="hint" id=${this.hintId} ?hidden=${!hasHint}>${this.hint}<slot name="hint" @slotchange=${this.onSlotChange}></slot></div>
114
+ <div part="error" id=${this.errorId} ?hidden=${!hasError}>${this.errorText}<slot name="error" @slotchange=${this.onSlotChange}></slot></div>
103
115
  </div>
104
116
  `;
105
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.class.js","sourceRoot":"","sources":["../../../src/components/radio/radio-group.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radio-group.class.js","sourceRoot":"","sources":["../../../src/components/radio/radio-group.class.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.styles.d.ts","sourceRoot":"","sources":["../../../src/components/radio/radio-group.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,yBAQvB,CAAC"}
1
+ {"version":3,"file":"radio-group.styles.d.ts","sourceRoot":"","sources":["../../../src/components/radio/radio-group.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,yBASvB,CAAC"}
@@ -4,6 +4,7 @@ export const groupStyles = css `
4
4
  [part='base'] { display: flex; flex-direction: column; gap: var(--lyra-space-s); }
5
5
  [part='label'] { color: var(--lyra-color-text); font-weight: var(--lyra-font-weight-semibold); }
6
6
  [part='label'][hidden], [part='hint'][hidden], [part='error'][hidden] { display: none; }
7
+ :host([required]) [part='label']::after { content: ' *'; color: var(--lyra-color-danger); }
7
8
  [part='hint'], [part='error'] { font-size: var(--lyra-font-size-sm); }
8
9
  [part='hint'] { color: var(--lyra-color-text-quiet); }
9
10
  [part='error'] { color: var(--lyra-color-danger); }
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.styles.js","sourceRoot":"","sources":["../../../src/components/radio/radio-group.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAA;;;;;;;;CAQ7B,CAAC"}
1
+ {"version":3,"file":"radio-group.styles.js","sourceRoot":"","sources":["../../../src/components/radio/radio-group.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAA;;;;;;;;;CAS7B,CAAC"}
@@ -61,6 +61,11 @@ export declare class LyraRadio extends LyraElement<LyraRadioEventMap> {
61
61
  private _name;
62
62
  private _value;
63
63
  private _fieldsetDisabled;
64
+ private _groupDisabled;
65
+ private _groupRequired;
66
+ private _tabbable;
67
+ private _defaultChecked;
68
+ private _defaultCaptured;
64
69
  get checked(): boolean;
65
70
  set checked(value: boolean);
66
71
  get disabled(): boolean;
@@ -72,13 +77,18 @@ export declare class LyraRadio extends LyraElement<LyraRadioEventMap> {
72
77
  get value(): string;
73
78
  set value(value: string);
74
79
  get effectiveDisabled(): boolean;
80
+ get effectiveRequired(): boolean;
75
81
  get form(): HTMLFormElement | null;
76
82
  get validity(): ValidityState;
77
83
  get validationMessage(): string;
78
84
  get willValidate(): boolean;
79
85
  constructor();
80
86
  connectedCallback(): void;
87
+ formResetCallback(): void;
88
+ formStateRestoreCallback(state: string | File | FormData | null, _mode?: 'restore' | 'autocomplete'): void;
81
89
  private updateValidity;
90
+ focus(options?: FocusOptions): void;
91
+ blur(): void;
82
92
  private syncFormState;
83
93
  private group;
84
94
  private select;
@@ -1 +1 @@
1
- {"version":3,"file":"radio.class.d.ts","sourceRoot":"","sources":["../../../src/components/radio/radio.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAK7D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/B,aAAa,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC9B,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,SAAU,SAAQ,WAAW,CAAC,iBAAiB,CAAC;IAC3D,MAAM,CAAC,MAAM,iCAAgC;IAC7C,MAAM,CAAC,cAAc,UAAQ;IAE7B,MAAM,CAAC,UAAU;QACf,OAAO;YAAI,IAAI;YAAW,OAAO;YAAQ,UAAU;;QACnD,QAAQ;YAAI,IAAI;YAAW,OAAO;YAAQ,UAAU;;QACpD,IAAI;YAAI,OAAO;YAAQ,UAAU;;QACjC,QAAQ;YAAI,IAAI;YAAW,OAAO;YAAQ,UAAU;;QACpD,KAAK;YAAI,OAAO;YAAQ,UAAU;;MAClC;IAEO,OAAO,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,iBAAiB,CAAS;IAElC,IAAI,OAAO,IAAI,OAAO,CAA0B;IAChD,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAKzB;IACD,IAAI,QAAQ,IAAI,OAAO,CAA2B;IAClD,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAK1B;IACD,IAAI,QAAQ,IAAI,OAAO,CAA2B;IAClD,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAM1B;IACD,IAAI,IAAI,IAAI,MAAM,CAAuB;IACzC,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAMrB;IACD,IAAI,KAAK,IAAI,MAAM,CAAwB;IAC3C,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAOtB;IACD,IAAI,iBAAiB,IAAI,OAAO,CAAoD;IACpF,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAAgC;IAClE,IAAI,QAAQ,IAAI,aAAa,CAAoC;IACjE,IAAI,iBAAiB,IAAI,MAAM,CAA6C;IAC5E,IAAI,YAAY,IAAI,OAAO,CAAwC;IAEnE,cAKC;IAOD,iBAAiB,IAAI,IAAI,CAIxB;IAED,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,KAAK;IAGb,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAMf;IACF,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,YAAY,CAGlB;IAEF,MAAM,IAAI,cAAc,CAYvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,YAAY,EAAE,SAAS,CAAC;KAAE;CAAE"}
1
+ {"version":3,"file":"radio.class.d.ts","sourceRoot":"","sources":["../../../src/components/radio/radio.class.ts"],"names":[],"mappings":"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"}
@@ -75,7 +75,8 @@ export class LyraRadio extends LyraElement {
75
75
  this.syncFormState();
76
76
  this.requestUpdate('value', old);
77
77
  }
78
- get effectiveDisabled() { return this.disabled || this._fieldsetDisabled; }
78
+ get effectiveDisabled() { return this.disabled || this._fieldsetDisabled || this._groupDisabled; }
79
+ get effectiveRequired() { return this.required || this._groupRequired; }
79
80
  get form() { return this.internals.form; }
80
81
  get validity() { return this.internals.validity; }
81
82
  get validationMessage() { return this.internals.validationMessage; }
@@ -89,6 +90,14 @@ export class LyraRadio extends LyraElement {
89
90
  this._name = '';
90
91
  this._value = 'on';
91
92
  this._fieldsetDisabled = false;
93
+ this._groupDisabled = false;
94
+ this._groupRequired = false;
95
+ this._tabbable = true;
96
+ // What `form.reset()` restores to — captured once from the declarative
97
+ // `checked` content attribute at first connect, mirroring
98
+ // `<lyra-checkbox>`'s identical `_defaultChecked`/`_defaultCaptured` pair.
99
+ this._defaultChecked = false;
100
+ this._defaultCaptured = false;
92
101
  this.onClick = () => this.select();
93
102
  this.onKeyDown = (event) => {
94
103
  if (this.effectiveDisabled)
@@ -115,10 +124,51 @@ export class LyraRadio extends LyraElement {
115
124
  connectedCallback() {
116
125
  super.connectedCallback();
117
126
  this.hasLabel = Array.from(this.childNodes).some((node) => (node.textContent ?? '').trim().length > 0);
127
+ if (!this._defaultCaptured) {
128
+ this._defaultCaptured = true;
129
+ this._defaultChecked = this.hasAttribute('checked');
130
+ }
118
131
  this.updateValidity();
119
132
  }
133
+ formResetCallback() {
134
+ this.checked = this._defaultChecked;
135
+ }
136
+ formStateRestoreCallback(state, _mode) {
137
+ const old = this._checked;
138
+ this._checked = state === 'checked';
139
+ this.syncFormState();
140
+ this.requestUpdate('checked', old);
141
+ }
120
142
  updateValidity() {
121
- this.validityController.setValidity(this.required && !this.checked ? { valueMissing: true } : {}, this.localize('radioRequired'));
143
+ this.validityController.setValidity(this.effectiveRequired && !this.checked ? { valueMissing: true } : {}, this.localize('radioRequired'));
144
+ }
145
+ /** @internal Driven by an owning `<lyra-radio-group>`; released when the radio leaves the group's control. */
146
+ setGroupDisabled(value) {
147
+ if (this._groupDisabled === value)
148
+ return;
149
+ this._groupDisabled = value;
150
+ this.requestUpdate();
151
+ }
152
+ /** @internal Driven by an owning `<lyra-radio-group>`; released when the radio leaves the group's control. */
153
+ setGroupRequired(value) {
154
+ if (this._groupRequired === value)
155
+ return;
156
+ this._groupRequired = value;
157
+ this.updateValidity();
158
+ this.requestUpdate();
159
+ }
160
+ /** @internal Roving-tabindex state driven by an owning `<lyra-radio-group>`. */
161
+ setGroupTabbable(value) {
162
+ if (this._tabbable === value)
163
+ return;
164
+ this._tabbable = value;
165
+ this.requestUpdate();
166
+ }
167
+ focus(options) {
168
+ this[VALIDITY_ANCHOR]()?.focus(options);
169
+ }
170
+ blur() {
171
+ this[VALIDITY_ANCHOR]()?.blur();
122
172
  }
123
173
  syncFormState() {
124
174
  this.internals.setFormValue(this.checked ? this.value : null, this.checked ? 'checked' : 'unchecked');
@@ -141,10 +191,10 @@ export class LyraRadio extends LyraElement {
141
191
  }
142
192
  render() {
143
193
  return html `
144
- <span part="base" role="radio" tabindex=${this.effectiveDisabled ? '-1' : '0'}
194
+ <span part="base" role="radio" tabindex=${this.effectiveDisabled || !this._tabbable ? '-1' : '0'}
145
195
  aria-checked=${this.checked ? 'true' : 'false'}
146
196
  aria-disabled=${this.effectiveDisabled ? 'true' : 'false'}
147
- aria-required=${this.required ? 'true' : 'false'}
197
+ aria-required=${this.effectiveRequired ? 'true' : 'false'}
148
198
  aria-label=${this.getAttribute('aria-label') || nothing}
149
199
  @click=${this.onClick} @keydown=${this.onKeyDown} @focus=${this.onFocus} @blur=${this.onBlur}>
150
200
  <span part="circle">${this.checked ? html `<span part="dot"></span>` : nothing}</span>
@@ -1 +1 @@
1
- {"version":3,"file":"radio.class.js","sourceRoot":"","sources":["../../../src/components/radio/radio.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radio.class.js","sourceRoot":"","sources":["../../../src/components/radio/radio.class.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,12 @@ export interface LyraRatingEventMap {
12
12
  * @event lyra-change - The rating changed. `detail: { value }`.
13
13
  * @csspart base - The slider-like rating control.
14
14
  * @csspart star - Each visual star.
15
+ * @csspart star-fill - The filled overlay inside each star, clipped to that
16
+ * star's filled fraction (0%, a partial percentage under a fractional
17
+ * `precision`, or 100%).
18
+ * @cssprop [--lyra-rating-fill=var(--lyra-color-warning)] - Filled-star color.
19
+ * @cssprop [--lyra-rating-empty-color=var(--lyra-color-border)] - Unfilled-star color.
20
+ * @cssprop [--lyra-rating-size=var(--lyra-font-size-xl)] - Star size.
15
21
  */
16
22
  export declare class LyraRating extends LyraElement<LyraRatingEventMap> {
17
23
  static styles: import("lit").CSSResultGroup[];
@@ -1 +1 @@
1
- {"version":3,"file":"rating.class.d.ts","sourceRoot":"","sources":["../../../src/components/rating/rating.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG7D,MAAM,WAAW,kBAAkB;IAAG,aAAa,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAAE;AAEtF;;;;;;;GAOG;AACH,qBAAa,UAAW,SAAQ,WAAW,CAAC,kBAAkB,CAAC;IAC7D,MAAM,CAAC,MAAM,iCAAgC;IACF,KAAK,SAAK;IACV,GAAG,SAAK;IACvB,SAAS,SAAK;IACE,QAAQ,UAAS;IACjB,QAAQ,UAAS;IACtB,eAAe,SAAM;IAC5D,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,OAAO,CAGb;IACF,OAAO,CAAC,SAAS,CAOf;IACF,MAAM,IAAI,cAAc,CAYvB;CACF;AACD,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,aAAa,EAAE,UAAU,CAAC;KAAE;CAAE"}
1
+ {"version":3,"file":"rating.class.d.ts","sourceRoot":"","sources":["../../../src/components/rating/rating.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG7D,MAAM,WAAW,kBAAkB;IAAG,aAAa,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAAE;AAiBtF;;;;;;;;;;;;;GAaG;AACH,qBAAa,UAAW,SAAQ,WAAW,CAAC,kBAAkB,CAAC;IAC7D,MAAM,CAAC,MAAM,iCAAgC;IACF,KAAK,SAAK;IACV,GAAG,SAAK;IACvB,SAAS,SAAK;IACE,QAAQ,UAAS;IACjB,QAAQ,UAAS;IACtB,eAAe,SAAM;IAC5D,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,OAAO,CAGb;IACF,OAAO,CAAC,SAAS,CAOf;IACF,MAAM,IAAI,cAAc,CAgBvB;CACF;AACD,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,aAAa,EAAE,UAAU,CAAC;KAAE;CAAE"}
@@ -4,10 +4,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { html, nothing } from 'lit';
7
+ import { html, svg } from 'lit';
8
8
  import { property } from 'lit/decorators.js';
9
9
  import { LyraElement } from '../../internal/lyra-element.js';
10
10
  import { styles } from './rating.styles.js';
11
+ // A five-point star, sharing internal/icons.ts's 24x24 viewBox / 1em sizing
12
+ // contract so it reads as part of the same visual language, without adding a
13
+ // rating-only shape to that shared module. Rendered as two stacked copies per
14
+ // star -- a `currentColor`-stroked outline (the empty backdrop) and a
15
+ // `currentColor`-filled solid clipped to the filled fraction -- so a
16
+ // fractional `precision` (e.g. `0.5`) can render a partial fill instead of
17
+ // only ever snapping to the nearest whole star.
18
+ const STAR_POINTS = '12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2';
19
+ function starOutline() {
20
+ return svg `<svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true" focusable="false"><polygon points=${STAR_POINTS}></polygon></svg>`;
21
+ }
22
+ function starSolid() {
23
+ return svg `<svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" stroke="none" aria-hidden="true" focusable="false"><polygon points=${STAR_POINTS}></polygon></svg>`;
24
+ }
11
25
  /**
12
26
  * `<lyra-rating>` — a keyboard-accessible star rating control.
13
27
  *
@@ -15,6 +29,12 @@ import { styles } from './rating.styles.js';
15
29
  * @event lyra-change - The rating changed. `detail: { value }`.
16
30
  * @csspart base - The slider-like rating control.
17
31
  * @csspart star - Each visual star.
32
+ * @csspart star-fill - The filled overlay inside each star, clipped to that
33
+ * star's filled fraction (0%, a partial percentage under a fractional
34
+ * `precision`, or 100%).
35
+ * @cssprop [--lyra-rating-fill=var(--lyra-color-warning)] - Filled-star color.
36
+ * @cssprop [--lyra-rating-empty-color=var(--lyra-color-border)] - Unfilled-star color.
37
+ * @cssprop [--lyra-rating-size=var(--lyra-font-size-xl)] - Star size.
18
38
  */
19
39
  export class LyraRating extends LyraElement {
20
40
  constructor() {
@@ -56,7 +76,10 @@ export class LyraRating extends LyraElement {
56
76
  if (this.readonly || this.disabled)
57
77
  return;
58
78
  const precision = this.precision > 0 ? this.precision : 1;
59
- this.value = Math.max(0, Math.min(this.max, Math.round(next / precision) * precision));
79
+ const clamped = Math.max(0, Math.min(this.max, Math.round(next / precision) * precision));
80
+ if (clamped === this.value)
81
+ return;
82
+ this.value = clamped;
60
83
  this.emit('lyra-change', { value: this.value });
61
84
  }
62
85
  render() {
@@ -68,7 +91,11 @@ export class LyraRating extends LyraElement {
68
91
  @click=${this.onClick} @keydown=${this.onKeyDown}>
69
92
  ${Array.from({ length: count }, (_, index) => {
70
93
  const star = index + 1;
71
- return html `<span part="star" data-value=${star} ?data-filled=${this.value >= star} aria-hidden="true">★</span>`;
94
+ const fraction = Math.max(0, Math.min(1, this.value - index));
95
+ return html `<span part="star" data-value=${star} ?data-filled=${fraction >= 1} aria-hidden="true">
96
+ ${starOutline()}
97
+ <span part="star-fill" style=${`inline-size:${fraction * 100}%`}>${starSolid()}</span>
98
+ </span>`;
72
99
  })}
73
100
  </div>`;
74
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rating.class.js","sourceRoot":"","sources":["../../../src/components/rating/rating.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rating.class.js","sourceRoot":"","sources":["../../../src/components/rating/rating.class.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rating.styles.d.ts","sourceRoot":"","sources":["../../../src/components/rating/rating.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAOlB,CAAC"}
1
+ {"version":3,"file":"rating.styles.d.ts","sourceRoot":"","sources":["../../../src/components/rating/rating.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAQlB,CAAC"}
@@ -3,8 +3,9 @@ export const styles = css `
3
3
  :host { display: inline-block; color: var(--lyra-color-warning); }
4
4
  [part='base'] { display: inline-flex; align-items: center; gap: var(--lyra-space-xs); min-block-size: var(--lyra-icon-button-size); cursor: pointer; }
5
5
  [part='base']:focus-visible { outline: var(--lyra-focus-ring-width) solid var(--lyra-focus-ring-color); outline-offset: var(--lyra-focus-ring-offset); }
6
- [part='star'] { display: inline-block; color: var(--lyra-rating-empty-color, var(--lyra-color-border)); font-size: var(--lyra-rating-size, var(--lyra-font-size-xl)); line-height: var(--lyra-line-height-none); }
7
- [part='star'][data-filled] { color: var(--lyra-rating-fill, var(--lyra-color-warning)); }
6
+ [part='star'] { position: relative; display: inline-flex; color: var(--lyra-rating-empty-color, var(--lyra-color-border)); font-size: var(--lyra-rating-size, var(--lyra-font-size-xl)); line-height: var(--lyra-line-height-none); }
7
+ [part='star'] svg { display: block; }
8
+ [part='star-fill'] { position: absolute; inset-block-start: 0; inset-inline-start: 0; block-size: 100%; overflow: hidden; color: var(--lyra-rating-fill, var(--lyra-color-warning)); }
8
9
  :host([disabled]) [part='base'] { cursor: not-allowed; opacity: var(--lyra-opacity-disabled); }
9
10
  `;
10
11
  //# sourceMappingURL=rating.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rating.styles.js","sourceRoot":"","sources":["../../../src/components/rating/rating.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;CAOxB,CAAC"}
1
+ {"version":3,"file":"rating.styles.js","sourceRoot":"","sources":["../../../src/components/rating/rating.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;CAQxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resize-observer.class.d.ts","sourceRoot":"","sources":["../../../src/components/resize-observer/resize-observer.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG7D,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,YAAY,GAAG,0BAA0B,CAAC;AAE1F,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC,CAAC;CAChE;AAED;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,0BAA0B,CAAC;IAC7E,MAAM,CAAC,MAAM,iCAAgC;IAED,QAAQ,UAAS;IAChC,GAAG,EAAE,iBAAiB,CAAiB;IAEpE,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAElC,iBAAiB,IAAI,IAAI,CAGxB;IAED,oBAAoB,IAAI,IAAI,CAI3B;IAED,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAE/C;IAED,OAAO,CAAC,YAAY,CAAqC;IAEzD,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,cAAc,CAcpB;IAEF,MAAM,IAAI,cAAc,CAEvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,sBAAsB,EAAE,kBAAkB,CAAC;KAC5C;CACF"}
1
+ {"version":3,"file":"resize-observer.class.d.ts","sourceRoot":"","sources":["../../../src/components/resize-observer/resize-observer.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG7D,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,YAAY,GAAG,0BAA0B,CAAC;AAE1F,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC,CAAC;CAChE;AAED;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,0BAA0B,CAAC;IAC7E,MAAM,CAAC,MAAM,iCAAgC;IAED,QAAQ,UAAS;IAChC,GAAG,EAAE,iBAAiB,CAAiB;IAEpE,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAElC,iBAAiB,IAAI,IAAI,CAcxB;IAED,oBAAoB,IAAI,IAAI,CAI3B;IAED,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAQ/C;IAED,OAAO,CAAC,YAAY,CAAqC;IAEzD,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,cAAc,CAcpB;IAEF,MAAM,IAAI,cAAc,CAEvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,sBAAsB,EAAE,kBAAkB,CAAC;KAC5C;CACF"}
@@ -29,7 +29,7 @@ export class LyraResizeObserver extends LyraElement {
29
29
  if (this.disabled)
30
30
  return;
31
31
  const slot = this.renderRoot.querySelector('slot');
32
- const targets = slot?.assignedElements({ flatten: true }).filter((element) => element instanceof Element) ?? [];
32
+ const targets = slot?.assignedElements({ flatten: true }) ?? [];
33
33
  if (targets.length === 0 || typeof ResizeObserver === 'undefined')
34
34
  return;
35
35
  this.observer = new ResizeObserver((entries) => this.emit('lyra-resize', { entries: [...entries] }));
@@ -47,6 +47,18 @@ export class LyraResizeObserver extends LyraElement {
47
47
  connectedCallback() {
48
48
  super.connectedCallback();
49
49
  this.addEventListener('slotchange', this.onSlotChange);
50
+ // A reconnect (e.g. a drag-and-drop reparent, a tab/panel re-hosting its
51
+ // children, a virtualized list moving this same element instance) fires
52
+ // disconnectedCallback then connectedCallback synchronously with no
53
+ // update and no slotchange in between (the assigned-node set is
54
+ // unchanged by a pure reparent) -- so neither updated()'s
55
+ // `changed.has('disabled') || changed.has('box')` gate nor a fresh
56
+ // slotchange ever fires to re-arm observation. disconnectedCallback
57
+ // already tore the previous ResizeObserver down, so resume it here on
58
+ // every reconnect after the very first (that initial case is already
59
+ // covered by the first render's own slotchange).
60
+ if (this.hasUpdated)
61
+ this.scheduleAfterUpdate(this.observeTargets);
50
62
  }
51
63
  disconnectedCallback() {
52
64
  this.removeEventListener('slotchange', this.onSlotChange);
@@ -54,8 +66,14 @@ export class LyraResizeObserver extends LyraElement {
54
66
  super.disconnectedCallback();
55
67
  }
56
68
  updated(changed) {
69
+ // Routed through the base class's connection-aware scheduler rather than
70
+ // a bare queueMicrotask: Lit still runs a scheduled update (and this
71
+ // method) even for an element that disconnects before that update's own
72
+ // microtask fires, and a plain queueMicrotask has no way to notice that
73
+ // and would still spin up a new, now-unreachable ResizeObserver that
74
+ // disconnectedCallback has already run and won't run again to clean up.
57
75
  if (changed.has('disabled') || changed.has('box'))
58
- queueMicrotask(this.observeTargets);
76
+ this.scheduleAfterUpdate(this.observeTargets);
59
77
  }
60
78
  disconnect() {
61
79
  this.observer?.disconnect();
@@ -1 +1 @@
1
- {"version":3,"file":"resize-observer.class.js","sourceRoot":"","sources":["../../../src/components/resize-observer/resize-observer.class.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAA4C,MAAM,KAAK,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAQrD;;;;;;;;;GASG;AACH,MAAM,OAAO,kBAAmB,SAAQ,WAAuC;IAA/E;;QAG8C,aAAQ,GAAG,KAAK,CAAC;QAChC,QAAG,GAAsB,aAAa,CAAC;QAmB5D,iBAAY,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAOjD,mBAAc,GAAG,GAAS,EAAE;YAClC,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,IAAI,EAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAsB,EAAE,CAAC,OAAO,YAAY,OAAO,CAAC,IAAI,EAAE,CAAC;YACpI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,cAAc,KAAK,WAAW;gBAAE,OAAO;YAC1E,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YACrG,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnD,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IAKJ,CAAC;aAhDQ,WAAM,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,AAA/B,CAAgC;IAO7C,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC/B,CAAC;IAES,OAAO,CAAC,OAAuB;QACvC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzF,CAAC;IAIO,UAAU;QAChB,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAkBD,MAAM;QACJ,OAAO,IAAI,CAAA,uCAAuC,IAAI,CAAC,YAAY,iBAAiB,CAAC;IACvF,CAAC;CACF;AA9C6C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDAAkB;AAChC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;+CAAwC"}
1
+ {"version":3,"file":"resize-observer.class.js","sourceRoot":"","sources":["../../../src/components/resize-observer/resize-observer.class.ts"],"names":[],"mappings":"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"}
@@ -56,17 +56,21 @@ export declare function resolveEffectiveMode(mode: ResponsivePanelMode, belowBre
56
56
  * while retaining this component's own responsive rendering and close event.
57
57
  *
58
58
  * Accessible name (overlay presentation only -- the inline presentation has
59
- * no dialog semantics to name): `label`, when set, is used verbatim. When
60
- * `label` is empty, this falls back to the `header` slot's content -- a
59
+ * no dialog semantics to name), in priority order: if the host element itself
60
+ * has an `aria-label` attribute set, its value wins outright, overriding
61
+ * every source below -- the standard ARIA convention for a consumer that
62
+ * wants full control over the announced name, matching lyra-dialog's
63
+ * `accessibleLabel` pattern. Otherwise `label`, when set, is used verbatim.
64
+ * When both are empty, this falls back to the `header` slot's content -- a
61
65
  * heading element (`h1`–`h6` or `[role="heading"]`) among the slotted header
62
66
  * content wins if present, otherwise the header slot's full text content is
63
67
  * used, mirroring lyra-dialog's `detectHeading()`/`headingText` fallback (see
64
68
  * dialog.ts's module doc for why this uses `aria-label`, a copied string,
65
69
  * rather than `aria-labelledby`: the header content is light DOM while
66
70
  * `[part="panel"]` lives in this element's shadow tree, and an ID-reference
67
- * attribute can't resolve across that boundary). A panel opened without
68
- * either `label` or header content still renders `role="dialog"` with no
69
- * accessible name -- set one of the two to avoid that.
71
+ * attribute can't resolve across that boundary). A panel opened without a
72
+ * host `aria-label`, `label`, or header content still renders `role="dialog"`
73
+ * with no accessible name -- set one of those to avoid that.
70
74
  *
71
75
  * @customElement lyra-responsive-panel
72
76
  * @slot - The panel body.
@@ -114,6 +118,11 @@ export declare class LyraResponsivePanel extends LyraElement<LyraResponsivePanel
114
118
  * whether the effective presentation is `'overlay'` (below/at this width) or `'inline'`
115
119
  * (above it). */
116
120
  mobileBreakpoint: string;
121
+ /** Host-level `aria-label` override for the overlay presentation's accessible name -- wins over
122
+ * every other source (`label`, the header-slot fallback), matching `<lyra-dialog>`'s
123
+ * `accessibleLabel` pattern. See the class doc for the full precedence order. Set as a plain
124
+ * `aria-label` attribute on `<lyra-responsive-panel>` itself, not a public JS property. */
125
+ private accessibleLabel;
117
126
  private belowBreakpoint;
118
127
  private effectiveMode;
119
128
  private hasHeaderSlot;
@@ -1 +1 @@
1
- {"version":3,"file":"responsive-panel.class.d.ts","sourceRoot":"","sources":["../../../src/components/responsive-panel/responsive-panel.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAO7D;;oCAEoC;AACpC,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAEhE;8CAC8C;AAC9C,MAAM,MAAM,4BAA4B,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhE,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,cAAc,CAAC;AAEnE;;;;;6CAK6C;AAC7C,MAAM,MAAM,0BAA0B,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAEzG,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,4BAA4B,CAAC;CACpC;AAED,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,WAAW,CAAC,0BAA0B,CAAC,CAAC;IACtD,kBAAkB,EAAE,WAAW,CAAC,+BAA+B,CAAC,CAAC;CAClE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,EAAE,eAAe,EAAE,OAAO,GAAG,4BAA4B,CAGtH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,qBAAa,mBAAoB,SAAQ,WAAW,CAAC,2BAA2B,CAAC;IAC/E,MAAM,CAAC,MAAM,iCAAgC;IAE7C;+EAC2E;IAC/B,IAAI,UAAS;IAEzD;qDACiD;IACpB,IAAI,EAAE,mBAAmB,CAAU;IAEhE;;kBAEc;IACe,OAAO,EAAE,sBAAsB,CAAgB;IAE5E;;2EAEuE;IAC3D,KAAK,SAAM;IAEvB;;sBAEkB;IAC4B,gBAAgB,SAAW;IAEhE,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IACvC,sGAAsG;IAC7F,OAAO,CAAC,WAAW,CAAC,CAAS;IAEtC,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,iBAAiB,CAAC,CAAa;IACvC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC;;;oCAGgC;IAChC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,aAAa,CAAQ;IAE7B,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAyDlD;IAKD,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAQ/C;IAED,iBAAiB,IAAI,IAAI,CAiBxB;IAED,oBAAoB,IAAI,IAAI,CAO3B;IAED,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,aAAa,CAEnB;IAEF;;wDAEoD;IACpD,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,kBAAkB,CAGxB;IAEF,OAAO,CAAC,kBAAkB,CAExB;IAWF,OAAO,CAAC,iBAAiB;IAazB;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,GAAE,0BAAkC,GAAG,IAAI,CAItD;IAED,OAAO,CAAC,eAAe,CAErB;IAEF,MAAM,IAAI,cAAc,CAyBvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,mBAAmB,CAAC;KAC9C;CACF"}
1
+ {"version":3,"file":"responsive-panel.class.d.ts","sourceRoot":"","sources":["../../../src/components/responsive-panel/responsive-panel.class.ts"],"names":[],"mappings":"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"}
@@ -49,17 +49,21 @@ export function resolveEffectiveMode(mode, belowBreakpoint) {
49
49
  * while retaining this component's own responsive rendering and close event.
50
50
  *
51
51
  * Accessible name (overlay presentation only -- the inline presentation has
52
- * no dialog semantics to name): `label`, when set, is used verbatim. When
53
- * `label` is empty, this falls back to the `header` slot's content -- a
52
+ * no dialog semantics to name), in priority order: if the host element itself
53
+ * has an `aria-label` attribute set, its value wins outright, overriding
54
+ * every source below -- the standard ARIA convention for a consumer that
55
+ * wants full control over the announced name, matching lyra-dialog's
56
+ * `accessibleLabel` pattern. Otherwise `label`, when set, is used verbatim.
57
+ * When both are empty, this falls back to the `header` slot's content -- a
54
58
  * heading element (`h1`–`h6` or `[role="heading"]`) among the slotted header
55
59
  * content wins if present, otherwise the header slot's full text content is
56
60
  * used, mirroring lyra-dialog's `detectHeading()`/`headingText` fallback (see
57
61
  * dialog.ts's module doc for why this uses `aria-label`, a copied string,
58
62
  * rather than `aria-labelledby`: the header content is light DOM while
59
63
  * `[part="panel"]` lives in this element's shadow tree, and an ID-reference
60
- * attribute can't resolve across that boundary). A panel opened without
61
- * either `label` or header content still renders `role="dialog"` with no
62
- * accessible name -- set one of the two to avoid that.
64
+ * attribute can't resolve across that boundary). A panel opened without a
65
+ * host `aria-label`, `label`, or header content still renders `role="dialog"`
66
+ * with no accessible name -- set one of those to avoid that.
63
67
  *
64
68
  * @customElement lyra-responsive-panel
65
69
  * @slot - The panel body.
@@ -108,6 +112,11 @@ export class LyraResponsivePanel extends LyraElement {
108
112
  * whether the effective presentation is `'overlay'` (below/at this width) or `'inline'`
109
113
  * (above it). */
110
114
  this.mobileBreakpoint = '768px';
115
+ /** Host-level `aria-label` override for the overlay presentation's accessible name -- wins over
116
+ * every other source (`label`, the header-slot fallback), matching `<lyra-dialog>`'s
117
+ * `accessibleLabel` pattern. See the class doc for the full precedence order. Set as a plain
118
+ * `aria-label` attribute on `<lyra-responsive-panel>` itself, not a public JS property. */
119
+ this.accessibleLabel = null;
111
120
  this.belowBreakpoint = false;
112
121
  this.effectiveMode = 'inline';
113
122
  this.hasHeaderSlot = false;
@@ -304,7 +313,7 @@ export class LyraResponsivePanel extends LyraElement {
304
313
  }
305
314
  render() {
306
315
  const overlay = this.effectiveMode === 'overlay';
307
- const accessibleName = this.label || this.headingText;
316
+ const accessibleName = this.accessibleLabel ?? (this.label || this.headingText);
308
317
  return html `
309
318
  <div part="base" class=${overlay ? 'overlay' : 'inline'}>
310
319
  ${overlay ? html `<div part="backdrop" @click=${this.onBackdropClick}></div>` : nothing}
@@ -344,6 +353,9 @@ __decorate([
344
353
  __decorate([
345
354
  property({ attribute: 'mobile-breakpoint' })
346
355
  ], LyraResponsivePanel.prototype, "mobileBreakpoint", void 0);
356
+ __decorate([
357
+ property({ attribute: 'aria-label' })
358
+ ], LyraResponsivePanel.prototype, "accessibleLabel", void 0);
347
359
  __decorate([
348
360
  state()
349
361
  ], LyraResponsivePanel.prototype, "belowBreakpoint", void 0);