@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,70 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/charts.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-doughnut-chart`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/charts/chart/doughnut-chart.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraDoughnutChart`, also available unregistered from `@aceshooting/lyra-ui/components/charts/chart/doughnut-chart.class.js`
|
|
7
|
+
- **Family** `components/charts/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** `chart.js`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
9
|
+
- **Documented with** `lr-line-chart`, `lr-bar-chart`, `lr-pie-chart`, `lr-radar-chart`, `lr-polar-area-chart`, `lr-bubble-chart`, `lr-scatter-chart` (same section below)
|
|
10
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Typed subclasses: `lr-line-chart`, `lr-bar-chart`, `lr-pie-chart`, `lr-doughnut-chart`, `lr-radar-chart`, `lr-polar-area-chart`, `lr-bubble-chart`, `lr-scatter-chart`
|
|
15
|
+
|
|
16
|
+
Each is `LyraChart` with `type` locked to a fixed value — respectively `line`, `bar`, `pie`,
|
|
17
|
+
`doughnut`, `radar`, `polarArea`, `bubble`, `scatter` — via a real `get`/`set` accessor pair the
|
|
18
|
+
shared `lockChartType()` helper installs on the subclass's own prototype (`declare type: '…'`
|
|
19
|
+
narrows the TS type at compile time; the runtime lock is the `Object.defineProperty` pair alongside
|
|
20
|
+
it — the same helper `lr-histogram` uses), not merely a class-field default a later assignment
|
|
21
|
+
could still override.
|
|
22
|
+
|
|
23
|
+
Everything else is inherited verbatim from `lr-chart`; each name below has the same type, default,
|
|
24
|
+
and behavior there. **See `llms/components/lr-chart.md` for the details, code example, and gotchas
|
|
25
|
+
of every entry in these lists.**
|
|
26
|
+
|
|
27
|
+
**Properties:** `labels`, `datasets`, `legend`, `legendPosition` (attribute `legend-position`),
|
|
28
|
+
`valueFormatter`, `area`, `zoom`, `height`, `xLabel` (`x-label`), `yLabel` (`y-label`), `y2Label`
|
|
29
|
+
(`y2-label`), `beginAtZero` (`begin-at-zero`), `horizontal`, `stacked`, `config`, `accessibleLabel`
|
|
30
|
+
(`accessible-label`), `accessibleDescription` (`accessible-description`), `showDataTable`
|
|
31
|
+
(`show-data-table`), `chartArea` (readonly). `type` is the only member that differs: read-only,
|
|
32
|
+
locked to this tag's value.
|
|
33
|
+
|
|
34
|
+
**Methods:** `resetZoom()`, `refreshTheme()`.
|
|
35
|
+
|
|
36
|
+
**Events:** `lr-zoom` (`detail: { zoomed: boolean }`), `lr-point-click` (`detail: { datasetIndex,
|
|
37
|
+
index, label, value }`).
|
|
38
|
+
|
|
39
|
+
**Slots:** `data-table`, `center`.
|
|
40
|
+
|
|
41
|
+
**CSS parts:** `base`, `canvas`, `reset-zoom-button`, `description`, `data-table`, `center`.
|
|
42
|
+
|
|
43
|
+
**Themeable custom properties:** `--lr-chart-height`, `--lr-chart-grid-color`,
|
|
44
|
+
`--lr-chart-tick-color`, `--lr-chart-legend-color`, `--lr-chart-tooltip-bg`,
|
|
45
|
+
`--lr-chart-tooltip-text`.
|
|
46
|
+
|
|
47
|
+
**Optional peer deps:** same as `lr-chart` — `chart.js`, plus `chartjs-plugin-zoom` only once
|
|
48
|
+
`zoom` is set.
|
|
49
|
+
|
|
50
|
+
```html
|
|
51
|
+
<lr-bar-chart legend></lr-bar-chart>
|
|
52
|
+
<lr-pie-chart></lr-pie-chart>
|
|
53
|
+
<script>
|
|
54
|
+
document.querySelector('lr-bar-chart').labels = ['A', 'B'];
|
|
55
|
+
document.querySelector('lr-bar-chart').datasets = [{ label: 'Count', data: [4, 9] }];
|
|
56
|
+
|
|
57
|
+
document.querySelector('lr-pie-chart').labels = ['A', 'B', 'C'];
|
|
58
|
+
document.querySelector('lr-pie-chart').datasets = [{ label: 'Share', data: [30, 45, 25], color: ['#2563eb', '#16a34a', '#dc2626'] }];
|
|
59
|
+
</script>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Known gotchas (in addition to the core `lr-chart` list in `llms/components/lr-chart.md`):**
|
|
63
|
+
- `type` truly is locked per subclass: `<lr-pie-chart type="bar">` or `el.type = 'bar'` at runtime
|
|
64
|
+
is a genuine no-op (the accessor's setter silently ignores the write), not a footgun like a plain
|
|
65
|
+
overridden class-field default would be.
|
|
66
|
+
- `lr-bubble-chart` needs `Series.points` entries with an `x`/`y`/`r` triple, but `Series.points`
|
|
67
|
+
is typed as `{x, y, label?}[]` with no `r` field — cast the array through `as unknown as
|
|
68
|
+
Series['points']` (or a local `BubblePoint` type) when constructing bubble data.
|
|
69
|
+
|
|
70
|
+
---
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/overlays.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-drawer`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/overlays/drawer/drawer.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraDrawer`, also available unregistered from `@aceshooting/lyra-ui/components/overlays/drawer/drawer.class.js`
|
|
7
|
+
- **Family** `components/overlays/` — 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-drawer`
|
|
14
|
+
|
|
15
|
+
A modal panel anchored to one edge of the viewport. It inherits the dialog overlay contract:
|
|
16
|
+
focus trapping, Escape and optional backdrop dismissal, document scroll locking, overlay stacking,
|
|
17
|
+
accessible naming, and the cancelable `lr-dialog-close` event.
|
|
18
|
+
|
|
19
|
+
**Properties:**
|
|
20
|
+
- `open: boolean = false` (attribute `open`, reflected) — controls visibility
|
|
21
|
+
- `placement: 'start'|'end'|'top'|'bottom' = 'start'` (attribute `placement`, reflected)
|
|
22
|
+
- `heading?: string`, `label: string`, `closable: boolean`, and `noLightDismiss: boolean` — inherited
|
|
23
|
+
dialog naming and dismissal options. A plain `aria-label` attribute on the host is honored too,
|
|
24
|
+
with the same priority-over-everything semantics documented under `lr-dialog` below
|
|
25
|
+
|
|
26
|
+
**Events:** `lr-dialog-close` (`detail: DialogCloseReason`) — inherited unchanged from `lr-dialog`.
|
|
27
|
+
|
|
28
|
+
**Slots:** default (drawer body), `footer` — inherited from `lr-dialog`.
|
|
29
|
+
|
|
30
|
+
**CSS parts:** `backdrop`, `panel`, `header`, `heading`, `close-button`, `label`, `body`, `footer`.
|
|
31
|
+
|
|
32
|
+
**Themeable custom properties:** `--lr-drawer-width` (default `--lr-size-24rem`; used by
|
|
33
|
+
`placement="start"|"end"`, capped at `100%`), `--lr-drawer-height` (default `--lr-size-24rem`;
|
|
34
|
+
used by `placement="top"|"bottom"`), `--lr-drawer-enter-x` / `--lr-drawer-enter-y` (the panel's
|
|
35
|
+
entrance-animation translate offset — `-x` for start/end, `-y` for top/bottom; both default to
|
|
36
|
+
`±--lr-size-1rem` and are set per `placement`, with `-x` explicitly flipped under `:dir(rtl)` since
|
|
37
|
+
`translateX` is physical. Override to lengthen/shorten the slide-in; the animation is dropped
|
|
38
|
+
entirely under `prefers-reduced-motion: reduce`). It also inherits `<lr-dialog>`'s own tokens —
|
|
39
|
+
`--lr-dialog-overlay-color`, `--lr-dialog-width` and `--lr-dialog-max-width` — since `LyraDrawer`
|
|
40
|
+
extends `LyraDialog`; the drawer's own width tokens take precedence for its panel.
|
|
41
|
+
|
|
42
|
+
```html
|
|
43
|
+
<lr-drawer open placement="end" heading="Filters" closable>
|
|
44
|
+
<lr-checkbox label="Only active"></lr-checkbox>
|
|
45
|
+
</lr-drawer>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/layout.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-drilldown-panel`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/layout/drilldown-panel/drilldown-panel.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraDrilldownPanel`, also available unregistered from `@aceshooting/lyra-ui/components/layout/drilldown-panel/drilldown-panel.class.js`
|
|
7
|
+
- **Family** `components/layout/` — 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-drilldown-panel`
|
|
14
|
+
|
|
15
|
+
Controlled navigation shell from a chart or table datum to related evidence, documents, entities,
|
|
16
|
+
or agent runs. It renders a breadcrumb path and delegates category content to existing primitives.
|
|
17
|
+
|
|
18
|
+
**Properties:** `path: DrilldownNode[] = []` and `types: NodeTypeStyle[] = []` (both attribute:
|
|
19
|
+
false), `accessibleLabel: string | null = null` (attribute `aria-label` — names the nested
|
|
20
|
+
`lr-tabs`; unset renders no `aria-label` at all, matching `lr-tabs`' own default),
|
|
21
|
+
`communityLabel: string = ''` (attribute `community-label`), `showFocusButton: boolean = true`
|
|
22
|
+
(attribute `show-focus-button`). **Events:**
|
|
23
|
+
`lr-drilldown-navigate` (`detail: { id, index }`). **Slots:** `runs`. **CSS parts:** `base`,
|
|
24
|
+
`breadcrumb`, `breadcrumb-item`, `breadcrumb-button`, `tabs`, `category`, `content`, `evidence-item`,
|
|
25
|
+
`document-item`, `entity-item`, `empty`.
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/layout.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-dropdown-item`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/layout/menu/dropdown-item.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraDropdownItem`, also available unregistered from `@aceshooting/lyra-ui/components/layout/menu/dropdown-item.class.js`
|
|
7
|
+
- **Family** `components/layout/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Documented with** `lr-menu`, `lr-menu-item` (same section below)
|
|
10
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## `lr-menu` / `lr-menu-item`
|
|
15
|
+
|
|
16
|
+
An anchored dropdown built around a consumer-supplied trigger element (typically an icon button)
|
|
17
|
+
assigned to the `trigger` slot. First-party invention (no Web Awesome equivalent) — a close, drop-
|
|
18
|
+
in-shaped replacement for reaching outside this library for a third-party dropdown to build a gear
|
|
19
|
+
menu, an avatar menu, or a history row's overflow menu. Uses the WAI-ARIA "menu button" pattern —
|
|
20
|
+
`role="menu"`/`role="menuitem"` with real roving DOM focus moving between actual focusable
|
|
21
|
+
`<lr-menu-item>` rows — deliberately not a `role="listbox"`/`aria-activedescendant` shape (that's
|
|
22
|
+
`<lr-select>`'s pattern instead).
|
|
23
|
+
|
|
24
|
+
### `lr-menu`
|
|
25
|
+
|
|
26
|
+
**Properties:**
|
|
27
|
+
- `open: boolean = false` (reflected)
|
|
28
|
+
- `placement?: Placement` (reflected — resolved through `rtlAwarePlacement()` (`internal/rtl.ts`),
|
|
29
|
+
then forwarded to `place()`; defaults to whatever `place()` itself defaults to. A `left`/`right`
|
|
30
|
+
side is mirrored under `dir="rtl"`, so e.g. `placement="left-start"` still anchors to the menu's
|
|
31
|
+
trailing edge instead of pinning to the physical left)
|
|
32
|
+
- `label: string = 'Menu'` — accessible name for the `role="menu"` popup; override with something
|
|
33
|
+
specific (e.g. "Row actions") when a page has more than one menu. A host-level `aria-label`
|
|
34
|
+
attribute takes precedence over both this prop and the localized default (unset by default, so
|
|
35
|
+
a no-op for existing consumers), matching `lr-select`/`lr-model-select`'s
|
|
36
|
+
`this.getAttribute('aria-label') || <computed default>` precedence
|
|
37
|
+
|
|
38
|
+
- `closeOnEscapeAnywhere: boolean = false` (attribute `close-on-escape-anywhere`) — lets Escape
|
|
39
|
+
close the menu when focus is on slotted non-menu-item content inside the popup; item activation
|
|
40
|
+
remains scoped to actual menu items
|
|
41
|
+
|
|
42
|
+
**Events:** `lr-show` (no detail — fires only when `open` transitions to `true`, not for markup
|
|
43
|
+
that renders `open` true from the start), `lr-hide` (same first-render guard, opposite
|
|
44
|
+
transition), `lr-menu-select` (`detail: { value }` — a consolidated re-fire of the activated
|
|
45
|
+
`<lr-menu-item>`'s own `lr-menu-item-select`; always followed by the menu closing and focus
|
|
46
|
+
returning to the trigger)
|
|
47
|
+
|
|
48
|
+
**Slots:** `trigger` (the consumer's own trigger element — first assigned element wins if several
|
|
49
|
+
are assigned; enhanced imperatively with `aria-haspopup="menu"`/`aria-expanded`/`aria-controls`
|
|
50
|
+
since those attributes belong on the actual interactive trigger, which lives outside this
|
|
51
|
+
component's shadow root), default (`<lr-menu-item>` elements, plus optionally plain `<hr>`
|
|
52
|
+
dividers between groups — native `<hr>` already carries an implicit `separator` role)
|
|
53
|
+
|
|
54
|
+
**CSS parts:** `trigger` (wrapper around the `trigger` slot — the positioning anchor), `popup` (the
|
|
55
|
+
positioned floating panel), `list` (the `role="menu"` container wrapping the default slot)
|
|
56
|
+
|
|
57
|
+
**Themeable custom properties:** shared tokens only (`--lr-color-surface`, `--lr-color-border`,
|
|
58
|
+
`--lr-radius`, `--lr-shadow`, `--lr-space-xs`, `--lr-transition-fast`).
|
|
59
|
+
|
|
60
|
+
**Optional peer deps:** none.
|
|
61
|
+
|
|
62
|
+
### `lr-menu-item`
|
|
63
|
+
|
|
64
|
+
Not meaningful standalone — it exists purely as `<lr-menu>`'s light-DOM child, the same
|
|
65
|
+
relationship `<lr-option>` has to `<lr-combobox>`/`<lr-select>`. `role="menuitem"` and the
|
|
66
|
+
roving `tabindex` both live on the host element itself (mirroring `<lr-tree-node>`), not an
|
|
67
|
+
internal shadow-DOM button; `<lr-menu>` is the sole owner of this element's `tabIndex`.
|
|
68
|
+
|
|
69
|
+
**Properties:**
|
|
70
|
+
- `value: string = ''` — an id/value echoed back in the parent `<lr-menu>`'s `lr-menu-select`
|
|
71
|
+
detail
|
|
72
|
+
- `disabled: boolean = false` (reflected — disables selection and excludes this item from
|
|
73
|
+
`<lr-menu>`'s roving-tabindex navigation entirely)
|
|
74
|
+
- `destructive: boolean = false` (reflected — tints the row with `--lr-color-danger`, for a
|
|
75
|
+
dangerous action like "Delete")
|
|
76
|
+
- `type: 'normal' | 'checkbox' = 'normal'` — `'checkbox'` (mirroring `wa-dropdown-item`'s identical
|
|
77
|
+
`type` option) renders `role="menuitemcheckbox"` in place of `role="menuitem"`, with `aria-checked`
|
|
78
|
+
reflecting `checked` and a checkmark glyph shown once `checked` is `true`. `'normal'` (the default)
|
|
79
|
+
renders and behaves exactly as before this option existed.
|
|
80
|
+
- `checked: boolean = false` (reflected) — whether a `type="checkbox"` item is checked; meaningless
|
|
81
|
+
(ignored) for `type="normal"`
|
|
82
|
+
|
|
83
|
+
**Methods:** `select(): void` — fires `lr-menu-item-select` (no-op while `disabled`). Called
|
|
84
|
+
internally by this element's own click handler and by `<lr-menu>`'s Enter/Space keydown handling
|
|
85
|
+
of the roving-focused item; also the cleanest way for a consumer/test to trigger selection
|
|
86
|
+
programmatically instead of clicking the shadow-DOM `[part="base"]` element (see the gotcha below).
|
|
87
|
+
For `type="checkbox"`, also toggles `checked` and fires `lr-menu-item-change` first.
|
|
88
|
+
|
|
89
|
+
**Events:** `lr-menu-item-select` (no detail payload — `this.emit('lr-menu-item-select')` is
|
|
90
|
+
called with no second argument, so `event.detail` is `null`, not `undefined`; fires on click, or
|
|
91
|
+
when the parent `<lr-menu>`'s own Enter/Space keydown handling calls `select()` on the currently
|
|
92
|
+
roving-focused item), `lr-menu-item-change` (`detail: { value, checked }` — fired when a
|
|
93
|
+
`type="checkbox"` item is activated and its `checked` state toggled, in addition to — never instead
|
|
94
|
+
of — `lr-menu-item-select`; never fired for `type="normal"`)
|
|
95
|
+
|
|
96
|
+
**Slots:** default (the item's label content), `icon` (optional leading icon)
|
|
97
|
+
|
|
98
|
+
**CSS parts:** `base` (the row — `role` lives on the host, not this part), `icon` (wrapper around
|
|
99
|
+
the `icon` slot; not rendered/hidden entirely while the slot is empty), `label` (wrapper around the
|
|
100
|
+
default slot), `checkmark` (the checkmark glyph shown when a `type="checkbox"` item is `checked`;
|
|
101
|
+
not rendered at all for `type="normal"`)
|
|
102
|
+
|
|
103
|
+
**Themeable custom properties:** shared tokens only (`--lr-radius`, `--lr-focus-ring-width`,
|
|
104
|
+
`--lr-focus-ring-color`, `--lr-space-xs`, `--lr-space-s`, `--lr-color-brand-quiet`,
|
|
105
|
+
`--lr-opacity-disabled`, `--lr-color-danger`, `--lr-color-danger-quiet`).
|
|
106
|
+
|
|
107
|
+
**Optional peer deps:** none.
|
|
108
|
+
|
|
109
|
+
### `lr-dropdown-item`
|
|
110
|
+
|
|
111
|
+
Compatibility naming alias for `<lr-menu-item>`. It is a subclass of the same implementation,
|
|
112
|
+
so `value`, `disabled`, `destructive`, `type`, `checked`, `select()`, checkbox events, and menu
|
|
113
|
+
roving focus behave identically.
|
|
114
|
+
|
|
115
|
+
**Slots:** default label content and optional `icon`.
|
|
116
|
+
|
|
117
|
+
```html
|
|
118
|
+
<lr-menu>
|
|
119
|
+
<button slot="trigger">Actions</button>
|
|
120
|
+
<lr-dropdown-item value="archive">Archive</lr-dropdown-item>
|
|
121
|
+
</lr-menu>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
```html
|
|
125
|
+
<lr-menu label="Row actions">
|
|
126
|
+
<button slot="trigger" aria-label="More actions">⋮</button>
|
|
127
|
+
<lr-menu-item value="edit">Edit</lr-menu-item>
|
|
128
|
+
<lr-menu-item value="duplicate">Duplicate</lr-menu-item>
|
|
129
|
+
<hr />
|
|
130
|
+
<lr-menu-item value="delete" destructive>Delete</lr-menu-item>
|
|
131
|
+
</lr-menu>
|
|
132
|
+
<script type="module">
|
|
133
|
+
document.querySelector('lr-menu').addEventListener('lr-menu-select', (e) => console.log(e.detail.value));
|
|
134
|
+
</script>
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
The popup is always rendered in the DOM (never `display:none`) so `.focus()` calls on its content
|
|
138
|
+
work synchronously the instant it opens — closed state is conveyed via `visibility`/`opacity`
|
|
139
|
+
instead. `visibility` is an inherited CSS property that pierces the `<slot>` projection boundary, so
|
|
140
|
+
every closed-state `<lr-menu-item>` is automatically excluded from sequential (Tab-key)
|
|
141
|
+
navigation with no separate JS bookkeeping. ArrowDown/ArrowUp *on the trigger while closed* also
|
|
142
|
+
opens the menu, focusing the first/last non-disabled item respectively (mirrors native `<select>`).
|
|
143
|
+
Once open, ArrowDown/ArrowUp move the roving focus among non-disabled items and wrap past either end
|
|
144
|
+
(unlike `<lr-select>`'s clamped listbox nav); Home/End jump to the first/last non-disabled item;
|
|
145
|
+
Enter/Space activate the focused item; Escape closes and refocuses the trigger; Tab closes without
|
|
146
|
+
`preventDefault()`, letting the browser's own Tab navigation proceed untouched. All of this list-level
|
|
147
|
+
keydown handling — Escape, Tab, the arrow keys, Home/End, and type-ahead alike — only responds when
|
|
148
|
+
the triggering keydown event's own target is an actual `<lr-menu-item>` element; a keydown bubbling
|
|
149
|
+
up from any other node inside the popup is ignored rather than misread as list navigation. A printable
|
|
150
|
+
keypress runs type-ahead: roving focus jumps to the next non-disabled item whose text starts with the
|
|
151
|
+
accumulated buffer (cycling from just after the active item, buffer resets ~500ms after the last
|
|
152
|
+
keystroke) — mirrors `<lr-select>`'s identical listbox type-ahead. A click outside both the trigger
|
|
153
|
+
and the open popup also closes it, but deliberately does *not* refocus the trigger — the outside
|
|
154
|
+
click itself already moved focus somewhere the user chose.
|
|
155
|
+
|
|
156
|
+
**Known gotchas:**
|
|
157
|
+
- `<lr-menu-item>`'s click handler lives on an inner shadow-DOM element (`[part="base"]`), not the
|
|
158
|
+
host — calling `.click()` directly on the `<lr-menu-item>` host element in a test does **not**
|
|
159
|
+
trigger selection; either click (or dispatch on) the element returned by
|
|
160
|
+
`menuItemEl.shadowRoot.querySelector('[part="base"]')`, or just call the item's own `select()`
|
|
161
|
+
method directly.
|
|
162
|
+
- `lr-show`/`lr-hide` are suppressed on the very first render even if `open` is already `true`
|
|
163
|
+
in markup — only later `open` transitions fire them.
|
|
164
|
+
- `lr-menu-item-select` carries no detail payload (`event.detail === null`); read
|
|
165
|
+
`event.target.value` instead. `<lr-menu>`'s own re-fired `lr-menu-select` is the one that
|
|
166
|
+
carries `detail: { value }`.
|
|
167
|
+
- Tab closes the menu without `preventDefault()` or focus trapping — the browser's own default Tab
|
|
168
|
+
navigation proceeds untouched, only the (now-stale) open state is cleared.
|
|
169
|
+
- Only Escape and a committed selection refocus the trigger on close; a click outside does not.
|
|
170
|
+
|
|
171
|
+
---
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/overlays.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-dropdown`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/overlays/overlay/dropdown.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraDropdown`, also available unregistered from `@aceshooting/lyra-ui/components/overlays/overlay/dropdown.class.js`
|
|
7
|
+
- **Family** `components/overlays/` — 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-dropdown`
|
|
14
|
+
|
|
15
|
+
A menu-role popover for consumer-supplied action content. Compose `lr-menu` when full roving
|
|
16
|
+
menu-item behavior is needed.
|
|
17
|
+
|
|
18
|
+
**Properties:** `open`, `placement`, `distance`, `accessibleLabel` (`aria-label`), and `popupRole` (`popup-role`).
|
|
19
|
+
`popupRole` is seeded to `'menu'` in the constructor — that is the only difference from `lr-popover`,
|
|
20
|
+
whose whole surface (including `showAt()`) is inherited unchanged.
|
|
21
|
+
**Events:** `lr-show`, `lr-hide` — inherited from `lr-popover`; neither fires for the initial render.
|
|
22
|
+
**Slots:** `trigger`, default menu content. **CSS parts:** `trigger`, `popup`, `content`.
|
|
23
|
+
**Themeable custom properties:** `--lr-overlay-max-inline-size` (default `--lr-size-20rem` —
|
|
24
|
+
maximum inline size of the popup).
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/viewers.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-ebook-viewer`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/viewers/ebook-viewer/ebook-viewer.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraEbookViewer`, also available unregistered from `@aceshooting/lyra-ui/components/viewers/ebook-viewer/ebook-viewer.class.js`
|
|
7
|
+
- **Family** `components/viewers/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** `epubjs` — see `llms/peers.md`
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-ebook-viewer`
|
|
14
|
+
|
|
15
|
+
Renders EPUB ebooks through the optional `epubjs` peer. `src` is fetched as an `ArrayBuffer`, and
|
|
16
|
+
epub.js renders the reading area into its stable `mount` element, using an internal iframe for
|
|
17
|
+
chapter content.
|
|
18
|
+
|
|
19
|
+
**Properties:** `src` and `name` are strings. `accessibleLabel` (attribute `aria-label`) overrides
|
|
20
|
+
the reading region's accessible name. `location: string = ''` (not reflected — CFIs are long) is
|
|
21
|
+
a CFI or spine href identifying the current reading position: set before the book finishes
|
|
22
|
+
loading it's recorded and applied once ready, set after it applies immediately, and epub.js's own
|
|
23
|
+
`relocated` event keeps it in sync with user navigation without re-triggering its own `display()`
|
|
24
|
+
call. `anchorKinds` is a readonly `['cfi', 'text-quote']` (this viewer's supported `LyraAnchor.kind`
|
|
25
|
+
values for the shared anchor-target contract).
|
|
26
|
+
|
|
27
|
+
**Methods:** `getToc()` resolves the EPUB's own navigation document (`book.navigation.toc`,
|
|
28
|
+
populated once `book.ready` resolves) flattened into document-ordered `EbookTocItem[]` (`{ id,
|
|
29
|
+
label, href, level }`, `level` starting at 1 for a top-level entry, `id` falling back to `href`
|
|
30
|
+
when a navigation entry has none), `[]` before a book has loaded. `search(query)` resolves the
|
|
31
|
+
match count across every spine section, in document order, via epub.js's own `item.load()`/
|
|
32
|
+
`item.find()`/`item.unload()` (empty/whitespace query behaves like `clearSearch()`; a newer
|
|
33
|
+
`search()` call or a `src` change aborts an in-flight scan); `searchNext()`/`searchPrevious()`
|
|
34
|
+
advance/step back through matches (wrapping, resolving `false` when there are none); `clearSearch()`
|
|
35
|
+
clears the query, matches, and painted search annotation.
|
|
36
|
+
|
|
37
|
+
**Events:** `lr-render-error` with `detail.error` when fetching, opening, or rendering fails;
|
|
38
|
+
`lr-location-change` (`detail: { cfi, href }`) fired from epub.js's own `relocated` event;
|
|
39
|
+
`lr-search-change` (`detail: { query, matchCount, activeIndex }`) from `search()`/`searchNext()`/
|
|
40
|
+
`searchPrevious()`/`clearSearch()`.
|
|
41
|
+
|
|
42
|
+
**CSS parts:** `base`, `toolbar`, `previous-button`, `next-button`, `previous-icon`, `next-icon`,
|
|
43
|
+
`mount`, `error`, and `announcer` (the visually-hidden `role="status"` region search results
|
|
44
|
+
announce through).
|
|
45
|
+
|
|
46
|
+
**Optional peer dependency:** install `epubjs` with `pnpm add epubjs`. The document-viewer registry
|
|
47
|
+
matches `application/epub+zip` and `.epub` filenames, declaring `{ anchors: ['cfi', 'text-quote'],
|
|
48
|
+
search: true, textSelect: true }` capabilities.
|
|
49
|
+
|
|
50
|
+
Remote resources are capped at 25 MB; exceeding it surfaces the localized
|
|
51
|
+
`documentPreviewResourceTooLarge` message instead of the ebook.
|
|
52
|
+
|
|
53
|
+
Adopts the shared anchor-target contract (`highlights`, `activeHighlightId`, `scrollToAnchor()`,
|
|
54
|
+
events `lr-highlight-activate`/`lr-text-select`/`lr-anchor-result`): a `cfi` anchor displays
|
|
55
|
+
directly via `rendition.display()`; a `text-quote` anchor resolves by scanning the spine with
|
|
56
|
+
epub.js's own `item.find()`, since chapter content lives inside epub.js-owned iframes rather than
|
|
57
|
+
this component's own shadow DOM — `lr-text-select` mirrors epub.js's own `selected` event for the
|
|
58
|
+
same reason. `highlights` (kind `cfi`) paint via `rendition.annotations.highlight()` and are
|
|
59
|
+
re-applied whenever the rendition is recreated (a `src` change, or a reconnect remount), since
|
|
60
|
+
epub.js doesn't persist annotations across a fresh `renderTo()`.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/viewers.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-email-viewer`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/viewers/email-viewer/email-viewer.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraEmailViewer`, also available unregistered from `@aceshooting/lyra-ui/components/viewers/email-viewer/email-viewer.class.js`
|
|
7
|
+
- **Family** `components/viewers/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** `dompurify`, `postal-mime` — see `llms/peers.md`
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-email-viewer`
|
|
14
|
+
|
|
15
|
+
Fetches and parses `.eml` messages with the optional `postal-mime` peer. HTML message bodies are
|
|
16
|
+
sanitized through the existing optional `dompurify` peer before rendering; plain-text messages
|
|
17
|
+
remain available without DOMPurify. Attachments are listed as filename and size only (the parsed
|
|
18
|
+
`mimeType` never reaches the DOM) and their content is never rendered by this component. Each
|
|
19
|
+
attachment row is a real `<button>` that emits `lr-attachment-open` with the decoded bytes; opening,
|
|
20
|
+
downloading, or object-URL'ing them is the host's job (e.g.
|
|
21
|
+
`URL.createObjectURL(new Blob([content], { type: mimeType }))` → `<lr-document-viewer>` → revoke on
|
|
22
|
+
`lr-close`).
|
|
23
|
+
|
|
24
|
+
Remote resources are capped at 25 MB; exceeding it surfaces the localized
|
|
25
|
+
`documentPreviewResourceTooLarge` message instead of the message.
|
|
26
|
+
|
|
27
|
+
**Properties:** `src`, `name`, and `maxHeight` (attribute `max-height`) are strings. `foldQuotes:
|
|
28
|
+
boolean = false` (attribute `fold-quotes`) — collapses trailing quoted-reply text/HTML behind a
|
|
29
|
+
localized show/hide toggle. `false` (the default) preserves the full body rendering.
|
|
30
|
+
|
|
31
|
+
**Events:** `lr-render-error` with `detail.error` when fetching or parsing fails.
|
|
32
|
+
`lr-attachment-open` — `detail: { attachment: { filename, mimeType, content? } }`, `content` a
|
|
33
|
+
`Uint8Array` of the decoded attachment — an attachment button was activated.
|
|
34
|
+
|
|
35
|
+
**CSS parts:** `base`, `headers`, `from-label`, `from`, `to-label`, `to`, `subject-label`, `subject`,
|
|
36
|
+
`date-label`, `date`, `body`, `body-html`, `body-text`, `attachments`, `attachments-label`,
|
|
37
|
+
`attachment-list`, `attachment-item`, `attachment-button` (an attachment's open button, inside its
|
|
38
|
+
`attachment-item`), `quoted` (a folded quoted-text block, hidden until expanded, only
|
|
39
|
+
while `foldQuotes`), `quote-toggle` (the show/hide-quoted-text toggle button, only while `foldQuotes`),
|
|
40
|
+
`spinner`, and `error`.
|
|
41
|
+
|
|
42
|
+
**Themeable custom properties:** `--lr-email-viewer-max-height` (default `none`) — maximum block size
|
|
43
|
+
of `[part="body"]`; also settable via the `max-height` property, which writes this token inline.
|
|
44
|
+
|
|
45
|
+
**Optional peer dependencies:** install `postal-mime` and `dompurify` with
|
|
46
|
+
`pnpm add postal-mime dompurify`. The component registers `message/rfc822` and falls back to
|
|
47
|
+
matching `.eml` filenames in `<lr-document-viewer>`. Deviates from the shared degraded-render
|
|
48
|
+
contract: an absent `postal-mime` renders `[part="error"]` with the localized
|
|
49
|
+
`emailViewerMissingParser` message (nothing is parseable without it), and an HTML-only message
|
|
50
|
+
(no `text/plain` alternative) with `dompurify` absent renders the localized
|
|
51
|
+
`documentViewerMissingSanitizer` message rather than silently showing an empty body.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-emoji-picker`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/forms/emoji-picker/emoji-picker.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraEmojiPicker`, also available unregistered from `@aceshooting/lyra-ui/components/forms/emoji-picker/emoji-picker.class.js`
|
|
7
|
+
- **Family** `components/forms/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** `emoji-picker-element-data` — see `llms/peers.md`
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-emoji-picker`
|
|
14
|
+
|
|
15
|
+
A searchable, keyboard-navigable, form-associated emoji picker. `groups` is fully consumer-suppliable
|
|
16
|
+
— the component ships no emoji data of its own — in the same "zero/optional-peer dependency" spirit
|
|
17
|
+
as `<lr-lite-chart>`/`<lr-heatmap>`; an optional convenience auto-loader fetches a default set on
|
|
18
|
+
connect from the `emoji-picker-element-data` peer, but only when `groups` hasn't already been
|
|
19
|
+
supplied (an explicit empty array still counts as supplied and skips the auto-load).
|
|
20
|
+
When the filtered set reaches 200 items, the grid automatically windows its visible rows while
|
|
21
|
+
preserving the full option count through `aria-setsize`/`aria-posinset`.
|
|
22
|
+
|
|
23
|
+
**Properties:** the shared form properties `name`, `value`, `disabled`, and `required`, plus
|
|
24
|
+
`groups: EmojiPickerGroup[] = []` (attribute: false) — `EmojiPickerGroup { key, label, emojis:
|
|
25
|
+
EmojiPickerItem[] }`, `EmojiPickerItem { emoji, name, shortcodes? }`; the search field matches `name`
|
|
26
|
+
and every `shortcodes` entry, case-insensitively. Empty (the default, before the auto-loader
|
|
27
|
+
resolves) renders just the search input and the empty state. `accessibleLabel` (`aria-label`)
|
|
28
|
+
forwards a host-supplied accessible name to the internal `role="listbox"` grid; empty falls back to
|
|
29
|
+
the localized default grid label.
|
|
30
|
+
|
|
31
|
+
**Events:** `lr-change` with `detail: { emoji }` (an emoji was picked — click, or Enter/Space on
|
|
32
|
+
the active grid cell; also sets `value`), plus the shared form `input`, `change`, `focus`, and `blur`.
|
|
33
|
+
|
|
34
|
+
**Keyboard:** the grid is a roving-tabindex listbox (a single Tab stop — only the active emoji is
|
|
35
|
+
tabbable). ArrowLeft/ArrowRight step the active item backward/forward following reading direction
|
|
36
|
+
(swapped under RTL), ArrowUp/ArrowDown move by one visual row (measured from the live wrap layout),
|
|
37
|
+
Home/End jump to the first/last item, and Enter/Space picks the active item. The search input is a
|
|
38
|
+
`role="combobox"` over the same listbox: the arrow keys and Enter also work while focus stays in
|
|
39
|
+
the input, with `aria-activedescendant` tracking the active option. Hovering an emoji with the
|
|
40
|
+
pointer also moves the active item to it.
|
|
41
|
+
|
|
42
|
+
**CSS parts:** `base`, `search` (`role="combobox"`), `grid` (`role="listbox"`, the scroll
|
|
43
|
+
viewport), `group-label`, `emoji` (each emoji's own `role="option"` button), `empty` (shown when
|
|
44
|
+
the search matches nothing). While windowing is active the rows are wrapped in `virtual-spacer`
|
|
45
|
+
(full-height scroll spacer), `virtual-row` (one absolutely-positioned row), `virtual-label` (an
|
|
46
|
+
`aria-hidden` spacer standing in for a row's missing `group-label`), and `virtual-items` (the row's
|
|
47
|
+
emoji flex line).
|
|
48
|
+
|
|
49
|
+
**Themeable custom properties:** `--lr-emoji-picker-item-size` (default `--lr-icon-button-size`,
|
|
50
|
+
each emoji button's box), `--lr-emoji-picker-gap` (default `--lr-space-2xs`, the gap between
|
|
51
|
+
emoji within a windowed row), and `--lr-emoji-picker-row-height` (default
|
|
52
|
+
`calc(var(--lr-emoji-picker-item-size) + var(--lr-space-l))`, one windowed row's height). All three
|
|
53
|
+
are also read back in JS to derive columns-per-row and row offsets for the windowed layout,
|
|
54
|
+
resolved to real pixels by measuring hidden probe boxes the component's own stylesheet sizes from
|
|
55
|
+
those same tokens — so any CSS length unit works, `rem`/`em` and `calc()` included, and the windowed
|
|
56
|
+
geometry matches what is painted without expressing the tokens in `px`. The measurement is cached
|
|
57
|
+
and re-derived only when the resolved pixels can actually change (a token override applied after the
|
|
58
|
+
first render, a theme swap, a root or host font-size change feeding a `rem`/`em` value), never per
|
|
59
|
+
frame.
|
|
60
|
+
|
|
61
|
+
Two constraints remain. `--lr-emoji-picker-item-size` is clamped up to `--lr-icon-button-size`, the
|
|
62
|
+
shared minimum tappable box: a smaller value does not shrink the button, and the windowed geometry
|
|
63
|
+
follows the clamped, painted size. And windowed rows are absolutely positioned at the row-height
|
|
64
|
+
pitch, so `--lr-emoji-picker-row-height` must stay at or above the item size plus the group-label
|
|
65
|
+
band (`--lr-space-l`) — the default's own formula — or consecutive rows overlap. Columns per
|
|
66
|
+
windowed row are additionally capped at 20 regardless of available width.
|
|
67
|
+
|
|
68
|
+
**Optional peer dependency:** install `emoji-picker-element-data` with
|
|
69
|
+
`pnpm add emoji-picker-element-data` for the built-in auto-loaded default emoji set — omit it and
|
|
70
|
+
supply `groups` directly instead. The loader never throws; a missing or failed peer logs one
|
|
71
|
+
`console.warn` and simply leaves `groups` empty.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/overlays.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-empty`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/overlays/empty/empty.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraEmpty`, also available unregistered from `@aceshooting/lyra-ui/components/overlays/empty/empty.class.js`
|
|
7
|
+
- **Family** `components/overlays/` — 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-empty`
|
|
14
|
+
|
|
15
|
+
First-party "no data" state (no Web Awesome equivalent).
|
|
16
|
+
|
|
17
|
+
**Properties:**
|
|
18
|
+
- `heading: string = ''`
|
|
19
|
+
- `description: string = ''`
|
|
20
|
+
- `compact: boolean = false` (reflected) — tighter, left-aligned rendering (less padding, a lighter
|
|
21
|
+
heading weight) for use inside a constrained space like a widget body or table cell, instead of
|
|
22
|
+
the centered/spacious full-page default
|
|
23
|
+
|
|
24
|
+
**Events:** none.
|
|
25
|
+
|
|
26
|
+
**Slots:** default (icon/illustration), `heading` (rich heading content, overrides the `heading`
|
|
27
|
+
attribute), `description` (rich description content, overrides the `description` attribute),
|
|
28
|
+
`actions` (buttons/links below the description)
|
|
29
|
+
|
|
30
|
+
**CSS parts:** `base`, `icon`, `heading`, `description`, `actions`
|
|
31
|
+
|
|
32
|
+
**Themeable custom properties:** `--lr-empty-compact-align` (compact mode only; defaults preserve
|
|
33
|
+
the existing `flex-start` cross-axis and `start` text alignment, and `center` centers both),
|
|
34
|
+
`--lr-empty-compact-padding` (default `--lr-space-xs` — padding used in compact mode), plus
|
|
35
|
+
shared tokens (`--lr-space-xs/-s/-l`, `--lr-color-text-quiet/-border/-text`).
|
|
36
|
+
|
|
37
|
+
**Optional peer deps:** none.
|
|
38
|
+
|
|
39
|
+
```html
|
|
40
|
+
<lr-empty heading="No results" description="Try a different search.">
|
|
41
|
+
<svg slot="" ...></svg> <!-- default slot: any icon/illustration -->
|
|
42
|
+
<div slot="actions"><button>Clear filters</button></div>
|
|
43
|
+
</lr-empty>
|
|
44
|
+
<lr-empty compact heading="No results" description="Try a different search."
|
|
45
|
+
style="--lr-empty-compact-align: center"></lr-empty>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Known gotchas:**
|
|
49
|
+
- `[part="base"]` is `role="status" aria-live="polite"`, so a list/table transitioning to empty
|
|
50
|
+
does announce to screen readers — no extra wiring needed on the host's part.
|
|
51
|
+
- Note: correctly works around the classic `:empty`-pseudo-class trap (a wrapper with a `<slot>`
|
|
52
|
+
inside can never match `:empty`) by tracking real slot assignment in JS (`hasIcon`/`hasActions`) —
|
|
53
|
+
`lr-table` reuses this component for its own empty-rows state, and `lr-stat` (below) now uses
|
|
54
|
+
the same JS-tracked-slot-state pattern for its own icon/caption wrappers.
|
|
55
|
+
|
|
56
|
+
---
|