@aceshooting/lyra-ui 26.0.0 → 27.0.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 (1475) hide show
  1. package/CHANGELOG.md +63 -675
  2. package/README.md +281 -1130
  3. package/design-tokens.json +1 -1
  4. package/dist/ai/types.d.ts +5 -5
  5. package/dist/autoloader.js +1 -1
  6. package/dist/cli/agent-registry.mjs +1 -0
  7. package/dist/cli/component-inventory.mjs +1 -1
  8. package/dist/cli/init-agents.mjs +40 -0
  9. package/dist/cli/is-main-module.mjs +1 -0
  10. package/dist/cli/lyra-rename-ledger.mjs +1 -1
  11. package/dist/cli/lyra-ui.mjs +11 -0
  12. package/dist/cli/migrate-wa.mjs +4 -2
  13. package/dist/cli/migration-contract.json +1 -1
  14. package/dist/cli/migration-renames.mjs +1 -1
  15. package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.d.ts +1 -1
  16. package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.js +2 -2
  17. package/dist/components/agent-tools/approval-queue/approval-queue.class.js +1 -1
  18. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts +2 -2
  19. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +2 -2
  20. package/dist/components/agent-tools/connector-manager/connector-manager.class.d.ts +4 -2
  21. package/dist/components/agent-tools/connector-manager/connector-manager.class.js +6 -3
  22. package/dist/components/agent-tools/connector-manager/connector-manager.d.ts +1 -1
  23. package/dist/components/agent-tools/connector-manager/connector-manager.js +1 -1
  24. package/dist/components/agent-tools/connector-manager/connector-manager.styles.js +1 -1
  25. package/dist/components/agent-tools/context-inspector/context-inspector.class.d.ts +2 -2
  26. package/dist/components/agent-tools/context-inspector/context-inspector.class.js +6 -6
  27. package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts +8 -33
  28. package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +27 -4
  29. package/dist/components/agent-tools/eval-dataset/eval-dataset.d.ts +1 -1
  30. package/dist/components/agent-tools/eval-dataset/eval-dataset.js +1 -1
  31. package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.js +1 -1
  32. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +1 -1
  33. package/dist/components/agent-tools/permission-grant/permission-grant.class.d.ts +4 -2
  34. package/dist/components/agent-tools/permission-grant/permission-grant.class.js +6 -3
  35. package/dist/components/agent-tools/permission-grant/permission-grant.d.ts +1 -1
  36. package/dist/components/agent-tools/permission-grant/permission-grant.js +1 -1
  37. package/dist/components/agent-tools/permission-grant/permission-grant.styles.js +1 -1
  38. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts +1 -1
  39. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +2 -2
  40. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts +3 -1
  41. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +1 -1
  42. package/dist/components/agent-tools/stack-trace/stack-trace.class.js +1 -1
  43. package/dist/components/agent-tools/task-list/task-list.class.d.ts +2 -2
  44. package/dist/components/agent-tools/task-list/task-list.class.js +2 -2
  45. package/dist/components/agent-tools/terminal/terminal.class.d.ts +1 -1
  46. package/dist/components/agent-tools/terminal/terminal.class.js +4 -4
  47. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.d.ts +15 -9
  48. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js +1 -1
  49. package/dist/components/agent-tools/tool-call-block/tool-call-block.class.d.ts +2 -2
  50. package/dist/components/agent-tools/tool-call-block/tool-call-block.class.js +1 -1
  51. package/dist/components/agent-tools/tool-call-block/tool-call-block.styles.js +1 -1
  52. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +2 -7
  53. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.styles.js +1 -1
  54. package/dist/components/agent-tools/tool-param-form/tool-param-constraints.js +1 -1
  55. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +3 -5
  56. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +1 -1
  57. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.d.ts +2 -5
  58. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.styles.js +1 -1
  59. package/dist/components/agent-tools/tool-result-view/registry.d.ts +4 -12
  60. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.d.ts +2 -2
  61. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.js +1 -1
  62. package/dist/components/agent-tools/tool-status.d.ts +7 -0
  63. package/dist/components/agent-tools/tool-status.styles.js +1 -0
  64. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +1 -1
  65. package/dist/components/agent-tools/tool-timeline/tool-timeline.d.ts +1 -1
  66. package/dist/components/agent-tools/tool-timeline/tool-timeline.js +1 -1
  67. package/dist/components/agent-tools/trace-tree/trace-tree.class.js +2 -2
  68. package/dist/components/charts/chart/box-plot.class.d.ts +1 -1
  69. package/dist/components/charts/chart/box-plot.class.js +1 -1
  70. package/dist/components/charts/chart/box-plot.styles.js +1 -1
  71. package/dist/components/charts/chart/chart-surface-shared.js +1 -0
  72. package/dist/components/charts/chart/chart-surface.styles.js +1 -1
  73. package/dist/components/charts/chart/chart-table-sampling.js +1 -1
  74. package/dist/components/charts/chart/chart.class.d.ts +2 -2
  75. package/dist/components/charts/chart/chart.class.js +2 -2
  76. package/dist/components/charts/chart/chart.styles.js +1 -1
  77. package/dist/components/charts/chart/histogram.class.js +1 -1
  78. package/dist/components/charts/chart/lite-chart.class.d.ts +1 -1
  79. package/dist/components/charts/chart/lite-chart.class.js +4 -4
  80. package/dist/components/conversation/catalog-picker-element.d.ts +28 -13
  81. package/dist/components/conversation/catalog-picker-element.js +1 -1
  82. package/dist/components/conversation/catalog-picker-trigger.styles.js +1 -0
  83. package/dist/components/conversation/chat-message/chat-message.class.js +1 -1
  84. package/dist/components/conversation/chat-message/chat-message.styles.js +1 -1
  85. package/dist/components/conversation/chat-viewport/chat-viewport.class.d.ts +1 -1
  86. package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
  87. package/dist/components/conversation/code-block/code-block-shared.js +1 -1
  88. package/dist/components/conversation/conversation-item/conversation-item.class.js +1 -1
  89. package/dist/components/conversation/generation-metrics/generation-metrics.class.js +2 -2
  90. package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
  91. package/dist/components/conversation/markdown/markdown-code-header.js +1 -1
  92. package/dist/components/conversation/message-actions/message-actions.class.js +1 -1
  93. package/dist/components/conversation/model-select/model-select.class.d.ts +7 -34
  94. package/dist/components/conversation/model-select/model-select.class.js +3 -3
  95. package/dist/components/conversation/model-select/model-select.styles.js +1 -1
  96. package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +7 -2
  97. package/dist/components/conversation/prompt-input/prompt-input.class.js +5 -2
  98. package/dist/components/conversation/prompt-queue/prompt-queue.class.js +1 -1
  99. package/dist/components/conversation/realtime-session/realtime-session.class.js +1 -1
  100. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +1 -1
  101. package/dist/components/conversation/stream-status/stream-status.class.js +1 -1
  102. package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +10 -27
  103. package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -3
  104. package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
  105. package/dist/components/data/condition-builder/condition-builder.class.js +1 -1
  106. package/dist/components/data/data-grid/data-grid.class.js +1 -1
  107. package/dist/components/data/document-library/document-library.class.d.ts +2 -2
  108. package/dist/components/data/document-library/document-library.class.js +2 -2
  109. package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +3 -3
  110. package/dist/components/data/graph-query-builder/graph-query-builder.class.js +1 -1
  111. package/dist/components/data/heatmap/heatmap.class.js +2 -2
  112. package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +1 -1
  113. package/dist/components/data/sequence-strip/sequence-strip.class.js +1 -1
  114. package/dist/components/data/table/table.class.d.ts +10 -195
  115. package/dist/components/data/table/table.class.js +2 -2
  116. package/dist/components/data/table/table.styles.js +1 -1
  117. package/dist/components/data/timeline/timeline.class.js +1 -1
  118. package/dist/components/data/tree/tree.class.js +1 -1
  119. package/dist/components/forms/button/button.class.d.ts +3 -3
  120. package/dist/components/forms/button/button.class.js +1 -1
  121. package/dist/components/forms/catalog-picker-base.js +1 -1
  122. package/dist/components/forms/checkbox/checkbox.class.d.ts +13 -34
  123. package/dist/components/forms/checkbox/checkbox.class.js +3 -3
  124. package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +3 -3
  125. package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
  126. package/dist/components/forms/code-editor/code-editor.class.js +1 -1
  127. package/dist/components/forms/color-picker/color-picker.class.js +1 -1
  128. package/dist/components/forms/combobox/combobox.class.d.ts +6 -6
  129. package/dist/components/forms/combobox/combobox.class.js +3 -2
  130. package/dist/components/forms/combobox/option.class.d.ts +3 -0
  131. package/dist/components/forms/combobox/option.class.js +2 -2
  132. package/dist/components/forms/date-picker/date-input.class.d.ts +10 -11
  133. package/dist/components/forms/date-picker/date-input.class.js +4 -3
  134. package/dist/components/forms/date-picker/date-input.styles.js +1 -1
  135. package/dist/components/forms/date-picker/date-picker.class.d.ts +6 -0
  136. package/dist/components/forms/date-picker/date-picker.class.js +1 -1
  137. package/dist/components/forms/date-picker/date-picker.styles.js +1 -1
  138. package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
  139. package/dist/components/forms/emoji-picker/emoji-picker.class.js +1 -1
  140. package/dist/components/forms/input/input.styles.js +1 -1
  141. package/dist/components/forms/input/time-input.class.d.ts +1 -1
  142. package/dist/components/forms/input/time-input.class.js +1 -1
  143. package/dist/components/forms/input/time-input.styles.js +1 -1
  144. package/dist/components/forms/locale-picker/locale-picker.class.d.ts +5 -5
  145. package/dist/components/forms/locale-picker/locale-picker.class.js +1 -1
  146. package/dist/components/forms/otp-input/otp-input.class.js +1 -0
  147. package/dist/components/forms/phone-input/phone-input.class.d.ts +7 -9
  148. package/dist/components/forms/phone-input/phone-input.class.js +6 -5
  149. package/dist/components/forms/phone-input/phone-input.styles.js +1 -1
  150. package/dist/components/forms/radio/radio-group.class.d.ts +4 -4
  151. package/dist/components/forms/radio/radio-group.class.js +1 -1
  152. package/dist/components/forms/radio/radio.class.d.ts +11 -19
  153. package/dist/components/forms/radio/radio.class.js +2 -2
  154. package/dist/components/forms/rubric-form/rubric-form.class.d.ts +3 -5
  155. package/dist/components/forms/rubric-form/rubric-form.class.js +1 -1
  156. package/dist/components/forms/select/select.class.d.ts +5 -7
  157. package/dist/components/forms/select/select.class.js +3 -2
  158. package/dist/components/forms/slider/slider.class.d.ts +3 -3
  159. package/dist/components/forms/slider/slider.class.js +1 -1
  160. package/dist/components/forms/slider/slider.styles.js +1 -1
  161. package/dist/components/forms/swatch-picker/swatch-picker.class.js +1 -1
  162. package/dist/components/forms/switch/switch.class.d.ts +11 -36
  163. package/dist/components/forms/switch/switch.class.js +2 -2
  164. package/dist/components/forms/textarea/textarea.class.js +1 -0
  165. package/dist/components/forms/textarea/textarea.styles.js +1 -1
  166. package/dist/components/forms/time-range/time-range.class.d.ts +5 -3
  167. package/dist/components/forms/time-range/time-range.class.js +1 -1
  168. package/dist/components/forms/time-range/time-range.styles.js +1 -1
  169. package/dist/components/forms/toggle-group/toggle-group.class.d.ts +2 -2
  170. package/dist/components/forms/toggle-group/toggle-group.class.js +1 -1
  171. package/dist/components/forms/token-input/token-input.class.d.ts +3 -3
  172. package/dist/components/forms/token-input/token-input.class.js +1 -1
  173. package/dist/components/layout/app-rail/app-rail-item.class.js +1 -1
  174. package/dist/components/layout/app-rail/app-rail.class.d.ts +2 -2
  175. package/dist/components/layout/app-rail/app-rail.class.js +1 -1
  176. package/dist/components/layout/breadcrumb/breadcrumb-item.class.js +1 -1
  177. package/dist/components/layout/card/card.class.js +1 -1
  178. package/dist/components/layout/carousel/carousel.class.js +1 -1
  179. package/dist/components/layout/command-palette/command-palette.class.d.ts +6 -2
  180. package/dist/components/layout/command-palette/command-palette.class.js +1 -1
  181. package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +1 -1
  182. package/dist/components/layout/details/accordion.class.js +1 -1
  183. package/dist/components/layout/dock-panel/dock-panel.class.d.ts +1 -1
  184. package/dist/components/layout/dock-panel/dock-panel.class.js +1 -1
  185. package/dist/components/layout/drilldown-panel/drilldown-panel.class.js +2 -2
  186. package/dist/components/layout/filter-bar/filter-bar.class.d.ts +3 -2
  187. package/dist/components/layout/filter-bar/filter-bar.class.js +18 -15
  188. package/dist/components/layout/filter-bar/filter-bar.styles.js +1 -1
  189. package/dist/components/layout/menu/menu.class.d.ts +1 -1
  190. package/dist/components/layout/menu/menu.class.js +1 -1
  191. package/dist/components/layout/multi-split/multi-split.class.d.ts +1 -1
  192. package/dist/components/layout/multi-split/multi-split.class.js +1 -1
  193. package/dist/components/layout/navigation-menu-item/navigation-menu-item.class.js +1 -1
  194. package/dist/components/layout/page/page.class.d.ts +1 -1
  195. package/dist/components/layout/page/page.class.js +1 -1
  196. package/dist/components/layout/responsive-panel/responsive-panel.class.d.ts +1 -1
  197. package/dist/components/layout/responsive-panel/responsive-panel.class.js +1 -1
  198. package/dist/components/layout/scroller/scroller.class.js +1 -1
  199. package/dist/components/layout/segmented/segmented.class.js +1 -1
  200. package/dist/components/layout/stepper/stepper.class.js +2 -2
  201. package/dist/components/layout/tab-group/tab-group.class.js +1 -1
  202. package/dist/components/layout/virtual-list/virtual-list.class.d.ts +1 -1
  203. package/dist/components/layout/virtual-list/virtual-list.class.js +1 -1
  204. package/dist/components/layout/widget/widget.class.d.ts +1 -1
  205. package/dist/components/layout/widget/widget.class.js +3 -3
  206. package/dist/components/media/drop-zone/drop-zone.class.d.ts +10 -0
  207. package/dist/components/media/drop-zone/drop-zone.class.js +2 -2
  208. package/dist/components/media/file-input/file-input.class.d.ts +3 -3
  209. package/dist/components/media/file-input/file-input.class.js +2 -2
  210. package/dist/components/media/file-input/file-intake.d.ts +5 -1
  211. package/dist/components/media/file-input/file-intake.js +1 -1
  212. package/dist/components/media/flag/flag.class.js +1 -1
  213. package/dist/components/media/image-viewer/image-viewer.styles.js +1 -1
  214. package/dist/components/media/lightbox/lightbox.class.js +1 -1
  215. package/dist/components/media/map/map.class.js +2 -2
  216. package/dist/components/media/qr-code/qr-code-loader.js +1 -1
  217. package/dist/components/media/qr-code/qr-code.class.js +1 -1
  218. package/dist/components/media/video/video.class.js +3 -3
  219. package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
  220. package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts +2 -2
  221. package/dist/components/media/zoomable-frame/zoomable-frame.class.js +1 -1
  222. package/dist/components/overlays/alert/alert.class.d.ts +3 -3
  223. package/dist/components/overlays/alert/alert.class.js +1 -1
  224. package/dist/components/overlays/badge/badge.class.d.ts +2 -2
  225. package/dist/components/overlays/badge/badge.class.js +1 -1
  226. package/dist/components/overlays/badge/tag.class.d.ts +3 -1
  227. package/dist/components/overlays/badge/tag.class.js +3 -2
  228. package/dist/components/overlays/badge/tag.styles.js +1 -1
  229. package/dist/components/overlays/callout/callout.class.d.ts +2 -2
  230. package/dist/components/overlays/callout/callout.class.js +1 -1
  231. package/dist/components/overlays/chip/chip.class.d.ts +4 -2
  232. package/dist/components/overlays/chip/chip.class.js +2 -2
  233. package/dist/components/overlays/dialog/dialog.class.d.ts +1 -1
  234. package/dist/components/overlays/dialog/dialog.class.js +1 -1
  235. package/dist/components/overlays/overlay/overlay-shared.d.ts +9 -0
  236. package/dist/components/overlays/overlay/overlay-shared.js +1 -1
  237. package/dist/components/overlays/overlay/popover.class.d.ts +2 -2
  238. package/dist/components/overlays/overlay/popover.class.js +1 -1
  239. package/dist/components/overlays/overlay/tooltip.class.d.ts +1 -1
  240. package/dist/components/overlays/overlay/tooltip.class.js +1 -1
  241. package/dist/components/overlays/progress/progress-bar.class.d.ts +5 -22
  242. package/dist/components/overlays/progress/progress-bar.class.js +4 -4
  243. package/dist/components/overlays/progress/progress-base.d.ts +25 -0
  244. package/dist/components/overlays/progress/progress-base.js +1 -0
  245. package/dist/components/overlays/progress/progress-ring.class.d.ts +3 -24
  246. package/dist/components/overlays/progress/progress-ring.class.js +4 -4
  247. package/dist/components/overlays/rating/rating.class.d.ts +3 -3
  248. package/dist/components/overlays/rating/rating.class.js +1 -1
  249. package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.d.ts +4 -2
  250. package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.js +4 -4
  251. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +1 -1
  252. package/dist/components/retrieval/entity-dossier/entity-dossier.class.d.ts +1 -1
  253. package/dist/components/retrieval/graph/graph-canvas.js +1 -1
  254. package/dist/components/retrieval/graph/graph-model.js +1 -1
  255. package/dist/components/retrieval/graph/graph.class.d.ts +1 -3
  256. package/dist/components/retrieval/graph/graph.class.js +1 -1
  257. package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts +1 -1
  258. package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +2 -2
  259. package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts +1 -1
  260. package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +2 -2
  261. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +1 -1
  262. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +1 -0
  263. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +2 -1
  264. package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts +6 -2
  265. package/dist/components/retrieval/memory-panel/memory-panel.class.js +2 -2
  266. package/dist/components/retrieval/memory-panel/memory-panel.styles.js +1 -1
  267. package/dist/components/retrieval/node-palette/node-palette.class.js +1 -1
  268. package/dist/components/retrieval/path-strip/path-strip.class.js +1 -1
  269. package/dist/components/retrieval/provenance-panel/provenance-panel.class.d.ts +1 -1
  270. package/dist/components/retrieval/research-progress/research-progress.class.d.ts +5 -1
  271. package/dist/components/retrieval/research-progress/research-progress.class.js +3 -3
  272. package/dist/components/retrieval/research-progress/research-progress.d.ts +1 -1
  273. package/dist/components/retrieval/research-progress/research-progress.js +1 -1
  274. package/dist/components/retrieval/research-progress/research-progress.styles.js +1 -1
  275. package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.d.ts +6 -2
  276. package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js +2 -2
  277. package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.js +1 -1
  278. package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +2 -2
  279. package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +3 -2
  280. package/dist/components/retrieval/retrieval-search/retrieval-search.class.js +3 -3
  281. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.d.ts +6 -2
  282. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +2 -2
  283. package/dist/components/retrieval/retrieval-trace/retrieval-trace.styles.js +1 -1
  284. package/dist/components/retrieval/source-picker/source-picker.class.js +1 -1
  285. package/dist/components/utility/copy-button/copy-button.class.js +1 -1
  286. package/dist/components/utility/diff-view/diff-view.class.js +1 -1
  287. package/dist/components/utility/export-button/export-button.class.d.ts +1 -1
  288. package/dist/components/utility/export-button/export-button.class.js +1 -1
  289. package/dist/components/utility/icon/dompurify-loader.js +1 -1
  290. package/dist/components/utility/json-viewer/json-viewer.class.js +2 -2
  291. package/dist/components/utility/known-date/known-date.class.js +1 -1
  292. package/dist/components/utility/mention-popover/mention-popover.class.js +1 -1
  293. package/dist/components/utility/mutation-observer/mutation-observer.class.js +1 -1
  294. package/dist/components/utility/random-content/random-content.class.d.ts +1 -1
  295. package/dist/components/utility/random-content/random-content.class.js +1 -1
  296. package/dist/components/utility/tour/tour.class.d.ts +1 -1
  297. package/dist/components/utility/tour/tour.class.js +1 -1
  298. package/dist/components/viewers/archive-viewer/archive-viewer.class.js +1 -1
  299. package/dist/components/viewers/archive-viewer/archive-viewer.styles.js +1 -1
  300. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts +3 -1
  301. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js +1 -1
  302. package/dist/components/viewers/contact-viewer/contact-viewer.class.d.ts +3 -1
  303. package/dist/components/viewers/contact-viewer/contact-viewer.class.js +1 -1
  304. package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts +2 -2
  305. package/dist/components/viewers/csv-viewer/csv-viewer.class.js +4 -18
  306. package/dist/components/viewers/csv-viewer/csv-viewer.styles.js +1 -1
  307. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +2 -2
  308. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +4 -18
  309. package/dist/components/viewers/dataset-viewer/dataset-viewer.styles.js +1 -1
  310. package/dist/components/viewers/document-preview/document-preview.class.d.ts +1 -1
  311. package/dist/components/viewers/document-preview/document-preview.class.js +3 -16
  312. package/dist/components/viewers/document-viewer/ooxml-part-guard.js +1 -0
  313. package/dist/components/viewers/docx-viewer/docx-loader.js +1 -1
  314. package/dist/components/viewers/docx-viewer/docx-resource-guard.js +1 -1
  315. package/dist/components/viewers/docx-viewer/docx-viewer.class.d.ts +3 -3
  316. package/dist/components/viewers/docx-viewer/docx-viewer.class.js +3 -3
  317. package/dist/components/viewers/ebook-viewer/ebook-loader.js +1 -1
  318. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts +1 -1
  319. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +2 -1
  320. package/dist/components/viewers/ebook-viewer/epub-resource-guard.js +1 -1
  321. package/dist/components/viewers/email-viewer/email-viewer.class.d.ts +1 -1
  322. package/dist/components/viewers/email-viewer/email-viewer.class.js +2 -2
  323. package/dist/components/viewers/geojson-view/geojson-viewer.class.d.ts +1 -4
  324. package/dist/components/viewers/geojson-view/geojson-viewer.class.js +1 -1
  325. package/dist/components/viewers/highlight-layer/highlight-layer.class.js +1 -1
  326. package/dist/components/viewers/html-viewer/html-viewer.class.d.ts +3 -1
  327. package/dist/components/viewers/html-viewer/html-viewer.class.js +1 -1
  328. package/dist/components/viewers/html-viewer/html-viewer.styles.js +1 -1
  329. package/dist/components/viewers/notebook-viewer/dompurify-loader.js +1 -1
  330. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +1 -1
  331. package/dist/components/viewers/page-rail/page-rail.class.js +2 -2
  332. package/dist/components/viewers/passive-markup.js +1 -1
  333. package/dist/components/viewers/pdf-viewer/pdf-loader.js +1 -1
  334. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +2 -2
  335. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +4 -4
  336. package/dist/components/viewers/pptx-viewer/pptx-loader.js +1 -1
  337. package/dist/components/viewers/pptx-viewer/pptx-resource-guard.js +1 -1
  338. package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js +1 -1
  339. package/dist/components/viewers/region-highlight-layer.js +15 -2
  340. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +2 -2
  341. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +4 -18
  342. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.styles.js +1 -1
  343. package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts +1 -1
  344. package/dist/components/viewers/svg-viewer/svg-viewer.class.js +2 -15
  345. package/dist/components/viewers/svg-viewer/svg-viewer.styles.js +1 -1
  346. package/dist/components/viewers/table-viewer-shared.js +15 -1
  347. package/dist/components/viewers/table-viewer-shared.styles.js +1 -0
  348. package/dist/events.d.ts +19 -18
  349. package/dist/framework-types.d.ts +1 -1
  350. package/dist/internal/accessibility-visibility.d.ts +3 -1
  351. package/dist/internal/accessibility-visibility.js +1 -1
  352. package/dist/internal/accessible-text-controller.js +1 -1
  353. package/dist/internal/active-element.d.ts +11 -0
  354. package/dist/internal/active-element.js +1 -1
  355. package/dist/internal/adjacent-runs.js +1 -1
  356. package/dist/internal/approval-wait-until.d.ts +7 -0
  357. package/dist/internal/approval-wait-until.js +1 -0
  358. package/dist/internal/aria-controls.js +1 -1
  359. package/dist/internal/catalog-picker.d.ts +2 -2
  360. package/dist/internal/catalog-picker.js +1 -1
  361. package/dist/internal/composed-tree.d.ts +18 -0
  362. package/dist/internal/composed-tree.js +1 -1
  363. package/dist/internal/copy-feedback.js +1 -0
  364. package/dist/internal/css-length.js +1 -1
  365. package/dist/internal/css-motion-time.js +1 -1
  366. package/dist/internal/css-number.js +1 -0
  367. package/dist/internal/default-strings.generated.js +1 -1
  368. package/dist/internal/deferred-focus-return.d.ts +33 -0
  369. package/dist/internal/deferred-focus-return.js +1 -1
  370. package/dist/internal/fixed-containing-block.js +1 -1
  371. package/dist/internal/form-associated.d.ts +38 -2
  372. package/dist/internal/form-associated.js +1 -1
  373. package/dist/internal/form-control-element.d.ts +13 -0
  374. package/dist/internal/form-control-element.js +1 -0
  375. package/dist/internal/form-control.styles.js +1 -1
  376. package/dist/internal/inherited-attribute-hub.js +1 -1
  377. package/dist/internal/locale-loaders.generated.js +1 -1
  378. package/dist/internal/localization-types.d.ts +1 -1
  379. package/dist/internal/localization.js +1 -1
  380. package/dist/internal/modal-surface-controller.js +1 -1
  381. package/dist/internal/object-guards.js +1 -1
  382. package/dist/internal/optional-peer-capabilities.d.ts +3 -1
  383. package/dist/internal/optional-peer-capabilities.js +1 -1
  384. package/dist/internal/orientation-breakpoint.js +1 -1
  385. package/dist/internal/overlay-manager.d.ts +6 -1
  386. package/dist/internal/overlay-manager.js +1 -1
  387. package/dist/internal/overlay-stack.d.ts +7 -3
  388. package/dist/internal/overlay-stack.js +1 -1
  389. package/dist/internal/package-metadata.js +1 -1
  390. package/dist/internal/persisted-restore.js +1 -1
  391. package/dist/internal/popup-controller.js +1 -0
  392. package/dist/internal/rendered-tree-traversal.d.ts +3 -1
  393. package/dist/internal/rendered-tree-traversal.js +1 -1
  394. package/dist/internal/retry-forwarder.js +1 -0
  395. package/dist/internal/roving-toolbar.js +1 -1
  396. package/dist/internal/scoped-definitions.generated.js +1 -1
  397. package/dist/internal/score-tiers.d.ts +4 -0
  398. package/dist/internal/score-tiers.js +1 -0
  399. package/dist/internal/semantic-variant.d.ts +7 -0
  400. package/dist/internal/semantic-variant.js +1 -0
  401. package/dist/internal/shared-unions.d.ts +1 -1
  402. package/dist/internal/viewer-search.js +1 -1
  403. package/dist/lyra.d.ts +1 -1
  404. package/dist/testing/happy-dom-shims.d.ts +18 -0
  405. package/dist/testing/happy-dom-shims.js +1 -1
  406. package/dist/testing/index.d.ts +1 -1
  407. package/dist/testing/index.js +1 -1
  408. package/llms/components/lr-accordion-item.md +1 -1
  409. package/llms/components/lr-accordion.md +1 -1
  410. package/llms/components/lr-alert.md +2 -2
  411. package/llms/components/lr-app-rail-group.md +1 -1
  412. package/llms/components/lr-app-rail-item.md +1 -1
  413. package/llms/components/lr-app-rail.md +1 -1
  414. package/llms/components/lr-attachment-chip.md +1 -10
  415. package/llms/components/lr-attachment-trigger.md +0 -10
  416. package/llms/components/lr-avatar.md +4 -8
  417. package/llms/components/lr-badge.md +16 -20
  418. package/llms/components/lr-box-plot.md +1 -1
  419. package/llms/components/lr-breadcrumb-item.md +1 -1
  420. package/llms/components/lr-breadcrumb.md +1 -1
  421. package/llms/components/lr-button-group.md +1 -1
  422. package/llms/components/lr-button.md +1 -1
  423. package/llms/components/lr-calendar.md +1 -1
  424. package/llms/components/lr-callout.md +3 -13
  425. package/llms/components/lr-card.md +1 -1
  426. package/llms/components/lr-carousel-item.md +1 -1
  427. package/llms/components/lr-carousel.md +1 -1
  428. package/llms/components/lr-chart.md +5 -7
  429. package/llms/components/lr-checkbox-group.md +1 -1
  430. package/llms/components/lr-checkbox.md +2 -1
  431. package/llms/components/lr-chip.md +3 -17
  432. package/llms/components/lr-chunk-inspector.md +2 -1
  433. package/llms/components/lr-citation-badge.md +2 -2
  434. package/llms/components/lr-code-block.md +0 -10
  435. package/llms/components/lr-code-editor.md +1 -1
  436. package/llms/components/lr-color-picker.md +1 -1
  437. package/llms/components/lr-combobox.md +6 -3
  438. package/llms/components/lr-command-palette.md +5 -2
  439. package/llms/components/lr-commit-card.md +1 -3
  440. package/llms/components/lr-condition-builder.md +1 -1
  441. package/llms/components/lr-confirm-bar.md +7 -13
  442. package/llms/components/lr-connector-manager.md +3 -1
  443. package/llms/components/lr-context-inspector.md +1 -1
  444. package/llms/components/lr-context-meter.md +1 -1
  445. package/llms/components/lr-control-group.md +1 -1
  446. package/llms/components/lr-copy-button.md +8 -10
  447. package/llms/components/lr-country-picker.md +1 -1
  448. package/llms/components/lr-currency-picker.md +1 -1
  449. package/llms/components/lr-dashboard-grid.md +1 -1
  450. package/llms/components/lr-data-grid.md +1 -1
  451. package/llms/components/lr-date-input.md +1 -1
  452. package/llms/components/lr-date-picker.md +11 -4
  453. package/llms/components/lr-details.md +1 -1
  454. package/llms/components/lr-dialog.md +8 -31
  455. package/llms/components/lr-diff-view.md +1 -1
  456. package/llms/components/lr-divider.md +1 -1
  457. package/llms/components/lr-dock-panel.md +1 -1
  458. package/llms/components/lr-document-library.md +1 -1
  459. package/llms/components/lr-drawer.md +1 -13
  460. package/llms/components/lr-drilldown-panel.md +1 -1
  461. package/llms/components/lr-drop-zone.md +4 -0
  462. package/llms/components/lr-dropdown-item.md +1 -1
  463. package/llms/components/lr-ebook-viewer.md +4 -3
  464. package/llms/components/lr-emoji-picker.md +1 -1
  465. package/llms/components/lr-entity-chip.md +2 -2
  466. package/llms/components/lr-env-list.md +1 -1
  467. package/llms/components/lr-eval-dataset.md +4 -19
  468. package/llms/components/lr-export-button.md +3 -3
  469. package/llms/components/lr-file-icon.md +0 -5
  470. package/llms/components/lr-file-input.md +3 -5
  471. package/llms/components/lr-file-tree.md +1 -1
  472. package/llms/components/lr-filter-bar.md +5 -1
  473. package/llms/components/lr-flag.md +1 -2
  474. package/llms/components/lr-flow-canvas.md +1 -1
  475. package/llms/components/lr-flow-controls.md +1 -1
  476. package/llms/components/lr-flow-minimap.md +2 -2
  477. package/llms/components/lr-flow-node.md +1 -1
  478. package/llms/components/lr-flow-run-status.md +1 -1
  479. package/llms/components/lr-format-bytes.md +2 -3
  480. package/llms/components/lr-format-date.md +2 -3
  481. package/llms/components/lr-format-number.md +1 -1
  482. package/llms/components/lr-funnel.md +1 -1
  483. package/llms/components/lr-gauge.md +1 -1
  484. package/llms/components/lr-generation-metrics.md +1 -1
  485. package/llms/components/lr-graph-query-builder.md +1 -1
  486. package/llms/components/lr-heatmap.md +1 -1
  487. package/llms/components/lr-icon-button.md +1 -1
  488. package/llms/components/lr-icon.md +1 -1
  489. package/llms/components/lr-input.md +1 -1
  490. package/llms/components/lr-intersection-observer.md +1 -1
  491. package/llms/components/lr-json-viewer.md +1 -1
  492. package/llms/components/lr-knowledge-graph-explorer.md +2 -2
  493. package/llms/components/lr-known-date.md +1 -1
  494. package/llms/components/lr-lite-chart.md +3 -4
  495. package/llms/components/lr-live-region.md +1 -1
  496. package/llms/components/lr-locale-picker.md +1 -1
  497. package/llms/components/lr-map.md +1 -3
  498. package/llms/components/lr-media-card.md +1 -10
  499. package/llms/components/lr-memory-panel.md +2 -0
  500. package/llms/components/lr-mention-popover.md +3 -3
  501. package/llms/components/lr-menu-item.md +1 -1
  502. package/llms/components/lr-menu-label.md +1 -1
  503. package/llms/components/lr-menu.md +1 -1
  504. package/llms/components/lr-menubar-item.md +1 -1
  505. package/llms/components/lr-menubar.md +1 -1
  506. package/llms/components/lr-message-actions.md +1 -11
  507. package/llms/components/lr-message-parts.md +3 -5
  508. package/llms/components/lr-model-select.md +2 -4
  509. package/llms/components/lr-multi-split.md +1 -1
  510. package/llms/components/lr-mutation-observer.md +2 -2
  511. package/llms/components/lr-native-time-input.md +1 -1
  512. package/llms/components/lr-navigation-menu-item.md +1 -1
  513. package/llms/components/lr-navigation-menu.md +1 -1
  514. package/llms/components/lr-number-input.md +1 -1
  515. package/llms/components/lr-option.md +1 -1
  516. package/llms/components/lr-otp-input.md +1 -1
  517. package/llms/components/lr-page.md +1 -1
  518. package/llms/components/lr-pagination.md +1 -1
  519. package/llms/components/lr-pan-zoom.md +1 -3
  520. package/llms/components/lr-permission-grant.md +3 -1
  521. package/llms/components/lr-phone-input.md +7 -5
  522. package/llms/components/lr-poll-status.md +1 -1
  523. package/llms/components/lr-popover.md +5 -9
  524. package/llms/components/lr-popup.md +1 -3
  525. package/llms/components/lr-progress-bar.md +2 -1
  526. package/llms/components/lr-progress-ring.md +4 -8
  527. package/llms/components/lr-prompt-input.md +3 -1
  528. package/llms/components/lr-prompt-studio.md +4 -4
  529. package/llms/components/lr-radio-button.md +2 -2
  530. package/llms/components/lr-radio-group.md +1 -1
  531. package/llms/components/lr-radio.md +3 -2
  532. package/llms/components/lr-random-content.md +1 -1
  533. package/llms/components/lr-rating.md +2 -3
  534. package/llms/components/lr-relative-time.md +2 -3
  535. package/llms/components/lr-reorder-item.md +1 -1
  536. package/llms/components/lr-reorder-list.md +1 -1
  537. package/llms/components/lr-research-progress.md +2 -0
  538. package/llms/components/lr-resize-observer.md +1 -1
  539. package/llms/components/lr-responsive-panel.md +1 -1
  540. package/llms/components/lr-retrieval-compare.md +2 -0
  541. package/llms/components/lr-retrieval-trace.md +2 -0
  542. package/llms/components/lr-rubric-form.md +1 -1
  543. package/llms/components/lr-scroller.md +1 -1
  544. package/llms/components/lr-segmented.md +1 -1
  545. package/llms/components/lr-select.md +1 -1
  546. package/llms/components/lr-sequence-playback.md +1 -2
  547. package/llms/components/lr-sequence-strip.md +1 -1
  548. package/llms/components/lr-signature-pad.md +1 -1
  549. package/llms/components/lr-skeleton.md +2 -4
  550. package/llms/components/lr-slider.md +1 -1
  551. package/llms/components/lr-sparkline.md +1 -1
  552. package/llms/components/lr-split-panel.md +1 -1
  553. package/llms/components/lr-stat.md +1 -1
  554. package/llms/components/lr-stepper.md +1 -1
  555. package/llms/components/lr-swatch-picker.md +1 -1
  556. package/llms/components/lr-switch.md +2 -1
  557. package/llms/components/lr-tab-group.md +1 -1
  558. package/llms/components/lr-tab-panel.md +1 -1
  559. package/llms/components/lr-tab.md +1 -1
  560. package/llms/components/lr-table.md +3 -3
  561. package/llms/components/lr-task-list.md +3 -3
  562. package/llms/components/lr-test-results.md +2 -4
  563. package/llms/components/lr-textarea.md +1 -1
  564. package/llms/components/lr-time-input.md +1 -1
  565. package/llms/components/lr-time-range.md +5 -4
  566. package/llms/components/lr-time-zone-picker.md +1 -1
  567. package/llms/components/lr-timeline-item.md +1 -1
  568. package/llms/components/lr-timeline.md +1 -1
  569. package/llms/components/lr-toggle-group.md +1 -1
  570. package/llms/components/lr-toggle.md +1 -1
  571. package/llms/components/lr-token-input.md +1 -1
  572. package/llms/components/lr-tool-approval-dialog.md +12 -10
  573. package/llms/components/lr-tool-call-block.md +1 -1
  574. package/llms/components/lr-tool-call-chip.md +1 -3
  575. package/llms/components/lr-tool-result-view.md +3 -3
  576. package/llms/components/lr-tool-timeline.md +2 -2
  577. package/llms/components/lr-tooltip.md +8 -11
  578. package/llms/components/lr-tour.md +2 -2
  579. package/llms/components/lr-tree-item.md +1 -1
  580. package/llms/components/lr-tree.md +1 -1
  581. package/llms/components/lr-unit-picker.md +1 -1
  582. package/llms/components/lr-usage-badge.md +1 -3
  583. package/llms/components/lr-video.md +1 -2
  584. package/llms/components/lr-virtual-list.md +1 -1
  585. package/llms/components/lr-visually-hidden.md +1 -1
  586. package/llms/components/lr-voice-picker.md +1 -1
  587. package/llms/components/lr-widget.md +1 -1
  588. package/llms/components/lr-word-cloud.md +1 -1
  589. package/llms/components/lr-zoomable-frame.md +1 -6
  590. package/llms/migration.md +96 -2
  591. package/llms/peers.md +3 -2
  592. package/llms/shared/ai-and-peers.md +2 -2
  593. package/llms/shared/events-and-types.md +4 -1
  594. package/llms/shared/imports-and-registration.md +2 -2
  595. package/llms/shared/localization-and-rtl.md +18 -18
  596. package/llms/shared/styles-and-tokens.md +1 -1
  597. package/llms/shared/testing-and-utilities.md +44 -43
  598. package/llms/shared.md +71 -67
  599. package/llms.txt +14 -12
  600. package/locales.json +1002 -1002
  601. package/package.json +16 -6879
  602. package/registrations.json +1 -1
  603. package/skills/compose-lyra-interfaces/SKILL.md +60 -0
  604. package/skills/compose-lyra-interfaces/agents/openai.yaml +4 -0
  605. package/skills/compose-lyra-interfaces/references/composition-patterns.md +77 -0
  606. package/skills/lyra-ui/SKILL.md +145 -0
  607. package/skills/lyra-ui/commands/frontend.md +37 -0
  608. package/skills/lyra-ui/commands/migrate.md +44 -0
  609. package/skills/lyra-ui/commands/new-component.md +19 -0
  610. package/skills/lyra-ui/commands/review.md +247 -0
  611. package/skills/lyra-ui/commands/update.md +30 -0
  612. package/skills/lyra-ui/reporting.md +137 -0
  613. package/custom-elements.json +0 -1
  614. package/dist/internal/side-effect-only.d.ts +0 -1
  615. package/dist/translations/am/agent-tools.js +0 -1
  616. package/dist/translations/am/charts.js +0 -1
  617. package/dist/translations/am/conversation.js +0 -1
  618. package/dist/translations/am/data.js +0 -1
  619. package/dist/translations/am/forms.js +0 -1
  620. package/dist/translations/am/layout.js +0 -1
  621. package/dist/translations/am/media.js +0 -1
  622. package/dist/translations/am/overlays.js +0 -1
  623. package/dist/translations/am/retrieval.js +0 -1
  624. package/dist/translations/am/shared.js +0 -1
  625. package/dist/translations/am/utility.js +0 -1
  626. package/dist/translations/am/viewers.js +0 -5
  627. package/dist/translations/am.js +0 -1
  628. package/dist/translations/ar/agent-tools.js +0 -1
  629. package/dist/translations/ar/charts.js +0 -1
  630. package/dist/translations/ar/conversation.js +0 -1
  631. package/dist/translations/ar/data.js +0 -1
  632. package/dist/translations/ar/forms.js +0 -1
  633. package/dist/translations/ar/layout.js +0 -1
  634. package/dist/translations/ar/media.js +0 -1
  635. package/dist/translations/ar/overlays.js +0 -1
  636. package/dist/translations/ar/retrieval.js +0 -1
  637. package/dist/translations/ar/shared.js +0 -1
  638. package/dist/translations/ar/utility.js +0 -1
  639. package/dist/translations/ar/viewers.js +0 -5
  640. package/dist/translations/ar.js +0 -1
  641. package/dist/translations/bho/agent-tools.js +0 -1
  642. package/dist/translations/bho/charts.js +0 -1
  643. package/dist/translations/bho/conversation.js +0 -1
  644. package/dist/translations/bho/data.js +0 -1
  645. package/dist/translations/bho/forms.js +0 -1
  646. package/dist/translations/bho/layout.js +0 -1
  647. package/dist/translations/bho/media.js +0 -1
  648. package/dist/translations/bho/overlays.js +0 -1
  649. package/dist/translations/bho/retrieval.js +0 -1
  650. package/dist/translations/bho/shared.js +0 -1
  651. package/dist/translations/bho/utility.js +0 -1
  652. package/dist/translations/bho/viewers.js +0 -5
  653. package/dist/translations/bho.js +0 -1
  654. package/dist/translations/bn/agent-tools.js +0 -1
  655. package/dist/translations/bn/charts.js +0 -1
  656. package/dist/translations/bn/conversation.js +0 -1
  657. package/dist/translations/bn/data.js +0 -1
  658. package/dist/translations/bn/forms.js +0 -1
  659. package/dist/translations/bn/layout.js +0 -1
  660. package/dist/translations/bn/media.js +0 -1
  661. package/dist/translations/bn/overlays.js +0 -1
  662. package/dist/translations/bn/retrieval.js +0 -1
  663. package/dist/translations/bn/shared.js +0 -1
  664. package/dist/translations/bn/utility.js +0 -1
  665. package/dist/translations/bn/viewers.js +0 -5
  666. package/dist/translations/bn.js +0 -1
  667. package/dist/translations/cs/agent-tools.js +0 -1
  668. package/dist/translations/cs/charts.js +0 -1
  669. package/dist/translations/cs/conversation.js +0 -1
  670. package/dist/translations/cs/data.js +0 -1
  671. package/dist/translations/cs/forms.js +0 -1
  672. package/dist/translations/cs/layout.js +0 -1
  673. package/dist/translations/cs/media.js +0 -1
  674. package/dist/translations/cs/overlays.js +0 -1
  675. package/dist/translations/cs/retrieval.js +0 -1
  676. package/dist/translations/cs/shared.js +0 -1
  677. package/dist/translations/cs/utility.js +0 -1
  678. package/dist/translations/cs/viewers.js +0 -5
  679. package/dist/translations/cs.js +0 -1
  680. package/dist/translations/da/agent-tools.js +0 -1
  681. package/dist/translations/da/charts.js +0 -1
  682. package/dist/translations/da/conversation.js +0 -1
  683. package/dist/translations/da/data.js +0 -1
  684. package/dist/translations/da/forms.js +0 -1
  685. package/dist/translations/da/layout.js +0 -1
  686. package/dist/translations/da/media.js +0 -1
  687. package/dist/translations/da/overlays.js +0 -1
  688. package/dist/translations/da/retrieval.js +0 -1
  689. package/dist/translations/da/shared.js +0 -1
  690. package/dist/translations/da/utility.js +0 -1
  691. package/dist/translations/da/viewers.js +0 -5
  692. package/dist/translations/da.js +0 -1
  693. package/dist/translations/de/agent-tools.js +0 -1
  694. package/dist/translations/de/charts.js +0 -1
  695. package/dist/translations/de/conversation.js +0 -1
  696. package/dist/translations/de/data.js +0 -1
  697. package/dist/translations/de/forms.js +0 -1
  698. package/dist/translations/de/layout.js +0 -1
  699. package/dist/translations/de/media.js +0 -1
  700. package/dist/translations/de/overlays.js +0 -1
  701. package/dist/translations/de/retrieval.js +0 -1
  702. package/dist/translations/de/shared.js +0 -1
  703. package/dist/translations/de/utility.js +0 -1
  704. package/dist/translations/de/viewers.js +0 -5
  705. package/dist/translations/de-CH/agent-tools.js +0 -1
  706. package/dist/translations/de-CH/charts.js +0 -1
  707. package/dist/translations/de-CH/conversation.js +0 -1
  708. package/dist/translations/de-CH/data.js +0 -1
  709. package/dist/translations/de-CH/forms.js +0 -1
  710. package/dist/translations/de-CH/layout.js +0 -1
  711. package/dist/translations/de-CH/media.js +0 -1
  712. package/dist/translations/de-CH/overlays.js +0 -1
  713. package/dist/translations/de-CH/retrieval.js +0 -1
  714. package/dist/translations/de-CH/shared.js +0 -1
  715. package/dist/translations/de-CH/utility.js +0 -1
  716. package/dist/translations/de-CH/viewers.js +0 -1
  717. package/dist/translations/de-CH.js +0 -1
  718. package/dist/translations/de.js +0 -1
  719. package/dist/translations/el/agent-tools.js +0 -1
  720. package/dist/translations/el/charts.js +0 -1
  721. package/dist/translations/el/conversation.js +0 -1
  722. package/dist/translations/el/data.js +0 -1
  723. package/dist/translations/el/forms.js +0 -1
  724. package/dist/translations/el/layout.js +0 -1
  725. package/dist/translations/el/media.js +0 -1
  726. package/dist/translations/el/overlays.js +0 -1
  727. package/dist/translations/el/retrieval.js +0 -1
  728. package/dist/translations/el/shared.js +0 -1
  729. package/dist/translations/el/utility.js +0 -1
  730. package/dist/translations/el/viewers.js +0 -5
  731. package/dist/translations/el.js +0 -1
  732. package/dist/translations/es/agent-tools.js +0 -1
  733. package/dist/translations/es/charts.js +0 -1
  734. package/dist/translations/es/conversation.js +0 -1
  735. package/dist/translations/es/data.js +0 -1
  736. package/dist/translations/es/forms.js +0 -1
  737. package/dist/translations/es/layout.js +0 -1
  738. package/dist/translations/es/media.js +0 -1
  739. package/dist/translations/es/overlays.js +0 -1
  740. package/dist/translations/es/retrieval.js +0 -1
  741. package/dist/translations/es/shared.js +0 -1
  742. package/dist/translations/es/utility.js +0 -1
  743. package/dist/translations/es/viewers.js +0 -5
  744. package/dist/translations/es.js +0 -1
  745. package/dist/translations/fa/agent-tools.js +0 -1
  746. package/dist/translations/fa/charts.js +0 -1
  747. package/dist/translations/fa/conversation.js +0 -1
  748. package/dist/translations/fa/data.js +0 -1
  749. package/dist/translations/fa/forms.js +0 -1
  750. package/dist/translations/fa/layout.js +0 -1
  751. package/dist/translations/fa/media.js +0 -1
  752. package/dist/translations/fa/overlays.js +0 -1
  753. package/dist/translations/fa/retrieval.js +0 -1
  754. package/dist/translations/fa/shared.js +0 -1
  755. package/dist/translations/fa/utility.js +0 -1
  756. package/dist/translations/fa/viewers.js +0 -5
  757. package/dist/translations/fa-AF/agent-tools.js +0 -1
  758. package/dist/translations/fa-AF/charts.js +0 -1
  759. package/dist/translations/fa-AF/conversation.js +0 -1
  760. package/dist/translations/fa-AF/data.js +0 -1
  761. package/dist/translations/fa-AF/forms.js +0 -1
  762. package/dist/translations/fa-AF/layout.js +0 -1
  763. package/dist/translations/fa-AF/media.js +0 -1
  764. package/dist/translations/fa-AF/overlays.js +0 -1
  765. package/dist/translations/fa-AF/retrieval.js +0 -1
  766. package/dist/translations/fa-AF/shared.js +0 -1
  767. package/dist/translations/fa-AF/utility.js +0 -1
  768. package/dist/translations/fa-AF/viewers.js +0 -5
  769. package/dist/translations/fa-AF.js +0 -1
  770. package/dist/translations/fa.js +0 -1
  771. package/dist/translations/fi/agent-tools.js +0 -1
  772. package/dist/translations/fi/charts.js +0 -1
  773. package/dist/translations/fi/conversation.js +0 -1
  774. package/dist/translations/fi/data.js +0 -1
  775. package/dist/translations/fi/forms.js +0 -1
  776. package/dist/translations/fi/layout.js +0 -1
  777. package/dist/translations/fi/media.js +0 -1
  778. package/dist/translations/fi/overlays.js +0 -1
  779. package/dist/translations/fi/retrieval.js +0 -1
  780. package/dist/translations/fi/shared.js +0 -1
  781. package/dist/translations/fi/utility.js +0 -1
  782. package/dist/translations/fi/viewers.js +0 -5
  783. package/dist/translations/fi.js +0 -1
  784. package/dist/translations/fr/agent-tools.js +0 -1
  785. package/dist/translations/fr/charts.js +0 -1
  786. package/dist/translations/fr/conversation.js +0 -1
  787. package/dist/translations/fr/data.js +0 -1
  788. package/dist/translations/fr/forms.js +0 -1
  789. package/dist/translations/fr/layout.js +0 -1
  790. package/dist/translations/fr/media.js +0 -1
  791. package/dist/translations/fr/overlays.js +0 -1
  792. package/dist/translations/fr/retrieval.js +0 -1
  793. package/dist/translations/fr/shared.js +0 -1
  794. package/dist/translations/fr/utility.js +0 -1
  795. package/dist/translations/fr/viewers.js +0 -5
  796. package/dist/translations/fr.js +0 -1
  797. package/dist/translations/gu/agent-tools.js +0 -1
  798. package/dist/translations/gu/charts.js +0 -1
  799. package/dist/translations/gu/conversation.js +0 -1
  800. package/dist/translations/gu/data.js +0 -1
  801. package/dist/translations/gu/forms.js +0 -1
  802. package/dist/translations/gu/layout.js +0 -1
  803. package/dist/translations/gu/media.js +0 -1
  804. package/dist/translations/gu/overlays.js +0 -1
  805. package/dist/translations/gu/retrieval.js +0 -1
  806. package/dist/translations/gu/shared.js +0 -1
  807. package/dist/translations/gu/utility.js +0 -1
  808. package/dist/translations/gu/viewers.js +0 -5
  809. package/dist/translations/gu.js +0 -1
  810. package/dist/translations/ha/agent-tools.js +0 -1
  811. package/dist/translations/ha/charts.js +0 -1
  812. package/dist/translations/ha/conversation.js +0 -1
  813. package/dist/translations/ha/data.js +0 -1
  814. package/dist/translations/ha/forms.js +0 -1
  815. package/dist/translations/ha/layout.js +0 -1
  816. package/dist/translations/ha/media.js +0 -1
  817. package/dist/translations/ha/overlays.js +0 -1
  818. package/dist/translations/ha/retrieval.js +0 -1
  819. package/dist/translations/ha/shared.js +0 -1
  820. package/dist/translations/ha/utility.js +0 -1
  821. package/dist/translations/ha/viewers.js +0 -5
  822. package/dist/translations/ha.js +0 -1
  823. package/dist/translations/he/agent-tools.js +0 -1
  824. package/dist/translations/he/charts.js +0 -1
  825. package/dist/translations/he/conversation.js +0 -1
  826. package/dist/translations/he/data.js +0 -1
  827. package/dist/translations/he/forms.js +0 -1
  828. package/dist/translations/he/layout.js +0 -1
  829. package/dist/translations/he/media.js +0 -1
  830. package/dist/translations/he/overlays.js +0 -1
  831. package/dist/translations/he/retrieval.js +0 -1
  832. package/dist/translations/he/shared.js +0 -1
  833. package/dist/translations/he/utility.js +0 -1
  834. package/dist/translations/he/viewers.js +0 -5
  835. package/dist/translations/he.js +0 -1
  836. package/dist/translations/hi/agent-tools.js +0 -1
  837. package/dist/translations/hi/charts.js +0 -1
  838. package/dist/translations/hi/conversation.js +0 -1
  839. package/dist/translations/hi/data.js +0 -1
  840. package/dist/translations/hi/forms.js +0 -1
  841. package/dist/translations/hi/layout.js +0 -1
  842. package/dist/translations/hi/media.js +0 -1
  843. package/dist/translations/hi/overlays.js +0 -1
  844. package/dist/translations/hi/retrieval.js +0 -1
  845. package/dist/translations/hi/shared.js +0 -1
  846. package/dist/translations/hi/utility.js +0 -1
  847. package/dist/translations/hi/viewers.js +0 -5
  848. package/dist/translations/hi.js +0 -1
  849. package/dist/translations/hr/agent-tools.js +0 -1
  850. package/dist/translations/hr/charts.js +0 -1
  851. package/dist/translations/hr/conversation.js +0 -1
  852. package/dist/translations/hr/data.js +0 -1
  853. package/dist/translations/hr/forms.js +0 -1
  854. package/dist/translations/hr/layout.js +0 -1
  855. package/dist/translations/hr/media.js +0 -1
  856. package/dist/translations/hr/overlays.js +0 -1
  857. package/dist/translations/hr/retrieval.js +0 -1
  858. package/dist/translations/hr/shared.js +0 -1
  859. package/dist/translations/hr/utility.js +0 -1
  860. package/dist/translations/hr/viewers.js +0 -5
  861. package/dist/translations/hr.js +0 -1
  862. package/dist/translations/hu/agent-tools.js +0 -1
  863. package/dist/translations/hu/charts.js +0 -1
  864. package/dist/translations/hu/conversation.js +0 -1
  865. package/dist/translations/hu/data.js +0 -1
  866. package/dist/translations/hu/forms.js +0 -1
  867. package/dist/translations/hu/layout.js +0 -1
  868. package/dist/translations/hu/media.js +0 -1
  869. package/dist/translations/hu/overlays.js +0 -1
  870. package/dist/translations/hu/retrieval.js +0 -1
  871. package/dist/translations/hu/shared.js +0 -1
  872. package/dist/translations/hu/utility.js +0 -1
  873. package/dist/translations/hu/viewers.js +0 -5
  874. package/dist/translations/hu.js +0 -1
  875. package/dist/translations/id/agent-tools.js +0 -1
  876. package/dist/translations/id/charts.js +0 -1
  877. package/dist/translations/id/conversation.js +0 -1
  878. package/dist/translations/id/data.js +0 -1
  879. package/dist/translations/id/forms.js +0 -1
  880. package/dist/translations/id/layout.js +0 -1
  881. package/dist/translations/id/media.js +0 -1
  882. package/dist/translations/id/overlays.js +0 -1
  883. package/dist/translations/id/retrieval.js +0 -1
  884. package/dist/translations/id/shared.js +0 -1
  885. package/dist/translations/id/utility.js +0 -1
  886. package/dist/translations/id/viewers.js +0 -5
  887. package/dist/translations/id.js +0 -1
  888. package/dist/translations/ig/agent-tools.js +0 -1
  889. package/dist/translations/ig/charts.js +0 -1
  890. package/dist/translations/ig/conversation.js +0 -1
  891. package/dist/translations/ig/data.js +0 -1
  892. package/dist/translations/ig/forms.js +0 -1
  893. package/dist/translations/ig/layout.js +0 -1
  894. package/dist/translations/ig/media.js +0 -1
  895. package/dist/translations/ig/overlays.js +0 -1
  896. package/dist/translations/ig/retrieval.js +0 -1
  897. package/dist/translations/ig/shared.js +0 -1
  898. package/dist/translations/ig/utility.js +0 -1
  899. package/dist/translations/ig/viewers.js +0 -5
  900. package/dist/translations/ig.js +0 -1
  901. package/dist/translations/it/agent-tools.js +0 -1
  902. package/dist/translations/it/charts.js +0 -1
  903. package/dist/translations/it/conversation.js +0 -1
  904. package/dist/translations/it/data.js +0 -1
  905. package/dist/translations/it/forms.js +0 -1
  906. package/dist/translations/it/layout.js +0 -1
  907. package/dist/translations/it/media.js +0 -1
  908. package/dist/translations/it/overlays.js +0 -1
  909. package/dist/translations/it/retrieval.js +0 -1
  910. package/dist/translations/it/shared.js +0 -1
  911. package/dist/translations/it/utility.js +0 -1
  912. package/dist/translations/it/viewers.js +0 -5
  913. package/dist/translations/it.js +0 -1
  914. package/dist/translations/ja/agent-tools.js +0 -1
  915. package/dist/translations/ja/charts.js +0 -1
  916. package/dist/translations/ja/conversation.js +0 -1
  917. package/dist/translations/ja/data.js +0 -1
  918. package/dist/translations/ja/forms.js +0 -1
  919. package/dist/translations/ja/layout.js +0 -1
  920. package/dist/translations/ja/media.js +0 -1
  921. package/dist/translations/ja/overlays.js +0 -1
  922. package/dist/translations/ja/retrieval.js +0 -1
  923. package/dist/translations/ja/shared.js +0 -1
  924. package/dist/translations/ja/utility.js +0 -1
  925. package/dist/translations/ja/viewers.js +0 -4
  926. package/dist/translations/ja.js +0 -1
  927. package/dist/translations/jv/agent-tools.js +0 -1
  928. package/dist/translations/jv/charts.js +0 -1
  929. package/dist/translations/jv/conversation.js +0 -1
  930. package/dist/translations/jv/data.js +0 -1
  931. package/dist/translations/jv/forms.js +0 -1
  932. package/dist/translations/jv/layout.js +0 -1
  933. package/dist/translations/jv/media.js +0 -1
  934. package/dist/translations/jv/overlays.js +0 -1
  935. package/dist/translations/jv/retrieval.js +0 -1
  936. package/dist/translations/jv/shared.js +0 -1
  937. package/dist/translations/jv/utility.js +0 -1
  938. package/dist/translations/jv/viewers.js +0 -5
  939. package/dist/translations/jv.js +0 -1
  940. package/dist/translations/kk/agent-tools.js +0 -1
  941. package/dist/translations/kk/charts.js +0 -1
  942. package/dist/translations/kk/conversation.js +0 -1
  943. package/dist/translations/kk/data.js +0 -1
  944. package/dist/translations/kk/forms.js +0 -1
  945. package/dist/translations/kk/layout.js +0 -1
  946. package/dist/translations/kk/media.js +0 -1
  947. package/dist/translations/kk/overlays.js +0 -1
  948. package/dist/translations/kk/retrieval.js +0 -1
  949. package/dist/translations/kk/shared.js +0 -1
  950. package/dist/translations/kk/utility.js +0 -1
  951. package/dist/translations/kk/viewers.js +0 -5
  952. package/dist/translations/kk.js +0 -1
  953. package/dist/translations/kn/agent-tools.js +0 -1
  954. package/dist/translations/kn/charts.js +0 -1
  955. package/dist/translations/kn/conversation.js +0 -1
  956. package/dist/translations/kn/data.js +0 -1
  957. package/dist/translations/kn/forms.js +0 -1
  958. package/dist/translations/kn/layout.js +0 -1
  959. package/dist/translations/kn/media.js +0 -1
  960. package/dist/translations/kn/overlays.js +0 -1
  961. package/dist/translations/kn/retrieval.js +0 -1
  962. package/dist/translations/kn/shared.js +0 -1
  963. package/dist/translations/kn/utility.js +0 -1
  964. package/dist/translations/kn/viewers.js +0 -5
  965. package/dist/translations/kn.js +0 -1
  966. package/dist/translations/ko/agent-tools.js +0 -1
  967. package/dist/translations/ko/charts.js +0 -1
  968. package/dist/translations/ko/conversation.js +0 -1
  969. package/dist/translations/ko/data.js +0 -1
  970. package/dist/translations/ko/forms.js +0 -1
  971. package/dist/translations/ko/layout.js +0 -1
  972. package/dist/translations/ko/media.js +0 -1
  973. package/dist/translations/ko/overlays.js +0 -1
  974. package/dist/translations/ko/retrieval.js +0 -1
  975. package/dist/translations/ko/shared.js +0 -1
  976. package/dist/translations/ko/utility.js +0 -1
  977. package/dist/translations/ko/viewers.js +0 -5
  978. package/dist/translations/ko.js +0 -1
  979. package/dist/translations/ln/agent-tools.js +0 -1
  980. package/dist/translations/ln/charts.js +0 -1
  981. package/dist/translations/ln/conversation.js +0 -1
  982. package/dist/translations/ln/data.js +0 -1
  983. package/dist/translations/ln/forms.js +0 -1
  984. package/dist/translations/ln/layout.js +0 -1
  985. package/dist/translations/ln/media.js +0 -1
  986. package/dist/translations/ln/overlays.js +0 -1
  987. package/dist/translations/ln/retrieval.js +0 -1
  988. package/dist/translations/ln/shared.js +0 -1
  989. package/dist/translations/ln/utility.js +0 -1
  990. package/dist/translations/ln/viewers.js +0 -5
  991. package/dist/translations/ln.js +0 -1
  992. package/dist/translations/ml/agent-tools.js +0 -1
  993. package/dist/translations/ml/charts.js +0 -1
  994. package/dist/translations/ml/conversation.js +0 -1
  995. package/dist/translations/ml/data.js +0 -1
  996. package/dist/translations/ml/forms.js +0 -1
  997. package/dist/translations/ml/layout.js +0 -1
  998. package/dist/translations/ml/media.js +0 -1
  999. package/dist/translations/ml/overlays.js +0 -1
  1000. package/dist/translations/ml/retrieval.js +0 -1
  1001. package/dist/translations/ml/shared.js +0 -1
  1002. package/dist/translations/ml/utility.js +0 -1
  1003. package/dist/translations/ml/viewers.js +0 -5
  1004. package/dist/translations/ml.js +0 -1
  1005. package/dist/translations/mr/agent-tools.js +0 -1
  1006. package/dist/translations/mr/charts.js +0 -1
  1007. package/dist/translations/mr/conversation.js +0 -1
  1008. package/dist/translations/mr/data.js +0 -1
  1009. package/dist/translations/mr/forms.js +0 -1
  1010. package/dist/translations/mr/layout.js +0 -1
  1011. package/dist/translations/mr/media.js +0 -1
  1012. package/dist/translations/mr/overlays.js +0 -1
  1013. package/dist/translations/mr/retrieval.js +0 -1
  1014. package/dist/translations/mr/shared.js +0 -1
  1015. package/dist/translations/mr/utility.js +0 -1
  1016. package/dist/translations/mr/viewers.js +0 -5
  1017. package/dist/translations/mr.js +0 -1
  1018. package/dist/translations/ms/agent-tools.js +0 -1
  1019. package/dist/translations/ms/charts.js +0 -1
  1020. package/dist/translations/ms/conversation.js +0 -1
  1021. package/dist/translations/ms/data.js +0 -1
  1022. package/dist/translations/ms/forms.js +0 -1
  1023. package/dist/translations/ms/layout.js +0 -1
  1024. package/dist/translations/ms/media.js +0 -1
  1025. package/dist/translations/ms/overlays.js +0 -1
  1026. package/dist/translations/ms/retrieval.js +0 -1
  1027. package/dist/translations/ms/shared.js +0 -1
  1028. package/dist/translations/ms/utility.js +0 -1
  1029. package/dist/translations/ms/viewers.js +0 -5
  1030. package/dist/translations/ms.js +0 -1
  1031. package/dist/translations/my/agent-tools.js +0 -1
  1032. package/dist/translations/my/charts.js +0 -1
  1033. package/dist/translations/my/conversation.js +0 -1
  1034. package/dist/translations/my/data.js +0 -1
  1035. package/dist/translations/my/forms.js +0 -1
  1036. package/dist/translations/my/layout.js +0 -1
  1037. package/dist/translations/my/media.js +0 -1
  1038. package/dist/translations/my/overlays.js +0 -1
  1039. package/dist/translations/my/retrieval.js +0 -1
  1040. package/dist/translations/my/shared.js +0 -1
  1041. package/dist/translations/my/utility.js +0 -1
  1042. package/dist/translations/my/viewers.js +0 -5
  1043. package/dist/translations/my.js +0 -1
  1044. package/dist/translations/nb/agent-tools.js +0 -1
  1045. package/dist/translations/nb/charts.js +0 -1
  1046. package/dist/translations/nb/conversation.js +0 -1
  1047. package/dist/translations/nb/data.js +0 -1
  1048. package/dist/translations/nb/forms.js +0 -1
  1049. package/dist/translations/nb/layout.js +0 -1
  1050. package/dist/translations/nb/media.js +0 -1
  1051. package/dist/translations/nb/overlays.js +0 -1
  1052. package/dist/translations/nb/retrieval.js +0 -1
  1053. package/dist/translations/nb/shared.js +0 -1
  1054. package/dist/translations/nb/utility.js +0 -1
  1055. package/dist/translations/nb/viewers.js +0 -5
  1056. package/dist/translations/nb.js +0 -1
  1057. package/dist/translations/ne/agent-tools.js +0 -1
  1058. package/dist/translations/ne/charts.js +0 -1
  1059. package/dist/translations/ne/conversation.js +0 -1
  1060. package/dist/translations/ne/data.js +0 -1
  1061. package/dist/translations/ne/forms.js +0 -1
  1062. package/dist/translations/ne/layout.js +0 -1
  1063. package/dist/translations/ne/media.js +0 -1
  1064. package/dist/translations/ne/overlays.js +0 -1
  1065. package/dist/translations/ne/retrieval.js +0 -1
  1066. package/dist/translations/ne/shared.js +0 -1
  1067. package/dist/translations/ne/utility.js +0 -1
  1068. package/dist/translations/ne/viewers.js +0 -5
  1069. package/dist/translations/ne.js +0 -1
  1070. package/dist/translations/nl/agent-tools.js +0 -1
  1071. package/dist/translations/nl/charts.js +0 -1
  1072. package/dist/translations/nl/conversation.js +0 -1
  1073. package/dist/translations/nl/data.js +0 -1
  1074. package/dist/translations/nl/forms.js +0 -1
  1075. package/dist/translations/nl/layout.js +0 -1
  1076. package/dist/translations/nl/media.js +0 -1
  1077. package/dist/translations/nl/overlays.js +0 -1
  1078. package/dist/translations/nl/retrieval.js +0 -1
  1079. package/dist/translations/nl/shared.js +0 -1
  1080. package/dist/translations/nl/utility.js +0 -1
  1081. package/dist/translations/nl/viewers.js +0 -5
  1082. package/dist/translations/nl.js +0 -1
  1083. package/dist/translations/nn/agent-tools.js +0 -1
  1084. package/dist/translations/nn/charts.js +0 -1
  1085. package/dist/translations/nn/conversation.js +0 -1
  1086. package/dist/translations/nn/data.js +0 -1
  1087. package/dist/translations/nn/forms.js +0 -1
  1088. package/dist/translations/nn/layout.js +0 -1
  1089. package/dist/translations/nn/media.js +0 -1
  1090. package/dist/translations/nn/overlays.js +0 -1
  1091. package/dist/translations/nn/retrieval.js +0 -1
  1092. package/dist/translations/nn/shared.js +0 -1
  1093. package/dist/translations/nn/utility.js +0 -1
  1094. package/dist/translations/nn/viewers.js +0 -5
  1095. package/dist/translations/nn.js +0 -1
  1096. package/dist/translations/om/agent-tools.js +0 -1
  1097. package/dist/translations/om/charts.js +0 -1
  1098. package/dist/translations/om/conversation.js +0 -1
  1099. package/dist/translations/om/data.js +0 -1
  1100. package/dist/translations/om/forms.js +0 -1
  1101. package/dist/translations/om/layout.js +0 -1
  1102. package/dist/translations/om/media.js +0 -1
  1103. package/dist/translations/om/overlays.js +0 -1
  1104. package/dist/translations/om/retrieval.js +0 -1
  1105. package/dist/translations/om/shared.js +0 -1
  1106. package/dist/translations/om/utility.js +0 -1
  1107. package/dist/translations/om/viewers.js +0 -5
  1108. package/dist/translations/om.js +0 -1
  1109. package/dist/translations/or/agent-tools.js +0 -1
  1110. package/dist/translations/or/charts.js +0 -1
  1111. package/dist/translations/or/conversation.js +0 -1
  1112. package/dist/translations/or/data.js +0 -1
  1113. package/dist/translations/or/forms.js +0 -1
  1114. package/dist/translations/or/layout.js +0 -1
  1115. package/dist/translations/or/media.js +0 -1
  1116. package/dist/translations/or/overlays.js +0 -1
  1117. package/dist/translations/or/retrieval.js +0 -1
  1118. package/dist/translations/or/shared.js +0 -1
  1119. package/dist/translations/or/utility.js +0 -1
  1120. package/dist/translations/or/viewers.js +0 -5
  1121. package/dist/translations/or.js +0 -1
  1122. package/dist/translations/pa/agent-tools.js +0 -1
  1123. package/dist/translations/pa/charts.js +0 -1
  1124. package/dist/translations/pa/conversation.js +0 -1
  1125. package/dist/translations/pa/data.js +0 -1
  1126. package/dist/translations/pa/forms.js +0 -1
  1127. package/dist/translations/pa/layout.js +0 -1
  1128. package/dist/translations/pa/media.js +0 -1
  1129. package/dist/translations/pa/overlays.js +0 -1
  1130. package/dist/translations/pa/retrieval.js +0 -1
  1131. package/dist/translations/pa/shared.js +0 -1
  1132. package/dist/translations/pa/utility.js +0 -1
  1133. package/dist/translations/pa/viewers.js +0 -5
  1134. package/dist/translations/pa.js +0 -1
  1135. package/dist/translations/pcm/agent-tools.js +0 -1
  1136. package/dist/translations/pcm/charts.js +0 -1
  1137. package/dist/translations/pcm/conversation.js +0 -1
  1138. package/dist/translations/pcm/data.js +0 -1
  1139. package/dist/translations/pcm/forms.js +0 -1
  1140. package/dist/translations/pcm/layout.js +0 -1
  1141. package/dist/translations/pcm/media.js +0 -1
  1142. package/dist/translations/pcm/overlays.js +0 -1
  1143. package/dist/translations/pcm/retrieval.js +0 -1
  1144. package/dist/translations/pcm/shared.js +0 -1
  1145. package/dist/translations/pcm/utility.js +0 -1
  1146. package/dist/translations/pcm/viewers.js +0 -5
  1147. package/dist/translations/pcm.js +0 -1
  1148. package/dist/translations/pl/agent-tools.js +0 -1
  1149. package/dist/translations/pl/charts.js +0 -1
  1150. package/dist/translations/pl/conversation.js +0 -1
  1151. package/dist/translations/pl/data.js +0 -1
  1152. package/dist/translations/pl/forms.js +0 -1
  1153. package/dist/translations/pl/layout.js +0 -1
  1154. package/dist/translations/pl/media.js +0 -1
  1155. package/dist/translations/pl/overlays.js +0 -1
  1156. package/dist/translations/pl/retrieval.js +0 -1
  1157. package/dist/translations/pl/shared.js +0 -1
  1158. package/dist/translations/pl/utility.js +0 -1
  1159. package/dist/translations/pl/viewers.js +0 -5
  1160. package/dist/translations/pl.js +0 -1
  1161. package/dist/translations/pnb/agent-tools.js +0 -1
  1162. package/dist/translations/pnb/charts.js +0 -1
  1163. package/dist/translations/pnb/conversation.js +0 -1
  1164. package/dist/translations/pnb/data.js +0 -1
  1165. package/dist/translations/pnb/forms.js +0 -1
  1166. package/dist/translations/pnb/layout.js +0 -1
  1167. package/dist/translations/pnb/media.js +0 -1
  1168. package/dist/translations/pnb/overlays.js +0 -1
  1169. package/dist/translations/pnb/retrieval.js +0 -1
  1170. package/dist/translations/pnb/shared.js +0 -1
  1171. package/dist/translations/pnb/utility.js +0 -1
  1172. package/dist/translations/pnb/viewers.js +0 -5
  1173. package/dist/translations/pnb.js +0 -1
  1174. package/dist/translations/ps/agent-tools.js +0 -1
  1175. package/dist/translations/ps/charts.js +0 -1
  1176. package/dist/translations/ps/conversation.js +0 -1
  1177. package/dist/translations/ps/data.js +0 -1
  1178. package/dist/translations/ps/forms.js +0 -1
  1179. package/dist/translations/ps/layout.js +0 -1
  1180. package/dist/translations/ps/media.js +0 -1
  1181. package/dist/translations/ps/overlays.js +0 -1
  1182. package/dist/translations/ps/retrieval.js +0 -1
  1183. package/dist/translations/ps/shared.js +0 -1
  1184. package/dist/translations/ps/utility.js +0 -1
  1185. package/dist/translations/ps/viewers.js +0 -5
  1186. package/dist/translations/ps.js +0 -1
  1187. package/dist/translations/pt-BR/agent-tools.js +0 -1
  1188. package/dist/translations/pt-BR/charts.js +0 -1
  1189. package/dist/translations/pt-BR/conversation.js +0 -1
  1190. package/dist/translations/pt-BR/data.js +0 -1
  1191. package/dist/translations/pt-BR/forms.js +0 -1
  1192. package/dist/translations/pt-BR/layout.js +0 -1
  1193. package/dist/translations/pt-BR/media.js +0 -1
  1194. package/dist/translations/pt-BR/overlays.js +0 -1
  1195. package/dist/translations/pt-BR/retrieval.js +0 -1
  1196. package/dist/translations/pt-BR/shared.js +0 -1
  1197. package/dist/translations/pt-BR/utility.js +0 -1
  1198. package/dist/translations/pt-BR/viewers.js +0 -5
  1199. package/dist/translations/pt-BR.js +0 -1
  1200. package/dist/translations/pt-PT/agent-tools.js +0 -1
  1201. package/dist/translations/pt-PT/charts.js +0 -1
  1202. package/dist/translations/pt-PT/conversation.js +0 -1
  1203. package/dist/translations/pt-PT/data.js +0 -1
  1204. package/dist/translations/pt-PT/forms.js +0 -1
  1205. package/dist/translations/pt-PT/layout.js +0 -1
  1206. package/dist/translations/pt-PT/media.js +0 -1
  1207. package/dist/translations/pt-PT/overlays.js +0 -1
  1208. package/dist/translations/pt-PT/retrieval.js +0 -1
  1209. package/dist/translations/pt-PT/shared.js +0 -1
  1210. package/dist/translations/pt-PT/utility.js +0 -1
  1211. package/dist/translations/pt-PT/viewers.js +0 -5
  1212. package/dist/translations/pt-PT.js +0 -1
  1213. package/dist/translations/ro/agent-tools.js +0 -1
  1214. package/dist/translations/ro/charts.js +0 -1
  1215. package/dist/translations/ro/conversation.js +0 -1
  1216. package/dist/translations/ro/data.js +0 -1
  1217. package/dist/translations/ro/forms.js +0 -1
  1218. package/dist/translations/ro/layout.js +0 -1
  1219. package/dist/translations/ro/media.js +0 -1
  1220. package/dist/translations/ro/overlays.js +0 -1
  1221. package/dist/translations/ro/retrieval.js +0 -1
  1222. package/dist/translations/ro/shared.js +0 -1
  1223. package/dist/translations/ro/utility.js +0 -1
  1224. package/dist/translations/ro/viewers.js +0 -5
  1225. package/dist/translations/ro.js +0 -1
  1226. package/dist/translations/ru/agent-tools.js +0 -1
  1227. package/dist/translations/ru/charts.js +0 -1
  1228. package/dist/translations/ru/conversation.js +0 -1
  1229. package/dist/translations/ru/data.js +0 -1
  1230. package/dist/translations/ru/forms.js +0 -1
  1231. package/dist/translations/ru/layout.js +0 -1
  1232. package/dist/translations/ru/media.js +0 -1
  1233. package/dist/translations/ru/overlays.js +0 -1
  1234. package/dist/translations/ru/retrieval.js +0 -1
  1235. package/dist/translations/ru/shared.js +0 -1
  1236. package/dist/translations/ru/utility.js +0 -1
  1237. package/dist/translations/ru/viewers.js +0 -5
  1238. package/dist/translations/ru.js +0 -1
  1239. package/dist/translations/sd/agent-tools.js +0 -1
  1240. package/dist/translations/sd/charts.js +0 -1
  1241. package/dist/translations/sd/conversation.js +0 -1
  1242. package/dist/translations/sd/data.js +0 -1
  1243. package/dist/translations/sd/forms.js +0 -1
  1244. package/dist/translations/sd/layout.js +0 -1
  1245. package/dist/translations/sd/media.js +0 -1
  1246. package/dist/translations/sd/overlays.js +0 -1
  1247. package/dist/translations/sd/retrieval.js +0 -1
  1248. package/dist/translations/sd/shared.js +0 -1
  1249. package/dist/translations/sd/utility.js +0 -1
  1250. package/dist/translations/sd/viewers.js +0 -5
  1251. package/dist/translations/sd.js +0 -1
  1252. package/dist/translations/sl/agent-tools.js +0 -1
  1253. package/dist/translations/sl/charts.js +0 -1
  1254. package/dist/translations/sl/conversation.js +0 -1
  1255. package/dist/translations/sl/data.js +0 -1
  1256. package/dist/translations/sl/forms.js +0 -1
  1257. package/dist/translations/sl/layout.js +0 -1
  1258. package/dist/translations/sl/media.js +0 -1
  1259. package/dist/translations/sl/overlays.js +0 -1
  1260. package/dist/translations/sl/retrieval.js +0 -1
  1261. package/dist/translations/sl/shared.js +0 -1
  1262. package/dist/translations/sl/utility.js +0 -1
  1263. package/dist/translations/sl/viewers.js +0 -5
  1264. package/dist/translations/sl.js +0 -1
  1265. package/dist/translations/su/agent-tools.js +0 -1
  1266. package/dist/translations/su/charts.js +0 -1
  1267. package/dist/translations/su/conversation.js +0 -1
  1268. package/dist/translations/su/data.js +0 -1
  1269. package/dist/translations/su/forms.js +0 -1
  1270. package/dist/translations/su/layout.js +0 -1
  1271. package/dist/translations/su/media.js +0 -1
  1272. package/dist/translations/su/overlays.js +0 -1
  1273. package/dist/translations/su/retrieval.js +0 -1
  1274. package/dist/translations/su/shared.js +0 -1
  1275. package/dist/translations/su/utility.js +0 -1
  1276. package/dist/translations/su/viewers.js +0 -5
  1277. package/dist/translations/su.js +0 -1
  1278. package/dist/translations/sv/agent-tools.js +0 -1
  1279. package/dist/translations/sv/charts.js +0 -1
  1280. package/dist/translations/sv/conversation.js +0 -1
  1281. package/dist/translations/sv/data.js +0 -1
  1282. package/dist/translations/sv/forms.js +0 -1
  1283. package/dist/translations/sv/layout.js +0 -1
  1284. package/dist/translations/sv/media.js +0 -1
  1285. package/dist/translations/sv/overlays.js +0 -1
  1286. package/dist/translations/sv/retrieval.js +0 -1
  1287. package/dist/translations/sv/shared.js +0 -1
  1288. package/dist/translations/sv/utility.js +0 -1
  1289. package/dist/translations/sv/viewers.js +0 -5
  1290. package/dist/translations/sv.js +0 -1
  1291. package/dist/translations/sw/agent-tools.js +0 -1
  1292. package/dist/translations/sw/charts.js +0 -1
  1293. package/dist/translations/sw/conversation.js +0 -1
  1294. package/dist/translations/sw/data.js +0 -1
  1295. package/dist/translations/sw/forms.js +0 -1
  1296. package/dist/translations/sw/layout.js +0 -1
  1297. package/dist/translations/sw/media.js +0 -1
  1298. package/dist/translations/sw/overlays.js +0 -1
  1299. package/dist/translations/sw/retrieval.js +0 -1
  1300. package/dist/translations/sw/shared.js +0 -1
  1301. package/dist/translations/sw/utility.js +0 -1
  1302. package/dist/translations/sw/viewers.js +0 -5
  1303. package/dist/translations/sw.js +0 -1
  1304. package/dist/translations/ta/agent-tools.js +0 -1
  1305. package/dist/translations/ta/charts.js +0 -1
  1306. package/dist/translations/ta/conversation.js +0 -1
  1307. package/dist/translations/ta/data.js +0 -1
  1308. package/dist/translations/ta/forms.js +0 -1
  1309. package/dist/translations/ta/layout.js +0 -1
  1310. package/dist/translations/ta/media.js +0 -1
  1311. package/dist/translations/ta/overlays.js +0 -1
  1312. package/dist/translations/ta/retrieval.js +0 -1
  1313. package/dist/translations/ta/shared.js +0 -1
  1314. package/dist/translations/ta/utility.js +0 -1
  1315. package/dist/translations/ta/viewers.js +0 -5
  1316. package/dist/translations/ta.js +0 -1
  1317. package/dist/translations/te/agent-tools.js +0 -1
  1318. package/dist/translations/te/charts.js +0 -1
  1319. package/dist/translations/te/conversation.js +0 -1
  1320. package/dist/translations/te/data.js +0 -1
  1321. package/dist/translations/te/forms.js +0 -1
  1322. package/dist/translations/te/layout.js +0 -1
  1323. package/dist/translations/te/media.js +0 -1
  1324. package/dist/translations/te/overlays.js +0 -1
  1325. package/dist/translations/te/retrieval.js +0 -1
  1326. package/dist/translations/te/shared.js +0 -1
  1327. package/dist/translations/te/utility.js +0 -1
  1328. package/dist/translations/te/viewers.js +0 -5
  1329. package/dist/translations/te.js +0 -1
  1330. package/dist/translations/th/agent-tools.js +0 -1
  1331. package/dist/translations/th/charts.js +0 -1
  1332. package/dist/translations/th/conversation.js +0 -1
  1333. package/dist/translations/th/data.js +0 -1
  1334. package/dist/translations/th/forms.js +0 -1
  1335. package/dist/translations/th/layout.js +0 -1
  1336. package/dist/translations/th/media.js +0 -1
  1337. package/dist/translations/th/overlays.js +0 -1
  1338. package/dist/translations/th/retrieval.js +0 -1
  1339. package/dist/translations/th/shared.js +0 -1
  1340. package/dist/translations/th/utility.js +0 -1
  1341. package/dist/translations/th/viewers.js +0 -5
  1342. package/dist/translations/th.js +0 -1
  1343. package/dist/translations/tl/agent-tools.js +0 -1
  1344. package/dist/translations/tl/charts.js +0 -1
  1345. package/dist/translations/tl/conversation.js +0 -1
  1346. package/dist/translations/tl/data.js +0 -1
  1347. package/dist/translations/tl/forms.js +0 -1
  1348. package/dist/translations/tl/layout.js +0 -1
  1349. package/dist/translations/tl/media.js +0 -1
  1350. package/dist/translations/tl/overlays.js +0 -1
  1351. package/dist/translations/tl/retrieval.js +0 -1
  1352. package/dist/translations/tl/shared.js +0 -1
  1353. package/dist/translations/tl/utility.js +0 -1
  1354. package/dist/translations/tl/viewers.js +0 -5
  1355. package/dist/translations/tl.js +0 -1
  1356. package/dist/translations/tr/agent-tools.js +0 -1
  1357. package/dist/translations/tr/charts.js +0 -1
  1358. package/dist/translations/tr/conversation.js +0 -1
  1359. package/dist/translations/tr/data.js +0 -1
  1360. package/dist/translations/tr/forms.js +0 -1
  1361. package/dist/translations/tr/layout.js +0 -1
  1362. package/dist/translations/tr/media.js +0 -1
  1363. package/dist/translations/tr/overlays.js +0 -1
  1364. package/dist/translations/tr/retrieval.js +0 -1
  1365. package/dist/translations/tr/shared.js +0 -1
  1366. package/dist/translations/tr/utility.js +0 -1
  1367. package/dist/translations/tr/viewers.js +0 -5
  1368. package/dist/translations/tr.js +0 -1
  1369. package/dist/translations/uk/agent-tools.js +0 -1
  1370. package/dist/translations/uk/charts.js +0 -1
  1371. package/dist/translations/uk/conversation.js +0 -1
  1372. package/dist/translations/uk/data.js +0 -1
  1373. package/dist/translations/uk/forms.js +0 -1
  1374. package/dist/translations/uk/layout.js +0 -1
  1375. package/dist/translations/uk/media.js +0 -1
  1376. package/dist/translations/uk/overlays.js +0 -1
  1377. package/dist/translations/uk/retrieval.js +0 -1
  1378. package/dist/translations/uk/shared.js +0 -1
  1379. package/dist/translations/uk/utility.js +0 -1
  1380. package/dist/translations/uk/viewers.js +0 -5
  1381. package/dist/translations/uk.js +0 -1
  1382. package/dist/translations/ur/agent-tools.js +0 -1
  1383. package/dist/translations/ur/charts.js +0 -1
  1384. package/dist/translations/ur/conversation.js +0 -1
  1385. package/dist/translations/ur/data.js +0 -1
  1386. package/dist/translations/ur/forms.js +0 -1
  1387. package/dist/translations/ur/layout.js +0 -1
  1388. package/dist/translations/ur/media.js +0 -1
  1389. package/dist/translations/ur/overlays.js +0 -1
  1390. package/dist/translations/ur/retrieval.js +0 -1
  1391. package/dist/translations/ur/shared.js +0 -1
  1392. package/dist/translations/ur/utility.js +0 -1
  1393. package/dist/translations/ur/viewers.js +0 -5
  1394. package/dist/translations/ur.js +0 -1
  1395. package/dist/translations/uz/agent-tools.js +0 -1
  1396. package/dist/translations/uz/charts.js +0 -1
  1397. package/dist/translations/uz/conversation.js +0 -1
  1398. package/dist/translations/uz/data.js +0 -1
  1399. package/dist/translations/uz/forms.js +0 -1
  1400. package/dist/translations/uz/layout.js +0 -1
  1401. package/dist/translations/uz/media.js +0 -1
  1402. package/dist/translations/uz/overlays.js +0 -1
  1403. package/dist/translations/uz/retrieval.js +0 -1
  1404. package/dist/translations/uz/shared.js +0 -1
  1405. package/dist/translations/uz/utility.js +0 -1
  1406. package/dist/translations/uz/viewers.js +0 -5
  1407. package/dist/translations/uz.js +0 -1
  1408. package/dist/translations/vi/agent-tools.js +0 -1
  1409. package/dist/translations/vi/charts.js +0 -1
  1410. package/dist/translations/vi/conversation.js +0 -1
  1411. package/dist/translations/vi/data.js +0 -1
  1412. package/dist/translations/vi/forms.js +0 -1
  1413. package/dist/translations/vi/layout.js +0 -1
  1414. package/dist/translations/vi/media.js +0 -1
  1415. package/dist/translations/vi/overlays.js +0 -1
  1416. package/dist/translations/vi/retrieval.js +0 -1
  1417. package/dist/translations/vi/shared.js +0 -1
  1418. package/dist/translations/vi/utility.js +0 -1
  1419. package/dist/translations/vi/viewers.js +0 -5
  1420. package/dist/translations/vi.js +0 -1
  1421. package/dist/translations/yo/agent-tools.js +0 -1
  1422. package/dist/translations/yo/charts.js +0 -1
  1423. package/dist/translations/yo/conversation.js +0 -1
  1424. package/dist/translations/yo/data.js +0 -1
  1425. package/dist/translations/yo/forms.js +0 -1
  1426. package/dist/translations/yo/layout.js +0 -1
  1427. package/dist/translations/yo/media.js +0 -1
  1428. package/dist/translations/yo/overlays.js +0 -1
  1429. package/dist/translations/yo/retrieval.js +0 -1
  1430. package/dist/translations/yo/shared.js +0 -1
  1431. package/dist/translations/yo/utility.js +0 -1
  1432. package/dist/translations/yo/viewers.js +0 -5
  1433. package/dist/translations/yo.js +0 -1
  1434. package/dist/translations/zh-CN/agent-tools.js +0 -1
  1435. package/dist/translations/zh-CN/charts.js +0 -1
  1436. package/dist/translations/zh-CN/conversation.js +0 -1
  1437. package/dist/translations/zh-CN/data.js +0 -1
  1438. package/dist/translations/zh-CN/forms.js +0 -1
  1439. package/dist/translations/zh-CN/layout.js +0 -1
  1440. package/dist/translations/zh-CN/media.js +0 -1
  1441. package/dist/translations/zh-CN/overlays.js +0 -1
  1442. package/dist/translations/zh-CN/retrieval.js +0 -1
  1443. package/dist/translations/zh-CN/shared.js +0 -1
  1444. package/dist/translations/zh-CN/utility.js +0 -1
  1445. package/dist/translations/zh-CN/viewers.js +0 -5
  1446. package/dist/translations/zh-CN.js +0 -1
  1447. package/dist/translations/zh-TW/agent-tools.js +0 -1
  1448. package/dist/translations/zh-TW/charts.js +0 -1
  1449. package/dist/translations/zh-TW/conversation.js +0 -1
  1450. package/dist/translations/zh-TW/data.js +0 -1
  1451. package/dist/translations/zh-TW/forms.js +0 -1
  1452. package/dist/translations/zh-TW/layout.js +0 -1
  1453. package/dist/translations/zh-TW/media.js +0 -1
  1454. package/dist/translations/zh-TW/overlays.js +0 -1
  1455. package/dist/translations/zh-TW/retrieval.js +0 -1
  1456. package/dist/translations/zh-TW/shared.js +0 -1
  1457. package/dist/translations/zh-TW/utility.js +0 -1
  1458. package/dist/translations/zh-TW/viewers.js +0 -5
  1459. package/dist/translations/zh-TW.js +0 -1
  1460. package/dist/translations/zu/agent-tools.js +0 -1
  1461. package/dist/translations/zu/charts.js +0 -1
  1462. package/dist/translations/zu/conversation.js +0 -1
  1463. package/dist/translations/zu/data.js +0 -1
  1464. package/dist/translations/zu/forms.js +0 -1
  1465. package/dist/translations/zu/layout.js +0 -1
  1466. package/dist/translations/zu/media.js +0 -1
  1467. package/dist/translations/zu/overlays.js +0 -1
  1468. package/dist/translations/zu/retrieval.js +0 -1
  1469. package/dist/translations/zu/shared.js +0 -1
  1470. package/dist/translations/zu/utility.js +0 -1
  1471. package/dist/translations/zu/viewers.js +0 -5
  1472. package/dist/translations/zu.js +0 -1
  1473. package/vscode-css-data.json +0 -1
  1474. package/vscode-html-data.json +0 -1
  1475. package/web-types.json +0 -1
