@aceshooting/lyra-ui 26.0.0 → 28.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 (1677) hide show
  1. package/CHANGELOG.md +55 -675
  2. package/README.md +285 -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/css-declarations.mjs +1 -0
  9. package/dist/cli/init-agents.mjs +40 -0
  10. package/dist/cli/is-main-module.mjs +1 -0
  11. package/dist/cli/lyra-rename-ledger.mjs +1 -1
  12. package/dist/cli/lyra-ui.mjs +11 -0
  13. package/dist/cli/migrate-wa.mjs +12 -5
  14. package/dist/cli/migration-contract.json +1 -1
  15. package/dist/cli/migration-renames.mjs +2 -2
  16. package/dist/cli/migration-theme-scopes.mjs +3 -0
  17. package/dist/cli/theme-scope-vocabulary.generated.mjs +1 -0
  18. package/dist/components/agent-tools/activity-feed/activity-feed.class.js +1 -1
  19. package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.d.ts +1 -1
  20. package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.js +2 -2
  21. package/dist/components/agent-tools/agent-question/agent-question.class.js +1 -1
  22. package/dist/components/agent-tools/agent-run/agent-run.class.js +1 -1
  23. package/dist/components/agent-tools/agent-trace/agent-trace.class.js +1 -1
  24. package/dist/components/agent-tools/approval-queue/approval-queue.class.js +1 -1
  25. package/dist/components/agent-tools/artifact-panel/artifact-panel.class.js +1 -1
  26. package/dist/components/agent-tools/background-runs/background-runs.class.js +1 -1
  27. package/dist/components/agent-tools/browser-frame/browser-frame.class.js +1 -1
  28. package/dist/components/agent-tools/budget-meter/budget-meter.class.js +1 -1
  29. package/dist/components/agent-tools/change-review/change-review.class.js +1 -1
  30. package/dist/components/agent-tools/commit-card/commit-card.class.js +1 -1
  31. package/dist/components/agent-tools/compare-panel/compare-panel.class.js +1 -1
  32. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts +2 -2
  33. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +2 -2
  34. package/dist/components/agent-tools/connector-manager/connector-manager.class.d.ts +4 -2
  35. package/dist/components/agent-tools/connector-manager/connector-manager.class.js +6 -3
  36. package/dist/components/agent-tools/connector-manager/connector-manager.d.ts +1 -1
  37. package/dist/components/agent-tools/connector-manager/connector-manager.js +1 -1
  38. package/dist/components/agent-tools/connector-manager/connector-manager.styles.js +1 -1
  39. package/dist/components/agent-tools/context-inspector/context-inspector.class.d.ts +2 -2
  40. package/dist/components/agent-tools/context-inspector/context-inspector.class.js +6 -6
  41. package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts +8 -33
  42. package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +27 -4
  43. package/dist/components/agent-tools/eval-dataset/eval-dataset.d.ts +1 -1
  44. package/dist/components/agent-tools/eval-dataset/eval-dataset.js +1 -1
  45. package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.js +1 -1
  46. package/dist/components/agent-tools/eval-result/eval-result.class.js +1 -1
  47. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +1 -1
  48. package/dist/components/agent-tools/mcp-app/mcp-app.class.js +1 -1
  49. package/dist/components/agent-tools/permission-grant/permission-grant.class.d.ts +4 -2
  50. package/dist/components/agent-tools/permission-grant/permission-grant.class.js +6 -3
  51. package/dist/components/agent-tools/permission-grant/permission-grant.d.ts +1 -1
  52. package/dist/components/agent-tools/permission-grant/permission-grant.js +1 -1
  53. package/dist/components/agent-tools/permission-grant/permission-grant.styles.js +1 -1
  54. package/dist/components/agent-tools/permission-rules/permission-rules.class.js +1 -1
  55. package/dist/components/agent-tools/policy-summary/policy-summary.class.js +1 -1
  56. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts +1 -1
  57. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +2 -2
  58. package/dist/components/agent-tools/result-card/result-field.class.js +1 -1
  59. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts +3 -1
  60. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +1 -1
  61. package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +1 -1
  62. package/dist/components/agent-tools/stack-trace/stack-trace.class.js +1 -1
  63. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +2 -2
  64. package/dist/components/agent-tools/task-list/task-list.class.d.ts +2 -2
  65. package/dist/components/agent-tools/task-list/task-list.class.js +2 -2
  66. package/dist/components/agent-tools/terminal/terminal.class.d.ts +1 -1
  67. package/dist/components/agent-tools/terminal/terminal.class.js +4 -4
  68. package/dist/components/agent-tools/test-results/test-results.class.js +1 -1
  69. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.js +1 -1
  70. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.d.ts +15 -9
  71. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js +1 -1
  72. package/dist/components/agent-tools/tool-call-block/tool-call-block.class.d.ts +2 -2
  73. package/dist/components/agent-tools/tool-call-block/tool-call-block.class.js +1 -1
  74. package/dist/components/agent-tools/tool-call-block/tool-call-block.styles.js +1 -1
  75. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +2 -7
  76. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +1 -1
  77. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.styles.js +1 -1
  78. package/dist/components/agent-tools/tool-param-form/tool-param-constraints.js +1 -1
  79. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +3 -5
  80. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +1 -1
  81. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.d.ts +2 -5
  82. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.js +1 -1
  83. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.styles.js +1 -1
  84. package/dist/components/agent-tools/tool-result-view/registry.d.ts +4 -12
  85. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.d.ts +2 -2
  86. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.js +1 -1
  87. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js +1 -1
  88. package/dist/components/agent-tools/tool-status.d.ts +7 -0
  89. package/dist/components/agent-tools/tool-status.styles.js +1 -0
  90. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +1 -1
  91. package/dist/components/agent-tools/tool-timeline/tool-timeline.d.ts +1 -1
  92. package/dist/components/agent-tools/tool-timeline/tool-timeline.js +1 -1
  93. package/dist/components/agent-tools/trace-tree/trace-tree.class.js +2 -2
  94. package/dist/components/charts/chart/box-plot.class.d.ts +1 -1
  95. package/dist/components/charts/chart/box-plot.class.js +1 -1
  96. package/dist/components/charts/chart/box-plot.styles.js +1 -1
  97. package/dist/components/charts/chart/chart-surface-shared.js +1 -0
  98. package/dist/components/charts/chart/chart-surface.styles.js +1 -1
  99. package/dist/components/charts/chart/chart-table-sampling.js +1 -1
  100. package/dist/components/charts/chart/chart-token-cache.js +2 -2
  101. package/dist/components/charts/chart/chart.class.d.ts +3 -3
  102. package/dist/components/charts/chart/chart.class.js +3 -3
  103. package/dist/components/charts/chart/chart.styles.js +1 -1
  104. package/dist/components/charts/chart/histogram.class.js +1 -1
  105. package/dist/components/charts/chart/lite-chart.class.d.ts +1 -1
  106. package/dist/components/charts/chart/lite-chart.class.js +4 -4
  107. package/dist/components/conversation/agent-workspace/agent-workspace.class.js +1 -1
  108. package/dist/components/conversation/audio-visualizer/audio-visualizer.class.js +1 -1
  109. package/dist/components/conversation/branch-picker/branch-picker.class.js +1 -1
  110. package/dist/components/conversation/catalog-picker-element.d.ts +28 -13
  111. package/dist/components/conversation/catalog-picker-element.js +1 -1
  112. package/dist/components/conversation/catalog-picker-trigger.styles.js +1 -0
  113. package/dist/components/conversation/chat-composer/chat-composer.class.js +1 -1
  114. package/dist/components/conversation/chat-message/chat-message.class.js +1 -1
  115. package/dist/components/conversation/chat-message/chat-message.styles.js +1 -1
  116. package/dist/components/conversation/chat-viewport/chat-viewport.class.d.ts +1 -1
  117. package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
  118. package/dist/components/conversation/checkpoint/checkpoint.class.js +1 -1
  119. package/dist/components/conversation/code-block/code-block-base.class.js +1 -1
  120. package/dist/components/conversation/code-block/code-block-core.class.js +1 -1
  121. package/dist/components/conversation/code-block/code-block-shared.js +1 -1
  122. package/dist/components/conversation/code-block/code-block.class.js +1 -1
  123. package/dist/components/conversation/conversation-item/conversation-item.class.js +1 -1
  124. package/dist/components/conversation/generation-metrics/generation-metrics.class.js +2 -2
  125. package/dist/components/conversation/handoff-divider/handoff-divider.class.js +1 -1
  126. package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
  127. package/dist/components/conversation/markdown/markdown-code-header.js +1 -1
  128. package/dist/components/conversation/markdown/markdown-core.class.js +1 -1
  129. package/dist/components/conversation/markdown/markdown.class.js +1 -1
  130. package/dist/components/conversation/message-actions/message-actions.class.js +1 -1
  131. package/dist/components/conversation/message-feedback/message-feedback.class.js +1 -1
  132. package/dist/components/conversation/message-parts/message-parts.class.js +1 -1
  133. package/dist/components/conversation/model-select/model-select.class.d.ts +7 -34
  134. package/dist/components/conversation/model-select/model-select.class.js +3 -3
  135. package/dist/components/conversation/model-select/model-select.styles.js +1 -1
  136. package/dist/components/conversation/model-settings-panel/model-settings-panel.class.js +1 -1
  137. package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +7 -2
  138. package/dist/components/conversation/prompt-input/prompt-input.class.js +5 -2
  139. package/dist/components/conversation/prompt-queue/prompt-queue.class.js +1 -1
  140. package/dist/components/conversation/push-to-talk/push-to-talk.class.js +1 -1
  141. package/dist/components/conversation/realtime-session/realtime-session.class.js +1 -1
  142. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +1 -1
  143. package/dist/components/conversation/stream-status/stream-status.class.js +1 -1
  144. package/dist/components/conversation/suggestion-chips/suggestion-chips.class.js +1 -1
  145. package/dist/components/conversation/thread-list/thread-list.class.js +1 -1
  146. package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -1
  147. package/dist/components/conversation/typing-indicator/typing-indicator.class.js +1 -1
  148. package/dist/components/conversation/usage-badge/usage-badge.class.js +1 -1
  149. package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +10 -27
  150. package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -3
  151. package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
  152. package/dist/components/data/calendar/calendar.class.js +1 -1
  153. package/dist/components/data/condition-builder/condition-builder.class.js +1 -1
  154. package/dist/components/data/context-meter/context-meter.class.js +1 -1
  155. package/dist/components/data/data-grid/data-grid.class.d.ts +2 -2
  156. package/dist/components/data/data-grid/data-grid.class.js +3 -3
  157. package/dist/components/data/document-library/document-library.class.d.ts +2 -2
  158. package/dist/components/data/document-library/document-library.class.js +2 -2
  159. package/dist/components/data/env-list/env-list.class.js +1 -1
  160. package/dist/components/data/file-tree/file-tree.class.d.ts +2 -2
  161. package/dist/components/data/file-tree/file-tree.class.js +1 -1
  162. package/dist/components/data/flow-canvas/flow-canvas.class.js +1 -1
  163. package/dist/components/data/flow-controls/flow-controls.class.js +1 -1
  164. package/dist/components/data/flow-minimap/flow-minimap.class.js +1 -1
  165. package/dist/components/data/flow-node/flow-node.class.js +1 -1
  166. package/dist/components/data/flow-run-status/flow-run-status.class.js +1 -1
  167. package/dist/components/data/funnel/funnel.class.js +1 -1
  168. package/dist/components/data/gauge/gauge.class.js +1 -1
  169. package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +3 -3
  170. package/dist/components/data/graph-query-builder/graph-query-builder.class.js +1 -1
  171. package/dist/components/data/heatmap/heatmap.class.js +2 -2
  172. package/dist/components/data/pagination/pagination.class.d.ts +2 -0
  173. package/dist/components/data/pagination/pagination.class.js +1 -1
  174. package/dist/components/data/pagination/pagination.styles.js +1 -1
  175. package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +1 -1
  176. package/dist/components/data/sequence-strip/sequence-strip.class.js +1 -1
  177. package/dist/components/data/sparkline/sparkline.class.js +1 -1
  178. package/dist/components/data/stat/stat.class.js +1 -1
  179. package/dist/components/data/table/table.class.d.ts +33 -197
  180. package/dist/components/data/table/table.class.js +6 -4
  181. package/dist/components/data/table/table.styles.js +1 -1
  182. package/dist/components/data/timeline/timeline.class.js +1 -1
  183. package/dist/components/data/tree/tree.class.js +1 -1
  184. package/dist/components/data/word-cloud/word-cloud.class.js +1 -1
  185. package/dist/components/forms/button/button.class.d.ts +3 -3
  186. package/dist/components/forms/button/button.class.js +1 -1
  187. package/dist/components/forms/catalog-picker-base.js +1 -1
  188. package/dist/components/forms/checkbox/checkbox.class.d.ts +13 -34
  189. package/dist/components/forms/checkbox/checkbox.class.js +3 -3
  190. package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +3 -3
  191. package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
  192. package/dist/components/forms/code-editor/code-editor.class.js +1 -1
  193. package/dist/components/forms/color-picker/color-picker.class.d.ts +8 -4
  194. package/dist/components/forms/color-picker/color-picker.class.js +2 -2
  195. package/dist/components/forms/combobox/combobox.class.d.ts +6 -6
  196. package/dist/components/forms/combobox/combobox.class.js +3 -2
  197. package/dist/components/forms/combobox/option.class.d.ts +3 -0
  198. package/dist/components/forms/combobox/option.class.js +2 -2
  199. package/dist/components/forms/country-picker/country-picker.class.js +1 -1
  200. package/dist/components/forms/currency-picker/currency-picker.class.js +1 -1
  201. package/dist/components/forms/date-picker/date-input.class.d.ts +10 -11
  202. package/dist/components/forms/date-picker/date-input.class.js +4 -3
  203. package/dist/components/forms/date-picker/date-input.styles.js +1 -1
  204. package/dist/components/forms/date-picker/date-picker.class.d.ts +6 -0
  205. package/dist/components/forms/date-picker/date-picker.class.js +1 -1
  206. package/dist/components/forms/date-picker/date-picker.styles.js +1 -1
  207. package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
  208. package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +7 -4
  209. package/dist/components/forms/emoji-picker/emoji-picker.class.js +5 -5
  210. package/dist/components/forms/icon-button/icon-button.class.d.ts +4 -0
  211. package/dist/components/forms/icon-button/icon-button.class.js +1 -1
  212. package/dist/components/forms/icon-button/icon-button.styles.js +1 -1
  213. package/dist/components/forms/input/input-shared.js +1 -1
  214. package/dist/components/forms/input/input.class.js +1 -1
  215. package/dist/components/forms/input/input.styles.js +1 -1
  216. package/dist/components/forms/input/native-time-input.class.js +1 -1
  217. package/dist/components/forms/input/number-input.class.js +1 -1
  218. package/dist/components/forms/input/time-input.class.d.ts +1 -1
  219. package/dist/components/forms/input/time-input.class.js +1 -1
  220. package/dist/components/forms/input/time-input.styles.js +1 -1
  221. package/dist/components/forms/locale-picker/locale-picker.class.d.ts +5 -5
  222. package/dist/components/forms/locale-picker/locale-picker.class.js +1 -1
  223. package/dist/components/forms/otp-input/otp-input.class.js +2 -1
  224. package/dist/components/forms/phone-input/phone-input.class.d.ts +7 -9
  225. package/dist/components/forms/phone-input/phone-input.class.js +6 -5
  226. package/dist/components/forms/phone-input/phone-input.styles.js +1 -1
  227. package/dist/components/forms/radio/radio-group.class.d.ts +4 -4
  228. package/dist/components/forms/radio/radio-group.class.js +1 -1
  229. package/dist/components/forms/radio/radio.class.d.ts +11 -19
  230. package/dist/components/forms/radio/radio.class.js +2 -2
  231. package/dist/components/forms/rubric-form/rubric-form.class.d.ts +3 -5
  232. package/dist/components/forms/rubric-form/rubric-form.class.js +4 -4
  233. package/dist/components/forms/select/select.class.d.ts +5 -7
  234. package/dist/components/forms/select/select.class.js +3 -2
  235. package/dist/components/forms/signature-pad/signature-pad.class.js +1 -1
  236. package/dist/components/forms/slider/slider.class.d.ts +3 -3
  237. package/dist/components/forms/slider/slider.class.js +1 -1
  238. package/dist/components/forms/slider/slider.styles.js +1 -1
  239. package/dist/components/forms/swatch-picker/swatch-picker.class.js +1 -1
  240. package/dist/components/forms/switch/switch.class.d.ts +11 -36
  241. package/dist/components/forms/switch/switch.class.js +2 -2
  242. package/dist/components/forms/textarea/textarea.class.js +2 -1
  243. package/dist/components/forms/textarea/textarea.styles.js +1 -1
  244. package/dist/components/forms/time-range/time-range.class.d.ts +5 -3
  245. package/dist/components/forms/time-range/time-range.class.js +1 -1
  246. package/dist/components/forms/time-range/time-range.styles.js +1 -1
  247. package/dist/components/forms/time-zone-picker/time-zone-picker.class.js +1 -1
  248. package/dist/components/forms/toggle-group/toggle-group.class.d.ts +2 -2
  249. package/dist/components/forms/toggle-group/toggle-group.class.js +1 -1
  250. package/dist/components/forms/token-input/token-input.class.d.ts +3 -3
  251. package/dist/components/forms/token-input/token-input.class.js +1 -1
  252. package/dist/components/forms/unit-picker/unit-picker.class.js +1 -1
  253. package/dist/components/layout/app-rail/app-rail-item.class.js +1 -1
  254. package/dist/components/layout/app-rail/app-rail.class.d.ts +71 -8
  255. package/dist/components/layout/app-rail/app-rail.class.js +16 -4
  256. package/dist/components/layout/app-rail/app-rail.styles.js +1 -1
  257. package/dist/components/layout/app-rail-group/app-rail-group.class.js +1 -1
  258. package/dist/components/layout/breadcrumb/breadcrumb-item.class.js +1 -1
  259. package/dist/components/layout/breadcrumb/breadcrumb.class.js +1 -1
  260. package/dist/components/layout/card/card.class.js +1 -1
  261. package/dist/components/layout/carousel/carousel.class.js +1 -1
  262. package/dist/components/layout/command-palette/command-palette.class.d.ts +6 -2
  263. package/dist/components/layout/command-palette/command-palette.class.js +1 -1
  264. package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +1 -1
  265. package/dist/components/layout/details/accordion-item.class.js +1 -1
  266. package/dist/components/layout/details/accordion.class.js +1 -1
  267. package/dist/components/layout/details/details.class.js +1 -1
  268. package/dist/components/layout/dock-panel/dock-panel.class.d.ts +1 -1
  269. package/dist/components/layout/dock-panel/dock-panel.class.js +1 -1
  270. package/dist/components/layout/drilldown-panel/drilldown-panel.class.js +2 -2
  271. package/dist/components/layout/filter-bar/filter-bar.class.d.ts +3 -2
  272. package/dist/components/layout/filter-bar/filter-bar.class.js +18 -15
  273. package/dist/components/layout/filter-bar/filter-bar.styles.js +1 -1
  274. package/dist/components/layout/menu/menu.class.d.ts +1 -1
  275. package/dist/components/layout/menu/menu.class.js +1 -1
  276. package/dist/components/layout/menubar/menubar.class.js +1 -1
  277. package/dist/components/layout/multi-split/multi-split.class.d.ts +1 -1
  278. package/dist/components/layout/multi-split/multi-split.class.js +1 -1
  279. package/dist/components/layout/navigation-menu/navigation-menu.class.js +1 -1
  280. package/dist/components/layout/navigation-menu-item/navigation-menu-item.class.js +1 -1
  281. package/dist/components/layout/page/page.class.d.ts +1 -1
  282. package/dist/components/layout/page/page.class.js +1 -1
  283. package/dist/components/layout/reorder-list/reorder-item.class.js +1 -1
  284. package/dist/components/layout/reorder-list/reorder-list.class.js +1 -1
  285. package/dist/components/layout/responsive-panel/responsive-panel.class.d.ts +1 -1
  286. package/dist/components/layout/responsive-panel/responsive-panel.class.js +1 -1
  287. package/dist/components/layout/scroller/scroller.class.js +1 -1
  288. package/dist/components/layout/segmented/segmented.class.d.ts +7 -4
  289. package/dist/components/layout/segmented/segmented.class.js +1 -1
  290. package/dist/components/layout/segmented/segmented.styles.js +1 -1
  291. package/dist/components/layout/split-panel/split-panel.class.js +1 -1
  292. package/dist/components/layout/stepper/stepper.class.js +2 -2
  293. package/dist/components/layout/tab-group/tab-group.class.js +1 -1
  294. package/dist/components/layout/tab-group/tab.class.js +1 -1
  295. package/dist/components/layout/virtual-list/virtual-list.class.d.ts +1 -1
  296. package/dist/components/layout/virtual-list/virtual-list.class.js +1 -1
  297. package/dist/components/layout/virtual-list/virtual-list.styles.js +1 -1
  298. package/dist/components/layout/widget/widget.class.d.ts +1 -1
  299. package/dist/components/layout/widget/widget.class.js +3 -3
  300. package/dist/components/media/animated-image/animated-image.class.js +1 -1
  301. package/dist/components/media/attachment-chip/attachment-chip.class.js +1 -1
  302. package/dist/components/media/attachment-trigger/attachment-trigger.class.js +2 -2
  303. package/dist/components/media/av-player/av-player.class.js +1 -1
  304. package/dist/components/media/avatar-group/avatar-group.class.js +1 -1
  305. package/dist/components/media/drop-zone/drop-zone.class.d.ts +10 -0
  306. package/dist/components/media/drop-zone/drop-zone.class.js +2 -2
  307. package/dist/components/media/file-icon/file-icon.class.js +1 -1
  308. package/dist/components/media/file-input/file-input.class.d.ts +3 -3
  309. package/dist/components/media/file-input/file-input.class.js +2 -2
  310. package/dist/components/media/file-input/file-intake.d.ts +5 -1
  311. package/dist/components/media/file-input/file-intake.js +1 -1
  312. package/dist/components/media/flag/flag.class.js +1 -1
  313. package/dist/components/media/image-comparer/image-comparer.class.js +1 -1
  314. package/dist/components/media/image-viewer/image-viewer.class.d.ts +2 -1
  315. package/dist/components/media/image-viewer/image-viewer.class.js +4 -2
  316. package/dist/components/media/image-viewer/image-viewer.styles.js +1 -1
  317. package/dist/components/media/lightbox/lightbox.class.js +1 -1
  318. package/dist/components/media/map/map.class.js +2 -2
  319. package/dist/components/media/media-card/media-card.class.js +1 -1
  320. package/dist/components/media/pan-zoom/pan-zoom.class.js +1 -1
  321. package/dist/components/media/qr-code/qr-code-loader.js +1 -1
  322. package/dist/components/media/qr-code/qr-code.class.d.ts +2 -2
  323. package/dist/components/media/qr-code/qr-code.class.js +1 -1
  324. package/dist/components/media/sequence-playback/sequence-playback.class.js +1 -1
  325. package/dist/components/media/video/video.class.js +3 -3
  326. package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
  327. package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts +2 -2
  328. package/dist/components/media/zoomable-frame/zoomable-frame.class.js +1 -1
  329. package/dist/components/overlays/alert/alert.class.d.ts +3 -3
  330. package/dist/components/overlays/alert/alert.class.js +1 -1
  331. package/dist/components/overlays/badge/badge.class.d.ts +2 -2
  332. package/dist/components/overlays/badge/badge.class.js +1 -1
  333. package/dist/components/overlays/badge/tag.class.d.ts +3 -1
  334. package/dist/components/overlays/badge/tag.class.js +3 -2
  335. package/dist/components/overlays/badge/tag.styles.js +1 -1
  336. package/dist/components/overlays/callout/callout.class.d.ts +2 -2
  337. package/dist/components/overlays/callout/callout.class.js +1 -1
  338. package/dist/components/overlays/chip/chip-group.class.js +1 -1
  339. package/dist/components/overlays/chip/chip.class.d.ts +4 -2
  340. package/dist/components/overlays/chip/chip.class.js +2 -2
  341. package/dist/components/overlays/context-menu/context-menu.class.js +1 -1
  342. package/dist/components/overlays/dialog/confirm.js +1 -1
  343. package/dist/components/overlays/dialog/dialog.class.d.ts +1 -1
  344. package/dist/components/overlays/dialog/dialog.class.js +1 -1
  345. package/dist/components/overlays/kbd/kbd.class.js +1 -1
  346. package/dist/components/overlays/overlay/overlay-shared.d.ts +9 -0
  347. package/dist/components/overlays/overlay/overlay-shared.js +1 -1
  348. package/dist/components/overlays/overlay/popover.class.d.ts +2 -2
  349. package/dist/components/overlays/overlay/popover.class.js +1 -1
  350. package/dist/components/overlays/overlay/tooltip.class.d.ts +1 -1
  351. package/dist/components/overlays/overlay/tooltip.class.js +1 -1
  352. package/dist/components/overlays/progress/progress-bar.class.d.ts +5 -22
  353. package/dist/components/overlays/progress/progress-bar.class.js +4 -4
  354. package/dist/components/overlays/progress/progress-base.d.ts +25 -0
  355. package/dist/components/overlays/progress/progress-base.js +1 -0
  356. package/dist/components/overlays/progress/progress-ring.class.d.ts +3 -24
  357. package/dist/components/overlays/progress/progress-ring.class.js +4 -4
  358. package/dist/components/overlays/rating/rating.class.d.ts +3 -3
  359. package/dist/components/overlays/rating/rating.class.js +1 -1
  360. package/dist/components/overlays/skeleton/skeleton.class.js +1 -1
  361. package/dist/components/overlays/spinner/spinner.class.js +1 -1
  362. package/dist/components/overlays/toast/toast-item.class.js +1 -1
  363. package/dist/components/overlays/toast/toast.class.js +1 -1
  364. package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.d.ts +4 -2
  365. package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.js +4 -4
  366. package/dist/components/retrieval/citation-badge/citation-badge.class.js +1 -1
  367. package/dist/components/retrieval/claim-evidence/claim-evidence.class.js +1 -1
  368. package/dist/components/retrieval/community-card/community-card.class.js +1 -1
  369. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +1 -1
  370. package/dist/components/retrieval/entity-card/entity-card.class.js +1 -1
  371. package/dist/components/retrieval/entity-chip/entity-chip.class.js +1 -1
  372. package/dist/components/retrieval/entity-dossier/entity-dossier.class.d.ts +1 -1
  373. package/dist/components/retrieval/entity-dossier/entity-dossier.class.js +1 -1
  374. package/dist/components/retrieval/graph/graph-canvas.js +1 -1
  375. package/dist/components/retrieval/graph/graph-model.js +1 -1
  376. package/dist/components/retrieval/graph/graph.class.d.ts +1 -3
  377. package/dist/components/retrieval/graph/graph.class.js +1 -1
  378. package/dist/components/retrieval/graph-legend/graph-legend.class.js +1 -1
  379. package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts +1 -1
  380. package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +2 -2
  381. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +1 -1
  382. package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts +1 -1
  383. package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +2 -2
  384. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +1 -1
  385. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +1 -0
  386. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +2 -1
  387. package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts +6 -2
  388. package/dist/components/retrieval/memory-panel/memory-panel.class.js +2 -2
  389. package/dist/components/retrieval/memory-panel/memory-panel.styles.js +1 -1
  390. package/dist/components/retrieval/mind-map/mind-map.class.js +1 -1
  391. package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +1 -1
  392. package/dist/components/retrieval/node-palette/node-palette.class.js +1 -1
  393. package/dist/components/retrieval/path-strip/path-strip.class.js +1 -1
  394. package/dist/components/retrieval/provenance-panel/provenance-panel.class.d.ts +1 -1
  395. package/dist/components/retrieval/provenance-panel/provenance-panel.class.js +1 -1
  396. package/dist/components/retrieval/rag-answer/rag-answer.class.js +1 -1
  397. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +1 -1
  398. package/dist/components/retrieval/research-progress/research-progress.class.d.ts +5 -1
  399. package/dist/components/retrieval/research-progress/research-progress.class.js +3 -3
  400. package/dist/components/retrieval/research-progress/research-progress.d.ts +1 -1
  401. package/dist/components/retrieval/research-progress/research-progress.js +1 -1
  402. package/dist/components/retrieval/research-progress/research-progress.styles.js +1 -1
  403. package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.d.ts +6 -2
  404. package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js +2 -2
  405. package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.js +1 -1
  406. package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +2 -2
  407. package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +3 -2
  408. package/dist/components/retrieval/retrieval-search/retrieval-search.class.js +3 -3
  409. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.d.ts +6 -2
  410. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +2 -2
  411. package/dist/components/retrieval/retrieval-trace/retrieval-trace.styles.js +1 -1
  412. package/dist/components/retrieval/source-card/source-card.class.js +1 -1
  413. package/dist/components/retrieval/source-list/source-list.class.js +1 -1
  414. package/dist/components/retrieval/source-picker/source-picker.class.js +1 -1
  415. package/dist/components/utility/copy-button/copy-button.class.js +1 -1
  416. package/dist/components/utility/diff-view/diff-view.class.js +1 -1
  417. package/dist/components/utility/export-button/export-button.class.d.ts +1 -1
  418. package/dist/components/utility/export-button/export-button.class.js +1 -1
  419. package/dist/components/utility/icon/dompurify-loader.js +1 -1
  420. package/dist/components/utility/icon/icon.class.js +1 -1
  421. package/dist/components/utility/json-viewer/json-viewer.class.js +2 -2
  422. package/dist/components/utility/known-date/known-date.class.js +1 -1
  423. package/dist/components/utility/mention-popover/mention-popover.class.js +1 -1
  424. package/dist/components/utility/mutation-observer/mutation-observer.class.js +1 -1
  425. package/dist/components/utility/poll-status/poll-status.class.js +1 -1
  426. package/dist/components/utility/random-content/random-content.class.d.ts +1 -1
  427. package/dist/components/utility/random-content/random-content.class.js +1 -1
  428. package/dist/components/utility/tour/tour.class.d.ts +1 -1
  429. package/dist/components/utility/tour/tour.class.js +1 -1
  430. package/dist/components/viewers/archive-viewer/archive-viewer.class.js +1 -1
  431. package/dist/components/viewers/archive-viewer/archive-viewer.styles.js +1 -1
  432. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts +3 -1
  433. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js +1 -1
  434. package/dist/components/viewers/contact-viewer/contact-viewer.class.d.ts +3 -1
  435. package/dist/components/viewers/contact-viewer/contact-viewer.class.js +2 -2
  436. package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts +2 -2
  437. package/dist/components/viewers/csv-viewer/csv-viewer.class.js +4 -18
  438. package/dist/components/viewers/csv-viewer/csv-viewer.styles.js +1 -1
  439. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +2 -2
  440. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +4 -18
  441. package/dist/components/viewers/dataset-viewer/dataset-viewer.styles.js +1 -1
  442. package/dist/components/viewers/document-compare/document-compare.class.js +1 -1
  443. package/dist/components/viewers/document-preview/document-preview.class.d.ts +1 -1
  444. package/dist/components/viewers/document-preview/document-preview.class.js +3 -16
  445. package/dist/components/viewers/document-viewer/document-viewer.class.js +1 -1
  446. package/dist/components/viewers/document-viewer/ooxml-part-guard.js +1 -0
  447. package/dist/components/viewers/docx-viewer/docx-loader.js +1 -1
  448. package/dist/components/viewers/docx-viewer/docx-resource-guard.js +1 -1
  449. package/dist/components/viewers/docx-viewer/docx-viewer.class.d.ts +3 -3
  450. package/dist/components/viewers/docx-viewer/docx-viewer.class.js +3 -3
  451. package/dist/components/viewers/ebook-viewer/ebook-loader.js +1 -1
  452. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts +1 -1
  453. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +2 -1
  454. package/dist/components/viewers/ebook-viewer/epub-resource-guard.js +1 -1
  455. package/dist/components/viewers/email-viewer/email-viewer.class.d.ts +1 -1
  456. package/dist/components/viewers/email-viewer/email-viewer.class.js +2 -2
  457. package/dist/components/viewers/geojson-view/geojson-view.class.js +1 -1
  458. package/dist/components/viewers/geojson-view/geojson-viewer.class.d.ts +1 -4
  459. package/dist/components/viewers/geojson-view/geojson-viewer.class.js +1 -1
  460. package/dist/components/viewers/highlight-layer/highlight-layer.class.js +1 -1
  461. package/dist/components/viewers/html-viewer/html-viewer.class.d.ts +3 -1
  462. package/dist/components/viewers/html-viewer/html-viewer.class.js +1 -1
  463. package/dist/components/viewers/html-viewer/html-viewer.styles.js +1 -1
  464. package/dist/components/viewers/include/include.class.js +1 -1
  465. package/dist/components/viewers/notebook-viewer/dompurify-loader.js +1 -1
  466. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +2 -2
  467. package/dist/components/viewers/page-rail/page-rail.class.d.ts +1 -1
  468. package/dist/components/viewers/page-rail/page-rail.class.js +3 -3
  469. package/dist/components/viewers/passive-markup.js +1 -1
  470. package/dist/components/viewers/pdf-viewer/pdf-loader.js +1 -1
  471. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +3 -3
  472. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +4 -4
  473. package/dist/components/viewers/pptx-viewer/pptx-loader.js +1 -1
  474. package/dist/components/viewers/pptx-viewer/pptx-resource-guard.js +1 -1
  475. package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js +1 -1
  476. package/dist/components/viewers/region-highlight-layer.js +15 -2
  477. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +2 -2
  478. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +4 -18
  479. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.styles.js +1 -1
  480. package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts +1 -1
  481. package/dist/components/viewers/svg-viewer/svg-viewer.class.js +2 -15
  482. package/dist/components/viewers/svg-viewer/svg-viewer.styles.js +1 -1
  483. package/dist/components/viewers/table-viewer-shared.js +15 -1
  484. package/dist/components/viewers/table-viewer-shared.styles.js +1 -0
  485. package/dist/components/viewers/xml-viewer/xml-viewer.class.js +1 -1
  486. package/dist/events.d.ts +25 -19
  487. package/dist/framework-types.d.ts +1 -1
  488. package/dist/internal/accessibility-visibility.d.ts +3 -1
  489. package/dist/internal/accessibility-visibility.js +1 -1
  490. package/dist/internal/accessible-text-controller.js +1 -1
  491. package/dist/internal/active-element.d.ts +11 -0
  492. package/dist/internal/active-element.js +1 -1
  493. package/dist/internal/adjacent-runs.js +1 -1
  494. package/dist/internal/approval-wait-until.d.ts +7 -0
  495. package/dist/internal/approval-wait-until.js +1 -0
  496. package/dist/internal/aria-controls.js +1 -1
  497. package/dist/internal/catalog-picker.d.ts +2 -2
  498. package/dist/internal/catalog-picker.js +1 -1
  499. package/dist/internal/collection-snapshot.js +1 -1
  500. package/dist/internal/composed-tree.d.ts +18 -0
  501. package/dist/internal/composed-tree.js +1 -1
  502. package/dist/internal/copy-feedback.js +1 -0
  503. package/dist/internal/css-length.js +1 -1
  504. package/dist/internal/css-motion-time.js +1 -1
  505. package/dist/internal/css-number.js +1 -0
  506. package/dist/internal/default-strings/agent-tools.generated.js +1 -0
  507. package/dist/internal/default-strings/charts.generated.js +1 -0
  508. package/dist/internal/default-strings/conversation.generated.js +1 -0
  509. package/dist/internal/default-strings/data.generated.js +1 -0
  510. package/dist/internal/default-strings/forms.generated.js +1 -0
  511. package/dist/internal/default-strings/layout.generated.js +1 -0
  512. package/dist/internal/default-strings/media.generated.js +1 -0
  513. package/dist/internal/default-strings/overlays.generated.js +1 -0
  514. package/dist/internal/default-strings/retrieval.generated.js +1 -0
  515. package/dist/internal/default-strings/shared.generated.js +1 -0
  516. package/dist/internal/default-strings/utility.generated.js +1 -0
  517. package/dist/internal/default-strings/viewers.generated.js +5 -0
  518. package/dist/internal/deferred-focus-return.d.ts +33 -0
  519. package/dist/internal/deferred-focus-return.js +1 -1
  520. package/dist/internal/dev-mode-attribute-warning.development.js +1 -1
  521. package/dist/internal/dev-mode-attribute-warning.production.js +1 -1
  522. package/dist/internal/document-tokens.d.ts +11 -0
  523. package/dist/internal/document-tokens.generated.js +15 -0
  524. package/dist/internal/document-tokens.js +3 -0
  525. package/dist/internal/fixed-containing-block.js +1 -1
  526. package/dist/internal/form-associated.d.ts +39 -3
  527. package/dist/internal/form-associated.js +1 -1
  528. package/dist/internal/form-control-element.d.ts +13 -0
  529. package/dist/internal/form-control-element.js +1 -0
  530. package/dist/internal/form-control.styles.js +1 -1
  531. package/dist/internal/glass-surface.styles.js +1 -1
  532. package/dist/internal/host-tokens.styles.js +1 -0
  533. package/dist/internal/image-zoom.js +1 -0
  534. package/dist/internal/inherited-attribute-hub.js +1 -1
  535. package/dist/internal/intl-cache.js +1 -1
  536. package/dist/internal/locale-loaders.generated.js +1 -1
  537. package/dist/internal/localization-types.d.ts +1 -1
  538. package/dist/internal/localization.js +2 -2
  539. package/dist/internal/lyra-element.d.ts +4 -2
  540. package/dist/internal/lyra-element.js +2 -2
  541. package/dist/internal/modal-surface-controller.js +1 -1
  542. package/dist/internal/object-guards.js +1 -1
  543. package/dist/internal/opaque-content-border.styles.js +1 -1
  544. package/dist/internal/open-overlay-raise.styles.js +1 -0
  545. package/dist/internal/optional-peer-capabilities.d.ts +3 -1
  546. package/dist/internal/optional-peer-capabilities.js +1 -1
  547. package/dist/internal/optional-peer-failure.js +1 -0
  548. package/dist/internal/orientation-breakpoint.js +1 -1
  549. package/dist/internal/overlay-manager.d.ts +6 -1
  550. package/dist/internal/overlay-manager.js +1 -1
  551. package/dist/internal/overlay-stack.d.ts +7 -3
  552. package/dist/internal/overlay-stack.js +1 -1
  553. package/dist/internal/package-metadata.js +1 -1
  554. package/dist/internal/persisted-restore.js +1 -1
  555. package/dist/internal/popup-controller.js +1 -0
  556. package/dist/internal/prefix.js +1 -1
  557. package/dist/internal/rendered-tree-traversal.d.ts +3 -1
  558. package/dist/internal/rendered-tree-traversal.js +1 -1
  559. package/dist/internal/retry-forwarder.js +1 -0
  560. package/dist/internal/roving-toolbar.js +1 -1
  561. package/dist/internal/scoped-definitions.generated.js +1 -1
  562. package/dist/internal/score-tiers.d.ts +4 -0
  563. package/dist/internal/score-tiers.js +1 -0
  564. package/dist/internal/semantic-variant.d.ts +7 -0
  565. package/dist/internal/semantic-variant.js +1 -0
  566. package/dist/internal/shared-unions.d.ts +1 -1
  567. package/dist/internal/specialist-host-tokens.styles.js +1 -0
  568. package/dist/internal/specialist-tokens.generated.js +2 -0
  569. package/dist/internal/step-value.js +1 -1
  570. package/dist/internal/theme-observation.js +1 -1
  571. package/dist/internal/theme-scopes.d.ts +11 -0
  572. package/dist/internal/theme-scopes.js +1 -0
  573. package/dist/internal/viewer-search.js +1 -1
  574. package/dist/looks/shadcn.css +1 -1
  575. package/dist/lyra.d.ts +1 -1
  576. package/dist/lyra.js +1 -1
  577. package/dist/styles/design-tokens.css +1 -1
  578. package/dist/styles/tokens-root.css +1 -1
  579. package/dist/surfaces/glass.css +1 -1
  580. package/dist/testing/happy-dom-shims.d.ts +37 -0
  581. package/dist/testing/happy-dom-shims.js +1 -1
  582. package/dist/testing/index.d.ts +1 -1
  583. package/dist/testing/index.js +1 -1
  584. package/dist/testing/interaction-drivers.d.ts +66 -7
  585. package/dist/testing/interaction-drivers.js +1 -1
  586. package/dist/testing/jsdom-shims.d.ts +70 -0
  587. package/dist/testing/jsdom-shims.js +1 -0
  588. package/dist/theme/look-inputs.d.ts +1 -1
  589. package/dist/theme/look-inputs.js +37 -41
  590. package/dist/theme/theme.d.ts +13 -0
  591. package/dist/theme/theme.js +1 -1
  592. package/dist/theme.css +1 -1
  593. package/dist/utilities/index.d.ts +1 -1
  594. package/dist/utilities/index.js +1 -1
  595. package/dist/utilities/scoped-registry.d.ts +3 -0
  596. package/dist/utilities/scoped-registry.js +1 -1
  597. package/dist/utilities/theme-scopes.d.ts +1 -0
  598. package/dist/utilities/theme-scopes.js +1 -0
  599. package/dist/utilities/tokens.d.ts +1 -0
  600. package/dist/utilities/tokens.js +1 -0
  601. package/llms/components/lr-accordion-item.md +1 -1
  602. package/llms/components/lr-accordion.md +1 -1
  603. package/llms/components/lr-alert.md +2 -2
  604. package/llms/components/lr-app-rail-group.md +1 -1
  605. package/llms/components/lr-app-rail-item.md +1 -1
  606. package/llms/components/lr-app-rail.md +52 -5
  607. package/llms/components/lr-attachment-chip.md +1 -10
  608. package/llms/components/lr-attachment-trigger.md +0 -10
  609. package/llms/components/lr-avatar.md +4 -8
  610. package/llms/components/lr-badge.md +16 -20
  611. package/llms/components/lr-box-plot.md +1 -1
  612. package/llms/components/lr-breadcrumb-item.md +1 -1
  613. package/llms/components/lr-breadcrumb.md +1 -1
  614. package/llms/components/lr-button-group.md +1 -1
  615. package/llms/components/lr-button.md +1 -1
  616. package/llms/components/lr-calendar.md +1 -1
  617. package/llms/components/lr-callout.md +3 -13
  618. package/llms/components/lr-card.md +1 -1
  619. package/llms/components/lr-carousel-item.md +1 -1
  620. package/llms/components/lr-carousel.md +1 -1
  621. package/llms/components/lr-chart.md +5 -7
  622. package/llms/components/lr-checkbox-group.md +1 -1
  623. package/llms/components/lr-checkbox.md +2 -1
  624. package/llms/components/lr-chip.md +3 -17
  625. package/llms/components/lr-chunk-inspector.md +2 -1
  626. package/llms/components/lr-citation-badge.md +2 -2
  627. package/llms/components/lr-code-block.md +0 -10
  628. package/llms/components/lr-code-editor.md +1 -1
  629. package/llms/components/lr-color-picker.md +1 -1
  630. package/llms/components/lr-combobox.md +6 -3
  631. package/llms/components/lr-command-palette.md +5 -2
  632. package/llms/components/lr-commit-card.md +1 -3
  633. package/llms/components/lr-condition-builder.md +1 -1
  634. package/llms/components/lr-confirm-bar.md +7 -13
  635. package/llms/components/lr-connector-manager.md +3 -1
  636. package/llms/components/lr-context-inspector.md +1 -1
  637. package/llms/components/lr-context-meter.md +1 -1
  638. package/llms/components/lr-control-group.md +1 -1
  639. package/llms/components/lr-copy-button.md +8 -10
  640. package/llms/components/lr-country-picker.md +1 -1
  641. package/llms/components/lr-currency-picker.md +1 -1
  642. package/llms/components/lr-dashboard-grid.md +1 -1
  643. package/llms/components/lr-data-grid.md +1 -1
  644. package/llms/components/lr-date-input.md +1 -1
  645. package/llms/components/lr-date-picker.md +11 -4
  646. package/llms/components/lr-details.md +1 -1
  647. package/llms/components/lr-dialog.md +8 -31
  648. package/llms/components/lr-diff-view.md +1 -1
  649. package/llms/components/lr-divider.md +1 -1
  650. package/llms/components/lr-dock-panel.md +1 -1
  651. package/llms/components/lr-document-library.md +1 -1
  652. package/llms/components/lr-drawer.md +1 -13
  653. package/llms/components/lr-drilldown-panel.md +1 -1
  654. package/llms/components/lr-drop-zone.md +4 -0
  655. package/llms/components/lr-dropdown-item.md +1 -1
  656. package/llms/components/lr-ebook-viewer.md +4 -3
  657. package/llms/components/lr-emoji-picker.md +14 -9
  658. package/llms/components/lr-entity-chip.md +2 -2
  659. package/llms/components/lr-env-list.md +1 -1
  660. package/llms/components/lr-eval-dataset.md +4 -19
  661. package/llms/components/lr-export-button.md +3 -3
  662. package/llms/components/lr-file-icon.md +0 -5
  663. package/llms/components/lr-file-input.md +3 -5
  664. package/llms/components/lr-file-tree.md +1 -1
  665. package/llms/components/lr-filter-bar.md +5 -1
  666. package/llms/components/lr-flag.md +1 -2
  667. package/llms/components/lr-flow-canvas.md +1 -1
  668. package/llms/components/lr-flow-controls.md +1 -1
  669. package/llms/components/lr-flow-minimap.md +2 -2
  670. package/llms/components/lr-flow-node.md +1 -1
  671. package/llms/components/lr-flow-run-status.md +1 -1
  672. package/llms/components/lr-format-bytes.md +2 -3
  673. package/llms/components/lr-format-date.md +2 -3
  674. package/llms/components/lr-format-number.md +1 -1
  675. package/llms/components/lr-funnel.md +1 -1
  676. package/llms/components/lr-gauge.md +1 -1
  677. package/llms/components/lr-generation-metrics.md +1 -1
  678. package/llms/components/lr-graph-query-builder.md +1 -1
  679. package/llms/components/lr-heatmap.md +1 -1
  680. package/llms/components/lr-icon-button.md +14 -2
  681. package/llms/components/lr-icon.md +1 -1
  682. package/llms/components/lr-image-viewer.md +8 -0
  683. package/llms/components/lr-input.md +1 -1
  684. package/llms/components/lr-intersection-observer.md +1 -1
  685. package/llms/components/lr-json-viewer.md +1 -1
  686. package/llms/components/lr-knowledge-graph-explorer.md +2 -2
  687. package/llms/components/lr-known-date.md +1 -1
  688. package/llms/components/lr-lite-chart.md +3 -4
  689. package/llms/components/lr-live-region.md +1 -1
  690. package/llms/components/lr-locale-picker.md +1 -1
  691. package/llms/components/lr-map.md +1 -3
  692. package/llms/components/lr-media-card.md +1 -10
  693. package/llms/components/lr-memory-panel.md +2 -0
  694. package/llms/components/lr-mention-popover.md +3 -3
  695. package/llms/components/lr-menu-item.md +1 -1
  696. package/llms/components/lr-menu-label.md +1 -1
  697. package/llms/components/lr-menu.md +1 -1
  698. package/llms/components/lr-menubar-item.md +1 -1
  699. package/llms/components/lr-menubar.md +1 -1
  700. package/llms/components/lr-message-actions.md +1 -11
  701. package/llms/components/lr-message-parts.md +3 -5
  702. package/llms/components/lr-model-select.md +2 -4
  703. package/llms/components/lr-multi-split.md +1 -1
  704. package/llms/components/lr-mutation-observer.md +2 -2
  705. package/llms/components/lr-native-time-input.md +1 -1
  706. package/llms/components/lr-navigation-menu-item.md +1 -1
  707. package/llms/components/lr-navigation-menu.md +1 -1
  708. package/llms/components/lr-number-input.md +1 -1
  709. package/llms/components/lr-option.md +1 -1
  710. package/llms/components/lr-otp-input.md +1 -1
  711. package/llms/components/lr-page.md +1 -1
  712. package/llms/components/lr-pagination.md +5 -3
  713. package/llms/components/lr-pan-zoom.md +1 -3
  714. package/llms/components/lr-permission-grant.md +3 -1
  715. package/llms/components/lr-phone-input.md +7 -5
  716. package/llms/components/lr-poll-status.md +1 -1
  717. package/llms/components/lr-popover.md +5 -9
  718. package/llms/components/lr-popup.md +1 -3
  719. package/llms/components/lr-progress-bar.md +2 -1
  720. package/llms/components/lr-progress-ring.md +4 -8
  721. package/llms/components/lr-prompt-input.md +3 -1
  722. package/llms/components/lr-prompt-studio.md +4 -4
  723. package/llms/components/lr-radio-button.md +2 -2
  724. package/llms/components/lr-radio-group.md +1 -1
  725. package/llms/components/lr-radio.md +3 -2
  726. package/llms/components/lr-random-content.md +1 -1
  727. package/llms/components/lr-rating.md +2 -3
  728. package/llms/components/lr-relative-time.md +2 -3
  729. package/llms/components/lr-reorder-item.md +1 -1
  730. package/llms/components/lr-reorder-list.md +1 -1
  731. package/llms/components/lr-research-progress.md +2 -0
  732. package/llms/components/lr-resize-observer.md +1 -1
  733. package/llms/components/lr-responsive-panel.md +1 -1
  734. package/llms/components/lr-retrieval-compare.md +2 -0
  735. package/llms/components/lr-retrieval-trace.md +2 -0
  736. package/llms/components/lr-rubric-form.md +1 -1
  737. package/llms/components/lr-scroller.md +1 -1
  738. package/llms/components/lr-segmented.md +8 -4
  739. package/llms/components/lr-select.md +1 -1
  740. package/llms/components/lr-sequence-playback.md +1 -2
  741. package/llms/components/lr-sequence-strip.md +1 -1
  742. package/llms/components/lr-signature-pad.md +1 -1
  743. package/llms/components/lr-skeleton.md +2 -4
  744. package/llms/components/lr-slider.md +1 -1
  745. package/llms/components/lr-sparkline.md +1 -1
  746. package/llms/components/lr-split-panel.md +1 -1
  747. package/llms/components/lr-stat.md +1 -1
  748. package/llms/components/lr-stepper.md +1 -1
  749. package/llms/components/lr-swatch-picker.md +1 -1
  750. package/llms/components/lr-switch.md +2 -1
  751. package/llms/components/lr-tab-group.md +1 -1
  752. package/llms/components/lr-tab-panel.md +1 -1
  753. package/llms/components/lr-tab.md +1 -1
  754. package/llms/components/lr-table.md +16 -14
  755. package/llms/components/lr-task-list.md +3 -3
  756. package/llms/components/lr-test-results.md +2 -4
  757. package/llms/components/lr-textarea.md +1 -1
  758. package/llms/components/lr-thread-list.md +4 -3
  759. package/llms/components/lr-time-input.md +1 -1
  760. package/llms/components/lr-time-range.md +5 -4
  761. package/llms/components/lr-time-zone-picker.md +1 -1
  762. package/llms/components/lr-timeline-item.md +1 -1
  763. package/llms/components/lr-timeline.md +1 -1
  764. package/llms/components/lr-toggle-group.md +1 -1
  765. package/llms/components/lr-toggle.md +1 -1
  766. package/llms/components/lr-token-input.md +1 -1
  767. package/llms/components/lr-tool-approval-dialog.md +12 -10
  768. package/llms/components/lr-tool-call-block.md +1 -1
  769. package/llms/components/lr-tool-call-chip.md +1 -3
  770. package/llms/components/lr-tool-result-view.md +3 -3
  771. package/llms/components/lr-tool-timeline.md +2 -2
  772. package/llms/components/lr-tooltip.md +8 -11
  773. package/llms/components/lr-tour.md +2 -2
  774. package/llms/components/lr-tree-item.md +1 -1
  775. package/llms/components/lr-tree.md +1 -1
  776. package/llms/components/lr-unit-picker.md +1 -1
  777. package/llms/components/lr-usage-badge.md +1 -3
  778. package/llms/components/lr-video.md +1 -2
  779. package/llms/components/lr-virtual-list.md +1 -1
  780. package/llms/components/lr-visually-hidden.md +1 -1
  781. package/llms/components/lr-voice-picker.md +1 -1
  782. package/llms/components/lr-widget.md +1 -1
  783. package/llms/components/lr-word-cloud.md +1 -1
  784. package/llms/components/lr-zoomable-frame.md +1 -6
  785. package/llms/migration.md +105 -2
  786. package/llms/peers.md +3 -2
  787. package/llms/shared/ai-and-peers.md +2 -2
  788. package/llms/shared/events-and-types.md +45 -1
  789. package/llms/shared/frameworks-and-ssr.md +16 -0
  790. package/llms/shared/imports-and-registration.md +6 -5
  791. package/llms/shared/localization-and-rtl.md +18 -18
  792. package/llms/shared/native-styles-and-utilities.md +38 -3
  793. package/llms/shared/styles-and-tokens.md +243 -103
  794. package/llms/shared/testing-and-utilities.md +134 -49
  795. package/llms/shared.md +502 -181
  796. package/llms/tokens.md +31 -49
  797. package/llms.txt +14 -12
  798. package/locales.json +1002 -1002
  799. package/package.json +28 -6884
  800. package/registrations.json +1 -1
  801. package/skills/compose-lyra-interfaces/SKILL.md +60 -0
  802. package/skills/compose-lyra-interfaces/agents/openai.yaml +4 -0
  803. package/skills/compose-lyra-interfaces/references/composition-patterns.md +77 -0
  804. package/skills/lyra-ui/SKILL.md +145 -0
  805. package/skills/lyra-ui/commands/frontend.md +37 -0
  806. package/skills/lyra-ui/commands/migrate.md +44 -0
  807. package/skills/lyra-ui/commands/new-component.md +19 -0
  808. package/skills/lyra-ui/commands/review.md +247 -0
  809. package/skills/lyra-ui/commands/update.md +30 -0
  810. package/skills/lyra-ui/reporting.md +137 -0
  811. package/custom-elements.json +0 -1
  812. package/dist/internal/default-strings.generated.js +0 -5
  813. package/dist/internal/side-effect-only.d.ts +0 -1
  814. package/dist/internal/specialist-tokens.styles.js +0 -1
  815. package/dist/internal/tokens/palette.styles.js +0 -1
  816. package/dist/internal/tokens.styles.js +0 -1
  817. package/dist/translations/am/agent-tools.js +0 -1
  818. package/dist/translations/am/charts.js +0 -1
  819. package/dist/translations/am/conversation.js +0 -1
  820. package/dist/translations/am/data.js +0 -1
  821. package/dist/translations/am/forms.js +0 -1
  822. package/dist/translations/am/layout.js +0 -1
  823. package/dist/translations/am/media.js +0 -1
  824. package/dist/translations/am/overlays.js +0 -1
  825. package/dist/translations/am/retrieval.js +0 -1
  826. package/dist/translations/am/shared.js +0 -1
  827. package/dist/translations/am/utility.js +0 -1
  828. package/dist/translations/am/viewers.js +0 -5
  829. package/dist/translations/am.js +0 -1
  830. package/dist/translations/ar/agent-tools.js +0 -1
  831. package/dist/translations/ar/charts.js +0 -1
  832. package/dist/translations/ar/conversation.js +0 -1
  833. package/dist/translations/ar/data.js +0 -1
  834. package/dist/translations/ar/forms.js +0 -1
  835. package/dist/translations/ar/layout.js +0 -1
  836. package/dist/translations/ar/media.js +0 -1
  837. package/dist/translations/ar/overlays.js +0 -1
  838. package/dist/translations/ar/retrieval.js +0 -1
  839. package/dist/translations/ar/shared.js +0 -1
  840. package/dist/translations/ar/utility.js +0 -1
  841. package/dist/translations/ar/viewers.js +0 -5
  842. package/dist/translations/ar.js +0 -1
  843. package/dist/translations/bho/agent-tools.js +0 -1
  844. package/dist/translations/bho/charts.js +0 -1
  845. package/dist/translations/bho/conversation.js +0 -1
  846. package/dist/translations/bho/data.js +0 -1
  847. package/dist/translations/bho/forms.js +0 -1
  848. package/dist/translations/bho/layout.js +0 -1
  849. package/dist/translations/bho/media.js +0 -1
  850. package/dist/translations/bho/overlays.js +0 -1
  851. package/dist/translations/bho/retrieval.js +0 -1
  852. package/dist/translations/bho/shared.js +0 -1
  853. package/dist/translations/bho/utility.js +0 -1
  854. package/dist/translations/bho/viewers.js +0 -5
  855. package/dist/translations/bho.js +0 -1
  856. package/dist/translations/bn/agent-tools.js +0 -1
  857. package/dist/translations/bn/charts.js +0 -1
  858. package/dist/translations/bn/conversation.js +0 -1
  859. package/dist/translations/bn/data.js +0 -1
  860. package/dist/translations/bn/forms.js +0 -1
  861. package/dist/translations/bn/layout.js +0 -1
  862. package/dist/translations/bn/media.js +0 -1
  863. package/dist/translations/bn/overlays.js +0 -1
  864. package/dist/translations/bn/retrieval.js +0 -1
  865. package/dist/translations/bn/shared.js +0 -1
  866. package/dist/translations/bn/utility.js +0 -1
  867. package/dist/translations/bn/viewers.js +0 -5
  868. package/dist/translations/bn.js +0 -1
  869. package/dist/translations/cs/agent-tools.js +0 -1
  870. package/dist/translations/cs/charts.js +0 -1
  871. package/dist/translations/cs/conversation.js +0 -1
  872. package/dist/translations/cs/data.js +0 -1
  873. package/dist/translations/cs/forms.js +0 -1
  874. package/dist/translations/cs/layout.js +0 -1
  875. package/dist/translations/cs/media.js +0 -1
  876. package/dist/translations/cs/overlays.js +0 -1
  877. package/dist/translations/cs/retrieval.js +0 -1
  878. package/dist/translations/cs/shared.js +0 -1
  879. package/dist/translations/cs/utility.js +0 -1
  880. package/dist/translations/cs/viewers.js +0 -5
  881. package/dist/translations/cs.js +0 -1
  882. package/dist/translations/da/agent-tools.js +0 -1
  883. package/dist/translations/da/charts.js +0 -1
  884. package/dist/translations/da/conversation.js +0 -1
  885. package/dist/translations/da/data.js +0 -1
  886. package/dist/translations/da/forms.js +0 -1
  887. package/dist/translations/da/layout.js +0 -1
  888. package/dist/translations/da/media.js +0 -1
  889. package/dist/translations/da/overlays.js +0 -1
  890. package/dist/translations/da/retrieval.js +0 -1
  891. package/dist/translations/da/shared.js +0 -1
  892. package/dist/translations/da/utility.js +0 -1
  893. package/dist/translations/da/viewers.js +0 -5
  894. package/dist/translations/da.js +0 -1
  895. package/dist/translations/de/agent-tools.js +0 -1
  896. package/dist/translations/de/charts.js +0 -1
  897. package/dist/translations/de/conversation.js +0 -1
  898. package/dist/translations/de/data.js +0 -1
  899. package/dist/translations/de/forms.js +0 -1
  900. package/dist/translations/de/layout.js +0 -1
  901. package/dist/translations/de/media.js +0 -1
  902. package/dist/translations/de/overlays.js +0 -1
  903. package/dist/translations/de/retrieval.js +0 -1
  904. package/dist/translations/de/shared.js +0 -1
  905. package/dist/translations/de/utility.js +0 -1
  906. package/dist/translations/de/viewers.js +0 -5
  907. package/dist/translations/de-CH/agent-tools.js +0 -1
  908. package/dist/translations/de-CH/charts.js +0 -1
  909. package/dist/translations/de-CH/conversation.js +0 -1
  910. package/dist/translations/de-CH/data.js +0 -1
  911. package/dist/translations/de-CH/forms.js +0 -1
  912. package/dist/translations/de-CH/layout.js +0 -1
  913. package/dist/translations/de-CH/media.js +0 -1
  914. package/dist/translations/de-CH/overlays.js +0 -1
  915. package/dist/translations/de-CH/retrieval.js +0 -1
  916. package/dist/translations/de-CH/shared.js +0 -1
  917. package/dist/translations/de-CH/utility.js +0 -1
  918. package/dist/translations/de-CH/viewers.js +0 -1
  919. package/dist/translations/de-CH.js +0 -1
  920. package/dist/translations/de.js +0 -1
  921. package/dist/translations/el/agent-tools.js +0 -1
  922. package/dist/translations/el/charts.js +0 -1
  923. package/dist/translations/el/conversation.js +0 -1
  924. package/dist/translations/el/data.js +0 -1
  925. package/dist/translations/el/forms.js +0 -1
  926. package/dist/translations/el/layout.js +0 -1
  927. package/dist/translations/el/media.js +0 -1
  928. package/dist/translations/el/overlays.js +0 -1
  929. package/dist/translations/el/retrieval.js +0 -1
  930. package/dist/translations/el/shared.js +0 -1
  931. package/dist/translations/el/utility.js +0 -1
  932. package/dist/translations/el/viewers.js +0 -5
  933. package/dist/translations/el.js +0 -1
  934. package/dist/translations/es/agent-tools.js +0 -1
  935. package/dist/translations/es/charts.js +0 -1
  936. package/dist/translations/es/conversation.js +0 -1
  937. package/dist/translations/es/data.js +0 -1
  938. package/dist/translations/es/forms.js +0 -1
  939. package/dist/translations/es/layout.js +0 -1
  940. package/dist/translations/es/media.js +0 -1
  941. package/dist/translations/es/overlays.js +0 -1
  942. package/dist/translations/es/retrieval.js +0 -1
  943. package/dist/translations/es/shared.js +0 -1
  944. package/dist/translations/es/utility.js +0 -1
  945. package/dist/translations/es/viewers.js +0 -5
  946. package/dist/translations/es.js +0 -1
  947. package/dist/translations/fa/agent-tools.js +0 -1
  948. package/dist/translations/fa/charts.js +0 -1
  949. package/dist/translations/fa/conversation.js +0 -1
  950. package/dist/translations/fa/data.js +0 -1
  951. package/dist/translations/fa/forms.js +0 -1
  952. package/dist/translations/fa/layout.js +0 -1
  953. package/dist/translations/fa/media.js +0 -1
  954. package/dist/translations/fa/overlays.js +0 -1
  955. package/dist/translations/fa/retrieval.js +0 -1
  956. package/dist/translations/fa/shared.js +0 -1
  957. package/dist/translations/fa/utility.js +0 -1
  958. package/dist/translations/fa/viewers.js +0 -5
  959. package/dist/translations/fa-AF/agent-tools.js +0 -1
  960. package/dist/translations/fa-AF/charts.js +0 -1
  961. package/dist/translations/fa-AF/conversation.js +0 -1
  962. package/dist/translations/fa-AF/data.js +0 -1
  963. package/dist/translations/fa-AF/forms.js +0 -1
  964. package/dist/translations/fa-AF/layout.js +0 -1
  965. package/dist/translations/fa-AF/media.js +0 -1
  966. package/dist/translations/fa-AF/overlays.js +0 -1
  967. package/dist/translations/fa-AF/retrieval.js +0 -1
  968. package/dist/translations/fa-AF/shared.js +0 -1
  969. package/dist/translations/fa-AF/utility.js +0 -1
  970. package/dist/translations/fa-AF/viewers.js +0 -5
  971. package/dist/translations/fa-AF.js +0 -1
  972. package/dist/translations/fa.js +0 -1
  973. package/dist/translations/fi/agent-tools.js +0 -1
  974. package/dist/translations/fi/charts.js +0 -1
  975. package/dist/translations/fi/conversation.js +0 -1
  976. package/dist/translations/fi/data.js +0 -1
  977. package/dist/translations/fi/forms.js +0 -1
  978. package/dist/translations/fi/layout.js +0 -1
  979. package/dist/translations/fi/media.js +0 -1
  980. package/dist/translations/fi/overlays.js +0 -1
  981. package/dist/translations/fi/retrieval.js +0 -1
  982. package/dist/translations/fi/shared.js +0 -1
  983. package/dist/translations/fi/utility.js +0 -1
  984. package/dist/translations/fi/viewers.js +0 -5
  985. package/dist/translations/fi.js +0 -1
  986. package/dist/translations/fr/agent-tools.js +0 -1
  987. package/dist/translations/fr/charts.js +0 -1
  988. package/dist/translations/fr/conversation.js +0 -1
  989. package/dist/translations/fr/data.js +0 -1
  990. package/dist/translations/fr/forms.js +0 -1
  991. package/dist/translations/fr/layout.js +0 -1
  992. package/dist/translations/fr/media.js +0 -1
  993. package/dist/translations/fr/overlays.js +0 -1
  994. package/dist/translations/fr/retrieval.js +0 -1
  995. package/dist/translations/fr/shared.js +0 -1
  996. package/dist/translations/fr/utility.js +0 -1
  997. package/dist/translations/fr/viewers.js +0 -5
  998. package/dist/translations/fr.js +0 -1
  999. package/dist/translations/gu/agent-tools.js +0 -1
  1000. package/dist/translations/gu/charts.js +0 -1
  1001. package/dist/translations/gu/conversation.js +0 -1
  1002. package/dist/translations/gu/data.js +0 -1
  1003. package/dist/translations/gu/forms.js +0 -1
  1004. package/dist/translations/gu/layout.js +0 -1
  1005. package/dist/translations/gu/media.js +0 -1
  1006. package/dist/translations/gu/overlays.js +0 -1
  1007. package/dist/translations/gu/retrieval.js +0 -1
  1008. package/dist/translations/gu/shared.js +0 -1
  1009. package/dist/translations/gu/utility.js +0 -1
  1010. package/dist/translations/gu/viewers.js +0 -5
  1011. package/dist/translations/gu.js +0 -1
  1012. package/dist/translations/ha/agent-tools.js +0 -1
  1013. package/dist/translations/ha/charts.js +0 -1
  1014. package/dist/translations/ha/conversation.js +0 -1
  1015. package/dist/translations/ha/data.js +0 -1
  1016. package/dist/translations/ha/forms.js +0 -1
  1017. package/dist/translations/ha/layout.js +0 -1
  1018. package/dist/translations/ha/media.js +0 -1
  1019. package/dist/translations/ha/overlays.js +0 -1
  1020. package/dist/translations/ha/retrieval.js +0 -1
  1021. package/dist/translations/ha/shared.js +0 -1
  1022. package/dist/translations/ha/utility.js +0 -1
  1023. package/dist/translations/ha/viewers.js +0 -5
  1024. package/dist/translations/ha.js +0 -1
  1025. package/dist/translations/he/agent-tools.js +0 -1
  1026. package/dist/translations/he/charts.js +0 -1
  1027. package/dist/translations/he/conversation.js +0 -1
  1028. package/dist/translations/he/data.js +0 -1
  1029. package/dist/translations/he/forms.js +0 -1
  1030. package/dist/translations/he/layout.js +0 -1
  1031. package/dist/translations/he/media.js +0 -1
  1032. package/dist/translations/he/overlays.js +0 -1
  1033. package/dist/translations/he/retrieval.js +0 -1
  1034. package/dist/translations/he/shared.js +0 -1
  1035. package/dist/translations/he/utility.js +0 -1
  1036. package/dist/translations/he/viewers.js +0 -5
  1037. package/dist/translations/he.js +0 -1
  1038. package/dist/translations/hi/agent-tools.js +0 -1
  1039. package/dist/translations/hi/charts.js +0 -1
  1040. package/dist/translations/hi/conversation.js +0 -1
  1041. package/dist/translations/hi/data.js +0 -1
  1042. package/dist/translations/hi/forms.js +0 -1
  1043. package/dist/translations/hi/layout.js +0 -1
  1044. package/dist/translations/hi/media.js +0 -1
  1045. package/dist/translations/hi/overlays.js +0 -1
  1046. package/dist/translations/hi/retrieval.js +0 -1
  1047. package/dist/translations/hi/shared.js +0 -1
  1048. package/dist/translations/hi/utility.js +0 -1
  1049. package/dist/translations/hi/viewers.js +0 -5
  1050. package/dist/translations/hi.js +0 -1
  1051. package/dist/translations/hr/agent-tools.js +0 -1
  1052. package/dist/translations/hr/charts.js +0 -1
  1053. package/dist/translations/hr/conversation.js +0 -1
  1054. package/dist/translations/hr/data.js +0 -1
  1055. package/dist/translations/hr/forms.js +0 -1
  1056. package/dist/translations/hr/layout.js +0 -1
  1057. package/dist/translations/hr/media.js +0 -1
  1058. package/dist/translations/hr/overlays.js +0 -1
  1059. package/dist/translations/hr/retrieval.js +0 -1
  1060. package/dist/translations/hr/shared.js +0 -1
  1061. package/dist/translations/hr/utility.js +0 -1
  1062. package/dist/translations/hr/viewers.js +0 -5
  1063. package/dist/translations/hr.js +0 -1
  1064. package/dist/translations/hu/agent-tools.js +0 -1
  1065. package/dist/translations/hu/charts.js +0 -1
  1066. package/dist/translations/hu/conversation.js +0 -1
  1067. package/dist/translations/hu/data.js +0 -1
  1068. package/dist/translations/hu/forms.js +0 -1
  1069. package/dist/translations/hu/layout.js +0 -1
  1070. package/dist/translations/hu/media.js +0 -1
  1071. package/dist/translations/hu/overlays.js +0 -1
  1072. package/dist/translations/hu/retrieval.js +0 -1
  1073. package/dist/translations/hu/shared.js +0 -1
  1074. package/dist/translations/hu/utility.js +0 -1
  1075. package/dist/translations/hu/viewers.js +0 -5
  1076. package/dist/translations/hu.js +0 -1
  1077. package/dist/translations/id/agent-tools.js +0 -1
  1078. package/dist/translations/id/charts.js +0 -1
  1079. package/dist/translations/id/conversation.js +0 -1
  1080. package/dist/translations/id/data.js +0 -1
  1081. package/dist/translations/id/forms.js +0 -1
  1082. package/dist/translations/id/layout.js +0 -1
  1083. package/dist/translations/id/media.js +0 -1
  1084. package/dist/translations/id/overlays.js +0 -1
  1085. package/dist/translations/id/retrieval.js +0 -1
  1086. package/dist/translations/id/shared.js +0 -1
  1087. package/dist/translations/id/utility.js +0 -1
  1088. package/dist/translations/id/viewers.js +0 -5
  1089. package/dist/translations/id.js +0 -1
  1090. package/dist/translations/ig/agent-tools.js +0 -1
  1091. package/dist/translations/ig/charts.js +0 -1
  1092. package/dist/translations/ig/conversation.js +0 -1
  1093. package/dist/translations/ig/data.js +0 -1
  1094. package/dist/translations/ig/forms.js +0 -1
  1095. package/dist/translations/ig/layout.js +0 -1
  1096. package/dist/translations/ig/media.js +0 -1
  1097. package/dist/translations/ig/overlays.js +0 -1
  1098. package/dist/translations/ig/retrieval.js +0 -1
  1099. package/dist/translations/ig/shared.js +0 -1
  1100. package/dist/translations/ig/utility.js +0 -1
  1101. package/dist/translations/ig/viewers.js +0 -5
  1102. package/dist/translations/ig.js +0 -1
  1103. package/dist/translations/it/agent-tools.js +0 -1
  1104. package/dist/translations/it/charts.js +0 -1
  1105. package/dist/translations/it/conversation.js +0 -1
  1106. package/dist/translations/it/data.js +0 -1
  1107. package/dist/translations/it/forms.js +0 -1
  1108. package/dist/translations/it/layout.js +0 -1
  1109. package/dist/translations/it/media.js +0 -1
  1110. package/dist/translations/it/overlays.js +0 -1
  1111. package/dist/translations/it/retrieval.js +0 -1
  1112. package/dist/translations/it/shared.js +0 -1
  1113. package/dist/translations/it/utility.js +0 -1
  1114. package/dist/translations/it/viewers.js +0 -5
  1115. package/dist/translations/it.js +0 -1
  1116. package/dist/translations/ja/agent-tools.js +0 -1
  1117. package/dist/translations/ja/charts.js +0 -1
  1118. package/dist/translations/ja/conversation.js +0 -1
  1119. package/dist/translations/ja/data.js +0 -1
  1120. package/dist/translations/ja/forms.js +0 -1
  1121. package/dist/translations/ja/layout.js +0 -1
  1122. package/dist/translations/ja/media.js +0 -1
  1123. package/dist/translations/ja/overlays.js +0 -1
  1124. package/dist/translations/ja/retrieval.js +0 -1
  1125. package/dist/translations/ja/shared.js +0 -1
  1126. package/dist/translations/ja/utility.js +0 -1
  1127. package/dist/translations/ja/viewers.js +0 -4
  1128. package/dist/translations/ja.js +0 -1
  1129. package/dist/translations/jv/agent-tools.js +0 -1
  1130. package/dist/translations/jv/charts.js +0 -1
  1131. package/dist/translations/jv/conversation.js +0 -1
  1132. package/dist/translations/jv/data.js +0 -1
  1133. package/dist/translations/jv/forms.js +0 -1
  1134. package/dist/translations/jv/layout.js +0 -1
  1135. package/dist/translations/jv/media.js +0 -1
  1136. package/dist/translations/jv/overlays.js +0 -1
  1137. package/dist/translations/jv/retrieval.js +0 -1
  1138. package/dist/translations/jv/shared.js +0 -1
  1139. package/dist/translations/jv/utility.js +0 -1
  1140. package/dist/translations/jv/viewers.js +0 -5
  1141. package/dist/translations/jv.js +0 -1
  1142. package/dist/translations/kk/agent-tools.js +0 -1
  1143. package/dist/translations/kk/charts.js +0 -1
  1144. package/dist/translations/kk/conversation.js +0 -1
  1145. package/dist/translations/kk/data.js +0 -1
  1146. package/dist/translations/kk/forms.js +0 -1
  1147. package/dist/translations/kk/layout.js +0 -1
  1148. package/dist/translations/kk/media.js +0 -1
  1149. package/dist/translations/kk/overlays.js +0 -1
  1150. package/dist/translations/kk/retrieval.js +0 -1
  1151. package/dist/translations/kk/shared.js +0 -1
  1152. package/dist/translations/kk/utility.js +0 -1
  1153. package/dist/translations/kk/viewers.js +0 -5
  1154. package/dist/translations/kk.js +0 -1
  1155. package/dist/translations/kn/agent-tools.js +0 -1
  1156. package/dist/translations/kn/charts.js +0 -1
  1157. package/dist/translations/kn/conversation.js +0 -1
  1158. package/dist/translations/kn/data.js +0 -1
  1159. package/dist/translations/kn/forms.js +0 -1
  1160. package/dist/translations/kn/layout.js +0 -1
  1161. package/dist/translations/kn/media.js +0 -1
  1162. package/dist/translations/kn/overlays.js +0 -1
  1163. package/dist/translations/kn/retrieval.js +0 -1
  1164. package/dist/translations/kn/shared.js +0 -1
  1165. package/dist/translations/kn/utility.js +0 -1
  1166. package/dist/translations/kn/viewers.js +0 -5
  1167. package/dist/translations/kn.js +0 -1
  1168. package/dist/translations/ko/agent-tools.js +0 -1
  1169. package/dist/translations/ko/charts.js +0 -1
  1170. package/dist/translations/ko/conversation.js +0 -1
  1171. package/dist/translations/ko/data.js +0 -1
  1172. package/dist/translations/ko/forms.js +0 -1
  1173. package/dist/translations/ko/layout.js +0 -1
  1174. package/dist/translations/ko/media.js +0 -1
  1175. package/dist/translations/ko/overlays.js +0 -1
  1176. package/dist/translations/ko/retrieval.js +0 -1
  1177. package/dist/translations/ko/shared.js +0 -1
  1178. package/dist/translations/ko/utility.js +0 -1
  1179. package/dist/translations/ko/viewers.js +0 -5
  1180. package/dist/translations/ko.js +0 -1
  1181. package/dist/translations/ln/agent-tools.js +0 -1
  1182. package/dist/translations/ln/charts.js +0 -1
  1183. package/dist/translations/ln/conversation.js +0 -1
  1184. package/dist/translations/ln/data.js +0 -1
  1185. package/dist/translations/ln/forms.js +0 -1
  1186. package/dist/translations/ln/layout.js +0 -1
  1187. package/dist/translations/ln/media.js +0 -1
  1188. package/dist/translations/ln/overlays.js +0 -1
  1189. package/dist/translations/ln/retrieval.js +0 -1
  1190. package/dist/translations/ln/shared.js +0 -1
  1191. package/dist/translations/ln/utility.js +0 -1
  1192. package/dist/translations/ln/viewers.js +0 -5
  1193. package/dist/translations/ln.js +0 -1
  1194. package/dist/translations/ml/agent-tools.js +0 -1
  1195. package/dist/translations/ml/charts.js +0 -1
  1196. package/dist/translations/ml/conversation.js +0 -1
  1197. package/dist/translations/ml/data.js +0 -1
  1198. package/dist/translations/ml/forms.js +0 -1
  1199. package/dist/translations/ml/layout.js +0 -1
  1200. package/dist/translations/ml/media.js +0 -1
  1201. package/dist/translations/ml/overlays.js +0 -1
  1202. package/dist/translations/ml/retrieval.js +0 -1
  1203. package/dist/translations/ml/shared.js +0 -1
  1204. package/dist/translations/ml/utility.js +0 -1
  1205. package/dist/translations/ml/viewers.js +0 -5
  1206. package/dist/translations/ml.js +0 -1
  1207. package/dist/translations/mr/agent-tools.js +0 -1
  1208. package/dist/translations/mr/charts.js +0 -1
  1209. package/dist/translations/mr/conversation.js +0 -1
  1210. package/dist/translations/mr/data.js +0 -1
  1211. package/dist/translations/mr/forms.js +0 -1
  1212. package/dist/translations/mr/layout.js +0 -1
  1213. package/dist/translations/mr/media.js +0 -1
  1214. package/dist/translations/mr/overlays.js +0 -1
  1215. package/dist/translations/mr/retrieval.js +0 -1
  1216. package/dist/translations/mr/shared.js +0 -1
  1217. package/dist/translations/mr/utility.js +0 -1
  1218. package/dist/translations/mr/viewers.js +0 -5
  1219. package/dist/translations/mr.js +0 -1
  1220. package/dist/translations/ms/agent-tools.js +0 -1
  1221. package/dist/translations/ms/charts.js +0 -1
  1222. package/dist/translations/ms/conversation.js +0 -1
  1223. package/dist/translations/ms/data.js +0 -1
  1224. package/dist/translations/ms/forms.js +0 -1
  1225. package/dist/translations/ms/layout.js +0 -1
  1226. package/dist/translations/ms/media.js +0 -1
  1227. package/dist/translations/ms/overlays.js +0 -1
  1228. package/dist/translations/ms/retrieval.js +0 -1
  1229. package/dist/translations/ms/shared.js +0 -1
  1230. package/dist/translations/ms/utility.js +0 -1
  1231. package/dist/translations/ms/viewers.js +0 -5
  1232. package/dist/translations/ms.js +0 -1
  1233. package/dist/translations/my/agent-tools.js +0 -1
  1234. package/dist/translations/my/charts.js +0 -1
  1235. package/dist/translations/my/conversation.js +0 -1
  1236. package/dist/translations/my/data.js +0 -1
  1237. package/dist/translations/my/forms.js +0 -1
  1238. package/dist/translations/my/layout.js +0 -1
  1239. package/dist/translations/my/media.js +0 -1
  1240. package/dist/translations/my/overlays.js +0 -1
  1241. package/dist/translations/my/retrieval.js +0 -1
  1242. package/dist/translations/my/shared.js +0 -1
  1243. package/dist/translations/my/utility.js +0 -1
  1244. package/dist/translations/my/viewers.js +0 -5
  1245. package/dist/translations/my.js +0 -1
  1246. package/dist/translations/nb/agent-tools.js +0 -1
  1247. package/dist/translations/nb/charts.js +0 -1
  1248. package/dist/translations/nb/conversation.js +0 -1
  1249. package/dist/translations/nb/data.js +0 -1
  1250. package/dist/translations/nb/forms.js +0 -1
  1251. package/dist/translations/nb/layout.js +0 -1
  1252. package/dist/translations/nb/media.js +0 -1
  1253. package/dist/translations/nb/overlays.js +0 -1
  1254. package/dist/translations/nb/retrieval.js +0 -1
  1255. package/dist/translations/nb/shared.js +0 -1
  1256. package/dist/translations/nb/utility.js +0 -1
  1257. package/dist/translations/nb/viewers.js +0 -5
  1258. package/dist/translations/nb.js +0 -1
  1259. package/dist/translations/ne/agent-tools.js +0 -1
  1260. package/dist/translations/ne/charts.js +0 -1
  1261. package/dist/translations/ne/conversation.js +0 -1
  1262. package/dist/translations/ne/data.js +0 -1
  1263. package/dist/translations/ne/forms.js +0 -1
  1264. package/dist/translations/ne/layout.js +0 -1
  1265. package/dist/translations/ne/media.js +0 -1
  1266. package/dist/translations/ne/overlays.js +0 -1
  1267. package/dist/translations/ne/retrieval.js +0 -1
  1268. package/dist/translations/ne/shared.js +0 -1
  1269. package/dist/translations/ne/utility.js +0 -1
  1270. package/dist/translations/ne/viewers.js +0 -5
  1271. package/dist/translations/ne.js +0 -1
  1272. package/dist/translations/nl/agent-tools.js +0 -1
  1273. package/dist/translations/nl/charts.js +0 -1
  1274. package/dist/translations/nl/conversation.js +0 -1
  1275. package/dist/translations/nl/data.js +0 -1
  1276. package/dist/translations/nl/forms.js +0 -1
  1277. package/dist/translations/nl/layout.js +0 -1
  1278. package/dist/translations/nl/media.js +0 -1
  1279. package/dist/translations/nl/overlays.js +0 -1
  1280. package/dist/translations/nl/retrieval.js +0 -1
  1281. package/dist/translations/nl/shared.js +0 -1
  1282. package/dist/translations/nl/utility.js +0 -1
  1283. package/dist/translations/nl/viewers.js +0 -5
  1284. package/dist/translations/nl.js +0 -1
  1285. package/dist/translations/nn/agent-tools.js +0 -1
  1286. package/dist/translations/nn/charts.js +0 -1
  1287. package/dist/translations/nn/conversation.js +0 -1
  1288. package/dist/translations/nn/data.js +0 -1
  1289. package/dist/translations/nn/forms.js +0 -1
  1290. package/dist/translations/nn/layout.js +0 -1
  1291. package/dist/translations/nn/media.js +0 -1
  1292. package/dist/translations/nn/overlays.js +0 -1
  1293. package/dist/translations/nn/retrieval.js +0 -1
  1294. package/dist/translations/nn/shared.js +0 -1
  1295. package/dist/translations/nn/utility.js +0 -1
  1296. package/dist/translations/nn/viewers.js +0 -5
  1297. package/dist/translations/nn.js +0 -1
  1298. package/dist/translations/om/agent-tools.js +0 -1
  1299. package/dist/translations/om/charts.js +0 -1
  1300. package/dist/translations/om/conversation.js +0 -1
  1301. package/dist/translations/om/data.js +0 -1
  1302. package/dist/translations/om/forms.js +0 -1
  1303. package/dist/translations/om/layout.js +0 -1
  1304. package/dist/translations/om/media.js +0 -1
  1305. package/dist/translations/om/overlays.js +0 -1
  1306. package/dist/translations/om/retrieval.js +0 -1
  1307. package/dist/translations/om/shared.js +0 -1
  1308. package/dist/translations/om/utility.js +0 -1
  1309. package/dist/translations/om/viewers.js +0 -5
  1310. package/dist/translations/om.js +0 -1
  1311. package/dist/translations/or/agent-tools.js +0 -1
  1312. package/dist/translations/or/charts.js +0 -1
  1313. package/dist/translations/or/conversation.js +0 -1
  1314. package/dist/translations/or/data.js +0 -1
  1315. package/dist/translations/or/forms.js +0 -1
  1316. package/dist/translations/or/layout.js +0 -1
  1317. package/dist/translations/or/media.js +0 -1
  1318. package/dist/translations/or/overlays.js +0 -1
  1319. package/dist/translations/or/retrieval.js +0 -1
  1320. package/dist/translations/or/shared.js +0 -1
  1321. package/dist/translations/or/utility.js +0 -1
  1322. package/dist/translations/or/viewers.js +0 -5
  1323. package/dist/translations/or.js +0 -1
  1324. package/dist/translations/pa/agent-tools.js +0 -1
  1325. package/dist/translations/pa/charts.js +0 -1
  1326. package/dist/translations/pa/conversation.js +0 -1
  1327. package/dist/translations/pa/data.js +0 -1
  1328. package/dist/translations/pa/forms.js +0 -1
  1329. package/dist/translations/pa/layout.js +0 -1
  1330. package/dist/translations/pa/media.js +0 -1
  1331. package/dist/translations/pa/overlays.js +0 -1
  1332. package/dist/translations/pa/retrieval.js +0 -1
  1333. package/dist/translations/pa/shared.js +0 -1
  1334. package/dist/translations/pa/utility.js +0 -1
  1335. package/dist/translations/pa/viewers.js +0 -5
  1336. package/dist/translations/pa.js +0 -1
  1337. package/dist/translations/pcm/agent-tools.js +0 -1
  1338. package/dist/translations/pcm/charts.js +0 -1
  1339. package/dist/translations/pcm/conversation.js +0 -1
  1340. package/dist/translations/pcm/data.js +0 -1
  1341. package/dist/translations/pcm/forms.js +0 -1
  1342. package/dist/translations/pcm/layout.js +0 -1
  1343. package/dist/translations/pcm/media.js +0 -1
  1344. package/dist/translations/pcm/overlays.js +0 -1
  1345. package/dist/translations/pcm/retrieval.js +0 -1
  1346. package/dist/translations/pcm/shared.js +0 -1
  1347. package/dist/translations/pcm/utility.js +0 -1
  1348. package/dist/translations/pcm/viewers.js +0 -5
  1349. package/dist/translations/pcm.js +0 -1
  1350. package/dist/translations/pl/agent-tools.js +0 -1
  1351. package/dist/translations/pl/charts.js +0 -1
  1352. package/dist/translations/pl/conversation.js +0 -1
  1353. package/dist/translations/pl/data.js +0 -1
  1354. package/dist/translations/pl/forms.js +0 -1
  1355. package/dist/translations/pl/layout.js +0 -1
  1356. package/dist/translations/pl/media.js +0 -1
  1357. package/dist/translations/pl/overlays.js +0 -1
  1358. package/dist/translations/pl/retrieval.js +0 -1
  1359. package/dist/translations/pl/shared.js +0 -1
  1360. package/dist/translations/pl/utility.js +0 -1
  1361. package/dist/translations/pl/viewers.js +0 -5
  1362. package/dist/translations/pl.js +0 -1
  1363. package/dist/translations/pnb/agent-tools.js +0 -1
  1364. package/dist/translations/pnb/charts.js +0 -1
  1365. package/dist/translations/pnb/conversation.js +0 -1
  1366. package/dist/translations/pnb/data.js +0 -1
  1367. package/dist/translations/pnb/forms.js +0 -1
  1368. package/dist/translations/pnb/layout.js +0 -1
  1369. package/dist/translations/pnb/media.js +0 -1
  1370. package/dist/translations/pnb/overlays.js +0 -1
  1371. package/dist/translations/pnb/retrieval.js +0 -1
  1372. package/dist/translations/pnb/shared.js +0 -1
  1373. package/dist/translations/pnb/utility.js +0 -1
  1374. package/dist/translations/pnb/viewers.js +0 -5
  1375. package/dist/translations/pnb.js +0 -1
  1376. package/dist/translations/ps/agent-tools.js +0 -1
  1377. package/dist/translations/ps/charts.js +0 -1
  1378. package/dist/translations/ps/conversation.js +0 -1
  1379. package/dist/translations/ps/data.js +0 -1
  1380. package/dist/translations/ps/forms.js +0 -1
  1381. package/dist/translations/ps/layout.js +0 -1
  1382. package/dist/translations/ps/media.js +0 -1
  1383. package/dist/translations/ps/overlays.js +0 -1
  1384. package/dist/translations/ps/retrieval.js +0 -1
  1385. package/dist/translations/ps/shared.js +0 -1
  1386. package/dist/translations/ps/utility.js +0 -1
  1387. package/dist/translations/ps/viewers.js +0 -5
  1388. package/dist/translations/ps.js +0 -1
  1389. package/dist/translations/pt-BR/agent-tools.js +0 -1
  1390. package/dist/translations/pt-BR/charts.js +0 -1
  1391. package/dist/translations/pt-BR/conversation.js +0 -1
  1392. package/dist/translations/pt-BR/data.js +0 -1
  1393. package/dist/translations/pt-BR/forms.js +0 -1
  1394. package/dist/translations/pt-BR/layout.js +0 -1
  1395. package/dist/translations/pt-BR/media.js +0 -1
  1396. package/dist/translations/pt-BR/overlays.js +0 -1
  1397. package/dist/translations/pt-BR/retrieval.js +0 -1
  1398. package/dist/translations/pt-BR/shared.js +0 -1
  1399. package/dist/translations/pt-BR/utility.js +0 -1
  1400. package/dist/translations/pt-BR/viewers.js +0 -5
  1401. package/dist/translations/pt-BR.js +0 -1
  1402. package/dist/translations/pt-PT/agent-tools.js +0 -1
  1403. package/dist/translations/pt-PT/charts.js +0 -1
  1404. package/dist/translations/pt-PT/conversation.js +0 -1
  1405. package/dist/translations/pt-PT/data.js +0 -1
  1406. package/dist/translations/pt-PT/forms.js +0 -1
  1407. package/dist/translations/pt-PT/layout.js +0 -1
  1408. package/dist/translations/pt-PT/media.js +0 -1
  1409. package/dist/translations/pt-PT/overlays.js +0 -1
  1410. package/dist/translations/pt-PT/retrieval.js +0 -1
  1411. package/dist/translations/pt-PT/shared.js +0 -1
  1412. package/dist/translations/pt-PT/utility.js +0 -1
  1413. package/dist/translations/pt-PT/viewers.js +0 -5
  1414. package/dist/translations/pt-PT.js +0 -1
  1415. package/dist/translations/ro/agent-tools.js +0 -1
  1416. package/dist/translations/ro/charts.js +0 -1
  1417. package/dist/translations/ro/conversation.js +0 -1
  1418. package/dist/translations/ro/data.js +0 -1
  1419. package/dist/translations/ro/forms.js +0 -1
  1420. package/dist/translations/ro/layout.js +0 -1
  1421. package/dist/translations/ro/media.js +0 -1
  1422. package/dist/translations/ro/overlays.js +0 -1
  1423. package/dist/translations/ro/retrieval.js +0 -1
  1424. package/dist/translations/ro/shared.js +0 -1
  1425. package/dist/translations/ro/utility.js +0 -1
  1426. package/dist/translations/ro/viewers.js +0 -5
  1427. package/dist/translations/ro.js +0 -1
  1428. package/dist/translations/ru/agent-tools.js +0 -1
  1429. package/dist/translations/ru/charts.js +0 -1
  1430. package/dist/translations/ru/conversation.js +0 -1
  1431. package/dist/translations/ru/data.js +0 -1
  1432. package/dist/translations/ru/forms.js +0 -1
  1433. package/dist/translations/ru/layout.js +0 -1
  1434. package/dist/translations/ru/media.js +0 -1
  1435. package/dist/translations/ru/overlays.js +0 -1
  1436. package/dist/translations/ru/retrieval.js +0 -1
  1437. package/dist/translations/ru/shared.js +0 -1
  1438. package/dist/translations/ru/utility.js +0 -1
  1439. package/dist/translations/ru/viewers.js +0 -5
  1440. package/dist/translations/ru.js +0 -1
  1441. package/dist/translations/sd/agent-tools.js +0 -1
  1442. package/dist/translations/sd/charts.js +0 -1
  1443. package/dist/translations/sd/conversation.js +0 -1
  1444. package/dist/translations/sd/data.js +0 -1
  1445. package/dist/translations/sd/forms.js +0 -1
  1446. package/dist/translations/sd/layout.js +0 -1
  1447. package/dist/translations/sd/media.js +0 -1
  1448. package/dist/translations/sd/overlays.js +0 -1
  1449. package/dist/translations/sd/retrieval.js +0 -1
  1450. package/dist/translations/sd/shared.js +0 -1
  1451. package/dist/translations/sd/utility.js +0 -1
  1452. package/dist/translations/sd/viewers.js +0 -5
  1453. package/dist/translations/sd.js +0 -1
  1454. package/dist/translations/sl/agent-tools.js +0 -1
  1455. package/dist/translations/sl/charts.js +0 -1
  1456. package/dist/translations/sl/conversation.js +0 -1
  1457. package/dist/translations/sl/data.js +0 -1
  1458. package/dist/translations/sl/forms.js +0 -1
  1459. package/dist/translations/sl/layout.js +0 -1
  1460. package/dist/translations/sl/media.js +0 -1
  1461. package/dist/translations/sl/overlays.js +0 -1
  1462. package/dist/translations/sl/retrieval.js +0 -1
  1463. package/dist/translations/sl/shared.js +0 -1
  1464. package/dist/translations/sl/utility.js +0 -1
  1465. package/dist/translations/sl/viewers.js +0 -5
  1466. package/dist/translations/sl.js +0 -1
  1467. package/dist/translations/su/agent-tools.js +0 -1
  1468. package/dist/translations/su/charts.js +0 -1
  1469. package/dist/translations/su/conversation.js +0 -1
  1470. package/dist/translations/su/data.js +0 -1
  1471. package/dist/translations/su/forms.js +0 -1
  1472. package/dist/translations/su/layout.js +0 -1
  1473. package/dist/translations/su/media.js +0 -1
  1474. package/dist/translations/su/overlays.js +0 -1
  1475. package/dist/translations/su/retrieval.js +0 -1
  1476. package/dist/translations/su/shared.js +0 -1
  1477. package/dist/translations/su/utility.js +0 -1
  1478. package/dist/translations/su/viewers.js +0 -5
  1479. package/dist/translations/su.js +0 -1
  1480. package/dist/translations/sv/agent-tools.js +0 -1
  1481. package/dist/translations/sv/charts.js +0 -1
  1482. package/dist/translations/sv/conversation.js +0 -1
  1483. package/dist/translations/sv/data.js +0 -1
  1484. package/dist/translations/sv/forms.js +0 -1
  1485. package/dist/translations/sv/layout.js +0 -1
  1486. package/dist/translations/sv/media.js +0 -1
  1487. package/dist/translations/sv/overlays.js +0 -1
  1488. package/dist/translations/sv/retrieval.js +0 -1
  1489. package/dist/translations/sv/shared.js +0 -1
  1490. package/dist/translations/sv/utility.js +0 -1
  1491. package/dist/translations/sv/viewers.js +0 -5
  1492. package/dist/translations/sv.js +0 -1
  1493. package/dist/translations/sw/agent-tools.js +0 -1
  1494. package/dist/translations/sw/charts.js +0 -1
  1495. package/dist/translations/sw/conversation.js +0 -1
  1496. package/dist/translations/sw/data.js +0 -1
  1497. package/dist/translations/sw/forms.js +0 -1
  1498. package/dist/translations/sw/layout.js +0 -1
  1499. package/dist/translations/sw/media.js +0 -1
  1500. package/dist/translations/sw/overlays.js +0 -1
  1501. package/dist/translations/sw/retrieval.js +0 -1
  1502. package/dist/translations/sw/shared.js +0 -1
  1503. package/dist/translations/sw/utility.js +0 -1
  1504. package/dist/translations/sw/viewers.js +0 -5
  1505. package/dist/translations/sw.js +0 -1
  1506. package/dist/translations/ta/agent-tools.js +0 -1
  1507. package/dist/translations/ta/charts.js +0 -1
  1508. package/dist/translations/ta/conversation.js +0 -1
  1509. package/dist/translations/ta/data.js +0 -1
  1510. package/dist/translations/ta/forms.js +0 -1
  1511. package/dist/translations/ta/layout.js +0 -1
  1512. package/dist/translations/ta/media.js +0 -1
  1513. package/dist/translations/ta/overlays.js +0 -1
  1514. package/dist/translations/ta/retrieval.js +0 -1
  1515. package/dist/translations/ta/shared.js +0 -1
  1516. package/dist/translations/ta/utility.js +0 -1
  1517. package/dist/translations/ta/viewers.js +0 -5
  1518. package/dist/translations/ta.js +0 -1
  1519. package/dist/translations/te/agent-tools.js +0 -1
  1520. package/dist/translations/te/charts.js +0 -1
  1521. package/dist/translations/te/conversation.js +0 -1
  1522. package/dist/translations/te/data.js +0 -1
  1523. package/dist/translations/te/forms.js +0 -1
  1524. package/dist/translations/te/layout.js +0 -1
  1525. package/dist/translations/te/media.js +0 -1
  1526. package/dist/translations/te/overlays.js +0 -1
  1527. package/dist/translations/te/retrieval.js +0 -1
  1528. package/dist/translations/te/shared.js +0 -1
  1529. package/dist/translations/te/utility.js +0 -1
  1530. package/dist/translations/te/viewers.js +0 -5
  1531. package/dist/translations/te.js +0 -1
  1532. package/dist/translations/th/agent-tools.js +0 -1
  1533. package/dist/translations/th/charts.js +0 -1
  1534. package/dist/translations/th/conversation.js +0 -1
  1535. package/dist/translations/th/data.js +0 -1
  1536. package/dist/translations/th/forms.js +0 -1
  1537. package/dist/translations/th/layout.js +0 -1
  1538. package/dist/translations/th/media.js +0 -1
  1539. package/dist/translations/th/overlays.js +0 -1
  1540. package/dist/translations/th/retrieval.js +0 -1
  1541. package/dist/translations/th/shared.js +0 -1
  1542. package/dist/translations/th/utility.js +0 -1
  1543. package/dist/translations/th/viewers.js +0 -5
  1544. package/dist/translations/th.js +0 -1
  1545. package/dist/translations/tl/agent-tools.js +0 -1
  1546. package/dist/translations/tl/charts.js +0 -1
  1547. package/dist/translations/tl/conversation.js +0 -1
  1548. package/dist/translations/tl/data.js +0 -1
  1549. package/dist/translations/tl/forms.js +0 -1
  1550. package/dist/translations/tl/layout.js +0 -1
  1551. package/dist/translations/tl/media.js +0 -1
  1552. package/dist/translations/tl/overlays.js +0 -1
  1553. package/dist/translations/tl/retrieval.js +0 -1
  1554. package/dist/translations/tl/shared.js +0 -1
  1555. package/dist/translations/tl/utility.js +0 -1
  1556. package/dist/translations/tl/viewers.js +0 -5
  1557. package/dist/translations/tl.js +0 -1
  1558. package/dist/translations/tr/agent-tools.js +0 -1
  1559. package/dist/translations/tr/charts.js +0 -1
  1560. package/dist/translations/tr/conversation.js +0 -1
  1561. package/dist/translations/tr/data.js +0 -1
  1562. package/dist/translations/tr/forms.js +0 -1
  1563. package/dist/translations/tr/layout.js +0 -1
  1564. package/dist/translations/tr/media.js +0 -1
  1565. package/dist/translations/tr/overlays.js +0 -1
  1566. package/dist/translations/tr/retrieval.js +0 -1
  1567. package/dist/translations/tr/shared.js +0 -1
  1568. package/dist/translations/tr/utility.js +0 -1
  1569. package/dist/translations/tr/viewers.js +0 -5
  1570. package/dist/translations/tr.js +0 -1
  1571. package/dist/translations/uk/agent-tools.js +0 -1
  1572. package/dist/translations/uk/charts.js +0 -1
  1573. package/dist/translations/uk/conversation.js +0 -1
  1574. package/dist/translations/uk/data.js +0 -1
  1575. package/dist/translations/uk/forms.js +0 -1
  1576. package/dist/translations/uk/layout.js +0 -1
  1577. package/dist/translations/uk/media.js +0 -1
  1578. package/dist/translations/uk/overlays.js +0 -1
  1579. package/dist/translations/uk/retrieval.js +0 -1
  1580. package/dist/translations/uk/shared.js +0 -1
  1581. package/dist/translations/uk/utility.js +0 -1
  1582. package/dist/translations/uk/viewers.js +0 -5
  1583. package/dist/translations/uk.js +0 -1
  1584. package/dist/translations/ur/agent-tools.js +0 -1
  1585. package/dist/translations/ur/charts.js +0 -1
  1586. package/dist/translations/ur/conversation.js +0 -1
  1587. package/dist/translations/ur/data.js +0 -1
  1588. package/dist/translations/ur/forms.js +0 -1
  1589. package/dist/translations/ur/layout.js +0 -1
  1590. package/dist/translations/ur/media.js +0 -1
  1591. package/dist/translations/ur/overlays.js +0 -1
  1592. package/dist/translations/ur/retrieval.js +0 -1
  1593. package/dist/translations/ur/shared.js +0 -1
  1594. package/dist/translations/ur/utility.js +0 -1
  1595. package/dist/translations/ur/viewers.js +0 -5
  1596. package/dist/translations/ur.js +0 -1
  1597. package/dist/translations/uz/agent-tools.js +0 -1
  1598. package/dist/translations/uz/charts.js +0 -1
  1599. package/dist/translations/uz/conversation.js +0 -1
  1600. package/dist/translations/uz/data.js +0 -1
  1601. package/dist/translations/uz/forms.js +0 -1
  1602. package/dist/translations/uz/layout.js +0 -1
  1603. package/dist/translations/uz/media.js +0 -1
  1604. package/dist/translations/uz/overlays.js +0 -1
  1605. package/dist/translations/uz/retrieval.js +0 -1
  1606. package/dist/translations/uz/shared.js +0 -1
  1607. package/dist/translations/uz/utility.js +0 -1
  1608. package/dist/translations/uz/viewers.js +0 -5
  1609. package/dist/translations/uz.js +0 -1
  1610. package/dist/translations/vi/agent-tools.js +0 -1
  1611. package/dist/translations/vi/charts.js +0 -1
  1612. package/dist/translations/vi/conversation.js +0 -1
  1613. package/dist/translations/vi/data.js +0 -1
  1614. package/dist/translations/vi/forms.js +0 -1
  1615. package/dist/translations/vi/layout.js +0 -1
  1616. package/dist/translations/vi/media.js +0 -1
  1617. package/dist/translations/vi/overlays.js +0 -1
  1618. package/dist/translations/vi/retrieval.js +0 -1
  1619. package/dist/translations/vi/shared.js +0 -1
  1620. package/dist/translations/vi/utility.js +0 -1
  1621. package/dist/translations/vi/viewers.js +0 -5
  1622. package/dist/translations/vi.js +0 -1
  1623. package/dist/translations/yo/agent-tools.js +0 -1
  1624. package/dist/translations/yo/charts.js +0 -1
  1625. package/dist/translations/yo/conversation.js +0 -1
  1626. package/dist/translations/yo/data.js +0 -1
  1627. package/dist/translations/yo/forms.js +0 -1
  1628. package/dist/translations/yo/layout.js +0 -1
  1629. package/dist/translations/yo/media.js +0 -1
  1630. package/dist/translations/yo/overlays.js +0 -1
  1631. package/dist/translations/yo/retrieval.js +0 -1
  1632. package/dist/translations/yo/shared.js +0 -1
  1633. package/dist/translations/yo/utility.js +0 -1
  1634. package/dist/translations/yo/viewers.js +0 -5
  1635. package/dist/translations/yo.js +0 -1
  1636. package/dist/translations/zh-CN/agent-tools.js +0 -1
  1637. package/dist/translations/zh-CN/charts.js +0 -1
  1638. package/dist/translations/zh-CN/conversation.js +0 -1
  1639. package/dist/translations/zh-CN/data.js +0 -1
  1640. package/dist/translations/zh-CN/forms.js +0 -1
  1641. package/dist/translations/zh-CN/layout.js +0 -1
  1642. package/dist/translations/zh-CN/media.js +0 -1
  1643. package/dist/translations/zh-CN/overlays.js +0 -1
  1644. package/dist/translations/zh-CN/retrieval.js +0 -1
  1645. package/dist/translations/zh-CN/shared.js +0 -1
  1646. package/dist/translations/zh-CN/utility.js +0 -1
  1647. package/dist/translations/zh-CN/viewers.js +0 -5
  1648. package/dist/translations/zh-CN.js +0 -1
  1649. package/dist/translations/zh-TW/agent-tools.js +0 -1
  1650. package/dist/translations/zh-TW/charts.js +0 -1
  1651. package/dist/translations/zh-TW/conversation.js +0 -1
  1652. package/dist/translations/zh-TW/data.js +0 -1
  1653. package/dist/translations/zh-TW/forms.js +0 -1
  1654. package/dist/translations/zh-TW/layout.js +0 -1
  1655. package/dist/translations/zh-TW/media.js +0 -1
  1656. package/dist/translations/zh-TW/overlays.js +0 -1
  1657. package/dist/translations/zh-TW/retrieval.js +0 -1
  1658. package/dist/translations/zh-TW/shared.js +0 -1
  1659. package/dist/translations/zh-TW/utility.js +0 -1
  1660. package/dist/translations/zh-TW/viewers.js +0 -5
  1661. package/dist/translations/zh-TW.js +0 -1
  1662. package/dist/translations/zu/agent-tools.js +0 -1
  1663. package/dist/translations/zu/charts.js +0 -1
  1664. package/dist/translations/zu/conversation.js +0 -1
  1665. package/dist/translations/zu/data.js +0 -1
  1666. package/dist/translations/zu/forms.js +0 -1
  1667. package/dist/translations/zu/layout.js +0 -1
  1668. package/dist/translations/zu/media.js +0 -1
  1669. package/dist/translations/zu/overlays.js +0 -1
  1670. package/dist/translations/zu/retrieval.js +0 -1
  1671. package/dist/translations/zu/shared.js +0 -1
  1672. package/dist/translations/zu/utility.js +0 -1
  1673. package/dist/translations/zu/viewers.js +0 -5
  1674. package/dist/translations/zu.js +0 -1
  1675. package/vscode-css-data.json +0 -1
  1676. package/vscode-html-data.json +0 -1
  1677. package/web-types.json +0 -1
