@aceshooting/lyra-ui 7.7.0 → 7.8.1
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 +279 -0
- package/custom-elements.json +5954 -4329
- package/dist/components/agent-tools/artifact-panel/artifact-panel.class.d.ts +4 -0
- 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 +11 -4
- package/dist/components/agent-tools/artifact-panel/artifact-panel.class.js.map +1 -1
- package/dist/components/agent-tools/browser-frame/browser-frame.class.d.ts +4 -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 +13 -4
- package/dist/components/agent-tools/browser-frame/browser-frame.class.js.map +1 -1
- package/dist/components/agent-tools/commit-card/commit-card.class.d.ts +4 -0
- 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 +10 -3
- package/dist/components/agent-tools/commit-card/commit-card.class.js.map +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts +6 -0
- 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 +6 -0
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js.map +1 -1
- package/dist/components/agent-tools/mcp-app/mcp-app.class.js +1 -1
- package/dist/components/agent-tools/mcp-app/mcp-app.class.js.map +1 -1
- 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 +8 -1
- package/dist/components/agent-tools/stack-trace/stack-trace.class.js.map +1 -1
- package/dist/components/agent-tools/terminal/terminal.class.d.ts +8 -2
- package/dist/components/agent-tools/terminal/terminal.class.d.ts.map +1 -1
- package/dist/components/agent-tools/terminal/terminal.class.js +12 -4
- package/dist/components/agent-tools/terminal/terminal.class.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 +2 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.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 +4 -0
- package/dist/components/charts/chart/box-plot.styles.js.map +1 -1
- package/dist/components/charts/chart/chart.styles.d.ts.map +1 -1
- package/dist/components/charts/chart/chart.styles.js +6 -0
- package/dist/components/charts/chart/chart.styles.js.map +1 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts.map +1 -1
- package/dist/components/charts/chart/lite-chart.class.js +3 -2
- package/dist/components/charts/chart/lite-chart.class.js.map +1 -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 +9 -1
- package/dist/components/conversation/code-block/code-block-shared.js.map +1 -1
- package/dist/components/conversation/conversation-item/conversation-item.class.d.ts.map +1 -1
- package/dist/components/conversation/conversation-item/conversation-item.class.js +2 -1
- package/dist/components/conversation/conversation-item/conversation-item.class.js.map +1 -1
- package/dist/components/conversation/markdown/markdown-core.class.d.ts.map +1 -1
- package/dist/components/conversation/markdown/markdown-core.class.js +2 -1
- package/dist/components/conversation/markdown/markdown-core.class.js.map +1 -1
- package/dist/components/conversation/markdown/markdown-shared.d.ts +6 -1
- package/dist/components/conversation/markdown/markdown-shared.d.ts.map +1 -1
- package/dist/components/conversation/markdown/markdown-shared.js +6 -3
- package/dist/components/conversation/markdown/markdown-shared.js.map +1 -1
- package/dist/components/conversation/markdown/markdown.class.d.ts.map +1 -1
- package/dist/components/conversation/markdown/markdown.class.js +2 -1
- package/dist/components/conversation/markdown/markdown.class.js.map +1 -1
- package/dist/components/conversation/message-actions/message-actions.class.d.ts.map +1 -1
- package/dist/components/conversation/message-actions/message-actions.class.js +2 -1
- package/dist/components/conversation/message-actions/message-actions.class.js.map +1 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.d.ts.map +1 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.js +2 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.js.map +1 -1
- package/dist/components/conversation/suggestion-chips/suggestion-chips.class.d.ts.map +1 -1
- package/dist/components/conversation/suggestion-chips/suggestion-chips.class.js +2 -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.map +1 -1
- package/dist/components/conversation/thread-list/thread-list.class.js +2 -1
- package/dist/components/conversation/thread-list/thread-list.class.js.map +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.class.d.ts.map +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.class.js +2 -1
- package/dist/components/conversation/voice-picker/voice-picker.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/document-library/document-library.class.d.ts +6 -0
- package/dist/components/data/document-library/document-library.class.d.ts.map +1 -1
- package/dist/components/data/document-library/document-library.class.js +7 -0
- package/dist/components/data/document-library/document-library.class.js.map +1 -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 +2 -1
- package/dist/components/data/env-list/env-list.class.js.map +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +4 -0
- package/dist/components/data/heatmap/heatmap.class.d.ts.map +1 -1
- package/dist/components/data/heatmap/heatmap.class.js +9 -3
- package/dist/components/data/heatmap/heatmap.class.js.map +1 -1
- package/dist/components/data/query-builder/query-builder.class.d.ts +4 -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 +10 -2
- package/dist/components/data/query-builder/query-builder.class.js.map +1 -1
- package/dist/components/data/table/table.class.d.ts.map +1 -1
- package/dist/components/data/table/table.class.js +11 -5
- package/dist/components/data/table/table.class.js.map +1 -1
- package/dist/components/data/table/table.styles.d.ts.map +1 -1
- package/dist/components/data/table/table.styles.js +4 -1
- package/dist/components/data/table/table.styles.js.map +1 -1
- package/dist/components/data/timeline/timeline.class.d.ts +3 -1
- package/dist/components/data/timeline/timeline.class.d.ts.map +1 -1
- package/dist/components/data/timeline/timeline.class.js +9 -3
- 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 +10 -5
- package/dist/components/data/timeline/timeline.styles.js.map +1 -1
- package/dist/components/data/tree/tree.class.d.ts +4 -0
- package/dist/components/data/tree/tree.class.d.ts.map +1 -1
- package/dist/components/data/tree/tree.class.js +18 -7
- package/dist/components/data/tree/tree.class.js.map +1 -1
- package/dist/components/data/word-cloud/word-cloud.class.d.ts +4 -0
- package/dist/components/data/word-cloud/word-cloud.class.d.ts.map +1 -1
- package/dist/components/data/word-cloud/word-cloud.class.js +7 -1
- package/dist/components/data/word-cloud/word-cloud.class.js.map +1 -1
- package/dist/components/forms/radio/radio-group.class.d.ts.map +1 -1
- package/dist/components/forms/radio/radio-group.class.js +6 -1
- package/dist/components/forms/radio/radio-group.class.js.map +1 -1
- package/dist/components/forms/radio/radio.class.d.ts.map +1 -1
- package/dist/components/forms/radio/radio.class.js +5 -0
- package/dist/components/forms/radio/radio.class.js.map +1 -1
- package/dist/components/layout/command-palette/command-palette.class.d.ts +7 -0
- package/dist/components/layout/command-palette/command-palette.class.d.ts.map +1 -1
- package/dist/components/layout/command-palette/command-palette.class.js +45 -7
- package/dist/components/layout/command-palette/command-palette.class.js.map +1 -1
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts +3 -0
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts.map +1 -1
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +21 -3
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.js.map +1 -1
- package/dist/components/layout/segmented/segmented.class.d.ts +3 -1
- package/dist/components/layout/segmented/segmented.class.d.ts.map +1 -1
- package/dist/components/layout/segmented/segmented.class.js +11 -5
- 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 +12 -6
- package/dist/components/layout/segmented/segmented.styles.js.map +1 -1
- package/dist/components/layout/stepper/stepper.class.d.ts +1 -0
- package/dist/components/layout/stepper/stepper.class.d.ts.map +1 -1
- package/dist/components/layout/stepper/stepper.class.js +10 -6
- 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 +28 -12
- package/dist/components/layout/stepper/stepper.styles.js.map +1 -1
- package/dist/components/layout/tabs/tabs.class.d.ts +3 -1
- package/dist/components/layout/tabs/tabs.class.d.ts.map +1 -1
- package/dist/components/layout/tabs/tabs.class.js +10 -4
- package/dist/components/layout/tabs/tabs.class.js.map +1 -1
- package/dist/components/layout/tabs/tabs.styles.d.ts.map +1 -1
- package/dist/components/layout/tabs/tabs.styles.js +10 -5
- package/dist/components/layout/tabs/tabs.styles.js.map +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.d.ts +16 -0
- package/dist/components/layout/virtual-list/virtual-list.class.d.ts.map +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.js +26 -7
- package/dist/components/layout/virtual-list/virtual-list.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 +7 -0
- package/dist/components/layout/widget/widget.styles.js.map +1 -1
- package/dist/components/media/attachment-chip/attachment-chip.class.d.ts.map +1 -1
- package/dist/components/media/attachment-chip/attachment-chip.class.js +5 -1
- package/dist/components/media/attachment-chip/attachment-chip.class.js.map +1 -1
- package/dist/components/media/av-player/av-player.class.d.ts +8 -4
- package/dist/components/media/av-player/av-player.class.d.ts.map +1 -1
- package/dist/components/media/av-player/av-player.class.js +14 -8
- package/dist/components/media/av-player/av-player.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 +2 -2
- package/dist/components/media/zoomable-frame/zoomable-frame.class.js.map +1 -1
- package/dist/components/overlays/progress/progress-ring.class.d.ts.map +1 -1
- package/dist/components/overlays/progress/progress-ring.class.js +6 -0
- package/dist/components/overlays/progress/progress-ring.class.js.map +1 -1
- package/dist/components/overlays/rating/rating.styles.d.ts.map +1 -1
- package/dist/components/overlays/rating/rating.styles.js +5 -1
- package/dist/components/overlays/rating/rating.styles.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 +5 -0
- package/dist/components/retrieval/citation-badge/citation-badge.styles.js.map +1 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts +18 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts.map +1 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +30 -3
- 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 +8 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.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 -0
- package/dist/components/retrieval/entity-chip/entity-chip.styles.js.map +1 -1
- package/dist/components/retrieval/graph/graph.class.d.ts.map +1 -1
- package/dist/components/retrieval/graph/graph.class.js +2 -1
- package/dist/components/retrieval/graph/graph.class.js.map +1 -1
- 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 +2 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js.map +1 -1
- package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts +25 -0
- 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 -1
- package/dist/components/retrieval/memory-panel/memory-panel.class.js.map +1 -1
- package/dist/components/retrieval/node-palette/node-palette.class.d.ts.map +1 -1
- package/dist/components/retrieval/node-palette/node-palette.class.js +2 -1
- package/dist/components/retrieval/node-palette/node-palette.class.js.map +1 -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 +2 -1
- package/dist/components/retrieval/path-strip/path-strip.class.js.map +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts.map +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +2 -5
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.js.map +1 -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 +2 -1
- package/dist/components/retrieval/source-picker/source-picker.class.js.map +1 -1
- package/dist/components/utility/export-button/export-button.class.d.ts.map +1 -1
- package/dist/components/utility/export-button/export-button.class.js +3 -2
- package/dist/components/utility/export-button/export-button.class.js.map +1 -1
- package/dist/components/utility/known-date/known-date.class.d.ts.map +1 -1
- package/dist/components/utility/known-date/known-date.class.js +2 -1
- package/dist/components/utility/known-date/known-date.class.js.map +1 -1
- package/dist/components/utility/mention-popover/mention-popover.class.d.ts.map +1 -1
- package/dist/components/utility/mention-popover/mention-popover.class.js +2 -1
- package/dist/components/utility/mention-popover/mention-popover.class.js.map +1 -1
- package/dist/components/utility/tour/tour.class.d.ts.map +1 -1
- package/dist/components/utility/tour/tour.class.js +5 -0
- package/dist/components/utility/tour/tour.class.js.map +1 -1
- package/dist/components/viewers/csv-viewer/csv-viewer.class.js +1 -1
- package/dist/components/viewers/csv-viewer/csv-viewer.class.js.map +1 -1
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +1 -1
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js.map +1 -1
- package/dist/components/viewers/document-preview/document-preview.class.d.ts.map +1 -1
- package/dist/components/viewers/document-preview/document-preview.class.js +4 -1
- package/dist/components/viewers/document-preview/document-preview.class.js.map +1 -1
- package/dist/components/viewers/document-preview/document-preview.styles.js +2 -2
- package/dist/components/viewers/docx-viewer/docx-viewer.class.js +2 -2
- package/dist/components/viewers/docx-viewer/docx-viewer.class.js.map +1 -1
- package/dist/components/viewers/email-viewer/email-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/email-viewer/email-viewer.class.js +2 -1
- package/dist/components/viewers/email-viewer/email-viewer.class.js.map +1 -1
- package/dist/components/viewers/highlight-layer/highlight-layer.class.d.ts.map +1 -1
- package/dist/components/viewers/highlight-layer/highlight-layer.class.js +2 -1
- package/dist/components/viewers/highlight-layer/highlight-layer.class.js.map +1 -1
- package/dist/components/viewers/include/include.class.d.ts.map +1 -1
- package/dist/components/viewers/include/include.class.js +6 -1
- package/dist/components/viewers/include/include.class.js.map +1 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts +16 -2
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +36 -12
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js.map +1 -1
- package/dist/components/viewers/page-rail/page-rail.class.d.ts.map +1 -1
- package/dist/components/viewers/page-rail/page-rail.class.js +2 -1
- package/dist/components/viewers/page-rail/page-rail.class.js.map +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +3 -0
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +5 -2
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js.map +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.styles.js +1 -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 +6 -1
- package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js.map +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js.map +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts +8 -2
- package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.class.js +19 -7
- package/dist/components/viewers/xml-viewer/xml-viewer.class.js.map +1 -1
- package/dist/internal/active-element.d.ts +42 -0
- package/dist/internal/active-element.d.ts.map +1 -0
- package/dist/internal/active-element.js +60 -0
- package/dist/internal/active-element.js.map +1 -0
- package/dist/internal/anchor-target.d.ts.map +1 -1
- package/dist/internal/anchor-target.js +7 -1
- package/dist/internal/anchor-target.js.map +1 -1
- package/dist/internal/lyra-element.d.ts +18 -6
- package/dist/internal/lyra-element.d.ts.map +1 -1
- package/dist/internal/lyra-element.js +35 -15
- package/dist/internal/lyra-element.js.map +1 -1
- package/dist/internal/overlay-manager.d.ts.map +1 -1
- package/dist/internal/overlay-manager.js +2 -8
- package/dist/internal/overlay-manager.js.map +1 -1
- package/dist/internal/scroll-overflow.d.ts +60 -0
- package/dist/internal/scroll-overflow.d.ts.map +1 -0
- package/dist/internal/scroll-overflow.js +90 -0
- package/dist/internal/scroll-overflow.js.map +1 -0
- package/dist/internal/text-quote.d.ts +15 -0
- package/dist/internal/text-quote.d.ts.map +1 -1
- package/dist/internal/text-quote.js +13 -6
- package/dist/internal/text-quote.js.map +1 -1
- package/dist/internal/text-viewer-target.d.ts +0 -6
- package/dist/internal/text-viewer-target.d.ts.map +1 -1
- package/dist/internal/text-viewer-target.js +68 -21
- package/dist/internal/text-viewer-target.js.map +1 -1
- package/dist/internal/tokens.styles.d.ts.map +1 -1
- package/dist/internal/tokens.styles.js +17 -0
- package/dist/internal/tokens.styles.js.map +1 -1
- package/llms/components/lr-chat-viewport.md +2 -2
- package/llms/components/lr-embedding-explorer.md +8 -3
- package/llms/components/lr-memory-panel.md +11 -2
- package/llms/components/lr-notebook-viewer.md +4 -1
- package/llms/components/lr-pdf-viewer.md +6 -3
- package/llms/components/lr-segmented.md +3 -2
- package/llms/components/lr-usage-badge.md +1 -1
- package/llms/tokens.md +2 -1
- package/llms-full.txt +32 -11
- package/package.json +40 -38
- package/vscode-css-data.json +16 -2
- package/vscode-html-data.json +10 -10
- package/web-types.json +21 -13
package/vscode-html-data.json
CHANGED
|
@@ -3894,7 +3894,7 @@
|
|
|
3894
3894
|
"name": "lr-confirm-bar",
|
|
3895
3895
|
"description": {
|
|
3896
3896
|
"kind": "markdown",
|
|
3897
|
-
"value": "`<lr-confirm-bar>` — an inline, non-modal approve/deny block for one proposed action: the\nin-flow sibling of `<lr-tool-approval-dialog>` for confirmations that should sit in the\ntranscript instead of hijacking focus. Same `lr-approve`/`lr-deny` event shapes as the dialog,\nand the same `toolApprovalHeading`/`toolApprovalArgsLabel`/`deny`/`approve` localization keys, so\nthe two always translate in lockstep.\n\nNon-modal by contract: no focus trap, no scroll lock, no Escape/backdrop semantics, and it never\nsteals focus when it appears in the transcript. DOM and tab order put Deny before Approve (the\ndialog's safe-action-first rationale). On activation, focus moves synchronously to `[part=\"status\"]`\n(an always-rendered, `tabindex=\"-1\"` element) *before* the Deny/Approve buttons unmount, so focus\nnever has a gap where it would otherwise fall back to `<body>`.\n\nNo argument editing (escalate to `<lr-tool-approval-dialog>`'s `editable` when edit-before-approve\nmatters); no blocking/modality guarantee (a user can scroll past); no decision persistence or\n\"remember choice\" logic (the `footer` slot + host own that).\n\nDeny/Approve are `<lr-button>`s (`variant=\"neutral\"`/`\"brand\"`, `\"danger\"` under `tone=\"danger\"`),\nre-exporting `lr-button`'s own `base`/`label`/`start`/`end`/`spinner` parts under\n`{deny,approve}-button-{base,label,start,end,spinner}` so `--lr-button-*` theming and a consumer's\nexisting `lr-button` style fragments reach them like every other button in an app. An\n`lr-approve`/`lr-deny` listener can call `preventDefault()` to keep the decision open while its own\nasync work (e.g. a network call) is in flight: `pending` is set to the decision being made, showing\n`loading` on that button and `disabled` on the other, until the host finalizes by setting `.decision`\nor bounces back by clearing `.pending` to `null`.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Supplementary body content between the heading and the actions (e.g. a `lr-diff-view` of the proposed change). |\n| `footer` | Extra content at the start of the action row (e.g. a \"remember this choice\" checkbox), mirroring `lr-tool-approval-dialog`'s own `footer` slot. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `approve-button` | The built-in Approve `<lr-button>`. Named identically to the dialog's part. |\n| `approve-button-base` | Forwarded from the internal Approve `<lr-button>`'s own `base` part. |\n| `approve-button-end` | Forwarded from the internal Approve `<lr-button>`'s own `end` part. |\n| `approve-button-label` | Forwarded from the internal Approve `<lr-button>`'s own `label` part. |\n| `approve-button-spinner` | Forwarded from the internal Approve `<lr-button>`'s own `spinner` part, present only while `pending` is `'approved'`. |\n| `approve-button-start` | Forwarded from the internal Approve `<lr-button>`'s own `start` part. |\n| `args` | The `lr-details` + `lr-json-viewer` wrapper. Only rendered when `args` is defined. |\n| `base` | The root (`role=\"group\"`). |\n| `body` | The default-slot wrapper. |\n| `deny-button` | The built-in Deny `<lr-button>`. Named identically to the dialog's part. |\n| `deny-button-base` | Forwarded from the internal Deny `<lr-button>`'s own `base` part. |\n| `deny-button-end` | Forwarded from the internal Deny `<lr-button>`'s own `end` part. |\n| `deny-button-label` | Forwarded from the internal Deny `<lr-button>`'s own `label` part. |\n| `deny-button-spinner` | Forwarded from the internal Deny `<lr-button>`'s own `spinner` part, present only while `pending` is `'denied'`. |\n| `deny-button-start` | Forwarded from the internal Deny `<lr-button>`'s own `start` part. |\n| `footer` | The action row. |\n| `heading` | The heading. |\n| `status` | The decided-state text. Always present in the DOM (`tabindex=\"-1\"`) so focus has a stable, synchronous landing spot on activation. |\n| `tool-name` | The tool-name span within the heading. Only rendered when `heading` is unset. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-confirm-bar-compact-padding` (default: `0`) — Padding of `[part='base']` while `compact`. Accepts any padding shorthand.\n- `--lr-confirm-bar-compact-gap` (default: `var(--lr-space-s)`) — Gap between the row's items while `compact`.\n- `--lr-confirm-bar-compact-border` (default: `none`) — Border of `[part='base']` while `compact`. Accepts any `border` shorthand.\n- `--lr-confirm-bar-compact-radius` (default: `0`) — Border radius of `[part='base']` while `compact` (only visible once `--lr-confirm-bar-compact-border`/`-background` are set).\n- `--lr-confirm-bar-compact-background` (default: `transparent`) — Background of `[part='base']` while `compact`.\n- `--lr-confirm-bar-approved-color` (default: `var(--lr-color-success)`) — `[part='status']` text/icon color once `decision` is `'approved'`.\n- `--lr-confirm-bar-denied-color` (default: `var(--lr-color-danger)`) — `[part='status']` text/icon color once `decision` is `'denied'`."
|
|
3897
|
+
"value": "`<lr-confirm-bar>` — an inline, non-modal approve/deny block for one proposed action: the\nin-flow sibling of `<lr-tool-approval-dialog>` for confirmations that should sit in the\ntranscript instead of hijacking focus. Same `lr-approve`/`lr-deny` event shapes as the dialog,\nand the same `toolApprovalHeading`/`toolApprovalArgsLabel`/`deny`/`approve` localization keys, so\nthe two always translate in lockstep.\n\nNon-modal by contract: no focus trap, no scroll lock, no Escape/backdrop semantics, and it never\nsteals focus when it appears in the transcript. DOM and tab order put Deny before Approve (the\ndialog's safe-action-first rationale). On activation, focus moves synchronously to `[part=\"status\"]`\n(an always-rendered, `tabindex=\"-1\"` element) *before* the Deny/Approve buttons unmount, so focus\nnever has a gap where it would otherwise fall back to `<body>`.\n\n\"Never steals focus\" and \"no Escape semantics\" describe what *this element* does on its own. A\nhost that swaps a focused control out for this bar is expected to move focus into it and to bind\nEscape to its own cancel path (`<lr-memory-panel>` does both), since otherwise focus would fall\nto `<body>` when the control it replaced unmounts. That stays a host decision: nothing here traps\nfocus, locks scrolling, or handles Escape.\n\nNo argument editing (escalate to `<lr-tool-approval-dialog>`'s `editable` when edit-before-approve\nmatters); no blocking/modality guarantee (a user can scroll past); no decision persistence or\n\"remember choice\" logic (the `footer` slot + host own that).\n\nDeny/Approve are `<lr-button>`s (`variant=\"neutral\"`/`\"brand\"`, `\"danger\"` under `tone=\"danger\"`),\nre-exporting `lr-button`'s own `base`/`label`/`start`/`end`/`spinner` parts under\n`{deny,approve}-button-{base,label,start,end,spinner}` so `--lr-button-*` theming and a consumer's\nexisting `lr-button` style fragments reach them like every other button in an app. An\n`lr-approve`/`lr-deny` listener can call `preventDefault()` to keep the decision open while its own\nasync work (e.g. a network call) is in flight: `pending` is set to the decision being made, showing\n`loading` on that button and `disabled` on the other, until the host finalizes by setting `.decision`\nor bounces back by clearing `.pending` to `null`.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Supplementary body content between the heading and the actions (e.g. a `lr-diff-view` of the proposed change). |\n| `footer` | Extra content at the start of the action row (e.g. a \"remember this choice\" checkbox), mirroring `lr-tool-approval-dialog`'s own `footer` slot. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `approve-button` | The built-in Approve `<lr-button>`. Named identically to the dialog's part. |\n| `approve-button-base` | Forwarded from the internal Approve `<lr-button>`'s own `base` part. |\n| `approve-button-end` | Forwarded from the internal Approve `<lr-button>`'s own `end` part. |\n| `approve-button-label` | Forwarded from the internal Approve `<lr-button>`'s own `label` part. |\n| `approve-button-spinner` | Forwarded from the internal Approve `<lr-button>`'s own `spinner` part, present only while `pending` is `'approved'`. |\n| `approve-button-start` | Forwarded from the internal Approve `<lr-button>`'s own `start` part. |\n| `args` | The `lr-details` + `lr-json-viewer` wrapper. Only rendered when `args` is defined. |\n| `base` | The root (`role=\"group\"`). |\n| `body` | The default-slot wrapper. |\n| `deny-button` | The built-in Deny `<lr-button>`. Named identically to the dialog's part. |\n| `deny-button-base` | Forwarded from the internal Deny `<lr-button>`'s own `base` part. |\n| `deny-button-end` | Forwarded from the internal Deny `<lr-button>`'s own `end` part. |\n| `deny-button-label` | Forwarded from the internal Deny `<lr-button>`'s own `label` part. |\n| `deny-button-spinner` | Forwarded from the internal Deny `<lr-button>`'s own `spinner` part, present only while `pending` is `'denied'`. |\n| `deny-button-start` | Forwarded from the internal Deny `<lr-button>`'s own `start` part. |\n| `footer` | The action row. |\n| `heading` | The heading. |\n| `status` | The decided-state text. Always present in the DOM (`tabindex=\"-1\"`) so focus has a stable, synchronous landing spot on activation. |\n| `tool-name` | The tool-name span within the heading. Only rendered when `heading` is unset. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-confirm-bar-compact-padding` (default: `0`) — Padding of `[part='base']` while `compact`. Accepts any padding shorthand.\n- `--lr-confirm-bar-compact-gap` (default: `var(--lr-space-s)`) — Gap between the row's items while `compact`.\n- `--lr-confirm-bar-compact-border` (default: `none`) — Border of `[part='base']` while `compact`. Accepts any `border` shorthand.\n- `--lr-confirm-bar-compact-radius` (default: `0`) — Border radius of `[part='base']` while `compact` (only visible once `--lr-confirm-bar-compact-border`/`-background` are set).\n- `--lr-confirm-bar-compact-background` (default: `transparent`) — Background of `[part='base']` while `compact`.\n- `--lr-confirm-bar-approved-color` (default: `var(--lr-color-success)`) — `[part='status']` text/icon color once `decision` is `'approved'`.\n- `--lr-confirm-bar-denied-color` (default: `var(--lr-color-danger)`) — `[part='status']` text/icon color once `decision` is `'denied'`."
|
|
3898
3898
|
},
|
|
3899
3899
|
"attributes": [
|
|
3900
3900
|
{
|
|
@@ -5011,7 +5011,7 @@
|
|
|
5011
5011
|
"name": "lr-document-library",
|
|
5012
5012
|
"description": {
|
|
5013
5013
|
"kind": "markdown",
|
|
5014
|
-
"value": "`<lr-document-library>` — a searchable, filterable inventory of documents with versions, tags,\nowners, freshness, and bulk selection. A controlled data view: it performs no upload, sync, or\nmutation of its own, only presents `documents` and emits request/notification events, mirroring\nthis package's other orchestration-level list surfaces (`<lr-thread-list>`'s\n`lr-thread-pin`/`-archive`/`-delete` convention).\n\nComposes `<lr-table>` for the inventory grid itself, since bulk selection, tags, and per-row\ntype icons all need arbitrary cell content rather than a stringified value.\n`<lr-table>` supports arbitrary `cell()`/`headerCell()` content and `priority`-driven responsive\ncolumn hiding, which this component relies on for its 320px-allocation behavior. Search\n(`<lr-input type=\"search\">`) and the tag facet (`<lr-combobox multiple>`) are both self-managed\n(client-side filtering against `documents`, like `<lr-thread-list>`'s own `searchable` field) —\noverride matching entirely via `filter`. Row selection uses `<lr-checkbox>` per cell rather than\n`<lr-table>`'s own built-in `selectionMode`, since that mode's click-anywhere-in-the-row toggle\nwould conflict with the row's own name button opening the document; `<lr-table>`'s\n`selectedKeys` is still fed from `selectedIds` purely for its `aria-selected` row styling.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root region. |\n| `cell` | Exported from `<lr-table>`'s own `cell` part. |\n| `clear-selection` | The \"Clear selection\" button inside `selection-bar`. |\n| `document-name` | Each row's clickable document-name button. |\n| `header-cell` | Exported from `<lr-table>`'s own `header-cell` part. |\n| `row` | Exported from `<lr-table>`'s own `row` part. |\n| `search` | The `<lr-input>` search field. |\n| `selection-bar` | The \"N selected\" / \"Clear selection\" bar. Only rendered while `selectedIds` is non-empty. |\n| `selection-count` | The selected-count text inside `selection-bar`. |\n| `table` | The `<lr-table>` inventory grid. |\n| `tag-filter` | The `<lr-combobox>` tag facet filter. Only rendered while at least one document declares a `tags` entry. |\n| `toolbar` | Wraps the search field and tag filter. |"
|
|
5014
|
+
"value": "`<lr-document-library>` — a searchable, filterable inventory of documents with versions, tags,\nowners, freshness, and bulk selection. A controlled data view: it performs no upload, sync, or\nmutation of its own, only presents `documents` and emits request/notification events, mirroring\nthis package's other orchestration-level list surfaces (`<lr-thread-list>`'s\n`lr-thread-pin`/`-archive`/`-delete` convention).\n\nComposes `<lr-table>` for the inventory grid itself, since bulk selection, tags, and per-row\ntype icons all need arbitrary cell content rather than a stringified value.\n`<lr-table>` supports arbitrary `cell()`/`headerCell()` content and `priority`-driven responsive\ncolumn hiding, which this component relies on for its 320px-allocation behavior. Search\n(`<lr-input type=\"search\">`) and the tag facet (`<lr-combobox multiple>`) are both self-managed\n(client-side filtering against `documents`, like `<lr-thread-list>`'s own `searchable` field) —\noverride matching entirely via `filter`. Row selection uses `<lr-checkbox>` per cell rather than\n`<lr-table>`'s own built-in `selectionMode`, since that mode's click-anywhere-in-the-row toggle\nwould conflict with the row's own name button opening the document; `<lr-table>`'s\n`selectedKeys` is still fed from `selectedIds` purely for its `aria-selected` row styling.\n`<lr-table>` is set to `sort-mode=\"server\"` because this component owns ordering:\n`visibleDocuments` already sorts against real values (timestamps for `updatedAt`, a rank for\n`freshness`). Client mode would order the rows a second time from `String(cell(row))`, and these\n`cell()`s render formatted dates and templates — which made the Updated column come out\nalphabetical by month name rather than chronological. `sortKey`/`sortDir` are still passed\ndown: they drive the header's sort affordance, not the order.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root region. |\n| `cell` | Exported from `<lr-table>`'s own `cell` part. |\n| `clear-selection` | The \"Clear selection\" button inside `selection-bar`. |\n| `document-name` | Each row's clickable document-name button. |\n| `header-cell` | Exported from `<lr-table>`'s own `header-cell` part. |\n| `row` | Exported from `<lr-table>`'s own `row` part. |\n| `search` | The `<lr-input>` search field. |\n| `selection-bar` | The \"N selected\" / \"Clear selection\" bar. Only rendered while `selectedIds` is non-empty. |\n| `selection-count` | The selected-count text inside `selection-bar`. |\n| `table` | The `<lr-table>` inventory grid. |\n| `tag-filter` | The `<lr-combobox>` tag facet filter. Only rendered while at least one document declares a `tags` entry. |\n| `toolbar` | Wraps the search field and tag filter. |"
|
|
5015
5015
|
},
|
|
5016
5016
|
"attributes": [
|
|
5017
5017
|
{
|
|
@@ -5656,7 +5656,7 @@
|
|
|
5656
5656
|
"name": "lr-embedding-explorer",
|
|
5657
5657
|
"description": {
|
|
5658
5658
|
"kind": "markdown",
|
|
5659
|
-
"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. Pointer, script, and assistive-technology focus all synchronize the\nsingle roving tab stop. 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."
|
|
5659
|
+
"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. Pointer, script, and assistive-technology focus all synchronize the\nsingle roving tab stop. 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.\n- `--lr-embedding-explorer-height` (default: `360px`) — The plot's `block-size`. Set on the host from the `height` property, whose default supplies the `360px`; a value the browser cannot parse as a `block-size` is dropped, leaving the `viewBox`-derived aspect-ratio size. A consumer's own `::part(plot) { block-size: ... }` rule still overrides it, and the narrow-allocation `min-block-size` floor still raises it."
|
|
5660
5660
|
},
|
|
5661
5661
|
"attributes": [
|
|
5662
5662
|
{
|
|
@@ -5670,7 +5670,7 @@
|
|
|
5670
5670
|
"name": "height",
|
|
5671
5671
|
"description": {
|
|
5672
5672
|
"kind": "markdown",
|
|
5673
|
-
"value": "
|
|
5673
|
+
"value": "The plot's block size, as any CSS length the browser accepts for `block-size` — including\n`auto`, which restores the aspect-ratio-preserved size derived from the `viewBox`. It is\napplied through `--lr-embedding-explorer-height`; an unparseable value leaves that property\nunset, so the plot falls back to `auto` rather than collapsing.\n\nType: `string` \nDefault: `'360px'`"
|
|
5674
5674
|
}
|
|
5675
5675
|
},
|
|
5676
5676
|
{
|
|
@@ -9332,7 +9332,7 @@
|
|
|
9332
9332
|
"name": "lr-memory-panel",
|
|
9333
9333
|
"description": {
|
|
9334
9334
|
"kind": "markdown",
|
|
9335
|
-
"value": "`<lr-memory-panel>` — an agent's working memory surface: short-term context and long-term\nmemories, each item's confidence and (optional) grounding provenance, and add/remove/forget\nactions gated behind an explicit confirmation step before anything is reported as decided.\n\nComposes `lr-provenance-panel` for a per-item's provenance breakdown (revealed behind a\ndisclosure toggle, only rendered when `item.provenance` is set) and `lr-confirm-bar` for every\nadd/remove/forget confirmation -- this component never re-implements a new inline-confirmation\npattern of its own. A memory item's confidence reuses `lr-citation-badge`'s own confidence\nvocabulary (`citationHighConfidence`/`citationMediumConfidence`/`citationLowConfidence`), tiered\nagainst `thresholds` the same way `lr-chunk-inspector` tiers a chunk's relevance score.\n\n`shortTerm`/`longTerm` are controlled and never mutated by this component -- approving a pending\naction only fires the matching event; the host applies the resulting state change (adding to\n`longTerm`, removing an item, clearing `longTerm`) and passes new arrays back down. At most one\nconfirmation is ever pending at a time: starting a new action (on the same item or a different\none) silently cancels whichever confirmation was already open, the same way only one row can be\nmid-edit in a list at once.\nIf a controlled collection replacement removes the row containing focus, focus moves to the\nclosest surviving memory row, or to the stable root when no row survives.\n\nThree distinct, non-overlapping actions: `add` promotes a short-term item into long-term memory\n(only offered on short-term items -- long-term items are already there); `remove` deletes one\nspecific item from whichever list it's in (offered on every item); `forget` is deliberately\nscoped to the whole long-term list at once (a single \"Forget all\" control in that section's\nheader, only rendered while `longTerm` is non-empty) -- a bulk, more consequential action kept\ndistinct from the per-item `remove`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `add-button` | The \"Add to long-term memory\" action. Only rendered on short-term items. |\n| `base` | The root wrapper. |\n| `confidence` | The item's confidence tier text, carrying `data-tone`. Omitted when `confidence` is unset. |\n| `empty` | The all-empty `lr-empty` state, shown when both lists are empty. |\n| `expand-toggle` | The provenance disclosure toggle. Omitted when `provenance` is unset. |\n| `forget-all-button` | The long-term section's bulk \"Forget all\" action. Only rendered while `longTerm` is non-empty. |\n| `heading` | A section's visible heading text. |\n| `item` | One memory item row (`role=\"listitem\"`); carries `data-id`/`data-scope` and a stable `tabindex=\"-1\"` so focus has somewhere to land after a pending confirmation on this row resolves. |\n| `item-actions` | The wrapper around an item's action row (or its pending `lr-confirm-bar`). |\n| `item-body` | The disclosed `lr-provenance-panel` wrapper, `hidden` while collapsed. Omitted when `provenance` is unset. |\n| `item-row` | The wrapper around an item's text and confidence indicator. |\n| `item-text` | The item's `text`. |\n| `list` | A section's `role=\"list\"` wrapper, omitted while that section is empty. |\n| `remove-button` | The \"Remove\" action. Rendered on every item. |\n| `section` | One of the two (short-term/long-term) sections; carries `data-scope`. |\n| `section-empty` | A section's \"no items\" text, shown when that section's own list is empty. |\n| `section-header` | A section's heading + (long-term only) \"Forget all\" control row. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-memory-panel-confidence-success-color` (default: `var(--lr-color-success)`) — Text color for a high-confidence item's confidence indicator.\n- `--lr-memory-panel-confidence-warning-color` (default: `var(--lr-color-warning)`) — Text color for a medium-confidence item's confidence indicator.\n- `--lr-memory-panel-confidence-danger-color` (default: `var(--lr-color-danger)`) — Text color for a low-confidence item's confidence indicator."
|
|
9335
|
+
"value": "`<lr-memory-panel>` — an agent's working memory surface: short-term context and long-term\nmemories, each item's confidence and (optional) grounding provenance, and add/remove/forget\nactions gated behind an explicit confirmation step before anything is reported as decided.\n\nComposes `lr-provenance-panel` for a per-item's provenance breakdown (revealed behind a\ndisclosure toggle, only rendered when `item.provenance` is set) and `lr-confirm-bar` for every\nadd/remove/forget confirmation -- this component never re-implements a new inline-confirmation\npattern of its own. A memory item's confidence reuses `lr-citation-badge`'s own confidence\nvocabulary (`citationHighConfidence`/`citationMediumConfidence`/`citationLowConfidence`), tiered\nagainst `thresholds` the same way `lr-chunk-inspector` tiers a chunk's relevance score.\n\n`shortTerm`/`longTerm` are controlled and never mutated by this component -- approving a pending\naction only fires the matching event; the host applies the resulting state change (adding to\n`longTerm`, removing an item, clearing `longTerm`) and passes new arrays back down. At most one\nconfirmation is ever pending at a time: starting a new action (on the same item or a different\none) silently cancels whichever confirmation was already open, the same way only one row can be\nmid-edit in a list at once.\nIf a controlled collection replacement removes the row containing focus, focus moves to the\nclosest surviving memory row, or to the stable root when no row survives.\n\nFocus follows the confirmation rather than being dropped: activating an action replaces the\nbutton that had focus, so focus moves into the freshly rendered `lr-confirm-bar` (its Deny\ncontrol -- the safe action -- or the bar's own status element) instead of falling back to\n`<body>`. Resolving or cancelling hands focus back: to the row for a per-item decision, to the\n\"Forget all\" control for the bulk one. Escape while the confirmation holds focus cancels it\nexactly like Deny -- no event, same focus return -- and does not propagate, so an enclosing\ndialog or popover still sees its own Escape when no confirmation is open.\n\nThree distinct, non-overlapping actions: `add` promotes a short-term item into long-term memory\n(only offered on short-term items -- long-term items are already there); `remove` deletes one\nspecific item from whichever list it's in (offered on every item); `forget` is deliberately\nscoped to the whole long-term list at once (a single \"Forget all\" control in that section's\nheader, only rendered while `longTerm` is non-empty) -- a bulk, more consequential action kept\ndistinct from the per-item `remove`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `add-button` | The \"Add to long-term memory\" action. Only rendered on short-term items. |\n| `base` | The root wrapper. |\n| `confidence` | The item's confidence tier text, carrying `data-tone`. Omitted when `confidence` is unset. |\n| `empty` | The all-empty `lr-empty` state, shown when both lists are empty. |\n| `expand-toggle` | The provenance disclosure toggle. Omitted when `provenance` is unset. |\n| `forget-all-button` | The long-term section's bulk \"Forget all\" action. Only rendered while `longTerm` is non-empty. |\n| `forget-all-confirm` | The `<lr-confirm-bar>` shown in place of the \"Forget all\" action while that bulk confirmation is pending. |\n| `heading` | A section's visible heading text. |\n| `item` | One memory item row (`role=\"listitem\"`); carries `data-id`/`data-scope` and a stable `tabindex=\"-1\"` so focus has somewhere to land after a pending confirmation on this row resolves. |\n| `item-actions` | The wrapper around an item's action row (or its pending `lr-confirm-bar`). |\n| `item-body` | The disclosed `lr-provenance-panel` wrapper, `hidden` while collapsed. Omitted when `provenance` is unset. |\n| `item-row` | The wrapper around an item's text and confidence indicator. |\n| `item-text` | The item's `text`. |\n| `list` | A section's `role=\"list\"` wrapper, omitted while that section is empty. |\n| `remove-button` | The \"Remove\" action. Rendered on every item. |\n| `section` | One of the two (short-term/long-term) sections; carries `data-scope`. |\n| `section-empty` | A section's \"no items\" text, shown when that section's own list is empty. |\n| `section-header` | A section's heading + (long-term only) \"Forget all\" control row. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-memory-panel-confidence-success-color` (default: `var(--lr-color-success)`) — Text color for a high-confidence item's confidence indicator.\n- `--lr-memory-panel-confidence-warning-color` (default: `var(--lr-color-warning)`) — Text color for a medium-confidence item's confidence indicator.\n- `--lr-memory-panel-confidence-danger-color` (default: `var(--lr-color-danger)`) — Text color for a low-confidence item's confidence indicator."
|
|
9336
9336
|
},
|
|
9337
9337
|
"attributes": [
|
|
9338
9338
|
{
|
|
@@ -10025,7 +10025,7 @@
|
|
|
10025
10025
|
"name": "lr-notebook-viewer",
|
|
10026
10026
|
"description": {
|
|
10027
10027
|
"kind": "markdown",
|
|
10028
|
-
"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."
|
|
10028
|
+
"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`search()`/`searchNext()`/`searchPrevious()`/`clearSearch()` follow the shared viewer search\ncontract (`internal/text-viewer-target.ts`'s `LyraTextViewerTarget`): `search()` resolves the\nmatch count and the two navigation methods resolve `true` once the active match moved, `false`\nwhen there is nothing to move to. A find-in-page host can therefore drive this viewer through the\nsame typed surface as every other one.\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."
|
|
10029
10029
|
},
|
|
10030
10030
|
"attributes": [
|
|
10031
10031
|
{
|
|
@@ -10485,7 +10485,7 @@
|
|
|
10485
10485
|
"name": "lr-pdf-viewer",
|
|
10486
10486
|
"description": {
|
|
10487
10487
|
"kind": "markdown",
|
|
10488
|
-
"value": "Fetches PDF bytes and renders their pages with the optional `pdfjs-dist` peer. Pages are composed\nthrough `lr-virtual-list`, while a PDF.js text layer keeps rendered text selectable and copyable.\nAdopts `DocumentAnchorTarget`: `page`, `text-quote`, and `region` anchors resolve; highlights paint\nvia one `<lr-highlight-layer>` per page, stacked beneath the text layer (canvas -> highlights ->\ntext layer) so starting a text selection over a cited passage keeps working. Pointer activation of\na highlight is hit-tested at the page-wrapper level (`onPageClick`) since the text layer sitting on\ntop intercepts most direct pointer events; keyboard activation reaches the highlight layer's own\nroving-tabindex rects directly, since z-stacking doesn't affect tab order. Accepted residual: a\nclick that ends a text-selection drag over a highlighted passage never activates it (the\nselection-in-progress check in `onPageClick` exists precisely to distinguish that case from a\ngenuine activation click).\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root viewer container. |\n| `error` | The error message region. |\n| `next-button` | The next-page button. |\n| `page` | One rendered page wrapper. |\n| `page-canvas` | The canvas a page's content is painted onto. |\n| `page-indicator` | The current page text. |\n| `pages` | The virtualized page list. |\n| `previous-button` | The previous-page button. |\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| `text-layer` | Selectable text positioned over a page canvas. |\n| `text-span` | One generated text run inside a page's text layer. |\n| `toolbar` | Pagination and zoom controls. |\n| `zoom-in-button` | The zoom-in button. |\n| `zoom-indicator` | The current zoom percentage. |\n| `zoom-out-button` | The zoom-out button. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-pdf-viewer-height` (default: `var(--lr-size-24rem)`) — Block size of the virtualized page list. Also settable via the `max-height` property."
|
|
10488
|
+
"value": "Fetches PDF bytes and renders their pages with the optional `pdfjs-dist` peer. Pages are composed\nthrough `lr-virtual-list`, while a PDF.js text layer keeps rendered text selectable and copyable.\nAdopts `DocumentAnchorTarget`: `page`, `text-quote`, and `region` anchors resolve; highlights paint\nvia one `<lr-highlight-layer>` per page, stacked beneath the text layer (canvas -> highlights ->\ntext layer) so starting a text selection over a cited passage keeps working. Pointer activation of\na highlight is hit-tested at the page-wrapper level (`onPageClick`) since the text layer sitting on\ntop intercepts most direct pointer events; keyboard activation reaches the highlight layer's own\nroving-tabindex rects directly, since z-stacking doesn't affect tab order. Accepted residual: a\nclick that ends a text-selection drag over a highlighted passage never activates it (the\nselection-in-progress check in `onPageClick` exists precisely to distinguish that case from a\ngenuine activation click).\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root viewer container. |\n| `error` | The error message region. |\n| `next-button` | The next-page button. |\n| `page` | One rendered page wrapper. |\n| `page-canvas` | The canvas a page's content is painted onto. |\n| `page-indicator` | The current page text. |\n| `pages` | The virtualized page list. |\n| `previous-button` | The previous-page button. |\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| `text-layer` | Selectable text positioned over a page canvas. |\n| `text-span` | One generated text run inside a page's text layer. |\n| `toolbar` | Pagination and zoom controls. |\n| `zoom-in-button` | The zoom-in button. |\n| `zoom-indicator` | The current zoom percentage. |\n| `zoom-out-button` | The zoom-out button. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-pdf-viewer-height` (default: `var(--lr-size-24rem)`) — Block size of the virtualized page list.\n- `--lr-pdf-viewer-toolbar-button-hover-bg` (default: `var(--lr-color-surface)`) — Hover fill of the toolbar buttons. Defaults to the surface fill rather than the toolbar's own tint so the hover state is actually visible against it. Also settable via the `max-height` property."
|
|
10489
10489
|
},
|
|
10490
10490
|
"attributes": [
|
|
10491
10491
|
{
|
|
@@ -12960,7 +12960,7 @@
|
|
|
12960
12960
|
"name": "lr-segmented",
|
|
12961
12961
|
"description": {
|
|
12962
12962
|
"kind": "markdown",
|
|
12963
|
-
"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
|
|
12963
|
+
"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 fade at each horizontal scroll edge. The fade is applied only while the track actually overflows, so a row that fits is never dimmed.\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."
|
|
12964
12964
|
},
|
|
12965
12965
|
"attributes": [
|
|
12966
12966
|
{
|
|
@@ -14542,7 +14542,7 @@
|
|
|
14542
14542
|
"name": "lr-tabs",
|
|
14543
14543
|
"description": {
|
|
14544
14544
|
"kind": "markdown",
|
|
14545
|
-
"value": "`<lr-tabs>` — a tab strip whose panels are direct light-DOM children,\neach carrying `slot=\"<id>\"` (the panel's stable id) and `label=\"<text>\"`\n(the tab button's text). One named `<slot>` is rendered per distinct\n`slot` name found among the current children — a child with no `label`,\nor a name with no matching child, simply never produces a tab.\n\nA tab button's *visible* content can carry a leading icon without ever\nchanging its *accessible name* (which always stays exactly `label`'s\ntext, nothing else): give a tab an extra direct-child sibling of\n`<lr-tabs>` carrying `slot=\"<id>-icon\"` (that sibling's own content --\nan inline SVG, an emoji span, a custom icon element, anything -- is\nentirely up to the consumer). It's rendered ahead of the label inside\nthat tab's button, wrapped in an `aria-hidden=\"true\"` part so it's\nexcluded from accessible-name computation no matter what it contains. A\ntab with no matching `<id>-icon` sibling renders no icon wrapper at all,\nso existing text-only tabs are completely unaffected. (A named slot,\nrather than a second attribute holding an icon-name lookup, was chosen\nbecause this library's `internal/icons.ts` is a small closed set of\nchrome glyphs for this library's *own* components, not a public\nname-keyed registry -- a slot lets a consumer supply an arbitrary,\ndomain-specific icon instead of being limited to that internal set.)\n\nImplements the WAI-ARIA APG tabs pattern with automatic activation:\nLeft/Right (swapped under RTL) move focus *and* selection together,\nHome/End jump to the first/last enabled tab, and a roving `tabindex`\nfollows whichever tab is currently selected.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Direct children with `slot=\"<id>\" label=\"<text>\"` (and optionally `disabled`); one becomes each tab's panel. |\n| `<id>-icon` | Optional sibling direct child supplying a tab's leading icon content; excluded from the tab button's accessible name. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper around the tablist and panels. |\n| `panel` | A single `role=\"tabpanel\"` wrapper (one per tab, hidden unless active). |\n| `tab` | A single tab button. |\n| `tab-icon` | The optional leading-icon wrapper inside a tab button; only rendered when that tab has a matching `<id>-icon` sibling. |\n| `tablist` | The `role=\"tablist\"` row of tab buttons. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-scroll-fade-size` (default: `2rem`) — Width of the
|
|
14545
|
+
"value": "`<lr-tabs>` — a tab strip whose panels are direct light-DOM children,\neach carrying `slot=\"<id>\"` (the panel's stable id) and `label=\"<text>\"`\n(the tab button's text). One named `<slot>` is rendered per distinct\n`slot` name found among the current children — a child with no `label`,\nor a name with no matching child, simply never produces a tab.\n\nA tab button's *visible* content can carry a leading icon without ever\nchanging its *accessible name* (which always stays exactly `label`'s\ntext, nothing else): give a tab an extra direct-child sibling of\n`<lr-tabs>` carrying `slot=\"<id>-icon\"` (that sibling's own content --\nan inline SVG, an emoji span, a custom icon element, anything -- is\nentirely up to the consumer). It's rendered ahead of the label inside\nthat tab's button, wrapped in an `aria-hidden=\"true\"` part so it's\nexcluded from accessible-name computation no matter what it contains. A\ntab with no matching `<id>-icon` sibling renders no icon wrapper at all,\nso existing text-only tabs are completely unaffected. (A named slot,\nrather than a second attribute holding an icon-name lookup, was chosen\nbecause this library's `internal/icons.ts` is a small closed set of\nchrome glyphs for this library's *own* components, not a public\nname-keyed registry -- a slot lets a consumer supply an arbitrary,\ndomain-specific icon instead of being limited to that internal set.)\n\nImplements the WAI-ARIA APG tabs pattern with automatic activation:\nLeft/Right (swapped under RTL) move focus *and* selection together,\nHome/End jump to the first/last enabled tab, and a roving `tabindex`\nfollows whichever tab is currently selected.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Direct children with `slot=\"<id>\" label=\"<text>\"` (and optionally `disabled`); one becomes each tab's panel. |\n| `<id>-icon` | Optional sibling direct child supplying a tab's leading icon content; excluded from the tab button's accessible name. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper around the tablist and panels. |\n| `panel` | A single `role=\"tabpanel\"` wrapper (one per tab, hidden unless active). |\n| `tab` | A single tab button. |\n| `tab-icon` | The optional leading-icon wrapper inside a tab button; only rendered when that tab has a matching `<id>-icon` sibling. |\n| `tablist` | The `role=\"tablist\"` row of tab buttons. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-scroll-fade-size` (default: `2rem`) — Width of the fade at each horizontal scroll edge. The fade is applied only while the tablist actually overflows, so a row that fits is never dimmed.\n- `--lr-tabs-selected-color` (default: `var(--lr-color-brand)`) — Text color of the selected tab. Scoped to `[aria-selected='true']` only, so it never repaints a hovered unselected tab (which is what hijacking `--lr-color-brand` library-wide used to do).\n- `--lr-tabs-indicator-color` (default: `var(--lr-color-brand)`) — Color of the selected tab's underline, themeable independently of its text color.\n- `--lr-tabs-hover-color` (default: `var(--lr-color-text)`) — Text color of a hovered, non-disabled tab. Independent of the selected-state props above."
|
|
14546
14546
|
},
|
|
14547
14547
|
"attributes": [
|
|
14548
14548
|
{
|
|
@@ -15276,7 +15276,7 @@
|
|
|
15276
15276
|
"name": "lr-timeline",
|
|
15277
15277
|
"description": {
|
|
15278
15278
|
"kind": "markdown",
|
|
15279
|
-
"value": "`<lr-timeline>` — an ordered, connected sequence of past-event rows (an audit trail, an agent\naction history, a changelog) composed from `<lr-timeline-item>` light-DOM children, joined by a\ncontinuous connecting rail. First-party invention: no Web Awesome/Shoelace counterpart exists, so\nthis follows the library's own established conventions rather than mirroring an upstream API.\n\nA pure, read-only, declarative display component — same zero-event shape as `<lr-badge>`/\n`<lr-avatar>`/`<lr-skeleton>`. It never mutates its own children and fires no events; a\nconsumer who needs to react to item count changes already owns the mutation (they're the one\nadding/removing `<lr-timeline-item>` children) and can listen to the native `slotchange` event\ndirectly if truly needed.\n\nNo keyboard navigation, roving-tabindex, or selection model of any kind — a deliberate scope\ndecision, not an oversight. A timeline is a passive record display, not a navigable widget; see\n`<lr-timeline-item>`'s class doc for the full reasoning behind dropping an earlier\n\"interactive row\" design. Not a form-associated control — no value to submit, no label/hint/error\nchrome.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | `<lr-timeline-item>` children, in display order. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. `role=\"list\"` lives here directly (a timeline isn't a navigation landmark, so it doesn't need a two-layer `base`+`list` split). Flex container: `flex-direction: column` in `vertical` orientation (the default), `flex-direction: row` (with `overflow-x: auto`, `overflow-y: hidden`, and
|
|
15279
|
+
"value": "`<lr-timeline>` — an ordered, connected sequence of past-event rows (an audit trail, an agent\naction history, a changelog) composed from `<lr-timeline-item>` light-DOM children, joined by a\ncontinuous connecting rail. First-party invention: no Web Awesome/Shoelace counterpart exists, so\nthis follows the library's own established conventions rather than mirroring an upstream API.\n\nA pure, read-only, declarative display component — same zero-event shape as `<lr-badge>`/\n`<lr-avatar>`/`<lr-skeleton>`. It never mutates its own children and fires no events; a\nconsumer who needs to react to item count changes already owns the mutation (they're the one\nadding/removing `<lr-timeline-item>` children) and can listen to the native `slotchange` event\ndirectly if truly needed.\n\nNo keyboard navigation, roving-tabindex, or selection model of any kind — a deliberate scope\ndecision, not an oversight. A timeline is a passive record display, not a navigable widget; see\n`<lr-timeline-item>`'s class doc for the full reasoning behind dropping an earlier\n\"interactive row\" design. Not a form-associated control — no value to submit, no label/hint/error\nchrome.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | `<lr-timeline-item>` children, in display order. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. `role=\"list\"` lives here directly (a timeline isn't a navigation landmark, so it doesn't need a two-layer `base`+`list` split). Flex container: `flex-direction: column` in `vertical` orientation (the default), `flex-direction: row` (with `overflow-x: auto`, `overflow-y: hidden`, and an edge-fade `mask-image` applied only while the strip actually overflows) in `horizontal` orientation. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-timeline-gap` (default: `var(--lr-space-l)`) — Spacing between consecutive items along the timeline's main axis; also the length each item's own rail visually bridges to reach the next item's marker. Declared here but actually consumed inside each `<lr-timeline-item>`'s own stylesheet, via ordinary CSS custom-property inheritance across the slot boundary."
|
|
15280
15280
|
},
|
|
15281
15281
|
"attributes": [
|
|
15282
15282
|
{
|
package/web-types.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/web-types",
|
|
3
3
|
"name": "@aceshooting/lyra-ui",
|
|
4
|
-
"version": "7.
|
|
4
|
+
"version": "7.8.1",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
@@ -4417,7 +4417,7 @@
|
|
|
4417
4417
|
},
|
|
4418
4418
|
{
|
|
4419
4419
|
"name": "lr-confirm-bar",
|
|
4420
|
-
"description": "`<lr-confirm-bar>` — an inline, non-modal approve/deny block for one proposed action: the\nin-flow sibling of `<lr-tool-approval-dialog>` for confirmations that should sit in the\ntranscript instead of hijacking focus. Same `lr-approve`/`lr-deny` event shapes as the dialog,\nand the same `toolApprovalHeading`/`toolApprovalArgsLabel`/`deny`/`approve` localization keys, so\nthe two always translate in lockstep.\n\nNon-modal by contract: no focus trap, no scroll lock, no Escape/backdrop semantics, and it never\nsteals focus when it appears in the transcript. DOM and tab order put Deny before Approve (the\ndialog's safe-action-first rationale). On activation, focus moves synchronously to `[part=\"status\"]`\n(an always-rendered, `tabindex=\"-1\"` element) *before* the Deny/Approve buttons unmount, so focus\nnever has a gap where it would otherwise fall back to `<body>`.\n\nNo argument editing (escalate to `<lr-tool-approval-dialog>`'s `editable` when edit-before-approve\nmatters); no blocking/modality guarantee (a user can scroll past); no decision persistence or\n\"remember choice\" logic (the `footer` slot + host own that).\n\nDeny/Approve are `<lr-button>`s (`variant=\"neutral\"`/`\"brand\"`, `\"danger\"` under `tone=\"danger\"`),\nre-exporting `lr-button`'s own `base`/`label`/`start`/`end`/`spinner` parts under\n`{deny,approve}-button-{base,label,start,end,spinner}` so `--lr-button-*` theming and a consumer's\nexisting `lr-button` style fragments reach them like every other button in an app. An\n`lr-approve`/`lr-deny` listener can call `preventDefault()` to keep the decision open while its own\nasync work (e.g. a network call) is in flight: `pending` is set to the decision being made, showing\n`loading` on that button and `disabled` on the other, until the host finalizes by setting `.decision`\nor bounces back by clearing `.pending` to `null`.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Supplementary body content between the heading and the actions (e.g. a `lr-diff-view` of the proposed change). |\n| `footer` | Extra content at the start of the action row (e.g. a \"remember this choice\" checkbox), mirroring `lr-tool-approval-dialog`'s own `footer` slot. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `approve-button` | The built-in Approve `<lr-button>`. Named identically to the dialog's part. |\n| `approve-button-base` | Forwarded from the internal Approve `<lr-button>`'s own `base` part. |\n| `approve-button-end` | Forwarded from the internal Approve `<lr-button>`'s own `end` part. |\n| `approve-button-label` | Forwarded from the internal Approve `<lr-button>`'s own `label` part. |\n| `approve-button-spinner` | Forwarded from the internal Approve `<lr-button>`'s own `spinner` part, present only while `pending` is `'approved'`. |\n| `approve-button-start` | Forwarded from the internal Approve `<lr-button>`'s own `start` part. |\n| `args` | The `lr-details` + `lr-json-viewer` wrapper. Only rendered when `args` is defined. |\n| `base` | The root (`role=\"group\"`). |\n| `body` | The default-slot wrapper. |\n| `deny-button` | The built-in Deny `<lr-button>`. Named identically to the dialog's part. |\n| `deny-button-base` | Forwarded from the internal Deny `<lr-button>`'s own `base` part. |\n| `deny-button-end` | Forwarded from the internal Deny `<lr-button>`'s own `end` part. |\n| `deny-button-label` | Forwarded from the internal Deny `<lr-button>`'s own `label` part. |\n| `deny-button-spinner` | Forwarded from the internal Deny `<lr-button>`'s own `spinner` part, present only while `pending` is `'denied'`. |\n| `deny-button-start` | Forwarded from the internal Deny `<lr-button>`'s own `start` part. |\n| `footer` | The action row. |\n| `heading` | The heading. |\n| `status` | The decided-state text. Always present in the DOM (`tabindex=\"-1\"`) so focus has a stable, synchronous landing spot on activation. |\n| `tool-name` | The tool-name span within the heading. Only rendered when `heading` is unset. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-confirm-bar-compact-padding` (default: `0`) — Padding of `[part='base']` while `compact`. Accepts any padding shorthand.\n- `--lr-confirm-bar-compact-gap` (default: `var(--lr-space-s)`) — Gap between the row's items while `compact`.\n- `--lr-confirm-bar-compact-border` (default: `none`) — Border of `[part='base']` while `compact`. Accepts any `border` shorthand.\n- `--lr-confirm-bar-compact-radius` (default: `0`) — Border radius of `[part='base']` while `compact` (only visible once `--lr-confirm-bar-compact-border`/`-background` are set).\n- `--lr-confirm-bar-compact-background` (default: `transparent`) — Background of `[part='base']` while `compact`.\n- `--lr-confirm-bar-approved-color` (default: `var(--lr-color-success)`) — `[part='status']` text/icon color once `decision` is `'approved'`.\n- `--lr-confirm-bar-denied-color` (default: `var(--lr-color-danger)`) — `[part='status']` text/icon color once `decision` is `'denied'`.",
|
|
4420
|
+
"description": "`<lr-confirm-bar>` — an inline, non-modal approve/deny block for one proposed action: the\nin-flow sibling of `<lr-tool-approval-dialog>` for confirmations that should sit in the\ntranscript instead of hijacking focus. Same `lr-approve`/`lr-deny` event shapes as the dialog,\nand the same `toolApprovalHeading`/`toolApprovalArgsLabel`/`deny`/`approve` localization keys, so\nthe two always translate in lockstep.\n\nNon-modal by contract: no focus trap, no scroll lock, no Escape/backdrop semantics, and it never\nsteals focus when it appears in the transcript. DOM and tab order put Deny before Approve (the\ndialog's safe-action-first rationale). On activation, focus moves synchronously to `[part=\"status\"]`\n(an always-rendered, `tabindex=\"-1\"` element) *before* the Deny/Approve buttons unmount, so focus\nnever has a gap where it would otherwise fall back to `<body>`.\n\n\"Never steals focus\" and \"no Escape semantics\" describe what *this element* does on its own. A\nhost that swaps a focused control out for this bar is expected to move focus into it and to bind\nEscape to its own cancel path (`<lr-memory-panel>` does both), since otherwise focus would fall\nto `<body>` when the control it replaced unmounts. That stays a host decision: nothing here traps\nfocus, locks scrolling, or handles Escape.\n\nNo argument editing (escalate to `<lr-tool-approval-dialog>`'s `editable` when edit-before-approve\nmatters); no blocking/modality guarantee (a user can scroll past); no decision persistence or\n\"remember choice\" logic (the `footer` slot + host own that).\n\nDeny/Approve are `<lr-button>`s (`variant=\"neutral\"`/`\"brand\"`, `\"danger\"` under `tone=\"danger\"`),\nre-exporting `lr-button`'s own `base`/`label`/`start`/`end`/`spinner` parts under\n`{deny,approve}-button-{base,label,start,end,spinner}` so `--lr-button-*` theming and a consumer's\nexisting `lr-button` style fragments reach them like every other button in an app. An\n`lr-approve`/`lr-deny` listener can call `preventDefault()` to keep the decision open while its own\nasync work (e.g. a network call) is in flight: `pending` is set to the decision being made, showing\n`loading` on that button and `disabled` on the other, until the host finalizes by setting `.decision`\nor bounces back by clearing `.pending` to `null`.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Supplementary body content between the heading and the actions (e.g. a `lr-diff-view` of the proposed change). |\n| `footer` | Extra content at the start of the action row (e.g. a \"remember this choice\" checkbox), mirroring `lr-tool-approval-dialog`'s own `footer` slot. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `approve-button` | The built-in Approve `<lr-button>`. Named identically to the dialog's part. |\n| `approve-button-base` | Forwarded from the internal Approve `<lr-button>`'s own `base` part. |\n| `approve-button-end` | Forwarded from the internal Approve `<lr-button>`'s own `end` part. |\n| `approve-button-label` | Forwarded from the internal Approve `<lr-button>`'s own `label` part. |\n| `approve-button-spinner` | Forwarded from the internal Approve `<lr-button>`'s own `spinner` part, present only while `pending` is `'approved'`. |\n| `approve-button-start` | Forwarded from the internal Approve `<lr-button>`'s own `start` part. |\n| `args` | The `lr-details` + `lr-json-viewer` wrapper. Only rendered when `args` is defined. |\n| `base` | The root (`role=\"group\"`). |\n| `body` | The default-slot wrapper. |\n| `deny-button` | The built-in Deny `<lr-button>`. Named identically to the dialog's part. |\n| `deny-button-base` | Forwarded from the internal Deny `<lr-button>`'s own `base` part. |\n| `deny-button-end` | Forwarded from the internal Deny `<lr-button>`'s own `end` part. |\n| `deny-button-label` | Forwarded from the internal Deny `<lr-button>`'s own `label` part. |\n| `deny-button-spinner` | Forwarded from the internal Deny `<lr-button>`'s own `spinner` part, present only while `pending` is `'denied'`. |\n| `deny-button-start` | Forwarded from the internal Deny `<lr-button>`'s own `start` part. |\n| `footer` | The action row. |\n| `heading` | The heading. |\n| `status` | The decided-state text. Always present in the DOM (`tabindex=\"-1\"`) so focus has a stable, synchronous landing spot on activation. |\n| `tool-name` | The tool-name span within the heading. Only rendered when `heading` is unset. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-confirm-bar-compact-padding` (default: `0`) — Padding of `[part='base']` while `compact`. Accepts any padding shorthand.\n- `--lr-confirm-bar-compact-gap` (default: `var(--lr-space-s)`) — Gap between the row's items while `compact`.\n- `--lr-confirm-bar-compact-border` (default: `none`) — Border of `[part='base']` while `compact`. Accepts any `border` shorthand.\n- `--lr-confirm-bar-compact-radius` (default: `0`) — Border radius of `[part='base']` while `compact` (only visible once `--lr-confirm-bar-compact-border`/`-background` are set).\n- `--lr-confirm-bar-compact-background` (default: `transparent`) — Background of `[part='base']` while `compact`.\n- `--lr-confirm-bar-approved-color` (default: `var(--lr-color-success)`) — `[part='status']` text/icon color once `decision` is `'approved'`.\n- `--lr-confirm-bar-denied-color` (default: `var(--lr-color-danger)`) — `[part='status']` text/icon color once `decision` is `'denied'`.",
|
|
4421
4421
|
"attributes": [
|
|
4422
4422
|
{
|
|
4423
4423
|
"name": "compact",
|
|
@@ -5672,7 +5672,7 @@
|
|
|
5672
5672
|
},
|
|
5673
5673
|
{
|
|
5674
5674
|
"name": "lr-document-library",
|
|
5675
|
-
"description": "`<lr-document-library>` — a searchable, filterable inventory of documents with versions, tags,\nowners, freshness, and bulk selection. A controlled data view: it performs no upload, sync, or\nmutation of its own, only presents `documents` and emits request/notification events, mirroring\nthis package's other orchestration-level list surfaces (`<lr-thread-list>`'s\n`lr-thread-pin`/`-archive`/`-delete` convention).\n\nComposes `<lr-table>` for the inventory grid itself, since bulk selection, tags, and per-row\ntype icons all need arbitrary cell content rather than a stringified value.\n`<lr-table>` supports arbitrary `cell()`/`headerCell()` content and `priority`-driven responsive\ncolumn hiding, which this component relies on for its 320px-allocation behavior. Search\n(`<lr-input type=\"search\">`) and the tag facet (`<lr-combobox multiple>`) are both self-managed\n(client-side filtering against `documents`, like `<lr-thread-list>`'s own `searchable` field) —\noverride matching entirely via `filter`. Row selection uses `<lr-checkbox>` per cell rather than\n`<lr-table>`'s own built-in `selectionMode`, since that mode's click-anywhere-in-the-row toggle\nwould conflict with the row's own name button opening the document; `<lr-table>`'s\n`selectedKeys` is still fed from `selectedIds` purely for its `aria-selected` row styling.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root region. |\n| `cell` | Exported from `<lr-table>`'s own `cell` part. |\n| `clear-selection` | The \"Clear selection\" button inside `selection-bar`. |\n| `document-name` | Each row's clickable document-name button. |\n| `header-cell` | Exported from `<lr-table>`'s own `header-cell` part. |\n| `row` | Exported from `<lr-table>`'s own `row` part. |\n| `search` | The `<lr-input>` search field. |\n| `selection-bar` | The \"N selected\" / \"Clear selection\" bar. Only rendered while `selectedIds` is non-empty. |\n| `selection-count` | The selected-count text inside `selection-bar`. |\n| `table` | The `<lr-table>` inventory grid. |\n| `tag-filter` | The `<lr-combobox>` tag facet filter. Only rendered while at least one document declares a `tags` entry. |\n| `toolbar` | Wraps the search field and tag filter. |",
|
|
5675
|
+
"description": "`<lr-document-library>` — a searchable, filterable inventory of documents with versions, tags,\nowners, freshness, and bulk selection. A controlled data view: it performs no upload, sync, or\nmutation of its own, only presents `documents` and emits request/notification events, mirroring\nthis package's other orchestration-level list surfaces (`<lr-thread-list>`'s\n`lr-thread-pin`/`-archive`/`-delete` convention).\n\nComposes `<lr-table>` for the inventory grid itself, since bulk selection, tags, and per-row\ntype icons all need arbitrary cell content rather than a stringified value.\n`<lr-table>` supports arbitrary `cell()`/`headerCell()` content and `priority`-driven responsive\ncolumn hiding, which this component relies on for its 320px-allocation behavior. Search\n(`<lr-input type=\"search\">`) and the tag facet (`<lr-combobox multiple>`) are both self-managed\n(client-side filtering against `documents`, like `<lr-thread-list>`'s own `searchable` field) —\noverride matching entirely via `filter`. Row selection uses `<lr-checkbox>` per cell rather than\n`<lr-table>`'s own built-in `selectionMode`, since that mode's click-anywhere-in-the-row toggle\nwould conflict with the row's own name button opening the document; `<lr-table>`'s\n`selectedKeys` is still fed from `selectedIds` purely for its `aria-selected` row styling.\n`<lr-table>` is set to `sort-mode=\"server\"` because this component owns ordering:\n`visibleDocuments` already sorts against real values (timestamps for `updatedAt`, a rank for\n`freshness`). Client mode would order the rows a second time from `String(cell(row))`, and these\n`cell()`s render formatted dates and templates — which made the Updated column come out\nalphabetical by month name rather than chronological. `sortKey`/`sortDir` are still passed\ndown: they drive the header's sort affordance, not the order.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root region. |\n| `cell` | Exported from `<lr-table>`'s own `cell` part. |\n| `clear-selection` | The \"Clear selection\" button inside `selection-bar`. |\n| `document-name` | Each row's clickable document-name button. |\n| `header-cell` | Exported from `<lr-table>`'s own `header-cell` part. |\n| `row` | Exported from `<lr-table>`'s own `row` part. |\n| `search` | The `<lr-input>` search field. |\n| `selection-bar` | The \"N selected\" / \"Clear selection\" bar. Only rendered while `selectedIds` is non-empty. |\n| `selection-count` | The selected-count text inside `selection-bar`. |\n| `table` | The `<lr-table>` inventory grid. |\n| `tag-filter` | The `<lr-combobox>` tag facet filter. Only rendered while at least one document declares a `tags` entry. |\n| `toolbar` | Wraps the search field and tag filter. |",
|
|
5676
5676
|
"attributes": [
|
|
5677
5677
|
{
|
|
5678
5678
|
"name": "label",
|
|
@@ -6400,7 +6400,7 @@
|
|
|
6400
6400
|
},
|
|
6401
6401
|
{
|
|
6402
6402
|
"name": "lr-embedding-explorer",
|
|
6403
|
-
"description": "`<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. Pointer, script, and assistive-technology focus all synchronize the\nsingle roving tab stop. 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.",
|
|
6403
|
+
"description": "`<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. Pointer, script, and assistive-technology focus all synchronize the\nsingle roving tab stop. 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.\n- `--lr-embedding-explorer-height` (default: `360px`) — The plot's `block-size`. Set on the host from the `height` property, whose default supplies the `360px`; a value the browser cannot parse as a `block-size` is dropped, leaving the `viewBox`-derived aspect-ratio size. A consumer's own `::part(plot) { block-size: ... }` rule still overrides it, and the narrow-allocation `min-block-size` floor still raises it.",
|
|
6404
6404
|
"attributes": [
|
|
6405
6405
|
{
|
|
6406
6406
|
"name": "aria-label",
|
|
@@ -6408,7 +6408,7 @@
|
|
|
6408
6408
|
},
|
|
6409
6409
|
{
|
|
6410
6410
|
"name": "height",
|
|
6411
|
-
"description": "
|
|
6411
|
+
"description": "The plot's block size, as any CSS length the browser accepts for `block-size` — including\n`auto`, which restores the aspect-ratio-preserved size derived from the `viewBox`. It is\napplied through `--lr-embedding-explorer-height`; an unparseable value leaves that property\nunset, so the plot falls back to `auto` rather than collapsing.\n\nType: `string` \nDefault: `'360px'`",
|
|
6412
6412
|
"value": {
|
|
6413
6413
|
"type": [
|
|
6414
6414
|
"string"
|
|
@@ -10389,7 +10389,7 @@
|
|
|
10389
10389
|
},
|
|
10390
10390
|
{
|
|
10391
10391
|
"name": "lr-memory-panel",
|
|
10392
|
-
"description": "`<lr-memory-panel>` — an agent's working memory surface: short-term context and long-term\nmemories, each item's confidence and (optional) grounding provenance, and add/remove/forget\nactions gated behind an explicit confirmation step before anything is reported as decided.\n\nComposes `lr-provenance-panel` for a per-item's provenance breakdown (revealed behind a\ndisclosure toggle, only rendered when `item.provenance` is set) and `lr-confirm-bar` for every\nadd/remove/forget confirmation -- this component never re-implements a new inline-confirmation\npattern of its own. A memory item's confidence reuses `lr-citation-badge`'s own confidence\nvocabulary (`citationHighConfidence`/`citationMediumConfidence`/`citationLowConfidence`), tiered\nagainst `thresholds` the same way `lr-chunk-inspector` tiers a chunk's relevance score.\n\n`shortTerm`/`longTerm` are controlled and never mutated by this component -- approving a pending\naction only fires the matching event; the host applies the resulting state change (adding to\n`longTerm`, removing an item, clearing `longTerm`) and passes new arrays back down. At most one\nconfirmation is ever pending at a time: starting a new action (on the same item or a different\none) silently cancels whichever confirmation was already open, the same way only one row can be\nmid-edit in a list at once.\nIf a controlled collection replacement removes the row containing focus, focus moves to the\nclosest surviving memory row, or to the stable root when no row survives.\n\nThree distinct, non-overlapping actions: `add` promotes a short-term item into long-term memory\n(only offered on short-term items -- long-term items are already there); `remove` deletes one\nspecific item from whichever list it's in (offered on every item); `forget` is deliberately\nscoped to the whole long-term list at once (a single \"Forget all\" control in that section's\nheader, only rendered while `longTerm` is non-empty) -- a bulk, more consequential action kept\ndistinct from the per-item `remove`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `add-button` | The \"Add to long-term memory\" action. Only rendered on short-term items. |\n| `base` | The root wrapper. |\n| `confidence` | The item's confidence tier text, carrying `data-tone`. Omitted when `confidence` is unset. |\n| `empty` | The all-empty `lr-empty` state, shown when both lists are empty. |\n| `expand-toggle` | The provenance disclosure toggle. Omitted when `provenance` is unset. |\n| `forget-all-button` | The long-term section's bulk \"Forget all\" action. Only rendered while `longTerm` is non-empty. |\n| `heading` | A section's visible heading text. |\n| `item` | One memory item row (`role=\"listitem\"`); carries `data-id`/`data-scope` and a stable `tabindex=\"-1\"` so focus has somewhere to land after a pending confirmation on this row resolves. |\n| `item-actions` | The wrapper around an item's action row (or its pending `lr-confirm-bar`). |\n| `item-body` | The disclosed `lr-provenance-panel` wrapper, `hidden` while collapsed. Omitted when `provenance` is unset. |\n| `item-row` | The wrapper around an item's text and confidence indicator. |\n| `item-text` | The item's `text`. |\n| `list` | A section's `role=\"list\"` wrapper, omitted while that section is empty. |\n| `remove-button` | The \"Remove\" action. Rendered on every item. |\n| `section` | One of the two (short-term/long-term) sections; carries `data-scope`. |\n| `section-empty` | A section's \"no items\" text, shown when that section's own list is empty. |\n| `section-header` | A section's heading + (long-term only) \"Forget all\" control row. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-memory-panel-confidence-success-color` (default: `var(--lr-color-success)`) — Text color for a high-confidence item's confidence indicator.\n- `--lr-memory-panel-confidence-warning-color` (default: `var(--lr-color-warning)`) — Text color for a medium-confidence item's confidence indicator.\n- `--lr-memory-panel-confidence-danger-color` (default: `var(--lr-color-danger)`) — Text color for a low-confidence item's confidence indicator.",
|
|
10392
|
+
"description": "`<lr-memory-panel>` — an agent's working memory surface: short-term context and long-term\nmemories, each item's confidence and (optional) grounding provenance, and add/remove/forget\nactions gated behind an explicit confirmation step before anything is reported as decided.\n\nComposes `lr-provenance-panel` for a per-item's provenance breakdown (revealed behind a\ndisclosure toggle, only rendered when `item.provenance` is set) and `lr-confirm-bar` for every\nadd/remove/forget confirmation -- this component never re-implements a new inline-confirmation\npattern of its own. A memory item's confidence reuses `lr-citation-badge`'s own confidence\nvocabulary (`citationHighConfidence`/`citationMediumConfidence`/`citationLowConfidence`), tiered\nagainst `thresholds` the same way `lr-chunk-inspector` tiers a chunk's relevance score.\n\n`shortTerm`/`longTerm` are controlled and never mutated by this component -- approving a pending\naction only fires the matching event; the host applies the resulting state change (adding to\n`longTerm`, removing an item, clearing `longTerm`) and passes new arrays back down. At most one\nconfirmation is ever pending at a time: starting a new action (on the same item or a different\none) silently cancels whichever confirmation was already open, the same way only one row can be\nmid-edit in a list at once.\nIf a controlled collection replacement removes the row containing focus, focus moves to the\nclosest surviving memory row, or to the stable root when no row survives.\n\nFocus follows the confirmation rather than being dropped: activating an action replaces the\nbutton that had focus, so focus moves into the freshly rendered `lr-confirm-bar` (its Deny\ncontrol -- the safe action -- or the bar's own status element) instead of falling back to\n`<body>`. Resolving or cancelling hands focus back: to the row for a per-item decision, to the\n\"Forget all\" control for the bulk one. Escape while the confirmation holds focus cancels it\nexactly like Deny -- no event, same focus return -- and does not propagate, so an enclosing\ndialog or popover still sees its own Escape when no confirmation is open.\n\nThree distinct, non-overlapping actions: `add` promotes a short-term item into long-term memory\n(only offered on short-term items -- long-term items are already there); `remove` deletes one\nspecific item from whichever list it's in (offered on every item); `forget` is deliberately\nscoped to the whole long-term list at once (a single \"Forget all\" control in that section's\nheader, only rendered while `longTerm` is non-empty) -- a bulk, more consequential action kept\ndistinct from the per-item `remove`.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `add-button` | The \"Add to long-term memory\" action. Only rendered on short-term items. |\n| `base` | The root wrapper. |\n| `confidence` | The item's confidence tier text, carrying `data-tone`. Omitted when `confidence` is unset. |\n| `empty` | The all-empty `lr-empty` state, shown when both lists are empty. |\n| `expand-toggle` | The provenance disclosure toggle. Omitted when `provenance` is unset. |\n| `forget-all-button` | The long-term section's bulk \"Forget all\" action. Only rendered while `longTerm` is non-empty. |\n| `forget-all-confirm` | The `<lr-confirm-bar>` shown in place of the \"Forget all\" action while that bulk confirmation is pending. |\n| `heading` | A section's visible heading text. |\n| `item` | One memory item row (`role=\"listitem\"`); carries `data-id`/`data-scope` and a stable `tabindex=\"-1\"` so focus has somewhere to land after a pending confirmation on this row resolves. |\n| `item-actions` | The wrapper around an item's action row (or its pending `lr-confirm-bar`). |\n| `item-body` | The disclosed `lr-provenance-panel` wrapper, `hidden` while collapsed. Omitted when `provenance` is unset. |\n| `item-row` | The wrapper around an item's text and confidence indicator. |\n| `item-text` | The item's `text`. |\n| `list` | A section's `role=\"list\"` wrapper, omitted while that section is empty. |\n| `remove-button` | The \"Remove\" action. Rendered on every item. |\n| `section` | One of the two (short-term/long-term) sections; carries `data-scope`. |\n| `section-empty` | A section's \"no items\" text, shown when that section's own list is empty. |\n| `section-header` | A section's heading + (long-term only) \"Forget all\" control row. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-memory-panel-confidence-success-color` (default: `var(--lr-color-success)`) — Text color for a high-confidence item's confidence indicator.\n- `--lr-memory-panel-confidence-warning-color` (default: `var(--lr-color-warning)`) — Text color for a medium-confidence item's confidence indicator.\n- `--lr-memory-panel-confidence-danger-color` (default: `var(--lr-color-danger)`) — Text color for a low-confidence item's confidence indicator.",
|
|
10393
10393
|
"attributes": [
|
|
10394
10394
|
{
|
|
10395
10395
|
"name": "label",
|
|
@@ -11137,7 +11137,7 @@
|
|
|
11137
11137
|
},
|
|
11138
11138
|
{
|
|
11139
11139
|
"name": "lr-notebook-viewer",
|
|
11140
|
-
"description": "`<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.",
|
|
11140
|
+
"description": "`<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`search()`/`searchNext()`/`searchPrevious()`/`clearSearch()` follow the shared viewer search\ncontract (`internal/text-viewer-target.ts`'s `LyraTextViewerTarget`): `search()` resolves the\nmatch count and the two navigation methods resolve `true` once the active match moved, `false`\nwhen there is nothing to move to. A find-in-page host can therefore drive this viewer through the\nsame typed surface as every other one.\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.",
|
|
11141
11141
|
"attributes": [
|
|
11142
11142
|
{
|
|
11143
11143
|
"name": "locale",
|
|
@@ -11655,7 +11655,7 @@
|
|
|
11655
11655
|
},
|
|
11656
11656
|
{
|
|
11657
11657
|
"name": "lr-pdf-viewer",
|
|
11658
|
-
"description": "Fetches PDF bytes and renders their pages with the optional `pdfjs-dist` peer. Pages are composed\nthrough `lr-virtual-list`, while a PDF.js text layer keeps rendered text selectable and copyable.\nAdopts `DocumentAnchorTarget`: `page`, `text-quote`, and `region` anchors resolve; highlights paint\nvia one `<lr-highlight-layer>` per page, stacked beneath the text layer (canvas -> highlights ->\ntext layer) so starting a text selection over a cited passage keeps working. Pointer activation of\na highlight is hit-tested at the page-wrapper level (`onPageClick`) since the text layer sitting on\ntop intercepts most direct pointer events; keyboard activation reaches the highlight layer's own\nroving-tabindex rects directly, since z-stacking doesn't affect tab order. Accepted residual: a\nclick that ends a text-selection drag over a highlighted passage never activates it (the\nselection-in-progress check in `onPageClick` exists precisely to distinguish that case from a\ngenuine activation click).\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root viewer container. |\n| `error` | The error message region. |\n| `next-button` | The next-page button. |\n| `page` | One rendered page wrapper. |\n| `page-canvas` | The canvas a page's content is painted onto. |\n| `page-indicator` | The current page text. |\n| `pages` | The virtualized page list. |\n| `previous-button` | The previous-page button. |\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| `text-layer` | Selectable text positioned over a page canvas. |\n| `text-span` | One generated text run inside a page's text layer. |\n| `toolbar` | Pagination and zoom controls. |\n| `zoom-in-button` | The zoom-in button. |\n| `zoom-indicator` | The current zoom percentage. |\n| `zoom-out-button` | The zoom-out button. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-pdf-viewer-height` (default: `var(--lr-size-24rem)`) — Block size of the virtualized page list. Also settable via the `max-height` property.",
|
|
11658
|
+
"description": "Fetches PDF bytes and renders their pages with the optional `pdfjs-dist` peer. Pages are composed\nthrough `lr-virtual-list`, while a PDF.js text layer keeps rendered text selectable and copyable.\nAdopts `DocumentAnchorTarget`: `page`, `text-quote`, and `region` anchors resolve; highlights paint\nvia one `<lr-highlight-layer>` per page, stacked beneath the text layer (canvas -> highlights ->\ntext layer) so starting a text selection over a cited passage keeps working. Pointer activation of\na highlight is hit-tested at the page-wrapper level (`onPageClick`) since the text layer sitting on\ntop intercepts most direct pointer events; keyboard activation reaches the highlight layer's own\nroving-tabindex rects directly, since z-stacking doesn't affect tab order. Accepted residual: a\nclick that ends a text-selection drag over a highlighted passage never activates it (the\nselection-in-progress check in `onPageClick` exists precisely to distinguish that case from a\ngenuine activation click).\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root viewer container. |\n| `error` | The error message region. |\n| `next-button` | The next-page button. |\n| `page` | One rendered page wrapper. |\n| `page-canvas` | The canvas a page's content is painted onto. |\n| `page-indicator` | The current page text. |\n| `pages` | The virtualized page list. |\n| `previous-button` | The previous-page button. |\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| `text-layer` | Selectable text positioned over a page canvas. |\n| `text-span` | One generated text run inside a page's text layer. |\n| `toolbar` | Pagination and zoom controls. |\n| `zoom-in-button` | The zoom-in button. |\n| `zoom-indicator` | The current zoom percentage. |\n| `zoom-out-button` | The zoom-out button. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-pdf-viewer-height` (default: `var(--lr-size-24rem)`) — Block size of the virtualized page list.\n- `--lr-pdf-viewer-toolbar-button-hover-bg` (default: `var(--lr-color-surface)`) — Hover fill of the toolbar buttons. Defaults to the surface fill rather than the toolbar's own tint so the hover state is actually visible against it. Also settable via the `max-height` property.",
|
|
11659
11659
|
"attributes": [
|
|
11660
11660
|
{
|
|
11661
11661
|
"name": "locale",
|
|
@@ -14494,7 +14494,7 @@
|
|
|
14494
14494
|
},
|
|
14495
14495
|
{
|
|
14496
14496
|
"name": "lr-segmented",
|
|
14497
|
-
"description": "`<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
|
|
14497
|
+
"description": "`<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 fade at each horizontal scroll edge. The fade is applied only while the track actually overflows, so a row that fits is never dimmed.\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.",
|
|
14498
14498
|
"attributes": [
|
|
14499
14499
|
{
|
|
14500
14500
|
"name": "label",
|
|
@@ -16152,7 +16152,7 @@
|
|
|
16152
16152
|
},
|
|
16153
16153
|
{
|
|
16154
16154
|
"name": "lr-tabs",
|
|
16155
|
-
"description": "`<lr-tabs>` — a tab strip whose panels are direct light-DOM children,\neach carrying `slot=\"<id>\"` (the panel's stable id) and `label=\"<text>\"`\n(the tab button's text). One named `<slot>` is rendered per distinct\n`slot` name found among the current children — a child with no `label`,\nor a name with no matching child, simply never produces a tab.\n\nA tab button's *visible* content can carry a leading icon without ever\nchanging its *accessible name* (which always stays exactly `label`'s\ntext, nothing else): give a tab an extra direct-child sibling of\n`<lr-tabs>` carrying `slot=\"<id>-icon\"` (that sibling's own content --\nan inline SVG, an emoji span, a custom icon element, anything -- is\nentirely up to the consumer). It's rendered ahead of the label inside\nthat tab's button, wrapped in an `aria-hidden=\"true\"` part so it's\nexcluded from accessible-name computation no matter what it contains. A\ntab with no matching `<id>-icon` sibling renders no icon wrapper at all,\nso existing text-only tabs are completely unaffected. (A named slot,\nrather than a second attribute holding an icon-name lookup, was chosen\nbecause this library's `internal/icons.ts` is a small closed set of\nchrome glyphs for this library's *own* components, not a public\nname-keyed registry -- a slot lets a consumer supply an arbitrary,\ndomain-specific icon instead of being limited to that internal set.)\n\nImplements the WAI-ARIA APG tabs pattern with automatic activation:\nLeft/Right (swapped under RTL) move focus *and* selection together,\nHome/End jump to the first/last enabled tab, and a roving `tabindex`\nfollows whichever tab is currently selected.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Direct children with `slot=\"<id>\" label=\"<text>\"` (and optionally `disabled`); one becomes each tab's panel. |\n| `<id>-icon` | Optional sibling direct child supplying a tab's leading icon content; excluded from the tab button's accessible name. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper around the tablist and panels. |\n| `panel` | A single `role=\"tabpanel\"` wrapper (one per tab, hidden unless active). |\n| `tab` | A single tab button. |\n| `tab-icon` | The optional leading-icon wrapper inside a tab button; only rendered when that tab has a matching `<id>-icon` sibling. |\n| `tablist` | The `role=\"tablist\"` row of tab buttons. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-scroll-fade-size` (default: `2rem`) — Width of the
|
|
16155
|
+
"description": "`<lr-tabs>` — a tab strip whose panels are direct light-DOM children,\neach carrying `slot=\"<id>\"` (the panel's stable id) and `label=\"<text>\"`\n(the tab button's text). One named `<slot>` is rendered per distinct\n`slot` name found among the current children — a child with no `label`,\nor a name with no matching child, simply never produces a tab.\n\nA tab button's *visible* content can carry a leading icon without ever\nchanging its *accessible name* (which always stays exactly `label`'s\ntext, nothing else): give a tab an extra direct-child sibling of\n`<lr-tabs>` carrying `slot=\"<id>-icon\"` (that sibling's own content --\nan inline SVG, an emoji span, a custom icon element, anything -- is\nentirely up to the consumer). It's rendered ahead of the label inside\nthat tab's button, wrapped in an `aria-hidden=\"true\"` part so it's\nexcluded from accessible-name computation no matter what it contains. A\ntab with no matching `<id>-icon` sibling renders no icon wrapper at all,\nso existing text-only tabs are completely unaffected. (A named slot,\nrather than a second attribute holding an icon-name lookup, was chosen\nbecause this library's `internal/icons.ts` is a small closed set of\nchrome glyphs for this library's *own* components, not a public\nname-keyed registry -- a slot lets a consumer supply an arbitrary,\ndomain-specific icon instead of being limited to that internal set.)\n\nImplements the WAI-ARIA APG tabs pattern with automatic activation:\nLeft/Right (swapped under RTL) move focus *and* selection together,\nHome/End jump to the first/last enabled tab, and a roving `tabindex`\nfollows whichever tab is currently selected.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | Direct children with `slot=\"<id>\" label=\"<text>\"` (and optionally `disabled`); one becomes each tab's panel. |\n| `<id>-icon` | Optional sibling direct child supplying a tab's leading icon content; excluded from the tab button's accessible name. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper around the tablist and panels. |\n| `panel` | A single `role=\"tabpanel\"` wrapper (one per tab, hidden unless active). |\n| `tab` | A single tab button. |\n| `tab-icon` | The optional leading-icon wrapper inside a tab button; only rendered when that tab has a matching `<id>-icon` sibling. |\n| `tablist` | The `role=\"tablist\"` row of tab buttons. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-scroll-fade-size` (default: `2rem`) — Width of the fade at each horizontal scroll edge. The fade is applied only while the tablist actually overflows, so a row that fits is never dimmed.\n- `--lr-tabs-selected-color` (default: `var(--lr-color-brand)`) — Text color of the selected tab. Scoped to `[aria-selected='true']` only, so it never repaints a hovered unselected tab (which is what hijacking `--lr-color-brand` library-wide used to do).\n- `--lr-tabs-indicator-color` (default: `var(--lr-color-brand)`) — Color of the selected tab's underline, themeable independently of its text color.\n- `--lr-tabs-hover-color` (default: `var(--lr-color-text)`) — Text color of a hovered, non-disabled tab. Independent of the selected-state props above.",
|
|
16156
16156
|
"attributes": [
|
|
16157
16157
|
{
|
|
16158
16158
|
"name": "active",
|
|
@@ -16980,7 +16980,7 @@
|
|
|
16980
16980
|
},
|
|
16981
16981
|
{
|
|
16982
16982
|
"name": "lr-timeline",
|
|
16983
|
-
"description": "`<lr-timeline>` — an ordered, connected sequence of past-event rows (an audit trail, an agent\naction history, a changelog) composed from `<lr-timeline-item>` light-DOM children, joined by a\ncontinuous connecting rail. First-party invention: no Web Awesome/Shoelace counterpart exists, so\nthis follows the library's own established conventions rather than mirroring an upstream API.\n\nA pure, read-only, declarative display component — same zero-event shape as `<lr-badge>`/\n`<lr-avatar>`/`<lr-skeleton>`. It never mutates its own children and fires no events; a\nconsumer who needs to react to item count changes already owns the mutation (they're the one\nadding/removing `<lr-timeline-item>` children) and can listen to the native `slotchange` event\ndirectly if truly needed.\n\nNo keyboard navigation, roving-tabindex, or selection model of any kind — a deliberate scope\ndecision, not an oversight. A timeline is a passive record display, not a navigable widget; see\n`<lr-timeline-item>`'s class doc for the full reasoning behind dropping an earlier\n\"interactive row\" design. Not a form-associated control — no value to submit, no label/hint/error\nchrome.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | `<lr-timeline-item>` children, in display order. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. `role=\"list\"` lives here directly (a timeline isn't a navigation landmark, so it doesn't need a two-layer `base`+`list` split). Flex container: `flex-direction: column` in `vertical` orientation (the default), `flex-direction: row` (with `overflow-x: auto`, `overflow-y: hidden`, and
|
|
16983
|
+
"description": "`<lr-timeline>` — an ordered, connected sequence of past-event rows (an audit trail, an agent\naction history, a changelog) composed from `<lr-timeline-item>` light-DOM children, joined by a\ncontinuous connecting rail. First-party invention: no Web Awesome/Shoelace counterpart exists, so\nthis follows the library's own established conventions rather than mirroring an upstream API.\n\nA pure, read-only, declarative display component — same zero-event shape as `<lr-badge>`/\n`<lr-avatar>`/`<lr-skeleton>`. It never mutates its own children and fires no events; a\nconsumer who needs to react to item count changes already owns the mutation (they're the one\nadding/removing `<lr-timeline-item>` children) and can listen to the native `slotchange` event\ndirectly if truly needed.\n\nNo keyboard navigation, roving-tabindex, or selection model of any kind — a deliberate scope\ndecision, not an oversight. A timeline is a passive record display, not a navigable widget; see\n`<lr-timeline-item>`'s class doc for the full reasoning behind dropping an earlier\n\"interactive row\" design. Not a form-associated control — no value to submit, no label/hint/error\nchrome.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | `<lr-timeline-item>` children, in display order. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The root wrapper. `role=\"list\"` lives here directly (a timeline isn't a navigation landmark, so it doesn't need a two-layer `base`+`list` split). Flex container: `flex-direction: column` in `vertical` orientation (the default), `flex-direction: row` (with `overflow-x: auto`, `overflow-y: hidden`, and an edge-fade `mask-image` applied only while the strip actually overflows) in `horizontal` orientation. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-timeline-gap` (default: `var(--lr-space-l)`) — Spacing between consecutive items along the timeline's main axis; also the length each item's own rail visually bridges to reach the next item's marker. Declared here but actually consumed inside each `<lr-timeline-item>`'s own stylesheet, via ordinary CSS custom-property inheritance across the slot boundary.",
|
|
16984
16984
|
"attributes": [
|
|
16985
16985
|
{
|
|
16986
16986
|
"name": "aria-label",
|
|
@@ -19821,6 +19821,10 @@
|
|
|
19821
19821
|
"name": "--lr-email-viewer-max-height",
|
|
19822
19822
|
"description": "**`<lr-email-viewer>`** (default: `none`) — Maximum block size of `[part=\"body\"]` before it scrolls internally. The `maxHeight` property sets this token inline on `[part=\"base\"]`."
|
|
19823
19823
|
},
|
|
19824
|
+
{
|
|
19825
|
+
"name": "--lr-embedding-explorer-height",
|
|
19826
|
+
"description": "**`<lr-embedding-explorer>`** (default: `360px`) — The plot's `block-size`. Set on the host from the `height` property, whose default supplies the `360px`; a value the browser cannot parse as a `block-size` is dropped, leaving the `viewBox`-derived aspect-ratio size. A consumer's own `::part(plot) { block-size: ... }` rule still overrides it, and the narrow-allocation `min-block-size` floor still raises it."
|
|
19827
|
+
},
|
|
19824
19828
|
{
|
|
19825
19829
|
"name": "--lr-embedding-explorer-selected-stroke",
|
|
19826
19830
|
"description": "**`<lr-embedding-explorer>`** (default: `var(--lr-color-brand)`) — Stroke color of the selected point."
|
|
@@ -20651,7 +20655,11 @@
|
|
|
20651
20655
|
},
|
|
20652
20656
|
{
|
|
20653
20657
|
"name": "--lr-pdf-viewer-height",
|
|
20654
|
-
"description": "**`<lr-pdf-viewer>`** (default: `var(--lr-size-24rem)`) — Block size of the virtualized page list.
|
|
20658
|
+
"description": "**`<lr-pdf-viewer>`** (default: `var(--lr-size-24rem)`) — Block size of the virtualized page list."
|
|
20659
|
+
},
|
|
20660
|
+
{
|
|
20661
|
+
"name": "--lr-pdf-viewer-toolbar-button-hover-bg",
|
|
20662
|
+
"description": "**`<lr-pdf-viewer>`** (default: `var(--lr-color-surface)`) — Hover fill of the toolbar buttons. Defaults to the surface fill rather than the toolbar's own tint so the hover state is actually visible against it. Also settable via the `max-height` property."
|
|
20655
20663
|
},
|
|
20656
20664
|
{
|
|
20657
20665
|
"name": "--lr-phone-input-control-height",
|
|
@@ -20871,7 +20879,7 @@
|
|
|
20871
20879
|
},
|
|
20872
20880
|
{
|
|
20873
20881
|
"name": "--lr-scroll-fade-size",
|
|
20874
|
-
"description": "**`<lr-segmented
|
|
20882
|
+
"description": "**`<lr-segmented>`** (default: `2rem`) — Width of the fade at each horizontal scroll edge. The fade is applied only while the track actually overflows, so a row that fits is never dimmed.\n\n**`<lr-tabs>`** (default: `2rem`) — Width of the fade at each horizontal scroll edge. The fade is applied only while the tablist actually overflows, so a row that fits is never dimmed."
|
|
20875
20883
|
},
|
|
20876
20884
|
{
|
|
20877
20885
|
"name": "--lr-scroller-control-size",
|