@aceshooting/lyra-ui 6.2.0 → 7.1.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.
- package/CHANGELOG.md +81 -0
- package/README.md +39 -3
- package/custom-elements.json +88019 -64078
- package/dist/ai/adapters/a2ui.d.ts +26 -0
- package/dist/ai/adapters/a2ui.d.ts.map +1 -0
- package/dist/ai/adapters/a2ui.js +46 -0
- package/dist/ai/adapters/a2ui.js.map +1 -0
- package/dist/ai/adapters/ag-ui.d.ts +28 -0
- package/dist/ai/adapters/ag-ui.d.ts.map +1 -0
- package/dist/ai/adapters/ag-ui.js +174 -0
- package/dist/ai/adapters/ag-ui.js.map +1 -0
- package/dist/ai/adapters/ai-sdk.d.ts +10 -0
- package/dist/ai/adapters/ai-sdk.d.ts.map +1 -0
- package/dist/ai/adapters/ai-sdk.js +128 -0
- package/dist/ai/adapters/ai-sdk.js.map +1 -0
- package/dist/ai/adapters/index.d.ts +4 -0
- package/dist/ai/adapters/index.d.ts.map +1 -0
- package/dist/ai/adapters/index.js +4 -0
- package/dist/ai/adapters/index.js.map +1 -0
- package/dist/ai/index.d.ts +2 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +2 -0
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/runtime.d.ts +77 -0
- package/dist/ai/runtime.d.ts.map +1 -0
- package/dist/ai/runtime.js +226 -0
- package/dist/ai/runtime.js.map +1 -0
- package/dist/ai/types.contract.js +26 -0
- package/dist/ai/types.contract.js.map +1 -1
- package/dist/ai/types.d.ts +100 -1
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +0 -2
- package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts.map +1 -1
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js +1 -19
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js.map +1 -1
- package/dist/components/agent-tools/activity-feed/activity-feed.d.ts +2 -0
- package/dist/components/agent-tools/activity-feed/activity-feed.d.ts.map +1 -1
- package/dist/components/agent-tools/activity-feed/activity-feed.js +2 -0
- package/dist/components/agent-tools/activity-feed/activity-feed.js.map +1 -1
- package/dist/components/agent-tools/activity-feed/activity-feed.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/activity-feed/activity-feed.styles.js +2 -0
- package/dist/components/agent-tools/activity-feed/activity-feed.styles.js.map +1 -1
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.d.ts +4 -3
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.d.ts.map +1 -1
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.js +72 -11
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.js.map +1 -1
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.d.ts +3 -0
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.d.ts.map +1 -1
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.js +3 -0
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.js.map +1 -1
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.styles.js +17 -0
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.styles.js.map +1 -1
- package/dist/components/agent-tools/agent-run/agent-run.class.d.ts +4 -7
- package/dist/components/agent-tools/agent-run/agent-run.class.d.ts.map +1 -1
- package/dist/components/agent-tools/agent-run/agent-run.class.js +24 -39
- package/dist/components/agent-tools/agent-run/agent-run.class.js.map +1 -1
- package/dist/components/agent-tools/agent-run/agent-run.d.ts +6 -0
- package/dist/components/agent-tools/agent-run/agent-run.d.ts.map +1 -1
- package/dist/components/agent-tools/agent-run/agent-run.js +6 -0
- package/dist/components/agent-tools/agent-run/agent-run.js.map +1 -1
- package/dist/components/agent-tools/agent-run/agent-run.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/agent-run/agent-run.styles.js +13 -4
- package/dist/components/agent-tools/agent-run/agent-run.styles.js.map +1 -1
- package/dist/components/agent-tools/agent-trace/agent-trace.class.d.ts +0 -3
- package/dist/components/agent-tools/agent-trace/agent-trace.class.d.ts.map +1 -1
- package/dist/components/agent-tools/agent-trace/agent-trace.class.js +0 -8
- package/dist/components/agent-tools/agent-trace/agent-trace.class.js.map +1 -1
- package/dist/components/agent-tools/agent-trace/agent-trace.d.ts.map +1 -1
- package/dist/components/agent-tools/agent-trace/agent-trace.js +2 -2
- package/dist/components/agent-tools/agent-trace/agent-trace.js.map +1 -1
- package/dist/components/agent-tools/approval-queue/approval-queue.class.d.ts +2 -3
- package/dist/components/agent-tools/approval-queue/approval-queue.class.d.ts.map +1 -1
- package/dist/components/agent-tools/approval-queue/approval-queue.class.js +12 -7
- package/dist/components/agent-tools/approval-queue/approval-queue.class.js.map +1 -1
- package/dist/components/agent-tools/approval-queue/approval-queue.d.ts +2 -0
- package/dist/components/agent-tools/approval-queue/approval-queue.d.ts.map +1 -1
- package/dist/components/agent-tools/approval-queue/approval-queue.js +2 -0
- package/dist/components/agent-tools/approval-queue/approval-queue.js.map +1 -1
- package/dist/components/agent-tools/approval-queue/approval-queue.styles.js +1 -1
- package/dist/components/agent-tools/artifact-panel/artifact-panel.class.d.ts +1 -2
- package/dist/components/agent-tools/artifact-panel/artifact-panel.class.d.ts.map +1 -1
- package/dist/components/agent-tools/artifact-panel/artifact-panel.class.js +3 -6
- package/dist/components/agent-tools/artifact-panel/artifact-panel.class.js.map +1 -1
- package/dist/components/agent-tools/artifact-panel/artifact-panel.d.ts +1 -0
- package/dist/components/agent-tools/artifact-panel/artifact-panel.d.ts.map +1 -1
- package/dist/components/agent-tools/artifact-panel/artifact-panel.js +1 -0
- package/dist/components/agent-tools/artifact-panel/artifact-panel.js.map +1 -1
- package/dist/components/agent-tools/browser-frame/browser-frame.class.d.ts +16 -0
- package/dist/components/agent-tools/browser-frame/browser-frame.class.d.ts.map +1 -1
- package/dist/components/agent-tools/browser-frame/browser-frame.class.js +12 -14
- package/dist/components/agent-tools/browser-frame/browser-frame.class.js.map +1 -1
- package/dist/components/agent-tools/browser-frame/browser-frame.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/browser-frame/browser-frame.styles.js +17 -6
- package/dist/components/agent-tools/browser-frame/browser-frame.styles.js.map +1 -1
- package/dist/components/agent-tools/commit-card/commit-card.class.d.ts.map +1 -1
- package/dist/components/agent-tools/commit-card/commit-card.class.js +1 -15
- package/dist/components/agent-tools/commit-card/commit-card.class.js.map +1 -1
- package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts +1 -2
- package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts.map +1 -1
- package/dist/components/agent-tools/compare-panel/compare-panel.class.js +6 -4
- package/dist/components/agent-tools/compare-panel/compare-panel.class.js.map +1 -1
- package/dist/components/agent-tools/compare-panel/compare-panel.d.ts.map +1 -1
- package/dist/components/agent-tools/compare-panel/compare-panel.js +1 -1
- package/dist/components/agent-tools/compare-panel/compare-panel.js.map +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts.map +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +13 -3
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js.map +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.styles.js +3 -3
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts +0 -5
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts.map +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +23 -8
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js.map +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.d.ts.map +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.js +2 -2
- package/dist/components/agent-tools/eval-dataset/eval-dataset.js.map +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.js +7 -0
- package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.js.map +1 -1
- package/dist/components/agent-tools/eval-result/eval-result.class.d.ts.map +1 -1
- package/dist/components/agent-tools/eval-result/eval-result.class.js +20 -5
- package/dist/components/agent-tools/eval-result/eval-result.class.js.map +1 -1
- package/dist/components/agent-tools/eval-result/eval-result.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/eval-result/eval-result.styles.js +7 -0
- package/dist/components/agent-tools/eval-result/eval-result.styles.js.map +1 -1
- package/dist/components/agent-tools/evaluation-run/evaluation-run.class.d.ts +0 -9
- package/dist/components/agent-tools/evaluation-run/evaluation-run.class.d.ts.map +1 -1
- package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +20 -20
- package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js.map +1 -1
- package/dist/components/agent-tools/evaluation-run/evaluation-run.d.ts +9 -0
- package/dist/components/agent-tools/evaluation-run/evaluation-run.d.ts.map +1 -1
- package/dist/components/agent-tools/evaluation-run/evaluation-run.js +9 -0
- package/dist/components/agent-tools/evaluation-run/evaluation-run.js.map +1 -1
- package/dist/components/agent-tools/evaluation-run/evaluation-run.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/evaluation-run/evaluation-run.styles.js +6 -2
- package/dist/components/agent-tools/evaluation-run/evaluation-run.styles.js.map +1 -1
- package/dist/components/agent-tools/index.d.ts +36 -0
- package/dist/components/agent-tools/index.d.ts.map +1 -0
- package/dist/components/agent-tools/index.js +36 -0
- package/dist/components/agent-tools/index.js.map +1 -0
- package/dist/components/agent-tools/mcp-app/mcp-app.class.d.ts +93 -0
- package/dist/components/agent-tools/mcp-app/mcp-app.class.d.ts.map +1 -0
- package/dist/components/agent-tools/mcp-app/mcp-app.class.js +238 -0
- package/dist/components/agent-tools/mcp-app/mcp-app.class.js.map +1 -0
- package/dist/components/agent-tools/mcp-app/mcp-app.d.ts +2 -0
- package/dist/components/agent-tools/mcp-app/mcp-app.d.ts.map +1 -0
- package/dist/components/agent-tools/mcp-app/mcp-app.js +5 -0
- package/dist/components/agent-tools/mcp-app/mcp-app.js.map +1 -0
- package/dist/components/agent-tools/mcp-app/mcp-app.styles.d.ts +2 -0
- package/dist/components/agent-tools/mcp-app/mcp-app.styles.d.ts.map +1 -0
- package/dist/components/agent-tools/mcp-app/mcp-app.styles.js +45 -0
- package/dist/components/agent-tools/mcp-app/mcp-app.styles.js.map +1 -0
- package/dist/components/agent-tools/policy-summary/policy-summary.class.d.ts +4 -7
- package/dist/components/agent-tools/policy-summary/policy-summary.class.d.ts.map +1 -1
- package/dist/components/agent-tools/policy-summary/policy-summary.class.js +5 -8
- package/dist/components/agent-tools/policy-summary/policy-summary.class.js.map +1 -1
- package/dist/components/agent-tools/policy-summary/policy-summary.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/policy-summary/policy-summary.styles.js +4 -1
- package/dist/components/agent-tools/policy-summary/policy-summary.styles.js.map +1 -1
- package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts +91 -0
- package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts.map +1 -0
- package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +236 -0
- package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js.map +1 -0
- package/dist/components/agent-tools/prompt-studio/prompt-studio.d.ts +2 -0
- package/dist/components/agent-tools/prompt-studio/prompt-studio.d.ts.map +1 -0
- package/dist/components/agent-tools/prompt-studio/prompt-studio.js +5 -0
- package/dist/components/agent-tools/prompt-studio/prompt-studio.js.map +1 -0
- package/dist/components/agent-tools/prompt-studio/prompt-studio.styles.d.ts +2 -0
- package/dist/components/agent-tools/prompt-studio/prompt-studio.styles.d.ts.map +1 -0
- package/dist/components/agent-tools/prompt-studio/prompt-studio.styles.js +60 -0
- package/dist/components/agent-tools/prompt-studio/prompt-studio.styles.js.map +1 -0
- package/dist/components/agent-tools/result-card/result-card.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/result-card/result-card.styles.js +3 -1
- package/dist/components/agent-tools/result-card/result-card.styles.js.map +1 -1
- package/dist/components/agent-tools/result-card/result-field.class.d.ts.map +1 -1
- package/dist/components/agent-tools/result-card/result-field.class.js +3 -1
- package/dist/components/agent-tools/result-card/result-field.class.js.map +1 -1
- package/dist/components/agent-tools/result-card/result-field.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/result-card/result-field.styles.js +3 -1
- package/dist/components/agent-tools/result-card/result-field.styles.js.map +1 -1
- package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts +77 -0
- package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts.map +1 -0
- package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +196 -0
- package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js.map +1 -0
- package/dist/components/agent-tools/schema-viewer/schema-viewer.d.ts +4 -0
- package/dist/components/agent-tools/schema-viewer/schema-viewer.d.ts.map +1 -0
- package/dist/components/agent-tools/schema-viewer/schema-viewer.js +7 -0
- package/dist/components/agent-tools/schema-viewer/schema-viewer.js.map +1 -0
- package/dist/components/agent-tools/schema-viewer/schema-viewer.styles.d.ts +2 -0
- package/dist/components/agent-tools/schema-viewer/schema-viewer.styles.d.ts.map +1 -0
- package/dist/components/agent-tools/schema-viewer/schema-viewer.styles.js +32 -0
- package/dist/components/agent-tools/schema-viewer/schema-viewer.styles.js.map +1 -0
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.d.ts +2 -0
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.d.ts.map +1 -1
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +41 -14
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js.map +1 -1
- package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js +1 -0
- package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js.map +1 -1
- package/dist/components/agent-tools/stack-trace/stack-trace-parse.d.ts.map +1 -1
- package/dist/components/agent-tools/stack-trace/stack-trace-parse.js +10 -1
- package/dist/components/agent-tools/stack-trace/stack-trace-parse.js.map +1 -1
- package/dist/components/agent-tools/stack-trace/stack-trace.class.d.ts +2 -2
- package/dist/components/agent-tools/stack-trace/stack-trace.class.d.ts.map +1 -1
- package/dist/components/agent-tools/stack-trace/stack-trace.class.js +15 -26
- package/dist/components/agent-tools/stack-trace/stack-trace.class.js.map +1 -1
- package/dist/components/agent-tools/subagent-panel/subagent-panel.class.d.ts +72 -0
- package/dist/components/agent-tools/subagent-panel/subagent-panel.class.d.ts.map +1 -0
- package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +213 -0
- package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js.map +1 -0
- package/dist/components/agent-tools/subagent-panel/subagent-panel.d.ts +4 -0
- package/dist/components/agent-tools/subagent-panel/subagent-panel.d.ts.map +1 -0
- package/dist/components/agent-tools/subagent-panel/subagent-panel.js +7 -0
- package/dist/components/agent-tools/subagent-panel/subagent-panel.js.map +1 -0
- package/dist/components/agent-tools/subagent-panel/subagent-panel.styles.d.ts +2 -0
- package/dist/components/agent-tools/subagent-panel/subagent-panel.styles.d.ts.map +1 -0
- package/dist/components/agent-tools/subagent-panel/subagent-panel.styles.js +38 -0
- package/dist/components/agent-tools/subagent-panel/subagent-panel.styles.js.map +1 -0
- package/dist/components/agent-tools/task-list/task-list.class.d.ts +11 -2
- package/dist/components/agent-tools/task-list/task-list.class.d.ts.map +1 -1
- package/dist/components/agent-tools/task-list/task-list.class.js +3 -10
- package/dist/components/agent-tools/task-list/task-list.class.js.map +1 -1
- package/dist/components/agent-tools/task-list/task-list.d.ts +1 -0
- package/dist/components/agent-tools/task-list/task-list.d.ts.map +1 -1
- package/dist/components/agent-tools/task-list/task-list.js +1 -0
- package/dist/components/agent-tools/task-list/task-list.js.map +1 -1
- package/dist/components/agent-tools/task-list/task-list.styles.js +1 -1
- package/dist/components/agent-tools/terminal/terminal.class.d.ts +5 -1
- package/dist/components/agent-tools/terminal/terminal.class.d.ts.map +1 -1
- package/dist/components/agent-tools/terminal/terminal.class.js +45 -24
- package/dist/components/agent-tools/terminal/terminal.class.js.map +1 -1
- package/dist/components/agent-tools/terminal/terminal.d.ts +1 -0
- package/dist/components/agent-tools/terminal/terminal.d.ts.map +1 -1
- package/dist/components/agent-tools/terminal/terminal.js +1 -0
- package/dist/components/agent-tools/terminal/terminal.js.map +1 -1
- package/dist/components/agent-tools/terminal/terminal.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/terminal/terminal.styles.js +3 -0
- package/dist/components/agent-tools/terminal/terminal.styles.js.map +1 -1
- package/dist/components/agent-tools/test-results/test-results.class.d.ts +1 -3
- package/dist/components/agent-tools/test-results/test-results.class.d.ts.map +1 -1
- package/dist/components/agent-tools/test-results/test-results.class.js +22 -37
- package/dist/components/agent-tools/test-results/test-results.class.js.map +1 -1
- package/dist/components/agent-tools/test-results/test-results.d.ts +3 -0
- package/dist/components/agent-tools/test-results/test-results.d.ts.map +1 -1
- package/dist/components/agent-tools/test-results/test-results.js +3 -0
- package/dist/components/agent-tools/test-results/test-results.js.map +1 -1
- package/dist/components/agent-tools/test-results/test-results.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/test-results/test-results.styles.js +2 -0
- package/dist/components/agent-tools/test-results/test-results.styles.js.map +1 -1
- package/dist/components/agent-tools/thinking-panel/thinking-panel.class.d.ts.map +1 -1
- package/dist/components/agent-tools/thinking-panel/thinking-panel.class.js +7 -3
- package/dist/components/agent-tools/thinking-panel/thinking-panel.class.js.map +1 -1
- package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.js +6 -2
- package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.js.map +1 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js +18 -29
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js.map +1 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.styles.js +5 -0
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.styles.js.map +1 -1
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +2 -1
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +10 -4
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js.map +1 -1
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.styles.js +1 -1
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +7 -0
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +24 -16
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js.map +1 -1
- package/dist/components/agent-tools/tool-param-form/tool-param-form.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-param-form/tool-param-form.styles.js +3 -0
- package/dist/components/agent-tools/tool-param-form/tool-param-form.styles.js.map +1 -1
- package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.d.ts +10 -1
- package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.js +18 -4
- package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.js.map +1 -1
- package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.styles.js +17 -9
- package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.styles.js.map +1 -1
- package/dist/components/agent-tools/tool-result-view/tool-result-view.class.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-result-view/tool-result-view.class.js +1 -0
- package/dist/components/agent-tools/tool-result-view/tool-result-view.class.js.map +1 -1
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.d.ts +3 -0
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js +29 -24
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js.map +1 -1
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.styles.js +6 -3
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.styles.js.map +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts +12 -5
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +60 -37
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js.map +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.d.ts +4 -0
- package/dist/components/agent-tools/tool-timeline/tool-timeline.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.js +4 -0
- package/dist/components/agent-tools/tool-timeline/tool-timeline.js.map +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.styles.js +12 -8
- package/dist/components/agent-tools/tool-timeline/tool-timeline.styles.js.map +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.class.d.ts +14 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.class.d.ts.map +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.class.js +164 -51
- package/dist/components/agent-tools/trace-tree/trace-tree.class.js.map +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.styles.js +111 -24
- package/dist/components/agent-tools/trace-tree/trace-tree.styles.js.map +1 -1
- package/dist/components/charts/chart/box-plot.class.d.ts +3 -0
- package/dist/components/charts/chart/box-plot.class.d.ts.map +1 -1
- package/dist/components/charts/chart/box-plot.class.js +57 -32
- package/dist/components/charts/chart/box-plot.class.js.map +1 -1
- package/dist/components/charts/chart/box-plot.styles.d.ts.map +1 -1
- package/dist/components/charts/chart/box-plot.styles.js +7 -0
- package/dist/components/charts/chart/box-plot.styles.js.map +1 -1
- package/dist/components/charts/chart/chart-colors.d.ts +17 -0
- package/dist/components/charts/chart/chart-colors.d.ts.map +1 -0
- package/dist/components/charts/chart/chart-colors.js +77 -0
- package/dist/components/charts/chart/chart-colors.js.map +1 -0
- package/dist/components/charts/chart/chart.class.d.ts +20 -8
- package/dist/components/charts/chart/chart.class.d.ts.map +1 -1
- package/dist/components/charts/chart/chart.class.js +188 -72
- package/dist/components/charts/chart/chart.class.js.map +1 -1
- package/dist/components/charts/chart/chart.styles.d.ts.map +1 -1
- package/dist/components/charts/chart/chart.styles.js +28 -0
- package/dist/components/charts/chart/chart.styles.js.map +1 -1
- package/dist/components/charts/chart/histogram-bin.d.ts +3 -2
- package/dist/components/charts/chart/histogram-bin.d.ts.map +1 -1
- package/dist/components/charts/chart/histogram-bin.js +17 -3
- package/dist/components/charts/chart/histogram-bin.js.map +1 -1
- package/dist/components/charts/chart/histogram.class.d.ts.map +1 -1
- package/dist/components/charts/chart/histogram.class.js +7 -3
- package/dist/components/charts/chart/histogram.class.js.map +1 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts +18 -15
- package/dist/components/charts/chart/lite-chart.class.d.ts.map +1 -1
- package/dist/components/charts/chart/lite-chart.class.js +240 -97
- package/dist/components/charts/chart/lite-chart.class.js.map +1 -1
- package/dist/components/charts/chart/lite-chart.styles.d.ts.map +1 -1
- package/dist/components/charts/chart/lite-chart.styles.js +17 -1
- package/dist/components/charts/chart/lite-chart.styles.js.map +1 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts +8 -13
- package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts.map +1 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.class.js +44 -44
- package/dist/components/conversation/agent-workspace/agent-workspace.class.js.map +1 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.d.ts +11 -0
- package/dist/components/conversation/agent-workspace/agent-workspace.d.ts.map +1 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.js +11 -0
- package/dist/components/conversation/agent-workspace/agent-workspace.js.map +1 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.styles.d.ts.map +1 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.styles.js +4 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.styles.js.map +1 -1
- package/dist/components/conversation/audio-visualizer/audio-visualizer.class.d.ts.map +1 -1
- package/dist/components/conversation/audio-visualizer/audio-visualizer.class.js +7 -5
- package/dist/components/conversation/audio-visualizer/audio-visualizer.class.js.map +1 -1
- package/dist/components/conversation/branch-picker/branch-picker.class.d.ts +3 -0
- package/dist/components/conversation/branch-picker/branch-picker.class.d.ts.map +1 -1
- package/dist/components/conversation/branch-picker/branch-picker.class.js +14 -2
- package/dist/components/conversation/branch-picker/branch-picker.class.js.map +1 -1
- package/dist/components/conversation/branch-picker/branch-picker.styles.d.ts.map +1 -1
- package/dist/components/conversation/branch-picker/branch-picker.styles.js +2 -0
- package/dist/components/conversation/branch-picker/branch-picker.styles.js.map +1 -1
- package/dist/components/conversation/chat-composer/chat-composer.class.d.ts +2 -16
- package/dist/components/conversation/chat-composer/chat-composer.class.d.ts.map +1 -1
- package/dist/components/conversation/chat-composer/chat-composer.class.js +6 -38
- package/dist/components/conversation/chat-composer/chat-composer.class.js.map +1 -1
- package/dist/components/conversation/chat-message/chat-message.class.d.ts +11 -0
- package/dist/components/conversation/chat-message/chat-message.class.d.ts.map +1 -1
- package/dist/components/conversation/chat-message/chat-message.class.js +16 -4
- package/dist/components/conversation/chat-message/chat-message.class.js.map +1 -1
- package/dist/components/conversation/chat-message/chat-message.styles.d.ts.map +1 -1
- package/dist/components/conversation/chat-message/chat-message.styles.js +22 -11
- package/dist/components/conversation/chat-message/chat-message.styles.js.map +1 -1
- package/dist/components/conversation/chat-viewport/chat-viewport.class.d.ts +3 -7
- package/dist/components/conversation/chat-viewport/chat-viewport.class.d.ts.map +1 -1
- package/dist/components/conversation/chat-viewport/chat-viewport.class.js +9 -28
- package/dist/components/conversation/chat-viewport/chat-viewport.class.js.map +1 -1
- package/dist/components/conversation/checkpoint/checkpoint.class.d.ts +7 -2
- package/dist/components/conversation/checkpoint/checkpoint.class.d.ts.map +1 -1
- package/dist/components/conversation/checkpoint/checkpoint.class.js +4 -11
- package/dist/components/conversation/checkpoint/checkpoint.class.js.map +1 -1
- package/dist/components/conversation/checkpoint/checkpoint.styles.js +1 -1
- package/dist/components/conversation/code-block/code-block-core.class.d.ts +5 -6
- package/dist/components/conversation/code-block/code-block-core.class.d.ts.map +1 -1
- package/dist/components/conversation/code-block/code-block-core.class.js +51 -20
- package/dist/components/conversation/code-block/code-block-core.class.js.map +1 -1
- package/dist/components/conversation/code-block/code-block-shared.d.ts +5 -1
- package/dist/components/conversation/code-block/code-block-shared.d.ts.map +1 -1
- package/dist/components/conversation/code-block/code-block-shared.js +22 -6
- package/dist/components/conversation/code-block/code-block-shared.js.map +1 -1
- package/dist/components/conversation/code-block/code-block.class.d.ts +7 -6
- package/dist/components/conversation/code-block/code-block.class.d.ts.map +1 -1
- package/dist/components/conversation/code-block/code-block.class.js +65 -29
- package/dist/components/conversation/code-block/code-block.class.js.map +1 -1
- package/dist/components/conversation/code-block/code-block.styles.d.ts.map +1 -1
- package/dist/components/conversation/code-block/code-block.styles.js +12 -4
- package/dist/components/conversation/code-block/code-block.styles.js.map +1 -1
- package/dist/components/conversation/conversation-item/conversation-item.class.d.ts +3 -0
- package/dist/components/conversation/conversation-item/conversation-item.class.d.ts.map +1 -1
- package/dist/components/conversation/conversation-item/conversation-item.class.js +44 -46
- package/dist/components/conversation/conversation-item/conversation-item.class.js.map +1 -1
- package/dist/components/conversation/generation-status/generation-status.class.d.ts.map +1 -1
- package/dist/components/conversation/generation-status/generation-status.class.js +8 -0
- package/dist/components/conversation/generation-status/generation-status.class.js.map +1 -1
- package/dist/components/conversation/generation-status/generation-status.styles.d.ts.map +1 -1
- package/dist/components/conversation/generation-status/generation-status.styles.js +4 -1
- package/dist/components/conversation/generation-status/generation-status.styles.js.map +1 -1
- package/dist/components/conversation/handoff-divider/handoff-divider.class.d.ts +0 -1
- package/dist/components/conversation/handoff-divider/handoff-divider.class.d.ts.map +1 -1
- package/dist/components/conversation/handoff-divider/handoff-divider.class.js +1 -2
- package/dist/components/conversation/handoff-divider/handoff-divider.class.js.map +1 -1
- package/dist/components/conversation/handoff-divider/handoff-divider.d.ts +1 -0
- package/dist/components/conversation/handoff-divider/handoff-divider.d.ts.map +1 -1
- package/dist/components/conversation/handoff-divider/handoff-divider.js +1 -0
- package/dist/components/conversation/handoff-divider/handoff-divider.js.map +1 -1
- package/dist/components/conversation/index.d.ts +36 -0
- package/dist/components/conversation/index.d.ts.map +1 -0
- package/dist/components/conversation/index.js +34 -0
- package/dist/components/conversation/index.js.map +1 -0
- package/dist/components/conversation/markdown/markdown-core.class.d.ts +13 -0
- package/dist/components/conversation/markdown/markdown-core.class.d.ts.map +1 -1
- package/dist/components/conversation/markdown/markdown-core.class.js +30 -17
- package/dist/components/conversation/markdown/markdown-core.class.js.map +1 -1
- package/dist/components/conversation/markdown/markdown-shared.js +1 -1
- package/dist/components/conversation/markdown/markdown-shared.js.map +1 -1
- package/dist/components/conversation/markdown/markdown.class.d.ts +13 -0
- package/dist/components/conversation/markdown/markdown.class.d.ts.map +1 -1
- package/dist/components/conversation/markdown/markdown.class.js +35 -14
- package/dist/components/conversation/markdown/markdown.class.js.map +1 -1
- package/dist/components/conversation/markdown/markdown.styles.d.ts.map +1 -1
- package/dist/components/conversation/markdown/markdown.styles.js +20 -13
- package/dist/components/conversation/markdown/markdown.styles.js.map +1 -1
- package/dist/components/conversation/message-actions/message-actions.class.d.ts +2 -0
- package/dist/components/conversation/message-actions/message-actions.class.d.ts.map +1 -1
- package/dist/components/conversation/message-actions/message-actions.class.js +32 -4
- package/dist/components/conversation/message-actions/message-actions.class.js.map +1 -1
- package/dist/components/conversation/message-actions/message-actions.styles.d.ts.map +1 -1
- package/dist/components/conversation/message-actions/message-actions.styles.js +0 -9
- package/dist/components/conversation/message-actions/message-actions.styles.js.map +1 -1
- package/dist/components/conversation/message-feedback/message-feedback.class.d.ts +2 -2
- package/dist/components/conversation/message-feedback/message-feedback.class.d.ts.map +1 -1
- package/dist/components/conversation/message-feedback/message-feedback.class.js +17 -3
- package/dist/components/conversation/message-feedback/message-feedback.class.js.map +1 -1
- package/dist/components/conversation/message-feedback/message-feedback.d.ts +2 -0
- package/dist/components/conversation/message-feedback/message-feedback.d.ts.map +1 -1
- package/dist/components/conversation/message-feedback/message-feedback.js +2 -0
- package/dist/components/conversation/message-feedback/message-feedback.js.map +1 -1
- package/dist/components/conversation/message-feedback/message-feedback.styles.d.ts.map +1 -1
- package/dist/components/conversation/message-feedback/message-feedback.styles.js +16 -5
- package/dist/components/conversation/message-feedback/message-feedback.styles.js.map +1 -1
- package/dist/components/conversation/message-parts/message-parts.class.d.ts +91 -0
- package/dist/components/conversation/message-parts/message-parts.class.d.ts.map +1 -0
- package/dist/components/conversation/message-parts/message-parts.class.js +230 -0
- package/dist/components/conversation/message-parts/message-parts.class.js.map +1 -0
- package/dist/components/conversation/message-parts/message-parts.d.ts +11 -0
- package/dist/components/conversation/message-parts/message-parts.d.ts.map +1 -0
- package/dist/components/conversation/message-parts/message-parts.js +14 -0
- package/dist/components/conversation/message-parts/message-parts.js.map +1 -0
- package/dist/components/conversation/message-parts/message-parts.styles.d.ts +2 -0
- package/dist/components/conversation/message-parts/message-parts.styles.d.ts.map +1 -0
- package/dist/components/conversation/message-parts/message-parts.styles.js +67 -0
- package/dist/components/conversation/message-parts/message-parts.styles.js.map +1 -0
- package/dist/components/conversation/model-select/model-select.class.d.ts +1 -1
- package/dist/components/conversation/model-select/model-select.class.d.ts.map +1 -1
- package/dist/components/conversation/model-select/model-select.class.js +13 -34
- package/dist/components/conversation/model-select/model-select.class.js.map +1 -1
- package/dist/components/conversation/model-select/model-select.styles.d.ts.map +1 -1
- package/dist/components/conversation/model-select/model-select.styles.js +1 -0
- package/dist/components/conversation/model-select/model-select.styles.js.map +1 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.d.ts.map +1 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.js +7 -2
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.js.map +1 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.styles.js +2 -2
- package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +148 -0
- package/dist/components/conversation/prompt-input/prompt-input.class.d.ts.map +1 -0
- package/dist/components/conversation/prompt-input/prompt-input.class.js +375 -0
- package/dist/components/conversation/prompt-input/prompt-input.class.js.map +1 -0
- package/dist/components/conversation/prompt-input/prompt-input.d.ts +10 -0
- package/dist/components/conversation/prompt-input/prompt-input.d.ts.map +1 -0
- package/dist/components/conversation/prompt-input/prompt-input.js +13 -0
- package/dist/components/conversation/prompt-input/prompt-input.js.map +1 -0
- package/dist/components/conversation/prompt-input/prompt-input.styles.d.ts +2 -0
- package/dist/components/conversation/prompt-input/prompt-input.styles.d.ts.map +1 -0
- package/dist/components/conversation/prompt-input/prompt-input.styles.js +74 -0
- package/dist/components/conversation/prompt-input/prompt-input.styles.js.map +1 -0
- package/dist/components/conversation/prompt-queue/prompt-queue.class.d.ts +59 -0
- package/dist/components/conversation/prompt-queue/prompt-queue.class.d.ts.map +1 -0
- package/dist/components/conversation/prompt-queue/prompt-queue.class.js +145 -0
- package/dist/components/conversation/prompt-queue/prompt-queue.class.js.map +1 -0
- package/dist/components/conversation/prompt-queue/prompt-queue.d.ts +4 -0
- package/dist/components/conversation/prompt-queue/prompt-queue.d.ts.map +1 -0
- package/dist/components/conversation/prompt-queue/prompt-queue.js +7 -0
- package/dist/components/conversation/prompt-queue/prompt-queue.js.map +1 -0
- package/dist/components/conversation/prompt-queue/prompt-queue.styles.d.ts +2 -0
- package/dist/components/conversation/prompt-queue/prompt-queue.styles.d.ts.map +1 -0
- package/dist/components/conversation/prompt-queue/prompt-queue.styles.js +74 -0
- package/dist/components/conversation/prompt-queue/prompt-queue.styles.js.map +1 -0
- package/dist/components/conversation/push-to-talk/push-to-talk.class.d.ts +7 -1
- package/dist/components/conversation/push-to-talk/push-to-talk.class.d.ts.map +1 -1
- package/dist/components/conversation/push-to-talk/push-to-talk.class.js +40 -14
- package/dist/components/conversation/push-to-talk/push-to-talk.class.js.map +1 -1
- package/dist/components/conversation/push-to-talk/push-to-talk.styles.d.ts.map +1 -1
- package/dist/components/conversation/push-to-talk/push-to-talk.styles.js +4 -0
- package/dist/components/conversation/push-to-talk/push-to-talk.styles.js.map +1 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.d.ts +66 -0
- package/dist/components/conversation/realtime-session/realtime-session.class.d.ts.map +1 -0
- package/dist/components/conversation/realtime-session/realtime-session.class.js +159 -0
- package/dist/components/conversation/realtime-session/realtime-session.class.js.map +1 -0
- package/dist/components/conversation/realtime-session/realtime-session.d.ts +6 -0
- package/dist/components/conversation/realtime-session/realtime-session.d.ts.map +1 -0
- package/dist/components/conversation/realtime-session/realtime-session.js +9 -0
- package/dist/components/conversation/realtime-session/realtime-session.js.map +1 -0
- package/dist/components/conversation/realtime-session/realtime-session.styles.d.ts +2 -0
- package/dist/components/conversation/realtime-session/realtime-session.styles.d.ts.map +1 -0
- package/dist/components/conversation/realtime-session/realtime-session.styles.js +20 -0
- package/dist/components/conversation/realtime-session/realtime-session.styles.js.map +1 -0
- package/dist/components/conversation/selection-toolbar/selection-toolbar.class.d.ts +69 -0
- package/dist/components/conversation/selection-toolbar/selection-toolbar.class.d.ts.map +1 -0
- package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +268 -0
- package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js.map +1 -0
- package/dist/components/conversation/selection-toolbar/selection-toolbar.d.ts +3 -0
- package/dist/components/conversation/selection-toolbar/selection-toolbar.d.ts.map +1 -0
- package/dist/components/conversation/selection-toolbar/selection-toolbar.js +6 -0
- package/dist/components/conversation/selection-toolbar/selection-toolbar.js.map +1 -0
- package/dist/components/conversation/selection-toolbar/selection-toolbar.styles.d.ts +2 -0
- package/dist/components/conversation/selection-toolbar/selection-toolbar.styles.d.ts.map +1 -0
- package/dist/components/conversation/selection-toolbar/selection-toolbar.styles.js +62 -0
- package/dist/components/conversation/selection-toolbar/selection-toolbar.styles.js.map +1 -0
- package/dist/components/conversation/stream-status/stream-status.styles.d.ts.map +1 -1
- package/dist/components/conversation/stream-status/stream-status.styles.js +10 -0
- package/dist/components/conversation/stream-status/stream-status.styles.js.map +1 -1
- package/dist/components/conversation/streaming-text/streaming-text.class.d.ts +1 -0
- package/dist/components/conversation/streaming-text/streaming-text.class.d.ts.map +1 -1
- package/dist/components/conversation/streaming-text/streaming-text.class.js +6 -0
- package/dist/components/conversation/streaming-text/streaming-text.class.js.map +1 -1
- package/dist/components/conversation/suggestion-chips/suggestion-chips.class.d.ts +2 -0
- package/dist/components/conversation/suggestion-chips/suggestion-chips.class.d.ts.map +1 -1
- package/dist/components/conversation/suggestion-chips/suggestion-chips.class.js +16 -1
- package/dist/components/conversation/suggestion-chips/suggestion-chips.class.js.map +1 -1
- package/dist/components/conversation/thread-list/thread-list.class.d.ts +5 -3
- package/dist/components/conversation/thread-list/thread-list.class.d.ts.map +1 -1
- package/dist/components/conversation/thread-list/thread-list.class.js +68 -40
- package/dist/components/conversation/thread-list/thread-list.class.js.map +1 -1
- package/dist/components/conversation/thread-list/thread-list.d.ts.map +1 -1
- package/dist/components/conversation/thread-list/thread-list.js +2 -2
- package/dist/components/conversation/thread-list/thread-list.js.map +1 -1
- package/dist/components/conversation/thread-list/thread-list.styles.d.ts.map +1 -1
- package/dist/components/conversation/thread-list/thread-list.styles.js +3 -0
- package/dist/components/conversation/thread-list/thread-list.styles.js.map +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts.map +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.class.js +14 -21
- package/dist/components/conversation/transcript-feed/transcript-feed.class.js.map +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.styles.d.ts.map +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.styles.js +16 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.styles.js.map +1 -1
- package/dist/components/conversation/usage-badge/usage-badge.class.d.ts +2 -1
- package/dist/components/conversation/usage-badge/usage-badge.class.d.ts.map +1 -1
- package/dist/components/conversation/usage-badge/usage-badge.class.js +30 -7
- package/dist/components/conversation/usage-badge/usage-badge.class.js.map +1 -1
- package/dist/components/conversation/usage-badge/usage-badge.styles.d.ts.map +1 -1
- package/dist/components/conversation/usage-badge/usage-badge.styles.js +21 -1
- package/dist/components/conversation/usage-badge/usage-badge.styles.js.map +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +24 -2
- package/dist/components/conversation/voice-picker/voice-picker.class.d.ts.map +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.class.js +97 -64
- package/dist/components/conversation/voice-picker/voice-picker.class.js.map +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.styles.d.ts.map +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.styles.js +22 -7
- package/dist/components/conversation/voice-picker/voice-picker.styles.js.map +1 -1
- package/dist/components/conversation/widget-renderer/registry.d.ts +6 -0
- package/dist/components/conversation/widget-renderer/registry.d.ts.map +1 -1
- package/dist/components/conversation/widget-renderer/registry.js.map +1 -1
- package/dist/components/conversation/widget-renderer/resolve.d.ts +18 -0
- package/dist/components/conversation/widget-renderer/resolve.d.ts.map +1 -1
- package/dist/components/conversation/widget-renderer/resolve.js +66 -4
- package/dist/components/conversation/widget-renderer/resolve.js.map +1 -1
- package/dist/components/conversation/widget-renderer/widget-renderer.class.d.ts +16 -1
- package/dist/components/conversation/widget-renderer/widget-renderer.class.d.ts.map +1 -1
- package/dist/components/conversation/widget-renderer/widget-renderer.class.js +70 -7
- package/dist/components/conversation/widget-renderer/widget-renderer.class.js.map +1 -1
- package/dist/components/conversation/widget-renderer/widget-renderer.styles.d.ts.map +1 -1
- package/dist/components/conversation/widget-renderer/widget-renderer.styles.js +6 -0
- package/dist/components/conversation/widget-renderer/widget-renderer.styles.js.map +1 -1
- package/dist/components/data/calendar/calendar.class.d.ts +3 -8
- package/dist/components/data/calendar/calendar.class.d.ts.map +1 -1
- package/dist/components/data/calendar/calendar.class.js +10 -11
- package/dist/components/data/calendar/calendar.class.js.map +1 -1
- package/dist/components/data/calendar/calendar.styles.d.ts.map +1 -1
- package/dist/components/data/calendar/calendar.styles.js +6 -1
- package/dist/components/data/calendar/calendar.styles.js.map +1 -1
- package/dist/components/data/context-meter/context-meter.class.d.ts +4 -3
- package/dist/components/data/context-meter/context-meter.class.d.ts.map +1 -1
- package/dist/components/data/context-meter/context-meter.class.js +34 -30
- package/dist/components/data/context-meter/context-meter.class.js.map +1 -1
- package/dist/components/data/document-library/document-library.class.d.ts +0 -7
- package/dist/components/data/document-library/document-library.class.d.ts.map +1 -1
- package/dist/components/data/document-library/document-library.class.js +15 -15
- package/dist/components/data/document-library/document-library.class.js.map +1 -1
- package/dist/components/data/env-list/env-list.class.d.ts +8 -1
- package/dist/components/data/env-list/env-list.class.d.ts.map +1 -1
- package/dist/components/data/env-list/env-list.class.js +13 -20
- package/dist/components/data/env-list/env-list.class.js.map +1 -1
- package/dist/components/data/env-list/env-list.d.ts +1 -0
- package/dist/components/data/env-list/env-list.d.ts.map +1 -1
- package/dist/components/data/env-list/env-list.js +1 -0
- package/dist/components/data/env-list/env-list.js.map +1 -1
- package/dist/components/data/env-list/env-list.styles.d.ts.map +1 -1
- package/dist/components/data/env-list/env-list.styles.js +3 -0
- package/dist/components/data/env-list/env-list.styles.js.map +1 -1
- package/dist/components/data/file-tree/file-tree.class.d.ts +0 -2
- package/dist/components/data/file-tree/file-tree.class.d.ts.map +1 -1
- package/dist/components/data/file-tree/file-tree.class.js +8 -8
- package/dist/components/data/file-tree/file-tree.class.js.map +1 -1
- package/dist/components/data/file-tree/file-tree.d.ts +2 -0
- package/dist/components/data/file-tree/file-tree.d.ts.map +1 -1
- package/dist/components/data/file-tree/file-tree.js +2 -0
- package/dist/components/data/file-tree/file-tree.js.map +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +13 -7
- package/dist/components/data/flow-canvas/flow-canvas.class.d.ts.map +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.js +106 -28
- package/dist/components/data/flow-canvas/flow-canvas.class.js.map +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.styles.d.ts.map +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.styles.js +22 -3
- package/dist/components/data/flow-canvas/flow-canvas.styles.js.map +1 -1
- package/dist/components/data/flow-controls/flow-controls.class.d.ts +1 -3
- package/dist/components/data/flow-controls/flow-controls.class.d.ts.map +1 -1
- package/dist/components/data/flow-controls/flow-controls.class.js +16 -16
- package/dist/components/data/flow-controls/flow-controls.class.js.map +1 -1
- package/dist/components/data/flow-minimap/flow-minimap.class.d.ts +6 -3
- package/dist/components/data/flow-minimap/flow-minimap.class.d.ts.map +1 -1
- package/dist/components/data/flow-minimap/flow-minimap.class.js +49 -15
- package/dist/components/data/flow-minimap/flow-minimap.class.js.map +1 -1
- package/dist/components/data/flow-node/flow-node.class.d.ts.map +1 -1
- package/dist/components/data/flow-node/flow-node.class.js +15 -4
- package/dist/components/data/flow-node/flow-node.class.js.map +1 -1
- package/dist/components/data/flow-run-overlay/flow-run-overlay.class.d.ts +3 -0
- package/dist/components/data/flow-run-overlay/flow-run-overlay.class.d.ts.map +1 -1
- package/dist/components/data/flow-run-overlay/flow-run-overlay.class.js +40 -13
- package/dist/components/data/flow-run-overlay/flow-run-overlay.class.js.map +1 -1
- package/dist/components/data/gauge/gauge.class.d.ts.map +1 -1
- package/dist/components/data/gauge/gauge.class.js +19 -16
- package/dist/components/data/gauge/gauge.class.js.map +1 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +16 -0
- package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts.map +1 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.class.js +119 -17
- package/dist/components/data/graph-query-builder/graph-query-builder.class.js.map +1 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.styles.d.ts.map +1 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.styles.js +18 -0
- package/dist/components/data/graph-query-builder/graph-query-builder.styles.js.map +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +7 -13
- package/dist/components/data/heatmap/heatmap.class.d.ts.map +1 -1
- package/dist/components/data/heatmap/heatmap.class.js +123 -60
- package/dist/components/data/heatmap/heatmap.class.js.map +1 -1
- package/dist/components/data/heatmap/heatmap.styles.d.ts.map +1 -1
- package/dist/components/data/heatmap/heatmap.styles.js +2 -0
- package/dist/components/data/heatmap/heatmap.styles.js.map +1 -1
- package/dist/components/data/pagination/pagination.class.d.ts +4 -0
- package/dist/components/data/pagination/pagination.class.d.ts.map +1 -1
- package/dist/components/data/pagination/pagination.class.js +7 -0
- package/dist/components/data/pagination/pagination.class.js.map +1 -1
- package/dist/components/data/pagination/pagination.styles.d.ts.map +1 -1
- package/dist/components/data/pagination/pagination.styles.js +8 -6
- package/dist/components/data/pagination/pagination.styles.js.map +1 -1
- package/dist/components/data/query-builder/query-builder.class.d.ts +1 -0
- package/dist/components/data/query-builder/query-builder.class.d.ts.map +1 -1
- package/dist/components/data/query-builder/query-builder.class.js +15 -11
- package/dist/components/data/query-builder/query-builder.class.js.map +1 -1
- package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +18 -14
- package/dist/components/data/sequence-strip/sequence-strip.class.d.ts.map +1 -1
- package/dist/components/data/sequence-strip/sequence-strip.class.js +66 -13
- package/dist/components/data/sequence-strip/sequence-strip.class.js.map +1 -1
- package/dist/components/data/sequence-strip/sequence-strip.styles.d.ts.map +1 -1
- package/dist/components/data/sequence-strip/sequence-strip.styles.js +5 -0
- package/dist/components/data/sequence-strip/sequence-strip.styles.js.map +1 -1
- package/dist/components/data/sparkline/sparkline.class.d.ts.map +1 -1
- package/dist/components/data/sparkline/sparkline.class.js +6 -2
- package/dist/components/data/sparkline/sparkline.class.js.map +1 -1
- package/dist/components/data/stat/stat.class.d.ts.map +1 -1
- package/dist/components/data/stat/stat.class.js +10 -2
- package/dist/components/data/stat/stat.class.js.map +1 -1
- package/dist/components/data/stat/stat.styles.d.ts.map +1 -1
- package/dist/components/data/stat/stat.styles.js +24 -0
- package/dist/components/data/stat/stat.styles.js.map +1 -1
- package/dist/components/data/table/table.class.d.ts +102 -10
- package/dist/components/data/table/table.class.d.ts.map +1 -1
- package/dist/components/data/table/table.class.js +265 -45
- package/dist/components/data/table/table.class.js.map +1 -1
- package/dist/components/data/table/table.d.ts +3 -0
- package/dist/components/data/table/table.d.ts.map +1 -1
- package/dist/components/data/table/table.js +3 -0
- package/dist/components/data/table/table.js.map +1 -1
- package/dist/components/data/table/table.styles.d.ts.map +1 -1
- package/dist/components/data/table/table.styles.js +3 -0
- package/dist/components/data/table/table.styles.js.map +1 -1
- package/dist/components/data/timeline/timeline-item.class.d.ts.map +1 -1
- package/dist/components/data/timeline/timeline-item.class.js +9 -1
- package/dist/components/data/timeline/timeline-item.class.js.map +1 -1
- package/dist/components/data/timeline/timeline-item.styles.d.ts.map +1 -1
- package/dist/components/data/timeline/timeline-item.styles.js +4 -0
- package/dist/components/data/timeline/timeline-item.styles.js.map +1 -1
- package/dist/components/data/timeline/timeline.class.d.ts.map +1 -1
- package/dist/components/data/timeline/timeline.class.js +1 -1
- package/dist/components/data/timeline/timeline.class.js.map +1 -1
- package/dist/components/data/timeline/timeline.styles.d.ts.map +1 -1
- package/dist/components/data/timeline/timeline.styles.js +2 -0
- package/dist/components/data/timeline/timeline.styles.js.map +1 -1
- package/dist/components/data/tree/tree-item.d.ts +5 -0
- package/dist/components/data/tree/tree-item.d.ts.map +1 -1
- package/dist/components/data/tree/tree-node.class.d.ts +2 -0
- package/dist/components/data/tree/tree-node.class.d.ts.map +1 -1
- package/dist/components/data/tree/tree-node.class.js +25 -4
- package/dist/components/data/tree/tree-node.class.js.map +1 -1
- package/dist/components/data/tree/tree-node.styles.d.ts.map +1 -1
- package/dist/components/data/tree/tree-node.styles.js +11 -0
- package/dist/components/data/tree/tree-node.styles.js.map +1 -1
- package/dist/components/data/tree/tree.class.d.ts +1 -2
- package/dist/components/data/tree/tree.class.d.ts.map +1 -1
- package/dist/components/data/tree/tree.class.js +59 -19
- package/dist/components/data/tree/tree.class.js.map +1 -1
- package/dist/components/data/tree/tree.d.ts +2 -0
- package/dist/components/data/tree/tree.d.ts.map +1 -1
- package/dist/components/data/tree/tree.js +2 -0
- package/dist/components/data/tree/tree.js.map +1 -1
- package/dist/components/data/word-cloud/word-cloud.class.d.ts +5 -13
- package/dist/components/data/word-cloud/word-cloud.class.d.ts.map +1 -1
- package/dist/components/data/word-cloud/word-cloud.class.js +32 -28
- package/dist/components/data/word-cloud/word-cloud.class.js.map +1 -1
- package/dist/components/data/word-cloud/word-cloud.styles.d.ts.map +1 -1
- package/dist/components/data/word-cloud/word-cloud.styles.js +9 -0
- package/dist/components/data/word-cloud/word-cloud.styles.js.map +1 -1
- package/dist/components/forms/button/button.class.d.ts +25 -5
- package/dist/components/forms/button/button.class.d.ts.map +1 -1
- package/dist/components/forms/button/button.class.js +64 -9
- package/dist/components/forms/button/button.class.js.map +1 -1
- package/dist/components/forms/button/button.styles.js +1 -1
- package/dist/components/forms/checkbox/checkbox.class.d.ts +5 -3
- package/dist/components/forms/checkbox/checkbox.class.d.ts.map +1 -1
- package/dist/components/forms/checkbox/checkbox.class.js +14 -13
- package/dist/components/forms/checkbox/checkbox.class.js.map +1 -1
- package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +9 -1
- package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts.map +1 -1
- package/dist/components/forms/checkbox-group/checkbox-group.class.js +91 -8
- package/dist/components/forms/checkbox-group/checkbox-group.class.js.map +1 -1
- package/dist/components/forms/code-editor/code-editor.class.d.ts +13 -1
- package/dist/components/forms/code-editor/code-editor.class.d.ts.map +1 -1
- package/dist/components/forms/code-editor/code-editor.class.js +22 -11
- package/dist/components/forms/code-editor/code-editor.class.js.map +1 -1
- package/dist/components/forms/code-editor/code-editor.styles.js +2 -2
- package/dist/components/forms/color-picker/color-picker.class.d.ts +8 -0
- package/dist/components/forms/color-picker/color-picker.class.d.ts.map +1 -1
- package/dist/components/forms/color-picker/color-picker.class.js +26 -0
- package/dist/components/forms/color-picker/color-picker.class.js.map +1 -1
- package/dist/components/forms/color-picker/color-picker.styles.d.ts.map +1 -1
- package/dist/components/forms/color-picker/color-picker.styles.js +7 -3
- package/dist/components/forms/color-picker/color-picker.styles.js.map +1 -1
- package/dist/components/forms/combobox/combobox.class.d.ts +5 -1
- package/dist/components/forms/combobox/combobox.class.d.ts.map +1 -1
- package/dist/components/forms/combobox/combobox.class.js +73 -18
- package/dist/components/forms/combobox/combobox.class.js.map +1 -1
- package/dist/components/forms/combobox/combobox.styles.d.ts.map +1 -1
- package/dist/components/forms/combobox/combobox.styles.js +17 -0
- package/dist/components/forms/combobox/combobox.styles.js.map +1 -1
- package/dist/components/forms/date-picker/date-input.class.d.ts +6 -0
- package/dist/components/forms/date-picker/date-input.class.d.ts.map +1 -1
- package/dist/components/forms/date-picker/date-input.class.js +10 -17
- package/dist/components/forms/date-picker/date-input.class.js.map +1 -1
- package/dist/components/forms/date-picker/date-input.styles.d.ts.map +1 -1
- package/dist/components/forms/date-picker/date-input.styles.js +8 -3
- package/dist/components/forms/date-picker/date-input.styles.js.map +1 -1
- package/dist/components/forms/date-picker/date-picker.class.d.ts +3 -0
- package/dist/components/forms/date-picker/date-picker.class.d.ts.map +1 -1
- package/dist/components/forms/date-picker/date-picker.class.js +3 -0
- package/dist/components/forms/date-picker/date-picker.class.js.map +1 -1
- package/dist/components/forms/date-picker/date-picker.styles.d.ts.map +1 -1
- package/dist/components/forms/date-picker/date-picker.styles.js +8 -5
- package/dist/components/forms/date-picker/date-picker.styles.js.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +7 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.js +19 -7
- package/dist/components/forms/emoji-picker/emoji-picker.class.js.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.styles.d.ts.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.styles.js +14 -8
- package/dist/components/forms/emoji-picker/emoji-picker.styles.js.map +1 -1
- package/dist/components/forms/icon-button/icon-button.class.d.ts +23 -0
- package/dist/components/forms/icon-button/icon-button.class.d.ts.map +1 -1
- package/dist/components/forms/icon-button/icon-button.class.js +70 -2
- package/dist/components/forms/icon-button/icon-button.class.js.map +1 -1
- package/dist/components/forms/icon-button/icon-button.styles.js +2 -2
- package/dist/components/forms/input/input.class.d.ts +1 -0
- package/dist/components/forms/input/input.class.d.ts.map +1 -1
- package/dist/components/forms/input/input.class.js +5 -4
- package/dist/components/forms/input/input.class.js.map +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts +6 -0
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts.map +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.js +7 -5
- package/dist/components/forms/locale-picker/locale-picker.class.js.map +1 -1
- package/dist/components/forms/locale-picker/locale-picker.styles.d.ts.map +1 -1
- package/dist/components/forms/locale-picker/locale-picker.styles.js +11 -9
- package/dist/components/forms/locale-picker/locale-picker.styles.js.map +1 -1
- package/dist/components/forms/phone-input/phone-input.class.d.ts +11 -0
- package/dist/components/forms/phone-input/phone-input.class.d.ts.map +1 -1
- package/dist/components/forms/phone-input/phone-input.class.js +37 -20
- package/dist/components/forms/phone-input/phone-input.class.js.map +1 -1
- package/dist/components/forms/phone-input/phone-input.styles.d.ts.map +1 -1
- package/dist/components/forms/phone-input/phone-input.styles.js +23 -9
- package/dist/components/forms/phone-input/phone-input.styles.js.map +1 -1
- package/dist/components/forms/radio/radio-group.class.d.ts +5 -0
- package/dist/components/forms/radio/radio-group.class.d.ts.map +1 -1
- package/dist/components/forms/radio/radio-group.class.js +44 -5
- package/dist/components/forms/radio/radio-group.class.js.map +1 -1
- package/dist/components/forms/rubric-form/rubric-form.class.d.ts +1 -0
- package/dist/components/forms/rubric-form/rubric-form.class.d.ts.map +1 -1
- package/dist/components/forms/rubric-form/rubric-form.class.js +91 -20
- package/dist/components/forms/rubric-form/rubric-form.class.js.map +1 -1
- package/dist/components/forms/rubric-form/rubric-form.styles.d.ts.map +1 -1
- package/dist/components/forms/rubric-form/rubric-form.styles.js +7 -1
- package/dist/components/forms/rubric-form/rubric-form.styles.js.map +1 -1
- package/dist/components/forms/select/select.class.d.ts +3 -0
- package/dist/components/forms/select/select.class.d.ts.map +1 -1
- package/dist/components/forms/select/select.class.js +41 -20
- package/dist/components/forms/select/select.class.js.map +1 -1
- package/dist/components/forms/slider/slider.class.d.ts +8 -6
- package/dist/components/forms/slider/slider.class.d.ts.map +1 -1
- package/dist/components/forms/slider/slider.class.js +21 -28
- package/dist/components/forms/slider/slider.class.js.map +1 -1
- package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +5 -1
- package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts.map +1 -1
- package/dist/components/forms/swatch-picker/swatch-picker.class.js +41 -12
- package/dist/components/forms/swatch-picker/swatch-picker.class.js.map +1 -1
- package/dist/components/forms/swatch-picker/swatch-picker.styles.d.ts.map +1 -1
- package/dist/components/forms/swatch-picker/swatch-picker.styles.js +9 -4
- package/dist/components/forms/swatch-picker/swatch-picker.styles.js.map +1 -1
- package/dist/components/forms/textarea/textarea.class.d.ts +5 -0
- package/dist/components/forms/textarea/textarea.class.d.ts.map +1 -1
- package/dist/components/forms/textarea/textarea.class.js +5 -8
- package/dist/components/forms/textarea/textarea.class.js.map +1 -1
- package/dist/components/forms/time-range/time-range.class.d.ts +19 -0
- package/dist/components/forms/time-range/time-range.class.d.ts.map +1 -1
- package/dist/components/forms/time-range/time-range.class.js +80 -23
- package/dist/components/forms/time-range/time-range.class.js.map +1 -1
- package/dist/components/forms/time-range/time-range.styles.d.ts.map +1 -1
- package/dist/components/forms/time-range/time-range.styles.js +60 -12
- package/dist/components/forms/time-range/time-range.styles.js.map +1 -1
- package/dist/components/forms/token-input/token-input.class.d.ts +14 -0
- package/dist/components/forms/token-input/token-input.class.d.ts.map +1 -1
- package/dist/components/forms/token-input/token-input.class.js +27 -4
- package/dist/components/forms/token-input/token-input.class.js.map +1 -1
- package/dist/components/forms/token-input/token-input.styles.d.ts.map +1 -1
- package/dist/components/forms/token-input/token-input.styles.js +30 -9
- package/dist/components/forms/token-input/token-input.styles.js.map +1 -1
- package/dist/components/layout/app-rail/app-rail-item.class.d.ts +3 -3
- package/dist/components/layout/app-rail/app-rail-item.class.d.ts.map +1 -1
- package/dist/components/layout/app-rail/app-rail-item.class.js +33 -24
- package/dist/components/layout/app-rail/app-rail-item.class.js.map +1 -1
- package/dist/components/layout/app-rail/app-rail-item.styles.d.ts.map +1 -1
- package/dist/components/layout/app-rail/app-rail-item.styles.js +18 -12
- package/dist/components/layout/app-rail/app-rail-item.styles.js.map +1 -1
- package/dist/components/layout/app-rail/app-rail.class.d.ts +19 -10
- package/dist/components/layout/app-rail/app-rail.class.d.ts.map +1 -1
- package/dist/components/layout/app-rail/app-rail.class.js +62 -14
- package/dist/components/layout/app-rail/app-rail.class.js.map +1 -1
- package/dist/components/layout/breadcrumb/breadcrumb-item.class.d.ts +4 -3
- package/dist/components/layout/breadcrumb/breadcrumb-item.class.d.ts.map +1 -1
- package/dist/components/layout/breadcrumb/breadcrumb-item.class.js +14 -9
- package/dist/components/layout/breadcrumb/breadcrumb-item.class.js.map +1 -1
- package/dist/components/layout/breadcrumb/breadcrumb-item.styles.d.ts.map +1 -1
- package/dist/components/layout/breadcrumb/breadcrumb-item.styles.js +16 -5
- package/dist/components/layout/breadcrumb/breadcrumb-item.styles.js.map +1 -1
- package/dist/components/layout/breadcrumb/breadcrumb.styles.d.ts.map +1 -1
- package/dist/components/layout/breadcrumb/breadcrumb.styles.js +15 -8
- package/dist/components/layout/breadcrumb/breadcrumb.styles.js.map +1 -1
- package/dist/components/layout/card/card.class.d.ts +16 -8
- package/dist/components/layout/card/card.class.d.ts.map +1 -1
- package/dist/components/layout/card/card.class.js +84 -41
- package/dist/components/layout/card/card.class.js.map +1 -1
- package/dist/components/layout/card/card.styles.d.ts.map +1 -1
- package/dist/components/layout/card/card.styles.js +33 -20
- package/dist/components/layout/card/card.styles.js.map +1 -1
- package/dist/components/layout/carousel/carousel.class.d.ts +8 -4
- package/dist/components/layout/carousel/carousel.class.d.ts.map +1 -1
- package/dist/components/layout/carousel/carousel.class.js +133 -65
- package/dist/components/layout/carousel/carousel.class.js.map +1 -1
- package/dist/components/layout/carousel/carousel.styles.d.ts.map +1 -1
- package/dist/components/layout/carousel/carousel.styles.js +38 -28
- package/dist/components/layout/carousel/carousel.styles.js.map +1 -1
- package/dist/components/layout/command-palette/command-palette.class.d.ts +31 -6
- package/dist/components/layout/command-palette/command-palette.class.d.ts.map +1 -1
- package/dist/components/layout/command-palette/command-palette.class.js +369 -66
- package/dist/components/layout/command-palette/command-palette.class.js.map +1 -1
- package/dist/components/layout/command-palette/command-palette.styles.d.ts.map +1 -1
- package/dist/components/layout/command-palette/command-palette.styles.js +164 -18
- package/dist/components/layout/command-palette/command-palette.styles.js.map +1 -1
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts +12 -8
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts.map +1 -1
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +199 -111
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.js.map +1 -1
- package/dist/components/layout/dashboard-grid/dashboard-grid.styles.d.ts.map +1 -1
- package/dist/components/layout/dashboard-grid/dashboard-grid.styles.js +25 -18
- package/dist/components/layout/dashboard-grid/dashboard-grid.styles.js.map +1 -1
- package/dist/components/layout/details/accordion.class.d.ts +6 -3
- package/dist/components/layout/details/accordion.class.d.ts.map +1 -1
- package/dist/components/layout/details/accordion.class.js +47 -14
- package/dist/components/layout/details/accordion.class.js.map +1 -1
- package/dist/components/layout/dock-panel/dock-panel.class.d.ts +6 -6
- package/dist/components/layout/dock-panel/dock-panel.class.d.ts.map +1 -1
- package/dist/components/layout/dock-panel/dock-panel.class.js +76 -74
- package/dist/components/layout/dock-panel/dock-panel.class.js.map +1 -1
- package/dist/components/layout/dock-panel/dock-panel.styles.d.ts.map +1 -1
- package/dist/components/layout/dock-panel/dock-panel.styles.js +39 -36
- package/dist/components/layout/dock-panel/dock-panel.styles.js.map +1 -1
- package/dist/components/layout/drilldown-panel/drilldown-panel.class.d.ts.map +1 -1
- package/dist/components/layout/drilldown-panel/drilldown-panel.class.js +1 -14
- package/dist/components/layout/drilldown-panel/drilldown-panel.class.js.map +1 -1
- package/dist/components/layout/filter-bar/filter-bar.class.d.ts +17 -16
- package/dist/components/layout/filter-bar/filter-bar.class.d.ts.map +1 -1
- package/dist/components/layout/filter-bar/filter-bar.class.js +126 -60
- package/dist/components/layout/filter-bar/filter-bar.class.js.map +1 -1
- package/dist/components/layout/menu/menu.class.d.ts +27 -19
- package/dist/components/layout/menu/menu.class.d.ts.map +1 -1
- package/dist/components/layout/menu/menu.class.js +111 -76
- package/dist/components/layout/menu/menu.class.js.map +1 -1
- package/dist/components/layout/menu/menu.styles.d.ts.map +1 -1
- package/dist/components/layout/menu/menu.styles.js +28 -19
- package/dist/components/layout/menu/menu.styles.js.map +1 -1
- package/dist/components/layout/reorder-list/reorder-list.class.d.ts +5 -6
- package/dist/components/layout/reorder-list/reorder-list.class.d.ts.map +1 -1
- package/dist/components/layout/reorder-list/reorder-list.class.js +52 -32
- package/dist/components/layout/reorder-list/reorder-list.class.js.map +1 -1
- package/dist/components/layout/reorder-list/reorder-list.d.ts +2 -1
- package/dist/components/layout/reorder-list/reorder-list.d.ts.map +1 -1
- package/dist/components/layout/reorder-list/reorder-list.js +5 -4
- package/dist/components/layout/reorder-list/reorder-list.js.map +1 -1
- package/dist/components/layout/responsive-panel/responsive-panel.class.d.ts +11 -9
- package/dist/components/layout/responsive-panel/responsive-panel.class.d.ts.map +1 -1
- package/dist/components/layout/responsive-panel/responsive-panel.class.js +87 -45
- package/dist/components/layout/responsive-panel/responsive-panel.class.js.map +1 -1
- package/dist/components/layout/scroller/scroller.class.d.ts +6 -5
- package/dist/components/layout/scroller/scroller.class.d.ts.map +1 -1
- package/dist/components/layout/scroller/scroller.class.js +89 -37
- package/dist/components/layout/scroller/scroller.class.js.map +1 -1
- package/dist/components/layout/scroller/scroller.styles.d.ts.map +1 -1
- package/dist/components/layout/scroller/scroller.styles.js +27 -22
- package/dist/components/layout/scroller/scroller.styles.js.map +1 -1
- package/dist/components/layout/segmented/segmented.class.d.ts +11 -6
- package/dist/components/layout/segmented/segmented.class.d.ts.map +1 -1
- package/dist/components/layout/segmented/segmented.class.js +92 -41
- package/dist/components/layout/segmented/segmented.class.js.map +1 -1
- package/dist/components/layout/segmented/segmented.styles.d.ts.map +1 -1
- package/dist/components/layout/segmented/segmented.styles.js +26 -18
- package/dist/components/layout/segmented/segmented.styles.js.map +1 -1
- package/dist/components/layout/split/split.class.d.ts +22 -15
- package/dist/components/layout/split/split.class.d.ts.map +1 -1
- package/dist/components/layout/split/split.class.js +283 -163
- package/dist/components/layout/split/split.class.js.map +1 -1
- package/dist/components/layout/stepper/stepper.class.d.ts +14 -14
- package/dist/components/layout/stepper/stepper.class.d.ts.map +1 -1
- package/dist/components/layout/stepper/stepper.class.js +106 -74
- package/dist/components/layout/stepper/stepper.class.js.map +1 -1
- package/dist/components/layout/stepper/stepper.styles.d.ts.map +1 -1
- package/dist/components/layout/stepper/stepper.styles.js +24 -18
- package/dist/components/layout/stepper/stepper.styles.js.map +1 -1
- package/dist/components/layout/tabs/tabs.styles.d.ts.map +1 -1
- package/dist/components/layout/tabs/tabs.styles.js +22 -15
- package/dist/components/layout/tabs/tabs.styles.js.map +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.d.ts +23 -19
- package/dist/components/layout/virtual-list/virtual-list.class.d.ts.map +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.js +171 -100
- package/dist/components/layout/virtual-list/virtual-list.class.js.map +1 -1
- package/dist/components/layout/widget/widget.class.d.ts +13 -6
- package/dist/components/layout/widget/widget.class.d.ts.map +1 -1
- package/dist/components/layout/widget/widget.class.js +165 -64
- package/dist/components/layout/widget/widget.class.js.map +1 -1
- package/dist/components/layout/widget/widget.styles.d.ts.map +1 -1
- package/dist/components/layout/widget/widget.styles.js +65 -40
- package/dist/components/layout/widget/widget.styles.js.map +1 -1
- package/dist/components/media/animated-image/animated-image.class.d.ts +2 -0
- package/dist/components/media/animated-image/animated-image.class.d.ts.map +1 -1
- package/dist/components/media/animated-image/animated-image.class.js +17 -17
- package/dist/components/media/animated-image/animated-image.class.js.map +1 -1
- package/dist/components/media/animation/animation.class.d.ts +3 -0
- package/dist/components/media/animation/animation.class.d.ts.map +1 -1
- package/dist/components/media/animation/animation.class.js +35 -21
- package/dist/components/media/animation/animation.class.js.map +1 -1
- package/dist/components/media/attachment-chip/attachment-chip.class.d.ts +4 -17
- package/dist/components/media/attachment-chip/attachment-chip.class.d.ts.map +1 -1
- package/dist/components/media/attachment-chip/attachment-chip.class.js +20 -50
- package/dist/components/media/attachment-chip/attachment-chip.class.js.map +1 -1
- package/dist/components/media/attachment-chip/attachment-chip.styles.js +2 -2
- package/dist/components/media/attachment-chip/file-size.d.ts +11 -0
- package/dist/components/media/attachment-chip/file-size.d.ts.map +1 -0
- package/dist/components/media/attachment-chip/file-size.js +28 -0
- package/dist/components/media/attachment-chip/file-size.js.map +1 -0
- package/dist/components/media/attachment-trigger/attachment-trigger.class.d.ts +7 -2
- package/dist/components/media/attachment-trigger/attachment-trigger.class.d.ts.map +1 -1
- package/dist/components/media/attachment-trigger/attachment-trigger.class.js +36 -19
- package/dist/components/media/attachment-trigger/attachment-trigger.class.js.map +1 -1
- package/dist/components/media/av-player/av-player.class.d.ts +5 -1
- package/dist/components/media/av-player/av-player.class.d.ts.map +1 -1
- package/dist/components/media/av-player/av-player.class.js +115 -38
- package/dist/components/media/av-player/av-player.class.js.map +1 -1
- package/dist/components/media/av-player/av-player.d.ts +1 -0
- package/dist/components/media/av-player/av-player.d.ts.map +1 -1
- package/dist/components/media/av-player/av-player.js +1 -0
- package/dist/components/media/av-player/av-player.js.map +1 -1
- package/dist/components/media/av-player/av-player.styles.d.ts.map +1 -1
- package/dist/components/media/av-player/av-player.styles.js +2 -0
- package/dist/components/media/av-player/av-player.styles.js.map +1 -1
- package/dist/components/media/avatar-group/avatar-group.class.d.ts +3 -0
- package/dist/components/media/avatar-group/avatar-group.class.d.ts.map +1 -1
- package/dist/components/media/avatar-group/avatar-group.class.js +34 -6
- package/dist/components/media/avatar-group/avatar-group.class.js.map +1 -1
- package/dist/components/media/file-icon/file-icon.class.d.ts.map +1 -1
- package/dist/components/media/file-icon/file-icon.class.js +5 -2
- package/dist/components/media/file-icon/file-icon.class.js.map +1 -1
- package/dist/components/media/file-input/file-input.class.d.ts +8 -9
- package/dist/components/media/file-input/file-input.class.d.ts.map +1 -1
- package/dist/components/media/file-input/file-input.class.js +27 -29
- package/dist/components/media/file-input/file-input.class.js.map +1 -1
- package/dist/components/media/flag/flag.class.d.ts +7 -3
- package/dist/components/media/flag/flag.class.d.ts.map +1 -1
- package/dist/components/media/flag/flag.class.js +29 -5
- package/dist/components/media/flag/flag.class.js.map +1 -1
- package/dist/components/media/flag/flag.styles.d.ts.map +1 -1
- package/dist/components/media/flag/flag.styles.js +6 -0
- package/dist/components/media/flag/flag.styles.js.map +1 -1
- package/dist/components/media/image-comparer/image-comparer.class.d.ts +7 -0
- package/dist/components/media/image-comparer/image-comparer.class.d.ts.map +1 -1
- package/dist/components/media/image-comparer/image-comparer.class.js +17 -1
- package/dist/components/media/image-comparer/image-comparer.class.js.map +1 -1
- package/dist/components/media/image-viewer/image-viewer.class.d.ts +12 -2
- package/dist/components/media/image-viewer/image-viewer.class.d.ts.map +1 -1
- package/dist/components/media/image-viewer/image-viewer.class.js +60 -15
- package/dist/components/media/image-viewer/image-viewer.class.js.map +1 -1
- package/dist/components/media/image-viewer/image-viewer.styles.d.ts.map +1 -1
- package/dist/components/media/image-viewer/image-viewer.styles.js +21 -7
- package/dist/components/media/image-viewer/image-viewer.styles.js.map +1 -1
- package/dist/components/media/lightbox/lightbox.class.d.ts.map +1 -1
- package/dist/components/media/lightbox/lightbox.class.js +45 -3
- package/dist/components/media/lightbox/lightbox.class.js.map +1 -1
- package/dist/components/media/map/map-loader.d.ts +2 -1
- package/dist/components/media/map/map-loader.d.ts.map +1 -1
- package/dist/components/media/map/map-loader.js +2 -1
- package/dist/components/media/map/map-loader.js.map +1 -1
- package/dist/components/media/map/map.class.d.ts +10 -1
- package/dist/components/media/map/map.class.d.ts.map +1 -1
- package/dist/components/media/map/map.class.js +47 -8
- package/dist/components/media/map/map.class.js.map +1 -1
- package/dist/components/media/media-card/media-card.class.d.ts +16 -0
- package/dist/components/media/media-card/media-card.class.d.ts.map +1 -1
- package/dist/components/media/media-card/media-card.class.js +24 -0
- package/dist/components/media/media-card/media-card.class.js.map +1 -1
- package/dist/components/media/playback/playback.class.d.ts +4 -6
- package/dist/components/media/playback/playback.class.d.ts.map +1 -1
- package/dist/components/media/playback/playback.class.js +7 -22
- package/dist/components/media/playback/playback.class.js.map +1 -1
- package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts.map +1 -1
- package/dist/components/media/zoomable-frame/zoomable-frame.class.js +15 -1
- package/dist/components/media/zoomable-frame/zoomable-frame.class.js.map +1 -1
- package/dist/components/media/zoomable-frame/zoomable-frame.styles.d.ts.map +1 -1
- package/dist/components/media/zoomable-frame/zoomable-frame.styles.js +3 -0
- package/dist/components/media/zoomable-frame/zoomable-frame.styles.js.map +1 -1
- package/dist/components/overlays/callout/callout.class.d.ts +8 -5
- package/dist/components/overlays/callout/callout.class.d.ts.map +1 -1
- package/dist/components/overlays/callout/callout.class.js +26 -21
- package/dist/components/overlays/callout/callout.class.js.map +1 -1
- package/dist/components/overlays/chip/chip-group.class.d.ts +3 -0
- package/dist/components/overlays/chip/chip-group.class.d.ts.map +1 -1
- package/dist/components/overlays/chip/chip-group.class.js +22 -1
- package/dist/components/overlays/chip/chip-group.class.js.map +1 -1
- package/dist/components/overlays/chip/chip.class.d.ts +26 -15
- package/dist/components/overlays/chip/chip.class.d.ts.map +1 -1
- package/dist/components/overlays/chip/chip.class.js +58 -32
- package/dist/components/overlays/chip/chip.class.js.map +1 -1
- package/dist/components/overlays/chip/chip.styles.d.ts.map +1 -1
- package/dist/components/overlays/chip/chip.styles.js +28 -19
- package/dist/components/overlays/chip/chip.styles.js.map +1 -1
- package/dist/components/overlays/dialog/dialog.class.d.ts +1 -0
- package/dist/components/overlays/dialog/dialog.class.d.ts.map +1 -1
- package/dist/components/overlays/dialog/dialog.class.js +6 -5
- package/dist/components/overlays/dialog/dialog.class.js.map +1 -1
- package/dist/components/overlays/empty/empty.class.d.ts +8 -2
- package/dist/components/overlays/empty/empty.class.d.ts.map +1 -1
- package/dist/components/overlays/empty/empty.class.js +22 -2
- package/dist/components/overlays/empty/empty.class.js.map +1 -1
- package/dist/components/overlays/kbd/kbd.class.js +1 -1
- package/dist/components/overlays/kbd/kbd.class.js.map +1 -1
- package/dist/components/overlays/overlay/overlay.styles.d.ts.map +1 -1
- package/dist/components/overlays/overlay/overlay.styles.js +1 -2
- package/dist/components/overlays/overlay/overlay.styles.js.map +1 -1
- package/dist/components/overlays/overlay/popover.class.d.ts +36 -23
- package/dist/components/overlays/overlay/popover.class.d.ts.map +1 -1
- package/dist/components/overlays/overlay/popover.class.js +173 -65
- package/dist/components/overlays/overlay/popover.class.js.map +1 -1
- package/dist/components/overlays/overlay/tooltip.class.d.ts +29 -1
- package/dist/components/overlays/overlay/tooltip.class.d.ts.map +1 -1
- package/dist/components/overlays/overlay/tooltip.class.js +209 -17
- package/dist/components/overlays/overlay/tooltip.class.js.map +1 -1
- package/dist/components/overlays/progress/progress-bar.class.d.ts +3 -0
- package/dist/components/overlays/progress/progress-bar.class.d.ts.map +1 -1
- package/dist/components/overlays/progress/progress-bar.class.js +13 -4
- package/dist/components/overlays/progress/progress-bar.class.js.map +1 -1
- package/dist/components/overlays/progress/progress-ring.class.d.ts +2 -0
- package/dist/components/overlays/progress/progress-ring.class.d.ts.map +1 -1
- package/dist/components/overlays/progress/progress-ring.class.js +13 -4
- package/dist/components/overlays/progress/progress-ring.class.js.map +1 -1
- package/dist/components/overlays/progress/progress.styles.js +3 -3
- package/dist/components/overlays/rating/rating.class.d.ts +7 -0
- package/dist/components/overlays/rating/rating.class.d.ts.map +1 -1
- package/dist/components/overlays/rating/rating.class.js +17 -0
- package/dist/components/overlays/rating/rating.class.js.map +1 -1
- package/dist/components/overlays/skeleton/skeleton.class.d.ts.map +1 -1
- package/dist/components/overlays/skeleton/skeleton.class.js +1 -14
- package/dist/components/overlays/skeleton/skeleton.class.js.map +1 -1
- package/dist/components/overlays/spinner/spinner.class.d.ts +2 -1
- package/dist/components/overlays/spinner/spinner.class.d.ts.map +1 -1
- package/dist/components/overlays/spinner/spinner.class.js +2 -1
- package/dist/components/overlays/spinner/spinner.class.js.map +1 -1
- package/dist/components/overlays/spinner/spinner.styles.js +1 -1
- package/dist/components/overlays/toast/toast-item.class.d.ts +2 -0
- package/dist/components/overlays/toast/toast-item.class.d.ts.map +1 -1
- package/dist/components/overlays/toast/toast-item.class.js +19 -1
- package/dist/components/overlays/toast/toast-item.class.js.map +1 -1
- package/dist/components/overlays/toast/toast-item.styles.d.ts.map +1 -1
- package/dist/components/overlays/toast/toast-item.styles.js +9 -1
- package/dist/components/overlays/toast/toast-item.styles.js.map +1 -1
- package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.d.ts.map +1 -1
- package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.js +6 -2
- package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.js.map +1 -1
- package/dist/components/retrieval/chunk-inspector/chunk-inspector.styles.d.ts.map +1 -1
- package/dist/components/retrieval/chunk-inspector/chunk-inspector.styles.js +6 -0
- package/dist/components/retrieval/chunk-inspector/chunk-inspector.styles.js.map +1 -1
- package/dist/components/retrieval/citation-badge/citation-badge.class.js +1 -1
- package/dist/components/retrieval/citation-badge/citation-badge.class.js.map +1 -1
- package/dist/components/retrieval/citation-badge/citation-badge.styles.d.ts.map +1 -1
- package/dist/components/retrieval/citation-badge/citation-badge.styles.js +2 -0
- package/dist/components/retrieval/citation-badge/citation-badge.styles.js.map +1 -1
- package/dist/components/retrieval/claim-evidence/claim-evidence.class.d.ts +50 -0
- package/dist/components/retrieval/claim-evidence/claim-evidence.class.d.ts.map +1 -0
- package/dist/components/retrieval/claim-evidence/claim-evidence.class.js +133 -0
- package/dist/components/retrieval/claim-evidence/claim-evidence.class.js.map +1 -0
- package/dist/components/retrieval/claim-evidence/claim-evidence.d.ts +5 -0
- package/dist/components/retrieval/claim-evidence/claim-evidence.d.ts.map +1 -0
- package/dist/components/retrieval/claim-evidence/claim-evidence.js +8 -0
- package/dist/components/retrieval/claim-evidence/claim-evidence.js.map +1 -0
- package/dist/components/retrieval/claim-evidence/claim-evidence.styles.d.ts +2 -0
- package/dist/components/retrieval/claim-evidence/claim-evidence.styles.d.ts.map +1 -0
- package/dist/components/retrieval/claim-evidence/claim-evidence.styles.js +84 -0
- package/dist/components/retrieval/claim-evidence/claim-evidence.styles.js.map +1 -0
- package/dist/components/retrieval/community-card/community-card.class.d.ts.map +1 -1
- package/dist/components/retrieval/community-card/community-card.class.js +9 -3
- package/dist/components/retrieval/community-card/community-card.class.js.map +1 -1
- package/dist/components/retrieval/community-card/community-card.styles.d.ts.map +1 -1
- package/dist/components/retrieval/community-card/community-card.styles.js +6 -0
- package/dist/components/retrieval/community-card/community-card.styles.js.map +1 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts +5 -2
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts.map +1 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +52 -24
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js.map +1 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.d.ts.map +1 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +7 -2
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js.map +1 -1
- package/dist/components/retrieval/entity-card/entity-card.class.d.ts.map +1 -1
- package/dist/components/retrieval/entity-card/entity-card.class.js +11 -16
- package/dist/components/retrieval/entity-card/entity-card.class.js.map +1 -1
- package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts.map +1 -1
- package/dist/components/retrieval/entity-chip/entity-chip.class.js +3 -1
- package/dist/components/retrieval/entity-chip/entity-chip.class.js.map +1 -1
- package/dist/components/retrieval/entity-chip/entity-chip.styles.d.ts.map +1 -1
- package/dist/components/retrieval/entity-chip/entity-chip.styles.js +4 -1
- package/dist/components/retrieval/entity-chip/entity-chip.styles.js.map +1 -1
- package/dist/components/retrieval/entity-dossier/entity-dossier.class.d.ts.map +1 -1
- package/dist/components/retrieval/entity-dossier/entity-dossier.class.js +1 -14
- package/dist/components/retrieval/entity-dossier/entity-dossier.class.js.map +1 -1
- package/dist/components/retrieval/graph/graph-canvas.d.ts.map +1 -1
- package/dist/components/retrieval/graph/graph-canvas.js +4 -1
- package/dist/components/retrieval/graph/graph-canvas.js.map +1 -1
- package/dist/components/retrieval/graph/graph.class.d.ts +6 -0
- package/dist/components/retrieval/graph/graph.class.d.ts.map +1 -1
- package/dist/components/retrieval/graph/graph.class.js +103 -32
- package/dist/components/retrieval/graph/graph.class.js.map +1 -1
- package/dist/components/retrieval/graph/graph.styles.d.ts.map +1 -1
- package/dist/components/retrieval/graph/graph.styles.js +6 -1
- package/dist/components/retrieval/graph/graph.styles.js.map +1 -1
- package/dist/components/retrieval/graph-legend/graph-legend.class.d.ts.map +1 -1
- package/dist/components/retrieval/graph-legend/graph-legend.class.js +1 -14
- package/dist/components/retrieval/graph-legend/graph-legend.class.js.map +1 -1
- package/dist/components/retrieval/graph-legend/graph-legend.styles.d.ts.map +1 -1
- package/dist/components/retrieval/graph-legend/graph-legend.styles.js +3 -0
- package/dist/components/retrieval/graph-legend/graph-legend.styles.js.map +1 -1
- package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts +8 -1
- package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts.map +1 -1
- package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +19 -2
- package/dist/components/retrieval/grounding-summary/grounding-summary.class.js.map +1 -1
- package/dist/components/retrieval/grounding-summary/grounding-summary.d.ts +1 -0
- package/dist/components/retrieval/grounding-summary/grounding-summary.d.ts.map +1 -1
- package/dist/components/retrieval/grounding-summary/grounding-summary.js +1 -0
- package/dist/components/retrieval/grounding-summary/grounding-summary.js.map +1 -1
- package/dist/components/retrieval/index.d.ts +31 -0
- package/dist/components/retrieval/index.d.ts.map +1 -0
- package/dist/components/retrieval/index.js +31 -0
- package/dist/components/retrieval/index.js.map +1 -0
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts +8 -5
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts.map +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +53 -16
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js.map +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.d.ts +4 -0
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.d.ts.map +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.js +4 -0
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.js.map +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.styles.d.ts.map +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.styles.js +5 -0
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.styles.js.map +1 -1
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts +0 -5
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts.map +1 -1
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +12 -12
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.js.map +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts +4 -2
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts.map +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +78 -8
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js.map +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.d.ts +2 -0
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.d.ts.map +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.js +2 -0
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.js.map +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.d.ts.map +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js +3 -0
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js.map +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +12 -0
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts.map +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +103 -21
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js.map +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.d.ts.map +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +5 -0
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.js.map +1 -1
- package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts +6 -2
- package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts.map +1 -1
- package/dist/components/retrieval/memory-panel/memory-panel.class.js +71 -17
- package/dist/components/retrieval/memory-panel/memory-panel.class.js.map +1 -1
- package/dist/components/retrieval/memory-panel/memory-panel.styles.d.ts.map +1 -1
- package/dist/components/retrieval/memory-panel/memory-panel.styles.js +6 -0
- package/dist/components/retrieval/memory-panel/memory-panel.styles.js.map +1 -1
- package/dist/components/retrieval/mind-map/mind-map.class.d.ts +10 -0
- package/dist/components/retrieval/mind-map/mind-map.class.d.ts.map +1 -1
- package/dist/components/retrieval/mind-map/mind-map.class.js +96 -3
- package/dist/components/retrieval/mind-map/mind-map.class.js.map +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.d.ts.map +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +23 -7
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.js.map +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.styles.d.ts.map +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.styles.js +3 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.styles.js.map +1 -1
- package/dist/components/retrieval/node-palette/node-palette.class.d.ts +8 -0
- package/dist/components/retrieval/node-palette/node-palette.class.d.ts.map +1 -1
- package/dist/components/retrieval/node-palette/node-palette.class.js +107 -15
- package/dist/components/retrieval/node-palette/node-palette.class.js.map +1 -1
- package/dist/components/retrieval/node-palette/node-palette.styles.d.ts.map +1 -1
- package/dist/components/retrieval/node-palette/node-palette.styles.js +9 -1
- package/dist/components/retrieval/node-palette/node-palette.styles.js.map +1 -1
- package/dist/components/retrieval/path-strip/path-strip.class.d.ts +4 -1
- package/dist/components/retrieval/path-strip/path-strip.class.d.ts.map +1 -1
- package/dist/components/retrieval/path-strip/path-strip.class.js +28 -1
- package/dist/components/retrieval/path-strip/path-strip.class.js.map +1 -1
- package/dist/components/retrieval/provenance-panel/provenance-panel.class.d.ts.map +1 -1
- package/dist/components/retrieval/provenance-panel/provenance-panel.class.js +2 -1
- package/dist/components/retrieval/provenance-panel/provenance-panel.class.js.map +1 -1
- package/dist/components/retrieval/provenance-panel/provenance-panel.styles.d.ts.map +1 -1
- package/dist/components/retrieval/provenance-panel/provenance-panel.styles.js +3 -0
- package/dist/components/retrieval/provenance-panel/provenance-panel.styles.js.map +1 -1
- package/dist/components/retrieval/rag-answer/rag-answer.class.d.ts +6 -8
- package/dist/components/retrieval/rag-answer/rag-answer.class.d.ts.map +1 -1
- package/dist/components/retrieval/rag-answer/rag-answer.class.js +9 -14
- package/dist/components/retrieval/rag-answer/rag-answer.class.js.map +1 -1
- package/dist/components/retrieval/rag-answer/rag-answer.d.ts +7 -0
- package/dist/components/retrieval/rag-answer/rag-answer.d.ts.map +1 -1
- package/dist/components/retrieval/rag-answer/rag-answer.js +7 -0
- package/dist/components/retrieval/rag-answer/rag-answer.js.map +1 -1
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +78 -0
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts.map +1 -0
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +186 -0
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js.map +1 -0
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.d.ts +5 -0
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.d.ts.map +1 -0
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.js +8 -0
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.js.map +1 -0
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.styles.d.ts +2 -0
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.styles.d.ts.map +1 -0
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.styles.js +95 -0
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.styles.js.map +1 -0
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.d.ts +58 -0
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.d.ts.map +1 -0
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js +157 -0
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js.map +1 -0
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.d.ts +3 -0
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.d.ts.map +1 -0
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.js +6 -0
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.js.map +1 -0
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.d.ts +2 -0
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.d.ts.map +1 -0
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.js +103 -0
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.js.map +1 -0
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +3 -6
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts.map +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +33 -45
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.js.map +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.styles.d.ts.map +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.styles.js +3 -4
- package/dist/components/retrieval/retrieval-results/retrieval-results.styles.js.map +1 -1
- package/dist/components/retrieval/retrieval-search/retrieval-search.class.d.ts.map +1 -1
- package/dist/components/retrieval/retrieval-search/retrieval-search.class.js +20 -6
- package/dist/components/retrieval/retrieval-search/retrieval-search.class.js.map +1 -1
- package/dist/components/retrieval/retrieval-search/retrieval-search.styles.d.ts.map +1 -1
- package/dist/components/retrieval/retrieval-search/retrieval-search.styles.js +1 -0
- package/dist/components/retrieval/retrieval-search/retrieval-search.styles.js.map +1 -1
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.d.ts +4 -2
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.d.ts.map +1 -1
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +31 -23
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js.map +1 -1
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.styles.d.ts.map +1 -1
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.styles.js +3 -0
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.styles.js.map +1 -1
- package/dist/components/retrieval/source-card/source-card.styles.d.ts.map +1 -1
- package/dist/components/retrieval/source-card/source-card.styles.js +13 -0
- package/dist/components/retrieval/source-card/source-card.styles.js.map +1 -1
- package/dist/components/retrieval/source-list/source-list.class.d.ts +3 -0
- package/dist/components/retrieval/source-list/source-list.class.d.ts.map +1 -1
- package/dist/components/retrieval/source-list/source-list.class.js +30 -3
- package/dist/components/retrieval/source-list/source-list.class.js.map +1 -1
- package/dist/components/retrieval/source-list/source-list.styles.d.ts.map +1 -1
- package/dist/components/retrieval/source-list/source-list.styles.js +6 -0
- package/dist/components/retrieval/source-list/source-list.styles.js.map +1 -1
- package/dist/components/retrieval/source-picker/source-picker.class.d.ts +5 -1
- package/dist/components/retrieval/source-picker/source-picker.class.d.ts.map +1 -1
- package/dist/components/retrieval/source-picker/source-picker.class.js +68 -21
- package/dist/components/retrieval/source-picker/source-picker.class.js.map +1 -1
- package/dist/components/retrieval/source-picker/source-picker.styles.d.ts.map +1 -1
- package/dist/components/retrieval/source-picker/source-picker.styles.js +25 -1
- package/dist/components/retrieval/source-picker/source-picker.styles.js.map +1 -1
- package/dist/components/utility/copy-button/copy-button.class.d.ts +2 -0
- package/dist/components/utility/copy-button/copy-button.class.d.ts.map +1 -1
- package/dist/components/utility/copy-button/copy-button.class.js +6 -0
- package/dist/components/utility/copy-button/copy-button.class.js.map +1 -1
- package/dist/components/utility/diff-view/diff-line-diff.d.ts +3 -4
- package/dist/components/utility/diff-view/diff-line-diff.d.ts.map +1 -1
- package/dist/components/utility/diff-view/diff-line-diff.js +85 -35
- package/dist/components/utility/diff-view/diff-line-diff.js.map +1 -1
- package/dist/components/utility/diff-view/diff-view.class.d.ts +11 -0
- package/dist/components/utility/diff-view/diff-view.class.d.ts.map +1 -1
- package/dist/components/utility/diff-view/diff-view.class.js +64 -13
- package/dist/components/utility/diff-view/diff-view.class.js.map +1 -1
- package/dist/components/utility/diff-view/diff-view.styles.d.ts.map +1 -1
- package/dist/components/utility/diff-view/diff-view.styles.js +19 -6
- package/dist/components/utility/diff-view/diff-view.styles.js.map +1 -1
- package/dist/components/utility/export-button/export-button.class.d.ts +9 -0
- package/dist/components/utility/export-button/export-button.class.d.ts.map +1 -1
- package/dist/components/utility/export-button/export-button.class.js +45 -8
- package/dist/components/utility/export-button/export-button.class.js.map +1 -1
- package/dist/components/utility/export-button/export-button.styles.d.ts.map +1 -1
- package/dist/components/utility/export-button/export-button.styles.js +4 -0
- package/dist/components/utility/export-button/export-button.styles.js.map +1 -1
- package/dist/components/utility/format/format-date.class.d.ts.map +1 -1
- package/dist/components/utility/format/format-date.class.js +11 -4
- package/dist/components/utility/format/format-date.class.js.map +1 -1
- package/dist/components/utility/format/format-number.class.d.ts.map +1 -1
- package/dist/components/utility/format/format-number.class.js +18 -4
- package/dist/components/utility/format/format-number.class.js.map +1 -1
- package/dist/components/utility/format/relative-time.class.d.ts.map +1 -1
- package/dist/components/utility/format/relative-time.class.js +11 -2
- package/dist/components/utility/format/relative-time.class.js.map +1 -1
- package/dist/components/utility/icon/icon.class.d.ts.map +1 -1
- package/dist/components/utility/icon/icon.class.js +4 -2
- package/dist/components/utility/icon/icon.class.js.map +1 -1
- package/dist/components/utility/intersection-observer/intersection-observer.class.d.ts.map +1 -1
- package/dist/components/utility/intersection-observer/intersection-observer.class.js +23 -9
- package/dist/components/utility/intersection-observer/intersection-observer.class.js.map +1 -1
- package/dist/components/utility/intersection-observer/intersection-observer.styles.d.ts +1 -1
- package/dist/components/utility/intersection-observer/intersection-observer.styles.d.ts.map +1 -1
- package/dist/components/utility/intersection-observer/intersection-observer.styles.js +1 -7
- package/dist/components/utility/intersection-observer/intersection-observer.styles.js.map +1 -1
- package/dist/components/utility/json-viewer/json-viewer.class.d.ts +15 -2
- package/dist/components/utility/json-viewer/json-viewer.class.d.ts.map +1 -1
- package/dist/components/utility/json-viewer/json-viewer.class.js +182 -44
- package/dist/components/utility/json-viewer/json-viewer.class.js.map +1 -1
- package/dist/components/utility/json-viewer/json-viewer.styles.d.ts.map +1 -1
- package/dist/components/utility/json-viewer/json-viewer.styles.js +14 -4
- package/dist/components/utility/json-viewer/json-viewer.styles.js.map +1 -1
- package/dist/components/utility/known-date/known-date.class.d.ts +6 -3
- package/dist/components/utility/known-date/known-date.class.d.ts.map +1 -1
- package/dist/components/utility/known-date/known-date.class.js +35 -5
- package/dist/components/utility/known-date/known-date.class.js.map +1 -1
- package/dist/components/utility/known-date/known-date.styles.d.ts.map +1 -1
- package/dist/components/utility/known-date/known-date.styles.js +5 -0
- package/dist/components/utility/known-date/known-date.styles.js.map +1 -1
- package/dist/components/utility/mention-popover/mention-popover.class.d.ts +51 -27
- package/dist/components/utility/mention-popover/mention-popover.class.d.ts.map +1 -1
- package/dist/components/utility/mention-popover/mention-popover.class.js +130 -35
- package/dist/components/utility/mention-popover/mention-popover.class.js.map +1 -1
- package/dist/components/utility/mention-popover/mention-popover.styles.d.ts.map +1 -1
- package/dist/components/utility/mention-popover/mention-popover.styles.js +5 -1
- package/dist/components/utility/mention-popover/mention-popover.styles.js.map +1 -1
- package/dist/components/utility/mutation-observer/mutation-observer.class.d.ts.map +1 -1
- package/dist/components/utility/mutation-observer/mutation-observer.class.js +8 -22
- package/dist/components/utility/mutation-observer/mutation-observer.class.js.map +1 -1
- package/dist/components/utility/mutation-observer/mutation-observer.styles.d.ts +1 -1
- package/dist/components/utility/mutation-observer/mutation-observer.styles.d.ts.map +1 -1
- package/dist/components/utility/mutation-observer/mutation-observer.styles.js +1 -7
- package/dist/components/utility/mutation-observer/mutation-observer.styles.js.map +1 -1
- package/dist/components/utility/poll-status/poll-status.class.d.ts +6 -4
- package/dist/components/utility/poll-status/poll-status.class.d.ts.map +1 -1
- package/dist/components/utility/poll-status/poll-status.class.js +23 -21
- package/dist/components/utility/poll-status/poll-status.class.js.map +1 -1
- package/dist/components/utility/poll-status/poll-status.styles.d.ts.map +1 -1
- package/dist/components/utility/poll-status/poll-status.styles.js +9 -1
- package/dist/components/utility/poll-status/poll-status.styles.js.map +1 -1
- package/dist/components/utility/random-content/random-content.class.d.ts +30 -9
- package/dist/components/utility/random-content/random-content.class.d.ts.map +1 -1
- package/dist/components/utility/random-content/random-content.class.js +196 -24
- package/dist/components/utility/random-content/random-content.class.js.map +1 -1
- package/dist/components/utility/random-content/random-content.styles.d.ts.map +1 -1
- package/dist/components/utility/random-content/random-content.styles.js +22 -0
- package/dist/components/utility/random-content/random-content.styles.js.map +1 -1
- package/dist/components/utility/resize-observer/resize-observer.class.d.ts.map +1 -1
- package/dist/components/utility/resize-observer/resize-observer.class.js +3 -4
- package/dist/components/utility/resize-observer/resize-observer.class.js.map +1 -1
- package/dist/components/utility/resize-observer/resize-observer.styles.d.ts +1 -1
- package/dist/components/utility/resize-observer/resize-observer.styles.d.ts.map +1 -1
- package/dist/components/utility/resize-observer/resize-observer.styles.js +1 -10
- package/dist/components/utility/resize-observer/resize-observer.styles.js.map +1 -1
- package/dist/components/utility/tour/tour.class.d.ts +14 -19
- package/dist/components/utility/tour/tour.class.d.ts.map +1 -1
- package/dist/components/utility/tour/tour.class.js +116 -51
- package/dist/components/utility/tour/tour.class.js.map +1 -1
- package/dist/components/utility/tour/tour.styles.d.ts.map +1 -1
- package/dist/components/utility/tour/tour.styles.js +7 -0
- package/dist/components/utility/tour/tour.styles.js.map +1 -1
- package/dist/components/viewers/archive-viewer/archive-viewer.class.d.ts +5 -3
- package/dist/components/viewers/archive-viewer/archive-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/archive-viewer/archive-viewer.class.js +91 -14
- package/dist/components/viewers/archive-viewer/archive-viewer.class.js.map +1 -1
- package/dist/components/viewers/archive-viewer/zip-resource-guard.d.ts +36 -0
- package/dist/components/viewers/archive-viewer/zip-resource-guard.d.ts.map +1 -0
- package/dist/components/viewers/archive-viewer/zip-resource-guard.js +261 -0
- package/dist/components/viewers/archive-viewer/zip-resource-guard.js.map +1 -0
- package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts +4 -1
- package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js +44 -11
- package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js.map +1 -1
- package/dist/components/viewers/calendar-viewer/calendar-viewer.js +13 -2
- package/dist/components/viewers/calendar-viewer/calendar-viewer.js.map +1 -1
- package/dist/components/viewers/contact-viewer/contact-viewer.class.d.ts +7 -1
- package/dist/components/viewers/contact-viewer/contact-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/contact-viewer/contact-viewer.class.js +67 -9
- package/dist/components/viewers/contact-viewer/contact-viewer.class.js.map +1 -1
- package/dist/components/viewers/contact-viewer/contact-viewer.js +7 -0
- package/dist/components/viewers/contact-viewer/contact-viewer.js.map +1 -1
- package/dist/components/viewers/contact-viewer/contact-viewer.styles.d.ts.map +1 -1
- package/dist/components/viewers/contact-viewer/contact-viewer.styles.js +2 -0
- package/dist/components/viewers/contact-viewer/contact-viewer.styles.js.map +1 -1
- package/dist/components/viewers/contact-viewer/vcard.d.ts +1 -1
- package/dist/components/viewers/contact-viewer/vcard.d.ts.map +1 -1
- package/dist/components/viewers/contact-viewer/vcard.js +9 -2
- package/dist/components/viewers/contact-viewer/vcard.js.map +1 -1
- package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts +17 -10
- package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/csv-viewer/csv-viewer.class.js +102 -54
- package/dist/components/viewers/csv-viewer/csv-viewer.class.js.map +1 -1
- package/dist/components/viewers/csv-viewer/csv-viewer.d.ts +1 -0
- package/dist/components/viewers/csv-viewer/csv-viewer.d.ts.map +1 -1
- package/dist/components/viewers/csv-viewer/csv-viewer.js +1 -0
- package/dist/components/viewers/csv-viewer/csv-viewer.js.map +1 -1
- package/dist/components/viewers/csv-viewer/csv-viewer.styles.js +6 -6
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +17 -15
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +127 -53
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js.map +1 -1
- package/dist/components/viewers/dataset-viewer/dataset-viewer.d.ts +1 -0
- package/dist/components/viewers/dataset-viewer/dataset-viewer.d.ts.map +1 -1
- package/dist/components/viewers/dataset-viewer/dataset-viewer.js +1 -0
- package/dist/components/viewers/dataset-viewer/dataset-viewer.js.map +1 -1
- package/dist/components/viewers/dataset-viewer/dataset-viewer.styles.js +4 -4
- package/dist/components/viewers/document-compare/document-compare.class.d.ts +5 -2
- package/dist/components/viewers/document-compare/document-compare.class.d.ts.map +1 -1
- package/dist/components/viewers/document-compare/document-compare.class.js +4 -16
- package/dist/components/viewers/document-compare/document-compare.class.js.map +1 -1
- package/dist/components/viewers/document-compare/document-compare.d.ts +2 -0
- package/dist/components/viewers/document-compare/document-compare.d.ts.map +1 -1
- package/dist/components/viewers/document-compare/document-compare.js +2 -0
- package/dist/components/viewers/document-compare/document-compare.js.map +1 -1
- package/dist/components/viewers/document-compare/document-compare.styles.d.ts.map +1 -1
- package/dist/components/viewers/document-compare/document-compare.styles.js +4 -0
- package/dist/components/viewers/document-compare/document-compare.styles.js.map +1 -1
- package/dist/components/viewers/document-preview/document-preview.class.d.ts +20 -2
- package/dist/components/viewers/document-preview/document-preview.class.d.ts.map +1 -1
- package/dist/components/viewers/document-preview/document-preview.class.js +128 -37
- package/dist/components/viewers/document-preview/document-preview.class.js.map +1 -1
- package/dist/components/viewers/document-preview/document-preview.d.ts +1 -0
- package/dist/components/viewers/document-preview/document-preview.d.ts.map +1 -1
- package/dist/components/viewers/document-preview/document-preview.js +1 -0
- package/dist/components/viewers/document-preview/document-preview.js.map +1 -1
- package/dist/components/viewers/document-preview/document-preview.styles.d.ts.map +1 -1
- package/dist/components/viewers/document-preview/document-preview.styles.js +70 -12
- package/dist/components/viewers/document-preview/document-preview.styles.js.map +1 -1
- package/dist/components/viewers/document-viewer/document-viewer.class.d.ts +11 -10
- package/dist/components/viewers/document-viewer/document-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/document-viewer/document-viewer.class.js +38 -12
- package/dist/components/viewers/document-viewer/document-viewer.class.js.map +1 -1
- package/dist/components/viewers/document-viewer/document-viewer.d.ts +1 -0
- package/dist/components/viewers/document-viewer/document-viewer.d.ts.map +1 -1
- package/dist/components/viewers/document-viewer/document-viewer.js +1 -0
- package/dist/components/viewers/document-viewer/document-viewer.js.map +1 -1
- package/dist/components/viewers/docx-viewer/docx-resource-guard.d.ts +10 -0
- package/dist/components/viewers/docx-viewer/docx-resource-guard.d.ts.map +1 -0
- package/dist/components/viewers/docx-viewer/docx-resource-guard.js +18 -0
- package/dist/components/viewers/docx-viewer/docx-resource-guard.js.map +1 -0
- package/dist/components/viewers/docx-viewer/docx-viewer.class.d.ts +13 -0
- package/dist/components/viewers/docx-viewer/docx-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/docx-viewer/docx-viewer.class.js +62 -7
- package/dist/components/viewers/docx-viewer/docx-viewer.class.js.map +1 -1
- package/dist/components/viewers/docx-viewer/docx-viewer.styles.js +15 -15
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts +1 -0
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +93 -34
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js.map +1 -1
- package/dist/components/viewers/ebook-viewer/epub-resource-guard.d.ts +10 -0
- package/dist/components/viewers/ebook-viewer/epub-resource-guard.d.ts.map +1 -0
- package/dist/components/viewers/ebook-viewer/epub-resource-guard.js +18 -0
- package/dist/components/viewers/ebook-viewer/epub-resource-guard.js.map +1 -0
- package/dist/components/viewers/email-viewer/email-viewer.class.d.ts +10 -0
- package/dist/components/viewers/email-viewer/email-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/email-viewer/email-viewer.class.js +116 -47
- package/dist/components/viewers/email-viewer/email-viewer.class.js.map +1 -1
- package/dist/components/viewers/email-viewer/email-viewer.js +13 -3
- package/dist/components/viewers/email-viewer/email-viewer.js.map +1 -1
- package/dist/components/viewers/geojson-view/geojson-view.class.d.ts +6 -8
- package/dist/components/viewers/geojson-view/geojson-view.class.d.ts.map +1 -1
- package/dist/components/viewers/geojson-view/geojson-view.class.js +239 -67
- package/dist/components/viewers/geojson-view/geojson-view.class.js.map +1 -1
- package/dist/components/viewers/geojson-view/geojson-view.js +7 -0
- package/dist/components/viewers/geojson-view/geojson-view.js.map +1 -1
- package/dist/components/viewers/highlight-layer/highlight-layer-timing.d.ts +2 -0
- package/dist/components/viewers/highlight-layer/highlight-layer-timing.d.ts.map +1 -0
- package/dist/components/viewers/highlight-layer/highlight-layer-timing.js +31 -0
- package/dist/components/viewers/highlight-layer/highlight-layer-timing.js.map +1 -0
- package/dist/components/viewers/highlight-layer/highlight-layer.class.d.ts +28 -5
- package/dist/components/viewers/highlight-layer/highlight-layer.class.d.ts.map +1 -1
- package/dist/components/viewers/highlight-layer/highlight-layer.class.js +206 -62
- package/dist/components/viewers/highlight-layer/highlight-layer.class.js.map +1 -1
- package/dist/components/viewers/highlight-layer/highlight-layer.styles.d.ts.map +1 -1
- package/dist/components/viewers/highlight-layer/highlight-layer.styles.js +84 -21
- package/dist/components/viewers/highlight-layer/highlight-layer.styles.js.map +1 -1
- package/dist/components/viewers/html-viewer/html-viewer.class.d.ts +2 -0
- package/dist/components/viewers/html-viewer/html-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/html-viewer/html-viewer.class.js +23 -3
- package/dist/components/viewers/html-viewer/html-viewer.class.js.map +1 -1
- package/dist/components/viewers/include/include.class.d.ts +2 -0
- package/dist/components/viewers/include/include.class.d.ts.map +1 -1
- package/dist/components/viewers/include/include.class.js +19 -1
- package/dist/components/viewers/include/include.class.js.map +1 -1
- package/dist/components/viewers/notebook-viewer/dompurify-loader.js.map +1 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts +15 -13
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +255 -41
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js.map +1 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.styles.d.ts.map +1 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.styles.js +17 -0
- package/dist/components/viewers/notebook-viewer/notebook-viewer.styles.js.map +1 -1
- package/dist/components/viewers/page-rail/page-rail.class.d.ts +8 -3
- package/dist/components/viewers/page-rail/page-rail.class.d.ts.map +1 -1
- package/dist/components/viewers/page-rail/page-rail.class.js +96 -26
- package/dist/components/viewers/page-rail/page-rail.class.js.map +1 -1
- package/dist/components/viewers/page-rail/page-rail.d.ts +3 -0
- package/dist/components/viewers/page-rail/page-rail.d.ts.map +1 -1
- package/dist/components/viewers/page-rail/page-rail.js +3 -0
- package/dist/components/viewers/page-rail/page-rail.js.map +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +3 -3
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +198 -46
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js.map +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.d.ts +3 -0
- package/dist/components/viewers/pdf-viewer/pdf-viewer.d.ts.map +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.js +3 -0
- package/dist/components/viewers/pdf-viewer/pdf-viewer.js.map +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.styles.d.ts.map +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.styles.js +11 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.styles.js.map +1 -1
- package/dist/components/viewers/pptx-viewer/pptx-loader.d.ts.map +1 -1
- package/dist/components/viewers/pptx-viewer/pptx-loader.js +13 -1
- package/dist/components/viewers/pptx-viewer/pptx-loader.js.map +1 -1
- package/dist/components/viewers/pptx-viewer/pptx-viewer.class.d.ts +0 -1
- package/dist/components/viewers/pptx-viewer/pptx-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js +14 -7
- package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js.map +1 -1
- package/dist/components/viewers/pptx-viewer/pptx-viewer.d.ts +1 -0
- package/dist/components/viewers/pptx-viewer/pptx-viewer.d.ts.map +1 -1
- package/dist/components/viewers/pptx-viewer/pptx-viewer.js +1 -0
- package/dist/components/viewers/pptx-viewer/pptx-viewer.js.map +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +12 -7
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +144 -44
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js.map +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.d.ts +2 -0
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.d.ts.map +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.js +2 -0
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.js.map +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.styles.d.ts.map +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.styles.js +7 -11
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.styles.js.map +1 -1
- package/dist/components/viewers/spreadsheet-viewer/xlsx-resource-guard.d.ts +17 -0
- package/dist/components/viewers/spreadsheet-viewer/xlsx-resource-guard.d.ts.map +1 -0
- package/dist/components/viewers/spreadsheet-viewer/xlsx-resource-guard.js +26 -0
- package/dist/components/viewers/spreadsheet-viewer/xlsx-resource-guard.js.map +1 -0
- package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts +14 -1
- package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/svg-viewer/svg-viewer.class.js +101 -34
- package/dist/components/viewers/svg-viewer/svg-viewer.class.js.map +1 -1
- package/dist/components/viewers/svg-viewer/svg-viewer.d.ts +1 -0
- package/dist/components/viewers/svg-viewer/svg-viewer.d.ts.map +1 -1
- package/dist/components/viewers/svg-viewer/svg-viewer.js +1 -0
- package/dist/components/viewers/svg-viewer/svg-viewer.js.map +1 -1
- package/dist/components/viewers/svg-viewer/svg-viewer.styles.d.ts.map +1 -1
- package/dist/components/viewers/svg-viewer/svg-viewer.styles.js +66 -6
- package/dist/components/viewers/svg-viewer/svg-viewer.styles.js.map +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts +4 -0
- package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.class.js +0 -0
- package/dist/components/viewers/xml-viewer/xml-viewer.class.js.map +1 -1
- package/dist/internal/anchor-target.d.ts.map +1 -1
- package/dist/internal/anchor-target.js +7 -3
- package/dist/internal/anchor-target.js.map +1 -1
- package/dist/internal/anchored-popover-controller.d.ts +10 -0
- package/dist/internal/anchored-popover-controller.d.ts.map +1 -0
- package/dist/internal/anchored-popover-controller.js +17 -0
- package/dist/internal/anchored-popover-controller.js.map +1 -0
- package/dist/internal/aria-controls.d.ts +21 -0
- package/dist/internal/aria-controls.d.ts.map +1 -0
- package/dist/internal/aria-controls.js +57 -0
- package/dist/internal/aria-controls.js.map +1 -0
- package/dist/internal/catalog-picker.d.ts +12 -0
- package/dist/internal/catalog-picker.d.ts.map +1 -0
- package/dist/internal/catalog-picker.js +17 -0
- package/dist/internal/catalog-picker.js.map +1 -0
- package/dist/internal/converters.d.ts +22 -0
- package/dist/internal/converters.d.ts.map +1 -0
- package/dist/internal/converters.js +38 -0
- package/dist/internal/converters.js.map +1 -0
- package/dist/internal/delimited-data.d.ts +17 -0
- package/dist/internal/delimited-data.d.ts.map +1 -0
- package/dist/internal/delimited-data.js +24 -0
- package/dist/internal/delimited-data.js.map +1 -0
- package/dist/internal/intl-cache.d.ts +8 -2
- package/dist/internal/intl-cache.d.ts.map +1 -1
- package/dist/internal/intl-cache.js +0 -0
- package/dist/internal/intl-cache.js.map +1 -1
- package/dist/internal/latest-task.d.ts +11 -0
- package/dist/internal/latest-task.d.ts.map +1 -0
- package/dist/internal/latest-task.js +17 -0
- package/dist/internal/latest-task.js.map +1 -0
- package/dist/internal/localization.d.ts +8 -1
- package/dist/internal/localization.d.ts.map +1 -1
- package/dist/internal/localization.js +141 -2
- package/dist/internal/localization.js.map +1 -1
- package/dist/internal/lyra-element.d.ts +9 -0
- package/dist/internal/lyra-element.d.ts.map +1 -1
- package/dist/internal/lyra-element.js +41 -0
- package/dist/internal/lyra-element.js.map +1 -1
- package/dist/internal/observer-wrapper.styles.d.ts +3 -0
- package/dist/internal/observer-wrapper.styles.d.ts.map +1 -0
- package/dist/internal/observer-wrapper.styles.js +9 -0
- package/dist/internal/observer-wrapper.styles.js.map +1 -0
- package/dist/internal/overlay-manager.d.ts +2 -0
- package/dist/internal/overlay-manager.d.ts.map +1 -1
- package/dist/internal/overlay-manager.js +4 -0
- package/dist/internal/overlay-manager.js.map +1 -1
- package/dist/internal/root-registration-allowlist.d.ts +1 -1
- package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
- package/dist/internal/root-registration-allowlist.js +12 -0
- package/dist/internal/root-registration-allowlist.js.map +1 -1
- package/dist/internal/slotted-observer.d.ts +8 -0
- package/dist/internal/slotted-observer.d.ts.map +1 -0
- package/dist/internal/slotted-observer.js +11 -0
- package/dist/internal/slotted-observer.js.map +1 -0
- package/dist/internal/text-quote.d.ts +2 -2
- package/dist/internal/text-quote.d.ts.map +1 -1
- package/dist/internal/text-quote.js +175 -27
- package/dist/internal/text-quote.js.map +1 -1
- package/dist/internal/text-viewer-target.d.ts.map +1 -1
- package/dist/internal/text-viewer-target.js +95 -8
- package/dist/internal/text-viewer-target.js.map +1 -1
- package/dist/localization.d.ts +9 -0
- package/dist/localization.d.ts.map +1 -0
- package/dist/localization.js +8 -0
- package/dist/localization.js.map +1 -0
- package/dist/lyra.d.ts +45 -5
- package/dist/lyra.d.ts.map +1 -1
- package/dist/lyra.js +41 -1
- package/dist/lyra.js.map +1 -1
- package/dist/theme/gemstones-data.d.ts +16 -0
- package/dist/theme/gemstones-data.d.ts.map +1 -0
- package/dist/theme/gemstones-data.js +28 -0
- package/dist/theme/gemstones-data.js.map +1 -0
- package/dist/theme/gemstones.d.ts +2 -15
- package/dist/theme/gemstones.d.ts.map +1 -1
- package/dist/theme/gemstones.js +1 -27
- package/dist/theme/gemstones.js.map +1 -1
- package/dist/theme/theme.d.ts +16 -4
- package/dist/theme/theme.d.ts.map +1 -1
- package/dist/theme/theme.js +16 -5
- package/dist/theme/theme.js.map +1 -1
- package/llms/components/lr-agent-eval-dashboard.md +10 -3
- package/llms/components/lr-agent-run.md +7 -1
- package/llms/components/lr-animated-image.md +4 -0
- package/llms/components/lr-app-rail-item.md +15 -7
- package/llms/components/lr-app-rail.md +15 -7
- package/llms/components/lr-approval-queue.md +5 -1
- package/llms/components/lr-attachment-trigger.md +4 -0
- package/llms/components/lr-av-player.md +2 -2
- package/llms/components/lr-box-plot.md +2 -2
- package/llms/components/lr-branch-picker.md +4 -0
- package/llms/components/lr-breadcrumb-item.md +5 -1
- package/llms/components/lr-breadcrumb.md +4 -0
- package/llms/components/lr-browser-frame.md +10 -1
- package/llms/components/lr-button.md +14 -3
- package/llms/components/lr-card.md +6 -1
- package/llms/components/lr-chart.md +27 -13
- package/llms/components/lr-chat-message.md +17 -2
- package/llms/components/lr-checkbox-group.md +11 -6
- package/llms/components/lr-checkbox.md +7 -4
- package/llms/components/lr-chip-group.md +19 -17
- package/llms/components/lr-chip.md +20 -18
- package/llms/components/lr-claim-evidence.md +37 -0
- package/llms/components/lr-code-block-core.md +1 -3
- package/llms/components/lr-code-block.md +6 -6
- package/llms/components/lr-code-editor.md +6 -1
- package/llms/components/lr-color-picker.md +8 -1
- package/llms/components/lr-combobox.md +9 -3
- package/llms/components/lr-command-palette.md +8 -1
- package/llms/components/lr-compare-panel.md +2 -1
- package/llms/components/lr-context-meter.md +15 -7
- package/llms/components/lr-copy-button.md +4 -0
- package/llms/components/lr-csv-viewer.md +6 -4
- package/llms/components/lr-dashboard-grid.md +5 -1
- package/llms/components/lr-date-input.md +16 -4
- package/llms/components/lr-date-picker.md +16 -4
- package/llms/components/lr-diff-view.md +22 -9
- package/llms/components/lr-dock-panel.md +4 -2
- package/llms/components/lr-document-compare.md +35 -4
- package/llms/components/lr-document-preview.md +12 -4
- package/llms/components/lr-document-viewer.md +5 -4
- package/llms/components/lr-docx-viewer.md +12 -1
- package/llms/components/lr-dropdown-item.md +15 -2
- package/llms/components/lr-dropdown.md +2 -0
- package/llms/components/lr-ebook-viewer.md +4 -0
- package/llms/components/lr-email-viewer.md +2 -2
- package/llms/components/lr-embedding-explorer.md +4 -1
- package/llms/components/lr-emoji-picker.md +12 -3
- package/llms/components/lr-export-button.md +4 -2
- package/llms/components/lr-file-input.md +6 -6
- package/llms/components/lr-filter-bar.md +19 -4
- package/llms/components/lr-flag.md +5 -1
- package/llms/components/lr-flow-canvas.md +15 -6
- package/llms/components/lr-flow-minimap.md +8 -3
- package/llms/components/lr-geojson-view.md +4 -1
- package/llms/components/lr-graph-query-builder.md +10 -1
- package/llms/components/lr-graph.md +3 -3
- package/llms/components/lr-grounding-summary.md +10 -6
- package/llms/components/lr-highlight-layer.md +17 -3
- package/llms/components/lr-icon-button.md +19 -6
- package/llms/components/lr-image-comparer.md +2 -0
- package/llms/components/lr-image-viewer.md +13 -7
- package/llms/components/lr-include.md +5 -4
- package/llms/components/lr-ingestion-queue.md +5 -3
- package/llms/components/lr-input.md +7 -2
- package/llms/components/lr-json-viewer.md +17 -7
- package/llms/components/lr-kbd.md +7 -5
- package/llms/components/lr-known-date.md +4 -0
- package/llms/components/lr-locale-picker.md +10 -1
- package/llms/components/lr-map.md +14 -3
- package/llms/components/lr-markdown-core.md +11 -1
- package/llms/components/lr-markdown.md +11 -1
- package/llms/components/lr-mcp-app.md +51 -0
- package/llms/components/lr-media-card.md +3 -0
- package/llms/components/lr-mention-popover.md +41 -22
- package/llms/components/lr-menu-item.md +15 -2
- package/llms/components/lr-menu.md +15 -2
- package/llms/components/lr-message-parts.md +59 -0
- package/llms/components/lr-notebook-viewer.md +16 -11
- package/llms/components/lr-option.md +8 -2
- package/llms/components/lr-pagination.md +6 -1
- package/llms/components/lr-pdf-viewer.md +1 -1
- package/llms/components/lr-phone-input.md +15 -4
- package/llms/components/lr-playback.md +2 -2
- package/llms/components/lr-popover.md +11 -2
- package/llms/components/lr-progress-bar.md +7 -1
- package/llms/components/lr-progress-ring.md +1 -1
- package/llms/components/lr-prompt-input.md +56 -0
- package/llms/components/lr-prompt-queue.md +35 -0
- package/llms/components/lr-prompt-studio.md +53 -0
- package/llms/components/lr-push-to-talk.md +5 -0
- package/llms/components/lr-query-builder.md +8 -2
- package/llms/components/lr-rag-answer.md +3 -2
- package/llms/components/lr-rag-eval-dashboard.md +46 -0
- package/llms/components/lr-random-content.md +7 -4
- package/llms/components/lr-rating.md +6 -0
- package/llms/components/lr-realtime-session.md +41 -0
- package/llms/components/lr-retrieval-compare.md +37 -0
- package/llms/components/lr-retrieval-trace.md +3 -2
- package/llms/components/lr-rubric-form.md +4 -1
- package/llms/components/lr-schema-viewer.md +48 -0
- package/llms/components/lr-segmented.md +7 -1
- package/llms/components/lr-select.md +12 -14
- package/llms/components/lr-selection-toolbar.md +44 -0
- package/llms/components/lr-slider.md +9 -2
- package/llms/components/lr-source-card.md +4 -5
- package/llms/components/lr-source-list.md +4 -5
- package/llms/components/lr-source-picker.md +4 -4
- package/llms/components/lr-split.md +4 -2
- package/llms/components/lr-spreadsheet-viewer.md +6 -4
- package/llms/components/lr-stat.md +2 -1
- package/llms/components/lr-stepper.md +13 -13
- package/llms/components/lr-stream-status.md +4 -4
- package/llms/components/lr-streaming-text.md +1 -1
- package/llms/components/lr-subagent-panel.md +43 -0
- package/llms/components/lr-svg-viewer.md +9 -2
- package/llms/components/lr-swatch-picker.md +12 -5
- package/llms/components/lr-switch.md +1 -1
- package/llms/components/lr-table.md +61 -9
- package/llms/components/lr-terminal.md +6 -1
- package/llms/components/lr-textarea.md +8 -2
- package/llms/components/lr-time-range.md +30 -10
- package/llms/components/lr-toast-item.md +4 -6
- package/llms/components/lr-toast.md +4 -6
- package/llms/components/lr-token-input.md +17 -3
- package/llms/components/lr-tool-result-dialog.md +12 -1
- package/llms/components/lr-tool-timeline.md +12 -1
- package/llms/components/lr-tooltip.md +8 -0
- package/llms/components/lr-trace-tree.md +12 -1
- package/llms/components/lr-tree-node.md +18 -6
- package/llms/components/lr-tree.md +18 -6
- package/llms/components/lr-virtual-list.md +1 -1
- package/llms/components/lr-voice-picker.md +13 -1
- package/llms/components/lr-widget-renderer.md +2 -1
- package/llms/components/lr-widget.md +13 -7
- package/llms/components/lr-xml-viewer.md +6 -4
- package/llms/index.md +17 -5
- package/llms/peers.md +15 -8
- package/llms/shared.md +87 -26
- package/llms-full.txt +1502 -348
- package/llms.txt +6 -5
- package/package.json +49 -14
- package/vscode-css-data.json +1448 -97
- package/vscode-html-data.json +890 -193
- package/web-types.json +1727 -221
package/vscode-html-data.json
CHANGED
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
"name": "lr-agent-eval-dashboard",
|
|
124
124
|
"description": {
|
|
125
125
|
"kind": "markdown",
|
|
126
|
-
"value": "`<lr-agent-eval-dashboard>` — a controlled evaluation overview with metric cards, a trend chart,\nand run-status history. It never launches or scores evaluations.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root dashboard wrapper. |\n| `chart` | The trend chart. |\n| `empty` | The empty history message. |\n| `heading` | The visible heading. |\n| `metric` | One metric card. |\n| `metrics` | The metric-card grid. |\n| `run` | One run row. |\n| `run-label` | A run label. |\n| `run-meta` | Status and metric value. |\n| `run-status` | A run status badge. |\n| `runs` | The run history. |\n| `runs-heading` | The run history heading.
|
|
126
|
+
"value": "`<lr-agent-eval-dashboard>` — a controlled evaluation overview with metric cards, a trend chart,\nand run-status history. It never launches or scores evaluations.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root dashboard wrapper. |\n| `chart` | The trend chart. |\n| `empty` | The empty history message. |\n| `heading` | The visible heading. |\n| `metric` | One metric card. |\n| `metrics` | The metric-card grid. |\n| `run` | One run row. |\n| `run-label` | A run label. |\n| `run-meta` | Status and metric value. |\n| `run-status` | A run status badge. |\n| `runs` | The run history. |\n| `runs-heading` | The run history heading. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-agent-eval-dashboard-active-border` (default: `var(--lr-color-brand)`) — Active metric border.\n- `--lr-agent-eval-dashboard-active-background` (default: `var(--lr-color-brand-quiet)`) — Active metric background."
|
|
127
127
|
},
|
|
128
128
|
"attributes": [
|
|
129
129
|
{
|
|
@@ -133,6 +133,13 @@
|
|
|
133
133
|
"value": "Type: `string` \nDefault: `'220px'`"
|
|
134
134
|
}
|
|
135
135
|
},
|
|
136
|
+
{
|
|
137
|
+
"name": "currency",
|
|
138
|
+
"description": {
|
|
139
|
+
"kind": "markdown",
|
|
140
|
+
"value": "ISO 4217 currency code used by metrics whose format is `currency`. Invalid codes use USD.\n\nType: `string` \nDefault: `'USD'`"
|
|
141
|
+
}
|
|
142
|
+
},
|
|
136
143
|
{
|
|
137
144
|
"name": "label",
|
|
138
145
|
"description": {
|
|
@@ -167,7 +174,7 @@
|
|
|
167
174
|
"name": "lr-agent-run",
|
|
168
175
|
"description": {
|
|
169
176
|
"kind": "markdown",
|
|
170
|
-
"value": "`<lr-agent-run>` — the top-level shell for one `AgentRun`: lifecycle-status badge, elapsed\ntime, current step, model/cost summary, and built-in Cancel/Retry controls in a header, plus\nfour named composition slots (`tasks`/`tools`/`reasoning`/`output`) for the run's actual\ncontent. This is deliberately a SHELL, not a new step-rendering surface — every piece of\nper-step or per-invocation rendering routes through an existing primitive:\n\n- **Elapsed time**: composes `<lr-generation-status>` (`active`/`started-at`, its own built-in\n Stop button hidden via `show-stop=\"false\"` since this component renders its own Cancel/Retry\n pair instead) for the *live, ticking* readout while the run is genuinely in progress\n (`running`/`collecting`/`waiting-input`/`waiting-approval`). `<lr-stream-status>` doesn't fit:\n its `phase` vocabulary\n (`idle`/`connecting`/`streaming`/`stalled`) models transport/connection health, not an agent\n run's nine built-in lifecycle statuses (plus application-defined extensions), and it exposes no elapsed-time readout at all — exactly the\n distinction `<lr-generation-status>`'s own class doc already draws between the two. Once the\n run reaches a terminal state (`done`/`error`/`cancelled`) with both a `startedAt` and an\n `endedAt`, this component instead renders a small locally-formatted static duration\n (`endedAt - startedAt`): `<lr-generation-status>`'s freeze-on-`active=false` semantics only\n ever freeze at whatever it last computed *live*, so mounting it directly against a completed\n run loaded from history (e.g. `startedAt` yesterday, `endedAt` five minutes later, loaded\n today) would either show a stale zero or the wrong multi-hour span — it has no way to render a\n fixed historical span on demand. That static fallback reuses the same small `formatDuration()`\n algorithm `<lr-usage-badge>` and `<lr-tool-call-chip>` already duplicate locally for the same\n reason (see this file's own copy).\n- **Model + cost summary**: composes `<lr-usage-badge>`, fed `run.costEstimate` (formatted via\n `formatCost`, or a plain `Intl.NumberFormat` by default — this library never assumes a\n currency, see `<lr-format-number>`'s own explicit `currency` prop) as its `cost-text`.\n `run.model` (a plain string with no analogous `<lr-usage-badge>` property) renders alongside\n as plain text.\n- **Current step**: a single-line summary of whichever `run.steps` entry currently has\n `status.kind === 'running'` (the last such entry, if more than one) — a plain text line, not a\n list, so it doesn't duplicate `<lr-task-list>`'s own per-item rendering.\n- **Tasks slot default content**: when the host doesn't slot anything into `tasks` and\n `run.steps` is non-empty, this component's own `<slot>` fallback renders a `<lr-task-list>`\n populated by mapping every `AgentStep` to a `TaskItem` (see `toTaskItem()`) — a plain data\n adapter between the two existing shapes, not new rendering.\n- **Status badge**: composes `<lr-badge>`. **Empty state**: composes `<lr-empty>` when `run` is\n `null`.\n\n`tools`/`reasoning`/`output` are plain named slots with no default content — entirely the\nhost's own composition (typically `<lr-tool-call-chip>`/`<lr-tool-result-view>` rows,\nreasoning/streaming text, and final output respectively). An `actions` slot adds extra header\ncontrols alongside the built-in Cancel/Retry pair. The `header` and `summary` slots replace the\nbuilt-in lifecycle header and model/usage/metrics summary respectively. `statusLabels` and\n`statusVariants` make application-defined lifecycle kinds first-class, while `metrics` renders\narbitrary labeled values such as prompt and completion token counts.\n\nThe built-in Cancel button renders while `showCancel` is true and the run's status is one of\n`TICKING_KINDS` (still genuinely in progress); Retry renders while `showRetry` is true and the\nstatus is `error` or `cancelled`. Clicking either fires `lr-cancel`/`lr-retry` with\n`CancelEventDetail`/`RetryEventDetail` from `src/ai/types.ts` — this component never cancels or\nretries anything itself, it only requests. `RetryEventDetail.attempt` is a 1-based counter\nlocal to this component, incremented on every `lr-retry` click and reset to `0` whenever\n`run.id` changes (a genuinely new run replacing the old one, as opposed to the same run's status\nmerely updating in place).\n\nLifecycle transitions into an attention-needing or terminal state (`waiting-input`,\n`waiting-approval`, `done`, `error`, `cancelled`) are announced through an internal\n`<lr-live-region>`, mirroring `<lr-stream-status>`'s own stall/recover announcements —\n`running`/`idle` transitions are frequent and not independently actionable, so they stay\nsilent, and whatever status a freshly-assigned `run` (a new `run.id`) happens to already carry\nis never itself treated as an eventful transition, only a later in-place change is.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `actions` | Extra header actions alongside the built-in Cancel/Retry buttons. |\n| `header` | Replaces the built-in lifecycle header and its built-in actions. |\n| `output` | The run's final output content. No default content. |\n| `reasoning` | Reasoning/thinking content. No default content. |\n| `summary` | Replaces the built-in model, usage, and metrics summary. |\n| `tasks` | Task/plan content. Falls back to a `<lr-task-list>` built from `run.steps` when nothing is slotted and `run.steps` is non-empty. |\n| `tools` | Tool-call content (e.g. `<lr-tool-call-chip>`/`<lr-tool-result-view>` rows). No default content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `actions` | Wrapper around the `actions` slot and the built-in Cancel/Retry buttons. |\n| `base` | The root container. |\n| `body` | Wrapper around the four composition slots. |\n| `cancel-button` | The built-in Cancel button. Only rendered while cancelable (see the class doc). |\n| `current-step` | Wrapper around the current-step icon and label. Only rendered while a step has `status.kind === 'running'`. |\n| `current-step-icon` | The spinning current-step icon. |\n| `current-step-label` | The current step's `label` text. |\n| `elapsed` | The composed `<lr-generation-status>`, only rendered while the run is actively ticking (see the class doc). |\n| `elapsed-static` | The static formatted duration for a terminal run with both `startedAt` and `endedAt`. |\n| `empty` | The `<lr-empty>` shown when `run` is `null`. |\n| `header` | The header row wrapping status, elapsed time, current step, summary, and actions. |\n| `metric` | One arbitrary metric in the built-in summary. |\n| `metric-label` | The metric's label. |\n| `metric-value` | The metric's value. |\n| `model` | `run.model`, when set. |\n| `output` | The `output` slot. |\n| `reasoning` | The `reasoning` slot. |\n| `retry-button` | The built-in Retry button. Only rendered while retryable. |\n| `status` | Wrapper around the status badge and optional status message. |\n| `status-badge` | The resolved `<lr-badge>` lifecycle-status pill. |\n| `status-message` | `run.status.message`, when set. |\n| `summary` | Wrapper around the model text and the composed `<lr-usage-badge>`. Only rendered while `run.model` or a valid `run.costEstimate` is present. |\n| `tasks` | The `tasks` slot. |\n| `tools` | The `tools` slot. |\n| `usage` | The composed `<lr-usage-badge>`. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-agent-run-spin` (default: `
|
|
177
|
+
"value": "`<lr-agent-run>` — the top-level shell for one `AgentRun`: lifecycle-status badge, elapsed\ntime, current step, model/cost summary, and built-in Cancel/Retry controls in a header, plus\nfour named composition slots (`tasks`/`tools`/`reasoning`/`output`) for the run's actual\ncontent. This is deliberately a SHELL, not a new step-rendering surface — every piece of\nper-step or per-invocation rendering routes through an existing primitive:\n\n- **Elapsed time**: composes `<lr-generation-status>` (`active`/`started-at`, its own built-in\n Stop button hidden via `show-stop=\"false\"` since this component renders its own Cancel/Retry\n pair instead) for the *live, ticking* readout while the run is genuinely in progress\n (`running`/`collecting`/`waiting-input`/`waiting-approval`). `<lr-stream-status>` doesn't fit:\n its `phase` vocabulary\n (`idle`/`connecting`/`streaming`/`stalled`) models transport/connection health, not an agent\n run's nine built-in lifecycle statuses (plus application-defined extensions), and it exposes no elapsed-time readout at all — exactly the\n distinction `<lr-generation-status>`'s own class doc already draws between the two. Once the\n run reaches a terminal state (`done`/`error`/`cancelled`) with both a `startedAt` and an\n `endedAt`, this component instead renders a small locally-formatted static duration\n (`endedAt - startedAt`): `<lr-generation-status>`'s freeze-on-`active=false` semantics only\n ever freeze at whatever it last computed *live*, so mounting it directly against a completed\n run loaded from history (e.g. `startedAt` yesterday, `endedAt` five minutes later, loaded\n today) would either show a stale zero or the wrong multi-hour span — it has no way to render a\n fixed historical span on demand. That static fallback reuses the same small `formatDuration()`\n algorithm `<lr-usage-badge>` and `<lr-tool-call-chip>` already duplicate locally for the same\n reason (see this file's own copy).\n- **Model + cost summary**: composes `<lr-usage-badge>`, fed `run.costEstimate` (formatted via\n `formatCost`, or a plain `Intl.NumberFormat` by default — this library never assumes a\n currency, see `<lr-format-number>`'s own explicit `currency` prop) as its `cost-text`.\n `run.model` (a plain string with no analogous `<lr-usage-badge>` property) renders alongside\n as plain text.\n- **Current step**: a single-line summary of whichever `run.steps` entry currently has\n `status.kind === 'running'` (the last such entry, if more than one) — a plain text line, not a\n list, so it doesn't duplicate `<lr-task-list>`'s own per-item rendering.\n- **Tasks slot default content**: when the host doesn't slot anything into `tasks` and\n `run.steps` is non-empty, this component's own `<slot>` fallback renders a `<lr-task-list>`\n populated by mapping every `AgentStep` to a `TaskItem` (see `toTaskItem()`) — a plain data\n adapter between the two existing shapes, not new rendering.\n- **Status badge**: composes `<lr-badge>`. **Empty state**: composes `<lr-empty>` when `run` is\n `null`.\n\n`tools`/`reasoning`/`output` are plain named slots with no default content — entirely the\nhost's own composition (typically `<lr-tool-call-chip>`/`<lr-tool-result-view>` rows,\nreasoning/streaming text, and final output respectively). An `actions` slot adds extra header\ncontrols alongside the built-in Cancel/Retry pair. The `header` and `summary` slots replace the\nbuilt-in lifecycle header and model/usage/metrics summary respectively. `statusLabels` and\n`statusVariants` make application-defined lifecycle kinds first-class, while `metrics` renders\narbitrary labeled values such as prompt and completion token counts.\n\nThe built-in Cancel button renders while `showCancel` is true and the run's status is one of\n`TICKING_KINDS` (still genuinely in progress); Retry renders while `showRetry` is true and the\nstatus is `error` or `cancelled`. Clicking either fires `lr-cancel`/`lr-retry` with\n`CancelEventDetail`/`RetryEventDetail` from `src/ai/types.ts` — this component never cancels or\nretries anything itself, it only requests. `RetryEventDetail.attempt` is a 1-based counter\nlocal to this component, incremented on every `lr-retry` click and reset to `0` whenever\n`run.id` changes (a genuinely new run replacing the old one, as opposed to the same run's status\nmerely updating in place).\n\nLifecycle transitions into an attention-needing or terminal state (`waiting-input`,\n`waiting-approval`, `done`, `error`, `cancelled`) are announced through an internal\n`<lr-live-region>`, mirroring `<lr-stream-status>`'s own stall/recover announcements —\n`running`/`idle` transitions are frequent and not independently actionable, so they stay\nsilent, and whatever status a freshly-assigned `run` (a new `run.id`) happens to already carry\nis never itself treated as an eventful transition, only a later in-place change is.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `actions` | Extra header actions alongside the built-in Cancel/Retry buttons. |\n| `header` | Replaces the built-in lifecycle header and its built-in actions. |\n| `output` | The run's final output content. No default content. |\n| `reasoning` | Reasoning/thinking content. No default content. |\n| `summary` | Replaces the built-in model, usage, and metrics summary. |\n| `tasks` | Task/plan content. Falls back to a `<lr-task-list>` built from `run.steps` when nothing is slotted and `run.steps` is non-empty. |\n| `tools` | Tool-call content (e.g. `<lr-tool-call-chip>`/`<lr-tool-result-view>` rows). No default content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `actions` | Wrapper around the `actions` slot and the built-in Cancel/Retry buttons. |\n| `base` | The root container. |\n| `body` | Wrapper around the four composition slots. |\n| `cancel-button` | The built-in Cancel button. Only rendered while cancelable (see the class doc). |\n| `current-step` | Wrapper around the current-step icon and label. Only rendered while a step has `status.kind === 'running'`. |\n| `current-step-icon` | The spinning current-step icon. |\n| `current-step-label` | The current step's `label` text. |\n| `elapsed` | The composed `<lr-generation-status>`, only rendered while the run is actively ticking (see the class doc). |\n| `elapsed-static` | The static formatted duration for a terminal run with both `startedAt` and `endedAt`. |\n| `empty` | The `<lr-empty>` shown when `run` is `null`. |\n| `header` | The header row wrapping status, elapsed time, current step, summary, and actions. |\n| `metric` | One arbitrary metric in the built-in summary. |\n| `metric-label` | The metric's label. |\n| `metric-value` | The metric's value. |\n| `model` | `run.model`, when set. |\n| `output` | The `output` slot. |\n| `reasoning` | The `reasoning` slot. |\n| `retry-button` | The built-in Retry button. Only rendered while retryable. |\n| `status` | Wrapper around the status badge and optional status message. |\n| `status-badge` | The resolved `<lr-badge>` lifecycle-status pill. |\n| `status-message` | `run.status.message`, when set. |\n| `summary` | Wrapper around the model text and the composed `<lr-usage-badge>`. Only rendered while `run.model` or a valid `run.costEstimate` is present. |\n| `tasks` | The `tasks` slot. |\n| `tools` | The `tools` slot. |\n| `usage` | The composed `<lr-usage-badge>`. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-agent-run-spin` (default: `var(--lr-transition-ambient)`) — Current-step icon spin animation.\n- `--lr-agent-run-metric-danger-color` (default: `var(--lr-color-danger)`) — Danger metric value.\n- `--lr-agent-run-metric-success-color` (default: `var(--lr-color-success)`) — Success metric value.\n- `--lr-agent-run-metric-warning-color` (default: `var(--lr-color-warning)`) — Warning metric value.\n- `--lr-agent-run-compact-padding` (default: `var(--lr-space-s)`) — `[part=\"base\"]` padding while `compact`.\n- `--lr-agent-run-compact-gap` (default: `var(--lr-space-s)`) — Gap between `[part=\"base\"]`'s header and body while `compact`."
|
|
171
178
|
},
|
|
172
179
|
"attributes": [
|
|
173
180
|
{
|
|
@@ -262,7 +269,7 @@
|
|
|
262
269
|
"name": "lr-agent-workspace",
|
|
263
270
|
"description": {
|
|
264
271
|
"kind": "markdown",
|
|
265
|
-
"value": "`<lr-agent-workspace>` — a responsive, controlled shell for an AI conversation and its\nsupporting agent state. It renders the transcript and composer in the main pane, and composes\nexisting run, tool, retrieval, grounding, and context primitives in an optional details pane.\n\nThe component performs no network requests, model calls, retrieval, or persistence. Assign new\ndata to the public properties as the host application receives updates. The `messages` fallback\nrenders sanitized
|
|
272
|
+
"value": "`<lr-agent-workspace>` — a responsive, controlled shell for an AI conversation and its\nsupporting agent state. It renders the transcript and composer in the main pane, and composes\nexisting run, tool, retrieval, grounding, and context primitives in an optional details pane.\n\nThe component performs no network requests, model calls, retrieval, or persistence. Assign new\ndata to the public properties as the host application receives updates. The `messages` fallback\nrenders ordered `message.parts` through `<lr-message-parts>` when supplied, otherwise sanitized\nMarkdown from the legacy `message.text`; applications can replace the entire region with the\n`messages` slot. The `details` slot similarly replaces the built-in details pane while keeping\nthe responsive shell. To keep the data-driven fallback bounded, at most the latest 500 messages\nare materialized; applications needing a larger retained transcript can supply a virtualized\n`messages` slot.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `composer` | Replaces the built-in `<lr-chat-composer>`. |\n| `details` | Replaces the built-in run/tool/retrieval/grounding/context details pane. |\n| `header-actions` | Header actions such as model selection, settings, or export controls. |\n| `messages` | Replaces the data-driven transcript message list. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root workspace wrapper. |\n| `body` | The main conversation/details layout. |\n| `composer` | The composer region. |\n| `composer-input` | The built-in `<lr-chat-composer>`. |\n| `conversation` | The main transcript pane. |\n| `details` | The responsive details pane. |\n| `details-content` | The built-in details content wrapper. |\n| `header` | The workspace heading and header-actions slot. |\n| `header-actions` | The header-actions slot wrapper. |\n| `heading` | The visible workspace heading. |\n| `messages` | The transcript message wrapper. |\n| `messages-empty` | The empty transcript state. |\n| `section` | A built-in run, tools, retrieval, grounding, or context section. |\n| `section-heading` | A built-in details section heading. |\n| `viewport` | The composed `<lr-chat-viewport>`. |"
|
|
266
273
|
},
|
|
267
274
|
"attributes": [
|
|
268
275
|
{
|
|
@@ -642,6 +649,13 @@
|
|
|
642
649
|
"value": "Whether the mobile floating overlay is shown. Only meaningful while\n`mode` is `'mobile'` — the value is preserved (not reset) while another\nmode is active, but no overlay chrome renders until `mode` is\n`'mobile'` again. Set this directly, or use the built-in toggle button\n— there is no separate `show()`/`hide()` pair.\n\nType: `boolean` \nDefault: `false`"
|
|
643
650
|
}
|
|
644
651
|
},
|
|
652
|
+
{
|
|
653
|
+
"name": "persist",
|
|
654
|
+
"description": {
|
|
655
|
+
"kind": "markdown",
|
|
656
|
+
"value": "Whitespace-separated persistence allowlist. `open width` is the backward-compatible default;\nuse `width preferred-mode` to retain layout preference without restoring the transient mobile\noverlay. Valid tokens are `open`, `width`, and `preferred-mode`.\n\nType: `string` \nDefault: `'open width'`"
|
|
657
|
+
}
|
|
658
|
+
},
|
|
645
659
|
{
|
|
646
660
|
"name": "preferred-mode",
|
|
647
661
|
"description": {
|
|
@@ -660,14 +674,14 @@
|
|
|
660
674
|
"name": "resizable",
|
|
661
675
|
"description": {
|
|
662
676
|
"kind": "markdown",
|
|
663
|
-
"value": "Opts a continuously draggable width in for the `'full'` state — exposes a `[part=\"resizer\"]`\nhandle (pointer-drag and `ArrowLeft`/`ArrowRight` keyboard stepping, RTL-aware) clamped to\n`[minRailWidthPx, maxRailWidthPx]`. Set `storageKey` to persist the
|
|
677
|
+
"value": "Opts a continuously draggable width in for the `'full'` state — exposes a `[part=\"resizer\"]`\nhandle (pointer-drag and `ArrowLeft`/`ArrowRight` keyboard stepping, RTL-aware) clamped to\n`[minRailWidthPx, maxRailWidthPx]`. Set `storageKey` to persist the fields selected by\n`persist`; otherwise listen for `lr-rail-resize` and persist `widthPx` yourself. `false` (the\ndefault) renders no resizer and leaves the fixed-width `--lr-app-rail-width` CSS token exactly\nas before this property existed.\n\nType: `boolean` \nDefault: `false`"
|
|
664
678
|
}
|
|
665
679
|
},
|
|
666
680
|
{
|
|
667
681
|
"name": "storage-key",
|
|
668
682
|
"description": {
|
|
669
683
|
"kind": "markdown",
|
|
670
|
-
"value": "When set, persists
|
|
684
|
+
"value": "When set, persists the fields selected by `persist` to `localStorage` under\n`lr-app-rail:${storageKey}`, restoring them on the next mount — mirrors `lr-split`'s\n`storage-key`. Effective `mode` is breakpoint-derived and is never persisted. Unset (the\ndefault) means no persistence, exactly as before.\n\nType: `string | undefined`"
|
|
671
685
|
}
|
|
672
686
|
}
|
|
673
687
|
]
|
|
@@ -697,7 +711,7 @@
|
|
|
697
711
|
"name": "href",
|
|
698
712
|
"description": {
|
|
699
713
|
"kind": "markdown",
|
|
700
|
-
"value": "Optional destination. Without `href`, the item renders as a button.\n\nType: `string` \nDefault: `
|
|
714
|
+
"value": "Optional destination. Without `href`, the item renders as a button.\n\nType: `string` \nDefault: `\"\"`"
|
|
701
715
|
}
|
|
702
716
|
},
|
|
703
717
|
{
|
|
@@ -711,7 +725,7 @@
|
|
|
711
725
|
"name": "target",
|
|
712
726
|
"description": {
|
|
713
727
|
"kind": "markdown",
|
|
714
|
-
"value": "Optional link target.\n\nType: `string` \nDefault: `
|
|
728
|
+
"value": "Optional link target.\n\nType: `string` \nDefault: `\"\"`"
|
|
715
729
|
}
|
|
716
730
|
},
|
|
717
731
|
{
|
|
@@ -727,7 +741,7 @@
|
|
|
727
741
|
"name": "lr-approval-queue",
|
|
728
742
|
"description": {
|
|
729
743
|
"kind": "markdown",
|
|
730
|
-
"value": "`<lr-approval-queue>` — a controlled queue of tool calls that need human approval, with a\nkeyboard-accessible request list and a single reused `<lr-tool-approval-dialog>`. It never\nexecutes tools, applies permissions, or persists decisions; the host owns those operations.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root queue wrapper. |\n| `count` | The pending-count text. |\n| `empty` | The empty state. |\n| `heading` | The visible queue heading. |\n| `heading-row` | The heading and pending-count row. |\n| `list` | The request list. |\n| `request` | One selectable request row. |\n| `request-id` | The stable request id. |\n| `request-info` | Request name and id wrapper. |\n| `status` | The request status badge. |\n| `tool-name` | The proposed tool name.
|
|
744
|
+
"value": "`<lr-approval-queue>` — a controlled queue of tool calls that need human approval, with a\nkeyboard-accessible request list and a single reused `<lr-tool-approval-dialog>`. It never\nexecutes tools, applies permissions, or persists decisions; the host owns those operations.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root queue wrapper. |\n| `count` | The pending-count text. |\n| `empty` | The empty state. |\n| `heading` | The visible queue heading. |\n| `heading-row` | The heading and pending-count row. |\n| `list` | The request list. |\n| `request` | One selectable request row. |\n| `request-id` | The stable request id. |\n| `request-info` | Request name and id wrapper. |\n| `status` | The request status badge. |\n| `tool-name` | The proposed tool name. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-approval-queue-selected-border` (default: `var(--lr-color-brand)`) — Selected request border."
|
|
731
745
|
},
|
|
732
746
|
"attributes": [
|
|
733
747
|
{
|
|
@@ -771,7 +785,7 @@
|
|
|
771
785
|
"name": "lr-archive-viewer",
|
|
772
786
|
"description": {
|
|
773
787
|
"kind": "markdown",
|
|
774
|
-
"value": "Lists names and uncompressed sizes in a ZIP archive without rendering entry contents.
|
|
788
|
+
"value": "Lists names and uncompressed sizes in a ZIP archive without rendering entry contents. Sizes use\narchive metadata when available; file entries without size metadata are inflated sequentially\nonce for measurement. The combined declared and measured uncompressed size is capped at 100 MB.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root container. |\n| `body` | The archive listing body. |\n| `entry` | An archive entry row. |\n| `entry-icon` | The decorative folder or file icon. |\n| `entry-name` | The entry path. |\n| `entry-name-dir` | The entry path of a directory row (also carries `entry-name`). |\n| `entry-size` | The human-readable file size. |\n| `error` | The error region. |\n| `spinner` | The loading region. |"
|
|
775
789
|
},
|
|
776
790
|
"attributes": [
|
|
777
791
|
{
|
|
@@ -829,7 +843,7 @@
|
|
|
829
843
|
"name": "download-src",
|
|
830
844
|
"description": {
|
|
831
845
|
"kind": "markdown",
|
|
832
|
-
"value": "The download URL, sanitized through `
|
|
846
|
+
"value": "The download URL, sanitized through `safeDownloadHref()` before use. Empty hides the button.\n\nType: `string` \nDefault: `''`"
|
|
833
847
|
}
|
|
834
848
|
},
|
|
835
849
|
{
|
|
@@ -1374,7 +1388,7 @@
|
|
|
1374
1388
|
"name": "data-labels",
|
|
1375
1389
|
"description": {
|
|
1376
1390
|
"kind": "markdown",
|
|
1377
|
-
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis
|
|
1391
|
+
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis chart; the peer is attached only to instances that opt in, and\n`buildConfig()` keeps its per-chart options disabled until this is set. The\nscreen-reader equivalent is the always-present data table (see\n`show-data-table`); labels are a purely visual, canvas-only addition.\n\nType: `boolean` \nDefault: `false`"
|
|
1378
1392
|
}
|
|
1379
1393
|
},
|
|
1380
1394
|
{
|
|
@@ -1599,7 +1613,7 @@
|
|
|
1599
1613
|
"name": "lr-breadcrumb-item",
|
|
1600
1614
|
"description": {
|
|
1601
1615
|
"kind": "markdown",
|
|
1602
|
-
"value": "`<lr-breadcrumb-item>` — one link or current-page label in a breadcrumb.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Item label. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The link or current-page label. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-breadcrumb-current-color` (default: `var(--lr-color-text-quiet)`) — Text color of the current-page item (`current`/`aria-current=\"page\"`). Declared as an inline `var()` fallback (never on `:host`), so setting it on the element or an ancestor recolors only the current item without hijacking the library-wide `--lr-color-text-quiet` token."
|
|
1616
|
+
"value": "`<lr-breadcrumb-item>` — one link or current-page label in a breadcrumb.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Item label. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The link or current-page label. |\n| `separator` | Decorative separator shown before non-first items. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-breadcrumb-current-color` (default: `var(--lr-color-text-quiet)`) — Text color of the current-page item (`current`/`aria-current=\"page\"`). Declared as an inline `var()` fallback (never on `:host`), so setting it on the element or an ancestor recolors only the current item without hijacking the library-wide `--lr-color-text-quiet` token."
|
|
1603
1617
|
},
|
|
1604
1618
|
"attributes": [
|
|
1605
1619
|
{
|
|
@@ -1613,7 +1627,7 @@
|
|
|
1613
1627
|
"name": "href",
|
|
1614
1628
|
"description": {
|
|
1615
1629
|
"kind": "markdown",
|
|
1616
|
-
"value": "Type: `string` \nDefault: `
|
|
1630
|
+
"value": "Type: `string` \nDefault: `\"\"`"
|
|
1617
1631
|
}
|
|
1618
1632
|
},
|
|
1619
1633
|
{
|
|
@@ -1629,7 +1643,7 @@
|
|
|
1629
1643
|
"name": "lr-browser-frame",
|
|
1630
1644
|
"description": {
|
|
1631
1645
|
"kind": "markdown",
|
|
1632
|
-
"value": "`<lr-browser-frame>` — presentational \"agent computer\" viewport: a screenshot/frame stream (or\nslotted live media), read-only URL display, action-ping overlays, and take-over/stop affordances.\nNo automation transport, no input relay — take-over is an event; the host swaps in its own\ninteractive element.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Host-owned live element (e.g. `<video>` or an interactive `<iframe>`), replacing the `frame-src` image. |\n| `actions` | Extra toolbar controls. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `actions` | The `actions` slot wrapper. |\n| `base` | The root wrapper (`role=\"group\"`). |\n| `controller-badge` | The current controller indicator. |\n| `frame` | The `frame-src` `<img>` (absent once the default slot is populated). |\n| `ping` | One action-ping marker; carries `data-kind`. |\n| `status` | The visible status text (`role=\"status\"`). |\n| `stop-button` | The stop button. |\n| `take-over-button` | The take-over/hand-back button. |\n| `toolbar` | The header row. |\n| `url` | The read-only address text. |\n| `viewport` | The frame/media container. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-browser-frame-aspect-ratio` (default: `16 / 9`) — The viewport's aspect ratio."
|
|
1646
|
+
"value": "`<lr-browser-frame>` — presentational \"agent computer\" viewport: a screenshot/frame stream (or\nslotted live media), read-only URL display, action-ping overlays, and take-over/stop affordances.\nNo automation transport, no input relay — take-over is an event; the host swaps in its own\ninteractive element.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Host-owned live element (e.g. `<video>` or an interactive `<iframe>`), replacing the `frame-src` image. |\n| `actions` | Extra toolbar controls. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `actions` | The `actions` slot wrapper. |\n| `base` | The root wrapper (`role=\"group\"`). |\n| `controller-badge` | The current controller indicator. |\n| `frame` | The `frame-src` `<img>` (absent once the default slot is populated). |\n| `ping` | One action-ping marker; carries `data-kind`. |\n| `status` | The visible status text (`role=\"status\"`). |\n| `stop-button` | The stop button. |\n| `take-over-button` | The take-over/hand-back button. |\n| `toolbar` | The header row. |\n| `url` | The read-only address text. |\n| `viewport` | The frame/media container. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-browser-frame-aspect-ratio` (default: `16 / 9`) — The viewport's aspect ratio.\n- `--lr-browser-frame-controller-background` (default: `var(--lr-color-brand-quiet)`) — Controller badge background.\n- `--lr-browser-frame-controller-color` (default: `var(--lr-color-brand)`) — Controller badge text color.\n- `--lr-browser-frame-ping-click-color` (default: `var(--lr-color-brand)`) — Click-ping border color.\n- `--lr-browser-frame-ping-type-color` (default: `var(--lr-color-success)`) — Type-ping border color.\n- `--lr-browser-frame-ping-scroll-color` (default: `var(--lr-color-warning)`) — Scroll-ping border color.\n- `--lr-browser-frame-ping-move-color` (default: `var(--lr-color-text-quiet)`) — Move-ping border color."
|
|
1633
1647
|
},
|
|
1634
1648
|
"attributes": [
|
|
1635
1649
|
{
|
|
@@ -1715,7 +1729,7 @@
|
|
|
1715
1729
|
"name": "data-labels",
|
|
1716
1730
|
"description": {
|
|
1717
1731
|
"kind": "markdown",
|
|
1718
|
-
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis
|
|
1732
|
+
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis chart; the peer is attached only to instances that opt in, and\n`buildConfig()` keeps its per-chart options disabled until this is set. The\nscreen-reader equivalent is the always-present data table (see\n`show-data-table`); labels are a purely visual, canvas-only addition.\n\nType: `boolean` \nDefault: `false`"
|
|
1719
1733
|
}
|
|
1720
1734
|
},
|
|
1721
1735
|
{
|
|
@@ -1815,7 +1829,7 @@
|
|
|
1815
1829
|
"name": "lr-button",
|
|
1816
1830
|
"description": {
|
|
1817
1831
|
"kind": "markdown",
|
|
1818
|
-
"value": "`<lr-button>` — a generic action-button primitive. Renders an internal native\n`<button part=\"base\">`. `type=\"submit\"`/`type=\"reset\"`\nare handled by this component itself via the host's own `closest('form')` — a shadow-internal\nnative `<button type=\"submit\">` does not participate in an ancestor light-DOM form's submission\non its own, since form-submitter semantics don't cross the shadow boundary.\n\nWhen `href` is set to a safe link URL (`http:`/`https:`/`blob:`/`mailto:`/relative — see\n`safeLinkHref`, or `safeDownloadHref` which drops `mailto:` when `download` is set) the root\nrenders as a real `<a part=\"base\" href=…>` instead — for a link styled\nas a button (e.g. a CTA). Native navigation is then the anchor's own activation, so the\nsubmit/reset click handler and `type` (submit/reset) have no effect in that mode. When the\nbutton is disabled (its own `disabled` or an ancestor `<fieldset disabled>`) the anchor renders\nwith `aria-disabled=\"true\"` and **no `href`** — an href-less anchor is not focusable or\nnavigable, so a disabled link button genuinely cannot be activated (unlike a bare\n`aria-disabled` on a still-navigable link). An unsafe/unparseable `href` falls back to the\nnative `<button>`.\n\
|
|
1832
|
+
"value": "`<lr-button>` — a generic action-button primitive. Renders an internal native\n`<button part=\"base\">`. `type=\"submit\"`/`type=\"reset\"`\nare handled by this component itself via the host's own `closest('form')` — a shadow-internal\nnative `<button type=\"submit\">` does not participate in an ancestor light-DOM form's submission\non its own, since form-submitter semantics don't cross the shadow boundary.\n\nWhen `href` is set to a safe link URL (`http:`/`https:`/`blob:`/`mailto:`/relative — see\n`safeLinkHref`, or `safeDownloadHref` which drops `mailto:` when `download` is set) the root\nrenders as a real `<a part=\"base\" href=…>` instead — for a link styled\nas a button (e.g. a CTA). Native navigation is then the anchor's own activation, so the\nsubmit/reset click handler and `type` (submit/reset) have no effect in that mode. When the\nbutton is disabled (its own `disabled` or an ancestor `<fieldset disabled>`) the anchor renders\nwith `aria-disabled=\"true\"` and **no `href`** — an href-less anchor is not focusable or\nnavigable, so a disabled link button genuinely cannot be activated (unlike a bare\n`aria-disabled` on a still-navigable link). An unsafe/unparseable `href` falls back to the\nnative `<button>`.\n\n`accessibleLabel` (attribute `aria-label`) is forwarded reactively to the internal button/anchor\nas a literal string (for an icon-only button with no visible label). Host `aria-describedby`\nIDREFs are resolved through `ariaDescribedByElements`; external `aria-labelledby` is not copied\nacross the shadow boundary.\nHost `aria-haspopup` and `aria-expanded` values are likewise forwarded to the internal semantic\ncontrol. When host `aria-controls` names elements in the host's own root, the controls\nrelationship is resolved onto the internal control through the reflected element-reference API\nso it remains valid across this component's shadow boundary. Assigning that relationship\nintentionally clears the serialized `aria-controls` value; read `ariaControlsElements` in a\nsupporting browser. Browsers without that API retain the forwarded string attribute as a\nbest-effort fallback.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Default slot: the button's label content. |\n| `end` | Trailing icon/content, rendered after the label. |\n| `start` | Leading icon/content, rendered before the label. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The internal native `<button>` (or an `<a>` when `href` resolves to a safe link). |\n| `end` | The `end` slot wrapper. |\n| `label` | The default-slot label wrapper. |\n| `spinner` | The loading spinner, present only while `loading` is `true`. |\n| `start` | The `start` slot wrapper. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-button-width` (default: `100%`) — Inline size of the internal button. The host defaults it to `100%` so the native button follows the host's own width; override to `auto` (or any other value) for a compact inline composition.\n- `--lr-button-hover-brightness` (default: `1.08`) — `filter: brightness()` multiplier applied while hovering a non-disabled button.\n- `--lr-button-active-scale` (default: `0.9875`) — `transform: scale()` factor applied while a non-disabled button is pressed.\n- `--lr-button-spinner-duration` (default: `var(--lr-transition-ambient)`) — Timing of the `loading` spinner.\n- `--lr-button-accent` (default: `var(--lr-color-text)`) — Text/glyph color for the chrome-less appearances (`outlined`, `plain`, `link`). Swapped per `variant` to that variant's semantic color.\n- `--lr-button-fill` (default: `var(--lr-color-surface)`) — Background of `appearance=\"filled\"`. Swapped per `variant` to that variant's semantic color.\n- `--lr-button-on-fill` (default: `var(--lr-color-text)`) — Text color on top of `--lr-button-fill`. Swapped per `variant` to that variant's `on-*` color.\n- `--lr-button-accent-fill` (default: `var(--lr-color-neutral)`) — Background of `appearance=\"accent\"` (and its border color). Swapped per `variant` to that variant's semantic color.\n- `--lr-button-accent-on-fill` (default: `var(--lr-color-on-neutral)`) — Text color on top of `--lr-button-accent-fill`. Swapped per `variant` to that variant's `on-*` color.\n- `--lr-button-border` (default: `var(--lr-color-border)`) — Border color of the internal button. Swapped per `variant` to that variant's semantic color.\n- `--lr-button-outlined-border` (default: `var(--lr-color-border-strong)`) — Border color of `appearance=\"outlined\"`, which overrides `--lr-button-border`.\n- `--lr-button-outlined-fill` (default: `transparent`) — Background of `appearance=\"outlined\"`. Transparent by default; set it to tint the button (e.g. a faint surface wash behind the outline) without a `::part(base)` rule. Like `--lr-button-quiet-*`, it is deliberately *not* swapped per `variant`. Note that the `:hover` `filter: brightness()` applies to whatever fill is set, so a tinted outlined button now visibly brightens on hover where a transparent one did not.\n- `--lr-button-quiet-border` (default: `var(--lr-color-border)`) — Border color of `appearance=\"quiet\"`.\n- `--lr-button-quiet-text` (default: `var(--lr-color-text-quiet)`) — Text color of `appearance=\"quiet\"`.\n- `--lr-button-size-2xs` (default: `var(--lr-size-1-25rem)`) — `min-block-size` at `size=\"2xs\"`.\n- `--lr-button-size-xs` (default: `var(--lr-size-1-5rem)`) — `min-block-size` at `size=\"xs\"`.\n- `--lr-button-size-s` (default: `var(--lr-size-1-875rem)`) — `min-block-size` at `size=\"s\"`. Matches `lr-input`/`lr-select`/`lr-combobox`'s own `size=\"s\"` control height.\n- `--lr-button-size-m` (default: `var(--lr-size-2-5rem)`) — `min-block-size` at `size=\"m\"`. Matches `lr-input`/`lr-select`/`lr-combobox`'s own default control height, so a default-size button sitting next to a default-size input/select/combobox in the same row lines up.\n- `--lr-button-size-l` (default: `var(--lr-size-3rem)`) — `min-block-size` at `size=\"l\"`. Matches `lr-input`/`lr-select`/`lr-combobox`'s own `size=\"l\"` control height.\n- `--lr-button-size-xl` (default: `var(--lr-size-3-5rem)`) — `min-block-size` at `size=\"xl\"`. Matches `lr-input`/`lr-select`/`lr-combobox`'s own `size=\"xl\"` control height.\n- `--lr-button-padding-block` (default: `var(--lr-space-xs)`) — Block padding of the internal button, re-assigned per `size` tier (the default is the `m` tier's value). Override it to retune a tier without a `::part(base)` rule; `appearance=\"link\"` ignores it (it renders with zero padding).\n- `--lr-button-padding-inline` (default: `var(--lr-space-m)`) — Inline padding of the internal button, re-assigned per `size` tier (the default is the `m` tier's value). `appearance=\"link\"` ignores it.\n- `--lr-button-font-size` (default: `var(--lr-font-size-m)`) — Font size of the internal button, re-assigned per `size` tier (the default is the `m` tier's value). `appearance=\"link\"` ignores it and inherits the ambient font instead.\n- `--lr-button-min-height` (default: `var(--lr-button-size-m)`) — The active tier's `min-block-size` floor. Re-assigned per `size` tier to that tier's own `--lr-button-size-*` token, and used as the fallback when `--lr-button-height` is unset.\n- `--lr-button-height` — Exact height of the internal button. **Undeclared by default** — so the button keeps the active tier's `min-block-size` floor and an `auto` height, exactly as before. Set it (e.g. to pin the button to a fixed toolbar row) to both floor *and* cap the height. Never declare it as `auto`: a declared value wins over the `var()` fallback arm and would make every tier's floor dead code. `appearance=\"link\"` ignores it.\n- `--lr-button-gap` (default: `var(--lr-space-2xs)`) — Gap between the icon/label and any slotted content in the internal button. Unlike the size knobs above it does not vary by `size` tier. Override it to retune without a `::part(base)` rule.\n- `--lr-button-radius` (default: `var(--lr-radius)`) — Corner radius of the internal button. Does not vary by `size` tier. `appearance=\"link\"` ignores it (it renders with zero radius).\n- `--lr-button-shadow` — Box shadow of the internal button. **Undeclared by default**, so `box-shadow` falls back to `none` — byte-identical to before this property existed. Set it (e.g. an elevated/floating action button) without a `::part(base)` rule."
|
|
1819
1833
|
},
|
|
1820
1834
|
"attributes": [
|
|
1821
1835
|
{
|
|
@@ -1825,6 +1839,41 @@
|
|
|
1825
1839
|
"value": "`'filled'` (the default) reads `--lr-button-fill`, which for `variant=\"neutral\"` is the\nambient `--lr-color-surface` -- matching this component's own container, by design, for a\nlow-emphasis default. `'accent'` is the loud tier: a solid, high-contrast fill for every\nvariant, including `neutral`. `'link'` is zero-chrome inline text — no padding, border, or\nmin-height, underlined, colored from `--lr-button-accent` (the same token `'plain'` uses)\nand inheriting the surrounding font — for a text link that flows inline in a sentence rather\nthan a button-shaped control. `'quiet'` is a bordered, transparent-until-hover tier for a\ntoolbar-style icon+label action — its border/text read fixed `--lr-color-border`/`--lr-color-text-quiet`\ntokens regardless of `variant`, unlike `'outlined'`'s variant-tinted text, so it stays\nvisually muted at rest.\n\nType: `ButtonAppearance` \nDefault: `'filled'`"
|
|
1826
1840
|
}
|
|
1827
1841
|
},
|
|
1842
|
+
{
|
|
1843
|
+
"name": "aria-controls",
|
|
1844
|
+
"description": {
|
|
1845
|
+
"kind": "markdown",
|
|
1846
|
+
"value": "Type: `string | null` \nDefault: `null`"
|
|
1847
|
+
}
|
|
1848
|
+
},
|
|
1849
|
+
{
|
|
1850
|
+
"name": "aria-describedby",
|
|
1851
|
+
"description": {
|
|
1852
|
+
"kind": "markdown",
|
|
1853
|
+
"value": "Type: `string | null` \nDefault: `null`"
|
|
1854
|
+
}
|
|
1855
|
+
},
|
|
1856
|
+
{
|
|
1857
|
+
"name": "aria-expanded",
|
|
1858
|
+
"description": {
|
|
1859
|
+
"kind": "markdown",
|
|
1860
|
+
"value": "Type: `string | null` \nDefault: `null`"
|
|
1861
|
+
}
|
|
1862
|
+
},
|
|
1863
|
+
{
|
|
1864
|
+
"name": "aria-haspopup",
|
|
1865
|
+
"description": {
|
|
1866
|
+
"kind": "markdown",
|
|
1867
|
+
"value": "Type: `string | null` \nDefault: `null`"
|
|
1868
|
+
}
|
|
1869
|
+
},
|
|
1870
|
+
{
|
|
1871
|
+
"name": "aria-label",
|
|
1872
|
+
"description": {
|
|
1873
|
+
"kind": "markdown",
|
|
1874
|
+
"value": "Accessible name forwarded to the internal native button or anchor. Bound to the host's\n`aria-label` content attribute so changing or removing that attribute after mount keeps the\nactual focused control synchronized.\n\nType: `string | null` \nDefault: `null`"
|
|
1875
|
+
}
|
|
1876
|
+
},
|
|
1828
1877
|
{
|
|
1829
1878
|
"name": "disabled",
|
|
1830
1879
|
"description": {
|
|
@@ -1924,7 +1973,7 @@
|
|
|
1924
1973
|
"name": "lr-calendar",
|
|
1925
1974
|
"description": {
|
|
1926
1975
|
"kind": "markdown",
|
|
1927
|
-
"value": "`<lr-calendar>` — responsive month calendar with event markers and agenda mode.\n\nMonth-view event markers are
|
|
1976
|
+
"value": "`<lr-calendar>` — responsive month calendar with event markers and agenda mode.\n\nMonth-view event markers are real buttons inside each focusable gridcell, so\nkeyboard users can activate individual events without switching views.\nAgenda view renders the same events as full-width buttons.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `agenda` | Agenda list. |\n| `agenda-event` | One focusable event button in agenda view (`view=\"agenda\"` only). |\n| `date` | The day-of-month number inside a day cell. |\n| `day` | Day cell. |\n| `event` | Event marker. |\n| `grid` | Month grid. |\n| `header` | Calendar header. |\n| `nav` | A previous/next navigation control in the header (the previous button, and the wrapper around the next button). |\n| `nav-glyph` | The previous/next chevron glyph, mirrored under RTL. |\n| `title` | The header's month/year title. |\n| `week` | One week row within the month grid. |\n| `weekday` | One weekday header cell. |\n| `weekdays` | Weekday header row. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-calendar-day-min-block-size` (default: `var(--lr-size-6rem)`) — Minimum block size of a day cell.\n- `--lr-calendar-day-min-block-size-narrow` (default: `var(--lr-size-4rem)`) — Minimum block size of a day cell once the host is narrower than 28rem.\n- `--lr-calendar-day-selected-bg` (default: `var(--lr-color-brand-quiet)`) — Background of a selected day cell, decoupled from the shared token also driving the nav-button/agenda-event hover background."
|
|
1928
1977
|
},
|
|
1929
1978
|
"attributes": [
|
|
1930
1979
|
{
|
|
@@ -1992,7 +2041,7 @@
|
|
|
1992
2041
|
"name": "name",
|
|
1993
2042
|
"description": {
|
|
1994
2043
|
"kind": "markdown",
|
|
1995
|
-
"value": "Display name associated with the calendar. Used as the accessible name of `[part='base']
|
|
2044
|
+
"value": "Display name associated with the calendar. Used as the accessible name of `[part='base']` after an explicit host `aria-label`, and before the localized `calendarViewerLabel` default.\n\nType: `string` \nDefault: `''`"
|
|
1996
2045
|
}
|
|
1997
2046
|
},
|
|
1998
2047
|
{
|
|
@@ -2008,7 +2057,7 @@
|
|
|
2008
2057
|
"name": "lr-callout",
|
|
2009
2058
|
"description": {
|
|
2010
2059
|
"kind": "markdown",
|
|
2011
|
-
"value": "`<lr-callout>` — an inline message surface for status, warning, and error content.\nSet `inline` for lightweight reactive status/error text: it removes the panel chrome while\npreserving the semantic role, optional leading icon, and close action.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Message content. |\n| `heading` | Optional heading. |\n| `icon` | Optional icon. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The callout surface. |\n| `close-button` | The close button's interactive hit target, sized to the shared minimum tappable size (`--lr-icon-button-size`) in both the default panel and the compact `inline` variant. |\n| `close-icon` | The close button's visible \"×\" glyph, independent of `close-button`'s hit target size -- shrinks in the `inline` variant while the hit target stays full-size. |\n| `content` | The message content. |\n| `heading` | The heading wrapper. |\n| `icon` | The icon wrapper. |\n| `message` | The message content wrapper. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-callout-background` (default: `var(--lr-color-surface)`) — The callout surface's background. Each non-neutral `variant` sets it to that variant's `-quiet` tint.\n- `--lr-callout-border` (default: `var(--lr-color-border)`) — The callout surface's border color. Each non-neutral `variant` sets it to that variant's loud color.\n- `--lr-callout-color` (default: `var(--lr-color-text)`) — The callout's text color. Each non-neutral `variant` sets it to that variant's loud color.\n- `--lr-callout-close-hover-bg` (default: `var(--lr-color-brand-quiet)`) — The close button's hover background, decoupled from `--lr-callout-background` so a consumer can retint one without affecting the other (e.g. keeping the hover fill visibly distinct from a `variant=\"brand\"` panel, which shares the same default token)."
|
|
2060
|
+
"value": "`<lr-callout>` — an inline message surface for status, warning, and error content.\nSet `inline` for lightweight reactive status/error text: it removes the panel chrome while\npreserving the semantic role, optional leading icon, and close action.\nInitial content is not announced as a new live update. Later message, heading, or variant\nchanges activate polite announcements, or assertive announcements for `variant=\"danger\"`.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Message content. |\n| `heading` | Optional heading. |\n| `icon` | Optional icon. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The callout surface. |\n| `close-button` | The close button's interactive hit target, sized to the shared minimum tappable size (`--lr-icon-button-size`) in both the default panel and the compact `inline` variant. |\n| `close-icon` | The close button's visible \"×\" glyph, independent of `close-button`'s hit target size -- shrinks in the `inline` variant while the hit target stays full-size. |\n| `content` | The message content. |\n| `heading` | The heading wrapper. |\n| `icon` | The icon wrapper. |\n| `message` | The message content wrapper. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-callout-background` (default: `var(--lr-color-surface)`) — The callout surface's background. Each non-neutral `variant` sets it to that variant's `-quiet` tint.\n- `--lr-callout-border` (default: `var(--lr-color-border)`) — The callout surface's border color. Each non-neutral `variant` sets it to that variant's loud color.\n- `--lr-callout-color` (default: `var(--lr-color-text)`) — The callout's text color. Each non-neutral `variant` sets it to that variant's loud color.\n- `--lr-callout-close-hover-bg` (default: `var(--lr-color-brand-quiet)`) — The close button's hover background, decoupled from `--lr-callout-background` so a consumer can retint one without affecting the other (e.g. keeping the hover fill visibly distinct from a `variant=\"brand\"` panel, which shares the same default token)."
|
|
2012
2061
|
},
|
|
2013
2062
|
"attributes": [
|
|
2014
2063
|
{
|
|
@@ -2050,7 +2099,7 @@
|
|
|
2050
2099
|
"name": "open",
|
|
2051
2100
|
"description": {
|
|
2052
2101
|
"kind": "markdown",
|
|
2053
|
-
"value": "
|
|
2102
|
+
"value": "Type: `boolean` \nDefault: `true`"
|
|
2054
2103
|
}
|
|
2055
2104
|
},
|
|
2056
2105
|
{
|
|
@@ -2066,14 +2115,21 @@
|
|
|
2066
2115
|
"name": "lr-card",
|
|
2067
2116
|
"description": {
|
|
2068
2117
|
"kind": "markdown",
|
|
2069
|
-
"value": "`<lr-card>` — a generic, styled bordered content container: the \"small bordered surface with\npadding\" idiom common to hero highlights, clickable grid tiles, and management-list items. A\ndirect `<lr-*>` counterpart to `<wa-card>`'s contract, staying slot-compatible with\n`lr-result-card` where they overlap.\n\nThe header is allocation-responsive: long or translated header content can shrink and wrap,\nand the actions group moves onto another line when both no longer fit side by side.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | The card body. |\n| `actions` | Small header controls, rendered alongside the header content. |\n| `footer` | Footer content, rendered below the body. |\n| `header` | Header row content, rendered above the body. |\n| `media` | Media content (e.g. an image), rendered above the header. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `actions` | Wrapper around the `actions` slot. Hidden entirely when empty. |\n| `base` | The outer container (a `<div>`, or an `<a>` when `href` is set). |\n| `body` | Wrapper around the default slot. |\n| `footer` | Wrapper around the `footer` slot. Hidden entirely when empty. |\n| `header` | Wrapper around the `header` slot and `actions`. Hidden entirely when both are empty. |\n| `media` | Wrapper around the `media` slot. Hidden entirely when empty. |"
|
|
2118
|
+
"value": "`<lr-card>` — a generic, styled bordered content container: the \"small bordered surface with\npadding\" idiom common to hero highlights, clickable grid tiles, and management-list items. A\ndirect `<lr-*>` counterpart to `<wa-card>`'s contract, staying slot-compatible with\n`lr-result-card` where they overlap.\n\nThe header is allocation-responsive: long or translated header content can shrink and wrap,\nand the actions group moves onto another line when both no longer fit side by side.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | The card body. |\n| `actions` | Small header controls, rendered alongside the header content. |\n| `footer` | Footer content, rendered below the body. |\n| `header` | Header row content, rendered above the body. |\n| `media` | Media content (e.g. an image), rendered above the header. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `actions` | Wrapper around the `actions` slot. Hidden entirely when empty. |\n| `activation-button` | The native whole-card action, rendered while `interactive` without `href`. It is a sibling of slotted controls, so actionable descendants are never nested inside another actionable role. |\n| `base` | The outer container (a `<div>`, or an `<a>` when `href` is set). |\n| `body` | Wrapper around the default slot. |\n| `footer` | Wrapper around the `footer` slot. Hidden entirely when empty. |\n| `header` | Wrapper around the `header` slot and `actions`. Hidden entirely when both are empty. |\n| `media` | Wrapper around the `media` slot. Hidden entirely when empty. |"
|
|
2070
2119
|
},
|
|
2071
2120
|
"attributes": [
|
|
2072
2121
|
{
|
|
2073
2122
|
"name": "appearance",
|
|
2074
2123
|
"description": {
|
|
2075
2124
|
"kind": "markdown",
|
|
2076
|
-
"value": "Visual treatment, mirroring `wa-card`'s `appearance` vocabulary. `'outlined'` (the default)\nis a bordered surface -- the common \"small bordered surface with padding\" idiom.\n\nType: `CardAppearance` \nDefault:
|
|
2125
|
+
"value": "Visual treatment, mirroring `wa-card`'s `appearance` vocabulary. `'outlined'` (the default)\nis a bordered surface -- the common \"small bordered surface with padding\" idiom.\n\nType: `CardAppearance` \nDefault: `\"outlined\"`"
|
|
2126
|
+
}
|
|
2127
|
+
},
|
|
2128
|
+
{
|
|
2129
|
+
"name": "aria-label",
|
|
2130
|
+
"description": {
|
|
2131
|
+
"kind": "markdown",
|
|
2132
|
+
"value": "Host `aria-label` forwarded to the native no-href activation button.\n\nType: `string | null` \nDefault: `null`"
|
|
2077
2133
|
}
|
|
2078
2134
|
},
|
|
2079
2135
|
{
|
|
@@ -2117,14 +2173,14 @@
|
|
|
2117
2173
|
"name": "accessible-label",
|
|
2118
2174
|
"description": {
|
|
2119
2175
|
"kind": "markdown",
|
|
2120
|
-
"value": "Type: `string` \nDefault: `
|
|
2176
|
+
"value": "Type: `string` \nDefault: `\"\"`"
|
|
2121
2177
|
}
|
|
2122
2178
|
},
|
|
2123
2179
|
{
|
|
2124
2180
|
"name": "aria-label",
|
|
2125
2181
|
"description": {
|
|
2126
2182
|
"kind": "markdown",
|
|
2127
|
-
"value": "Type:
|
|
2183
|
+
"value": "Type: `| string\n | null` \nDefault: `null`"
|
|
2128
2184
|
}
|
|
2129
2185
|
},
|
|
2130
2186
|
{
|
|
@@ -2226,7 +2282,7 @@
|
|
|
2226
2282
|
"name": "data-labels",
|
|
2227
2283
|
"description": {
|
|
2228
2284
|
"kind": "markdown",
|
|
2229
|
-
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis
|
|
2285
|
+
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis chart; the peer is attached only to instances that opt in, and\n`buildConfig()` keeps its per-chart options disabled until this is set. The\nscreen-reader equivalent is the always-present data table (see\n`show-data-table`); labels are a purely visual, canvas-only addition.\n\nType: `boolean` \nDefault: `false`"
|
|
2230
2286
|
}
|
|
2231
2287
|
},
|
|
2232
2288
|
{
|
|
@@ -2431,7 +2487,7 @@
|
|
|
2431
2487
|
"name": "spellcheck",
|
|
2432
2488
|
"description": {
|
|
2433
2489
|
"kind": "markdown",
|
|
2434
|
-
"value": "
|
|
2490
|
+
"value": "Type: `boolean` \nDefault: `true`"
|
|
2435
2491
|
}
|
|
2436
2492
|
},
|
|
2437
2493
|
{
|
|
@@ -2445,7 +2501,7 @@
|
|
|
2445
2501
|
"name": "stoppable",
|
|
2446
2502
|
"description": {
|
|
2447
2503
|
"kind": "markdown",
|
|
2448
|
-
"value": "
|
|
2504
|
+
"value": "Type: `boolean` \nDefault: `true`"
|
|
2449
2505
|
}
|
|
2450
2506
|
},
|
|
2451
2507
|
{
|
|
@@ -2459,7 +2515,7 @@
|
|
|
2459
2515
|
"name": "submit-on-enter",
|
|
2460
2516
|
"description": {
|
|
2461
2517
|
"kind": "markdown",
|
|
2462
|
-
"value": "
|
|
2518
|
+
"value": "Type: `boolean` \nDefault: `true`"
|
|
2463
2519
|
}
|
|
2464
2520
|
},
|
|
2465
2521
|
{
|
|
@@ -2475,7 +2531,7 @@
|
|
|
2475
2531
|
"name": "lr-chat-message",
|
|
2476
2532
|
"description": {
|
|
2477
2533
|
"kind": "markdown",
|
|
2478
|
-
"value": "`<lr-chat-message>` — a role-based message bubble *shell* for a chat/\nagent conversation surface. It renders none of the message content itself:\nthe default slot carries whatever a consumer wants to display (plain\ntext, a `<lr-markdown>`, a custom template, anything at all) and this\ncomponent only supplies the surrounding chrome — alignment/coloring by\n`role`, an avatar/badges header row, an optional collapse toggle, an\nattachments strip, and a status-aware footer (a live-updating status dot +\ntext, the formatted `timestamp`, a built-in retry affordance for\n`status=\"failed\"`, and an `actions` slot for everything else).\n\nNo built-in copy button is rendered. Deciding what \"the copyable text\" of\nan arbitrary slotted message even means (plain text? the rendered\nmarkdown source? something else?) is exactly the kind of content\ninterpretation this shell deliberately stays out of — slot a copy control\ninto `actions` instead. Firing `lr-copy` (`detail: { text }`) from that\ncontrol keeps the event name consistent with `<lr-json-viewer>`'s own\ncopy affordance, for anything listening at the conversation-surface level.\n\nAccessibility of `status`: the current status is always available as\nplain visible text (`[part=\"status-text\"]`), never color alone. A\ntransition *to* `\"failed\"`, or *from* `\"streaming\"` to `\"sent\"` (a stream\nfinishing), is additionally announced through an internal\n`<lr-live-region>` (see that component's header for the throttled-\nannouncement wiring this composes) so a screen-reader user who isn't\ncurrently focused on this message still learns about it — *unless* the\n`failure` slot has content, in which case this internal announcement is\nskipped: the host's own `role=\"alert\"` failure content is expected to\nannounce itself, and firing both would double-announce the same failure\nwith two different (and differently specific) messages. This differs\nfrom `<lr-typing-indicator>`'s deliberately simpler `role=\"status\"`\napproach — that component only ever has one thing to announce (its own\nmount); this one has a `status` that can flip between several values\nacross a single element's lifetime, which is exactly the coalescing job\n`<lr-live-region>` exists for.\n\n`role` is a message-author role (`user`/`assistant`/`system`, matching\nthe vocabulary of every chat/completion API), *not* a WAI-ARIA role, so\nit reflects to a `data-role` attribute rather than the bare `role`\nattribute — `role=\"user\"` would collide with `Element`'s own ARIA `role`\naccessor and is not a valid ARIA role token to begin with.\n\n`actionsOutsideBubble` allows the `actions` slot to render as a sibling\nimmediately after the message bubble instead of nested inside the footer —\nuseful for consumers whose action row (e.g., a hover-reveal copy button)\nmust sit visually outside the bubble's chrome.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | The message body. |\n| `actions` | Action controls (e.g. copy, retry), rendered at the end of the footer. |\n| `attachments` | File/image attachment chips, rendered below the message body by default; see `attachments-position`. |\n| `avatar` | An avatar/icon for the message author. |\n| `badges` | Small status/metric chips (e.g. token count, latency, model name) — entirely app-supplied; this component computes none of that itself. |\n| `failure` | Only ever rendered while `status=\"failed\"`. Empty (the default), the footer keeps its built-in `[part=\"status-text\"]`/`[part=\"retry-button\"]` exactly as before. The moment this slot has assigned content, that built-in status text and retry button are suppressed — the host is now fully responsible for presenting its own failure UI, and the built-in `chatFailedAnnounce` live-region announcement is suppressed too (see `@event lr-retry` below for the effect on that event, and the \"Accessibility of `status`\" paragraph above for the built-in announcement this replaces). Content assigned here should carry `role=\"alert\"` itself when it represents an actionable send failure — this component does not add that role on the host's behalf, since it has no way to know what markup the host puts in this slot. This mirrors `lr-flow-node`'s `header` slot, which replaces that component's own built-in heading row the same way. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `actions` | The wrapper around the `actions` slot. Rendered inside the footer by default; a sibling immediately after `bubble` when `actionsOutsideBubble` is set. |\n| `attachments` | The wrapper around the `attachments` slot. |\n| `avatar` | The wrapper around the `avatar` slot. |\n| `badges` | The wrapper around the `badges` slot. |\n| `body` | The wrapper around the default slot (the message content). Hidden while `collapsed`. |\n| `bubble` | The message bubble root. Programmatically focusable (`tabindex=\"-1\"`) so focus has a stable place to land when the built-in retry button is removed (e.g. a `lr-retry` listener flipping `status` away from `\"failed\"`). Its fill/text derive from `--lr-chat-message-bubble-bg`/`--lr-chat-message-bubble-color` for every role except `user`, which derives from `--lr-chat-message-user-bubble-bg`/`--lr-chat-message-user-bubble-color` instead — override those cssprops rather than the shared `--lr-color-*` tokens they default to. Its geometry comes from `--lr-chat-message-bubble-padding`/`--lr-chat-message-bubble-radius` for the same reason — a `::part(bubble)` override from the consumer's tree outranks the per-`status` rules in this shadow tree and silently erases the `failed`/`streaming` treatments. |\n| `collapse-button` | The built-in collapse/expand toggle (only rendered when `collapsible`). |\n| `failure` | The `failure` slot itself (`display: contents` — it contributes no box of its own, so the host's own content lays out exactly as if it were a direct child of `bubble`, with no `::part(failure)` override needed to get there). Only present in the DOM while `status=\"failed\"`. |\n| `footer` | The row below the message body — status, timestamp, retry, and actions. Hidden entirely when none of those have anything to show. |\n| `header` | The row above the message body — avatar, badges, and the collapse toggle. Hidden entirely when none of those have anything to show. |\n| `retry-button` | The built-in retry button (only rendered when `status=\"failed\"`). |\n| `status-indicator` | A small decorative (`aria-hidden`) dot reflecting `status`; absent while `status=\"sent\"`. |\n| `status-text` | The visible text twin of `status-indicator` — carries the state in text, not just color. |\n| `timestamp` | The formatted `timestamp`, rendered in a `<time>` element. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-chat-message-max-width` (default: `80%`) — Maximum inline size of the message bubble.\n- `--lr-chat-message-bubble-bg` (default: `var(--lr-color-surface)`) — Bubble fill for every role except `user`.\n- `--lr-chat-message-bubble-color` (default: `var(--lr-color-text)`) — Bubble text color for every role except `user`.\n- `--lr-chat-message-user-bubble-bg` (default: `var(--lr-color-brand-quiet)`) — Bubble fill for `data-role=\"user\"`.\n- `--lr-chat-message-user-bubble-color` (default: `var(--lr-color-text)`) — Bubble text color for `data-role=\"user\"`.\n- `--lr-chat-message-bubble-padding` (default: `var(--lr-space-m)`) — Bubble padding. Prefer this over a `::part(bubble)` padding override: an outer-tree `::part` declaration outranks every rule in this shadow tree, which silently suppresses the per-`status` and per-role bubble styling below it.\n- `--lr-chat-message-bubble-radius` (default: `var(--lr-radius)`) — Bubble corner radius. Bubble-only by design — `collapse-button` and `retry-button` keep reading the shared `--lr-radius`, so a rounder bubble never desyncs the controls from the rest of the library.\n- `--lr-transition-ambient` (default: `1.8s ease-in-out`) — Streaming-indicator animation duration and timing function."
|
|
2534
|
+
"value": "`<lr-chat-message>` — a role-based message bubble *shell* for a chat/\nagent conversation surface. It renders none of the message content itself:\nthe default slot carries whatever a consumer wants to display (plain\ntext, a `<lr-markdown>`, a custom template, anything at all) and this\ncomponent only supplies the surrounding chrome — alignment/coloring by\n`role`, an avatar/badges header row, an optional collapse toggle, an\nattachments strip, and a status-aware footer (a live-updating status dot +\ntext, the formatted `timestamp`, a built-in retry affordance for\n`status=\"failed\"`, and an `actions` slot for everything else).\n\nNo built-in copy button is rendered. Deciding what \"the copyable text\" of\nan arbitrary slotted message even means (plain text? the rendered\nmarkdown source? something else?) is exactly the kind of content\ninterpretation this shell deliberately stays out of — slot a copy control\ninto `actions` instead. Firing `lr-copy` (`detail: { text }`) from that\ncontrol keeps the event name consistent with `<lr-json-viewer>`'s own\ncopy affordance, for anything listening at the conversation-surface level.\n\nAccessibility of `status`: the current status is always available as\nplain visible text (`[part=\"status-text\"]`), never color alone. A\ntransition *to* `\"failed\"`, or *from* `\"streaming\"` to `\"sent\"` (a stream\nfinishing), is additionally announced through an internal\n`<lr-live-region>` (see that component's header for the throttled-\nannouncement wiring this composes) so a screen-reader user who isn't\ncurrently focused on this message still learns about it — *unless* the\n`failure` slot has content, in which case this internal announcement is\nskipped: the host's own `role=\"alert\"` failure content is expected to\nannounce itself, and firing both would double-announce the same failure\nwith two different (and differently specific) messages. This differs\nfrom `<lr-typing-indicator>`'s deliberately simpler `role=\"status\"`\napproach — that component only ever has one thing to announce (its own\nmount); this one has a `status` that can flip between several values\nacross a single element's lifetime, which is exactly the coalescing job\n`<lr-live-region>` exists for.\n\n`role` is a message-author role (`user`/`assistant`/`system`, matching\nthe vocabulary of every chat/completion API), *not* a WAI-ARIA role, so\nit reflects to a `data-role` attribute rather than the bare `role`\nattribute — `role=\"user\"` would collide with `Element`'s own ARIA `role`\naccessor and is not a valid ARIA role token to begin with.\n\n`actionsOutsideBubble` allows the `actions` slot to render as a sibling\nimmediately after the message bubble instead of nested inside the footer —\nuseful for consumers whose action row (e.g., a hover-reveal copy button)\nmust sit visually outside the bubble's chrome.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | The message body. |\n| `actions` | Action controls (e.g. copy, retry), rendered at the end of the footer. |\n| `attachments` | File/image attachment chips, rendered below the message body by default; see `attachments-position`. |\n| `avatar` | An avatar/icon for the message author. |\n| `badges` | Small status/metric chips (e.g. token count, latency, model name) — entirely app-supplied; this component computes none of that itself. |\n| `failure` | Only ever rendered while `status=\"failed\"`. Empty (the default), the footer keeps its built-in `[part=\"status-text\"]`/`[part=\"retry-button\"]` exactly as before. The moment this slot has assigned content, that built-in status text and retry button are suppressed — the host is now fully responsible for presenting its own failure UI, and the built-in `chatFailedAnnounce` live-region announcement is suppressed too (see `@event lr-retry` below for the effect on that event, and the \"Accessibility of `status`\" paragraph above for the built-in announcement this replaces). Content assigned here should carry `role=\"alert\"` itself when it represents an actionable send failure — this component does not add that role on the host's behalf, since it has no way to know what markup the host puts in this slot. This mirrors `lr-flow-node`'s `header` slot, which replaces that component's own built-in heading row the same way. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `actions` | The wrapper around the `actions` slot. Rendered inside the footer by default; a sibling immediately after `bubble` when `actionsOutsideBubble` is set. |\n| `attachments` | The wrapper around the `attachments` slot. |\n| `avatar` | The wrapper around the `avatar` slot. |\n| `badges` | The wrapper around the `badges` slot. |\n| `body` | The wrapper around the default slot (the message content). Hidden while `collapsed`. |\n| `bubble` | The message bubble root. Programmatically focusable (`tabindex=\"-1\"`) so focus has a stable place to land when the built-in retry button is removed (e.g. a `lr-retry` listener flipping `status` away from `\"failed\"`). Its fill/text derive from `--lr-chat-message-bubble-bg`/`--lr-chat-message-bubble-color` for every role except `user`, which derives from `--lr-chat-message-user-bubble-bg`/`--lr-chat-message-user-bubble-color` instead — override those cssprops rather than the shared `--lr-color-*` tokens they default to. Its geometry comes from `--lr-chat-message-bubble-padding`/`--lr-chat-message-bubble-radius` for the same reason — a `::part(bubble)` override from the consumer's tree outranks the per-`status` rules in this shadow tree and silently erases the `failed`/`streaming` treatments. |\n| `collapse-button` | The built-in collapse/expand toggle (only rendered when `collapsible`). |\n| `failure` | The `failure` slot itself (`display: contents` — it contributes no box of its own, so the host's own content lays out exactly as if it were a direct child of `bubble`, with no `::part(failure)` override needed to get there). Only present in the DOM while `status=\"failed\"`. |\n| `footer` | The row below the message body — status, timestamp, retry, and actions. Hidden entirely when none of those have anything to show. |\n| `header` | The row above the message body — avatar, badges, and the collapse toggle. Hidden entirely when none of those have anything to show. |\n| `retry-button` | The built-in retry button (only rendered when `status=\"failed\"`). |\n| `status-indicator` | A small decorative (`aria-hidden`) dot reflecting `status`; absent while `status=\"sent\"`. |\n| `status-text` | The visible text twin of `status-indicator` — carries the state in text, not just color. |\n| `timestamp` | The formatted `timestamp`, rendered in a `<time>` element. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-chat-message-max-width` (default: `80%`) — Maximum inline size of the message bubble.\n- `--lr-chat-message-bubble-bg` (default: `var(--lr-color-surface)`) — Bubble fill for every role except `user`.\n- `--lr-chat-message-bubble-color` (default: `var(--lr-color-text)`) — Bubble text color for every role except `user`.\n- `--lr-chat-message-user-bubble-bg` (default: `var(--lr-color-brand-quiet)`) — Bubble fill for `data-role=\"user\"`.\n- `--lr-chat-message-user-bubble-color` (default: `var(--lr-color-text)`) — Bubble text color for `data-role=\"user\"`.\n- `--lr-chat-message-system-color` (default: `var(--lr-color-text-quiet)`) — System-message text color.\n- `--lr-chat-message-streaming-border-color` (default: `var(--lr-color-brand)`) — Streaming bubble border.\n- `--lr-chat-message-failed-border-color` (default: `var(--lr-color-danger)`) — Failed bubble border.\n- `--lr-chat-message-failed-bg` (default: `var(--lr-color-danger-quiet)`) — Failed bubble fill.\n- `--lr-chat-message-footer-color` (default: `var(--lr-color-text-quiet)`) — Default footer text.\n- `--lr-chat-message-user-footer-color` (default: `var(--lr-color-text)`) — User-message footer text.\n- `--lr-chat-message-failed-footer-color` (default: `var(--lr-color-danger)`) — Failed-message footer text.\n- `--lr-chat-message-indicator-color` (default: `var(--lr-color-text-quiet)`) — Default status indicator.\n- `--lr-chat-message-streaming-indicator-color` (default: `var(--lr-color-brand)`) — Streaming indicator.\n- `--lr-chat-message-failed-indicator-color` (default: `var(--lr-color-danger)`) — Failed indicator.\n- `--lr-chat-message-failed-status-color` (default: `var(--lr-color-danger)`) — Failed status text.\n- `--lr-chat-message-bubble-padding` (default: `var(--lr-space-m)`) — Bubble padding. Prefer this over a `::part(bubble)` padding override: an outer-tree `::part` declaration outranks every rule in this shadow tree, which silently suppresses the per-`status` and per-role bubble styling below it.\n- `--lr-chat-message-bubble-radius` (default: `var(--lr-radius)`) — Bubble corner radius. Bubble-only by design — `collapse-button` and `retry-button` keep reading the shared `--lr-radius`, so a rounder bubble never desyncs the controls from the rest of the library.\n- `--lr-transition-ambient` (default: `1.8s ease-in-out`) — Streaming-indicator animation duration and timing function."
|
|
2479
2535
|
},
|
|
2480
2536
|
"attributes": [
|
|
2481
2537
|
{
|
|
@@ -2548,7 +2604,7 @@
|
|
|
2548
2604
|
"name": "lr-chat-viewport",
|
|
2549
2605
|
"description": {
|
|
2550
2606
|
"kind": "markdown",
|
|
2551
|
-
"value": "`<lr-chat-viewport>` — the transcript scroll container: owns stick-to-bottom behavior while an\nanswer streams, the \"jump to latest\" pill, and the unread divider.\n\n**Two supported content shapes, auto-detected:** ordinary element children (typically\n`<lr-chat-message>`s -- *slotted mode*), or exactly one `<lr-virtual-list>` (*virtual mode*,\ndetected via `instanceof` against the imported class so custom prefixes keep working). In virtual\nmode this component defers all scrolling to the slotted list's own `scrollToIndex()`, and sizes\nthat list to its own height -- without which the list would scroll inside `lr-virtual-list`'s\n24rem `--lr-virtual-list-height` default no matter how tall this viewport is. That sizing is a\npercentage, so virtual mode needs a height-bounded parent, the same requirement slotted mode's\nown scroll container already has; a consumer's own rule or inline style setting\n`--lr-virtual-list-height` on the list still wins.\n\n**Follow/release state machine.** While `follow` is engaged, content growth re-scrolls to the end.\nRelease happens only on a *user-intent* gesture (wheel, touchmove, scrollbar-drag, or\nPageUp/ArrowUp/Home while the log region has focus) that leaves the view more than\n`bottomThreshold` from the end -- a scroll caused by this component's own programmatic scrolling,\nor by a layout shift, never releases it. Reaching the bottom again by any means re-engages `follow`.\nThe internal log defaults to `live=\"off\"`, which avoids announcing every streaming token. Consumers\nthat append complete messages at an announcement-safe cadence can opt into `polite` or `assertive`.\n\n**`scrollToUnread()` in virtual mode.** The target row is scrolled with `align: 'start'` so the\ndivider boundary lands at the top of the view with the unread content visible below it -- the\nonly alignment that matches what \"scroll to the divider\" means here. The underlying virtual list\nonly issues a corrective re-scroll for an initially-unmeasured target when that target's *own*\nheight is what was uncertain (`align: 'end'`/a downward `align: 'auto'`); a `'start'`-aligned\ntarget's position is a function of the rows *before* it, so it has no such self-correction. In\npractice the rows leading up to an unread boundary are usually ones the reader already scrolled\npast (and so already measured), which keeps this accurate in the common case; a still-unmeasured\nlong-distance jump can land approximately rather than pixel-exact. Fixing that fully would mean\nchanging how the underlying list resolves offsets, which is out of scope here -- `align: 'end'`\nwas considered and rejected because it changes the visible outcome (it would put the *bottom* of\nthe boundary row at the viewport's bottom edge, hiding the unread content the jump is meant to\nreveal, not just changing how precisely it lands).\n\nRenders no messages and computes no unread state itself -- the host supplies `unreadStartIndex`;\nno virtualization of its own (`<lr-virtual-list>`); not a generic overflow surface\n(`<lr-scroller>`); no message semantics (`<lr-chat-message>`).\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | The transcript: ordinary element children, or exactly one `<lr-virtual-list>`. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The positioning root. |\n| `content` | The slotted-content wrapper the growth observers watch. |\n| `jump-pill` | The built-in jump-to-latest button, absent while `follow` is engaged. |\n| `scroll` | The scroll container (`role=\"log\"
|
|
2607
|
+
"value": "`<lr-chat-viewport>` — the transcript scroll container: owns stick-to-bottom behavior while an\nanswer streams, the \"jump to latest\" pill, and the unread divider.\n\n**Two supported content shapes, auto-detected:** ordinary element children (typically\n`<lr-chat-message>`s -- *slotted mode*), or exactly one `<lr-virtual-list>` (*virtual mode*,\ndetected via `instanceof` against the imported class so custom prefixes keep working). In virtual\nmode this component defers all scrolling to the slotted list's own `scrollToIndex()`, and sizes\nthat list to its own height -- without which the list would scroll inside `lr-virtual-list`'s\n24rem `--lr-virtual-list-height` default no matter how tall this viewport is. That sizing is a\npercentage, so virtual mode needs a height-bounded parent, the same requirement slotted mode's\nown scroll container already has; a consumer's own rule or inline style setting\n`--lr-virtual-list-height` on the list still wins.\n\n**Follow/release state machine.** While `follow` is engaged, content growth re-scrolls to the end.\nRelease happens only on a *user-intent* gesture (wheel, touchmove, scrollbar-drag, or\nPageUp/ArrowUp/Home while the log region has focus) that leaves the view more than\n`bottomThreshold` from the end -- a scroll caused by this component's own programmatic scrolling,\nor by a layout shift, never releases it. Reaching the bottom again by any means re-engages `follow`.\nThe internal log defaults to `live=\"off\"`, which avoids announcing every streaming token. Consumers\nthat append complete messages at an announcement-safe cadence can opt into `polite` or `assertive`.\n\n**`scrollToUnread()` in virtual mode.** The target row is scrolled with `align: 'start'` so the\ndivider boundary lands at the top of the view with the unread content visible below it -- the\nonly alignment that matches what \"scroll to the divider\" means here. The underlying virtual list\nonly issues a corrective re-scroll for an initially-unmeasured target when that target's *own*\nheight is what was uncertain (`align: 'end'`/a downward `align: 'auto'`); a `'start'`-aligned\ntarget's position is a function of the rows *before* it, so it has no such self-correction. In\npractice the rows leading up to an unread boundary are usually ones the reader already scrolled\npast (and so already measured), which keeps this accurate in the common case; a still-unmeasured\nlong-distance jump can land approximately rather than pixel-exact. Fixing that fully would mean\nchanging how the underlying list resolves offsets, which is out of scope here -- `align: 'end'`\nwas considered and rejected because it changes the visible outcome (it would put the *bottom* of\nthe boundary row at the viewport's bottom edge, hiding the unread content the jump is meant to\nreveal, not just changing how precisely it lands).\n\nRenders no messages and computes no unread state itself -- the host supplies `unreadStartIndex`;\nno virtualization of its own (`<lr-virtual-list>`); not a generic overflow surface\n(`<lr-scroller>`); no message semantics (`<lr-chat-message>`).\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | The transcript: ordinary element children, or exactly one `<lr-virtual-list>`. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The positioning root. |\n| `content` | The slotted-content wrapper the growth observers watch. |\n| `jump-pill` | The built-in jump-to-latest button, absent while `follow` is engaged. |\n| `scroll` | The scroll container (`role=\"log\"` and, in slotted mode, `tabindex=\"0\"`). In virtual mode it stops scrolling itself and drops its tab stop because the slotted list owns both scrolling and keyboard focus. |\n| `unread-divider` | The \"New messages\" separator (slotted mode only). |"
|
|
2552
2608
|
},
|
|
2553
2609
|
"attributes": [
|
|
2554
2610
|
{
|
|
@@ -2569,7 +2625,7 @@
|
|
|
2569
2625
|
"name": "follow",
|
|
2570
2626
|
"description": {
|
|
2571
2627
|
"kind": "markdown",
|
|
2572
|
-
"value": "
|
|
2628
|
+
"value": "Type: `boolean` \nDefault: `true`"
|
|
2573
2629
|
}
|
|
2574
2630
|
},
|
|
2575
2631
|
{
|
|
@@ -2606,7 +2662,7 @@
|
|
|
2606
2662
|
"name": "lr-checkbox",
|
|
2607
2663
|
"description": {
|
|
2608
2664
|
"kind": "markdown",
|
|
2609
|
-
"value": "`<lr-checkbox>` — a boolean form control. Structurally the same idea as\n`<lr-switch>` (form-associated via `ElementInternals`, click and\nSpace both toggle) but with checkbox semantics: `role=\"checkbox\"` +\nan `aria-checked` that can also be `\"mixed\"`, and a visual box/checkmark\ninstead of a track/thumb.\n\n`checked` is not a plain string, so this attaches `ElementInternals`\ndirectly and implements its own `updateValidity()` rather than using the\n`FormAssociated` mixin — see `<lr-combobox>` for the same\ndirect-`ElementInternals` shape with a non-string value.\n\nDeliberately no hint/error chrome of its own -- the default slot already carries real, visible\nlabel text (see `@slot` below), so a labeled-field frame built around `label`/`hint`/`errorText`\nprops has nothing to add here. A consumer needing hint/error messaging composes it in their own\nwrapper (e.g. `<lr-tool-param-form>` folds a boolean field's validation error into adjacent\ndescription text / `aria-label` rather than a `<lr-checkbox>`-owned slot), the same way a\nnative `<input type=\"checkbox\">` plus `<label>` pairs with an externally-owned error node.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Label text, rendered next to the box. Clicking it toggles the checkbox, the same as clicking a native checkbox's associated `<label>`. If left empty, set `aria-label` on the host so the control still has an accessible name. A host `aria-describedby` attribute is
|
|
2665
|
+
"value": "`<lr-checkbox>` — a boolean form control. Structurally the same idea as\n`<lr-switch>` (form-associated via `ElementInternals`, click and\nSpace both toggle) but with checkbox semantics: `role=\"checkbox\"` +\nan `aria-checked` that can also be `\"mixed\"`, and a visual box/checkmark\ninstead of a track/thumb.\n\n`checked` is not a plain string, so this attaches `ElementInternals`\ndirectly and implements its own `updateValidity()` rather than using the\n`FormAssociated` mixin — see `<lr-combobox>` for the same\ndirect-`ElementInternals` shape with a non-string value.\n\nDeliberately no hint/error chrome of its own -- the default slot already carries real, visible\nlabel text (see `@slot` below), so a labeled-field frame built around `label`/`hint`/`errorText`\nprops has nothing to add here. A consumer needing hint/error messaging composes it in their own\nwrapper (e.g. `<lr-tool-param-form>` folds a boolean field's validation error into adjacent\ndescription text / `aria-label` rather than a `<lr-checkbox>`-owned slot), the same way a\nnative `<input type=\"checkbox\">` plus `<label>` pairs with an externally-owned error node.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Label text, rendered next to the box. Clicking it toggles the checkbox, the same as clicking a native checkbox's associated `<label>`. If left empty, set `aria-label` on the host so the control still has an accessible name. A host `aria-describedby` attribute is resolved onto the internal `role=\"checkbox\"` through `ariaDescribedByElements` so externally-owned descriptions remain valid across the shadow boundary. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The whole interactive control (`role=\"checkbox\"`); wraps the box and label. |\n| `box` | The small square that shows the checkmark/indeterminate dash. |\n| `checkmark` | The checkmark (or indeterminate dash) glyph inside the box. |\n| `label` | The wrapper around the default slot. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-checkbox-label-indent` (default: `calc(min(var(--lr-icon-button-size), 1.75rem) + var(--lr-space-s))`) — The inline distance from the control's start edge to the start of the label text, i.e. the box's own floor plus the gap next to it. Published so a consumer composing per-option hint text under the label can align it without re-deriving that formula from the shadow styles, and used as the source of the real gap so the two cannot drift. Setting it on the element (or on `lr-checkbox` in your own stylesheet) moves the label; because custom properties inherit down and not sideways, it is *not* readable from a sibling node in your tree — align a sibling by computing the same formula from `--lr-theme-icon-button-size` and `--lr-theme-space-s`, which you control.\n- `--lr-checkbox-checked-bg` (default: `var(--lr-color-brand)`) — Background of `[part='box']` while `checked` or `indeterminate`. Retint just this control's checked fill without touching the shared `--lr-color-brand` token every other component also reads.\n- `--lr-checkbox-checked-border` (default: `var(--lr-color-brand)`) — Border color of `[part='box']` while `checked` or `indeterminate`."
|
|
2610
2666
|
},
|
|
2611
2667
|
"attributes": [
|
|
2612
2668
|
{
|
|
@@ -2729,7 +2785,7 @@
|
|
|
2729
2785
|
"name": "lr-checkpoint",
|
|
2730
2786
|
"description": {
|
|
2731
2787
|
"kind": "markdown",
|
|
2732
|
-
"value": "`<lr-checkpoint>` — an inline conversation restore point: a labeled marker between messages\nwhose Restore affordance confirms inline, then hands the host a `lr-restore` event. This\ncomponent persists and restores nothing itself — host state in, events out.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Optional supplemental content under the marker row (e.g. what changed since this point). |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The marker root (`role=\"group\"`). |\n| `cancel-button` | Cancels, reverting to `restore-button`. |\n| `confirm-button` | Confirms the restore, firing `lr-restore`. |\n| `confirm-group` | The inline confirm prompt, swapped in for `restore-button` while confirming. |\n| `confirm-prompt` | The confirm prompt text. |\n| `icon` | The bookmark glyph. |\n| `label` | The computed label text. |\n| `line` | Each of the two flanking rules. |\n| `restore-button` | The Restore button. Only rendered while `restorable`. |\n| `timestamp` | The formatted `timestamp`, when set. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-checkpoint-spin-duration` (default: `
|
|
2788
|
+
"value": "`<lr-checkpoint>` — an inline conversation restore point: a labeled marker between messages\nwhose Restore affordance confirms inline, then hands the host a `lr-restore` event. This\ncomponent persists and restores nothing itself — host state in, events out.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Optional supplemental content under the marker row (e.g. what changed since this point). |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The marker root (`role=\"group\"`). |\n| `cancel-button` | Cancels, reverting to `restore-button`. |\n| `confirm-button` | Confirms the restore, firing `lr-restore`. |\n| `confirm-group` | The inline confirm prompt, swapped in for `restore-button` while confirming. |\n| `confirm-prompt` | The confirm prompt text. |\n| `icon` | The bookmark glyph. |\n| `label` | The computed label text. |\n| `line` | Each of the two flanking rules. |\n| `restore-button` | The Restore button. Only rendered while `restorable`. |\n| `timestamp` | The formatted `timestamp`, when set. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-checkpoint-spin-duration` (default: `var(--lr-transition-ambient)`) — Restoring-spinner timing, inheriting the shared ambient-motion token by default (stopped under reduced motion)."
|
|
2733
2789
|
},
|
|
2734
2790
|
"attributes": [
|
|
2735
2791
|
{
|
|
@@ -2780,7 +2836,7 @@
|
|
|
2780
2836
|
"name": "lr-chip",
|
|
2781
2837
|
"description": {
|
|
2782
2838
|
"kind": "markdown",
|
|
2783
|
-
"value": "`<lr-chip>` — a small, content-agnostic pill for a short label: a tag, an\nactive-filter/scope indicator, etc. Distinct from `<lr-attachment-chip>`\n(specifically file-shaped, with a thumbnail/size/upload-progress) — this\none carries no domain assumptions at all, just a label and an optional\nleading icon/dot.\n\n`tone` tints the whole pill using the same loud-color-on-quiet-tint\nconvention `<lr-tool-call-chip>`/`<lr-citation-badge>` already\nestablish for status coloring: background is the tone's `-quiet` tint,\ntext/icon is the tone's loud color. `neutral` (the default) has no\ndedicated token pair of its own, so it falls back to a plain\nbordered-surface look — the same \"no signal\" treatment\n`<lr-citation-badge>`'s `default` status and `<lr-tool-call-chip>`'s\n`pending` status already use.\n\nThis is a controlled component: clicking the remove (×) button only fires\n`lr-remove` — the chip never removes itself from the DOM on its own\ninteraction, the same contract `<lr-attachment-chip>`/\n`<lr-conversation-item>` already follow. A consumer owns the underlying\nlist and decides whether/how the click actually removes anything.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | The chip's label content. |\n| `icon` | Optional leading icon or status dot. Nothing is reserved for it (no extra gap) when left empty. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The pill's root container. |\n| `icon` | Wrapper around the `icon` slot. Hidden entirely while empty. |\n| `label` | Wrapper around the default slot. |\n| `remove-button` | The remove (×) affordance, only rendered while `removable`. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-chip-accent` (default: `var(--lr-color-text)`) — Text/icon color of the pill. Each `tone` sets it to that tone's loud color.\n- `--lr-chip-bg` (default: `var(--lr-color-surface)`) — Background of the pill. Each `tone` sets it to that tone's `-quiet` tint.\n- `--lr-chip-border` (default: `var(--lr-color-border)`) — Border color of the pill. Every non-neutral `tone` sets it to `transparent`.\n- `--lr-chip-font-size` (default: `var(--lr-font-size-sm)`) — Label font size. Each `size` sets it to that step's font size.\n- `--lr-chip-gap` (default: `var(--lr-space-xs)`) — Gap between the icon, label, and remove button. Each `size` sets it to that step's gap.\n- `--lr-chip-radius` (default: `var(--lr-radius-pill)`) — Corner radius of the pill and of the remove button, kept in sync so retuning one retunes both. Does not vary by `size` tier.\n- `--lr-chip-icon-size` (default: `var(--lr-font-size-sm)`) — Font size of the `icon` slot wrapper. Each `size` sets it to that step's icon size.\n- `--lr-chip-padding-block` (default: `var(--lr-size-0-25rem)`) — Block padding of the pill. Each `size` sets it to that step's block padding.\n- `--lr-chip-padding-inline` (default: `var(--lr-space-s)`) — Inline padding of the pill. Each `size` sets it to that step's inline padding.\n- `--lr-chip-min-height` (default: `var(--lr-size-1-5rem)`) —
|
|
2839
|
+
"value": "`<lr-chip>` — a small, content-agnostic pill for a short label: a tag, an\nactive-filter/scope indicator, etc. Distinct from `<lr-attachment-chip>`\n(specifically file-shaped, with a thumbnail/size/upload-progress) — this\none carries no domain assumptions at all, just a label and an optional\nleading icon/dot.\n\n`tone` tints the whole pill using the same loud-color-on-quiet-tint\nconvention `<lr-tool-call-chip>`/`<lr-citation-badge>` already\nestablish for status coloring: background is the tone's `-quiet` tint,\ntext/icon is the tone's loud color. `neutral` (the default) has no\ndedicated token pair of its own, so it falls back to a plain\nbordered-surface look — the same \"no signal\" treatment\n`<lr-citation-badge>`'s `default` status and `<lr-tool-call-chip>`'s\n`pending` status already use.\n\nThis is a controlled component: clicking the remove (×) button only fires\n`lr-remove` — the chip never removes itself from the DOM on its own\ninteraction, the same contract `<lr-attachment-chip>`/\n`<lr-conversation-item>` already follow. A consumer owns the underlying\nlist and decides whether/how the click actually removes anything.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | The chip's label content. |\n| `icon` | Optional leading icon or status dot. Nothing is reserved for it (no extra gap) when left empty. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The pill's root container. |\n| `icon` | Wrapper around the `icon` slot. Hidden entirely while empty. |\n| `label` | Wrapper around the default slot. |\n| `remove-button` | The remove (×) affordance, only rendered while `removable`. |\n| `toggle-button` | The real toggle control, rendered over the non-interactive label when toggle mode is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-chip-accent` (default: `var(--lr-color-text)`) — Text/icon color of the pill. Each `tone` sets it to that tone's loud color.\n- `--lr-chip-bg` (default: `var(--lr-color-surface)`) — Background of the pill. Each `tone` sets it to that tone's `-quiet` tint.\n- `--lr-chip-border` (default: `var(--lr-color-border)`) — Border color of the pill. Every non-neutral `tone` sets it to `transparent`.\n- `--lr-chip-font-size` (default: `var(--lr-font-size-sm)`) — Label font size. Each `size` sets it to that step's font size.\n- `--lr-chip-gap` (default: `var(--lr-space-xs)`) — Gap between the icon, label, and remove button. Each `size` sets it to that step's gap.\n- `--lr-chip-radius` (default: `var(--lr-radius-pill)`) — Corner radius of the pill and of the remove button, kept in sync so retuning one retunes both. Does not vary by `size` tier.\n- `--lr-chip-icon-size` (default: `var(--lr-font-size-sm)`) — Font size of the `icon` slot wrapper. Each `size` sets it to that step's icon size.\n- `--lr-chip-padding-block` (default: `var(--lr-size-0-25rem)`) — Block padding of the pill. Each `size` sets it to that step's block padding.\n- `--lr-chip-padding-inline` (default: `var(--lr-space-s)`) — Inline padding of the pill. Each `size` sets it to that step's inline padding.\n- `--lr-chip-min-height` (default: `var(--lr-size-1-5rem)`) — Component density floor for an interactive chip. The real toggle/remove controls also enforce the shared `--lr-icon-button-size` target floor.\n- `--lr-chip-height` — Exact block size of the chip. Undeclared by default, so the chip grows to fit its content (floored by `--lr-chip-min-height` when interactive). Set it to pin a fixed height. A value below the shared interactive target is for non-interactive chips only.\n- `--lr-chip-pressed-bg` (default: `var(--lr-chip-bg)`) — Background while a toggleable chip is selected, independently themeable from its resting background.\n- `--lr-chip-pressed-border` (default: `var(--lr-chip-accent)`) — Border color while a toggleable chip is selected, independently themeable from the label/icon color."
|
|
2784
2840
|
},
|
|
2785
2841
|
"attributes": [
|
|
2786
2842
|
{
|
|
@@ -2801,7 +2857,7 @@
|
|
|
2801
2857
|
"name": "selected",
|
|
2802
2858
|
"description": {
|
|
2803
2859
|
"kind": "markdown",
|
|
2804
|
-
"value": "Opt-in toggle/pressed mode -- the current pressed value. Setting `selected` (to `true`, the\ncommon way to start a chip already pressed) opts the chip into toggle mode automatically, so\n`<lr-chip selected>` alone is enough: `[part='
|
|
2860
|
+
"value": "Opt-in toggle/pressed mode -- the current pressed value. Setting `selected` (to `true`, the\ncommon way to start a chip already pressed) opts the chip into toggle mode automatically, so\n`<lr-chip selected>` alone is enough: `[part='toggle-button']` renders as a native,\nkeyboard-activatable button and reflects\n`aria-pressed`, and toggles on click/activation, emitting `lr-chip-select`. That opt-in\n(tracked by `toggleable`, see below) persists once made, so toggling `selected` back to\n`false` never strips the chip's interactivity -- a chip a user has clicked \"off\" must stay\nclickable to turn it back \"on\". Has no effect when combined with `removable`, since that\nmode already owns the chip's one native action. The label slot is inert in toggle mode, so\nunrestricted slotted descendants can never nest inside or double-activate the real button.\nThis component's two real use cases (a chart-series visibility\ntoggle, a category filter chip) never need both at once. `false` (the default, with\n`toggleable` also left at its default) reproduces today's exact passive-label-pill output.\n\nType: `boolean` \nDefault: `false`"
|
|
2805
2861
|
}
|
|
2806
2862
|
},
|
|
2807
2863
|
{
|
|
@@ -2967,6 +3023,36 @@
|
|
|
2967
3023
|
}
|
|
2968
3024
|
]
|
|
2969
3025
|
},
|
|
3026
|
+
{
|
|
3027
|
+
"name": "lr-claim-evidence",
|
|
3028
|
+
"description": {
|
|
3029
|
+
"kind": "markdown",
|
|
3030
|
+
"value": "`<lr-claim-evidence>` — a controlled claim-by-claim grounding audit. It relates generated\nclaims to complete citation records, exposes assessment status/confidence, and tolerates\nmissing citation ids without fabricating evidence.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The named claim-evidence region. |\n| `claim` | One claim. |\n| `claim-selected` | The selected claim. |\n| `claim-text` | The claim text. |\n| `claim-trigger` | A claim's selection button. |\n| `confidence` | The optional localized confidence. |\n| `empty` | The empty state. |\n| `evidence` | Resolved evidence citations for one claim. |\n| `explanation` | Caller-supplied assessment explanation. |\n| `list` | The claim list. |\n| `status` | The support-status badge. |"
|
|
3031
|
+
},
|
|
3032
|
+
"attributes": [
|
|
3033
|
+
{
|
|
3034
|
+
"name": "label",
|
|
3035
|
+
"description": {
|
|
3036
|
+
"kind": "markdown",
|
|
3037
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
3038
|
+
}
|
|
3039
|
+
},
|
|
3040
|
+
{
|
|
3041
|
+
"name": "locale",
|
|
3042
|
+
"description": {
|
|
3043
|
+
"kind": "markdown",
|
|
3044
|
+
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
3045
|
+
}
|
|
3046
|
+
},
|
|
3047
|
+
{
|
|
3048
|
+
"name": "selected-claim-id",
|
|
3049
|
+
"description": {
|
|
3050
|
+
"kind": "markdown",
|
|
3051
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
3052
|
+
}
|
|
3053
|
+
}
|
|
3054
|
+
]
|
|
3055
|
+
},
|
|
2970
3056
|
{
|
|
2971
3057
|
"name": "lr-code-block",
|
|
2972
3058
|
"description": {
|
|
@@ -3178,7 +3264,7 @@
|
|
|
3178
3264
|
"name": "lr-code-editor",
|
|
3179
3265
|
"description": {
|
|
3180
3266
|
"kind": "markdown",
|
|
3181
|
-
"value": "`<lr-code-editor>` — dependency-free multiline code editing surface with optional line numbers.\n\nKeyboard contract (no keyboard trap, WCAG 2.1.2): Tab inserts one indent unit of spaces at the\ncaret. Shift+Tab is never captured, so it always performs native reverse focus traversal.\nPressing Escape releases the next Tab for native forward traversal instead of indenting; typing\nany other key, or focus leaving the editor, re-arms Tab indentation.\n\nTab-width precedence, highest first: an explicitly assigned `tabSize` (property or `tab-size`\nattribute) wins over everything; otherwise a host-level `--lr-code-editor-tab-size` override\nwins; otherwise the stylesheet's `:host` default of `2` applies. The property therefore stays the\nprimary knob, but it no longer silently shadows the token while it sits at its default -- see\n`indentWidth` for how the same order drives the Tab key, not just the rendered tab stops.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `error` | Validation message. |\n| `hint` | Supporting text. |\n| `label` | Visible label content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `editor` | Editor frame. |\n| `error` | Validation message. |\n| `form-control` | Outer wrapper. |\n| `gutter` | Line-number gutter. |\n| `hint` | Supporting text. |\n| `label` |
|
|
3267
|
+
"value": "`<lr-code-editor>` — dependency-free multiline code editing surface with optional line numbers.\n\nKeyboard contract (no keyboard trap, WCAG 2.1.2): Tab inserts one indent unit of spaces at the\ncaret. Shift+Tab is never captured, so it always performs native reverse focus traversal.\nPressing Escape releases the next Tab for native forward traversal instead of indenting; typing\nany other key, or focus leaving the editor, re-arms Tab indentation.\n\nTab-width precedence, highest first: an explicitly assigned `tabSize` (property or `tab-size`\nattribute) wins over everything; otherwise a host-level `--lr-code-editor-tab-size` override\nwins; otherwise the stylesheet's `:host` default of `2` applies. The property therefore stays the\nprimary knob, but it no longer silently shadows the token while it sits at its default -- see\n`indentWidth` for how the same order drives the Tab key, not just the rendered tab stops.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `error` | Validation message. |\n| `hint` | Supporting text. |\n| `label` | Visible label content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `editor` | Editor frame. |\n| `error` | Validation message. |\n| `form-control` | Outer wrapper. |\n| `form-control-label` | Label. Also carries the `label` part token for compatibility. |\n| `gutter` | Line-number gutter. |\n| `hint` | Supporting text. |\n| `label` | Alias of `form-control-label`. |\n| `textarea` | Native textarea. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-code-editor-min-block-size` (default: `var(--lr-size-8rem)`) — Minimum block size of the editor frame and its textarea.\n- `--lr-code-editor-line-height` (default: `1.5`) — Line height shared by the gutter and the textarea, so line numbers stay aligned with their lines.\n- `--lr-code-editor-tab-size` (default: `2`) — The textarea's `tab-size`. The single channel for tab width — the class writes this token rather than setting `tab-size` directly."
|
|
3182
3268
|
},
|
|
3183
3269
|
"attributes": [
|
|
3184
3270
|
{
|
|
@@ -3338,7 +3424,7 @@
|
|
|
3338
3424
|
"name": "lr-color-picker",
|
|
3339
3425
|
"description": {
|
|
3340
3426
|
"kind": "markdown",
|
|
3341
|
-
"value": "`<lr-color-picker>` — a form-associated native color picker with label, hint and error chrome.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `error` | Custom validation-error content. |\n| `hint` | Supporting text. |\n| `label` | Custom label content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `error` | The validation message. |\n| `form-control` | The field wrapper. |\n| `form-control-label` | The label. Also carries the `label` part token for back-compat. |\n| `hint` | Supporting text. |\n| `input` | The native color input. |\n| `label` | Alias of `form-control-label`, kept for back-compat. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-color-picker-swatch-size` — The swatch's inline and block size, scaled by `size
|
|
3427
|
+
"value": "`<lr-color-picker>` — a form-associated native color picker with label, hint and error chrome.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `error` | Custom validation-error content. |\n| `hint` | Supporting text. |\n| `label` | Custom label content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `error` | The validation message. |\n| `form-control` | The field wrapper. |\n| `form-control-label` | The label. Also carries the `label` part token for back-compat. |\n| `hint` | Supporting text. |\n| `input` | The native color input. |\n| `label` | Alias of `form-control-label`, kept for back-compat. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-color-picker-swatch-size` — The swatch's inline and block size, scaled by `size`.\n- `--lr-color-picker-gap` (default: `var(--lr-space-xs)`) — Gap between field chrome.\n- `--lr-color-picker-radius` (default: `var(--lr-radius)`) — Swatch corner radius.\n- `--lr-color-picker-hover-border-color` (default: `var(--lr-color-brand)`) — Hover border color."
|
|
3342
3428
|
},
|
|
3343
3429
|
"attributes": [
|
|
3344
3430
|
{
|
|
@@ -3410,7 +3496,7 @@
|
|
|
3410
3496
|
"name": "lr-combobox",
|
|
3411
3497
|
"description": {
|
|
3412
3498
|
"kind": "markdown",
|
|
3413
|
-
"value": "`<lr-combobox>` — a filterable single/multi select that combines a text\ninput with a listbox. Mirrors the core `<wa-combobox>` API under `lr-`.\n\nOptions are `<lr-option value>` children. Emits native-style `change`/`input`\n(like Web Awesome) plus `lr-show`/`lr-hide`/`lr-clear`.\nStandard size tiers share their outer control height with sibling Lyra controls; the decorative\nexpand icon scales inside that allocation without creating an independent action target.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | `<lr-option>` elements. |\n| `end` | Adornment after the filter input and the built-in clear action, and before the expand icon — so consumer content never sits outboard of the dropdown chevron. |\n| `error` | Custom error content. |\n| `hint` | Custom hint content. |\n| `label` | Custom label content. |\n| `start` | Adornment at the inline-start of the trigger row, before the selected-value tags and the filter input. Slotted content is decorative chrome, not an option: `collectOptions()` only ever collects `<lr-option>` elements from the default slot. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `clear-button` | The clear button. |\n| `combobox` | The input container (positioning anchor). |\n| `combobox-input` | The text input. |\n| `end` | Wrapper around the `end` adornment slot; `hidden` while nothing is slotted. |\n| `error` | The error message. |\n| `expand-icon` | The dropdown indicator. |\n| `form-control` | The outer wrapper around label, combobox, listbox, error and hint. |\n| `form-control-label` | The `<label>` element. |\n| `hint` | The hint message. |\n| `listbox` | The options popover. |\n| `option` | An option row. |\n| `option-badge` | An async option row's optional trailing metadata badge. |\n| `option-dot` | An option row's leading status dot (when `dot-color` is set). |\n| `option-icon` | An async option row's optional decorative leading visual. |\n| `option-label` | An option row's label/sub wrapper. |\n| `option-overflow` | The \"+N more\" indicator shown when rows are capped by `maxRender`. |\n| `option-sub` | An option row's secondary line (when `sub` is set). |\n| `start` | Wrapper around the `start` adornment slot; `hidden` while nothing is slotted. |\n| `tag` | An individual selected tag. |\n| `tag__remove-button` | A tag's remove button. |\n| `tags` | The multi-select tag container. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-combobox-trigger-padding` — Padding inside the input container.\n- `--lr-combobox-trigger-min-height` — Minimum input-container block size, scaled by `size`.\n- `--lr-combobox-trigger-height` — Exact input-container height. Unset by default, which leaves `--lr-combobox-trigger-min-height` as a floor only; set it to a length to both floor and cap the row (e.g. to pixel-match `<lr-input>`/`<lr-select>` in the same toolbar). Because it is never declared by the component itself, it can be set from an ancestor or an outer-tree rule as well as inline on the element. Intended for a single-row combobox: in `multiple` mode a tag row long enough to wrap overflows the pinned box visibly (nothing is clipped or made unreachable), so leave it unset there.\n- `--lr-combobox-font-size` — Input text size.\n- `--lr-combobox-tag-padding` — Selected-tag padding.\n- `--lr-combobox-tag-font-size` — Selected-tag text size.\n- `--lr-combobox-expand-size` — Decorative expand-icon box size, scaled by `size`.\n- `--lr-combobox-gap` (default: `var(--lr-space-xs)`) — Gap between the start/end adornments, tags, and filter input inside the trigger row. Unlike the size knobs above it does not vary by `size` tier. Override it to retune without a `::part(combobox)` rule.\n- `--lr-combobox-radius` (default: `var(--lr-radius)`) — Corner radius of the trigger row (`[part='combobox']`). Does not vary by `size` tier.\n- `--lr-combobox-option-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of a hovered or keyboard-active option row.\n- `--lr-combobox-option-selected-bg` (default: `transparent`) — Background of the currently-selected option row. Not declared on `:host`; retheme without hijacking `--lr-color-brand`.\n- `--lr-combobox-option-selected-border` (default: `var(--lr-color-brand)`) — Border color of the selected option row.\n- `--lr-combobox-option-selected-color` (default: `var(--lr-color-brand)`) — Text color of the selected option row.\n- `--lr-combobox-option-selected-font-weight` (default: `var(--lr-font-weight-semibold)`) — Font weight of the selected option row."
|
|
3499
|
+
"value": "`<lr-combobox>` — a filterable single/multi select that combines a text\ninput with a listbox. Mirrors the core `<wa-combobox>` API under `lr-`.\n\nOptions are `<lr-option value>` children. Emits native-style `change`/`input`\n(like Web Awesome) plus `lr-show`/`lr-hide`/`lr-clear`.\nStandard size tiers share their outer control height with sibling Lyra controls; the decorative\nexpand icon scales inside that allocation without creating an independent action target.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | `<lr-option>` elements. |\n| `end` | Adornment after the filter input and the built-in clear action, and before the expand icon — so consumer content never sits outboard of the dropdown chevron. |\n| `error` | Custom error content. |\n| `hint` | Custom hint content. |\n| `label` | Custom label content. |\n| `start` | Adornment at the inline-start of the trigger row, before the selected-value tags and the filter input. Slotted content is decorative chrome, not an option: `collectOptions()` only ever collects `<lr-option>` elements from the default slot. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `clear-button` | The clear button. |\n| `combobox` | The input container (positioning anchor). |\n| `combobox-input` | The text input. |\n| `end` | Wrapper around the `end` adornment slot; `hidden` while nothing is slotted. |\n| `error` | The error message. |\n| `expand-icon` | The dropdown indicator. |\n| `form-control` | The outer wrapper around label, combobox, listbox, error and hint. |\n| `form-control-label` | The `<label>` element. |\n| `hint` | The hint message. |\n| `listbox` | The options popover. |\n| `option` | An option row. |\n| `option-badge` | An async option row's optional trailing metadata badge. |\n| `option-dot` | An option row's leading status dot (when `dot-color` is set). |\n| `option-icon` | An async option row's optional decorative leading visual. |\n| `option-label` | An option row's label/sub wrapper. |\n| `option-overflow` | The \"+N more\" indicator shown when rows are capped by `maxRender`. |\n| `option-sub` | An option row's secondary line (when `sub` is set). |\n| `start` | Wrapper around the `start` adornment slot; `hidden` while nothing is slotted. |\n| `tag` | An individual selected tag. |\n| `tag-label` | The wrapping/ellipsis-safe selected-tag label. |\n| `tag__remove-button` | A tag's remove button. |\n| `tags` | The multi-select tag container. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-combobox-trigger-padding` — Padding inside the input container.\n- `--lr-combobox-trigger-min-height` — Minimum input-container block size, scaled by `size`.\n- `--lr-combobox-trigger-height` — Exact input-container height. Unset by default, which leaves `--lr-combobox-trigger-min-height` as a floor only; set it to a length to both floor and cap the row (e.g. to pixel-match `<lr-input>`/`<lr-select>` in the same toolbar). Because it is never declared by the component itself, it can be set from an ancestor or an outer-tree rule as well as inline on the element. Intended for a single-row combobox: in `multiple` mode a tag row long enough to wrap overflows the pinned box visibly (nothing is clipped or made unreachable), so leave it unset there.\n- `--lr-combobox-font-size` — Input text size.\n- `--lr-combobox-tag-padding` — Selected-tag padding.\n- `--lr-combobox-tag-font-size` — Selected-tag text size.\n- `--lr-combobox-expand-size` — Decorative expand-icon box size, scaled by `size`.\n- `--lr-combobox-gap` (default: `var(--lr-space-xs)`) — Gap between the start/end adornments, tags, and filter input inside the trigger row. Unlike the size knobs above it does not vary by `size` tier. Override it to retune without a `::part(combobox)` rule.\n- `--lr-combobox-radius` (default: `var(--lr-radius)`) — Corner radius of the trigger row (`[part='combobox']`). Does not vary by `size` tier.\n- `--lr-combobox-option-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of a hovered or keyboard-active option row.\n- `--lr-combobox-option-selected-bg` (default: `transparent`) — Background of the currently-selected option row. Not declared on `:host`; retheme without hijacking `--lr-color-brand`.\n- `--lr-combobox-option-selected-border` (default: `var(--lr-color-brand)`) — Border color of the selected option row.\n- `--lr-combobox-option-selected-color` (default: `var(--lr-color-brand)`) — Text color of the selected option row.\n- `--lr-combobox-option-selected-font-weight` (default: `var(--lr-font-weight-semibold)`) — Font weight of the selected option row."
|
|
3414
3500
|
},
|
|
3415
3501
|
"attributes": [
|
|
3416
3502
|
{
|
|
@@ -3601,14 +3687,14 @@
|
|
|
3601
3687
|
"name": "lr-command-palette",
|
|
3602
3688
|
"description": {
|
|
3603
3689
|
"kind": "markdown",
|
|
3604
|
-
"value": "`<lr-command-palette>` — searchable application command menu with keyboard navigation.\nShared overlay infrastructure (the same one `<lr-dialog>` uses) coordinates focus-trapping\nTab, Escape dismissal, and document scroll-locking for as long as the palette is open.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `backdrop` | Modal backdrop. |\n| `command` | A command button. |\n| `description` | A command's secondary description text. Rendered for every command; empty when the command has no `description`. |\n| `dialog` | Palette dialog. |\n| `empty` | The \"no results\" message. Only rendered when the filter matches no command. |\n| `group` | A group heading, rendered before the first command of each `group`. |\n| `icon` | A command's leading icon glyph. Only rendered when the command has an `icon`. |\n| `input` | Search input. |\n| `list` | Command list. |\n| `search` | The search row wrapping the leading icon and the `input`. |\n| `shortcut` | A command's trailing shortcut hint. Only rendered when the command has a `shortcut`. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-command-palette-z-index` (default: `var(--lr-overlay-stack-index, var(--lr-layer-modal))`) — Stacking index of the backdrop.\n- `--lr-command-palette-max-inline-size` (default: `var(--lr-size-48rem)`) — Maximum dialog width.\n- `--lr-command-palette-max-block-size` (default: `70vh`) — Maximum dialog height.\n- `--lr-command-palette-list-max-block-size` (default: `50vh`) — Maximum height of the scrolling command list.\n- `--lr-command-palette-offset-block-start` (default: `12vh`) — Gap between the viewport top and the dialog.\n- `--lr-command-palette-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of the active (keyboard-highlighted, `data-active=\"true\"`) command row. Declared as an inline `var()` fallback (never on `:host`), so setting it on the element or an ancestor recolors only the active row without hijacking the library-wide `--lr-color-brand-quiet` token."
|
|
3690
|
+
"value": "`<lr-command-palette>` — searchable application command menu with keyboard navigation.\nShared overlay infrastructure (the same one `<lr-dialog>` uses) coordinates focus-trapping\nTab, Escape dismissal, and document scroll-locking for as long as the palette is open.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `backdrop` | Modal backdrop. |\n| `command` | A command button. |\n| `command-group` | A labeled ARIA group containing visible command options. |\n| `description` | A command's secondary description text. Rendered for every command; empty when the command has no `description`. |\n| `dialog` | Palette dialog. |\n| `empty` | The \"no results\" message. Only rendered when the filter matches no command. |\n| `group` | A group heading, rendered before the first command of each `group`. |\n| `icon` | A command's leading icon glyph. Only rendered when the command has an `icon`. |\n| `input` | Search input. |\n| `label` | A command's visible label. |\n| `list` | Command list. |\n| `list-spacer` | Virtual result extent inside the scrolling list. |\n| `search` | The search row wrapping the leading icon and the `input`. |\n| `shortcut` | A command's trailing shortcut hint. Only rendered when the command has a `shortcut`. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-command-palette-z-index` (default: `var(--lr-overlay-stack-index, var(--lr-layer-modal))`) — Stacking index of the backdrop.\n- `--lr-command-palette-max-inline-size` (default: `var(--lr-size-48rem)`) — Maximum dialog width.\n- `--lr-command-palette-max-block-size` (default: `70vh`) — Maximum dialog height.\n- `--lr-command-palette-list-max-block-size` (default: `50vh`) — Maximum height of the scrolling command list.\n- `--lr-command-palette-offset-block-start` (default: `12vh`) — Gap between the viewport top and the dialog.\n- `--lr-command-palette-row-height` (default: `var(--lr-size-3rem)`) — Virtual command-row height.\n- `--lr-command-palette-group-height` (default: `var(--lr-size-2rem)`) — Virtual group-heading height.\n- `--lr-command-palette-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of the active (keyboard-highlighted, `data-active=\"true\"`) command row. Declared as an inline `var()` fallback (never on `:host`), so setting it on the element or an ancestor recolors only the active row without hijacking the library-wide `--lr-color-brand-quiet` token."
|
|
3605
3691
|
},
|
|
3606
3692
|
"attributes": [
|
|
3607
3693
|
{
|
|
3608
3694
|
"name": "aria-label",
|
|
3609
3695
|
"description": {
|
|
3610
3696
|
"kind": "markdown",
|
|
3611
|
-
"value": "Type: `string` \nDefault: `
|
|
3697
|
+
"value": "Type: `string` \nDefault: `\"\"`"
|
|
3612
3698
|
}
|
|
3613
3699
|
},
|
|
3614
3700
|
{
|
|
@@ -3629,7 +3715,7 @@
|
|
|
3629
3715
|
"name": "shortcut",
|
|
3630
3716
|
"description": {
|
|
3631
3717
|
"kind": "markdown",
|
|
3632
|
-
"value": "Type: `string` \nDefault:
|
|
3718
|
+
"value": "Type: `string` \nDefault: `\"mod+k\"`"
|
|
3633
3719
|
}
|
|
3634
3720
|
}
|
|
3635
3721
|
]
|
|
@@ -3891,7 +3977,7 @@
|
|
|
3891
3977
|
"name": "name",
|
|
3892
3978
|
"description": {
|
|
3893
3979
|
"kind": "markdown",
|
|
3894
|
-
"value": "Optional display name for the source document. Used as the accessible\nname of `[part='base']
|
|
3980
|
+
"value": "Optional display name for the source document. Used as the accessible\nname of `[part='base']` after a host `aria-label`, and before\nthe localized `contactViewerLabel` default, matching the\n`csvViewerLabel`-style sibling document viewers.\n\nType: `string` \nDefault: `''`"
|
|
3895
3981
|
}
|
|
3896
3982
|
},
|
|
3897
3983
|
{
|
|
@@ -3944,7 +4030,7 @@
|
|
|
3944
4030
|
"name": "lr-context-meter",
|
|
3945
4031
|
"description": {
|
|
3946
4032
|
"kind": "markdown",
|
|
3947
|
-
"value": "`<lr-context-meter>` — a segmented occupancy meter (bar or ring) for\nshowing how a fixed capacity (a model's context window, a token budget,\nany consumable quota) is divided across labeled categories. First-party\ninvention; no equivalent exists in Web Awesome.\n\nPure data visualization: it renders `segments`/`total` as given and never\ncomputes token counts, costs, or any other domain-specific estimate\nitself — the one exception is the plain arithmetic sum of the segment\nvalues used to build the accessible \"X of Y used\" summary below.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The component's root wrapper (a `<div>` for `bar`, an `<svg>` for `ring`). |\n| `label` | The visible caption, when `label` is set. |\n| `segment` | One occupied segment. Carries `data-tone` for styling and `--lr-context-meter-segment-color` when `color` is set. |\n| `track` | The unfilled/empty capacity track. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-context-meter-segment-color` — Per-segment color. Set inline on `[part=\"segment\"]` by the component itself whenever that segment supplies a `color`; unset (and the token unread) otherwise, leaving the `data-tone` palette in charge."
|
|
4033
|
+
"value": "`<lr-context-meter>` — a segmented occupancy meter (bar or ring) for\nshowing how a fixed capacity (a model's context window, a token budget,\nany consumable quota) is divided across labeled categories. First-party\ninvention; no equivalent exists in Web Awesome.\n\nPure data visualization: it renders `segments`/`total` as given and never\ncomputes token counts, costs, or any other domain-specific estimate\nitself — the one exception is the plain arithmetic sum of the segment\nvalues used to build the accessible \"X of Y used\" summary below.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The component's root wrapper (a `<div>` for `bar`, an `<svg>` for `ring`). |\n| `label` | The visible caption, when `label` is set. |\n| `segment` | One occupied segment. Carries `data-tone` for styling and `--lr-context-meter-segment-color` when `color` is set. |\n| `segment-item` | One visually-hidden segment label/count pair. |\n| `segment-list` | The visually-hidden list exposing the segment breakdown. |\n| `semantic` | The visually-hidden meter/group carrying aggregate range semantics. |\n| `track` | The unfilled/empty capacity track. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-context-meter-segment-color` — Per-segment color. Set inline on `[part=\"segment\"]` by the component itself whenever that segment supplies a `color`; unset (and the token unread) otherwise, leaving the `data-tone` palette in charge."
|
|
3948
4034
|
},
|
|
3949
4035
|
"attributes": [
|
|
3950
4036
|
{
|
|
@@ -4127,7 +4213,7 @@
|
|
|
4127
4213
|
"name": "lr-csv-viewer",
|
|
4128
4214
|
"description": {
|
|
4129
4215
|
"kind": "markdown",
|
|
4130
|
-
"value": "Fetches CSV text, parses quoted fields with PapaParse, and virtualizes its rows.\n\nAdopts `DocumentAnchorTarget`: a `cell-range` anchor addresses the raw file grid, 1-based, with\nthe header row included whenever `has-header-row` is set (matching how a spreadsheet app itself\nlabels `A1`) -- `scrollToAnchor()` scrolls the addressed row into view via the virtualized list's\n`active-id`, then scrolls the first addressed column horizontally into view. A `sheet`-qualified\nanchor never resolves here -- this viewer has no sheets. `highlights` paint as a
|
|
4216
|
+
"value": "Fetches CSV text, parses quoted fields with PapaParse, and virtualizes its rows.\n\nAdopts `DocumentAnchorTarget`: a `cell-range` anchor addresses the raw file grid, 1-based, with\nthe header row included whenever `has-header-row` is set (matching how a spreadsheet app itself\nlabels `A1`) -- `scrollToAnchor()` scrolls the addressed row into view via the virtualized list's\n`active-id`, then scrolls the first addressed column horizontally into view. A `sheet`-qualified\nanchor never resolves here -- this viewer has no sheets. `highlights` paint as a\n`part=\"cell-highlight\"` structural cell wrapping a native `part=\"cell-highlight-action\"` button\non membership, recomputed per row inside `renderRow()` so a row scrolled out and back in\nreconstructs its highlight for free, with no persistent DOM to keep in sync.\n`search()` is a locale-aware case-insensitive substring match over the same stringified cell\nvalues `cell()` already renders, ordered row then column.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. |\n| `body` | The scrollable wrapper around the fetched-state content, capped by `max-height`. |\n| `cell` | One rendered cell. |\n| `cell-highlight` | A structural cell covered by a `highlights` entry. |\n| `cell-highlight-action` | The native button filling a highlighted cell; emits `lr-highlight-activate` when activated. |\n| `data-row` | One virtualized data row. |\n| `error` | The error message region. |\n| `header-row` | The sticky header row, rendered while `has-header-row` is set. |\n| `rows` | The virtualized row list. |\n| `sheet` | The wrapper around the header row and virtualized body. |\n| `spinner` | The loading status region. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-csv-viewer-highlight-color` (default: `var(--lr-color-brand)`) — Outline color of a highlighted cell. The active highlight sets it inline to `var(--lr-color-warning, var(--lr-color-brand))`.\n- `--lr-csv-viewer-max-height` (default: `none`) — Maximum block size of `[part=\"body\"]` before it scrolls internally. The `maxHeight` property sets this token inline on `[part=\"base\"]`."
|
|
4131
4217
|
},
|
|
4132
4218
|
"attributes": [
|
|
4133
4219
|
{
|
|
@@ -4171,7 +4257,7 @@
|
|
|
4171
4257
|
"name": "lr-dashboard-grid",
|
|
4172
4258
|
"description": {
|
|
4173
4259
|
"kind": "markdown",
|
|
4174
|
-
"value": "`<lr-dashboard-grid>` — a responsive, keyboard-accessible widget grid: positions `layout`\nentries (`DashboardCell`: `x`/`y`/`w`/`h` grid units + a widget descriptor) on a CSS Grid,\ncomposing `<lr-widget>` + `<lr-widget-renderer>` for each cell's default content, and owns all\ndrag/resize/collision interaction as controlled events -- it never mutates `layout` itself, nor\never touches `localStorage`/network; the host applies (or ignores) every emitted event and owns\npersistence entirely, mirroring `lr-flow-canvas`/`lr-table`'s own controlled-component\nconvention. Readonly (viewer) by default; opt into editor gestures individually via\n`cells-draggable`/`cells-resizable`, or lock the whole grid via `locked`.\n\nCell content: a `layout` entry with no matching light-DOM child (matched by `cell-id`) gets a\ndefault `<lr-widget label=\"...\">` wrapping an `<lr-widget-renderer .tree=${cell.widget}>`\nauto-created and adopted into `slot=\"cell-{id}\"` -- this component's own job is the grid\nlayout/drag/resize/collision/persistence-event mechanics *around* that content, not widget\nrendering itself (see `lr-widget-renderer`'s own doc for its declarative-tree contract). A\nconsumer wanting full control over one cell's markup can instead author\n`<div cell-id=\"...\">...</div>` as a direct child; it is adopted in place of the default cell.\n\nKeyboard: cells share one roving tabindex, in row-major (`sortSpatial`) order. Arrow\nkeys/Home/End move the roving focus (RTL-aware: physical Left/Right always match what the\ncursor visually does, matching `lr-flow-canvas`'s own convention). While a cell has focus,\nCtrl/Cmd+Arrow moves it by one grid unit and Ctrl/Cmd+Shift+Arrow resizes it by one grid unit\n(Right/Down grow, Left/Up shrink) -- the full keyboard-operable equivalent of the pointer\ndrag/resize gestures below, per this library's accessibility bar (no pointer-only interaction).\n\nCollision: every move/resize request -- pointer or keyboard -- is resolved through `collision`\n(`'reject'` the default, `'push'`, or `'overlap'`; see `resolvePlacement()` in `layout.ts` for\nthe exact rule). A rejected request leaves `layout` untouched and only announces; an accepted\none emits `lr-cell-move`/`lr-cell-resize` plus a `lr-layout-change` snapshot of the full\nproposed layout (including any `'push'` cascade) -- the host's one persistence hook: listen for\nit and persist `event.detail.layout` however it likes (`localStorage`, a network call, neither).\n\nResponsive: below a ~40rem container allocation (`@container`, not the viewport -- a dashboard\ngrid is commonly embedded in a panel of varying width), cells stack into a single flowing\ncolumn in the same row-major order the grid itself renders them in, instead of overflowing or\nshrinking columns unreadably.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `cell-{id}` | A `layout` entry's cell content; auto-populated by a default composed `<lr-widget>`/`<lr-widget-renderer>` pair unless a light-DOM `[cell-id=\"{id}\"]` child is authored instead. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The grid root. |\n| `cell` | A single cell's positioned wrapper. |\n| `empty` | The `lr-empty` shown when `layout` is empty. |\n| `live-region` | The current move/resize/collision announcement. |\n| `resize-handle` | The pointer resize grip in a cell's trailing/bottom corner (only rendered while `cells-resizable`); the Ctrl/Cmd+Shift+Arrow keyboard path is the resize handle's full accessible equivalent, so the handle itself is `aria-hidden`. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-dashboard-grid-columns` (default: `12`) — Column count of the underlying CSS Grid. Written inline on `[part=\"base\"]` from the `columns` property on every render, so the fallback only applies to a `[part=\"base\"]` this component has not rendered yet.\n- `--lr-dashboard-grid-row-height` (default: `var(--lr-size-5rem)`) — Row track height. Written inline on `[part=\"base\"]` from the `rowHeight` property (in px) on every render.\n- `--lr-dashboard-grid-gap` (default: `var(--lr-space-m)`) — Gap between cells on both axes. Written inline on `[part=\"base\"]` from the `gap` property (in px) on every render.\n- `--lr-dashboard-grid-cell-hover-outline-color` (default: `var(--lr-color-border-strong)`) — Outline color of a cell's mouse-hover preview of its own `:focus-visible` ring (shown because every cell is a real focusable, draggable/resizable target). Set to `transparent` to opt out."
|
|
4260
|
+
"value": "`<lr-dashboard-grid>` — a responsive, keyboard-accessible widget grid: positions `layout`\nentries (`DashboardCell`: `x`/`y`/`w`/`h` grid units + a widget descriptor) on a CSS Grid,\ncomposing `<lr-widget>` + `<lr-widget-renderer>` for each cell's default content, and owns all\ndrag/resize/collision interaction as controlled events -- it never mutates `layout` itself, nor\never touches `localStorage`/network; the host applies (or ignores) every emitted event and owns\npersistence entirely, mirroring `lr-flow-canvas`/`lr-table`'s own controlled-component\nconvention. Readonly (viewer) by default; opt into editor gestures individually via\n`cells-draggable`/`cells-resizable`, or lock the whole grid via `locked`.\n\nCell content: a `layout` entry with no matching light-DOM child (matched by `cell-id`) gets a\ndefault `<lr-widget label=\"...\">` wrapping an `<lr-widget-renderer .tree=${cell.widget}>`\nauto-created and adopted into `slot=\"cell-{id}\"` -- this component's own job is the grid\nlayout/drag/resize/collision/persistence-event mechanics *around* that content, not widget\nrendering itself (see `lr-widget-renderer`'s own doc for its declarative-tree contract). A\nconsumer wanting full control over one cell's markup can instead author\n`<div cell-id=\"...\">...</div>` as a direct child; it is adopted in place of the default cell.\n\nKeyboard: cells share one roving tabindex, in row-major (`sortSpatial`) order. Arrow\nkeys/Home/End move the roving focus (RTL-aware: physical Left/Right always match what the\ncursor visually does, matching `lr-flow-canvas`'s own convention). While a cell has focus,\nCtrl/Cmd+Arrow moves it by one grid unit and Ctrl/Cmd+Shift+Arrow resizes it by one grid unit\n(Right/Down grow, Left/Up shrink) -- the full keyboard-operable equivalent of the pointer\ndrag/resize gestures below, per this library's accessibility bar (no pointer-only interaction).\n\nCollision: every move/resize request -- pointer or keyboard -- is resolved through `collision`\n(`'reject'` the default, `'push'`, or `'overlap'`; see `resolvePlacement()` in `layout.ts` for\nthe exact rule). A rejected request leaves `layout` untouched and only announces; an accepted\none emits `lr-cell-move`/`lr-cell-resize` plus a `lr-layout-change` snapshot of the full\nproposed layout (including any `'push'` cascade) -- the host's one persistence hook: listen for\nit and persist `event.detail.layout` however it likes (`localStorage`, a network call, neither).\n\nResponsive: below a ~40rem container allocation (`@container`, not the viewport -- a dashboard\ngrid is commonly embedded in a panel of varying width), cells stack into a single flowing\ncolumn in the same row-major order the grid itself renders them in, instead of overflowing or\nshrinking columns unreadably.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `cell-{id}` | A `layout` entry's cell content; auto-populated by a default composed `<lr-widget>`/`<lr-widget-renderer>` pair unless a light-DOM `[cell-id=\"{id}\"]` child is authored instead. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The grid root. |\n| `cell` | A single cell's positioned wrapper. |\n| `empty` | The `lr-empty` shown when `layout` is empty. |\n| `live-region` | The current move/resize/collision announcement. |\n| `resize-handle` | The pointer resize grip in a cell's trailing/bottom corner (only rendered while `cells-resizable`); the Ctrl/Cmd+Shift+Arrow keyboard path is the resize handle's full accessible equivalent, so the handle itself is `aria-hidden`. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-dashboard-grid-columns` (default: `12`) — Column count of the underlying CSS Grid. Written inline on `[part=\"base\"]` from the `columns` property on every render, so the fallback only applies to a `[part=\"base\"]` this component has not rendered yet.\n- `--lr-dashboard-grid-row-height` (default: `var(--lr-size-5rem)`) — Row track height. Written inline on `[part=\"base\"]` from the `rowHeight` property (in px) on every render.\n- `--lr-dashboard-grid-gap` (default: `var(--lr-space-m)`) — Gap between cells on both axes. Written inline on `[part=\"base\"]` from the `gap` property (in px) on every render.\n- `--lr-dashboard-grid-cell-hover-outline-color` (default: `var(--lr-color-border-strong)`) — Outline color of a cell's mouse-hover preview of its own `:focus-visible` ring (shown because every cell is a real focusable, draggable/resizable target). Set to `transparent` to opt out.\n- `--lr-dashboard-grid-collision-outline-color` (default: `var(--lr-color-danger)`) — Outline color of a cell whose current drag/resize preview collides with another cell."
|
|
4175
4261
|
},
|
|
4176
4262
|
"attributes": [
|
|
4177
4263
|
{
|
|
@@ -4199,7 +4285,7 @@
|
|
|
4199
4285
|
"name": "collision",
|
|
4200
4286
|
"description": {
|
|
4201
4287
|
"kind": "markdown",
|
|
4202
|
-
"value": "How a move/resize that would overlap another cell is resolved -- see the class doc.\n\nType: `DashboardCollisionPolicy` \nDefault:
|
|
4288
|
+
"value": "How a move/resize that would overlap another cell is resolved -- see the class doc.\n\nType: `DashboardCollisionPolicy` \nDefault: `\"reject\"`"
|
|
4203
4289
|
}
|
|
4204
4290
|
},
|
|
4205
4291
|
{
|
|
@@ -4243,7 +4329,7 @@
|
|
|
4243
4329
|
"name": "lr-dataset-viewer",
|
|
4244
4330
|
"description": {
|
|
4245
4331
|
"kind": "markdown",
|
|
4246
|
-
"value": "Fetches delimited text and renders a virtualized, accessible data table: a `role=\"table\"`\ncontainer with a sticky `role=\"row\"` header, composed with `<lr-virtual-list item-role=\"row\">`\nfor the body so files far larger than a real synchronous `<table>` can render without locking the\nmain thread.\n\nAdopts `DocumentAnchorTarget`: a `cell-range` anchor addresses the raw file grid, 1-based, with\nthe header row always occupying row 1 (this component always parses with PapaParse's `header:\ntrue`, so the first row is never part of the virtualized body) -- `scrollToAnchor()` scrolls the\naddressed row into view via the virtualized list's `active-id`. A `sheet`-qualified anchor never\nresolves here -- this viewer has no sheets. `highlights` paint as a `part=\"cell-highlight\"` cell\nwrapping a focusable `part=\"cell-highlight-action\"` native button (keeping the ARIA table tree\nintact) on membership, recomputed per row inside `renderRow()` so a row scrolled out and back\nin reconstructs its highlight for free, with no persistent DOM to keep in sync. `search()` is a\
|
|
4332
|
+
"value": "Fetches delimited text and renders a virtualized, accessible data table: a `role=\"table\"`\ncontainer with a sticky `role=\"row\"` header, composed with `<lr-virtual-list item-role=\"row\">`\nfor the body so files far larger than a real synchronous `<table>` can render without locking the\nmain thread.\n\nAdopts `DocumentAnchorTarget`: a `cell-range` anchor addresses the raw file grid, 1-based, with\nthe header row always occupying row 1 (this component always parses with PapaParse's `header:\ntrue`, so the first row is never part of the virtualized body) -- `scrollToAnchor()` scrolls the\naddressed row into view via the virtualized list's `active-id`. A `sheet`-qualified anchor never\nresolves here -- this viewer has no sheets. `highlights` paint as a `part=\"cell-highlight\"` cell\nwrapping a focusable `part=\"cell-highlight-action\"` native button (keeping the ARIA table tree\nintact) on membership, recomputed per row inside `renderRow()` so a row scrolled out and back\nin reconstructs its highlight for free, with no persistent DOM to keep in sync. `search()` is a\nlocale-aware case-insensitive substring match over the header followed by every body cell's raw\nstring value, ordered row then column.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. |\n| `body` | The scrollable body wrapper. |\n| `cell` | One rendered cell (`role=\"cell\"`). |\n| `cell-highlight` | A cell (`role=\"cell\"`) covered by a `highlights` entry; wraps the `cell-highlight-action` button. |\n| `cell-highlight-action` | The native button filling a highlighted cell -- focusable, emits `lr-highlight-activate` on click or Enter/Space. |\n| `data-row` | One virtualized data row. |\n| `error` | The error message region. |\n| `header-cell` | A header cell (`role=\"columnheader\"`). |\n| `header-row` | The sticky header row (`role=\"row\"`). |\n| `spinner` | The loading status region. |\n| `table` | The `role=\"table\"` container. Its accessible name is a host `aria-label` when set, otherwise `name`, otherwise a localized row-count caption. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-dataset-viewer-max-height` (default: `none`) — Maximum block size of `[part=\"body\"]` before it scrolls internally. The `maxHeight` property sets this token inline on `[part=\"base\"]`.\n- `--lr-dataset-viewer-highlight-color` (default: `var(--lr-color-brand)`) — Outline color of a highlighted cell. The active highlight sets it inline to `var(--lr-color-warning, var(--lr-color-brand))`."
|
|
4247
4333
|
},
|
|
4248
4334
|
"attributes": [
|
|
4249
4335
|
{
|
|
@@ -4264,7 +4350,7 @@
|
|
|
4264
4350
|
"name": "name",
|
|
4265
4351
|
"description": {
|
|
4266
4352
|
"kind": "markdown",
|
|
4267
|
-
"value": "Display name used for the table's accessible name
|
|
4353
|
+
"value": "Display name used for the table's accessible name after an explicit host `aria-label`.\n\nType: `string` \nDefault: `''`"
|
|
4268
4354
|
}
|
|
4269
4355
|
},
|
|
4270
4356
|
{
|
|
@@ -4280,7 +4366,7 @@
|
|
|
4280
4366
|
"name": "lr-date-input",
|
|
4281
4367
|
"description": {
|
|
4282
4368
|
"kind": "markdown",
|
|
4283
|
-
"value": "`<lr-date-input>` — a date field with an attached calendar popover.\nMirrors the core `<wa-date-input>` API under `lr-`. Value is ISO 8601\n(`YYYY-MM-DD`, or `YYYY-MM-DD/YYYY-MM-DD` in range mode). Form-associated.\n\nThis component uses a single text field; typing accepts ISO or a\nlocale-parseable date.\n\n`size` uses the same `2xs`–`xl` scale as `lr-input`/`lr-select`/`lr-combobox`'s own `size`,\ndefault `m`. The calendar-toggle and clear buttons keep a constant touch-target size at every\ntier (mirroring `lr-input`'s own password-toggle button), so only the field's density scales.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `end` | Adornment after the text field and the built-in clear action, and before the calendar toggle — so consumer content never sits outboard of the calendar button. |\n| `error` | Custom error content. |\n| `hint` | Custom hint content. |\n| `label` | Custom label content. |\n| `start` | Adornment at the inline-start of the input row, before the text field. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `clear-button` | The clear control. |\n| `date-picker` | The nested date picker. |\n| `end` | Wrapper around the `end` adornment slot; `hidden` while nothing is slotted. |\n| `error` | The validation message. |\n| `expand-button` | The calendar popup toggle. |\n| `expand-icon` | The calendar icon. |\n| `form-control` | The outer form-control wrapper. |\n| `form-control-label` | The label wrapper. |\n| `hint` | The hint message. |\n| `input` | The text input. |\n| `input-wrapper` | The input and button wrapper. |\n| `popup` | The positioned calendar popup. |\n| `start` | Wrapper around the `start` adornment slot; `hidden` while nothing is slotted. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-date-input-padding-block` (default: `var(--lr-space-xs)`) — Block padding of the input row, scaled by `size`.\n- `--lr-date-input-padding-inline` (default: `var(--lr-space-s)`) — Inline padding of the input row, scaled by `size`.\n- `--lr-date-input-font-size` (default: `inherit`) — Font size of the text input, scaled by `size`.\n- `--lr-date-input-control-min-height` (default: `var(--lr-size-2-5rem)`) — Minimum block size of the input row, scaled by `size` to mirror `lr-input`'s own min-height scale. Each default sits below the row's transitively-pinned height, so it is dead until a consumer raises it -- the unset render is unchanged.\n- `--lr-date-input-control-height` — Exact block size of the input row. Undeclared by default, so the row grows to fit its content (floored by `--lr-date-input-control-min-height`). Set it to pin a fixed height; the calendar toggle keeps its own 24x24 touch target even when this pins a shorter row."
|
|
4369
|
+
"value": "`<lr-date-input>` — a date field with an attached calendar popover.\nMirrors the core `<wa-date-input>` API under `lr-`. Value is ISO 8601\n(`YYYY-MM-DD`, or `YYYY-MM-DD/YYYY-MM-DD` in range mode). Form-associated.\n\nThis component uses a single text field; typing accepts ISO or a\nlocale-parseable date.\n\n`size` uses the same `2xs`–`xl` scale as `lr-input`/`lr-select`/`lr-combobox`'s own `size`,\ndefault `m`. The calendar-toggle and clear buttons keep a constant touch-target size at every\ntier (mirroring `lr-input`'s own password-toggle button), so only the field's density scales.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `end` | Adornment after the text field and the built-in clear action, and before the calendar toggle — so consumer content never sits outboard of the calendar button. |\n| `error` | Custom error content. |\n| `hint` | Custom hint content. |\n| `label` | Custom label content. |\n| `start` | Adornment at the inline-start of the input row, before the text field. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `clear-button` | The clear control. |\n| `date-picker` | The nested date picker. |\n| `end` | Wrapper around the `end` adornment slot; `hidden` while nothing is slotted. |\n| `error` | The validation message. |\n| `expand-button` | The calendar popup toggle. |\n| `expand-icon` | The calendar icon. |\n| `form-control` | The outer form-control wrapper. |\n| `form-control-label` | The label wrapper. |\n| `hint` | The hint message. |\n| `input` | The text input. |\n| `input-wrapper` | The input and button wrapper. |\n| `popup` | The positioned calendar popup. |\n| `start` | Wrapper around the `start` adornment slot; `hidden` while nothing is slotted. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-date-input-padding-block` (default: `var(--lr-space-xs)`) — Block padding of the input row, scaled by `size`.\n- `--lr-date-input-padding-inline` (default: `var(--lr-space-s)`) — Inline padding of the input row, scaled by `size`.\n- `--lr-date-input-font-size` (default: `inherit`) — Font size of the text input, scaled by `size`.\n- `--lr-date-input-placeholder-color` (default: `var(--lr-color-text-quiet)`) — Placeholder text color.\n- `--lr-date-input-gap` (default: `var(--lr-space-xs)`) — Gap between input-row children.\n- `--lr-date-input-radius` (default: `var(--lr-radius)`) — Input-row corner radius.\n- `--lr-date-input-focus-border-color` (default: `var(--lr-color-brand)`) — Focused row border color.\n- `--lr-date-input-control-min-height` (default: `var(--lr-size-2-5rem)`) — Minimum block size of the input row, scaled by `size` to mirror `lr-input`'s own min-height scale. Each default sits below the row's transitively-pinned height, so it is dead until a consumer raises it -- the unset render is unchanged.\n- `--lr-date-input-control-height` — Exact block size of the input row. Undeclared by default, so the row grows to fit its content (floored by `--lr-date-input-control-min-height`). Set it to pin a fixed height; the calendar toggle keeps its own 24x24 touch target even when this pins a shorter row."
|
|
4284
4370
|
},
|
|
4285
4371
|
"attributes": [
|
|
4286
4372
|
{
|
|
@@ -4522,7 +4608,7 @@
|
|
|
4522
4608
|
"name": "lr-date-picker",
|
|
4523
4609
|
"description": {
|
|
4524
4610
|
"kind": "markdown",
|
|
4525
|
-
"value": "`<lr-date-picker>` — an inline month-grid calendar for picking a single date\nor a date range. Mirrors the core `<wa-date-picker>` API under `lr-`.\n\nValue is ISO 8601: `YYYY-MM-DD` (single) or `YYYY-MM-DD/YYYY-MM-DD` (range).\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The date-picker wrapper. |\n| `day` | A calendar day button. |\n| `day-outside` | A day outside the active month. |\n| `day-placeholder` | A non-day grid placeholder. |\n| `day-range-end` | The end of a selected range. |\n| `day-range-inner` | An interior day in a selected range. |\n| `day-range-start` | The start of a selected range. |\n| `day-selected` | A selected day. |\n| `day-today` | A day representing today. |\n| `grid` | A month date grid. |\n| `header` | The month header. |\n| `month` | A visible month wrapper. |\n| `next` | The next-month button. |\n| `previous` | The previous-month button. |\n| `title` | The month title. |\n| `week` | A calendar week row. |\n| `weekday` | A weekday label. |\n| `weekdays` | The weekday header row.
|
|
4611
|
+
"value": "`<lr-date-picker>` — an inline month-grid calendar for picking a single date\nor a date range. Mirrors the core `<wa-date-picker>` API under `lr-`.\n\nValue is ISO 8601: `YYYY-MM-DD` (single) or `YYYY-MM-DD/YYYY-MM-DD` (range).\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The date-picker wrapper. |\n| `day` | A calendar day button. |\n| `day-outside` | A day outside the active month. |\n| `day-placeholder` | A non-day grid placeholder. |\n| `day-range-end` | The end of a selected range. |\n| `day-range-inner` | An interior day in a selected range. |\n| `day-range-start` | The start of a selected range. |\n| `day-selected` | A selected day. |\n| `day-today` | A day representing today. |\n| `grid` | A month date grid. |\n| `header` | The month header. |\n| `month` | A visible month wrapper. |\n| `next` | The next-month button. |\n| `previous` | The previous-month button. |\n| `title` | The month title. |\n| `week` | A calendar week row. |\n| `weekday` | A weekday label. |\n| `weekdays` | The weekday header row. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-date-picker-month-gap` (default: `var(--lr-space-l)`) — Gap between visible months.\n- `--lr-date-picker-header-gap` (default: `var(--lr-space-s)`) — Month-header child gap.\n- `--lr-date-picker-radius` (default: `var(--lr-radius)`) — Calendar and control corner radius."
|
|
4526
4612
|
},
|
|
4527
4613
|
"attributes": [
|
|
4528
4614
|
{
|
|
@@ -4746,7 +4832,7 @@
|
|
|
4746
4832
|
"name": "lr-diff-view",
|
|
4747
4833
|
"description": {
|
|
4748
4834
|
"kind": "markdown",
|
|
4749
|
-
"value": "`<lr-diff-view>` — a real two-string line diff (Myers/LCS-style alignment), rendered as\ninterleaved unified-diff output -- not diff-flavored syntax highlighting over an\nalready-formatted string (`lr-code-block`'s `language=\"diff\"` only lexically colors a string\nthe consumer already unified-diffed; it has no two-string-compare entry point). First-party\ninvention (no Web Awesome equivalent).\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. |\n| `copy-button` | The copy affordance, only rendered while `copyable`. |\n| `line` | A single line. Carries `data-type=\"equal\"\\|\"add\"\\|\"remove\"\\|\"empty\"\\|\"fold\"` (`\"empty\"` is an unbalanced-replace placeholder cell in `layout=\"split\"` and never carries a `+`/`-` prefix; `\"fold\"` is the collapsed-unchanged-lines marker `contextLines` produces). |\n| `side` | One column in `layout=\"split\"` (`data-side=\"old\"\\|\"new\"`). |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-diff-view-font` (default: `var(--lr-font-mono)`) — Font family used for the diff lines."
|
|
4835
|
+
"value": "`<lr-diff-view>` — a real two-string line diff (Myers/LCS-style alignment), rendered as\ninterleaved unified-diff output -- not diff-flavored syntax highlighting over an\nalready-formatted string (`lr-code-block`'s `language=\"diff\"` only lexically colors a string\nthe consumer already unified-diffed; it has no two-string-compare entry point). First-party\ninvention (no Web Awesome equivalent).\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. |\n| `copy-button` | The copy affordance, only rendered while `copyable`. |\n| `limit` | The localized fallback rendered when either input exceeds `maxLines`. |\n| `line` | A single line. Carries `data-type=\"equal\"\\|\"add\"\\|\"remove\"\\|\"empty\"\\|\"fold\"` (`\"empty\"` is an unbalanced-replace placeholder cell in `layout=\"split\"` and never carries a `+`/`-` prefix; `\"fold\"` is the collapsed-unchanged-lines marker `contextLines` produces). |\n| `side` | One column in `layout=\"split\"` (`data-side=\"old\"\\|\"new\"`). |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-diff-view-font` (default: `var(--lr-font-mono)`) — Font family used for the diff lines.\n- `--lr-diff-view-add-background` (default: `var(--lr-color-success-quiet)`) — Added-line background.\n- `--lr-diff-view-add-color` (default: `var(--lr-color-success)`) — Added-line text color.\n- `--lr-diff-view-remove-background` (default: `var(--lr-color-danger-quiet)`) — Removed-line background.\n- `--lr-diff-view-remove-color` (default: `var(--lr-color-danger)`) — Removed-line text color.\n- `--lr-diff-view-fold-background` (default: `var(--lr-color-surface-raised)`) — Fold-marker background.\n- `--lr-diff-view-fold-color` (default: `var(--lr-color-text-quiet)`) — Fold-marker text color."
|
|
4750
4836
|
},
|
|
4751
4837
|
"attributes": [
|
|
4752
4838
|
{
|
|
@@ -4783,6 +4869,13 @@
|
|
|
4783
4869
|
"kind": "markdown",
|
|
4784
4870
|
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
4785
4871
|
}
|
|
4872
|
+
},
|
|
4873
|
+
{
|
|
4874
|
+
"name": "max-lines",
|
|
4875
|
+
"description": {
|
|
4876
|
+
"kind": "markdown",
|
|
4877
|
+
"value": "Maximum lines accepted on either input side before rendering a bounded fallback. Defaults\nto `5000`. Set to `Infinity` explicitly to opt back into unbounded diffing.\n\nType: `number` \nDefault: `5000`"
|
|
4878
|
+
}
|
|
4786
4879
|
}
|
|
4787
4880
|
]
|
|
4788
4881
|
},
|
|
@@ -4834,7 +4927,7 @@
|
|
|
4834
4927
|
"name": "edge",
|
|
4835
4928
|
"description": {
|
|
4836
4929
|
"kind": "markdown",
|
|
4837
|
-
"value": "Type: `DockPanelEdge` \nDefault:
|
|
4930
|
+
"value": "Type: `DockPanelEdge` \nDefault: `\"end\"`"
|
|
4838
4931
|
}
|
|
4839
4932
|
},
|
|
4840
4933
|
{
|
|
@@ -4848,14 +4941,14 @@
|
|
|
4848
4941
|
"name": "max-size",
|
|
4849
4942
|
"description": {
|
|
4850
4943
|
"kind": "markdown",
|
|
4851
|
-
"value": "Maximum resize bound, as a CSS length. Empty means \"no explicit cap\" -- the live extent of\nthe containing element is used instead, so the panel still can't be dragged wider/taller than\nits container.\n\nType: `string` \nDefault: `
|
|
4944
|
+
"value": "Maximum resize bound, as a CSS length. Empty means \"no explicit cap\" -- the live extent of\nthe containing element is used instead, so the panel still can't be dragged wider/taller than\nits container.\n\nType: `string` \nDefault: `\"\"`"
|
|
4852
4945
|
}
|
|
4853
4946
|
},
|
|
4854
4947
|
{
|
|
4855
4948
|
"name": "min-size",
|
|
4856
4949
|
"description": {
|
|
4857
4950
|
"kind": "markdown",
|
|
4858
|
-
"value": "Minimum resize bound, as a CSS length.\n\nType: `string` \nDefault:
|
|
4951
|
+
"value": "Minimum resize bound, as a CSS length.\n\nType: `string` \nDefault: `\"160px\"`"
|
|
4859
4952
|
}
|
|
4860
4953
|
},
|
|
4861
4954
|
{
|
|
@@ -4869,7 +4962,7 @@
|
|
|
4869
4962
|
"name": "size",
|
|
4870
4963
|
"description": {
|
|
4871
4964
|
"kind": "markdown",
|
|
4872
|
-
"value": "The current docked size along the resize axis, as a CSS length (e.g. `\"320px\"`).\n\nType: `string` \nDefault:
|
|
4965
|
+
"value": "The current docked size along the resize axis, as a CSS length (e.g. `\"320px\"`).\n\nType: `string` \nDefault: `\"280px\"`"
|
|
4873
4966
|
}
|
|
4874
4967
|
}
|
|
4875
4968
|
]
|
|
@@ -4973,7 +5066,7 @@
|
|
|
4973
5066
|
"name": "lr-document-preview",
|
|
4974
5067
|
"description": {
|
|
4975
5068
|
"kind": "markdown",
|
|
4976
|
-
"value": "`<lr-document-preview>` — a format-dispatching viewer for one document/\nattachment, plus the visual state machine for an async server-side\nconversion a host app runs in front of it.\n\nFormat dispatch is intentionally minimal (see this family's scope\nguidance): only `text/*`/`application/json` (plain, scrollable `<pre>` —\nno syntax highlighting; compose `<lr-code-block>` yourself via the\n`unsupported` slot for that) and `image/*` (a contained `<img>`) render\ninline. Everything else — PDF, office documents, video, audio, or any\nunrecognized MIME type — falls back to a generic \"can't preview this\"\nstate: a file glyph, a short message, and (when `src` is set) a native\n`<a download>` link. This is a deliberate ceiling, not a gap: this\ncomponent ships a dispatch *shell*, not a format registry. The\n`unsupported` slot is the escape hatch for every format left out of the\nbuilt-in three — plug in a PDF.js viewer, an office-doc renderer, a\n`<lr-code-block>`, or anything else keyed off `mime-type` yourself.\n\n`status=\"converting\"` is a second, independent axis from format dispatch.\nThis component does not know your backend's conversion API shape and\ntherefore owns none of the actual polling/fetch — a host that's converting\na non-natively-previewable format server-side (e.g. .docx → .pdf) polls\nits own backend and updates `status`/`progress`/`src` here as that\nproceeds. This component only *visualizes* that state: an indeterminate\nspinner, or a determinate one once `progress` is supplied. Once the host\nflips `status` to `\"ready\"` (typically alongside a new `src`/`mime-type`\npointing at the converted artifact), normal format dispatch resumes.\n\nThe one piece of async work this component *does* own is fetching a\n`text/*`/`application/json` `src` itself (there's no other way to get a\n`<pre>`'s text content from a URL) — gated behind the same generation-\ncounter guard `<lr-tool-result-view>`'s `resolve()` uses, plus an\n`AbortController`, so a `src` reassigned mid-fetch cancels the obsolete\nrequest and can't have a stale response clobber a newer one. A\nfailure here (network error, non-2xx response) renders inline via\n`[part=\"error\"]` and fires `lr-render-error`, independently of the\nhost-owned `status` prop — mirrors `<lr-markdown>`'s identical stance\nthat a *rendering* failure and a host's own state machine are different\nconcerns.\n\nEvery `src` is validated for the DOM/API sink that consumes it. Text\nfetches and image sources allow relative URLs plus `http:`, `https:`,\n`blob:`, and `data:`. Download links deliberately exclude `data:` because\nfollowing a `data:text/html` URL can create an active document. Unsafe or\nmalformed URLs never reach `fetch()`, an image `src`, or an anchor `href`;\nthey render a non-interactive fallback/error instead.\n\nAccessibility: the `\"converting\"` state (no numeric `progress`) is a\n`role=\"status\"` region wrapping a visually-hidden \"Converting document…\"\nstring. This is a *plain* static region, not routed through\n`<lr-live-region>`/`Announcer` — like `<lr-typing-indicator>`'s\nidentical judgement call (see that component's class doc), this only ever\nhas one thing to announce (entering the state), not a rapidly-repeating\nstream of updates, so the coalescing machinery a high-frequency component\nneeds would be pure overhead here. Once real `progress` is available, the\nregion becomes a standard `role=\"progressbar\"` instead, which is\nself-describing via `aria-valuenow` with no extra live-region wiring\nneeded. `status=\"error\"` renders `[part=\"error\"]` as `role=\"alert\"` — an\nassertive, one-shot failure notice, the same native-role shortcut\n`<lr-live-region>`'s own `mode=\"assertive\"` maps to, without requiring\nthe announcer machinery here either.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `unsupported` | Escape hatch: when populated, its content renders *instead of* the generic download fallback for any `mime-type` this component doesn't natively support (i.e. whenever format dispatch would otherwise fall through to \"generic\"). Ignored while `mime-type` resolves to `text`/`image` dispatch, or while `status` is `\"converting\"`/`\"error\"`. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root container. |\n| `body` | The wrapper around whichever content is currently showing (text/image preview, the generic fallback, the spinner, or the error message). |\n| `download-link` | The `<a download>` affordance in the generic fallback. Only rendered when `src` is set and safe for link navigation. |\n| `error` | The error message region (`role=\"alert\"`) — used both for `status=\"error\"` and for a failed text fetch. |\n| `filename` | The filename text. |\n| `frame-content` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable` (image format only). |\n| `frame-controls` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable` (image format only). |\n| `frame-reset` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable` (image format only). |\n| `frame-viewport` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable` (image format only). |\n| `frame-zoom-in` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable` (image format only). |\n| `frame-zoom-out` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable` (image format only). |\n| `header` | The row above the body, holding `filename`. Hidden entirely when `filename` is unset. |\n| `highlight-layer` | The wrapper around every rendered region highlight (image format only). |\n| `region-highlight` | One region highlight (`data-tone`, `data-active`) (image format only). |\n| `spinner` | The converting/loading indicator — indeterminate (`role=\"status\"`) or, once numeric progress is known, a determinate `role=\"progressbar\"`. Used both for `status=\"converting\"` and for this component's own in-flight text fetch. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-document-preview-max-height` (default: `none`) — Maximum body block size before the preview scrolls internally.\n- `--lr-document-preview-font` (default: `var(--lr-font-mono)`) — Font used for plain-text previews.\n- `--lr-document-preview-spin-duration` (default: `
|
|
5069
|
+
"value": "`<lr-document-preview>` — a format-dispatching viewer for one document/\nattachment, plus the visual state machine for an async server-side\nconversion a host app runs in front of it.\n\nFormat dispatch is intentionally minimal (see this family's scope\nguidance): only `text/*`/`application/json` (plain, scrollable `<pre>` —\nno syntax highlighting; compose `<lr-code-block>` yourself via the\n`unsupported` slot for that) and `image/*` (a contained `<img>`) render\ninline. Everything else — PDF, office documents, video, audio, or any\nunrecognized MIME type — falls back to a generic \"can't preview this\"\nstate: a file glyph, a short message, and (when `src` is set) a native\n`<a download>` link. This is a deliberate ceiling, not a gap: this\ncomponent ships a dispatch *shell*, not a format registry. The\n`unsupported` slot is the escape hatch for every format left out of the\nbuilt-in three — plug in a PDF.js viewer, an office-doc renderer, a\n`<lr-code-block>`, or anything else keyed off `mime-type` yourself.\n\n`status=\"converting\"` is a second, independent axis from format dispatch.\nThis component does not know your backend's conversion API shape and\ntherefore owns none of the actual polling/fetch — a host that's converting\na non-natively-previewable format server-side (e.g. .docx → .pdf) polls\nits own backend and updates `status`/`progress`/`src` here as that\nproceeds. This component only *visualizes* that state: an indeterminate\nspinner, or a determinate one once `progress` is supplied. Once the host\nflips `status` to `\"ready\"` (typically alongside a new `src`/`mime-type`\npointing at the converted artifact), normal format dispatch resumes.\n\nThe one piece of async work this component *does* own is fetching a\n`text/*`/`application/json` `src` itself (there's no other way to get a\n`<pre>`'s text content from a URL) — gated behind the same generation-\ncounter guard `<lr-tool-result-view>`'s `resolve()` uses, plus an\n`AbortController`, so a `src` reassigned mid-fetch cancels the obsolete\nrequest and can't have a stale response clobber a newer one. A\nfailure here (network error, non-2xx response) renders inline via\n`[part=\"error\"]` and fires `lr-render-error`, independently of the\nhost-owned `status` prop — mirrors `<lr-markdown>`'s identical stance\nthat a *rendering* failure and a host's own state machine are different\nconcerns.\n\nEvery `src` is validated for the DOM/API sink that consumes it. Text\nfetches and image sources allow relative URLs plus `http:`, `https:`,\n`blob:`, and `data:`. Download links deliberately exclude `data:` because\nfollowing a `data:text/html` URL can create an active document. Unsafe or\nmalformed URLs never reach `fetch()`, an image `src`, or an anchor `href`;\nthey render a non-interactive fallback/error instead.\n\nAccessibility: the `\"converting\"` state (no numeric `progress`) is a\n`role=\"status\"` region wrapping a visually-hidden \"Converting document…\"\nstring. This is a *plain* static region, not routed through\n`<lr-live-region>`/`Announcer` — like `<lr-typing-indicator>`'s\nidentical judgement call (see that component's class doc), this only ever\nhas one thing to announce (entering the state), not a rapidly-repeating\nstream of updates, so the coalescing machinery a high-frequency component\nneeds would be pure overhead here. Once real `progress` is available, the\nregion becomes a standard `role=\"progressbar\"` instead, which is\nself-describing via `aria-valuenow` with no extra live-region wiring\nneeded. `status=\"error\"` renders `[part=\"error\"]` as `role=\"alert\"` — an\nassertive, one-shot failure notice, the same native-role shortcut\n`<lr-live-region>`'s own `mode=\"assertive\"` maps to, without requiring\nthe announcer machinery here either.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `unsupported` | Escape hatch: when populated, its content renders *instead of* the generic download fallback for any `mime-type` this component doesn't natively support (i.e. whenever format dispatch would otherwise fall through to \"generic\"). Ignored while `mime-type` resolves to `text`/`image` dispatch, or while `status` is `\"converting\"`/`\"error\"`. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root container. |\n| `body` | The wrapper around whichever content is currently showing (text/image preview, the generic fallback, the spinner, or the error message). |\n| `download-link` | The `<a download>` affordance in the generic fallback. Only rendered when `src` is set and safe for link navigation. |\n| `error` | The error message region (`role=\"alert\"`) — used both for `status=\"error\"` and for a failed text fetch. |\n| `filename` | The filename text. |\n| `frame-content` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable` (image format only). |\n| `frame-controls` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable` (image format only). |\n| `frame-reset` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable` (image format only). |\n| `frame-viewport` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable` (image format only). |\n| `frame-zoom-in` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable` (image format only). |\n| `frame-zoom-out` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable` (image format only). |\n| `header` | The row above the body, holding `filename`. Hidden entirely when `filename` is unset. |\n| `highlight-actions` | Non-overlapping actions used when multiple region highlights would otherwise create overlapping minimum hit areas (image format only). |\n| `highlight-layer` | The wrapper around every rendered region highlight (image format only). |\n| `region-highlight` | One region highlight (`data-tone`, `data-active`) (image format only). |\n| `region-highlight-action` | One action in the non-overlapping highlight action list. |\n| `region-highlight-target` | Transparent activation geometry around a region highlight, with a minimum pointer/focus area independent of the visual rectangle (image format only). |\n| `spinner` | The converting/loading indicator — indeterminate (`role=\"status\"`) or, once numeric progress is known, a determinate `role=\"progressbar\"`. Used both for `status=\"converting\"` and for this component's own in-flight text fetch. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-document-preview-max-height` (default: `none`) — Maximum body block size before the preview scrolls internally.\n- `--lr-document-preview-font` (default: `var(--lr-font-mono)`) — Font used for plain-text previews.\n- `--lr-document-preview-spin-duration` (default: `var(--lr-transition-ambient)`) — Timing of one indeterminate loading-indicator rotation.\n- `--lr-document-preview-progress` (default: `0`) — Unitless 0-100 completion of the determinate loading ring (multiplied by `1%` in its conic gradient). Written inline by the component from the clamped `progress` value, so it is a read-out rather than a consumer knob.\n- `--lr-document-preview-active-border` (default: `var(--lr-color-warning, var(--lr-color-brand))`) — Border color of the `[part=\"region-highlight\"]` matching `activeHighlightId` (image format only). Distinct from the resting highlight border.\n- `--lr-document-preview-highlight-accent-color` (default: `var(--lr-color-brand)`) — Accent highlight border and hover tint.\n- `--lr-document-preview-highlight-success-color` (default: `var(--lr-color-success)`) — Success highlight border and hover tint.\n- `--lr-document-preview-highlight-warning-color` (default: `var(--lr-color-warning)`) — Warning highlight border and hover tint.\n- `--lr-document-preview-highlight-danger-color` (default: `var(--lr-color-danger)`) — Danger highlight border and hover tint.\n- `--lr-document-preview-highlight-neutral-color` (default: `var(--lr-color-neutral)`) — Neutral highlight border and hover tint."
|
|
4977
5070
|
},
|
|
4978
5071
|
"attributes": [
|
|
4979
5072
|
{
|
|
@@ -5110,7 +5203,7 @@
|
|
|
5110
5203
|
"name": "lr-docx-viewer",
|
|
5111
5204
|
"description": {
|
|
5112
5205
|
"kind": "markdown",
|
|
5113
|
-
"value": "Renders a DOCX document as sanitized semantic HTML using the optional\n`mammoth` converter and `dompurify` sanitizer peers. DOCX content is always\nsanitized; there is no unsanitized rendering mode for uploaded documents.\n\nEvery rendered heading's slug (computed via the shared GitHub-slugger-style `Slugger` -- the same\nalgorithm and shared class `<lr-markdown>` uses, so identical heading text slugs identically\nacross both viewers) is stamped as its `id` and cached into `getHeadingTree()`'s document-ordered\noutline -- unconditional, unlike `<lr-markdown>`'s opt-in `heading-anchors`, since this\ncomponent's rendered HTML is always internal (mammoth's own conversion output), never a raw string\na consumer might serialize verbatim. Adopts `DocumentAnchorTarget`: `fragment` anchors resolve\nagainst that outline, `text-quote` anchors via `internal/text-quote.ts`'s shared scope/resolve\nhelpers; `highlights` re-resolve by quote after every render (never by node identity), so a\nhighlight painted before its quote is in the rendered markup yet simply paints once a later load\ncontains it. Highlight painting uses `internal/text-highlights.ts`'s `acquireHighlightHandle()` --\nthe CSS Custom Highlight API where the browser supports it (no DOM mutation at all), a `<mark>`-wrap\nfallback otherwise. `search()`/`searchNext()`/`searchPrevious()`/`clearSearch()` do a\ncase-insensitive substring search over the rendered content's text and paint every match as a\n`<mark part=\"search-match\">` (the active one also carrying `search-match-active`) -- a separate,\nalways-real-DOM-element mechanism from the tone-based highlight painting above, since search needs\nmany simultaneously-visible matches rather than one set of themed spans.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root container. |\n| `body` | The scrollable document body. |\n| `content` | The semantic document content. |\n| `error` | The error message region. |\n| `highlight` | A painted `text-quote` highlight (`<mark>`, `<mark>`-wrap fallback path only). |\n| `search-match` | A painted in-document search match. |\n| `search-match-active` | The currently active search match (also carries `search-match`). |\n| `spinner` | The loading status region. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-docx-viewer-max-height` (default: `none`) — Maximum block size of the scrollable document body before it scrolls internally. Also settable via the `max-height` property."
|
|
5206
|
+
"value": "Renders a DOCX document as sanitized semantic HTML using the optional\n`mammoth` converter and `dompurify` sanitizer peers. DOCX content is always\nsanitized; there is no unsanitized rendering mode for uploaded documents.\n\nEvery rendered heading's slug (computed via the shared GitHub-slugger-style `Slugger` -- the same\nalgorithm and shared class `<lr-markdown>` uses, so identical heading text slugs identically\nacross both viewers) is stamped as its `id` and cached into `getHeadingTree()`'s document-ordered\noutline -- unconditional, unlike `<lr-markdown>`'s opt-in `heading-anchors`, since this\ncomponent's rendered HTML is always internal (mammoth's own conversion output), never a raw string\na consumer might serialize verbatim. Adopts `DocumentAnchorTarget`: `fragment` anchors resolve\nagainst that outline, `text-quote` anchors via `internal/text-quote.ts`'s shared scope/resolve\nhelpers; `highlights` re-resolve by quote after every render (never by node identity), so a\nhighlight painted before its quote is in the rendered markup yet simply paints once a later load\ncontains it. Highlight painting uses `internal/text-highlights.ts`'s `acquireHighlightHandle()` --\nthe CSS Custom Highlight API where the browser supports it (no DOM mutation at all), a `<mark>`-wrap\nfallback otherwise. `search()`/`searchNext()`/`searchPrevious()`/`clearSearch()` do a\ncase-insensitive substring search over the rendered content's text and paint every match as a\n`<mark part=\"search-match\">` (the active one also carrying `search-match-active`) -- a separate,\nalways-real-DOM-element mechanism from the tone-based highlight painting above, since search needs\nmany simultaneously-visible matches rather than one set of themed spans.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root container. |\n| `body` | The scrollable document body. |\n| `content` | The semantic document content. |\n| `error` | The error message region. |\n| `highlight` | A painted `text-quote` highlight (`<mark>`, `<mark>`-wrap fallback path only). |\n| `search-match` | A painted in-document search match. |\n| `search-match-active` | The currently active search match (also carries `search-match`). |\n| `spinner` | The loading status region. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-docx-viewer-max-height` (default: `none`) — Maximum block size of the scrollable document body before it scrolls internally. Also settable via the `max-height` property.\n- `--lr-docx-viewer-highlight-accent-background` — Accent highlight background.\n- `--lr-docx-viewer-highlight-success-background` — Success highlight background.\n- `--lr-docx-viewer-highlight-warning-background` — Warning highlight background.\n- `--lr-docx-viewer-highlight-danger-background` — Danger highlight background.\n- `--lr-docx-viewer-highlight-neutral-background` — Neutral highlight background.\n- `--lr-docx-viewer-highlight-active-background` — Active highlight background.\n- `--lr-docx-viewer-highlight-active-outline` — Active fallback-highlight outline.\n- `--lr-docx-viewer-search-match-background` — Search-match background.\n- `--lr-docx-viewer-search-match-active-background` — Active search-match background.\n- `--lr-docx-viewer-search-match-active-foreground` — Active search-match foreground."
|
|
5114
5207
|
},
|
|
5115
5208
|
"attributes": [
|
|
5116
5209
|
{
|
|
@@ -5182,7 +5275,7 @@
|
|
|
5182
5275
|
"name": "data-labels",
|
|
5183
5276
|
"description": {
|
|
5184
5277
|
"kind": "markdown",
|
|
5185
|
-
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis
|
|
5278
|
+
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis chart; the peer is attached only to instances that opt in, and\n`buildConfig()` keeps its per-chart options disabled until this is set. The\nscreen-reader equivalent is the always-present data table (see\n`show-data-table`); labels are a purely visual, canvas-only addition.\n\nType: `boolean` \nDefault: `false`"
|
|
5186
5279
|
}
|
|
5187
5280
|
},
|
|
5188
5281
|
{
|
|
@@ -5412,7 +5505,7 @@
|
|
|
5412
5505
|
"name": "open",
|
|
5413
5506
|
"description": {
|
|
5414
5507
|
"kind": "markdown",
|
|
5415
|
-
"value": "Type: `boolean`
|
|
5508
|
+
"value": "Type: `boolean`"
|
|
5416
5509
|
}
|
|
5417
5510
|
},
|
|
5418
5511
|
{
|
|
@@ -5574,7 +5667,7 @@
|
|
|
5574
5667
|
"name": "lr-embedding-explorer",
|
|
5575
5668
|
"description": {
|
|
5576
5669
|
"kind": "markdown",
|
|
5577
|
-
"value": "`<lr-embedding-explorer>` — a dependency-free, accessible 2D embedding projection viewer. It\nnormalizes host-provided coordinates into an SVG plot, colors optional clusters, and exposes\nclick/keyboard selection. It does not run PCA/UMAP/t-SNE, fetch chunks, or mutate points.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. |\n| `empty` | The empty state. |\n| `plot` | The SVG projection plot. |\n| `point` | One focusable embedding point.
|
|
5670
|
+
"value": "`<lr-embedding-explorer>` — a dependency-free, accessible 2D embedding projection viewer. It\nnormalizes host-provided coordinates into an SVG plot, colors optional clusters, and exposes\nclick/keyboard selection. It does not run PCA/UMAP/t-SNE, fetch chunks, or mutate points.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. |\n| `empty` | The empty state. |\n| `plot` | The SVG projection plot. |\n| `point` | One focusable embedding point. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-embedding-explorer-selected-stroke` (default: `var(--lr-color-brand)`) — Stroke color of the selected point."
|
|
5578
5671
|
},
|
|
5579
5672
|
"attributes": [
|
|
5580
5673
|
{
|
|
@@ -5611,7 +5704,7 @@
|
|
|
5611
5704
|
"name": "lr-emoji-picker",
|
|
5612
5705
|
"description": {
|
|
5613
5706
|
"kind": "markdown",
|
|
5614
|
-
"value": "`<lr-emoji-picker>` — a searchable, keyboard-navigable, form-associated emoji picker. In the\nsame \"zero/optional-peer dependency\" spirit as `<lr-lite-chart>`/`<lr-heatmap>`: `groups` is\nfully consumer-suppliable (this component ships no emoji data of its own), with an *optional*\nconvenience auto-loader for a default set — see `emoji-data-loader.ts` and the class doc there for\nexactly what that covers.\n\nKeyboard model: the grid is a roving-tabindex listbox (a single Tab stop — only the active emoji\nis tabbable). Arrow keys move the active option (Left/Right follow reading direction and swap\nunder RTL; Up/Down move by one visual row, measured from the live wrap layout), Home/End jump to\nthe first/last option, and Enter/Space picks. The search input doubles as a `role=\"combobox\"`\nover the same listbox: the arrow keys and Enter also work there while focus stays in the input,\nwith `aria-activedescendant` tracking the active option. Large data sets automatically window\ntheir visible rows so scrolling does not create one button per supplied emoji in the DOM.\n\nShips the same opt-in `label`/`hint`/`errorText` form-control chrome as `<lr-select>`/\n`<lr-color-picker>` (props + matching named slots + `form-control`/`form-control-label`/`hint`/\n`error` parts) — left unset, the chrome stays hidden. When `label` (or the `label` slot) is set\nand `aria-label`/`accessibleLabel` is not, the grid's accessible name switches from the\nlocalized default to `aria-labelledby` pointing at the visible label, mirroring\n`<lr-checkbox-group>`'s identical `accessibleLabel`-wins-over-`aria-labelledby` precedence.\n\n`disabled` (from the `FormAssociated` mixin) gates every self-rendered interactive\nsub-control — the search input and every emoji button — not just one of them.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `error` | Custom error content. |\n| `hint` | Custom hint content. |\n| `label` | Custom label content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The wrapper around the search input and grid. |\n| `emoji` | Each emoji's own `<button>`; its box and glyph both scale with the `size` property (`--lr-emoji-picker-item-size`/`-glyph-size`), with the hit area floored at a flat 24px (WCAG 2.5.8) rather than the shared `--lr-icon-button-size`. |\n| `empty` | The empty-state message, shown when the search matches nothing. |\n| `error` | The error message. |\n| `form-control` | The outer wrapper around label, base, error and hint. |\n| `form-control-label` | The visible label. |\n| `grid` | The keyboard-navigable emoji grid. |\n| `group-label` | Each group's heading, rendered above its emojis. |\n| `hint` | The hint message. |\n| `search` | The search/filter `<input>` (`role=\"combobox\"` over the grid). |\n| `virtual-items` | The flex row holding one windowed row's emoji buttons. |\n| `virtual-label` | The `aria-hidden` placeholder that reserves a row's group-label band when that row has no label, keeping every row the same height. Rendered on the windowed path only. |\n| `virtual-row` | One windowed row, absolutely positioned at the `--lr-emoji-picker-row-height` pitch. Rendered on the windowed path only. |\n| `virtual-spacer` | The full-height scroll spacer that gives the grid its scrollbar while only the visible rows exist in the DOM. Rendered on the windowed path only. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-emoji-picker-item-size` (default: `var(--lr-icon-button-size)`) — Each emoji button's box.
|
|
5707
|
+
"value": "`<lr-emoji-picker>` — a searchable, keyboard-navigable, form-associated emoji picker. In the\nsame \"zero/optional-peer dependency\" spirit as `<lr-lite-chart>`/`<lr-heatmap>`: `groups` is\nfully consumer-suppliable (this component ships no emoji data of its own), with an *optional*\nconvenience auto-loader for a default set — see `emoji-data-loader.ts` and the class doc there for\nexactly what that covers.\n\nKeyboard model: the grid is a roving-tabindex listbox (a single Tab stop — only the active emoji\nis tabbable). Arrow keys move the active option (Left/Right follow reading direction and swap\nunder RTL; Up/Down move by one visual row, measured from the live wrap layout), Home/End jump to\nthe first/last option, and Enter/Space picks. The search input doubles as a `role=\"combobox\"`\nover the same listbox: the arrow keys and Enter also work there while focus stays in the input,\nwith `aria-activedescendant` tracking the active option. Large data sets automatically window\ntheir visible rows so scrolling does not create one button per supplied emoji in the DOM.\n\nShips the same opt-in `label`/`hint`/`errorText` form-control chrome as `<lr-select>`/\n`<lr-color-picker>` (props + matching named slots + `form-control`/`form-control-label`/`hint`/\n`error` parts) — left unset, the chrome stays hidden. When `label` (or the `label` slot) is set\nand `aria-label`/`accessibleLabel` is not, the grid's accessible name switches from the\nlocalized default to `aria-labelledby` pointing at the visible label, mirroring\n`<lr-checkbox-group>`'s identical `accessibleLabel`-wins-over-`aria-labelledby` precedence.\n\n`disabled` (from the `FormAssociated` mixin) gates every self-rendered interactive\nsub-control — the search input and every emoji button — not just one of them.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `error` | Custom error content. |\n| `hint` | Custom hint content. |\n| `label` | Custom label content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The wrapper around the search input and grid. |\n| `emoji` | Each emoji's own `<button>`; its box and glyph both scale with the `size` property (`--lr-emoji-picker-item-size`/`-glyph-size`), with the hit area floored at a flat 24px (WCAG 2.5.8) rather than the shared `--lr-icon-button-size`. |\n| `empty` | The empty-state message, shown when the search matches nothing. |\n| `error` | The error message. |\n| `form-control` | The outer wrapper around label, base, error and hint. |\n| `form-control-label` | The visible label. |\n| `grid` | The keyboard-navigable emoji grid. |\n| `group-label` | Each group's heading, rendered above its emojis. |\n| `hint` | The hint message. |\n| `search` | The search/filter `<input>` (`role=\"combobox\"` over the grid). |\n| `virtual-items` | The flex row holding one windowed row's emoji buttons. |\n| `virtual-label` | The `aria-hidden` placeholder that reserves a row's group-label band when that row has no label, keeping every row the same height. Rendered on the windowed path only. |\n| `virtual-row` | One windowed row, absolutely positioned at the `--lr-emoji-picker-row-height` pitch. Rendered on the windowed path only. |\n| `virtual-spacer` | The full-height scroll spacer that gives the grid its scrollbar while only the visible rows exist in the DOM. Rendered on the windowed path only. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-emoji-picker-item-size` (default: `var(--lr-icon-button-size)`) — Each emoji button's box. Floored at 24px; the small size tiers can stay denser than the shared 40px icon-button size.\n- `--lr-emoji-picker-glyph-size` (default: `var(--lr-font-size-lg)`) — Font size of the emoji glyph, scaled by the `size` property to keep the glyph proportional to the item box.\n- `--lr-emoji-picker-gap` (default: `var(--lr-space-2xs)`) — Gap between emoji within a windowed row.\n- `--lr-emoji-picker-control-gap` (default: `var(--lr-space-xs)`) — Gap between field sections.\n- `--lr-emoji-picker-radius` (default: `var(--lr-radius)`) — Outer picker corner radius.\n- `--lr-emoji-picker-item-radius` (default: `var(--lr-radius-xs)`) — Search and emoji corner radius.\n- `--lr-emoji-picker-search-hover-border-color` (default: `var(--lr-color-brand)`) — Search hover border.\n- `--lr-emoji-picker-row-height` (default: `calc(var(--lr-emoji-picker-item-size) + var(--lr-space-l))`) — One windowed row's height. Must stay at or above the item size plus the group-label band, or consecutive absolutely-positioned rows overlap.\n- `--lr-emoji-picker-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of the keyboard-active (`data-active`) **and** hovered emoji button — the two share a single rule, so this one hook retints both consistently. Declared as an inline `var()` fallback (never on `:host`), so setting it on the element or an ancestor recolors only the emoji highlight without hijacking the library-wide `--lr-color-brand-quiet` token."
|
|
5615
5708
|
},
|
|
5616
5709
|
"attributes": [
|
|
5617
5710
|
{
|
|
@@ -5683,7 +5776,7 @@
|
|
|
5683
5776
|
"name": "lr-empty",
|
|
5684
5777
|
"description": {
|
|
5685
5778
|
"kind": "markdown",
|
|
5686
|
-
"value": "`<lr-empty>` — a generic empty/no-data state. First-party invention (no\nWeb Awesome equivalent); fills a gap common to dashboard-style apps.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Custom icon or illustration (defaults to none). |\n| `actions` | Buttons/links shown below the description. |\n| `description` | Rich description content (overrides the `description` attribute). |\n| `heading` | Rich heading content (overrides the `heading` attribute). |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `actions` | The wrapper around the `actions`-slotted content. |\n| `base` | The outer container. |\n| `description` | The description paragraph. |\n| `heading` | The heading paragraph. |\n| `icon` | The wrapper around the default-slotted icon/illustration. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-empty-compact-align` — Cross-axis and text alignment used in compact mode; set to `center` for dense but centered empty states.\n- `--lr-empty-compact-padding` (default: `var(--lr-space-xs)`) — Padding used in compact mode; accepts any padding shorthand (e.g. `8px 2px`).\n- `--lr-empty-compact-gap` (default: `var(--lr-space-2xs)`) — Gap between the icon, title, and description in compact mode.\n- `--lr-empty-compact-font-size` — Heading font size used in compact mode. Unset by default (no fallback), so the heading keeps its ordinary inherited font size until a consumer opts in."
|
|
5779
|
+
"value": "`<lr-empty>` — a generic empty/no-data state. First-party invention (no\nWeb Awesome equivalent); fills a gap common to dashboard-style apps.\nInitial content is not announced as a new live update; later heading,\ndescription, or slotted-content changes activate polite announcements.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Custom icon or illustration (defaults to none). |\n| `actions` | Buttons/links shown below the description. |\n| `description` | Rich description content (overrides the `description` attribute). |\n| `heading` | Rich heading content (overrides the `heading` attribute). |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `actions` | The wrapper around the `actions`-slotted content. |\n| `base` | The outer container. |\n| `description` | The description paragraph. |\n| `heading` | The heading paragraph. |\n| `icon` | The wrapper around the default-slotted icon/illustration. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-empty-compact-align` — Cross-axis and text alignment used in compact mode; set to `center` for dense but centered empty states.\n- `--lr-empty-compact-padding` (default: `var(--lr-space-xs)`) — Padding used in compact mode; accepts any padding shorthand (e.g. `8px 2px`).\n- `--lr-empty-compact-gap` (default: `var(--lr-space-2xs)`) — Gap between the icon, title, and description in compact mode.\n- `--lr-empty-compact-font-size` — Heading font size used in compact mode. Unset by default (no fallback), so the heading keeps its ordinary inherited font size until a consumer opts in."
|
|
5687
5780
|
},
|
|
5688
5781
|
"attributes": [
|
|
5689
5782
|
{
|
|
@@ -6267,7 +6360,7 @@
|
|
|
6267
6360
|
"name": "label",
|
|
6268
6361
|
"description": {
|
|
6269
6362
|
"kind": "markdown",
|
|
6270
|
-
"value": "Accessible name for the root `role=\"group\"` wrapper. A plain `aria-label` attribute on the\nhost itself is honored as a fallback when this is left unset, matching `<lr-control-group>`.\n\nType: `string` \nDefault: `
|
|
6363
|
+
"value": "Accessible name for the root `role=\"group\"` wrapper. A plain `aria-label` attribute on the\nhost itself is honored as a fallback when this is left unset, matching `<lr-control-group>`.\n\nType: `string` \nDefault: `\"\"`"
|
|
6271
6364
|
}
|
|
6272
6365
|
},
|
|
6273
6366
|
{
|
|
@@ -6290,7 +6383,7 @@
|
|
|
6290
6383
|
"name": "lr-flag",
|
|
6291
6384
|
"description": {
|
|
6292
6385
|
"kind": "markdown",
|
|
6293
|
-
"value": "`<lr-flag>` — a country/language flag.\n\nFlag images are shipped by the optional peer package `@aceshooting/lyra-flags`,\nnot bundled into lyra-ui itself, so importing the core library pulls zero flag\nweight. Give it a `country` (ISO 3166-1 alpha-2) or a `language` tag (mapped to\na representative country). While that peer package's `flagUrl()` resolves
|
|
6386
|
+
"value": "`<lr-flag>` — a country/language flag.\n\nFlag images are shipped by the optional peer package `@aceshooting/lyra-flags`,\nnot bundled into lyra-ui itself, so importing the core library pulls zero flag\nweight. Give it a `country` (ISO 3166-1 alpha-2) or a `language` tag (mapped to\na representative country). While that peer package's `flagUrl()` resolves,\nthe host carries `aria-busy=\"true\"` and a skeleton placeholder renders in its\nplace. A missing or failed peer resolver fails closed with a localized alert;\nan installed resolver returning no URL for an unknown code remains a valid\nempty result.\n\n**Bundle-size note:** `country`/`language` resolve through the peer package's\n`flagUrl(code)`, which lazily fetches one requested flag at runtime. A\nbundler may still emit the complete reachable lazy-chunk graph; use a\nliteral asset subpath import when the deployment artifact must be pruned.\nIf you already\nhave a flag's URL at build time (e.g. from your own literal\n`import frUrl from '@aceshooting/lyra-flags/flags/fr.svg?url'`), pass it as\n`src` instead to skip the peer-package round trip (and its loading-skeleton\nflash) entirely.\n\nThe ~65 flags whose design includes a detailed coat of arms/seal/emblem (e.g. `es`, `pt`) ship\nthree fidelity tiers; choose one with `variant`: `\"compact\"` (a tiny WebP raster for icon-scale\nuse — menu items, language selectors, dense lists), the default `\"standard\"` (icon-optimized\nvector for card/row sizes), or `\"detailed\"` (the pristine full-detail vector for hero-scale\ndisplay). A no-op for every other code — all tiers resolve to the same file. See `variant`'s own\ndoc.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `error` | Localized alert rendered when the optional peer resolver is unavailable or fails. |\n| `image` | The underlying <img>. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-flag-aspect-ratio` (default: `4 / 3`) — Rectangular flag aspect ratio.\n- `--lr-flag-object-fit` (default: `cover`) — How the image fits its flag frame.\n- `--lr-flag-radius` — Rectangular flag corner radius."
|
|
6294
6387
|
},
|
|
6295
6388
|
"attributes": [
|
|
6296
6389
|
{
|
|
@@ -6362,7 +6455,7 @@
|
|
|
6362
6455
|
"name": "lr-flow-canvas",
|
|
6363
6456
|
"description": {
|
|
6364
6457
|
"kind": "markdown",
|
|
6365
|
-
"value": "`<lr-flow-canvas>` — a pannable/zoomable DAG workflow canvas: positions HTML node cards, draws\nSVG edges between their handles, runs a shared layered auto-layout for unpositioned nodes, and owns\nall selection/drag/connect interaction
|
|
6458
|
+
"value": "`<lr-flow-canvas>` — a pannable/zoomable DAG workflow canvas: positions HTML node cards, draws\nSVG edges between their handles, runs a shared layered auto-layout for unpositioned nodes, and owns\nall selection/drag/connect interaction. Readonly (viewer) by default; opt into editor gestures\nindividually via `nodes-draggable`, `connectable`, `droppable`. `nodes` and `edges` remain\ncontrolled and are never mutated internally. Selection is an internally applied interaction\nstate: `selectedNodeIds`/`selectedEdgeIds` can seed or replace it, and node/edge activation\nupdates those arrays before emitting `lr-selection-change`.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | `lr-flow-node` children to adopt by `node-id`; non-matching children are ignored with a console warning. |\n| `bottom-end` | Floating corner overlay (e.g. `lr-flow-minimap`). |\n| `bottom-start` | Floating corner overlay (e.g. `lr-flow-controls`). |\n| `top-end` | Floating corner overlay. |\n| `top-start` | Floating corner overlay (e.g. `lr-flow-run-overlay`). |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `arrowhead` | The shared directed-edge arrowhead marker. |\n| `background` | The dotted background grid. |\n| `base` | The root wrapper. |\n| `connection-line` | The in-progress connect-gesture path. |\n| `edge` | A single edge path. |\n| `edge-hit-area` | The transparent wide pointer target behind an edge. |\n| `edge-label` | An edge's drawn label. |\n| `edge-list` | A visually hidden list of every edge. |\n| `edges` | The edges SVG. |\n| `empty` | The `lr-empty` shown when `nodes` is empty. |\n| `live-region` | The current item/gesture announcement. |\n| `node` | A node's positioned wrapper. |\n| `node-control` | The visually hidden, roving selection button for a node. |\n| `stub` | A dangling-edge stub line. |\n| `viewport` | The focusable pan/zoom surface. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-flow-canvas-grid-size` (default: `var(--lr-size-0-5rem)`) — Dotted background spacing. The canvas also writes it inline as `${grid}px` from the `grid` property, which wins over the stylesheet fallback whenever a grid is in effect.\n- `--lr-flow-canvas-march-duration` (default: `var(--lr-transition-ambient)`) — Running-edge march animation duration.\n- `--lr-flow-canvas-node-selected-outline-color` (default: `var(--lr-flow-canvas-node-current-outline-color,var(--lr-color-brand))`) — Outline color of a selected node.\n- `--lr-flow-canvas-node-current-outline-color` (default: `var(--lr-color-brand)`) — Deprecated fallback token for the selected-node outline; retained for compatibility.\n- `--lr-flow-canvas-node-connect-invalid-outline-color` (default: `var(--lr-color-danger)`) — Outline color of a node that is an invalid connect-gesture drop target. Same `::part()` attribute-selector restriction as `--lr-flow-canvas-node-current-outline-color` above.\n- `--lr-flow-canvas-node-connect-target-outline-color` (default: `var(--lr-color-brand)`) — Outline color of a node that is a valid connect-gesture drop target.\n- `--lr-flow-canvas-drop-active-outline-color` (default: `var(--lr-color-brand)`) — Outline color of the viewport while a palette item is dragged over it (`droppable`).\n- `--lr-flow-canvas-node-hover-outline-color` (default: `var(--lr-color-border-strong)`) — Outline color of a node's mouse-hover preview of its own `:focus-visible` ring. Unlike the four state-scoped colors above this one is `:hover`-gated rather than attribute-gated, so a `::part(node):hover` override would lose to this rule's own higher internal specificity rather than to the `::part()[attr]` restriction those four work around. Set to `transparent` to opt out."
|
|
6366
6459
|
},
|
|
6367
6460
|
"attributes": [
|
|
6368
6461
|
{
|
|
@@ -6515,7 +6608,7 @@
|
|
|
6515
6608
|
"name": "lr-flow-minimap",
|
|
6516
6609
|
"description": {
|
|
6517
6610
|
"kind": "markdown",
|
|
6518
|
-
"value": "`<lr-flow-minimap>` — a corner overview map of a `lr-flow-canvas`: scaled node rectangles plus\na draggable viewport rectangle, for orientation and fast navigation on canvases larger than the\nscreen. Draws no edges (nodes only, matching the React Flow/n8n minimap convention) and never\nreads `nodes` itself — geometry always comes from the canvas's `registerCompanion()` snapshots, so\nthe two can never disagree.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. |\n| `map` | The scaled SVG. |\n| `node` | One rect per node. |\n| `viewport` | The draggable, focusable view rectangle. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-flow-minimap-inline-size` (default: `var(--lr-size-12rem)`) — Map inline size.\n- `--lr-flow-minimap-block-size` (default: `var(--lr-size-8rem)`) — Map block size."
|
|
6611
|
+
"value": "`<lr-flow-minimap>` — a corner overview map of a `lr-flow-canvas`: scaled node rectangles plus\na draggable viewport rectangle, for orientation and fast navigation on canvases larger than the\nscreen. Draws no edges (nodes only, matching the React Flow/n8n minimap convention) and never\nreads `nodes` itself — geometry always comes from the canvas's `registerCompanion()` snapshots, so\nthe two can never disagree.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. |\n| `instructions` | Visually hidden keyboard instructions for the viewport. |\n| `live-region` | Visually hidden viewport-change announcements. |\n| `map` | The scaled SVG. |\n| `node` | One rect per node. |\n| `viewport` | The draggable, focusable view rectangle. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-flow-minimap-inline-size` (default: `var(--lr-size-12rem)`) — Map inline size.\n- `--lr-flow-minimap-block-size` (default: `var(--lr-size-8rem)`) — Map block size."
|
|
6519
6612
|
},
|
|
6520
6613
|
"attributes": [
|
|
6521
6614
|
{
|
|
@@ -7119,7 +7212,7 @@
|
|
|
7119
7212
|
"name": "lr-graph-query-builder",
|
|
7120
7213
|
"description": {
|
|
7121
7214
|
"kind": "markdown",
|
|
7122
|
-
"value": "`<lr-graph-query-builder>` — an editor for a single typed relationship/path filter\n(`GraphQuery`) over a knowledge graph: start/end entity anchors, relationship-type and\nnode-type pickers with a removable active-filter chip display, a traversal direction, a\nmin/max hop range, validation, and a host-persisted saved-query list -- a serializable query\nmodel for GraphRAG workflows (feed the `value`/`lr-query-run` payload straight to a retrieval\nor traversal backend).\n\nComposes `<lr-select>` for every closed-choice picker (relationship type, node type,\ndirection, hop counts) and `<lr-input>` for the free-text entity ids -- the relationship/\nnode-type pickers are \"add\" selects: choosing an option appends it to the corresponding\narray and the picker itself resets to its placeholder, so the *current* selection is shown\nseparately as a row of removable `<lr-chip>`s inside an `<lr-chip-group>` (click a chip's\nremove button to drop that one type). A type value present in `value` but missing from\n`relationshipTypeOptions`/`nodeTypeOptions` (e.g. a saved query referencing a type that was\nsince renamed/removed from the picker's own option list) still renders as a chip, labeled with\nits raw value, rather than being silently dropped.\n\n**Query model placement:** `GraphQuery` is kept local to this component rather than promoted\nto the shared `src/ai/types.ts` surface. Unlike that module's types (`ChatMessage`,\n`Citation`, `RetrievalQuery`, etc.), which each mirror a shape multiple existing primitives\nalready consume, `GraphQuery` is specific to this component's own editable-filter-set shape\n(its `minHops`/`maxHops` selects, its \"add picker + chip list\" editing idiom) -- no other\ncomponent reads or produces this exact shape today. This mirrors `<lr-rubric-form>`'s\n`RubricValue`/`RubricKey` and `<lr-tool-param-form>`'s `ToolParamFormSchema`, both also kept\nlocal to their own component for the identical reason.\n\n**Form association:** every other \"structured, non-string value\" editor in this package that\nlooks like this one -- `<lr-rubric-form>`, `<lr-tool-param-form>`, `<lr-time-range>` -- attaches\n`ElementInternals` directly (the `FormAssociated` mixin only fits a plain string value) and\ntreats native `<form>` participation as a nice-to-have layered on top of its primary\n`value`/`lr-input`/`lr-validity-change` integration contract, not a requirement. This component\nfollows that same established convention: `value` round-trips through `JSON.stringify()` as the\nsubmitted form value, and a consumer that never places this inside a `<form>` loses nothing.\n\n**Accessible name:** the region (`role=\"group\"`) is named by, in order, a host-level\n`aria-label` attribute, the `label` property, or the localized `graphQueryBuilderLabel` default\n-- mirroring `<lr-query-builder>`'s identical `role=\"group\"` region, whose own `aria-label`\nattribute similarly wins over its internal default.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `actions` | Extra host controls rendered in the footer beside the Run button. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The outer wrapper around every section. |\n| `direction` | The traversal-direction `<lr-select>`. |\n| `end-input` | The end-entity `<lr-input>`. |\n| `filter-group` | One type-filter section (relationship or node type); rendered twice. |\n| `footer` | The row containing the actions slot and the Run button. |\n| `max-hops` | The maximum-hops `<lr-select>`. |\n| `min-hops` | The minimum-hops `<lr-select>`. |\n| `node-type-chips` | The `<lr-chip-group>` listing currently active node types. |\n| `node-type-picker` | The \"add a node type\" `<lr-select>`. |\n| `path-fields` | The row wrapping the start/end entity inputs and hop-count selects. |\n| `relationship-chips` | The `<lr-chip-group>` listing currently active relationship types. |\n| `relationship-picker` | The \"add a relationship type\" `<lr-select>`. |\n| `run-button` | The Run button. |\n| `save-button` | The Save button. |\n| `save-name-input` | The new-saved-query name `<lr-input>`. |\n| `save-row` | The row containing the save-name input and Save button. |\n| `saved-delete-button` | A saved query row's delete button. |\n| `saved-empty` | The message shown when `savedQueries` has no entries. |\n| `saved-item` | One saved query's row. |\n| `saved-list` | The list of saved queries. |\n| `saved-load-button` | A saved query row's Load button. |\n| `saved-queries` | The wrapper around the save row and the saved-query list. |\n| `saved-queries-label` | The saved-queries section heading. |\n| `start-input` | The start-entity `<lr-input>`. |"
|
|
7215
|
+
"value": "`<lr-graph-query-builder>` — an editor for a single typed relationship/path filter\n(`GraphQuery`) over a knowledge graph: start/end entity anchors, relationship-type and\nnode-type pickers with a removable active-filter chip display, a traversal direction, a\nmin/max hop range, validation, and a host-persisted saved-query list -- a serializable query\nmodel for GraphRAG workflows (feed the `value`/`lr-query-run` payload straight to a retrieval\nor traversal backend).\n\nComposes `<lr-select>` for every closed-choice picker (relationship type, node type,\ndirection, hop counts) and `<lr-input>` for the free-text entity ids -- the relationship/\nnode-type pickers are \"add\" selects: choosing an option appends it to the corresponding\narray and the picker itself resets to its placeholder, so the *current* selection is shown\nseparately as a row of removable `<lr-chip>`s inside an `<lr-chip-group>` (click a chip's\nremove button to drop that one type). A type value present in `value` but missing from\n`relationshipTypeOptions`/`nodeTypeOptions` (e.g. a saved query referencing a type that was\nsince renamed/removed from the picker's own option list) still renders as a chip, labeled with\nits raw value, rather than being silently dropped.\n\n**Query model placement:** `GraphQuery` is kept local to this component rather than promoted\nto the shared `src/ai/types.ts` surface. Unlike that module's types (`ChatMessage`,\n`Citation`, `RetrievalQuery`, etc.), which each mirror a shape multiple existing primitives\nalready consume, `GraphQuery` is specific to this component's own editable-filter-set shape\n(its `minHops`/`maxHops` selects, its \"add picker + chip list\" editing idiom) -- no other\ncomponent reads or produces this exact shape today. This mirrors `<lr-rubric-form>`'s\n`RubricValue`/`RubricKey` and `<lr-tool-param-form>`'s `ToolParamFormSchema`, both also kept\nlocal to their own component for the identical reason.\n\n**Form association:** every other \"structured, non-string value\" editor in this package that\nlooks like this one -- `<lr-rubric-form>`, `<lr-tool-param-form>`, `<lr-time-range>` -- attaches\n`ElementInternals` directly (the `FormAssociated` mixin only fits a plain string value) and\ntreats native `<form>` participation as a nice-to-have layered on top of its primary\n`value`/`lr-input`/`lr-validity-change` integration contract, not a requirement. This component\nfollows that same established convention: `value` round-trips through `JSON.stringify()` as the\nsubmitted form value, and a consumer that never places this inside a `<form>` loses nothing.\n\n**Accessible name:** the region (`role=\"group\"`) is named by, in order, a host-level\n`aria-label` attribute, the `label` property, or the localized `graphQueryBuilderLabel` default\n-- mirroring `<lr-query-builder>`'s identical `role=\"group\"` region, whose own `aria-label`\nattribute similarly wins over its internal default.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `actions` | Extra host controls rendered in the footer beside the Run button. |\n| `error` | Error text for the complete form control. |\n| `hint` | Supporting text for the complete form control. |\n| `label` | Visible label for the complete form control. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The outer wrapper around every section. |\n| `direction` | The traversal-direction `<lr-select>`. |\n| `end-input` | The end-entity `<lr-input>`. |\n| `error` | Error text for the complete form control. |\n| `filter-group` | One type-filter section (relationship or node type); rendered twice. |\n| `footer` | The row containing the actions slot and the Run button. |\n| `hint` | Supporting text for the complete form control. |\n| `label` | Visible label for the complete form control. |\n| `max-hops` | The maximum-hops `<lr-select>`. |\n| `min-hops` | The minimum-hops `<lr-select>`. |\n| `node-type-chips` | The `<lr-chip-group>` listing currently active node types. |\n| `node-type-picker` | The \"add a node type\" `<lr-select>`. |\n| `path-fields` | The row wrapping the start/end entity inputs and hop-count selects. |\n| `relationship-chips` | The `<lr-chip-group>` listing currently active relationship types. |\n| `relationship-picker` | The \"add a relationship type\" `<lr-select>`. |\n| `run-button` | The Run button. |\n| `save-button` | The Save button. |\n| `save-name-input` | The new-saved-query name `<lr-input>`. |\n| `save-row` | The row containing the save-name input and Save button. |\n| `saved-delete-button` | A saved query row's delete button. |\n| `saved-empty` | The message shown when `savedQueries` has no entries. |\n| `saved-item` | One saved query's row. |\n| `saved-list` | The list of saved queries. |\n| `saved-load-button` | A saved query row's Load button. |\n| `saved-queries` | The wrapper around the save row and the saved-query list. |\n| `saved-queries-label` | The saved-queries section heading. |\n| `start-input` | The start-entity `<lr-input>`. |"
|
|
7123
7216
|
},
|
|
7124
7217
|
"attributes": [
|
|
7125
7218
|
{
|
|
@@ -7129,6 +7222,20 @@
|
|
|
7129
7222
|
"value": "Type: `boolean`"
|
|
7130
7223
|
}
|
|
7131
7224
|
},
|
|
7225
|
+
{
|
|
7226
|
+
"name": "error-text",
|
|
7227
|
+
"description": {
|
|
7228
|
+
"kind": "markdown",
|
|
7229
|
+
"value": "Caller-supplied outer error text. Field-level validation remains on the affected controls.\n\nType: `string` \nDefault: `''`"
|
|
7230
|
+
}
|
|
7231
|
+
},
|
|
7232
|
+
{
|
|
7233
|
+
"name": "hint",
|
|
7234
|
+
"description": {
|
|
7235
|
+
"kind": "markdown",
|
|
7236
|
+
"value": "Supporting text rendered below the outer label.\n\nType: `string` \nDefault: `''`"
|
|
7237
|
+
}
|
|
7238
|
+
},
|
|
7132
7239
|
{
|
|
7133
7240
|
"name": "hop-limit",
|
|
7134
7241
|
"description": {
|
|
@@ -7163,7 +7270,7 @@
|
|
|
7163
7270
|
"name": "lr-grounding-summary",
|
|
7164
7271
|
"description": {
|
|
7165
7272
|
"kind": "markdown",
|
|
7166
|
-
"value": "`<lr-grounding-summary>` -- the claim-level scorecard for one generated answer: supported/\nunsupported claim counts, citation coverage, an optional confidence score, any warnings, and\n(when `citations` is supplied) a list of evidence citations linking back to their exact spans.\nConsumes `GroundingAssessment` from `src/ai/types.ts` directly as its primary input. Pure\nprojection + event conduit: never fetches or computes an assessment itself.\n\nComposes `<lr-stat>` for every numeric display (claim counts, coverage, confidence) and\n`<lr-citation-badge>` for each evidence entry -- this component defines no numeric-badge or\ncitation-link markup of its own.\n\n`<lr-citation-badge>`'s own `lr-citation-activate` event (`detail: { sourceId, index }`) still\nbubbles through unmodified, same as every other Lyra component composing a child that emits its\nown events. This component additionally listens for it and re-emits the richer\n`lr-citation-select` (`detail: { citation }`, `CitationSelectEventDetail` from `src/ai/types.ts`)\ncarrying the full `Citation` -- including its `span` -- since a bare `sourceId`/`index` pair\ncan't by itself tell a host which exact evidence span to jump to.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The `role=\"group\"` root wrapper. |\n| `empty` | The empty-state message, shown when `assessment` is `null`. |\n| `evidence` | Wrapper for the evidence section. Omitted when `citations` is empty. |\n| `evidence-count` | The evidence count. |\n| `evidence-heading` | The \"Evidence\" heading text. |\n| `evidence-item` | One citation's row (badge + always-visible label/span text). |\n| `evidence-label` | A citation's `label`, shown next to its badge (omitted when unset). |\n| `evidence-span` | A citation's formatted `span` range, shown next to its badge (omitted when `span` is unset). |\n| `stats` | Container for the claim-count/coverage/confidence `<lr-stat>` row. |\n| `warning` | One warning `<li>`. |\n| `warnings` | Wrapper for the warnings section. Omitted when there are no warnings. |\n| `warnings-count` | The warnings count. |\n| `warnings-heading` | The \"Warnings\" heading text. |\n| `warnings-list` | The `<ul>` of warning messages. |"
|
|
7273
|
+
"value": "`<lr-grounding-summary>` -- the claim-level scorecard for one generated answer: supported/\nunsupported claim counts, citation coverage, an optional confidence score, any warnings, and\n(when `citations` is supplied) a list of evidence citations linking back to their exact spans.\nConsumes `GroundingAssessment` from `src/ai/types.ts` directly as its primary input. Pure\nprojection + event conduit: never fetches or computes an assessment itself.\n\nComposes `<lr-stat>` for every numeric display (claim counts, coverage, confidence) and\n`<lr-citation-badge>` for each evidence entry -- this component defines no numeric-badge or\ncitation-link markup of its own.\n\n`<lr-citation-badge>`'s own `lr-citation-activate` event (`detail: { sourceId, index }`) still\nbubbles through unmodified, same as every other Lyra component composing a child that emits its\nown events. This component additionally listens for it and re-emits the richer\n`lr-citation-select` (`detail: { citation }`, `CitationSelectEventDetail` from `src/ai/types.ts`)\ncarrying the full `Citation` -- including its `span` -- since a bare `sourceId`/`index` pair\ncan't by itself tell a host which exact evidence span to jump to.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The `role=\"group\"` root wrapper. |\n| `claims` | Claim-level evidence, when present and enabled. |\n| `empty` | The empty-state message, shown when `assessment` is `null`. |\n| `evidence` | Wrapper for the evidence section. Omitted when `citations` is empty. |\n| `evidence-count` | The evidence count. |\n| `evidence-heading` | The \"Evidence\" heading text. |\n| `evidence-item` | One citation's row (badge + always-visible label/span text). |\n| `evidence-label` | A citation's `label`, shown next to its badge (omitted when unset). |\n| `evidence-span` | A citation's formatted `span` range, shown next to its badge (omitted when `span` is unset). |\n| `stats` | Container for the claim-count/coverage/confidence `<lr-stat>` row. |\n| `warning` | One warning `<li>`. |\n| `warnings` | Wrapper for the warnings section. Omitted when there are no warnings. |\n| `warnings-count` | The warnings count. |\n| `warnings-heading` | The \"Warnings\" heading text. |\n| `warnings-list` | The `<ul>` of warning messages. |"
|
|
7167
7274
|
},
|
|
7168
7275
|
"attributes": [
|
|
7169
7276
|
{
|
|
@@ -7179,6 +7286,13 @@
|
|
|
7179
7286
|
"kind": "markdown",
|
|
7180
7287
|
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
7181
7288
|
}
|
|
7289
|
+
},
|
|
7290
|
+
{
|
|
7291
|
+
"name": "show-claims",
|
|
7292
|
+
"description": {
|
|
7293
|
+
"kind": "markdown",
|
|
7294
|
+
"value": "Renders `assessment.claims` through `<lr-claim-evidence>` when available.\n\nType: `boolean` \nDefault: `true`"
|
|
7295
|
+
}
|
|
7182
7296
|
}
|
|
7183
7297
|
]
|
|
7184
7298
|
},
|
|
@@ -7309,7 +7423,7 @@
|
|
|
7309
7423
|
"name": "lr-highlight-layer",
|
|
7310
7424
|
"description": {
|
|
7311
7425
|
"kind": "markdown",
|
|
7312
|
-
"value": "`<lr-highlight-layer>` — a presentational overlay that paints highlight rectangles\n(percent-of-box coordinates) over positioned content and owns their activation, active/flash\nstyling, and keyboard access. `items` order is the caller's own reading order; the layer does not\nre-sort geometrically. Fills its nearest positioned ancestor.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The absolutely-positioned overlay (inset 0). |\n| `rect` | One highlight rectangle (`data-tone`/`data-active`/`data-flash` state attributes). |"
|
|
7426
|
+
"value": "`<lr-highlight-layer>` — a presentational overlay that paints highlight rectangles\n(percent-of-box coordinates) over positioned content and owns their activation, active/flash\nstyling, and keyboard access. `items` order is the caller's own reading order; the layer does not\nre-sort geometrically. Fills its nearest positioned ancestor.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The absolutely-positioned overlay (inset 0). |\n| `highlight-action` | One action in the non-overlapping highlight action list. |\n| `highlight-actions` | Non-overlapping actions used when more than one logical highlight would otherwise create ambiguous minimum hit areas. |\n| `rect` | One highlight rectangle (`data-tone`/`data-active`/`data-flash` state attributes). |\n| `rect-target` | Transparent activation geometry around a rectangle, with a minimum pointer/focus area independent of the caller-supplied visual coordinates. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-highlight-layer-accent-background` — Accent highlight background.\n- `--lr-highlight-layer-accent-outline` — Accent highlight outline.\n- `--lr-highlight-layer-success-background` — Success highlight background.\n- `--lr-highlight-layer-success-outline` — Success highlight outline.\n- `--lr-highlight-layer-warning-background` — Warning highlight background.\n- `--lr-highlight-layer-warning-outline` — Warning highlight outline.\n- `--lr-highlight-layer-danger-background` — Danger highlight background.\n- `--lr-highlight-layer-danger-outline` — Danger highlight outline.\n- `--lr-highlight-layer-neutral-background` — Neutral highlight background.\n- `--lr-highlight-layer-neutral-outline` — Neutral highlight outline.\n- `--lr-highlight-layer-flash-background` — Flash-state background."
|
|
7313
7427
|
},
|
|
7314
7428
|
"attributes": [
|
|
7315
7429
|
{
|
|
@@ -7381,7 +7495,7 @@
|
|
|
7381
7495
|
"name": "data-labels",
|
|
7382
7496
|
"description": {
|
|
7383
7497
|
"kind": "markdown",
|
|
7384
|
-
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis
|
|
7498
|
+
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis chart; the peer is attached only to instances that opt in, and\n`buildConfig()` keeps its per-chart options disabled until this is set. The\nscreen-reader equivalent is the always-present data table (see\n`show-data-table`); labels are a purely visual, canvas-only addition.\n\nType: `boolean` \nDefault: `false`"
|
|
7385
7499
|
}
|
|
7386
7500
|
},
|
|
7387
7501
|
{
|
|
@@ -7562,9 +7676,37 @@
|
|
|
7562
7676
|
"name": "lr-icon-button",
|
|
7563
7677
|
"description": {
|
|
7564
7678
|
"kind": "markdown",
|
|
7565
|
-
"value": "`<lr-icon-button>` — an accessible icon-only action button.\n\nSet `icon` for one of `<lr-icon>`'s named glyphs, or slot your own content instead. Slotted\ncontent is a **sibling** of the built-in glyph rather than being piped through `<lr-icon>`, so\nany complete element — an `<svg>`, an `<img>`, an `<lr-flag>` — renders at its own natural\naspect ratio instead of being forced into a 1:1 box. Bare SVG geometry (`<path>`, `<circle>`,\nand a handful of other raw primitives) with no enclosing `<svg>` of its own is detected and\ncloned into a real, internal SVG-namespaced element so it still paints — the same fallback\n`<lr-icon>`'s own custom-content slot uses, but narrowly scoped so a custom element (e.g. a\nslotted `<lr-flag>`) is never run through it.\n\nForm-associated (mirroring `<lr-button>`'s identical shape): discoverable through\n`form.elements`, and `type=\"submit\"`/`type=\"reset\"` are handled by this component itself via\nthe host's own `closest('form')` — a shadow-internal native `<button type=\"submit\">` does not\nparticipate in an ancestor light-DOM form's submission on its own, since form-submitter\nsemantics don't cross the shadow boundary.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Optional custom icon content, rendered beside (not inside) the `icon` glyph. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `button` | Native button. |\n| `fallback` | The internal SVG-namespaced clone target for slotted bare geometry. Carries the same `fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\"` defaults `<lr-icon>`'s own wrapper svg does, so bare stroke-style geometry (no fill/stroke of its own) renders outlined instead of as a solid shape; an explicit `fill`/`stroke`/etc. already present on the slotted node still wins for that node. Only present in the DOM while at least one top-level slotted element needs it; a complete `<svg>`, `<img>`, or custom element never mounts it. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-icon-button-size` (default: `2.5rem`) — Minimum tappable inline and block size of the native button — a **floor**, not a fixed size: content larger than it grows the button and keeps its own aspect ratio, while a small glyph pads out to it. A library-wide token (declared on `:root` by `tokens.styles.ts`, and the shared minimum tappable size several other components size their icon controls against), so overriding it globally resizes all of them together.\n- `--lr-icon-button-radius` (default: `var(--lr-radius)`) — Corner radius of the native button.\n- `--lr-icon-button-background` (default: `transparent`) — Background fill of the native button.\n- `--lr-icon-button-background-hover` (default: `var(--lr-color-surface)`) — Background fill on hover.\n- `--lr-icon-button-color` (default: `inherit`) — Icon/text color of the native button."
|
|
7679
|
+
"value": "`<lr-icon-button>` — an accessible icon-only action button.\n\nSet `icon` for one of `<lr-icon>`'s named glyphs, or slot your own content instead. Slotted\ncontent is a **sibling** of the built-in glyph rather than being piped through `<lr-icon>`, so\nany complete element — an `<svg>`, an `<img>`, an `<lr-flag>` — renders at its own natural\naspect ratio instead of being forced into a 1:1 box. Bare SVG geometry (`<path>`, `<circle>`,\nand a handful of other raw primitives) with no enclosing `<svg>` of its own is detected and\ncloned into a real, internal SVG-namespaced element so it still paints — the same fallback\n`<lr-icon>`'s own custom-content slot uses, but narrowly scoped so a custom element (e.g. a\nslotted `<lr-flag>`) is never run through it.\n\nHost `aria-haspopup` and `aria-expanded` values are forwarded reactively to the shadow-internal\nnative button. Host `aria-describedby` IDREFs are resolved through `ariaDescribedByElements`.\nWhen host `aria-controls` names elements in the host's own root, the controls relationship is\nresolved onto that focused control through the reflected element-reference API so it remains\nvalid across this component's shadow boundary. Assigning that relationship intentionally clears\nthe serialized `aria-controls` value; read `ariaControlsElements` in a supporting browser.\nBrowsers without that API retain the forwarded string attribute as a best-effort fallback.\n\nForm-associated (mirroring `<lr-button>`'s identical shape): discoverable through\n`form.elements`, and `type=\"submit\"`/`type=\"reset\"` are handled by this component itself via\nthe host's own `closest('form')` — a shadow-internal native `<button type=\"submit\">` does not\nparticipate in an ancestor light-DOM form's submission on its own, since form-submitter\nsemantics don't cross the shadow boundary.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Optional custom icon content, rendered beside (not inside) the `icon` glyph. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `button` | Native button. |\n| `fallback` | The internal SVG-namespaced clone target for slotted bare geometry. Carries the same `fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\"` defaults `<lr-icon>`'s own wrapper svg does, so bare stroke-style geometry (no fill/stroke of its own) renders outlined instead of as a solid shape; an explicit `fill`/`stroke`/etc. already present on the slotted node still wins for that node. Only present in the DOM while at least one top-level slotted element needs it; a complete `<svg>`, `<img>`, or custom element never mounts it. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-icon-button-size` (default: `2.5rem`) — Minimum tappable inline and block size of the native button — a **floor**, not a fixed size: content larger than it grows the button and keeps its own aspect ratio, while a small glyph pads out to it. A library-wide token (declared on `:root` by `tokens.styles.ts`, and the shared minimum tappable size several other components size their icon controls against), so overriding it globally resizes all of them together.\n- `--lr-icon-button-radius` (default: `var(--lr-radius)`) — Corner radius of the native button.\n- `--lr-icon-button-background` (default: `transparent`) — Background fill of the native button.\n- `--lr-icon-button-background-hover` (default: `var(--lr-color-surface)`) — Background fill on hover.\n- `--lr-icon-button-color` (default: `inherit`) — Icon/text color of the native button.\n- `--lr-icon-button-color-hover` (default: `var(--lr-icon-button-color, inherit)`) — Icon/text color on hover.\n- `--lr-icon-button-border` (default: `0`) — Complete border shorthand of the native button.\n- `--lr-icon-button-border-hover` (default: `var(--lr-icon-button-border, 0)`) — Complete border shorthand on hover."
|
|
7566
7680
|
},
|
|
7567
7681
|
"attributes": [
|
|
7682
|
+
{
|
|
7683
|
+
"name": "aria-controls",
|
|
7684
|
+
"description": {
|
|
7685
|
+
"kind": "markdown",
|
|
7686
|
+
"value": "Type: `string | null` \nDefault: `null`"
|
|
7687
|
+
}
|
|
7688
|
+
},
|
|
7689
|
+
{
|
|
7690
|
+
"name": "aria-describedby",
|
|
7691
|
+
"description": {
|
|
7692
|
+
"kind": "markdown",
|
|
7693
|
+
"value": "Type: `string | null` \nDefault: `null`"
|
|
7694
|
+
}
|
|
7695
|
+
},
|
|
7696
|
+
{
|
|
7697
|
+
"name": "aria-expanded",
|
|
7698
|
+
"description": {
|
|
7699
|
+
"kind": "markdown",
|
|
7700
|
+
"value": "Type: `string | null` \nDefault: `null`"
|
|
7701
|
+
}
|
|
7702
|
+
},
|
|
7703
|
+
{
|
|
7704
|
+
"name": "aria-haspopup",
|
|
7705
|
+
"description": {
|
|
7706
|
+
"kind": "markdown",
|
|
7707
|
+
"value": "Type: `string | null` \nDefault: `null`"
|
|
7708
|
+
}
|
|
7709
|
+
},
|
|
7568
7710
|
{
|
|
7569
7711
|
"name": "aria-label",
|
|
7570
7712
|
"description": {
|
|
@@ -7675,7 +7817,7 @@
|
|
|
7675
7817
|
"name": "lr-image-viewer",
|
|
7676
7818
|
"description": {
|
|
7677
7819
|
"kind": "markdown",
|
|
7678
|
-
"value": "`<lr-image-viewer>` — full pan/zoom raster-image viewer with labeled region highlights and\nopt-in region annotation, the landing surface for `region`-anchored citations. Distinct from\n`<lr-svg-viewer>` (rendered SVG documents) and `<lr-image-comparer>` (before/after slotted\nsurfaces) — this component owns raster grounding/citation display, not comparison or vector\nrendering.\n\nAdopts `DocumentAnchorTarget` with `anchorKinds: ['region']` only — no text selection is bound\n(a raster image has no selectable text), so `lr-text-select` is never emitted by this viewer.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | None. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `annotate-toggle` | The annotation-mode toggle button. |\n| `annotation-box` | The in-progress draft rectangle. |\n| `base` | The root wrapper. |\n| `error` | The error region. |\n| `fit-control` | The fit-mode select. |\n| `frame` | The embedded `lr-zoomable-frame`. |\n| `highlight` | One highlight box (`data-tone`, `data-active`). |\n| `highlight-label` | A highlight's visible label. |\n| `highlight-layer` | The overlay hosting highlight boxes. |\n| `image` | The `<img>` element. |\n| `image-wrapper` | The rotated wrapper around the image and its overlays. |\n| `rotate-button` | The rotate-90-clockwise button. |\n| `toolbar` | The fit/rotate/annotate controls row. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-image-viewer-annotate-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of `[part=\"annotate-toggle\"]` while annotation mode is on. The toggle carries its own glyph in `--lr-color-text`, so keep a 4.5:1 ratio against it.\n- `--lr-image-viewer-annotate-active-border` (default: `var(--lr-color-brand)`) — Border color of `[part=\"annotate-toggle\"]` while annotation mode is on.\n- `--lr-image-viewer-highlight-active-color` (default: `var(--lr-color-brand)`) — Outline color of the `[part=\"highlight\"]` matching `activeHighlightId`, independent of the per-tone border colors."
|
|
7820
|
+
"value": "`<lr-image-viewer>` — full pan/zoom raster-image viewer with labeled region highlights and\nopt-in region annotation, the landing surface for `region`-anchored citations. Distinct from\n`<lr-svg-viewer>` (rendered SVG documents) and `<lr-image-comparer>` (before/after slotted\nsurfaces) — this component owns raster grounding/citation display, not comparison or vector\nrendering.\n\nAdopts `DocumentAnchorTarget` with `anchorKinds: ['region']` only — no text selection is bound\n(a raster image has no selectable text), so `lr-text-select` is never emitted by this viewer.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | None. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `annotate-toggle` | The annotation-mode toggle button. |\n| `annotation-box` | The in-progress draft rectangle. |\n| `base` | The root wrapper. |\n| `error` | The error region. |\n| `fit-control` | The fit-mode select. |\n| `frame` | The embedded `lr-zoomable-frame`. |\n| `highlight` | One highlight box (`data-tone`, `data-active`). |\n| `highlight-label` | A highlight's visible label. |\n| `highlight-layer` | The overlay hosting highlight boxes. |\n| `image` | The `<img>` element. |\n| `image-wrapper` | The rotated wrapper around the image and its overlays. |\n| `rotate-button` | The rotate-90-clockwise button. |\n| `toolbar` | The fit/rotate/annotate controls row. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-image-viewer-annotate-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of `[part=\"annotate-toggle\"]` while annotation mode is on. The toggle carries its own glyph in `--lr-color-text`, so keep a 4.5:1 ratio against it.\n- `--lr-image-viewer-annotate-active-border` (default: `var(--lr-color-brand)`) — Border color of `[part=\"annotate-toggle\"]` while annotation mode is on.\n- `--lr-image-viewer-highlight-active-color` (default: `var(--lr-color-brand)`) — Outline color of the `[part=\"highlight\"]` matching `activeHighlightId`, independent of the per-tone border colors.\n- `--lr-image-viewer-highlight-border` (default: `var(--lr-color-brand)`) — Default highlight border.\n- `--lr-image-viewer-highlight-bg` (default: `color-mix(in srgb, var(--lr-color-brand) 20%, transparent)`) — Default highlight fill.\n- `--lr-image-viewer-highlight-success-border` — Success-tone highlight border.\n- `--lr-image-viewer-highlight-success-bg` — Success-tone highlight fill.\n- `--lr-image-viewer-highlight-warning-border` — Warning-tone highlight border.\n- `--lr-image-viewer-highlight-warning-bg` — Warning-tone highlight fill.\n- `--lr-image-viewer-highlight-danger-border` — Danger-tone highlight border.\n- `--lr-image-viewer-highlight-danger-bg` — Danger-tone highlight fill.\n- `--lr-image-viewer-highlight-neutral-border` — Neutral-tone highlight border.\n- `--lr-image-viewer-highlight-neutral-bg` — Neutral-tone highlight fill."
|
|
7679
7821
|
},
|
|
7680
7822
|
"attributes": [
|
|
7681
7823
|
{
|
|
@@ -7791,7 +7933,7 @@
|
|
|
7791
7933
|
"name": "lr-ingestion-queue",
|
|
7792
7934
|
"description": {
|
|
7793
7935
|
"kind": "markdown",
|
|
7794
|
-
"value": "`<lr-ingestion-queue>` — a controlled list of documents moving through an ingestion pipeline\n(upload → text extraction → chunking → embedding → indexing), each row showing its stage,\nprogress, chunk/embedding counts, and a retry or cancel affordance. Presentation only: this\ncomponent runs no ingestion itself, persists nothing, and never mutates `items` -- retrying or\ncancelling a row fires a controlled `lr-retry`/`lr-cancel` request event and waits for the host\nto supply an updated `items` array, the same request/response convention `<lr-thread-list>`'s\n`lr-thread-pin`/`-archive`/`-delete` events already establish.\n\nAt or above `virtualizeThreshold` items, the list renders through an internal\n`<lr-virtual-list>` instead of a plain keyed list (same precedent as `<lr-thread-list>`'s data\nmode and `<lr-activity-feed>`'s `virtualizeThreshold`) -- identical row markup and behavior\neither way, keyed by `id`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root region. |\n| `cancel-button` | Fires `lr-cancel`. Only rendered for non-terminal rows. |\n| `empty` | The `<lr-empty>` zero-items state. |\n| `item` | One queue item row; carries `data-stage`. When virtualized, reached from this component's own stylesheet via `lr-virtual-list::part(item)` (renders inside the internal `<lr-virtual-list>`'s own shadow root, not this component's). |\n| `item-actions` | Wrapper around the retry/cancel buttons. |\n| `item-attempts` | The attempt count, only rendered once `attempts` is greater than 0. |\n| `item-chunk-count` | The chunk count, only rendered once `chunkCount` is set. |\n| `item-embedding-status` | The \"N of M chunks embedded\" text, only rendered once both `chunkCount` and `embeddedChunkCount` are set. |\n| `item-error` | The failure message, only rendered for `stage=\"failed\"` with `error` set. |\n| `item-header` | The row's name/stage-badge line. |\n| `item-meta` | Wrapper around the chunk-count/embedding-status/attempt-count text. |\n| `item-name` | The document's `name`. |\n| `item-progress` | The row's `<lr-progress-bar>`, only rendered for an active (uploading through indexing) stage. |\n| `item-stage` | The row's `<lr-badge>` showing the localized stage label; its `variant` tracks `stage`. |\n| `list` | The row container in non-virtualized mode (`role=\"list\"`). |\n| `retry-button` | Fires `lr-retry`. Only rendered for `stage=\"failed\"` rows. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-ingestion-queue-max-height` (default: `none`) — Non-virtualized mode only: caps how tall the list grows before it scrolls internally. Has no effect once virtualized -- the internal `<lr-virtual-list>`'s own viewport keeps its independent, fixed default height (retheme it directly via `<lr-ingestion-queue>`'s own `lr-virtual-list { --lr-virtual-list-height: ... }` if needed)."
|
|
7936
|
+
"value": "`<lr-ingestion-queue>` — a controlled list of documents moving through an ingestion pipeline\n(upload → text extraction → chunking → embedding → indexing), each row showing its stage,\nprogress, chunk/embedding counts, and a retry or cancel affordance. Presentation only: this\ncomponent runs no ingestion itself, persists nothing, and never mutates `items` -- retrying or\ncancelling a row fires a controlled `lr-retry`/`lr-cancel` request event and waits for the host\nto supply an updated `items` array, the same request/response convention `<lr-thread-list>`'s\n`lr-thread-pin`/`-archive`/`-delete` events already establish.\n\nAt or above `virtualizeThreshold` items, the list renders through an internal\n`<lr-virtual-list>` instead of a plain keyed list (same precedent as `<lr-thread-list>`'s data\nmode and `<lr-activity-feed>`'s `virtualizeThreshold`) -- identical row markup and behavior\neither way, keyed by `id`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root region. |\n| `cancel-button` | Fires `lr-cancel`. Only rendered for non-terminal rows. |\n| `empty` | The `<lr-empty>` zero-items state. |\n| `failure-live` | The visually hidden assertive region that announces only failures that transition or are added after mount; historical failed rows remain visible but are not re-announced as fresh failures. |\n| `item` | One queue item row; carries `data-stage`. When virtualized, reached from this component's own stylesheet via `lr-virtual-list::part(item)` (renders inside the internal `<lr-virtual-list>`'s own shadow root, not this component's). |\n| `item-actions` | Wrapper around the retry/cancel buttons. |\n| `item-attempts` | The attempt count, only rendered once `attempts` is greater than 0. |\n| `item-chunk-count` | The chunk count, only rendered once `chunkCount` is set. |\n| `item-embedding-status` | The \"N of M chunks embedded\" text, only rendered once both `chunkCount` and `embeddedChunkCount` are set. |\n| `item-error` | The failure message, only rendered for `stage=\"failed\"` with `error` set. |\n| `item-header` | The row's name/stage-badge line. |\n| `item-meta` | Wrapper around the chunk-count/embedding-status/attempt-count text. |\n| `item-name` | The document's `name`. |\n| `item-progress` | The row's `<lr-progress-bar>`, only rendered for an active (uploading through indexing) stage. |\n| `item-stage` | The row's `<lr-badge>` showing the localized stage label; its `variant` tracks `stage`. |\n| `list` | The row container in non-virtualized mode (`role=\"list\"`). |\n| `retry-button` | Fires `lr-retry`. Only rendered for `stage=\"failed\"` rows. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-ingestion-queue-max-height` (default: `none`) — Non-virtualized mode only: caps how tall the list grows before it scrolls internally. Has no effect once virtualized -- the internal `<lr-virtual-list>`'s own viewport keeps its independent, fixed default height (retheme it directly via `<lr-ingestion-queue>`'s own `lr-virtual-list { --lr-virtual-list-height: ... }` if needed)."
|
|
7795
7937
|
},
|
|
7796
7938
|
"attributes": [
|
|
7797
7939
|
{
|
|
@@ -8042,7 +8184,7 @@
|
|
|
8042
8184
|
"name": "lr-json-viewer",
|
|
8043
8185
|
"description": {
|
|
8044
8186
|
"kind": "markdown",
|
|
8045
|
-
"value": "`<lr-json-viewer>` — a collapsible, copyable tree view for an arbitrary\nJSON-serializable value (object/array/string/number/boolean/null/\nundefined). Serves as the fallback renderer wherever a raw payload (tool\ncall arguments, a tool result, an API response) needs inspecting without a\nbespoke view.\n\nExpand/collapse state is keyed by structural path (not by object identity),\nso it survives a `data` reassignment that keeps the same shape -- e.g. a\nstreaming tool result being patched in place.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root scroll container; respects `max-height`. |\n| `bracket` | A `{`, `}`, `[`, or `]` delimiter. |\n| `copy-button` | A copy-to-clipboard button -- the top-level one (in `toolbar`, labelled \"Copy JSON to clipboard\") or a per-node one (only rendered when `copyable`; labelled with its own key/type, e.g. \"Copy age\", so assistive tech can tell rows apart). |\n| `key` | An object property key or array index label. |\n| `toggle` | A container node's expand/collapse button (hidden, but present for row alignment, on leaf/empty nodes). |\n| `toolbar` | The wrapper around the top-level copy button (only rendered when `copyable`). |\n| `tree` | The wrapper around the rendered node tree. |\n| `value` | A primitive value's text -- carries `data-type` (`string`/`number`/`boolean`/`null`/`undefined`, or `circular` for a self-reference marker in place of a re-visited container's subtree) for per-type coloring, `data-match` while it matches `search`, and `data-active` while it is the current `searchNext()`/`searchPrevious()` cursor position. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-json-viewer-max-height` (default: `none`) — Cap on `[part=\"base\"]`'s block size, past which the viewer scrolls internally. The `maxHeight` property sets this token inline on `[part=\"base\"]`.\n- `--lr-json-viewer-font` (default: `var(--lr-font-mono)`) — Font family used for the rendered tree.\n- `--lr-json-viewer-match-bg` (default: `var(--lr-color-warning-quiet)`) — Background (and surrounding box-shadow) of a key/value that currently matches `search
|
|
8187
|
+
"value": "`<lr-json-viewer>` — a collapsible, copyable tree view for an arbitrary\nJSON-serializable value (object/array/string/number/boolean/null/\nundefined). Serves as the fallback renderer wherever a raw payload (tool\ncall arguments, a tool result, an API response) needs inspecting without a\nbespoke view.\n\nExpand/collapse state is keyed by structural path (not by object identity),\nso it survives a `data` reassignment that keeps the same shape -- e.g. a\nstreaming tool result being patched in place.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root scroll container; respects `max-height`. |\n| `bracket` | A `{`, `}`, `[`, or `]` delimiter. |\n| `copy-button` | A copy-to-clipboard button -- the top-level one (in `toolbar`, labelled \"Copy JSON to clipboard\") or a per-node one (only rendered when `copyable`; labelled with its own key/type, e.g. \"Copy age\", so assistive tech can tell rows apart). |\n| `key` | An object property key or array index label. |\n| `limit` | Localized notice shown when the depth/node traversal budget truncates rendering or search. |\n| `toggle` | A container node's expand/collapse button (hidden, but present for row alignment, on leaf/empty nodes). |\n| `toolbar` | The wrapper around the top-level copy button (only rendered when `copyable`). |\n| `tree` | The wrapper around the rendered node tree. |\n| `value` | A primitive value's text -- carries `data-type` (`string`/`number`/`boolean`/`null`/`undefined`, or `circular` for a self-reference marker in place of a re-visited container's subtree) for per-type coloring, `data-match` while it matches `search`, and `data-active` while it is the current `searchNext()`/`searchPrevious()` cursor position. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-json-viewer-max-height` (default: `none`) — Cap on `[part=\"base\"]`'s block size, past which the viewer scrolls internally. The `maxHeight` property sets this token inline on `[part=\"base\"]`.\n- `--lr-json-viewer-font` (default: `var(--lr-font-mono)`) — Font family used for the rendered tree.\n- `--lr-json-viewer-match-bg` (default: `var(--lr-color-warning-quiet)`) — Background (and surrounding box-shadow) of a key/value that currently matches `search`.\n- `--lr-json-viewer-active-outline` (default: `var(--lr-focus-ring-color)`) — Outline color for the current imperative search match.\n- `--lr-json-viewer-string-color` (default: `var(--lr-color-success)`) — String value color.\n- `--lr-json-viewer-number-color` (default: `var(--lr-color-brand)`) — Number value color.\n- `--lr-json-viewer-boolean-color` (default: `var(--lr-color-warning)`) — Boolean value color.\n- `--lr-json-viewer-null-color` (default: `var(--lr-color-text-quiet)`) — Null, undefined, and circular-reference marker color."
|
|
8046
8188
|
},
|
|
8047
8189
|
"attributes": [
|
|
8048
8190
|
{
|
|
@@ -8241,7 +8383,7 @@
|
|
|
8241
8383
|
"name": "lr-known-date",
|
|
8242
8384
|
"description": {
|
|
8243
8385
|
"kind": "markdown",
|
|
8244
|
-
"value": "`<lr-known-date>` — a date a user already knows (a birthdate, a passport\nissue/expiry date) collected as three plain, labeled day/month/year number\nfields in the locale's natural field order, rather than a calendar popup.\nForm-associated; the submitted form value is always canonical ISO 8601\n(`YYYY-MM-DD`), or `''` while any field is blank or the combination isn't a\nreal calendar date. Mirrors Web Awesome's `wa-known-date` API surface under\n`lr-`, with `appearance`/`pill`/`form` dropped and `size` normalized to\nthis library's own `xs`–`xl` scale, matching every other lyra form control\nmirrored from a Web Awesome counterpart.\n\nA field's own `<input>` shows exactly what was typed (never reformatted or\nreverted) -- only the composite `value` is zero-padded. Auto-advance\n(typing a field's last digit moves focus to the next field) and\nbackspace-to-previous-field-when-empty are this library's own additions on\ntop of Web Awesome's bare typing model, which documents no auto-advance;\ndon't remove them to \"restore\" WA parity. Arrow-key field-to-field\nnavigation at a field's text boundary is RTL-aware: the *physical* key that\nmeans \"toward the next field\" flips under an inherited `dir=\"rtl\"`, while\nthe field order itself (locale-derived) does not.
|
|
8386
|
+
"value": "`<lr-known-date>` — a date a user already knows (a birthdate, a passport\nissue/expiry date) collected as three plain, labeled day/month/year number\nfields in the locale's natural field order, rather than a calendar popup.\nForm-associated; the submitted form value is always canonical ISO 8601\n(`YYYY-MM-DD`), or `''` while any field is blank or the combination isn't a\nreal calendar date. Mirrors Web Awesome's `wa-known-date` API surface under\n`lr-`, with `appearance`/`pill`/`form` dropped and `size` normalized to\nthis library's own `xs`–`xl` scale, matching every other lyra form control\nmirrored from a Web Awesome counterpart.\n\nA field's own `<input>` shows exactly what was typed (never reformatted or\nreverted) -- only the composite `value` is zero-padded. Auto-advance\n(typing a field's last digit moves focus to the next field) and\nbackspace-to-previous-field-when-empty are this library's own additions on\ntop of Web Awesome's bare typing model, which documents no auto-advance;\ndon't remove them to \"restore\" WA parity. Arrow-key field-to-field\nnavigation at a field's text boundary is RTL-aware: the *physical* key that\nmeans \"toward the next field\" flips under an inherited `dir=\"rtl\"`, while\nthe field order itself (locale-derived) does not. Locale digits such as\nArabic-Indic and Persian numerals are accepted and normalized to the\ncanonical ASCII digits used by the ISO form value.\n\nNo resizable text-editing surface exists (three fixed-width digit fields),\nso resize forwarding doesn't apply, and `spellcheck`/`autocapitalize`/\n`autocorrect`/`wrap` don't meaningfully apply to 2–4-digit numeric fields\neither -- the same carve-out `lr-input[type=\"number\"]` already documents.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `error` | Custom error content, alongside the `errorText` attribute. |\n| `hint` | Custom hint content, alongside the `hint` attribute. |\n| `label` | Custom label/legend content, alongside the `label` attribute. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `error` | The validation message. |\n| `field` | Each field block (label + input), repeated three times; distinguished by `data-field=\"day\"\\|\"month\"\\|\"year\"`. |\n| `field-input` | The native per-field `<input type=\"text\" inputmode=\"numeric\">`, repeated three times; distinguished by `data-field=\"day\"\\|\"month\"\\|\"year\"`. |\n| `field-label` | The small visible per-field text label (\"Day\"/\"Month\"/\"Year\"). |\n| `fields` | The row wrapping the three field blocks. |\n| `fieldset` | The `<fieldset>` grouping the three fields. |\n| `form-control` | The outer wrapper around legend, fieldset, hint, and error. |\n| `hint` | The hint message. |\n| `legend` | The `<legend>` element. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-known-date-field-padding-block` (default: `var(--lr-space-s)`) — Block padding of each `field-input`, auto-swapped per `size`.\n- `--lr-known-date-field-padding-inline` (default: `var(--lr-space-s)`) — Inline padding of each `field-input`, auto-swapped per `size`.\n- `--lr-known-date-field-font-size` (default: `var(--lr-font-size-md-sm)`) — Font size of each `field-input`, auto-swapped per `size`.\n- `--lr-known-date-field-min-height` (default: `var(--lr-size-2-5rem)`) — Minimum block size of each `field-input`, auto-swapped per `size` (`xs`→`1.5rem`, `s`→`1.875rem`, `l`→`3rem`, `xl`→`3.5rem`) -- matches `lr-input`'s/`lr-date-input`'s own min-height scale, so a birthdate field sitting in a form row next to those controls renders at the same height. At `xs`/`s`/`m` the floor now exceeds the field's own content height and actively pins the rendered box; at `l`/`xl` the content height already exceeds the floor, so those two tiers are unaffected.\n- `--lr-known-date-field-height` — Exact block size of each `field-input`. Undeclared by default, so the field grows to fit its content, floored by `--lr-known-date-field-min-height`. Set it to pin a fixed height.\n- `--lr-known-date-field-gap` (default: `var(--lr-space-s)`) — Gap between the three field blocks.\n- `--lr-known-date-day-field-width` (default: `var(--lr-size-3-5em)`) — Inline size of the day field.\n- `--lr-known-date-month-field-width` (default: `var(--lr-size-3-5em)`) — Inline size of the month field.\n- `--lr-known-date-year-field-width` (default: `var(--lr-size-5em)`) — Inline size of the year field.\n- `--lr-known-date-invalid-border-color` (default: `var(--lr-color-danger)`) — Border color of each `field-input` while `:host([data-invalid])` is set."
|
|
8245
8387
|
},
|
|
8246
8388
|
"attributes": [
|
|
8247
8389
|
{
|
|
@@ -8476,7 +8618,7 @@
|
|
|
8476
8618
|
"name": "data-labels",
|
|
8477
8619
|
"description": {
|
|
8478
8620
|
"kind": "markdown",
|
|
8479
|
-
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis
|
|
8621
|
+
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis chart; the peer is attached only to instances that opt in, and\n`buildConfig()` keeps its per-chart options disabled until this is set. The\nscreen-reader equivalent is the always-present data table (see\n`show-data-table`); labels are a purely visual, canvas-only addition.\n\nType: `boolean` \nDefault: `false`"
|
|
8480
8622
|
}
|
|
8481
8623
|
},
|
|
8482
8624
|
{
|
|
@@ -8576,7 +8718,7 @@
|
|
|
8576
8718
|
"name": "lr-lite-chart",
|
|
8577
8719
|
"description": {
|
|
8578
8720
|
"kind": "markdown",
|
|
8579
|
-
"value": "`<lr-lite-chart>` — a dependency-free bar/line chart, plain SVG/DOM\nrendering with zero peer dependencies (unlike `lr-chart`, which wraps\n`chart.js`). For a project whose architecture forbids a charting\ndependency outright, this covers the common bar/line case: grouped or\nstacked bars, multi-series lines, per-point click, and hover tooltips\n(native SVG `<title>`, no positioning JS needed) — not a full `lr-chart`\nreplacement (no zoom/pan, no pie/doughnut/radar/scatter/bubble types, no\nhorizontal/dual-y-axis, no raw-config passthrough).\n\nBecause this renders real DOM (not canvas), it reuses `lr-chart`'s\n`--lr-chart-*` theme tokens directly via CSS `var()` — no\n`getComputedStyle()`-based re-theming step is needed the way `chart.ts`\nneeds one for its canvas.\n\nBy default (`layout=\"fit\"`) the plot always squeezes to the measured host\nwidth. Three independent, opt-in escape hatches for dense/aligned data:\n`layout=\"scroll\"` (+ `barWidth`) gives every bar a fixed pixel width and\nlets the plot overflow the host horizontally (scrollable) instead of\nsqueezing; `maxLabels` decimates which x-axis text labels render (bars\nalways still render) once there are more categories than that; and\n`barX` lets a consumer hand in its own per-category x-coordinate function\n— e.g. to pixel-align this chart's bars with a sibling `lr-heatmap`'s\ncalendar columns — overriding the internal slot math for both bars and\ntheir labels. All three are additive and no-ops when left unset.\n\nSeven further additive, opt-in properties: `pointText` overrides the\nper-bar/per-point `<title>`/`aria-label` tooltip text (mirrors\n`lr-heatmap`'s `cellText` hook), falling back to the built-in raw-value\ntemplate when unset; `roundedBars` draws bars as a rounded-top path\ninstead of a square-cornered rect; `skipZero` omits a bar entirely (not\njust zero-height) for an exactly-`0` value; `padLeft`/`barGapRatio`\noverride the internal `PAD_LEFT`/`BAR_GROUP_GAP` layout constants; `scale`\n(`type=\"bar\"` only) switches the bar-height mapping from the default\nlinear `niceDomain` fraction to a `Math.sqrt(value / domainMax)`\ncompression (mirroring `lr-heatmap`'s matrix-mode `sqrt` scale) so a\nskewed dataset's smaller bars don't get washed out by one dominant value\n— gridlines/tick labels stay on the linear domain regardless, only the bar\nmarks' own height changes, and `type=\"line\"` ignores `scale` entirely; and\n`hideAxis` suppresses `renderGrid()`'s gridlines/tick labels altogether\n(x-axis category labels, rendered separately, are unaffected). An eighth,\n`legendText`, appends a formatter-supplied string after each series' label in the\nbuilt-in legend row (e.g. a value or share) — no-op while `legend` is unset, matching the same\nfallback-to-unchanged convention as every other hook here;\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `axis-label` | Each axis tick label. |\n| `axis-title` | The x/y axis title text, when set. |\n| `bar` | Each bar rect (type=\"bar\"). Carries `data-selected` when its category index is in `selectedIndex`. |\n| `base` | The host's flex layout wrapper. |\n| `data-list` | A visually hidden list of all plotted data points (single-series only). |\n| `data-table` | A visually hidden category×series data table, rendered instead of `data-list` when there is more than one dataset so a screen-reader user hears series grouping rather than one flattened N×M sequence. |\n| `grid-line` | Each horizontal gridline. |\n| `legend` | The legend row, when `legend` is set. |\n| `legend-item` | Each legend entry. |\n| `legend-swatch` | Each legend entry's color swatch. |\n| `legend-text` | Extra per-item text after the series label, rendered only when `legendText` is set. |\n| `line` | Each series' stroked line path (type=\"line\"). |\n| `live-region` | The current mark announcement for keyboard users. |\n| `point` | Each series' per-point
|
|
8721
|
+
"value": "`<lr-lite-chart>` — a dependency-free bar/line chart, plain SVG/DOM\nrendering with zero peer dependencies (unlike `lr-chart`, which wraps\n`chart.js`). For a project whose architecture forbids a charting\ndependency outright, this covers the common bar/line case: grouped or\nstacked bars, multi-series lines, per-point click, and hover tooltips\n(native SVG `<title>`, no positioning JS needed) — not a full `lr-chart`\nreplacement (no zoom/pan, no pie/doughnut/radar/scatter/bubble types, no\nhorizontal/dual-y-axis, no raw-config passthrough).\n\nBecause this renders real DOM (not canvas), it reuses `lr-chart`'s\n`--lr-chart-*` theme tokens directly via CSS `var()` — no\n`getComputedStyle()`-based re-theming step is needed the way `chart.ts`\nneeds one for its canvas.\n\nBy default (`layout=\"fit\"`) the plot always squeezes to the measured host\nwidth. Three independent, opt-in escape hatches for dense/aligned data:\n`layout=\"scroll\"` (+ `barWidth`) gives every bar a fixed pixel width and\nlets the plot overflow the host horizontally (scrollable) instead of\nsqueezing; `maxLabels` decimates which x-axis text labels render (bars\nalways still render) once there are more categories than that; and\n`barX` lets a consumer hand in its own per-category x-coordinate function\n— e.g. to pixel-align this chart's bars with a sibling `lr-heatmap`'s\ncalendar columns — overriding the internal slot math for both bars and\ntheir labels. All three are additive and no-ops when left unset.\n\nSeven further additive, opt-in properties: `pointText` overrides the\nper-bar/per-point `<title>`/`aria-label` tooltip text (mirrors\n`lr-heatmap`'s `cellText` hook), falling back to the built-in raw-value\ntemplate when unset; `roundedBars` draws bars as a rounded-top path\ninstead of a square-cornered rect; `skipZero` omits a bar entirely (not\njust zero-height) for an exactly-`0` value; `padLeft`/`barGapRatio`\noverride the internal `PAD_LEFT`/`BAR_GROUP_GAP` layout constants; `scale`\n(`type=\"bar\"` only) switches the bar-height mapping from the default\nlinear `niceDomain` fraction to a `Math.sqrt(value / domainMax)`\ncompression (mirroring `lr-heatmap`'s matrix-mode `sqrt` scale) so a\nskewed dataset's smaller bars don't get washed out by one dominant value\n— gridlines/tick labels stay on the linear domain regardless, only the bar\nmarks' own height changes, and `type=\"line\"` ignores `scale` entirely; and\n`hideAxis` suppresses `renderGrid()`'s gridlines/tick labels altogether\n(x-axis category labels, rendered separately, are unaffected). An eighth,\n`legendText`, appends a formatter-supplied string after each series' label in the\nbuilt-in legend row (e.g. a value or share) — no-op while `legend` is unset, matching the same\nfallback-to-unchanged convention as every other hook here;\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `axis-label` | Each axis tick label. |\n| `axis-title` | The x/y axis title text, when set. |\n| `bar` | Each bar rect (type=\"bar\"). Carries `data-selected` and `aria-pressed=\"true\"` when its category index is in `selectedIndex`. |\n| `base` | The host's flex layout wrapper. |\n| `data-list` | A visually hidden list of all plotted data points (single-series only). |\n| `data-table` | A visually hidden category×series data table, rendered instead of `data-list` when there is more than one dataset so a screen-reader user hears series grouping rather than one flattened N×M sequence. |\n| `grid-line` | Each horizontal gridline. |\n| `legend` | The legend row, when `legend` is set. |\n| `legend-item` | Each legend entry. |\n| `legend-swatch` | Each legend entry's color swatch. |\n| `legend-text` | Extra per-item text after the series label, rendered only when `legendText` is set. |\n| `line` | Each series' stroked line path (type=\"line\"). |\n| `live-region` | The current mark announcement for keyboard users. |\n| `point` | Each series' per-point keyboard target (type=\"line\"). Carries `data-selected` and explicit `aria-pressed` state. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-lite-chart-selected-outline-color` (default: `var(--lr-color-brand)`) — Stroke for a bar/point whose category index is in `selectedIndex`."
|
|
8580
8722
|
},
|
|
8581
8723
|
"attributes": [
|
|
8582
8724
|
{
|
|
@@ -8748,7 +8890,7 @@
|
|
|
8748
8890
|
"name": "lr-locale-picker",
|
|
8749
8891
|
"description": {
|
|
8750
8892
|
"kind": "markdown",
|
|
8751
|
-
"value": "`<lr-locale-picker>` — a closed-list locale switcher over the library's own locale registry.\n\nWith `locales` left unset (the default), the offered rows are exactly\n`getRegisteredLyraLocales()` — every locale with strings registered via `registerLyraLocale()`,\nplus `'en'` (always available through the library's built-in English fallback) — kept live via\n`subscribeLyraLocaleRegistry()` so a locale registered after mount (e.g. a lazily-loaded\ntranslation pack) appears without a manual refresh. Passing an explicit `locales` array\noverrides the auto-discovered list entirely: a curated subset, a custom order, custom labels,\nor a locale the host wants to offer before its strings are registered.\n\n`value` is the *committed* selection (form-submitted, drives `lr-change`) and starts `''`.\nWhile unset, the trigger displays `effectiveLocale` (the same ancestor-`lang`/registry\nresolution every other component already uses) as a live preview — but that preview is never a\ncommitment: `checkValidity()`/`required` are governed by the real `value`, which stays `''`\nuntil the host sets it or the user actually picks a row. This mirrors a native `<select>`\nrendering its first option's text without that being a committed selection.\n\nBuilt directly on the shared trigger-button/`aria-activedescendant` listbox technique\n`<lr-select>` uses (not composed from it) — a plain closed list, no filter/free-text mode; a\nlocale catalog is realistically dozens of rows, not thousands, so `<lr-combobox>`'s filterable\nmodel would be more surface than the job needs.\n\nSelecting a row sets `value` and emits a cancelable `lr-change` — if a listener doesn't call\n`event.preventDefault()`, the component applies the pick itself via `setLyraLocale()`. A host\nthat wants to intercept the pick (e.g. persist it to a profile first) calls\n`event.preventDefault()`; `value` still updates so the trigger reflects the pick, but the\npage-level locale is untouched until the host calls `setLyraLocale()` itself.\n\nDoes not touch `document.documentElement.lang`/`dir` — applying a picked locale's writing\ndirection to the page is left to the host, which already has everything it needs from\n`lr-change`'s `value` to do that itself.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `error` | Custom error content. |\n| `hint` | Custom hint content. |\n| `label` | Custom label content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `error` | The error message. |\n| `expand-icon` | The dropdown indicator. |\n| `form-control` | The outer wrapper around label, trigger, listbox, error and hint. |\n| `form-control-label` | The `<label>` element (only rendered — and only contributes to the accessible name — once `label` is non-empty). |\n| `hint` | The hint message. |\n| `listbox` | The options popover. |\n| `option` | An option row. |\n| `option-flag` | The row's leading `<lr-flag>` (present only while `showFlags` is on). |\n| `option-label` | An option row's label wrapper (native name + tag). |\n| `option-tag` | An option row's secondary line — the raw BCP-47 tag. |\n| `trigger` | The trigger button (positioning anchor). |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-locale-picker-trigger-padding` — Trigger padding shorthand, scaled by `size`.\n- `--lr-locale-picker-trigger-min-height` — Trigger block-size floor, scaled by `size`.\n- `--lr-locale-picker-trigger-height` — Exact trigger height. Unset by default (a floor only via `-trigger-min-height`); set a length to both floor and cap the trigger, e.g. to pixel-match a sibling field in the same toolbar row.\n- `--lr-locale-picker-font-size` — Trigger font size, scaled by `size`.\n- `--lr-locale-picker-expand-size` — Decorative expand-icon box size, scaled by `size`.\n- `--lr-locale-picker-option-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of a hovered or keyboard-active option row."
|
|
8893
|
+
"value": "`<lr-locale-picker>` — a closed-list locale switcher over the library's own locale registry.\n\nWith `locales` left unset (the default), the offered rows are exactly\n`getRegisteredLyraLocales()` — every locale with strings registered via `registerLyraLocale()`,\nplus `'en'` (always available through the library's built-in English fallback) — kept live via\n`subscribeLyraLocaleRegistry()` so a locale registered after mount (e.g. a lazily-loaded\ntranslation pack) appears without a manual refresh. Passing an explicit `locales` array\noverrides the auto-discovered list entirely: a curated subset, a custom order, custom labels,\nor a locale the host wants to offer before its strings are registered.\n\n`value` is the *committed* selection (form-submitted, drives `lr-change`) and starts `''`.\nWhile unset, the trigger displays `effectiveLocale` (the same ancestor-`lang`/registry\nresolution every other component already uses) as a live preview — but that preview is never a\ncommitment: `checkValidity()`/`required` are governed by the real `value`, which stays `''`\nuntil the host sets it or the user actually picks a row. This mirrors a native `<select>`\nrendering its first option's text without that being a committed selection.\n\nBuilt directly on the shared trigger-button/`aria-activedescendant` listbox technique\n`<lr-select>` uses (not composed from it) — a plain closed list, no filter/free-text mode; a\nlocale catalog is realistically dozens of rows, not thousands, so `<lr-combobox>`'s filterable\nmodel would be more surface than the job needs.\n\nSelecting a row sets `value` and emits a cancelable `lr-change` — if a listener doesn't call\n`event.preventDefault()`, the component applies the pick itself via `setLyraLocale()`. A host\nthat wants to intercept the pick (e.g. persist it to a profile first) calls\n`event.preventDefault()`; `value` still updates so the trigger reflects the pick, but the\npage-level locale is untouched until the host calls `setLyraLocale()` itself.\n\nDoes not touch `document.documentElement.lang`/`dir` — applying a picked locale's writing\ndirection to the page is left to the host, which already has everything it needs from\n`lr-change`'s `value` to do that itself.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `error` | Custom error content. |\n| `hint` | Custom hint content. |\n| `label` | Custom label content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `error` | The error message. |\n| `expand-icon` | The dropdown indicator. |\n| `form-control` | The outer wrapper around label, trigger, listbox, error and hint. |\n| `form-control-label` | The `<label>` element (only rendered — and only contributes to the accessible name — once `label` is non-empty). |\n| `hint` | The hint message. |\n| `listbox` | The options popover. |\n| `option` | An option row. |\n| `option-flag` | The row's leading `<lr-flag>` (present only while `showFlags` is on). |\n| `option-label` | An option row's label wrapper (native name + tag). |\n| `option-tag` | An option row's secondary line — the raw BCP-47 tag. |\n| `trigger` | The trigger button (positioning anchor). |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-locale-picker-trigger-padding` — Trigger padding shorthand, scaled by `size`.\n- `--lr-locale-picker-trigger-min-height` — Trigger block-size floor, scaled by `size`.\n- `--lr-locale-picker-trigger-height` — Exact trigger height. Unset by default (a floor only via `-trigger-min-height`); set a length to both floor and cap the trigger, e.g. to pixel-match a sibling field in the same toolbar row.\n- `--lr-locale-picker-font-size` — Trigger font size, scaled by `size`.\n- `--lr-locale-picker-expand-size` — Decorative expand-icon box size, scaled by `size`.\n- `--lr-locale-picker-gap` (default: `var(--lr-space-xs)`) — Trigger and option child gap.\n- `--lr-locale-picker-radius` (default: `var(--lr-radius)`) — Trigger/listbox/option corner radius.\n- `--lr-locale-picker-trigger-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Trigger hover background.\n- `--lr-locale-picker-open-border-color` (default: `var(--lr-color-brand)`) — Open trigger border color.\n- `--lr-locale-picker-option-selected-border-color` (default: `var(--lr-color-brand)`) — Selected option border.\n- `--lr-locale-picker-option-selected-color` (default: `var(--lr-color-brand)`) — Selected option text.\n- `--lr-locale-picker-option-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of a hovered or keyboard-active option row."
|
|
8752
8894
|
},
|
|
8753
8895
|
"attributes": [
|
|
8754
8896
|
{
|
|
@@ -8834,7 +8976,7 @@
|
|
|
8834
8976
|
"name": "lr-map",
|
|
8835
8977
|
"description": {
|
|
8836
8978
|
"kind": "markdown",
|
|
8837
|
-
"value": "`<lr-map>` — a maplibre-gl wrapper with a declarative legend, choropleth\nGeoJSON layer, markers, and additive `dataLayers` GeoJSON overlays\n(arbitrary shapes rendered as a source plus fill/line/circle layers,\nindependent of `choropleth`'s field/stops color-interpolation), plus a raw\n`map` escape hatch. Requires the optional peer dep `maplibre-gl`\
|
|
8979
|
+
"value": "`<lr-map>` — a maplibre-gl wrapper with a declarative legend, choropleth\nGeoJSON layer, markers, and additive `dataLayers` GeoJSON overlays\n(arbitrary shapes rendered as a source plus fill/line/circle layers,\nindependent of `choropleth`'s field/stops color-interpolation), plus a raw\n`map` escape hatch. Requires the optional peer dep `maplibre-gl`\nv5 or v6 (consumers also import its CSS). MapLibre v6 is ESM-only, requires WebGL2, and needs\nits module-worker URL configured once; v5's standard build includes its worker.\n\nThe underlying `maplibregl.Map` — and the WebGL context it opens — isn't\nconstructed until this element is first visible in the viewport (tracked\nvia `IntersectionObserver`), even once the `maplibre-gl` peer dependency\nhas finished loading. Browsers hard-cap concurrent WebGL contexts per\npage, so a grid/dashboard of many `<lr-map>` instances only constructs\nthe ones actually on-screen instead of racing to exhaust that budget the\ninstant each one mounts. `map` stays `undefined` (and `lr-map-load`\ndoesn't fire) until construction actually happens.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The map wrapper. |\n| `container` | The maplibre container. |\n| `error` | `role=\"alert\"` message shown instead of `container` if the optional `maplibre-gl` peer dependency fails to load (e.g. not installed). ⚠️ The default `mapStyle` (when unset) uses OpenStreetMap's demo tile server, which is not suitable for production traffic — see the `DEFAULT_STYLE` doc comment above. Always pass an explicit `mapStyle` in production. |\n| `legend` | The map legend. |\n| `legend-swatch` | A legend color swatch. |"
|
|
8838
8980
|
},
|
|
8839
8981
|
"attributes": [
|
|
8840
8982
|
{
|
|
@@ -8871,7 +9013,7 @@
|
|
|
8871
9013
|
"name": "lr-markdown",
|
|
8872
9014
|
"description": {
|
|
8873
9015
|
"kind": "markdown",
|
|
8874
|
-
"value": "`<lr-markdown>` — sanitized Markdown-to-HTML rendering (GFM tables,\nfenced code blocks, links, blockquotes) built on the optional peer\ndependencies `marked` (parsing) and `dompurify` (sanitizing), both\nlazy-loaded via `markdown-loader.ts` on first connect.\n\nRendering never ships unsanitized or broken markup silently:\n- If `marked` fails to load, or throws while parsing malformed input, the\n component falls back to plain text (`white-space: pre-wrap`, no HTML\n parsing at all) and fires `lr-render-error`.\n- If `sanitize` is `true` (the default) and `dompurify` fails to load, the\n component *also* falls back to plain text + `lr-render-error` — it\n never renders marked's raw HTML output when sanitization was requested\n (or defaulted to) but is unavailable, even though `marked` itself loaded\n fine.\n- If `sanitize` is explicitly `false`, marked's raw output renders as-is\n regardless of whether `dompurify` is installed — the consumer opted out\n of sanitization, so `dompurify`'s absence is irrelevant to that path.\n\nThat same plain-text fallback rendering (`data-fallback` on the `content`\npart) is also, unconditionally and by default, a brief *transient* state on\nevery connect, not just a failure path: `connectedCallback()`'s dynamic\n`import()` of `marked`/`dompurify` (see `markdown-loader.ts`) is\nasynchronous, so the very first paint of any `<lr-markdown>` on a page\nshows plain text for at least one microtask — even when both peers are\nalready installed and load without error — until that import resolves and\na second render replaces it with the real Markdown output. Set\n`eager-load` to skip that window once the shared dependency cache is\nalready warm; see that property's doc for exactly what \"warm\" requires.\n\n`heading`/`code`/`blockquote`/`table`/`link`/`image` tokens are rendered\nthrough a `marked` renderer override that injects `part=\"...\"` attributes\ndirectly into the produced HTML — a single pass, not a second DOM walk\nafter insertion.\n\nFenced code blocks are syntax-highlighted via the same optional `shiki` peer `<lr-code-block>`\nuses (`highlightCode`, default `true` — a pure upgrade gated by whether `shiki` is installed at\nall, not a separate opt-in). `languages`/`languagesOnly` mirror `<lr-code-block>`'s own\nfine-grained bundle-size controls. The very first render of any content is always plain\n(identical to today's output); highlighting arrives as an asynchronous upgrade one render later,\nonce shiki resolves. No highlighting is attempted while `streaming` is `true` — it applies once a\nstream settles, so there is no added per-chunk cost while content is still arriving.\n\nWhen `heading-anchors` is set, every rendered heading's slug (computed via the shared\nGitHub-slugger-style `Slugger`) is stamped as its `id`; `getHeadingTree()` computes that same\noutline on every parse regardless of `heading-anchors`, so a host can build a table of contents\neven while ids aren't in the DOM yet. `scrollToAnchor()` (from the adopted `DocumentAnchorTarget`\nmixin) resolves `fragment` anchors against that outline and `text-quote` anchors via\n`internal/text-quote.ts`'s shared scope/resolve helpers; `highlights` re-resolve by quote after\nevery render (never by node identity), so a highlight painted before a `streaming` update\nfinishes still finds its quote once the matching text arrives. Highlight painting uses\n`internal/text-highlights.ts`'s `acquireHighlightHandle()` -- the CSS Custom Highlight API where\nthe browser supports it (no DOM mutation at all), a `<mark>`-wrap fallback otherwise.\n\n`math` renders `$...$`/`$$...$$` TeX as MathML via the optional `katex` peer's\n`renderToString(tex, { output: 'mathml' })` -- MathML Core renders natively and accessibly in\nevergreen browsers with no extra stylesheet or webfont needing to cross the shadow boundary. A\nmissing `katex` peer renders the literal, unparsed TeX source (delimiters included) and fires one\n`lr-render-error`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `blockquote` | Every rendered `<blockquote>`. |\n| `code-block` | Every rendered fenced/indented `<pre>`. |\n| `content` | The wrapper around the rendered (or plain-text fallback) output. |\n| `heading` | Every rendered `<h1>`–`<h6>` (shifted by `heading-offset`). |\n| `img` | Every rendered `<img>`. |\n| `inline-code` | Every rendered inline `<code>` span (backtick spans, not fenced blocks). |\n| `link` | Every rendered `<a>`. |\n| `list` | Every rendered `<ul>`/`<ol>`. |\n| `math` | A rendered inline or block math span (`data-display=\"inline\"\\|\"block\"`). |\n| `paragraph` | Every rendered `<p>`. |\n| `table` | Every rendered `<table>`. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-markdown-font-mono` (default: `var(--lr-font-mono)`) — Monospace family for rendered `<code>` inside `content`.\n- `--lr-code-block-tab-size` (default: `2`) — Tab width for a rendered fenced/indented `code-block`. Deliberately the same token (and default) `lr-code-block` and `lr-code-editor` use, so a consumer sets one tab width for every code surface — it is declared here rather than inherited because `lr-code-block` is a sibling element, not an ancestor. A markdown code block wraps (`white-space: pre-wrap`) while `lr-code-block` does not, so the same value can render differently on a wrapped line, where tab stops restart."
|
|
9016
|
+
"value": "`<lr-markdown>` — sanitized Markdown-to-HTML rendering (GFM tables,\nfenced code blocks, links, blockquotes) built on the optional peer\ndependencies `marked` (parsing) and `dompurify` (sanitizing), both\nlazy-loaded via `markdown-loader.ts` on first connect.\n\nRendering never ships unsanitized or broken markup silently:\n- If `marked` fails to load, or throws while parsing malformed input, the\n component falls back to plain text (`white-space: pre-wrap`, no HTML\n parsing at all) and fires `lr-render-error`.\n- If `sanitize` is `true` (the default) and `dompurify` fails to load, the\n component *also* falls back to plain text + `lr-render-error` — it\n never renders marked's raw HTML output when sanitization was requested\n (or defaulted to) but is unavailable, even though `marked` itself loaded\n fine.\n- If `sanitize` is explicitly `false`, marked's raw output renders as-is\n regardless of whether `dompurify` is installed — the consumer opted out\n of sanitization, so `dompurify`'s absence is irrelevant to that path.\n\nThat same plain-text fallback rendering (`data-fallback` on the `content`\npart) is also, unconditionally and by default, a brief *transient* state on\nevery connect, not just a failure path: `connectedCallback()`'s dynamic\n`import()` of `marked`/`dompurify` (see `markdown-loader.ts`) is\nasynchronous, so the very first paint of any `<lr-markdown>` on a page\nshows plain text for at least one microtask — even when both peers are\nalready installed and load without error — until that import resolves and\na second render replaces it with the real Markdown output. Set\n`eager-load` to skip that window once the shared dependency cache is\nalready warm; see that property's doc for exactly what \"warm\" requires.\n\n`heading`/`code`/`blockquote`/`table`/`link`/`image` tokens are rendered\nthrough a `marked` renderer override that injects `part=\"...\"` attributes\ndirectly into the produced HTML — a single pass, not a second DOM walk\nafter insertion.\n\nFenced code blocks are syntax-highlighted via the same optional `shiki` peer `<lr-code-block>`\nuses (`highlightCode`, default `true` — a pure upgrade gated by whether `shiki` is installed at\nall, not a separate opt-in). `languages`/`languagesOnly` mirror `<lr-code-block>`'s own\nfine-grained bundle-size controls. The very first render of any content is always plain\n(identical to today's output); highlighting arrives as an asynchronous upgrade one render later,\nonce shiki resolves. No highlighting is attempted while `streaming` is `true` — it applies once a\nstream settles, so there is no added per-chunk cost while content is still arriving.\n\nWhen `heading-anchors` is set, every rendered heading's slug (computed via the shared\nGitHub-slugger-style `Slugger`) is stamped as its `id`; `getHeadingTree()` computes that same\noutline on every parse regardless of `heading-anchors`, so a host can build a table of contents\neven while ids aren't in the DOM yet. `scrollToAnchor()` (from the adopted `DocumentAnchorTarget`\nmixin) resolves `fragment` anchors against that outline and `text-quote` anchors via\n`internal/text-quote.ts`'s shared scope/resolve helpers; `highlights` re-resolve by quote after\nevery render (never by node identity), so a highlight painted before a `streaming` update\nfinishes still finds its quote once the matching text arrives. Highlight painting uses\n`internal/text-highlights.ts`'s `acquireHighlightHandle()` -- the CSS Custom Highlight API where\nthe browser supports it (no DOM mutation at all), a `<mark>`-wrap fallback otherwise.\n\n`math` renders `$...$`/`$$...$$` TeX as MathML via the optional `katex` peer's\n`renderToString(tex, { output: 'mathml' })` -- MathML Core renders natively and accessibly in\nevergreen browsers with no extra stylesheet or webfont needing to cross the shadow boundary. A\nmissing `katex` peer renders the literal, unparsed TeX source (delimiters included) and fires one\n`lr-render-error`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `blockquote` | Every rendered `<blockquote>`. |\n| `code-block` | Every rendered fenced/indented `<pre>`. |\n| `content` | The wrapper around the rendered (or plain-text fallback) output. |\n| `heading` | Every rendered `<h1>`–`<h6>` (shifted by `heading-offset`). |\n| `img` | Every rendered `<img>`. |\n| `inline-code` | Every rendered inline `<code>` span (backtick spans, not fenced blocks). |\n| `link` | Every rendered `<a>`. |\n| `list` | Every rendered `<ul>`/`<ol>`. |\n| `math` | A rendered inline or block math span (`data-display=\"inline\"\\|\"block\"`). |\n| `paragraph` | Every rendered `<p>`. |\n| `table` | Every rendered `<table>`. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-markdown-font-mono` (default: `var(--lr-font-mono)`) — Monospace family for rendered `<code>` inside `content`.\n- `--lr-markdown-highlight-accent-bg` (default: `var(--lr-color-brand-quiet)`) — Accent highlight fill.\n- `--lr-markdown-highlight-success-bg` (default: `var(--lr-color-success-quiet)`) — Success highlight fill.\n- `--lr-markdown-highlight-warning-bg` (default: `var(--lr-color-warning-quiet)`) — Warning highlight fill.\n- `--lr-markdown-highlight-danger-bg` (default: `var(--lr-color-danger-quiet)`) — Danger highlight fill.\n- `--lr-markdown-highlight-neutral-bg` (default: `var(--lr-color-surface)`) — Neutral highlight fill.\n- `--lr-markdown-highlight-active-bg` (default: `var(--lr-color-brand-quiet)`) — Active highlight fill.\n- `--lr-markdown-highlight-active-outline-color` (default: `var(--lr-color-brand)`) — Active highlight outline.\n- `--lr-code-block-tab-size` (default: `2`) — Tab width for a rendered fenced/indented `code-block`. Deliberately the same token (and default) `lr-code-block` and `lr-code-editor` use, so a consumer sets one tab width for every code surface — it is declared here rather than inherited because `lr-code-block` is a sibling element, not an ancestor. A markdown code block wraps (`white-space: pre-wrap`) while `lr-code-block` does not, so the same value can render differently on a wrapped line, where tab stops restart."
|
|
8875
9017
|
},
|
|
8876
9018
|
"attributes": [
|
|
8877
9019
|
{
|
|
@@ -8978,7 +9120,7 @@
|
|
|
8978
9120
|
"name": "lr-markdown-core",
|
|
8979
9121
|
"description": {
|
|
8980
9122
|
"kind": "markdown",
|
|
8981
|
-
"value": "`<lr-markdown-core>` — a build-lean variant of `<lr-markdown>` for a consumer whose\n`languages` map already covers every language it will ever render. Every other capability (GFM\ntables, fenced code blocks, links, blockquotes, heading anchors, text-quote highlights, math) is\nidentical to `<lr-markdown>` -- only fenced-code-block highlighting differs: this component's\nown module never textually contains a call to (or import of) `loadShikiHighlighter` (the\n~200-language default dynamic-import table `<lr-markdown>` calls unconditionally unless its\n*runtime* `languagesOnly` flag is `true` -- a flag on that same module a bundler can't prove\nalways-true, so the unconditional call stays in the build output regardless). A consumer\nimporting this entry point instead of `markdown.js` gets a genuinely shiki-full-table-free\nbuild. A fenced block whose language isn't a key in `languages` always renders the plain-text\nfallback -- there is no default/full-table highlighter here to fall back to, mirroring\n`<lr-code-block-core>`'s identical contract for the sibling component.\n\nBuilt on the optional peer dependencies `marked` (parsing) and `dompurify` (sanitizing), both\nlazy-loaded via `markdown-loader.ts` on first connect.\n\nRendering never ships unsanitized or broken markup silently:\n- If `marked` fails to load, or throws while parsing malformed input, the\n component falls back to plain text (`white-space: pre-wrap`, no HTML\n parsing at all) and fires `lr-render-error`.\n- If `sanitize` is `true` (the default) and `dompurify` fails to load, the\n component *also* falls back to plain text + `lr-render-error` — it\n never renders marked's raw HTML output when sanitization was requested\n (or defaulted to) but is unavailable, even though `marked` itself loaded\n fine.\n- If `sanitize` is explicitly `false`, marked's raw output renders as-is\n regardless of whether `dompurify` is installed — the consumer opted out\n of sanitization, so `dompurify`'s absence is irrelevant to that path.\n\nThat same plain-text fallback rendering (`data-fallback` on the `content`\npart) is also, unconditionally and by default, a brief *transient* state on\nevery connect, not just a failure path: `connectedCallback()`'s dynamic\n`import()` of `marked`/`dompurify` (see `markdown-loader.ts`) is\nasynchronous, so the very first paint of any `<lr-markdown>` on a page\nshows plain text for at least one microtask — even when both peers are\nalready installed and load without error — until that import resolves and\na second render replaces it with the real Markdown output. Set\n`eager-load` to skip that window once the shared dependency cache is\nalready warm; see that property's doc for exactly what \"warm\" requires.\n\n`heading`/`code`/`blockquote`/`table`/`link`/`image` tokens are rendered\nthrough a `marked` renderer override that injects `part=\"...\"` attributes\ndirectly into the produced HTML — a single pass, not a second DOM walk\nafter insertion.\n\nFenced code blocks are syntax-highlighted via the same fine-grained `shiki/core` recipe\n`<lr-code-block-core>` uses (`highlightCode`, default `true` — gated by whether a fenced\nblock's language is a key in `languages`, since there is no default highlighter here to gate on\n\"is shiki installed at all\"). The very first render of any content is always plain (identical to\n`<lr-markdown>`'s own output); highlighting arrives as an asynchronous upgrade one render\nlater, once the fine-grained highlighter resolves. No highlighting is attempted while\n`streaming` is `true` — it applies once a stream settles, so there is no added per-chunk cost\nwhile content is still arriving.\n\nWhen `heading-anchors` is set, every rendered heading's slug (computed via the shared\nGitHub-slugger-style `Slugger`) is stamped as its `id`; `getHeadingTree()` computes that same\noutline on every parse regardless of `heading-anchors`, so a host can build a table of contents\neven while ids aren't in the DOM yet. `scrollToAnchor()` (from the adopted `DocumentAnchorTarget`\nmixin) resolves `fragment` anchors against that outline and `text-quote` anchors via\n`internal/text-quote.ts`'s shared scope/resolve helpers; `highlights` re-resolve by quote after\nevery render (never by node identity), so a highlight painted before a `streaming` update\nfinishes still finds its quote once the matching text arrives. Highlight painting uses\n`internal/text-highlights.ts`'s `acquireHighlightHandle()` -- the CSS Custom Highlight API where\nthe browser supports it (no DOM mutation at all), a `<mark>`-wrap fallback otherwise.\n\n`math` renders `$...$`/`$$...$$` TeX as MathML via the optional `katex` peer's\n`renderToString(tex, { output: 'mathml' })` -- MathML Core renders natively and accessibly in\nevergreen browsers with no extra stylesheet or webfont needing to cross the shadow boundary. A\nmissing `katex` peer renders the literal, unparsed TeX source (delimiters included) and fires one\n`lr-render-error`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `blockquote` | Every rendered `<blockquote>`. |\n| `code-block` | Every rendered fenced/indented `<pre>`. |\n| `content` | The wrapper around the rendered (or plain-text fallback) output. |\n| `heading` | Every rendered `<h1>`–`<h6>` (shifted by `heading-offset`). |\n| `img` | Every rendered `<img>`. |\n| `inline-code` | Every rendered inline `<code>` span (backtick spans, not fenced blocks). |\n| `link` | Every rendered `<a>`. |\n| `list` | Every rendered `<ul>`/`<ol>`. |\n| `math` | A rendered inline or block math span (`data-display=\"inline\"\\|\"block\"`). |\n| `paragraph` | Every rendered `<p>`. |\n| `table` | Every rendered `<table>`. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-code-block-tab-size` (default: `2`) — Tab width for a rendered fenced/indented `code-block`. Deliberately the same token (and default) `lr-code-block` and `lr-code-editor` use, so a consumer sets one tab width for every code surface — it is declared here rather than inherited because `lr-code-block` is a sibling element, not an ancestor. A markdown code block wraps (`white-space: pre-wrap`) while `lr-code-block` does not, so the same value can render differently on a wrapped line, where tab stops restart."
|
|
9123
|
+
"value": "`<lr-markdown-core>` — a build-lean variant of `<lr-markdown>` for a consumer whose\n`languages` map already covers every language it will ever render. Every other capability (GFM\ntables, fenced code blocks, links, blockquotes, heading anchors, text-quote highlights, math) is\nidentical to `<lr-markdown>` -- only fenced-code-block highlighting differs: this component's\nown module never textually contains a call to (or import of) `loadShikiHighlighter` (the\n~200-language default dynamic-import table `<lr-markdown>` calls unconditionally unless its\n*runtime* `languagesOnly` flag is `true` -- a flag on that same module a bundler can't prove\nalways-true, so the unconditional call stays in the build output regardless). A consumer\nimporting this entry point instead of `markdown.js` gets a genuinely shiki-full-table-free\nbuild. A fenced block whose language isn't a key in `languages` always renders the plain-text\nfallback -- there is no default/full-table highlighter here to fall back to, mirroring\n`<lr-code-block-core>`'s identical contract for the sibling component.\n\nBuilt on the optional peer dependencies `marked` (parsing) and `dompurify` (sanitizing), both\nlazy-loaded via `markdown-loader.ts` on first connect.\n\nRendering never ships unsanitized or broken markup silently:\n- If `marked` fails to load, or throws while parsing malformed input, the\n component falls back to plain text (`white-space: pre-wrap`, no HTML\n parsing at all) and fires `lr-render-error`.\n- If `sanitize` is `true` (the default) and `dompurify` fails to load, the\n component *also* falls back to plain text + `lr-render-error` — it\n never renders marked's raw HTML output when sanitization was requested\n (or defaulted to) but is unavailable, even though `marked` itself loaded\n fine.\n- If `sanitize` is explicitly `false`, marked's raw output renders as-is\n regardless of whether `dompurify` is installed — the consumer opted out\n of sanitization, so `dompurify`'s absence is irrelevant to that path.\n\nThat same plain-text fallback rendering (`data-fallback` on the `content`\npart) is also, unconditionally and by default, a brief *transient* state on\nevery connect, not just a failure path: `connectedCallback()`'s dynamic\n`import()` of `marked`/`dompurify` (see `markdown-loader.ts`) is\nasynchronous, so the very first paint of any `<lr-markdown>` on a page\nshows plain text for at least one microtask — even when both peers are\nalready installed and load without error — until that import resolves and\na second render replaces it with the real Markdown output. Set\n`eager-load` to skip that window once the shared dependency cache is\nalready warm; see that property's doc for exactly what \"warm\" requires.\n\n`heading`/`code`/`blockquote`/`table`/`link`/`image` tokens are rendered\nthrough a `marked` renderer override that injects `part=\"...\"` attributes\ndirectly into the produced HTML — a single pass, not a second DOM walk\nafter insertion.\n\nFenced code blocks are syntax-highlighted via the same fine-grained `shiki/core` recipe\n`<lr-code-block-core>` uses (`highlightCode`, default `true` — gated by whether a fenced\nblock's language is a key in `languages`, since there is no default highlighter here to gate on\n\"is shiki installed at all\"). The very first render of any content is always plain (identical to\n`<lr-markdown>`'s own output); highlighting arrives as an asynchronous upgrade one render\nlater, once the fine-grained highlighter resolves. No highlighting is attempted while\n`streaming` is `true` — it applies once a stream settles, so there is no added per-chunk cost\nwhile content is still arriving.\n\nWhen `heading-anchors` is set, every rendered heading's slug (computed via the shared\nGitHub-slugger-style `Slugger`) is stamped as its `id`; `getHeadingTree()` computes that same\noutline on every parse regardless of `heading-anchors`, so a host can build a table of contents\neven while ids aren't in the DOM yet. `scrollToAnchor()` (from the adopted `DocumentAnchorTarget`\nmixin) resolves `fragment` anchors against that outline and `text-quote` anchors via\n`internal/text-quote.ts`'s shared scope/resolve helpers; `highlights` re-resolve by quote after\nevery render (never by node identity), so a highlight painted before a `streaming` update\nfinishes still finds its quote once the matching text arrives. Highlight painting uses\n`internal/text-highlights.ts`'s `acquireHighlightHandle()` -- the CSS Custom Highlight API where\nthe browser supports it (no DOM mutation at all), a `<mark>`-wrap fallback otherwise.\n\n`math` renders `$...$`/`$$...$$` TeX as MathML via the optional `katex` peer's\n`renderToString(tex, { output: 'mathml' })` -- MathML Core renders natively and accessibly in\nevergreen browsers with no extra stylesheet or webfont needing to cross the shadow boundary. A\nmissing `katex` peer renders the literal, unparsed TeX source (delimiters included) and fires one\n`lr-render-error`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `blockquote` | Every rendered `<blockquote>`. |\n| `code-block` | Every rendered fenced/indented `<pre>`. |\n| `content` | The wrapper around the rendered (or plain-text fallback) output. |\n| `heading` | Every rendered `<h1>`–`<h6>` (shifted by `heading-offset`). |\n| `img` | Every rendered `<img>`. |\n| `inline-code` | Every rendered inline `<code>` span (backtick spans, not fenced blocks). |\n| `link` | Every rendered `<a>`. |\n| `list` | Every rendered `<ul>`/`<ol>`. |\n| `math` | A rendered inline or block math span (`data-display=\"inline\"\\|\"block\"`). |\n| `paragraph` | Every rendered `<p>`. |\n| `table` | Every rendered `<table>`. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-markdown-highlight-accent-bg` (default: `var(--lr-color-brand-quiet)`) — Accent highlight fill.\n- `--lr-markdown-highlight-success-bg` (default: `var(--lr-color-success-quiet)`) — Success highlight fill.\n- `--lr-markdown-highlight-warning-bg` (default: `var(--lr-color-warning-quiet)`) — Warning highlight fill.\n- `--lr-markdown-highlight-danger-bg` (default: `var(--lr-color-danger-quiet)`) — Danger highlight fill.\n- `--lr-markdown-highlight-neutral-bg` (default: `var(--lr-color-surface)`) — Neutral highlight fill.\n- `--lr-markdown-highlight-active-bg` (default: `var(--lr-color-brand-quiet)`) — Active highlight fill.\n- `--lr-markdown-highlight-active-outline-color` (default: `var(--lr-color-brand)`) — Active highlight outline.\n- `--lr-code-block-tab-size` (default: `2`) — Tab width for a rendered fenced/indented `code-block`. Deliberately the same token (and default) `lr-code-block` and `lr-code-editor` use, so a consumer sets one tab width for every code surface — it is declared here rather than inherited because `lr-code-block` is a sibling element, not an ancestor. A markdown code block wraps (`white-space: pre-wrap`) while `lr-code-block` does not, so the same value can render differently on a wrapped line, where tab stops restart."
|
|
8982
9124
|
},
|
|
8983
9125
|
"attributes": [
|
|
8984
9126
|
{
|
|
@@ -9074,6 +9216,50 @@
|
|
|
9074
9216
|
}
|
|
9075
9217
|
]
|
|
9076
9218
|
},
|
|
9219
|
+
{
|
|
9220
|
+
"name": "lr-mcp-app",
|
|
9221
|
+
"description": {
|
|
9222
|
+
"kind": "markdown",
|
|
9223
|
+
"value": "`<lr-mcp-app>` — hosts an MCP App-style executable UI resource in a uniquely-origin sandbox.\nThe frame can request tools, messages, links, logs, and resizing only through typed events;\nthe component never performs those external actions itself.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The sandbox frame wrapper. |\n| `error` | The invalid-resource error. |\n| `frame` | The sandboxed iframe. |\n| `loading` | The pre-load status. |"
|
|
9224
|
+
},
|
|
9225
|
+
"attributes": [
|
|
9226
|
+
{
|
|
9227
|
+
"name": "aria-label",
|
|
9228
|
+
"description": {
|
|
9229
|
+
"kind": "markdown",
|
|
9230
|
+
"value": "Type: `string | null` \nDefault: `null`"
|
|
9231
|
+
}
|
|
9232
|
+
},
|
|
9233
|
+
{
|
|
9234
|
+
"name": "height",
|
|
9235
|
+
"description": {
|
|
9236
|
+
"kind": "markdown",
|
|
9237
|
+
"value": "Type: `number` \nDefault: `320`"
|
|
9238
|
+
}
|
|
9239
|
+
},
|
|
9240
|
+
{
|
|
9241
|
+
"name": "label",
|
|
9242
|
+
"description": {
|
|
9243
|
+
"kind": "markdown",
|
|
9244
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
9245
|
+
}
|
|
9246
|
+
},
|
|
9247
|
+
{
|
|
9248
|
+
"name": "locale",
|
|
9249
|
+
"description": {
|
|
9250
|
+
"kind": "markdown",
|
|
9251
|
+
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
9252
|
+
}
|
|
9253
|
+
},
|
|
9254
|
+
{
|
|
9255
|
+
"name": "max-height",
|
|
9256
|
+
"description": {
|
|
9257
|
+
"kind": "markdown",
|
|
9258
|
+
"value": "Type: `number` \nDefault: `800`"
|
|
9259
|
+
}
|
|
9260
|
+
}
|
|
9261
|
+
]
|
|
9262
|
+
},
|
|
9077
9263
|
{
|
|
9078
9264
|
"name": "lr-media-card",
|
|
9079
9265
|
"description": {
|
|
@@ -9173,7 +9359,7 @@
|
|
|
9173
9359
|
"name": "lr-mention-popover",
|
|
9174
9360
|
"description": {
|
|
9175
9361
|
"kind": "markdown",
|
|
9176
|
-
"value": "`<lr-mention-popover>` — a caret-anchored, keyboard-navigable popover for\n`@`-mention and `/`-slash-command autocomplete inside a plain-text\n`<textarea>`/`<input>` the host owns (e.g. `<lr-chat-composer>`'s own\ntextarea, though this component has no dependency on that or any other\nspecific input).
|
|
9362
|
+
"value": "`<lr-mention-popover>` — a caret-anchored, keyboard-navigable popover for\n`@`-mention and `/`-slash-command autocomplete inside a plain-text\n`<textarea>`/`<input>` the host owns (e.g. `<lr-chat-composer>`'s own\ntextarea, though this component has no dependency on that or any other\nspecific input). On platforms that support cross-root ARIA element\nreflection, focus stays in the host input while\n`ariaActiveDescendantElement` conveys the active row. Where the platform\nrejects that reference, the explicit `focusActiveOption()` fallback moves\nreal focus into this component's shadow listbox so focus ownership and\noptions share one tree scope. A string `aria-activedescendant` cannot\nresolve from the host document into this component's shadow root.\n\nIntegration contract (entirely the host's responsibility — this component\nnever inspects the text control's value or listens to it directly):\n1. Detect a mention/command trigger (e.g. `@`/`/` at the start of a word)\n in the host's own `input` handling.\n2. Set `anchor` (the `<textarea>`/`<input>` itself, or any element for\n plain whole-element anchoring — see \"Positioning\" below), `items`, and\n `query` (the text typed since the trigger character), then flip\n `open = true`.\n3. Forward every `keydown` the input receives, while `open`, through\n `handleKeyDown()` — it returns `true` when it consumed the key (so the\n host's own handler should stop, e.g. skip submitting the message on an\n Enter that actually picked a mention) and `false` otherwise.\n4. Set `open = false` whenever the query stops looking like an active\n mention context (a space typed, the trigger character deleted, or focus\n leaving both the input and this popover) — `lr-mention-close` fires\n automatically from that (see below), there is no separate \"tell it to\n close\" call needed.\n5. Call `syncActiveDescendant()` after opening and after every consumed\n navigation key. It uses cross-root ARIA element reflection where the\n platform supports it and never installs a broken string IDREF. When it\n returns `false`, call `focusActiveOption()` after the first consumed\n navigation key. That fallback moves real focus into the shadow listbox,\n where each option and its focus owner share one tree scope; a host blur\n handler must therefore keep the popover open when `relatedTarget` is this\n component. Subsequent navigation is handled by the popover and focus\n returns to `anchor` when it closes.\n\nPositioning: when `anchor` is a plain `<textarea>` or single-line text\n`<input>`, this component measures exactly where the caret currently\npaints (`caretClientRect()`, the standard hidden-mirror-element technique\n— see that function's own doc) and positions against that single point\nwith `internal/positioner.js`'s `place()`, so the popup tracks the caret\nrather than sitting under the whole textarea. Any other `anchor` element\n(or a text control this component fails to measure, e.g. one with\n`display: none`) falls back to `place(anchor, popup)` against the whole\nelement — the same whole-element anchoring `<lr-combobox>`/\n`<lr-select>` use for their own popups. Re-measures on every `anchor`/\n`query` change while open (a keystroke moves the caret, so a fresh `query`\nis the proxy for \"the caret may have moved\"); a caret that moves for a\nreason other than typing (e.g. a mouse click elsewhere in the text while\nthe popover happens to still be open) is not separately tracked — the\nhost can force a re-measure by toggling `open` or reassigning `anchor`.\n\nFiltering happens internally against `items` (mirroring `<lr-combobox>`'s\nfilter-predicate convention via `filter`, rather than requiring the host to\npre-filter): the default predicate is a case-insensitive substring match\nagainst `label`/`description`, overridable via `filter`.\n\nThere is no persisted \"selection\" the way a real listbox has one — a\nmention is either committed (closing the popover) or the popover is\ndismissed with nothing chosen — so `aria-selected=\"true\"` marks whichever\nrow is currently *active* (what Enter/Tab would commit right now), per the\nWAI-ARIA combobox-with-list-autocomplete pattern, rather than tracking a\nseparate persisted value the way `<lr-combobox>`'s own `aria-selected`\ndoes.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `empty` | The \"no matches\" message, shown when `items`/`query` produce zero rows. |\n| `listbox` | The popover's root element (`role=\"listbox\"`). |\n| `option` | A candidate row (`role=\"option\"`). |\n| `option-description` | A row's optional secondary line, when `description` is set. |\n| `option-icon` | A row's leading icon glyph, when `icon` is set. |\n| `option-label` | Wrapper around a row's label/description. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-mention-popover-option-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of the hovered or `[data-active]` (keyboard-highlighted) suggestion row."
|
|
9177
9363
|
},
|
|
9178
9364
|
"attributes": [
|
|
9179
9365
|
{
|
|
@@ -9217,7 +9403,7 @@
|
|
|
9217
9403
|
"name": "lr-menu",
|
|
9218
9404
|
"description": {
|
|
9219
9405
|
"kind": "markdown",
|
|
9220
|
-
"value": "`<lr-menu>` — an anchored dropdown of `<lr-menu-item>` actions, opened\nfrom a consumer-supplied trigger (typically an icon button). A close, drop-\nin-shaped replacement for reaching outside this library for a third-party\ndropdown to build a gear menu, an avatar menu, or a history row's overflow\nmenu: click the trigger, a positioned menu appears, clicking an item both\nperforms the action *and* closes the menu.\n\n**ARIA pattern — `role=\"menu\"`/`role=\"menuitem\"` with real roving DOM\nfocus, not a listbox.** Two coherent, mutually-exclusive shapes were\navailable here: (a) `role=\"listbox\"`/`role=\"option\"` with\n`aria-activedescendant`, the pattern `<lr-select>`'s trigger-button +\npopup listbox uses, where DOM focus never leaves the trigger; or (b)\n`role=\"menu\"`/`role=\"menuitem\"` with real focus moving between actual\nfocusable rows, the WAI-ARIA \"menu button\" pattern. This picks (b):\n`<lr-menu-item>` rows are real, independently-focusable elements (see\nthat class's own doc), which is the more natural fit for a menu\nspecifically — unlike a listbox's rows, a menu's rows are conventionally\nbutton-/link-shaped, and every well-known native/OS menu (and this\nfamily's own `<lr-tree>`/`<lr-tree-node>` pair, which this component's\nroving-tabindex plumbing directly mirrors) already moves real focus rather\nthan merely a virtual `aria-activedescendant` pointer. `role`/`tabIndex`\nare consistently the menu-button shape throughout — never mixed with\nlistbox/option.\n\nInteraction contract (mirrors the WAI-ARIA APG \"menu button\" pattern):\n- Click the trigger (or Enter/Space on it, via the trigger's own native\n `click` activation) toggles the menu, moving focus to the first\n non-disabled item on open.\n- ArrowDown/ArrowUp on the trigger while closed also open it, focusing the\n first/last non-disabled item respectively.\n- Once open, ArrowDown/ArrowUp move the roving focus among non-disabled\n items (wrapping past either end — the recommended, and more common,\n menu-widget behavior, unlike `<lr-select>`'s clamped listbox nav).\n Home/End jump to the first/last non-disabled item. Enter/Space activate\n the focused item. Escape closes and returns focus to the trigger. A\n printable keypress runs type-ahead: roving focus jumps to the next\n non-disabled item whose text starts with the accumulated buffer, cycling\n from just after the active item (mirrors `<lr-select>`'s identical\n listbox type-ahead). All of the above (except Escape and Tab) only\n respond to keydowns from a real `<lr-menu-item>` target, so a slotted\n non-item control (e.g. a date input) keeps its own full default keyboard\n behavior.\n- Tab never traps focus and never calls `preventDefault()` — the browser's\n own Tab navigation always proceeds untouched. It closes the menu only\n when focus is on its way *out* of the popup: with a focusable in the\n `header`/`footer` region on the far side of the keypress, the menu stays\n open so native Tab can carry focus there instead. With neither region\n filled, Tab closes exactly as it always has. Tabbing past the popup's\n last focusable in either direction closes it too, including from slotted\n non-item content — which previously left the menu open while focus\n walked away.\n- Escape from `header`/`footer` content closes the menu and refocuses the\n trigger unconditionally, mirroring `<lr-popover>`'s handling of arbitrary\n popup content. `closeOnEscapeAnywhere` governs only the *legacy* shape —\n non-item content slotted into the **default** slot — and defaults to\n `false`, so existing consumers keep today's behavior unchanged.\n- A click outside both the trigger and the open popup closes it (mirrors\n `<lr-select>`'s `onDocPointer` exactly) — this does *not* refocus the\n trigger, since the outside click itself already moved focus somewhere\n the user chose; Escape and a committed selection *do* refocus the\n trigger, since those are dismissals with nowhere else for focus to go.\n\n`show(focus?)` and `hide(options?)` are the public imperative pair, for the cases the trigger\ncan't express: a slotted \"Apply\"/\"Done\" button inside the menu, a keyboard shortcut, a parent\nrestoring UI state. `hide({ focusTrigger: true })` is the one that also returns DOM focus to the\ntrigger — use it whenever the interaction that closed the menu hasn't already put focus\nsomewhere the user chose. Writing `open` directly still works and is fully equivalent apart from\nthe focus moves: the roving-tabindex reset is centralized in `updated()`, so `el.open = false`\nnever leaves a stale `tabindex=\"0\"` tab stop on the last active item.\n\nThe trigger element itself is read from the `trigger` slot's assigned
|
|
9406
|
+
"value": "`<lr-menu>` — an anchored dropdown of `<lr-menu-item>` actions, opened\nfrom a consumer-supplied trigger (typically an icon button). A close, drop-\nin-shaped replacement for reaching outside this library for a third-party\ndropdown to build a gear menu, an avatar menu, or a history row's overflow\nmenu: click the trigger, a positioned menu appears, clicking an item both\nperforms the action *and* closes the menu.\n\n**ARIA pattern — `role=\"menu\"`/`role=\"menuitem\"` with real roving DOM\nfocus, not a listbox.** Two coherent, mutually-exclusive shapes were\navailable here: (a) `role=\"listbox\"`/`role=\"option\"` with\n`aria-activedescendant`, the pattern `<lr-select>`'s trigger-button +\npopup listbox uses, where DOM focus never leaves the trigger; or (b)\n`role=\"menu\"`/`role=\"menuitem\"` with real focus moving between actual\nfocusable rows, the WAI-ARIA \"menu button\" pattern. This picks (b):\n`<lr-menu-item>` rows are real, independently-focusable elements (see\nthat class's own doc), which is the more natural fit for a menu\nspecifically — unlike a listbox's rows, a menu's rows are conventionally\nbutton-/link-shaped, and every well-known native/OS menu (and this\nfamily's own `<lr-tree>`/`<lr-tree-node>` pair, which this component's\nroving-tabindex plumbing directly mirrors) already moves real focus rather\nthan merely a virtual `aria-activedescendant` pointer. `role`/`tabIndex`\nare consistently the menu-button shape throughout — never mixed with\nlistbox/option.\n\nInteraction contract (mirrors the WAI-ARIA APG \"menu button\" pattern):\n- Click the trigger (or Enter/Space on it, via the trigger's own native\n `click` activation) toggles the menu, moving focus to the first\n non-disabled item on open.\n- ArrowDown/ArrowUp on the trigger while closed also open it, focusing the\n first/last non-disabled item respectively.\n- Once open, ArrowDown/ArrowUp move the roving focus among non-disabled\n items (wrapping past either end — the recommended, and more common,\n menu-widget behavior, unlike `<lr-select>`'s clamped listbox nav).\n Home/End jump to the first/last non-disabled item. Enter/Space activate\n the focused item. Escape closes and returns focus to the trigger. A\n printable keypress runs type-ahead: roving focus jumps to the next\n non-disabled item whose text starts with the accumulated buffer, cycling\n from just after the active item (mirrors `<lr-select>`'s identical\n listbox type-ahead). All of the above (except Escape and Tab) only\n respond to keydowns from a real `<lr-menu-item>` target, so a slotted\n non-item control (e.g. a date input) keeps its own full default keyboard\n behavior.\n- Tab never traps focus and never calls `preventDefault()` — the browser's\n own Tab navigation always proceeds untouched. It closes the menu only\n when focus is on its way *out* of the popup: with a focusable in the\n `header`/`footer` region on the far side of the keypress, the menu stays\n open so native Tab can carry focus there instead. With neither region\n filled, Tab closes exactly as it always has. Tabbing past the popup's\n last focusable in either direction closes it too, including from slotted\n non-item content — which previously left the menu open while focus\n walked away.\n- Escape from `header`/`footer` content closes the menu and refocuses the\n trigger unconditionally, mirroring `<lr-popover>`'s handling of arbitrary\n popup content. `closeOnEscapeAnywhere` governs only the *legacy* shape —\n non-item content slotted into the **default** slot — and defaults to\n `false`, so existing consumers keep today's behavior unchanged.\n- A click outside both the trigger and the open popup closes it (mirrors\n `<lr-select>`'s `onDocPointer` exactly) — this does *not* refocus the\n trigger, since the outside click itself already moved focus somewhere\n the user chose; Escape and a committed selection *do* refocus the\n trigger, since those are dismissals with nowhere else for focus to go.\n\n`show(focus?)` and `hide(options?)` are the public imperative pair, for the cases the trigger\ncan't express: a slotted \"Apply\"/\"Done\" button inside the menu, a keyboard shortcut, a parent\nrestoring UI state. `hide({ focusTrigger: true })` is the one that also returns DOM focus to the\ntrigger — use it whenever the interaction that closed the menu hasn't already put focus\nsomewhere the user chose. Writing `open` directly still works and is fully equivalent apart from\nthe focus moves: the roving-tabindex reset is centralized in `updated()`, so `el.open = false`\nnever leaves a stale `tabindex=\"0\"` tab stop on the last active item.\n\nThe trigger element itself is read from the `trigger` slot's assigned element (first one, if\nseveral are assigned) and enhanced imperatively with\n`aria-haspopup=\"menu\"`/`aria-expanded`/`aria-controls` — the same \"reach into a consumer-owned\nlight-DOM element to complete its a11y wiring\" approach `<lr-dialog>` documents for its own\nheading detection. `aria-controls` targets this menu host (which receives a stable generated\n`id` only when the consumer did not supply one), rather than a shadow-private popup id, so the\nrelationship is resolvable from the trigger's root. `<lr-button>` and `<lr-icon-button>` observe\nthose attributes, forward the popup/expanded values to their shadow-internal native controls,\nand resolve the controls element-reference onto that focused control. In supporting browsers,\nassigning the element reference intentionally clears the internal control's serialized\n`aria-controls` value; `ariaControlsElements` is the relationship's source of truth. Browsers\nwithout the reflected element-reference API retain the string as a best-effort fallback.\n\nThe popup is always rendered (never `display:none`) so `.focus()` calls on\nits content work synchronously the instant it opens — visually hidden via\n`visibility`/`opacity` instead (identical to `<lr-select>`'s own\n`[part=\"listbox\"]`). `visibility` is an inherited CSS property that\npierces the `<slot>` projection boundary, so every closed-state\n`<lr-menu-item>` is automatically excluded from sequential (Tab-key)\nnavigation with no separate JS bookkeeping.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | `<lr-menu-item>` elements, plus optionally plain `<hr>` dividers between groups (native `<hr>` already carries an implicit `separator` role, matching what `role=\"menu\"` expects between item groups). Arbitrary non-item content still renders here for backward compatibility, but the `header`/`footer` slots below are the supported place for it. |\n| `footer` | Same as `header`, rendered below the items — an \"Apply\"/\"Done\" button, a link to a fuller settings page, a count. |\n| `header` | Composed content rendered above the items and *outside* the `role=\"menu\"` list — a filter/search field, a section title, a summary row. Keeps its own full default keyboard behavior, is reachable with Tab from the items, and is ARIA-valid (arbitrary content inside `role=\"menu\"` is not). Collapses to no box at all while unfilled. |\n| `trigger` | The consumer's own trigger element (typically an icon button). Clicking it toggles the menu; it's positioned against via `internal/positioner.js`'s `place()`. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `footer` | The wrapper around the `footer` slot, below the list and outside `role=\"menu\"`. `display: none` while the slot is unfilled. |\n| `header` | The wrapper around the `header` slot, above the list and outside `role=\"menu\"`. `display: none` while the slot is unfilled. |\n| `list` | The `role=\"menu\"` container wrapping the default slot. |\n| `popup` | The positioned floating panel. |\n| `trigger` | The wrapper around the `trigger` slot (the positioning anchor). |"
|
|
9221
9407
|
},
|
|
9222
9408
|
"attributes": [
|
|
9223
9409
|
{
|
|
@@ -9231,7 +9417,7 @@
|
|
|
9231
9417
|
"name": "label",
|
|
9232
9418
|
"description": {
|
|
9233
9419
|
"kind": "markdown",
|
|
9234
|
-
"value": "Accessible name for the `role=\"menu\"` popup — override with something\nspecific (e.g. \"Row actions\") when a page has more than one menu.\nLocalized (`menuLabel`) when left at its default. A host-level\n`aria-label` attribute takes precedence over both this prop and the\nlocalized default, matching `lr-select`/`lr-model-select`'s\nestablished `this.getAttribute('aria-label') || <computed default>`\nprecedence (see `effectiveLabel`).\n\nType: `string` \nDefault:
|
|
9420
|
+
"value": "Accessible name for the `role=\"menu\"` popup — override with something\nspecific (e.g. \"Row actions\") when a page has more than one menu.\nLocalized (`menuLabel`) when left at its default. A host-level\n`aria-label` attribute takes precedence over both this prop and the\nlocalized default, matching `lr-select`/`lr-model-select`'s\nestablished `this.getAttribute('aria-label') || <computed default>`\nprecedence (see `effectiveLabel`).\n\nType: `string` \nDefault: `\"Menu\"`"
|
|
9235
9421
|
}
|
|
9236
9422
|
},
|
|
9237
9423
|
{
|
|
@@ -9419,6 +9605,50 @@
|
|
|
9419
9605
|
}
|
|
9420
9606
|
]
|
|
9421
9607
|
},
|
|
9608
|
+
{
|
|
9609
|
+
"name": "lr-message-parts",
|
|
9610
|
+
"description": {
|
|
9611
|
+
"kind": "markdown",
|
|
9612
|
+
"value": "`<lr-message-parts>` — renders ordered, interleavable provider-neutral AI message parts. It\ncomposes Lyra's existing Markdown, reasoning, tool, citation, attachment, widget, JSON, and\nmedia primitives while keeping streaming order stable by part id.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `attachment` | An attachment part. |\n| `audio` | An audio part. |\n| `audio-transcript` | An audio part's transcript. |\n| `base` | The ordered message-part list. |\n| `citation` | A citation part. |\n| `data` | A data or widget part. |\n| `error` | An error part. |\n| `part` | Every rendered part wrapper. |\n| `part-streaming` | Additional part name on a streaming part. |\n| `reasoning` | A reasoning part. |\n| `retry` | A retryable error part's action. |\n| `text` | A text part. |\n| `tool-call` | A tool-call part. |\n| `tool-result` | A tool-result part. |"
|
|
9613
|
+
},
|
|
9614
|
+
"attributes": [
|
|
9615
|
+
{
|
|
9616
|
+
"name": "aria-label",
|
|
9617
|
+
"description": {
|
|
9618
|
+
"kind": "markdown",
|
|
9619
|
+
"value": "Type: `string | null` \nDefault: `null`"
|
|
9620
|
+
}
|
|
9621
|
+
},
|
|
9622
|
+
{
|
|
9623
|
+
"name": "label",
|
|
9624
|
+
"description": {
|
|
9625
|
+
"kind": "markdown",
|
|
9626
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
9627
|
+
}
|
|
9628
|
+
},
|
|
9629
|
+
{
|
|
9630
|
+
"name": "locale",
|
|
9631
|
+
"description": {
|
|
9632
|
+
"kind": "markdown",
|
|
9633
|
+
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
9634
|
+
}
|
|
9635
|
+
},
|
|
9636
|
+
{
|
|
9637
|
+
"name": "render-markdown",
|
|
9638
|
+
"description": {
|
|
9639
|
+
"kind": "markdown",
|
|
9640
|
+
"value": "Render text parts as sanitized Markdown; `false` renders plain text.\n\nType: `boolean` \nDefault: `true`"
|
|
9641
|
+
}
|
|
9642
|
+
},
|
|
9643
|
+
{
|
|
9644
|
+
"name": "show-reasoning",
|
|
9645
|
+
"description": {
|
|
9646
|
+
"kind": "markdown",
|
|
9647
|
+
"value": "Include reasoning parts.\n\nType: `boolean` \nDefault: `true`"
|
|
9648
|
+
}
|
|
9649
|
+
}
|
|
9650
|
+
]
|
|
9651
|
+
},
|
|
9422
9652
|
{
|
|
9423
9653
|
"name": "lr-mind-map",
|
|
9424
9654
|
"description": {
|
|
@@ -9799,7 +10029,7 @@
|
|
|
9799
10029
|
"name": "lr-notebook-viewer",
|
|
9800
10030
|
"description": {
|
|
9801
10031
|
"kind": "markdown",
|
|
9802
|
-
"value": "`<lr-notebook-viewer>` — read-only Jupyter notebook (nbformat 4.x) renderer, composing existing\ncomponents per cell. Execution is a hard non-goal.\n\nMarkdown cells render through `<lr-markdown>`, code cells through `<lr-code-block>` (using the\nnotebook's kernel language for syntax highlighting), and raw cells as plain preformatted text. A\ncode cell's `execute_result`/`display_data` outputs prefer, in order, `image/png`, `image/jpeg`,\n`image/svg+xml` (sanitized), `text/html` (sanitized), `application/json` (via `<lr-json-viewer>`),\nthen `text/plain`. Stream/error outputs (tinted `danger` for stderr/tracebacks) interpret embedded\nANSI SGR color/style escapes via the shared `internal/ansi.ts` parser, same as `<lr-terminal>`.\nSanitizing raw HTML/SVG\noutput markup lazy-loads the optional peer dependency `dompurify` via `dompurify-loader.ts`; when\nthat peer isn't installed, the output renders a localized notice instead of raw markup.\n\nCells are virtualized through `<lr-virtual-list>` so a notebook with many cells stays cheap to\nscroll. `node-path` anchors resolve `path[0]` as a cell index; `fragment` anchors resolve a cell's\nown `id`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root scroll container. |\n| `cell` | One cell row (`data-cell-type`, `data-active`). |\n| `cell-active` | Added alongside `cell` on the cell an anchor
|
|
10032
|
+
"value": "`<lr-notebook-viewer>` — read-only Jupyter notebook (nbformat 4.x) renderer, composing existing\ncomponents per cell. Execution is a hard non-goal.\n\nMarkdown cells render through `<lr-markdown>`, code cells through `<lr-code-block>` (using the\nnotebook's kernel language for syntax highlighting), and raw cells as plain preformatted text. A\ncode cell's `execute_result`/`display_data` outputs prefer, in order, `image/png`, `image/jpeg`,\n`image/svg+xml` (sanitized), `text/html` (sanitized), `application/json` (via `<lr-json-viewer>`),\nthen `text/plain`. Stream/error outputs (tinted `danger` for stderr/tracebacks) interpret embedded\nANSI SGR color/style escapes via the shared `internal/ansi.ts` parser, same as `<lr-terminal>`.\nSanitizing raw HTML/SVG\noutput markup lazy-loads the optional peer dependency `dompurify` via `dompurify-loader.ts`; when\nthat peer isn't installed, the output renders a localized notice instead of raw markup.\n\nCells are virtualized through `<lr-virtual-list>` so a notebook with many cells stays cheap to\nscroll. `node-path` anchors resolve `path[0]` as a cell index; `fragment` anchors resolve a cell's\nown `id`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root scroll container. |\n| `cell` | One cell row (`data-cell-type`, `data-active`). |\n| `cell-active` | Added alongside `cell` on the cell currently targeted by an anchor or the active search match. A second part name rather than an attribute selector, because Shadow Parts forbids an attribute selector after `::part()`. |\n| `cell-gutter` | The `In [n]`/`Out [n]` label column. |\n| `cell-source` | A cell's source content. |\n| `error` | The error region. |\n| `error-output-label` | The label introducing an error output's traceback. |\n| `output` | One output (`data-output-type`, `data-stream`). |\n| `output-error` | Added alongside `output` on a stderr stream or an error output. |\n| `output-toggle` | Expands/collapses a long text output. |\n| `outputs` | The wrapper around a code cell's outputs. |\n| `raw-source` | A horizontally scrollable raw-cell source surface. |\n| `spinner` | The loading status region. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-notebook-viewer-max-height` (default: `none`) — Maximum block size of the scrollable body before it scrolls internally. Also settable via the `max-height` property.\n- `--lr-notebook-viewer-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of the `[part=\"cell\"]` currently targeted by an anchor or the active search match."
|
|
9803
10033
|
},
|
|
9804
10034
|
"attributes": [
|
|
9805
10035
|
{
|
|
@@ -10129,7 +10359,7 @@
|
|
|
10129
10359
|
"name": "lr-pagination",
|
|
10130
10360
|
"description": {
|
|
10131
10361
|
"kind": "markdown",
|
|
10132
|
-
"value": "`<lr-pagination>` — controlled, server-friendly page navigation with an\neditable page jump and optional item-range summary.\n\nThe component never mutates `page`. Activating a control emits\n`lr-page-change`; the consumer applies the requested page after its own\nrouting or data-fetch decision. Once the `page` property changes, a polite\nlive region announces the applied page.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The navigation wrapper. |\n| `controls` | The previous/page/next control group. |\n| `live-region` | The visually hidden applied-page announcement. |\n| `next-button` | The next-page button. |\n| `next-icon` | The next-page directional icon. |\n| `page-count` | The total page count shown after the input. |\n| `page-field` | The current-page input and page-count wrapper. |\n| `page-input` | The validated numeric page-jump input. |\n| `previous-button` | The previous-page button. |\n| `previous-icon` | The previous-page directional icon. |\n| `summary` | The item-range summary. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-pagination-control-size` — Control inline/block size; defaults from the `size` variant.\n- `--lr-pagination-font-size` — Control font size; defaults from the `size` variant.\n- `--lr-pagination-control-padding` (default: `var(--lr-space-xs)`) — Inner padding of the nav buttons and the page input. Uniform across every `size` (the control footprint is fixed by `--lr-pagination-control-size`, so this only adjusts the icon/digit inset)."
|
|
10362
|
+
"value": "`<lr-pagination>` — controlled, server-friendly page navigation with an\neditable page jump and optional item-range summary.\n\nThe component never mutates `page`. Activating a control emits\n`lr-page-change`; the consumer applies the requested page after its own\nrouting or data-fetch decision. Once the `page` property changes, a polite\nlive region announces the applied page.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The navigation wrapper. |\n| `controls` | The previous/page/next control group. |\n| `live-region` | The visually hidden applied-page announcement. |\n| `next-button` | The next-page button. |\n| `next-icon` | The next-page directional icon. |\n| `page-count` | The total page count shown after the input. |\n| `page-field` | The current-page input and page-count wrapper. |\n| `page-input` | The validated numeric page-jump input. |\n| `previous-button` | The previous-page button. |\n| `previous-icon` | The previous-page directional icon. |\n| `summary` | The item-range summary. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-pagination-control-size` — Control inline/block size; defaults from the `size` variant.\n- `--lr-pagination-font-size` — Control font size; defaults from the `size` variant.\n- `--lr-pagination-control-radius` (default: `var(--lr-radius)`) — Border radius of navigation buttons and the page input.\n- `--lr-pagination-control-padding` (default: `var(--lr-space-xs)`) — Inner padding of the nav buttons and the page input. Uniform across every `size` (the control footprint is fixed by `--lr-pagination-control-size`, so this only adjusts the icon/digit inset)."
|
|
10133
10363
|
},
|
|
10134
10364
|
"attributes": [
|
|
10135
10365
|
{
|
|
@@ -10310,7 +10540,7 @@
|
|
|
10310
10540
|
"name": "lr-phone-input",
|
|
10311
10541
|
"description": {
|
|
10312
10542
|
"kind": "markdown",
|
|
10313
|
-
"value": "`<lr-phone-input>` — a country-aware telephone field whose form value is\ncanonical E.164. National formatting and numbering-plan validation are\nsupplied through `adapter`; without one, already-international E.164 input\nremains useful and national input stays editable with `incomplete` validity.\n\nUser edits emit native-style `input` and `change` events. Event detail\nexposes both the canonical `value` and editable `inputValue`; programmatic\nproperty changes are silent. Phone-number text is deliberately LTR while\nthe form chrome and country selector follow the inherited direction. A host\n`aria-label` names the internal telephone input and wins over every derived\nor component-specific fallback.\n\nThe country selector keeps the real, fully accessible native `<select>`\n(full country names in its popup, native mobile pickers, type-ahead) but\nrenders it invisibly over a compact visual trigger — selected alpha-2 code\nplus a design-system chevron — so long localized country names never clip\nthe closed control and the calling code isn't shown twice. With `flags`\nset, the trigger also shows the selected country's `<lr-flag>`; actual flag\nartwork still comes from the optional `@aceshooting/lyra-flags` peer,\nregistered by the consumer via `components/media/flag/flag-peer.js`\nexactly as for a standalone `<lr-flag>` (without that registration the\ntrigger simply omits the image). Native `<option>`s cannot contain\nelements, so the open popup remains text-only by platform design.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `country-prefix` | Optional visual displayed before the country selector, such as a flag. |\n| `error` | Custom error content. |\n| `hint` | Custom hint content. |\n| `label` | Custom label content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `calling-code` | The selected country's calling code. |\n| `country` | The country selector region (invisible native select over the visual trigger). |\n| `country-code` | The selected alpha-2 code (or placeholder text) inside the trigger. |\n| `country-prefix` | Optional country adornment slot wrapper. |\n| `country-select` | The native country selector, stretched invisibly over the trigger. |\n| `country-trigger` | The visible, decorative closed-state trigger. |\n| `error` | The error or validation message. |\n| `expand-icon` | The dropdown indicator inside the trigger. |\n| `flag` | The selected country's `<lr-flag>` inside the trigger (only with `flags`). |\n| `form-control` | The outer form-control wrapper. |\n| `form-control-label` | The visible label. |\n| `hint` | The hint message. |\n| `input` | The native telephone input. |\n| `input-wrapper` | The country selector and telephone input wrapper. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-phone-input-padding-block` — Input block-padding, scaled by `size`.\n- `--lr-phone-input-font-size` — Input/flag/country-code/calling-code font size, scaled by `size`.\n- `--lr-phone-input-control-min-height` — Input-wrapper block-size floor, scaled by `size`.\n- `--lr-phone-input-control-height` — Exact input-wrapper height. Unset by default, which leaves `--lr-phone-input-control-min-height` as a floor only; set it to a length to both floor and cap the row (e.g. to pixel-match a sibling field in the same toolbar row). Because it is never declared by the component itself, it can be set from an ancestor or an outer-tree rule as well as inline on the element."
|
|
10543
|
+
"value": "`<lr-phone-input>` — a country-aware telephone field whose form value is\ncanonical E.164. National formatting and numbering-plan validation are\nsupplied through `adapter`; without one, already-international E.164 input\nremains useful and national input stays editable with `incomplete` validity.\n\nUser edits emit native-style `input` and `change` events. Event detail\nexposes both the canonical `value` and editable `inputValue`; programmatic\nproperty changes are silent. Phone-number text is deliberately LTR while\nthe form chrome and country selector follow the inherited direction. A host\n`aria-label` names the internal telephone input and wins over every derived\nor component-specific fallback.\n\nThe country selector keeps the real, fully accessible native `<select>`\n(full country names in its popup, native mobile pickers, type-ahead) but\nrenders it invisibly over a compact visual trigger — selected alpha-2 code\nplus a design-system chevron — so long localized country names never clip\nthe closed control and the calling code isn't shown twice. With `flags`\nset, the trigger also shows the selected country's `<lr-flag>`; actual flag\nartwork still comes from the optional `@aceshooting/lyra-flags` peer,\nregistered by the consumer via `components/media/flag/flag-peer.js`\nexactly as for a standalone `<lr-flag>` (without that registration the\ntrigger simply omits the image). Native `<option>`s cannot contain\nelements, so the open popup remains text-only by platform design.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `country-prefix` | Optional visual displayed before the country selector, such as a flag. |\n| `error` | Custom error content. |\n| `hint` | Custom hint content. |\n| `label` | Custom label content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `calling-code` | The selected country's calling code. |\n| `country` | The country selector region (invisible native select over the visual trigger). |\n| `country-code` | The selected alpha-2 code (or placeholder text) inside the trigger. |\n| `country-prefix` | Optional country adornment slot wrapper. |\n| `country-select` | The native country selector, stretched invisibly over the trigger. |\n| `country-trigger` | The visible, decorative closed-state trigger. |\n| `error` | The error or validation message. |\n| `expand-icon` | The dropdown indicator inside the trigger. |\n| `flag` | The selected country's `<lr-flag>` inside the trigger (only with `flags`). |\n| `form-control` | The outer form-control wrapper. |\n| `form-control-label` | The visible label. |\n| `hint` | The hint message. |\n| `input` | The native telephone input. |\n| `input-wrapper` | The country selector and telephone input wrapper. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-phone-input-padding-block` — Input block-padding, scaled by `size`.\n- `--lr-phone-input-font-size` — Input/flag/country-code/calling-code font size, scaled by `size`.\n- `--lr-phone-input-flag-size` — Selected flag size, scaled by `size`.\n- `--lr-phone-input-glyph-size` — Country selector glyph size, scaled by `size`.\n- `--lr-phone-input-gap` (default: `var(--lr-space-xs)`) — Country-trigger child gap.\n- `--lr-phone-input-radius` (default: `var(--lr-radius)`) — Input-wrapper corner radius.\n- `--lr-phone-input-focus-border-color` (default: `var(--lr-color-brand)`) — Focused row border color.\n- `--lr-phone-input-invalid-border-color` (default: `var(--lr-color-danger)`) — Invalid row border color.\n- `--lr-phone-input-country-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Country trigger hover background.\n- `--lr-phone-input-control-min-height` — Input-wrapper block-size floor, scaled by `size`.\n- `--lr-phone-input-control-height` — Exact input-wrapper height. Unset by default, which leaves `--lr-phone-input-control-min-height` as a floor only; set it to a length to both floor and cap the row (e.g. to pixel-match a sibling field in the same toolbar row). Because it is never declared by the component itself, it can be set from an ancestor or an outer-tree rule as well as inline on the element."
|
|
10314
10544
|
},
|
|
10315
10545
|
"attributes": [
|
|
10316
10546
|
{
|
|
@@ -10526,7 +10756,7 @@
|
|
|
10526
10756
|
"name": "data-labels",
|
|
10527
10757
|
"description": {
|
|
10528
10758
|
"kind": "markdown",
|
|
10529
|
-
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis
|
|
10759
|
+
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis chart; the peer is attached only to instances that opt in, and\n`buildConfig()` keeps its per-chart options disabled until this is set. The\nscreen-reader equivalent is the always-present data table (see\n`show-data-table`); labels are a purely visual, canvas-only addition.\n\nType: `boolean` \nDefault: `false`"
|
|
10530
10760
|
}
|
|
10531
10761
|
},
|
|
10532
10762
|
{
|
|
@@ -10668,7 +10898,7 @@
|
|
|
10668
10898
|
"name": "loop",
|
|
10669
10899
|
"description": {
|
|
10670
10900
|
"kind": "markdown",
|
|
10671
|
-
"value": "
|
|
10901
|
+
"value": "Type: `boolean` \nDefault: `true`"
|
|
10672
10902
|
}
|
|
10673
10903
|
},
|
|
10674
10904
|
{
|
|
@@ -10719,7 +10949,7 @@
|
|
|
10719
10949
|
"name": "data-labels",
|
|
10720
10950
|
"description": {
|
|
10721
10951
|
"kind": "markdown",
|
|
10722
|
-
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis
|
|
10952
|
+
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis chart; the peer is attached only to instances that opt in, and\n`buildConfig()` keeps its per-chart options disabled until this is set. The\nscreen-reader equivalent is the always-present data table (see\n`show-data-table`); labels are a purely visual, canvas-only addition.\n\nType: `boolean` \nDefault: `false`"
|
|
10723
10953
|
}
|
|
10724
10954
|
},
|
|
10725
10955
|
{
|
|
@@ -10819,7 +11049,7 @@
|
|
|
10819
11049
|
"name": "lr-policy-summary",
|
|
10820
11050
|
"description": {
|
|
10821
11051
|
"kind": "markdown",
|
|
10822
|
-
"value": "`<lr-policy-summary>` — a read-only list of guardrail, permission, privacy, and tool-policy\ndecisions, each carrying an `allow` / `deny` / `needs-review` state and an always-visible,\naccessible explanation of why that decision was made -- never conveyed by color alone.\n\nComposes `<lr-badge>` for the compact per-decision state indicator and
|
|
11052
|
+
"value": "`<lr-policy-summary>` — a read-only list of guardrail, permission, privacy, and tool-policy\ndecisions, each carrying an `allow` / `deny` / `needs-review` state and an always-visible,\naccessible explanation of why that decision was made -- never conveyed by color alone.\n\nComposes `<lr-badge>` for the compact per-decision state indicator and renders the historical\nexplanation as ordinary text, so mounting an existing policy record does not announce it as a\nfresh alert or status change. `<lr-details>` renders a decision's optional richer `detail` (matched rule text,\npolicy id, cited evidence) behind progressive disclosure, collapsed by default, instead of\nalways showing it alongside the shorter `explanation`.\n\n`decisions` is controlled and never mutated by this component -- pass a new array (e.g. as a\nguardrail pipeline resolves) to update it. This is a summary surface, not an approval gate:\nthere is no per-decision action here, and a decision's `state` is fixed data, not something a\nviewer can change from this component.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper, only rendered while `decisions` is non-empty. |\n| `category` | The decision's localized category text. |\n| `count` | One state's localized count text; carries `data-state`. |\n| `decision` | One decision row (`role=\"listitem\"`); carries `data-state` and `data-category`. |\n| `decision-header` | The row's category/label/state-badge line. |\n| `detail` | The `<lr-details>` progressive-disclosure panel for `detail`, only rendered when a decision defines one. |\n| `empty` | The `<lr-empty>` shown when `decisions` is empty. |\n| `explanation` | The always-visible historical `explanation` text. |\n| `label` | The decision's `label` text. |\n| `list` | The `role=\"list\"` wrapper around every decision row. Its accessible name defaults to the localized `policySummaryLabel`, but a host-level `aria-label` on `<lr-policy-summary>` wins over that default. |\n| `state-badge` | The resolved `<lr-badge>` state indicator. |\n| `summary` | The always-visible allow/deny/needs-review count row. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-policy-summary-count-allow-color` (default: `var(--lr-color-success)`) — Text color of the `allow` count.\n- `--lr-policy-summary-count-deny-color` (default: `var(--lr-color-danger)`) — Text color of the `deny` count.\n- `--lr-policy-summary-count-needs-review-color` (default: `var(--lr-color-warning)`) — Text color of the `needs-review` count. Restyling a state count otherwise requires overriding the library-wide status tokens, since `::part(count)[data-state]` is invalid CSS."
|
|
10823
11053
|
},
|
|
10824
11054
|
"attributes": [
|
|
10825
11055
|
{
|
|
@@ -10835,14 +11065,14 @@
|
|
|
10835
11065
|
"name": "lr-poll-status",
|
|
10836
11066
|
"description": {
|
|
10837
11067
|
"kind": "markdown",
|
|
10838
|
-
"value": "`<lr-poll-status>` — a \"next scheduled refresh\" countdown with a built-in pause control: a\nticking `M:SS` display counting down to the next scheduled action, a \"Refreshing…\" state at\nzero, a \"Paused\" state
|
|
11068
|
+
"value": "`<lr-poll-status>` — a \"next scheduled refresh\" countdown with a built-in pause control: a\nticking `M:SS` display counting down to the next scheduled action, a \"Refreshing…\" state at\nzero, a localized inactive state while `active` is false, a \"Paused\" state\nwhile `paused` (instead of freezing on a stale value), and a pause/resume\ntoggle. First-party invention (no Web Awesome equivalent); the\nclosest existing component, `lr-stream-status`, is scoped to transport/connection-health\nphases, a different concern from a scheduled-interval countdown -- this mirrors its internal\n`<lr-live-region>` composition for accessible phase-transition announcements.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. |\n| `countdown` | The localized `M:SS` text, or the refreshing, paused, or inactive state. |\n| `indicator` | The pulsing status dot. |\n| `pause-button` | The built-in pause/resume toggle. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-poll-status-due-bg` (default: `var(--lr-color-success)`) — Background of `indicator` while `data-due` is set, without repainting every other component that reuses the shared success token."
|
|
10839
11069
|
},
|
|
10840
11070
|
"attributes": [
|
|
10841
11071
|
{
|
|
10842
11072
|
"name": "active",
|
|
10843
11073
|
"description": {
|
|
10844
11074
|
"kind": "markdown",
|
|
10845
|
-
"value": "Whether the poll cycle is running at all.
|
|
11075
|
+
"value": "Whether the poll cycle is running at all. While false, the component\nclears due/countdown semantics and disables its pause action.\n\nType: `boolean` \nDefault: `true`"
|
|
10846
11076
|
}
|
|
10847
11077
|
},
|
|
10848
11078
|
{
|
|
@@ -10872,7 +11102,7 @@
|
|
|
10872
11102
|
"name": "lr-popover",
|
|
10873
11103
|
"description": {
|
|
10874
11104
|
"kind": "markdown",
|
|
10875
|
-
"value": "`<lr-popover>` — a click-triggered, light-dismiss floating surface.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Popover content. |\n| `trigger` | The interactive element that toggles the popover. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `content` | The content wrapper. |\n| `popup` | The positioned popup. |\n| `trigger` | The trigger wrapper. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-overlay-max-inline-size` — Maximum inline size of the popup (default `--lr-size-20rem`)."
|
|
11105
|
+
"value": "`<lr-popover>` — a click-triggered, light-dismiss floating surface.\n\nThe slotted trigger receives `aria-haspopup`, `aria-expanded`, and `aria-controls`.\n`aria-controls` targets this public host (which receives a stable generated `id` when the\nconsumer did not supply one), not the shadow-private popup. That keeps the relationship\nresolvable for native triggers and lets `<lr-button>`/`<lr-icon-button>` reflect the host onto\ntheir focused shadow-internal controls through `ariaControlsElements`.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Popover content. |\n| `trigger` | The interactive element that toggles the popover. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `content` | The content wrapper. |\n| `popup` | The positioned popup. |\n| `trigger` | The trigger wrapper. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-overlay-max-inline-size` — Maximum inline size of the popup (default `--lr-size-20rem`)."
|
|
10876
11106
|
},
|
|
10877
11107
|
"attributes": [
|
|
10878
11108
|
{
|
|
@@ -10900,7 +11130,7 @@
|
|
|
10900
11130
|
"name": "open",
|
|
10901
11131
|
"description": {
|
|
10902
11132
|
"kind": "markdown",
|
|
10903
|
-
"value": "Type: `boolean`
|
|
11133
|
+
"value": "Type: `boolean`"
|
|
10904
11134
|
}
|
|
10905
11135
|
},
|
|
10906
11136
|
{
|
|
@@ -10960,7 +11190,7 @@
|
|
|
10960
11190
|
"name": "lr-progress-bar",
|
|
10961
11191
|
"description": {
|
|
10962
11192
|
"kind": "markdown",
|
|
10963
|
-
"value": "`<lr-progress-bar>` — a determinate or indeterminate progress indicator.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `label` | Optional label content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The progress wrapper. |\n| `indicator` | The filled progress indicator. |\n| `label` | The label row. |\n| `track` | The track.
|
|
11193
|
+
"value": "`<lr-progress-bar>` — a determinate or indeterminate progress indicator.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `label` | Optional label content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The progress wrapper. |\n| `indicator` | The filled progress indicator. |\n| `label` | The label row. |\n| `track` | The track. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-progress-height` (default: `var(--lr-size-0-5rem)`) — Block size of the progress track.\n- `--lr-progress-duration` (default: `var(--lr-transition-ambient)`) — Indeterminate sweep timing."
|
|
10964
11194
|
},
|
|
10965
11195
|
"attributes": [
|
|
10966
11196
|
{
|
|
@@ -11018,7 +11248,7 @@
|
|
|
11018
11248
|
"name": "lr-progress-ring",
|
|
11019
11249
|
"description": {
|
|
11020
11250
|
"kind": "markdown",
|
|
11021
|
-
"value": "`<lr-progress-ring>` — a circular determinate or indeterminate progress indicator.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Optional center label. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The progress wrapper. |\n| `indicator` | The SVG indicator. |\n| `label` | The center label. |\n| `track` | The SVG track. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-progress-ring-size` (default: `var(--lr-size-2-5rem)`) — Outer diameter of the ring."
|
|
11251
|
+
"value": "`<lr-progress-ring>` — a circular determinate or indeterminate progress indicator.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Optional center label. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The progress wrapper. |\n| `indicator` | The SVG indicator. |\n| `label` | The center label. |\n| `track` | The SVG track. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-progress-ring-size` (default: `var(--lr-size-2-5rem)`) — Outer diameter of the ring.\n- `--lr-progress-duration` (default: `var(--lr-transition-ambient)`) — Indeterminate rotation timing."
|
|
11022
11252
|
},
|
|
11023
11253
|
"attributes": [
|
|
11024
11254
|
{
|
|
@@ -11059,40 +11289,17 @@
|
|
|
11059
11289
|
]
|
|
11060
11290
|
},
|
|
11061
11291
|
{
|
|
11062
|
-
"name": "lr-
|
|
11063
|
-
"description": {
|
|
11064
|
-
"kind": "markdown",
|
|
11065
|
-
"value": "`<lr-provenance-panel>` — the grounding breakdown for one answer: a sectioned disclosure\npanel (Entities / Relationships / Communities / Text chunks) composing this family's own pieces.\nThe chat <-> graph <-> document glue component. Pure projection + event conduit: no fetching, no\ngraph/viewer imports, no persistence.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. |\n| `body` | A section's content wrapper, `hidden` while collapsed. |\n| `count` | A section's item-count badge. |\n| `empty` | The empty state, shown when every section is empty. |\n| `header` | A section's disclosure `<button>`. |\n| `section` | One section's wrapper. |"
|
|
11066
|
-
},
|
|
11067
|
-
"attributes": [
|
|
11068
|
-
{
|
|
11069
|
-
"name": "label",
|
|
11070
|
-
"description": {
|
|
11071
|
-
"kind": "markdown",
|
|
11072
|
-
"value": "Type: `string` \nDefault: `''`"
|
|
11073
|
-
}
|
|
11074
|
-
},
|
|
11075
|
-
{
|
|
11076
|
-
"name": "locale",
|
|
11077
|
-
"description": {
|
|
11078
|
-
"kind": "markdown",
|
|
11079
|
-
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
11080
|
-
}
|
|
11081
|
-
}
|
|
11082
|
-
]
|
|
11083
|
-
},
|
|
11084
|
-
{
|
|
11085
|
-
"name": "lr-push-to-talk",
|
|
11292
|
+
"name": "lr-prompt-input",
|
|
11086
11293
|
"description": {
|
|
11087
11294
|
"kind": "markdown",
|
|
11088
|
-
"value": "`<lr-
|
|
11295
|
+
"value": "`<lr-prompt-input>` — a composed AI prompt surface combining the chat composer with attachments,\nmodel and voice selection, retrieval sources, mentions, slash commands, and a queued-turn list.\nIt performs no upload, model call, retrieval, or persistence.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `chips` | Replaces the data-driven attachment chips. |\n| `controls` | Replaces the data-driven model, voice, and source controls. |\n| `footer` | Content below the composer. |\n| `leading` | Replaces the default attachment trigger. |\n| `trailing` | Replaces the composer's send/stop action. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The prompt surface. |\n| `chips` | The attachment-chip tray. |\n| `composer` | The composed chat composer. |\n| `controls` | Model, voice, and source controls. |\n| `footer` | The footer slot. |\n| `leading` | The composer's leading attachment control. |\n| `queue` | The composed prompt queue. |\n| `source-picker` | The composed source picker. |\n| `sources` | The collapsible source-picker region. |\n| `sources-summary` | The source-picker disclosure. |"
|
|
11089
11296
|
},
|
|
11090
11297
|
"attributes": [
|
|
11091
11298
|
{
|
|
11092
|
-
"name": "
|
|
11299
|
+
"name": "aria-label",
|
|
11093
11300
|
"description": {
|
|
11094
11301
|
"kind": "markdown",
|
|
11095
|
-
"value": "Type: `string` \nDefault: `
|
|
11302
|
+
"value": "Type: `string | null` \nDefault: `null`"
|
|
11096
11303
|
}
|
|
11097
11304
|
},
|
|
11098
11305
|
{
|
|
@@ -11103,10 +11310,10 @@
|
|
|
11103
11310
|
}
|
|
11104
11311
|
},
|
|
11105
11312
|
{
|
|
11106
|
-
"name": "
|
|
11313
|
+
"name": "label",
|
|
11107
11314
|
"description": {
|
|
11108
11315
|
"kind": "markdown",
|
|
11109
|
-
"value": "Type: `
|
|
11316
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
11110
11317
|
}
|
|
11111
11318
|
},
|
|
11112
11319
|
{
|
|
@@ -11117,28 +11324,218 @@
|
|
|
11117
11324
|
}
|
|
11118
11325
|
},
|
|
11119
11326
|
{
|
|
11120
|
-
"name": "
|
|
11327
|
+
"name": "model",
|
|
11121
11328
|
"description": {
|
|
11122
11329
|
"kind": "markdown",
|
|
11123
|
-
"value": "
|
|
11330
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
11124
11331
|
}
|
|
11125
11332
|
},
|
|
11126
11333
|
{
|
|
11127
|
-
"name": "
|
|
11334
|
+
"name": "placeholder",
|
|
11128
11335
|
"description": {
|
|
11129
11336
|
"kind": "markdown",
|
|
11130
11337
|
"value": "Type: `string` \nDefault: `''`"
|
|
11131
11338
|
}
|
|
11132
11339
|
},
|
|
11133
11340
|
{
|
|
11134
|
-
"name": "
|
|
11341
|
+
"name": "status",
|
|
11135
11342
|
"description": {
|
|
11136
11343
|
"kind": "markdown",
|
|
11137
|
-
"value": "Type: `
|
|
11344
|
+
"value": "Type: `ChatComposerStatus` \nDefault: `'idle'`"
|
|
11138
11345
|
}
|
|
11139
11346
|
},
|
|
11140
11347
|
{
|
|
11141
|
-
"name": "
|
|
11348
|
+
"name": "submit-on-enter",
|
|
11349
|
+
"description": {
|
|
11350
|
+
"kind": "markdown",
|
|
11351
|
+
"value": "Type: `boolean` \nDefault: `true`"
|
|
11352
|
+
}
|
|
11353
|
+
},
|
|
11354
|
+
{
|
|
11355
|
+
"name": "value",
|
|
11356
|
+
"description": {
|
|
11357
|
+
"kind": "markdown",
|
|
11358
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
11359
|
+
}
|
|
11360
|
+
},
|
|
11361
|
+
{
|
|
11362
|
+
"name": "voice",
|
|
11363
|
+
"description": {
|
|
11364
|
+
"kind": "markdown",
|
|
11365
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
11366
|
+
}
|
|
11367
|
+
}
|
|
11368
|
+
]
|
|
11369
|
+
},
|
|
11370
|
+
{
|
|
11371
|
+
"name": "lr-prompt-queue",
|
|
11372
|
+
"description": {
|
|
11373
|
+
"kind": "markdown",
|
|
11374
|
+
"value": "`<lr-prompt-queue>` — a controlled queue of follow-up prompts that can be edited, reordered,\nremoved, or sent immediately while another agent turn is active.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `action` | Every item action. |\n| `actions` | One item's action row. |\n| `base` | The queue wrapper. |\n| `editor` | A queued prompt editor. |\n| `empty` | The empty state. |\n| `heading` | The queue heading. |\n| `item` | One queued prompt. |\n| `list` | The ordered queue list. |\n| `value` | Read-only prompt text when `editable` is false. |"
|
|
11375
|
+
},
|
|
11376
|
+
"attributes": [
|
|
11377
|
+
{
|
|
11378
|
+
"name": "aria-label",
|
|
11379
|
+
"description": {
|
|
11380
|
+
"kind": "markdown",
|
|
11381
|
+
"value": "Type: `string | null` \nDefault: `null`"
|
|
11382
|
+
}
|
|
11383
|
+
},
|
|
11384
|
+
{
|
|
11385
|
+
"name": "disabled",
|
|
11386
|
+
"description": {
|
|
11387
|
+
"kind": "markdown",
|
|
11388
|
+
"value": "Type: `boolean` \nDefault: `false`"
|
|
11389
|
+
}
|
|
11390
|
+
},
|
|
11391
|
+
{
|
|
11392
|
+
"name": "editable",
|
|
11393
|
+
"description": {
|
|
11394
|
+
"kind": "markdown",
|
|
11395
|
+
"value": "Type: `boolean` \nDefault: `true`"
|
|
11396
|
+
}
|
|
11397
|
+
},
|
|
11398
|
+
{
|
|
11399
|
+
"name": "label",
|
|
11400
|
+
"description": {
|
|
11401
|
+
"kind": "markdown",
|
|
11402
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
11403
|
+
}
|
|
11404
|
+
},
|
|
11405
|
+
{
|
|
11406
|
+
"name": "locale",
|
|
11407
|
+
"description": {
|
|
11408
|
+
"kind": "markdown",
|
|
11409
|
+
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
11410
|
+
}
|
|
11411
|
+
}
|
|
11412
|
+
]
|
|
11413
|
+
},
|
|
11414
|
+
{
|
|
11415
|
+
"name": "lr-prompt-studio",
|
|
11416
|
+
"description": {
|
|
11417
|
+
"kind": "markdown",
|
|
11418
|
+
"value": "`<lr-prompt-studio>` — a provider-neutral prompt-development workbench for ordered role\nmessages, `{{variable}}` substitution, version selection, preview, save, and run intents.\nThe host owns persistence and model execution.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `add-message` | The add-message action. |\n| `base` | The named studio region. |\n| `editor` | Messages and variables workspace. |\n| `message` | One prompt message. |\n| `message-content` | A message textarea. |\n| `message-role` | A message role selector. |\n| `messages` | Ordered prompt-message editor. |\n| `preview` | Resolved read-only preview. |\n| `remove-message` | A message removal action. |\n| `run` | The run action. |\n| `save` | The save action. |\n| `toolbar` | Save/run controls. |\n| `variable` | One variable row. |\n| `variables` | Variable editor. |\n| `version` | One saved version. |\n| `versions` | Saved-version controls. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-prompt-studio-field-hover-border` (default: `var(--lr-color-brand)`) — Enabled field hover border.\n- `--lr-prompt-studio-version-selected-border` (default: `var(--lr-color-brand)`) — Selected version border.\n- `--lr-prompt-studio-version-selected-bg` (default: `var(--lr-color-brand-quiet)`) — Selected version background.\n- `--lr-prompt-studio-version-selected-color` (default: `var(--lr-color-text)`) — Selected version foreground.\n- `--lr-prompt-studio-version-selected-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Selected version hover background."
|
|
11419
|
+
},
|
|
11420
|
+
"attributes": [
|
|
11421
|
+
{
|
|
11422
|
+
"name": "disabled",
|
|
11423
|
+
"description": {
|
|
11424
|
+
"kind": "markdown",
|
|
11425
|
+
"value": "Type: `boolean` \nDefault: `false`"
|
|
11426
|
+
}
|
|
11427
|
+
},
|
|
11428
|
+
{
|
|
11429
|
+
"name": "label",
|
|
11430
|
+
"description": {
|
|
11431
|
+
"kind": "markdown",
|
|
11432
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
11433
|
+
}
|
|
11434
|
+
},
|
|
11435
|
+
{
|
|
11436
|
+
"name": "locale",
|
|
11437
|
+
"description": {
|
|
11438
|
+
"kind": "markdown",
|
|
11439
|
+
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
11440
|
+
}
|
|
11441
|
+
},
|
|
11442
|
+
{
|
|
11443
|
+
"name": "running",
|
|
11444
|
+
"description": {
|
|
11445
|
+
"kind": "markdown",
|
|
11446
|
+
"value": "Type: `boolean` \nDefault: `false`"
|
|
11447
|
+
}
|
|
11448
|
+
},
|
|
11449
|
+
{
|
|
11450
|
+
"name": "selected-version-id",
|
|
11451
|
+
"description": {
|
|
11452
|
+
"kind": "markdown",
|
|
11453
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
11454
|
+
}
|
|
11455
|
+
}
|
|
11456
|
+
]
|
|
11457
|
+
},
|
|
11458
|
+
{
|
|
11459
|
+
"name": "lr-provenance-panel",
|
|
11460
|
+
"description": {
|
|
11461
|
+
"kind": "markdown",
|
|
11462
|
+
"value": "`<lr-provenance-panel>` — the grounding breakdown for one answer: a sectioned disclosure\npanel (Entities / Relationships / Communities / Text chunks) composing this family's own pieces.\nThe chat <-> graph <-> document glue component. Pure projection + event conduit: no fetching, no\ngraph/viewer imports, no persistence.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. |\n| `body` | A section's content wrapper, `hidden` while collapsed. |\n| `count` | A section's item-count badge. |\n| `empty` | The empty state, shown when every section is empty. |\n| `header` | A section's disclosure `<button>`. |\n| `section` | One section's wrapper. |"
|
|
11463
|
+
},
|
|
11464
|
+
"attributes": [
|
|
11465
|
+
{
|
|
11466
|
+
"name": "label",
|
|
11467
|
+
"description": {
|
|
11468
|
+
"kind": "markdown",
|
|
11469
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
11470
|
+
}
|
|
11471
|
+
},
|
|
11472
|
+
{
|
|
11473
|
+
"name": "locale",
|
|
11474
|
+
"description": {
|
|
11475
|
+
"kind": "markdown",
|
|
11476
|
+
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
11477
|
+
}
|
|
11478
|
+
}
|
|
11479
|
+
]
|
|
11480
|
+
},
|
|
11481
|
+
{
|
|
11482
|
+
"name": "lr-push-to-talk",
|
|
11483
|
+
"description": {
|
|
11484
|
+
"kind": "markdown",
|
|
11485
|
+
"value": "`<lr-push-to-talk>` — a mic capture button owning the full `getUserMedia` + `MediaRecorder`\nlifecycle: permission request, recording, optional chunked streaming, teardown. The one place in\nthis library that touches the microphone — no SDK, no LiveKit/ElevenLabs import, native browser\nAPIs only.\n\n`mode=\"hold\"` (the default) is a press-and-hold gesture: pointerdown/Enter-or-Space-keydown starts,\npointerup/keyup/blur stops. `mode=\"toggle\"` is click-to-start/click-to-stop with `aria-pressed`.\nEscape cancels the in-progress take in either mode (discarding it — `lr-record-cancel`, never\n`lr-record-stop`). `state` is a read-only lifecycle reflected to the `data-state` attribute (not\n`state`, avoiding any ambiguity with a native form-control `state`): `'idle' | 'requesting' |\n'denied' | 'recording' | 'error'`. A host-level `aria-label` (set on `<lr-push-to-talk>` itself)\noverrides the computed trigger label.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `icon` | Replaces the default mic glyph. |\n| `recording-icon` | Replaces the default recording-state pulse glyph. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `icon` | Wrapper around the `icon` slot / default mic glyph. |\n| `pulse` | Wrapper around the `recording-icon` slot / default pulse glyph, rendered only while recording. |\n| `status` | Visible status text for the `requesting`/`denied`/`error`/unsupported states. |\n| `timer` | The `M:SS` elapsed-time readout, rendered only while recording and `show-timer`. |\n| `trigger` | The capture button. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-push-to-talk-size` (default: `var(--lr-size-3rem)`) — Inline and block size of the circular `trigger` button.\n- `--lr-push-to-talk-recording-color` (default: `var(--lr-color-danger)`) — Border and text color of `[part=\"trigger\"]` while `state` is `recording`. Recolors only the recording treatment, leaving every other danger-toned surface on the page untouched."
|
|
11486
|
+
},
|
|
11487
|
+
"attributes": [
|
|
11488
|
+
{
|
|
11489
|
+
"name": "device-id",
|
|
11490
|
+
"description": {
|
|
11491
|
+
"kind": "markdown",
|
|
11492
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
11493
|
+
}
|
|
11494
|
+
},
|
|
11495
|
+
{
|
|
11496
|
+
"name": "disabled",
|
|
11497
|
+
"description": {
|
|
11498
|
+
"kind": "markdown",
|
|
11499
|
+
"value": "Type: `boolean` \nDefault: `false`"
|
|
11500
|
+
}
|
|
11501
|
+
},
|
|
11502
|
+
{
|
|
11503
|
+
"name": "level-events",
|
|
11504
|
+
"description": {
|
|
11505
|
+
"kind": "markdown",
|
|
11506
|
+
"value": "Type: `boolean` \nDefault: `false`"
|
|
11507
|
+
}
|
|
11508
|
+
},
|
|
11509
|
+
{
|
|
11510
|
+
"name": "locale",
|
|
11511
|
+
"description": {
|
|
11512
|
+
"kind": "markdown",
|
|
11513
|
+
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
11514
|
+
}
|
|
11515
|
+
},
|
|
11516
|
+
{
|
|
11517
|
+
"name": "max-duration-ms",
|
|
11518
|
+
"description": {
|
|
11519
|
+
"kind": "markdown",
|
|
11520
|
+
"value": "`> 0` auto-stops the take at this many milliseconds (a stuck-key guard); `0` (the default)\nnever auto-stops. Clamped to `[1, MAX_TIMEOUT_MS]` at the point it's handed to `setTimeout()`\n-- see `start()` -- the browser timer ceiling, matching `lr-playback`'s `interval-ms`\nhandling of its own duration-like property.\n\nType: `number` \nDefault: `0`"
|
|
11521
|
+
}
|
|
11522
|
+
},
|
|
11523
|
+
{
|
|
11524
|
+
"name": "mime-type",
|
|
11525
|
+
"description": {
|
|
11526
|
+
"kind": "markdown",
|
|
11527
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
11528
|
+
}
|
|
11529
|
+
},
|
|
11530
|
+
{
|
|
11531
|
+
"name": "mode",
|
|
11532
|
+
"description": {
|
|
11533
|
+
"kind": "markdown",
|
|
11534
|
+
"value": "Type: `PushToTalkMode` \nDefault: `'hold'`"
|
|
11535
|
+
}
|
|
11536
|
+
},
|
|
11537
|
+
{
|
|
11538
|
+
"name": "show-timer",
|
|
11142
11539
|
"description": {
|
|
11143
11540
|
"kind": "markdown",
|
|
11144
11541
|
"value": "Type: `boolean` \nDefault: `true`"
|
|
@@ -11266,7 +11663,7 @@
|
|
|
11266
11663
|
"name": "data-labels",
|
|
11267
11664
|
"description": {
|
|
11268
11665
|
"kind": "markdown",
|
|
11269
|
-
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis
|
|
11666
|
+
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis chart; the peer is attached only to instances that opt in, and\n`buildConfig()` keeps its per-chart options disabled until this is set. The\nscreen-reader equivalent is the always-present data table (see\n`show-data-table`); labels are a purely visual, canvas-only addition.\n\nType: `boolean` \nDefault: `false`"
|
|
11270
11667
|
}
|
|
11271
11668
|
},
|
|
11272
11669
|
{
|
|
@@ -11527,6 +11924,13 @@
|
|
|
11527
11924
|
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
11528
11925
|
}
|
|
11529
11926
|
},
|
|
11927
|
+
{
|
|
11928
|
+
"name": "show-claims",
|
|
11929
|
+
"description": {
|
|
11930
|
+
"kind": "markdown",
|
|
11931
|
+
"value": "Type: `boolean` \nDefault: `true`"
|
|
11932
|
+
}
|
|
11933
|
+
},
|
|
11530
11934
|
{
|
|
11531
11935
|
"name": "show-sources",
|
|
11532
11936
|
"description": {
|
|
@@ -11536,11 +11940,62 @@
|
|
|
11536
11940
|
}
|
|
11537
11941
|
]
|
|
11538
11942
|
},
|
|
11943
|
+
{
|
|
11944
|
+
"name": "lr-rag-eval-dashboard",
|
|
11945
|
+
"description": {
|
|
11946
|
+
"kind": "markdown",
|
|
11947
|
+
"value": "`<lr-rag-eval-dashboard>` — a controlled RAG quality overview with current metric cards,\nper-metric trends, evaluation slices, and run history. It displays host-computed metrics and\nnever executes datasets, retrieval, judges, or model calls.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The named dashboard region. |\n| `chart` | The active metric trend. |\n| `empty` | The empty state. |\n| `heading` | The visible dashboard heading. |\n| `metric` | One metric control. |\n| `metric-selected` | The controlled active metric. |\n| `metrics` | Metric-card controls. |\n| `run` | One evaluation run. |\n| `runs` | Evaluation run history. |\n| `runs-heading` | Run-history heading. |\n| `slice` | One slice filter. |\n| `slice-selected` | The controlled active slice. |\n| `slices` | Slice filter controls. |"
|
|
11948
|
+
},
|
|
11949
|
+
"attributes": [
|
|
11950
|
+
{
|
|
11951
|
+
"name": "chart-height",
|
|
11952
|
+
"description": {
|
|
11953
|
+
"kind": "markdown",
|
|
11954
|
+
"value": "Type: `string` \nDefault: `'220px'`"
|
|
11955
|
+
}
|
|
11956
|
+
},
|
|
11957
|
+
{
|
|
11958
|
+
"name": "label",
|
|
11959
|
+
"description": {
|
|
11960
|
+
"kind": "markdown",
|
|
11961
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
11962
|
+
}
|
|
11963
|
+
},
|
|
11964
|
+
{
|
|
11965
|
+
"name": "locale",
|
|
11966
|
+
"description": {
|
|
11967
|
+
"kind": "markdown",
|
|
11968
|
+
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
11969
|
+
}
|
|
11970
|
+
},
|
|
11971
|
+
{
|
|
11972
|
+
"name": "metric-id",
|
|
11973
|
+
"description": {
|
|
11974
|
+
"kind": "markdown",
|
|
11975
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
11976
|
+
}
|
|
11977
|
+
},
|
|
11978
|
+
{
|
|
11979
|
+
"name": "show-chart",
|
|
11980
|
+
"description": {
|
|
11981
|
+
"kind": "markdown",
|
|
11982
|
+
"value": "Type: `boolean` \nDefault: `true`"
|
|
11983
|
+
}
|
|
11984
|
+
},
|
|
11985
|
+
{
|
|
11986
|
+
"name": "slice",
|
|
11987
|
+
"description": {
|
|
11988
|
+
"kind": "markdown",
|
|
11989
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
11990
|
+
}
|
|
11991
|
+
}
|
|
11992
|
+
]
|
|
11993
|
+
},
|
|
11539
11994
|
{
|
|
11540
11995
|
"name": "lr-random-content",
|
|
11541
11996
|
"description": {
|
|
11542
11997
|
"kind": "markdown",
|
|
11543
|
-
"value": "`<lr-random-content>` — displays a randomly (or sequentially) chosen\nsubset of its slotted children and hides the rest, for A/B copy testing,\ntestimonial/quote rotation, or varying marketing copy on each render or\ninterval without any custom JS beyond slotting the candidates.\n\nNot a form-associated control
|
|
11998
|
+
"value": "`<lr-random-content>` — displays a randomly (or sequentially) chosen\nsubset of its slotted children and hides the rest, for A/B copy testing,\ntestimonial/quote rotation, or varying marketing copy on each render or\ninterval without any custom JS beyond slotting the candidates.\n\nNot a form-associated control: it is a content-rotation primitive over\ncaller-supplied children, so the label/hint/error frame doesn't apply.\nIts only built-in action is the autoplay pause/resume control.\n\nThe host renders `display: block` by default, like the rest of this\nfamily. A consumer needing an inline text-fragment swap inside a sentence\ncan override `lr-random-content { display: inline; }` from outside —\nthat isn't baked in here, since `display: contents` on the host risks\naccessibility-tree inconsistencies across engines.\n\nSelection is driven by `autoplay`/`autoplayInterval` and the public\n`randomize()` method. When autoplay is enabled, a built-in localized\npause/resume action exposes the reflected `paused` state. Rotation also\nsuspends while focus is anywhere inside the component and never hides a\nsubtree that currently owns focus.\n\n`fade-left`/`fade-right` are physical-direction transforms (matching the\nupstream naming this component mirrors), not \"previous/next\" navigational\nsemantics like a carousel chevron, so they are deliberately **not**\nmirrored under `:host(:dir(rtl))`.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | The pool of candidate children. Only direct element children are eligible. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The wrapping element around the default slot. |\n| `pause-button` | The autoplay pause/resume action. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-random-content-animation-duration` (default: `300ms`) — Duration of the entrance animation.\n- `--lr-random-content-animation-easing` (default: `ease`) — Easing function for the entrance animation.\n- `--lr-random-content-animation-translate` (default: `var(--lr-size-0-5em)`) — Translation distance for directional animations."
|
|
11544
11999
|
},
|
|
11545
12000
|
"attributes": [
|
|
11546
12001
|
{
|
|
@@ -11584,6 +12039,13 @@
|
|
|
11584
12039
|
"kind": "markdown",
|
|
11585
12040
|
"value": "Selection algorithm — see `randomize()`.\n\nType: `LyraRandomContentMode` \nDefault: `'unique'`"
|
|
11586
12041
|
}
|
|
12042
|
+
},
|
|
12043
|
+
{
|
|
12044
|
+
"name": "paused",
|
|
12045
|
+
"description": {
|
|
12046
|
+
"kind": "markdown",
|
|
12047
|
+
"value": "Whether autoplay is user-paused. Reflected for external state styling.\n\nType: `boolean` \nDefault: `false`"
|
|
12048
|
+
}
|
|
11587
12049
|
}
|
|
11588
12050
|
]
|
|
11589
12051
|
},
|
|
@@ -11645,6 +12107,71 @@
|
|
|
11645
12107
|
}
|
|
11646
12108
|
]
|
|
11647
12109
|
},
|
|
12110
|
+
{
|
|
12111
|
+
"name": "lr-realtime-session",
|
|
12112
|
+
"description": {
|
|
12113
|
+
"kind": "markdown",
|
|
12114
|
+
"value": "`<lr-realtime-session>` — a provider-neutral voice-session shell composing connection status,\nlive activity, transcript, native capture, mute, interruption, and connect/disconnect intents.\nTransport, authentication, audio playback, and SDK ownership remain with the host.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `controls` | Additional provider-specific controls. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `activity` | Voice activity visualization. |\n| `base` | The named session region. |\n| `capture` | Native push-to-talk capture. |\n| `connect` | Connect action. |\n| `controls` | Built-in and slotted controls. |\n| `disconnect` | Disconnect action. |\n| `error` | Localized connection error. |\n| `header` | Status and session controls. |\n| `interrupt` | Response interruption action. |\n| `mute` | Controlled mute action. |\n| `status` | Connection status badge. |\n| `transcript` | Live transcript. |"
|
|
12115
|
+
},
|
|
12116
|
+
"attributes": [
|
|
12117
|
+
{
|
|
12118
|
+
"name": "error-code",
|
|
12119
|
+
"description": {
|
|
12120
|
+
"kind": "markdown",
|
|
12121
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
12122
|
+
}
|
|
12123
|
+
},
|
|
12124
|
+
{
|
|
12125
|
+
"name": "label",
|
|
12126
|
+
"description": {
|
|
12127
|
+
"kind": "markdown",
|
|
12128
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
12129
|
+
}
|
|
12130
|
+
},
|
|
12131
|
+
{
|
|
12132
|
+
"name": "level",
|
|
12133
|
+
"description": {
|
|
12134
|
+
"kind": "markdown",
|
|
12135
|
+
"value": "Type: `number | null` \nDefault: `null`"
|
|
12136
|
+
}
|
|
12137
|
+
},
|
|
12138
|
+
{
|
|
12139
|
+
"name": "locale",
|
|
12140
|
+
"description": {
|
|
12141
|
+
"kind": "markdown",
|
|
12142
|
+
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
12143
|
+
}
|
|
12144
|
+
},
|
|
12145
|
+
{
|
|
12146
|
+
"name": "muted",
|
|
12147
|
+
"description": {
|
|
12148
|
+
"kind": "markdown",
|
|
12149
|
+
"value": "Type: `boolean` \nDefault: `false`"
|
|
12150
|
+
}
|
|
12151
|
+
},
|
|
12152
|
+
{
|
|
12153
|
+
"name": "show-capture",
|
|
12154
|
+
"description": {
|
|
12155
|
+
"kind": "markdown",
|
|
12156
|
+
"value": "Type: `boolean` \nDefault: `true`"
|
|
12157
|
+
}
|
|
12158
|
+
},
|
|
12159
|
+
{
|
|
12160
|
+
"name": "state",
|
|
12161
|
+
"description": {
|
|
12162
|
+
"kind": "markdown",
|
|
12163
|
+
"value": "Type: `RealtimeConnectionState` \nDefault: `'disconnected'`"
|
|
12164
|
+
}
|
|
12165
|
+
},
|
|
12166
|
+
{
|
|
12167
|
+
"name": "voice-state",
|
|
12168
|
+
"description": {
|
|
12169
|
+
"kind": "markdown",
|
|
12170
|
+
"value": "Type: `AudioVisualizerState` \nDefault: `'idle'`"
|
|
12171
|
+
}
|
|
12172
|
+
}
|
|
12173
|
+
]
|
|
12174
|
+
},
|
|
11648
12175
|
{
|
|
11649
12176
|
"name": "lr-relative-time",
|
|
11650
12177
|
"description": {
|
|
@@ -11752,7 +12279,7 @@
|
|
|
11752
12279
|
"name": "label",
|
|
11753
12280
|
"description": {
|
|
11754
12281
|
"kind": "markdown",
|
|
11755
|
-
"value": "Accessible name for the list, set as `aria-label` on the internal `role=\"list\"` element. A\nplain `aria-label` attribute on the host itself is honored as a fallback when this is left\nunset, matching `<lr-control-group>`. Native lists don't require an accessible name, so this\nhas no forced fallback string when both are left unset.\n\nType: `string` \nDefault: `
|
|
12282
|
+
"value": "Accessible name for the list, set as `aria-label` on the internal `role=\"list\"` element. A\nplain `aria-label` attribute on the host itself is honored as a fallback when this is left\nunset, matching `<lr-control-group>`. Native lists don't require an accessible name, so this\nhas no forced fallback string when both are left unset.\n\nType: `string` \nDefault: `\"\"`"
|
|
11756
12283
|
}
|
|
11757
12284
|
},
|
|
11758
12285
|
{
|
|
@@ -11805,14 +12332,14 @@
|
|
|
11805
12332
|
"name": "aria-label",
|
|
11806
12333
|
"description": {
|
|
11807
12334
|
"kind": "markdown",
|
|
11808
|
-
"value": "Host-level `aria-label` override for the overlay presentation's accessible name -- wins over\nevery other source (`label`, the header-slot fallback), matching `<lr-dialog>`'s\n`accessibleLabel` pattern. See the class doc for the full precedence order. Set as a plain\n`aria-label` attribute on `<lr-responsive-panel>` itself, not a public JS property.\n\nType:
|
|
12335
|
+
"value": "Host-level `aria-label` override for the overlay presentation's accessible name -- wins over\nevery other source (`label`, the header-slot fallback), matching `<lr-dialog>`'s\n`accessibleLabel` pattern. See the class doc for the full precedence order. Set as a plain\n`aria-label` attribute on `<lr-responsive-panel>` itself, not a public JS property.\n\nType: `| string\n | null` \nDefault: `null`"
|
|
11809
12336
|
}
|
|
11810
12337
|
},
|
|
11811
12338
|
{
|
|
11812
12339
|
"name": "label",
|
|
11813
12340
|
"description": {
|
|
11814
12341
|
"kind": "markdown",
|
|
11815
|
-
"value": "Accessible name for the overlay presentation's `role=\"dialog\"`. Unused in the inline\npresentation, which has no dialog semantics to name. When empty, falls back to the `header`\nslot's content -- see the class doc for the full fallback order.\n\nType: `string` \nDefault: `
|
|
12342
|
+
"value": "Accessible name for the overlay presentation's `role=\"dialog\"`. Unused in the inline\npresentation, which has no dialog semantics to name. When empty, falls back to the `header`\nslot's content -- see the class doc for the full fallback order.\n\nType: `string` \nDefault: `\"\"`"
|
|
11816
12343
|
}
|
|
11817
12344
|
},
|
|
11818
12345
|
{
|
|
@@ -11826,14 +12353,14 @@
|
|
|
11826
12353
|
"name": "mobile-breakpoint",
|
|
11827
12354
|
"description": {
|
|
11828
12355
|
"kind": "markdown",
|
|
11829
|
-
"value": "CSS length passed to `matchMedia` as `(max-width: <this>)` to decide, in `mode=\"auto\"`,\nwhether the effective presentation is `'overlay'` (below/at this width) or `'inline'`\n(above it).\n\nType: `string` \nDefault:
|
|
12356
|
+
"value": "CSS length passed to `matchMedia` as `(max-width: <this>)` to decide, in `mode=\"auto\"`,\nwhether the effective presentation is `'overlay'` (below/at this width) or `'inline'`\n(above it).\n\nType: `string` \nDefault: `\"768px\"`"
|
|
11830
12357
|
}
|
|
11831
12358
|
},
|
|
11832
12359
|
{
|
|
11833
12360
|
"name": "mode",
|
|
11834
12361
|
"description": {
|
|
11835
12362
|
"kind": "markdown",
|
|
11836
|
-
"value": "`'auto'` (default) tracks `mobile-breakpoint` live; `'inline'`/`'overlay'` force that\npresentation regardless of viewport width.\n\nType: `ResponsivePanelMode` \nDefault:
|
|
12363
|
+
"value": "`'auto'` (default) tracks `mobile-breakpoint` live; `'inline'`/`'overlay'` force that\npresentation regardless of viewport width.\n\nType: `ResponsivePanelMode` \nDefault: `\"auto\"`"
|
|
11837
12364
|
}
|
|
11838
12365
|
},
|
|
11839
12366
|
{
|
|
@@ -11847,7 +12374,7 @@
|
|
|
11847
12374
|
"name": "variant",
|
|
11848
12375
|
"description": {
|
|
11849
12376
|
"kind": "markdown",
|
|
11850
|
-
"value": "Only affects the overlay presentation's visual treatment -- `'fullscreen'` (default) covers\nthe whole viewport; `'bottom-sheet'` slides up from the bottom and doesn't cover the full\nheight.\n\nType: `ResponsivePanelVariant` \nDefault:
|
|
12377
|
+
"value": "Only affects the overlay presentation's visual treatment -- `'fullscreen'` (default) covers\nthe whole viewport; `'bottom-sheet'` slides up from the bottom and doesn't cover the full\nheight.\n\nType: `ResponsivePanelVariant` \nDefault: `\"fullscreen\"`"
|
|
11851
12378
|
}
|
|
11852
12379
|
}
|
|
11853
12380
|
]
|
|
@@ -11919,6 +12446,43 @@
|
|
|
11919
12446
|
}
|
|
11920
12447
|
]
|
|
11921
12448
|
},
|
|
12449
|
+
{
|
|
12450
|
+
"name": "lr-retrieval-compare",
|
|
12451
|
+
"description": {
|
|
12452
|
+
"kind": "markdown",
|
|
12453
|
+
"value": "`<lr-retrieval-compare>` — a side-by-side retrieval/reranking workbench that makes rank,\noverlap, and dense/sparse/rerank/final score changes inspectable. It never performs retrieval.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The named comparison region. |\n| `chunk` | A selectable chunk row. |\n| `chunk-rank` | The effective rank. |\n| `chunk-selected` | The selected chunk row. |\n| `chunk-text` | Retrieved text. |\n| `chunk-title` | The source title. |\n| `chunks` | One ranked list. |\n| `empty` | The empty state. |\n| `overlap` | The pairwise top-k Jaccard overlap summary. |\n| `score` | One named score. |\n| `scores` | Score-breakdown list. |\n| `set` | One result-set column. |\n| `set-heading` | A caller-supplied result-set label. |\n| `sets` | Horizontally scrollable set grid. |"
|
|
12454
|
+
},
|
|
12455
|
+
"attributes": [
|
|
12456
|
+
{
|
|
12457
|
+
"name": "label",
|
|
12458
|
+
"description": {
|
|
12459
|
+
"kind": "markdown",
|
|
12460
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
12461
|
+
}
|
|
12462
|
+
},
|
|
12463
|
+
{
|
|
12464
|
+
"name": "locale",
|
|
12465
|
+
"description": {
|
|
12466
|
+
"kind": "markdown",
|
|
12467
|
+
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
12468
|
+
}
|
|
12469
|
+
},
|
|
12470
|
+
{
|
|
12471
|
+
"name": "selected-chunk-id",
|
|
12472
|
+
"description": {
|
|
12473
|
+
"kind": "markdown",
|
|
12474
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
12475
|
+
}
|
|
12476
|
+
},
|
|
12477
|
+
{
|
|
12478
|
+
"name": "top-k",
|
|
12479
|
+
"description": {
|
|
12480
|
+
"kind": "markdown",
|
|
12481
|
+
"value": "Type: `number` \nDefault: `10`"
|
|
12482
|
+
}
|
|
12483
|
+
}
|
|
12484
|
+
]
|
|
12485
|
+
},
|
|
11922
12486
|
{
|
|
11923
12487
|
"name": "lr-retrieval-results",
|
|
11924
12488
|
"description": {
|
|
@@ -12110,7 +12674,7 @@
|
|
|
12110
12674
|
"name": "label",
|
|
12111
12675
|
"description": {
|
|
12112
12676
|
"kind": "markdown",
|
|
12113
|
-
"value": "Accessible name for the internal timeline.
|
|
12677
|
+
"value": "Accessible name for the internal timeline. A host `aria-label` wins; otherwise this value\nfalls back to the timeline's own localized default.\n\nType: `string` \nDefault: `''`"
|
|
12114
12678
|
}
|
|
12115
12679
|
},
|
|
12116
12680
|
{
|
|
@@ -12212,7 +12776,7 @@
|
|
|
12212
12776
|
"name": "data-labels",
|
|
12213
12777
|
"description": {
|
|
12214
12778
|
"kind": "markdown",
|
|
12215
|
-
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis
|
|
12779
|
+
"value": "Draws each data point's value on the chart via the optional\n`chartjs-plugin-datalabels` peer. Unset (the default) leaves labels off for\nthis chart; the peer is attached only to instances that opt in, and\n`buildConfig()` keeps its per-chart options disabled until this is set. The\nscreen-reader equivalent is the always-present data table (see\n`show-data-table`); labels are a purely visual, canvas-only addition.\n\nType: `boolean` \nDefault: `false`"
|
|
12216
12780
|
}
|
|
12217
12781
|
},
|
|
12218
12782
|
{
|
|
@@ -12308,6 +12872,43 @@
|
|
|
12308
12872
|
}
|
|
12309
12873
|
]
|
|
12310
12874
|
},
|
|
12875
|
+
{
|
|
12876
|
+
"name": "lr-schema-viewer",
|
|
12877
|
+
"description": {
|
|
12878
|
+
"kind": "markdown",
|
|
12879
|
+
"value": "`<lr-schema-viewer>` — a recursive, selectable JSON Schema inspector with required-state,\nconstraints, composition branches, `$ref` display, validation issues, cycle protection, and a\nconfigurable depth ceiling. It does not resolve remote references or validate values.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The named schema region. |\n| `constraints` | Recognized schema constraints. |\n| `description` | Caller-supplied schema description. |\n| `empty` | The empty state. |\n| `issue` | One caller-supplied validation issue. |\n| `limit` | Resource-ceiling status shown when additional nodes are omitted. |\n| `name` | Property/branch name. |\n| `node` | One schema node. |\n| `node-selected` | The selected schema node. |\n| `node-trigger` | A schema-node activation button. |\n| `required` | Required badge. |\n| `tree` | The recursive schema tree. |\n| `type` | Schema type badge. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-schema-viewer-selected-border` (default: `var(--lr-color-brand)`) — Selected node branch.\n- `--lr-schema-viewer-error-border` (default: `var(--lr-color-danger)`) — Error issue border.\n- `--lr-schema-viewer-error-bg` (default: `var(--lr-color-danger-quiet)`) — Error issue background.\n- `--lr-schema-viewer-warning-border` (default: `var(--lr-color-warning)`) — Warning issue border.\n- `--lr-schema-viewer-warning-bg` (default: `var(--lr-color-warning-quiet)`) — Warning issue background."
|
|
12880
|
+
},
|
|
12881
|
+
"attributes": [
|
|
12882
|
+
{
|
|
12883
|
+
"name": "label",
|
|
12884
|
+
"description": {
|
|
12885
|
+
"kind": "markdown",
|
|
12886
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
12887
|
+
}
|
|
12888
|
+
},
|
|
12889
|
+
{
|
|
12890
|
+
"name": "locale",
|
|
12891
|
+
"description": {
|
|
12892
|
+
"kind": "markdown",
|
|
12893
|
+
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
12894
|
+
}
|
|
12895
|
+
},
|
|
12896
|
+
{
|
|
12897
|
+
"name": "max-depth",
|
|
12898
|
+
"description": {
|
|
12899
|
+
"kind": "markdown",
|
|
12900
|
+
"value": "Requested nesting depth, clamped to 100 to keep recursive template construction stack-safe.\n\nType: `number` \nDefault: `20`"
|
|
12901
|
+
}
|
|
12902
|
+
},
|
|
12903
|
+
{
|
|
12904
|
+
"name": "selected-path",
|
|
12905
|
+
"description": {
|
|
12906
|
+
"kind": "markdown",
|
|
12907
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
12908
|
+
}
|
|
12909
|
+
}
|
|
12910
|
+
]
|
|
12911
|
+
},
|
|
12311
12912
|
{
|
|
12312
12913
|
"name": "lr-scroller",
|
|
12313
12914
|
"description": {
|
|
@@ -12333,7 +12934,7 @@
|
|
|
12333
12934
|
"name": "label",
|
|
12334
12935
|
"description": {
|
|
12335
12936
|
"kind": "markdown",
|
|
12336
|
-
"value": "Type: `string` \nDefault: `
|
|
12937
|
+
"value": "Type: `string` \nDefault: `\"\"`"
|
|
12337
12938
|
}
|
|
12338
12939
|
},
|
|
12339
12940
|
{
|
|
@@ -12347,7 +12948,7 @@
|
|
|
12347
12948
|
"name": "orientation",
|
|
12348
12949
|
"description": {
|
|
12349
12950
|
"kind": "markdown",
|
|
12350
|
-
"value": "Type: `ScrollerOrientation` \nDefault:
|
|
12951
|
+
"value": "Type: `ScrollerOrientation` \nDefault: `\"horizontal\"`"
|
|
12351
12952
|
}
|
|
12352
12953
|
},
|
|
12353
12954
|
{
|
|
@@ -12363,14 +12964,14 @@
|
|
|
12363
12964
|
"name": "lr-segmented",
|
|
12364
12965
|
"description": {
|
|
12365
12966
|
"kind": "markdown",
|
|
12366
|
-
"value": "`<lr-segmented>` — a single-select button row with the WAI-ARIA APG `radiogroup` contract\nbuilt in: `role=\"radiogroup\"`/`role=\"radio\"`, roving tabindex, automatic activation (click or\narrow-key move both select immediately, like a native radio group), cyclic Arrow/Home/End\nnavigation among non-disabled items. First-party invention --\n\"choose exactly one of N labeled options, rendered as a button row\" is ubiquitous\nsettings/filter-panel UI. Supports the same `2xs`-`xl` compact-form-control `size` scale as\n`<lr-select>`/`<lr-combobox>`/`<lr-input>`, so it can sit flush beside those controls in a\ntoolbar at a matching height.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The `role=\"radiogroup\"` root. |\n| `segment` | A single `role=\"radio\"` button. |\n| `segment-icon` | Optional leading visual supplied by the item's `icon` field; content may have a natural aspect ratio and is not restricted to a square icon. |\n| `segment-label` | The segment's label text. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-scroll-fade-size` (default: `2rem`) — Width of the static fade at each horizontal scroll edge.\n- `--lr-segmented-track-min-height` (default: `var(--lr-size-2-5rem)`) — Minimum height of the `base` track. Re-set per `size` (`2xs` through `xl`); the `2.5rem` (40px) default applies at the unset/`m` size, matching `<lr-input>`/`<lr-select>`/`<lr-combobox>`'s own shared default-tier floor. Because it is declared on `:host` per tier, override it on the element itself, not on an ancestor.\n- `--lr-segmented-track-height` — Exact height of the `base` track, pinning it at every `size` tier (sets both `block-size` and `min-block-size`) so the row can sit flush beside a hard-sized toolbar control. **Genuinely unset by default** — while unset each tier keeps its own `--lr-segmented-track-min-height` floor and the track grows with its content.\n- `--lr-segmented-selected-bg` (default: `var(--lr-color-surface)`) — Background of the checked segment. Scoped to `[aria-checked='true']` only, so it never repaints a hovered unselected segment (which is what hijacking `--lr-color-surface` library-wide used to do).\n- `--lr-segmented-selected-color` (default: `var(--lr-color-text)`) — Text color of the checked segment.\n- `--lr-segmented-selected-font-weight` (default: `var(--lr-font-weight-semibold)`) — Font weight of the checked segment.\n- `--lr-segmented-selected-shadow` (default: `var(--lr-shadow)`) — Box shadow lifting the checked segment off the track.\n- `--lr-segmented-hover-color` (default: `var(--lr-color-text)`) — Text color of a hovered segment that is neither checked nor disabled. Independent of the selected-state props above — recoloring the checked pill leaves this untouched.\n- `--lr-segmented-segment-padding` (default: `var(--lr-size-0-125rem) var(--lr-space-s)`) — Each segment's padding. Re-set per `size`; this default applies at the unset/`m` size.\n- `--lr-segmented-font-size` (default: `var(--lr-font-size-sm)`) — Each segment's font size. Re-set per `size`; this default applies at the unset/`m` size."
|
|
12967
|
+
"value": "`<lr-segmented>` — a single-select button row with the WAI-ARIA APG `radiogroup` contract\nbuilt in: `role=\"radiogroup\"`/`role=\"radio\"`, roving tabindex, automatic activation (click or\narrow-key move both select immediately, like a native radio group), cyclic Arrow/Home/End\nnavigation among non-disabled items. First-party invention --\n\"choose exactly one of N labeled options, rendered as a button row\" is ubiquitous\nsettings/filter-panel UI. Supports the same `2xs`-`xl` compact-form-control `size` scale as\n`<lr-select>`/`<lr-combobox>`/`<lr-input>`, so it can sit flush beside those controls in a\ntoolbar at a matching height.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The `role=\"radiogroup\"` root. |\n| `segment` | A single `role=\"radio\"` button. |\n| `segment-icon` | Optional leading visual supplied by the item's `icon` field; content may have a natural aspect ratio and is not restricted to a square icon. |\n| `segment-label` | The segment's label text. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-scroll-fade-size` (default: `2rem`) — Width of the static fade at each horizontal scroll edge.\n- `--lr-segmented-track-min-height` (default: `var(--lr-size-2-5rem)`) — Minimum height of the `base` track. Re-set per `size` (`2xs` through `xl`); the `2.5rem` (40px) default applies at the unset/`m` size, matching `<lr-input>`/`<lr-select>`/`<lr-combobox>`'s own shared default-tier floor. Because it is declared on `:host` per tier, override it on the element itself, not on an ancestor.\n- `--lr-segmented-track-height` — Exact height of the `base` track, pinning it at every `size` tier (sets both `block-size` and `min-block-size`) so the row can sit flush beside a hard-sized toolbar control. **Genuinely unset by default** — while unset each tier keeps its own `--lr-segmented-track-min-height` floor and the track grows with its content.\n- `--lr-segmented-selected-bg` (default: `var(--lr-color-surface)`) — Background of the checked segment. Scoped to `[aria-checked='true']` only, so it never repaints a hovered unselected segment (which is what hijacking `--lr-color-surface` library-wide used to do).\n- `--lr-segmented-selected-color` (default: `var(--lr-color-text)`) — Text color of the checked segment.\n- `--lr-segmented-selected-font-weight` (default: `var(--lr-font-weight-semibold)`) — Font weight of the checked segment.\n- `--lr-segmented-selected-shadow` (default: `var(--lr-shadow)`) — Box shadow lifting the checked segment off the track.\n- `--lr-segmented-hover-color` (default: `var(--lr-color-text)`) — Text color of a hovered segment that is neither checked nor disabled. Independent of the selected-state props above — recoloring the checked pill leaves this untouched.\n- `--lr-segmented-segment-padding` (default: `var(--lr-size-0-125rem) var(--lr-space-s)`) — Each segment's padding. Re-set per `size`; this default applies at the unset/`m` size.\n- `--lr-segmented-font-size` (default: `var(--lr-font-size-sm)`) — Each segment's font size. Re-set per `size`; this default applies at the unset/`m` size.\n- `--lr-segmented-track-gap` (default: `var(--lr-size-0-125rem)`) — Gap between segments.\n- `--lr-segmented-track-radius` (default: `var(--lr-radius)`) — Track corner radius.\n- `--lr-segmented-track-padding` (default: `var(--lr-size-0-125rem)`) — Track inset padding."
|
|
12367
12968
|
},
|
|
12368
12969
|
"attributes": [
|
|
12369
12970
|
{
|
|
12370
12971
|
"name": "label",
|
|
12371
12972
|
"description": {
|
|
12372
12973
|
"kind": "markdown",
|
|
12373
|
-
"value": "Accessible name for the radiogroup, used when no visible label context\nexists around it (e.g. no wrapping `<label>` or adjacent heading). Set\nas `aria-label` on the `role=\"radiogroup\"` element. A plain `aria-label`\nattribute on the host itself is honored as a fallback when this is left\nunset, matching `<lr-slider>`.\n\nType: `string` \nDefault: `
|
|
12974
|
+
"value": "Accessible name for the radiogroup, used when no visible label context\nexists around it (e.g. no wrapping `<label>` or adjacent heading). Set\nas `aria-label` on the `role=\"radiogroup\"` element. A plain `aria-label`\nattribute on the host itself is honored as a fallback when this is left\nunset, matching `<lr-slider>`.\n\nType: `string` \nDefault: `\"\"`"
|
|
12374
12975
|
}
|
|
12375
12976
|
},
|
|
12376
12977
|
{
|
|
@@ -12384,14 +12985,14 @@
|
|
|
12384
12985
|
"name": "size",
|
|
12385
12986
|
"description": {
|
|
12386
12987
|
"kind": "markdown",
|
|
12387
|
-
"value": "Visual size — same `2xs`-`xl` scale as `<lr-select>`/`<lr-combobox>` (`s` through `xl`)\nand `<lr-input>` (`2xs`). Reflects as the `size` attribute. The default `m` tier is\nidentical to this component's pre-`size` rendering, so leaving it unset never changes\noutput.\n\nType: `LyraSegmentedSize` \nDefault:
|
|
12988
|
+
"value": "Visual size — same `2xs`-`xl` scale as `<lr-select>`/`<lr-combobox>` (`s` through `xl`)\nand `<lr-input>` (`2xs`). Reflects as the `size` attribute. The default `m` tier is\nidentical to this component's pre-`size` rendering, so leaving it unset never changes\noutput.\n\nType: `LyraSegmentedSize` \nDefault: `\"m\"`"
|
|
12388
12989
|
}
|
|
12389
12990
|
},
|
|
12390
12991
|
{
|
|
12391
12992
|
"name": "value",
|
|
12392
12993
|
"description": {
|
|
12393
12994
|
"kind": "markdown",
|
|
12394
|
-
"value": "The currently selected item's `value`.\n\nType: `string` \nDefault: `
|
|
12995
|
+
"value": "The currently selected item's `value`.\n\nType: `string` \nDefault: `\"\"`"
|
|
12395
12996
|
}
|
|
12396
12997
|
}
|
|
12397
12998
|
]
|
|
@@ -12489,11 +13090,55 @@
|
|
|
12489
13090
|
}
|
|
12490
13091
|
]
|
|
12491
13092
|
},
|
|
13093
|
+
{
|
|
13094
|
+
"name": "lr-selection-toolbar",
|
|
13095
|
+
"description": {
|
|
13096
|
+
"kind": "markdown",
|
|
13097
|
+
"value": "`<lr-selection-toolbar>` — a nonmodal action toolbar positioned above selected text. It carries\nthe selected text and a format-neutral document anchor into ask, quote, cite, or copy actions.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `action` | Every action button. |\n| `action-ask` | The ask action. |\n| `action-cite` | The cite action. |\n| `action-copy` | The copy action. |\n| `action-quote` | The quote action. |\n| `toolbar` | The floating `role=\"toolbar\"` surface. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-selection-toolbar-inline-start` — Computed logical inline anchor position.\n- `--lr-selection-toolbar-block-start` — Computed logical block anchor position.\n- `--lr-selection-toolbar-inline-shift` — Computed inline collision-avoidance offset.\n- `--lr-selection-toolbar-block-shift` — Computed block collision-avoidance offset."
|
|
13098
|
+
},
|
|
13099
|
+
"attributes": [
|
|
13100
|
+
{
|
|
13101
|
+
"name": "aria-label",
|
|
13102
|
+
"description": {
|
|
13103
|
+
"kind": "markdown",
|
|
13104
|
+
"value": "Type: `string | null` \nDefault: `null`"
|
|
13105
|
+
}
|
|
13106
|
+
},
|
|
13107
|
+
{
|
|
13108
|
+
"name": "label",
|
|
13109
|
+
"description": {
|
|
13110
|
+
"kind": "markdown",
|
|
13111
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
13112
|
+
}
|
|
13113
|
+
},
|
|
13114
|
+
{
|
|
13115
|
+
"name": "locale",
|
|
13116
|
+
"description": {
|
|
13117
|
+
"kind": "markdown",
|
|
13118
|
+
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
13119
|
+
}
|
|
13120
|
+
},
|
|
13121
|
+
{
|
|
13122
|
+
"name": "open",
|
|
13123
|
+
"description": {
|
|
13124
|
+
"kind": "markdown",
|
|
13125
|
+
"value": "Type: `boolean` \nDefault: `false`"
|
|
13126
|
+
}
|
|
13127
|
+
},
|
|
13128
|
+
{
|
|
13129
|
+
"name": "text",
|
|
13130
|
+
"description": {
|
|
13131
|
+
"kind": "markdown",
|
|
13132
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
13133
|
+
}
|
|
13134
|
+
}
|
|
13135
|
+
]
|
|
13136
|
+
},
|
|
12492
13137
|
{
|
|
12493
13138
|
"name": "lr-sequence-strip",
|
|
12494
13139
|
"description": {
|
|
12495
13140
|
"kind": "markdown",
|
|
12496
|
-
"value": "`<lr-sequence-strip>` — a compact, one-thin-cell-per-item strip visualizing a sequence of\ncategorical states, with an optional secondary per-cell marker. Pure CSS/flex, no chart.js/SVG/\ncanvas — sized/named consistently with the sparkline/heatmap family, but a glanceable aggregate\nvisualization
|
|
13141
|
+
"value": "`<lr-sequence-strip>` — a compact, one-thin-cell-per-item strip visualizing a sequence of\ncategorical states, with an optional secondary per-cell marker. Pure CSS/flex, no chart.js/SVG/\ncanvas — sized/named consistently with the sparkline/heatmap family, but a glanceable aggregate\nvisualization. The strip is a labeled `role=\"list\"` and each cell is a named list item.\nExactly one cell is tabbable; Left/Right and Home/End rove through the items and show the same\ndetail tooltip as pointer hover. Cells are inspectable rather than actionable, so they do not\nemit an activation event.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root strip wrapper (`role=\"list\"`). |\n| `cell` | Each named, roving-focus item cell, background-colored by its category. |\n| `legend` | The static category key rendered below the strip when `showLegend` is set (`aria-hidden` — it repeats the strip's own `aria-label` visually). |\n| `legend-item` | One swatch + label pair in the legend, one per `categories` entry (plus one trailing marker row when `markerLabel` is set). |\n| `legend-label` | The text of a legend item (the category's `label`, or its `key`). |\n| `legend-marker-swatch` | The chip of the `markerLabel` legend row: a neutral chip carrying the same bottom bar a `marker: true` cell paints, in the same `--lr-sequence-strip-marker-color`. |\n| `legend-swatch` | The color chip of a legend item, matching that category's cell color. |\n| `marker` | The small bottom marker on a cell whose item sets `marker: true`. |\n| `tooltip` | The hover/focus tooltip showing the active item's label. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-sequence-strip-height` (default: `var(--lr-size-1-5rem)`) — Block size of the strip.\n- `--lr-sequence-strip-marker-color` (default: `var(--lr-color-text)`) — Color of the bottom marker on a `marker: true` cell, and of the marker legend row's bar.\n- `--lr-sequence-strip-legend-swatch-size` (default: `var(--lr-size-0-625rem)`) — Inline and block size of a legend swatch (category and marker rows alike).\n- `--lr-sequence-strip-legend-marker-bg` (default: `var(--lr-color-surface-raised)`) — Neutral chip background behind the marker legend row's bar; it stands in for \"any cell\", so it deliberately matches no category color."
|
|
12497
13142
|
},
|
|
12498
13143
|
"attributes": [
|
|
12499
13144
|
{
|
|
@@ -12656,7 +13301,7 @@
|
|
|
12656
13301
|
"name": "show-value",
|
|
12657
13302
|
"description": {
|
|
12658
13303
|
"kind": "markdown",
|
|
12659
|
-
"value": "
|
|
13304
|
+
"value": "Type: `boolean` \nDefault: `true`"
|
|
12660
13305
|
}
|
|
12661
13306
|
},
|
|
12662
13307
|
{
|
|
@@ -12767,7 +13412,7 @@
|
|
|
12767
13412
|
"name": "lr-source-picker",
|
|
12768
13413
|
"description": {
|
|
12769
13414
|
"kind": "markdown",
|
|
12770
|
-
"value": "`<lr-source-picker>` — a checkbox tree/list scoping which sources ground the next answer:\ntri-state folders, select-all, type icons, search. **Not `FormAssociated`, deliberately**: this\nis a scoping panel, not a form control — the selection is immediate app state consumed by the\nnext retrieval call, exactly the stance `lr-tool-select-dialog` already takes.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. |\n| `checkbox` | The tri-state checkbox glyph. |\n| `empty` | The empty state (`noData` when `sources` is empty, `noMatches` when a filter empties the tree). |\n| `icon` | The `lr-file-icon` type badge. |\n| `item` | One `role=\"treeitem\"` row. |\n| `label` | The entry's label text. |\n| `search` | The built-in filter `lr-input`, only rendered when `searchable`. |\n| `select-all` | The header select-all row, only rendered when `showSelectAll`. |\n| `summary` | The \"{selected} of {total} selected\" text. |\n| `tree` | The `role=\"tree\"` container. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-source-picker-checked-bg` — Background of a fully-checked selection control: the `select-all` pill (defaults to `var(--lr-color-brand-quiet)`) and a fully-selected entry's `[part=\"checkbox\"]` (defaults to `var(--lr-color-brand)`). The two keep their distinct resting defaults; setting this prop unifies both.\n- `--lr-source-picker-checked-border` (default: `var(--lr-color-brand)`) — Border color of every checked or mixed selection control.\n- `--lr-source-picker-mixed-bg` (default: `color-mix(in srgb, var(--lr-color-brand) 50%, var(--lr-color-surface))`) — Background of a partially-selected entry's `[part=\"checkbox\"]`."
|
|
13415
|
+
"value": "`<lr-source-picker>` — a checkbox tree/list scoping which sources ground the next answer:\ntri-state folders, select-all, type icons, search. **Not `FormAssociated`, deliberately**: this\nis a scoping panel, not a form control — the selection is immediate app state consumed by the\nnext retrieval call, exactly the stance `lr-tool-select-dialog` already takes.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. |\n| `checkbox` | The tri-state checkbox glyph. |\n| `disclosure` | A folder row's expand/collapse button. |\n| `empty` | The empty state (`noData` when `sources` is empty, `noMatches` when a filter empties the tree). |\n| `icon` | The `lr-file-icon` type badge. |\n| `item` | One `role=\"treeitem\"` row. |\n| `label` | The entry's label text. |\n| `search` | The built-in filter `lr-input`, only rendered when `searchable`. |\n| `select-all` | The header select-all row, only rendered when `showSelectAll`. |\n| `summary` | The \"{selected} of {total} selected\" text. |\n| `tree` | The `role=\"tree\"` container. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-source-picker-checked-bg` — Background of a fully-checked selection control: the `select-all` pill (defaults to `var(--lr-color-brand-quiet)`) and a fully-selected entry's `[part=\"checkbox\"]` (defaults to `var(--lr-color-brand)`). The two keep their distinct resting defaults; setting this prop unifies both.\n- `--lr-source-picker-checked-border` (default: `var(--lr-color-brand)`) — Border color of every checked or mixed selection control.\n- `--lr-source-picker-mixed-bg` (default: `color-mix(in srgb, var(--lr-color-brand) 50%, var(--lr-color-surface))`) — Background of a partially-selected entry's `[part=\"checkbox\"]`."
|
|
12771
13416
|
},
|
|
12772
13417
|
"attributes": [
|
|
12773
13418
|
{
|
|
@@ -12924,7 +13569,7 @@
|
|
|
12924
13569
|
"name": "lr-spinner",
|
|
12925
13570
|
"description": {
|
|
12926
13571
|
"kind": "markdown",
|
|
12927
|
-
"value": "`<lr-spinner>` — an indeterminate busy indicator.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Optional visible label. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The wrapper. |\n| `label` | The accessible/visible label wrapper. |\n| `spinner` | The animated indicator. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-spinner-size` (default: `var(--lr-size-1-25rem)`) — Outer diameter of the indicator.\n- `--lr-spinner-track-width` (default: `var(--lr-border-width-medium)`) — Thickness of the ring track.\n- `--lr-spinner-duration` (default: `
|
|
13572
|
+
"value": "`<lr-spinner>` — an indeterminate busy indicator.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Optional visible label. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The wrapper. |\n| `label` | The accessible/visible label wrapper. |\n| `spinner` | The animated indicator. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-spinner-size` (default: `var(--lr-size-1-25rem)`) — Outer diameter of the indicator.\n- `--lr-spinner-track-width` (default: `var(--lr-border-width-medium)`) — Thickness of the ring track.\n- `--lr-spinner-duration` (default: `var(--lr-transition-ambient)`) — Duration/easing of one rotation. Not read under `prefers-reduced-motion: reduce`, where the animation is disabled entirely."
|
|
12928
13573
|
},
|
|
12929
13574
|
"attributes": [
|
|
12930
13575
|
{
|
|
@@ -12961,14 +13606,14 @@
|
|
|
12961
13606
|
"name": "collapse",
|
|
12962
13607
|
"description": {
|
|
12963
13608
|
"kind": "markdown",
|
|
12964
|
-
"value": "Opts a pane in to responsive collapse: `'start'` is the first light-DOM\npanel (index 0), `'end'` is the last. Both are LOGICAL positions, same\nas CSS `inset-inline-start`/`-end` — see the `collapsingIndex` getter\nfor why that already resolves to the same physical index under RTL for\nthis component (panels are never re-`order`ed for RTL, only the drag\ndelta sign mirrors). Default `'none'`: none of the collapse behavior\nbelow applies, and rendering/behavior is identical to before this\nproperty existed.\n\nType: `SplitCollapseMode` \nDefault:
|
|
13609
|
+
"value": "Opts a pane in to responsive collapse: `'start'` is the first light-DOM\npanel (index 0), `'end'` is the last. Both are LOGICAL positions, same\nas CSS `inset-inline-start`/`-end` — see the `collapsingIndex` getter\nfor why that already resolves to the same physical index under RTL for\nthis component (panels are never re-`order`ed for RTL, only the drag\ndelta sign mirrors). Default `'none'`: none of the collapse behavior\nbelow applies, and rendering/behavior is identical to before this\nproperty existed.\n\nType: `SplitCollapseMode` \nDefault: `\"none\"`"
|
|
12965
13610
|
}
|
|
12966
13611
|
},
|
|
12967
13612
|
{
|
|
12968
13613
|
"name": "collapse-breakpoint-basis",
|
|
12969
13614
|
"description": {
|
|
12970
13615
|
"kind": "markdown",
|
|
12971
|
-
"value": "Which box `railBreakpoint`/`floatBreakpoint` measure. `'container'` (the default) observes\nthis component's own `[part=\"base\"]` inline size via `ResizeObserver`, comparing strictly `<`.\n`'viewport'` instead evaluates `matchMedia('(max-width: <breakpoint>)')` for each of the two\nthresholds, which is inclusive (`<=`) — native `max-width` semantics, deliberately, so the\ncrossing point matches a CSS `@media` rule authored with the same length exactly. Switching\nbasis therefore shifts each crossing point by 1px (the same trade-off\n`orientationBreakpointBasis` already makes).\n\nUse `'viewport'` to collapse in step with a page-level responsive layout — e.g. a shell whose\nown `@media` rules restack at the same width — rather than with this split's own allocation.\n`'viewport'` also lets the browser resolve a `rem` breakpoint with real `@media` semantics\n(against the *initial* font size, ignoring an `html { font-size }` override), keeping it in\nstep with such a rule.\n\nBoth bands are classified from both queries together on every change, so a fast resize that\ncrosses both thresholds at once still lands on one correct state and fires\n`lr-split-collapse-change` once. Under `'viewport'` basis the first paint is already correct —\nno `ResizeObserver` round-trip — and the initial state is not announced as a transition.\n\nDefault: `'container'`.\n\nType: `BreakpointBasis` \nDefault:
|
|
13616
|
+
"value": "Which box `railBreakpoint`/`floatBreakpoint` measure. `'container'` (the default) observes\nthis component's own `[part=\"base\"]` inline size via `ResizeObserver`, comparing strictly `<`.\n`'viewport'` instead evaluates `matchMedia('(max-width: <breakpoint>)')` for each of the two\nthresholds, which is inclusive (`<=`) — native `max-width` semantics, deliberately, so the\ncrossing point matches a CSS `@media` rule authored with the same length exactly. Switching\nbasis therefore shifts each crossing point by 1px (the same trade-off\n`orientationBreakpointBasis` already makes).\n\nUse `'viewport'` to collapse in step with a page-level responsive layout — e.g. a shell whose\nown `@media` rules restack at the same width — rather than with this split's own allocation.\n`'viewport'` also lets the browser resolve a `rem` breakpoint with real `@media` semantics\n(against the *initial* font size, ignoring an `html { font-size }` override), keeping it in\nstep with such a rule.\n\nBoth bands are classified from both queries together on every change, so a fast resize that\ncrosses both thresholds at once still lands on one correct state and fires\n`lr-split-collapse-change` once. Under `'viewport'` basis the first paint is already correct —\nno `ResizeObserver` round-trip — and the initial state is not announced as a transition.\n\nDefault: `'container'`.\n\nType: `BreakpointBasis` \nDefault: `\"container\"`"
|
|
12972
13617
|
}
|
|
12973
13618
|
},
|
|
12974
13619
|
{
|
|
@@ -12982,7 +13627,7 @@
|
|
|
12982
13627
|
"name": "float-breakpoint",
|
|
12983
13628
|
"description": {
|
|
12984
13629
|
"kind": "markdown",
|
|
12985
|
-
"value": "Width below which the collapsing pane instead becomes an absolutely-positioned overlay above\nthe other pane (`'floating'` state). Same accepted forms, basis, and sanitization as\n`railBreakpoint`; an unparseable value falls back to the `400` default.\n\nDefault: `400`.\n\nType:
|
|
13630
|
+
"value": "Width below which the collapsing pane instead becomes an absolutely-positioned overlay above\nthe other pane (`'floating'` state). Same accepted forms, basis, and sanitization as\n`railBreakpoint`; an unparseable value falls back to the `400` default.\n\nDefault: `400`.\n\nType: `| number\n | string` \nDefault: `400`"
|
|
12986
13631
|
}
|
|
12987
13632
|
},
|
|
12988
13633
|
{
|
|
@@ -13003,7 +13648,7 @@
|
|
|
13003
13648
|
"name": "narrow-orientation",
|
|
13004
13649
|
"description": {
|
|
13005
13650
|
"kind": "markdown",
|
|
13006
|
-
"value": "Layout/resize axis used below `orientationBreakpoint`.\n\nType: `SplitOrientation` \nDefault:
|
|
13651
|
+
"value": "Layout/resize axis used below `orientationBreakpoint`.\n\nType: `SplitOrientation` \nDefault: `\"vertical\"`"
|
|
13007
13652
|
}
|
|
13008
13653
|
},
|
|
13009
13654
|
{
|
|
@@ -13017,35 +13662,35 @@
|
|
|
13017
13662
|
"name": "orientation",
|
|
13018
13663
|
"description": {
|
|
13019
13664
|
"kind": "markdown",
|
|
13020
|
-
"value": "Type: `SplitOrientation` \nDefault:
|
|
13665
|
+
"value": "Type: `SplitOrientation` \nDefault: `\"horizontal\"`"
|
|
13021
13666
|
}
|
|
13022
13667
|
},
|
|
13023
13668
|
{
|
|
13024
13669
|
"name": "orientation-breakpoint",
|
|
13025
13670
|
"description": {
|
|
13026
13671
|
"kind": "markdown",
|
|
13027
|
-
"value": "Opt-in inline-size breakpoint for this component's *own* measured allocation. Below it,\n`narrowOrientation` becomes effective. Unset by default — the whole responsive-orientation\nfeature (and its `ResizeObserver`) is off, and `effectiveOrientation` just tracks\n`orientation`.\n\nAccepts a bare pixel number (`900`, `orientation-breakpoint=\"900\"` — the original form) or a\nCSS length string: `'900px'`, `'56.25rem'`, `'3em'`. Under the default\n`orientationBreakpointBasis=\"container\"`, `rem` resolves against the *document root*'s\ncomputed font size — the rule a `@container` query follows, not a `@media` query's — and `em`\nagainst this element's own computed font size. The length is re-resolved on every measurement,\nnever cached at first render, so a root font-size change moves the crossing width with no\ninvalidation step. To stay in step with a sibling `@media (max-width: 56.25rem)` rule, use\n`orientationBreakpointBasis=\"viewport\"`, which hands the length to the browser instead; see\nthat property for why the two resolve `rem` differently.\n\nAnything else — `''`, `'auto'`, garbage, a non-finite number, and deliberately `%`/`vw`/`vh`/\n`calc()` (which would mix reference boxes against an element-relative measurement) — behaves\nexactly as unset. Set `orientationBreakpointBasis=\"viewport\"` for a viewport-relative\nbreakpoint instead.\n\nType:
|
|
13672
|
+
"value": "Opt-in inline-size breakpoint for this component's *own* measured allocation. Below it,\n`narrowOrientation` becomes effective. Unset by default — the whole responsive-orientation\nfeature (and its `ResizeObserver`) is off, and `effectiveOrientation` just tracks\n`orientation`.\n\nAccepts a bare pixel number (`900`, `orientation-breakpoint=\"900\"` — the original form) or a\nCSS length string: `'900px'`, `'56.25rem'`, `'3em'`. Under the default\n`orientationBreakpointBasis=\"container\"`, `rem` resolves against the *document root*'s\ncomputed font size — the rule a `@container` query follows, not a `@media` query's — and `em`\nagainst this element's own computed font size. The length is re-resolved on every measurement,\nnever cached at first render, so a root font-size change moves the crossing width with no\ninvalidation step. To stay in step with a sibling `@media (max-width: 56.25rem)` rule, use\n`orientationBreakpointBasis=\"viewport\"`, which hands the length to the browser instead; see\nthat property for why the two resolve `rem` differently.\n\nAnything else — `''`, `'auto'`, garbage, a non-finite number, and deliberately `%`/`vw`/`vh`/\n`calc()` (which would mix reference boxes against an element-relative measurement) — behaves\nexactly as unset. Set `orientationBreakpointBasis=\"viewport\"` for a viewport-relative\nbreakpoint instead.\n\nType: `| number\n | string | undefined`"
|
|
13028
13673
|
}
|
|
13029
13674
|
},
|
|
13030
13675
|
{
|
|
13031
13676
|
"name": "orientation-breakpoint-basis",
|
|
13032
13677
|
"description": {
|
|
13033
13678
|
"kind": "markdown",
|
|
13034
|
-
"value": "Which box `orientationBreakpoint` measures. `'container'` (the default) observes this\ncomponent's own `[part=\"base\"]` inline size via `ResizeObserver`, comparing strictly `<`.\n`'viewport'` instead evaluates `matchMedia('(max-width: <breakpoint>)')`, which is inclusive\n(`<=`) — native `max-width` semantics, deliberately, so the crossing point matches a CSS\n`@media` rule authored with the same length exactly.\n\nUse `'viewport'` when two siblings in one row must flip together at a shared breakpoint: a row\nthat stacks via a pure-CSS `@media` rule makes each sibling's own width non-monotonic across\nthe transition, so no self-measured threshold can express it. `'viewport'` also lets the\nbrowser resolve a `rem` breakpoint with real `@media` semantics, keeping it in step with such\na rule across browser zoom and user font-size preferences.\n\nType: `OrientationBreakpointBasis` \nDefault:
|
|
13679
|
+
"value": "Which box `orientationBreakpoint` measures. `'container'` (the default) observes this\ncomponent's own `[part=\"base\"]` inline size via `ResizeObserver`, comparing strictly `<`.\n`'viewport'` instead evaluates `matchMedia('(max-width: <breakpoint>)')`, which is inclusive\n(`<=`) — native `max-width` semantics, deliberately, so the crossing point matches a CSS\n`@media` rule authored with the same length exactly.\n\nUse `'viewport'` when two siblings in one row must flip together at a shared breakpoint: a row\nthat stacks via a pure-CSS `@media` rule makes each sibling's own width non-monotonic across\nthe transition, so no self-measured threshold can express it. `'viewport'` also lets the\nbrowser resolve a `rem` breakpoint with real `@media` semantics, keeping it in step with such\na rule across browser zoom and user font-size preferences.\n\nType: `OrientationBreakpointBasis` \nDefault: `\"container\"`"
|
|
13035
13680
|
}
|
|
13036
13681
|
},
|
|
13037
13682
|
{
|
|
13038
13683
|
"name": "rail-breakpoint",
|
|
13039
13684
|
"description": {
|
|
13040
13685
|
"kind": "markdown",
|
|
13041
|
-
"value": "Width below which the collapsing pane switches from its normal percent width to the fixed\n`railWidth` (`'rail'` state). Must stay above `floatBreakpoint` — an inverted pair is\nsanitized by raising this one to match, which collapses the `'rail'` band away rather than\nleaving a wide container reported as collapsed.\n\nAccepts a bare pixel number (`640`, `rail-breakpoint=\"640\"` — the original form) or a CSS\nlength string: `'640px'`, `'68.75rem'`, `'3em'`. Under the default\n`collapseBreakpointBasis=\"container\"` this is compared against this component's own measured\n`[part=\"base\"]` inline size, strictly `<`, and `rem` resolves against the *document root*'s\ncomputed font size (a `@container` query's rule, not a `@media` query's) while `em` resolves\nagainst this element's own. The length is re-resolved on every measurement, never cached, so\na root font-size change moves the crossing width with no invalidation step.\n\nAnything the grammar rejects — `''`, `'auto'`, garbage, a non-finite number, and deliberately\n`%`/`vw`/`vh`/`calc()`/`var()` — falls back to the `640` default rather than switching the\nfeature off (unlike `orientationBreakpoint`, this breakpoint has a documented default to fall\nback to). A negative length is floored at `0`, i.e. never crossed.\n\nDefault: `640`.\n\nType:
|
|
13686
|
+
"value": "Width below which the collapsing pane switches from its normal percent width to the fixed\n`railWidth` (`'rail'` state). Must stay above `floatBreakpoint` — an inverted pair is\nsanitized by raising this one to match, which collapses the `'rail'` band away rather than\nleaving a wide container reported as collapsed.\n\nAccepts a bare pixel number (`640`, `rail-breakpoint=\"640\"` — the original form) or a CSS\nlength string: `'640px'`, `'68.75rem'`, `'3em'`. Under the default\n`collapseBreakpointBasis=\"container\"` this is compared against this component's own measured\n`[part=\"base\"]` inline size, strictly `<`, and `rem` resolves against the *document root*'s\ncomputed font size (a `@container` query's rule, not a `@media` query's) while `em` resolves\nagainst this element's own. The length is re-resolved on every measurement, never cached, so\na root font-size change moves the crossing width with no invalidation step.\n\nAnything the grammar rejects — `''`, `'auto'`, garbage, a non-finite number, and deliberately\n`%`/`vw`/`vh`/`calc()`/`var()` — falls back to the `640` default rather than switching the\nfeature off (unlike `orientationBreakpoint`, this breakpoint has a documented default to fall\nback to). A negative length is floored at `0`, i.e. never crossed.\n\nDefault: `640`.\n\nType: `| number\n | string` \nDefault: `640`"
|
|
13042
13687
|
}
|
|
13043
13688
|
},
|
|
13044
13689
|
{
|
|
13045
13690
|
"name": "rail-width",
|
|
13046
13691
|
"description": {
|
|
13047
13692
|
"kind": "markdown",
|
|
13048
|
-
"value": "Fixed CSS length the collapsing pane clamps to in the `'rail'` state.\n\nType: `string` \nDefault:
|
|
13693
|
+
"value": "Fixed CSS length the collapsing pane clamps to in the `'rail'` state.\n\nType: `string` \nDefault: `\"3.5rem\"`"
|
|
13049
13694
|
}
|
|
13050
13695
|
},
|
|
13051
13696
|
{
|
|
@@ -13061,7 +13706,7 @@
|
|
|
13061
13706
|
"name": "lr-spreadsheet-viewer",
|
|
13062
13707
|
"description": {
|
|
13063
13708
|
"kind": "markdown",
|
|
13064
|
-
"value": "Fetches and renders `.xlsx` and legacy `.xls` workbooks with virtualized rows and sheet tabs.\n\nAdopts `DocumentAnchorTarget`: a `cell-range` anchor addresses one sheet's raw grid, 1-based, with\nits (always-present) header row included -- matching how a spreadsheet app itself labels `A1`.\nThe target sheet resolves from the anchor's own `sheet` field (falling back to a `Sheet!`-prefixed\n`range`, then the currently active sheet when neither is set); `scrollToAnchor()` switches\n`<lr-tabs>`'s `active` tab first when the resolved sheet isn't already active, then scrolls the\naddressed row into view via the virtualized list's `active-id`, then scrolls the first addressed\ncolumn horizontally into view. `highlights` paint
|
|
13709
|
+
"value": "Fetches and renders `.xlsx` and legacy `.xls` workbooks with virtualized rows and sheet tabs.\n\nAdopts `DocumentAnchorTarget`: a `cell-range` anchor addresses one sheet's raw grid, 1-based, with\nits (always-present) header row included -- matching how a spreadsheet app itself labels `A1`.\nThe target sheet resolves from the anchor's own `sheet` field (falling back to a `Sheet!`-prefixed\n`range`, then the currently active sheet when neither is set); `scrollToAnchor()` switches\n`<lr-tabs>`'s `active` tab first when the resolved sheet isn't already active, then scrolls the\naddressed row into view via the virtualized list's `active-id`, then scrolls the first addressed\ncolumn horizontally into view. `highlights` paint a structural `part=\"cell-highlight\"` cell\nwrapping a focusable native `part=\"cell-highlight-action\"` button, recomputed per row inside\n`renderRow()` so a row scrolled out and back in reconstructs its highlight for free, with no\npersistent DOM to keep in sync. `search()` is a case-insensitive\nsubstring match over every sheet's stringified cell values (the same stringification `cell()`\nalready renders), ordered sheet then row then column, switching tabs as navigation crosses sheets.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. |\n| `cell` | One rendered cell. |\n| `cell-highlight` | A structural cell covered by a `highlights` entry. |\n| `cell-highlight-action` | The native button filling a highlighted cell -- focusable, emits `lr-highlight-activate` on click or Enter/Space. |\n| `data-row` | One virtualized data row. |\n| `error` | The error message region. |\n| `header-row` | A sheet's header row. |\n| `rows` | The virtualized row list. |\n| `sheet` | The wrapper around one sheet's header row and virtualized body. |\n| `spinner` | The loading status region. |\n| `tabs` | The sheet-switching `<lr-tabs>`, rendered only for a multi-sheet workbook. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-spreadsheet-viewer-highlight-color` (default: `var(--lr-color-brand)`) — Outline color of a highlighted cell. The active highlight sets it inline to `var(--lr-color-warning, var(--lr-color-brand))`."
|
|
13065
13710
|
},
|
|
13066
13711
|
"attributes": [
|
|
13067
13712
|
{
|
|
@@ -13270,14 +13915,14 @@
|
|
|
13270
13915
|
"name": "lr-stepper",
|
|
13271
13916
|
"description": {
|
|
13272
13917
|
"kind": "markdown",
|
|
13273
|
-
"value": "`<lr-stepper>` — ordered multi-step wizard/form navigation: label + index per step,\ncurrent/completed/locked/error state, click-to-jump. First-party invention (no Web Awesome\nequivalent). Fully data-driven and controlled, like `lr-table`'s `columns`/`rows` -- it never\nmutates `steps` itself; a click or Enter/Space on a non-disabled step fires a cancelable\n`lr-step-select`, and the host decides whether/how `steps` changes in response
|
|
13918
|
+
"value": "`<lr-stepper>` — ordered multi-step wizard/form navigation: label + index per step,\ncurrent/completed/locked/error state, click-to-jump. First-party invention (no Web Awesome\nequivalent). Fully data-driven and controlled, like `lr-table`'s `columns`/`rows` -- it never\nmutates `steps` itself; a click or Enter/Space on a non-disabled step fires a non-cancelable\n`lr-step-select`, and the host decides whether/how `steps` changes in response.\n\nAn opt-in `orientationBreakpoint` (unset by default -- no behavior change) makes the effective\nlayout/navigation axis respond to a measured inline size instead of only the authored\n`orientation`: below that width (a pixel number or a `px`/`rem`/`em` CSS length), `narrowOrientation`\nbecomes effective; at/above it, `orientation` does. This mirrors `<lr-split>`'s identically-named\n`orientationBreakpoint`/`narrowOrientation`/`orientationBreakpointBasis` contract. Under the default\n`orientationBreakpointBasis=\"container\"` the breakpoint is measured on this stepper's own\n`[part=\"base\"]` inline size via `ResizeObserver`, so a stepper placed in a narrow split pane or\ndialog still responds correctly even in a wide window; `orientationBreakpointBasis=\"viewport\"`\ninstead evaluates `matchMedia('(max-width: <breakpoint>)')`, needed when the stepper has a fixed\nwidth in a row that stacks at a shared breakpoint. The effective axis is exposed via the\n`effectiveOrientation` getter, a `data-effective-orientation` host attribute (only present while\nthe breakpoint feature is active), and `lr-stepper-orientation-change`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. |\n| `step` | A single step button. |\n| `step-check` | The completed-checkmark glyph, shown for `completed` steps instead of `step-index`. |\n| `step-icon` | Optional leading topic glyph supplied by the item's `icon` field; content may have a natural aspect ratio and is not restricted to a square icon. Rendered additionally to, never instead of, `step-index`/`step-check`. |\n| `step-index` | The numbered index chip, shown for `pending`/`current`/`error` steps. |\n| `step-item` | The `role=\"listitem\"` wrapper for one step. |\n| `step-label` | The step's label text. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-stepper-current-color` (default: `var(--lr-color-text)`) — Text color of the `current` step. Declared as an inline `var()` fallback (never on `:host`), so setting it on the element or an ancestor recolors only the current step without hijacking the library-wide `--lr-color-text` token.\n- `--lr-stepper-current-font-weight` (default: `var(--lr-font-weight-semibold)`) — Font weight of the `current` step's label. `::part(step)[data-state='current']` is invalid CSS (an attribute selector cannot follow `::part`), so this is the only way to change just the current step's boldness without hijacking the library-wide `--lr-font-weight-semibold` token.\n- `--lr-stepper-error-color` (default: `var(--lr-color-danger)`) — Text color of an `error` step.\n- `--lr-stepper-current-index-bg` (default: `var(--lr-color-brand)`) — Background of the `current` step's numbered index chip (`step-index`).\n- `--lr-stepper-current-index-color` (default: `var(--lr-color-on-brand)`) — Text color of the `current` step's numbered index chip."
|
|
13274
13919
|
},
|
|
13275
13920
|
"attributes": [
|
|
13276
13921
|
{
|
|
13277
13922
|
"name": "aria-label",
|
|
13278
13923
|
"description": {
|
|
13279
13924
|
"kind": "markdown",
|
|
13280
|
-
"value": "Accessible name for the `role=\"
|
|
13925
|
+
"value": "Accessible name for the `role=\"list\"` step strip. Attribute-reflects from a host-level\n`aria-label` so a plain-markup consumer gets ARIA-name forwarding without setting a JS\nproperty. Unset, the list renders without an `aria-label` (the role carries no localized\ndefault name).\n\nType: `string | null` \nDefault: `null`"
|
|
13281
13926
|
}
|
|
13282
13927
|
},
|
|
13283
13928
|
{
|
|
@@ -13291,28 +13936,28 @@
|
|
|
13291
13936
|
"name": "narrow-orientation",
|
|
13292
13937
|
"description": {
|
|
13293
13938
|
"kind": "markdown",
|
|
13294
|
-
"value": "Layout/navigation axis used below `orientationBreakpoint`.\n\nType: `StepperOrientation` \nDefault:
|
|
13939
|
+
"value": "Layout/navigation axis used below `orientationBreakpoint`.\n\nType: `StepperOrientation` \nDefault: `\"vertical\"`"
|
|
13295
13940
|
}
|
|
13296
13941
|
},
|
|
13297
13942
|
{
|
|
13298
13943
|
"name": "orientation",
|
|
13299
13944
|
"description": {
|
|
13300
13945
|
"kind": "markdown",
|
|
13301
|
-
"value": "`'horizontal'` (the default) lays steps out in a row (Left/Right, RTL-aware, to navigate);\n`'vertical'` stacks them (Up/Down navigate instead, no RTL swap needed). The *authored* axis\nused at/above `orientationBreakpoint` (or always, when that's unset) -- see\n`effectiveOrientation` for the live axis actually in effect.\n\nType: `StepperOrientation` \nDefault:
|
|
13946
|
+
"value": "`'horizontal'` (the default) lays steps out in a row (Left/Right, RTL-aware, to navigate);\n`'vertical'` stacks them (Up/Down navigate instead, no RTL swap needed). The *authored* axis\nused at/above `orientationBreakpoint` (or always, when that's unset) -- see\n`effectiveOrientation` for the live axis actually in effect.\n\nType: `StepperOrientation` \nDefault: `\"horizontal\"`"
|
|
13302
13947
|
}
|
|
13303
13948
|
},
|
|
13304
13949
|
{
|
|
13305
13950
|
"name": "orientation-breakpoint",
|
|
13306
13951
|
"description": {
|
|
13307
13952
|
"kind": "markdown",
|
|
13308
|
-
"value": "Opt-in inline-size breakpoint, measured on `[part=\"base\"]`. Below it, `narrowOrientation`\nbecomes effective instead of `orientation`. Unset (the default): no behavior change, the\nauthored `orientation` always applies.\n\nAccepts a bare pixel number (`500`, `'500'`), an explicit `px` length (`'500px'`), a `rem`\nlength (`'31.25rem'`) or an `em` length (`'3em'`). Under the default\n`orientationBreakpointBasis=\"container\"`, `rem` resolves against the **document root**'s\ncomputed font size -- the rule a `@container` query follows, and *not* a `@media` query's --\nwhile `em` resolves against this element's own computed font size. The length is re-resolved\non every measurement, never cached, so browser zoom, a user font-size preference or an app\nbase-size token change are picked up with no invalidation step. To stay in step with a\nsibling `@media (max-width: …rem)` rule, use `orientationBreakpointBasis=\"viewport\"`, which\nhands the length to the browser instead; see that property for why the two differ.\n\nAny other value -- `%`, `vw`, `calc()`, `'auto'`, an unparseable string -- behaves exactly as\nunset (no responsive observation at all), rather than as an armed breakpoint that can never\nbe crossed. Set `orientationBreakpointBasis=\"viewport\"` for a viewport-relative breakpoint\ninstead.\n\nType:
|
|
13953
|
+
"value": "Opt-in inline-size breakpoint, measured on `[part=\"base\"]`. Below it, `narrowOrientation`\nbecomes effective instead of `orientation`. Unset (the default): no behavior change, the\nauthored `orientation` always applies.\n\nAccepts a bare pixel number (`500`, `'500'`), an explicit `px` length (`'500px'`), a `rem`\nlength (`'31.25rem'`) or an `em` length (`'3em'`). Under the default\n`orientationBreakpointBasis=\"container\"`, `rem` resolves against the **document root**'s\ncomputed font size -- the rule a `@container` query follows, and *not* a `@media` query's --\nwhile `em` resolves against this element's own computed font size. The length is re-resolved\non every measurement, never cached, so browser zoom, a user font-size preference or an app\nbase-size token change are picked up with no invalidation step. To stay in step with a\nsibling `@media (max-width: …rem)` rule, use `orientationBreakpointBasis=\"viewport\"`, which\nhands the length to the browser instead; see that property for why the two differ.\n\nAny other value -- `%`, `vw`, `calc()`, `'auto'`, an unparseable string -- behaves exactly as\nunset (no responsive observation at all), rather than as an armed breakpoint that can never\nbe crossed. Set `orientationBreakpointBasis=\"viewport\"` for a viewport-relative breakpoint\ninstead.\n\nType: `| number\n | string | undefined`"
|
|
13309
13954
|
}
|
|
13310
13955
|
},
|
|
13311
13956
|
{
|
|
13312
13957
|
"name": "orientation-breakpoint-basis",
|
|
13313
13958
|
"description": {
|
|
13314
13959
|
"kind": "markdown",
|
|
13315
|
-
"value": "Which box `orientationBreakpoint` measures. `'container'` (the default) observes this\nstepper's own `[part=\"base\"]` inline size via `ResizeObserver`, comparing strictly `<`.\n`'viewport'` instead evaluates `matchMedia('(max-width: <breakpoint>)')`, which is inclusive\n(`<=`) -- native `max-width` semantics, deliberately, so the crossing point matches a CSS\n`@media` rule authored with the same length exactly.\n\nA stepper given a fixed width in a row layout cannot react to that row stacking by measuring\nitself -- its own width never changes. That case requires `'viewport'`, which also lets the\nbrowser resolve a `rem` breakpoint with real `@media` semantics.\n\nType: `OrientationBreakpointBasis` \nDefault:
|
|
13960
|
+
"value": "Which box `orientationBreakpoint` measures. `'container'` (the default) observes this\nstepper's own `[part=\"base\"]` inline size via `ResizeObserver`, comparing strictly `<`.\n`'viewport'` instead evaluates `matchMedia('(max-width: <breakpoint>)')`, which is inclusive\n(`<=`) -- native `max-width` semantics, deliberately, so the crossing point matches a CSS\n`@media` rule authored with the same length exactly.\n\nA stepper given a fixed width in a row layout cannot react to that row stacking by measuring\nitself -- its own width never changes. That case requires `'viewport'`, which also lets the\nbrowser resolve a `rem` breakpoint with real `@media` semantics.\n\nType: `OrientationBreakpointBasis` \nDefault: `\"container\"`"
|
|
13316
13961
|
}
|
|
13317
13962
|
}
|
|
13318
13963
|
]
|
|
@@ -13391,6 +14036,36 @@
|
|
|
13391
14036
|
}
|
|
13392
14037
|
]
|
|
13393
14038
|
},
|
|
14039
|
+
{
|
|
14040
|
+
"name": "lr-subagent-panel",
|
|
14041
|
+
"description": {
|
|
14042
|
+
"kind": "markdown",
|
|
14043
|
+
"value": "`<lr-subagent-panel>` — a controlled hierarchy of nested agent runs with lifecycle status,\ntask/model context, progress, selection, cancellation, and retry intents.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `actions` | Run actions. |\n| `base` | The named subagent region. |\n| `cancel` | Cancellation action. |\n| `empty` | The empty state. |\n| `label` | Run label. |\n| `limit` | Resource-ceiling status shown when additional runs are omitted. |\n| `list` | Hierarchical run list. |\n| `model` | Caller-supplied model id. |\n| `progress` | Progress indicator. |\n| `retry` | Retry action. |\n| `run` | One run. |\n| `run-row` | Run content and actions. |\n| `run-selected` | The selected run. |\n| `run-trigger` | Run selection action. |\n| `status` | Lifecycle status badge. |\n| `task` | Caller-supplied task text. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-subagent-panel-selected-border` (default: `var(--lr-color-brand)`) — Selected run border.\n- `--lr-subagent-panel-progress-track` (default: `var(--lr-color-border)`) — Progress track.\n- `--lr-subagent-panel-progress-fill` (default: `var(--lr-color-brand)`) — Progress fill."
|
|
14044
|
+
},
|
|
14045
|
+
"attributes": [
|
|
14046
|
+
{
|
|
14047
|
+
"name": "label",
|
|
14048
|
+
"description": {
|
|
14049
|
+
"kind": "markdown",
|
|
14050
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
14051
|
+
}
|
|
14052
|
+
},
|
|
14053
|
+
{
|
|
14054
|
+
"name": "locale",
|
|
14055
|
+
"description": {
|
|
14056
|
+
"kind": "markdown",
|
|
14057
|
+
"value": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.\n\nType: `string` \nDefault: `''`"
|
|
14058
|
+
}
|
|
14059
|
+
},
|
|
14060
|
+
{
|
|
14061
|
+
"name": "selected-run-id",
|
|
14062
|
+
"description": {
|
|
14063
|
+
"kind": "markdown",
|
|
14064
|
+
"value": "Type: `string` \nDefault: `''`"
|
|
14065
|
+
}
|
|
14066
|
+
}
|
|
14067
|
+
]
|
|
14068
|
+
},
|
|
13394
14069
|
{
|
|
13395
14070
|
"name": "lr-suggestion-chips",
|
|
13396
14071
|
"description": {
|
|
@@ -13425,7 +14100,7 @@
|
|
|
13425
14100
|
"name": "lr-svg-viewer",
|
|
13426
14101
|
"description": {
|
|
13427
14102
|
"kind": "markdown",
|
|
13428
|
-
"value": "Fetches and safely renders an inline SVG document.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root container. |\n| `body` | The wrapper around the fetched-state content. |\n| `error` | The error region. |\n| `frame-content` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable`. |\n| `frame-controls` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable`. |\n| `frame-reset` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable`. |\n| `frame-viewport` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable`. |\n| `frame-zoom-in` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable`. |\n| `frame-zoom-out` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable`. |\n| `highlight-layer` | The wrapper around every rendered region highlight. |\n| `region-highlight` | One region highlight (`data-tone`, `data-active`). |\n| `spinner` | The loading region. |\n| `svg` | The sanitized SVG document, once loaded. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-svg-viewer-max-height` (default: `none`) — Maximum block size of the scrollable body before it scrolls internally. Also settable via the `max-height` property.\n- `--lr-svg-viewer-active-border` (default: `var(--lr-color-warning, var(--lr-color-brand))`) — Border color of the `[part=\"region-highlight\"]` matching `activeHighlightId`. Distinct from the resting highlight border, so the active region can be recolored without touching the rest."
|
|
14103
|
+
"value": "Fetches and safely renders an inline SVG document.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root container. |\n| `body` | The wrapper around the fetched-state content. |\n| `error` | The error region. |\n| `frame-content` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable`. |\n| `frame-controls` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable`. |\n| `frame-reset` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable`. |\n| `frame-viewport` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable`. |\n| `frame-zoom-in` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable`. |\n| `frame-zoom-out` | Forwarded from the internal `<lr-zoomable-frame>` when `zoomable`. |\n| `highlight-actions` | Non-overlapping actions used for multiple region highlights. |\n| `highlight-layer` | The wrapper around every rendered region highlight. |\n| `region-highlight` | One region highlight (`data-tone`, `data-active`). |\n| `region-highlight-action` | One non-overlapping highlight action. |\n| `region-highlight-target` | Transparent activation geometry around a region highlight, with a minimum pointer/focus area independent of the visual rectangle. |\n| `spinner` | The loading region. |\n| `svg` | The sanitized SVG document, once loaded. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-svg-viewer-max-height` (default: `none`) — Maximum block size of the scrollable body before it scrolls internally. Also settable via the `max-height` property.\n- `--lr-svg-viewer-active-border` (default: `var(--lr-color-warning, var(--lr-color-brand))`) — Border color of the `[part=\"region-highlight\"]` matching `activeHighlightId`. Distinct from the resting highlight border, so the active region can be recolored without touching the rest.\n- `--lr-svg-viewer-highlight-accent-color` (default: `var(--lr-color-brand)`) — Accent highlight border and hover tint.\n- `--lr-svg-viewer-highlight-success-color` (default: `var(--lr-color-success)`) — Success highlight border and hover tint.\n- `--lr-svg-viewer-highlight-warning-color` (default: `var(--lr-color-warning)`) — Warning highlight border and hover tint.\n- `--lr-svg-viewer-highlight-danger-color` (default: `var(--lr-color-danger)`) — Danger highlight border and hover tint.\n- `--lr-svg-viewer-highlight-neutral-color` (default: `var(--lr-color-neutral)`) — Neutral highlight border and hover tint."
|
|
13429
14104
|
},
|
|
13430
14105
|
"attributes": [
|
|
13431
14106
|
{
|
|
@@ -13476,7 +14151,7 @@
|
|
|
13476
14151
|
"name": "lr-swatch-picker",
|
|
13477
14152
|
"description": {
|
|
13478
14153
|
"kind": "markdown",
|
|
13479
|
-
"value": "`<lr-swatch-picker>` -- a single-select picker over a small, fixed set of color swatches with\nthe WAI-ARIA APG `radiogroup` contract built in: `role=\"radiogroup\"`/`role=\"radio\"`, roving\ntabindex, automatic activation (click or arrow-key move both select immediately, like a native\nradio group), cyclic Arrow/Home/End navigation. Distinct from `<lr-color-picker>`'s freeform\nnative color input -- this picks exactly one of N designer-chosen named colors, the shape apps\notherwise hand-roll as a row of round accent-color buttons.\n\n`mode=\"gemstone\"` uses the shared faceted gemstone glyph for options carrying a `gemstone`\nkey and opts into the gemstone glow/shine defaults. The `options` array still controls display\norder and `value` still controls the initial selection.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The `role=\"radiogroup\"` root. |\n| `swatch` | A single `role=\"radio\"` color swatch's interactive hit target; sized via `--lr-swatch-picker-hit-size` (defaults to `--lr-size-2-5rem`, swapped per `size` tier and floored at 24px), independent of the smaller visible fill/icon rendered inside it. The selected one is `[part='swatch'][aria-checked='true']`. |\n| `swatch-fill` | The compact filled circle rendered when the option has no custom `icon`. |\n| `swatch-icon` | Optional custom shape supplied by the option's `icon` field; when present it replaces `swatch-fill` and the swatch renders unfilled/unbordered behind it. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-swatch-picker-selected-color` (default: `var(--lr-color-brand)`) — Ring color drawn around the selected swatch, themeable independently of the focus ring and every other ring color.\n- `--lr-swatch-picker-selected-blur` (default: `0`) — Blur radius of that same ring. 0 by default (a crisp ring); set a real length (e.g. 0.4rem) for a soft glow instead.\n- `--lr-swatch-picker-shine-duration` (default: `0s`) — Duration of a rhythmic brighten-and-settle \"shine\" on the selected swatch. `0s` (the default) is a no-op -- today's static look for every existing consumer. Set a real duration (e.g. 1.6s) for a pulsing shine; disabled outright under `prefers-reduced-motion: reduce`. Independent of `--lr-swatch-picker-selected-blur` (a separate `filter: brightness()` animation, not `box-shadow`), so the two compose freely, and works identically for a plain color circle and an icon swatch alike.\n- `--lr-swatch-picker-gemstone-selected-blur` (default: `var(--lr-size-0-5rem)`) — Selected glow blur used by `mode=\"gemstone\"` when `--lr-swatch-picker-selected-blur` is not overridden.\n- `--lr-swatch-picker-gemstone-shine-duration` (default: `
|
|
14154
|
+
"value": "`<lr-swatch-picker>` -- a single-select picker over a small, fixed set of color swatches with\nthe WAI-ARIA APG `radiogroup` contract built in: `role=\"radiogroup\"`/`role=\"radio\"`, roving\ntabindex, automatic activation (click or arrow-key move both select immediately, like a native\nradio group), cyclic Arrow/Home/End navigation. Distinct from `<lr-color-picker>`'s freeform\nnative color input -- this picks exactly one of N designer-chosen named colors, the shape apps\notherwise hand-roll as a row of round accent-color buttons.\n\n`mode=\"gemstone\"` uses the shared faceted gemstone glyph for options carrying a `gemstone`\nkey and opts into the gemstone glow/shine defaults. The `options` array still controls display\norder and `value` still controls the initial selection.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The `role=\"radiogroup\"` root. |\n| `swatch` | A single `role=\"radio\"` color swatch's interactive hit target; sized via `--lr-swatch-picker-hit-size` (defaults to `--lr-size-2-5rem`, swapped per `size` tier and floored at 24px), independent of the smaller visible fill/icon rendered inside it. The selected one is `[part='swatch'][aria-checked='true']`. |\n| `swatch-fill` | The compact filled circle rendered when the option has no custom `icon`. |\n| `swatch-icon` | Optional custom shape supplied by the option's `icon` field; when present it replaces `swatch-fill` and the swatch renders unfilled/unbordered behind it. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-swatch-picker-selected-color` (default: `var(--lr-color-brand)`) — Ring color drawn around the selected swatch, themeable independently of the focus ring and every other ring color.\n- `--lr-swatch-picker-selected-blur` (default: `0`) — Blur radius of that same ring. 0 by default (a crisp ring); set a real length (e.g. 0.4rem) for a soft glow instead.\n- `--lr-swatch-picker-shine-duration` (default: `0s`) — Duration of a rhythmic brighten-and-settle \"shine\" on the selected swatch. `0s` (the default) is a no-op -- today's static look for every existing consumer. Set a real duration (e.g. 1.6s) for a pulsing shine; disabled outright under `prefers-reduced-motion: reduce`. Independent of `--lr-swatch-picker-selected-blur` (a separate `filter: brightness()` animation, not `box-shadow`), so the two compose freely, and works identically for a plain color circle and an icon swatch alike.\n- `--lr-swatch-picker-gemstone-selected-blur` (default: `var(--lr-size-0-5rem)`) — Selected glow blur used by `mode=\"gemstone\"` when `--lr-swatch-picker-selected-blur` is not overridden.\n- `--lr-swatch-picker-gemstone-shine-duration` (default: `var(--lr-transition-ambient)`) — Selected shine timing used by `mode=\"gemstone\"` when `--lr-swatch-picker-shine-duration` is not overridden.\n- `--lr-swatch-picker-hit-size` (default: `var(--lr-size-2-5rem)`) — Hit-area size (both min-inline-size and min-block-size) for the swatch button, swapped per tier and floored at 24px.\n- `--lr-swatch-picker-fill-size` (default: `var(--lr-size-1-5rem)`) — Visible fill/icon diameter for the swatch, swapped per tier.\n- `--lr-swatch-picker-gap` (default: `var(--lr-space-xs)`) — Gap between swatches."
|
|
13480
14155
|
},
|
|
13481
14156
|
"attributes": [
|
|
13482
14157
|
{
|
|
@@ -13585,7 +14260,7 @@
|
|
|
13585
14260
|
"name": "lr-table",
|
|
13586
14261
|
"description": {
|
|
13587
14262
|
"kind": "markdown",
|
|
13588
|
-
"value": "`<lr-table>` — a presentational, sort/select-aware data table.\n\nHeader/row activation is delegated: one `click` and one `keydown`\nlistener on `<table>` resolve the target via `closest('[data-col-key]'\n| '[data-row-key]')` and a key→object lookup map, instead of allocating\nfresh per-column/per-row closures on every render. Both listeners guard\nagainst nested interactive `cell()` content first (see\n`INTERACTIVE_SELECTOR`) so a button/link/input inside a cell owns its own\nactivation instead of triggering `lr-row-click`.\n\nKeyboard focus follows a roving-tabindex pattern (one `tabindex=\"0\"` stop\namong the header cells, one among the body rows — see `focusedColKey()` /\n`focusedRowKey()`), matching this repo's other `role=\"grid\"`/composite\nwidgets. Left/Right/Home/End move within the header row; Up/Down/Home/End\nmove within the body; Down from the header enters the body's roving stop,\nand Up from the body's first row returns to the header's roving stop.\nEnter/Space still only sort/activate (see `activateColumn()` /\n`activateRow()`).\n\nSet `aria-label` on the host to give the `role=\"grid\"` element an\naccessible name; it's forwarded into the shadow DOM's `<table>`.\n\n`columns[].priority` ('medium' | 'low') hides that column under\n`[part='base']`'s `@container` breakpoints; `[part='reveal-columns-button']`\nforces them all back into view. Rather than a *static* check of whether any\ncolumn merely declares a `priority`, the button (and the public\n`columnsHidden` property, see below) reflects whether a `priority` column\nis *actually* hidden right now — measured via `ResizeObserver` on\n`[part='base']` plus a post-render DOM check — or the public `showAllColumns`\nforce-visible mode is currently active (so there's still a way to toggle\nit back off). `showAllColumns` defaults to `false` and toggles itself on\n`[part='reveal-columns-button']` activation with no external wiring\nrequired, but is also settable up front (property or the reflected\n`show-all-columns` attribute) to restore a previously-persisted\npreference, and readable back — directly or via the `lr-columns-revealed`\nevent — to persist the current one. `columns[].sticky` pins a column's\nheader/cells to the inline-start (default/`true`) or inline-end (`'end'`)\nedge while the table scrolls horizontally.\n\n`expandedContent` (a table-level `(row: T) => unknown`, not a per-column\nhook, since the resulting panel spans every column via `colspan`) makes\nevery row render a leading chevron-toggle cell before its data columns.\n`canExpand` optionally gates which rows actually get an interactive\ntoggle — a row that fails it still gets a blank leading cell for column\nalignment. Which rows are currently open is fully consumer-owned via\n`expandedKeys` (a `Set<string | number>` of row keys, per `rowKey`/\n`keyOf()`) — the table only reads it and emits `lr-row-expand-toggle`\non activation, mirroring `sortKey`/`selectedKey`'s existing\npresentational-only convention.\n\nSelection is opt-in through the `selectionMode` property. Use `single` or\n`multiple` to self-manage row selection; the default `none` remains\npresentational. `selectedKeys` contains the raw keys selected in multiple\nmode.\n\n`filterable` adds a compact search field above the grid. `filterText` is\ncontrolled and emits `lr-filter-change`; `filter` can provide a typed\npredicate, otherwise the row is matched against its JSON representation.\n`pageSize` enables controlled pagination through the existing\n`<lr-pagination>` primitive. Client mode slices `rows`; server mode\nrenders the supplied page unchanged while using `totalItems` for the\nnavigation summary. `loading` keeps the table shell busy; `loadingAppearance`\nchooses how — the default `'spinner'` replaces the grid with an indeterminate\nspinner, while `'skeleton'` keeps the real `<colgroup>`/`<thead>` (and the\nfilter/pagination chrome) and fills the body with `skeletonRows` placeholder\nrows, so column geometry survives the load instead of collapsing and\nreflowing. Either way exactly one `role=\"status\"` live region announces the\nstate — every placeholder opts out of `<lr-skeleton>`'s own announcement.\nColumns with `editable: true` open a native text/number editor on\ndouble-click and emit `lr-cell-edit`; row mutation remains consumer-owned.\n`editable: 'always'` instead renders that editor in every body cell of the\ncolumn from first paint — a settings/rate-style column meant to be typed\nstraight into. Persistent editors are plain tab stops (no `tabindex` of their\nown, exactly like the row-expand toggle) outside the header/row roving model,\nso arrow keys still navigate the grid from a row's own tab stop and act as\ncaret movement once focus is inside a field. Enter commits and keeps focus;\nEscape has nothing to cancel back to, so it is left uncancelled for an\nancestor dialog/popover. Their value binds as a content attribute, so once\nthe user has typed into one an out-of-band `rows` update to that same cell no\nlonger replaces the draft; an untouched editor still picks up a new value.\nFocus is restored across a re-sort that moves the editor's node, and dropped\n(never re-aimed at an unrelated row) when its row leaves the rendered page.\n`spellcheck`/`autocapitalize`/`autoCorrect` forward to the filter input and, for a `'text'`\n(the default) `editType`, the inline cell editor -- no effect on a `'number'` cell editor.\n`groupBy` inserts non-focusable group header rows before each group; use\n`groupLabel` when the raw group key needs custom content.\n\n`columns[].heatValue` opts a column into heat-tint mode: its numeric return value is normalized\nagainst a shared scale spanning every `heatValue`-defining column across every currently-rendered\nrow (auto-derived, or overridden via `heatTintScale`) and painted as a `color-mix()` background via\nthe retheme-able `--lr-table-heat-tint-lo`/`-hi` custom properties (matching `lr-heatmap`'s own\nramp-token convention). `rowTotal`/`grandTotal` add a trailing column mirroring `expandedContent`'s\nleading one: `rowTotal(row)` renders per-row, `grandTotal(rows)` renders at its intersection with\nthe footer row (only when a column also defines `footer`) — both share `footer`'s own\n\"consumer computes/renders\" contract rather than assuming addition.\n\nThe built-in empty state is addressable rather than fixed: every `<lr-empty>` the table renders\ncarries `part=\"empty\"` and re-exports its own inner parts as `empty-heading`/`empty-description`/\n`empty-icon`/`empty-actions`/`empty-base`, the two *data*-empty branches (no rows at all, and\nfiltered/paginated down to zero) render it as the fallback content of a named `empty` slot so a\nconsumer can replace it wholesale, and `emptyCompact` overrides each branch's built-in `compact`\ndefault. The no-columns branch is deliberately **not** slot-replaceable — it reports a\nconfiguration problem (`noColumnsHeading`), not \"this query returned nothing\", and a single slot\ncovering all three would collapse that distinction.\n\n`layout` sets a floor on the `<table>`'s `table-layout`: `'fixed'` forces it even with no column\nwidths, while the default `'auto'` still resolves to `fixed` whenever a column declares a `width`\nor a drag-resize is in flight (column resizing does not work under `table-layout: auto`).\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `empty` | Replaces the built-in empty state on the two *data*-empty branches (no rows at all, and filtered/paginated down to zero). Left unfilled, the built-in `[part='empty']` `<lr-empty>` renders as this slot's fallback content. The no-columns branch renders its own `noColumnsHeading` state and is not slot-replaceable. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper around the `<table>` and its footer controls. |\n| `caption` | The `<caption>` element, rendered only when `caption` is set. |\n| `cell` | Each body `<td>`. |\n| `cell-editor` | The native inline cell editor: shown after a double-click on an `editable: true` cell, and rendered persistently in every body cell of an `editable: 'always'` column. |\n| `empty` | The built-in `<lr-empty>` host, in all three empty states (no columns configured, no rows at all, and filtered/paginated down to zero rows). The two data-empty states render it as the `empty` slot's fallback, so it disappears once that slot is filled. Note that the no-columns and no-rows states return the empty element as the shadow root's own root, with no `[part='base']` wrapper around it — `::part(base)` does not apply in those two states, only in the filtered-to-zero one. |\n| `empty-actions` | Exported from the built-in `<lr-empty>`'s `actions` part. |\n| `empty-base` | Exported from the built-in `<lr-empty>`'s own `base` part. |\n| `empty-description` | Exported from the built-in `<lr-empty>`'s `description` part. |\n| `empty-heading` | Exported from the built-in `<lr-empty>`'s `heading` part. |\n| `empty-icon` | Exported from the built-in `<lr-empty>`'s `icon` part. |\n| `expand-toggle-cell` | Each row's (and the header's) leading chevron-toggle cell, rendered only when `expandedContent` is set. |\n| `expanded-cell` | The single `colspan`-spanning `<td>` inside `expanded-row`, containing `expandedContent(row)`. |\n| `expanded-row` | The full-width panel `<tr>` rendered beneath a row whose key is in `expandedKeys`. |\n| `filter` | The optional row-filter input. |\n| `filter-label` | The `<label>` wrapping the filter input. |\n| `foot` | The `<tfoot>`, only rendered when at least one column defines `footer`. |\n| `footer-cell` | A single footer cell. |\n| `footer-row` | The single footer row. |\n| `group-cell` | The full-width group header cell. |\n| `group-row` | A non-focusable group header row. |\n| `head` | The `<thead>` element. |\n| `header-cell` | Each `<th>` header cell. |\n| `loading` | The loading-state wrapper. Under `loadingAppearance=\"spinner\"` (the default) it is the visible block holding the spinner; under `\"skeleton\"` it is the visually-hidden `role=\"status\"` node, since the placeholder rows are the visible affordance. |\n| `more-button` | The \"load more\" control, shown when `hasMore` is true. |\n| `pagination` | The optional pagination component. |\n| `resize-handle` | The focusable separator used to resize a `resizable` column. |\n| `reveal-columns-button` | The button that toggles `priority`-hidden columns back into view. |\n| `row` | Each body `<tr>`. |\n| `row-expand-icon` | The chevron icon inside `row-expand-toggle`. |\n| `row-expand-toggle` | The `<button>` inside `expand-toggle-cell`, absent for a row that fails `canExpand`. |\n| `row-total-cell` | Each body row's trailing `<td>` holding `rowTotal(row)`, rendered only when `rowTotal` is set. The corresponding footer-row cell (holding `grandTotal`) is a `footer-cell` instead, matching every other footer cell. |\n| `skeleton` | Each `<lr-skeleton>` placeholder inside a `loadingAppearance=\"skeleton\"` body cell. Its rows and cells reuse the ordinary `row`/`cell`/`row-total-cell` parts (that is what keeps them geometrically identical to real rows), so this is the part to target for the placeholder's own look — e.g. `::part(skeleton) { --lr-skeleton-h: 2em; }`. |\n| `sort-icon` | The chevron shown in the active sortable column's header cell. |\n| `table` | The `<table role=\"grid\">` element. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-table-resize-min-width` (default: `var(--lr-size-3rem)`) — Default minimum width for a resizable column without an explicit pixel `minWidth`.\n- `--lr-table-resize-handle-opacity` (default: `0.12`) — Hover/focus opacity of the resize handle.\n- `--lr-table-max-height` (default: `none`) — Cap on the scroll container's block size, past which the table body scrolls.\n- `--lr-table-heat-tint-lo` (default: `var(--lr-color-brand-quiet)`) — Low endpoint of the heat-tint ramp used by `heatValue` columns.\n- `--lr-table-heat-tint-hi` (default: `var(--lr-color-brand)`) — High endpoint of the heat-tint ramp used by `heatValue` columns.\n- `--lr-table-heat-t` — This cell's position on the heat-tint ramp, as a percentage string. Set inline by the component on each `[data-heat]` cell; not consumer-settable.\n- `--lr-table-row-selected-bg` (default: `var(--lr-color-brand-quiet)`) — Background of a row whose `aria-selected` is `true`. Shadow Parts forbids an attribute selector after `::part()`, so `::part(row)[aria-selected]` is invalid CSS and the selected row could otherwise only be restyled by hijacking the library-wide `--lr-color-brand-quiet` token.\n- `--lr-table-header-sorted-bg` (default: `transparent`) — Background of the currently-sorted column's header cell (`[aria-sort]` other than `none`). Same rationale as `--lr-table-row-selected-bg`: `::part(header-cell)[aria-sort]` is invalid CSS, so this token is the supported way to recolor the sorted header without hijacking a library-wide token.\n- `--lr-table-header-sorted-color` (default: `inherit`) — Text color of the currently-sorted column's header cell.\n- `--lr-table-sticky-offset` (default: `0`) — Distance a `sticky` column pins from the inline edge. Measured and set inline per column by the component so multiple sticky columns stack instead of overlapping; falls back to `0` for the first one, or before the first measurement pass."
|
|
14263
|
+
"value": "`<lr-table>` — a sort/select-aware data table.\n\nSorting is the one area the table owns outright: under the default\n`sortMode: 'client'` a sortable-header activation writes `sortKey`/`sortDir`\nitself and reorders the rendered rows (see `sortMode`, `defaultSortDir` and\n`columns[].sortValue`). Everything else here stays presentational —\nselection state beyond `selectionMode` and expansion state are read, never\nwritten. Set `sortMode=\"server\"` to keep `lr-sort` a pure notification and\ndrive `sortKey`/`sortDir` plus the row order entirely from your own state.\n\nHeader/row activation is delegated: one `click` and one `keydown`\nlistener on `<table>` resolve the target via `closest('[data-col-key]'\n| '[data-row-key]')` and a key→object lookup map, instead of allocating\nfresh per-column/per-row closures on every render. Both listeners guard\nagainst nested interactive `cell()` content first (see\n`INTERACTIVE_SELECTOR`) so a button/link/input inside a cell owns its own\nactivation instead of triggering `lr-row-click`.\n\nKeyboard focus follows a roving-tabindex pattern (one `tabindex=\"0\"` stop\namong the header cells, one among the body rows — see `focusedColKey()` /\n`focusedRowKey()`), matching this repo's other `role=\"grid\"`/composite\nwidgets. Left/Right/Home/End move within the header row; Up/Down/Home/End\nmove within the body; Down from the header enters the body's roving stop,\nand Up from the body's first row returns to the header's roving stop.\nEnter/Space still only sort/activate (see `activateColumn()` /\n`activateRow()`).\n\nSet `aria-label` on the host to give the `role=\"grid\"` element an\naccessible name; it's forwarded into the shadow DOM's `<table>`.\n\n`columns[].priority` ('medium' | 'low') hides that column under\n`[part='base']`'s `@container` breakpoints; `[part='reveal-columns-button']`\nforces them all back into view. Rather than a *static* check of whether any\ncolumn merely declares a `priority`, the button (and the public\n`columnsHidden` property, see below) reflects whether a `priority` column\nis *actually* hidden right now — measured via `ResizeObserver` on\n`[part='base']` plus a post-render DOM check — or the public `showAllColumns`\nforce-visible mode is currently active (so there's still a way to toggle\nit back off). `showAllColumns` defaults to `false` and toggles itself on\n`[part='reveal-columns-button']` activation with no external wiring\nrequired, but is also settable up front (property or the reflected\n`show-all-columns` attribute) to restore a previously-persisted\npreference, and readable back — directly or via the `lr-columns-revealed`\nevent — to persist the current one. `columns[].sticky` pins a column's\nheader/cells to the inline-start (default/`true`) or inline-end (`'end'`)\nedge while the table scrolls horizontally.\n\n`expandedContent` (a table-level `(row: T) => unknown`, not a per-column\nhook, since the resulting panel spans every column via `colspan`) makes\nevery row render a leading chevron-toggle cell before its data columns.\n`canExpand` optionally gates which rows actually get an interactive\ntoggle — a row that fails it still gets a blank leading cell for column\nalignment. Which rows are currently open is fully consumer-owned via\n`expandedKeys` (a `Set<string | number>` of row keys, per `rowKey`/\n`keyOf()`) — the table only reads it and emits `lr-row-expand-toggle`\non activation, mirroring `selectedKey`'s existing presentational-only\nconvention. (`sortKey`/`sortDir` are *not* a parallel case any more: under\nthe default `sortMode: 'client'` the table writes them on header\nactivation.)\n\nSelection is opt-in through the `selectionMode` property. Use `single` or\n`multiple` to self-manage row selection; the default `none` remains\npresentational. `selectedKeys` contains the raw keys selected in multiple\nmode.\n\n`filterable` adds a compact search field above the grid. `filterText` is\ncontrolled and emits `lr-filter-change`; `filter` can provide a typed\npredicate, otherwise the row is matched against its JSON representation.\n`pageSize` enables controlled pagination through the existing\n`<lr-pagination>` primitive. Client mode slices `rows`; server mode\nrenders the supplied page unchanged while using `totalItems` for the\nnavigation summary. `loading` keeps the table shell busy; `loadingAppearance`\nchooses how — the default `'spinner'` replaces the grid with an indeterminate\nspinner, while `'skeleton'` keeps the real `<colgroup>`/`<thead>` (and the\nfilter/pagination chrome) and fills the body with `skeletonRows` placeholder\nrows, so column geometry survives the load instead of collapsing and\nreflowing. Either way exactly one `role=\"status\"` live region announces the\nstate — every placeholder opts out of `<lr-skeleton>`'s own announcement.\nColumns with `editable: true` open a native text/number editor on\ndouble-click and emit `lr-cell-edit`; row mutation remains consumer-owned.\n`editable: 'always'` instead renders that editor in every body cell of the\ncolumn from first paint — a settings/rate-style column meant to be typed\nstraight into. Persistent editors are plain tab stops (no `tabindex` of their\nown, exactly like the row-expand toggle) outside the header/row roving model,\nso arrow keys still navigate the grid from a row's own tab stop and act as\ncaret movement once focus is inside a field. Enter commits and keeps focus;\nEscape has nothing to cancel back to, so it is left uncancelled for an\nancestor dialog/popover. Their value binds as a content attribute, so once\nthe user has typed into one an out-of-band `rows` update to that same cell no\nlonger replaces the draft; an untouched editor still picks up a new value.\nFocus is restored across a re-sort that moves the editor's node, and dropped\n(never re-aimed at an unrelated row) when its row leaves the rendered page.\n`spellcheck`/`autocapitalize`/`autoCorrect` forward to the filter input and, for a `'text'`\n(the default) `editType`, the inline cell editor -- no effect on a `'number'` cell editor.\n`groupBy` inserts non-focusable group header rows before each group; use\n`groupLabel` when the raw group key needs custom content. A client-mode\nsort applies *within* each group, so grouping survives sorting on a column\nunrelated to the group key.\n\n`columns[].heatValue` opts a column into heat-tint mode: its numeric return value is normalized\nagainst a shared scale spanning every `heatValue`-defining column across every currently-rendered\nrow (auto-derived, or overridden via `heatTintScale`) and painted as a `color-mix()` background via\nthe retheme-able `--lr-table-heat-tint-lo`/`-hi` custom properties (matching `lr-heatmap`'s own\nramp-token convention). `rowTotal`/`grandTotal` add a trailing column mirroring `expandedContent`'s\nleading one: `rowTotal(row)` renders per-row, `grandTotal(rows)` renders at its intersection with\nthe footer row (only when a column also defines `footer`) — both share `footer`'s own\n\"consumer computes/renders\" contract rather than assuming addition.\n\nThe built-in empty state is addressable rather than fixed: every `<lr-empty>` the table renders\ncarries `part=\"empty\"` and re-exports its own inner parts as `empty-heading`/`empty-description`/\n`empty-icon`/`empty-actions`/`empty-base`, the two *data*-empty branches (no rows at all, and\nfiltered/paginated down to zero) render it as the fallback content of a named `empty` slot so a\nconsumer can replace it wholesale, and `emptyCompact` overrides each branch's built-in `compact`\ndefault. The no-columns branch is deliberately **not** slot-replaceable — it reports a\nconfiguration problem (`noColumnsHeading`), not \"this query returned nothing\", and a single slot\ncovering all three would collapse that distinction.\n\n`layout` sets a floor on the `<table>`'s `table-layout`: `'fixed'` forces it even with no column\nwidths, while the default `'auto'` still resolves to `fixed` whenever a column declares a `width`\nor a drag-resize is in flight (column resizing does not work under `table-layout: auto`).\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `empty` | Replaces the built-in empty state on the two *data*-empty branches (no rows at all, and filtered/paginated down to zero). Left unfilled, the built-in `[part='empty']` `<lr-empty>` renders as this slot's fallback content. The no-columns branch renders its own `noColumnsHeading` state and is not slot-replaceable. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper around the `<table>` and its footer controls. |\n| `caption` | The `<caption>` element, rendered only when `caption` is set. |\n| `cell` | Each body `<td>`. |\n| `cell-editor` | The native inline cell editor: shown after a double-click on an `editable: true` cell, and rendered persistently in every body cell of an `editable: 'always'` column. |\n| `empty` | The built-in `<lr-empty>` host, in all three empty states (no columns configured, no rows at all, and filtered/paginated down to zero rows). The two data-empty states render it as the `empty` slot's fallback, so it disappears once that slot is filled. Note that the no-columns and no-rows states return the empty element as the shadow root's own root, with no `[part='base']` wrapper around it — `::part(base)` does not apply in those two states, only in the filtered-to-zero one. |\n| `empty-actions` | Exported from the built-in `<lr-empty>`'s `actions` part. |\n| `empty-base` | Exported from the built-in `<lr-empty>`'s own `base` part. |\n| `empty-description` | Exported from the built-in `<lr-empty>`'s `description` part. |\n| `empty-heading` | Exported from the built-in `<lr-empty>`'s `heading` part. |\n| `empty-icon` | Exported from the built-in `<lr-empty>`'s `icon` part. |\n| `expand-toggle-cell` | Each row's (and the header's) leading chevron-toggle cell, rendered only when `expandedContent` is set. |\n| `expanded-cell` | The single `colspan`-spanning `<td>` inside `expanded-row`, containing `expandedContent(row)`. |\n| `expanded-row` | The full-width panel `<tr>` rendered beneath a row whose key is in `expandedKeys`. |\n| `filter` | The optional row-filter input. |\n| `filter-label` | The `<label>` wrapping the filter input. |\n| `foot` | The `<tfoot>`, only rendered when at least one column defines `footer`. |\n| `footer-cell` | A single footer cell. |\n| `footer-row` | The single footer row. |\n| `group-cell` | The full-width group header cell. |\n| `group-row` | A non-focusable group header row. |\n| `head` | The `<thead>` element. |\n| `header-cell` | Each `<th>` header cell. |\n| `loading` | The loading-state wrapper. Under `loadingAppearance=\"spinner\"` (the default) it is the visible block holding the spinner; under `\"skeleton\"` it is the visually-hidden `role=\"status\"` node, since the placeholder rows are the visible affordance. |\n| `more-button` | The \"load more\" control, shown when `hasMore` is true. |\n| `pagination` | The optional pagination component. |\n| `resize-handle` | The focusable separator used to resize a `resizable` column. |\n| `reveal-columns-button` | The button that toggles `priority`-hidden columns back into view. |\n| `row` | Each body `<tr>`. |\n| `row-expand-icon` | The chevron icon inside `row-expand-toggle`. |\n| `row-expand-toggle` | The `<button>` inside `expand-toggle-cell`, absent for a row that fails `canExpand`. |\n| `row-total-cell` | Each body row's trailing `<td>` holding `rowTotal(row)`, rendered only when `rowTotal` is set. The corresponding footer-row cell (holding `grandTotal`) is a `footer-cell` instead, matching every other footer cell. |\n| `skeleton` | Each `<lr-skeleton>` placeholder inside a `loadingAppearance=\"skeleton\"` body cell. Its rows and cells reuse the ordinary `row`/`cell`/`row-total-cell` parts (that is what keeps them geometrically identical to real rows), so this is the part to target for the placeholder's own look — e.g. `::part(skeleton) { --lr-skeleton-h: 2em; }`. |\n| `sort-icon` | The chevron shown in the active sortable column's header cell. |\n| `table` | The `<table role=\"grid\">` element. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-table-resize-min-width` (default: `var(--lr-size-3rem)`) — Default minimum width for a resizable column without an explicit pixel `minWidth`.\n- `--lr-table-resize-handle-opacity` (default: `0.12`) — Hover/focus opacity of the resize handle.\n- `--lr-table-max-height` (default: `none`) — Cap on the scroll container's block size, past which the table body scrolls.\n- `--lr-table-heat-tint-lo` (default: `var(--lr-color-brand-quiet)`) — Low endpoint of the heat-tint ramp used by `heatValue` columns.\n- `--lr-table-heat-tint-hi` (default: `var(--lr-color-brand)`) — High endpoint of the heat-tint ramp used by `heatValue` columns.\n- `--lr-table-heat-t` — This cell's position on the heat-tint ramp, as a percentage string. Set inline by the component on each `[data-heat]` cell; not consumer-settable.\n- `--lr-table-row-selected-bg` (default: `var(--lr-color-brand-quiet)`) — Background of a row whose `aria-selected` is `true`. Shadow Parts forbids an attribute selector after `::part()`, so `::part(row)[aria-selected]` is invalid CSS and the selected row could otherwise only be restyled by hijacking the library-wide `--lr-color-brand-quiet` token.\n- `--lr-table-row-stripe-bg` (default: `transparent`) — Background of alternating body rows. The token is read only on rows carrying the internal stripe marker, so it can be set on the table or an ancestor without affecting group, expanded, hover, or selected rows.\n- `--lr-table-header-sorted-bg` (default: `transparent`) — Background of the currently-sorted column's header cell (`[aria-sort]` other than `none`). Same rationale as `--lr-table-row-selected-bg`: `::part(header-cell)[aria-sort]` is invalid CSS, so this token is the supported way to recolor the sorted header without hijacking a library-wide token.\n- `--lr-table-header-sorted-color` (default: `inherit`) — Text color of the currently-sorted column's header cell.\n- `--lr-table-sticky-offset` (default: `0`) — Distance a `sticky` column pins from the inline edge. Measured and set inline per column by the component so multiple sticky columns stack instead of overlapping; falls back to `0` for the first one, or before the first measurement pass."
|
|
13589
14264
|
},
|
|
13590
14265
|
"attributes": [
|
|
13591
14266
|
{
|
|
@@ -13623,6 +14298,21 @@
|
|
|
13623
14298
|
"value": "Whether a `priority` column is *actually* hidden right now by\ntable.styles.ts's `@container` rules, or `showAllColumns` force-visible\nmode is currently active — the same computed value that gates whether\n`[part='reveal-columns-button']` renders at all (see `render()`), kept\nin sync by `recomputeColumnsHidden()`. Computed/read-only by\nconvention: consumers may read it (and listen for\n`lr-columns-hidden-change`), but setting it directly has no lasting\neffect, since it's recomputed on the very next render or\n`[part='base']` resize.\n\nType: `boolean` \nDefault: `false`"
|
|
13624
14299
|
}
|
|
13625
14300
|
},
|
|
14301
|
+
{
|
|
14302
|
+
"name": "default-sort-dir",
|
|
14303
|
+
"description": {
|
|
14304
|
+
"kind": "markdown",
|
|
14305
|
+
"value": "The direction applied whenever header activation switches sorting to a *different* column —\nincluding the first column ever sorted. Re-activating the column that is already `sortKey`\ntoggles between `'asc'` and `'desc'` instead, so this never overrides a direction the user\njust chose for the column they are still on. Defaults to `'asc'`; set `'desc'` for a\nmost-recent-first or highest-first table.\n\nType: `'asc' | 'desc'` \nDefault: `'asc'`"
|
|
14306
|
+
},
|
|
14307
|
+
"values": [
|
|
14308
|
+
{
|
|
14309
|
+
"name": "asc"
|
|
14310
|
+
},
|
|
14311
|
+
{
|
|
14312
|
+
"name": "desc"
|
|
14313
|
+
}
|
|
14314
|
+
]
|
|
14315
|
+
},
|
|
13626
14316
|
{
|
|
13627
14317
|
"name": "empty-compact",
|
|
13628
14318
|
"description": {
|
|
@@ -13829,6 +14519,13 @@
|
|
|
13829
14519
|
"value": "Type: `string` \nDefault: `''`"
|
|
13830
14520
|
}
|
|
13831
14521
|
},
|
|
14522
|
+
{
|
|
14523
|
+
"name": "sort-mode",
|
|
14524
|
+
"description": {
|
|
14525
|
+
"kind": "markdown",
|
|
14526
|
+
"value": "`'client'` (the default) orders `rows` itself, in the browser, from `sortKey`/`sortDir` and\nthe active column's `sortValue`. `'server'` renders `rows` in exactly the order given,\nassuming the caller has already sorted them — mirroring `paginationMode`'s identical\nclient/server split. `lr-sort` is emitted on header activation either way.\n\nWith no `sortKey` set (the default) `'client'` is a no-op: the input order is preserved\nverbatim, so an existing consumer that only listens for `lr-sort` sees unchanged rendering\nuntil a header is actually activated.\n\nType: `TableSortMode` \nDefault: `'client'`"
|
|
14527
|
+
}
|
|
14528
|
+
},
|
|
13832
14529
|
{
|
|
13833
14530
|
"name": "spellcheck",
|
|
13834
14531
|
"description": {
|
|
@@ -13916,7 +14613,7 @@
|
|
|
13916
14613
|
"name": "lr-task-list",
|
|
13917
14614
|
"description": {
|
|
13918
14615
|
"kind": "markdown",
|
|
13919
|
-
"value": "`<lr-task-list>` — a live, collapsible tracker for an agent's plan: ordered steps with\nper-step lifecycle status and one level of nested sub-steps, embedded in the transcript.\n`items` is controlled and never mutated by this component, mirroring `<lr-stepper>`'s `steps`\ncontract -- but unlike stepper's single-`current` navigation control, task-list is a read-only\nstatus report: several steps may be `running` at once, there is no selection, and status changes\nare announced through an internal `<lr-live-region>`.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `detail-<id>` | Dynamic, one per item id (e.g. `slot=\"detail-step-3\"`). Rich detail under that item's label, after its `detail` text -- typically a `<lr-tool-call-chip>` or file `<lr-chip>`. Plain-HTML friendly, no render props. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The outer container. |\n| `body` | The list of items, `hidden` while collapsed. |\n| `header` | The clickable header (a `<button>` when `collapsible`, a plain heading otherwise). |\n| `item` | One item row (`role=\"listitem\"`); carries `data-status`, `data-id`, `data-depth` (`\"0\"` for a top-level item, `\"1\"` for a child). |\n| `item-children` | The nested `role=\"list\"` wrapper around a top-level item's children. |\n| `item-detail` | The item's optional `detail` text. |\n| `item-label` | The item's `label` text. |\n| `label` | The `label` text. |\n| `status-icon` | The per-item status glyph. |\n| `summary` | The visible \"N of M completed\" summary, counting only top-level items. |\n| `toggle` | The chevron indicator inside the header. Only rendered when `collapsible`. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-task-list-spin` (default: `
|
|
14616
|
+
"value": "`<lr-task-list>` — a live, collapsible tracker for an agent's plan: ordered steps with\nper-step lifecycle status and one level of nested sub-steps, embedded in the transcript.\n`items` is controlled and never mutated by this component, mirroring `<lr-stepper>`'s `steps`\ncontract -- but unlike stepper's single-`current` navigation control, task-list is a read-only\nstatus report: several steps may be `running` at once, there is no selection, and status changes\nare announced through an internal `<lr-live-region>`.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `detail-<id>` | Dynamic, one per item id (e.g. `slot=\"detail-step-3\"`). Rich detail under that item's label, after its `detail` text -- typically a `<lr-tool-call-chip>` or file `<lr-chip>`. Plain-HTML friendly, no render props. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The outer container. |\n| `body` | The list of items, `hidden` while collapsed. |\n| `header` | The clickable header (a `<button>` when `collapsible`, a plain heading otherwise). |\n| `item` | One item row (`role=\"listitem\"`); carries `data-status`, `data-id`, `data-depth` (`\"0\"` for a top-level item, `\"1\"` for a child). |\n| `item-children` | The nested `role=\"list\"` wrapper around a top-level item's children. |\n| `item-detail` | The item's optional `detail` text. |\n| `item-label` | The item's `label` text. |\n| `label` | The `label` text. |\n| `status-icon` | The per-item status glyph. |\n| `summary` | The visible \"N of M completed\" summary, counting only top-level items. |\n| `toggle` | The chevron indicator inside the header. Only rendered when `collapsible`. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-task-list-spin` (default: `var(--lr-transition-ambient)`) — Running-status icon spin animation duration/timing.\n- `--lr-task-list-compact-header-padding` (default: `var(--lr-space-2xs) var(--lr-space-s)`) — `[part=\"header\"]` padding while `compact`.\n- `--lr-task-list-compact-gap` (default: `var(--lr-space-2xs)`) — Gap between `[part=\"body\"]`'s item rows while `compact`.\n- `--lr-task-list-compact-body-padding` (default: `var(--lr-space-2xs) var(--lr-space-s) var(--lr-space-s)`) — `[part=\"body\"]` padding while `compact`."
|
|
13920
14617
|
},
|
|
13921
14618
|
"attributes": [
|
|
13922
14619
|
{
|
|
@@ -13967,7 +14664,7 @@
|
|
|
13967
14664
|
"name": "lr-terminal",
|
|
13968
14665
|
"description": {
|
|
13969
14666
|
"kind": "markdown",
|
|
13970
|
-
"value": "`<lr-terminal>` — read-only ANSI console for streamed agent/tool output. Not a PTY: no\nstdin/keystroke handling, no cursor-addressed full-screen apps.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `announcer` | The visually-hidden `role=\"status\"` region used when `announce-output` is set. |\n| `base` | The outer container. |\n| `copy-button` | The copy-to-clipboard button. |\n| `download-button` | The download button. |\n| `jump-to-latest` | The pill shown while `follow` is disengaged and new output has arrived. |\n| `line` | One rendered line; carries `data-line-number`, `data-match`, `data-highlight-tone`. Rendered through `<lr-virtual-list>`'s `renderItem`, so it lives inside that element's own shadow root rather than this component's -- this component's own stylesheet reaches it via `lr-virtual-list::part(line)`, one hop of the standard CSS Shadow Parts selector. |\n| `toolbar` | The header row, only rendered when copy/download are enabled. |\n| `viewport` | The `role=\"log\"` scrollable region wrapping the virtualized line list. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-terminal-height` (default: `var(--lr-size-20rem)`) — Block size of `[part=\"viewport\"]`, the scrollable log region. Not declared on `:host`, so it is inherited — set it on the host or any ancestor.\n- `--lr-terminal-highlight-accent-bg` (default: `var(--lr-color-brand-quiet)`) — Background of an `accent`-tone highlighted line. Decoupled from the shared `--lr-color-brand-quiet` token also used by `[part=\"copy-button\"]`/`[part=\"download-button\"]`'s hover state, and from any `::part('line')` override (the background is applied inline, so a stylesheet rule can't beat it without `!important`).\n- `--lr-terminal-highlight-success-bg` (default: `var(--lr-color-success-quiet)`) — Background of a `success`-tone highlighted line.\n- `--lr-terminal-highlight-warning-bg` (default: `var(--lr-color-warning-quiet)`) — Background of a `warning`-tone highlighted line.\n- `--lr-terminal-highlight-danger-bg` (default: `var(--lr-color-danger-quiet)`) — Background of a `danger`-tone highlighted line.\n- `--lr-terminal-highlight-neutral-bg` (default: `var(--lr-color-surface)`) — Background of a `neutral`-tone highlighted line."
|
|
14667
|
+
"value": "`<lr-terminal>` — read-only ANSI console for streamed agent/tool output. Not a PTY: no\nstdin/keystroke handling, no cursor-addressed full-screen apps.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `announcer` | The visually-hidden `role=\"status\"` region used when `announce-output` is set. |\n| `base` | The outer container. |\n| `copy-button` | The copy-to-clipboard button. |\n| `download-button` | The download button. |\n| `jump-to-latest` | The pill shown while `follow` is disengaged and new output has arrived. |\n| `line` | One rendered line; carries `data-line-number`, `data-match`, `data-highlight-tone`. Rendered through `<lr-virtual-list>`'s `renderItem`, so it lives inside that element's own shadow root rather than this component's -- this component's own stylesheet reaches it via `lr-virtual-list::part(line)`, one hop of the standard CSS Shadow Parts selector. |\n| `toolbar` | The header row, only rendered when copy/download are enabled. |\n| `viewport` | The `role=\"log\"` scrollable region wrapping the virtualized line list. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-terminal-height` (default: `var(--lr-size-20rem)`) — Block size of `[part=\"viewport\"]`, the scrollable log region. Not declared on `:host`, so it is inherited — set it on the host or any ancestor.\n- `--lr-terminal-highlight-accent-bg` (default: `var(--lr-color-brand-quiet)`) — Background of an `accent`-tone highlighted line. Decoupled from the shared `--lr-color-brand-quiet` token also used by `[part=\"copy-button\"]`/`[part=\"download-button\"]`'s hover state, and from any `::part('line')` override (the background is applied inline, so a stylesheet rule can't beat it without `!important`).\n- `--lr-terminal-highlight-success-bg` (default: `var(--lr-color-success-quiet)`) — Background of a `success`-tone highlighted line.\n- `--lr-terminal-highlight-warning-bg` (default: `var(--lr-color-warning-quiet)`) — Background of a `warning`-tone highlighted line.\n- `--lr-terminal-highlight-danger-bg` (default: `var(--lr-color-danger-quiet)`) — Background of a `danger`-tone highlighted line.\n- `--lr-terminal-highlight-neutral-bg` (default: `var(--lr-color-surface)`) — Background of a `neutral`-tone highlighted line.\n- `--lr-terminal-search-outline-color` (default: `var(--lr-color-warning)`) — Outline color for a line containing a non-active search match.\n- `--lr-terminal-search-active-outline-color` (default: `var(--lr-color-brand)`) — Outline color for the active search match's line."
|
|
13971
14668
|
},
|
|
13972
14669
|
"attributes": [
|
|
13973
14670
|
{
|
|
@@ -14504,7 +15201,7 @@
|
|
|
14504
15201
|
"name": "lr-time-range",
|
|
14505
15202
|
"description": {
|
|
14506
15203
|
"kind": "markdown",
|
|
14507
|
-
"value": "`<lr-time-range>` — a two-handle brush/scrubber over a numeric domain.\nCallers map their own time axis to `[min, max]`; no date logic lives here\n(matches the no-date-library constraint used elsewhere in this library).\n\nOptionally paired with a row of discrete presets (`presets`) — e.g. \"Last\n7 days\" / \"Last 30 days\" — rendered above the track; picking one is just a\nshortcut that sets both handles at once, the continuous brush underneath\nis unaffected and both interaction modes coexist.\n\nForm-associated only for the `<fieldset disabled>` cascade, not for a\nsubmitted value: it attaches `ElementInternals` (like `<lr-combobox>`'s\nminimal pattern, rather than the single-string-value `FormAssociated`\nmixin, which doesn't fit a two-handle range) purely so an ancestor\n`<fieldset disabled>` disables both handles and every preset button\nthrough `effectiveDisabled`, the same way it would a native `<input>`,\nwithout touching the consumer-facing `disabled` property/attribute itself.\nUnlike `<lr-combobox>`, it never calls `internals.setFormValue()` and\nhas no `name` — the selected range is not included in the owning form's\n`FormData` on submit; read `start`/`end` directly (e.g. from `lr-change`)\ninstead of relying on native form submission.\n\nDeliberately no label/hint/error chrome -- `startLabel`/`endLabel` here are per-handle\naccessible-name overrides, not visible label text, the same carve-out `<lr-slider>` states for\nits own single-handle `label`; a labeled-field consumer wraps this element in their own layout.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The time-range wrapper. |\n| `handle-end` | The end handle. |\n| `handle-start` | The start handle. |\n| `preset-button` | A preset button. |\n| `presets` | The preset controls wrapper. |\n| `range` | The selected range. |\n| `track` | The complete range track. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-time-range-preset-active-bg` (default: `var(--lr-color-brand)`) — Background of the active preset button (`[data-active]`, i.e. the preset whose range matches the current value). Declared as an inline `var()` fallback (never on `:host`), so setting it on the element or an ancestor recolors only the active preset without hijacking the library-wide `--lr-color-brand` token.\n- `--lr-time-range-preset-active-border-color` (default: `var(--lr-color-brand)`) — Border color of the active preset button.\n- `--lr-time-range-preset-active-color` (default: `var(--lr-color-on-brand)`) — Text color of the active preset button.\n- `--lr-time-range-size-scale` (default: `1`) — Unitless multiplier applied proportionally to the handle, track, and preset-button dimensions based on the current `size` tier; the drag hit-area is floored at 24px (WCAG 2.5.8)."
|
|
15204
|
+
"value": "`<lr-time-range>` — a two-handle brush/scrubber over a numeric domain.\nCallers map their own time axis to `[min, max]`; no date logic lives here\n(matches the no-date-library constraint used elsewhere in this library).\n\nOptionally paired with a row of discrete presets (`presets`) — e.g. \"Last\n7 days\" / \"Last 30 days\" — rendered above the track; picking one is just a\nshortcut that sets both handles at once, the continuous brush underneath\nis unaffected and both interaction modes coexist.\n\nForm-associated only for the `<fieldset disabled>` cascade, not for a\nsubmitted value: it attaches `ElementInternals` (like `<lr-combobox>`'s\nminimal pattern, rather than the single-string-value `FormAssociated`\nmixin, which doesn't fit a two-handle range) purely so an ancestor\n`<fieldset disabled>` disables both handles and every preset button\nthrough `effectiveDisabled`, the same way it would a native `<input>`,\nwithout touching the consumer-facing `disabled` property/attribute itself.\nUnlike `<lr-combobox>`, it never calls `internals.setFormValue()` and\nhas no `name` — the selected range is not included in the owning form's\n`FormData` on submit; read `start`/`end` directly (e.g. from `lr-change`)\ninstead of relying on native form submission.\n\nDeliberately no label/hint/error chrome -- `startLabel`/`endLabel` here are per-handle\naccessible-name overrides, not visible label text, the same carve-out `<lr-slider>` states for\nits own single-handle `label`; a labeled-field consumer wraps this element in their own layout.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The time-range wrapper. |\n| `handle-end` | The end handle. |\n| `handle-start` | The start handle. |\n| `preset-button` | A preset button. |\n| `presets` | The preset controls wrapper. |\n| `range` | The selected range. |\n| `track` | The complete range track. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-time-range-preset-active-bg` (default: `var(--lr-color-brand)`) — Background of the active preset button (`[data-active]`, i.e. the preset whose range matches the current value). Declared as an inline `var()` fallback (never on `:host`), so setting it on the element or an ancestor recolors only the active preset without hijacking the library-wide `--lr-color-brand` token.\n- `--lr-time-range-preset-active-border-color` (default: `var(--lr-color-brand)`) — Border color of the active preset button.\n- `--lr-time-range-preset-active-color` (default: `var(--lr-color-on-brand)`) — Text color of the active preset button.\n- `--lr-time-range-size-scale` (default: `1`) — Unitless multiplier applied proportionally to the handle, track, and preset-button dimensions based on the current `size` tier; the drag hit-area is floored at 24px (WCAG 2.5.8).\n- `--lr-time-range-handle-size` (default: `14px*scale`) — Visible handle diameter.\n- `--lr-time-range-hit-size` (default: `max(24px,28px*scale)`) — Actual drag hit-area diameter; endpoint handles are inset by half this distance so the hit geometry stays inside the host.\n- `--lr-time-range-track-size` (default: `4px*scale`) — Track and selected-range thickness.\n- `--lr-time-range-base-size` (default: `1.5rem*scale`) — Brush baseline block size.\n- `--lr-time-range-preset-gap` (default: `var(--lr-space-xs)`) — Gap between preset buttons.\n- `--lr-time-range-preset-radius` (default: `var(--lr-radius)`) — Preset button corner radius.\n- `--lr-time-range-preset-padding` — Preset button padding, scaled by `size`.\n- `--lr-time-range-preset-font-size` — Preset button font size, scaled by `size`."
|
|
14508
15205
|
},
|
|
14509
15206
|
"attributes": [
|
|
14510
15207
|
{
|
|
@@ -14717,7 +15414,7 @@
|
|
|
14717
15414
|
"name": "lr-token-input",
|
|
14718
15415
|
"description": {
|
|
14719
15416
|
"kind": "markdown",
|
|
14720
|
-
"value": "`<lr-token-input>` — an editable, form-associated list of removable tokens.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `error` | Validation message. |\n| `hint` | Supporting text. |\n| `label` | Visible label content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `error` | Validation message. |\n| `form-control` | Outer control wrapper. |\n| `form-control-label` | Label. |\n| `hint` | Supporting text. |\n| `input` | Native text input. |\n| `input-wrapper` | Token and input row. |\n| `remove` | Token remove button. |\n| `token` | Individual token. |\n| `token-editor` | The inline text field replacing a token's text while it is being edited. Rendered only while `editable` is set and that token is open for editing. |\n| `token-label` | The token's text, as the roving-focus edit trigger. Rendered only while `editable` is set. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-token-input-input-inline-size` (default: `var(--lr-size-8rem)`) — `flex-basis` of the native text input within the token row.\n- `--lr-token-input-min-input-inline-size` (default: `var(--lr-size-4rem)`) — Inline-size floor of the native text input, so it stays usable once tokens wrap.\n- `--lr-token-input-editor-inline-size` (default: `var(--lr-size-6rem)`) — Inline size of the inline token editor opened by `editable`.\n- `--lr-token-input-padding` — Input-wrapper padding, scaled by `size`.\n- `--lr-token-input-font-size` — Input-wrapper/token font size, scaled by `size`.\n- `--lr-token-input-control-min-height` — Input-wrapper block-size floor, scaled by `size`.\n- `--lr-token-input-control-height` — Exact input-wrapper height. Unset by default, which leaves `--lr-token-input-control-min-height` as a floor only; set it to a length to both floor and cap the row (e.g. to pixel-match a sibling field in the same toolbar row). Because it is never declared by the component itself, it can be set from an ancestor or an outer-tree rule as well as inline on the element."
|
|
15417
|
+
"value": "`<lr-token-input>` — an editable, form-associated list of removable tokens.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `error` | Validation message. |\n| `hint` | Supporting text. |\n| `label` | Visible label content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `error` | Validation message. |\n| `form-control` | Outer control wrapper. |\n| `form-control-label` | Label. |\n| `hint` | Supporting text. |\n| `input` | Native text input. |\n| `input-wrapper` | Token and input row. |\n| `remove` | Token remove button. |\n| `token` | Individual token. |\n| `token-editor` | The inline text field replacing a token's text while it is being edited. Rendered only while `editable` is set and that token is open for editing. |\n| `token-label` | The token's text, as the roving-focus edit trigger. Rendered only while `editable` is set. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-token-input-input-inline-size` (default: `var(--lr-size-8rem)`) — `flex-basis` of the native text input within the token row.\n- `--lr-token-input-min-input-inline-size` (default: `var(--lr-size-4rem)`) — Inline-size floor of the native text input, so it stays usable once tokens wrap.\n- `--lr-token-input-editor-inline-size` (default: `var(--lr-size-6rem)`) — Inline size of the inline token editor opened by `editable`.\n- `--lr-token-input-padding` — Input-wrapper padding, scaled by `size`.\n- `--lr-token-input-token-padding` — Per-token chip padding, scaled by `size`.\n- `--lr-token-input-gap` (default: `var(--lr-space-xs)`) — Gap between form/row children.\n- `--lr-token-input-token-gap` (default: `var(--lr-space-2xs)`) — Gap inside token chips.\n- `--lr-token-input-radius` (default: `var(--lr-radius)`) — Row/token corner radius.\n- `--lr-token-input-token-bg` (default: `var(--lr-color-brand-quiet)`) — Token chip background.\n- `--lr-token-input-action-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Edit/remove hover background.\n- `--lr-token-input-focus-border-color` (default: `var(--lr-color-brand)`) — Focused row border color.\n- `--lr-token-input-invalid-border-color` (default: `var(--lr-color-danger)`) — Invalid row border color.\n- `--lr-token-input-font-size` — Input-wrapper/token font size, scaled by `size`.\n- `--lr-token-input-control-min-height` — Input-wrapper block-size floor, scaled by `size`.\n- `--lr-token-input-control-height` — Exact input-wrapper height. Unset by default, which leaves `--lr-token-input-control-min-height` as a floor only; set it to a length to both floor and cap the row (e.g. to pixel-match a sibling field in the same toolbar row). Because it is never declared by the component itself, it can be set from an ancestor or an outer-tree rule as well as inline on the element."
|
|
14721
15418
|
},
|
|
14722
15419
|
"attributes": [
|
|
14723
15420
|
{
|
|
@@ -14917,7 +15614,7 @@
|
|
|
14917
15614
|
"name": "lr-tool-call-chip",
|
|
14918
15615
|
"description": {
|
|
14919
15616
|
"kind": "markdown",
|
|
14920
|
-
"value": "`<lr-tool-call-chip>` — a compact inline pill representing one tool/\nfunction call an agent made mid-conversation, e.g.\n`web_search: Searching web…` with a `running` spinner. It owns no detail\nsurface of its own: clicking (or Enter/Space-activating) it only fires\n`lr-tool-call-chip-select` (plus, for one minor cycle, the deprecated\n`lr-tool-chip-select` alias) — a consumer wires that to opening a\n`<lr-tool-result-dialog>` (or anything else) at the call site. Keeping\nthe two decoupled means a chip can be reused wherever a compact call\nsummary is useful, with or without a detail surface behind it.\n\nThe default slot is *not* the chip's visible content — the chip's own\nlabel is always built from `name`/`summary`/`status`/`duration-ms`. It's\nreserved for optional rich detail content (e.g. the tool's raw arguments,\na short preview) shown in a floating tooltip on hover/focus, positioned\nwith `internal/positioner.js`'s `place()` the same way `<lr-combobox>`\npositions its listbox. No tooltip is shown at all when the slot carries no\ncontent — hovering an empty chip does nothing. Hover and keyboard focus are\ntracked as independent reasons to keep the tooltip open (mirrors\n`<lr-citation-badge>`'s popover), so releasing one modality while the\nother is still active doesn't close it, and the trigger button's\n`aria-describedby` points at the tooltip's id whenever it's open and has\ncontent, so the association reaches assistive tech too.\n\nThe `icon` slot overrides the built-in per-status glyph entirely via the\nplatform's own slot-fallback-content mechanism (`<slot\nname=\"icon\">${fallback}</slot>` — the same pattern `<lr-stat>`'s\n`caption` slot and `<lr-file-input>`'s default slot already use):\nwhatever is assigned to `slot=\"icon\"` wins; otherwise the `icon` prop is\nrendered as a literal hint (e.g. an emoji); otherwise the built-in glyph\nfor the current `status` is used.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Rich tooltip/detail content, shown on hover/focus. Nothing renders (no hover affordance at all) when this slot is empty. |\n| `icon` | Overrides the built-in status glyph entirely. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The clickable pill (`<button>`). |\n| `category` | The optional grouping label. |\n| `duration` | The formatted `duration-ms`, when set. |\n| `icon` | Wrapper around the status glyph / `icon` slot. |\n| `label` | Wrapper around `category`, `name` and `summary`. |\n| `meta` | Wrapper around `status-text` and `duration`. |\n| `name` | The tool/function name. |\n| `status-text` | The visible text twin of the status glyph/color — carries the state in text, not just color. |\n| `summary` | The short status text. |\n| `tooltip` | The floating detail popup (only meaningful while open). |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-tool-call-chip-spin` (default: `
|
|
15617
|
+
"value": "`<lr-tool-call-chip>` — a compact inline pill representing one tool/\nfunction call an agent made mid-conversation, e.g.\n`web_search: Searching web…` with a `running` spinner. It owns no detail\nsurface of its own: clicking (or Enter/Space-activating) it only fires\n`lr-tool-call-chip-select` (plus, for one minor cycle, the deprecated\n`lr-tool-chip-select` alias) — a consumer wires that to opening a\n`<lr-tool-result-dialog>` (or anything else) at the call site. Keeping\nthe two decoupled means a chip can be reused wherever a compact call\nsummary is useful, with or without a detail surface behind it.\n\nThe default slot is *not* the chip's visible content — the chip's own\nlabel is always built from `name`/`summary`/`status`/`duration-ms`. It's\nreserved for optional rich detail content (e.g. the tool's raw arguments,\na short preview) shown in a floating tooltip on hover/focus, positioned\nwith `internal/positioner.js`'s `place()` the same way `<lr-combobox>`\npositions its listbox. No tooltip is shown at all when the slot carries no\ncontent — hovering an empty chip does nothing. Hover and keyboard focus are\ntracked as independent reasons to keep the tooltip open (mirrors\n`<lr-citation-badge>`'s popover), so releasing one modality while the\nother is still active doesn't close it, and the trigger button's\n`aria-describedby` points at the tooltip's id whenever it's open and has\ncontent, so the association reaches assistive tech too.\n\nThe `icon` slot overrides the built-in per-status glyph entirely via the\nplatform's own slot-fallback-content mechanism (`<slot\nname=\"icon\">${fallback}</slot>` — the same pattern `<lr-stat>`'s\n`caption` slot and `<lr-file-input>`'s default slot already use):\nwhatever is assigned to `slot=\"icon\"` wins; otherwise the `icon` prop is\nrendered as a literal hint (e.g. an emoji); otherwise the built-in glyph\nfor the current `status` is used.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Rich tooltip/detail content, shown on hover/focus. Nothing renders (no hover affordance at all) when this slot is empty. |\n| `icon` | Overrides the built-in status glyph entirely. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The clickable pill (`<button>`). |\n| `category` | The optional grouping label. |\n| `duration` | The formatted `duration-ms`, when set. |\n| `icon` | Wrapper around the status glyph / `icon` slot. |\n| `label` | Wrapper around `category`, `name` and `summary`. |\n| `meta` | Wrapper around `status-text` and `duration`. |\n| `name` | The tool/function name. |\n| `status-text` | The visible text twin of the status glyph/color — carries the state in text, not just color. |\n| `summary` | The short status text. |\n| `tooltip` | The floating detail popup (only meaningful while open). |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-tool-call-chip-spin` (default: `var(--lr-transition-ambient)`) — Running-icon animation duration and timing.\n- `--lr-transition-ambient` (default: `1.8s ease-in-out`) — Pending-icon pulse duration and timing.\n- `--lr-tool-call-chip-accent` (default: `var(--lr-color-text-quiet)`) — Per-status accent color for the status glyph and status text. Reassigned by this component's own `:host([status=\"…\"])` rules (`running` → brand, `success` → success, `error` → danger, `denied` → warning), so a page-level override only wins for the default/`pending` tone.\n- `--lr-tool-call-chip-bg` (default: `var(--lr-color-surface)`) — Per-status chip background. Reassigned by the same `:host([status=\"…\"])` rules (each status's `-quiet` tint).\n- `--lr-tool-call-chip-border` (default: `var(--lr-color-border)`) — Per-status chip border color. Reassigned by the same `:host([status=\"…\"])` rules (`transparent` for every non-`pending` status)."
|
|
14921
15618
|
},
|
|
14922
15619
|
"attributes": [
|
|
14923
15620
|
{
|
|
@@ -15012,7 +15709,7 @@
|
|
|
15012
15709
|
"name": "lr-tool-result-dialog",
|
|
15013
15710
|
"description": {
|
|
15014
15711
|
"kind": "markdown",
|
|
15015
|
-
"value": "`<lr-tool-result-dialog>` — a full tool-call detail overlay: a status/\nduration header plus a `body` slot where a consumer typically places a\n`<lr-tabs>` with Input/Preview/JSON/Raw panels. This component knows\nnothing about what's inside that slot — it only supplies the modal chrome\naround it.\n\nThis is its own standalone overlay implementation (`role=\"dialog\"`,\nfocus-trapped, Escape/backdrop-dismissible, scroll-locking) rather than\nnesting a `<lr-dialog>` in its shadow template — see `<lr-dialog>`'s\nown header comment for why a new overlay component in this library\nduplicates that pattern locally instead of composing the previous one:\nslot-forwarding into a nested `<lr-dialog>` would put a forwarding\n`<slot>` where a light-DOM-scanning descendant (e.g. a slotted\n`<lr-tabs>`'s own `Array.from(this.children)` scan) expects real\nprojected content.\n\n`maximized` toggles between a constrained modal size and a near-fullscreen\nsize within the same open dialog and open/close lifecycle — unlike\n`<lr-widget>`'s fullscreen mode, there's no non-modal resting state to\nreturn to, so no separate scroll-lock/focus-trap bookkeeping is needed for\nthe transition itself.\n\nStacking: opening more than one of these dialogs at once is supported --\nEscape and the Tab focus trap only ever act on the topmost open instance,\nso instances beneath it stay open and untouched until the one on top closes.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `body` | The dialog's main content — typically a `<lr-tabs>` with Input/Preview/JSON/Raw panels, entirely consumer-assembled. |\n| `footer` | Optional action buttons, rendered in a bottom row. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `backdrop` | The full-viewport scrim behind the panel. |\n| `body` | The wrapper around the `body` slot. |\n| `close-button` | The built-in close button. |\n| `duration` | The formatted `duration-ms` text. |\n| `footer` | The wrapper around the `footer` slot. |\n| `header` | The row containing the tool name, status, duration, and toggle/close buttons. |\n| `header-actions` | The wrapper around the maximize and close buttons. |\n| `maximize-button` | The built-in maximize/restore toggle button. |\n| `panel` | The dialog panel itself (`role=\"dialog\"` while open). |\n| `status` | The status badge (icon + text). |\n| `title` | The wrapper around the tool name, status, and duration. |\n| `tool-name` | The `tool-name` text. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-tool-result-dialog-overlay-color` (default: `var(--lr-color-overlay)`) — Backdrop color.\n- `--lr-tool-result-dialog-maximized-inset` — Insets for the maximized panel.\n- `--lr-tool-result-dialog-spin` (default: `
|
|
15712
|
+
"value": "`<lr-tool-result-dialog>` — a full tool-call detail overlay: a status/\nduration header plus a `body` slot where a consumer typically places a\n`<lr-tabs>` with Input/Preview/JSON/Raw panels. This component knows\nnothing about what's inside that slot — it only supplies the modal chrome\naround it.\n\nThis is its own standalone overlay implementation (`role=\"dialog\"`,\nfocus-trapped, Escape/backdrop-dismissible, scroll-locking) rather than\nnesting a `<lr-dialog>` in its shadow template — see `<lr-dialog>`'s\nown header comment for why a new overlay component in this library\nduplicates that pattern locally instead of composing the previous one:\nslot-forwarding into a nested `<lr-dialog>` would put a forwarding\n`<slot>` where a light-DOM-scanning descendant (e.g. a slotted\n`<lr-tabs>`'s own `Array.from(this.children)` scan) expects real\nprojected content.\n\n`maximized` toggles between a constrained modal size and a near-fullscreen\nsize within the same open dialog and open/close lifecycle — unlike\n`<lr-widget>`'s fullscreen mode, there's no non-modal resting state to\nreturn to, so no separate scroll-lock/focus-trap bookkeeping is needed for\nthe transition itself.\n\nStacking: opening more than one of these dialogs at once is supported --\nEscape and the Tab focus trap only ever act on the topmost open instance,\nso instances beneath it stay open and untouched until the one on top closes.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `body` | The dialog's main content — typically a `<lr-tabs>` with Input/Preview/JSON/Raw panels, entirely consumer-assembled. |\n| `footer` | Optional action buttons, rendered in a bottom row. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `backdrop` | The full-viewport scrim behind the panel. |\n| `body` | The wrapper around the `body` slot. |\n| `close-button` | The built-in close button. |\n| `duration` | The formatted `duration-ms` text. |\n| `footer` | The wrapper around the `footer` slot. |\n| `header` | The row containing the tool name, status, duration, and toggle/close buttons. |\n| `header-actions` | The wrapper around the maximize and close buttons. |\n| `maximize-button` | The built-in maximize/restore toggle button. |\n| `panel` | The dialog panel itself (`role=\"dialog\"` while open). |\n| `status` | The status badge (icon + text). |\n| `title` | The wrapper around the tool name, status, and duration. |\n| `tool-name` | The `tool-name` text. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-tool-result-dialog-overlay-color` (default: `var(--lr-color-overlay)`) — Backdrop color.\n- `--lr-tool-result-dialog-maximized-inset` — Insets for the maximized panel.\n- `--lr-tool-result-dialog-spin` (default: `var(--lr-transition-ambient)`) — Running-status animation duration and timing.\n- `--lr-tool-result-dialog-running-color` (default: `var(--lr-color-brand)`) — Running status foreground.\n- `--lr-tool-result-dialog-running-bg` (default: `var(--lr-color-brand-quiet)`) — Running status background.\n- `--lr-tool-result-dialog-success-color` (default: `var(--lr-color-success)`) — Success status foreground.\n- `--lr-tool-result-dialog-success-bg` (default: `var(--lr-color-success-quiet)`) — Success status background.\n- `--lr-tool-result-dialog-error-color` (default: `var(--lr-color-danger)`) — Error status foreground.\n- `--lr-tool-result-dialog-error-bg` (default: `var(--lr-color-danger-quiet)`) — Error status background.\n- `--lr-tool-result-dialog-denied-color` (default: `var(--lr-color-warning)`) — Denied status foreground.\n- `--lr-tool-result-dialog-denied-bg` (default: `var(--lr-color-warning-quiet)`) — Denied status background."
|
|
15016
15713
|
},
|
|
15017
15714
|
"attributes": [
|
|
15018
15715
|
{
|
|
@@ -15114,7 +15811,7 @@
|
|
|
15114
15811
|
"name": "lr-tool-select-dialog",
|
|
15115
15812
|
"description": {
|
|
15116
15813
|
"kind": "markdown",
|
|
15117
|
-
"value": "`<lr-tool-select-dialog>` — a category-grouped, filterable, searchable\ntool-enablement dialog for picking which agent tools are available in a\nconversation.\n\nThis renders its own dialog panel rather than nesting a `<lr-dialog>` in\nits shadow template. Shared overlay infrastructure coordinates stacking,\nfocus trapping, Escape/backdrop dismissal, and focus return with every\nother overlay in the same document.\n\n`useDefaults` is a single top-level switch: while `true`, every per-tool\ncheckbox below renders disabled (still reflecting whatever `selected`\nholds — a consumer should populate that with its own default tool set\nwhenever `useDefaults` is true) and a hint explains that turning the\nswitch off is how to customize. Turning it off is the \"customize\"\naffordance — it's the only thing that both flips `useDefaults` to `false`\n*and* unlocks the per-tool checkboxes for editing, so there's exactly one\ncontrol for that transition rather than a separate button duplicating it.\n\nThere is no built-in footer/close button — like `<lr-dialog>`, dismissal\nhappens via Escape, a backdrop click, or a consumer's own `footer`-slotted\naction calling `close()`. This also means the search input is the very\nfirst focusable element in the panel with no special-casing needed, so\nit's what receives focus on open (see `updated()`).\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `footer` | Optional action buttons (e.g. a \"Done\" button), rendered in a bottom row. Changes already apply live via `lr-change`, so this is optional. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `backdrop` | The full-viewport scrim behind the panel. |\n| `body` | The scrollable wrapper around the grouped tool list. |\n| `category` | A single category's wrapper (`role=\"group\"`). |\n| `category-count` | The terse, `aria-hidden` tool count next to a category heading (the heading's accessible name gets the full sentence from an sr-only sibling instead). |\n| `category-heading` | A category's heading. |\n| `category-list` | The `<ul>` of tool rows within a category. |\n| `defaults-hint` | The \"turn off to customize\" hint, shown only while `useDefaults` is true. |\n| `defaults-row` | The wrapper around the use-defaults switch and its hint. |\n| `defaults-toggle` | The built-in `<lr-switch>` bound to `useDefaults`. |\n| `empty` | The \"no tools\" / \"no matches\" message. |\n| `footer` | The wrapper around the `footer` slot. |\n| `header` | The wrapper around the title/subtitle. |\n| `panel` | The dialog panel itself (`role=\"dialog\"` while open). |\n| `search-input` | The filter text input. |\n| `search-row` | The wrapper around the search input. |\n| `subtitle` | The \"N of M tools enabled\" summary line. |\n| `title` | The dialog's heading. |\n| `tool-checkbox` | A row's `<lr-checkbox>`. |\n| `tool-description` | A row's optional description text. |\n| `tool-disabled-reason` | A disabled row's `disabledReason` text, slotted inside `tool-checkbox` (alongside `tool-name`/`tool-description`) so it contributes to the checkbox's accessible name/description instead of going unannounced. |\n| `tool-icon` | A row's leading icon glyph, when `icon` is set. |\n| `tool-name` | A row's name text (plus its `icon`, if set). |\n| `tool-row` | A single tool's `<li>` row. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-tool-select-dialog-overlay-color` (default: `var(--lr-color-overlay)`) — Backdrop scrim color."
|
|
15814
|
+
"value": "`<lr-tool-select-dialog>` — a category-grouped, filterable, searchable\ntool-enablement dialog for picking which agent tools are available in a\nconversation.\n\nThis renders its own dialog panel rather than nesting a `<lr-dialog>` in\nits shadow template. Shared overlay infrastructure coordinates stacking,\nfocus trapping, Escape/backdrop dismissal, and focus return with every\nother overlay in the same document.\n\n`useDefaults` is a single top-level switch: while `true`, every per-tool\ncheckbox below renders disabled (still reflecting whatever `selected`\nholds — a consumer should populate that with its own default tool set\nwhenever `useDefaults` is true) and a hint explains that turning the\nswitch off is how to customize. Turning it off is the \"customize\"\naffordance — it's the only thing that both flips `useDefaults` to `false`\n*and* unlocks the per-tool checkboxes for editing, so there's exactly one\ncontrol for that transition rather than a separate button duplicating it.\n\nThere is no built-in footer/close button — like `<lr-dialog>`, dismissal\nhappens via Escape, a backdrop click, or a consumer's own `footer`-slotted\naction calling `close()`. This also means the search input is the very\nfirst focusable element in the panel with no special-casing needed, so\nit's what receives focus on open (see `updated()`).\n\nAt most the first 200 matching tools are mounted at once. Filtering narrows that bounded\nprojection; `tools`, selection counts, and emitted ids retain the caller's complete catalog.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `footer` | Optional action buttons (e.g. a \"Done\" button), rendered in a bottom row. Changes already apply live via `lr-change`, so this is optional. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `backdrop` | The full-viewport scrim behind the panel. |\n| `body` | The scrollable wrapper around the grouped tool list. |\n| `category` | A single category's wrapper (`role=\"group\"`). |\n| `category-count` | The terse, `aria-hidden` tool count next to a category heading (the heading's accessible name gets the full sentence from an sr-only sibling instead). |\n| `category-heading` | A category's heading. |\n| `category-list` | The `<ul>` of tool rows within a category. |\n| `defaults-hint` | The \"turn off to customize\" hint, shown only while `useDefaults` is true. |\n| `defaults-row` | The wrapper around the use-defaults switch and its hint. |\n| `defaults-toggle` | The built-in `<lr-switch>` bound to `useDefaults`. |\n| `empty` | The \"no tools\" / \"no matches\" message. |\n| `footer` | The wrapper around the `footer` slot. |\n| `header` | The wrapper around the title/subtitle. |\n| `panel` | The dialog panel itself (`role=\"dialog\"` while open). |\n| `search-input` | The filter text input. |\n| `search-row` | The wrapper around the search input. |\n| `subtitle` | The \"N of M tools enabled\" summary line. |\n| `title` | The dialog's heading. |\n| `tool-checkbox` | A row's `<lr-checkbox>`. |\n| `tool-description` | A row's optional description text. |\n| `tool-disabled-reason` | A disabled row's `disabledReason` text, slotted inside `tool-checkbox` (alongside `tool-name`/`tool-description`) so it contributes to the checkbox's accessible name/description instead of going unannounced. |\n| `tool-icon` | A row's leading icon glyph, when `icon` is set. |\n| `tool-name` | A row's name text (plus its `icon`, if set). |\n| `tool-row` | A single tool's `<li>` row. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-tool-select-dialog-overlay-color` (default: `var(--lr-color-overlay)`) — Backdrop scrim color."
|
|
15118
15815
|
},
|
|
15119
15816
|
"attributes": [
|
|
15120
15817
|
{
|
|
@@ -15207,7 +15904,7 @@
|
|
|
15207
15904
|
"name": "lr-tool-timeline",
|
|
15208
15905
|
"description": {
|
|
15209
15906
|
"kind": "markdown",
|
|
15210
|
-
"value": "`<lr-tool-timeline>` — a chronological list of an agent run's tool/function calls, each\nrendered through `<lr-tool-call-chip>` (name/status/duration) and `<lr-tool-result-view>`\n(args/result), with per-entry retry counts, sensitive-field redaction, and a shared\n`<lr-tool-approval-dialog>` for entries gated behind a human approval decision. This component\nowns none of the actual per-call rendering -- that is entirely those three existing\nprimitives -- its own job is ordering `entries` chronologically, computing each entry's\nduration from `startedAt`/`endedAt`, masking `redactedFields` before handing `args`/`result` to\n`<lr-tool-result-view>`, and opening/closing the one shared approval dialog for whichever entry\nis currently pending a decision.\n\nOrdering: `entries` is sorted ascending by `startedAt`; an entry with no `startedAt` sorts after\nevery timed entry, keeping its position relative to any other untimed entries stable (input\norder is preserved among ties) — a still-pending call with no timestamp yet naturally lands at\nthe end without needing to be pre-sorted by the host.\n\nRedaction only ever affects the read-only detail view: the copy of `args` handed to the\napproval dialog is always the entry's real, unmasked value. Approving a masked-args call must\nlet the reviewer see (and, if `approvalEditable`, edit) what will actually be sent — handing the\ndialog a placeholder string in place of a real field would silently corrupt the decision.\n\nApproval: activating the chip (`lr-tool-call-chip-select`) of an entry with `needsApproval` and\nan undecided `approved` opens the shared dialog for that entry; approving or denying emits this\ncomponent's own `lr-tool-approval-decide` and closes the dialog. This component never mutates\n`entries` itself — a host applies the decision (and any resulting status change) and re-assigns\n`entries`; if the entry currently under review disappears or no longer qualifies as pending\n(its `approved` was resolved some other way) by the time `entries` changes, the dialog closes on\nits own rather than staying open over stale data. A chip belonging to an entry that isn't\npending approval is left alone — its own `lr-tool-call-chip-select` (and deprecated\n`lr-tool-chip-select` alias) still bubble out normally for a host that wants to react to raw\nchip selection for its own purposes.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `approval-dialog` | The single shared `<lr-tool-approval-dialog>` instance. |\n| `base` | The root `<ol>`. |\n| `entry` | One entry's `<li>`; carries `data-status` (the entry's `status`) and `data-pending-approval` (`\"true\"`/`\"false\"`). |\n| `entry-approval-status` | The \"Approved\"/\"Denied\" badge, only rendered once `approved` is set; carries `data-decision` (`\"approved\"`/`\"denied\"`). |\n| `entry-body` | Wrapper around one entry's header and details. |\n| `entry-details` | The `<lr-details>` disclosure wrapping the entry's result view. |\n| `entry-error` | The entry's `error` text, only rendered when set. |\n| `entry-header` | Wrapper around the timestamp, chip, retry badge, and approval status. |\n| `entry-marker` | The decorative rail dot/connector for one entry. |\n| `entry-redacted-indicator` | A decorative marker shown when `redactedFields` is non-empty for that entry. |\n| `entry-result` | The entry's `<lr-tool-result-view>`. |\n| `entry-retries` | The retry-count badge, only rendered while `retryCount > 0`. |\n| `entry-retries-count` | The formatted retry count within the retry badge. |\n| `entry-retries-label` | The localized \"Retry\" text within the retry badge. |\n| `entry-timestamp` | The formatted `startedAt`, only rendered while it's set. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-tool-timeline-gap` (default: `var(--lr-space-l)`) — Vertical gap between entries.\n- `--lr-tool-timeline-marker-size` (default: `var(--lr-size-0-625rem)`) — Diameter of an entry's rail dot; also the width of the marker gutter column.\n- `--lr-tool-timeline-denied-marker-color` (default: `var(--lr-color-warning)`) — Rail-dot color for a `status=\"denied\"` entry, decoupled from the pending-approval border below so a consumer can retint either independently.\n- `--lr-tool-timeline-pending-approval-border-color` (default: `var(--lr-color-warning)`) — Color of the entry body's leading border while `data-pending-approval=\"true\"
|
|
15907
|
+
"value": "`<lr-tool-timeline>` — a chronological list of an agent run's tool/function calls, each\nrendered through `<lr-tool-call-chip>` (name/status/duration) and `<lr-tool-result-view>`\n(args/result), with per-entry retry counts, sensitive-field redaction, and a shared\n`<lr-tool-approval-dialog>` for entries gated behind a human approval decision. This component\nowns none of the actual per-call rendering -- that is entirely those three existing\nprimitives -- its own job is ordering `entries` chronologically, computing each entry's\nduration from `startedAt`/`endedAt`, masking `redactedFields` before handing `args`/`result` to\n`<lr-tool-result-view>`, and opening/closing the one shared approval dialog for whichever entry\nis currently pending a decision.\n\nOrdering: `entries` is sorted ascending by `startedAt`; an entry with no `startedAt` sorts after\nevery timed entry, keeping its position relative to any other untimed entries stable (input\norder is preserved among ties) — a still-pending call with no timestamp yet naturally lands at\nthe end without needing to be pre-sorted by the host.\n\nRedaction only ever affects the read-only detail view: the copy of `args` handed to the\napproval dialog is always the entry's real, unmasked value. Approving a masked-args call must\nlet the reviewer see (and, if `approvalEditable`, edit) what will actually be sent — handing the\ndialog a placeholder string in place of a real field would silently corrupt the decision.\n\nApproval: activating the chip (`lr-tool-call-chip-select`) of an entry with `needsApproval` and\nan undecided `approved` opens the shared dialog for that entry; approving or denying emits this\ncomponent's own `lr-tool-approval-decide` and closes the dialog. This component never mutates\n`entries` itself — a host applies the decision (and any resulting status change) and re-assigns\n`entries`; if the entry currently under review disappears or no longer qualifies as pending\n(its `approved` was resolved some other way) by the time `entries` changes, the dialog closes on\nits own rather than staying open over stale data. A chip belonging to an entry that isn't\npending approval is left alone — its own `lr-tool-call-chip-select` (and deprecated\n`lr-tool-chip-select` alias) still bubble out normally for a host that wants to react to raw\nchip selection for its own purposes.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `approval-dialog` | The single shared `<lr-tool-approval-dialog>` instance. |\n| `base` | The root `<ol>`. |\n| `entry` | One entry's `<li>`; carries `data-status` (the entry's `status`) and `data-pending-approval` (`\"true\"`/`\"false\"`). |\n| `entry-approval-status` | The \"Approved\"/\"Denied\" badge, only rendered once `approved` is set; carries `data-decision` (`\"approved\"`/`\"denied\"`). |\n| `entry-body` | Wrapper around one entry's header and details. |\n| `entry-details` | The `<lr-details>` disclosure wrapping the entry's result view. |\n| `entry-error` | The entry's `error` text, only rendered when set. |\n| `entry-header` | Wrapper around the timestamp, chip, retry badge, and approval status. |\n| `entry-marker` | The decorative rail dot/connector for one entry. |\n| `entry-redacted-indicator` | A decorative marker shown when `redactedFields` is non-empty for that entry. |\n| `entry-result` | The entry's `<lr-tool-result-view>`. |\n| `entry-retries` | The retry-count badge, only rendered while `retryCount > 0`. |\n| `entry-retries-count` | The formatted retry count within the retry badge. |\n| `entry-retries-label` | The localized \"Retry\" text within the retry badge. |\n| `entry-timestamp` | The formatted `startedAt`, only rendered while it's set. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-tool-timeline-gap` (default: `var(--lr-space-l)`) — Vertical gap between entries.\n- `--lr-tool-timeline-marker-size` (default: `var(--lr-size-0-625rem)`) — Diameter of an entry's rail dot; also the width of the marker gutter column.\n- `--lr-tool-timeline-denied-marker-color` (default: `var(--lr-color-warning)`) — Rail-dot color for a `status=\"denied\"` entry, decoupled from the pending-approval border below so a consumer can retint either independently.\n- `--lr-tool-timeline-pending-approval-border-color` (default: `var(--lr-color-warning)`) — Color of the entry body's leading border while `data-pending-approval=\"true\"`.\n- `--lr-tool-timeline-running-marker-color` (default: `var(--lr-color-brand)`) — Running rail dot.\n- `--lr-tool-timeline-success-marker-color` (default: `var(--lr-color-success)`) — Success rail dot.\n- `--lr-tool-timeline-error-marker-color` (default: `var(--lr-color-danger)`) — Error rail dot.\n- `--lr-tool-timeline-approved-bg` (default: `var(--lr-color-success-quiet)`) — Approved badge background.\n- `--lr-tool-timeline-approved-color` (default: `var(--lr-color-success)`) — Approved badge foreground.\n- `--lr-tool-timeline-denied-bg` (default: `var(--lr-color-danger-quiet)`) — Denied badge background.\n- `--lr-tool-timeline-denied-color` (default: `var(--lr-color-danger)`) — Denied badge foreground.\n- `--lr-tool-timeline-error-color` (default: `var(--lr-color-danger)`) — Expanded error text."
|
|
15211
15908
|
},
|
|
15212
15909
|
"attributes": [
|
|
15213
15910
|
{
|
|
@@ -15230,7 +15927,7 @@
|
|
|
15230
15927
|
"name": "lr-tooltip",
|
|
15231
15928
|
"description": {
|
|
15232
15929
|
"kind": "markdown",
|
|
15233
|
-
"value": "`<lr-tooltip>` — a localized, hover/focus tooltip for a consumer-owned trigger.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Tooltip content. |\n| `trigger` | The element that receives hover/focus listeners. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `popup` | The tooltip popup. |\n| `trigger` | The trigger wrapper. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-tooltip-max-inline-size` — Maximum inline size of the tooltip (default `--lr-size-20rem`).\n- `--lr-tooltip-background` — Tooltip background color (default `--lr-color-neutral`).\n- `--lr-tooltip-color` — Tooltip text color (default `--lr-color-on-neutral`)."
|
|
15930
|
+
"value": "`<lr-tooltip>` — a localized, hover/focus tooltip for a consumer-owned trigger.\nPlain content uses tooltip semantics. When the default slot contains an actionable descendant,\nthe popup promotes to a named dialog and remains open while pointer or focus is inside so its\ncontrols can be reached. Prefer `<lr-popover>` when click-to-open ownership is desired.\n\nWhile open, the trigger's `aria-describedby` targets a hidden text proxy in this component's\nlight DOM rather than the shadow-private popup. Native triggers can resolve that ID directly;\n`<lr-button>` and `<lr-icon-button>` reflect it onto their focused internal controls through\n`ariaDescribedByElements`, where the serialized internal attribute is intentionally empty.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Tooltip content. |\n| `trigger` | The element that receives hover/focus listeners. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `popup` | The tooltip popup. |\n| `trigger` | The trigger wrapper. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-tooltip-max-inline-size` — Maximum inline size of the tooltip (default `--lr-size-20rem`).\n- `--lr-tooltip-background` — Tooltip background color (default `--lr-color-neutral`).\n- `--lr-tooltip-color` — Tooltip text color (default `--lr-color-on-neutral`)."
|
|
15234
15931
|
},
|
|
15235
15932
|
"attributes": [
|
|
15236
15933
|
{
|
|
@@ -15279,7 +15976,7 @@
|
|
|
15279
15976
|
"name": "open",
|
|
15280
15977
|
"description": {
|
|
15281
15978
|
"kind": "markdown",
|
|
15282
|
-
"value": "Type: `boolean`
|
|
15979
|
+
"value": "Type: `boolean`"
|
|
15283
15980
|
}
|
|
15284
15981
|
},
|
|
15285
15982
|
{
|
|
@@ -15295,7 +15992,7 @@
|
|
|
15295
15992
|
"name": "lr-tour",
|
|
15296
15993
|
"description": {
|
|
15297
15994
|
"kind": "markdown",
|
|
15298
|
-
"value": "`<lr-tour>` -- a spotlight-and-step guided walkthrough for first-run onboarding. A sequence\nof steps, each anchored to a target element elsewhere in the page via the shared Floating UI\npositioner, shown against a dimmed full-viewport backdrop with a cutout/ring highlighting the\ncurrent target, with Next/Previous/Skip controls and a step-progress indicator. First-party\ninvention (no Web Awesome equivalent) -- nearest precedent in shape is `lr-dialog` (overlay\nlifecycle/focus trap) + `lr-carousel` (index-based navigation) + `lr-stepper`\n(progress/RTL arrow-key nav).\n\n**Not a form-associated control.** A tour is a walkthrough, not a field -- it deliberately has\nno `label`/`hint`/`error` chrome and no `FormAssociated` mixin.\n\n**Controlled component.** `steps` is never mutated by this component (mirrors\n`lr-stepper`'s `steps`); only `activeIndex` and `open` are self-managed, mirroring\n`lr-carousel`'s `index`.\n\n**Target interactivity.** By default, the step's spotlighted target is non-interactive while\nits step is active: it stays visually revealed
|
|
15995
|
+
"value": "`<lr-tour>` -- a spotlight-and-step guided walkthrough for first-run onboarding. A sequence\nof steps, each anchored to a target element elsewhere in the page via the shared Floating UI\npositioner, shown against a dimmed full-viewport backdrop with a cutout/ring highlighting the\ncurrent target, with Next/Previous/Skip controls and a step-progress indicator. First-party\ninvention (no Web Awesome equivalent) -- nearest precedent in shape is `lr-dialog` (overlay\nlifecycle/focus trap) + `lr-carousel` (index-based navigation) + `lr-stepper`\n(progress/RTL arrow-key nav).\n\n**Not a form-associated control.** A tour is a walkthrough, not a field -- it deliberately has\nno `label`/`hint`/`error` chrome and no `FormAssociated` mixin.\n\n**Controlled component.** `steps` is never mutated by this component (mirrors\n`lr-stepper`'s `steps`); only `activeIndex` and `open` are self-managed, mirroring\n`lr-carousel`'s `index`.\n\n**Target interactivity.** By default, the step's spotlighted target is non-interactive while\nits step is active: it stays visually revealed but is outside the modal interaction model\nand cannot be clicked -- every pointer event over the full\nviewport, including directly over the visually-revealed target, is captured by the backdrop\n(CSS `mask` does not affect hit-testing, only `clip-path` does) -- and cannot be reached by Tab\n(the shared overlay focus trap confines Tab to the popover panel). Set `step.interactiveTarget`\nto opt a step's target out of this: the backdrop additionally clips itself (via `clip-path`,\nwhich *does* affect hit-testing) around the same rect, so pointer/click events fall through to\nthe live target underneath. The panel also becomes nonmodal and an explicit Tab route connects\nits controls with the live target.\n\n**Focus management.** Default steps exclusively own interaction: the shared overlay manager\nmarks outside content inert, traps Tab, and the panel reports `aria-modal=\"true\"`.\n`interactiveTarget` steps instead use a nonmodal overlay, report `aria-modal=\"false\"`, and\nexplicitly route Tab between the panel and the external target.\n\nEach step transition mounts a genuinely new popover DOM node (keyed on the step's `id`) so\nfocus reliably re-enters the panel every time, even though the Previous/Next button that\ntriggered the transition lives inside that same persistent-looking region.\n\nNo `Home`/`End` jump-to-first/last-step shortcut and no click-to-jump progress dots, unlike\n`lr-stepper` -- a tour's steps are tied to live DOM targets that may not exist until an\nearlier step's side effect (opening a menu, navigating a route) has run, so free jumping is\nunsafe by default. `goToStep()` remains available for a host that knows what it's doing (e.g.\na \"restart tour\" affordance elsewhere).\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Rich content overriding the currently active step's plain-text `content` for that step only. When real content is assigned, it's shown instead of `step.content`; when empty, `step.content` renders as plain text. Not scoped per step by this component itself -- a consumer that needs different rich content per step swaps the slotted children (or listens for `lr-tour-step-change` and re-renders them) itself, the same \"consumer owns slotted content\" pattern `lr-dialog`'s default slot already uses. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `backdrop` | The full-viewport dimmed scrim with the spotlight cutout, an inline `<svg>`. `aria-hidden=\"true\"`. |\n| `body` | Wrapper around the step's content (slotted or `step.content`). |\n| `footer` | Wrapper around the Previous/Skip/Next-or-Done control row. |\n| `heading` | The step's visible heading text element -- the `aria-labelledby` target. |\n| `next-button` | The Next/Done control (label switches on the last step). |\n| `popover` | The step panel itself. `role=\"dialog\"`. |\n| `previous-button` | The Previous control. |\n| `progress` | Wrapper around the built-in step-progress indicator (dots + text). |\n| `progress-dot` | An individual decorative dot within `progress`. `aria-hidden=\"true\"`. |\n| `progress-text` | The visible \"Step X of Y\" text -- one of the popover's `aria-describedby` targets. |\n| `skip-button` | The Skip control. |\n| `spotlight` | The decorative highlight ring drawn around the current target's (padded) rect. `pointer-events: none`, `aria-hidden=\"true\"`. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-tour-backdrop-color` — Backdrop scrim fill. Defaults to `--lr-color-overlay`.\n- `--lr-tour-spotlight-radius` — Corner radius shared by the cutout and the ring. Defaults to `--lr-radius`.\n- `--lr-tour-spotlight-ring-color` — Spotlight ring color. Defaults to `--lr-color-brand`.\n- `--lr-tour-spotlight-ring-width` — Spotlight ring thickness. Defaults to `--lr-border-width-medium`.\n- `--lr-tour-popover-max-width` — Maximum popover inline size. Defaults to `--lr-size-22rem`.\n- `--lr-tour-progress-dot-current-bg` (default: `var(--lr-color-brand)`) — Background of `progress-dot` for the current step, without repainting every other component that reuses the shared brand token."
|
|
15299
15996
|
},
|
|
15300
15997
|
"attributes": [
|
|
15301
15998
|
{
|
|
@@ -15367,7 +16064,7 @@
|
|
|
15367
16064
|
"name": "lr-trace-tree",
|
|
15368
16065
|
"description": {
|
|
15369
16066
|
"kind": "markdown",
|
|
15370
|
-
"value": "`<lr-trace-tree>` — a collapsible span hierarchy for one agent/LLM trace\n(Langfuse/LangSmith run-tree style): kind icon, name, status, an inline\nduration bar on the shared trace time scale, and optional tokens/cost\ncolumns. Consumes the same `LyraSpan[]` as `<lr-span-waterfall>`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `bar` | The duration bar's filled portion. |\n| `bar-track` | The duration bar's background track. |\n| `base` | The root wrapper (`role=\"tree\"`). |\n| `cost` | The cost column cell (when `showCost`). |\n| `detail` | The span's secondary text, from `LyraSpan.detail`. |\n| `duration` | The formatted duration text. |\n| `empty` | The empty-state message shown when `spans` is empty. |\n| `header` | The column-header row, rendered only when `showTokens`/`showCost` is on. |\n| `icon` | The span-kind icon. |\n| `live-region` | The internal status-announcement live region. |\n| `name` | The span's name. |\n| `row` | One span's row (`role=\"treeitem\"`). |\n| `status-text` | The visible status label. |\n| `toggle` | A row's expand/collapse button. |\n| `tokens-in` | The tokens-in column cell (when `showTokens`). |\n| `tokens-out` | The tokens-out column cell (when `showTokens`). |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-trace-tree-row-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of the active (`activeSpanId`) row. Shadow Parts forbids an attribute selector after `::part()`, so the active row could otherwise only be restyled by hijacking the library-wide `--lr-color-brand-quiet` token. Pairs with `--lr-trace-tree-row-active-color`: set both together, since the defaults assume the active background stays on the same side of the lightness midpoint as the ambient surface — a dark tint in light mode needs the matching text color set too, or the row's secondary text drops below the WCAG AA contrast floor.\n- `--lr-trace-tree-row-active-color` (default: `var(--lr-color-text)`) — Foreground reference for the active (`activeSpanId`) row. It sets the color of that row's secondary text (`detail`, `duration`, `tokens-in`, `tokens-out`, `cost`, and the `pending` status label), which is raised from the quiet token to full-strength text so it clears WCAG AA against the active row's tint. The semantic status labels keep their own hue but are mixed 25% toward this same value, so overriding it re-aims every foreground on the row at once rather than leaving the status colors stranded. See the pairing caveat on `--lr-trace-tree-row-active-bg
|
|
16067
|
+
"value": "`<lr-trace-tree>` — a collapsible span hierarchy for one agent/LLM trace\n(Langfuse/LangSmith run-tree style): kind icon, name, status, an inline\nduration bar on the shared trace time scale, and optional tokens/cost\ncolumns. Consumes the same `LyraSpan[]` as `<lr-span-waterfall>`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `bar` | The duration bar's filled portion. |\n| `bar-track` | The duration bar's background track. |\n| `base` | The root wrapper (`role=\"tree\"`). |\n| `cost` | The cost column cell (when `showCost`). |\n| `detail` | The span's secondary text, from `LyraSpan.detail`. |\n| `duration` | The formatted duration text. |\n| `empty` | The empty-state message shown when `spans` is empty. |\n| `header` | The column-header row, rendered only when `showTokens`/`showCost` is on. |\n| `icon` | The span-kind icon. |\n| `live-region` | The internal status-announcement live region. |\n| `name` | The span's name. |\n| `row` | One span's row (`role=\"treeitem\"`). |\n| `status-text` | The visible status label. |\n| `toggle` | A row's expand/collapse button. |\n| `tokens-in` | The tokens-in column cell (when `showTokens`). |\n| `tokens-out` | The tokens-out column cell (when `showTokens`). |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-trace-tree-row-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of the active (`activeSpanId`) row. Shadow Parts forbids an attribute selector after `::part()`, so the active row could otherwise only be restyled by hijacking the library-wide `--lr-color-brand-quiet` token. Pairs with `--lr-trace-tree-row-active-color`: set both together, since the defaults assume the active background stays on the same side of the lightness midpoint as the ambient surface — a dark tint in light mode needs the matching text color set too, or the row's secondary text drops below the WCAG AA contrast floor.\n- `--lr-trace-tree-row-active-color` (default: `var(--lr-color-text)`) — Foreground reference for the active (`activeSpanId`) row. It sets the color of that row's secondary text (`detail`, `duration`, `tokens-in`, `tokens-out`, `cost`, and the `pending` status label), which is raised from the quiet token to full-strength text so it clears WCAG AA against the active row's tint. The semantic status labels keep their own hue but are mixed 25% toward this same value, so overriding it re-aims every foreground on the row at once rather than leaving the status colors stranded. See the pairing caveat on `--lr-trace-tree-row-active-bg`.\n- `--lr-trace-tree-toggle-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Toggle hover background.\n- `--lr-trace-tree-success-color` (default: `var(--lr-color-success)`) — Success status text and bar.\n- `--lr-trace-tree-error-color` (default: `var(--lr-color-danger)`) — Error status text and bar.\n- `--lr-trace-tree-denied-color` (default: `var(--lr-color-warning)`) — Denied status text and bar.\n- `--lr-trace-tree-running-color` (default: `var(--lr-color-brand)`) — Running status text and stripe.\n- `--lr-trace-tree-pending-color` (default: `var(--lr-color-text-quiet)`) — Pending status text and bar.\n- `--lr-trace-tree-bar-track-bg` (default: `var(--lr-color-surface-raised)`) — Duration bar track.\n- `--lr-trace-tree-running-stripe-bg` (default: `var(--lr-color-brand-quiet)`) — Running stripe contrast."
|
|
15371
16068
|
},
|
|
15372
16069
|
"attributes": [
|
|
15373
16070
|
{
|
|
@@ -15617,14 +16314,14 @@
|
|
|
15617
16314
|
"name": "lr-virtual-list",
|
|
15618
16315
|
"description": {
|
|
15619
16316
|
"kind": "markdown",
|
|
15620
|
-
"value": "`<lr-virtual-list>` — a generic windowed/virtualized list host. Renders\nonly the items within the current viewport (plus `overscan` padding rows\non each side) as real DOM, regardless of how large `items` is, so a\nmulti-thousand-row chat history sidebar or long message thread stays cheap\nto scroll.\n\nContent is entirely caller-supplied: `renderItem(item, index)` returns\nwhatever `lit-html` value should represent that row (typically a\n`TemplateResult`), and `keyFunction(item, index)` gives it a stable\nidentity for `repeat()`'s DOM-reconciliation key, so scroll position and\nany per-row state (e.g. an `<audio>` element's playback position) survive\nan `items` mutation instead of every row remounting from scratch.\n\n**Windowing math.** Every row — in both `row-height` modes — is positioned\nby a `transform: translateY(offset)` computed from a single cumulative\n`offsets` array (`offsets[i]` = the pixel top of row `i`), rather than by\npage flow. This is what lets only a small DOM window exist while the\nscrollbar still reflects the *true* total content height:\n- **`row-height=\"auto\"` (default).** Each currently-rendered row is\n watched by a `ResizeObserver`; its real height lands in a per-key\n `Map`, and any row not yet measured contributes `DEFAULT_ROW_ESTIMATE_PX`\n to the offsets array until it has been. `offsets` is *not* the same\n thing as a page-count-based `padding-top`/`padding-bottom` spacer pair —\n that approach reflows every unmeasured row's position on every new\n measurement, which is exactly what per-row transform offsets avoid: only\n the rows *after* a newly-measured one shift, and even that shift is a\n cheap style recompute, not a layout-affecting padding change.\n- **Fixed numeric `row-height`.** No measurement needed — `offsets[i]` is\n just `i * rowHeightPx`, computed by the exact same cumulative-array code\n path (a dedicated \"single spacer + start-index\" special case was\n considered and would work too, but reusing one code path for both modes\n avoids maintaining two parallel rendering strategies for a difference\n that's otherwise just \"how is row *i*'s height looked up\").\n\nThe `offsets` array is rebuilt only when `items`, `row-height`, or\n`keyFunction` change, or a row's measured height changes -- not on every\nupdate, so a pure scroll-position tick (potentially every rAF while\nscrolling) only re-runs the cheap range/visibility math in\n`computeRange()`, never the `O(n)` offsets rebuild (which, in\n`row-height=\"auto\"` mode, also means a `keyFunction` call per item). For\nthe list sizes this component is meant for (a scrollable history sidebar,\nrealistically hundreds to a few thousand rows) that rebuild is a trivial\n`O(n)` arithmetic loop even when it does run; it is *not* the right\napproach for a hundred-thousand-row list without further work (e.g. a\nFenwick/segment tree for `O(log n)` offset queries+updates), which is out\nof scope here.\n\n**Accessibility.** The scroll container is `role=\"list\"` and each rendered\nrow is `role=\"listitem\"`, deliberately *not* `listbox`/`option` — this\ncomponent only provides windowing, not the roving-tabindex/\n`aria-activedescendant` keyboard-interaction contract ARIA requires\nalongside a real `listbox`. A consumer that wants full single-select\nlistbox semantics on top of this should compose that behavior itself (see\n`<lr-select>`'s pattern), the same way this component's `active-id`\nonly *scrolls* the matching row into view and marks it `aria-current` —\nit never claims to be a selection widget. `aria-setsize`/`aria-posinset`\nare computed from the row's real index in the full `items` array (not its\nposition among the currently-rendered DOM window), so a screen reader\nstill announces e.g. \"item 12 of 340\" correctly. `[part=\"base\"]` itself\ncarries `tabindex=\"0\"` — `renderItem`'s content is caller-supplied and not\nguaranteed to contain a focusable element, and a scrollable region with no\nfocusable content of its own is otherwise unreachable by keyboard (native\narrow/Page Up/Page Down scrolling included).\n\n**Grouping.** When supplied, `groups` renders a labeled group marker at the\
|
|
16317
|
+
"value": "`<lr-virtual-list>` — a generic windowed/virtualized list host. Renders\nonly the items within the current viewport (plus `overscan` padding rows\non each side) as real DOM, regardless of how large `items` is, so a\nmulti-thousand-row chat history sidebar or long message thread stays cheap\nto scroll.\n\nContent is entirely caller-supplied: `renderItem(item, index)` returns\nwhatever `lit-html` value should represent that row (typically a\n`TemplateResult`), and `keyFunction(item, index)` gives it a stable\nidentity for `repeat()`'s DOM-reconciliation key, so scroll position and\nany per-row state (e.g. an `<audio>` element's playback position) survive\nan `items` mutation instead of every row remounting from scratch.\n\n**Windowing math.** Every row — in both `row-height` modes — is positioned\nby a `transform: translateY(offset)` computed from a single cumulative\n`offsets` array (`offsets[i]` = the pixel top of row `i`), rather than by\npage flow. This is what lets only a small DOM window exist while the\nscrollbar still reflects the *true* total content height:\n- **`row-height=\"auto\"` (default).** Each currently-rendered row is\n watched by a `ResizeObserver`; its real height lands in a per-key\n `Map`, and any row not yet measured contributes `DEFAULT_ROW_ESTIMATE_PX`\n to the offsets array until it has been. `offsets` is *not* the same\n thing as a page-count-based `padding-top`/`padding-bottom` spacer pair —\n that approach reflows every unmeasured row's position on every new\n measurement, which is exactly what per-row transform offsets avoid: only\n the rows *after* a newly-measured one shift, and even that shift is a\n cheap style recompute, not a layout-affecting padding change.\n- **Fixed numeric `row-height`.** No measurement needed — `offsets[i]` is\n just `i * rowHeightPx`, computed by the exact same cumulative-array code\n path (a dedicated \"single spacer + start-index\" special case was\n considered and would work too, but reusing one code path for both modes\n avoids maintaining two parallel rendering strategies for a difference\n that's otherwise just \"how is row *i*'s height looked up\").\n\nThe `offsets` array is rebuilt only when `items`, `row-height`, or\n`keyFunction` change, or a row's measured height changes -- not on every\nupdate, so a pure scroll-position tick (potentially every rAF while\nscrolling) only re-runs the cheap range/visibility math in\n`computeRange()`, never the `O(n)` offsets rebuild (which, in\n`row-height=\"auto\"` mode, also means a `keyFunction` call per item). For\nthe list sizes this component is meant for (a scrollable history sidebar,\nrealistically hundreds to a few thousand rows) that rebuild is a trivial\n`O(n)` arithmetic loop even when it does run; it is *not* the right\napproach for a hundred-thousand-row list without further work (e.g. a\nFenwick/segment tree for `O(log n)` offset queries+updates), which is out\nof scope here.\n\n**Accessibility.** The scroll container is `role=\"list\"` and each rendered\nrow is `role=\"listitem\"`, deliberately *not* `listbox`/`option` — this\ncomponent only provides windowing, not the roving-tabindex/\n`aria-activedescendant` keyboard-interaction contract ARIA requires\nalongside a real `listbox`. A consumer that wants full single-select\nlistbox semantics on top of this should compose that behavior itself (see\n`<lr-select>`'s pattern), the same way this component's `active-id`\nonly *scrolls* the matching row into view and marks it `aria-current` —\nit never claims to be a selection widget. `aria-setsize`/`aria-posinset`\nare computed from the row's real index in the full `items` array (not its\nposition among the currently-rendered DOM window), so a screen reader\nstill announces e.g. \"item 12 of 340\" correctly. `[part=\"base\"]` itself\ncarries `tabindex=\"0\"` — `renderItem`'s content is caller-supplied and not\nguaranteed to contain a focusable element, and a scrollable region with no\nfocusable content of its own is otherwise unreachable by keyboard (native\narrow/Page Up/Page Down scrolling included).\n\n**Grouping.** When supplied, `groups` renders a labeled group marker at the corresponding\n`startIndex`. Markers are windowed with the rows, while normalized group metadata stays cached\nfor sticky-header lookup; one-group-per-row catalogs therefore remain bounded.\n\n**Sticky group headers.** `renderStickyGroup` adds a `[part=\"sticky-group\"]` overlay pinned to the\ntop of the scroll viewport, showing the `groups` entry the viewport is currently inside; as the\nnext group's header arrives it is pushed out by the overlap rather than swapped abruptly. Unset\n(the default) renders no overlay element at all, and the list renders exactly as it does without\nthis feature. Four properties of the overlay matter to a consumer:\n- It is a **visual copy** of content that already exists in the list, so it is `aria-hidden` and\n any ordinary focusable element inside it is forced to `tabindex=\"-1\"`: the real row keeps sole\n ownership of the heading semantics and of the tab order. (`inert` would express this more\n directly but would also block the pointer opt-in below, so it is deliberately not used; a\n focus-delegating custom element rendered into the overlay needs its own `tabindex=\"-1\"`.)\n- It is **`pointer-events: none` by default**; a consumer whose header content is interactive\n opts in with `lr-virtual-list::part(sticky-group) { pointer-events: auto; }`.\n- It is **never measured as a row.** It contributes nothing to `offsets`, so a group header that\n is also a real row is not counted twice in `row-height=\"auto\"` mode.\n- Its measured height becomes a `scroll-padding-block-start` on the scroll container, so both\n `active-id`/`scrollToIndex` and native keyboard scrolling stop *below* the band instead of\n parking the target row behind it. Scrolled above the first group the band shows nothing but\n stays mounted, so that height is known before the first jump rather than after it.\nA host that renders its own group headers as ordinary rows supplies `groups` purely as position\nanchors, with `label: ''` so no duplicate `[part=\"group\"]` marker renders.\n\n**Position queries.** `offsetForIndex(index)` and `indexAtOffset(px)` expose the windowing math\nitself: they translate between an item index and the pixel offset that row renders at, in the same\ncoordinate space as the scroll container's `scrollTop`. A host doing its own scroll-linked layout\n(a pinned group header, a scrollbar minimap, a \"jump to here\" affordance) needs those numbers and\nwould otherwise have to duplicate the offsets array.\n\n**Programmatic scrolling.** `scrollToIndex()` is the public counterpart to `active-id`'s automatic\nscroll-into-view -- used by `<lr-chat-viewport>`'s virtual mode and any other host that needs to\nscroll to a specific row without also changing which row is \"active.\"\n\n**`item-role=\"row\"` mode.** Additive to the default `'listitem'` mapping above: `[part=\"base\"]`\nbecomes `role=\"rowgroup\"`, `[part=\"spacer\"]` becomes `role=\"presentation\"`, and each row becomes\n`role=\"row\"` with `aria-rowindex` (the row's 1-based index plus `row-index-offset`) instead of\n`aria-setsize`/`aria-posinset`. For a consumer composing its own `role=\"table\"` wrapper and header\nrow around this component (see `<lr-dataset-viewer>`), where `row-index-offset=\"1\"` accounts for\nthat external header row occupying `aria-rowindex=\"1\"`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The scrollable container (`role=\"list\"`). |\n| `group` | A positioned group label. Not rendered for a `groups` entry whose `label` is the empty string (a position-anchor-only entry). |\n| `row` | One rendered row's absolutely-positioned wrapper (`role=\"listitem\"`); `renderItem`'s return value renders inside it. |\n| `spacer` | The full-content-height inner element that gives the container its true scrollable extent. |\n| `sticky-group` | The pinned copy of the current group, rendered only while `renderStickyGroup` is set (and showing nothing while the viewport is above the first group, where there is no group to pin). `aria-hidden` and `pointer-events: none` by default — style this part with `pointer-events: auto` to make copied interactive content clickable again. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-virtual-list-height` (default: `var(--lr-size-24rem)`) — The scroll viewport's height. A virtualized list needs a bounded scroll extent, so this ships a default rather than collapsing to zero when a caller does not size the host.\n- `--lr-virtual-list-hover-outline-color` (default: `var(--lr-color-border-strong)`) — Outline color of the mouse-hover preview on `[part=\"base\"]` (a subtler, always-focusable-target preview of its own `:focus-visible` ring). Set to `transparent` to opt out of the hover treatment entirely."
|
|
15621
16318
|
},
|
|
15622
16319
|
"attributes": [
|
|
15623
16320
|
{
|
|
15624
16321
|
"name": "active-id",
|
|
15625
16322
|
"description": {
|
|
15626
16323
|
"kind": "markdown",
|
|
15627
|
-
"value": "When set and it matches a row's typed `keyFunction` result, that row is\nsmoothly scrolled into view whenever this changes. Attribute values are\nstrings; assign the property for a numeric key.\n\nType: `VirtualListKey |
|
|
16324
|
+
"value": "When set and it matches a row's typed `keyFunction` result, that row is\nsmoothly scrolled into view whenever this changes. Attribute values are\nstrings; assign the property for a numeric key.\n\nType: `VirtualListKey | \"\"` \nDefault: `\"\"`"
|
|
15628
16325
|
}
|
|
15629
16326
|
},
|
|
15630
16327
|
{
|
|
@@ -15638,7 +16335,7 @@
|
|
|
15638
16335
|
"name": "item-role",
|
|
15639
16336
|
"description": {
|
|
15640
16337
|
"kind": "markdown",
|
|
15641
|
-
"value": "`'listitem'` (default) preserves today's `role=\"list\"`/`role=\"listitem\"` mapping with\n`aria-setsize`/`aria-posinset`. `'row'` maps to `role=\"rowgroup\"`/`role=\"row\"` with\n`aria-rowindex` instead -- for a consumer composing a virtualized `role=\"table\"` (see\n`<lr-dataset-viewer>`).\n\nType: `VirtualListItemRole` \nDefault:
|
|
16338
|
+
"value": "`'listitem'` (default) preserves today's `role=\"list\"`/`role=\"listitem\"` mapping with\n`aria-setsize`/`aria-posinset`. `'row'` maps to `role=\"rowgroup\"`/`role=\"row\"` with\n`aria-rowindex` instead -- for a consumer composing a virtualized `role=\"table\"` (see\n`<lr-dataset-viewer>`).\n\nType: `VirtualListItemRole` \nDefault: `\"listitem\"`"
|
|
15642
16339
|
}
|
|
15643
16340
|
},
|
|
15644
16341
|
{
|
|
@@ -15666,7 +16363,7 @@
|
|
|
15666
16363
|
"name": "row-height",
|
|
15667
16364
|
"description": {
|
|
15668
16365
|
"kind": "markdown",
|
|
15669
|
-
"value": "`'auto'` (default) measures each row's real height via `ResizeObserver`;\na numeric string fixes every row to that many pixels.\n\nType: `string` \nDefault:
|
|
16366
|
+
"value": "`'auto'` (default) measures each row's real height via `ResizeObserver`;\na numeric string fixes every row to that many pixels.\n\nType: `string` \nDefault: `\"auto\"`"
|
|
15670
16367
|
}
|
|
15671
16368
|
},
|
|
15672
16369
|
{
|
|
@@ -15682,7 +16379,7 @@
|
|
|
15682
16379
|
"name": "lr-voice-picker",
|
|
15683
16380
|
"description": {
|
|
15684
16381
|
"kind": "markdown",
|
|
15685
|
-
"value": "`<lr-voice-picker>` — a TTS voice selector over a host-supplied `catalog`, mirroring\n`lr-model-select`'s closed-dropdown/free-text-combobox dual mode, stale-value handling, and\nform-association verbatim (see that class's own doc for the full mode-switching contract this one\nshares), extended with a TTS-agnostic preview affordance: a standalone, always-tab-reachable\n`[part=\"preview-button\"]` beside the trigger previews the active option while open, else the\ncommitted value; per-row `[part=\"option-preview\"]` icons are pointer-only duplicates\n(`tabindex=\"-1\"`, `aria-hidden=\"true\"`) since a listbox option must not contain a focusable\ndescendant.\n\nPreview is event-first: `lr-preview-request` always fires first and is cancelable. Left\nun-prevented, a `previewUrl` plays through one internal native `<audio>` (the URL passes\n`safeMediaSrc()` first); `preventDefault()` or no URL leaves playback entirely to the host's own\nTTS. Requesting the same voice while it is already playing internally stops it instead of\nre-requesting; requesting a different voice switches. `lr-preview-change` reports internal\nplayback start/stop (`voiceId: null` on stop/end/error).\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `error` | Custom error content. |\n| `hint` | Custom hint content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `combobox` | The text-input container (free-text mode). |\n| `combobox-input` | The free-text `<input>`. |\n| `empty` | The empty-listbox message. |\n| `error` | The error message. |\n| `expand-icon` | The dropdown indicator. |\n| `form-control-label` | The `<label>` element. |\n| `hint` | The hint message. |\n| `listbox` | The options popover. |\n| `option` | An option row. |\n| `option-badge` | The \"not in catalog\" badge on a synthetic stale-value row. |\n| `option-label` | An option row's label/meta wrapper. |\n| `option-meta` | An option row's quiet `language · description` second line. |\n| `option-preview` | A pointer-only per-row preview icon (`tabindex=\"-1\"`, `aria-hidden`). |\n| `preview-button` | The standalone, keyboard-reachable preview toggle beside the trigger. |\n| `provider-badge` | The optional leading `provider` label. |\n| `trigger` | The trigger button (closed-dropdown mode).
|
|
16382
|
+
"value": "`<lr-voice-picker>` — a TTS voice selector over a host-supplied `catalog`, mirroring\n`lr-model-select`'s closed-dropdown/free-text-combobox dual mode, stale-value handling, and\nform-association verbatim (see that class's own doc for the full mode-switching contract this one\nshares), extended with a TTS-agnostic preview affordance: a standalone, always-tab-reachable\n`[part=\"preview-button\"]` beside the trigger previews the active option while open, else the\ncommitted value; per-row `[part=\"option-preview\"]` icons are pointer-only duplicates\n(`tabindex=\"-1\"`, `aria-hidden=\"true\"`) since a listbox option must not contain a focusable\ndescendant.\n\nPreview is event-first: `lr-preview-request` always fires first and is cancelable. Left\nun-prevented, a `previewUrl` plays through one internal native `<audio>` (the URL passes\n`safeMediaSrc()` first); `preventDefault()` or no URL leaves playback entirely to the host's own\nTTS. Requesting the same voice while it is already playing internally stops it instead of\nre-requesting; requesting a different voice switches. `lr-preview-change` reports internal\nplayback start/stop (`voiceId: null` on stop/end/error).\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `error` | Custom error content. |\n| `hint` | Custom hint content. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `combobox` | The text-input container (free-text mode). |\n| `combobox-input` | The free-text `<input>`. |\n| `empty` | The empty-listbox message. |\n| `error` | The error message. |\n| `expand-icon` | The dropdown indicator. |\n| `form-control-label` | The `<label>` element. |\n| `hint` | The hint message. |\n| `listbox` | The options popover. |\n| `option` | An option row. |\n| `option-badge` | The \"not in catalog\" badge on a synthetic stale-value row. |\n| `option-label` | An option row's label/meta wrapper. |\n| `option-meta` | An option row's quiet `language · description` second line. |\n| `option-preview` | A pointer-only per-row preview icon (`tabindex=\"-1\"`, `aria-hidden`). |\n| `preview-button` | The standalone, keyboard-reachable preview toggle beside the trigger. |\n| `provider-badge` | The optional leading `provider` label. |\n| `trigger` | The trigger button (closed-dropdown mode). |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-voice-picker-preview-active-border` (default: `var(--lr-color-brand)`) — Active preview border.\n- `--lr-voice-picker-preview-active-color` (default: `var(--lr-color-brand)`) — Active preview icon.\n- `--lr-voice-picker-option-active-bg` (default: `var(--lr-color-brand-quiet)`) — Active option fill.\n- `--lr-voice-picker-option-selected-border` (default: `var(--lr-color-brand)`) — Selected option border.\n- `--lr-voice-picker-option-selected-color` (default: `var(--lr-color-brand)`) — Selected option text.\n- `--lr-voice-picker-option-selected-bg` (default: `transparent`) — Selected option fill.\n- `--lr-voice-picker-option-selected-font-weight` (default: `var(--lr-font-weight-semibold)`) — Selected option label weight.\n- `--lr-voice-picker-preview-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Preview hover fill.\n- `--lr-voice-picker-preview-hover-color` (default: `var(--lr-color-brand)`) — Preview hover icon."
|
|
15686
16383
|
},
|
|
15687
16384
|
"attributes": [
|
|
15688
16385
|
{
|
|
@@ -15824,7 +16521,7 @@
|
|
|
15824
16521
|
"name": "lr-widget",
|
|
15825
16522
|
"description": {
|
|
15826
16523
|
"kind": "markdown",
|
|
15827
|
-
"value": "`<lr-widget>` — a titled panel shell with an optional collapse toggle and\nan optional fullscreen-expand toggle. Fullscreen promotes the same host\nelement in place (a CSS state, not a clone/portal), so slotted content\n(a chart, a running simulation, scroll position) survives the transition.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | The panel body. |\n| `actions` | Header action controls, rendered before the collapse/expand buttons. |\n| `collapse-icon` | Overrides the built-in chevron glyph inside the collapse/expand toggle button entirely, via the platform's own slot-fallback-content mechanism (same convention as `<lr-tool-call-chip>`'s `icon` slot): whatever is assigned wins, otherwise the default chevron renders. Only meaningful while `collapsible`. |\n| `fullscreen-icon` | Overrides the built-in expand/close glyph inside the fullscreen toggle button entirely, using the same mechanism -- the override replaces *both* the \"expand\" and \"exit fullscreen\" default icons, so a consumer supplying one is responsible for its own expand/exit distinction (e.g. by reading the `fullscreen` attribute). Only meaningful while `expandable`. |\n| `icon` | Optional leading icon in the title row. |\n| `label` | Rich label content (overrides the `label` attribute). |\n| `sublabel` | Rich sublabel content (overrides the `sublabel` attribute). |\n| `view-{id}` | Content for the view whose `WidgetView.id` matches `{id}`, rendered when `views` is non-empty. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `actions` | The wrapper around the `actions` slot. |\n| `backdrop` | The fullscreen scrim behind the panel. |\n| `base` | The panel root (dialog role + backdrop when fullscreen). |\n| `body` | The wrapper around the default slot (the panel body). |\n| `collapse-button` | The collapse/expand toggle button. |\n| `fullscreen-button` | The fullscreen toggle button. |\n| `header` | The header row containing the title, actions, and toggle buttons. |\n| `icon` | Wrapper around the `icon` slot. Hidden entirely when empty. |\n| `label` | The panel title text. |\n| `label-group` | Wrapper around the label and sublabel. |\n| `sublabel` | The panel subtitle text. |\n| `title` | The wrapper around the label/sublabel. |\n| `view-toggle` | A single view toggle button. |\n| `view-toggles` | The header toggle-button group, only rendered when `views` is non-empty. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-widget-overlay-color` (default: `var(--lr-color-overlay)`) — The fullscreen scrim's color, applied to `[part=\"backdrop\"]`.\n- `--lr-widget-view-toggle-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of the pressed (`aria-pressed=\"true\"`) view toggle. Declared as an inline `var()` fallback (never on `:host`), so setting it on the element or an ancestor recolors only the active toggle without hijacking the library-wide `--lr-color-brand-quiet` token.\n- `--lr-widget-view-toggle-active-color` (default: `var(--lr-color-brand)`) — Text color of the pressed view toggle.\n- `--lr-widget-fullscreen-inset` (default: `max(var(--lr-space-l), var(--lr-safe-area-top)) max(var(--lr-space-l), var(--lr-safe-area-inline-end)) max(var(--lr-space-l), var(--lr-safe-area-bottom)) max(var(--lr-space-l), var(--lr-safe-area-inline-start))`) — The `inset` applied to `[part=\"base\"]` while `fullscreen`. Also set inline from the `fullscreen-inset` attribute.\n- `--lr-widget-backdrop-inset` (default: `var(--lr-widget-fullscreen-inset)`) — The `inset` applied to `[part=\"backdrop\"]`, so the scrim can be pulled back independently of the panel. Also set inline from the `backdrop-inset` attribute (falling back to `fullscreen-inset`). `fullscreen-inset` overrides the default `var(--lr-space-l)` inset applied to `[part=\"base\"]` and `[part=\"backdrop\"]` while fullscreen (e.g. `\"0 0 0 240px\"` to leave a persistent sidebar visible). `compact` tightens header/body padding — same convention as `lr-empty`'s `compact`."
|
|
16524
|
+
"value": "`<lr-widget>` — a titled panel shell with an optional collapse toggle and\nan optional fullscreen-expand toggle. Fullscreen promotes the same host\nelement in place (a CSS state, not a clone/portal), so slotted content\n(a chart, a running simulation, scroll position) survives the transition.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | The panel body. |\n| `actions` | Header action controls, rendered before the collapse/expand buttons. |\n| `collapse-icon` | Overrides the built-in chevron glyph inside the collapse/expand toggle button entirely, via the platform's own slot-fallback-content mechanism (same convention as `<lr-tool-call-chip>`'s `icon` slot): whatever is assigned wins, otherwise the default chevron renders. Only meaningful while `collapsible`. |\n| `fullscreen-icon` | Overrides the built-in expand/close glyph inside the fullscreen toggle button entirely, using the same mechanism -- the override replaces *both* the \"expand\" and \"exit fullscreen\" default icons, so a consumer supplying one is responsible for its own expand/exit distinction (e.g. by reading the `fullscreen` attribute). Only meaningful while `expandable`. |\n| `icon` | Optional leading icon in the title row. |\n| `label` | Rich label content (overrides the `label` attribute). |\n| `sublabel` | Rich sublabel content (overrides the `sublabel` attribute). |\n| `view-{id}` | Content for the view whose `WidgetView.id` matches `{id}`, rendered when `views` is non-empty. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `actions` | The wrapper around the `actions` slot. |\n| `backdrop` | The fullscreen scrim behind the panel. |\n| `base` | The panel root (dialog role + backdrop when fullscreen). |\n| `body` | The wrapper around the default slot (the panel body). |\n| `collapse-button` | The collapse/expand toggle button. |\n| `fullscreen-button` | The fullscreen toggle button. |\n| `header` | The header row containing the title, actions, and toggle buttons. |\n| `icon` | Wrapper around the `icon` slot. Hidden entirely when empty. |\n| `label` | The panel title text. |\n| `label-group` | Wrapper around the label and sublabel. |\n| `sublabel` | The panel subtitle text. |\n| `title` | The wrapper around the label/sublabel. |\n| `view-icon` | Decorative icon content inside a view toggle. |\n| `view-label` | Visible label text inside a view toggle. |\n| `view-toggle` | A single view toggle button. |\n| `view-toggles` | The header toggle-button group, only rendered when `views` is non-empty. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-widget-overlay-color` (default: `var(--lr-color-overlay)`) — The fullscreen scrim's color, applied to `[part=\"backdrop\"]`.\n- `--lr-widget-view-toggle-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of the pressed (`aria-pressed=\"true\"`) view toggle. Declared as an inline `var()` fallback (never on `:host`), so setting it on the element or an ancestor recolors only the active toggle without hijacking the library-wide `--lr-color-brand-quiet` token.\n- `--lr-widget-view-toggle-active-color` (default: `var(--lr-color-brand)`) — Text color of the pressed view toggle.\n- `--lr-widget-fullscreen-inset` (default: `max(var(--lr-space-l), var(--lr-safe-area-top)) max(var(--lr-space-l), var(--lr-safe-area-inline-end)) max(var(--lr-space-l), var(--lr-safe-area-bottom)) max(var(--lr-space-l), var(--lr-safe-area-inline-start))`) — The `inset` applied to `[part=\"base\"]` while `fullscreen`. Also set inline from the `fullscreen-inset` attribute.\n- `--lr-widget-backdrop-inset` (default: `var(--lr-widget-fullscreen-inset)`) — The `inset` applied to `[part=\"backdrop\"]`, so the scrim can be pulled back independently of the panel. Also set inline from the `backdrop-inset` attribute (falling back to `fullscreen-inset`). `fullscreen-inset` overrides the default `var(--lr-space-l)` inset applied to `[part=\"base\"]` and `[part=\"backdrop\"]` while fullscreen (e.g. `\"0 0 0 240px\"` to leave a persistent sidebar visible). `compact` tightens header/body padding — same convention as `lr-empty`'s `compact`."
|
|
15828
16525
|
},
|
|
15829
16526
|
"attributes": [
|
|
15830
16527
|
{
|
|
@@ -15838,7 +16535,7 @@
|
|
|
15838
16535
|
"name": "backdrop-inset",
|
|
15839
16536
|
"description": {
|
|
15840
16537
|
"kind": "markdown",
|
|
15841
|
-
"value": "Overrides the fullscreen *backdrop*'s own inset independent of `fullscreen-inset` -- e.g.\n`\"0\"` to dim the full viewport-to-panel-edge region while the panel itself keeps a narrower\n`fullscreen-inset`. Unset (the default) falls back to `fullscreen-inset`, i.e. today's exact\ncoupled behavior.\n\nType: `string` \nDefault: `
|
|
16538
|
+
"value": "Overrides the fullscreen *backdrop*'s own inset independent of `fullscreen-inset` -- e.g.\n`\"0\"` to dim the full viewport-to-panel-edge region while the panel itself keeps a narrower\n`fullscreen-inset`. Unset (the default) falls back to `fullscreen-inset`, i.e. today's exact\ncoupled behavior.\n\nType: `string` \nDefault: `\"\"`"
|
|
15842
16539
|
}
|
|
15843
16540
|
},
|
|
15844
16541
|
{
|
|
@@ -15880,14 +16577,14 @@
|
|
|
15880
16577
|
"name": "fullscreen-inset",
|
|
15881
16578
|
"description": {
|
|
15882
16579
|
"kind": "markdown",
|
|
15883
|
-
"value": "Raw CSS `inset` shorthand applied to the fullscreen panel and backdrop instead of the default\n`var(--lr-space-l)` on every side — e.g. `\"0 0 0 240px\"` to leave a 240px persistent sidebar\nvisible while fullscreen.\n\nType: `string` \nDefault: `
|
|
16580
|
+
"value": "Raw CSS `inset` shorthand applied to the fullscreen panel and backdrop instead of the default\n`var(--lr-space-l)` on every side — e.g. `\"0 0 0 240px\"` to leave a 240px persistent sidebar\nvisible while fullscreen.\n\nType: `string` \nDefault: `\"\"`"
|
|
15884
16581
|
}
|
|
15885
16582
|
},
|
|
15886
16583
|
{
|
|
15887
16584
|
"name": "label",
|
|
15888
16585
|
"description": {
|
|
15889
16586
|
"kind": "markdown",
|
|
15890
|
-
"value": "Type: `string` \nDefault: `
|
|
16587
|
+
"value": "Type: `string` \nDefault: `\"\"`"
|
|
15891
16588
|
}
|
|
15892
16589
|
},
|
|
15893
16590
|
{
|
|
@@ -15908,7 +16605,7 @@
|
|
|
15908
16605
|
"name": "sublabel",
|
|
15909
16606
|
"description": {
|
|
15910
16607
|
"kind": "markdown",
|
|
15911
|
-
"value": "Type: `string` \nDefault: `
|
|
16608
|
+
"value": "Type: `string` \nDefault: `\"\"`"
|
|
15912
16609
|
}
|
|
15913
16610
|
}
|
|
15914
16611
|
]
|