@@ -1,4 +1,4 @@
1
- import{__decorate}from"tslib";import{relayNativeEvent}from"../../../internal/native-event-relay.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{sanitizeCssDeclarationValue,sanitizeCssLength}from"../../../internal/safe-css.js";import{LyraElement}from"../../../internal/lyra-element.js";import{isRtl}from"../../../internal/rtl.js";import{srOnly,nextId}from"../../../internal/a11y.js";import{finiteCount,finiteInteger,finiteRatio}from"../../../internal/numbers.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{resolveCssTokenLength}from"../../../internal/css-token-length.js";import{getCollator,getNumberFormat}from"../../../internal/intl-cache.js";import{readPersistedState,writePersistedState}from"../../../internal/persisted-state.js";import{definePersistedProperty,isPersistedPropertyExplicitlySet}from"../../../internal/persisted-restore.js";import{styles}from"./table.styles.js";import{chevronIcon,closeIcon,sortIcon}from"../../../internal/icons.js";import{minMax}from"../../../internal/numbers.js";import{literalSetConverter,trueDefaultSpellcheckConverter as spellcheckConverter}from"../../../internal/converters.js";import{activeElementIn}from"../../../internal/active-element.js";import{AnnouncementSinkController}from"../../../internal/announcer.js";import{devWarnOnce}from"../../../internal/dev-mode-attribute-warning.js";import{normalizeSize,optionalSizeConverter}from"../../../internal/variants.js";import{markVetoGuardWrite,VetoWriteGuard}from"../../../internal/veto-write-guard.js";import{requestThenCommit}from"../../../internal/request-commit.js";import{ColumnResizePointerSession,columnResizeAriaValues,columnResizeKeyboardWidth,columnResizePointerWidth,columnResizeWidth}from"../../../internal/column-resize.js";import{renderDataState}from"../../../internal/data-state-renderer.js";import{LYRA_DEFAULT_clear,LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_expand,LYRA_DEFAULT_loadMore,LYRA_DEFAULT_loading,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_noColumns,LYRA_DEFAULT_noData,LYRA_DEFAULT_noMatches,LYRA_DEFAULT_open,LYRA_DEFAULT_resizeColumn,LYRA_DEFAULT_resizeValuePixels,LYRA_DEFAULT_retry,LYRA_DEFAULT_search,LYRA_DEFAULT_select,LYRA_DEFAULT_showAllColumns,LYRA_DEFAULT_showFewerColumns,LYRA_DEFAULT_tableEditCell,LYRA_DEFAULT_tableFilterLabel,LYRA_DEFAULT_tableFilterPlaceholder,LYRA_DEFAULT_tableLoadFailed,LYRA_DEFAULT_tableLoading,LYRA_DEFAULT_tableLoadingMore,LYRA_DEFAULT_tableRowLimit,LYRA_DEFAULT_tableRowTotal}from"../../../internal/default-strings.generated.js";const DEFAULT_SKELETON_ROWS=3,MAX_SKELETON_ROWS=20,DEFAULT_PAGE_SIZE=100,MAX_PAGE_SIZE=500,MAX_TABLE_COLLECTION_ENTRIES=1e4,TABLE_SCROLL_OVERFLOW_TOLERANCE_PX=1,DEFAULT_RESIZE_MIN_WIDTH_PX=48,MISSING_CELL_RENDERER_WARNING="lyra-table-missing-cell-renderer",MISSING_ACCESSIBLE_NAME_WARNING="lyra-table-missing-accessible-name",INERT_PRIORITY_COLUMN_CONFIG_WARNING="lyra-table-inert-priority-column-config";function frozenArray(values){const snapshot=[];try{for(const value of values)if(snapshot.push(value),snapshot.length>=MAX_TABLE_COLLECTION_ENTRIES)break}catch{}return Object.freeze(snapshot)}function keySet(values){const snapshot=new Set;try{for(const value of values){if(typeof value=="string"){if(value.trim().length===0)continue}else if(typeof value!="number")continue;if(snapshot.add(value),snapshot.size>=MAX_TABLE_COLLECTION_ENTRIES)break}}catch{}return snapshot}function readonlyKeySet(values){const snapshot=keySet(values);let facade;return facade={get size(){return snapshot.size},has:value=>snapshot.has(value),entries:()=>snapshot.entries(),keys:()=>snapshot.keys(),values:()=>snapshot.values(),[Symbol.iterator]:()=>snapshot[Symbol.iterator](),forEach(callback,thisArg){snapshot.forEach(value=>callback.call(thisArg,value,value,facade))}},Object.freeze(facade)}const keySetFacades=new WeakMap;function storedKeySetFacade(values){let facade=keySetFacades.get(values);return facade||(facade=readonlyKeySet(values),keySetFacades.set(values,facade)),facade}const COMPACT_EMPTY_SIZES=new Set(["2xs","xs","s"]),isCompactEmptySize=size=>COMPACT_EMPTY_SIZES.has(normalizeSize(size)),TABLE_LAYOUT=literalSetConverter(["auto","fixed"],"auto"),INTERACTIVE_SELECTOR='button, a[href], input, select, textarea, summary, audio[controls], video[controls], [contenteditable]:not([contenteditable="false"]), [tabindex]:not([tabindex="-1"]), [role="button"], [role="checkbox"], [role="combobox"], [role="listbox"], [role="menu"], [role="menuitem"], [role="option"], [role="radio"], [role="separator"], [role="slider"], [role="spinbutton"], [role="switch"], [role="tab"], [role="textbox"]';function stickyDirection(sticky){if(sticky==="start"||sticky==="end")return sticky}const cellDeclarationVerdicts=new Map,CELL_DECLARATION_CACHE_LIMIT=1e3;function sanitizeCellStyle(cellStyle){const safe={};for(const[rawProperty,value]of Object.entries(cellStyle??{})){if(typeof value!="string")continue;const property2=normalizeStyleProperty(rawProperty.trim()),key=`${property2}\0${value}`;let verdict=cellDeclarationVerdicts.get(key);verdict===void 0&&(verdict=sanitizeCssDeclarationValue(property2,value)??"",cellDeclarationVerdicts.size>=CELL_DECLARATION_CACHE_LIMIT&&cellDeclarationVerdicts.clear(),cellDeclarationVerdicts.set(key,verdict)),verdict&&(safe[property2]=verdict)}return safe}function normalizeStyleProperty(property2){return property2.startsWith("--")?property2:property2.replace(/[A-Z]/g,"-$&").toLowerCase()}function normalizedEditTrigger(editTrigger){if(editTrigger==="always"||editTrigger==="double-click")return editTrigger}function encodeKey(key){return`${typeof key}:${key}`}function safeStringifyForFilter(row){const seen=new WeakSet;try{return JSON.stringify(row,(_key,value)=>{if(typeof value=="bigint")return value.toString();if(typeof value=="object"&&value!==null){if(seen.has(value))return"[Circular]";seen.add(value)}return value})??""}catch{return""}}function asElement(value){return typeof value!="object"||!("nodeType"in value)||value.nodeType!==1||!("matches"in value)?null:value}function eventInteractiveTarget(event,boundary){for(const value of event.composedPath()){if(value===boundary)break;const element=asElement(value);if(element!==null&&(element.matches("[data-table-interactive]")||element.matches(INTERACTIVE_SELECTOR)&&!element.matches("[data-row-key], th[data-col-key]")))return element}return null}class LyraTable extends LyraElement{constructor(){super(...arguments),this.assignedSources=new Map,this._columns=Object.freeze([]),this._rows=Object.freeze([]),this._rowsTruncated=!1,this._layout="auto",this.sortKey="",this.sortDir="asc",this.sortIndicators="active",this.sortMode="client",this.defaultSortDir="asc",this.hostAccessibleLabel=null,this.caption="",this.captionId=nextId("lr-table-caption"),this.selectionMode="none",this.expansionMode="none",this.scrollMode="self",this._selectedKeys=new Set,this.filterable=!1,this.filterText="",this.spellcheck=!0,this.autocapitalize="",this.autoCorrect="",this.loading=!1,this.loadingAppearance="spinner",this.skeletonRows=0,this.pageSize=DEFAULT_PAGE_SIZE,this.page=1,this.totalItems=-1,this.paginationMode="client",this.unknownTotal=!1,this.hasNext=!0,this._expandedKeys=new Set,this.hasMore=!1,this.loadingMore=!1,this.error=!1,this.errorDescription="",this.announce=!1,this.emptyDescription="",this.emptyColumnsDescription="",this.hasHiddenPriorityColumns=!1,this.priorityToggleAvailable=!1,this.persistReady=!1,this.announcements=new AnnouncementSinkController(this,{eager:["polite","assertive"]}),this.firstUpdateAnnouncementsReady=!1,this.activeColKey=null,this.activeRowKey=null,this.editingCell=null,this.focusedEditorCell=null,this.editorHadFocusBeforeUpdate=!1,this.rovingFocusSnapshot=null,this._resizedColumnWidths=new Map,this.resizeWriteGuard=new VetoWriteGuard,this.resizePointer=new ColumnResizePointerSession(event=>this.onResizePointerMove(event),event=>this.onResizePointerEnd(event),event=>this.onResizePointerEnd(event)),this.rowsByKey=new Map,this.columnsByKey=new Map,this.layoutFrame=null,this.observedHeaders=new Set,this.priorityTierNaturalWidth=new Map,this.priorityTierHiddenAllocation=new Map,this.priorityTierRevealAllocation=new Map,this.onResizePointerDown=event=>{const handle=event.currentTarget,key=handle.dataset.colKey,column=key?this.columnsByKey.get(key):void 0,header=handle.closest("th[data-col-key]");if(!key||!column||!header||!this.ownerDocument.defaultView)return;const replacedStartWidth=this.resizeState?.key===key?this.resizeState.startWidth:void 0;this.cancelResizeGesture();const minWidth=this.minimumResizeWidth(column);this.resizeState={key,pointerId:event.pointerId,startX:event.clientX,startWidth:replacedStartWidth??header.getBoundingClientRect().width,minWidth,maxWidth:this.maximumResizeWidth(column,minWidth),handle,previousWidth:this.resizedColumnWidths.get(key)},handle.toggleAttribute("data-resizing",!0),event.preventDefault(),event.stopPropagation(),this.resizePointer.start(event,handle)},this.onResizePointerMove=event=>{const state2=this.resizeState;if(!state2||event.pointerId!==state2.pointerId)return;const width=columnResizePointerWidth(state2.startWidth,state2.startX,event.clientX,isRtl(this),state2.minWidth,state2.maxWidth);this.resizedColumnWidths.get(state2.key)!==width&&(this.resizedColumnWidths=new Map(this.resizedColumnWidths).set(state2.key,width),this.emit("lr-column-resize",Object.freeze({columnKey:state2.key,width})))},this.onResizeKeyDown=event=>{const handle=event.currentTarget,key=handle.dataset.colKey,column=key?this.columnsByKey.get(key):void 0;if(!column)return;const minWidth=this.minimumResizeWidth(column),maxWidth=this.maximumResizeWidth(column,minWidth),currentWidth=this.currentResizeWidth(column,handle),requestedWidth=columnResizeKeyboardWidth(event,currentWidth,minWidth,maxWidth,isRtl(this));requestedWidth!==void 0&&(event.preventDefault(),event.stopPropagation(),this.resizeColumnTo(column,requestedWidth))},this.onResizePointerEnd=event=>{const state2=this.resizeState;if(!state2||event.pointerId!==state2.pointerId)return;if(state2.handle.removeAttribute("data-resizing"),this.resizeState=void 0,this.resizePointer.stop(),event.type!=="pointerup"){const reverted=new Map(this.resizedColumnWidths);state2.previousWidth===void 0?reverted.delete(state2.key):reverted.set(state2.key,state2.previousWidth),this.resizedColumnWidths=reverted;return}const committedWidth=this.resizedColumnWidths.get(state2.key);if(committedWidth===void 0||committedWidth===state2.previousWidth)return;this.resizeWriteGuard.open();const request=this.emit("lr-column-resize-request",Object.freeze({columnKey:state2.key,width:committedWidth}),{cancelable:!0});if(!this.resizeWriteGuard.touched){if(request.defaultPrevented){this.rollbackResizePreview(state2);return}this.emit("lr-column-resize",Object.freeze({columnKey:state2.key,width:committedWidth}))}},this.scheduleLayoutSync=()=>{if(this.layoutFrame)return;const owner=this.ownerDocument.defaultView;if(!owner)return;const frame={owner,handle:0};frame.handle=owner.requestAnimationFrame(()=>{this.layoutFrame===frame&&(this.layoutFrame=null,!(!this.isConnected||this.ownerDocument.defaultView!==owner)&&(this.syncAutoScrollMode(),this.recomputeHiddenPriorityColumns(),this.applyStickyOffsets(),this.syncResizeHandleValues()))}),this.layoutFrame=frame},this.cachedCanonicalRowEntries=null,this.canonicalRowEntriesInputs=null,this.cachedMatchingEntries=null,this.matchingEntriesInputs=null,this.cachedSortedEntries=null,this.sortedEntriesInputs=null,this.onFilterInput=event=>{event.stopPropagation();const input=event.currentTarget;this.filterText=input.value,this.emit("lr-filter-change",Object.freeze({filterText:this.filterText}))},this.onClearFilter=()=>{this.filterText!==""&&(this.filterText="",this.emit("lr-filter-change",Object.freeze({filterText:""})),this.renderRoot.querySelector('[part="filter"]')?.focus())},this.stopOwnedEvent=event=>{event.stopPropagation()},this.onNativeFocus=event=>{event.stopPropagation(),relayNativeEvent(this,event)},this.onNativeBlur=event=>{event.stopPropagation(),relayNativeEvent(this,event)},this.onPaginationChange=event=>{event.stopPropagation();const{page}=event.detail;this.paginationMode==="client"&&(this.page=page),this.emit("lr-page-change",Object.freeze({page}))},this.onTableFocusIn=event=>{const target=event.target,cell=target?.closest?.("td[data-col-key]"),row=target?.closest?.("[data-row-key]"),columnKey=cell?.dataset.colKey,rowKey=row?.dataset.rowKey;this.focusedEditorCell=target?.getAttribute("part")==="cell-editor"&&columnKey!==void 0&&rowKey!==void 0&&normalizedEditTrigger(this.columnsByKey.get(columnKey)?.editTrigger)==="always"?{rowKey,columnKey}:null},this.onEditorKeyDown=(event,rowKey,columnKey)=>{event.stopPropagation();const alwaysOn=normalizedEditTrigger(this.columnsByKey.get(columnKey)?.editTrigger)==="always";event.key==="Enter"?(event.preventDefault(),this.commitEdit(event,rowKey,columnKey)):event.key==="Escape"&&!alwaysOn&&(event.preventDefault(),this.editingCell=null)},this.onTableDoubleClick=event=>{const target=event.target,table=event.currentTarget;if(eventInteractiveTarget(event,table))return;const cell=target.closest('[part="cell"][data-col-key]'),row=target.closest("[data-row-key]");cell&&row?.dataset.rowKey&&cell.dataset.colKey&&this.startEditing(row.dataset.rowKey,cell.dataset.colKey)},this.toggleColumns=()=>{this.priorityColumnsVisible=!this.priorityColumnsVisible,this.emit("lr-priority-columns-visibility-change",Object.freeze({visible:this.priorityColumnsVisible}))},this.onTableClick=e=>{const target=e.target,table=e.currentTarget;if(eventInteractiveTarget(e,table))return;const th=target.closest("th[data-col-key]");if(th)return this.activateColumn(th.dataset.colKey);const tr=target.closest("[data-row-key]");tr&&this.activateRow(tr.dataset.rowKey)},this.onTableKeyDown=e=>{const target=e.target,table=e.currentTarget;if(eventInteractiveTarget(e,table)||(e.altKey||e.metaKey)&&e.key.startsWith("Arrow"))return;const th=target.closest("th[data-col-key]");if(th)return this.onHeaderKeyDown(e,th);const tr=target.closest("[data-row-key]");tr&&this.onRowKeyDown(e,tr)}}static{this.defaultStrings={...super.defaultStrings,clear:LYRA_DEFAULT_clear,collapse:LYRA_DEFAULT_collapse,details:LYRA_DEFAULT_details,expand:LYRA_DEFAULT_expand,loadMore:LYRA_DEFAULT_loadMore,loading:LYRA_DEFAULT_loading,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,noColumns:LYRA_DEFAULT_noColumns,noData:LYRA_DEFAULT_noData,noMatches:LYRA_DEFAULT_noMatches,open:LYRA_DEFAULT_open,resizeColumn:LYRA_DEFAULT_resizeColumn,resizeValuePixels:LYRA_DEFAULT_resizeValuePixels,retry:LYRA_DEFAULT_retry,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select,showAllColumns:LYRA_DEFAULT_showAllColumns,showFewerColumns:LYRA_DEFAULT_showFewerColumns,tableEditCell:LYRA_DEFAULT_tableEditCell,tableFilterLabel:LYRA_DEFAULT_tableFilterLabel,tableFilterPlaceholder:LYRA_DEFAULT_tableFilterPlaceholder,tableLoadFailed:LYRA_DEFAULT_tableLoadFailed,tableLoading:LYRA_DEFAULT_tableLoading,tableLoadingMore:LYRA_DEFAULT_tableLoadingMore,tableRowLimit:LYRA_DEFAULT_tableRowLimit,tableRowTotal:LYRA_DEFAULT_tableRowTotal}}static{this.styles=[LyraElement.styles,styles,srOnly]}isRebind(name,value,current){return value===current||this.assignedSources.has(name)&&this.assignedSources.get(name)===value?!0:(this.assignedSources.set(name,value),!1)}get columns(){return this._columns}set columns(value){if(this.isRebind("columns",value,this._columns))return;const previous=this._columns,columns=[],seen=new Set;let length=0;try{if(Array.isArray(value)){const descriptor=Object.getOwnPropertyDescriptor(value,"length"),sourceLength=descriptor&&"value"in descriptor?descriptor.value:0;typeof sourceLength=="number"&&Number.isSafeInteger(sourceLength)&&sourceLength>=0&&(length=Math.min(sourceLength,MAX_TABLE_COLLECTION_ENTRIES))}}catch{length=0}for(let index=0;index<length;index+=1){let descriptor;try{descriptor=Object.getOwnPropertyDescriptor(value,String(index))}catch{continue}if(!descriptor||!("value"in descriptor))continue;const column=descriptor.value;try{const key=column?.key;if(typeof key!="string"||key.trim().length===0||seen.has(key))continue;seen.add(key),columns.push(column)}catch{}}this._columns=frozenArray(columns),this.requestUpdate("columns",previous)}get rows(){return this._rows}set rows(value){if(this.isRebind("rows",value,this._rows))return;const previous=this._rows;this._rows=frozenArray(Array.isArray(value)?value:[]),this._rowsTruncated=Array.isArray(value)&&value.length>this._rows.length,this.requestUpdate("rows",previous)}get rowsTruncated(){return this._rowsTruncated}get layout(){return this._layout}set layout(next){const normalized=TABLE_LAYOUT.normalizeReflected(this,"layout",next),old=this._layout;old!==normalized&&(this._layout=normalized,this.requestUpdate("layout",old))}get selectedRowKeys(){return storedKeySetFacade(this._selectedKeys)}set selectedRowKeys(value){if(this.isRebind("selectedRowKeys",value,storedKeySetFacade(this._selectedKeys)))return;const previous=this._selectedKeys;this._selectedKeys=keySet(value??[]),this.requestUpdate("selectedRowKeys",previous)}get expandedRowKeys(){return storedKeySetFacade(this._expandedKeys)}set expandedRowKeys(value){if(this.isRebind("expandedRowKeys",value,storedKeySetFacade(this._expandedKeys)))return;const previous=this._expandedKeys;this._expandedKeys=keySet(value??[]),this.requestUpdate("expandedRowKeys",previous)}asKeySet(keys){return keys}asKeyList(keys){return keys}get emptySize(){return this._emptySize}set emptySize(value){const previous=this._emptySize,next=optionalSizeConverter.normalize(value);next!==previous&&(this._emptySize=next,this.requestUpdate("emptySize",previous))}get priorityColumnsToggleAvailable(){return this.priorityToggleAvailable}static{definePersistedProperty(this.prototype,"priorityColumnsVisible",{initial:!1,attribute:"priority-columns-visible",type:Boolean,reflect:!0})}get storageFullKey(){return this.storageKey?`lr-table:${this.storageKey}`:void 0}get resizedColumnWidths(){return this._resizedColumnWidths}set resizedColumnWidths(value){const previous=this._resizedColumnWidths;this._resizedColumnWidths=value,markVetoGuardWrite(this.resizeWriteGuard),this.requestUpdate("resizedColumnWidths",previous)}parsePixelLength(value){if(!value)return;const trimmed=value.trim();if(!trimmed.endsWith("px"))return;const parsed=Number.parseFloat(trimmed);return Number.isFinite(parsed)?parsed:void 0}minimumResizeWidth(column){const explicit=this.parsePixelLength(column.minWidth);if(explicit!==void 0)return Math.max(0,explicit);const cached=this.themedResizeMinWidth;if(cached&&cached.document===this.ownerDocument)return cached.width;const width=this.resolveThemedResizeMinWidth();return this.themedResizeMinWidth={document:this.ownerDocument,width},width}resolveThemedResizeMinWidth(){const hostStyle=this.ownerDocument.defaultView?.getComputedStyle(this),themed=hostStyle?.getPropertyValue("--lr-table-resize-min-width").trim()||hostStyle?.getPropertyValue("--_lr-table-resize-min-width-default").trim()||"",resolved=resolveCssTokenLength(themed,{host:this});return resolved===void 0?DEFAULT_RESIZE_MIN_WIDTH_PX:Math.max(0,resolved)}maximumResizeWidth(column,minWidth){const explicit=this.parsePixelLength(column.maxWidth);return explicit===void 0?Number.POSITIVE_INFINITY:Math.max(minWidth,explicit)}currentResizeWidth(column,handle){const resized=this.resizedColumnWidths.get(column.key);if(resized!==void 0)return resized;const explicit=this.parsePixelLength(column.width);if(explicit!==void 0)return explicit;const rendered=handle?.closest("th[data-col-key]")?.getBoundingClientRect().width;return rendered&&rendered>0?rendered:this.minimumResizeWidth(column)}resizeValueText(width){return this.localize("resizeValuePixels",void 0,{value:getNumberFormat(this.effectiveLocale).format(Math.round(width))})}resizeColumnTo(column,requestedWidth){const minWidth=this.minimumResizeWidth(column),maxWidth=this.maximumResizeWidth(column,minWidth),width=columnResizeWidth(requestedWidth,minWidth,maxWidth);this.resizedColumnWidths.get(column.key)!==width&&requestThenCommit({requestDetail:Object.freeze({columnKey:column.key,width}),emitRequest:(detail,init)=>this.emit("lr-column-resize-request",detail,init),guard:this.resizeWriteGuard,commit:()=>{this.resizedColumnWidths=new Map(this.resizedColumnWidths).set(column.key,width),this.emit("lr-column-resize",Object.freeze({columnKey:column.key,width})),markVetoGuardWrite(this.resizeWriteGuard)}})}renderedColumnWidth(column){const resized=this.resizedColumnWidths.get(column.key);return resized===void 0?sanitizeCssLength(column.width,"height"):`${resized}px`}renderResizeHandle(column){if(!column.resizable)return nothing;const minWidth=this.minimumResizeWidth(column),maxWidth=this.maximumResizeWidth(column,minWidth),width=this.currentResizeWidth(column),aria=columnResizeAriaValues(width,minWidth,maxWidth);return html`<span
1
+ import{__decorate}from"tslib";import{relayNativeEvent}from"../../../internal/native-event-relay.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{sanitizeCssDeclarationValue,sanitizeCssLength}from"../../../internal/safe-css.js";import{LyraElement}from"../../../internal/lyra-element.js";import{isRtl}from"../../../internal/rtl.js";import{srOnly,nextId}from"../../../internal/a11y.js";import{finiteCount,finiteInteger,finiteRatio}from"../../../internal/numbers.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{resolveCssTokenLength}from"../../../internal/css-token-length.js";import{getCollator,getNumberFormat}from"../../../internal/intl-cache.js";import{readPersistedState,writePersistedState}from"../../../internal/persisted-state.js";import{definePersistedProperty,isPersistedPropertyExplicitlySet}from"../../../internal/persisted-restore.js";import{styles}from"./table.styles.js";import{chevronIcon,closeIcon,sortIcon}from"../../../internal/icons.js";import{minMax}from"../../../internal/numbers.js";import{literalSetConverter,trueDefaultSpellcheckConverter as spellcheckConverter}from"../../../internal/converters.js";import{activeElementIn,shadowFocusTarget}from"../../../internal/active-element.js";import{AnnouncementSinkController}from"../../../internal/announcer.js";import{devWarnOnce}from"../../../internal/dev-mode-attribute-warning.js";import{normalizeSize,optionalSizeConverter}from"../../../internal/variants.js";import{markVetoGuardWrite,VetoWriteGuard}from"../../../internal/veto-write-guard.js";import{requestThenCommit}from"../../../internal/request-commit.js";import{ColumnResizePointerSession,columnResizeAriaValues,columnResizeKeyboardWidth,columnResizePointerWidth,columnResizeWidth}from"../../../internal/column-resize.js";import{renderDataState}from"../../../internal/data-state-renderer.js";import{LYRA_DEFAULT_noColumns,LYRA_DEFAULT_resizeColumn,LYRA_DEFAULT_showAllColumns,LYRA_DEFAULT_showFewerColumns,LYRA_DEFAULT_tableEditCell,LYRA_DEFAULT_tableFilterLabel,LYRA_DEFAULT_tableFilterPlaceholder,LYRA_DEFAULT_tableLoading,LYRA_DEFAULT_tableLoadingMore,LYRA_DEFAULT_tableRowLimit,LYRA_DEFAULT_tableRowTotal}from"../../../internal/default-strings/data.generated.js";import{LYRA_DEFAULT_clear,LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_expand,LYRA_DEFAULT_loadMore,LYRA_DEFAULT_loading,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_noData,LYRA_DEFAULT_noMatches,LYRA_DEFAULT_open,LYRA_DEFAULT_resizeValuePixels,LYRA_DEFAULT_retry,LYRA_DEFAULT_search,LYRA_DEFAULT_select,LYRA_DEFAULT_tableLoadFailed}from"../../../internal/default-strings/shared.generated.js";const DEFAULT_SKELETON_ROWS=3,MAX_SKELETON_ROWS=20,DEFAULT_PAGE_SIZE=100,MAX_PAGE_SIZE=500,MAX_TABLE_COLLECTION_ENTRIES=1e4,TABLE_SCROLL_OVERFLOW_TOLERANCE_PX=1,DEFAULT_RESIZE_MIN_WIDTH_PX=48,MISSING_CELL_RENDERER_WARNING="lyra-table-missing-cell-renderer",MISSING_ACCESSIBLE_NAME_WARNING="lyra-table-missing-accessible-name",INERT_PRIORITY_COLUMN_CONFIG_WARNING="lyra-table-inert-priority-column-config";function frozenArray(values){const snapshot=[];try{for(const value of values)if(snapshot.push(value),snapshot.length>=MAX_TABLE_COLLECTION_ENTRIES)break}catch{}return Object.freeze(snapshot)}function keySet(values){const snapshot=new Set;try{for(const value of values){if(typeof value=="string"){if(value.trim().length===0)continue}else if(typeof value!="number")continue;if(snapshot.add(value),snapshot.size>=MAX_TABLE_COLLECTION_ENTRIES)break}}catch{}return snapshot}function readonlyKeySet(values){const snapshot=keySet(values);let facade;return facade={get size(){return snapshot.size},has:value=>snapshot.has(value),entries:()=>snapshot.entries(),keys:()=>snapshot.keys(),values:()=>snapshot.values(),[Symbol.iterator]:()=>snapshot[Symbol.iterator](),forEach(callback,thisArg){snapshot.forEach(value=>callback.call(thisArg,value,value,facade))}},Object.freeze(facade)}const keySetFacades=new WeakMap;function storedKeySetFacade(values){let facade=keySetFacades.get(values);return facade||(facade=readonlyKeySet(values),keySetFacades.set(values,facade)),facade}const COMPACT_EMPTY_SIZES=new Set(["2xs","xs","s"]),isCompactEmptySize=size=>COMPACT_EMPTY_SIZES.has(normalizeSize(size)),TABLE_LAYOUT=literalSetConverter(["auto","fixed"],"auto"),TABLE_PAGINATION_FORMAT=literalSetConverter(["standard","compact"],"compact"),INTERACTIVE_SELECTOR='button, a[href], input, select, textarea, summary, audio[controls], video[controls], [contenteditable]:not([contenteditable="false"]), [tabindex]:not([tabindex="-1"]), [role="button"], [role="checkbox"], [role="combobox"], [role="listbox"], [role="menu"], [role="menuitem"], [role="option"], [role="radio"], [role="separator"], [role="slider"], [role="spinbutton"], [role="switch"], [role="tab"], [role="textbox"]';function stickyDirection(sticky){if(sticky==="start"||sticky==="end")return sticky}const cellDeclarationVerdicts=new Map,CELL_DECLARATION_CACHE_LIMIT=1e3;function sanitizeCellStyle(cellStyle){const safe={};for(const[rawProperty,value]of Object.entries(cellStyle??{})){if(typeof value!="string")continue;const property2=normalizeStyleProperty(rawProperty.trim()),key=`${property2}\0${value}`;let verdict=cellDeclarationVerdicts.get(key);verdict===void 0&&(verdict=sanitizeCssDeclarationValue(property2,value)??"",cellDeclarationVerdicts.size>=CELL_DECLARATION_CACHE_LIMIT&&cellDeclarationVerdicts.clear(),cellDeclarationVerdicts.set(key,verdict)),verdict&&(safe[property2]=verdict)}return safe}function normalizeStyleProperty(property2){return property2.startsWith("--")?property2:property2.replace(/[A-Z]/g,"-$&").toLowerCase()}function normalizedEditTrigger(editTrigger){if(editTrigger==="always"||editTrigger==="double-click")return editTrigger}function encodeKey(key){return`${typeof key}:${key}`}function safeStringifyForFilter(row){const seen=new WeakSet;try{return JSON.stringify(row,(_key,value)=>{if(typeof value=="bigint")return value.toString();if(typeof value=="object"&&value!==null){if(seen.has(value))return"[Circular]";seen.add(value)}return value})??""}catch{return""}}function asElement(value){return typeof value!="object"||!("nodeType"in value)||value.nodeType!==1||!("matches"in value)?null:value}function eventInteractiveTarget(event,boundary){for(const value of event.composedPath()){if(value===boundary)break;const element=asElement(value);if(element!==null&&(element.matches("[data-table-interactive]")||element.matches(INTERACTIVE_SELECTOR)&&!element.matches("[data-row-key], th[data-col-key]")))return element}return null}class LyraTable extends LyraElement{constructor(){super(...arguments),this.assignedSources=new Map,this._columns=Object.freeze([]),this._rows=Object.freeze([]),this._rowsTruncated=!1,this._layout="auto",this.sortKey="",this.sortDir="asc",this.sortIndicators="active",this.sortMode="client",this.defaultSortDir="asc",this.hostAccessibleLabel=null,this.caption="",this.captionId=nextId("lr-table-caption"),this.selectionMode="none",this.expansionMode="none",this.scrollMode="self",this._selectedKeys=new Set,this.filterable=!1,this.filterText="",this.spellcheck=!0,this.autocapitalize="",this.autoCorrect="",this.loading=!1,this.loadingAppearance="spinner",this.skeletonRows=0,this.pageSize=DEFAULT_PAGE_SIZE,this.page=1,this.totalItems=-1,this.paginationMode="client",this.unknownTotal=!1,this.paginationWithSummary=!1,this.paginationFormat="compact",this.hasNext=!0,this._expandedKeys=new Set,this.hasMore=!1,this.loadingMore=!1,this.error=!1,this.errorDescription="",this.announce=!1,this.emptyDescription="",this.emptyColumnsDescription="",this.hasHiddenPriorityColumns=!1,this.priorityToggleAvailable=!1,this.persistReady=!1,this.announcements=new AnnouncementSinkController(this,{eager:["polite","assertive"]}),this.firstUpdateAnnouncementsReady=!1,this.activeColKey=null,this.activeRowKey=null,this.editingCell=null,this.focusedEditorCell=null,this.editorHadFocusBeforeUpdate=!1,this.rovingFocusSnapshot=null,this._resizedColumnWidths=new Map,this.resizeWriteGuard=new VetoWriteGuard,this.resizePointer=new ColumnResizePointerSession(event=>this.onResizePointerMove(event),event=>this.onResizePointerEnd(event),event=>this.onResizePointerEnd(event)),this.rowsByKey=new Map,this.columnsByKey=new Map,this.layoutFrame=null,this.observedHeaders=new Set,this.priorityTierNaturalWidth=new Map,this.priorityTierHiddenAllocation=new Map,this.priorityTierRevealAllocation=new Map,this.onResizePointerDown=event=>{const handle=event.currentTarget,key=handle.dataset.colKey,column=key?this.columnsByKey.get(key):void 0,header=handle.closest("th[data-col-key]");if(!key||!column||!header||!this.ownerDocument.defaultView)return;const replacedStartWidth=this.resizeState?.key===key?this.resizeState.startWidth:void 0;this.cancelResizeGesture();const minWidth=this.minimumResizeWidth(column);this.resizeState={key,pointerId:event.pointerId,startX:event.clientX,startWidth:replacedStartWidth??header.getBoundingClientRect().width,minWidth,maxWidth:this.maximumResizeWidth(column,minWidth),handle,previousWidth:this.resizedColumnWidths.get(key)},handle.toggleAttribute("data-resizing",!0),event.preventDefault(),event.stopPropagation(),this.resizePointer.start(event,handle)},this.onResizePointerMove=event=>{const state2=this.resizeState;if(!state2||event.pointerId!==state2.pointerId)return;const width=columnResizePointerWidth(state2.startWidth,state2.startX,event.clientX,isRtl(this),state2.minWidth,state2.maxWidth);this.resizedColumnWidths.get(state2.key)!==width&&(this.resizedColumnWidths=new Map(this.resizedColumnWidths).set(state2.key,width),this.emit("lr-column-resize",Object.freeze({columnKey:state2.key,width})))},this.onResizeKeyDown=event=>{const handle=event.currentTarget,key=handle.dataset.colKey,column=key?this.columnsByKey.get(key):void 0;if(!column)return;const minWidth=this.minimumResizeWidth(column),maxWidth=this.maximumResizeWidth(column,minWidth),currentWidth=this.currentResizeWidth(column,handle),requestedWidth=columnResizeKeyboardWidth(event,currentWidth,minWidth,maxWidth,isRtl(this));requestedWidth!==void 0&&(event.preventDefault(),event.stopPropagation(),this.resizeColumnTo(column,requestedWidth))},this.onResizePointerEnd=event=>{const state2=this.resizeState;if(!state2||event.pointerId!==state2.pointerId)return;if(state2.handle.removeAttribute("data-resizing"),this.resizeState=void 0,this.resizePointer.stop(),event.type!=="pointerup"){const reverted=new Map(this.resizedColumnWidths);state2.previousWidth===void 0?reverted.delete(state2.key):reverted.set(state2.key,state2.previousWidth),this.resizedColumnWidths=reverted;return}const committedWidth=this.resizedColumnWidths.get(state2.key);if(committedWidth===void 0||committedWidth===state2.previousWidth)return;this.resizeWriteGuard.open();const request=this.emit("lr-column-resize-request",Object.freeze({columnKey:state2.key,width:committedWidth}),{cancelable:!0});if(!this.resizeWriteGuard.touched){if(request.defaultPrevented){this.rollbackResizePreview(state2);return}this.emit("lr-column-resize",Object.freeze({columnKey:state2.key,width:committedWidth}))}},this.scheduleLayoutSync=()=>{if(this.layoutFrame)return;const owner=this.ownerDocument.defaultView;if(!owner)return;const frame={owner,handle:0};frame.handle=owner.requestAnimationFrame(()=>{this.layoutFrame===frame&&(this.layoutFrame=null,!(!this.isConnected||this.ownerDocument.defaultView!==owner)&&(this.syncAutoScrollMode(),this.recomputeHiddenPriorityColumns(),this.applyStickyOffsets(),this.syncResizeHandleValues()))}),this.layoutFrame=frame},this.cachedCanonicalRowEntries=null,this.canonicalRowEntriesInputs=null,this.cachedMatchingEntries=null,this.matchingEntriesInputs=null,this.cachedSortedEntries=null,this.sortedEntriesInputs=null,this.onFilterInput=event=>{event.stopPropagation();const input=event.currentTarget;this.filterText=input.value,this.emit("lr-filter-change",Object.freeze({filterText:this.filterText}))},this.onClearFilter=()=>{this.filterText!==""&&(this.filterText="",this.emit("lr-filter-change",Object.freeze({filterText:""})),this.renderRoot.querySelector('[part="filter"]')?.focus())},this.stopOwnedEvent=event=>{event.stopPropagation()},this.onNativeFocus=event=>{event.stopPropagation(),relayNativeEvent(this,event)},this.onNativeBlur=event=>{event.stopPropagation(),relayNativeEvent(this,event)},this.onPaginationChange=event=>{event.stopPropagation();const{page}=event.detail;this.paginationMode==="client"&&(this.page=page),this.emit("lr-page-change",Object.freeze({page}))},this.onTableFocusIn=event=>{const target=event.target,cell=target?.closest?.("td[data-col-key]"),row=target?.closest?.("[data-row-key]"),columnKey=cell?.dataset.colKey,rowKey=row?.dataset.rowKey;this.focusedEditorCell=target?.getAttribute("part")==="cell-editor"&&columnKey!==void 0&&rowKey!==void 0&&normalizedEditTrigger(this.columnsByKey.get(columnKey)?.editTrigger)==="always"?{rowKey,columnKey}:null},this.onEditorKeyDown=(event,rowKey,columnKey)=>{event.stopPropagation();const alwaysOn=normalizedEditTrigger(this.columnsByKey.get(columnKey)?.editTrigger)==="always";event.key==="Enter"?(event.preventDefault(),this.commitEdit(event,rowKey,columnKey)):event.key==="Escape"&&!alwaysOn&&(event.preventDefault(),this.editingCell=null)},this.onTableDoubleClick=event=>{const target=event.target,table=event.currentTarget;if(eventInteractiveTarget(event,table))return;const cell=target.closest('[part="cell"][data-col-key]'),row=target.closest("[data-row-key]");cell&&row?.dataset.rowKey&&cell.dataset.colKey&&this.startEditing(row.dataset.rowKey,cell.dataset.colKey)},this.toggleColumns=()=>{this.priorityColumnsVisible=!this.priorityColumnsVisible,this.emit("lr-priority-columns-visibility-change",Object.freeze({visible:this.priorityColumnsVisible}))},this.onTableClick=e=>{const target=e.target,table=e.currentTarget;if(eventInteractiveTarget(e,table))return;const th=target.closest("th[data-col-key]");if(th)return this.activateColumn(th.dataset.colKey);const tr=target.closest("[data-row-key]");tr&&this.activateRow(tr.dataset.rowKey)},this.onTableKeyDown=e=>{const target=e.target,table=e.currentTarget;if(eventInteractiveTarget(e,table)||(e.altKey||e.metaKey)&&e.key.startsWith("Arrow"))return;const th=target.closest("th[data-col-key]");if(th)return this.onHeaderKeyDown(e,th);const tr=target.closest("[data-row-key]");tr&&this.onRowKeyDown(e,tr)}}static{this.defaultStrings={...super.defaultStrings,clear:LYRA_DEFAULT_clear,collapse:LYRA_DEFAULT_collapse,details:LYRA_DEFAULT_details,expand:LYRA_DEFAULT_expand,loadMore:LYRA_DEFAULT_loadMore,loading:LYRA_DEFAULT_loading,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,noColumns:LYRA_DEFAULT_noColumns,noData:LYRA_DEFAULT_noData,noMatches:LYRA_DEFAULT_noMatches,open:LYRA_DEFAULT_open,resizeColumn:LYRA_DEFAULT_resizeColumn,resizeValuePixels:LYRA_DEFAULT_resizeValuePixels,retry:LYRA_DEFAULT_retry,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select,showAllColumns:LYRA_DEFAULT_showAllColumns,showFewerColumns:LYRA_DEFAULT_showFewerColumns,tableEditCell:LYRA_DEFAULT_tableEditCell,tableFilterLabel:LYRA_DEFAULT_tableFilterLabel,tableFilterPlaceholder:LYRA_DEFAULT_tableFilterPlaceholder,tableLoadFailed:LYRA_DEFAULT_tableLoadFailed,tableLoading:LYRA_DEFAULT_tableLoading,tableLoadingMore:LYRA_DEFAULT_tableLoadingMore,tableRowLimit:LYRA_DEFAULT_tableRowLimit,tableRowTotal:LYRA_DEFAULT_tableRowTotal}}static{this.styles=[LyraElement.styles,styles,srOnly]}isRebind(name,value,current){return value===current||this.assignedSources.has(name)&&this.assignedSources.get(name)===value?!0:(this.assignedSources.set(name,value),!1)}get columns(){return this._columns}set columns(value){if(this.isRebind("columns",value,this._columns))return;const previous=this._columns,columns=[],seen=new Set;let length=0;try{if(Array.isArray(value)){const descriptor=Object.getOwnPropertyDescriptor(value,"length"),sourceLength=descriptor&&"value"in descriptor?descriptor.value:0;typeof sourceLength=="number"&&Number.isSafeInteger(sourceLength)&&sourceLength>=0&&(length=Math.min(sourceLength,MAX_TABLE_COLLECTION_ENTRIES))}}catch{length=0}for(let index=0;index<length;index+=1){let descriptor;try{descriptor=Object.getOwnPropertyDescriptor(value,String(index))}catch{continue}if(!descriptor||!("value"in descriptor))continue;const column=descriptor.value;try{const key=column?.key;if(typeof key!="string"||key.trim().length===0||seen.has(key))continue;seen.add(key),columns.push(column)}catch{}}this._columns=frozenArray(columns),this.requestUpdate("columns",previous)}get rows(){return this._rows}set rows(value){if(this.isRebind("rows",value,this._rows))return;const previous=this._rows;this._rows=frozenArray(Array.isArray(value)?value:[]),this._rowsTruncated=Array.isArray(value)&&value.length>this._rows.length,this.requestUpdate("rows",previous)}get rowsTruncated(){return this._rowsTruncated}get layout(){return this._layout}set layout(next){const normalized=TABLE_LAYOUT.normalizeReflected(this,"layout",next),old=this._layout;old!==normalized&&(this._layout=normalized,this.requestUpdate("layout",old))}get selectedRowKeys(){return storedKeySetFacade(this._selectedKeys)}set selectedRowKeys(value){if(this.isRebind("selectedRowKeys",value,storedKeySetFacade(this._selectedKeys)))return;const previous=this._selectedKeys;this._selectedKeys=keySet(value??[]),this.requestUpdate("selectedRowKeys",previous)}get expandedRowKeys(){return storedKeySetFacade(this._expandedKeys)}set expandedRowKeys(value){if(this.isRebind("expandedRowKeys",value,storedKeySetFacade(this._expandedKeys)))return;const previous=this._expandedKeys;this._expandedKeys=keySet(value??[]),this.requestUpdate("expandedRowKeys",previous)}asKeySet(keys){return keys}asKeyList(keys){return keys}get emptySize(){return this._emptySize}set emptySize(value){const previous=this._emptySize,next=optionalSizeConverter.normalize(value);next!==previous&&(this._emptySize=next,this.requestUpdate("emptySize",previous))}get priorityColumnsToggleAvailable(){return this.priorityToggleAvailable}static{definePersistedProperty(this.prototype,"priorityColumnsVisible",{initial:!1,attribute:"priority-columns-visible",type:Boolean,reflect:!0})}get storageFullKey(){return this.storageKey?`lr-table:${this.storageKey}`:void 0}get resizedColumnWidths(){return this._resizedColumnWidths}set resizedColumnWidths(value){const previous=this._resizedColumnWidths;this._resizedColumnWidths=value,markVetoGuardWrite(this.resizeWriteGuard),this.requestUpdate("resizedColumnWidths",previous)}parsePixelLength(value){if(!value)return;const trimmed=value.trim();if(!trimmed.endsWith("px"))return;const parsed=Number.parseFloat(trimmed);return Number.isFinite(parsed)?parsed:void 0}minimumResizeWidth(column){const explicit=this.parsePixelLength(column.minWidth);if(explicit!==void 0)return Math.max(0,explicit);const cached=this.themedResizeMinWidth;if(cached&&cached.document===this.ownerDocument)return cached.width;const width=this.resolveThemedResizeMinWidth();return this.themedResizeMinWidth={document:this.ownerDocument,width},width}resolveThemedResizeMinWidth(){const hostStyle=this.ownerDocument.defaultView?.getComputedStyle(this),themed=hostStyle?.getPropertyValue("--lr-table-resize-min-width").trim()||hostStyle?.getPropertyValue("--_lr-table-resize-min-width-default").trim()||"",resolved=resolveCssTokenLength(themed,{host:this});return resolved===void 0?DEFAULT_RESIZE_MIN_WIDTH_PX:Math.max(0,resolved)}maximumResizeWidth(column,minWidth){const explicit=this.parsePixelLength(column.maxWidth);return explicit===void 0?Number.POSITIVE_INFINITY:Math.max(minWidth,explicit)}currentResizeWidth(column,handle){const resized=this.resizedColumnWidths.get(column.key);if(resized!==void 0)return resized;const explicit=this.parsePixelLength(column.width);if(explicit!==void 0)return explicit;const rendered=handle?.closest("th[data-col-key]")?.getBoundingClientRect().width;return rendered&&rendered>0?rendered:this.minimumResizeWidth(column)}resizeValueText(width){return this.localize("resizeValuePixels",void 0,{value:getNumberFormat(this.effectiveLocale).format(Math.round(width))})}resizeColumnTo(column,requestedWidth){const minWidth=this.minimumResizeWidth(column),maxWidth=this.maximumResizeWidth(column,minWidth),width=columnResizeWidth(requestedWidth,minWidth,maxWidth);this.resizedColumnWidths.get(column.key)!==width&&requestThenCommit({requestDetail:Object.freeze({columnKey:column.key,width}),emitRequest:(detail,init)=>this.emit("lr-column-resize-request",detail,init),guard:this.resizeWriteGuard,commit:()=>{this.resizedColumnWidths=new Map(this.resizedColumnWidths).set(column.key,width),this.emit("lr-column-resize",Object.freeze({columnKey:column.key,width})),markVetoGuardWrite(this.resizeWriteGuard)}})}renderedColumnWidth(column){const resized=this.resizedColumnWidths.get(column.key);return resized===void 0?sanitizeCssLength(column.width,"height"):`${resized}px`}renderResizeHandle(column){if(!column.resizable)return nothing;const minWidth=this.minimumResizeWidth(column),maxWidth=this.maximumResizeWidth(column,minWidth),width=this.currentResizeWidth(column),aria=columnResizeAriaValues(width,minWidth,maxWidth);return html`<span
2
2
  part="resize-handle"
3
3
  data-col-key=${column.key}
4
4
  role="separator"
@@ -11,7 +11,7 @@ import{__decorate}from"tslib";import{relayNativeEvent}from"../../../internal/nat
11
11
  aria-valuemax=${aria.max}
12
12
  @pointerdown=${this.onResizePointerDown}
13
13
  @keydown=${this.onResizeKeyDown}
14
- ></span>`}syncResizeHandleValues(){for(const handle of this.renderRoot.querySelectorAll('[part="resize-handle"]')){const key=handle.dataset.colKey;if(!key)continue;const column=this.columnsByKey.get(key);if(!column||this.resizedColumnWidths.has(key)||this.parsePixelLength(column.width)!==void 0)continue;const rendered=handle.closest("th[data-col-key]")?.getBoundingClientRect().width;if(rendered&&rendered>0){const width=Math.round(rendered);handle.setAttribute("aria-valuenow",String(width)),handle.setAttribute("aria-valuetext",this.resizeValueText(width))}}}rollbackResizePreview(state2){const reverted=new Map(this.resizedColumnWidths);state2.previousWidth===void 0?reverted.delete(state2.key):reverted.set(state2.key,state2.previousWidth),this.resizedColumnWidths=reverted}cancelResizeGesture(){const state2=this.resizeState;this.resizeState=void 0,this.resizePointer.stop(),state2&&(state2.handle.removeAttribute("data-resizing"),this.rollbackResizePreview(state2))}firstUpdated(changed){super.firstUpdated(changed),!this.hasAttribute("aria-label")&&!this.caption&&devWarnOnce(MISSING_ACCESSIBLE_NAME_WARNING,"<lr-table> has no accessible name: set a host `aria-label` or `caption` so assistive technology can identify the grid.")}connectedCallback(){super.connectedCallback();const owner=this.ownerDocument.defaultView,ResizeObserverCtor=owner?.ResizeObserver;let observer;ResizeObserverCtor&&(observer=new ResizeObserverCtor(()=>{!this.isConnected||this.ownerDocument.defaultView!==owner||this.resizeObserver!==observer||this.scheduleLayoutSync()})),this.resizeObserver=observer;const base=this.renderRoot?.querySelector('[part="base"]');base&&(this.observeBase(base),this.observeTable(this.renderRoot.querySelector('[part="table"]')??void 0),this.observeHeaders())}disconnectedCallback(){super.disconnectedCallback(),this.cancelResizeGesture(),this.resizeObserver?.disconnect(),this.resizeObserver=void 0;const frame=this.layoutFrame;frame&&frame.owner.cancelAnimationFrame(frame.handle),this.layoutFrame=null,this.observedBase=void 0,this.observedTable=void 0,this.observedHeaders.clear()}adoptedCallback(){super.adoptedCallback(),this.announcements.adopted()}localizedOverride(key,override){return override??this.localize(key)}loadingText(){return this.localizedOverride("tableLoading",this.loadingLabel)}loadingMoreText(){return this.localizedOverride("tableLoadingMore",this.loadingMoreLabel)}onLoadMore(){this.loadingMore||this.emit("lr-load-more")}observeBase(base){this.observedBase!==base&&(this.observedBase&&this.resizeObserver?.unobserve(this.observedBase),this.resizeObserver?.observe(base),this.observedBase=base)}observeTable(table){this.observedTable!==table&&(this.observedTable&&this.resizeObserver?.unobserve(this.observedTable),table&&this.resizeObserver?.observe(table),this.observedTable=table)}syncAutoScrollMode(){const base=this.renderRoot.querySelector('[part="base"]');if(!base)return;const overflows=this.scrollMode==="auto"&&base.scrollWidth-base.clientWidth>TABLE_SCROLL_OVERFLOW_TOLERANCE_PX;base.toggleAttribute("data-scroll-overflow",overflows)}observeHeaders(){const headers=new Set(this.columns.some(column=>column.sticky||column.resizable)?this.renderRoot.querySelectorAll("th[data-col-key]"):[]);for(const header of this.observedHeaders)headers.has(header)||(this.resizeObserver?.unobserve(header),this.observedHeaders.delete(header));for(const header of headers)this.observedHeaders.has(header)||(this.observedHeaders.add(header),this.resizeObserver?.observe(header))}priorityTierHeaders(tier){return[...this.renderRoot.querySelectorAll(`th[data-priority="${tier}"]`)]}recomputeHiddenPriorityColumns(){const hasLowColumn=this.columns.some(col=>col.priority==="low"),hasMediumColumn=this.columns.some(col=>col.priority==="medium"),base=this.renderRoot.querySelector('[part="base"]');if(!hasLowColumn&&!hasMediumColumn){this.priorityTierNaturalWidth.clear(),this.alwaysVisibleNaturalWidth=void 0,this.priorityTierHiddenAllocation.clear(),this.priorityTierRevealAllocation.clear(),base?.removeAttribute("data-hide-priority-low"),base?.removeAttribute("data-hide-priority-medium"),this.rehomeFocusedColumn(),this.priorityToggleAvailable&&(this.priorityToggleAvailable=!1),this.hasHiddenPriorityColumns&&(this.hasHiddenPriorityColumns=!1);return}if(!base||base.clientWidth<=0){this.rehomeFocusedColumn();return}const genuineOverflow=base.scrollWidth-base.clientWidth>TABLE_SCROLL_OVERFLOW_TOLERANCE_PX,lowHeaders=hasLowColumn?this.priorityTierHeaders("low"):[],mediumHeaders=hasMediumColumn?this.priorityTierHeaders("medium"):[],refreshNaturalWidth=(tier,headers)=>{if(headers.length===0)return!1;const currentlyHidden=headers.every(header=>header.offsetParent===null);if(!currentlyHidden&&genuineOverflow){const width=headers.reduce((sum,header)=>sum+header.getBoundingClientRect().width,0);width>0&&this.priorityTierNaturalWidth.set(tier,width)}return currentlyHidden},lowActuallyHidden=refreshNaturalWidth("low",lowHeaders),mediumActuallyHidden=refreshNaturalWidth("medium",mediumHeaders);if(genuineOverflow){const alwaysWidth=[...this.renderRoot.querySelectorAll('[part="head"] > tr > th')].filter(header=>!header.hasAttribute("data-priority")).reduce((sum,header)=>sum+header.getBoundingClientRect().width,0);alwaysWidth>0&&(this.alwaysVisibleNaturalWidth=alwaysWidth)}const lowNaturalWidth=this.priorityTierNaturalWidth.get("low")??0,mediumNaturalWidth=this.priorityTierNaturalWidth.get("medium")??0,overflowAtFull=(lowActuallyHidden||mediumActuallyHidden?(this.alwaysVisibleNaturalWidth??0)+lowNaturalWidth+mediumNaturalWidth:base.scrollWidth)-base.clientWidth,measuredLow=hasLowColumn&&overflowAtFull>TABLE_SCROLL_OVERFLOW_TOLERANCE_PX,overflowAfterLow=measuredLow?overflowAtFull-lowNaturalWidth:overflowAtFull,measuredMedium=hasMediumColumn&&overflowAfterLow>TABLE_SCROLL_OVERFLOW_TOLERANCE_PX,allocation=base.offsetWidth,needsMedium=this.settlePriorityTier(base,"medium",measuredMedium,mediumActuallyHidden,allocation),needsLow=this.settlePriorityTier(base,"low",hasLowColumn&&(measuredLow||needsMedium),lowActuallyHidden,allocation);this.rehomeFocusedColumn();const toggleAvailable=needsLow||needsMedium,anyPriorityHidden=toggleAvailable&&!this.priorityColumnsVisible;this.priorityToggleAvailable!==toggleAvailable&&(this.priorityToggleAvailable=toggleAvailable),this.hasHiddenPriorityColumns!==anyPriorityHidden&&(this.hasHiddenPriorityColumns=anyPriorityHidden)}settlePriorityTier(base,tier,measured,actuallyHidden,allocation){const attribute=tier==="low"?"data-hide-priority-low":"data-hide-priority-medium",wasMarked=base.hasAttribute(attribute),revealedAt=this.priorityTierRevealAllocation.get(tier);this.priorityTierRevealAllocation.delete(tier);const hiddenAt=this.priorityTierHiddenAllocation.get(tier),held=actuallyHidden&&hiddenAt!==void 0&&allocation<=hiddenAt+TABLE_SCROLL_OVERFLOW_TOLERANCE_PX,hide=measured||held;return hide?(!wasMarked||hiddenAt===void 0)&&this.priorityTierHiddenAllocation.set(tier,Math.max(allocation,revealedAt??allocation)):(this.priorityTierHiddenAllocation.delete(tier),wasMarked&&actuallyHidden&&this.priorityTierRevealAllocation.set(tier,allocation)),base.toggleAttribute(attribute,hide),hide}rehomeFocusedColumn(){const visible=this.visibleHeaders();visible.length===0||this.activeColKey===null||visible.some(header=>header.dataset.colKey===this.activeColKey)||(this.activeColKey=visible[0].dataset.colKey??null)}keyOf(row,index){try{const key=this.rowKey?this.rowKey(row):index;return typeof key=="string"?key.trim().length===0?void 0:key:typeof key=="number"?key:void 0}catch{return}}canonicalRowEntries(){const inputs=this.canonicalRowEntriesInputs;if(this.cachedCanonicalRowEntries!==null&&inputs?.rows===this.rows&&inputs.rowKey===this.rowKey)return this.cachedCanonicalRowEntries;const entries=[],seen=new Set;return this.rows.forEach((row,index)=>{const key=this.keyOf(row,index);if(key===void 0)return;const encoded=encodeKey(key);seen.has(encoded)||(seen.add(encoded),entries.push({row,index,key}))}),this.canonicalRowEntriesInputs={rows:this.rows,rowKey:this.rowKey},this.cachedCanonicalRowEntries=entries,entries}matchingEntries(){const text=(this.filterText??"").trim(),locale=text===""?"":this.effectiveLocale,canonicalEntries=this.canonicalRowEntries(),inputs=this.matchingEntriesInputs;if(this.cachedMatchingEntries!==null&&inputs!==null&&inputs.entries===canonicalEntries&&inputs.filter===this.filter&&inputs.text===text&&inputs.locale===locale)return this.cachedMatchingEntries;let entries;if(text==="")entries=canonicalEntries;else{const intlLocale=this.effectiveLocale,normalized=text.toLocaleLowerCase(intlLocale);entries=canonicalEntries.filter(({row})=>this.filter?this.filter(row,text):safeStringifyForFilter(row).toLocaleLowerCase(intlLocale).includes(normalized))}return this.matchingEntriesInputs={entries:canonicalEntries,filter:this.filter,text,locale},this.cachedMatchingEntries=entries,entries}get normalizedPageSize(){return finiteInteger(this.pageSize,DEFAULT_PAGE_SIZE,1,MAX_PAGE_SIZE)}get effectiveSkeletonRows(){const explicit=finiteCount(this.skeletonRows,0,MAX_SKELETON_ROWS);if(explicit>0)return explicit;const pageSize=this.normalizedPageSize;return pageSize===DEFAULT_PAGE_SIZE?DEFAULT_SKELETON_ROWS:Math.min(pageSize,MAX_SKELETON_ROWS)}get matchingTotalItems(){const totalItems=finiteInteger(this.totalItems,-1);return totalItems>=0?totalItems:this.matchingEntries().length}get serverUnknownTotal(){return this.paginationMode==="server"&&this.unknownTotal}get pageCount(){const pageSize=this.normalizedPageSize;return pageSize>0?Math.ceil(this.matchingTotalItems/pageSize):0}get appliedPage(){return this.pageCount===0?1:finiteInteger(this.page,1,1,this.pageCount)}sortedEntries(){const entries=this.matchingEntries();if(this.sortMode!=="client"||this.sortKey==="")return entries;const col=this.columnsByKey.get(this.sortKey);if(!col?.sortable)return entries;const locale=this.effectiveLocale,inputs=this.sortedEntriesInputs;if(this.cachedSortedEntries!==null&&inputs!==null&&inputs.entries===entries&&inputs.columns===this.columns&&inputs.mode===this.sortMode&&inputs.key===this.sortKey&&inputs.dir===this.sortDir&&inputs.locale===locale&&inputs.groupBy===this.groupBy)return this.cachedSortedEntries;const collator=getCollator(locale,{numeric:!0}),dir=this.sortDir==="desc"?-1:1,decorated=entries.map(entry=>{const raw=typeof col.sortValue=="function"?col.sortValue(entry.row):typeof col.cell=="function"?String(col.cell(entry.row)??""):"";return{entry,value:typeof raw=="number"&&!Number.isFinite(raw)?null:raw}}),compare=(a,b)=>{const av=a.value,bv=b.value;return av==null&&bv==null?0:av==null?1:bv==null?-1:typeof av=="number"&&typeof bv=="number"?(av-bv)*dir:collator.compare(String(av),String(bv))*dir};let sorted;const groupBy=this.groupBy;if(groupBy===void 0)decorated.sort(compare),sorted=decorated.map(decoration=>decoration.entry);else{const buckets=new Map;for(const decoration of decorated){const groupKey=groupBy(decoration.entry.row),bucket=buckets.get(groupKey);bucket===void 0?buckets.set(groupKey,[decoration]):bucket.push(decoration)}const ordered=[...buckets.values()],constantWithinEveryGroup=ordered.every(bucket=>bucket.every(decoration=>compare(decoration,bucket[0])===0));constantWithinEveryGroup&&ordered.sort((a,b)=>compare(a[0],b[0])),sorted=[];for(const bucket of ordered){constantWithinEveryGroup||bucket.sort(compare);for(const decoration of bucket)sorted.push(decoration.entry)}}return this.sortedEntriesInputs={entries,columns:this.columns,mode:this.sortMode,key:this.sortKey,dir:this.sortDir,locale,groupBy},this.cachedSortedEntries=sorted,sorted}renderedEntries(){const entries=this.sortedEntries();if(this.paginationMode==="server")return entries.slice(0,this.normalizedPageSize);const start=(this.appliedPage-1)*this.normalizedPageSize;return entries.slice(start,start+this.normalizedPageSize)}get viewRows(){return Object.freeze(this.sortedEntries().map(entry=>entry.row))}get pageRows(){return Object.freeze(this.renderedEntries().map(entry=>entry.row))}focusedColKey(displayed){const visibleKeys=displayed??this.visibleHeaders().map(el=>el.dataset.colKey).filter(key=>key!==void 0&&this.columnsByKey.has(key));return this.activeColKey!==null&&this.columnsByKey.has(this.activeColKey)&&(visibleKeys.length===0||visibleKeys.includes(this.activeColKey))?this.activeColKey:visibleKeys[0]??this.columns[0]?.key??null}displayedColumnKeys(){const base=this.renderRoot?.querySelector?.('[part="base"]'),hideLow=!this.priorityColumnsVisible&&!!base?.hasAttribute("data-hide-priority-low"),hideMedium=!this.priorityColumnsVisible&&!!base?.hasAttribute("data-hide-priority-medium");return this.columns.filter(col=>!(hideLow&&col.priority==="low")&&!(hideMedium&&col.priority==="medium")).map(col=>col.key)}focusedRowKey(){if(this.activeRowKey!==null&&this.rowsByKey.has(this.activeRowKey))return this.activeRowKey;const selectedKey=this._selectedKeys.values().next().value;if(selectedKey!==void 0){const selected=encodeKey(selectedKey);if(this.rowsByKey.has(selected))return selected}const first=this.renderedEntries()[0];return first?encodeKey(first.key):null}rowsAffectingRovingFocusChanged(changed){return changed.has("rows")||changed.has("rowKey")||changed.has("filterText")||changed.has("filter")||changed.has("page")||changed.has("pageSize")||changed.has("paginationMode")||changed.has("totalItems")||changed.has("columns")||changed.has("sortKey")||changed.has("sortDir")||changed.has("sortMode")||changed.has("groupBy")||this.rowsLocale!==this.effectiveLocale}captureRovingFocus(changed){this.rovingFocusSnapshot=null;const active=activeElementIn(this.shadowRoot),HTMLElementCtor=this.ownerDocument?.defaultView?.HTMLElement;if(!(!HTMLElementCtor||!(active instanceof HTMLElementCtor))){if(changed.has("columns")&&active.matches("th[data-col-key]")){const headers=this.visibleHeaders(),key=active.dataset.colKey,index=headers.indexOf(active);key!==void 0&&index>=0&&(this.rovingFocusSnapshot={kind:"header",key,index,targetKey:null,element:active});return}if(this.rowsAffectingRovingFocusChanged(changed)&&active.matches("tr[data-row-key]")){const renderedRows=[...this.renderRoot.querySelectorAll("tbody tr[data-row-key]")],key=active.dataset.rowKey,index=renderedRows.indexOf(active);key!==void 0&&index>=0&&(this.rovingFocusSnapshot={kind:"row",key,index,targetKey:null,element:active})}}}resolveRovingFocusTarget(){const snapshot=this.rovingFocusSnapshot;if(snapshot===null)return;const keys=snapshot.kind==="header"?this.columns.map(column=>column.key):[...this.rowsByKey.keys()];snapshot.targetKey=keys.includes(snapshot.key)?snapshot.key:keys[Math.min(snapshot.index,keys.length-1)]??null,snapshot.kind==="header"?this.activeColKey=snapshot.targetKey:this.activeRowKey=snapshot.targetKey}willUpdate(changed){if(super.willUpdate(changed),this.themedResizeMinWidth=void 0,this.captureRovingFocus(changed),this.selectionMode==="single"&&this._selectedKeys.size>1&&(changed.has("selectionMode")||changed.has("selectedRowKeys"))){const first=this._selectedKeys.values().next().value;if(this.selectedRowKeys=this.asKeySet(first===void 0?new Set:new Set([first])),this.hasUpdated){const rowKeys=this.asKeyList(Object.freeze(first===void 0?[]:[first]));this.emit("lr-selection-change",Object.freeze({selectedRowKeys:rowKeys}))}}if(this.expansionMode==="single"&&this._expandedKeys.size>1&&(changed.has("expansionMode")||changed.has("expandedRowKeys"))){const first=this._expandedKeys.values().next().value;this.expandedRowKeys=this.asKeySet(first===void 0?new Set:new Set([first]))}if(!this.hasUpdated){const parsed=readPersistedState(this.storageFullKey,v=>typeof v=="object"&&v!==null);parsed&&typeof parsed.priorityColumnsVisible=="boolean"&&!isPersistedPropertyExplicitlySet(this,"priorityColumnsVisible")&&(this.priorityColumnsVisible=parsed.priorityColumnsVisible)}if(changed.has("columns")&&(this.columnsByKey=new Map(this.columns.map(c=>[c.key,c]))),this.rowsAffectingRovingFocusChanged(changed)&&(this.rowsByKey=new Map(this.renderedEntries().map(entry=>[encodeKey(entry.key),entry])),this.rowsLocale=this.effectiveLocale),this.resolveRovingFocusTarget(),this.editingCell!==null){const column=this.columnsByKey.get(this.editingCell.columnKey);(!this.rowsByKey.has(this.editingCell.rowKey)||normalizedEditTrigger(column?.editTrigger)!=="double-click")&&(this.editingCell=null)}this.editorHadFocusBeforeUpdate=this.focusedEditorCell!==null&&activeElementIn(this.shadowRoot)===this.editorElementFor(this.focusedEditorCell.rowKey,this.focusedEditorCell.columnKey)}stickyOffsets(){const offsets=new Map,headerWidths=new Map;for(const el of this.renderRoot.querySelectorAll("th[data-col-key]")){const key=el.dataset.colKey;key!==void 0&&!headerWidths.has(key)&&headerWidths.set(key,el.offsetWidth)}const headerWidth=key=>headerWidths.get(key)??0;let runningStart=0;for(const col of this.columns)stickyDirection(col.sticky)==="start"&&(offsets.set(col.key,runningStart),runningStart+=headerWidth(col.key));let runningEnd=0;for(let i=this.columns.length-1;i>=0;i--){const col=this.columns[i];col&&stickyDirection(col.sticky)==="end"&&(offsets.set(col.key,runningEnd),runningEnd+=headerWidth(col.key))}return offsets}computeHeatDomain(hasHeatTint){if(!hasHeatTint)return null;const entries=this.matchingEntries(),min=this.heatTintScale?.min,max=this.heatTintScale?.max,cached=this.heatDomainCache;if(cached&&cached.entries===entries&&cached.columns===this.columns&&cached.min===min&&cached.max===max)return cached.domain;const domain=this.deriveHeatDomain(entries);return this.heatDomainCache={entries,columns:this.columns,min,max,domain},domain}deriveHeatDomain(entries){const values=[];for(const entry of entries)for(const col of this.columns){const v=col.heatValue?.(entry.row);v!=null&&Number.isFinite(v)&&values.push(v)}const auto=minMax(values),lo=this.heatTintScale?.min??auto?.[0],hi=this.heatTintScale?.max??auto?.[1];return lo===void 0||hi===void 0?null:[lo,hi]}heatShare(col,row,domain){if(!col.heatValue||!domain)return null;const v=col.heatValue(row);if(v==null||!Number.isFinite(v))return null;const[lo,hi]=domain;return`${(finiteRatio(v,lo,hi)*100).toFixed(2)}%`}applyStickyOffsets(){if(!this.columns.some(c=>c.sticky))return;const offsets=this.stickyOffsets();this.renderRoot.querySelectorAll("[data-col-key]").forEach(el=>{const key=el.dataset.colKey;key!==void 0&&offsets.has(key)&&el.style.setProperty("--lr-table-sticky-offset",`${offsets.get(key)}px`)})}updated(changed){super.updated(changed),this.firstUpdateAnnouncementsReady&&changed.has("loading")&&this.loading&&this.announcements.announcePolite(this.loadingText()),this.firstUpdateAnnouncementsReady&&changed.has("loadingMore")&&this.loadingMore&&!this.loading&&this.shadowRoot?.querySelector('[part="more-button"]')&&this.announcements.announcePolite(this.loadingMoreText());const announcesErrorTransition=this.firstUpdateAnnouncementsReady&&changed.has("error")&&this.error,announcesMountedError=!this.firstUpdateAnnouncementsReady&&this.announce&&this.error;if((announcesErrorTransition||announcesMountedError)&&this.announcements.announceAssertive(this.localizedOverride("tableLoadFailed",this.errorHeading)),this.firstUpdateAnnouncementsReady=!0,this.persistReady&&changed.has("priorityColumnsVisible")&&writePersistedState(this.storageFullKey,{priorityColumnsVisible:this.priorityColumnsVisible}),this.persistReady=!0,changed.has("columns")||changed.has("revealColumnsLabel")||changed.has("columnsHideLabel")||changed.has("priorityColumnsVisible")||changed.has("storageKey")){const inertMembers=[],labelsInert=this.revealColumnsLabel!==void 0||this.columnsHideLabel!==void 0;labelsInert&&inertMembers.push("`revealColumnsLabel`/`columnsHideLabel`"),isPersistedPropertyExplicitlySet(this,"priorityColumnsVisible")&&inertMembers.push("`priorityColumnsVisible`"),this.storageKey&&inertMembers.push("`storageKey`"),inertMembers.length>0&&this.columns.length>0&&!this.columns.some(col=>col.priority)&&devWarnOnce(INERT_PRIORITY_COLUMN_CONFIG_WARNING,`<lr-table>: ${inertMembers.join(", ")} `+(inertMembers.length>1||labelsInert?"have":"has")+" no effect unless at least one column declares `priority`.")}(changed.has("columns")||changed.has("rows")||changed.has("rowKey"))&&this.applyStickyOffsets(),this.syncResizeHandleValues();const base=this.renderRoot.querySelector('[part="base"]');if(base&&this.observeBase(base),this.observeTable(this.renderRoot.querySelector('[part="table"]')??void 0),this.syncAutoScrollMode(),this.observeHeaders(),this.restoreRovingFocus(),this.hasAlwaysOnEditors&&this.restoreAlwaysOnEditorFocus(),changed.has("editingCell"))if(this.editingCell){const{rowKey,columnKey}=this.editingCell;queueMicrotask(()=>this.editorElementFor(rowKey,columnKey)?.focus())}else{const previous=changed.get("editingCell");if(previous){const{rowKey,columnKey}=previous;queueMicrotask(()=>this.cellElementForToken(rowKey,columnKey)?.focus())}}queueMicrotask(()=>this.recomputeHiddenPriorityColumns())}restoreRovingFocus(){const snapshot=this.rovingFocusSnapshot;if(this.rovingFocusSnapshot=null,snapshot===null)return;const internalActive=activeElementIn(this.shadowRoot);if(internalActive!==null&&internalActive!==snapshot.element)return;const documentActive=activeElementIn(this.ownerDocument);if(documentActive!==null&&documentActive!==this&&documentActive!==this.ownerDocument.body)return;const candidates=snapshot.kind==="header"?this.visibleHeaders():[...this.renderRoot.querySelectorAll("tbody tr[data-row-key]")],target=candidates.find(candidate=>snapshot.kind==="header"?candidate.dataset.colKey===snapshot.targetKey:candidate.dataset.rowKey===snapshot.targetKey)??candidates[Math.min(snapshot.index,candidates.length-1)]??null;snapshot.kind==="header"?this.focusHeader(target):this.focusRow(target)}activateColumn(key){this.activeColKey=key;const col=this.columnsByKey.get(key);if(!col?.sortable)return;const sortDir=this.sortKey===key?this.sortDir==="asc"?"desc":"asc":col.defaultSortDir??this.defaultSortDir,request=Object.freeze({phase:"request",sortKey:col.key,sortDir});this.emit("lr-sort-request",request,{cancelable:!0}).defaultPrevented||(this.sortMode==="client"&&(this.sortKey=col.key,this.sortDir=sortDir),this.emit("lr-sort",Object.freeze({phase:"commit",sortKey:col.key,sortDir})))}activateRow(key){this.activeRowKey=key;const entry=this.rowsByKey.get(key);if(entry===void 0)return;const{row,key:selectedKey}=entry;if(this.emit("lr-row-activate",Object.freeze({row})),this.selectionMode==="single"){this.selectedRowKeys=this.asKeySet(new Set([selectedKey]));const rowKeys=this.asKeyList(Object.freeze([selectedKey]));this.emit("lr-selection-change",Object.freeze({selectedRowKeys:rowKeys}))}else if(this.selectionMode==="multiple"){const rawKey=selectedKey,next=new Set(this._selectedKeys);next.has(rawKey)?next.delete(rawKey):next.add(rawKey),this.selectedRowKeys=this.asKeySet(next);const rowKeys=this.asKeyList(Object.freeze([...next]));this.emit("lr-selection-change",Object.freeze({selectedRowKeys:rowKeys}))}}get hasAlwaysOnEditors(){return this.columns.some(col=>normalizedEditTrigger(col.editTrigger)==="always")}editorValue(row,column){const value=column.editValue?.(row)??row[column.key]??"";return String(value)}startEditing(rowKey,columnKey){const column=this.columnsByKey.get(columnKey);normalizedEditTrigger(column?.editTrigger)!=="double-click"||!this.rowsByKey.has(rowKey)||(this.editingCell={rowKey,columnKey})}commitEdit(event,rowKey,columnKey){event.stopPropagation();const field=event.currentTarget,entry=this.rowsByKey.get(rowKey),column=this.columnsByKey.get(columnKey),isTransient=this.editingCell?.rowKey===rowKey&&this.editingCell.columnKey===columnKey;if(!entry||!column||normalizedEditTrigger(column.editTrigger)===void 0){isTransient&&(this.editingCell=null);return}const value=column.editType==="number"&&field.value!==""?Number(field.value):field.value;this.emit("lr-cell-edit",Object.freeze({row:entry.row,columnKey,value})),isTransient&&(this.editingCell=null)}editorElementFor(rowKey,columnKey){return this.cellElementForToken(rowKey,columnKey)?.querySelector('[part="cell-editor"]')??null}restoreAlwaysOnEditorFocus(){const cell=this.focusedEditorCell;if(cell===null)return;const editor=this.editorElementFor(cell.rowKey,cell.columnKey);editor===null?this.focusedEditorCell=null:this.editorHadFocusBeforeUpdate&&activeElementIn(this.shadowRoot)!==editor&&editor.focus(),this.editorHadFocusBeforeUpdate=!1}activateExpandToggle(key){const entry=this.rowsByKey.get(encodeKey(key));if(entry===void 0)return;const expanded=!this._expandedKeys.has(key),detail=Object.freeze({row:entry.row,rowKey:key,expanded});if(this.expansionMode!=="single"&&this.expansionMode!=="multiple"){this.emit("lr-row-expand-toggle",detail);return}requestThenCommit({requestDetail:detail,emitRequest:(requestDetail,init)=>this.emit("lr-row-expand-request",requestDetail,init),commit:()=>{const next=this.expansionMode==="single"?new Set:new Set(this._expandedKeys);expanded?next.add(key):next.delete(key);const displaced=[...this._expandedKeys].filter(other=>other!==key&&!next.has(other));this.expandedRowKeys=this.asKeySet(next);for(const other of displaced){const displacedEntry=this.rowsByKey.get(encodeKey(other));displacedEntry!==void 0&&this.emit("lr-row-expand-toggle",Object.freeze({row:displacedEntry.row,rowKey:other,expanded:!1}))}this.emit("lr-row-expand-toggle",detail)}})}rowElement(rowKey){return this.rowElementForToken(encodeKey(rowKey))}cellElement(rowKey,columnKey){return this.cellElementForToken(encodeKey(rowKey),columnKey)}editCell(rowKey,columnKey){const token=encodeKey(rowKey),trigger=normalizedEditTrigger(this.columnsByKey.get(columnKey)?.editTrigger);if(!(trigger===void 0||!this.rowsByKey.has(token))){if(trigger==="always"){this.editorElementFor(token,columnKey)?.focus();return}this.startEditing(token,columnKey)}}expandedContentElement(rowKey){const token=encodeKey(rowKey);return[...this.renderRoot.querySelectorAll("tbody tr[data-expanded-row-key]")].find(el=>el.dataset.expandedRowKey===token)?.querySelector('[part="expanded-cell"]')??null}rowElementForToken(token){return[...this.renderRoot.querySelectorAll("tbody tr[data-row-key]")].find(el=>el.dataset.rowKey===token)??null}cellElementForToken(token,columnKey){return[...this.rowElementForToken(token)?.querySelectorAll("td[data-col-key]")??[]].find(el=>el.dataset.colKey===columnKey)??null}visibleHeaders(){return[...this.renderRoot?.querySelectorAll("th[data-col-key]")??[]].filter(el=>el.offsetParent!==null)}focusHeader(el){el?.dataset.colKey&&(this.activeColKey=el.dataset.colKey,el.focus())}focusRow(el){el?.dataset.rowKey&&(this.activeRowKey=el.dataset.rowKey,el.focus())}onHeaderKeyDown(e,th){if(e.key==="Enter"||e.key===" "){e.preventDefault(),this.activateColumn(th.dataset.colKey);return}const headers=this.visibleHeaders(),index=headers.indexOf(th);if(index<0)return;const rtl=isRtl(this);switch(e.key){case"ArrowLeft":e.preventDefault(),this.focusHeader(headers[rtl?Math.min(headers.length-1,index+1):Math.max(0,index-1)]??null);return;case"ArrowRight":e.preventDefault(),this.focusHeader(headers[rtl?Math.max(0,index-1):Math.min(headers.length-1,index+1)]??null);return;case"Home":e.preventDefault(),this.focusHeader(headers[0]??null);return;case"End":e.preventDefault(),this.focusHeader(headers[headers.length-1]??null);return;case"ArrowDown":{e.preventDefault();const rows=[...this.renderRoot.querySelectorAll("[data-row-key]")],key=this.focusedRowKey();this.focusRow(rows.find(r=>r.dataset.rowKey===key)??rows[0]??null);return}default:return}}editableCellFor(target){const columnKey=target.dataset.colKey;return target.tagName!=="TD"||columnKey===void 0?null:normalizedEditTrigger(this.columnsByKey.get(columnKey)?.editTrigger)==="double-click"?{element:target,columnKey}:null}editableCellsInRow(tr){return[...tr.querySelectorAll("td[data-editable]")].filter(td=>td.offsetParent!==null&&!td.inert&&!td.closest("[inert]"))}onRowKeyDown(e,tr){const cell=this.editableCellFor(e.target);if((e.key==="Enter"||e.key==="F2")&&cell){e.preventDefault(),this.startEditing(tr.dataset.rowKey,cell.columnKey);return}if(e.key==="Enter"||e.key===" "){e.preventDefault(),this.activateRow(tr.dataset.rowKey);return}if(e.key==="ArrowLeft"||e.key==="ArrowRight"){this.onRowLateralKeyDown(e,tr,cell);return}const bodyRows=[...this.renderRoot.querySelectorAll("[data-row-key]")],index=bodyRows.indexOf(tr);if(!(index<0))switch(e.key){case"ArrowDown":e.preventDefault(),this.focusRow(bodyRows[Math.min(bodyRows.length-1,index+1)]??null);return;case"ArrowUp":if(e.preventDefault(),index===0){const headers=this.visibleHeaders(),key=this.focusedColKey();this.focusHeader(headers.find(h=>h.dataset.colKey===key)??headers[0]??null)}else this.focusRow(bodyRows[index-1]??null);return;case"Home":e.preventDefault(),this.focusRow(bodyRows[0]??null);return;case"End":e.preventDefault(),this.focusRow(bodyRows[bodyRows.length-1]??null);return;default:return}}onRowLateralKeyDown(e,tr,cell){const cells=this.editableCellsInRow(tr);if(cells.length===0)return;e.preventDefault();const forward=e.key===(isRtl(this)?"ArrowLeft":"ArrowRight");if(cell===null){(forward?cells[0]:cells[cells.length-1])?.focus();return}const index=cells.indexOf(cell.element);forward?cells[index+1]?.focus():index<=0?this.focusRow(tr):cells[index-1]?.focus()}renderCellValue(col,row){return typeof col.cell=="function"?col.cell(row):(devWarnOnce(MISSING_CELL_RENDERER_WARNING,"<lr-table>: a column has no required `cell` renderer, so its cells render empty. Supply a `cell` callback for every column."),nothing)}renderCellEditor(row,col,rowKey,alwaysOn){const type=col.editType??"text",value=this.editorValue(row,col),label=col.editLabel?.(row)??this.localize("tableEditCell",void 0,{column:col.label}),onChange=event=>this.commitEdit(event,rowKey,col.key),onKeyDown=event=>this.onEditorKeyDown(event,rowKey,col.key);if(type==="select"){const options=col.editOptions??[];return html`<select
14
+ ></span>`}syncResizeHandleValues(){for(const handle of this.renderRoot.querySelectorAll('[part="resize-handle"]')){const key=handle.dataset.colKey;if(!key)continue;const column=this.columnsByKey.get(key);if(!column||this.resizedColumnWidths.has(key)||this.parsePixelLength(column.width)!==void 0)continue;const rendered=handle.closest("th[data-col-key]")?.getBoundingClientRect().width;if(rendered&&rendered>0){const width=Math.round(rendered);handle.setAttribute("aria-valuenow",String(width)),handle.setAttribute("aria-valuetext",this.resizeValueText(width))}}}rollbackResizePreview(state2){const reverted=new Map(this.resizedColumnWidths);state2.previousWidth===void 0?reverted.delete(state2.key):reverted.set(state2.key,state2.previousWidth),this.resizedColumnWidths=reverted}cancelResizeGesture(){const state2=this.resizeState;this.resizeState=void 0,this.resizePointer.stop(),state2&&(state2.handle.removeAttribute("data-resizing"),this.rollbackResizePreview(state2))}firstUpdated(changed){super.firstUpdated(changed),!this.hasAttribute("aria-label")&&!this.caption&&devWarnOnce(MISSING_ACCESSIBLE_NAME_WARNING,"<lr-table> has no accessible name: set a host `aria-label` or `caption` so assistive technology can identify the grid.")}connectedCallback(){super.connectedCallback();const owner=this.ownerDocument.defaultView,ResizeObserverCtor=owner?.ResizeObserver;let observer;ResizeObserverCtor&&(observer=new ResizeObserverCtor(()=>{!this.isConnected||this.ownerDocument.defaultView!==owner||this.resizeObserver!==observer||this.scheduleLayoutSync()})),this.resizeObserver=observer;const base=this.renderRoot?.querySelector('[part="base"]');base&&(this.observeBase(base),this.observeTable(this.renderRoot.querySelector('[part="table"]')??void 0),this.observeHeaders())}disconnectedCallback(){super.disconnectedCallback(),this.cancelResizeGesture(),this.resizeObserver?.disconnect(),this.resizeObserver=void 0;const frame=this.layoutFrame;frame&&frame.owner.cancelAnimationFrame(frame.handle),this.layoutFrame=null,this.observedBase=void 0,this.observedTable=void 0,this.observedHeaders.clear()}adoptedCallback(){super.adoptedCallback(),this.announcements.adopted()}localizedOverride(key,override){return override??this.localize(key)}loadingText(){return this.localizedOverride("tableLoading",this.loadingLabel)}loadingMoreText(){return this.localizedOverride("tableLoadingMore",this.loadingMoreLabel)}onLoadMore(){this.loadingMore||this.emit("lr-load-more")}observeBase(base){this.observedBase!==base&&(this.observedBase&&this.resizeObserver?.unobserve(this.observedBase),this.resizeObserver?.observe(base),this.observedBase=base)}observeTable(table){this.observedTable!==table&&(this.observedTable&&this.resizeObserver?.unobserve(this.observedTable),table&&this.resizeObserver?.observe(table),this.observedTable=table)}syncAutoScrollMode(){const base=this.renderRoot.querySelector('[part="base"]');if(!base)return;const overflows=(this.scrollMode==="auto"||this.scrollMode==="page")&&base.scrollWidth-base.clientWidth>TABLE_SCROLL_OVERFLOW_TOLERANCE_PX;base.toggleAttribute("data-scroll-overflow",overflows)}observeHeaders(){const headers=new Set(this.columns.some(column=>column.sticky||column.resizable)?this.renderRoot.querySelectorAll("th[data-col-key]"):[]);for(const header of this.observedHeaders)headers.has(header)||(this.resizeObserver?.unobserve(header),this.observedHeaders.delete(header));for(const header of headers)this.observedHeaders.has(header)||(this.observedHeaders.add(header),this.resizeObserver?.observe(header))}priorityTierHeaders(tier){return[...this.renderRoot.querySelectorAll(`th[data-priority="${tier}"]`)]}recomputeHiddenPriorityColumns(){const hasLowColumn=this.columns.some(col=>col.priority==="low"),hasMediumColumn=this.columns.some(col=>col.priority==="medium"),base=this.renderRoot.querySelector('[part="base"]');if(!hasLowColumn&&!hasMediumColumn){this.priorityTierNaturalWidth.clear(),this.alwaysVisibleNaturalWidth=void 0,this.priorityTierHiddenAllocation.clear(),this.priorityTierRevealAllocation.clear(),base?.removeAttribute("data-hide-priority-low"),base?.removeAttribute("data-hide-priority-medium"),this.rehomeFocusedColumn(),this.priorityToggleAvailable&&(this.priorityToggleAvailable=!1),this.hasHiddenPriorityColumns&&(this.hasHiddenPriorityColumns=!1);return}if(!base||base.clientWidth<=0){this.rehomeFocusedColumn();return}const genuineOverflow=base.scrollWidth-base.clientWidth>TABLE_SCROLL_OVERFLOW_TOLERANCE_PX,lowHeaders=hasLowColumn?this.priorityTierHeaders("low"):[],mediumHeaders=hasMediumColumn?this.priorityTierHeaders("medium"):[],refreshNaturalWidth=(tier,headers)=>{if(headers.length===0)return!1;const currentlyHidden=headers.every(header=>header.offsetParent===null);if(!currentlyHidden&&genuineOverflow){const width=headers.reduce((sum,header)=>sum+header.getBoundingClientRect().width,0);width>0&&this.priorityTierNaturalWidth.set(tier,width)}return currentlyHidden},lowActuallyHidden=refreshNaturalWidth("low",lowHeaders),mediumActuallyHidden=refreshNaturalWidth("medium",mediumHeaders);if(genuineOverflow){const alwaysWidth=[...this.renderRoot.querySelectorAll('[part="head"] > tr > th')].filter(header=>!header.hasAttribute("data-priority")).reduce((sum,header)=>sum+header.getBoundingClientRect().width,0);alwaysWidth>0&&(this.alwaysVisibleNaturalWidth=alwaysWidth)}const lowNaturalWidth=this.priorityTierNaturalWidth.get("low")??0,mediumNaturalWidth=this.priorityTierNaturalWidth.get("medium")??0,overflowAtFull=(lowActuallyHidden||mediumActuallyHidden?(this.alwaysVisibleNaturalWidth??0)+lowNaturalWidth+mediumNaturalWidth:base.scrollWidth)-base.clientWidth,measuredLow=hasLowColumn&&overflowAtFull>TABLE_SCROLL_OVERFLOW_TOLERANCE_PX,overflowAfterLow=measuredLow?overflowAtFull-lowNaturalWidth:overflowAtFull,measuredMedium=hasMediumColumn&&overflowAfterLow>TABLE_SCROLL_OVERFLOW_TOLERANCE_PX,allocation=base.offsetWidth,needsMedium=this.settlePriorityTier(base,"medium",measuredMedium,mediumActuallyHidden,allocation),needsLow=this.settlePriorityTier(base,"low",hasLowColumn&&(measuredLow||needsMedium),lowActuallyHidden,allocation);this.rehomeFocusedColumn();const toggleAvailable=needsLow||needsMedium,anyPriorityHidden=toggleAvailable&&!this.priorityColumnsVisible;this.priorityToggleAvailable!==toggleAvailable&&(this.priorityToggleAvailable=toggleAvailable),this.hasHiddenPriorityColumns!==anyPriorityHidden&&(this.hasHiddenPriorityColumns=anyPriorityHidden)}settlePriorityTier(base,tier,measured,actuallyHidden,allocation){const attribute=tier==="low"?"data-hide-priority-low":"data-hide-priority-medium",wasMarked=base.hasAttribute(attribute),revealedAt=this.priorityTierRevealAllocation.get(tier);this.priorityTierRevealAllocation.delete(tier);const hiddenAt=this.priorityTierHiddenAllocation.get(tier),held=actuallyHidden&&hiddenAt!==void 0&&allocation<=hiddenAt+TABLE_SCROLL_OVERFLOW_TOLERANCE_PX,hide=measured||held;return hide?(!wasMarked||hiddenAt===void 0)&&this.priorityTierHiddenAllocation.set(tier,Math.max(allocation,revealedAt??allocation)):(this.priorityTierHiddenAllocation.delete(tier),wasMarked&&actuallyHidden&&this.priorityTierRevealAllocation.set(tier,allocation)),base.toggleAttribute(attribute,hide),hide}rehomeFocusedColumn(){const visible=this.visibleHeaders();visible.length===0||this.activeColKey===null||visible.some(header=>header.dataset.colKey===this.activeColKey)||(this.activeColKey=visible[0].dataset.colKey??null)}keyOf(row,index){try{const key=this.rowKey?this.rowKey(row):index;return typeof key=="string"?key.trim().length===0?void 0:key:typeof key=="number"?key:void 0}catch{return}}canonicalRowEntries(){const inputs=this.canonicalRowEntriesInputs;if(this.cachedCanonicalRowEntries!==null&&inputs?.rows===this.rows&&inputs.rowKey===this.rowKey)return this.cachedCanonicalRowEntries;const entries=[],seen=new Set;return this.rows.forEach((row,index)=>{const key=this.keyOf(row,index);if(key===void 0)return;const encoded=encodeKey(key);seen.has(encoded)||(seen.add(encoded),entries.push({row,index,key}))}),this.canonicalRowEntriesInputs={rows:this.rows,rowKey:this.rowKey},this.cachedCanonicalRowEntries=entries,entries}matchingEntries(){const text=(this.filterText??"").trim(),locale=text===""?"":this.effectiveLocale,canonicalEntries=this.canonicalRowEntries(),inputs=this.matchingEntriesInputs;if(this.cachedMatchingEntries!==null&&inputs!==null&&inputs.entries===canonicalEntries&&inputs.filter===this.filter&&inputs.text===text&&inputs.locale===locale)return this.cachedMatchingEntries;let entries;if(text==="")entries=canonicalEntries;else{const intlLocale=this.effectiveLocale,normalized=text.toLocaleLowerCase(intlLocale);entries=canonicalEntries.filter(({row})=>this.filter?this.filter(row,text):safeStringifyForFilter(row).toLocaleLowerCase(intlLocale).includes(normalized))}return this.matchingEntriesInputs={entries:canonicalEntries,filter:this.filter,text,locale},this.cachedMatchingEntries=entries,entries}get normalizedPageSize(){return finiteInteger(this.pageSize,DEFAULT_PAGE_SIZE,1,MAX_PAGE_SIZE)}get effectiveSkeletonRows(){const explicit=finiteCount(this.skeletonRows,0,MAX_SKELETON_ROWS);if(explicit>0)return explicit;const pageSize=this.normalizedPageSize;return pageSize===DEFAULT_PAGE_SIZE?DEFAULT_SKELETON_ROWS:Math.min(pageSize,MAX_SKELETON_ROWS)}get matchingTotalItems(){const totalItems=finiteInteger(this.totalItems,-1);return totalItems>=0?totalItems:this.matchingEntries().length}get serverUnknownTotal(){return this.paginationMode==="server"&&this.unknownTotal}get pageCount(){const pageSize=this.normalizedPageSize;return pageSize>0?Math.ceil(this.matchingTotalItems/pageSize):0}get appliedPage(){return this.pageCount===0?1:finiteInteger(this.page,1,1,this.pageCount)}sortedEntries(){const entries=this.matchingEntries();if(this.sortMode!=="client"||this.sortKey==="")return entries;const col=this.columnsByKey.get(this.sortKey);if(!col?.sortable)return entries;const locale=this.effectiveLocale,inputs=this.sortedEntriesInputs;if(this.cachedSortedEntries!==null&&inputs!==null&&inputs.entries===entries&&inputs.columns===this.columns&&inputs.mode===this.sortMode&&inputs.key===this.sortKey&&inputs.dir===this.sortDir&&inputs.locale===locale&&inputs.groupBy===this.groupBy)return this.cachedSortedEntries;const collator=getCollator(locale,{numeric:!0}),dir=this.sortDir==="desc"?-1:1,decorated=entries.map(entry=>{const raw=typeof col.sortValue=="function"?col.sortValue(entry.row):typeof col.cell=="function"?String(col.cell(entry.row)??""):"";return{entry,value:typeof raw=="number"&&!Number.isFinite(raw)?null:raw}}),compare=(a,b)=>{const av=a.value,bv=b.value;return av==null&&bv==null?0:av==null?1:bv==null?-1:typeof av=="number"&&typeof bv=="number"?(av-bv)*dir:collator.compare(String(av),String(bv))*dir};let sorted;const groupBy=this.groupBy;if(groupBy===void 0)decorated.sort(compare),sorted=decorated.map(decoration=>decoration.entry);else{const buckets=new Map;for(const decoration of decorated){const groupKey=groupBy(decoration.entry.row),bucket=buckets.get(groupKey);bucket===void 0?buckets.set(groupKey,[decoration]):bucket.push(decoration)}const ordered=[...buckets.values()],constantWithinEveryGroup=ordered.every(bucket=>bucket.every(decoration=>compare(decoration,bucket[0])===0));constantWithinEveryGroup&&ordered.sort((a,b)=>compare(a[0],b[0])),sorted=[];for(const bucket of ordered){constantWithinEveryGroup||bucket.sort(compare);for(const decoration of bucket)sorted.push(decoration.entry)}}return this.sortedEntriesInputs={entries,columns:this.columns,mode:this.sortMode,key:this.sortKey,dir:this.sortDir,locale,groupBy},this.cachedSortedEntries=sorted,sorted}renderedEntries(){const entries=this.sortedEntries();if(this.paginationMode==="server")return entries.slice(0,this.normalizedPageSize);const start=(this.appliedPage-1)*this.normalizedPageSize;return entries.slice(start,start+this.normalizedPageSize)}get viewRows(){return Object.freeze(this.sortedEntries().map(entry=>entry.row))}get pageRows(){return Object.freeze(this.renderedEntries().map(entry=>entry.row))}focusedColKey(displayed){const visibleKeys=displayed??this.visibleHeaders().map(el=>el.dataset.colKey).filter(key=>key!==void 0&&this.columnsByKey.has(key));return this.activeColKey!==null&&this.columnsByKey.has(this.activeColKey)&&(visibleKeys.length===0||visibleKeys.includes(this.activeColKey))?this.activeColKey:visibleKeys[0]??this.columns[0]?.key??null}displayedColumnKeys(){const base=this.renderRoot?.querySelector?.('[part="base"]'),hideLow=!this.priorityColumnsVisible&&!!base?.hasAttribute("data-hide-priority-low"),hideMedium=!this.priorityColumnsVisible&&!!base?.hasAttribute("data-hide-priority-medium");return this.columns.filter(col=>!(hideLow&&col.priority==="low")&&!(hideMedium&&col.priority==="medium")).map(col=>col.key)}focusedRowKey(){if(this.activeRowKey!==null&&this.rowsByKey.has(this.activeRowKey))return this.activeRowKey;const selectedKey=this._selectedKeys.values().next().value;if(selectedKey!==void 0){const selected=encodeKey(selectedKey);if(this.rowsByKey.has(selected))return selected}const first=this.renderedEntries()[0];return first?encodeKey(first.key):null}rowsAffectingRovingFocusChanged(changed){return changed.has("rows")||changed.has("rowKey")||changed.has("filterText")||changed.has("filter")||changed.has("page")||changed.has("pageSize")||changed.has("paginationMode")||changed.has("totalItems")||changed.has("columns")||changed.has("sortKey")||changed.has("sortDir")||changed.has("sortMode")||changed.has("groupBy")||this.rowsLocale!==this.effectiveLocale}captureRovingFocus(changed){this.rovingFocusSnapshot=null;const active=shadowFocusTarget(this),HTMLElementCtor=this.ownerDocument?.defaultView?.HTMLElement;if(!(!HTMLElementCtor||!(active instanceof HTMLElementCtor))){if(changed.has("columns")&&active.matches("th[data-col-key]")){const headers=this.visibleHeaders(),key=active.dataset.colKey,index=headers.indexOf(active);key!==void 0&&index>=0&&(this.rovingFocusSnapshot={kind:"header",key,index,targetKey:null,element:active});return}if(this.rowsAffectingRovingFocusChanged(changed)&&active.matches("tr[data-row-key]")){const renderedRows=[...this.renderRoot.querySelectorAll("tbody tr[data-row-key]")],key=active.dataset.rowKey,index=renderedRows.indexOf(active);key!==void 0&&index>=0&&(this.rovingFocusSnapshot={kind:"row",key,index,targetKey:null,element:active})}}}resolveRovingFocusTarget(){const snapshot=this.rovingFocusSnapshot;if(snapshot===null)return;const keys=snapshot.kind==="header"?this.columns.map(column=>column.key):[...this.rowsByKey.keys()];snapshot.targetKey=keys.includes(snapshot.key)?snapshot.key:keys[Math.min(snapshot.index,keys.length-1)]??null,snapshot.kind==="header"?this.activeColKey=snapshot.targetKey:this.activeRowKey=snapshot.targetKey}willUpdate(changed){if(super.willUpdate(changed),this.themedResizeMinWidth=void 0,this.captureRovingFocus(changed),this.selectionMode==="single"&&this._selectedKeys.size>1&&(changed.has("selectionMode")||changed.has("selectedRowKeys"))){const first=this._selectedKeys.values().next().value;if(this.selectedRowKeys=this.asKeySet(first===void 0?new Set:new Set([first])),this.hasUpdated){const rowKeys=this.asKeyList(Object.freeze(first===void 0?[]:[first]));this.emit("lr-selection-change",Object.freeze({selectedRowKeys:rowKeys}))}}if(this.expansionMode==="single"&&this._expandedKeys.size>1&&(changed.has("expansionMode")||changed.has("expandedRowKeys"))){const first=this._expandedKeys.values().next().value;this.expandedRowKeys=this.asKeySet(first===void 0?new Set:new Set([first]))}if(!this.hasUpdated){const parsed=readPersistedState(this.storageFullKey,v=>typeof v=="object"&&v!==null);parsed&&typeof parsed.priorityColumnsVisible=="boolean"&&!isPersistedPropertyExplicitlySet(this,"priorityColumnsVisible")&&(this.priorityColumnsVisible=parsed.priorityColumnsVisible)}if(changed.has("columns")&&(this.columnsByKey=new Map(this.columns.map(c=>[c.key,c]))),this.rowsAffectingRovingFocusChanged(changed)&&(this.rowsByKey=new Map(this.renderedEntries().map(entry=>[encodeKey(entry.key),entry])),this.rowsLocale=this.effectiveLocale),this.resolveRovingFocusTarget(),this.editingCell!==null){const column=this.columnsByKey.get(this.editingCell.columnKey);(!this.rowsByKey.has(this.editingCell.rowKey)||normalizedEditTrigger(column?.editTrigger)!=="double-click")&&(this.editingCell=null)}this.editorHadFocusBeforeUpdate=this.focusedEditorCell!==null&&shadowFocusTarget(this)===this.editorElementFor(this.focusedEditorCell.rowKey,this.focusedEditorCell.columnKey)}stickyOffsets(){const offsets=new Map,headerWidths=new Map;for(const el of this.renderRoot.querySelectorAll("th[data-col-key]")){const key=el.dataset.colKey;key!==void 0&&!headerWidths.has(key)&&headerWidths.set(key,el.offsetWidth)}const headerWidth=key=>headerWidths.get(key)??0;let runningStart=0;for(const col of this.columns)stickyDirection(col.sticky)==="start"&&(offsets.set(col.key,runningStart),runningStart+=headerWidth(col.key));let runningEnd=0;for(let i=this.columns.length-1;i>=0;i--){const col=this.columns[i];col&&stickyDirection(col.sticky)==="end"&&(offsets.set(col.key,runningEnd),runningEnd+=headerWidth(col.key))}return offsets}computeHeatDomain(hasHeatTint){if(!hasHeatTint)return null;const entries=this.matchingEntries(),min=this.heatTintScale?.min,max=this.heatTintScale?.max,cached=this.heatDomainCache;if(cached&&cached.entries===entries&&cached.columns===this.columns&&cached.min===min&&cached.max===max)return cached.domain;const domain=this.deriveHeatDomain(entries);return this.heatDomainCache={entries,columns:this.columns,min,max,domain},domain}deriveHeatDomain(entries){const values=[];for(const entry of entries)for(const col of this.columns){const v=col.heatValue?.(entry.row);v!=null&&Number.isFinite(v)&&values.push(v)}const auto=minMax(values),lo=this.heatTintScale?.min??auto?.[0],hi=this.heatTintScale?.max??auto?.[1];return lo===void 0||hi===void 0?null:[lo,hi]}heatShare(col,row,domain){if(!col.heatValue||!domain)return null;const v=col.heatValue(row);if(v==null||!Number.isFinite(v))return null;const[lo,hi]=domain;return`${(finiteRatio(v,lo,hi)*100).toFixed(2)}%`}applyStickyOffsets(){if(!this.columns.some(c=>c.sticky))return;const offsets=this.stickyOffsets();this.renderRoot.querySelectorAll("[data-col-key]").forEach(el=>{const key=el.dataset.colKey;key!==void 0&&offsets.has(key)&&el.style.setProperty("--lr-table-sticky-offset",`${offsets.get(key)}px`)})}updated(changed){super.updated(changed),this.firstUpdateAnnouncementsReady&&changed.has("loading")&&this.loading&&this.announcements.announcePolite(this.loadingText()),this.firstUpdateAnnouncementsReady&&changed.has("loadingMore")&&this.loadingMore&&!this.loading&&this.shadowRoot?.querySelector('[part="more-button"]')&&this.announcements.announcePolite(this.loadingMoreText());const announcesErrorTransition=this.firstUpdateAnnouncementsReady&&changed.has("error")&&this.error,announcesMountedError=!this.firstUpdateAnnouncementsReady&&this.announce&&this.error;if((announcesErrorTransition||announcesMountedError)&&this.announcements.announceAssertive(this.localizedOverride("tableLoadFailed",this.errorHeading)),this.firstUpdateAnnouncementsReady=!0,this.persistReady&&changed.has("priorityColumnsVisible")&&writePersistedState(this.storageFullKey,{priorityColumnsVisible:this.priorityColumnsVisible}),this.persistReady=!0,changed.has("columns")||changed.has("revealColumnsLabel")||changed.has("columnsHideLabel")||changed.has("priorityColumnsVisible")||changed.has("storageKey")){const inertMembers=[],labelsInert=this.revealColumnsLabel!==void 0||this.columnsHideLabel!==void 0;labelsInert&&inertMembers.push("`revealColumnsLabel`/`columnsHideLabel`"),isPersistedPropertyExplicitlySet(this,"priorityColumnsVisible")&&inertMembers.push("`priorityColumnsVisible`"),this.storageKey&&inertMembers.push("`storageKey`"),inertMembers.length>0&&this.columns.length>0&&!this.columns.some(col=>col.priority)&&devWarnOnce(INERT_PRIORITY_COLUMN_CONFIG_WARNING,`<lr-table>: ${inertMembers.join(", ")} `+(inertMembers.length>1||labelsInert?"have":"has")+" no effect unless at least one column declares `priority`.")}(changed.has("columns")||changed.has("rows")||changed.has("rowKey"))&&this.applyStickyOffsets(),this.syncResizeHandleValues();const base=this.renderRoot.querySelector('[part="base"]');if(base&&this.observeBase(base),this.observeTable(this.renderRoot.querySelector('[part="table"]')??void 0),this.syncAutoScrollMode(),this.observeHeaders(),this.restoreRovingFocus(),this.hasAlwaysOnEditors&&this.restoreAlwaysOnEditorFocus(),changed.has("editingCell"))if(this.editingCell){const{rowKey,columnKey}=this.editingCell;queueMicrotask(()=>this.editorElementFor(rowKey,columnKey)?.focus())}else{const previous=changed.get("editingCell");if(previous){const{rowKey,columnKey}=previous;queueMicrotask(()=>this.cellElementForToken(rowKey,columnKey)?.focus())}}queueMicrotask(()=>this.recomputeHiddenPriorityColumns())}restoreRovingFocus(){const snapshot=this.rovingFocusSnapshot;if(this.rovingFocusSnapshot=null,snapshot===null)return;const internalActive=shadowFocusTarget(this);if(internalActive!==null&&internalActive!==snapshot.element)return;const documentActive=activeElementIn(this.ownerDocument);if(documentActive!==null&&documentActive!==this&&documentActive!==this.ownerDocument.body)return;const candidates=snapshot.kind==="header"?this.visibleHeaders():[...this.renderRoot.querySelectorAll("tbody tr[data-row-key]")],target=candidates.find(candidate=>snapshot.kind==="header"?candidate.dataset.colKey===snapshot.targetKey:candidate.dataset.rowKey===snapshot.targetKey)??candidates[Math.min(snapshot.index,candidates.length-1)]??null;snapshot.kind==="header"?this.focusHeader(target):this.focusRow(target)}activateColumn(key){this.activeColKey=key;const col=this.columnsByKey.get(key);if(!col?.sortable)return;const sortDir=this.sortKey===key?this.sortDir==="asc"?"desc":"asc":col.defaultSortDir??this.defaultSortDir,request=Object.freeze({phase:"request",sortKey:col.key,sortDir});this.emit("lr-sort-request",request,{cancelable:!0}).defaultPrevented||(this.sortMode==="client"&&(this.sortKey=col.key,this.sortDir=sortDir),this.emit("lr-sort",Object.freeze({phase:"commit",sortKey:col.key,sortDir})))}activateRow(key){this.activeRowKey=key;const entry=this.rowsByKey.get(key);if(entry===void 0)return;const{row,key:selectedKey}=entry;if(this.emit("lr-row-activate",Object.freeze({row})),this.selectionMode==="single"){this.selectedRowKeys=this.asKeySet(new Set([selectedKey]));const rowKeys=this.asKeyList(Object.freeze([selectedKey]));this.emit("lr-selection-change",Object.freeze({selectedRowKeys:rowKeys}))}else if(this.selectionMode==="multiple"){const rawKey=selectedKey,next=new Set(this._selectedKeys);next.has(rawKey)?next.delete(rawKey):next.add(rawKey),this.selectedRowKeys=this.asKeySet(next);const rowKeys=this.asKeyList(Object.freeze([...next]));this.emit("lr-selection-change",Object.freeze({selectedRowKeys:rowKeys}))}}get hasAlwaysOnEditors(){return this.columns.some(col=>normalizedEditTrigger(col.editTrigger)==="always")}editorValue(row,column){const value=column.editValue?.(row)??row[column.key]??"";return String(value)}startEditing(rowKey,columnKey){const column=this.columnsByKey.get(columnKey);normalizedEditTrigger(column?.editTrigger)!=="double-click"||!this.rowsByKey.has(rowKey)||(this.editingCell={rowKey,columnKey})}commitEdit(event,rowKey,columnKey){event.stopPropagation();const field=event.currentTarget,entry=this.rowsByKey.get(rowKey),column=this.columnsByKey.get(columnKey),isTransient=this.editingCell?.rowKey===rowKey&&this.editingCell.columnKey===columnKey;if(!entry||!column||normalizedEditTrigger(column.editTrigger)===void 0){isTransient&&(this.editingCell=null);return}const value=column.editType==="number"&&field.value!==""?Number(field.value):field.value;this.emit("lr-cell-edit",Object.freeze({row:entry.row,columnKey,value})),isTransient&&(this.editingCell=null)}editorElementFor(rowKey,columnKey){return this.cellElementForToken(rowKey,columnKey)?.querySelector('[part="cell-editor"]')??null}restoreAlwaysOnEditorFocus(){const cell=this.focusedEditorCell;if(cell===null)return;const editor=this.editorElementFor(cell.rowKey,cell.columnKey);editor===null?this.focusedEditorCell=null:this.editorHadFocusBeforeUpdate&&shadowFocusTarget(this)!==editor&&editor.focus(),this.editorHadFocusBeforeUpdate=!1}activateExpandToggle(key){const entry=this.rowsByKey.get(encodeKey(key));if(entry===void 0)return;const expanded=!this._expandedKeys.has(key),detail=Object.freeze({row:entry.row,rowKey:key,expanded});if(this.expansionMode!=="single"&&this.expansionMode!=="multiple"){this.emit("lr-row-expand-toggle",detail);return}requestThenCommit({requestDetail:detail,emitRequest:(requestDetail,init)=>this.emit("lr-row-expand-request",requestDetail,init),commit:()=>{const next=this.expansionMode==="single"?new Set:new Set(this._expandedKeys);expanded?next.add(key):next.delete(key);const displaced=[...this._expandedKeys].filter(other=>other!==key&&!next.has(other));this.expandedRowKeys=this.asKeySet(next);for(const other of displaced){const displacedEntry=this.rowsByKey.get(encodeKey(other));displacedEntry!==void 0&&this.emit("lr-row-expand-toggle",Object.freeze({row:displacedEntry.row,rowKey:other,expanded:!1}))}this.emit("lr-row-expand-toggle",detail)}})}rowElement(rowKey){return this.rowElementForToken(encodeKey(rowKey))}cellElement(rowKey,columnKey){return this.cellElementForToken(encodeKey(rowKey),columnKey)}editCell(rowKey,columnKey){const token=encodeKey(rowKey),trigger=normalizedEditTrigger(this.columnsByKey.get(columnKey)?.editTrigger);if(!(trigger===void 0||!this.rowsByKey.has(token))){if(trigger==="always"){this.editorElementFor(token,columnKey)?.focus();return}this.startEditing(token,columnKey)}}expandedContentElement(rowKey){const token=encodeKey(rowKey);return[...this.renderRoot.querySelectorAll("tbody tr[data-expanded-row-key]")].find(el=>el.dataset.expandedRowKey===token)?.querySelector('[part="expanded-cell"]')??null}rowElementForToken(token){return[...this.renderRoot.querySelectorAll("tbody tr[data-row-key]")].find(el=>el.dataset.rowKey===token)??null}cellElementForToken(token,columnKey){return[...this.rowElementForToken(token)?.querySelectorAll("td[data-col-key]")??[]].find(el=>el.dataset.colKey===columnKey)??null}visibleHeaders(){return[...this.renderRoot?.querySelectorAll("th[data-col-key]")??[]].filter(el=>el.offsetParent!==null)}focusHeader(el){el?.dataset.colKey&&(this.activeColKey=el.dataset.colKey,el.focus())}focusRow(el){el?.dataset.rowKey&&(this.activeRowKey=el.dataset.rowKey,el.focus())}onHeaderKeyDown(e,th){if(e.key==="Enter"||e.key===" "){e.preventDefault(),this.activateColumn(th.dataset.colKey);return}const headers=this.visibleHeaders(),index=headers.indexOf(th);if(index<0)return;const rtl=isRtl(this);switch(e.key){case"ArrowLeft":e.preventDefault(),this.focusHeader(headers[rtl?Math.min(headers.length-1,index+1):Math.max(0,index-1)]??null);return;case"ArrowRight":e.preventDefault(),this.focusHeader(headers[rtl?Math.max(0,index-1):Math.min(headers.length-1,index+1)]??null);return;case"Home":e.preventDefault(),this.focusHeader(headers[0]??null);return;case"End":e.preventDefault(),this.focusHeader(headers[headers.length-1]??null);return;case"ArrowDown":{e.preventDefault();const rows=[...this.renderRoot.querySelectorAll("[data-row-key]")],key=this.focusedRowKey();this.focusRow(rows.find(r=>r.dataset.rowKey===key)??rows[0]??null);return}default:return}}editableCellFor(target){const columnKey=target.dataset.colKey;return target.tagName!=="TD"||columnKey===void 0?null:normalizedEditTrigger(this.columnsByKey.get(columnKey)?.editTrigger)==="double-click"?{element:target,columnKey}:null}editableCellsInRow(tr){return[...tr.querySelectorAll("td[data-editable]")].filter(td=>td.offsetParent!==null&&!td.inert&&!td.closest("[inert]"))}onRowKeyDown(e,tr){const cell=this.editableCellFor(e.target);if((e.key==="Enter"||e.key==="F2")&&cell){e.preventDefault(),this.startEditing(tr.dataset.rowKey,cell.columnKey);return}if(e.key==="Enter"||e.key===" "){e.preventDefault(),this.activateRow(tr.dataset.rowKey);return}if(e.key==="ArrowLeft"||e.key==="ArrowRight"){this.onRowLateralKeyDown(e,tr,cell);return}const bodyRows=[...this.renderRoot.querySelectorAll("[data-row-key]")],index=bodyRows.indexOf(tr);if(!(index<0))switch(e.key){case"ArrowDown":e.preventDefault(),this.focusRow(bodyRows[Math.min(bodyRows.length-1,index+1)]??null);return;case"ArrowUp":if(e.preventDefault(),index===0){const headers=this.visibleHeaders(),key=this.focusedColKey();this.focusHeader(headers.find(h=>h.dataset.colKey===key)??headers[0]??null)}else this.focusRow(bodyRows[index-1]??null);return;case"Home":e.preventDefault(),this.focusRow(bodyRows[0]??null);return;case"End":e.preventDefault(),this.focusRow(bodyRows[bodyRows.length-1]??null);return;default:return}}onRowLateralKeyDown(e,tr,cell){const cells=this.editableCellsInRow(tr);if(cells.length===0)return;e.preventDefault();const forward=e.key===(isRtl(this)?"ArrowLeft":"ArrowRight");if(cell===null){(forward?cells[0]:cells[cells.length-1])?.focus();return}const index=cells.indexOf(cell.element);forward?cells[index+1]?.focus():index<=0?this.focusRow(tr):cells[index-1]?.focus()}renderCellValue(col,row){return typeof col.cell=="function"?col.cell(row):(devWarnOnce(MISSING_CELL_RENDERER_WARNING,"<lr-table>: a column has no required `cell` renderer, so its cells render empty. Supply a `cell` callback for every column."),nothing)}renderCellEditor(row,col,rowKey,alwaysOn){const type=col.editType??"text",value=this.editorValue(row,col),label=col.editLabel?.(row)??this.localize("tableEditCell",void 0,{column:col.label}),onChange=event=>this.commitEdit(event,rowKey,col.key),onKeyDown=event=>this.onEditorKeyDown(event,rowKey,col.key);if(type==="select"){const options=col.editOptions??[];return html`<select
15
15
  part="cell-editor"
16
16
  aria-label=${label}
17
17
  @change=${onChange}
@@ -237,7 +237,9 @@ import{__decorate}from"tslib";import{relayNativeEvent}from"../../../internal/nat
237
237
  >${this.loadingMore?this.loadingMoreText():this.localizedOverride("loadMore",this.moreLabel)}</button>`:nothing}
238
238
  ${hasPagination?html`<lr-pagination
239
239
  part="pagination"
240
- format="compact"
240
+ exportparts="summary:pagination-summary, controls:pagination-controls, pages:pagination-pages, page:pagination-page, page-current:pagination-page-current, page-field:pagination-page-field, page-input:pagination-page-input, page-count:pagination-page-count, button:pagination-button"
241
+ .format=${this.paginationFormat}
242
+ .withSummary=${this.paginationWithSummary}
241
243
  .page=${this.page}
242
244
  .pageSize=${this.normalizedPageSize}
243
245
  .total=${this.serverUnknownTotal?-1:this.matchingTotalItems}
@@ -248,4 +250,4 @@ import{__decorate}from"tslib";import{relayNativeEvent}from"../../../internal/nat
248
250
  @lr-page-change=${this.onPaginationChange}
249
251
  ></lr-pagination>`:nothing}
250
252
  </div>
251
- `}}__decorate([property({attribute:!1})],LyraTable.prototype,"columns",null),__decorate([property({attribute:!1})],LyraTable.prototype,"rows",null),__decorate([property({reflect:!0,converter:TABLE_LAYOUT})],LyraTable.prototype,"layout",null),__decorate([property({attribute:"sort-key"})],LyraTable.prototype,"sortKey",void 0),__decorate([property({attribute:"sort-dir"})],LyraTable.prototype,"sortDir",void 0),__decorate([property({attribute:"sort-indicators",converter:literalSetConverter(["active","all"],"active")})],LyraTable.prototype,"sortIndicators",void 0),__decorate([property({reflect:!0,attribute:"sort-mode"})],LyraTable.prototype,"sortMode",void 0),__decorate([property({attribute:"default-sort-dir"})],LyraTable.prototype,"defaultSortDir",void 0),__decorate([property({attribute:"aria-label"})],LyraTable.prototype,"hostAccessibleLabel",void 0),__decorate([property()],LyraTable.prototype,"caption",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"rowKey",void 0),__decorate([property({reflect:!0,attribute:"selection-mode"})],LyraTable.prototype,"selectionMode",void 0),__decorate([property({reflect:!0,attribute:"expansion-mode"})],LyraTable.prototype,"expansionMode",void 0),__decorate([property({reflect:!0,attribute:"scroll-mode"})],LyraTable.prototype,"scrollMode",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"selectedRowKeys",null),__decorate([property({type:Boolean,reflect:!0})],LyraTable.prototype,"filterable",void 0),__decorate([property({attribute:"filter-text"})],LyraTable.prototype,"filterText",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"filter",void 0),__decorate([property({attribute:"filter-label"})],LyraTable.prototype,"filterLabel",void 0),__decorate([property({attribute:"filter-placeholder"})],LyraTable.prototype,"filterPlaceholder",void 0),__decorate([property({converter:spellcheckConverter})],LyraTable.prototype,"spellcheck",void 0),__decorate([property()],LyraTable.prototype,"autocapitalize",void 0),__decorate([property({attribute:"autocorrect"})],LyraTable.prototype,"autoCorrect",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraTable.prototype,"loading",void 0),__decorate([property({attribute:"loading-label"})],LyraTable.prototype,"loadingLabel",void 0),__decorate([property({reflect:!0,attribute:"loading-appearance"})],LyraTable.prototype,"loadingAppearance",void 0),__decorate([property({type:Number,attribute:"skeleton-rows"})],LyraTable.prototype,"skeletonRows",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"groupBy",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"groupLabel",void 0),__decorate([property({type:Number,attribute:"page-size"})],LyraTable.prototype,"pageSize",void 0),__decorate([property({type:Number,reflect:!0})],LyraTable.prototype,"page",void 0),__decorate([property({type:Number,attribute:"total-items"})],LyraTable.prototype,"totalItems",void 0),__decorate([property({reflect:!0,attribute:"pagination-mode"})],LyraTable.prototype,"paginationMode",void 0),__decorate([property({type:Boolean,attribute:"unknown-total",reflect:!0})],LyraTable.prototype,"unknownTotal",void 0),__decorate([property({type:Boolean,attribute:"has-next",reflect:!0,converter:trueDefaultBooleanConverter})],LyraTable.prototype,"hasNext",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"expandedContent",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"canExpand",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"rowExpandLabel",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"expandedRowKeys",null),__decorate([property({attribute:!1})],LyraTable.prototype,"heatTintScale",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"rowTotal",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"grandTotal",void 0),__decorate([property({type:Boolean,attribute:"has-more",reflect:!0})],LyraTable.prototype,"hasMore",void 0),__decorate([property({type:Boolean,attribute:"loading-more",reflect:!0})],LyraTable.prototype,"loadingMore",void 0),__decorate([property({attribute:"loading-more-label"})],LyraTable.prototype,"loadingMoreLabel",void 0),__decorate([property({attribute:"more-label"})],LyraTable.prototype,"moreLabel",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraTable.prototype,"error",void 0),__decorate([property({attribute:"error-heading"})],LyraTable.prototype,"errorHeading",void 0),__decorate([property({attribute:"error-description"})],LyraTable.prototype,"errorDescription",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraTable.prototype,"announce",void 0),__decorate([property({attribute:"empty-heading"})],LyraTable.prototype,"emptyHeading",void 0),__decorate([property({attribute:"empty-description"})],LyraTable.prototype,"emptyDescription",void 0),__decorate([property({attribute:"empty-size",converter:optionalSizeConverter})],LyraTable.prototype,"emptySize",null),__decorate([property({attribute:"empty-columns-heading"})],LyraTable.prototype,"emptyColumnsHeading",void 0),__decorate([property({attribute:"empty-columns-description"})],LyraTable.prototype,"emptyColumnsDescription",void 0),__decorate([property({attribute:"reveal-columns-label"})],LyraTable.prototype,"revealColumnsLabel",void 0),__decorate([property({attribute:"columns-hide-label"})],LyraTable.prototype,"columnsHideLabel",void 0),__decorate([property({type:Boolean,attribute:"has-hidden-priority-columns",reflect:!0})],LyraTable.prototype,"hasHiddenPriorityColumns",void 0),__decorate([state()],LyraTable.prototype,"priorityToggleAvailable",void 0),__decorate([property({type:Boolean,attribute:"priority-columns-visible",reflect:!0,noAccessor:!0})],LyraTable.prototype,"priorityColumnsVisible",void 0),__decorate([property({attribute:"storage-key"})],LyraTable.prototype,"storageKey",void 0),__decorate([state()],LyraTable.prototype,"activeColKey",void 0),__decorate([state()],LyraTable.prototype,"activeRowKey",void 0),__decorate([state()],LyraTable.prototype,"editingCell",void 0),__decorate([state()],LyraTable.prototype,"resizedColumnWidths",null);export{LyraTable};
253
+ `}}__decorate([property({attribute:!1})],LyraTable.prototype,"columns",null),__decorate([property({attribute:!1})],LyraTable.prototype,"rows",null),__decorate([property({reflect:!0,converter:TABLE_LAYOUT})],LyraTable.prototype,"layout",null),__decorate([property({attribute:"sort-key"})],LyraTable.prototype,"sortKey",void 0),__decorate([property({attribute:"sort-dir"})],LyraTable.prototype,"sortDir",void 0),__decorate([property({attribute:"sort-indicators",converter:literalSetConverter(["active","all"],"active")})],LyraTable.prototype,"sortIndicators",void 0),__decorate([property({reflect:!0,attribute:"sort-mode"})],LyraTable.prototype,"sortMode",void 0),__decorate([property({attribute:"default-sort-dir"})],LyraTable.prototype,"defaultSortDir",void 0),__decorate([property({attribute:"aria-label"})],LyraTable.prototype,"hostAccessibleLabel",void 0),__decorate([property()],LyraTable.prototype,"caption",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"rowKey",void 0),__decorate([property({reflect:!0,attribute:"selection-mode"})],LyraTable.prototype,"selectionMode",void 0),__decorate([property({reflect:!0,attribute:"expansion-mode"})],LyraTable.prototype,"expansionMode",void 0),__decorate([property({reflect:!0,attribute:"scroll-mode"})],LyraTable.prototype,"scrollMode",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"selectedRowKeys",null),__decorate([property({type:Boolean,reflect:!0})],LyraTable.prototype,"filterable",void 0),__decorate([property({attribute:"filter-text"})],LyraTable.prototype,"filterText",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"filter",void 0),__decorate([property({attribute:"filter-label"})],LyraTable.prototype,"filterLabel",void 0),__decorate([property({attribute:"filter-placeholder"})],LyraTable.prototype,"filterPlaceholder",void 0),__decorate([property({converter:spellcheckConverter})],LyraTable.prototype,"spellcheck",void 0),__decorate([property()],LyraTable.prototype,"autocapitalize",void 0),__decorate([property({attribute:"autocorrect"})],LyraTable.prototype,"autoCorrect",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraTable.prototype,"loading",void 0),__decorate([property({attribute:"loading-label"})],LyraTable.prototype,"loadingLabel",void 0),__decorate([property({reflect:!0,attribute:"loading-appearance"})],LyraTable.prototype,"loadingAppearance",void 0),__decorate([property({type:Number,attribute:"skeleton-rows"})],LyraTable.prototype,"skeletonRows",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"groupBy",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"groupLabel",void 0),__decorate([property({type:Number,attribute:"page-size"})],LyraTable.prototype,"pageSize",void 0),__decorate([property({type:Number,reflect:!0})],LyraTable.prototype,"page",void 0),__decorate([property({type:Number,attribute:"total-items"})],LyraTable.prototype,"totalItems",void 0),__decorate([property({reflect:!0,attribute:"pagination-mode"})],LyraTable.prototype,"paginationMode",void 0),__decorate([property({type:Boolean,attribute:"unknown-total",reflect:!0})],LyraTable.prototype,"unknownTotal",void 0),__decorate([property({type:Boolean,attribute:"pagination-with-summary",reflect:!0})],LyraTable.prototype,"paginationWithSummary",void 0),__decorate([property({attribute:"pagination-format",converter:TABLE_PAGINATION_FORMAT})],LyraTable.prototype,"paginationFormat",void 0),__decorate([property({type:Boolean,attribute:"has-next",reflect:!0,converter:trueDefaultBooleanConverter})],LyraTable.prototype,"hasNext",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"expandedContent",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"canExpand",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"rowExpandLabel",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"expandedRowKeys",null),__decorate([property({attribute:!1})],LyraTable.prototype,"heatTintScale",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"rowTotal",void 0),__decorate([property({attribute:!1})],LyraTable.prototype,"grandTotal",void 0),__decorate([property({type:Boolean,attribute:"has-more",reflect:!0})],LyraTable.prototype,"hasMore",void 0),__decorate([property({type:Boolean,attribute:"loading-more",reflect:!0})],LyraTable.prototype,"loadingMore",void 0),__decorate([property({attribute:"loading-more-label"})],LyraTable.prototype,"loadingMoreLabel",void 0),__decorate([property({attribute:"more-label"})],LyraTable.prototype,"moreLabel",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraTable.prototype,"error",void 0),__decorate([property({attribute:"error-heading"})],LyraTable.prototype,"errorHeading",void 0),__decorate([property({attribute:"error-description"})],LyraTable.prototype,"errorDescription",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraTable.prototype,"announce",void 0),__decorate([property({attribute:"empty-heading"})],LyraTable.prototype,"emptyHeading",void 0),__decorate([property({attribute:"empty-description"})],LyraTable.prototype,"emptyDescription",void 0),__decorate([property({attribute:"empty-size",converter:optionalSizeConverter})],LyraTable.prototype,"emptySize",null),__decorate([property({attribute:"empty-columns-heading"})],LyraTable.prototype,"emptyColumnsHeading",void 0),__decorate([property({attribute:"empty-columns-description"})],LyraTable.prototype,"emptyColumnsDescription",void 0),__decorate([property({attribute:"reveal-columns-label"})],LyraTable.prototype,"revealColumnsLabel",void 0),__decorate([property({attribute:"columns-hide-label"})],LyraTable.prototype,"columnsHideLabel",void 0),__decorate([property({type:Boolean,attribute:"has-hidden-priority-columns",reflect:!0})],LyraTable.prototype,"hasHiddenPriorityColumns",void 0),__decorate([state()],LyraTable.prototype,"priorityToggleAvailable",void 0),__decorate([property({type:Boolean,attribute:"priority-columns-visible",reflect:!0,noAccessor:!0})],LyraTable.prototype,"priorityColumnsVisible",void 0),__decorate([property({attribute:"storage-key"})],LyraTable.prototype,"storageKey",void 0),__decorate([state()],LyraTable.prototype,"activeColKey",void 0),__decorate([state()],LyraTable.prototype,"activeRowKey",void 0),__decorate([state()],LyraTable.prototype,"editingCell",void 0),__decorate([state()],LyraTable.prototype,"resizedColumnWidths",null);export{LyraTable};
@@ -1 +1 @@
1
- import{iconHitTarget,focusRing}from"../../../internal/interactive-control.styles.js";import{css}from"lit";import{dataStateRetryStyles,dataStateSurfaceStyles}from"../../../internal/data-state-renderer.styles.js";const styles=css` :host { display: block; inline-size: 100%; --_lr-table-heat-tint-lo-default: var(--lr-color-brand-quiet); --_lr-table-heat-tint-hi-default: var(--lr-color-brand); --_lr-table-resize-min-width-default: var(--lr-size-3rem); --_lr-table-resize-handle-opacity-default: 0.12; } [part='base'] { overflow: auto; max-block-size: var(--lr-table-max-height, none); border: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); border-radius: var(--lr-radius-container); scrollbar-width: var(--lr-theme-scrollbar-width, auto); scrollbar-gutter: var(--lr-theme-scrollbar-gutter, auto); } [part='row-limit'] { padding: var(--lr-space-s); color: var(--lr-color-text-quiet); font-size: var(--lr-font-size-sm); } :host([scroll-mode='page']) [part='base'], :host([scroll-mode='auto']) [part='base']:not([data-scroll-overflow]) { overflow: visible; max-block-size: none; } [part='filter-label'] { display: flex; align-items: center; gap: var(--lr-space-s); padding: var(--lr-space-s); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); color: var(--lr-color-text-quiet); font-size: var(--lr-font-size-md-sm); } [part='filter'] { min-inline-size: 0; flex: 1; padding: var(--lr-space-xs) var(--lr-space-s); border: var(--lr-border-width-thin) solid var(--lr-color-border); border-radius: var(--lr-radius-xs); background: var(--lr-color-surface); color: var(--lr-color-text); font: inherit; } [part='filter']:focus-visible { ${focusRing} } :where([part='filter']):hover { background: var(--lr-color-brand-quiet); } :where([part='filter']):active { background: color-mix( in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part='filter']::placeholder { color: var(--lr-color-text-quiet); opacity: 1; } [part='filter'][type='search']::-webkit-search-cancel-button, [part='filter'][type='search']::-webkit-search-decoration { appearance: none; } [part='filter-clear'] { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; ${iconHitTarget} border: 0; border-radius: var(--lr-radius-xs); background: transparent; cursor: pointer; color: var(--lr-color-text-quiet); padding: var(--lr-space-xs); transition: background-color var(--lr-transition-fast), color var(--lr-transition-fast); } [part='filter-clear']:hover { color: var(--lr-color-text); } [part='filter-clear']:active { color: var(--lr-color-text); background: color-mix( in oklab, var(--lr-color-surface), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part='filter-clear']:focus-visible { outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color); outline-offset: calc(-1 * var(--lr-focus-ring-width)); } [part='loading']:not(.sr-only) { display: grid; place-items: center; min-block-size: var(--lr-size-8rem); padding: var(--lr-space-l); } [part='pagination'] { display: block; border-block-start: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); } [part='base'][data-hide-priority-low]:not([data-force-visible]) [data-priority='low'] { display: none; } [part='base'][data-hide-priority-medium]:not([data-force-visible]) [data-priority='medium'] { display: none; } [part='table'] { inline-size: 100%; border-collapse: collapse; font: inherit; font-size: var(--lr-table-font-size, inherit); } [part='table'][data-layout='fixed'] { table-layout: fixed; } [part='row'], [part='head'] > tr, [part='footer-row'] { block-size: max( var(--lr-size-24px), var(--lr-table-row-height, calc(var(--lr-table-row-min-height) * var(--_lr-density-control, 1))), var(--_lr-density-target-min, 0px) ); } [part='header-cell'] { position: sticky; inset-block-start: 0; background: var(--_lr-table-header-bg, var(--lr-color-surface)); text-align: start; font-weight: var(--lr-font-weight-semibold); padding: var(--lr-table-cell-padding, var(--lr-space-s)); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); cursor: default; white-space: nowrap; } [part='header-cell'][data-resizable] { padding-inline-end: calc(var(--lr-space-s) + var(--lr-size-0-5rem)); } [part='resize-handle'] { position: absolute; inset-block: 0; inset-inline-end: 0; inline-size: var(--lr-size-0-5rem); ${iconHitTarget} cursor: col-resize; touch-action: none; } [part='resize-handle']:hover, [part='resize-handle']:focus-visible { background: var(--lr-table-resize-handle-hover-bg, var(--lr-color-brand)); opacity: var( --lr-table-resize-handle-hover-opacity, var(--lr-table-resize-handle-opacity, var(--_lr-table-resize-handle-opacity-default)) ); } [part='resize-handle']:active, [part='resize-handle'][data-resizing] { background: var( --lr-table-resize-handle-active-bg, var(--lr-table-resize-handle-hover-bg, var(--lr-color-brand)) ); opacity: var( --lr-table-resize-handle-active-opacity, calc( var( --lr-table-resize-handle-hover-opacity, var(--lr-table-resize-handle-opacity, var(--_lr-table-resize-handle-opacity-default)) ) * 2 ) ); } [part='resize-handle']:focus-visible { outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color); outline-offset: calc(-1 * max(var(--lr-focus-ring-width), calc(var(--lr-focus-ring-width) + var(--lr-focus-ring-offset)))); } :where([part='header-cell'][aria-sort]:not([aria-sort='none'])), :where([part='header-cell'][data-sortable]) { cursor: pointer; } [part='header-cell']:where([aria-sort]:not([aria-sort='none'])) { --_lr-table-header-bg: var(--lr-table-header-sorted-bg, var(--lr-color-surface)); background: var(--_lr-table-header-bg); color: var(--lr-table-header-sorted-color, inherit); } [part='header-cell'][data-sortable]:hover { background: var(--lr-color-brand-quiet); } [part='header-cell'][data-sortable]:active { background: color-mix( in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part='header-cell']:focus-visible { ${focusRing} } [part='header-cell'][data-align='end'] { text-align: end; } [part~='sort-icon'] { display: inline-block; margin-inline-start: var(--lr-space-xs); vertical-align: middle; transition: transform var(--lr-transition-fast); } [part~='sort-icon-inactive'] { color: var(--lr-color-text-quiet); } @media (forced-colors: active) { [part~='sort-icon-inactive'] { color: CanvasText !important; } } [part~='sort-icon'] svg { display: block; } [part~='sort-icon'][data-dir='asc'] { transform: rotate(-90deg); } [part~='sort-icon'][data-dir='desc'] { transform: rotate(90deg); } @media (prefers-reduced-motion: reduce) { [part~='sort-icon'] { transition: none !important; } } [part='row'][data-stripe] { background: var(--lr-table-row-stripe-bg, transparent); --_lr-table-row-bg: var(--lr-table-row-stripe-bg, var(--lr-color-surface)); } [part='row'][aria-selected='true'] { --_lr-table-row-bg: var(--lr-table-row-selected-bg, var(--lr-color-brand-quiet)); background: var(--_lr-table-row-bg); } [part='row']:hover { --_lr-table-row-bg: color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-hover)); background: var(--_lr-table-row-bg); } [part='row']:active { --_lr-table-row-bg: color-mix( in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); background: var(--_lr-table-row-bg); } @media (forced-colors: active) { :where([part~='row'][aria-selected='true']) { outline: var(--lr-border-width-medium) solid Highlight; outline-offset: calc(-1 * var(--lr-border-width-medium)); } :where([part~='row']:hover:not([aria-selected='true'])) { outline: var(--lr-border-width-thin) dashed Highlight; outline-offset: calc(-1 * var(--lr-border-width-thin)); } } [part='group-cell'] { padding: var(--lr-table-cell-padding-compact, var(--lr-space-xs) var(--lr-space-s)); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); background: var(--lr-color-surface-raised); color: var(--lr-color-text-quiet); font-weight: var(--lr-font-weight-semibold); text-align: start; } [part='row']:focus-visible { ${focusRing} } [part='cell'] { padding: var(--lr-table-cell-padding, var(--lr-space-s)); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); color: var(--lr-table-cell-color, inherit); } [part='cell'][data-editable] { transition: var(--lr-transition-interactive); } :where([part='cell'][data-editable]):hover { cursor: pointer; background: var(--lr-color-brand-quiet); } :where([part='cell'][data-editable]):active { background: color-mix( in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part='cell'][data-editable]:focus-visible { ${focusRing} } [part='cell'] a:where(:any-link) { color: var(--lr-table-cell-link-color, var(--lr-color-brand)); } [part='cell'] a:where(:any-link):hover, [part='cell'] a:where(:any-link):focus-visible, [part='cell'] a:where(:any-link):active { color: var( --lr-table-cell-link-hover-color, var(--lr-table-cell-link-color, var(--lr-color-brand)) ); text-decoration-thickness: var(--lr-border-width-medium); } [part='cell-editor'] { box-sizing: border-box; inline-size: 100%; min-inline-size: 0; padding: var(--lr-space-xs) var(--lr-space-s); border: var(--lr-border-width-thin) solid var(--lr-color-brand); border-radius: var(--lr-radius-xs); background: var(--lr-color-surface); color: var(--lr-color-text); font: inherit; } [part='cell-editor']:focus-visible { ${focusRing} } :where([part='cell-editor']):hover { background: var(--lr-color-brand-quiet); } :where([part='cell-editor']):active { background: color-mix( in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part='cell-editor'][type='number'] { appearance: textfield; } [part='cell-editor'][type='number']::-webkit-inner-spin-button, [part='cell-editor'][type='number']::-webkit-outer-spin-button { appearance: none; margin: 0; } select[part='cell-editor'] { appearance: none; padding-inline-end: calc(var(--lr-space-s) + var(--lr-size-0-75rem)); cursor: pointer; } select[part='cell-editor'] option { background: var(--lr-color-surface); color: var(--lr-color-text); } [part='cell']:has(> select[part='cell-editor']) { position: relative; } [part='cell']:has(> select[part='cell-editor'])::after { content: ''; position: absolute; inset-inline-end: var(--lr-space-s); inset-block-start: 50%; inline-size: var(--lr-size-0-75rem); block-size: var(--lr-size-0-75rem); color: var(--lr-color-text-quiet); background: currentColor; mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="9 6 15 12 9 18"%3E%3C/polyline%3E%3C/svg%3E') center / contain no-repeat; transform: translateY(-50%) rotate(90deg); pointer-events: none; } @media (forced-colors: active) { [part='cell']:has(> select[part='cell-editor'])::after { forced-color-adjust: none; color: ButtonText; } } [part='cell'][data-align='end'] { text-align: end; } [part='row-total-cell'] { padding: var(--lr-table-cell-padding, var(--lr-space-s)); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); font-weight: var(--lr-font-weight-semibold); text-align: end; } [part='cell'][data-heat] { background: color-mix( in srgb, var(--lr-table-heat-tint-hi, var(--_lr-table-heat-tint-hi-default)) var(--lr-table-heat-t), var(--lr-table-heat-tint-lo, var(--_lr-table-heat-tint-lo-default)) ); } [part='expand-toggle-cell'] { padding: var(--lr-space-s); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); text-align: center; } [part='row-expand-toggle'] { display: inline-flex; align-items: center; justify-content: center; font: inherit; border: none; background: none; padding: var(--lr-space-xs); cursor: pointer; color: inherit; ${iconHitTarget} } [part='row-expand-toggle']:hover { background: var(--lr-color-brand-quiet); } [part='row-expand-toggle']:active { background: color-mix( in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part='row-expand-toggle']:focus-visible { ${focusRing} } [part='row-expand-icon'] { display: inline-block; transition: transform var(--lr-transition-fast); } [part='row-expand-icon'] svg { display: block; } [part='row-expand-toggle'][aria-expanded='true'] [part='row-expand-icon'] { transform: rotate(90deg); } :host(:dir(rtl)) [part='row-expand-icon'] { transform: rotate(180deg); } :host(:dir(rtl)) [part='row-expand-toggle'][aria-expanded='true'] [part='row-expand-icon'] { transform: rotate(90deg); } @media (prefers-reduced-motion: reduce) { [part='row-expand-icon'] { transition: none !important; } } [part='expanded-row'] [part='expanded-cell'] { padding: var(--lr-space-s); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); background: var(--lr-color-surface); } [part='header-cell'][data-sticky], [part='cell'][data-sticky] { position: sticky; inset-inline-start: var(--lr-table-sticky-offset, 0); z-index: var(--lr-layer-content); box-shadow: var(--lr-size-1px) 0 0 0 var(--lr-color-border-subtle); } [part='cell'][data-sticky] { background: var(--_lr-table-row-bg, var(--lr-color-surface)); } [part='header-cell'][data-sticky] { background: var(--_lr-table-header-bg, var(--lr-color-surface)); } [part='header-cell'][data-sticky='end'], [part='cell'][data-sticky='end'] { inset-inline-start: auto; inset-inline-end: var(--lr-table-sticky-offset, 0); box-shadow: calc(-1 * var(--lr-size-1px)) 0 0 0 var(--lr-color-border-subtle); } :host(:dir(rtl)) [part='header-cell'][data-sticky], :host(:dir(rtl)) [part='cell'][data-sticky] { box-shadow: calc(-1 * var(--lr-size-1px)) 0 0 0 var(--lr-color-border-subtle); } :host(:dir(rtl)) [part='header-cell'][data-sticky='end'], :host(:dir(rtl)) [part='cell'][data-sticky='end'] { box-shadow: var(--lr-size-1px) 0 0 0 var(--lr-color-border-subtle); } [part='foot'] { position: sticky; inset-block-end: 0; background: var(--lr-color-surface); } [part='footer-cell'] { padding: var(--lr-table-cell-padding-compact, var(--lr-space-xs) var(--lr-space-s)); border-block-start: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); font-weight: var(--lr-font-weight-semibold); text-align: start; } [part='footer-cell'][data-align='end'] { text-align: end; } [part='more-button'], [part='reveal-columns-button'] { display: block; inline-size: 100%; padding: var(--lr-space-s); border: none; background: none; color: var(--lr-color-brand); font: inherit; cursor: pointer; border-block-start: var(--lr-border-width-thin) solid var(--lr-color-border); } [part='more-button']:hover:where(:not([aria-disabled='true'])), [part='reveal-columns-button']:hover { background: var(--lr-color-brand-quiet); } [part='more-button']:active:where(:not([aria-disabled='true'])), [part='reveal-columns-button']:active { background: color-mix( in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part='more-button']:focus-visible, [part='reveal-columns-button']:focus-visible { ${focusRing} } [part='more-button']:where([aria-disabled='true']) { cursor: progress; } ${dataStateSurfaceStyles("error")} ${dataStateRetryStyles} `;export{styles};
1
+ import{iconHitTarget,focusRing}from"../../../internal/interactive-control.styles.js";import{css}from"lit";import{raiseWhileOverlayOpen}from"../../../internal/open-overlay-raise.styles.js";import{dataStateRetryStyles,dataStateSurfaceStyles}from"../../../internal/data-state-renderer.styles.js";const styles=css` :host { display: block; inline-size: 100%; --_lr-table-heat-tint-lo-default: var(--lr-color-brand-quiet); --_lr-table-heat-tint-hi-default: var(--lr-color-brand); --_lr-table-resize-min-width-default: var(--lr-size-3rem); --_lr-table-resize-handle-opacity-default: 0.12; } [part='base'] { overflow: auto; max-block-size: var(--lr-table-max-height, none); border: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); border-radius: var(--lr-table-radius, var(--lr-radius-container)); background: var(--lr-table-surface, var(--lr-color-surface)); scrollbar-width: var(--lr-theme-scrollbar-width, auto); scrollbar-gutter: var(--lr-theme-scrollbar-gutter, auto); } [part='row-limit'] { padding: var(--lr-space-s); color: var(--lr-color-text-quiet); font-size: var(--lr-font-size-sm); } :host([scroll-mode='page']) [part='base'], :host([scroll-mode='auto']) [part='base']:not([data-scroll-overflow]) { overflow: visible; max-block-size: none; } :host([scroll-mode='page']) [part='base']:not([data-scroll-overflow]), :host([scroll-mode='auto']) [part='base']:not([data-scroll-overflow]) { overflow: clip; } [part='filter-label'] { display: flex; align-items: center; gap: var(--lr-space-s); padding: var(--lr-space-s); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); color: var(--lr-color-text-quiet); font-size: var(--lr-font-size-md-sm); } [part='filter'] { min-inline-size: 0; flex: 1; padding: var(--lr-space-xs) var(--lr-space-s); border: var(--lr-border-width-thin) solid var(--lr-color-border); border-radius: var(--lr-radius-xs); background: var(--lr-color-surface); color: var(--lr-color-text); font: inherit; } [part='filter']:focus-visible { ${focusRing} } :where([part='filter']):hover { background: var(--lr-color-brand-quiet); } :where([part='filter']):active { background: color-mix( in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part='filter']::placeholder { color: var(--lr-color-text-quiet); opacity: 1; } [part='filter'][type='search']::-webkit-search-cancel-button, [part='filter'][type='search']::-webkit-search-decoration { appearance: none; } [part='filter-clear'] { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; ${iconHitTarget} border: 0; border-radius: var(--lr-radius-xs); background: transparent; cursor: pointer; color: var(--lr-color-text-quiet); padding: var(--lr-space-xs); transition: background-color var(--lr-transition-fast), color var(--lr-transition-fast); } [part='filter-clear']:hover { color: var(--lr-color-text); } [part='filter-clear']:active { color: var(--lr-color-text); background: color-mix( in oklab, var(--lr-color-surface), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part='filter-clear']:focus-visible { outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color); outline-offset: calc(-1 * var(--lr-focus-ring-width)); } [part='loading']:not(.sr-only) { display: grid; place-items: center; min-block-size: var(--lr-size-8rem); padding: var(--lr-space-l); } [part='pagination'] { display: block; border-block-start: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); } [part='base'][data-hide-priority-low]:not([data-force-visible]) [data-priority='low'] { display: none; } [part='base'][data-hide-priority-medium]:not([data-force-visible]) [data-priority='medium'] { display: none; } [part='table'] { inline-size: 100%; border-collapse: collapse; font: inherit; font-size: var(--lr-table-font-size, inherit); } [part='table'][data-layout='fixed'] { table-layout: fixed; } [part='row'], [part='head'] > tr, [part='footer-row'] { block-size: max( var(--lr-size-24px), var(--lr-table-row-height, calc(var(--lr-table-row-min-height) * var(--_lr-density-control, 1))), var(--_lr-density-target-min, 0px) ); } [part='header-cell'] { position: sticky; inset-block-start: 0; background: var(--_lr-table-header-bg, var(--lr-table-surface, var(--lr-color-surface))); text-align: start; font-weight: var(--lr-font-weight-semibold); padding: var(--lr-table-cell-padding, var(--lr-space-s)); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); cursor: default; white-space: nowrap; } [part='header-cell'][data-resizable] { padding-inline-end: calc(var(--lr-space-s) + var(--lr-size-0-5rem)); } [part='resize-handle'] { position: absolute; inset-block: 0; inset-inline-end: 0; inline-size: var(--lr-size-0-5rem); ${iconHitTarget} cursor: col-resize; touch-action: none; } [part='resize-handle']:hover, [part='resize-handle']:focus-visible { background: var(--lr-table-resize-handle-hover-bg, var(--lr-color-brand)); opacity: var( --lr-table-resize-handle-hover-opacity, var(--lr-table-resize-handle-opacity, var(--_lr-table-resize-handle-opacity-default)) ); } [part='resize-handle']:active, [part='resize-handle'][data-resizing] { background: var( --lr-table-resize-handle-active-bg, var(--lr-table-resize-handle-hover-bg, var(--lr-color-brand)) ); opacity: var( --lr-table-resize-handle-active-opacity, calc( var( --lr-table-resize-handle-hover-opacity, var(--lr-table-resize-handle-opacity, var(--_lr-table-resize-handle-opacity-default)) ) * 2 ) ); } [part='resize-handle']:focus-visible { outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color); outline-offset: calc(-1 * max(var(--lr-focus-ring-width), calc(var(--lr-focus-ring-width) + var(--lr-focus-ring-offset)))); } :where([part='header-cell'][aria-sort]:not([aria-sort='none'])), :where([part='header-cell'][data-sortable]) { cursor: pointer; } [part='header-cell']:where([aria-sort]:not([aria-sort='none'])) { --_lr-table-header-bg: var(--lr-table-header-sorted-bg, var(--lr-table-surface, var(--lr-color-surface))); background: var(--_lr-table-header-bg); color: var(--lr-table-header-sorted-color, inherit); } [part='header-cell'][data-sortable]:hover { background: var(--lr-color-brand-quiet); } [part='header-cell'][data-sortable]:active { background: color-mix( in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part='header-cell']:focus-visible { ${focusRing} } [part='header-cell'][data-align='end'] { text-align: end; } [part~='sort-icon'] { display: inline-block; margin-inline-start: var(--lr-space-xs); vertical-align: middle; transition: transform var(--lr-transition-fast); } [part~='sort-icon-inactive'] { color: var(--lr-color-text-quiet); } @media (forced-colors: active) { [part~='sort-icon-inactive'] { color: CanvasText !important; } } [part~='sort-icon'] svg { display: block; } [part~='sort-icon'][data-dir='asc'] { transform: rotate(-90deg); } [part~='sort-icon'][data-dir='desc'] { transform: rotate(90deg); } @media (prefers-reduced-motion: reduce) { [part~='sort-icon'] { transition: none !important; } } [part='row'][data-stripe] { background: var(--lr-table-row-stripe-bg, transparent); --_lr-table-row-bg: var(--lr-table-row-stripe-bg, var(--lr-table-surface, var(--lr-color-surface))); } [part='row'][aria-selected='true'] { --_lr-table-row-bg: var(--lr-table-row-selected-bg, var(--lr-color-brand-quiet)); background: var(--_lr-table-row-bg); } [part='row']:hover { --_lr-table-row-bg: color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-hover)); background: var(--_lr-table-row-bg); } [part='row']:active { --_lr-table-row-bg: color-mix( in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); background: var(--_lr-table-row-bg); } @media (forced-colors: active) { :where([part~='row'][aria-selected='true']) { outline: var(--lr-border-width-medium) solid Highlight; outline-offset: calc(-1 * var(--lr-border-width-medium)); } :where([part~='row']:hover:not([aria-selected='true'])) { outline: var(--lr-border-width-thin) dashed Highlight; outline-offset: calc(-1 * var(--lr-border-width-thin)); } } [part='group-cell'] { padding: var(--lr-table-cell-padding-compact, var(--lr-space-xs) var(--lr-space-s)); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); background: var(--lr-color-surface-raised); color: var(--lr-color-text-quiet); font-weight: var(--lr-font-weight-semibold); text-align: start; } [part='row']:focus-visible { ${focusRing} } [part='cell'] { padding: var(--lr-table-cell-padding, var(--lr-space-s)); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); color: var(--lr-table-cell-color, inherit); } [part='cell'][data-editable] { transition: var(--lr-transition-interactive); } :where([part='cell'][data-editable]):hover { cursor: pointer; background: var(--lr-color-brand-quiet); } :where([part='cell'][data-editable]):active { background: color-mix( in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part='cell'][data-editable]:focus-visible { ${focusRing} } [part='cell'] a:where(:any-link) { color: var(--lr-table-cell-link-color, var(--lr-color-brand)); } [part='cell'] a:where(:any-link):hover, [part='cell'] a:where(:any-link):focus-visible, [part='cell'] a:where(:any-link):active { color: var( --lr-table-cell-link-hover-color, var(--lr-table-cell-link-color, var(--lr-color-brand)) ); text-decoration-thickness: var(--lr-border-width-medium); } [part='cell-editor'] { box-sizing: border-box; inline-size: 100%; min-inline-size: 0; padding: var(--lr-space-xs) var(--lr-space-s); border: var(--lr-border-width-thin) solid var(--lr-color-brand); border-radius: var(--lr-radius-xs); background: var(--lr-color-surface); color: var(--lr-color-text); font: inherit; } [part='cell-editor']:focus-visible { ${focusRing} } :where([part='cell-editor']):hover { background: var(--lr-color-brand-quiet); } :where([part='cell-editor']):active { background: color-mix( in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part='cell-editor'][type='number'] { appearance: textfield; } [part='cell-editor'][type='number']::-webkit-inner-spin-button, [part='cell-editor'][type='number']::-webkit-outer-spin-button { appearance: none; margin: 0; } select[part='cell-editor'] { appearance: none; padding-inline-end: calc(var(--lr-space-s) + var(--lr-size-0-75rem)); cursor: pointer; } select[part='cell-editor'] option { background: var(--lr-color-surface); color: var(--lr-color-text); } [part='cell']:has(> select[part='cell-editor']) { position: relative; } [part='cell']:has(> select[part='cell-editor'])::after { content: ''; position: absolute; inset-inline-end: var(--lr-space-s); inset-block-start: 50%; inline-size: var(--lr-size-0-75rem); block-size: var(--lr-size-0-75rem); color: var(--lr-color-text-quiet); background: currentColor; mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="9 6 15 12 9 18"%3E%3C/polyline%3E%3C/svg%3E') center / contain no-repeat; transform: translateY(-50%) rotate(90deg); pointer-events: none; } @media (forced-colors: active) { [part='cell']:has(> select[part='cell-editor'])::after { forced-color-adjust: none; color: ButtonText; } } [part='cell'][data-align='end'] { text-align: end; } [part='row-total-cell'] { padding: var(--lr-table-cell-padding, var(--lr-space-s)); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); font-weight: var(--lr-font-weight-semibold); text-align: end; } [part='cell'][data-heat] { background: color-mix( in srgb, var(--lr-table-heat-tint-hi, var(--_lr-table-heat-tint-hi-default)) var(--lr-table-heat-t), var(--lr-table-heat-tint-lo, var(--_lr-table-heat-tint-lo-default)) ); } [part='expand-toggle-cell'] { padding: var(--lr-space-s); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); text-align: center; } [part='row-expand-toggle'] { display: inline-flex; align-items: center; justify-content: center; font: inherit; border: none; background: none; padding: var(--lr-space-xs); cursor: pointer; color: inherit; ${iconHitTarget} } [part='row-expand-toggle']:hover { background: var(--lr-color-brand-quiet); } [part='row-expand-toggle']:active { background: color-mix( in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part='row-expand-toggle']:focus-visible { ${focusRing} } [part='row-expand-icon'] { display: inline-block; transition: transform var(--lr-transition-fast); } [part='row-expand-icon'] svg { display: block; } [part='row-expand-toggle'][aria-expanded='true'] [part='row-expand-icon'] { transform: rotate(90deg); } :host(:dir(rtl)) [part='row-expand-icon'] { transform: rotate(180deg); } :host(:dir(rtl)) [part='row-expand-toggle'][aria-expanded='true'] [part='row-expand-icon'] { transform: rotate(90deg); } @media (prefers-reduced-motion: reduce) { [part='row-expand-icon'] { transition: none !important; } } [part='expanded-row'] [part='expanded-cell'] { padding: var(--lr-space-s); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); background: var(--lr-table-surface, var(--lr-color-surface)); } [part='header-cell'][data-sticky], [part='cell'][data-sticky] { position: sticky; inset-inline-start: var(--lr-table-sticky-offset, 0); z-index: var(--lr-layer-content); box-shadow: var(--lr-size-1px) 0 0 0 var(--lr-color-border-subtle); } [part='cell'][data-sticky] { background: var(--_lr-table-row-bg, var(--lr-table-surface, var(--lr-color-surface))); } [part='header-cell'][data-sticky] { background: var(--_lr-table-header-bg, var(--lr-table-surface, var(--lr-color-surface))); } [part='header-cell'][data-sticky='end'], [part='cell'][data-sticky='end'] { inset-inline-start: auto; inset-inline-end: var(--lr-table-sticky-offset, 0); box-shadow: calc(-1 * var(--lr-size-1px)) 0 0 0 var(--lr-color-border-subtle); } :host(:dir(rtl)) [part='header-cell'][data-sticky], :host(:dir(rtl)) [part='cell'][data-sticky] { box-shadow: calc(-1 * var(--lr-size-1px)) 0 0 0 var(--lr-color-border-subtle); } :host(:dir(rtl)) [part='header-cell'][data-sticky='end'], :host(:dir(rtl)) [part='cell'][data-sticky='end'] { box-shadow: var(--lr-size-1px) 0 0 0 var(--lr-color-border-subtle); } ${raiseWhileOverlayOpen("[part='cell'][data-sticky]","var(--lr-layer-popover)","calc(var(--lr-layer-content) + 1)")} [part='foot'] { position: sticky; inset-block-end: 0; background: var(--lr-table-surface, var(--lr-color-surface)); } [part='footer-cell'] { padding: var(--lr-table-cell-padding-compact, var(--lr-space-xs) var(--lr-space-s)); border-block-start: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); font-weight: var(--lr-font-weight-semibold); text-align: start; } [part='footer-cell'][data-align='end'] { text-align: end; } [part='more-button'], [part='reveal-columns-button'] { display: block; inline-size: 100%; padding: var(--lr-space-s); border: none; background: none; color: var(--lr-color-brand); font: inherit; cursor: pointer; border-block-start: var(--lr-border-width-thin) solid var(--lr-color-border); } [part='more-button']:hover:where(:not([aria-disabled='true'])), [part='reveal-columns-button']:hover { background: var(--lr-color-brand-quiet); } [part='more-button']:active:where(:not([aria-disabled='true'])), [part='reveal-columns-button']:active { background: color-mix( in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part='more-button']:focus-visible, [part='reveal-columns-button']:focus-visible { ${focusRing} } [part='more-button']:where([aria-disabled='true']) { cursor: progress; } ${dataStateSurfaceStyles("error")} ${dataStateRetryStyles} `;export{styles};
@@ -1,4 +1,4 @@
1
- import{__decorate}from"tslib";import{eventCollectionSupport}from"../../../internal/collection-snapshot.js";import{html}from"lit";import{property,state}from"lit/decorators.js";import{applyComposedFocusRepair,captureComposedFocusRepair,collectComposedFocusTargets}from"../../../internal/focus-navigation.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{LyraElement}from"../../../internal/lyra-element.js";import{literalSetConverter}from"../../../internal/converters.js";import{tag}from"../../../internal/prefix.js";import{observeScrollOverflow,SCROLL_OVERFLOW_ATTRIBUTE}from"../../../internal/scroll-overflow.js";import{activeElementIn}from"../../../internal/active-element.js";import{OBSERVE_TIMELINE_ITEM_TIMESTAMP,SET_TIMELINE_CLUSTER_PRESENTATION,isTimelineClusterItemContract,timeValueChanged}from"./timeline-cluster.js";import{scrollOverflowFadeStyles}from"../../../internal/scroll-overflow.styles.js";import{styles}from"./timeline.styles.js";import{LYRA_DEFAULT_timeline,LYRA_DEFAULT_timelineClusterCount}from"../../../internal/default-strings.generated.js";const TIMELINE_ORIENTATION=literalSetConverter(["vertical","horizontal"],"vertical");function isUsableActiveElement(value){if(typeof value!="object"&&typeof value!="function"||value===null)return!1;try{const candidate=value;if(candidate.nodeType!==1)return!1;const NodeConstructor=candidate.ownerDocument?.defaultView?.Node??(typeof Node>"u"?void 0:Node);return NodeConstructor?(NodeConstructor.prototype.getRootNode.call(candidate),!0):!1}catch{return!1}}function safelyDeepActiveElement(root){const initial=activeElementIn(root);if(!isUsableActiveElement(initial))return null;let active=initial;for(;;){let shadowRoot;try{shadowRoot=active.shadowRoot}catch{return null}if(!shadowRoot)return active;const nested=activeElementIn(shadowRoot);if(nested===null)return active;if(!isUsableActiveElement(nested))return null;active=nested}}function safelyContainsActive(container,candidate){if(!isUsableActiveElement(candidate))return!1;try{return container.contains(candidate)}catch{return!1}}const TIMELINE_SCALE=literalSetConverter(["flow","time"],"flow"),TIMELINE_COLLISION=literalSetConverter(["overlap","stack","cluster"],"overlap"),EMPTY_TIMELINE_CLUSTERS=Object.freeze([]),CLUSTER_HIDDEN_ATTRIBUTE="data-lr-timeline-cluster-hidden",TIMELINE_COLLISION_THRESHOLD=.015;function timelineEpochMs(raw){if(raw==null)return null;const ms=(raw instanceof Date?raw:typeof raw=="number"?new Date(raw):new Date(String(raw))).getTime();return Number.isFinite(ms)?ms:null}function itemEpochMs(element){return timelineEpochMs(element.timestamp)}class LyraTimeline extends LyraElement{constructor(){super(...arguments),this._orientation="vertical",this._scale="flow",this._collision="overlap",this.slottedCount=0,this.collisionClusters=EMPTY_TIMELINE_CLUSTERS,this.managedClusterHiddenItems=new Set,this.managedClusterRepresentatives=new Set,this.clusterActivations=new Map,this.timestampObservedItems=new Set,this.focusRepairGeneration=0,this.scrollOverflow=observeScrollOverflow(this,()=>this.renderRoot.querySelector('[part="base"]'),()=>{this.scheduleTimeExtentMeasurement(),this.scale==="time"&&this.collision==="cluster"&&this.scheduleClusterMeasurement(),this.syncScrollTabStop()}),this.onSlotChange=e=>{this.updateBrowserDerivedState(()=>{this.slottedCount=this.countTimelineItems(e.target),this.applyTimeScale()})},this.onTimelineItemTimestampChange=()=>{this.isConnected&&this.scheduleAfterUpdate(()=>this.applyTimeScale(),"timeline-item-timestamps")}}static{this.defaultStrings={...super.defaultStrings,timeline:LYRA_DEFAULT_timeline,timelineClusterCount:LYRA_DEFAULT_timelineClusterCount}}static{this.collectionSupport=eventCollectionSupport}static{this.immutableEventDetails=Object.freeze(["lr-cluster-activate"])}static{this.identityEventDetailProperties=Object.freeze({"lr-cluster-activate":Object.freeze(["items"])})}static{this.styles=[LyraElement.styles,scrollOverflowFadeStyles,styles]}get orientation(){return this._orientation}set orientation(value){const normalized=TIMELINE_ORIENTATION.normalizeReflected(this,"orientation",value),previous=this._orientation;previous!==normalized&&(this._orientation=normalized,this.requestUpdate("orientation",previous))}get scale(){return this._scale}set scale(value){const normalized=TIMELINE_SCALE.normalizeReflected(this,"scale",value),previous=this._scale;previous!==normalized&&(this._scale=normalized,this.requestUpdate("scale",previous))}get collision(){return this._collision}set collision(value){const normalized=TIMELINE_COLLISION.normalizeReflected(this,"collision",value),previous=this._collision;previous!==normalized&&(this._collision=normalized,this.requestUpdate("collision",previous))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&this.scheduleAfterUpdate(()=>this.applyTimeScale(),"timeline-clusters")}disconnectedCallback(){this.cancelClusterMeasurement(),this.cancelTimeExtentMeasurement(),this.focusRepairGeneration+=1,this.restoreClusterPresentation(),this.restoreClusterVisibility(),this.syncTimestampObservers([]),this.collisionClusters.length>0&&(this.collisionClusters=EMPTY_TIMELINE_CLUSTERS),super.disconnectedCallback()}willUpdate(changed){super.willUpdate(changed),this.hasUpdated||(this.slottedCount=Array.from(this.children).filter(element=>!element.getAttribute("slot")&&element.localName===tag("timeline-item")).length),this.hasUpdated?(changed.has("scale")||changed.has("collision")||changed.has("rangeStart")||changed.has("rangeEnd"))&&this.applyTimeScale():this.seedFirstRenderState(()=>this.applyTimeScale())}updated(changed){super.updated(changed),this.scrollOverflow.observeExtra(this.timelineItems()),this.syncScrollTabStop(),this.scheduleTimeExtentMeasurement(),(changed.has("collisionClusters")||changed.has("orientation"))&&this.collisionClusters.length>0&&this.scheduleAfterUpdate(()=>this.applyTimeScale(),"timeline-cluster-measurement"),this.collisionClusters.length>0&&this.syncClusterPresentations(this.collisionClusters)}syncScrollTabStop(){const base=this.renderRoot.querySelector('[part="base"]');if(!base)return;const reachableOnlyByScrolling=this.orientation==="horizontal"&&base.hasAttribute(SCROLL_OVERFLOW_ATTRIBUTE);base.setAttribute("tabindex",reachableOnlyByScrolling?"0":"-1")}countTimelineItems(slot){return slot.assignedElements({flatten:!0}).filter(element=>element.localName===tag("timeline-item")).length}firstUpdated(changed){super.firstUpdated(changed),this.scheduleAfterUpdate(()=>this.updateBrowserDerivedState(()=>{const slot=this.shadowRoot.querySelector("slot");this.slottedCount=this.countTimelineItems(slot),this.applyTimeScale()}),"timeline-first-slot-reconciliation")}get itemCount(){return this.slottedCount}syncTimestampObservers(items){const current=new Set(items);for(const item of this.timestampObservedItems)current.has(item)||(isTimelineClusterItemContract(item)&&item[OBSERVE_TIMELINE_ITEM_TIMESTAMP](this.onTimelineItemTimestampChange,!1),this.timestampObservedItems.delete(item));for(const item of current)this.timestampObservedItems.has(item)||isTimelineClusterItemContract(item)&&(item[OBSERVE_TIMELINE_ITEM_TIMESTAMP](this.onTimelineItemTimestampChange,!0),this.timestampObservedItems.add(item))}timelineItems(){const slot=this.shadowRoot?.querySelector("slot");return(slot?slot.assignedElements({flatten:!0}):Array.from(this.children).filter(element=>!element.getAttribute("slot"))).filter(element=>element.localName===tag("timeline-item"))}timeRange(stamps){const pinnedStart=timelineEpochMs(this.rangeStart),pinnedEnd=timelineEpochMs(this.rangeEnd);if(pinnedStart!==null&&pinnedEnd!==null&&pinnedEnd>pinnedStart)return[pinnedStart,pinnedEnd];const finite=stamps.filter(value=>value!==null);if(finite.length<2)return null;const lo=Math.min(...finite),hi=Math.max(...finite);return hi>lo?[lo,hi]:null}applyTimeScale(){this.scheduleTimeExtentMeasurement();const items=this.timelineItems();if(this.syncTimestampObservers(items),this.scale!=="time"){for(const item of items)item.style.removeProperty("--_lr-timeline-item-offset"),item.style.removeProperty("--_lr-timeline-item-lane");this.applyCollisionClusters([]);return}const stamps=items.map(item=>itemEpochMs(item)),range=this.timeRange(stamps),lastIndex=Math.max(1,items.length-1),offsets=new Array(items.length).fill(0);items.forEach((item,index)=>{const stamp=stamps[index]??null,ratio=range&&stamp!==null?(stamp-range[0])/(range[1]-range[0]):this.collision==="cluster"&&stamp!==null?0:index/lastIndex,clamped=Math.min(1,Math.max(0,ratio));offsets[index]=clamped,item.style.setProperty("--_lr-timeline-item-offset",`${clamped*100}%`)}),this.applyCollisionLanes(items,offsets),this.applyCollisionClusters(this.collision==="cluster"?this.buildCollisionClusters(items,offsets,this.clusterCollisionThreshold()):[])}applyCollisionLanes(items,offsets){if(this.collision!=="stack"){for(const item of items)item.style.removeProperty("--_lr-timeline-item-lane");return}const order=items.map((_,index)=>index).sort((a,b)=>(offsets[a]??0)-(offsets[b]??0)),laneTails=[],lanes=new Array(items.length).fill(0);for(const index of order){const offset=offsets[index]??0;let lane=laneTails.findIndex(tail=>offset-tail>=TIMELINE_COLLISION_THRESHOLD);lane===-1&&(lane=laneTails.length),laneTails[lane]=offset,lanes[index]=lane}items.forEach((item,index)=>{item.style.setProperty("--_lr-timeline-item-lane",String(lanes[index]??0))})}buildCollisionClusters(items,offsets,threshold){const order=items.map((_,index)=>index).sort((a,b)=>(offsets[a]??0)-(offsets[b]??0)||a-b),clusters=[];let window=[],windowStart=0;const flush=()=>{if(window.length<2){window=[];return}const memberIndexes=[...window].sort((a,b)=>a-b);clusters.push({offset:windowStart,items:memberIndexes.map(index=>items[index])}),window=[]};for(const index of order){const offset=offsets[index]??0;window.length>0&&offset-windowStart>=threshold&&flush(),window.length===0&&(windowStart=offset),window.push(index)}return flush(),clusters}clusterCollisionThreshold(){const base=this.renderRoot.querySelector('[part="base"]');if(!base)return TIMELINE_COLLISION_THRESHOLD;const axisExtent=this.orientation==="horizontal"?base.clientWidth:base.clientHeight;if(!Number.isFinite(axisExtent)||axisExtent<=0)return TIMELINE_COLLISION_THRESHOLD;let markerExtent=0;for(const item of this.managedClusterRepresentatives){const marker=item.shadowRoot?.querySelector('[part="cluster"]');if(!marker)continue;const rect=marker.getBoundingClientRect();markerExtent=Math.max(markerExtent,this.orientation==="horizontal"?rect.width:rect.height)}return!Number.isFinite(markerExtent)||markerExtent<=0?TIMELINE_COLLISION_THRESHOLD:Math.max(TIMELINE_COLLISION_THRESHOLD,markerExtent/axisExtent)}scheduleTimeExtentMeasurement(){const view=this.ownerDocument?.defaultView;view&&(this.timeExtentFrame!==void 0&&this.timeExtentView===view||(this.cancelTimeExtentMeasurement(),this.timeExtentView=view,this.timeExtentFrame=view.requestAnimationFrame(()=>{if(this.timeExtentFrame=void 0,this.timeExtentView=void 0,!this.isConnected||this.ownerDocument.defaultView!==view)return;const base=this.renderRoot.querySelector('[part="base"]');if(!base)return;let overhang=0;if(this.scale==="time"&&this.orientation!=="horizontal"){const bottom=base.getBoundingClientRect().bottom;for(const item of this.timelineItems())item.getClientRects().length&&(overhang=Math.max(overhang,item.getBoundingClientRect().bottom-bottom))}const trailing=`${Math.ceil(overhang)}px`;if(base.style.getPropertyValue("--_lr-timeline-trailing-extent")!==trailing&&base.style.setProperty("--_lr-timeline-trailing-extent",trailing),this.scale!=="time"||this.orientation!=="horizontal"||this.collision==="cluster"){base.style.removeProperty("--_lr-timeline-content-height");return}let extent=0;for(const item of this.timelineItems())item.getClientRects().length&&(extent=Math.max(extent,item.offsetTop+item.offsetHeight+1));const height=`${extent+Math.max(0,base.offsetHeight-base.clientHeight)}px`;base.style.getPropertyValue("--_lr-timeline-content-height")!==height&&base.style.setProperty("--_lr-timeline-content-height",height)})))}cancelTimeExtentMeasurement(){this.timeExtentFrame!==void 0&&this.timeExtentView&&this.timeExtentView.cancelAnimationFrame(this.timeExtentFrame),this.timeExtentFrame=void 0,this.timeExtentView=void 0}scheduleClusterMeasurement(){const view=this.ownerDocument.defaultView;view&&(this.clusterMeasurementFrame!==void 0&&this.clusterMeasurementView===view||(this.cancelClusterMeasurement(),this.clusterMeasurementView=view,this.clusterMeasurementFrame=view.requestAnimationFrame(()=>{this.clusterMeasurementFrame=void 0,this.clusterMeasurementView=void 0,this.isConnected&&this.ownerDocument.defaultView===view&&this.scale==="time"&&this.collision==="cluster"&&this.applyTimeScale()})))}cancelClusterMeasurement(){this.clusterMeasurementFrame!==void 0&&this.clusterMeasurementView&&this.clusterMeasurementView.cancelAnimationFrame(this.clusterMeasurementFrame),this.clusterMeasurementFrame=void 0,this.clusterMeasurementView=void 0}sameClusters(left,right){return left.length===right.length&&left.every((cluster,index)=>cluster.offset===right[index]?.offset&&cluster.items.length===right[index]?.items.length&&cluster.items.every((item,itemIndex)=>item===right[index]?.items[itemIndex]))}captureClusterFocusRepair(clusters){const active=safelyDeepActiveElement(this.ownerDocument);if(!active)return;const focusedItem=this.timelineItems().find(item=>item===active||safelyContainsActive(item,active)||safelyDeepActiveElement(item.shadowRoot)===active);if(!focusedItem)return;const wasRepresentative=this.managedClusterRepresentatives.has(focusedItem),nextCluster=clusters.find(cluster=>cluster.items.includes(focusedItem)),nextRepresentative=nextCluster?.items[0],mode=nextCluster?"cluster":"item";if(mode==="cluster"&&wasRepresentative&&nextRepresentative===focusedItem||mode==="item"&&!wasRepresentative)return;const base=this.renderRoot.querySelector('[part="base"]');let snapshot;try{snapshot=captureComposedFocusRepair(focusedItem,base)}catch{return}if(snapshot)return{item:mode==="cluster"?nextRepresentative:focusedItem,mode,snapshot}}scheduleClusterFocusRepair(repair){const generation=++this.focusRepairGeneration;repair&&repair.item.updateComplete.then(()=>{if(generation!==this.focusRepairGeneration||!this.isConnected)return;const base=this.renderRoot.querySelector('[part="base"]'),target=repair.mode==="cluster"?repair.item.shadowRoot?.querySelector('[part="cluster"]')??null:collectComposedFocusTargets(repair.item).elements[0]??base;try{applyComposedFocusRepair(repair.snapshot,target)}catch{}})}applyCollisionClusters(clusters){const frozen=Object.freeze(clusters.map(cluster=>Object.freeze({offset:cluster.offset,items:Object.freeze([...cluster.items])}))),changed=!this.sameClusters(this.collisionClusters,frozen),focusRepair=changed?this.captureClusterFocusRepair(frozen):void 0,representatives=new Set(frozen.map(cluster=>cluster.items[0])),hiddenItems=new Set(frozen.flatMap(cluster=>cluster.items.filter(item=>!representatives.has(item))));for(const item of this.managedClusterHiddenItems){if(hiddenItems.has(item)){item.hasAttribute(CLUSTER_HIDDEN_ATTRIBUTE)||item.setAttribute(CLUSTER_HIDDEN_ATTRIBUTE,"");continue}item.getAttribute(CLUSTER_HIDDEN_ATTRIBUTE)===""&&item.removeAttribute(CLUSTER_HIDDEN_ATTRIBUTE),this.managedClusterHiddenItems.delete(item)}for(const item of hiddenItems)this.managedClusterHiddenItems.has(item)||item.hasAttribute(CLUSTER_HIDDEN_ATTRIBUTE)||(item.setAttribute(CLUSTER_HIDDEN_ATTRIBUTE,""),this.managedClusterHiddenItems.add(item));if(changed){this.restoreClusterPresentation();for(const cluster of frozen){const representative=cluster.items[0];this.clusterActivations.set(representative,()=>this.activateCluster(cluster.items)),this.managedClusterRepresentatives.add(representative)}this.collisionClusters=frozen,this.syncClusterPresentations(frozen),this.scheduleClusterFocusRepair(focusRepair)}for(const cluster of frozen)cluster.items[0].style.setProperty("--_lr-timeline-item-offset",`${cluster.offset*100}%`)}syncClusterPresentations(clusters){for(const cluster of clusters){const representative=cluster.items[0],activate=this.clusterActivations.get(representative);if(!activate)continue;const countText=getNumberFormat(this.effectiveLocale).format(cluster.items.length);isTimelineClusterItemContract(representative)&&representative[SET_TIMELINE_CLUSTER_PRESENTATION]({accessibleLabel:this.localize("timelineClusterCount",void 0,{count:countText}),countText,activate})}}restoreClusterPresentation(){for(const item of this.managedClusterRepresentatives)isTimelineClusterItemContract(item)&&item[SET_TIMELINE_CLUSTER_PRESENTATION](void 0);this.managedClusterRepresentatives.clear(),this.clusterActivations.clear()}restoreClusterVisibility(){for(const item of this.managedClusterHiddenItems)item.getAttribute(CLUSTER_HIDDEN_ATTRIBUTE)===""&&item.removeAttribute(CLUSTER_HIDDEN_ATTRIBUTE);this.managedClusterHiddenItems.clear()}activateCluster(items){const snapshot=this.ownerDocument.defaultView?.Array.from(items)??[...items];this.emit("lr-cluster-activate",Object.freeze({items:Object.freeze(snapshot)}))}render(){return html`
1
+ import{__decorate}from"tslib";import{eventCollectionSupport}from"../../../internal/collection-snapshot.js";import{html}from"lit";import{property,state}from"lit/decorators.js";import{applyComposedFocusRepair,captureComposedFocusRepair,collectComposedFocusTargets}from"../../../internal/focus-navigation.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{LyraElement}from"../../../internal/lyra-element.js";import{literalSetConverter}from"../../../internal/converters.js";import{tag}from"../../../internal/prefix.js";import{observeScrollOverflow,SCROLL_OVERFLOW_ATTRIBUTE}from"../../../internal/scroll-overflow.js";import{isUsableActiveElement,safeDeepActiveElement}from"../../../internal/active-element.js";import{OBSERVE_TIMELINE_ITEM_TIMESTAMP,SET_TIMELINE_CLUSTER_PRESENTATION,isTimelineClusterItemContract,timeValueChanged}from"./timeline-cluster.js";import{scrollOverflowFadeStyles}from"../../../internal/scroll-overflow.styles.js";import{styles}from"./timeline.styles.js";import{LYRA_DEFAULT_timeline,LYRA_DEFAULT_timelineClusterCount}from"../../../internal/default-strings/data.generated.js";const TIMELINE_ORIENTATION=literalSetConverter(["vertical","horizontal"],"vertical");function safelyContainsActive(container,candidate){if(!isUsableActiveElement(candidate))return!1;try{return container.contains(candidate)}catch{return!1}}const TIMELINE_SCALE=literalSetConverter(["flow","time"],"flow"),TIMELINE_COLLISION=literalSetConverter(["overlap","stack","cluster"],"overlap"),EMPTY_TIMELINE_CLUSTERS=Object.freeze([]),CLUSTER_HIDDEN_ATTRIBUTE="data-lr-timeline-cluster-hidden",TIMELINE_COLLISION_THRESHOLD=.015;function timelineEpochMs(raw){if(raw==null)return null;const ms=(raw instanceof Date?raw:typeof raw=="number"?new Date(raw):new Date(String(raw))).getTime();return Number.isFinite(ms)?ms:null}function itemEpochMs(element){return timelineEpochMs(element.timestamp)}class LyraTimeline extends LyraElement{constructor(){super(...arguments),this._orientation="vertical",this._scale="flow",this._collision="overlap",this.slottedCount=0,this.collisionClusters=EMPTY_TIMELINE_CLUSTERS,this.managedClusterHiddenItems=new Set,this.managedClusterRepresentatives=new Set,this.clusterActivations=new Map,this.timestampObservedItems=new Set,this.focusRepairGeneration=0,this.scrollOverflow=observeScrollOverflow(this,()=>this.renderRoot.querySelector('[part="base"]'),()=>{this.scheduleTimeExtentMeasurement(),this.scale==="time"&&this.collision==="cluster"&&this.scheduleClusterMeasurement(),this.syncScrollTabStop()}),this.onSlotChange=e=>{this.updateBrowserDerivedState(()=>{this.slottedCount=this.countTimelineItems(e.target),this.applyTimeScale()})},this.onTimelineItemTimestampChange=()=>{this.isConnected&&this.scheduleAfterUpdate(()=>this.applyTimeScale(),"timeline-item-timestamps")}}static{this.defaultStrings={...super.defaultStrings,timeline:LYRA_DEFAULT_timeline,timelineClusterCount:LYRA_DEFAULT_timelineClusterCount}}static{this.collectionSupport=eventCollectionSupport}static{this.immutableEventDetails=Object.freeze(["lr-cluster-activate"])}static{this.identityEventDetailProperties=Object.freeze({"lr-cluster-activate":Object.freeze(["items"])})}static{this.styles=[LyraElement.styles,scrollOverflowFadeStyles,styles]}get orientation(){return this._orientation}set orientation(value){const normalized=TIMELINE_ORIENTATION.normalizeReflected(this,"orientation",value),previous=this._orientation;previous!==normalized&&(this._orientation=normalized,this.requestUpdate("orientation",previous))}get scale(){return this._scale}set scale(value){const normalized=TIMELINE_SCALE.normalizeReflected(this,"scale",value),previous=this._scale;previous!==normalized&&(this._scale=normalized,this.requestUpdate("scale",previous))}get collision(){return this._collision}set collision(value){const normalized=TIMELINE_COLLISION.normalizeReflected(this,"collision",value),previous=this._collision;previous!==normalized&&(this._collision=normalized,this.requestUpdate("collision",previous))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&this.scheduleAfterUpdate(()=>this.applyTimeScale(),"timeline-clusters")}disconnectedCallback(){this.cancelClusterMeasurement(),this.cancelTimeExtentMeasurement(),this.focusRepairGeneration+=1,this.restoreClusterPresentation(),this.restoreClusterVisibility(),this.syncTimestampObservers([]),this.collisionClusters.length>0&&(this.collisionClusters=EMPTY_TIMELINE_CLUSTERS),super.disconnectedCallback()}willUpdate(changed){super.willUpdate(changed),this.hasUpdated||(this.slottedCount=Array.from(this.children).filter(element=>!element.getAttribute("slot")&&element.localName===tag("timeline-item")).length),this.hasUpdated?(changed.has("scale")||changed.has("collision")||changed.has("rangeStart")||changed.has("rangeEnd"))&&this.applyTimeScale():this.seedFirstRenderState(()=>this.applyTimeScale())}updated(changed){super.updated(changed),this.scrollOverflow.observeExtra(this.timelineItems()),this.syncScrollTabStop(),this.scheduleTimeExtentMeasurement(),(changed.has("collisionClusters")||changed.has("orientation"))&&this.collisionClusters.length>0&&this.scheduleAfterUpdate(()=>this.applyTimeScale(),"timeline-cluster-measurement"),this.collisionClusters.length>0&&this.syncClusterPresentations(this.collisionClusters)}syncScrollTabStop(){const base=this.renderRoot.querySelector('[part="base"]');if(!base)return;const reachableOnlyByScrolling=this.orientation==="horizontal"&&base.hasAttribute(SCROLL_OVERFLOW_ATTRIBUTE);base.setAttribute("tabindex",reachableOnlyByScrolling?"0":"-1")}countTimelineItems(slot){return slot.assignedElements({flatten:!0}).filter(element=>element.localName===tag("timeline-item")).length}firstUpdated(changed){super.firstUpdated(changed),this.scheduleAfterUpdate(()=>this.updateBrowserDerivedState(()=>{const slot=this.shadowRoot.querySelector("slot");this.slottedCount=this.countTimelineItems(slot),this.applyTimeScale()}),"timeline-first-slot-reconciliation")}get itemCount(){return this.slottedCount}syncTimestampObservers(items){const current=new Set(items);for(const item of this.timestampObservedItems)current.has(item)||(isTimelineClusterItemContract(item)&&item[OBSERVE_TIMELINE_ITEM_TIMESTAMP](this.onTimelineItemTimestampChange,!1),this.timestampObservedItems.delete(item));for(const item of current)this.timestampObservedItems.has(item)||isTimelineClusterItemContract(item)&&(item[OBSERVE_TIMELINE_ITEM_TIMESTAMP](this.onTimelineItemTimestampChange,!0),this.timestampObservedItems.add(item))}timelineItems(){const slot=this.shadowRoot?.querySelector("slot");return(slot?slot.assignedElements({flatten:!0}):Array.from(this.children).filter(element=>!element.getAttribute("slot"))).filter(element=>element.localName===tag("timeline-item"))}timeRange(stamps){const pinnedStart=timelineEpochMs(this.rangeStart),pinnedEnd=timelineEpochMs(this.rangeEnd);if(pinnedStart!==null&&pinnedEnd!==null&&pinnedEnd>pinnedStart)return[pinnedStart,pinnedEnd];const finite=stamps.filter(value=>value!==null);if(finite.length<2)return null;const lo=Math.min(...finite),hi=Math.max(...finite);return hi>lo?[lo,hi]:null}applyTimeScale(){this.scheduleTimeExtentMeasurement();const items=this.timelineItems();if(this.syncTimestampObservers(items),this.scale!=="time"){for(const item of items)item.style.removeProperty("--_lr-timeline-item-offset"),item.style.removeProperty("--_lr-timeline-item-lane");this.applyCollisionClusters([]);return}const stamps=items.map(item=>itemEpochMs(item)),range=this.timeRange(stamps),lastIndex=Math.max(1,items.length-1),offsets=new Array(items.length).fill(0);items.forEach((item,index)=>{const stamp=stamps[index]??null,ratio=range&&stamp!==null?(stamp-range[0])/(range[1]-range[0]):this.collision==="cluster"&&stamp!==null?0:index/lastIndex,clamped=Math.min(1,Math.max(0,ratio));offsets[index]=clamped,item.style.setProperty("--_lr-timeline-item-offset",`${clamped*100}%`)}),this.applyCollisionLanes(items,offsets),this.applyCollisionClusters(this.collision==="cluster"?this.buildCollisionClusters(items,offsets,this.clusterCollisionThreshold()):[])}applyCollisionLanes(items,offsets){if(this.collision!=="stack"){for(const item of items)item.style.removeProperty("--_lr-timeline-item-lane");return}const order=items.map((_,index)=>index).sort((a,b)=>(offsets[a]??0)-(offsets[b]??0)),laneTails=[],lanes=new Array(items.length).fill(0);for(const index of order){const offset=offsets[index]??0;let lane=laneTails.findIndex(tail=>offset-tail>=TIMELINE_COLLISION_THRESHOLD);lane===-1&&(lane=laneTails.length),laneTails[lane]=offset,lanes[index]=lane}items.forEach((item,index)=>{item.style.setProperty("--_lr-timeline-item-lane",String(lanes[index]??0))})}buildCollisionClusters(items,offsets,threshold){const order=items.map((_,index)=>index).sort((a,b)=>(offsets[a]??0)-(offsets[b]??0)||a-b),clusters=[];let window=[],windowStart=0;const flush=()=>{if(window.length<2){window=[];return}const memberIndexes=[...window].sort((a,b)=>a-b);clusters.push({offset:windowStart,items:memberIndexes.map(index=>items[index])}),window=[]};for(const index of order){const offset=offsets[index]??0;window.length>0&&offset-windowStart>=threshold&&flush(),window.length===0&&(windowStart=offset),window.push(index)}return flush(),clusters}clusterCollisionThreshold(){const base=this.renderRoot.querySelector('[part="base"]');if(!base)return TIMELINE_COLLISION_THRESHOLD;const axisExtent=this.orientation==="horizontal"?base.clientWidth:base.clientHeight;if(!Number.isFinite(axisExtent)||axisExtent<=0)return TIMELINE_COLLISION_THRESHOLD;let markerExtent=0;for(const item of this.managedClusterRepresentatives){const marker=item.shadowRoot?.querySelector('[part="cluster"]');if(!marker)continue;const rect=marker.getBoundingClientRect();markerExtent=Math.max(markerExtent,this.orientation==="horizontal"?rect.width:rect.height)}return!Number.isFinite(markerExtent)||markerExtent<=0?TIMELINE_COLLISION_THRESHOLD:Math.max(TIMELINE_COLLISION_THRESHOLD,markerExtent/axisExtent)}scheduleTimeExtentMeasurement(){const view=this.ownerDocument?.defaultView;view&&(this.timeExtentFrame!==void 0&&this.timeExtentView===view||(this.cancelTimeExtentMeasurement(),this.timeExtentView=view,this.timeExtentFrame=view.requestAnimationFrame(()=>{if(this.timeExtentFrame=void 0,this.timeExtentView=void 0,!this.isConnected||this.ownerDocument.defaultView!==view)return;const base=this.renderRoot.querySelector('[part="base"]');if(!base)return;let overhang=0;if(this.scale==="time"&&this.orientation!=="horizontal"){const bottom=base.getBoundingClientRect().bottom;for(const item of this.timelineItems())item.getClientRects().length&&(overhang=Math.max(overhang,item.getBoundingClientRect().bottom-bottom))}const trailing=`${Math.ceil(overhang)}px`;if(base.style.getPropertyValue("--_lr-timeline-trailing-extent")!==trailing&&base.style.setProperty("--_lr-timeline-trailing-extent",trailing),this.scale!=="time"||this.orientation!=="horizontal"||this.collision==="cluster"){base.style.removeProperty("--_lr-timeline-content-height");return}let extent=0;for(const item of this.timelineItems())item.getClientRects().length&&(extent=Math.max(extent,item.offsetTop+item.offsetHeight+1));const height=`${extent+Math.max(0,base.offsetHeight-base.clientHeight)}px`;base.style.getPropertyValue("--_lr-timeline-content-height")!==height&&base.style.setProperty("--_lr-timeline-content-height",height)})))}cancelTimeExtentMeasurement(){this.timeExtentFrame!==void 0&&this.timeExtentView&&this.timeExtentView.cancelAnimationFrame(this.timeExtentFrame),this.timeExtentFrame=void 0,this.timeExtentView=void 0}scheduleClusterMeasurement(){const view=this.ownerDocument.defaultView;view&&(this.clusterMeasurementFrame!==void 0&&this.clusterMeasurementView===view||(this.cancelClusterMeasurement(),this.clusterMeasurementView=view,this.clusterMeasurementFrame=view.requestAnimationFrame(()=>{this.clusterMeasurementFrame=void 0,this.clusterMeasurementView=void 0,this.isConnected&&this.ownerDocument.defaultView===view&&this.scale==="time"&&this.collision==="cluster"&&this.applyTimeScale()})))}cancelClusterMeasurement(){this.clusterMeasurementFrame!==void 0&&this.clusterMeasurementView&&this.clusterMeasurementView.cancelAnimationFrame(this.clusterMeasurementFrame),this.clusterMeasurementFrame=void 0,this.clusterMeasurementView=void 0}sameClusters(left,right){return left.length===right.length&&left.every((cluster,index)=>cluster.offset===right[index]?.offset&&cluster.items.length===right[index]?.items.length&&cluster.items.every((item,itemIndex)=>item===right[index]?.items[itemIndex]))}captureClusterFocusRepair(clusters){const active=safeDeepActiveElement(this.ownerDocument);if(!active)return;const focusedItem=this.timelineItems().find(item=>item===active||safelyContainsActive(item,active)||safeDeepActiveElement(item.shadowRoot)===active);if(!focusedItem)return;const wasRepresentative=this.managedClusterRepresentatives.has(focusedItem),nextCluster=clusters.find(cluster=>cluster.items.includes(focusedItem)),nextRepresentative=nextCluster?.items[0],mode=nextCluster?"cluster":"item";if(mode==="cluster"&&wasRepresentative&&nextRepresentative===focusedItem||mode==="item"&&!wasRepresentative)return;const base=this.renderRoot.querySelector('[part="base"]');let snapshot;try{snapshot=captureComposedFocusRepair(focusedItem,base)}catch{return}if(snapshot)return{item:mode==="cluster"?nextRepresentative:focusedItem,mode,snapshot}}scheduleClusterFocusRepair(repair){const generation=++this.focusRepairGeneration;repair&&repair.item.updateComplete.then(()=>{if(generation!==this.focusRepairGeneration||!this.isConnected)return;const base=this.renderRoot.querySelector('[part="base"]'),target=repair.mode==="cluster"?repair.item.shadowRoot?.querySelector('[part="cluster"]')??null:collectComposedFocusTargets(repair.item).elements[0]??base;try{applyComposedFocusRepair(repair.snapshot,target)}catch{}})}applyCollisionClusters(clusters){const frozen=Object.freeze(clusters.map(cluster=>Object.freeze({offset:cluster.offset,items:Object.freeze([...cluster.items])}))),changed=!this.sameClusters(this.collisionClusters,frozen),focusRepair=changed?this.captureClusterFocusRepair(frozen):void 0,representatives=new Set(frozen.map(cluster=>cluster.items[0])),hiddenItems=new Set(frozen.flatMap(cluster=>cluster.items.filter(item=>!representatives.has(item))));for(const item of this.managedClusterHiddenItems){if(hiddenItems.has(item)){item.hasAttribute(CLUSTER_HIDDEN_ATTRIBUTE)||item.setAttribute(CLUSTER_HIDDEN_ATTRIBUTE,"");continue}item.getAttribute(CLUSTER_HIDDEN_ATTRIBUTE)===""&&item.removeAttribute(CLUSTER_HIDDEN_ATTRIBUTE),this.managedClusterHiddenItems.delete(item)}for(const item of hiddenItems)this.managedClusterHiddenItems.has(item)||item.hasAttribute(CLUSTER_HIDDEN_ATTRIBUTE)||(item.setAttribute(CLUSTER_HIDDEN_ATTRIBUTE,""),this.managedClusterHiddenItems.add(item));if(changed){this.restoreClusterPresentation();for(const cluster of frozen){const representative=cluster.items[0];this.clusterActivations.set(representative,()=>this.activateCluster(cluster.items)),this.managedClusterRepresentatives.add(representative)}this.collisionClusters=frozen,this.syncClusterPresentations(frozen),this.scheduleClusterFocusRepair(focusRepair)}for(const cluster of frozen)cluster.items[0].style.setProperty("--_lr-timeline-item-offset",`${cluster.offset*100}%`)}syncClusterPresentations(clusters){for(const cluster of clusters){const representative=cluster.items[0],activate=this.clusterActivations.get(representative);if(!activate)continue;const countText=getNumberFormat(this.effectiveLocale).format(cluster.items.length);isTimelineClusterItemContract(representative)&&representative[SET_TIMELINE_CLUSTER_PRESENTATION]({accessibleLabel:this.localize("timelineClusterCount",void 0,{count:countText}),countText,activate})}}restoreClusterPresentation(){for(const item of this.managedClusterRepresentatives)isTimelineClusterItemContract(item)&&item[SET_TIMELINE_CLUSTER_PRESENTATION](void 0);this.managedClusterRepresentatives.clear(),this.clusterActivations.clear()}restoreClusterVisibility(){for(const item of this.managedClusterHiddenItems)item.getAttribute(CLUSTER_HIDDEN_ATTRIBUTE)===""&&item.removeAttribute(CLUSTER_HIDDEN_ATTRIBUTE);this.managedClusterHiddenItems.clear()}activateCluster(items){const snapshot=this.ownerDocument.defaultView?.Array.from(items)??[...items];this.emit("lr-cluster-activate",Object.freeze({items:Object.freeze(snapshot)}))}render(){return html`
2
2
  <div part="base" role="list" tabindex="-1" aria-label=${this.accessibleLabel==null?this.localize("timeline"):this.accessibleLabel}>
3
3
  <slot @slotchange=${this.onSlotChange}></slot>
4
4
  </div>