@aceshooting/lyra-ui 5.0.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -12
- package/custom-elements.json +2150 -220
- package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +2 -0
- package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts.map +1 -1
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js +2 -0
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js.map +1 -1
- package/dist/components/agent-tools/agent-run/agent-run.class.d.ts +1 -0
- package/dist/components/agent-tools/agent-run/agent-run.class.d.ts.map +1 -1
- package/dist/components/agent-tools/agent-run/agent-run.class.js +1 -0
- package/dist/components/agent-tools/agent-run/agent-run.class.js.map +1 -1
- package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts +2 -0
- package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts.map +1 -1
- package/dist/components/agent-tools/compare-panel/compare-panel.class.js +2 -0
- package/dist/components/agent-tools/compare-panel/compare-panel.class.js.map +1 -1
- package/dist/components/agent-tools/stack-trace/stack-trace.class.d.ts +5 -0
- 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 +5 -0
- package/dist/components/agent-tools/stack-trace/stack-trace.class.js.map +1 -1
- package/dist/components/agent-tools/terminal/terminal.class.d.ts +3 -0
- package/dist/components/agent-tools/terminal/terminal.class.d.ts.map +1 -1
- package/dist/components/agent-tools/terminal/terminal.class.js +3 -0
- package/dist/components/agent-tools/terminal/terminal.class.js.map +1 -1
- package/dist/components/agent-tools/thinking-panel/thinking-panel.class.d.ts +2 -0
- package/dist/components/agent-tools/thinking-panel/thinking-panel.class.d.ts.map +1 -1
- package/dist/components/agent-tools/thinking-panel/thinking-panel.class.js +2 -0
- package/dist/components/agent-tools/thinking-panel/thinking-panel.class.js.map +1 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.d.ts +2 -0
- 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 -0
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js.map +1 -1
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +3 -0
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +3 -0
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js.map +1 -1
- package/dist/components/agent-tools/tool-result-view/tool-result-view.class.d.ts +1 -0
- package/dist/components/agent-tools/tool-result-view/tool-result-view.class.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-result-view/tool-result-view.class.js +1 -0
- package/dist/components/agent-tools/tool-result-view/tool-result-view.class.js.map +1 -1
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.d.ts +1 -0
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js +1 -0
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js.map +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts +2 -0
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +2 -0
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js.map +1 -1
- package/dist/components/charts/chart/chart.class.d.ts +15 -0
- package/dist/components/charts/chart/chart.class.d.ts.map +1 -1
- package/dist/components/charts/chart/chart.class.js +15 -0
- package/dist/components/charts/chart/chart.class.js.map +1 -1
- package/dist/components/conversation/audio-visualizer/audio-visualizer.class.d.ts +2 -0
- package/dist/components/conversation/audio-visualizer/audio-visualizer.class.d.ts.map +1 -1
- package/dist/components/conversation/audio-visualizer/audio-visualizer.class.js +2 -0
- package/dist/components/conversation/audio-visualizer/audio-visualizer.class.js.map +1 -1
- package/dist/components/conversation/branch-picker/branch-picker.class.d.ts +2 -0
- package/dist/components/conversation/branch-picker/branch-picker.class.d.ts.map +1 -1
- package/dist/components/conversation/branch-picker/branch-picker.class.js +2 -0
- package/dist/components/conversation/branch-picker/branch-picker.class.js.map +1 -1
- package/dist/components/conversation/chat-message/chat-message.class.d.ts +5 -1
- package/dist/components/conversation/chat-message/chat-message.class.d.ts.map +1 -1
- package/dist/components/conversation/chat-message/chat-message.class.js +5 -1
- package/dist/components/conversation/chat-message/chat-message.class.js.map +1 -1
- package/dist/components/conversation/chat-message/chat-message.styles.d.ts.map +1 -1
- package/dist/components/conversation/chat-message/chat-message.styles.js +15 -2
- package/dist/components/conversation/chat-message/chat-message.styles.js.map +1 -1
- package/dist/components/conversation/code-block/code-block.class.d.ts +4 -0
- package/dist/components/conversation/code-block/code-block.class.d.ts.map +1 -1
- package/dist/components/conversation/code-block/code-block.class.js +4 -0
- package/dist/components/conversation/code-block/code-block.class.js.map +1 -1
- package/dist/components/conversation/conversation-item/conversation-item.class.d.ts +2 -0
- package/dist/components/conversation/conversation-item/conversation-item.class.d.ts.map +1 -1
- package/dist/components/conversation/conversation-item/conversation-item.class.js +2 -0
- package/dist/components/conversation/conversation-item/conversation-item.class.js.map +1 -1
- package/dist/components/conversation/markdown/markdown.class.d.ts +2 -0
- package/dist/components/conversation/markdown/markdown.class.d.ts.map +1 -1
- package/dist/components/conversation/markdown/markdown.class.js +2 -0
- package/dist/components/conversation/markdown/markdown.class.js.map +1 -1
- package/dist/components/conversation/push-to-talk/push-to-talk.class.d.ts +2 -0
- package/dist/components/conversation/push-to-talk/push-to-talk.class.d.ts.map +1 -1
- package/dist/components/conversation/push-to-talk/push-to-talk.class.js +2 -0
- package/dist/components/conversation/push-to-talk/push-to-talk.class.js.map +1 -1
- package/dist/components/conversation/stream-status/stream-status.class.d.ts +5 -0
- package/dist/components/conversation/stream-status/stream-status.class.d.ts.map +1 -1
- package/dist/components/conversation/stream-status/stream-status.class.js +5 -0
- package/dist/components/conversation/stream-status/stream-status.class.js.map +1 -1
- package/dist/components/conversation/streaming-text/streaming-text.class.d.ts +2 -0
- package/dist/components/conversation/streaming-text/streaming-text.class.d.ts.map +1 -1
- package/dist/components/conversation/streaming-text/streaming-text.class.js +2 -0
- package/dist/components/conversation/streaming-text/streaming-text.class.js.map +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts +1 -0
- package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts.map +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -0
- package/dist/components/conversation/transcript-feed/transcript-feed.class.js.map +1 -1
- package/dist/components/data/calendar/calendar.class.d.ts +6 -0
- package/dist/components/data/calendar/calendar.class.d.ts.map +1 -1
- package/dist/components/data/calendar/calendar.class.js +6 -0
- package/dist/components/data/calendar/calendar.class.js.map +1 -1
- package/dist/components/data/context-meter/context-meter.class.d.ts +1 -0
- package/dist/components/data/context-meter/context-meter.class.d.ts.map +1 -1
- package/dist/components/data/context-meter/context-meter.class.js +1 -0
- package/dist/components/data/context-meter/context-meter.class.js.map +1 -1
- package/dist/components/data/data-grid/data-grid.class.d.ts +1 -0
- package/dist/components/data/data-grid/data-grid.class.d.ts.map +1 -1
- package/dist/components/data/data-grid/data-grid.class.js +1 -0
- package/dist/components/data/data-grid/data-grid.class.js.map +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +3 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.d.ts.map +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.js +3 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.js.map +1 -1
- package/dist/components/data/flow-minimap/flow-minimap.class.d.ts +2 -2
- package/dist/components/data/flow-minimap/flow-minimap.class.js +2 -2
- package/dist/components/data/flow-node/flow-node.class.d.ts +1 -1
- package/dist/components/data/flow-node/flow-node.class.js +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +51 -2
- package/dist/components/data/heatmap/heatmap.class.d.ts.map +1 -1
- package/dist/components/data/heatmap/heatmap.class.js +42 -6
- package/dist/components/data/heatmap/heatmap.class.js.map +1 -1
- package/dist/components/data/heatmap/heatmap.styles.d.ts.map +1 -1
- package/dist/components/data/heatmap/heatmap.styles.js +19 -0
- package/dist/components/data/heatmap/heatmap.styles.js.map +1 -1
- package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +20 -0
- package/dist/components/data/sequence-strip/sequence-strip.class.d.ts.map +1 -1
- package/dist/components/data/sequence-strip/sequence-strip.class.js +35 -0
- package/dist/components/data/sequence-strip/sequence-strip.class.js.map +1 -1
- package/dist/components/data/sequence-strip/sequence-strip.styles.d.ts.map +1 -1
- package/dist/components/data/sequence-strip/sequence-strip.styles.js +29 -0
- package/dist/components/data/sequence-strip/sequence-strip.styles.js.map +1 -1
- package/dist/components/data/table/table.class.d.ts +11 -0
- package/dist/components/data/table/table.class.d.ts.map +1 -1
- package/dist/components/data/table/table.class.js +11 -0
- package/dist/components/data/table/table.class.js.map +1 -1
- package/dist/components/data/timeline/timeline-item.class.d.ts +17 -0
- package/dist/components/data/timeline/timeline-item.class.d.ts.map +1 -1
- package/dist/components/data/timeline/timeline-item.class.js +17 -0
- package/dist/components/data/timeline/timeline-item.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 +6 -3
- package/dist/components/data/timeline/timeline.styles.js.map +1 -1
- package/dist/components/data/tree/tree-node.class.d.ts +3 -0
- package/dist/components/data/tree/tree-node.class.d.ts.map +1 -1
- package/dist/components/data/tree/tree-node.class.js +3 -0
- package/dist/components/data/tree/tree-node.class.js.map +1 -1
- package/dist/components/forms/button/button.class.d.ts +24 -0
- package/dist/components/forms/button/button.class.d.ts.map +1 -1
- package/dist/components/forms/button/button.class.js +24 -0
- package/dist/components/forms/button/button.class.js.map +1 -1
- package/dist/components/forms/code-editor/code-editor.class.d.ts +28 -12
- package/dist/components/forms/code-editor/code-editor.class.d.ts.map +1 -1
- package/dist/components/forms/code-editor/code-editor.class.js +44 -14
- package/dist/components/forms/code-editor/code-editor.class.js.map +1 -1
- package/dist/components/forms/code-editor/code-editor.styles.d.ts.map +1 -1
- package/dist/components/forms/code-editor/code-editor.styles.js +4 -0
- package/dist/components/forms/code-editor/code-editor.styles.js.map +1 -1
- package/dist/components/forms/combobox/combobox.class.d.ts +10 -0
- package/dist/components/forms/combobox/combobox.class.d.ts.map +1 -1
- package/dist/components/forms/combobox/combobox.class.js +16 -0
- package/dist/components/forms/combobox/combobox.class.js.map +1 -1
- package/dist/components/forms/combobox/option.class.d.ts +3 -3
- package/dist/components/forms/combobox/option.class.d.ts.map +1 -1
- package/dist/components/forms/combobox/option.class.js +9 -0
- package/dist/components/forms/combobox/option.class.js.map +1 -1
- package/dist/components/forms/date-picker/date-input.class.d.ts +3 -0
- package/dist/components/forms/date-picker/date-input.class.d.ts.map +1 -1
- package/dist/components/forms/date-picker/date-input.class.js +3 -0
- package/dist/components/forms/date-picker/date-input.class.js.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +37 -2
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.js +113 -10
- package/dist/components/forms/emoji-picker/emoji-picker.class.js.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.styles.d.ts.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.styles.js +30 -0
- package/dist/components/forms/emoji-picker/emoji-picker.styles.js.map +1 -1
- package/dist/components/forms/icon-button/icon-button.class.d.ts +4 -0
- package/dist/components/forms/icon-button/icon-button.class.d.ts.map +1 -1
- package/dist/components/forms/icon-button/icon-button.class.js +4 -0
- package/dist/components/forms/icon-button/icon-button.class.js.map +1 -1
- package/dist/components/forms/input/input.class.d.ts +11 -3
- package/dist/components/forms/input/input.class.d.ts.map +1 -1
- package/dist/components/forms/input/input.class.js +3 -0
- package/dist/components/forms/input/input.class.js.map +1 -1
- package/dist/components/forms/input/time-input.class.d.ts +12 -0
- package/dist/components/forms/input/time-input.class.d.ts.map +1 -1
- package/dist/components/forms/input/time-input.class.js +27 -0
- package/dist/components/forms/input/time-input.class.js.map +1 -1
- package/dist/components/forms/rubric-form/rubric-form.class.d.ts +7 -0
- package/dist/components/forms/rubric-form/rubric-form.class.d.ts.map +1 -1
- package/dist/components/forms/rubric-form/rubric-form.class.js +7 -0
- package/dist/components/forms/rubric-form/rubric-form.class.js.map +1 -1
- package/dist/components/forms/select/select.class.d.ts +8 -0
- package/dist/components/forms/select/select.class.d.ts.map +1 -1
- package/dist/components/forms/select/select.class.js +8 -0
- package/dist/components/forms/select/select.class.js.map +1 -1
- package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +1 -1
- package/dist/components/forms/swatch-picker/swatch-picker.class.js +1 -1
- package/dist/components/forms/switch/switch.class.d.ts +6 -0
- package/dist/components/forms/switch/switch.class.d.ts.map +1 -1
- package/dist/components/forms/switch/switch.class.js +6 -0
- package/dist/components/forms/switch/switch.class.js.map +1 -1
- package/dist/components/forms/token-input/token-input.class.d.ts +2 -0
- package/dist/components/forms/token-input/token-input.class.d.ts.map +1 -1
- package/dist/components/forms/token-input/token-input.class.js +2 -0
- package/dist/components/forms/token-input/token-input.class.js.map +1 -1
- package/dist/components/layout/app-rail/app-rail.class.d.ts +8 -0
- package/dist/components/layout/app-rail/app-rail.class.d.ts.map +1 -1
- package/dist/components/layout/app-rail/app-rail.class.js +8 -0
- package/dist/components/layout/app-rail/app-rail.class.js.map +1 -1
- package/dist/components/layout/button-group/button-group.class.d.ts +1 -1
- package/dist/components/layout/button-group/button-group.class.js +1 -1
- package/dist/components/layout/command-palette/command-palette.class.d.ts +12 -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 +12 -0
- package/dist/components/layout/command-palette/command-palette.class.js.map +1 -1
- package/dist/components/layout/control-group/control-group.class.d.ts +1 -1
- package/dist/components/layout/control-group/control-group.class.js +1 -1
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts +7 -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 +7 -0
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.js.map +1 -1
- package/dist/components/layout/dock-panel/dock-panel.class.d.ts +3 -0
- package/dist/components/layout/dock-panel/dock-panel.class.d.ts.map +1 -1
- package/dist/components/layout/dock-panel/dock-panel.class.js +3 -0
- package/dist/components/layout/dock-panel/dock-panel.class.js.map +1 -1
- package/dist/components/layout/responsive-panel/responsive-panel.class.d.ts +2 -0
- package/dist/components/layout/responsive-panel/responsive-panel.class.d.ts.map +1 -1
- package/dist/components/layout/responsive-panel/responsive-panel.class.js +2 -0
- package/dist/components/layout/responsive-panel/responsive-panel.class.js.map +1 -1
- package/dist/components/layout/scroller/scroller.class.d.ts +2 -2
- package/dist/components/layout/scroller/scroller.class.js +2 -2
- package/dist/components/layout/segmented/segmented.class.d.ts +6 -0
- package/dist/components/layout/segmented/segmented.class.d.ts.map +1 -1
- package/dist/components/layout/segmented/segmented.class.js +6 -0
- package/dist/components/layout/segmented/segmented.class.js.map +1 -1
- package/dist/components/layout/split/split.class.d.ts +68 -15
- package/dist/components/layout/split/split.class.d.ts.map +1 -1
- package/dist/components/layout/split/split.class.js +80 -21
- package/dist/components/layout/split/split.class.js.map +1 -1
- package/dist/components/layout/stepper/stepper.class.d.ts +52 -11
- package/dist/components/layout/stepper/stepper.class.d.ts.map +1 -1
- package/dist/components/layout/stepper/stepper.class.js +69 -17
- package/dist/components/layout/stepper/stepper.class.js.map +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.d.ts +3 -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 +3 -0
- package/dist/components/layout/virtual-list/virtual-list.class.js.map +1 -1
- package/dist/components/layout/widget/widget.class.d.ts +6 -0
- package/dist/components/layout/widget/widget.class.d.ts.map +1 -1
- package/dist/components/layout/widget/widget.class.js +6 -0
- package/dist/components/layout/widget/widget.class.js.map +1 -1
- package/dist/components/media/attachment-chip/attachment-chip.class.d.ts +13 -0
- package/dist/components/media/attachment-chip/attachment-chip.class.d.ts.map +1 -1
- package/dist/components/media/attachment-chip/attachment-chip.class.js +13 -0
- package/dist/components/media/attachment-chip/attachment-chip.class.js.map +1 -1
- package/dist/components/media/avatar/avatar.class.d.ts +6 -0
- package/dist/components/media/avatar/avatar.class.d.ts.map +1 -1
- package/dist/components/media/avatar/avatar.class.js +6 -0
- package/dist/components/media/avatar/avatar.class.js.map +1 -1
- package/dist/components/media/media-card/media-card.class.d.ts +2 -0
- package/dist/components/media/media-card/media-card.class.d.ts.map +1 -1
- package/dist/components/media/media-card/media-card.class.js +2 -0
- package/dist/components/media/media-card/media-card.class.js.map +1 -1
- package/dist/components/media/playback/playback.class.d.ts +2 -0
- package/dist/components/media/playback/playback.class.d.ts.map +1 -1
- package/dist/components/media/playback/playback.class.js +2 -0
- package/dist/components/media/playback/playback.class.js.map +1 -1
- package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts +3 -0
- package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts.map +1 -1
- package/dist/components/media/zoomable-frame/zoomable-frame.class.js +3 -0
- package/dist/components/media/zoomable-frame/zoomable-frame.class.js.map +1 -1
- package/dist/components/overlays/badge/badge.class.d.ts +6 -0
- package/dist/components/overlays/badge/badge.class.d.ts.map +1 -1
- package/dist/components/overlays/badge/badge.class.js +6 -0
- package/dist/components/overlays/badge/badge.class.js.map +1 -1
- package/dist/components/overlays/callout/callout.class.d.ts +6 -0
- package/dist/components/overlays/callout/callout.class.d.ts.map +1 -1
- package/dist/components/overlays/callout/callout.class.js +6 -0
- package/dist/components/overlays/callout/callout.class.js.map +1 -1
- package/dist/components/overlays/chip/chip.class.d.ts +18 -0
- package/dist/components/overlays/chip/chip.class.d.ts.map +1 -1
- package/dist/components/overlays/chip/chip.class.js +18 -0
- package/dist/components/overlays/chip/chip.class.js.map +1 -1
- package/dist/components/overlays/dialog/dialog.class.d.ts +6 -0
- package/dist/components/overlays/dialog/dialog.class.d.ts.map +1 -1
- package/dist/components/overlays/dialog/dialog.class.js +6 -0
- package/dist/components/overlays/dialog/dialog.class.js.map +1 -1
- package/dist/components/overlays/drawer/drawer.class.d.ts +6 -0
- package/dist/components/overlays/drawer/drawer.class.d.ts.map +1 -1
- package/dist/components/overlays/drawer/drawer.class.js +6 -0
- package/dist/components/overlays/drawer/drawer.class.js.map +1 -1
- package/dist/components/overlays/progress/progress-ring.class.d.ts +1 -0
- package/dist/components/overlays/progress/progress-ring.class.d.ts.map +1 -1
- package/dist/components/overlays/progress/progress-ring.class.js +1 -0
- package/dist/components/overlays/progress/progress-ring.class.js.map +1 -1
- package/dist/components/overlays/skeleton/skeleton.class.d.ts +2 -0
- package/dist/components/overlays/skeleton/skeleton.class.d.ts.map +1 -1
- package/dist/components/overlays/skeleton/skeleton.class.js +2 -0
- package/dist/components/overlays/skeleton/skeleton.class.js.map +1 -1
- package/dist/components/overlays/spinner/spinner.class.d.ts +4 -0
- package/dist/components/overlays/spinner/spinner.class.d.ts.map +1 -1
- package/dist/components/overlays/spinner/spinner.class.js +4 -0
- package/dist/components/overlays/spinner/spinner.class.js.map +1 -1
- package/dist/components/overlays/toast/toast-item.class.d.ts +11 -0
- package/dist/components/overlays/toast/toast-item.class.d.ts.map +1 -1
- package/dist/components/overlays/toast/toast-item.class.js +11 -0
- package/dist/components/overlays/toast/toast-item.class.js.map +1 -1
- package/dist/components/overlays/toast/toast.class.d.ts +15 -0
- package/dist/components/overlays/toast/toast.class.d.ts.map +1 -1
- package/dist/components/overlays/toast/toast.class.js +15 -0
- package/dist/components/overlays/toast/toast.class.js.map +1 -1
- package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts +8 -0
- package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts.map +1 -1
- package/dist/components/retrieval/citation-badge/citation-badge.class.js +8 -0
- package/dist/components/retrieval/citation-badge/citation-badge.class.js.map +1 -1
- package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +1 -0
- package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts.map +1 -1
- package/dist/components/retrieval/entity-chip/entity-chip.class.js +1 -0
- package/dist/components/retrieval/entity-chip/entity-chip.class.js.map +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts +2 -0
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts.map +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +2 -0
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js.map +1 -1
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.d.ts +1 -0
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.d.ts.map +1 -1
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +1 -0
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js.map +1 -1
- package/dist/components/utility/diff-view/diff-view.class.d.ts +1 -0
- package/dist/components/utility/diff-view/diff-view.class.d.ts.map +1 -1
- package/dist/components/utility/diff-view/diff-view.class.js +1 -0
- package/dist/components/utility/diff-view/diff-view.class.js.map +1 -1
- package/dist/components/utility/icon/icon.class.d.ts +1 -0
- package/dist/components/utility/icon/icon.class.d.ts.map +1 -1
- package/dist/components/utility/icon/icon.class.js +1 -0
- package/dist/components/utility/icon/icon.class.js.map +1 -1
- package/dist/components/utility/json-viewer/json-viewer.class.d.ts +3 -0
- package/dist/components/utility/json-viewer/json-viewer.class.d.ts.map +1 -1
- package/dist/components/utility/json-viewer/json-viewer.class.js +3 -0
- package/dist/components/utility/json-viewer/json-viewer.class.js.map +1 -1
- package/dist/components/utility/known-date/known-date.class.d.ts +11 -0
- package/dist/components/utility/known-date/known-date.class.d.ts.map +1 -1
- package/dist/components/utility/known-date/known-date.class.js +11 -0
- package/dist/components/utility/known-date/known-date.class.js.map +1 -1
- package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts +2 -0
- package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js +2 -0
- package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js.map +1 -1
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +5 -0
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +5 -0
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js.map +1 -1
- package/dist/components/viewers/document-compare/document-compare.class.d.ts +1 -1
- package/dist/components/viewers/document-compare/document-compare.class.js +1 -1
- package/dist/components/viewers/document-preview/document-preview.class.d.ts +3 -0
- package/dist/components/viewers/document-preview/document-preview.class.d.ts.map +1 -1
- package/dist/components/viewers/document-preview/document-preview.class.js +3 -0
- package/dist/components/viewers/document-preview/document-preview.class.js.map +1 -1
- package/dist/components/viewers/email-viewer/email-viewer.class.d.ts +2 -0
- package/dist/components/viewers/email-viewer/email-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/email-viewer/email-viewer.class.js +2 -0
- package/dist/components/viewers/email-viewer/email-viewer.class.js.map +1 -1
- package/dist/components/viewers/html-viewer/html-viewer.class.d.ts +2 -0
- package/dist/components/viewers/html-viewer/html-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/html-viewer/html-viewer.class.js +2 -0
- package/dist/components/viewers/html-viewer/html-viewer.class.js.map +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +41 -9
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js.map +1 -1
- package/dist/internal/css-length.d.ts +40 -0
- package/dist/internal/css-length.d.ts.map +1 -0
- package/dist/internal/css-length.js +72 -0
- package/dist/internal/css-length.js.map +1 -0
- package/dist/internal/orientation-breakpoint.d.ts +12 -0
- package/dist/internal/orientation-breakpoint.d.ts.map +1 -0
- package/dist/internal/orientation-breakpoint.js +127 -0
- package/dist/internal/orientation-breakpoint.js.map +1 -0
- package/dist/lyra.d.ts +2 -2
- package/dist/lyra.d.ts.map +1 -1
- package/dist/lyra.js.map +1 -1
- package/llms/components/lr-accordion-item.md +23 -0
- package/llms/components/lr-accordion.md +23 -0
- package/llms/components/lr-activity-feed.md +45 -0
- package/llms/components/lr-agent-run.md +66 -0
- package/llms/components/lr-agent-trace.md +42 -0
- package/llms/components/lr-agent-workspace.md +109 -0
- package/llms/components/lr-animated-image.md +66 -0
- package/llms/components/lr-animation.md +73 -0
- package/llms/components/lr-app-rail-item.md +218 -0
- package/llms/components/lr-app-rail.md +218 -0
- package/llms/components/lr-archive-viewer.md +36 -0
- package/llms/components/lr-artifact-panel.md +60 -0
- package/llms/components/lr-attachment-chip.md +131 -0
- package/llms/components/lr-attachment-trigger.md +90 -0
- package/llms/components/lr-audio-visualizer.md +43 -0
- package/llms/components/lr-av-player.md +50 -0
- package/llms/components/lr-avatar-group.md +69 -0
- package/llms/components/lr-avatar.md +69 -0
- package/llms/components/lr-badge.md +25 -0
- package/llms/components/lr-bar-chart.md +70 -0
- package/llms/components/lr-box-plot.md +67 -0
- package/llms/components/lr-branch-picker.md +32 -0
- package/llms/components/lr-breadcrumb-item.md +30 -0
- package/llms/components/lr-breadcrumb.md +30 -0
- package/llms/components/lr-browser-frame.md +51 -0
- package/llms/components/lr-bubble-chart.md +70 -0
- package/llms/components/lr-button-group.md +30 -0
- package/llms/components/lr-button.md +89 -0
- package/llms/components/lr-calendar-viewer.md +32 -0
- package/llms/components/lr-calendar.md +52 -0
- package/llms/components/lr-callout.md +37 -0
- package/llms/components/lr-card.md +67 -0
- package/llms/components/lr-carousel-item.md +29 -0
- package/llms/components/lr-carousel.md +43 -0
- package/llms/components/lr-chart.md +148 -0
- package/llms/components/lr-chat-composer.md +139 -0
- package/llms/components/lr-chat-message.md +145 -0
- package/llms/components/lr-chat-viewport.md +70 -0
- package/llms/components/lr-checkbox-group.md +21 -0
- package/llms/components/lr-checkbox.md +79 -0
- package/llms/components/lr-checkpoint.md +48 -0
- package/llms/components/lr-chip-group.md +152 -0
- package/llms/components/lr-chip.md +152 -0
- package/llms/components/lr-chunk-inspector.md +66 -0
- package/llms/components/lr-citation-badge.md +102 -0
- package/llms/components/lr-code-block-core.md +113 -0
- package/llms/components/lr-code-block.md +146 -0
- package/llms/components/lr-code-editor.md +72 -0
- package/llms/components/lr-color-picker.md +21 -0
- package/llms/components/lr-combobox.md +196 -0
- package/llms/components/lr-command-palette.md +50 -0
- package/llms/components/lr-commit-card.md +33 -0
- package/llms/components/lr-community-card.md +54 -0
- package/llms/components/lr-compare-panel.md +38 -0
- package/llms/components/lr-confirm-bar.md +48 -0
- package/llms/components/lr-contact-viewer.md +34 -0
- package/llms/components/lr-context-inspector.md +50 -0
- package/llms/components/lr-context-meter.md +92 -0
- package/llms/components/lr-control-group.md +46 -0
- package/llms/components/lr-conversation-item.md +118 -0
- package/llms/components/lr-copy-button.md +52 -0
- package/llms/components/lr-csv-viewer.md +49 -0
- package/llms/components/lr-dashboard-grid.md +34 -0
- package/llms/components/lr-data-grid.md +47 -0
- package/llms/components/lr-dataset-viewer.md +60 -0
- package/llms/components/lr-date-input.md +201 -0
- package/llms/components/lr-date-picker.md +201 -0
- package/llms/components/lr-details.md +23 -0
- package/llms/components/lr-dialog.md +185 -0
- package/llms/components/lr-diff-view.md +86 -0
- package/llms/components/lr-divider.md +28 -0
- package/llms/components/lr-dock-panel.md +110 -0
- package/llms/components/lr-document-compare.md +22 -0
- package/llms/components/lr-document-library.md +21 -0
- package/llms/components/lr-document-preview.md +179 -0
- package/llms/components/lr-document-viewer.md +84 -0
- package/llms/components/lr-docx-viewer.md +63 -0
- package/llms/components/lr-doughnut-chart.md +70 -0
- package/llms/components/lr-drawer.md +48 -0
- package/llms/components/lr-drilldown-panel.md +25 -0
- package/llms/components/lr-dropdown-item.md +171 -0
- package/llms/components/lr-dropdown.md +24 -0
- package/llms/components/lr-ebook-viewer.md +60 -0
- package/llms/components/lr-email-viewer.md +51 -0
- package/llms/components/lr-emoji-picker.md +71 -0
- package/llms/components/lr-empty.md +56 -0
- package/llms/components/lr-entity-card.md +64 -0
- package/llms/components/lr-entity-chip.md +50 -0
- package/llms/components/lr-entity-dossier.md +71 -0
- package/llms/components/lr-env-list.md +27 -0
- package/llms/components/lr-eval-dataset.md +45 -0
- package/llms/components/lr-eval-result.md +45 -0
- package/llms/components/lr-evaluation-run.md +50 -0
- package/llms/components/lr-export-button.md +104 -0
- package/llms/components/lr-file-icon.md +34 -0
- package/llms/components/lr-file-input.md +104 -0
- package/llms/components/lr-file-tree.md +29 -0
- package/llms/components/lr-filter-bar.md +20 -0
- package/llms/components/lr-flag.md +122 -0
- package/llms/components/lr-flow-canvas.md +112 -0
- package/llms/components/lr-flow-controls.md +47 -0
- package/llms/components/lr-flow-minimap.md +52 -0
- package/llms/components/lr-flow-node.md +56 -0
- package/llms/components/lr-flow-run-overlay.md +56 -0
- package/llms/components/lr-format-bytes.md +31 -0
- package/llms/components/lr-format-date.md +33 -0
- package/llms/components/lr-format-number.md +41 -0
- package/llms/components/lr-gauge.md +65 -0
- package/llms/components/lr-generation-status.md +105 -0
- package/llms/components/lr-geojson-view.md +43 -0
- package/llms/components/lr-graph-legend.md +64 -0
- package/llms/components/lr-graph-query-builder.md +27 -0
- package/llms/components/lr-graph.md +224 -0
- package/llms/components/lr-grounding-summary.md +57 -0
- package/llms/components/lr-handoff-divider.md +27 -0
- package/llms/components/lr-heatmap.md +232 -0
- package/llms/components/lr-highlight-layer.md +31 -0
- package/llms/components/lr-histogram.md +69 -0
- package/llms/components/lr-html-viewer.md +30 -0
- package/llms/components/lr-icon-button.md +39 -0
- package/llms/components/lr-icon.md +36 -0
- package/llms/components/lr-image-comparer.md +38 -0
- package/llms/components/lr-image-viewer.md +35 -0
- package/llms/components/lr-include.md +53 -0
- package/llms/components/lr-ingestion-queue.md +60 -0
- package/llms/components/lr-input.md +82 -0
- package/llms/components/lr-intersection-observer.md +25 -0
- package/llms/components/lr-json-viewer.md +98 -0
- package/llms/components/lr-kbd.md +74 -0
- package/llms/components/lr-knowledge-base.md +64 -0
- package/llms/components/lr-knowledge-graph-explorer.md +92 -0
- package/llms/components/lr-known-date.md +84 -0
- package/llms/components/lr-lightbox.md +79 -0
- package/llms/components/lr-line-chart.md +70 -0
- package/llms/components/lr-lite-chart.md +143 -0
- package/llms/components/lr-live-region.md +105 -0
- package/llms/components/lr-map.md +127 -0
- package/llms/components/lr-markdown-core.md +70 -0
- package/llms/components/lr-markdown.md +171 -0
- package/llms/components/lr-media-card.md +106 -0
- package/llms/components/lr-memory-panel.md +67 -0
- package/llms/components/lr-mention-popover.md +139 -0
- package/llms/components/lr-menu-item.md +171 -0
- package/llms/components/lr-menu.md +171 -0
- package/llms/components/lr-message-actions.md +48 -0
- package/llms/components/lr-message-feedback.md +37 -0
- package/llms/components/lr-mind-map.md +64 -0
- package/llms/components/lr-model-select.md +144 -0
- package/llms/components/lr-model-settings-panel.md +99 -0
- package/llms/components/lr-mutation-observer.md +27 -0
- package/llms/components/lr-neighbor-list.md +56 -0
- package/llms/components/lr-node-palette.md +67 -0
- package/llms/components/lr-notebook-viewer.md +65 -0
- package/llms/components/lr-number-input.md +44 -0
- package/llms/components/lr-option.md +196 -0
- package/llms/components/lr-page-rail.md +37 -0
- package/llms/components/lr-pagination.md +88 -0
- package/llms/components/lr-path-strip.md +55 -0
- package/llms/components/lr-pdf-viewer.md +78 -0
- package/llms/components/lr-phone-input.md +162 -0
- package/llms/components/lr-pie-chart.md +70 -0
- package/llms/components/lr-playback.md +74 -0
- package/llms/components/lr-polar-area-chart.md +70 -0
- package/llms/components/lr-policy-summary.md +33 -0
- package/llms/components/lr-poll-status.md +71 -0
- package/llms/components/lr-popover.md +31 -0
- package/llms/components/lr-pptx-viewer.md +35 -0
- package/llms/components/lr-progress-bar.md +22 -0
- package/llms/components/lr-progress-ring.md +26 -0
- package/llms/components/lr-provenance-panel.md +58 -0
- package/llms/components/lr-push-to-talk.md +50 -0
- package/llms/components/lr-qr-code.md +20 -0
- package/llms/components/lr-query-builder.md +21 -0
- package/llms/components/lr-radar-chart.md +70 -0
- package/llms/components/lr-radio-group.md +25 -0
- package/llms/components/lr-radio.md +31 -0
- package/llms/components/lr-random-content.md +62 -0
- package/llms/components/lr-rating.md +21 -0
- package/llms/components/lr-relative-time.md +31 -0
- package/llms/components/lr-resize-observer.md +25 -0
- package/llms/components/lr-responsive-panel.md +112 -0
- package/llms/components/lr-result-card.md +88 -0
- package/llms/components/lr-result-field.md +88 -0
- package/llms/components/lr-retrieval-results.md +84 -0
- package/llms/components/lr-retrieval-search.md +70 -0
- package/llms/components/lr-retrieval-trace.md +59 -0
- package/llms/components/lr-rubric-form.md +37 -0
- package/llms/components/lr-scatter-chart.md +70 -0
- package/llms/components/lr-scroller.md +47 -0
- package/llms/components/lr-segmented.md +74 -0
- package/llms/components/lr-select.md +113 -0
- package/llms/components/lr-sequence-strip.md +95 -0
- package/llms/components/lr-skeleton.md +53 -0
- package/llms/components/lr-slider.md +92 -0
- package/llms/components/lr-source-card.md +131 -0
- package/llms/components/lr-source-list.md +131 -0
- package/llms/components/lr-source-picker.md +63 -0
- package/llms/components/lr-span-waterfall.md +42 -0
- package/llms/components/lr-sparkline.md +60 -0
- package/llms/components/lr-spinner.md +32 -0
- package/llms/components/lr-split.md +191 -0
- package/llms/components/lr-spreadsheet-viewer.md +47 -0
- package/llms/components/lr-stack-trace.md +77 -0
- package/llms/components/lr-stat.md +89 -0
- package/llms/components/lr-stepper.md +118 -0
- package/llms/components/lr-stream-status.md +128 -0
- package/llms/components/lr-streaming-text.md +101 -0
- package/llms/components/lr-suggestion-chips.md +40 -0
- package/llms/components/lr-svg-viewer.md +47 -0
- package/llms/components/lr-swatch-picker.md +91 -0
- package/llms/components/lr-switch.md +82 -0
- package/llms/components/lr-table.md +201 -0
- package/llms/components/lr-tabs.md +80 -0
- package/llms/components/lr-tag.md +25 -0
- package/llms/components/lr-task-list.md +42 -0
- package/llms/components/lr-terminal.md +44 -0
- package/llms/components/lr-test-results.md +38 -0
- package/llms/components/lr-textarea.md +111 -0
- package/llms/components/lr-thinking-panel.md +93 -0
- package/llms/components/lr-thread-list.md +97 -0
- package/llms/components/lr-time-input.md +53 -0
- package/llms/components/lr-time-range.md +91 -0
- package/llms/components/lr-timeline-item.md +65 -0
- package/llms/components/lr-timeline.md +65 -0
- package/llms/components/lr-toast-item.md +123 -0
- package/llms/components/lr-toast.md +123 -0
- package/llms/components/lr-token-input.md +31 -0
- package/llms/components/lr-tool-approval-dialog.md +131 -0
- package/llms/components/lr-tool-call-chip.md +101 -0
- package/llms/components/lr-tool-param-form.md +148 -0
- package/llms/components/lr-tool-result-dialog.md +106 -0
- package/llms/components/lr-tool-result-view.md +162 -0
- package/llms/components/lr-tool-select-dialog.md +124 -0
- package/llms/components/lr-tool-timeline.md +56 -0
- package/llms/components/lr-tooltip.md +47 -0
- package/llms/components/lr-tour.md +100 -0
- package/llms/components/lr-trace-tree.md +35 -0
- package/llms/components/lr-transcript-feed.md +45 -0
- package/llms/components/lr-tree-node.md +133 -0
- package/llms/components/lr-tree.md +133 -0
- package/llms/components/lr-typing-indicator.md +80 -0
- package/llms/components/lr-usage-badge.md +44 -0
- package/llms/components/lr-virtual-list.md +145 -0
- package/llms/components/lr-voice-picker.md +78 -0
- package/llms/components/lr-widget-renderer.md +78 -0
- package/llms/components/lr-widget.md +104 -0
- package/llms/components/lr-word-cloud.md +112 -0
- package/llms/components/lr-xml-viewer.md +58 -0
- package/llms/components/lr-zoomable-frame.md +57 -0
- package/llms/index.md +301 -0
- package/llms/migration.md +86 -0
- package/llms/peers.md +41 -0
- package/llms/shared.md +321 -0
- package/llms/tokens.md +533 -0
- package/llms-full.txt +10731 -8563
- package/llms.txt +64 -121
- package/package.json +14 -2
- package/vscode-css-data.json +1424 -185
- package/vscode-html-data.json +128 -107
- package/web-types.json +853 -118
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/retrieval.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-entity-card`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/retrieval/entity-card/entity-card.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraEntityCard`, also available unregistered from `@aceshooting/lyra-ui/components/retrieval/entity-card/entity-card.class.js`
|
|
7
|
+
- **Family** `components/retrieval/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-entity-card`
|
|
14
|
+
|
|
15
|
+
A dossier card for one knowledge-graph entity: type badge, description, key/value property rows,
|
|
16
|
+
degree, community chip, plus a built-in "focus in graph" action. Never fetches or focuses a graph
|
|
17
|
+
itself — `lr-entity-activate` is a request a host routes into `lr-graph`'s own
|
|
18
|
+
`focusNode(id, options?)`.
|
|
19
|
+
|
|
20
|
+
**Properties:**
|
|
21
|
+
- `entity: LyraEntity | null = null` (attribute: false) — `LyraEntity { id: string; label: string;
|
|
22
|
+
type?: string; description?: string; properties?: Record<string, string | number>; degree?:
|
|
23
|
+
number; communityId?: string }`; field names deliberately mirror `lr-graph`'s `GraphNode`
|
|
24
|
+
additions, so a graph node adapts into a `LyraEntity` with no mapping table; `null` renders the
|
|
25
|
+
empty state
|
|
26
|
+
- `types: NodeTypeStyle[] = []` (attribute: false) — the same `lr-graph.nodeTypes`/
|
|
27
|
+
`lr-graph-legend.types` entry shape, resolving `entity.type` to a label/color/shape for the badge
|
|
28
|
+
- `communityLabel: string = ''` (attribute `community-label`) — override text for the community chip
|
|
29
|
+
- `showFocusButton: boolean = true` (attribute `show-focus-button`)
|
|
30
|
+
|
|
31
|
+
**Events:** `lr-entity-activate` (`detail: { id }`, the built-in focus button was activated).
|
|
32
|
+
|
|
33
|
+
**Slots:** default (extra body content below the property rows, e.g. a `lr-neighbor-list`),
|
|
34
|
+
`actions` (extra header actions alongside the built-in focus button).
|
|
35
|
+
|
|
36
|
+
**CSS parts:** `base`, `header`, `type-badge`, `title` (`role="heading" aria-level="3"` by default),
|
|
37
|
+
`description`, `properties`, `property` (one key/value row), `degree`, `community`, `actions`,
|
|
38
|
+
`focus-button`, `empty` (shown when `entity` is `null`).
|
|
39
|
+
|
|
40
|
+
**Themeable custom properties:** shared tokens only; a data-driven `entity.type` color is applied as
|
|
41
|
+
sanitized inline `--lr-badge-*` overrides on the type badge only (the one "type color is
|
|
42
|
+
data-driven by design" exception this library already grants graph nodes) — every other color comes
|
|
43
|
+
from tokens.
|
|
44
|
+
|
|
45
|
+
**Optional peer deps:** none.
|
|
46
|
+
|
|
47
|
+
```html
|
|
48
|
+
<lr-entity-card id="card"></lr-entity-card>
|
|
49
|
+
<script>
|
|
50
|
+
document.getElementById('card').entity = {
|
|
51
|
+
id: 'e1', label: 'Ada Lovelace', type: 'person',
|
|
52
|
+
description: 'Mathematician', properties: { born: 1815 }, degree: 4,
|
|
53
|
+
};
|
|
54
|
+
document.getElementById('card').addEventListener('lr-entity-activate', (e) => graph.focusNode(e.detail.id));
|
|
55
|
+
</script>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Known gotchas:**
|
|
59
|
+
- The type badge's data-driven background uses an 8% (not this codebase's usual 16%) quiet-tint mix
|
|
60
|
+
against `--lr-color-surface` — the lower percentage is required to hold WCAG AA 4.5:1 text
|
|
61
|
+
contrast for arbitrary, unvetted type colors (even 10% isn't safe margin for every hue in the
|
|
62
|
+
palette).
|
|
63
|
+
|
|
64
|
+
---
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/retrieval.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-entity-chip`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/retrieval/entity-chip/entity-chip.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraEntityChip`, also available unregistered from `@aceshooting/lyra-ui/components/retrieval/entity-chip/entity-chip.class.js`
|
|
7
|
+
- **Family** `components/retrieval/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-entity-chip`
|
|
14
|
+
|
|
15
|
+
An inline `@entity` mention for agent prose: flow content, keyboard-focusable, with a hover/focus
|
|
16
|
+
preview popover. The knowledge-graph sibling of `lr-citation-badge`, reusing its interaction
|
|
17
|
+
contract wholesale. Carries ids through events only — no entity data resolution, no navigation.
|
|
18
|
+
|
|
19
|
+
**Properties:**
|
|
20
|
+
- `entityId: string = ''` (attribute `entity-id`)
|
|
21
|
+
- `label: string = ''` — the chip's visible text
|
|
22
|
+
- `type: string = ''` (reflected) — lets a host theme per type from CSS, e.g.
|
|
23
|
+
`lr-entity-chip[type='person'] { --lr-entity-chip-color: ... }`
|
|
24
|
+
- `typeLabel?: string` (attribute `type-label`) — optional spoken/visible type qualifier
|
|
25
|
+
|
|
26
|
+
**Events:** `lr-entity-activate` (`detail: { id }`, click, or Enter while focused),
|
|
27
|
+
`lr-entity-open` (`detail: { id }`, dblclick, or Space while focused).
|
|
28
|
+
|
|
29
|
+
**Slots:** default — rich preview content (typically a compact `lr-entity-card`), shown in a
|
|
30
|
+
floating popover on hover/focus. No content means no popover and no hover affordance at all.
|
|
31
|
+
|
|
32
|
+
**CSS parts:** `base` (the clickable `<button>`), `label`, `popover`.
|
|
33
|
+
|
|
34
|
+
**Themeable custom properties:** `--lr-entity-chip-color` (default `var(--lr-color-brand)`,
|
|
35
|
+
text/accent color), `--lr-entity-chip-bg` (default `var(--lr-color-brand-quiet)`),
|
|
36
|
+
`--lr-entity-chip-border` (default `transparent`, the chip's `--lr-border-width-thin` outline).
|
|
37
|
+
|
|
38
|
+
**Optional peer deps:** none.
|
|
39
|
+
|
|
40
|
+
```html
|
|
41
|
+
<p>…first described by <lr-entity-chip entity-id="e1" label="Ada Lovelace" type="person">
|
|
42
|
+
<lr-entity-card slot=""></lr-entity-card>
|
|
43
|
+
</lr-entity-chip>.</p>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Known gotchas:**
|
|
47
|
+
- Reuses `lr-citation-badge`'s exact "real preview content" detection (an assigned element with no
|
|
48
|
+
other `slot`, or non-whitespace text) to decide whether a popover exists at all.
|
|
49
|
+
|
|
50
|
+
---
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/retrieval.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-entity-dossier`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/retrieval/entity-dossier/entity-dossier.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraEntityDossier`, also available unregistered from `@aceshooting/lyra-ui/components/retrieval/entity-dossier/entity-dossier.class.js`
|
|
7
|
+
- **Family** `components/retrieval/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-entity-dossier`
|
|
14
|
+
|
|
15
|
+
Entity detail surface: a persistent header (`lr-entity-card` + an optional confidence `lr-stat`)
|
|
16
|
+
above an `lr-tabs` strip for Relationships (`lr-neighbor-list`), Supporting chunks
|
|
17
|
+
(`lr-chunk-inspector`), and Provenance (`lr-provenance-panel`). Pure layout — never fetches, ranks,
|
|
18
|
+
or mutates graph/document state.
|
|
19
|
+
|
|
20
|
+
**Properties:**
|
|
21
|
+
- `entity: LyraEntity | null = null` (attribute: false) — `lr-entity-card`'s own `LyraEntity`;
|
|
22
|
+
`null` renders the shared `lr-empty` `noData` state in place of the whole dossier
|
|
23
|
+
- `confidence: LyraEntityDossierConfidence | null = null` (attribute: false) —
|
|
24
|
+
`LyraEntityDossierConfidence { label: string; value: string; unit?: string; variant?: StatVariant;
|
|
25
|
+
exactValue?: string; caption?: string; rows?: StatRow[] }` (exported by this module; `StatVariant`
|
|
26
|
+
and `StatRow` are `lr-stat`'s own types). All caller-supplied domain data, never routed through
|
|
27
|
+
`localize()`. `null` omits the stat entirely — no placeholder
|
|
28
|
+
- `neighbors: LyraNeighborRow[] = []` (attribute: false) — forwarded verbatim to
|
|
29
|
+
`lr-neighbor-list.rows` (`{ relation: string; direction: 'in' | 'out' | 'both'; node: LyraEntity }`)
|
|
30
|
+
- `chunks: LyraChunk[] = []` (attribute: false) — forwarded to `lr-chunk-inspector.chunks`; the
|
|
31
|
+
evidence for *this entity's own* summary/properties
|
|
32
|
+
- `provenance: LyraProvenance | null = null` (attribute: false) — forwarded to
|
|
33
|
+
`lr-provenance-panel.provenance`; deliberately a separate input from `chunks` (the broader
|
|
34
|
+
grounding chain, which may span other entities/relationships/communities). Pass the same array to
|
|
35
|
+
both when the two genuinely coincide
|
|
36
|
+
- `types: NodeTypeStyle[] = []` (attribute: false) — `{ id: string; label: string; color?: string;
|
|
37
|
+
shape?: 'circle' | 'square' | 'diamond' }`, the `lr-graph.nodeTypes` entry shape; forwarded to both
|
|
38
|
+
`lr-entity-card` and `lr-provenance-panel`
|
|
39
|
+
- `thresholds: { high: number; medium: number } = { high: 0.75, medium: 0.5 }` (attribute: false) —
|
|
40
|
+
forwarded to both `lr-chunk-inspector` and `lr-provenance-panel`
|
|
41
|
+
- `groupByRelation: boolean = false` (attribute `group-by-relation`) — forwarded to `lr-neighbor-list`
|
|
42
|
+
- `expandable: boolean = false` — forwarded to `lr-neighbor-list`
|
|
43
|
+
- `showFocusButton: boolean = true` (attribute `show-focus-button`) — forwarded to `lr-entity-card`
|
|
44
|
+
- `communityLabel: string = ''` (attribute `community-label`) — forwarded to `lr-entity-card`
|
|
45
|
+
- `accessibleLabel: string | null = null` (attribute `aria-label`) — accessible name for the internal
|
|
46
|
+
`lr-tabs` strip; unset renders the strip with no `aria-label`
|
|
47
|
+
|
|
48
|
+
**Events:** declares none of its own. Every composed child's event bubbles through unmodified
|
|
49
|
+
(`composed: true`): `lr-entity-activate` (`detail: { id }`), `lr-node-expand` (`detail: { id }`),
|
|
50
|
+
`lr-chunk-open` (`detail: { id, sourceId, anchor? }`), `lr-expand` (`detail: { id, expanded }`),
|
|
51
|
+
`lr-toggle` (`detail: { section, expanded }`), and `lr-tabs-change`
|
|
52
|
+
(`detail: { tabId: LyraEntityDossierTab }`, where `LyraEntityDossierTab = 'relationships' | 'chunks'
|
|
53
|
+
| 'provenance'` — also the `lr-tabs` slot/tab ids).
|
|
54
|
+
|
|
55
|
+
**Slots:** none.
|
|
56
|
+
|
|
57
|
+
**CSS parts:** `base` (root, or the empty state's wrapper), `empty` (shown when `entity` is `null`),
|
|
58
|
+
`header`, `entity-card`, `confidence` (only when `confidence` is set), `tabs`, `neighbor-list`,
|
|
59
|
+
`chunk-inspector`, `provenance-panel`.
|
|
60
|
+
|
|
61
|
+
**Themeable custom properties:** shared tokens only.
|
|
62
|
+
|
|
63
|
+
**Optional peer deps:** none.
|
|
64
|
+
|
|
65
|
+
**Known gotchas:**
|
|
66
|
+
- The active tab is internal `@state`, not a controlled property — `lr-tabs` already owns it, and a
|
|
67
|
+
stale public property re-bound on an unrelated re-render would fight the user's own click.
|
|
68
|
+
- Tab labels reuse each composed child's own `localize()` key (`neighborListLabel`,
|
|
69
|
+
`chunkInspectorLabel`, `provenancePanelLabel`), so a locale only translates each string once.
|
|
70
|
+
|
|
71
|
+
---
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/data.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-env-list`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/data/env-list/env-list.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraEnvList`, also available unregistered from `@aceshooting/lyra-ui/components/data/env-list/env-list.class.js`
|
|
7
|
+
- **Family** `components/data/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-env-list`
|
|
14
|
+
|
|
15
|
+
A masked key/value list for environment variables and secrets, with per-row reveal and copy.
|
|
16
|
+
Masking is presentational, not a security boundary: the real value sits in a DOM property
|
|
17
|
+
regardless of mask state.
|
|
18
|
+
|
|
19
|
+
**Properties:** `entries: EnvEntry[] = []` (attribute: false), `revealable: boolean = true`
|
|
20
|
+
(reflected), `copyable: boolean = true` (reflected), and `label: string = ''`.
|
|
21
|
+
|
|
22
|
+
**Events:** `lr-reveal-change` (`detail: { name, revealed }`) and `lr-copy` (`detail: { text }`,
|
|
23
|
+
the real unmasked value).
|
|
24
|
+
|
|
25
|
+
**CSS parts:** `base` (the `<dl>` root), `name` (the `<dt>` text), `value-cell` (the `<dd>` wrapping
|
|
26
|
+
an entry's value text and buttons), `value` (carries `data-masked`), `reveal-button`, and
|
|
27
|
+
`copy-button`.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/agent-tools.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-eval-dataset`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/agent-tools/eval-dataset/eval-dataset.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraEvalDataset`, also available unregistered from `@aceshooting/lyra-ui/components/agent-tools/eval-dataset/eval-dataset.class.js`
|
|
7
|
+
- **Family** `components/agent-tools/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-eval-dataset`
|
|
14
|
+
|
|
15
|
+
Filterable and taggable evaluation-example list with add, remove, import, and export affordances.
|
|
16
|
+
|
|
17
|
+
**Properties:**
|
|
18
|
+
- `examples: EvalExample[] = []` (attribute: false) — `EvalExample { id: string; input: string;
|
|
19
|
+
expectedOutput?: string; tags?: string[]; metadata?: Record<string, unknown> }` (exported here).
|
|
20
|
+
Deliberately its own small shape rather than reusing anything from `src/ai/types.ts` — none of that
|
|
21
|
+
module's interfaces models "one row of a labeled eval dataset". `input`/`expectedOutput` are plain
|
|
22
|
+
strings (not structured payloads) to match `lr-data-grid`'s stringifying cell rendering. Fully
|
|
23
|
+
controlled: add/remove/import/export are all *requests*; the host mutates and passes the array back
|
|
24
|
+
- `searchable: boolean = false` (reflected) — built-in free-text search over `input`,
|
|
25
|
+
`expectedOutput`, and `tags` (case-insensitive substring)
|
|
26
|
+
- `accept: string = ''` — forwarded to the internal `lr-file-input`'s `accept` (e.g. `'.json,.csv'`);
|
|
27
|
+
empty accepts any type
|
|
28
|
+
- `exportFormats: ExportFormatOption[] = ['csv', 'json']` (attribute: false) — forwarded to the
|
|
29
|
+
internal `lr-export-button`
|
|
30
|
+
- `disabled: boolean = false` (reflected) — disables every add/remove/import/export affordance, e.g.
|
|
31
|
+
while a host-side mutation is still in flight
|
|
32
|
+
- `label: string = ''` — accessible name for the grid region; defaults to the localized
|
|
33
|
+
`evalDatasetLabel`
|
|
34
|
+
|
|
35
|
+
**Events:** `lr-example-select` (`detail: { id: string | null }`), `lr-example-add-request`
|
|
36
|
+
(`detail: undefined`), `lr-example-remove-request` (`detail: { id: string }`), `lr-import-request`
|
|
37
|
+
(`detail: { files: File[] }`), `lr-export-request` (`detail: { format: string }`).
|
|
38
|
+
|
|
39
|
+
**CSS parts:** `base`, `toolbar`, `search`, `search-input`, `tag-filter`, `grid`,
|
|
40
|
+
`add-button`, `remove-button`, `import`, `export`.
|
|
41
|
+
|
|
42
|
+
**Known gotchas:**
|
|
43
|
+
- Shrinking `examples` out from under live UI state is handled: a `selectedId` that no longer matches
|
|
44
|
+
any row resets to `null`, and an active tag filter that no longer matches any row's `tags` is
|
|
45
|
+
dropped rather than silently matching zero rows forever.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/agent-tools.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-eval-result`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/agent-tools/eval-result/eval-result.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraEvalResult`, also available unregistered from `@aceshooting/lyra-ui/components/agent-tools/eval-result/eval-result.class.js`
|
|
7
|
+
- **Family** `components/agent-tools/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-eval-result`
|
|
14
|
+
|
|
15
|
+
Rubric scoring and human-review surface for comparing the runs of one evaluation example.
|
|
16
|
+
|
|
17
|
+
Composes `lr-data-grid` (the comparison table), `lr-rubric-form` (the review surface), and
|
|
18
|
+
`lr-diff-view` (baseline↔selected output diff) rather than re-deriving any of their behavior.
|
|
19
|
+
|
|
20
|
+
**Properties:**
|
|
21
|
+
- `runs: EvalRunResult[] = []` (attribute: false) — `EvalRunResult { id: string; label: string;
|
|
22
|
+
model?: string; promptVersion?: string; output: string; scores?: RubricValue; review?: RubricValue }`
|
|
23
|
+
(exported here). One entry per model or prompt version being compared for a single evaluation
|
|
24
|
+
example. `scores`/`review` use the same `RubricValue` shape `lr-rubric-form` itself reads and
|
|
25
|
+
writes, so a `DataGridColumn`'s `value()` accessor and the rubric form's own `value` binding read a
|
|
26
|
+
run's fields with no conversion
|
|
27
|
+
- `columns: DataGridColumn<EvalRunResult>[] = []` (attribute: false) — plain pass-through to
|
|
28
|
+
`lr-data-grid.columns`, not re-derived here
|
|
29
|
+
- `rubricKeys: RubricKey[] = []` (attribute: false) — plain pass-through to `lr-rubric-form.keys`
|
|
30
|
+
- `selectedRunId: string = ''` (attribute `selected-run-id`) — the run open for review and the diff's
|
|
31
|
+
**new** side; falls back to `runs[0]?.id` when empty
|
|
32
|
+
- `baselineRunId: string = ''` (attribute `baseline-run-id`) — the run compared against and the
|
|
33
|
+
diff's **old** side; falls back to `runs[0]?.id` when empty
|
|
34
|
+
- `reviewSkippable: boolean = false` (attribute `review-skippable`) — shows a Skip control on the
|
|
35
|
+
review form (forwarded to `lr-rubric-form.skippable`)
|
|
36
|
+
- `disabled: boolean = false` (reflected) — disables the review form's controls only; the comparison
|
|
37
|
+
grid stays interactive (selecting a run to inspect is not a mutation)
|
|
38
|
+
|
|
39
|
+
**Events:** `lr-run-select` (`detail: { runId: string }`), `lr-review-input` (`detail: { runId:
|
|
40
|
+
string; value: RubricValue }`), `lr-review-validity-change` (`detail: { runId: string; valid:
|
|
41
|
+
boolean; errors: Record<string, string> }`), `lr-review-submit` (`detail: { runId: string; value:
|
|
42
|
+
RubricValue }`), `lr-review-skip` (`detail: { runId: string }`).
|
|
43
|
+
|
|
44
|
+
**CSS parts:** `base`, `empty`, `grid`, `diff`, `diff-view`,
|
|
45
|
+
`diff-labels`, `diff-label-old`, `diff-label-new`, `review`.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/agent-tools.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-evaluation-run`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/agent-tools/evaluation-run/evaluation-run.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraEvaluationRun`, also available unregistered from `@aceshooting/lyra-ui/components/agent-tools/evaluation-run/evaluation-run.class.js`
|
|
7
|
+
- **Family** `components/agent-tools/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-evaluation-run`
|
|
14
|
+
|
|
15
|
+
Evaluation-batch progress view with overall progress and one disclosure per example. Inputs and
|
|
16
|
+
outputs may render as Markdown or code, with optional grounding and tool-trace sections.
|
|
17
|
+
|
|
18
|
+
**Properties:**
|
|
19
|
+
- `examples: EvaluationExampleResult[] = []` (attribute: false) — `EvaluationExampleResult { id:
|
|
20
|
+
string; label?: string; status: AgentStatus; input: string; inputFormat?: EvaluationContentFormat;
|
|
21
|
+
inputLanguage?: string; output: string; outputFormat?: EvaluationContentFormat; outputLanguage?:
|
|
22
|
+
string; grounding?: GroundingAssessment; citations?: Citation[]; toolTrace?: ToolTimelineEntry[] }`
|
|
23
|
+
(exported here). `status` reuses **`AgentStatus` from `@aceshooting/lyra-ui/ai`** (`{ kind:
|
|
24
|
+
AgentStatusKind; message? }`) — the same run-lifecycle vocabulary an agent step uses — rather than a
|
|
25
|
+
parallel pass/fail enum; rubric scoring is `lr-eval-result`'s job, not this one's.
|
|
26
|
+
`EvaluationContentFormat = 'markdown' | 'code'` — `'markdown'` (the default when unset) renders via
|
|
27
|
+
`lr-markdown`, `'code'` via `lr-code-block` consulting the matching `*Language` field for shiki.
|
|
28
|
+
`grounding`/`citations` (both from `@aceshooting/lyra-ui/ai`) compose directly into
|
|
29
|
+
`lr-grounding-summary`'s `assessment`/`citations`, and `toolTrace` directly into
|
|
30
|
+
`lr-tool-timeline.entries` — no adapters. `citations` is consulted only while `grounding` is also
|
|
31
|
+
set; an omitted `grounding` or empty `toolTrace` renders no such section for that example. `label`
|
|
32
|
+
falls back to a localized "Example {index}" (1-based, array order). Controlled and never mutated
|
|
33
|
+
- `total: number | null = null` — the batch's expected total example count. `null` derives it from
|
|
34
|
+
`examples.length`; set it explicitly while a batch is still streaming and the eventual total is
|
|
35
|
+
already known
|
|
36
|
+
- `label: string = ''` — header label and accessible-name source; falls back to a localized
|
|
37
|
+
"Evaluation run"
|
|
38
|
+
|
|
39
|
+
**Events:** `lr-example-toggle` (`detail: EvaluationExampleToggleDetail` = `{ id: string; expanded:
|
|
40
|
+
boolean }`), `lr-example-citation-select` (`detail: EvaluationCitationSelectDetail` = `{ exampleId:
|
|
41
|
+
string; citation: Citation }` — the nested `lr-grounding-summary`'s own `{ citation }` correlated
|
|
42
|
+
with the example it came from, so a host needn't walk the DOM), `lr-example-tool-approval-decide`
|
|
43
|
+
(`detail: EvaluationToolApprovalDetail` = `ToolTimelineApprovalDetail & { exampleId: string }` =
|
|
44
|
+
`{ invocationId: string; approved: boolean; args?: unknown; exampleId: string }`).
|
|
45
|
+
|
|
46
|
+
**CSS parts:** `base`, `header`,
|
|
47
|
+
`header-label`, `progress`, `summary`, `counts`, `count`, `examples`, `example`, `example-summary`,
|
|
48
|
+
`example-label`, `example-status`, `input-section`, `input`, `output-section`, `output`,
|
|
49
|
+
`grounding-section`, `grounding-summary`, `tool-trace-section`, `tool-trace`, `section-heading`,
|
|
50
|
+
`live-region`, `empty`.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/utility.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-export-button`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/utility/export-button/export-button.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraExportButton`, also available unregistered from `@aceshooting/lyra-ui/components/utility/export-button/export-button.class.js`
|
|
7
|
+
- **Family** `components/utility/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-export-button`
|
|
14
|
+
|
|
15
|
+
CSV/JSON download button with extensible event-driven formats — either single-format (click exports
|
|
16
|
+
immediately) or multi-format (click opens a small menu).
|
|
17
|
+
|
|
18
|
+
**Properties:**
|
|
19
|
+
- `rows: Record<string, unknown>[] = []` (attribute: false)
|
|
20
|
+
- `columns: CsvColumn[] = []` (attribute: false) — `{ key, label }`; acts as a field allow-list **and**
|
|
21
|
+
CSV header-label source for **both** export formats when non-empty. Left empty, **both** CSV and
|
|
22
|
+
JSON fall back to the union of the rows' own keys (`key`/`label` both set to the key name) instead
|
|
23
|
+
of CSV degrading to a header-less/blank file while only JSON had a fallback — so an unconfigured
|
|
24
|
+
export still produces a proper header + data file in either format
|
|
25
|
+
- `filename: string = 'export'`
|
|
26
|
+
- `formats: ExportFormatOption[] = ['csv']` (attribute: false), where `ExportFormatOption` is the
|
|
27
|
+
built-in `ExportFormat = 'csv' | 'json'` or an `ExportFormatDescriptor = { id: string; label:
|
|
28
|
+
string; description?: string; extension?: string }`. Descriptor labels/descriptions are
|
|
29
|
+
consumer-supplied, already-localized copy. Custom ids are event-only; no custom encoder is bundled
|
|
30
|
+
- `disabled: boolean = false` (reflected) — also disables every `[part="menu-item"]` button, not just
|
|
31
|
+
the trigger
|
|
32
|
+
- `loading: boolean = false` (reflected) — controlled busy state for an async or server-generated
|
|
33
|
+
export; sets host/trigger `aria-busy` and disables the trigger and menu items. The component does
|
|
34
|
+
not toggle it automatically
|
|
35
|
+
- `label: string = 'Export'` — trigger button text; also feeds the format-choice menu's `aria-label`
|
|
36
|
+
as `` `${label} format` `` so assistive tech gets an accessible name for the menu
|
|
37
|
+
- `accessibleLabel: string = ''` (attribute `aria-label`) — overrides the trigger's accessible
|
|
38
|
+
name and feeds the localized format-menu name without changing the visible label
|
|
39
|
+
- `open: boolean = false` (reflected)
|
|
40
|
+
|
|
41
|
+
**Methods:** `focus(options?)` and `blur()` forward to the native trigger button.
|
|
42
|
+
|
|
43
|
+
**Events:** `lr-export` (`detail: { format: string }`, **cancelable** — call `preventDefault()` to
|
|
44
|
+
substitute your own server-generated download instead of the built-in client-side one),
|
|
45
|
+
`lr-export-complete` (`detail: { format: 'csv' | 'json' }`, fires only after a non-cancelled
|
|
46
|
+
built-in download completes), `lr-show`, `lr-hide` (format-menu visibility transitions)
|
|
47
|
+
|
|
48
|
+
**Slots:** none.
|
|
49
|
+
|
|
50
|
+
**CSS parts:** `trigger`, `menu`, `menu-item`, `format-label`, `format-description`
|
|
51
|
+
|
|
52
|
+
**Themeable custom properties:** shared tokens only.
|
|
53
|
+
|
|
54
|
+
**Optional peer deps:** none.
|
|
55
|
+
|
|
56
|
+
```html
|
|
57
|
+
<lr-export-button id="exp" filename="report" label="Export"></lr-export-button>
|
|
58
|
+
<script type="module">
|
|
59
|
+
const exp = document.getElementById('exp');
|
|
60
|
+
exp.rows = [{ name: 'Alpha', value: 1 }];
|
|
61
|
+
exp.columns = [{ key: 'name', label: 'Name' }, { key: 'value', label: 'Value' }];
|
|
62
|
+
exp.formats = ['csv', 'json']; // shows a format-choice menu instead of exporting immediately
|
|
63
|
+
exp.addEventListener('lr-export', (e) => console.log('exporting', e.detail.format));
|
|
64
|
+
|
|
65
|
+
// Custom formats supply menu copy but remain application-handled.
|
|
66
|
+
exp.formats = [
|
|
67
|
+
'csv',
|
|
68
|
+
{ id: 'xlsx', label: 'Excel workbook', description: 'Preserves spreadsheet data types', extension: 'xlsx' },
|
|
69
|
+
];
|
|
70
|
+
exp.addEventListener('lr-export', async (e) => {
|
|
71
|
+
if (e.detail.format !== 'xlsx') return;
|
|
72
|
+
e.preventDefault();
|
|
73
|
+
exp.loading = true;
|
|
74
|
+
try { await exportWorkbook(exp.rows); }
|
|
75
|
+
finally { exp.loading = false; }
|
|
76
|
+
});
|
|
77
|
+
</script>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Package-level CSV utilities (used internally, also exported for standalone use — `import {
|
|
81
|
+
escapeCsvField, buildCsv, downloadBlob } from '@aceshooting/lyra-ui'`):
|
|
82
|
+
```ts
|
|
83
|
+
escapeCsvField(value: unknown): string // quotes/escapes; neutralizes formula-injection (=,+,@,tab,CR) with a leading apostrophe — a bare leading '-' is deliberately left alone (OWASP guidance: it's not itself formula syntax, and guarding it would mangle ordinary negative numbers)
|
|
84
|
+
buildCsv(rows: Record<string, unknown>[], columns: CsvColumn[]): string // CRLF-joined, header row included
|
|
85
|
+
downloadBlob(content: string, filename: string, mime: string): void // triggers a browser download
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Known gotchas:**
|
|
89
|
+
- CSV and JSON are the only built-in encoders. To offer XLSX/PDF/etc., pass an
|
|
90
|
+
`ExportFormatDescriptor` and handle its id from `lr-export`; custom formats never trigger a
|
|
91
|
+
download or `lr-export-complete` on their own. A descriptor's optional `extension` is metadata
|
|
92
|
+
for that handler, not automatic filename handling.
|
|
93
|
+
- CSV formula-injection guarding and the deferred (5s) `URL.revokeObjectURL` (works around Safari
|
|
94
|
+
cancelling in-flight downloads on immediate revoke) are genuine, safe-to-rely-on strengths.
|
|
95
|
+
- the multi-format menu (`role="menu"`) supports full arrow-key navigation — ArrowUp/ArrowDown move
|
|
96
|
+
between items (opening the menu and seeding the right one focused, if it was closed), Home/End
|
|
97
|
+
jump to the first/last item once open, Escape closes it and returns focus to the trigger button,
|
|
98
|
+
and a completed export also returns focus to the trigger — not just Escape/click-outside as
|
|
99
|
+
before.
|
|
100
|
+
- the positioned menu is constrained to the inline/block space reported by the positioner, wraps
|
|
101
|
+
long localized format labels/descriptions, scrolls when necessary, and disables its transition
|
|
102
|
+
under reduced motion.
|
|
103
|
+
|
|
104
|
+
---
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/media.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-file-icon`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/media/file-icon/file-icon.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraFileIcon`, also available unregistered from `@aceshooting/lyra-ui/components/media/file-icon/file-icon.class.js`
|
|
7
|
+
- **Family** `components/media/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-file-icon`
|
|
14
|
+
|
|
15
|
+
Localized, tokenized file-format badge for surrounding upload rows, cards, selectors, and viewer
|
|
16
|
+
headers. The companion `getFileTypeMetadata(mimeType, fileName?)` utility covers common document,
|
|
17
|
+
spreadsheet, presentation, code, archive, image, audio, and video formats. An explicit known MIME
|
|
18
|
+
type wins; filename extension fallback is used only for an empty or `application/octet-stream`
|
|
19
|
+
MIME type. Unknown values return a generic file result.
|
|
20
|
+
|
|
21
|
+
**Properties:** `mimeType` (attribute `mime-type`), `name`, `size` (bytes; `0` renders no size),
|
|
22
|
+
`label`, `decorative`, and `variant: 'icon' | 'label'`.
|
|
23
|
+
|
|
24
|
+
**CSS parts:** `base`, `icon`, `label`, and `size`.
|
|
25
|
+
|
|
26
|
+
**Themeable custom properties:** `--lr-file-icon-size` (default `var(--lr-size-2rem)` — the
|
|
27
|
+
format badge's inline and block size).
|
|
28
|
+
|
|
29
|
+
**Exports:** `LyraFileTypeMetadata`, `LyraFileTypeIcon`, `LyraFileTypeCategory`,
|
|
30
|
+
`getFileTypeMetadata()`, and `registerFileTypeMetadata()` for application-specific mappings.
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
<lr-file-icon mime-type="application/pdf" variant="label"></lr-file-icon>
|
|
34
|
+
```
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/media.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-file-input`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/media/file-input/file-input.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraFileInput`, also available unregistered from `@aceshooting/lyra-ui/components/media/file-input/file-input.class.js`
|
|
7
|
+
- **Family** `components/media/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-file-input`
|
|
14
|
+
|
|
15
|
+
A drag-drop + click-to-browse file dropzone. Emits raw `File[]` only — no client-side CSV/XLSX/etc.
|
|
16
|
+
parsing (that's left entirely to the host).
|
|
17
|
+
|
|
18
|
+
**Properties:**
|
|
19
|
+
- `multiple: boolean = false` (reflected)
|
|
20
|
+
- `disabled: boolean = false` (reflected)
|
|
21
|
+
- `accept: string = ''` — a native-`accept`-style string (`.csv,.xlsx`, `text/csv`, `image/*`, or any
|
|
22
|
+
comma-separated mix); now enforced on **both** the native picker dialog and the drag-drop path, see
|
|
23
|
+
gotchas
|
|
24
|
+
- `allowedMimeTypes: string[] = []` (attribute: false) — exact MIME-string allowlist
|
|
25
|
+
- `forbiddenMimeTypes: string[] = []` (attribute: false) — exact MIME-string denylist, checked
|
|
26
|
+
**before** (and takes precedence over) `allowedMimeTypes`
|
|
27
|
+
- `maxFileSize: number = 0` (attribute `max-file-size` — bytes; `0` disables the check)
|
|
28
|
+
- `directory: boolean = false` (reflected) — enables native directory selection where supported
|
|
29
|
+
- `paste: boolean = true` (reflected) — accepts files pasted into the dropzone
|
|
30
|
+
- `label: string = 'Drop files here or click to browse'`
|
|
31
|
+
- `accessibleLabel: string = ''` (attribute `aria-label`) — overrides `label` as the internal
|
|
32
|
+
dropzone/button accessible name without changing visible copy
|
|
33
|
+
- `acceptedMessage: string = '{count} file(s) added.'` (attribute `accepted-message`) — live-region
|
|
34
|
+
message after an accepted selection; `{count}` is replaced with the accepted count
|
|
35
|
+
- `rejectedMessage: string = '{count} file(s) rejected.'` (attribute `rejected-message`) — live-region
|
|
36
|
+
message after rejected files; `{count}` is replaced with the rejected count
|
|
37
|
+
|
|
38
|
+
**Methods:** `openPicker()` programmatically opens the native file dialog; `focus(options?)`
|
|
39
|
+
forwards to the interactive dropzone.
|
|
40
|
+
|
|
41
|
+
**Events:** `lr-files` (`detail: { files: File[], rejected: RejectedFile[] }`, fired on both drop
|
|
42
|
+
and manual file-picker selection) — `RejectedFile = { file: File; reason: 'type' | 'count' | 'size' | 'directory'
|
|
43
|
+
}`: `'type'` from `accept`/`allowedMimeTypes`/`forbiddenMimeTypes`, `'count'` when a single-file
|
|
44
|
+
input (`multiple` unset) receives more than one file (in which case *all* files are rejected, none
|
|
45
|
+
accepted), `'size'` from `maxFileSize`, or `'directory'` for a dropped folder. `focus`/`blur` fire
|
|
46
|
+
when the semantic dropzone (the actual keyboard-focusable element, not the hidden native `<input>`)
|
|
47
|
+
gains/loses focus.
|
|
48
|
+
|
|
49
|
+
**Slots:** default slot — custom dropzone content, overrides the `label` attribute text when
|
|
50
|
+
provided. The accessible name always comes from `label` regardless, so icon-only slot content still
|
|
51
|
+
announces correctly.
|
|
52
|
+
|
|
53
|
+
**CSS parts:** `base`, `input`, `status` (a visually-hidden `role="status" aria-live="polite"`
|
|
54
|
+
element carrying the drag accept/reject announcement)
|
|
55
|
+
|
|
56
|
+
**Themeable custom properties:** shared tokens only — `--lr-space-xs`, `--lr-space-l`,
|
|
57
|
+
`--lr-color-border`, `--lr-radius`, `--lr-color-surface`, `--lr-color-text-quiet`,
|
|
58
|
+
`--lr-color-success` (drag-accept state), `--lr-color-danger` (drag-reject state),
|
|
59
|
+
`--lr-focus-ring-width/-color/-offset` (`[part="base"]:focus-visible` outline),
|
|
60
|
+
`--lr-opacity-disabled` (`:host([disabled])` dimming).
|
|
61
|
+
|
|
62
|
+
**Optional peer deps:** none.
|
|
63
|
+
|
|
64
|
+
```html
|
|
65
|
+
<lr-file-input multiple accept=".csv,.xlsx" allowed-mime-types='["text/csv"]'></lr-file-input>
|
|
66
|
+
<script>
|
|
67
|
+
document.querySelector('lr-file-input').addEventListener('lr-files', (e) => {
|
|
68
|
+
console.log('accepted:', e.detail.files, 'rejected:', e.detail.rejected); // rejected[i].reason
|
|
69
|
+
});
|
|
70
|
+
</script>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Note: `allowedMimeTypes`/`forbiddenMimeTypes` are complex properties (`attribute: false`) — set
|
|
74
|
+
them via JS (`el.allowedMimeTypes = [...]`), not as a JSON string attribute; the snippet above is
|
|
75
|
+
illustrative of intent only.
|
|
76
|
+
|
|
77
|
+
`accept.ts` exports `matchesAccept(file, accept, assumeExtensionMatch?)` (internal — not
|
|
78
|
+
re-exported from the package root) — parses the same three `accept` forms the browser's native
|
|
79
|
+
picker accepts (extension, exact MIME, `type/*` wildcard) and reports whether a `File` matches. Used
|
|
80
|
+
both for the drop path's real rejection and for the dragenter preview, where a `DataTransferItem` (no
|
|
81
|
+
`.name`, only `.type`) can't evaluate an extension pattern yet — `assumeExtensionMatch: true` treats
|
|
82
|
+
that as a possible match during preview so the drag-over UI doesn't flash a false "reject" state for
|
|
83
|
+
an extension-only `accept` list.
|
|
84
|
+
|
|
85
|
+
**Known gotchas:**
|
|
86
|
+
- Paste-from-clipboard **is** supported and on by default: a `paste` event on the dropzone reads
|
|
87
|
+
`e.clipboardData.files` and routes it through the same accept/reject classification as a drop.
|
|
88
|
+
Set `paste="false"` (or `.paste = false`) to opt out. (The package README's "Known limitations"
|
|
89
|
+
entry claiming there is no paste support, and none for dragged folders, is stale — both work.)
|
|
90
|
+
- Dragged folders **are** detected via `webkitGetAsEntry()` and reported as
|
|
91
|
+
`rejected[].reason === 'directory'` (paired with a synthetic zero-byte `File` carrying the folder
|
|
92
|
+
name), not silently accepted as a phantom file.
|
|
93
|
+
- `maxFileSize` fails safe rather than open: `0` (the default) or `Infinity` mean "no limit", but a
|
|
94
|
+
`NaN`/negative value — an unparsable `max-file-size` attribute, or a config that hasn't loaded
|
|
95
|
+
yet — falls back to a 25 MB cap (exported as `DEFAULT_MAX_FILE_SIZE_BYTES`) instead of disabling
|
|
96
|
+
the check.
|
|
97
|
+
- `maxFileSize`/`accept` extension patterns can't be evaluated during the dragenter preview (no real
|
|
98
|
+
`File.size`/`.name` available yet from a `DataTransferItem`) — the live preview state (border/
|
|
99
|
+
background color, `status` announcement) is therefore only a best-effort hint; the authoritative
|
|
100
|
+
accept/reject decision (and `rejected[].reason`) is always the one made at actual drop time.
|
|
101
|
+
- the click/keyboard-to-browse path is correctly operable (`role="button"`, `tabindex` 0/-1 by
|
|
102
|
+
disabled, `aria-disabled`, Enter/Space handling).
|
|
103
|
+
|
|
104
|
+
---
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/data.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-file-tree`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/data/file-tree/file-tree.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraFileTree`, also available unregistered from `@aceshooting/lyra-ui/components/data/file-tree/file-tree.class.js`
|
|
7
|
+
- **Family** `components/data/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-file-tree`
|
|
14
|
+
|
|
15
|
+
A file-explorer preset over `<lr-tree>` + `<lr-file-icon>`: path-keyed nodes with
|
|
16
|
+
git-status/diff-count badges, lazy directory loading, and select/open events.
|
|
17
|
+
|
|
18
|
+
**Properties:** `nodes: FileTreeNode[] = []` (attribute: false), `selectedPath: string | null = null`
|
|
19
|
+
(attribute `selected-path`), and `label: string = ''`.
|
|
20
|
+
|
|
21
|
+
**Methods:** `setChildren(path, children)` supplies a lazily-loaded directory's children.
|
|
22
|
+
`revealPath(path)` expands every ancestor directory and scrolls the target row into view, resolving
|
|
23
|
+
`true` once found. `expandAll()` and `collapseAll()` forward to the underlying `<lr-tree>`.
|
|
24
|
+
|
|
25
|
+
**Events:** `lr-file-select` (`detail: { path, node }`, a row was activated), `lr-file-open`
|
|
26
|
+
(`detail: { path, node }`, Enter/click on an already-selected file row), and `lr-load-children`
|
|
27
|
+
(`detail: { path }`, a lazy unloaded directory expanded).
|
|
28
|
+
|
|
29
|
+
**CSS parts:** `base` — the root wrapper.
|