@@ -1,4 +1,4 @@
1
- import{__decorate}from"tslib";import{relayNativeEvent}from"../../../internal/native-event-relay.js";import{NativeModalCarrier}from"../../../internal/native-modal-carrier.js";import{nativeModalCarrierStyles}from"../../../internal/native-modal-carrier.styles.js";import{ModalSurfaceController}from"../../../internal/modal-surface-controller.js";import{AnnouncementSinkController}from"../../../internal/announcer.js";import{collectionSupport}from"../../../internal/collection-snapshot.js";import{html,nothing,svg}from"lit";import{property,state}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{parseHotkey,matchesHotkey,isIgnorableKeyEvent,registerHotkeyOwner,unregisterHotkeyOwner,resolveHotkeyOwner}from"../../../internal/hotkey.js";import{detectPlatform}from"../../../internal/platform.js";import{nextId}from"../../../internal/a11y.js";import{activateOverlay}from"../../../internal/overlay-manager.js";import{getOwnDataDescriptor,MISSING_OWN_DATA_DESCRIPTOR,UNSAFE_OWN_DATA_DESCRIPTOR}from"../../../internal/data-descriptors.js";import{styles}from"./command-palette.styles.js";import{resolveCssTokenLength}from"../../../internal/css-token-length.js";import{closeIcon}from"../../../internal/icons.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{LYRA_DEFAULT_clear,LYRA_DEFAULT_commandPaletteEmpty,LYRA_DEFAULT_commandPaletteLabel,LYRA_DEFAULT_commandPalettePlaceholder,LYRA_DEFAULT_commandPaletteResultCount,LYRA_DEFAULT_commandPaletteResults}from"../../../internal/default-strings.generated.js";const SEARCH_ICON=svg`<svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="m21 21-4.35-4.35M10.5 18a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Z"></path></svg>`,COMMAND_ROW_HEIGHT=48,GROUP_ROW_HEIGHT=32,RESULT_OVERSCAN_ROWS=6,MAX_COMMAND_PALETTE_COMMANDS=1e4,MAX_COMMAND_PALETTE_KEYWORDS=1e4,EMPTY_CANONICAL_COMMANDS=Object.freeze([]),EMPTY_COMMAND_KEYWORDS=Object.freeze([]);function projectCommandKeywords(value){try{if(!Array.isArray(value))return EMPTY_COMMAND_KEYWORDS;const length=getOwnDataDescriptor(value,"length");if(length===MISSING_OWN_DATA_DESCRIPTOR||length===UNSAFE_OWN_DATA_DESCRIPTOR||typeof length.value!="number"||!Number.isSafeInteger(length.value)||length.value<0)return EMPTY_COMMAND_KEYWORDS;const keywords=[];for(let index=0;index<Math.min(length.value,MAX_COMMAND_PALETTE_KEYWORDS);index+=1){const entry=getOwnDataDescriptor(value,String(index));entry===MISSING_OWN_DATA_DESCRIPTOR||entry===UNSAFE_OWN_DATA_DESCRIPTOR||typeof entry.value!="string"||keywords.push(entry.value)}return Object.freeze(keywords)}catch{return EMPTY_COMMAND_KEYWORDS}}function projectCommand(candidate){try{if(candidate===null||typeof candidate!="object"||Array.isArray(candidate))return;const commandId=getOwnDataDescriptor(candidate,"commandId"),label=getOwnDataDescriptor(candidate,"label"),description=getOwnDataDescriptor(candidate,"description"),group=getOwnDataDescriptor(candidate,"group"),shortcut=getOwnDataDescriptor(candidate,"shortcut"),keywords=getOwnDataDescriptor(candidate,"keywords"),disabled=getOwnDataDescriptor(candidate,"disabled"),icon=getOwnDataDescriptor(candidate,"icon"),onSelect=getOwnDataDescriptor(candidate,"onSelect");if(commandId===MISSING_OWN_DATA_DESCRIPTOR||commandId===UNSAFE_OWN_DATA_DESCRIPTOR||label===MISSING_OWN_DATA_DESCRIPTOR||label===UNSAFE_OWN_DATA_DESCRIPTOR||description===UNSAFE_OWN_DATA_DESCRIPTOR||group===UNSAFE_OWN_DATA_DESCRIPTOR||shortcut===UNSAFE_OWN_DATA_DESCRIPTOR||keywords===UNSAFE_OWN_DATA_DESCRIPTOR||disabled===UNSAFE_OWN_DATA_DESCRIPTOR||icon===UNSAFE_OWN_DATA_DESCRIPTOR||onSelect===UNSAFE_OWN_DATA_DESCRIPTOR||typeof commandId.value!="string"||commandId.value.trim()===""||typeof label.value!="string"||label.value.trim()==="")return;const descriptionValue=description===MISSING_OWN_DATA_DESCRIPTOR?void 0:description.value,groupValue=group===MISSING_OWN_DATA_DESCRIPTOR?void 0:group.value,shortcutValue=shortcut===MISSING_OWN_DATA_DESCRIPTOR?void 0:shortcut.value,keywordsValue=keywords===MISSING_OWN_DATA_DESCRIPTOR?void 0:keywords.value,disabledValue=disabled===MISSING_OWN_DATA_DESCRIPTOR?void 0:disabled.value,iconValue=icon===MISSING_OWN_DATA_DESCRIPTOR?void 0:icon.value,onSelectValue=onSelect===MISSING_OWN_DATA_DESCRIPTOR?void 0:onSelect.value;if(descriptionValue!==void 0&&typeof descriptionValue!="string"||groupValue!==void 0&&typeof groupValue!="string"||shortcutValue!==void 0&&typeof shortcutValue!="string"||disabledValue!==void 0&&typeof disabledValue!="boolean"||onSelectValue!==void 0&&typeof onSelectValue!="function")return;const keywordValues=projectCommandKeywords(keywordsValue);return Object.freeze({source:candidate,commandId:commandId.value,label:label.value,...descriptionValue===void 0?{}:{description:descriptionValue},...groupValue===void 0?{}:{group:groupValue},...shortcutValue===void 0?{}:{shortcut:shortcutValue},keywords:keywordValues,disabled:disabledValue??!1,...iconValue===void 0?{}:{icon:iconValue},...onSelectValue===void 0?{}:{onSelect:onSelectValue}})}catch{return}}function projectCommands(value){try{if(!Array.isArray(value))return EMPTY_CANONICAL_COMMANDS;const length=getOwnDataDescriptor(value,"length");if(length===MISSING_OWN_DATA_DESCRIPTOR||length===UNSAFE_OWN_DATA_DESCRIPTOR||typeof length.value!="number"||!Number.isSafeInteger(length.value)||length.value<0)return EMPTY_CANONICAL_COMMANDS;const commands=[],seen=new Set;for(let index=0;index<Math.min(length.value,MAX_COMMAND_PALETTE_COMMANDS);index+=1){const entry=getOwnDataDescriptor(value,String(index));if(entry===MISSING_OWN_DATA_DESCRIPTOR||entry===UNSAFE_OWN_DATA_DESCRIPTOR)continue;const command=projectCommand(entry.value);!command||seen.has(command.commandId)||(seen.add(command.commandId),commands.push(command))}return Object.freeze(commands)}catch{return EMPTY_CANONICAL_COMMANDS}}class LyraCommandPalette extends LyraElement{constructor(){super(...arguments),this._open=!1,this.commands=[],this.hotkey="mod+k",this.queryText="",this.activeIndex=0,this.listScrollTop=0,this.listViewportHeight=COMMAND_ROW_HEIGHT*10,this.rowPitch=COMMAND_ROW_HEIGHT,this.groupPitch=GROUP_ROW_HEIGHT,this.listId=nextId("command-list"),this.nativeModal=new NativeModalCarrier(this,{onCancel:()=>{this.overlay?.isTopmost()&&this.close("escape")},onUnexpectedClose:()=>{this.close("escape"),this.open&&this.modalSurface.show()}}),this.modalSurface=new ModalSurfaceController(this,this.nativeModal,()=>this.renderRoot.querySelector('[part="backdrop"]')),this.haystacksLocale="",this.haystacks=[],this.filteredForQuery="",this.filteredForLocale="",this.filteredRows=[],this.normalizedRows=EMPTY_CANONICAL_COMMANDS,this.panelPressed=!1,this.announcements=new AnnouncementSinkController(this),this.completedInitialUpdate=!1,this.onGlobalKeyDown=event=>{if(isIgnorableKeyEvent(event))return;const view=this.runtimeWindow;!view||!this.matchesShortcut(event)||resolveHotkeyOwner(view,event)!==this||(event.preventDefault(),this.openPalette())},this.onKeyDown=event=>{if(event.isComposing||event.keyCode===229)return;const rows=this.filtered;if(event.key==="ArrowDown"){event.preventDefault();const next=this.seekEnabled(rows,this.activeIndex+1,1);next!==-1&&this.setActiveIndex(rows,next)}else if(event.key==="ArrowUp"){event.preventDefault();const previous=this.seekEnabled(rows,this.activeIndex-1,-1);previous!==-1&&this.setActiveIndex(rows,previous)}else if(event.key==="Enter"){const active=rows[this.activeIndex];active&&(event.preventDefault(),this.select(active))}else if(rows.length&&["Home","End","PageUp","PageDown"].includes(event.key)){event.preventDefault();const step=event.key==="Home"||event.key==="PageDown"?1:-1,page=Math.max(1,Math.floor(this.listViewportHeight/this.rowPitch)),from=event.key==="Home"?0:event.key==="End"?rows.length-1:Math.min(rows.length-1,Math.max(0,this.activeIndex+step*page)),next=this.seekEnabled(rows,from,step);next!==-1&&this.setActiveIndex(rows,next)}},this.onInput=event=>{event.stopPropagation(),this.queryText=event.target.value,this.listScrollTop=0;const list=this.renderRoot.querySelector('[part="list"]');list&&(list.scrollTop=0);const rows=this.filtered;this.setActiveIndex(rows,this.seekEnabled(rows,0,1))},this.onClearSearch=()=>{if(this.queryText==="")return;this.queryText="",this.listScrollTop=0;const list=this.renderRoot.querySelector('[part="list"]');list&&(list.scrollTop=0);const rows=this.filtered;this.setActiveIndex(rows,this.seekEnabled(rows,0,1)),this.renderRoot.querySelector('[part="input"]')?.focus()},this.onSearchFocus=event=>{relayNativeEvent(this,event)},this.onSearchBlur=event=>{relayNativeEvent(this,event)},this.onListScroll=event=>{const list=event.currentTarget;if(this.listScrollFrame!==void 0)return;const view=this.runtimeWindow??this.ownerDocument.defaultView;if(!view){this.listScrollTop=list.scrollTop;return}this.listScrollFrame=view.requestAnimationFrame(()=>{this.listScrollFrame=void 0,this.listScrollTop=list.scrollTop})}}static{this.defaultStrings={...super.defaultStrings,clear:LYRA_DEFAULT_clear,commandPaletteEmpty:LYRA_DEFAULT_commandPaletteEmpty,commandPaletteLabel:LYRA_DEFAULT_commandPaletteLabel,commandPalettePlaceholder:LYRA_DEFAULT_commandPalettePlaceholder,commandPaletteResultCount:LYRA_DEFAULT_commandPaletteResultCount,commandPaletteResults:LYRA_DEFAULT_commandPaletteResults}}static{this.collectionSupport=collectionSupport}static{this.ownedCollectionProperties=Object.freeze(["commands"])}static{this.identityCollectionProperties=Object.freeze(["commands"])}static{this.identityEventDetailProperties=Object.freeze({"lr-select":Object.freeze(["command"])})}static{this.styles=[LyraElement.styles,nativeModalCarrierStyles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-select"])}get open(){return this._open}set open(next){const normalized=!!next;if(normalized!==this._open){if(!this.hasUpdated){this.commitOpen(normalized);return}this.requestOpen(normalized)}}get effectiveCommands(){return this.normalizedForCommands!==this.commands&&(this.normalizedForCommands=this.commands,this.normalizedRows=projectCommands(this.commands)),this.normalizedRows}get searchHaystacks(){const locale=this.effectiveLocale,commands=this.effectiveCommands;return(this.haystacksFor!==commands||this.haystacksLocale!==locale)&&(this.haystacksFor=commands,this.haystacksLocale=locale,this.haystacks=commands.map(command=>[command.label,command.description??"",command.group??"",...command.keywords].join(" ").toLocaleLowerCase(locale))),this.haystacks}willUpdate(changed){if(super.willUpdate(changed),changed.has("open"))if(this.open)this.modalSurface.open(()=>this.activateOverlay());else{const hadOverlay=this.overlay!==void 0;this.releaseResultsSink(),this.modalSurface.close(hadOverlay,()=>{this.overlay?.deactivate(),this.overlay=void 0},()=>!this.open)}const rows=this.filtered;let nextIndex=this.activeCommandId?rows.findIndex(command=>command.commandId===this.activeCommandId):-1;if(nextIndex<0||rows[nextIndex]?.disabled){const start=Math.min(Math.max(this.activeIndex,0),Math.max(0,rows.length-1));nextIndex=this.seekEnabled(rows,start,1),nextIndex===-1&&(nextIndex=this.seekEnabled(rows,start-1,-1))}this.activeIndex=nextIndex,this.activeCommandId=nextIndex>=0?rows[nextIndex].commandId:void 0}updated(changed){if(super.updated(changed),changed.has("open")&&this.open&&(this.enterTopLayer(),this.overlay?.focusInitial()),changed.has("activeIndex")&&this.scrollActiveIntoView(),this.open&&this.queryText.trim()!==""){const count=this.filtered.length,resultText=count===0?this.localize("commandPaletteEmpty"):this.localize("commandPaletteResultCount",void 0,{count:getNumberFormat(this.effectiveLocale).format(count),pluralCount:count});this.completedInitialUpdate&&resultText!==this.announcedResultText&&this.announcements.announcePolite(resultText),this.announcedResultText=resultText}else this.queryText.trim()===""&&(this.announcedResultText=void 0);this.completedInitialUpdate=!0;const list=this.renderRoot.querySelector('[part="list"]');this.observeList(list??void 0)}observeList(list){list!==this.observedList&&(this.observedList&&this.listResizeObserver?.unobserve(this.observedList),this.clearPitchSentinels(),this.observedList=list,list&&(this.listResizeObserver?.observe(list),queueMicrotask(()=>{this.isConnected&&this.observedList===list&&this.measureRowPitch()}))),this.observePitchSentinels()}observePitchSentinels(){const row=this.renderRoot.querySelector('[part="command"]')??void 0,group=this.renderRoot.querySelector('[part="group"]')??void 0;row!==this.observedRow&&(this.observedRow&&this.listResizeObserver?.unobserve(this.observedRow),this.observedRow=row,row&&this.listResizeObserver?.observe(row)),group!==this.observedGroup&&(this.observedGroup&&this.listResizeObserver?.unobserve(this.observedGroup),this.observedGroup=group,group&&this.listResizeObserver?.observe(group))}clearPitchSentinels(){this.observedRow&&this.listResizeObserver?.unobserve(this.observedRow),this.observedGroup&&this.listResizeObserver?.unobserve(this.observedGroup),this.observedRow=void 0,this.observedGroup=void 0}measureRowPitch(){const style=this.ownerDocument.defaultView?.getComputedStyle(this);if(!style)return;const row=resolveCssTokenLength(style.getPropertyValue("--lr-command-palette-row-height").trim()||style.getPropertyValue("--_lr-command-palette-row-height").trim(),{host:this}),group=resolveCssTokenLength(style.getPropertyValue("--lr-command-palette-group-height").trim()||style.getPropertyValue("--_lr-command-palette-group-height").trim(),{host:this});row!==void 0&&row>0&&row!==this.rowPitch&&(this.rowPitch=row),group!==void 0&&group>0&&group!==this.groupPitch&&(this.groupPitch=group)}scheduleRowPitchMeasurement(){if(this.rowPitchFrame!==void 0)return;const view=this.runtimeWindow??this.ownerDocument.defaultView;if(!view){this.measureRowPitch();return}this.rowPitchFrame=view.requestAnimationFrame(()=>{this.rowPitchFrame=void 0,this.isConnected&&this.measureRowPitch()})}connectedCallback(){super.connectedCallback();const view=this.ownerDocument.defaultView;this.runtimeWindow=view??void 0,view&&(registerHotkeyOwner(view,this,event=>this.isConnected&&this.matchesShortcut(event)),view.addEventListener("keydown",this.onGlobalKeyDown));const ResizeObserverCtor=view?.ResizeObserver;if(ResizeObserverCtor&&view){let observer;observer=new ResizeObserverCtor(entries=>{if(this.listResizeObserver!==observer||this.runtimeWindow!==view)return;this.scheduleRowPitchMeasurement();const entry=entries.find(candidate=>candidate.target===this.observedList);if(!entry)return;const height=entry.borderBoxSize?.[0]?.blockSize??entry.contentRect.height;height>0&&this.listViewportHeight!==height&&(this.listViewportHeight=height)}),this.listResizeObserver=observer}else this.listResizeObserver=void 0;this.hasUpdated&&this.observeList(this.renderRoot.querySelector('[part="list"]')??void 0),this.hasUpdated&&this.open&&(this.activateOverlay(),queueMicrotask(()=>{!this.isConnected||!this.open||(this.enterTopLayer(),this.overlay?.focusInitial())}))}disconnectedCallback(){super.disconnectedCallback();const view=this.runtimeWindow;view&&(unregisterHotkeyOwner(view,this),view.removeEventListener("keydown",this.onGlobalKeyDown)),this.modalSurface.disconnect(),this.overlay?.suspend(),this.releaseResultsSink(),this.listResizeObserver?.disconnect(),this.listResizeObserver=void 0,this.observedList=void 0,this.observedRow=void 0,this.observedGroup=void 0,this.listScrollFrame!==void 0&&(view?.cancelAnimationFrame(this.listScrollFrame),this.listScrollFrame=void 0),this.rowPitchFrame!==void 0&&(view?.cancelAnimationFrame(this.rowPitchFrame),this.rowPitchFrame=void 0),this.runtimeWindow=void 0}releaseResultsSink(){this.announcements.releaseChannel("polite"),this.announcedResultText=void 0}adoptedCallback(){super.adoptedCallback(),this.announcements.adopted()}enterTopLayer(){this.modalSurface.show()}activateOverlay(){if(this.overlay?.isActive()){this.overlay.resume();return}this.overlay=activateOverlay({host:this,panel:()=>this.shadowRoot?.querySelector('[part="dialog"]')??null,onEscape:()=>this.close("escape"),onBackdrop:()=>this.close("backdrop"),lockScroll:!0,suspendWhenUnrendered:!0})}openPalette(){this.requestOpen(!0)}close(reason="api"){this.requestOpen(!1,reason)}show(){this.openPalette()}hide(){this.close()}requestOpen(next,reason="api"){if(next===this._open||this.openRequestTarget===next)return!1;this.openRequestTarget=next;let prevented;return next?prevented=this.emit("lr-show",null,{cancelable:!0}).defaultPrevented:prevented=this.emit("lr-close-request",{reason},{cancelable:!0}).defaultPrevented,this.openRequestTarget=void 0,prevented?(this.toggleAttribute("open",this._open),!1):(next&&this.resetOpeningState(),this.commitOpen(next),next||this.emit("lr-close",{reason}),!0)}resetOpeningState(){this.queryText="",this.listScrollTop=0;const rows=this.filtered;this.setActiveIndex(rows,this.seekEnabled(rows,0,1))}commitOpen(next){if(next===this._open)return;const old=this._open;this._open=next,this.requestUpdate("open",old)}registerCommand(command){return this.commands=[...this.commands,command],()=>{this.commands=this.commands.filter(item=>item!==command)}}matchesShortcut(event){return matchesHotkey(parseHotkey(this.hotkey),event,detectPlatform((this.runtimeWindow??this.ownerDocument.defaultView)?.navigator)==="mac")}get filtered(){const locale=this.effectiveLocale,query=this.queryText.trim().toLocaleLowerCase(locale),commands=this.effectiveCommands;if(this.filteredForCommands!==commands||this.filteredForQuery!==query||this.filteredForLocale!==locale)if(this.filteredForCommands=commands,this.filteredForQuery=query,this.filteredForLocale=locale,!query)this.filteredRows=[...commands];else{const haystacks=this.searchHaystacks;this.filteredRows=commands.filter((_,index)=>haystacks[index].includes(query))}return this.filteredRows}select(command){command.disabled||(this.emit("lr-select",{command:command.source}),command.onSelect?.(),this.close("select"))}seekEnabled(rows,from,step){for(let index=from;index>=0&&index<rows.length;index+=step)if(!rows[index].disabled)return index;return-1}setActiveIndex(rows,index){this.activeIndex=index,this.activeCommandId=index>=0?rows[index].commandId:void 0}get resultModel(){const rows=this.filtered;if(this.resultModelFor===rows&&this.resultModelRowPitch===this.rowPitch&&this.resultModelGroupPitch===this.groupPitch&&this.resultModelCache)return this.resultModelCache;const resultRows=[],groups=[];let top=0,previousGroup,group;for(let index=0;index<rows.length;index++){const command=rows[index],label=command.group??"";(!group||label!==previousGroup)&&(group={index:groups.length,label,headingTop:label?top:void 0,rows:[]},groups.push(group),previousGroup=label,label&&(top+=this.groupPitch));const row={command,index,top,groupIndex:group.index};group.rows.push(row),resultRows.push(row),top+=this.rowPitch}return this.resultModelFor=rows,this.resultModelRowPitch=this.rowPitch,this.resultModelGroupPitch=this.groupPitch,this.resultModelCache={rows:resultRows,groups,totalHeight:top},this.resultModelCache}visibleGroups(model){if(model.rows.length===0)return[];const minimum=Math.max(0,this.listScrollTop-this.rowPitch*RESULT_OVERSCAN_ROWS),maximum=this.listScrollTop+this.listViewportHeight+this.rowPitch*RESULT_OVERSCAN_ROWS;let low=0,high=model.rows.length-1;for(;low<high;){const middle=low+high>>1;model.rows[middle].top+this.rowPitch<minimum?low=middle+1:high=middle}const groups=[];let group;const appendRow=row=>{group?.index!==row.groupIndex&&(group={...model.groups[row.groupIndex],rows:[]},groups.push(group)),group.rows.push(row)},active=model.rows[this.activeIndex];active&&this.activeIndex<low&&appendRow(active);let index=low;for(;index<model.rows.length;index++){const row=model.rows[index];if(row.top>maximum)break;appendRow(row)}return active&&this.activeIndex>=index&&appendRow(active),groups}optionId(index){return`${this.listId}-opt-${index}`}scrollActiveIntoView(){if(this.activeIndex<0)return;const list=this.renderRoot.querySelector('[part="list"]'),row=this.resultModel.rows[this.activeIndex];if(!list||!row)return;const top=row.top+(list.firstElementChild?.offsetTop??0),bottom=top+this.rowPitch;top<list.scrollTop?list.scrollTop=top:bottom>list.scrollTop+list.clientHeight&&(list.scrollTop=Math.max(0,bottom-list.clientHeight))}renderCommand(row,total){const command=row.command,active=row.index===this.activeIndex;return html`<button
1
+ import{__decorate}from"tslib";import{relayNativeEvent}from"../../../internal/native-event-relay.js";import{NativeModalCarrier}from"../../../internal/native-modal-carrier.js";import{nativeModalCarrierStyles}from"../../../internal/native-modal-carrier.styles.js";import{ModalSurfaceController}from"../../../internal/modal-surface-controller.js";import{AnnouncementSinkController}from"../../../internal/announcer.js";import{collectionSupport}from"../../../internal/collection-snapshot.js";import{html,nothing,svg}from"lit";import{property,state}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{parseHotkey,matchesHotkey,isIgnorableKeyEvent,registerHotkeyOwner,unregisterHotkeyOwner,resolveHotkeyOwner}from"../../../internal/hotkey.js";import{detectPlatform}from"../../../internal/platform.js";import{nextId}from"../../../internal/a11y.js";import{activateOverlay}from"../../../internal/overlay-manager.js";import{getOwnDataDescriptor,MISSING_OWN_DATA_DESCRIPTOR,UNSAFE_OWN_DATA_DESCRIPTOR}from"../../../internal/data-descriptors.js";import{styles}from"./command-palette.styles.js";import{resolveCssTokenLength}from"../../../internal/css-token-length.js";import{closeIcon}from"../../../internal/icons.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{LYRA_DEFAULT_clear,LYRA_DEFAULT_commandPaletteEmpty,LYRA_DEFAULT_commandPaletteLabel,LYRA_DEFAULT_commandPalettePlaceholder,LYRA_DEFAULT_commandPaletteResultCount,LYRA_DEFAULT_commandPaletteResults}from"../../../internal/default-strings.generated.js";const SEARCH_ICON=svg`<svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="m21 21-4.35-4.35M10.5 18a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Z"></path></svg>`,COMMAND_ROW_HEIGHT=48,GROUP_ROW_HEIGHT=32,RESULT_OVERSCAN_ROWS=6,MAX_COMMAND_PALETTE_COMMANDS=1e4,MAX_COMMAND_PALETTE_KEYWORDS=1e4,EMPTY_CANONICAL_COMMANDS=Object.freeze([]),EMPTY_COMMAND_KEYWORDS=Object.freeze([]);function projectCommandKeywords(value){try{if(!Array.isArray(value))return EMPTY_COMMAND_KEYWORDS;const length=getOwnDataDescriptor(value,"length");if(length===MISSING_OWN_DATA_DESCRIPTOR||length===UNSAFE_OWN_DATA_DESCRIPTOR||typeof length.value!="number"||!Number.isSafeInteger(length.value)||length.value<0)return EMPTY_COMMAND_KEYWORDS;const keywords=[];for(let index=0;index<Math.min(length.value,MAX_COMMAND_PALETTE_KEYWORDS);index+=1){const entry=getOwnDataDescriptor(value,String(index));entry===MISSING_OWN_DATA_DESCRIPTOR||entry===UNSAFE_OWN_DATA_DESCRIPTOR||typeof entry.value!="string"||keywords.push(entry.value)}return Object.freeze(keywords)}catch{return EMPTY_COMMAND_KEYWORDS}}function projectCommand(candidate){try{if(candidate===null||typeof candidate!="object"||Array.isArray(candidate))return;const commandId=getOwnDataDescriptor(candidate,"commandId"),label=getOwnDataDescriptor(candidate,"label"),description=getOwnDataDescriptor(candidate,"description"),group=getOwnDataDescriptor(candidate,"group"),shortcut=getOwnDataDescriptor(candidate,"shortcut"),keywords=getOwnDataDescriptor(candidate,"keywords"),disabled=getOwnDataDescriptor(candidate,"disabled"),icon=getOwnDataDescriptor(candidate,"icon"),onSelect=getOwnDataDescriptor(candidate,"onSelect");if(commandId===MISSING_OWN_DATA_DESCRIPTOR||commandId===UNSAFE_OWN_DATA_DESCRIPTOR||label===MISSING_OWN_DATA_DESCRIPTOR||label===UNSAFE_OWN_DATA_DESCRIPTOR||description===UNSAFE_OWN_DATA_DESCRIPTOR||group===UNSAFE_OWN_DATA_DESCRIPTOR||shortcut===UNSAFE_OWN_DATA_DESCRIPTOR||keywords===UNSAFE_OWN_DATA_DESCRIPTOR||disabled===UNSAFE_OWN_DATA_DESCRIPTOR||icon===UNSAFE_OWN_DATA_DESCRIPTOR||onSelect===UNSAFE_OWN_DATA_DESCRIPTOR||typeof commandId.value!="string"||commandId.value.trim()===""||typeof label.value!="string"||label.value.trim()==="")return;const descriptionValue=description===MISSING_OWN_DATA_DESCRIPTOR?void 0:description.value,groupValue=group===MISSING_OWN_DATA_DESCRIPTOR?void 0:group.value,shortcutValue=shortcut===MISSING_OWN_DATA_DESCRIPTOR?void 0:shortcut.value,keywordsValue=keywords===MISSING_OWN_DATA_DESCRIPTOR?void 0:keywords.value,disabledValue=disabled===MISSING_OWN_DATA_DESCRIPTOR?void 0:disabled.value,iconValue=icon===MISSING_OWN_DATA_DESCRIPTOR?void 0:icon.value,onSelectValue=onSelect===MISSING_OWN_DATA_DESCRIPTOR?void 0:onSelect.value;if(descriptionValue!==void 0&&typeof descriptionValue!="string"||groupValue!==void 0&&typeof groupValue!="string"||shortcutValue!==void 0&&typeof shortcutValue!="string"||disabledValue!==void 0&&typeof disabledValue!="boolean"||onSelectValue!==void 0&&typeof onSelectValue!="function")return;const keywordValues=projectCommandKeywords(keywordsValue);return Object.freeze({source:candidate,commandId:commandId.value,label:label.value,...descriptionValue===void 0?{}:{description:descriptionValue},...groupValue===void 0?{}:{group:groupValue},...shortcutValue===void 0?{}:{shortcut:shortcutValue},keywords:keywordValues,disabled:disabledValue??!1,...iconValue===void 0?{}:{icon:iconValue},...onSelectValue===void 0?{}:{onSelect:onSelectValue}})}catch{return}}function projectCommands(value){try{if(!Array.isArray(value))return EMPTY_CANONICAL_COMMANDS;const length=getOwnDataDescriptor(value,"length");if(length===MISSING_OWN_DATA_DESCRIPTOR||length===UNSAFE_OWN_DATA_DESCRIPTOR||typeof length.value!="number"||!Number.isSafeInteger(length.value)||length.value<0)return EMPTY_CANONICAL_COMMANDS;const commands=[],seen=new Set;for(let index=0;index<Math.min(length.value,MAX_COMMAND_PALETTE_COMMANDS);index+=1){const entry=getOwnDataDescriptor(value,String(index));if(entry===MISSING_OWN_DATA_DESCRIPTOR||entry===UNSAFE_OWN_DATA_DESCRIPTOR)continue;const command=projectCommand(entry.value);!command||seen.has(command.commandId)||(seen.add(command.commandId),commands.push(command))}return Object.freeze(commands)}catch{return EMPTY_CANONICAL_COMMANDS}}class LyraCommandPalette extends LyraElement{constructor(){super(...arguments),this._open=!1,this.hasShown=!1,this.commands=[],this.hotkey="mod+k",this.queryText="",this.activeIndex=0,this.listScrollTop=0,this.listViewportHeight=COMMAND_ROW_HEIGHT*10,this.rowPitch=COMMAND_ROW_HEIGHT,this.groupPitch=GROUP_ROW_HEIGHT,this.listId=nextId("command-list"),this.nativeModal=new NativeModalCarrier(this,{onCancel:()=>{this.overlay?.isTopmost()&&this.close("escape")},onUnexpectedClose:()=>{this.close("escape"),this.open&&this.modalSurface.show()}}),this.modalSurface=new ModalSurfaceController(this,this.nativeModal,()=>this.renderRoot.querySelector('[part="backdrop"]')),this.haystacksLocale="",this.haystacks=[],this.filteredForQuery="",this.filteredForLocale="",this.filteredRows=[],this.normalizedRows=EMPTY_CANONICAL_COMMANDS,this.panelPressed=!1,this.announcements=new AnnouncementSinkController(this),this.completedInitialUpdate=!1,this.onGlobalKeyDown=event=>{if(isIgnorableKeyEvent(event))return;const view=this.runtimeWindow;!view||!this.matchesShortcut(event)||resolveHotkeyOwner(view,event)!==this||(event.preventDefault(),this.openPalette())},this.onKeyDown=event=>{if(event.isComposing||event.keyCode===229)return;const rows=this.filtered;if(event.key==="ArrowDown"){event.preventDefault();const next=this.seekEnabled(rows,this.activeIndex+1,1);next!==-1&&this.setActiveIndex(rows,next)}else if(event.key==="ArrowUp"){event.preventDefault();const previous=this.seekEnabled(rows,this.activeIndex-1,-1);previous!==-1&&this.setActiveIndex(rows,previous)}else if(event.key==="Enter"){const active=rows[this.activeIndex];active&&(event.preventDefault(),this.select(active))}else if(rows.length&&["Home","End","PageUp","PageDown"].includes(event.key)){event.preventDefault();const step=event.key==="Home"||event.key==="PageDown"?1:-1,page=Math.max(1,Math.floor(this.listViewportHeight/this.rowPitch)),from=event.key==="Home"?0:event.key==="End"?rows.length-1:Math.min(rows.length-1,Math.max(0,this.activeIndex+step*page)),next=this.seekEnabled(rows,from,step);next!==-1&&this.setActiveIndex(rows,next)}},this.onInput=event=>{event.stopPropagation(),this.queryText=event.target.value,this.listScrollTop=0;const list=this.renderRoot.querySelector('[part="list"]');list&&(list.scrollTop=0);const rows=this.filtered;this.setActiveIndex(rows,this.seekEnabled(rows,0,1))},this.onClearSearch=()=>{if(this.queryText==="")return;this.queryText="",this.listScrollTop=0;const list=this.renderRoot.querySelector('[part="list"]');list&&(list.scrollTop=0);const rows=this.filtered;this.setActiveIndex(rows,this.seekEnabled(rows,0,1)),this.renderRoot.querySelector('[part="input"]')?.focus()},this.onSearchFocus=event=>{relayNativeEvent(this,event)},this.onSearchBlur=event=>{relayNativeEvent(this,event)},this.onListScroll=event=>{const list=event.currentTarget;if(this.listScrollFrame!==void 0)return;const view=this.runtimeWindow??this.ownerDocument.defaultView;if(!view){this.listScrollTop=list.scrollTop;return}this.listScrollFrame=view.requestAnimationFrame(()=>{this.listScrollFrame=void 0,this.listScrollTop=list.scrollTop})}}static{this.defaultStrings={...super.defaultStrings,clear:LYRA_DEFAULT_clear,commandPaletteEmpty:LYRA_DEFAULT_commandPaletteEmpty,commandPaletteLabel:LYRA_DEFAULT_commandPaletteLabel,commandPalettePlaceholder:LYRA_DEFAULT_commandPalettePlaceholder,commandPaletteResultCount:LYRA_DEFAULT_commandPaletteResultCount,commandPaletteResults:LYRA_DEFAULT_commandPaletteResults}}static{this.collectionSupport=collectionSupport}static{this.ownedCollectionProperties=Object.freeze(["commands"])}static{this.identityCollectionProperties=Object.freeze(["commands"])}static{this.identityEventDetailProperties=Object.freeze({"lr-select":Object.freeze(["command"])})}static{this.styles=[LyraElement.styles,nativeModalCarrierStyles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-select"])}get open(){return this._open}set open(next){const normalized=!!next;if(normalized!==this._open){if(!this.hasUpdated){this.commitOpen(normalized);return}this.requestOpen(normalized)}}get effectiveCommands(){return this.normalizedForCommands!==this.commands&&(this.normalizedForCommands=this.commands,this.normalizedRows=projectCommands(this.commands)),this.normalizedRows}get searchHaystacks(){const locale=this.effectiveLocale,commands=this.effectiveCommands;return(this.haystacksFor!==commands||this.haystacksLocale!==locale)&&(this.haystacksFor=commands,this.haystacksLocale=locale,this.haystacks=commands.map(command=>[command.label,command.description??"",command.group??"",...command.keywords].join(" ").toLocaleLowerCase(locale))),this.haystacks}willUpdate(changed){if(super.willUpdate(changed),changed.has("open"))if(this.open)this.modalSurface.open(()=>this.activateOverlay());else{const hadOverlay=this.overlay!==void 0;this.releaseResultsSink(),this.modalSurface.close(hadOverlay,()=>{this.overlay?.deactivate(),this.overlay=void 0},()=>!this.open)}const rows=this.filtered;let nextIndex=this.activeCommandId?rows.findIndex(command=>command.commandId===this.activeCommandId):-1;if(nextIndex<0||rows[nextIndex]?.disabled){const start=Math.min(Math.max(this.activeIndex,0),Math.max(0,rows.length-1));nextIndex=this.seekEnabled(rows,start,1),nextIndex===-1&&(nextIndex=this.seekEnabled(rows,start-1,-1))}this.activeIndex=nextIndex,this.activeCommandId=nextIndex>=0?rows[nextIndex].commandId:void 0}updated(changed){if(super.updated(changed),changed.has("open")&&this.open&&(this.enterTopLayer(),this.overlay?.focusInitial()),changed.has("open")&&(this.open||this.hasShown)&&(this.hasShown=this.open,this.emit(this.open?"lr-after-show":"lr-after-hide")),changed.has("activeIndex")&&this.scrollActiveIntoView(),this.open&&this.queryText.trim()!==""){const count=this.filtered.length,resultText=count===0?this.localize("commandPaletteEmpty"):this.localize("commandPaletteResultCount",void 0,{count:getNumberFormat(this.effectiveLocale).format(count),pluralCount:count});this.completedInitialUpdate&&resultText!==this.announcedResultText&&this.announcements.announcePolite(resultText),this.announcedResultText=resultText}else this.queryText.trim()===""&&(this.announcedResultText=void 0);this.completedInitialUpdate=!0;const list=this.renderRoot.querySelector('[part="list"]');this.observeList(list??void 0)}observeList(list){list!==this.observedList&&(this.observedList&&this.listResizeObserver?.unobserve(this.observedList),this.clearPitchSentinels(),this.observedList=list,list&&(this.listResizeObserver?.observe(list),queueMicrotask(()=>{this.isConnected&&this.observedList===list&&this.measureRowPitch()}))),this.observePitchSentinels()}observePitchSentinels(){const row=this.renderRoot.querySelector('[part="command"]')??void 0,group=this.renderRoot.querySelector('[part="group"]')??void 0;row!==this.observedRow&&(this.observedRow&&this.listResizeObserver?.unobserve(this.observedRow),this.observedRow=row,row&&this.listResizeObserver?.observe(row)),group!==this.observedGroup&&(this.observedGroup&&this.listResizeObserver?.unobserve(this.observedGroup),this.observedGroup=group,group&&this.listResizeObserver?.observe(group))}clearPitchSentinels(){this.observedRow&&this.listResizeObserver?.unobserve(this.observedRow),this.observedGroup&&this.listResizeObserver?.unobserve(this.observedGroup),this.observedRow=void 0,this.observedGroup=void 0}measureRowPitch(){const style=this.ownerDocument.defaultView?.getComputedStyle(this);if(!style)return;const row=resolveCssTokenLength(style.getPropertyValue("--lr-command-palette-row-height").trim()||style.getPropertyValue("--_lr-command-palette-row-height").trim(),{host:this}),group=resolveCssTokenLength(style.getPropertyValue("--lr-command-palette-group-height").trim()||style.getPropertyValue("--_lr-command-palette-group-height").trim(),{host:this});row!==void 0&&row>0&&row!==this.rowPitch&&(this.rowPitch=row),group!==void 0&&group>0&&group!==this.groupPitch&&(this.groupPitch=group)}scheduleRowPitchMeasurement(){if(this.rowPitchFrame!==void 0)return;const view=this.runtimeWindow??this.ownerDocument.defaultView;if(!view){this.measureRowPitch();return}this.rowPitchFrame=view.requestAnimationFrame(()=>{this.rowPitchFrame=void 0,this.isConnected&&this.measureRowPitch()})}connectedCallback(){super.connectedCallback();const view=this.ownerDocument.defaultView;this.runtimeWindow=view??void 0,view&&(registerHotkeyOwner(view,this,event=>this.isConnected&&this.matchesShortcut(event)),view.addEventListener("keydown",this.onGlobalKeyDown));const ResizeObserverCtor=view?.ResizeObserver;if(ResizeObserverCtor&&view){let observer;observer=new ResizeObserverCtor(entries=>{if(this.listResizeObserver!==observer||this.runtimeWindow!==view)return;this.scheduleRowPitchMeasurement();const entry=entries.find(candidate=>candidate.target===this.observedList);if(!entry)return;const height=entry.borderBoxSize?.[0]?.blockSize??entry.contentRect.height;height>0&&this.listViewportHeight!==height&&(this.listViewportHeight=height)}),this.listResizeObserver=observer}else this.listResizeObserver=void 0;this.hasUpdated&&this.observeList(this.renderRoot.querySelector('[part="list"]')??void 0),this.hasUpdated&&this.open&&(this.activateOverlay(),queueMicrotask(()=>{!this.isConnected||!this.open||(this.enterTopLayer(),this.overlay?.focusInitial())}))}disconnectedCallback(){super.disconnectedCallback();const view=this.runtimeWindow;view&&(unregisterHotkeyOwner(view,this),view.removeEventListener("keydown",this.onGlobalKeyDown)),this.modalSurface.disconnect(),this.overlay?.suspend(),this.releaseResultsSink(),this.listResizeObserver?.disconnect(),this.listResizeObserver=void 0,this.observedList=void 0,this.observedRow=void 0,this.observedGroup=void 0,this.listScrollFrame!==void 0&&(view?.cancelAnimationFrame(this.listScrollFrame),this.listScrollFrame=void 0),this.rowPitchFrame!==void 0&&(view?.cancelAnimationFrame(this.rowPitchFrame),this.rowPitchFrame=void 0),this.runtimeWindow=void 0}releaseResultsSink(){this.announcements.releaseChannel("polite"),this.announcedResultText=void 0}adoptedCallback(){super.adoptedCallback(),this.announcements.adopted()}enterTopLayer(){this.modalSurface.show()}activateOverlay(){if(this.overlay?.isActive()){this.overlay.resume();return}this.overlay=activateOverlay({host:this,panel:()=>this.shadowRoot?.querySelector('[part="dialog"]')??null,onEscape:()=>this.close("escape"),onBackdrop:()=>this.close("backdrop"),lockScroll:!0,suspendWhenUnrendered:!0})}openPalette(){this.requestOpen(!0)}close(reason="api"){this.requestOpen(!1,reason)}show(){this.openPalette()}hide(){this.close()}requestOpen(next,reason="api"){if(next===this._open||this.openRequestTarget===next)return!1;this.openRequestTarget=next;let prevented;return next?prevented=this.emit("lr-show",null,{cancelable:!0}).defaultPrevented:prevented=this.emit("lr-close-request",{reason},{cancelable:!0}).defaultPrevented,this.openRequestTarget=void 0,prevented?(this.toggleAttribute("open",this._open),!1):(next?this.resetOpeningState():this.emit("lr-hide",{reason}),this.commitOpen(next),next||this.emit("lr-close",{reason}),!0)}resetOpeningState(){this.queryText="",this.listScrollTop=0;const rows=this.filtered;this.setActiveIndex(rows,this.seekEnabled(rows,0,1))}commitOpen(next){if(next===this._open)return;const old=this._open;this._open=next,this.requestUpdate("open",old)}registerCommand(command){return this.commands=[...this.commands,command],()=>{this.commands=this.commands.filter(item=>item!==command)}}matchesShortcut(event){return matchesHotkey(parseHotkey(this.hotkey),event,detectPlatform((this.runtimeWindow??this.ownerDocument.defaultView)?.navigator)==="mac")}get filtered(){const locale=this.effectiveLocale,query=this.queryText.trim().toLocaleLowerCase(locale),commands=this.effectiveCommands;if(this.filteredForCommands!==commands||this.filteredForQuery!==query||this.filteredForLocale!==locale)if(this.filteredForCommands=commands,this.filteredForQuery=query,this.filteredForLocale=locale,!query)this.filteredRows=[...commands];else{const haystacks=this.searchHaystacks;this.filteredRows=commands.filter((_,index)=>haystacks[index].includes(query))}return this.filteredRows}select(command){command.disabled||(this.emit("lr-select",{command:command.source}),command.onSelect?.(),this.close("select"))}seekEnabled(rows,from,step){for(let index=from;index>=0&&index<rows.length;index+=step)if(!rows[index].disabled)return index;return-1}setActiveIndex(rows,index){this.activeIndex=index,this.activeCommandId=index>=0?rows[index].commandId:void 0}get resultModel(){const rows=this.filtered;if(this.resultModelFor===rows&&this.resultModelRowPitch===this.rowPitch&&this.resultModelGroupPitch===this.groupPitch&&this.resultModelCache)return this.resultModelCache;const resultRows=[],groups=[];let top=0,previousGroup,group;for(let index=0;index<rows.length;index++){const command=rows[index],label=command.group??"";(!group||label!==previousGroup)&&(group={index:groups.length,label,headingTop:label?top:void 0,rows:[]},groups.push(group),previousGroup=label,label&&(top+=this.groupPitch));const row={command,index,top,groupIndex:group.index};group.rows.push(row),resultRows.push(row),top+=this.rowPitch}return this.resultModelFor=rows,this.resultModelRowPitch=this.rowPitch,this.resultModelGroupPitch=this.groupPitch,this.resultModelCache={rows:resultRows,groups,totalHeight:top},this.resultModelCache}visibleGroups(model){if(model.rows.length===0)return[];const minimum=Math.max(0,this.listScrollTop-this.rowPitch*RESULT_OVERSCAN_ROWS),maximum=this.listScrollTop+this.listViewportHeight+this.rowPitch*RESULT_OVERSCAN_ROWS;let low=0,high=model.rows.length-1;for(;low<high;){const middle=low+high>>1;model.rows[middle].top+this.rowPitch<minimum?low=middle+1:high=middle}const groups=[];let group;const appendRow=row=>{group?.index!==row.groupIndex&&(group={...model.groups[row.groupIndex],rows:[]},groups.push(group)),group.rows.push(row)},active=model.rows[this.activeIndex];active&&this.activeIndex<low&&appendRow(active);let index=low;for(;index<model.rows.length;index++){const row=model.rows[index];if(row.top>maximum)break;appendRow(row)}return active&&this.activeIndex>=index&&appendRow(active),groups}optionId(index){return`${this.listId}-opt-${index}`}scrollActiveIntoView(){if(this.activeIndex<0)return;const list=this.renderRoot.querySelector('[part="list"]'),row=this.resultModel.rows[this.activeIndex];if(!list||!row)return;const top=row.top+(list.firstElementChild?.offsetTop??0),bottom=top+this.rowPitch;top<list.scrollTop?list.scrollTop=top:bottom>list.scrollTop+list.clientHeight&&(list.scrollTop=Math.max(0,bottom-list.clientHeight))}renderCommand(row,total){const command=row.command,active=row.index===this.activeIndex;return html`<button
2
2
  id=${this.optionId(row.index)}
3
3
  part="command"
4
4
  role="option"
@@ -1,4 +1,4 @@
1
- import{__decorate}from"tslib";import{eventCollectionSupport}from"../../../internal/collection-snapshot.js";import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{repeat}from"lit/directives/repeat.js";import{styleMap}from"lit/directives/style-map.js";import{LyraElement}from"../../../internal/lyra-element.js";import{devWarnOnce}from"../../../internal/dev-mode-attribute-warning.js";import{resolveCssLength}from"../../../internal/css-length.js";import{tag}from"../../../internal/prefix.js";import{isAccessibilityVisible,srOnly}from"../../../internal/a11y.js";import{Announcer,acquireAnnouncementSink}from"../../../internal/announcer.js";import{isRtl}from"../../../internal/rtl.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{isArrowKey,finiteInteger,finiteRange}from"../../../internal/numbers.js";import{styles}from"./dashboard-grid.styles.js";import{clampDashboardCandidate,createDashboardSpatialIndex,findDashboardCollisions,normalizeLyraDashboardCollisionPolicy,projectDashboardLayout,resolveDashboardPlacement,snapshotDashboardLayout,sortDashboardSpatial}from"./layout-internal.js";import{createWidgetDocument}from"../../conversation/widget-renderer/resolve.js";import{activeElementIn}from"../../../internal/active-element.js";import{LYRA_DEFAULT_dashboardCellCollisionRejected,LYRA_DEFAULT_dashboardCellMoved,LYRA_DEFAULT_dashboardCellResized,LYRA_DEFAULT_dashboardGridLabel,LYRA_DEFAULT_flowItemAnnouncement,LYRA_DEFAULT_noData}from"../../../internal/default-strings.generated.js";const INTERACTIVE_DESCENDANT_SELECTOR='button, a[href], area[href], input, select, textarea, summary, label, audio[controls], video[controls], [contenteditable]:not([contenteditable="false"]), [role="button"], [role="link"], [role="checkbox"], [role="radio"], [role="switch"], [role="slider"], [role="spinbutton"], [role="textbox"], [role="combobox"], [role="option"], [role="menuitem"], [tabindex]:not([part="cell"])',DASHBOARD_LENGTH_CONVERTER={fromAttribute:value=>{if(value===null)return value;const number=Number(value);return Number.isNaN(number)?value:number}},GEOMETRY_KEYS=["cellId","x","y","w","h","minW","maxW","minH","maxH","locked"],sortedByLayout=new WeakMap,assignedWidgets=new WeakMap,handledPointerDowns=new WeakSet;function sameGeometry(a,b){return a===b||a.length===b.length&&a.every((cell,i)=>GEOMETRY_KEYS.every(key=>cell[key]===b[i][key]))}const UNMATCHED_AUTHORED_CELL_WARNING_KEY="lyra-dashboard-grid-unmatched-authored-cell",UNMATCHED_AUTHORED_CELL_WARNING="<lr-dashboard-grid>: an authored child has a cell-id that matches no layout entry and will not render.";class LyraDashboardGrid extends LyraElement{constructor(){super(...arguments),this.authoredLayout=Object.freeze([]),this.effectiveLayout=Object.freeze([]),this.columns=12,this.rowHeight=80,this.gap=8,this.collisionValue="reject",this.cellsDraggable=!1,this.cellsResizable=!1,this.readonly=!1,this.accessibleLabel=null,this.announcer=new Announcer({onFlush:text=>{this.liveText=text,isAccessibilityVisible(this)&&this.announcementSink?.announce(text)}}),this.liveText="",this.activeCellIndex=0,this.activeCellId="",this.rehomeCellFocus=!1,this.defaultCellSyncQueued=!1,this.ownedDefaultCells=new WeakSet,this.warnedUnmatchedCells=new WeakSet,this.authoredSlotBaselines=new WeakMap,this.managedAuthoredCells=new Set,this.suppressedClickCellId="",this.onCellPointerMove=e=>{const drag=this.cellDrag;if(!(!drag||e.pointerId!==drag.pointerId)){if(!this.canDragCell(drag.cellId)){this.cancelCellDrag();return}drag.pendingClientX=e.clientX,drag.pendingClientY=e.clientY,drag.previewFrame===void 0&&(drag.previewFrame=drag.ownerWindow.requestAnimationFrame(()=>{drag.previewFrame=void 0,this.cellDrag===drag&&this.applyDragPreview(drag)}))}},this.onCellPointerUp=e=>{const drag=this.cellDrag;if(!drag||e.pointerId!==drag.pointerId)return;if(e.type!=="pointerup"||!this.canDragCell(drag.cellId)){this.cancelCellDrag();return}this.flushDragPreview(drag),this.cellDrag=void 0,this.releaseGesturePointerCapture(drag.wrapper,drag.pointerId),drag.wrapper.removeAttribute("data-dragging"),drag.ownerWindow.removeEventListener("pointermove",this.onCellPointerMove),drag.ownerWindow.removeEventListener("pointerup",this.onCellPointerUp),drag.ownerWindow.removeEventListener("pointercancel",this.onCellPointerUp),drag.ownerWindow.removeEventListener("lostpointercapture",this.onCellPointerUp);const x=drag.currentX??drag.startX,y=drag.currentY??drag.startY;(x!==drag.startX||y!==drag.startY)&&this.commitPlacement(drag.cellId,{x,y,w:drag.w,h:drag.h},"move"),drag.moved&&this.armClickSuppression(drag.cellId,drag.ownerWindow),this.resetCellInlineStyle(drag.cellId,drag.wrapper),this.requestUpdate()},this.onResizeHandlePointerMove=e=>{const resize=this.cellResize;if(!(!resize||e.pointerId!==resize.pointerId)){if(!this.canResizeCell(resize.cellId)){this.cancelCellResize();return}resize.pendingClientX=e.clientX,resize.pendingClientY=e.clientY,resize.previewFrame===void 0&&(resize.previewFrame=resize.ownerWindow.requestAnimationFrame(()=>{resize.previewFrame=void 0,this.cellResize===resize&&this.applyResizePreview(resize)}))}},this.onResizeHandlePointerUp=e=>{const resize=this.cellResize;if(!resize||e.pointerId!==resize.pointerId)return;if(e.type!=="pointerup"||!this.canResizeCell(resize.cellId)){this.cancelCellResize();return}this.flushResizePreview(resize),this.cellResize=void 0,this.releaseGesturePointerCapture(resize.captureTarget,resize.pointerId),resize.wrapper.removeAttribute("data-resizing"),resize.ownerWindow.removeEventListener("pointermove",this.onResizeHandlePointerMove),resize.ownerWindow.removeEventListener("pointerup",this.onResizeHandlePointerUp),resize.ownerWindow.removeEventListener("pointercancel",this.onResizeHandlePointerUp),resize.ownerWindow.removeEventListener("lostpointercapture",this.onResizeHandlePointerUp);const w=resize.currentW??resize.startW,h=resize.currentH??resize.startH;(w!==resize.startW||h!==resize.startH)&&this.commitPlacement(resize.cellId,{x:resize.x,y:resize.y,w,h},"resize"),resize.moved&&this.armClickSuppression(resize.cellId,resize.ownerWindow),this.resetCellInlineStyle(resize.cellId,resize.wrapper),this.requestUpdate()}}static{this.defaultStrings={...super.defaultStrings,dashboardCellCollisionRejected:LYRA_DEFAULT_dashboardCellCollisionRejected,dashboardCellMoved:LYRA_DEFAULT_dashboardCellMoved,dashboardCellResized:LYRA_DEFAULT_dashboardCellResized,dashboardGridLabel:LYRA_DEFAULT_dashboardGridLabel,flowItemAnnouncement:LYRA_DEFAULT_flowItemAnnouncement,noData:LYRA_DEFAULT_noData}}static{this.collectionSupport=eventCollectionSupport}static{this.immutableEventDetails=Object.freeze(["lr-collision","lr-layout-change"])}static{this.styles=[LyraElement.styles,styles,srOnly]}get layout(){return this.effectiveLayout}set layout(value){if(value===this.layoutInput)return;this.layoutInput=value;const previous=this.effectiveLayout;this.authoredLayout=snapshotDashboardLayout(value),this.effectiveLayout=projectDashboardLayout(this.authoredLayout,this.safeColumns),this.announceAppliedPlacement(),this.requestUpdate("layout",previous)}get collision(){return this.collisionValue}set collision(value){const previous=this.collisionValue;this.collisionValue=normalizeLyraDashboardCollisionPolicy(value),this.requestUpdate("collision",previous)}get safeColumns(){return finiteInteger(this.columns,12,1,48)}get safeRowHeight(){return finiteRange(this.lengthInPixels(this.rowHeight),80,1)}get safeGap(){return finiteRange(this.lengthInPixels(this.gap),8,0)}lengthInPixels(value){return typeof value=="number"?value:typeof value!="string"?Number.NaN:resolveCssLength(value,{host:this})??Number.NaN}get sortedLayout(){const layout=this.effectiveLayout;let sorted=sortedByLayout.get(layout);return sorted||sortedByLayout.set(layout,sorted=sortDashboardSpatial(layout)),sorted}connectedCallback(){super.connectedCallback(),this.bindOwnerRealmResources(),this.scheduleDefaultCellSync()}disconnectedCallback(){this.announcer.cancel(),this.announcementSink?.release(),this.announcementSink=void 0,this.childObserver?.disconnect(),this.childObserver=void 0,this.childObserverDocument=void 0,this.defaultCellSyncQueued=!1,this.restoreManagedAuthoredSlots(),this.clearSuppressedClick(),this.pendingPlacementAnnouncement=void 0,this.cancelCellDrag(),this.cancelCellResize(),super.disconnectedCallback()}adoptedCallback(){super.adoptedCallback(),this.childObserver?.disconnect(),this.childObserver=void 0,this.childObserverDocument=void 0,this.announcementSink?.release(),this.announcementSink=void 0,this.clearSuppressedClick(),this.isConnected&&(this.bindOwnerRealmResources(),this.scheduleDefaultCellSync())}bindOwnerRealmResources(){const ownerDocument=this.ownerDocument,ownerWindow=ownerDocument.defaultView;if(ownerWindow&&this.announcer.setTimerHost(ownerWindow),this.announcementSink??=acquireAnnouncementSink("polite",{document:ownerDocument,source:this}),this.childObserver&&this.childObserverDocument===ownerDocument)return;this.childObserver?.disconnect(),this.childObserver=void 0,this.childObserverDocument=void 0;const MutationObserverCtor=ownerWindow?.MutationObserver;if(!MutationObserverCtor)return;const observer=new MutationObserverCtor(records=>{this.childObserver!==observer||this.childObserverDocument!==ownerDocument||!records.some(record=>record.type==="childList"?record.target===this:record.target.parentNode===this)||this.scheduleDefaultCellSync()});observer.observe(this,{childList:!0,attributes:!0,attributeFilter:["cell-id"],subtree:!0}),this.childObserver=observer,this.childObserverDocument=ownerDocument}scheduleDefaultCellSync(){!this.isConnected||this.defaultCellSyncQueued||(this.defaultCellSyncQueued=!0,queueMicrotask(()=>{this.defaultCellSyncQueued=!1,this.isConnected&&this.syncDefaultCells()}))}willUpdate(changed){if(super.willUpdate(changed),changed.has("columns")&&(this.effectiveLayout=projectDashboardLayout(this.authoredLayout,this.safeColumns)),changed.has("layout")||changed.has("columns")){this.rehomeCellFocus=activeElementIn(this.renderRoot)?.getAttribute("part")==="cell",this.ownerDocument&&this.isConnected&&(this.hasUpdated?this.syncDefaultCells():this.seedFirstRenderState(()=>this.syncDefaultCells()));const cells=this.sortedLayout,retainedIndex=cells.findIndex(cell=>cell.cellId===this.activeCellId),nextIndex=cells.length===0?0:retainedIndex>=0?retainedIndex:Math.min(this.activeCellIndex,cells.length-1);this.activeCellIndex=nextIndex,this.activeCellId=cells[nextIndex]?.cellId??""}this.cellDrag&&(!sameGeometry(this.cellDrag.layout,this.effectiveLayout)||changed.has("columns")||changed.has("rowHeight")||changed.has("gap")||(changed.has("cellsDraggable")||changed.has("readonly"))&&!this.canDragCell(this.cellDrag.cellId))&&this.cancelCellDrag(),this.cellResize&&(!sameGeometry(this.cellResize.layout,this.effectiveLayout)||changed.has("columns")||changed.has("rowHeight")||changed.has("gap")||(changed.has("cellsResizable")||changed.has("readonly"))&&!this.canResizeCell(this.cellResize.cellId))&&this.cancelCellResize()}updated(changed){super.updated(changed),this.rehomeCellFocus&&(this.rehomeCellFocus=!1,this.renderRoot.querySelector('[part="cell"][tabindex="0"]')?.focus())}cellLabel(cell){return cell.label||cell.cellId}restoreAuthoredSlot(child){if(!this.authoredSlotBaselines.has(child))return;const baseline=this.authoredSlotBaselines.get(child);baseline===null?child.removeAttribute("slot"):baseline!==void 0&&child.setAttribute("slot",baseline),this.authoredSlotBaselines.delete(child),this.managedAuthoredCells.delete(child)}restoreManagedAuthoredSlots(){for(const child of this.managedAuthoredCells)this.restoreAuthoredSlot(child);this.managedAuthoredCells.clear()}syncDefaultCells(){if(!this.isConnected)return;const ids=new Set(this.effectiveLayout.map(cell=>cell.cellId)),authoredById=new Map,ownedById=new Map;for(const child of Array.from(this.children)){if(this.ownedDefaultCells.has(child)){const ownedCellId=child.getAttribute("data-cell-id");if(!ownedCellId){child.remove();continue}const matches=ownedById.get(ownedCellId)??[];matches.push(child),ownedById.set(ownedCellId,matches);continue}const cellId=child.getAttribute("cell-id");cellId&&ids.has(cellId)&&!authoredById.has(cellId)?(authoredById.set(cellId,child),this.warnedUnmatchedCells.delete(child),this.authoredSlotBaselines.has(child)||this.authoredSlotBaselines.set(child,child.getAttribute("slot")),this.managedAuthoredCells.add(child),child.setAttribute("slot",`cell-${cellId}`)):(this.restoreAuthoredSlot(child),cellId&&!ids.has(cellId)&&!this.warnedUnmatchedCells.has(child)&&(this.warnedUnmatchedCells.add(child),devWarnOnce(UNMATCHED_AUTHORED_CELL_WARNING_KEY,UNMATCHED_AUTHORED_CELL_WARNING)))}const selectedAuthored=new Set(authoredById.values());for(const managed of[...this.managedAuthoredCells])(!this.contains(managed)||!selectedAuthored.has(managed))&&this.restoreAuthoredSlot(managed);for(const cell of this.effectiveLayout){const owned=ownedById.get(cell.cellId)??[];if(authoredById.has(cell.cellId)){for(const defaultCell of owned)defaultCell.remove();continue}const existing=owned.shift();existing?(existing.setAttribute("slot",`cell-${cell.cellId}`),this.updateDefaultCell(existing,cell)):this.appendChild(this.createDefaultCell(cell));for(const duplicate of owned)duplicate.remove();ownedById.delete(cell.cellId)}for(const stale of ownedById.values())for(const defaultCell of stale)defaultCell.remove()}createDefaultCell(cell){const ownerDocument=this.ownerDocument,widget=ownerDocument.createElement(tag("widget"));widget.setAttribute("data-cell-id",cell.cellId),widget.setAttribute("data-dashboard-grid-default-cell",""),widget.setAttribute("slot",`cell-${cell.cellId}`),this.ownedDefaultCells.add(widget);const renderer=ownerDocument.createElement(tag("widget-renderer"));return widget.appendChild(renderer),this.updateDefaultCell(widget,cell),widget}updateDefaultCell(widget,cell){widget.label=this.cellLabel(cell);const renderer=widget.querySelector(tag("widget-renderer"));renderer&&assignedWidgets.get(renderer)!==cell.widget&&(assignedWidgets.set(renderer,cell.widget),renderer.document=cell.widget==null?null:createWidgetDocument(cell.widget))}onCellFocus(cellId){const index=this.sortedLayout.findIndex(cell=>cell.cellId===cellId);index>=0&&(this.activeCellIndex!==index&&(this.activeCellIndex=index),this.activeCellId!==cellId&&(this.activeCellId=cellId))}cellElement(cellId){const ownerCss=this.ownerDocument.defaultView?.CSS;if(typeof ownerCss?.escape=="function")try{const candidate=this.renderRoot.querySelector(`[part="cell"][data-cell-id="${ownerCss.escape(cellId)}"]`);if(candidate?.getAttribute("data-cell-id")===cellId)return candidate}catch{}return Array.from(this.renderRoot.querySelectorAll('[part="cell"][data-cell-id]')).find(candidate=>candidate.getAttribute("data-cell-id")===cellId)??null}focusCellAt(index){const cells=this.sortedLayout;if(index<0||index>=cells.length)return;this.activeCellIndex=index;const cell=cells[index];this.activeCellId=cell.cellId;const number=getNumberFormat(this.effectiveLocale);this.announcer.announce(this.localize("flowItemAnnouncement",void 0,{item:this.cellLabel(cell),index:number.format(index+1),total:number.format(cells.length)})),this.updateComplete.then(()=>{this.cellElement(cell.cellId)?.focus()})}onCellKeyDown(e,cell){const owner=e.currentTarget;if(e.composedPath()[0]!==owner)return;const isMod=e.ctrlKey||e.metaKey;if(isMod&&isArrowKey(e.key)){(e.shiftKey?this.keyboardResize(cell,e.key):this.keyboardMove(cell,e.key))&&e.preventDefault();return}if(e.altKey||isMod||e.isComposing)return;const cells=this.sortedLayout,index=cells.findIndex(c=>c.cellId===cell.cellId);if(index<0)return;const rtl=isRtl(this),forwardKey=rtl?"ArrowLeft":"ArrowRight",backwardKey=rtl?"ArrowRight":"ArrowLeft";let next=index;if(e.key===forwardKey||e.key==="ArrowDown")next=Math.min(cells.length-1,index+1);else if(e.key===backwardKey||e.key==="ArrowUp")next=Math.max(0,index-1);else if(e.key==="Home")next=0;else if(e.key==="End")next=cells.length-1;else return;next!==index&&(e.preventDefault(),this.focusCellAt(next))}keyboardMove(cell,key){if(!this.cellsDraggable||this.readonly||cell.locked)return!1;const rtlFlip=isRtl(this)?-1:1;let dx=0,dy=0;if(key==="ArrowRight")dx=rtlFlip;else if(key==="ArrowLeft")dx=-rtlFlip;else if(key==="ArrowDown")dy=1;else if(key==="ArrowUp")dy=-1;else return!1;return this.commitPlacement(cell.cellId,{x:cell.x+dx,y:cell.y+dy,w:cell.w,h:cell.h},"move")}keyboardResize(cell,key){if(!this.cellsResizable||this.readonly||cell.locked)return!1;let dw=0,dh=0;if(key==="ArrowRight")dw=1;else if(key==="ArrowLeft")dw=-1;else if(key==="ArrowDown")dh=1;else if(key==="ArrowUp")dh=-1;else return!1;return this.commitPlacement(cell.cellId,{x:cell.x,y:cell.y,w:cell.w+dw,h:cell.h+dh},"resize")}announceAppliedPlacement(){const pending=this.pendingPlacementAnnouncement;if(!pending)return;this.pendingPlacementAnnouncement=void 0;const cell=this.effectiveLayout.find(candidate=>candidate.cellId===pending.cellId);if(!cell||!(pending.kind==="move"?cell.x===pending.x&&cell.y===pending.y:cell.w===pending.w&&cell.h===pending.h))return;const number=getNumberFormat(this.effectiveLocale);if(pending.kind==="move"){this.announcer.announce(this.localize("dashboardCellMoved",void 0,{label:this.cellLabel(cell),x:number.format(cell.x+1),y:number.format(cell.y+1)}));return}this.announcer.announce(this.localize("dashboardCellResized",void 0,{label:this.cellLabel(cell),w:number.format(cell.w),h:number.format(cell.h)}))}commitPlacement(cellId,requested,kind){const layout=this.effectiveLayout,cell=layout.find(candidate=>candidate.cellId===cellId);if(!cell)return!1;const result=resolveDashboardPlacement(layout,cellId,requested,this.safeColumns,this.collision);if(result.collidedCellIds.length>0&&this.emit("lr-collision",Object.freeze({cellId,collidedCellIds:result.collidedCellIds,policy:this.collision,accepted:result.accepted})),!result.accepted)return this.announcer.announce(this.localize("dashboardCellCollisionRejected",void 0,{label:this.cellLabel(cell)})),!0;const updated=result.layout.find(candidate=>candidate.cellId===cellId);return(kind==="move"?updated.x===cell.x&&updated.y===cell.y:updated.w===cell.w&&updated.h===cell.h)?!1:(this.pendingPlacementAnnouncement={cellId,kind,x:updated.x,y:updated.y,w:updated.w,h:updated.h},kind==="move"?this.emit("lr-cell-move",Object.freeze({cellId,position:Object.freeze({x:updated.x,y:updated.y}),previous:Object.freeze({x:cell.x,y:cell.y})})):this.emit("lr-cell-resize",Object.freeze({cellId,size:Object.freeze({w:updated.w,h:updated.h}),previous:Object.freeze({w:cell.w,h:cell.h})})),this.emit("lr-layout-change",Object.freeze({layout:result.layout})),!0)}cellStyle(cell){return{"grid-column":`${cell.x+1} / span ${cell.w}`,"grid-row":`${cell.y+1} / span ${cell.h}`}}measurePitch(){const baseEl=this.renderRoot.querySelector('[part="base"]');if(!baseEl)return null;const ownerWindow=baseEl.ownerDocument.defaultView;if(!ownerWindow)return null;const rect=baseEl.getBoundingClientRect(),computed=ownerWindow.getComputedStyle(baseEl),columns=this.safeColumns,contentWidth=rect.width-finiteRange(Number.parseFloat(computed.borderLeftWidth),0,0)-finiteRange(Number.parseFloat(computed.borderRightWidth),0,0)-finiteRange(Number.parseFloat(computed.paddingLeft),0,0)-finiteRange(Number.parseFloat(computed.paddingRight),0,0),contentHeight=rect.height-finiteRange(Number.parseFloat(computed.borderTopWidth),0,0)-finiteRange(Number.parseFloat(computed.borderBottomWidth),0,0)-finiteRange(Number.parseFloat(computed.paddingTop),0,0)-finiteRange(Number.parseFloat(computed.paddingBottom),0,0),resolveGap=(value,basis)=>{if(value==="normal")return 0;const magnitude=Number.parseFloat(value);return finiteRange(value.endsWith("%")?magnitude*basis/100:magnitude,this.safeGap,0)},columnGap=resolveGap(computed.columnGap,contentWidth),rowGap=resolveGap(computed.rowGap,contentHeight),columnWidth=finiteRange(Number.parseFloat(computed.gridTemplateColumns),Math.max(0,(contentWidth-columnGap*(columns-1))/columns),0),rowHeight=finiteRange(Number.parseFloat(computed.gridAutoRows),this.safeRowHeight,0),colPitch=columnWidth+columnGap,rowPitch=rowHeight+rowGap;return{colPitch:colPitch>0?colPitch:1,rowPitch:rowPitch>0?rowPitch:1}}resetCellInlineStyle(cellId,wrapper){wrapper.removeAttribute("data-collision");const cell=this.effectiveLayout.find(candidate=>candidate.cellId===cellId);if(cell){const style=this.cellStyle(cell);wrapper.style.gridColumn=style["grid-column"],wrapper.style.gridRow=style["grid-row"]}}canDragCell(cellId){const cell=this.layout.find(candidate=>candidate.cellId===cellId);return this.cellsDraggable&&!this.readonly&&cell!==void 0&&!cell.locked}canResizeCell(cellId){const cell=this.layout.find(candidate=>candidate.cellId===cellId);return this.cellsResizable&&!this.readonly&&cell!==void 0&&!cell.locked}capturePointer(target,pointerId){try{target.setPointerCapture?.(pointerId)}catch{}}releaseGesturePointerCapture(target,pointerId){try{target.releasePointerCapture?.(pointerId)}catch{}}cancelCellDrag(){const drag=this.cellDrag;drag&&(this.cellDrag=void 0,drag.previewFrame!==void 0&&drag.ownerWindow.cancelAnimationFrame(drag.previewFrame),this.releaseGesturePointerCapture(drag.wrapper,drag.pointerId),drag.wrapper.removeAttribute("data-dragging"),this.resetCellInlineStyle(drag.cellId,drag.wrapper),drag.ownerWindow.removeEventListener("pointermove",this.onCellPointerMove),drag.ownerWindow.removeEventListener("pointerup",this.onCellPointerUp),drag.ownerWindow.removeEventListener("pointercancel",this.onCellPointerUp),drag.ownerWindow.removeEventListener("lostpointercapture",this.onCellPointerUp))}cancelCellResize(){const resize=this.cellResize;resize&&(this.cellResize=void 0,resize.previewFrame!==void 0&&resize.ownerWindow.cancelAnimationFrame(resize.previewFrame),this.releaseGesturePointerCapture(resize.captureTarget,resize.pointerId),resize.wrapper.removeAttribute("data-resizing"),this.resetCellInlineStyle(resize.cellId,resize.wrapper),resize.ownerWindow.removeEventListener("pointermove",this.onResizeHandlePointerMove),resize.ownerWindow.removeEventListener("pointerup",this.onResizeHandlePointerUp),resize.ownerWindow.removeEventListener("pointercancel",this.onResizeHandlePointerUp),resize.ownerWindow.removeEventListener("lostpointercapture",this.onResizeHandlePointerUp))}hasInteractiveTarget(e,wrapper){const path=e.composedPath(),stop=path.indexOf(wrapper);for(const node of stop<0?path:path.slice(0,stop)){const element=node;if(typeof element.matches=="function"&&node!==wrapper&&element.matches(INTERACTIVE_DESCENDANT_SELECTOR))return!0}return!1}onCellPointerDown(e,cell){if(!this.cellsDraggable||this.readonly||cell.locked||this.cellDrag||handledPointerDowns.has(e)||!e.isPrimary||e.button!==0)return;const wrapper=e.currentTarget;if(this.hasInteractiveTarget(e,wrapper))return;const ownerWindow=wrapper.ownerDocument.defaultView;if(!ownerWindow)return;const pitch=this.measurePitch();if(!pitch)return;const layout=this.effectiveLayout;handledPointerDowns.add(e),this.cellDrag={pointerId:e.pointerId,cellId:cell.cellId,startClientX:e.clientX,startClientY:e.clientY,startX:cell.x,startY:cell.y,w:cell.w,h:cell.h,...pitch,wrapper,ownerWindow,rtlFlip:isRtl(this)?-1:1,layout,spatialIndex:createDashboardSpatialIndex(layout,this.safeColumns)},this.capturePointer(wrapper,e.pointerId),wrapper.setAttribute("data-dragging",""),ownerWindow.addEventListener("pointermove",this.onCellPointerMove),ownerWindow.addEventListener("pointerup",this.onCellPointerUp),ownerWindow.addEventListener("pointercancel",this.onCellPointerUp),ownerWindow.addEventListener("lostpointercapture",this.onCellPointerUp)}applyDragPreview(drag){if(drag.pendingClientX===void 0||drag.pendingClientY===void 0)return;const clientX=drag.pendingClientX,clientY=drag.pendingClientY;drag.pendingClientX=void 0,drag.pendingClientY=void 0;const dxUnits=Math.round((clientX-drag.startClientX)*drag.rtlFlip/drag.colPitch),dyUnits=Math.round((clientY-drag.startClientY)/drag.rowPitch),{x,y}=clampDashboardCandidate({},{x:drag.startX+dxUnits,y:drag.startY+dyUnits,w:drag.w,h:drag.h},drag.spatialIndex.columns);if(drag.wrapper.style.gridColumn=`${x+1} / span ${drag.w}`,drag.wrapper.style.gridRow=`${y+1} / span ${drag.h}`,this.collision!=="overlap"){const collides=findDashboardCollisions(drag.spatialIndex,{cellId:drag.cellId,x,y,w:drag.w,h:drag.h}).length>0;drag.wrapper.toggleAttribute("data-collision",collides)}else drag.wrapper.removeAttribute("data-collision");drag.currentX=x,drag.currentY=y,(x!==drag.startX||y!==drag.startY)&&(drag.moved=!0)}flushDragPreview(drag){drag.previewFrame!==void 0&&(drag.ownerWindow.cancelAnimationFrame(drag.previewFrame),drag.previewFrame=void 0),this.applyDragPreview(drag)}onResizeHandlePointerDown(e,cell){if(!this.cellsResizable||this.readonly||cell.locked||this.cellResize||!e.isPrimary||e.button!==0)return;const wrapper=e.currentTarget.closest('[part="cell"]');if(!wrapper)return;const ownerWindow=wrapper.ownerDocument.defaultView;if(!ownerWindow)return;const pitch=this.measurePitch();if(!pitch)return;const layout=this.effectiveLayout;handledPointerDowns.add(e);const captureTarget=e.currentTarget;this.cellResize={pointerId:e.pointerId,cellId:cell.cellId,startClientX:e.clientX,startClientY:e.clientY,startW:cell.w,startH:cell.h,x:cell.x,y:cell.y,...pitch,wrapper,captureTarget,ownerWindow,rtlFlip:isRtl(this)?-1:1,layout,spatialIndex:createDashboardSpatialIndex(layout,this.safeColumns)},this.capturePointer(captureTarget,e.pointerId),wrapper.setAttribute("data-resizing",""),ownerWindow.addEventListener("pointermove",this.onResizeHandlePointerMove),ownerWindow.addEventListener("pointerup",this.onResizeHandlePointerUp),ownerWindow.addEventListener("pointercancel",this.onResizeHandlePointerUp),ownerWindow.addEventListener("lostpointercapture",this.onResizeHandlePointerUp)}applyResizePreview(resize){if(resize.pendingClientX===void 0||resize.pendingClientY===void 0)return;const clientX=resize.pendingClientX,clientY=resize.pendingClientY;resize.pendingClientX=void 0,resize.pendingClientY=void 0;const dwUnits=Math.round((clientX-resize.startClientX)*resize.rtlFlip/resize.colPitch),dhUnits=Math.round((clientY-resize.startClientY)/resize.rowPitch),{w,h}=clampDashboardCandidate(resize.spatialIndex.byId.get(resize.cellId)??{},{x:resize.x,y:resize.y,w:resize.startW+dwUnits,h:resize.startH+dhUnits},resize.spatialIndex.columns);if(resize.wrapper.style.gridColumn=`${resize.x+1} / span ${w}`,resize.wrapper.style.gridRow=`${resize.y+1} / span ${h}`,this.collision!=="overlap"){const collides=findDashboardCollisions(resize.spatialIndex,{cellId:resize.cellId,x:resize.x,y:resize.y,w,h}).length>0;resize.wrapper.toggleAttribute("data-collision",collides)}else resize.wrapper.removeAttribute("data-collision");resize.currentW=w,resize.currentH=h,(w!==resize.startW||h!==resize.startH)&&(resize.moved=!0)}flushResizePreview(resize){resize.previewFrame!==void 0&&(resize.ownerWindow.cancelAnimationFrame(resize.previewFrame),resize.previewFrame=void 0),this.applyResizePreview(resize)}clearSuppressedClick(){this.suppressedClickTimer!==void 0&&this.suppressedClickWindow&&this.suppressedClickWindow.clearTimeout(this.suppressedClickTimer),this.suppressedClickTimer=void 0,this.suppressedClickWindow=void 0,this.suppressedClickCellId=""}armClickSuppression(cellId,ownerWindow){this.clearSuppressedClick(),this.suppressedClickCellId=cellId,this.suppressedClickWindow=ownerWindow,this.suppressedClickTimer=ownerWindow.setTimeout(()=>{this.suppressedClickTimer=void 0,this.suppressedClickWindow=void 0,this.suppressedClickCellId=""},0)}onCellClick(e,cellId){this.suppressedClickCellId===cellId&&(this.clearSuppressedClick(),e.preventDefault(),e.stopImmediatePropagation())}renderCell(cell,active){const resizableHere=this.cellsResizable&&!this.readonly&&!cell.locked;return html`<div
1
+ import{__decorate}from"tslib";import{eventCollectionSupport}from"../../../internal/collection-snapshot.js";import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{repeat}from"lit/directives/repeat.js";import{styleMap}from"lit/directives/style-map.js";import{LyraElement}from"../../../internal/lyra-element.js";import{devWarnOnce}from"../../../internal/dev-mode-attribute-warning.js";import{resolveCssLength}from"../../../internal/css-length.js";import{tag}from"../../../internal/prefix.js";import{isAccessibilityVisible,srOnly}from"../../../internal/a11y.js";import{Announcer,acquireAnnouncementSink}from"../../../internal/announcer.js";import{isRtl}from"../../../internal/rtl.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{isArrowKey,finiteInteger,finiteRange}from"../../../internal/numbers.js";import{styles}from"./dashboard-grid.styles.js";import{clampDashboardCandidate,createDashboardSpatialIndex,findDashboardCollisions,normalizeLyraDashboardCollisionPolicy,projectDashboardLayout,resolveDashboardPlacement,snapshotDashboardLayout,sortDashboardSpatial}from"./layout-internal.js";import{createWidgetDocument}from"../../conversation/widget-renderer/resolve.js";import{shadowFocusTarget}from"../../../internal/active-element.js";import{LYRA_DEFAULT_dashboardCellCollisionRejected,LYRA_DEFAULT_dashboardCellMoved,LYRA_DEFAULT_dashboardCellResized,LYRA_DEFAULT_dashboardGridLabel,LYRA_DEFAULT_flowItemAnnouncement,LYRA_DEFAULT_noData}from"../../../internal/default-strings.generated.js";const INTERACTIVE_DESCENDANT_SELECTOR='button, a[href], area[href], input, select, textarea, summary, label, audio[controls], video[controls], [contenteditable]:not([contenteditable="false"]), [role="button"], [role="link"], [role="checkbox"], [role="radio"], [role="switch"], [role="slider"], [role="spinbutton"], [role="textbox"], [role="combobox"], [role="option"], [role="menuitem"], [tabindex]:not([part="cell"])',DASHBOARD_LENGTH_CONVERTER={fromAttribute:value=>{if(value===null)return value;const number=Number(value);return Number.isNaN(number)?value:number}},GEOMETRY_KEYS=["cellId","x","y","w","h","minW","maxW","minH","maxH","locked"],sortedByLayout=new WeakMap,assignedWidgets=new WeakMap,handledPointerDowns=new WeakSet;function sameGeometry(a,b){return a===b||a.length===b.length&&a.every((cell,i)=>GEOMETRY_KEYS.every(key=>cell[key]===b[i][key]))}const UNMATCHED_AUTHORED_CELL_WARNING_KEY="lyra-dashboard-grid-unmatched-authored-cell",UNMATCHED_AUTHORED_CELL_WARNING="<lr-dashboard-grid>: an authored child has a cell-id that matches no layout entry and will not render.";class LyraDashboardGrid extends LyraElement{constructor(){super(...arguments),this.authoredLayout=Object.freeze([]),this.effectiveLayout=Object.freeze([]),this.columns=12,this.rowHeight=80,this.gap=8,this.collisionValue="reject",this.cellsDraggable=!1,this.cellsResizable=!1,this.readonly=!1,this.accessibleLabel=null,this.announcer=new Announcer({onFlush:text=>{this.liveText=text,isAccessibilityVisible(this)&&this.announcementSink?.announce(text)}}),this.liveText="",this.activeCellIndex=0,this.activeCellId="",this.rehomeCellFocus=!1,this.defaultCellSyncQueued=!1,this.ownedDefaultCells=new WeakSet,this.warnedUnmatchedCells=new WeakSet,this.authoredSlotBaselines=new WeakMap,this.managedAuthoredCells=new Set,this.suppressedClickCellId="",this.onCellPointerMove=e=>{const drag=this.cellDrag;if(!(!drag||e.pointerId!==drag.pointerId)){if(!this.canDragCell(drag.cellId)){this.cancelCellDrag();return}drag.pendingClientX=e.clientX,drag.pendingClientY=e.clientY,drag.previewFrame===void 0&&(drag.previewFrame=drag.ownerWindow.requestAnimationFrame(()=>{drag.previewFrame=void 0,this.cellDrag===drag&&this.applyDragPreview(drag)}))}},this.onCellPointerUp=e=>{const drag=this.cellDrag;if(!drag||e.pointerId!==drag.pointerId)return;if(e.type!=="pointerup"||!this.canDragCell(drag.cellId)){this.cancelCellDrag();return}this.flushDragPreview(drag),this.cellDrag=void 0,this.releaseGesturePointerCapture(drag.wrapper,drag.pointerId),drag.wrapper.removeAttribute("data-dragging"),drag.ownerWindow.removeEventListener("pointermove",this.onCellPointerMove),drag.ownerWindow.removeEventListener("pointerup",this.onCellPointerUp),drag.ownerWindow.removeEventListener("pointercancel",this.onCellPointerUp),drag.ownerWindow.removeEventListener("lostpointercapture",this.onCellPointerUp);const x=drag.currentX??drag.startX,y=drag.currentY??drag.startY;(x!==drag.startX||y!==drag.startY)&&this.commitPlacement(drag.cellId,{x,y,w:drag.w,h:drag.h},"move"),drag.moved&&this.armClickSuppression(drag.cellId,drag.ownerWindow),this.resetCellInlineStyle(drag.cellId,drag.wrapper),this.requestUpdate()},this.onResizeHandlePointerMove=e=>{const resize=this.cellResize;if(!(!resize||e.pointerId!==resize.pointerId)){if(!this.canResizeCell(resize.cellId)){this.cancelCellResize();return}resize.pendingClientX=e.clientX,resize.pendingClientY=e.clientY,resize.previewFrame===void 0&&(resize.previewFrame=resize.ownerWindow.requestAnimationFrame(()=>{resize.previewFrame=void 0,this.cellResize===resize&&this.applyResizePreview(resize)}))}},this.onResizeHandlePointerUp=e=>{const resize=this.cellResize;if(!resize||e.pointerId!==resize.pointerId)return;if(e.type!=="pointerup"||!this.canResizeCell(resize.cellId)){this.cancelCellResize();return}this.flushResizePreview(resize),this.cellResize=void 0,this.releaseGesturePointerCapture(resize.captureTarget,resize.pointerId),resize.wrapper.removeAttribute("data-resizing"),resize.ownerWindow.removeEventListener("pointermove",this.onResizeHandlePointerMove),resize.ownerWindow.removeEventListener("pointerup",this.onResizeHandlePointerUp),resize.ownerWindow.removeEventListener("pointercancel",this.onResizeHandlePointerUp),resize.ownerWindow.removeEventListener("lostpointercapture",this.onResizeHandlePointerUp);const w=resize.currentW??resize.startW,h=resize.currentH??resize.startH;(w!==resize.startW||h!==resize.startH)&&this.commitPlacement(resize.cellId,{x:resize.x,y:resize.y,w,h},"resize"),resize.moved&&this.armClickSuppression(resize.cellId,resize.ownerWindow),this.resetCellInlineStyle(resize.cellId,resize.wrapper),this.requestUpdate()}}static{this.defaultStrings={...super.defaultStrings,dashboardCellCollisionRejected:LYRA_DEFAULT_dashboardCellCollisionRejected,dashboardCellMoved:LYRA_DEFAULT_dashboardCellMoved,dashboardCellResized:LYRA_DEFAULT_dashboardCellResized,dashboardGridLabel:LYRA_DEFAULT_dashboardGridLabel,flowItemAnnouncement:LYRA_DEFAULT_flowItemAnnouncement,noData:LYRA_DEFAULT_noData}}static{this.collectionSupport=eventCollectionSupport}static{this.immutableEventDetails=Object.freeze(["lr-collision","lr-layout-change"])}static{this.styles=[LyraElement.styles,styles,srOnly]}get layout(){return this.effectiveLayout}set layout(value){if(value===this.layoutInput)return;this.layoutInput=value;const previous=this.effectiveLayout;this.authoredLayout=snapshotDashboardLayout(value),this.effectiveLayout=projectDashboardLayout(this.authoredLayout,this.safeColumns),this.announceAppliedPlacement(),this.requestUpdate("layout",previous)}get collision(){return this.collisionValue}set collision(value){const previous=this.collisionValue;this.collisionValue=normalizeLyraDashboardCollisionPolicy(value),this.requestUpdate("collision",previous)}get safeColumns(){return finiteInteger(this.columns,12,1,48)}get safeRowHeight(){return finiteRange(this.lengthInPixels(this.rowHeight),80,1)}get safeGap(){return finiteRange(this.lengthInPixels(this.gap),8,0)}lengthInPixels(value){return typeof value=="number"?value:typeof value!="string"?Number.NaN:resolveCssLength(value,{host:this})??Number.NaN}get sortedLayout(){const layout=this.effectiveLayout;let sorted=sortedByLayout.get(layout);return sorted||sortedByLayout.set(layout,sorted=sortDashboardSpatial(layout)),sorted}connectedCallback(){super.connectedCallback(),this.bindOwnerRealmResources(),this.scheduleDefaultCellSync()}disconnectedCallback(){this.announcer.cancel(),this.announcementSink?.release(),this.announcementSink=void 0,this.childObserver?.disconnect(),this.childObserver=void 0,this.childObserverDocument=void 0,this.defaultCellSyncQueued=!1,this.restoreManagedAuthoredSlots(),this.clearSuppressedClick(),this.pendingPlacementAnnouncement=void 0,this.cancelCellDrag(),this.cancelCellResize(),super.disconnectedCallback()}adoptedCallback(){super.adoptedCallback(),this.childObserver?.disconnect(),this.childObserver=void 0,this.childObserverDocument=void 0,this.announcementSink?.release(),this.announcementSink=void 0,this.clearSuppressedClick(),this.isConnected&&(this.bindOwnerRealmResources(),this.scheduleDefaultCellSync())}bindOwnerRealmResources(){const ownerDocument=this.ownerDocument,ownerWindow=ownerDocument.defaultView;if(ownerWindow&&this.announcer.setTimerHost(ownerWindow),this.announcementSink??=acquireAnnouncementSink("polite",{document:ownerDocument,source:this}),this.childObserver&&this.childObserverDocument===ownerDocument)return;this.childObserver?.disconnect(),this.childObserver=void 0,this.childObserverDocument=void 0;const MutationObserverCtor=ownerWindow?.MutationObserver;if(!MutationObserverCtor)return;const observer=new MutationObserverCtor(records=>{this.childObserver!==observer||this.childObserverDocument!==ownerDocument||!records.some(record=>record.type==="childList"?record.target===this:record.target.parentNode===this)||this.scheduleDefaultCellSync()});observer.observe(this,{childList:!0,attributes:!0,attributeFilter:["cell-id"],subtree:!0}),this.childObserver=observer,this.childObserverDocument=ownerDocument}scheduleDefaultCellSync(){!this.isConnected||this.defaultCellSyncQueued||(this.defaultCellSyncQueued=!0,queueMicrotask(()=>{this.defaultCellSyncQueued=!1,this.isConnected&&this.syncDefaultCells()}))}willUpdate(changed){if(super.willUpdate(changed),changed.has("columns")&&(this.effectiveLayout=projectDashboardLayout(this.authoredLayout,this.safeColumns)),changed.has("layout")||changed.has("columns")){this.rehomeCellFocus=shadowFocusTarget(this)?.getAttribute("part")==="cell",this.ownerDocument&&this.isConnected&&(this.hasUpdated?this.syncDefaultCells():this.seedFirstRenderState(()=>this.syncDefaultCells()));const cells=this.sortedLayout,retainedIndex=cells.findIndex(cell=>cell.cellId===this.activeCellId),nextIndex=cells.length===0?0:retainedIndex>=0?retainedIndex:Math.min(this.activeCellIndex,cells.length-1);this.activeCellIndex=nextIndex,this.activeCellId=cells[nextIndex]?.cellId??""}this.cellDrag&&(!sameGeometry(this.cellDrag.layout,this.effectiveLayout)||changed.has("columns")||changed.has("rowHeight")||changed.has("gap")||(changed.has("cellsDraggable")||changed.has("readonly"))&&!this.canDragCell(this.cellDrag.cellId))&&this.cancelCellDrag(),this.cellResize&&(!sameGeometry(this.cellResize.layout,this.effectiveLayout)||changed.has("columns")||changed.has("rowHeight")||changed.has("gap")||(changed.has("cellsResizable")||changed.has("readonly"))&&!this.canResizeCell(this.cellResize.cellId))&&this.cancelCellResize()}updated(changed){super.updated(changed),this.rehomeCellFocus&&(this.rehomeCellFocus=!1,this.renderRoot.querySelector('[part="cell"][tabindex="0"]')?.focus())}cellLabel(cell){return cell.label||cell.cellId}restoreAuthoredSlot(child){if(!this.authoredSlotBaselines.has(child))return;const baseline=this.authoredSlotBaselines.get(child);baseline===null?child.removeAttribute("slot"):baseline!==void 0&&child.setAttribute("slot",baseline),this.authoredSlotBaselines.delete(child),this.managedAuthoredCells.delete(child)}restoreManagedAuthoredSlots(){for(const child of this.managedAuthoredCells)this.restoreAuthoredSlot(child);this.managedAuthoredCells.clear()}syncDefaultCells(){if(!this.isConnected)return;const ids=new Set(this.effectiveLayout.map(cell=>cell.cellId)),authoredById=new Map,ownedById=new Map;for(const child of Array.from(this.children)){if(this.ownedDefaultCells.has(child)){const ownedCellId=child.getAttribute("data-cell-id");if(!ownedCellId){child.remove();continue}const matches=ownedById.get(ownedCellId)??[];matches.push(child),ownedById.set(ownedCellId,matches);continue}const cellId=child.getAttribute("cell-id");cellId&&ids.has(cellId)&&!authoredById.has(cellId)?(authoredById.set(cellId,child),this.warnedUnmatchedCells.delete(child),this.authoredSlotBaselines.has(child)||this.authoredSlotBaselines.set(child,child.getAttribute("slot")),this.managedAuthoredCells.add(child),child.setAttribute("slot",`cell-${cellId}`)):(this.restoreAuthoredSlot(child),cellId&&!ids.has(cellId)&&!this.warnedUnmatchedCells.has(child)&&(this.warnedUnmatchedCells.add(child),devWarnOnce(UNMATCHED_AUTHORED_CELL_WARNING_KEY,UNMATCHED_AUTHORED_CELL_WARNING)))}const selectedAuthored=new Set(authoredById.values());for(const managed of[...this.managedAuthoredCells])(!this.contains(managed)||!selectedAuthored.has(managed))&&this.restoreAuthoredSlot(managed);for(const cell of this.effectiveLayout){const owned=ownedById.get(cell.cellId)??[];if(authoredById.has(cell.cellId)){for(const defaultCell of owned)defaultCell.remove();continue}const existing=owned.shift();existing?(existing.setAttribute("slot",`cell-${cell.cellId}`),this.updateDefaultCell(existing,cell)):this.appendChild(this.createDefaultCell(cell));for(const duplicate of owned)duplicate.remove();ownedById.delete(cell.cellId)}for(const stale of ownedById.values())for(const defaultCell of stale)defaultCell.remove()}createDefaultCell(cell){const ownerDocument=this.ownerDocument,widget=ownerDocument.createElement(tag("widget"));widget.setAttribute("data-cell-id",cell.cellId),widget.setAttribute("data-dashboard-grid-default-cell",""),widget.setAttribute("slot",`cell-${cell.cellId}`),this.ownedDefaultCells.add(widget);const renderer=ownerDocument.createElement(tag("widget-renderer"));return widget.appendChild(renderer),this.updateDefaultCell(widget,cell),widget}updateDefaultCell(widget,cell){widget.label=this.cellLabel(cell);const renderer=widget.querySelector(tag("widget-renderer"));renderer&&assignedWidgets.get(renderer)!==cell.widget&&(assignedWidgets.set(renderer,cell.widget),renderer.document=cell.widget==null?null:createWidgetDocument(cell.widget))}onCellFocus(cellId){const index=this.sortedLayout.findIndex(cell=>cell.cellId===cellId);index>=0&&(this.activeCellIndex!==index&&(this.activeCellIndex=index),this.activeCellId!==cellId&&(this.activeCellId=cellId))}cellElement(cellId){const ownerCss=this.ownerDocument.defaultView?.CSS;if(typeof ownerCss?.escape=="function")try{const candidate=this.renderRoot.querySelector(`[part="cell"][data-cell-id="${ownerCss.escape(cellId)}"]`);if(candidate?.getAttribute("data-cell-id")===cellId)return candidate}catch{}return Array.from(this.renderRoot.querySelectorAll('[part="cell"][data-cell-id]')).find(candidate=>candidate.getAttribute("data-cell-id")===cellId)??null}focusCellAt(index){const cells=this.sortedLayout;if(index<0||index>=cells.length)return;this.activeCellIndex=index;const cell=cells[index];this.activeCellId=cell.cellId;const number=getNumberFormat(this.effectiveLocale);this.announcer.announce(this.localize("flowItemAnnouncement",void 0,{item:this.cellLabel(cell),index:number.format(index+1),total:number.format(cells.length)})),this.updateComplete.then(()=>{this.cellElement(cell.cellId)?.focus()})}onCellKeyDown(e,cell){const owner=e.currentTarget;if(e.composedPath()[0]!==owner)return;const isMod=e.ctrlKey||e.metaKey;if(isMod&&isArrowKey(e.key)){(e.shiftKey?this.keyboardResize(cell,e.key):this.keyboardMove(cell,e.key))&&e.preventDefault();return}if(e.altKey||isMod||e.isComposing)return;const cells=this.sortedLayout,index=cells.findIndex(c=>c.cellId===cell.cellId);if(index<0)return;const rtl=isRtl(this),forwardKey=rtl?"ArrowLeft":"ArrowRight",backwardKey=rtl?"ArrowRight":"ArrowLeft";let next=index;if(e.key===forwardKey||e.key==="ArrowDown")next=Math.min(cells.length-1,index+1);else if(e.key===backwardKey||e.key==="ArrowUp")next=Math.max(0,index-1);else if(e.key==="Home")next=0;else if(e.key==="End")next=cells.length-1;else return;next!==index&&(e.preventDefault(),this.focusCellAt(next))}keyboardMove(cell,key){if(!this.cellsDraggable||this.readonly||cell.locked)return!1;const rtlFlip=isRtl(this)?-1:1;let dx=0,dy=0;if(key==="ArrowRight")dx=rtlFlip;else if(key==="ArrowLeft")dx=-rtlFlip;else if(key==="ArrowDown")dy=1;else if(key==="ArrowUp")dy=-1;else return!1;return this.commitPlacement(cell.cellId,{x:cell.x+dx,y:cell.y+dy,w:cell.w,h:cell.h},"move")}keyboardResize(cell,key){if(!this.cellsResizable||this.readonly||cell.locked)return!1;let dw=0,dh=0;if(key==="ArrowRight")dw=1;else if(key==="ArrowLeft")dw=-1;else if(key==="ArrowDown")dh=1;else if(key==="ArrowUp")dh=-1;else return!1;return this.commitPlacement(cell.cellId,{x:cell.x,y:cell.y,w:cell.w+dw,h:cell.h+dh},"resize")}announceAppliedPlacement(){const pending=this.pendingPlacementAnnouncement;if(!pending)return;this.pendingPlacementAnnouncement=void 0;const cell=this.effectiveLayout.find(candidate=>candidate.cellId===pending.cellId);if(!cell||!(pending.kind==="move"?cell.x===pending.x&&cell.y===pending.y:cell.w===pending.w&&cell.h===pending.h))return;const number=getNumberFormat(this.effectiveLocale);if(pending.kind==="move"){this.announcer.announce(this.localize("dashboardCellMoved",void 0,{label:this.cellLabel(cell),x:number.format(cell.x+1),y:number.format(cell.y+1)}));return}this.announcer.announce(this.localize("dashboardCellResized",void 0,{label:this.cellLabel(cell),w:number.format(cell.w),h:number.format(cell.h)}))}commitPlacement(cellId,requested,kind){const layout=this.effectiveLayout,cell=layout.find(candidate=>candidate.cellId===cellId);if(!cell)return!1;const result=resolveDashboardPlacement(layout,cellId,requested,this.safeColumns,this.collision);if(result.collidedCellIds.length>0&&this.emit("lr-collision",Object.freeze({cellId,collidedCellIds:result.collidedCellIds,policy:this.collision,accepted:result.accepted})),!result.accepted)return this.announcer.announce(this.localize("dashboardCellCollisionRejected",void 0,{label:this.cellLabel(cell)})),!0;const updated=result.layout.find(candidate=>candidate.cellId===cellId);return(kind==="move"?updated.x===cell.x&&updated.y===cell.y:updated.w===cell.w&&updated.h===cell.h)?!1:(this.pendingPlacementAnnouncement={cellId,kind,x:updated.x,y:updated.y,w:updated.w,h:updated.h},kind==="move"?this.emit("lr-cell-move",Object.freeze({cellId,position:Object.freeze({x:updated.x,y:updated.y}),previous:Object.freeze({x:cell.x,y:cell.y})})):this.emit("lr-cell-resize",Object.freeze({cellId,size:Object.freeze({w:updated.w,h:updated.h}),previous:Object.freeze({w:cell.w,h:cell.h})})),this.emit("lr-layout-change",Object.freeze({layout:result.layout})),!0)}cellStyle(cell){return{"grid-column":`${cell.x+1} / span ${cell.w}`,"grid-row":`${cell.y+1} / span ${cell.h}`}}measurePitch(){const baseEl=this.renderRoot.querySelector('[part="base"]');if(!baseEl)return null;const ownerWindow=baseEl.ownerDocument.defaultView;if(!ownerWindow)return null;const rect=baseEl.getBoundingClientRect(),computed=ownerWindow.getComputedStyle(baseEl),columns=this.safeColumns,contentWidth=rect.width-finiteRange(Number.parseFloat(computed.borderLeftWidth),0,0)-finiteRange(Number.parseFloat(computed.borderRightWidth),0,0)-finiteRange(Number.parseFloat(computed.paddingLeft),0,0)-finiteRange(Number.parseFloat(computed.paddingRight),0,0),contentHeight=rect.height-finiteRange(Number.parseFloat(computed.borderTopWidth),0,0)-finiteRange(Number.parseFloat(computed.borderBottomWidth),0,0)-finiteRange(Number.parseFloat(computed.paddingTop),0,0)-finiteRange(Number.parseFloat(computed.paddingBottom),0,0),resolveGap=(value,basis)=>{if(value==="normal")return 0;const magnitude=Number.parseFloat(value);return finiteRange(value.endsWith("%")?magnitude*basis/100:magnitude,this.safeGap,0)},columnGap=resolveGap(computed.columnGap,contentWidth),rowGap=resolveGap(computed.rowGap,contentHeight),columnWidth=finiteRange(Number.parseFloat(computed.gridTemplateColumns),Math.max(0,(contentWidth-columnGap*(columns-1))/columns),0),rowHeight=finiteRange(Number.parseFloat(computed.gridAutoRows),this.safeRowHeight,0),colPitch=columnWidth+columnGap,rowPitch=rowHeight+rowGap;return{colPitch:colPitch>0?colPitch:1,rowPitch:rowPitch>0?rowPitch:1}}resetCellInlineStyle(cellId,wrapper){wrapper.removeAttribute("data-collision");const cell=this.effectiveLayout.find(candidate=>candidate.cellId===cellId);if(cell){const style=this.cellStyle(cell);wrapper.style.gridColumn=style["grid-column"],wrapper.style.gridRow=style["grid-row"]}}canDragCell(cellId){const cell=this.layout.find(candidate=>candidate.cellId===cellId);return this.cellsDraggable&&!this.readonly&&cell!==void 0&&!cell.locked}canResizeCell(cellId){const cell=this.layout.find(candidate=>candidate.cellId===cellId);return this.cellsResizable&&!this.readonly&&cell!==void 0&&!cell.locked}capturePointer(target,pointerId){try{target.setPointerCapture?.(pointerId)}catch{}}releaseGesturePointerCapture(target,pointerId){try{target.releasePointerCapture?.(pointerId)}catch{}}cancelCellDrag(){const drag=this.cellDrag;drag&&(this.cellDrag=void 0,drag.previewFrame!==void 0&&drag.ownerWindow.cancelAnimationFrame(drag.previewFrame),this.releaseGesturePointerCapture(drag.wrapper,drag.pointerId),drag.wrapper.removeAttribute("data-dragging"),this.resetCellInlineStyle(drag.cellId,drag.wrapper),drag.ownerWindow.removeEventListener("pointermove",this.onCellPointerMove),drag.ownerWindow.removeEventListener("pointerup",this.onCellPointerUp),drag.ownerWindow.removeEventListener("pointercancel",this.onCellPointerUp),drag.ownerWindow.removeEventListener("lostpointercapture",this.onCellPointerUp))}cancelCellResize(){const resize=this.cellResize;resize&&(this.cellResize=void 0,resize.previewFrame!==void 0&&resize.ownerWindow.cancelAnimationFrame(resize.previewFrame),this.releaseGesturePointerCapture(resize.captureTarget,resize.pointerId),resize.wrapper.removeAttribute("data-resizing"),this.resetCellInlineStyle(resize.cellId,resize.wrapper),resize.ownerWindow.removeEventListener("pointermove",this.onResizeHandlePointerMove),resize.ownerWindow.removeEventListener("pointerup",this.onResizeHandlePointerUp),resize.ownerWindow.removeEventListener("pointercancel",this.onResizeHandlePointerUp),resize.ownerWindow.removeEventListener("lostpointercapture",this.onResizeHandlePointerUp))}hasInteractiveTarget(e,wrapper){const path=e.composedPath(),stop=path.indexOf(wrapper);for(const node of stop<0?path:path.slice(0,stop)){const element=node;if(typeof element.matches=="function"&&node!==wrapper&&element.matches(INTERACTIVE_DESCENDANT_SELECTOR))return!0}return!1}onCellPointerDown(e,cell){if(!this.cellsDraggable||this.readonly||cell.locked||this.cellDrag||handledPointerDowns.has(e)||!e.isPrimary||e.button!==0)return;const wrapper=e.currentTarget;if(this.hasInteractiveTarget(e,wrapper))return;const ownerWindow=wrapper.ownerDocument.defaultView;if(!ownerWindow)return;const pitch=this.measurePitch();if(!pitch)return;const layout=this.effectiveLayout;handledPointerDowns.add(e),this.cellDrag={pointerId:e.pointerId,cellId:cell.cellId,startClientX:e.clientX,startClientY:e.clientY,startX:cell.x,startY:cell.y,w:cell.w,h:cell.h,...pitch,wrapper,ownerWindow,rtlFlip:isRtl(this)?-1:1,layout,spatialIndex:createDashboardSpatialIndex(layout,this.safeColumns)},this.capturePointer(wrapper,e.pointerId),wrapper.setAttribute("data-dragging",""),ownerWindow.addEventListener("pointermove",this.onCellPointerMove),ownerWindow.addEventListener("pointerup",this.onCellPointerUp),ownerWindow.addEventListener("pointercancel",this.onCellPointerUp),ownerWindow.addEventListener("lostpointercapture",this.onCellPointerUp)}applyDragPreview(drag){if(drag.pendingClientX===void 0||drag.pendingClientY===void 0)return;const clientX=drag.pendingClientX,clientY=drag.pendingClientY;drag.pendingClientX=void 0,drag.pendingClientY=void 0;const dxUnits=Math.round((clientX-drag.startClientX)*drag.rtlFlip/drag.colPitch),dyUnits=Math.round((clientY-drag.startClientY)/drag.rowPitch),{x,y}=clampDashboardCandidate({},{x:drag.startX+dxUnits,y:drag.startY+dyUnits,w:drag.w,h:drag.h},drag.spatialIndex.columns);if(drag.wrapper.style.gridColumn=`${x+1} / span ${drag.w}`,drag.wrapper.style.gridRow=`${y+1} / span ${drag.h}`,this.collision!=="overlap"){const collides=findDashboardCollisions(drag.spatialIndex,{cellId:drag.cellId,x,y,w:drag.w,h:drag.h}).length>0;drag.wrapper.toggleAttribute("data-collision",collides)}else drag.wrapper.removeAttribute("data-collision");drag.currentX=x,drag.currentY=y,(x!==drag.startX||y!==drag.startY)&&(drag.moved=!0)}flushDragPreview(drag){drag.previewFrame!==void 0&&(drag.ownerWindow.cancelAnimationFrame(drag.previewFrame),drag.previewFrame=void 0),this.applyDragPreview(drag)}onResizeHandlePointerDown(e,cell){if(!this.cellsResizable||this.readonly||cell.locked||this.cellResize||!e.isPrimary||e.button!==0)return;const wrapper=e.currentTarget.closest('[part="cell"]');if(!wrapper)return;const ownerWindow=wrapper.ownerDocument.defaultView;if(!ownerWindow)return;const pitch=this.measurePitch();if(!pitch)return;const layout=this.effectiveLayout;handledPointerDowns.add(e);const captureTarget=e.currentTarget;this.cellResize={pointerId:e.pointerId,cellId:cell.cellId,startClientX:e.clientX,startClientY:e.clientY,startW:cell.w,startH:cell.h,x:cell.x,y:cell.y,...pitch,wrapper,captureTarget,ownerWindow,rtlFlip:isRtl(this)?-1:1,layout,spatialIndex:createDashboardSpatialIndex(layout,this.safeColumns)},this.capturePointer(captureTarget,e.pointerId),wrapper.setAttribute("data-resizing",""),ownerWindow.addEventListener("pointermove",this.onResizeHandlePointerMove),ownerWindow.addEventListener("pointerup",this.onResizeHandlePointerUp),ownerWindow.addEventListener("pointercancel",this.onResizeHandlePointerUp),ownerWindow.addEventListener("lostpointercapture",this.onResizeHandlePointerUp)}applyResizePreview(resize){if(resize.pendingClientX===void 0||resize.pendingClientY===void 0)return;const clientX=resize.pendingClientX,clientY=resize.pendingClientY;resize.pendingClientX=void 0,resize.pendingClientY=void 0;const dwUnits=Math.round((clientX-resize.startClientX)*resize.rtlFlip/resize.colPitch),dhUnits=Math.round((clientY-resize.startClientY)/resize.rowPitch),{w,h}=clampDashboardCandidate(resize.spatialIndex.byId.get(resize.cellId)??{},{x:resize.x,y:resize.y,w:resize.startW+dwUnits,h:resize.startH+dhUnits},resize.spatialIndex.columns);if(resize.wrapper.style.gridColumn=`${resize.x+1} / span ${w}`,resize.wrapper.style.gridRow=`${resize.y+1} / span ${h}`,this.collision!=="overlap"){const collides=findDashboardCollisions(resize.spatialIndex,{cellId:resize.cellId,x:resize.x,y:resize.y,w,h}).length>0;resize.wrapper.toggleAttribute("data-collision",collides)}else resize.wrapper.removeAttribute("data-collision");resize.currentW=w,resize.currentH=h,(w!==resize.startW||h!==resize.startH)&&(resize.moved=!0)}flushResizePreview(resize){resize.previewFrame!==void 0&&(resize.ownerWindow.cancelAnimationFrame(resize.previewFrame),resize.previewFrame=void 0),this.applyResizePreview(resize)}clearSuppressedClick(){this.suppressedClickTimer!==void 0&&this.suppressedClickWindow&&this.suppressedClickWindow.clearTimeout(this.suppressedClickTimer),this.suppressedClickTimer=void 0,this.suppressedClickWindow=void 0,this.suppressedClickCellId=""}armClickSuppression(cellId,ownerWindow){this.clearSuppressedClick(),this.suppressedClickCellId=cellId,this.suppressedClickWindow=ownerWindow,this.suppressedClickTimer=ownerWindow.setTimeout(()=>{this.suppressedClickTimer=void 0,this.suppressedClickWindow=void 0,this.suppressedClickCellId=""},0)}onCellClick(e,cellId){this.suppressedClickCellId===cellId&&(this.clearSuppressedClick(),e.preventDefault(),e.stopImmediatePropagation())}renderCell(cell,active){const resizableHere=this.cellsResizable&&!this.readonly&&!cell.locked;return html`<div
2
2
  part="cell"
3
3
  role="group"
4
4
  tabindex=${active?"0":"-1"}
@@ -1,4 +1,4 @@
1
- import{__decorate}from"tslib";import{eventCollectionSupport}from"../../../internal/collection-snapshot.js";import{html}from"lit";import{property,query}from"lit/decorators.js";import{composedParentElement,deepActiveElementIn}from"../../../internal/active-element.js";import{isAccessibilitySubtreeExcluded}from"../../../internal/accessibility-visibility.js";import{collectInitialSlotAssignment}from"../../../internal/initial-slot-collection.js";import{LyraElement}from"../../../internal/lyra-element.js";import{tag}from"../../../internal/prefix.js";import{applyAccordionItemOwnerState,bindAccordionItemOwner,releaseAccordionItemOwner}from"./accordion-owner.js";import{styles}from"./accordion.styles.js";function normalizeMode(value){return value==="single"||value==="single-collapsible"?value:"multiple"}class LyraAccordion extends LyraElement{constructor(){super(...arguments),this.#_mode="multiple",this.panels=new Set,this.#panelsInitialized=!1,this.iconPlacement="end",this.headingLevel="3",this.appearance="outlined",this.#handleSlotChange=event=>{this.#bindPanelsFromSlot(event.target)},this.#itemStateChangeReconciliationPending=!1,this.#handleOwnedItemStateChange=item=>{this.panels.has(item)&&(this.#itemStateChangeReconciliationPending||(this.#itemStateChangeReconciliationPending=!0,queueMicrotask(()=>{this.#itemStateChangeReconciliationPending=!1,this.#reconcileRovingFocus()})))},this.handleFocusIn=event=>{const item=this.#itemFor(event);!item||!this.#isNavigableItem(item)||(this.#lastFocusedItem=item,this.#syncRovingTabIndex(item))},this.handleKeyDown=event=>{if(event.altKey||event.ctrlKey||event.metaKey||event.isComposing)return;const current=this.#itemFor(event);if(!current||!this.#isNavigableItem(current)||!this.#itemTriggerOwnsEvent(current,event))return;const items=this.#navigableItems();if(items.length===0)return;const currentIndex=items.indexOf(current);if(currentIndex<0)return;const forwardKey=this.effectiveDirection==="rtl"?"ArrowLeft":"ArrowRight",backwardKey=this.effectiveDirection==="rtl"?"ArrowRight":"ArrowLeft";let nextIndex;if(event.key==="ArrowDown"||event.key===forwardKey?nextIndex=(currentIndex+1)%items.length:event.key==="ArrowUp"||event.key===backwardKey?nextIndex=(currentIndex-1+items.length)%items.length:event.key==="Home"?nextIndex=0:event.key==="End"&&(nextIndex=items.length-1),nextIndex===void 0)return;event.preventDefault(),event.stopPropagation();const next=items[nextIndex];this.#syncRovingTabIndex(next),next.focus()},this.#handleOwnedItemTransition=(item,expanded,source)=>!this.panels.has(item)||item.disabled||!expanded&&source==="user"&&this.mode==="single"?!1:expanded?this.#emitToggleVeto(item,!1)?this.mode==="multiple"||this.#collapseSiblings(item):!1:this.#emitToggleVeto(item,!0),this.#handleOwnedItemTransitionSettled=(item,expanded)=>{!this.panels.has(item)||item.expanded!==expanded||this.emit(expanded?"lr-after-expand":"lr-after-collapse",{item})}}static{this.identityEventDetailProperties=Object.freeze({"lr-expand":Object.freeze(["item"]),"lr-after-expand":Object.freeze(["item"]),"lr-collapse":Object.freeze(["item"]),"lr-after-collapse":Object.freeze(["item"]),"lr-toggle-request":Object.freeze(["item"])})}static{this.collectionSupport=eventCollectionSupport}static{this.immutableEventDetails=Object.freeze(["lr-expand","lr-after-expand","lr-collapse","lr-after-collapse","lr-toggle-request"])}static{this.styles=[LyraElement.styles,styles]}#_mode;#rovingItem;#lastFocusedItem;#availabilityObserver;#panelsInitialized;get mode(){return this.#_mode}set mode(next){const normalized=normalizeMode(next),old=this.#_mode;if(normalized!==old){if(this.#panelsInitialized&&normalized!=="multiple"&&!this.#reconcileExpandedPanels(!1,normalized)){this.requestUpdate("mode",normalized);return}this.#_mode=normalized,this.requestUpdate("mode",old)}}connectedCallback(){super.connectedCallback(),this.#armAvailabilityObserver(),this.hasUpdated&&queueMicrotask(()=>{if(!this.isConnected)return;const slot=this.renderRoot.querySelector("slot");slot&&this.#bindPanels(slot.assignedElements({flatten:!0}))})}disconnectedCallback(){this.#resetAvailabilityObserver();for(const panel of this.panels)releaseAccordionItemOwner(panel,this);this.panels.clear(),this.#rovingItem=void 0,this.#lastFocusedItem=void 0,super.disconnectedCallback()}firstUpdated(changed){super.firstUpdated(changed);const slot=this.itemsSlot;queueMicrotask(()=>{collectInitialSlotAssignment(slot,s=>this.#bindPanelsFromSlot(s))})}updated(changed){super.updated(changed),(changed.has("iconPlacement")||changed.has("headingLevel")||changed.has("appearance"))&&this.#syncPresentation()}expandAll(){if(this.mode==="multiple")for(const panel of this.panels)panel.disabled||panel.expanded||panel.expand()}collapseAll(){for(const panel of this.panels)panel.expanded&&this.#requestCollapse(panel)}#bindPanels(assigned){const itemTag=tag("accordion-item"),next=assigned.filter(element=>element.localName===itemTag),previous=new Set(this.panels);this.panels.clear();for(const panel of next)this.panels.add(panel);for(const panel of previous)this.panels.has(panel)||releaseAccordionItemOwner(panel,this);this.#syncPresentation(),this.#reconcileExpandedPanels(!this.#panelsInitialized),this.#panelsInitialized=!0,this.#syncRovingTabIndex()}#syncPresentation(){for(const panel of this.panels)bindAccordionItemOwner(panel,{owner:this,iconPlacement:this.iconPlacement,headingLevel:this.headingLevel,appearance:this.appearance,requestTransition:this.#handleOwnedItemTransition,transitionSettled:this.#handleOwnedItemTransitionSettled,stateChanged:this.#handleOwnedItemStateChange})}#reconcileExpandedPanels(silent=!1,mode=this.mode){if(mode==="multiple")return!0;let foundExpanded=!1;for(const panel of this.panels){if(!panel.expanded)continue;if(!foundExpanded){foundExpanded=!0;continue}if(!(silent?this.#performPanelState(panel,!1):this.#requestCollapse(panel)))return!1}return!0}#isNavigableItem(item,excluded=new Map){if(item.disabled)return!1;for(let current=item;current;current=composedParentElement(current)){let hidden=excluded.get(current);if(hidden===void 0&&excluded.set(current,hidden=isAccessibilitySubtreeExcluded(current)),hidden)return!1}return!0}#navigableItems(){const excluded=new Map;return[...this.panels].filter(panel=>this.#isNavigableItem(panel,excluded))}#syncRovingTabIndex(preferred){const items=this.#navigableItems(),active=preferred&&items.includes(preferred)?preferred:this.#rovingItem&&items.includes(this.#rovingItem)?this.#rovingItem:items.find(item=>item.isTabbable)??items[0];active&&(this.#rovingItem=active);for(const panel of this.panels)panel.isTabbable=panel===active;return active}#nextNavigableItem(displaced){const items=[...this.panels],index=items.indexOf(displaced);if(index<0)return this.#navigableItems()[0];const excluded=new Map,available=item=>this.#isNavigableItem(item,excluded);return items.slice(index+1).find(available)??items.slice(0,index).reverse().find(available)}#reconcileRovingFocus(displaced=this.#lastFocusedItem){const unavailable=displaced!==void 0&&this.panels.has(displaced)&&!this.#isNavigableItem(displaced),focused=deepActiveElementIn(this.ownerDocument),wasFocused=displaced===this.#lastFocusedItem&&(focused===null||focused===this.ownerDocument.body||focused===displaced||focused!==null&&displaced?.shadowRoot?.contains(focused)),active=this.#syncRovingTabIndex(unavailable?this.#nextNavigableItem(displaced):void 0);!unavailable||!active||!wasFocused||active.focus()}#armAvailabilityObserver(){const ownerDocument=this.ownerDocument;if(!this.isConnected||this.#availabilityObserver)return;const MutationObserverCtor=ownerDocument.defaultView?.MutationObserver;if(!MutationObserverCtor)return;const observer=new MutationObserverCtor(()=>{this.#availabilityObserver!==observer||!this.isConnected||this.ownerDocument!==ownerDocument||this.#reconcileRovingFocus()});this.#availabilityObserver=observer,observer.observe(this,{attributes:!0,subtree:!0,attributeFilter:["disabled","hidden","aria-hidden","inert","class","style"]});for(let ancestor=composedParentElement(this);ancestor;ancestor=composedParentElement(ancestor))observer.observe(ancestor,{attributes:!0,attributeFilter:["hidden","aria-hidden","inert","class","style"]})}#resetAvailabilityObserver(){this.#availabilityObserver?.disconnect(),this.#availabilityObserver=void 0}#performPanelState(panel,expanded,announce=!1){return applyAccordionItemOwnerState(panel,expanded,announce),panel.expanded===expanded}#emitToggleVeto(item,collapsed){const directional=this.emit(collapsed?"lr-collapse":"lr-expand",{item},{cancelable:!0}),unified=this.emit("lr-toggle-request",{item,collapsed,expanded:!collapsed},{cancelable:!0});return!directional.defaultPrevented&&!unified.defaultPrevented}#requestCollapse(panel){return panel.expanded?this.#emitToggleVeto(panel,!0)?this.#performPanelState(panel,!1,!0):!1:!0}#collapseSiblings(source){for(const panel of this.panels)if(!(panel===source||!panel.expanded)&&!this.#requestCollapse(panel))return!1;return!0}#handleSlotChange;#bindPanelsFromSlot(slot){this.#bindPanels(slot.assignedElements({flatten:!0}))}#itemStateChangeReconciliationPending;#handleOwnedItemStateChange;#itemFor(event){const item=event.composedPath().find(node=>node?.nodeType===1&&node.localName===tag("accordion-item"));return item&&this.panels.has(item)?item:void 0}#itemTriggerOwnsEvent(item,event){return event.composedPath().some(node=>{if(node?.nodeType!==1)return!1;const element=node;return element.localName==="button"&&element.getRootNode()===item.shadowRoot&&element.getAttribute("part")?.split(/\s+/u).includes("button")===!0})}#handleOwnedItemTransition;#handleOwnedItemTransitionSettled;render(){return html`<div
1
+ import{__decorate}from"tslib";import{eventCollectionSupport}from"../../../internal/collection-snapshot.js";import{html}from"lit";import{property,query}from"lit/decorators.js";import{composedParentElement,deepActiveElementIn}from"../../../internal/active-element.js";import{isAccessibilitySubtreeExcluded}from"../../../internal/accessibility-visibility.js";import{collectInitialSlotAssignment}from"../../../internal/initial-slot-collection.js";import{LyraElement}from"../../../internal/lyra-element.js";import{tag}from"../../../internal/prefix.js";import{applyAccordionItemOwnerState,bindAccordionItemOwner,releaseAccordionItemOwner}from"./accordion-owner.js";import{styles}from"./accordion.styles.js";const VISIBILITY_STYLE=/display|visibility|content-visibility/i;function normalizeMode(value){return value==="single"||value==="single-collapsible"?value:"multiple"}class LyraAccordion extends LyraElement{constructor(){super(...arguments),this.#_mode="multiple",this.panels=new Set,this.#panelsInitialized=!1,this.iconPlacement="end",this.headingLevel="3",this.appearance="outlined",this.#handleSlotChange=event=>{this.#bindPanelsFromSlot(event.target)},this.#itemStateChangeReconciliationPending=!1,this.#handleOwnedItemStateChange=item=>{this.panels.has(item)&&(this.#itemStateChangeReconciliationPending||(this.#itemStateChangeReconciliationPending=!0,queueMicrotask(()=>{this.#itemStateChangeReconciliationPending=!1,this.#reconcileRovingFocus()})))},this.handleFocusIn=event=>{const item=this.#itemFor(event);!item||!this.#isNavigableItem(item)||(this.#lastFocusedItem=item,this.#syncRovingTabIndex(item))},this.handleKeyDown=event=>{if(event.altKey||event.ctrlKey||event.metaKey||event.isComposing)return;const current=this.#itemFor(event);if(!current||!this.#isNavigableItem(current)||!this.#itemTriggerOwnsEvent(current,event))return;const items=this.#navigableItems();if(items.length===0)return;const currentIndex=items.indexOf(current);if(currentIndex<0)return;const forwardKey=this.effectiveDirection==="rtl"?"ArrowLeft":"ArrowRight",backwardKey=this.effectiveDirection==="rtl"?"ArrowRight":"ArrowLeft";let nextIndex;if(event.key==="ArrowDown"||event.key===forwardKey?nextIndex=(currentIndex+1)%items.length:event.key==="ArrowUp"||event.key===backwardKey?nextIndex=(currentIndex-1+items.length)%items.length:event.key==="Home"?nextIndex=0:event.key==="End"&&(nextIndex=items.length-1),nextIndex===void 0)return;event.preventDefault(),event.stopPropagation();const next=items[nextIndex];this.#syncRovingTabIndex(next),next.focus()},this.#handleOwnedItemTransition=(item,expanded,source)=>!this.panels.has(item)||item.disabled||!expanded&&source==="user"&&this.mode==="single"?!1:expanded?this.#emitToggleVeto(item,!1)?this.mode==="multiple"||this.#collapseSiblings(item):!1:this.#emitToggleVeto(item,!0),this.#handleOwnedItemTransitionSettled=(item,expanded)=>{!this.panels.has(item)||item.expanded!==expanded||this.emit(expanded?"lr-after-expand":"lr-after-collapse",{item})}}static{this.identityEventDetailProperties=Object.freeze({"lr-expand":Object.freeze(["item"]),"lr-after-expand":Object.freeze(["item"]),"lr-collapse":Object.freeze(["item"]),"lr-after-collapse":Object.freeze(["item"]),"lr-toggle-request":Object.freeze(["item"])})}static{this.collectionSupport=eventCollectionSupport}static{this.immutableEventDetails=Object.freeze(["lr-expand","lr-after-expand","lr-collapse","lr-after-collapse","lr-toggle-request"])}static{this.styles=[LyraElement.styles,styles]}#_mode;#rovingItem;#lastFocusedItem;#availabilityObserver;#panelsInitialized;get mode(){return this.#_mode}set mode(next){const normalized=normalizeMode(next),old=this.#_mode;if(normalized!==old){if(this.#panelsInitialized&&normalized!=="multiple"&&!this.#reconcileExpandedPanels(!1,normalized)){this.requestUpdate("mode",normalized);return}this.#_mode=normalized,this.requestUpdate("mode",old)}}connectedCallback(){super.connectedCallback(),this.#armAvailabilityObserver(),this.hasUpdated&&queueMicrotask(()=>{if(!this.isConnected)return;const slot=this.renderRoot.querySelector("slot");slot&&this.#bindPanels(slot.assignedElements({flatten:!0}))})}disconnectedCallback(){this.#resetAvailabilityObserver();for(const panel of this.panels)releaseAccordionItemOwner(panel,this);this.panels.clear(),this.#rovingItem=void 0,this.#lastFocusedItem=void 0,super.disconnectedCallback()}firstUpdated(changed){super.firstUpdated(changed);const slot=this.itemsSlot;queueMicrotask(()=>{collectInitialSlotAssignment(slot,s=>this.#bindPanelsFromSlot(s))})}updated(changed){super.updated(changed),(changed.has("iconPlacement")||changed.has("headingLevel")||changed.has("appearance"))&&this.#syncPresentation()}expandAll(){if(this.mode==="multiple")for(const panel of this.panels)panel.disabled||panel.expanded||panel.expand()}collapseAll(){for(const panel of this.panels)panel.expanded&&this.#requestCollapse(panel)}#bindPanels(assigned){const itemTag=tag("accordion-item"),next=assigned.filter(element=>element.localName===itemTag),previous=new Set(this.panels);this.panels.clear();for(const panel of next)this.panels.add(panel);for(const panel of previous)this.panels.has(panel)||releaseAccordionItemOwner(panel,this);this.#syncPresentation(),this.#reconcileExpandedPanels(!this.#panelsInitialized),this.#panelsInitialized=!0,this.#syncRovingTabIndex()}#syncPresentation(){for(const panel of this.panels)bindAccordionItemOwner(panel,{owner:this,iconPlacement:this.iconPlacement,headingLevel:this.headingLevel,appearance:this.appearance,requestTransition:this.#handleOwnedItemTransition,transitionSettled:this.#handleOwnedItemTransitionSettled,stateChanged:this.#handleOwnedItemStateChange})}#reconcileExpandedPanels(silent=!1,mode=this.mode){if(mode==="multiple")return!0;let foundExpanded=!1;for(const panel of this.panels){if(!panel.expanded)continue;if(!foundExpanded){foundExpanded=!0;continue}if(!(silent?this.#performPanelState(panel,!1):this.#requestCollapse(panel)))return!1}return!0}#isNavigableItem(item,excluded=new Map){if(item.disabled)return!1;for(let current=item;current;current=composedParentElement(current)){let hidden=excluded.get(current);if(hidden===void 0&&excluded.set(current,hidden=isAccessibilitySubtreeExcluded(current)),hidden)return!1}return!0}#navigableItems(){const excluded=new Map;return[...this.panels].filter(panel=>this.#isNavigableItem(panel,excluded))}#syncRovingTabIndex(preferred){const items=this.#navigableItems(),active=preferred&&items.includes(preferred)?preferred:this.#rovingItem&&items.includes(this.#rovingItem)?this.#rovingItem:items.find(item=>item.isTabbable)??items[0];active&&(this.#rovingItem=active);for(const panel of this.panels)panel.isTabbable=panel===active;return active}#nextNavigableItem(displaced){const items=[...this.panels],index=items.indexOf(displaced);if(index<0)return this.#navigableItems()[0];const excluded=new Map,available=item=>this.#isNavigableItem(item,excluded);return items.slice(index+1).find(available)??items.slice(0,index).reverse().find(available)}#reconcileRovingFocus(displaced=this.#lastFocusedItem){const unavailable=displaced!==void 0&&this.panels.has(displaced)&&!this.#isNavigableItem(displaced),focused=deepActiveElementIn(this.ownerDocument),wasFocused=displaced===this.#lastFocusedItem&&(focused===null||focused===this.ownerDocument.body||focused===displaced||focused!==null&&displaced?.shadowRoot?.contains(focused)),active=this.#syncRovingTabIndex(unavailable?this.#nextNavigableItem(displaced):void 0);!unavailable||!active||!wasFocused||active.focus()}#armAvailabilityObserver(){const ownerDocument=this.ownerDocument;if(!this.isConnected||this.#availabilityObserver)return;const MutationObserverCtor=ownerDocument.defaultView?.MutationObserver;if(!MutationObserverCtor)return;const observer=new MutationObserverCtor(records=>{if(this.#availabilityObserver!==observer||!this.isConnected||this.ownerDocument!==ownerDocument)return;const touchesVisibility=value=>!!value&&VISIBILITY_STYLE.test(value);records.every(record=>record.attributeName==="style"&&record.target instanceof HTMLElement&&!touchesVisibility(record.oldValue)&&!touchesVisibility(record.target.getAttribute("style")))||this.#reconcileRovingFocus()});this.#availabilityObserver=observer,observer.observe(this,{attributes:!0,attributeOldValue:!0,subtree:!0,attributeFilter:["disabled","hidden","aria-hidden","inert","class","style"]});for(let ancestor=composedParentElement(this);ancestor;ancestor=composedParentElement(ancestor))observer.observe(ancestor,{attributes:!0,attributeOldValue:!0,attributeFilter:["hidden","aria-hidden","inert","class","style"]})}#resetAvailabilityObserver(){this.#availabilityObserver?.disconnect(),this.#availabilityObserver=void 0}#performPanelState(panel,expanded,announce=!1){return applyAccordionItemOwnerState(panel,expanded,announce),panel.expanded===expanded}#emitToggleVeto(item,collapsed){const directional=this.emit(collapsed?"lr-collapse":"lr-expand",{item},{cancelable:!0}),unified=this.emit("lr-toggle-request",{item,collapsed,expanded:!collapsed},{cancelable:!0});return!directional.defaultPrevented&&!unified.defaultPrevented}#requestCollapse(panel){return panel.expanded?this.#emitToggleVeto(panel,!0)?this.#performPanelState(panel,!1,!0):!1:!0}#collapseSiblings(source){for(const panel of this.panels)if(!(panel===source||!panel.expanded)&&!this.#requestCollapse(panel))return!1;return!0}#handleSlotChange;#bindPanelsFromSlot(slot){this.#bindPanels(slot.assignedElements({flatten:!0}))}#itemStateChangeReconciliationPending;#handleOwnedItemStateChange;#itemFor(event){const item=event.composedPath().find(node=>node?.nodeType===1&&node.localName===tag("accordion-item"));return item&&this.panels.has(item)?item:void 0}#itemTriggerOwnsEvent(item,event){return event.composedPath().some(node=>{if(node?.nodeType!==1)return!1;const element=node;return element.localName==="button"&&element.getRootNode()===item.shadowRoot&&element.getAttribute("part")?.split(/\s+/u).includes("button")===!0})}#handleOwnedItemTransition;#handleOwnedItemTransitionSettled;render(){return html`<div
2
2
  part="base"
3
3
  @focusin=${this.handleFocusIn}
4
4
  @keydown=${this.handleKeyDown}
@@ -113,4 +113,4 @@ minExtent:string;
113
113
  * its container. */
114
114
  maxExtent:string;collapsible:boolean;private readonly toggleWriteGuard;private _collapsed;get collapsed():boolean;set collapsed(next:boolean);
115
115
  /** When set, no drag handle renders at all and the panel is a fixed size. */
116
- withoutResize:boolean;private drag;private readonly resizeWriteGuard;private resizeRequestSequence;private renderBounds?;private renderSizePx?;private readonly dragController;private readonly contentId;private containerResizeObserver?;connectedCallback():void;disconnectedCallback():void;adoptedCallback():void;private armContainerResizeObserver;private get container();protected willUpdate(changed:PropertyValues):void;private get axis();private get growSign();private applyHostSize;private containerPx;private resolveBoundsPx;private currentSizePx;private resizeValueText;private reconcileLiveExtent;private resolveProposal;private applyProposal;private requestResize;private emitResize;private dragSnapshotIsCurrent;private onPointerDown;private onPointerMove;private onPointerUp;private onPointerCancel;private endDrag;private onHandleKeyDown;private dispatchingToggle;private toggleCollapsed;private get topBottomChevronDeg();private handleTemplate;private collapseToggleTemplate;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-dock-panel':LyraDockPanel;}}
116
+ withoutResize:boolean;private drag;private readonly resizeWriteGuard;private resizeRequestSequence;private renderBounds?;private renderSizePx?;private readonly dragController;private readonly contentId;private containerResizeObserver?;connectedCallback():void;disconnectedCallback():void;adoptedCallback():void;private armContainerResizeObserver;private get container();private relocateFocus;protected willUpdate(changed:PropertyValues):void;private get axis();private get growSign();private applyHostSize;private containerPx;private resolveBoundsPx;private currentSizePx;private resizeValueText;private reconcileLiveExtent;private resolveProposal;private applyProposal;private requestResize;private emitResize;private dragSnapshotIsCurrent;private onPointerDown;private onPointerMove;private onPointerUp;private onPointerCancel;private endDrag;private onHandleKeyDown;private dispatchingToggle;private toggleCollapsed;private get topBottomChevronDeg();private handleTemplate;private collapseToggleTemplate;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-dock-panel':LyraDockPanel;}}
@@ -1,4 +1,4 @@
1
- import{__decorate}from"tslib";import{html,nothing}from"lit";import{property}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{isRtl}from"../../../internal/rtl.js";import{nextId}from"../../../internal/a11y.js";import{chevronIcon}from"../../../internal/icons.js";import{flattenedParentElement}from"../../../internal/composed-tree.js";import{styles}from"./dock-panel.styles.js";import{resolveCssLength}from"../../../internal/css-length.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{SeparatorDragController,separatorArrowDirection,separatorCoordinate}from"../../../internal/separator-drag.js";import{markVetoGuardWrite,VetoWriteGuard}from"../../../internal/veto-write-guard.js";import{requestThenCommit}from"../../../internal/request-commit.js";import{LYRA_DEFAULT_dockPanelCollapse,LYRA_DEFAULT_dockPanelExpand,LYRA_DEFAULT_dockPanelResize,LYRA_DEFAULT_resizeValuePixels}from"../../../internal/default-strings.generated.js";const KEYBOARD_STEP_PX=16;class LyraDockPanel extends LyraElement{constructor(){super(...arguments),this.placement="end",this._extent="280px",this.minExtent="160px",this.maxExtent="",this.collapsible=!1,this.toggleWriteGuard=new VetoWriteGuard,this._collapsed=!1,this.withoutResize=!1,this.drag=null,this.resizeWriteGuard=new VetoWriteGuard,this.resizeRequestSequence=0,this.dragController=new SeparatorDragController(this,event=>this.onPointerMove(event),event=>event.type==="pointerup"?this.onPointerUp(event):this.onPointerCancel(event)),this.contentId=nextId("dock-panel-content"),this.onPointerDown=e=>{if(!e.isPrimary||e.button!==0||this.withoutResize||this.collapsed||this.drag)return;const handle=e.currentTarget;if(!this.dragController.start(e,handle))return;const axis=this.axis,growSign=this.growSign,containerPx=this.containerPx(),startSizePx=this.currentSizePx();this.drag={pointerId:e.pointerId,startPos:separatorCoordinate(e,axis),startSizePx,axis,growSign,placement:this.placement,minExtent:this.minExtent,maxExtent:this.maxExtent,containerPx,bounds:this.resolveBoundsPx(containerPx),currentSizePx:startSizePx,expectedExtent:this.extent,finalExtent:this.extent,acceptedResize:!1}},this.onPointerMove=e=>{const drag=this.drag;if(!drag||e.pointerId!==drag.pointerId)return;if(this.withoutResize||this.collapsed||this.placement!==drag.placement||this.axis!==drag.axis||this.growSign!==drag.growSign||this.extent!==drag.expectedExtent||this.minExtent!==drag.minExtent||this.maxExtent!==drag.maxExtent){this.endDrag();return}const pos=separatorCoordinate(e,drag.axis),delta=drag.growSign*(pos-drag.startPos),proposal=this.resolveProposal(drag.startSizePx+delta,drag.bounds,drag.currentSizePx);if(!proposal)return;const extent=this.requestResize(proposal.bounds,proposal.nextExtent);!extent||this.drag!==drag||(drag.expectedExtent=extent,drag.finalExtent=extent,drag.currentSizePx=parseFloat(extent),drag.acceptedResize=!0,this.emitResize("lr-resize",extent),!(this.drag!==drag||this.extent!==extent||this.collapsed||this.withoutResize)&&this.emitResize("lr-resize-input",extent))},this.onPointerUp=e=>{const drag=this.drag;if(!drag||e.pointerId!==drag.pointerId)return;const shouldCommit=drag.acceptedResize&&this.dragSnapshotIsCurrent(drag),finalExtent=drag.finalExtent;this.endDrag(),shouldCommit&&this.emitResize("lr-resize-change",finalExtent)},this.onPointerCancel=e=>{!this.drag||e.pointerId!==this.drag.pointerId||this.endDrag()},this.onHandleKeyDown=e=>{if(this.withoutResize||this.collapsed||e.altKey||e.ctrlKey||e.metaKey||e.isComposing)return;const arrowDirection=separatorArrowDirection(e,this.axis,!1);let proposal;if(e.key==="Home"||e.key==="End"){e.preventDefault();const{minPx,maxPx}=this.resolveBoundsPx();proposal=this.resolveProposal(e.key==="Home"?minPx:maxPx)}else arrowDirection===1?(e.preventDefault(),proposal=this.resolveProposal(this.currentSizePx()+this.growSign*KEYBOARD_STEP_PX)):arrowDirection===-1&&(e.preventDefault(),proposal=this.resolveProposal(this.currentSizePx()-this.growSign*KEYBOARD_STEP_PX));if(!proposal)return;const extent=this.requestResize(proposal.bounds,proposal.nextExtent);extent&&(this.emitResize("lr-resize",extent),!(this.extent!==extent||this.collapsed||this.withoutResize)&&(this.emitResize("lr-resize-input",extent),!(this.extent!==extent||this.collapsed||this.withoutResize)&&this.emitResize("lr-resize-change",extent)))},this.dispatchingToggle=!1,this.toggleCollapsed=()=>{if(this.dispatchingToggle)return;const previous=this.collapsed,detail=()=>Object.freeze({expanded:previous});this.dispatchingToggle=!0;try{requestThenCommit({requestDetail:detail(),emitRequest:(proposal,init)=>{const request=this.emit("lr-toggle-request",proposal,init);return this.emit("lr-collapse-request",detail(),init).defaultPrevented&&request.preventDefault(),request},guard:this.toggleWriteGuard,commit:()=>{this.collapsed===previous&&(this.collapsed=!previous,this.emit("lr-collapse-change",detail()),this.emit("lr-toggle",detail()))}})}finally{this.dispatchingToggle=!1}}}static{this.defaultStrings={...super.defaultStrings,dockPanelCollapse:LYRA_DEFAULT_dockPanelCollapse,dockPanelExpand:LYRA_DEFAULT_dockPanelExpand,dockPanelResize:LYRA_DEFAULT_dockPanelResize,resizeValuePixels:LYRA_DEFAULT_resizeValuePixels}}static{this.styles=[LyraElement.styles,styles]}get extent(){return this._extent}set extent(value){const old=this._extent;this._extent=value,markVetoGuardWrite(this.resizeWriteGuard),this.requestUpdate("extent",old)}get collapsed(){return this._collapsed}set collapsed(next){const old=this._collapsed;this._collapsed=next,markVetoGuardWrite(this.toggleWriteGuard),this.requestUpdate("collapsed",old)}connectedCallback(){super.connectedCallback(),this.renderBounds=void 0,this.renderSizePx=void 0,this.applyHostSize(),this.armContainerResizeObserver()}disconnectedCallback(){super.disconnectedCallback(),this.endDrag(),this.containerResizeObserver?.disconnect(),this.containerResizeObserver=void 0}adoptedCallback(){super.adoptedCallback(),this.renderBounds=void 0,this.renderSizePx=void 0,this.endDrag(),this.containerResizeObserver?.disconnect(),this.containerResizeObserver=void 0}armContainerResizeObserver(){const ResizeObserverCtor=this.ownerDocument.defaultView?.ResizeObserver,container=this.container;!container||!ResizeObserverCtor||(this.containerResizeObserver??=new ResizeObserverCtor(()=>{this.isConnected&&(this.drag&&!this.dragSnapshotIsCurrent(this.drag)&&this.endDrag(),this.reconcileLiveExtent(),this.requestUpdate())}),this.containerResizeObserver.observe(container),this.containerResizeObserver.observe(this))}get container(){let parent=flattenedParentElement(this);for(;parent?.localName==="slot";)parent=flattenedParentElement(parent);return parent}willUpdate(changed){super.willUpdate(changed),this.hasUpdated&&(changed.has("collapsed")&&this.collapsed&&this.matches(":focus-within")||changed.has("withoutResize")&&this.withoutResize&&this.renderRoot.activeElement?.matches('[part="handle"]'))&&this.renderRoot.querySelector('[part="collapse-toggle"]')?.focus(),changed.has("extent")||changed.has("minExtent")||changed.has("maxExtent")||changed.has("collapsed")||changed.has("placement")?(this.drag&&!this.dragSnapshotIsCurrent(this.drag)&&this.endDrag(),this.reconcileLiveExtent()):this.drag&&(changed.has("withoutResize")&&this.withoutResize||changed.has("collapsed")&&this.collapsed)&&this.endDrag()}get axis(){return this.placement==="start"||this.placement==="end"?"inline":"block"}get growSign(){if(this.placement==="top")return 1;if(this.placement==="bottom")return-1;const rtl=isRtl(this);return this.placement==="start"?rtl?-1:1:rtl?1:-1}applyHostSize(bounds=this.resolveBoundsPx()){const value=this.collapsed?"var(--lr-dock-panel-collapsed-size, var(--_lr-dock-panel-collapsed-size))":this.extent;this.axis==="inline"?(this.style.inlineSize=value,this.style.blockSize="",this.style.minBlockSize="",this.style.maxBlockSize="",this.style.minInlineSize=this.collapsed?"":`${bounds.minPx}px`,this.style.maxInlineSize=this.collapsed?"":`${bounds.maxPx}px`):(this.style.blockSize=value,this.style.inlineSize="",this.style.minInlineSize="",this.style.maxInlineSize="",this.style.minBlockSize=this.collapsed?"":`${bounds.minPx}px`,this.style.maxBlockSize=this.collapsed?"":`${bounds.maxPx}px`)}containerPx(){const rect=this.container?.getBoundingClientRect(),ownerWindow=this.ownerDocument.defaultView;return this.axis==="inline"?rect?.width??ownerWindow?.innerWidth??0:rect?.height??ownerWindow?.innerHeight??0}resolveBoundsPx(containerSize=this.containerPx()){const containerPx=Math.max(0,containerSize),lengthContext={host:this,percentBase:containerPx,viewportBasis:this.ownerDocument.defaultView??void 0},authoredMax=Math.max(0,resolveCssLength(this.maxExtent,lengthContext)??containerPx),maxPx=Math.min(containerPx,authoredMax),authoredMin=Math.max(0,resolveCssLength(this.minExtent,lengthContext)??0);return{minPx:Math.min(authoredMin,maxPx),maxPx}}currentSizePx(){const rect=this.getBoundingClientRect();return this.axis==="inline"?rect.width:rect.height}resizeValueText(sizePx){return this.localize("resizeValuePixels",void 0,{value:getNumberFormat(this.effectiveLocale).format(Math.round(sizePx))})}reconcileLiveExtent(){const containerPx=this.containerPx(),bounds=this.resolveBoundsPx(containerPx);if(this.applyHostSize(bounds),this.renderBounds=bounds,this.collapsed)return;const authoredPx=resolveCssLength(this.extent,{host:this,percentBase:containerPx,viewportBasis:this.ownerDocument.defaultView??void 0}),renderedPx=this.currentSizePx();this.renderSizePx=renderedPx;const candidate=authoredPx??renderedPx;if(!Number.isFinite(candidate))return;const clamped=Math.min(Math.max(candidate,bounds.minPx),bounds.maxPx),renderedOutsideBounds=Number.isFinite(renderedPx)&&(renderedPx<bounds.minPx-.5||renderedPx>bounds.maxPx+.5);if(Math.abs(candidate-clamped)<=.5&&!renderedOutsideBounds)return;const nextExtent=`${Math.round(clamped)}px`;this.extent!==nextExtent&&(this.extent=nextExtent),this.applyHostSize(bounds),this.renderSizePx=this.currentSizePx()}resolveProposal(px,bounds=this.resolveBoundsPx(),currentSizePx=this.currentSizePx()){const clamped=Math.min(Math.max(px,bounds.minPx),bounds.maxPx),nextExtent=`${Math.round(clamped)}px`,currentExtent=`${Math.round(currentSizePx)}px`;if(nextExtent!==currentExtent)return{bounds,nextExtent}}applyProposal(bounds,nextExtent){this.extent=nextExtent,this.applyHostSize(bounds)}requestResize(bounds,extent){const requestSequence=++this.resizeRequestSequence,snapshot={drag:this.drag,extent:this.extent,placement:this.placement,collapsed:this.collapsed,withoutResize:this.withoutResize,minExtent:this.minExtent,maxExtent:this.maxExtent,growSign:this.growSign,containerPx:this.drag?.containerPx??this.containerPx()};let committed;return requestThenCommit({requestDetail:Object.freeze({extent}),emitRequest:(detail,init)=>this.emit("lr-resize-request",detail,init),guard:this.resizeWriteGuard,commit:()=>{const currentBounds=this.resolveBoundsPx(snapshot.containerPx);if(this.drag!==snapshot.drag||this.collapsed||this.collapsed!==snapshot.collapsed||this.resizeRequestSequence!==requestSequence||this.withoutResize||this.withoutResize!==snapshot.withoutResize||this.extent!==snapshot.extent||this.placement!==snapshot.placement||this.minExtent!==snapshot.minExtent||this.maxExtent!==snapshot.maxExtent||this.growSign!==snapshot.growSign||Math.abs(this.containerPx()-snapshot.containerPx)>.5||Math.abs(currentBounds.minPx-bounds.minPx)>.5||Math.abs(currentBounds.maxPx-bounds.maxPx)>.5){snapshot.drag&&this.drag===snapshot.drag&&this.endDrag();return}this.applyProposal(bounds,extent),committed=this.extent}}),committed}emitResize(type,extent){this.emit(type,Object.freeze({extent}))}dragSnapshotIsCurrent(drag){return!this.withoutResize&&!this.collapsed&&this.placement===drag.placement&&this.axis===drag.axis&&this.growSign===drag.growSign&&this.extent===drag.expectedExtent&&this.minExtent===drag.minExtent&&this.maxExtent===drag.maxExtent&&Math.abs(this.containerPx()-drag.containerPx)<=.5}endDrag(){const pointerId=this.drag?.pointerId;this.drag=null,pointerId!=null&&this.dragController.end(pointerId)}get topBottomChevronDeg(){if(this.placement==="top")return this.collapsed?90:-90;if(this.placement==="bottom")return this.collapsed?-90:90}handleTemplate(){if(this.withoutResize||this.collapsed)return nothing;const{minPx,maxPx}=this.renderBounds??this.resolveBoundsPx(),nowPx=Math.min(Math.max(this.renderSizePx??this.currentSizePx(),minPx),maxPx);return html`<div
1
+ import{__decorate}from"tslib";import{html,nothing}from"lit";import{property}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{isRtl}from"../../../internal/rtl.js";import{nextId}from"../../../internal/a11y.js";import{chevronIcon}from"../../../internal/icons.js";import{flattenedParentElement}from"../../../internal/composed-tree.js";import{styles}from"./dock-panel.styles.js";import{resolveCssLength}from"../../../internal/css-length.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{SeparatorDragController,separatorArrowDirection,separatorCoordinate}from"../../../internal/separator-drag.js";import{markVetoGuardWrite,VetoWriteGuard}from"../../../internal/veto-write-guard.js";import{requestThenCommit}from"../../../internal/request-commit.js";import{shadowFocusTarget}from"../../../internal/active-element.js";import{LYRA_DEFAULT_dockPanelCollapse,LYRA_DEFAULT_dockPanelExpand,LYRA_DEFAULT_dockPanelResize,LYRA_DEFAULT_resizeValuePixels}from"../../../internal/default-strings.generated.js";const KEYBOARD_STEP_PX=16;class LyraDockPanel extends LyraElement{constructor(){super(...arguments),this.placement="end",this._extent="280px",this.minExtent="160px",this.maxExtent="",this.collapsible=!1,this.toggleWriteGuard=new VetoWriteGuard,this._collapsed=!1,this.withoutResize=!1,this.drag=null,this.resizeWriteGuard=new VetoWriteGuard,this.resizeRequestSequence=0,this.dragController=new SeparatorDragController(this,event=>this.onPointerMove(event),event=>event.type==="pointerup"?this.onPointerUp(event):this.onPointerCancel(event)),this.contentId=nextId("dock-panel-content"),this.onPointerDown=e=>{if(!e.isPrimary||e.button!==0||this.withoutResize||this.collapsed||this.drag)return;const handle=e.currentTarget;if(!this.dragController.start(e,handle))return;const axis=this.axis,growSign=this.growSign,containerPx=this.containerPx(),startSizePx=this.currentSizePx();this.drag={pointerId:e.pointerId,startPos:separatorCoordinate(e,axis),startSizePx,axis,growSign,placement:this.placement,minExtent:this.minExtent,maxExtent:this.maxExtent,containerPx,bounds:this.resolveBoundsPx(containerPx),currentSizePx:startSizePx,expectedExtent:this.extent,finalExtent:this.extent,acceptedResize:!1}},this.onPointerMove=e=>{const drag=this.drag;if(!drag||e.pointerId!==drag.pointerId)return;if(this.withoutResize||this.collapsed||this.placement!==drag.placement||this.axis!==drag.axis||this.growSign!==drag.growSign||this.extent!==drag.expectedExtent||this.minExtent!==drag.minExtent||this.maxExtent!==drag.maxExtent){this.endDrag();return}const pos=separatorCoordinate(e,drag.axis),delta=drag.growSign*(pos-drag.startPos),proposal=this.resolveProposal(drag.startSizePx+delta,drag.bounds,drag.currentSizePx);if(!proposal)return;const extent=this.requestResize(proposal.bounds,proposal.nextExtent);!extent||this.drag!==drag||(drag.expectedExtent=extent,drag.finalExtent=extent,drag.currentSizePx=parseFloat(extent),drag.acceptedResize=!0,this.emitResize("lr-resize",extent),!(this.drag!==drag||this.extent!==extent||this.collapsed||this.withoutResize)&&this.emitResize("lr-resize-input",extent))},this.onPointerUp=e=>{const drag=this.drag;if(!drag||e.pointerId!==drag.pointerId)return;const shouldCommit=drag.acceptedResize&&this.dragSnapshotIsCurrent(drag),finalExtent=drag.finalExtent;this.endDrag(),shouldCommit&&this.emitResize("lr-resize-change",finalExtent)},this.onPointerCancel=e=>{!this.drag||e.pointerId!==this.drag.pointerId||this.endDrag()},this.onHandleKeyDown=e=>{if(this.withoutResize||this.collapsed||e.altKey||e.ctrlKey||e.metaKey||e.isComposing)return;const arrowDirection=separatorArrowDirection(e,this.axis,!1);let proposal;if(e.key==="Home"||e.key==="End"){e.preventDefault();const{minPx,maxPx}=this.resolveBoundsPx();proposal=this.resolveProposal(e.key==="Home"?minPx:maxPx)}else arrowDirection===1?(e.preventDefault(),proposal=this.resolveProposal(this.currentSizePx()+this.growSign*KEYBOARD_STEP_PX)):arrowDirection===-1&&(e.preventDefault(),proposal=this.resolveProposal(this.currentSizePx()-this.growSign*KEYBOARD_STEP_PX));if(!proposal)return;const extent=this.requestResize(proposal.bounds,proposal.nextExtent);extent&&(this.emitResize("lr-resize",extent),!(this.extent!==extent||this.collapsed||this.withoutResize)&&(this.emitResize("lr-resize-input",extent),!(this.extent!==extent||this.collapsed||this.withoutResize)&&this.emitResize("lr-resize-change",extent)))},this.dispatchingToggle=!1,this.toggleCollapsed=()=>{if(this.dispatchingToggle)return;const previous=this.collapsed,detail=()=>Object.freeze({expanded:previous});this.dispatchingToggle=!0;try{requestThenCommit({requestDetail:detail(),emitRequest:(proposal,init)=>{const request=this.emit("lr-toggle-request",proposal,init);return this.emit("lr-collapse-request",detail(),init).defaultPrevented&&request.preventDefault(),request},guard:this.toggleWriteGuard,commit:()=>{this.collapsed===previous&&(this.collapsed=!previous,this.emit("lr-collapse-change",detail()),this.emit("lr-toggle",detail()))}})}finally{this.dispatchingToggle=!1}}}static{this.defaultStrings={...super.defaultStrings,dockPanelCollapse:LYRA_DEFAULT_dockPanelCollapse,dockPanelExpand:LYRA_DEFAULT_dockPanelExpand,dockPanelResize:LYRA_DEFAULT_dockPanelResize,resizeValuePixels:LYRA_DEFAULT_resizeValuePixels}}static{this.styles=[LyraElement.styles,styles]}get extent(){return this._extent}set extent(value){const old=this._extent;this._extent=value,markVetoGuardWrite(this.resizeWriteGuard),this.requestUpdate("extent",old)}get collapsed(){return this._collapsed}set collapsed(next){const old=this._collapsed;this._collapsed=next,markVetoGuardWrite(this.toggleWriteGuard),this.requestUpdate("collapsed",old)}connectedCallback(){super.connectedCallback(),this.renderBounds=void 0,this.renderSizePx=void 0,this.applyHostSize(),this.armContainerResizeObserver()}disconnectedCallback(){super.disconnectedCallback(),this.endDrag(),this.containerResizeObserver?.disconnect(),this.containerResizeObserver=void 0}adoptedCallback(){super.adoptedCallback(),this.renderBounds=void 0,this.renderSizePx=void 0,this.endDrag(),this.containerResizeObserver?.disconnect(),this.containerResizeObserver=void 0}armContainerResizeObserver(){const ResizeObserverCtor=this.ownerDocument.defaultView?.ResizeObserver,container=this.container;!container||!ResizeObserverCtor||(this.containerResizeObserver??=new ResizeObserverCtor(()=>{this.isConnected&&(this.drag&&!this.dragSnapshotIsCurrent(this.drag)&&this.endDrag(),this.reconcileLiveExtent(),this.requestUpdate())}),this.containerResizeObserver.observe(container),this.containerResizeObserver.observe(this))}get container(){let parent=flattenedParentElement(this);for(;parent?.localName==="slot";)parent=flattenedParentElement(parent);return parent}relocateFocus(){const toggle=this.renderRoot.querySelector('[part="collapse-toggle"]');if(toggle){toggle.focus();return}this.hasAttribute("tabindex")||(this.tabIndex=-1,this.addEventListener("blur",()=>this.removeAttribute("tabindex"),{once:!0})),this.focus()}willUpdate(changed){super.willUpdate(changed),this.hasUpdated&&(changed.has("collapsed")&&this.collapsed&&this.matches(":focus-within")||changed.has("withoutResize")&&this.withoutResize&&shadowFocusTarget(this)?.matches('[part="handle"]'))&&this.relocateFocus(),changed.has("extent")||changed.has("minExtent")||changed.has("maxExtent")||changed.has("collapsed")||changed.has("placement")?(this.drag&&!this.dragSnapshotIsCurrent(this.drag)&&this.endDrag(),this.reconcileLiveExtent()):this.drag&&(changed.has("withoutResize")&&this.withoutResize||changed.has("collapsed")&&this.collapsed)&&this.endDrag()}get axis(){return this.placement==="start"||this.placement==="end"?"inline":"block"}get growSign(){if(this.placement==="top")return 1;if(this.placement==="bottom")return-1;const rtl=isRtl(this);return this.placement==="start"?rtl?-1:1:rtl?1:-1}applyHostSize(bounds=this.resolveBoundsPx()){const value=this.collapsed?"var(--lr-dock-panel-collapsed-size, var(--_lr-dock-panel-collapsed-size))":this.extent;this.axis==="inline"?(this.style.inlineSize=value,this.style.blockSize="",this.style.minBlockSize="",this.style.maxBlockSize="",this.style.minInlineSize=this.collapsed?"":`${bounds.minPx}px`,this.style.maxInlineSize=this.collapsed?"":`${bounds.maxPx}px`):(this.style.blockSize=value,this.style.inlineSize="",this.style.minInlineSize="",this.style.maxInlineSize="",this.style.minBlockSize=this.collapsed?"":`${bounds.minPx}px`,this.style.maxBlockSize=this.collapsed?"":`${bounds.maxPx}px`)}containerPx(){const rect=this.container?.getBoundingClientRect(),ownerWindow=this.ownerDocument.defaultView;return this.axis==="inline"?rect?.width??ownerWindow?.innerWidth??0:rect?.height??ownerWindow?.innerHeight??0}resolveBoundsPx(containerSize=this.containerPx()){const containerPx=Math.max(0,containerSize),lengthContext={host:this,percentBase:containerPx,viewportBasis:this.ownerDocument.defaultView??void 0},authoredMax=Math.max(0,resolveCssLength(this.maxExtent,lengthContext)??containerPx),maxPx=Math.min(containerPx,authoredMax),authoredMin=Math.max(0,resolveCssLength(this.minExtent,lengthContext)??0);return{minPx:Math.min(authoredMin,maxPx),maxPx}}currentSizePx(){const rect=this.getBoundingClientRect();return this.axis==="inline"?rect.width:rect.height}resizeValueText(sizePx){return this.localize("resizeValuePixels",void 0,{value:getNumberFormat(this.effectiveLocale).format(Math.round(sizePx))})}reconcileLiveExtent(){const containerPx=this.containerPx(),bounds=this.resolveBoundsPx(containerPx);if(this.applyHostSize(bounds),this.renderBounds=bounds,this.collapsed)return;const authoredPx=resolveCssLength(this.extent,{host:this,percentBase:containerPx,viewportBasis:this.ownerDocument.defaultView??void 0}),renderedPx=this.currentSizePx();this.renderSizePx=renderedPx;const candidate=authoredPx??renderedPx;if(!Number.isFinite(candidate))return;const clamped=Math.min(Math.max(candidate,bounds.minPx),bounds.maxPx),renderedOutsideBounds=Number.isFinite(renderedPx)&&(renderedPx<bounds.minPx-.5||renderedPx>bounds.maxPx+.5);if(Math.abs(candidate-clamped)<=.5&&!renderedOutsideBounds)return;const nextExtent=`${Math.round(clamped)}px`;this.extent!==nextExtent&&(this.extent=nextExtent),this.applyHostSize(bounds),this.renderSizePx=this.currentSizePx()}resolveProposal(px,bounds=this.resolveBoundsPx(),currentSizePx=this.currentSizePx()){const clamped=Math.min(Math.max(px,bounds.minPx),bounds.maxPx),nextExtent=`${Math.round(clamped)}px`,currentExtent=`${Math.round(currentSizePx)}px`;if(nextExtent!==currentExtent)return{bounds,nextExtent}}applyProposal(bounds,nextExtent){this.extent=nextExtent,this.applyHostSize(bounds)}requestResize(bounds,extent){const requestSequence=++this.resizeRequestSequence,snapshot={drag:this.drag,extent:this.extent,placement:this.placement,collapsed:this.collapsed,withoutResize:this.withoutResize,minExtent:this.minExtent,maxExtent:this.maxExtent,growSign:this.growSign,containerPx:this.drag?.containerPx??this.containerPx()};let committed;return requestThenCommit({requestDetail:Object.freeze({extent}),emitRequest:(detail,init)=>this.emit("lr-resize-request",detail,init),guard:this.resizeWriteGuard,commit:()=>{const currentBounds=this.resolveBoundsPx(snapshot.containerPx);if(this.drag!==snapshot.drag||this.collapsed||this.collapsed!==snapshot.collapsed||this.resizeRequestSequence!==requestSequence||this.withoutResize||this.withoutResize!==snapshot.withoutResize||this.extent!==snapshot.extent||this.placement!==snapshot.placement||this.minExtent!==snapshot.minExtent||this.maxExtent!==snapshot.maxExtent||this.growSign!==snapshot.growSign||Math.abs(this.containerPx()-snapshot.containerPx)>.5||Math.abs(currentBounds.minPx-bounds.minPx)>.5||Math.abs(currentBounds.maxPx-bounds.maxPx)>.5){snapshot.drag&&this.drag===snapshot.drag&&this.endDrag();return}this.applyProposal(bounds,extent),committed=this.extent}}),committed}emitResize(type,extent){this.emit(type,Object.freeze({extent}))}dragSnapshotIsCurrent(drag){return!this.withoutResize&&!this.collapsed&&this.placement===drag.placement&&this.axis===drag.axis&&this.growSign===drag.growSign&&this.extent===drag.expectedExtent&&this.minExtent===drag.minExtent&&this.maxExtent===drag.maxExtent&&Math.abs(this.containerPx()-drag.containerPx)<=.5}endDrag(){const pointerId=this.drag?.pointerId;this.drag=null,pointerId!=null&&this.dragController.end(pointerId)}get topBottomChevronDeg(){if(this.placement==="top")return this.collapsed?90:-90;if(this.placement==="bottom")return this.collapsed?-90:90}handleTemplate(){if(this.withoutResize||this.collapsed)return nothing;const{minPx,maxPx}=this.renderBounds??this.resolveBoundsPx(),nowPx=Math.min(Math.max(this.renderSizePx??this.currentSizePx(),minPx),maxPx);return html`<div
2
2
  part="handle"
3
3
  role="separator"
4
4
  aria-label=${this.localize("dockPanelResize")}
@@ -1,4 +1,4 @@
1
- import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{repeat}from"lit/directives/repeat.js";import{AnnouncementSinkController}from"../../../internal/announcer.js";import{activeElementIn}from"../../../internal/active-element.js";import{LyraElement}from"../../../internal/lyra-element.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{styles}from"./drilldown-panel.styles.js";import"../breadcrumb/breadcrumb.class.js";import"../breadcrumb/breadcrumb-item.class.js";import"../tab-group/tab-group.class.js";import"../tab-group/tab.class.js";import"../tab-group/tab-panel.class.js";import"../../forms/button/button.class.js";import"../../overlays/empty/empty.class.js";import{LYRA_DEFAULT_drilldownDocuments,LYRA_DEFAULT_drilldownEmpty,LYRA_DEFAULT_drilldownRuns,LYRA_DEFAULT_drilldownUntitledNode,LYRA_DEFAULT_items,LYRA_DEFAULT_next,LYRA_DEFAULT_noData,LYRA_DEFAULT_paginationLabel,LYRA_DEFAULT_paginationSummary,LYRA_DEFAULT_previous,LYRA_DEFAULT_provenanceEntities,LYRA_DEFAULT_sourceListDefaultLabel}from"../../../internal/default-strings.generated.js";const MAX_PATH_NODES=256,MAX_CATEGORY_ITEMS=1e3,MAX_NODE_TYPES=256,MAX_ENTITY_PROPERTIES=128,MAX_ID_LENGTH=256,MAX_LABEL_LENGTH=4096,MAX_TEXT_LENGTH=65536,MAX_URL_LENGTH=8192,ACTIVE_PAGE_SIZE=8,CHILD_REGISTRATIONS={evidence:()=>import("../../retrieval/source-card/source-card.js"),documents:()=>import("../../viewers/document-preview/document-preview.js"),entities:()=>import("../../retrieval/entity-card/entity-card.js")},registeredChildren=new Set,EMPTY_PATH=Object.freeze([]),EMPTY_TYPES=Object.freeze([]);function isPlainRecord(value){if(typeof value!="object"||value===null||Array.isArray(value))return!1;try{const prototype=Object.getPrototypeOf(value);return prototype===null||Object.getPrototypeOf(prototype)===null}catch{return!1}}function ownDataValue(record,key){try{const descriptor=Object.getOwnPropertyDescriptor(record,key);return descriptor&&"value"in descriptor?descriptor.value:void 0}catch{return}}function safeArrayLength(value){if(!Array.isArray(value))return 0;try{const descriptor=Object.getOwnPropertyDescriptor(value,"length"),length=descriptor&&"value"in descriptor?descriptor.value:0;return typeof length=="number"&&Number.isFinite(length)?Math.max(0,Math.floor(length)):0}catch{return 0}}function arrayItem(value,index){try{const descriptor=Object.getOwnPropertyDescriptor(value,String(index));return descriptor&&"value"in descriptor?descriptor.value:void 0}catch{return}}function boundedString(value,maxLength){return typeof value=="string"&&value.length<=maxLength?value:void 0}function domainId(value){const id=boundedString(value,MAX_ID_LENGTH);return id&&id===id.trim()?id:void 0}function optionalString(record,key,maxLength=MAX_TEXT_LENGTH){return boundedString(ownDataValue(record,key),maxLength)}function normalizeUniqueCollection(value,limit,normalize,startIndex=0){const sourceCount=safeArrayLength(value);if(!Array.isArray(value)||sourceCount===0)return{items:Object.freeze([]),sourceCount};const items=[],seen=new Set,end=Math.min(sourceCount,startIndex+limit);for(let index=startIndex;index<end;index+=1){const normalized=normalize(arrayItem(value,index));!normalized||seen.has(normalized[0])||(seen.add(normalized[0]),items.push(normalized[1]))}return{items:Object.freeze(items),sourceCount}}function normalizeEvidence(candidate){if(!isPlainRecord(candidate))return;const evidenceId=domainId(ownDataValue(candidate,"evidenceId")),title=boundedString(ownDataValue(candidate,"title"),MAX_LABEL_LENGTH);if(!evidenceId||title===void 0)return;const rawPage=ownDataValue(candidate,"page"),page=typeof rawPage=="number"&&Number.isFinite(rawPage)?rawPage:boundedString(rawPage,MAX_LABEL_LENGTH),item=Object.freeze({evidenceId,title,...page!==void 0?{page}:{},...optionalString(candidate,"href",MAX_URL_LENGTH)!==void 0?{href:optionalString(candidate,"href",MAX_URL_LENGTH)}:{},...optionalString(candidate,"excerpt")!==void 0?{excerpt:optionalString(candidate,"excerpt")}:{},...optionalString(candidate,"full")!==void 0?{full:optionalString(candidate,"full")}:{}});return[evidenceId,item]}function normalizeDocument(candidate){if(!isPlainRecord(candidate))return;const documentId=domainId(ownDataValue(candidate,"documentId")),name=boundedString(ownDataValue(candidate,"name"),MAX_LABEL_LENGTH);if(!documentId||name===void 0)return;const document=Object.freeze({documentId,name,...optionalString(candidate,"mimeType",MAX_LABEL_LENGTH)!==void 0?{mimeType:optionalString(candidate,"mimeType",MAX_LABEL_LENGTH)}:{},...optionalString(candidate,"uri",MAX_URL_LENGTH)!==void 0?{uri:optionalString(candidate,"uri",MAX_URL_LENGTH)}:{},...optionalString(candidate,"version",MAX_LABEL_LENGTH)!==void 0?{version:optionalString(candidate,"version",MAX_LABEL_LENGTH)}:{}});return[documentId,document]}function normalizeProperties(value){if(!isPlainRecord(value))return;let keys;try{keys=Object.getOwnPropertyNames(value).slice(0,MAX_ENTITY_PROPERTIES)}catch{return}const properties={};for(const key of keys){if(!key||key.length>MAX_ID_LENGTH)continue;let descriptor;try{descriptor=Object.getOwnPropertyDescriptor(value,key)}catch{continue}if(!descriptor||!descriptor.enumerable||!("value"in descriptor))continue;const entry=descriptor.value;if(typeof entry=="number"&&Number.isFinite(entry))properties[key]=entry;else{const text=boundedString(entry,MAX_TEXT_LENGTH);text!==void 0&&(properties[key]=text)}}return Object.keys(properties).length>0?Object.freeze(properties):void 0}function normalizeEntity(candidate){if(!isPlainRecord(candidate))return;const entityId=domainId(ownDataValue(candidate,"entityId")),label=boundedString(ownDataValue(candidate,"label"),MAX_LABEL_LENGTH);if(!entityId||label===void 0)return;const rawDegree=ownDataValue(candidate,"degree"),degree=typeof rawDegree=="number"&&Number.isFinite(rawDegree)?Math.max(0,Math.floor(rawDegree)):void 0,properties=normalizeProperties(ownDataValue(candidate,"properties")),entity=Object.freeze({entityId,label,...optionalString(candidate,"type",MAX_ID_LENGTH)!==void 0?{type:optionalString(candidate,"type",MAX_ID_LENGTH)}:{},...optionalString(candidate,"description")!==void 0?{description:optionalString(candidate,"description")}:{},...properties?{properties}:{},...degree!==void 0?{degree}:{},...optionalString(candidate,"communityId",MAX_ID_LENGTH)!==void 0?{communityId:optionalString(candidate,"communityId",MAX_ID_LENGTH)}:{}});return[entityId,entity]}function normalizeNode(candidate){if(!isPlainRecord(candidate))return;const nodeId=domainId(ownDataValue(candidate,"nodeId")),label=boundedString(ownDataValue(candidate,"label"),MAX_LABEL_LENGTH);if(!nodeId||label===void 0)return;const evidence=normalizeUniqueCollection(ownDataValue(candidate,"evidence"),MAX_CATEGORY_ITEMS,normalizeEvidence),documents=normalizeUniqueCollection(ownDataValue(candidate,"documents"),MAX_CATEGORY_ITEMS,normalizeDocument),entities=normalizeUniqueCollection(ownDataValue(candidate,"entities"),MAX_CATEGORY_ITEMS,normalizeEntity);return{node:Object.freeze({nodeId,label,...evidence.items.length>0?{evidence:evidence.items}:{},...documents.items.length>0?{documents:documents.items}:{},...entities.items.length>0?{entities:entities.items}:{}}),sourceCounts:Object.freeze({evidence:evidence.sourceCount,documents:documents.sourceCount,entities:entities.sourceCount})}}function normalizePath(value){const sourceCount=safeArrayLength(value);if(!Array.isArray(value)||sourceCount===0)return{path:EMPTY_PATH,sourceCount,categorySourceCounts:new Map};const startIndex=Math.max(0,sourceCount-MAX_PATH_NODES),path=[],seen=new Set,categorySourceCounts=new Map;for(let index=startIndex;index<sourceCount;index+=1){const normalized=normalizeNode(arrayItem(value,index));!normalized||seen.has(normalized.node.nodeId)||(seen.add(normalized.node.nodeId),path.push(normalized.node),categorySourceCounts.set(normalized.node.nodeId,normalized.sourceCounts))}return{path:Object.freeze(path),sourceCount,categorySourceCounts}}function normalizeNodeType(candidate){if(!isPlainRecord(candidate))return;const id=domainId(ownDataValue(candidate,"id")),label=boundedString(ownDataValue(candidate,"label"),MAX_LABEL_LENGTH);if(!id||label===void 0)return;const rawShape=ownDataValue(candidate,"shape"),shape=rawShape==="circle"||rawShape==="square"||rawShape==="diamond"?rawShape:void 0,color=optionalString(candidate,"color",MAX_LABEL_LENGTH);return[id,Object.freeze({id,label,...color!==void 0?{color}:{},...shape!==void 0?{shape}:{}})]}function normalizeTypes(value){return normalizeUniqueCollection(value,MAX_NODE_TYPES,normalizeNodeType).items}function normalizeCategory(value){return value==="evidence"||value==="documents"||value==="entities"||value==="runs"?value:""}class LyraDrilldownPanel extends LyraElement{constructor(){super(...arguments),this.effectivePath=EMPTY_PATH,this.pathSourceCount=0,this.pathRevision=0,this.categorySourceCounts=new Map,this.effectiveTypes=EMPTY_TYPES,this.activeCategoryValue="",this.communityLabel="",this.withoutFocusButton=!1,this.accessibleLabel=null,this.hasRunsSlot=!1,this.categoryPage=0,this.pageContext="",this.mutationObserverGeneration=0,this.announcements=new AnnouncementSinkController(this,{eager:["polite"]}),this.announcementsArmed=!1,this.announcedLimits=new Map,this.syncRunsSlot=()=>{this.hasRunsSlot=Array.from(this.children).some(element=>element.getAttribute("slot")==="runs")},this.stopOwnedEvent=event=>{event.stopPropagation()},this.onCategoryShow=event=>{event.stopPropagation();const node=this.currentNode;if(!node)return;const categories=this.categoriesFor(node),previousCategory=this.resolvedCategory(categories),category=normalizeCategory(event.detail.name),tabGroup=event.currentTarget;if(!previousCategory||!category||!categories.some(candidate=>candidate.key===category)){tabGroup.active=previousCategory??"";return}category!==previousCategory&&this.emit("lr-drilldown-category-change",Object.freeze({nodeId:node.nodeId,category,previousCategory})),tabGroup.active=this.resolvedCategory(categories)??""}}static{this.defaultStrings={...super.defaultStrings,drilldownDocuments:LYRA_DEFAULT_drilldownDocuments,drilldownEmpty:LYRA_DEFAULT_drilldownEmpty,drilldownRuns:LYRA_DEFAULT_drilldownRuns,drilldownUntitledNode:LYRA_DEFAULT_drilldownUntitledNode,items:LYRA_DEFAULT_items,next:LYRA_DEFAULT_next,noData:LYRA_DEFAULT_noData,paginationLabel:LYRA_DEFAULT_paginationLabel,paginationSummary:LYRA_DEFAULT_paginationSummary,previous:LYRA_DEFAULT_previous,provenanceEntities:LYRA_DEFAULT_provenanceEntities,sourceListDefaultLabel:LYRA_DEFAULT_sourceListDefaultLabel}}static{this.styles=[LyraElement.styles,styles]}get path(){return this.effectivePath}set path(value){const previous=this.effectivePath,normalized=normalizePath(value);this.effectivePath=normalized.path,this.pathSourceCount=normalized.sourceCount,this.categorySourceCounts=normalized.categorySourceCounts,this.pathRevision+=1,this.requestUpdate("path",previous)}get types(){return this.effectiveTypes}set types(value){const previous=this.effectiveTypes;this.effectiveTypes=normalizeTypes(value),this.requestUpdate("types",previous)}get activeCategory(){return this.activeCategoryValue}set activeCategory(value){const previous=this.activeCategoryValue;this.activeCategoryValue=normalizeCategory(value),this.requestUpdate("activeCategory",previous)}connectedCallback(){super.connectedCallback(),this.syncRunsSlot(),this.armMutationObserver()}armMutationObserver(){const ownerDocument=this.ownerDocument;if(!this.isConnected||this.mutationObserver&&this.mutationObserverDocument===ownerDocument)return;this.resetMutationObserver();const MutationObserverCtor=ownerDocument.defaultView?.MutationObserver;if(!MutationObserverCtor)return;const generation=this.mutationObserverGeneration,observer=new MutationObserverCtor(()=>{this.mutationObserver!==observer||this.mutationObserverDocument!==ownerDocument||this.mutationObserverGeneration!==generation||!this.isConnected||this.ownerDocument!==ownerDocument||this.syncRunsSlot()});this.mutationObserver=observer,this.mutationObserverDocument=ownerDocument,observer.observe(this,{childList:!0,attributes:!0,attributeFilter:["slot"],subtree:!0})}disconnectedCallback(){this.resetMutationObserver(),this.announcementsArmed=!1,this.announcedLimits.clear(),super.disconnectedCallback()}adoptedCallback(){super.adoptedCallback(),this.resetMutationObserver(),this.announcements.adopted(),this.armMutationObserver()}resetMutationObserver(){this.mutationObserverGeneration+=1,this.mutationObserver?.disconnect(),this.mutationObserver=void 0,this.mutationObserverDocument=void 0}get currentNode(){return this.effectivePath[this.effectivePath.length-1]}categoriesFor(node){const categories=[];return(node.evidence?.length??0)>0&&categories.push({key:"evidence",label:this.localize("sourceListDefaultLabel")}),(node.documents?.length??0)>0&&categories.push({key:"documents",label:this.localize("drilldownDocuments")}),(node.entities?.length??0)>0&&categories.push({key:"entities",label:this.localize("provenanceEntities")}),this.hasRunsSlot&&categories.push({key:"runs",label:this.localize("drilldownRuns")}),categories}resolvedCategory(categories){return categories.find(category=>category.key===this.activeCategoryValue)?.key??categories[0]?.key}willUpdate(changed){super.willUpdate(changed);const node=this.currentNode,categories=node?this.categoriesFor(node):[],active=this.resolvedCategory(categories)??"";active in CHILD_REGISTRATIONS&&!registeredChildren.has(active)&&(registeredChildren.add(active),CHILD_REGISTRATIONS[active]().catch(()=>registeredChildren.delete(active)));const context=`${this.pathRevision}:${node?.nodeId??""}:${active}`;context!==this.pageContext&&(this.pageContext=context,this.categoryPage=0)}updated(changed){super.updated(changed);const nextLimits=new Map(this.currentLimitAnnouncements());if(this.announcementsArmed)for(const[key,text]of nextLimits)this.announcedLimits.get(key)!==text&&this.announcements.announcePolite(text);this.announcedLimits=nextLimits,this.announcementsArmed=!0}navigateTo(node,index){this.emit("lr-drilldown-navigate",Object.freeze({nodeId:node.nodeId,index}))}onEvidenceExpand(nodeId,evidenceId,event){event.stopPropagation(),this.emit("lr-drilldown-evidence-expand",Object.freeze({nodeId,evidenceId,expanded:event.detail.expanded}))}onEvidenceOpen(nodeId,item,event){event.stopPropagation(),this.emit("lr-drilldown-evidence-open",Object.freeze({nodeId,evidenceId:item.evidenceId,...item.href!==void 0?{href:item.href}:{}}))}onDocumentDownload(nodeId,document,event){event.stopPropagation(),this.emit("lr-drilldown-document-download",Object.freeze({nodeId,documentId:document.documentId,src:event.detail.src,filename:event.detail.filename}))}onDocumentRenderError(nodeId,documentId,event){event.stopPropagation(),this.emit("lr-drilldown-document-render-error",Object.freeze({nodeId,documentId,error:event.detail.error}))}onDocumentHighlightActivate(nodeId,documentId,event){event.stopPropagation(),this.emit("lr-drilldown-document-highlight-activate",Object.freeze({nodeId,documentId,highlightId:event.detail.highlightId}))}onEntityActivate(nodeId,entityId,event){event.stopPropagation(),this.emit("lr-drilldown-entity-activate",Object.freeze({nodeId,entityId}))}renderEvidence(nodeId,items){return html`${repeat(items,item=>item.evidenceId,item=>html`
1
+ import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{repeat}from"lit/directives/repeat.js";import{AnnouncementSinkController}from"../../../internal/announcer.js";import{isCrossRealmPlainRecord}from"../../../internal/object-guards.js";import{shadowFocusTarget}from"../../../internal/active-element.js";import{LyraElement}from"../../../internal/lyra-element.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{styles}from"./drilldown-panel.styles.js";import"../breadcrumb/breadcrumb.class.js";import"../breadcrumb/breadcrumb-item.class.js";import"../tab-group/tab-group.class.js";import"../tab-group/tab.class.js";import"../tab-group/tab-panel.class.js";import"../../forms/button/button.class.js";import"../../overlays/empty/empty.class.js";import{LYRA_DEFAULT_drilldownDocuments,LYRA_DEFAULT_drilldownEmpty,LYRA_DEFAULT_drilldownRuns,LYRA_DEFAULT_drilldownUntitledNode,LYRA_DEFAULT_items,LYRA_DEFAULT_next,LYRA_DEFAULT_noData,LYRA_DEFAULT_paginationLabel,LYRA_DEFAULT_paginationSummary,LYRA_DEFAULT_previous,LYRA_DEFAULT_provenanceEntities,LYRA_DEFAULT_sourceListDefaultLabel}from"../../../internal/default-strings.generated.js";const MAX_PATH_NODES=256,MAX_CATEGORY_ITEMS=1e3,MAX_NODE_TYPES=256,MAX_ENTITY_PROPERTIES=128,MAX_ID_LENGTH=256,MAX_LABEL_LENGTH=4096,MAX_TEXT_LENGTH=65536,MAX_URL_LENGTH=8192,ACTIVE_PAGE_SIZE=8,CHILD_REGISTRATIONS={evidence:()=>import("../../retrieval/source-card/source-card.js"),documents:()=>import("../../viewers/document-preview/document-preview.js"),entities:()=>import("../../retrieval/entity-card/entity-card.js")},registeredChildren=new Set,EMPTY_PATH=Object.freeze([]),EMPTY_TYPES=Object.freeze([]);function ownDataValue(record,key){try{const descriptor=Object.getOwnPropertyDescriptor(record,key);return descriptor&&"value"in descriptor?descriptor.value:void 0}catch{return}}function safeArrayLength(value){if(!Array.isArray(value))return 0;try{const descriptor=Object.getOwnPropertyDescriptor(value,"length"),length=descriptor&&"value"in descriptor?descriptor.value:0;return typeof length=="number"&&Number.isFinite(length)?Math.max(0,Math.floor(length)):0}catch{return 0}}function arrayItem(value,index){try{const descriptor=Object.getOwnPropertyDescriptor(value,String(index));return descriptor&&"value"in descriptor?descriptor.value:void 0}catch{return}}function boundedString(value,maxLength){return typeof value=="string"&&value.length<=maxLength?value:void 0}function domainId(value){const id=boundedString(value,MAX_ID_LENGTH);return id&&id===id.trim()?id:void 0}function optionalString(record,key,maxLength=MAX_TEXT_LENGTH){return boundedString(ownDataValue(record,key),maxLength)}function normalizeUniqueCollection(value,limit,normalize,startIndex=0){const sourceCount=safeArrayLength(value);if(!Array.isArray(value)||sourceCount===0)return{items:Object.freeze([]),sourceCount};const items=[],seen=new Set,end=Math.min(sourceCount,startIndex+limit);for(let index=startIndex;index<end;index+=1){const normalized=normalize(arrayItem(value,index));!normalized||seen.has(normalized[0])||(seen.add(normalized[0]),items.push(normalized[1]))}return{items:Object.freeze(items),sourceCount}}function normalizeEvidence(candidate){if(!isCrossRealmPlainRecord(candidate))return;const evidenceId=domainId(ownDataValue(candidate,"evidenceId")),title=boundedString(ownDataValue(candidate,"title"),MAX_LABEL_LENGTH);if(!evidenceId||title===void 0)return;const rawPage=ownDataValue(candidate,"page"),page=typeof rawPage=="number"&&Number.isFinite(rawPage)?rawPage:boundedString(rawPage,MAX_LABEL_LENGTH),item=Object.freeze({evidenceId,title,...page!==void 0?{page}:{},...optionalString(candidate,"href",MAX_URL_LENGTH)!==void 0?{href:optionalString(candidate,"href",MAX_URL_LENGTH)}:{},...optionalString(candidate,"excerpt")!==void 0?{excerpt:optionalString(candidate,"excerpt")}:{},...optionalString(candidate,"full")!==void 0?{full:optionalString(candidate,"full")}:{}});return[evidenceId,item]}function normalizeDocument(candidate){if(!isCrossRealmPlainRecord(candidate))return;const documentId=domainId(ownDataValue(candidate,"documentId")),name=boundedString(ownDataValue(candidate,"name"),MAX_LABEL_LENGTH);if(!documentId||name===void 0)return;const document=Object.freeze({documentId,name,...optionalString(candidate,"mimeType",MAX_LABEL_LENGTH)!==void 0?{mimeType:optionalString(candidate,"mimeType",MAX_LABEL_LENGTH)}:{},...optionalString(candidate,"uri",MAX_URL_LENGTH)!==void 0?{uri:optionalString(candidate,"uri",MAX_URL_LENGTH)}:{},...optionalString(candidate,"version",MAX_LABEL_LENGTH)!==void 0?{version:optionalString(candidate,"version",MAX_LABEL_LENGTH)}:{}});return[documentId,document]}function normalizeProperties(value){if(!isCrossRealmPlainRecord(value))return;let keys;try{keys=Object.getOwnPropertyNames(value).slice(0,MAX_ENTITY_PROPERTIES)}catch{return}const properties={};for(const key of keys){if(!key||key.length>MAX_ID_LENGTH)continue;let descriptor;try{descriptor=Object.getOwnPropertyDescriptor(value,key)}catch{continue}if(!descriptor||!descriptor.enumerable||!("value"in descriptor))continue;const entry=descriptor.value;if(typeof entry=="number"&&Number.isFinite(entry))properties[key]=entry;else{const text=boundedString(entry,MAX_TEXT_LENGTH);text!==void 0&&(properties[key]=text)}}return Object.keys(properties).length>0?Object.freeze(properties):void 0}function normalizeEntity(candidate){if(!isCrossRealmPlainRecord(candidate))return;const entityId=domainId(ownDataValue(candidate,"entityId")),label=boundedString(ownDataValue(candidate,"label"),MAX_LABEL_LENGTH);if(!entityId||label===void 0)return;const rawDegree=ownDataValue(candidate,"degree"),degree=typeof rawDegree=="number"&&Number.isFinite(rawDegree)?Math.max(0,Math.floor(rawDegree)):void 0,properties=normalizeProperties(ownDataValue(candidate,"properties")),entity=Object.freeze({entityId,label,...optionalString(candidate,"type",MAX_ID_LENGTH)!==void 0?{type:optionalString(candidate,"type",MAX_ID_LENGTH)}:{},...optionalString(candidate,"description")!==void 0?{description:optionalString(candidate,"description")}:{},...properties?{properties}:{},...degree!==void 0?{degree}:{},...optionalString(candidate,"communityId",MAX_ID_LENGTH)!==void 0?{communityId:optionalString(candidate,"communityId",MAX_ID_LENGTH)}:{}});return[entityId,entity]}function normalizeNode(candidate){if(!isCrossRealmPlainRecord(candidate))return;const nodeId=domainId(ownDataValue(candidate,"nodeId")),label=boundedString(ownDataValue(candidate,"label"),MAX_LABEL_LENGTH);if(!nodeId||label===void 0)return;const evidence=normalizeUniqueCollection(ownDataValue(candidate,"evidence"),MAX_CATEGORY_ITEMS,normalizeEvidence),documents=normalizeUniqueCollection(ownDataValue(candidate,"documents"),MAX_CATEGORY_ITEMS,normalizeDocument),entities=normalizeUniqueCollection(ownDataValue(candidate,"entities"),MAX_CATEGORY_ITEMS,normalizeEntity);return{node:Object.freeze({nodeId,label,...evidence.items.length>0?{evidence:evidence.items}:{},...documents.items.length>0?{documents:documents.items}:{},...entities.items.length>0?{entities:entities.items}:{}}),sourceCounts:Object.freeze({evidence:evidence.sourceCount,documents:documents.sourceCount,entities:entities.sourceCount})}}function normalizePath(value){const sourceCount=safeArrayLength(value);if(!Array.isArray(value)||sourceCount===0)return{path:EMPTY_PATH,sourceCount,categorySourceCounts:new Map};const startIndex=Math.max(0,sourceCount-MAX_PATH_NODES),path=[],seen=new Set,categorySourceCounts=new Map;for(let index=startIndex;index<sourceCount;index+=1){const normalized=normalizeNode(arrayItem(value,index));!normalized||seen.has(normalized.node.nodeId)||(seen.add(normalized.node.nodeId),path.push(normalized.node),categorySourceCounts.set(normalized.node.nodeId,normalized.sourceCounts))}return{path:Object.freeze(path),sourceCount,categorySourceCounts}}function normalizeNodeType(candidate){if(!isCrossRealmPlainRecord(candidate))return;const id=domainId(ownDataValue(candidate,"id")),label=boundedString(ownDataValue(candidate,"label"),MAX_LABEL_LENGTH);if(!id||label===void 0)return;const rawShape=ownDataValue(candidate,"shape"),shape=rawShape==="circle"||rawShape==="square"||rawShape==="diamond"?rawShape:void 0,color=optionalString(candidate,"color",MAX_LABEL_LENGTH);return[id,Object.freeze({id,label,...color!==void 0?{color}:{},...shape!==void 0?{shape}:{}})]}function normalizeTypes(value){return normalizeUniqueCollection(value,MAX_NODE_TYPES,normalizeNodeType).items}function normalizeCategory(value){return value==="evidence"||value==="documents"||value==="entities"||value==="runs"?value:""}class LyraDrilldownPanel extends LyraElement{constructor(){super(...arguments),this.effectivePath=EMPTY_PATH,this.pathSourceCount=0,this.pathRevision=0,this.categorySourceCounts=new Map,this.effectiveTypes=EMPTY_TYPES,this.activeCategoryValue="",this.communityLabel="",this.withoutFocusButton=!1,this.accessibleLabel=null,this.hasRunsSlot=!1,this.categoryPage=0,this.pageContext="",this.mutationObserverGeneration=0,this.announcements=new AnnouncementSinkController(this,{eager:["polite"]}),this.announcementsArmed=!1,this.announcedLimits=new Map,this.syncRunsSlot=()=>{this.hasRunsSlot=Array.from(this.children).some(element=>element.getAttribute("slot")==="runs")},this.stopOwnedEvent=event=>{event.stopPropagation()},this.onCategoryShow=event=>{event.stopPropagation();const node=this.currentNode;if(!node)return;const categories=this.categoriesFor(node),previousCategory=this.resolvedCategory(categories),category=normalizeCategory(event.detail.name),tabGroup=event.currentTarget;if(!previousCategory||!category||!categories.some(candidate=>candidate.key===category)){tabGroup.active=previousCategory??"";return}category!==previousCategory&&this.emit("lr-drilldown-category-change",Object.freeze({nodeId:node.nodeId,category,previousCategory})),tabGroup.active=this.resolvedCategory(categories)??""}}static{this.defaultStrings={...super.defaultStrings,drilldownDocuments:LYRA_DEFAULT_drilldownDocuments,drilldownEmpty:LYRA_DEFAULT_drilldownEmpty,drilldownRuns:LYRA_DEFAULT_drilldownRuns,drilldownUntitledNode:LYRA_DEFAULT_drilldownUntitledNode,items:LYRA_DEFAULT_items,next:LYRA_DEFAULT_next,noData:LYRA_DEFAULT_noData,paginationLabel:LYRA_DEFAULT_paginationLabel,paginationSummary:LYRA_DEFAULT_paginationSummary,previous:LYRA_DEFAULT_previous,provenanceEntities:LYRA_DEFAULT_provenanceEntities,sourceListDefaultLabel:LYRA_DEFAULT_sourceListDefaultLabel}}static{this.styles=[LyraElement.styles,styles]}get path(){return this.effectivePath}set path(value){const previous=this.effectivePath,normalized=normalizePath(value);this.effectivePath=normalized.path,this.pathSourceCount=normalized.sourceCount,this.categorySourceCounts=normalized.categorySourceCounts,this.pathRevision+=1,this.requestUpdate("path",previous)}get types(){return this.effectiveTypes}set types(value){const previous=this.effectiveTypes;this.effectiveTypes=normalizeTypes(value),this.requestUpdate("types",previous)}get activeCategory(){return this.activeCategoryValue}set activeCategory(value){const previous=this.activeCategoryValue;this.activeCategoryValue=normalizeCategory(value),this.requestUpdate("activeCategory",previous)}connectedCallback(){super.connectedCallback(),this.syncRunsSlot(),this.armMutationObserver()}armMutationObserver(){const ownerDocument=this.ownerDocument;if(!this.isConnected||this.mutationObserver&&this.mutationObserverDocument===ownerDocument)return;this.resetMutationObserver();const MutationObserverCtor=ownerDocument.defaultView?.MutationObserver;if(!MutationObserverCtor)return;const generation=this.mutationObserverGeneration,observer=new MutationObserverCtor(()=>{this.mutationObserver!==observer||this.mutationObserverDocument!==ownerDocument||this.mutationObserverGeneration!==generation||!this.isConnected||this.ownerDocument!==ownerDocument||this.syncRunsSlot()});this.mutationObserver=observer,this.mutationObserverDocument=ownerDocument,observer.observe(this,{childList:!0,attributes:!0,attributeFilter:["slot"],subtree:!0})}disconnectedCallback(){this.resetMutationObserver(),this.announcementsArmed=!1,this.announcedLimits.clear(),super.disconnectedCallback()}adoptedCallback(){super.adoptedCallback(),this.resetMutationObserver(),this.announcements.adopted(),this.armMutationObserver()}resetMutationObserver(){this.mutationObserverGeneration+=1,this.mutationObserver?.disconnect(),this.mutationObserver=void 0,this.mutationObserverDocument=void 0}get currentNode(){return this.effectivePath[this.effectivePath.length-1]}categoriesFor(node){const categories=[];return(node.evidence?.length??0)>0&&categories.push({key:"evidence",label:this.localize("sourceListDefaultLabel")}),(node.documents?.length??0)>0&&categories.push({key:"documents",label:this.localize("drilldownDocuments")}),(node.entities?.length??0)>0&&categories.push({key:"entities",label:this.localize("provenanceEntities")}),this.hasRunsSlot&&categories.push({key:"runs",label:this.localize("drilldownRuns")}),categories}resolvedCategory(categories){return categories.find(category=>category.key===this.activeCategoryValue)?.key??categories[0]?.key}willUpdate(changed){super.willUpdate(changed);const node=this.currentNode,categories=node?this.categoriesFor(node):[],active=this.resolvedCategory(categories)??"";active in CHILD_REGISTRATIONS&&!registeredChildren.has(active)&&(registeredChildren.add(active),CHILD_REGISTRATIONS[active]().catch(()=>registeredChildren.delete(active)));const context=`${this.pathRevision}:${node?.nodeId??""}:${active}`;context!==this.pageContext&&(this.pageContext=context,this.categoryPage=0)}updated(changed){super.updated(changed);const nextLimits=new Map(this.currentLimitAnnouncements());if(this.announcementsArmed)for(const[key,text]of nextLimits)this.announcedLimits.get(key)!==text&&this.announcements.announcePolite(text);this.announcedLimits=nextLimits,this.announcementsArmed=!0}navigateTo(node,index){this.emit("lr-drilldown-navigate",Object.freeze({nodeId:node.nodeId,index}))}onEvidenceExpand(nodeId,evidenceId,event){event.stopPropagation(),this.emit("lr-drilldown-evidence-expand",Object.freeze({nodeId,evidenceId,expanded:event.detail.expanded}))}onEvidenceOpen(nodeId,item,event){event.stopPropagation(),this.emit("lr-drilldown-evidence-open",Object.freeze({nodeId,evidenceId:item.evidenceId,...item.href!==void 0?{href:item.href}:{}}))}onDocumentDownload(nodeId,document,event){event.stopPropagation(),this.emit("lr-drilldown-document-download",Object.freeze({nodeId,documentId:document.documentId,src:event.detail.src,filename:event.detail.filename}))}onDocumentRenderError(nodeId,documentId,event){event.stopPropagation(),this.emit("lr-drilldown-document-render-error",Object.freeze({nodeId,documentId,error:event.detail.error}))}onDocumentHighlightActivate(nodeId,documentId,event){event.stopPropagation(),this.emit("lr-drilldown-document-highlight-activate",Object.freeze({nodeId,documentId,highlightId:event.detail.highlightId}))}onEntityActivate(nodeId,entityId,event){event.stopPropagation(),this.emit("lr-drilldown-entity-activate",Object.freeze({nodeId,entityId}))}renderEvidence(nodeId,items){return html`${repeat(items,item=>item.evidenceId,item=>html`
2
2
  <lr-source-card
3
3
  part="evidence-item"
4
4
  source-id=${item.evidenceId}
@@ -30,7 +30,7 @@ import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,stat
30
30
  .withoutFocusButton=${this.withoutFocusButton}
31
31
  @lr-entity-select=${event=>this.onEntityActivate(nodeId,entity.entityId,event)}
32
32
  ></lr-entity-card>
33
- `)}`}formatCount(value){return getNumberFormat(this.effectiveLocale).format(value)}rangeSummary(start,end,total,itemLabel){return this.localize("paginationSummary",void 0,{start:this.formatCount(start),end:this.formatCount(end),total:this.formatCount(total),itemLabel})}changePage(delta,total,label){const lastPage=Math.max(0,Math.ceil(total/ACTIVE_PAGE_SIZE)-1),page=Math.min(lastPage,Math.max(0,this.categoryPage+delta)),[leaving,staying]=delta>0?["next","previous"]:["previous","next"],button=side=>this.renderRoot.querySelector(`[part="${side}-button"]`);page===(delta>0?lastPage:0)&&activeElementIn(this.shadowRoot)===button(leaving)&&button(staying)?.focus(),this.categoryPage=page,this.announcements.announcePolite(this.rangeSummary(page*ACTIVE_PAGE_SIZE+1,Math.min(total,(page+1)*ACTIVE_PAGE_SIZE),total,label))}currentLimitAnnouncements(){const announcements=[];this.pathSourceCount>MAX_PATH_NODES&&announcements.push(["path",this.pathLimitSummary()]);const node=this.currentNode;if(!node)return announcements;const categories=this.categoriesFor(node),category=categories.find(candidate=>candidate.key===this.resolvedCategory(categories));if(!category||category.key==="runs")return announcements;const items=node[category.key]??[],sourceCount=this.categorySourceCounts.get(node.nodeId)?.[category.key]??items.length;return sourceCount>MAX_CATEGORY_ITEMS&&announcements.push([`${node.nodeId}:${category.key}`,this.rangeSummary(1,items.length,sourceCount,category.label)]),announcements}pathLimitSummary(){return this.rangeSummary(this.pathSourceCount-MAX_PATH_NODES+1,this.pathSourceCount,this.pathSourceCount,this.localize("items"))}renderPage(node,category,label,items,renderItems){const lastPage=Math.max(0,Math.ceil(items.length/ACTIVE_PAGE_SIZE)-1),page=Math.min(this.categoryPage,lastPage),startIndex=page*ACTIVE_PAGE_SIZE,visible=items.slice(startIndex,startIndex+ACTIVE_PAGE_SIZE),sourceCount=this.categorySourceCounts.get(node.nodeId)?.[category]??items.length,hasPages=items.length>ACTIVE_PAGE_SIZE,wasLimited=sourceCount>MAX_CATEGORY_ITEMS;return html`
33
+ `)}`}formatCount(value){return getNumberFormat(this.effectiveLocale).format(value)}rangeSummary(start,end,total,itemLabel){return this.localize("paginationSummary",void 0,{start:this.formatCount(start),end:this.formatCount(end),total:this.formatCount(total),itemLabel})}changePage(delta,total,label){const lastPage=Math.max(0,Math.ceil(total/ACTIVE_PAGE_SIZE)-1),page=Math.min(lastPage,Math.max(0,this.categoryPage+delta)),[leaving,staying]=delta>0?["next","previous"]:["previous","next"],button=side=>this.renderRoot.querySelector(`[part="${side}-button"]`);page===(delta>0?lastPage:0)&&shadowFocusTarget(this)===button(leaving)&&button(staying)?.focus(),this.categoryPage=page,this.announcements.announcePolite(this.rangeSummary(page*ACTIVE_PAGE_SIZE+1,Math.min(total,(page+1)*ACTIVE_PAGE_SIZE),total,label))}currentLimitAnnouncements(){const announcements=[];this.pathSourceCount>MAX_PATH_NODES&&announcements.push(["path",this.pathLimitSummary()]);const node=this.currentNode;if(!node)return announcements;const categories=this.categoriesFor(node),category=categories.find(candidate=>candidate.key===this.resolvedCategory(categories));if(!category||category.key==="runs")return announcements;const items=node[category.key]??[],sourceCount=this.categorySourceCounts.get(node.nodeId)?.[category.key]??items.length;return sourceCount>MAX_CATEGORY_ITEMS&&announcements.push([`${node.nodeId}:${category.key}`,this.rangeSummary(1,items.length,sourceCount,category.label)]),announcements}pathLimitSummary(){return this.rangeSummary(this.pathSourceCount-MAX_PATH_NODES+1,this.pathSourceCount,this.pathSourceCount,this.localize("items"))}renderPage(node,category,label,items,renderItems){const lastPage=Math.max(0,Math.ceil(items.length/ACTIVE_PAGE_SIZE)-1),page=Math.min(this.categoryPage,lastPage),startIndex=page*ACTIVE_PAGE_SIZE,visible=items.slice(startIndex,startIndex+ACTIVE_PAGE_SIZE),sourceCount=this.categorySourceCounts.get(node.nodeId)?.[category]??items.length,hasPages=items.length>ACTIVE_PAGE_SIZE,wasLimited=sourceCount>MAX_CATEGORY_ITEMS;return html`
34
34
  ${renderItems(visible)}
35
35
  ${hasPages?html`<nav
36
36
  part="pagination"
@@ -437,9 +437,10 @@ export type LyraFilterBarInputEvent<Defs extends readonly LyraFilterBarFilterDef
437
437
  * else (another filter type, or a range picked/typed by hand).
438
438
  * @event lr-validity-change - The computed `{ valid, invalidFilterIds }` changed.
439
439
  * @event lr-reset - `reset()` ran (via the reset button or a direct call). `detail: { value }`.
440
- * @slot end - Extra host-supplied controls rendered inside `controls`, next to the reset button
440
+ * @slot end - Extra host-supplied controls rendered inside `controls`, grouped with the reset button
441
441
  * (for example, a "Save search" or "Export" action) -- this component renders no default
442
- * content into it.
442
+ * content into it. The end actions and Reset wrap together and sit on the same bottom edge as the
443
+ * field frames (the wrapper reserves the same trailing validation spacer).
443
444
  * @csspart base - The root `role="group"` wrapper.
444
445
  * @csspart controls - The row holding every filter control, the `end` slot, the reset button, and
445
446
  * the loading status.