@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,32 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/viewers.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-calendar-viewer`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/viewers/calendar-viewer/calendar-viewer.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraCalendarViewer`, also available unregistered from `@aceshooting/lyra-ui/components/viewers/calendar-viewer/calendar-viewer.class.js`
|
|
7
|
+
- **Family** `components/viewers/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** `ical.js` — see `llms/peers.md`
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-calendar-viewer`
|
|
14
|
+
|
|
15
|
+
Fetches and parses `.ics` calendars with the optional `ical.js` peer and renders each VEVENT as
|
|
16
|
+
plain text, including its title, start/end time, location, and description. No HTML is injected.
|
|
17
|
+
|
|
18
|
+
**Properties:** `src`, `name`, and `maxHeight` (attribute `max-height`) are strings.
|
|
19
|
+
|
|
20
|
+
**Events:** `lr-render-error` with `detail.error` when fetching or parsing fails.
|
|
21
|
+
|
|
22
|
+
**CSS parts:** `base`, `body`, `event-list`, `event`, `event-summary`, `event-time`, `event-location`,
|
|
23
|
+
`event-description`, `spinner`, and `error`.
|
|
24
|
+
|
|
25
|
+
**Themeable custom properties:** `--lr-calendar-viewer-max-height` (default `none`) — maximum block
|
|
26
|
+
size of `[part="body"]`; also settable via the `max-height` property, which writes this token inline.
|
|
27
|
+
|
|
28
|
+
**Optional peer dependency:** install `ical.js` with `pnpm add ical.js`. The component registers
|
|
29
|
+
`text/calendar` and falls back to matching `.ics` filenames in `<lr-document-viewer>`.
|
|
30
|
+
|
|
31
|
+
Remote resources are capped at 25 MB; exceeding it surfaces the localized
|
|
32
|
+
`documentPreviewResourceTooLarge` message instead of the calendar.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/data.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-calendar`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/data/calendar/calendar.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraCalendar`, also available unregistered from `@aceshooting/lyra-ui/components/data/calendar/calendar.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-calendar`
|
|
14
|
+
|
|
15
|
+
Responsive month calendar with event markers and an agenda view.
|
|
16
|
+
|
|
17
|
+
**Properties:**
|
|
18
|
+
- `events: CalendarEvent[] = []` (attribute: false) — `{ id?, date, title, start?, end?, color?,
|
|
19
|
+
data? }`; `date` is an ISO `YYYY-MM-DD` string and `color` is sanitized before being used as the
|
|
20
|
+
marker background
|
|
21
|
+
- `value: string = ''` — the selected ISO date
|
|
22
|
+
- `viewDate: string` (attribute `view-date`, defaults to the 1st of the current month) — the visible
|
|
23
|
+
month; an unparseable value falls back to the current month
|
|
24
|
+
- `view: 'month' | 'agenda' = 'month'` (reflected) — agenda lists this month's events, date-sorted
|
|
25
|
+
- `firstDayOfWeek: number = 1` (attribute `first-day-of-week`) — sanitized to a finite integer
|
|
26
|
+
(fallback `1`) and wrapped into `0`–`6`, so a malformed value can't drop days
|
|
27
|
+
- `accessibleLabel: string = ''` (attribute `aria-label`) — names the calendar `<section>`; falls back
|
|
28
|
+
to the localized `calendarLabel`
|
|
29
|
+
|
|
30
|
+
**Keyboard:** the month grid is a fixed 6×7 matrix (leading/trailing days of adjacent months fill it
|
|
31
|
+
out) with one roving tab stop — `focusedDate`, else `value`, else today, else the first rendered day.
|
|
32
|
+
Arrows move by 1 day (Left/Right swapped under RTL) or 7; stepping past the rendered grid rolls
|
|
33
|
+
`viewDate` to the target's month and emits `lr-view-change`. Enter/Space select.
|
|
34
|
+
|
|
35
|
+
**Events:** `lr-date-select` (`detail: { date }`), `lr-event-select` (`detail: { event }`),
|
|
36
|
+
`lr-view-change` (`detail: { viewDate }`, from the prev/next buttons and out-of-grid arrow moves).
|
|
37
|
+
|
|
38
|
+
**Slots:** none.
|
|
39
|
+
|
|
40
|
+
**CSS parts:** `header`, `nav` (carried both by the previous button itself and by the wrapper around
|
|
41
|
+
the next button), `nav-glyph` (the chevron, `scaleX(-1)`-mirrored under RTL), `title`, `weekdays`,
|
|
42
|
+
`weekday`, `grid`, `week` (`display: contents`), `day`, `date`, `event` (a month-view marker),
|
|
43
|
+
`agenda`, `agenda-event`.
|
|
44
|
+
|
|
45
|
+
**Themeable custom properties:** `--lr-calendar-day-min-block-size` (default `var(--lr-size-6rem)`)
|
|
46
|
+
and `--lr-calendar-day-min-block-size-narrow` (default `4rem`, applied at container inline-size
|
|
47
|
+
≤ 28rem).
|
|
48
|
+
|
|
49
|
+
**Gotcha:** month-view `[part='event']` markers are a mouse-only quick-select affordance — they sit
|
|
50
|
+
inside the day `<button>`, which may not contain focusable descendants. Agenda view renders each
|
|
51
|
+
event as a real `<button part="agenda-event">` and is the keyboard-accessible path to
|
|
52
|
+
`lr-event-select`.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/overlays.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-callout`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/overlays/callout/callout.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraCallout`, also available unregistered from `@aceshooting/lyra-ui/components/overlays/callout/callout.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-callout`
|
|
14
|
+
|
|
15
|
+
An inline status, warning, or error surface. Set `inline` for lightweight reactive form or mutation
|
|
16
|
+
errors without panel chrome.
|
|
17
|
+
|
|
18
|
+
**Properties:** `variant: 'neutral'|'brand'|'success'|'warning'|'danger' = 'neutral'` (reflected —
|
|
19
|
+
also picks `[part="base"]`'s role: `alert` for `danger`, `status` otherwise), `heading: string = ''`,
|
|
20
|
+
`closable: boolean = false` (reflected), `inline: boolean = false` (reflected), `open: boolean = true`
|
|
21
|
+
(reflected — `false` renders nothing at all), and `accessibleLabel: string = ''`
|
|
22
|
+
(`accessible-label`; falls back to a plain host `aria-label` attribute when unset).
|
|
23
|
+
|
|
24
|
+
**Events:** cancelable `lr-close` (no detail); the callout sets `open = false` after the event
|
|
25
|
+
unless a listener calls `preventDefault()`.
|
|
26
|
+
|
|
27
|
+
**Slots:** default message, `heading` (rendered alongside the `heading` property), `icon`.
|
|
28
|
+
|
|
29
|
+
**CSS parts:** `base`, `icon` (hidden while the `icon` slot is empty), `content`, `heading`,
|
|
30
|
+
`message` (wrapper around the default slot), `close-button` (the close control's hit target, always
|
|
31
|
+
at least `--lr-icon-button-size` in both the panel and `inline` treatments), `close-icon` (the
|
|
32
|
+
visible "×" glyph inside it — this is what shrinks under `inline`, so the hit target never does).
|
|
33
|
+
|
|
34
|
+
**Themeable custom properties:** `--lr-callout-background`, `--lr-callout-color`,
|
|
35
|
+
`--lr-callout-border` — the trio each `:host([variant])` rule rewrites (same
|
|
36
|
+
surface/text/border → `*-quiet`/loud/loud scheme as `lr-badge`). `inline` drops the border,
|
|
37
|
+
background, and panel padding regardless of what these are set to.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/layout.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-card`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/layout/card/card.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraCard`, also available unregistered from `@aceshooting/lyra-ui/components/layout/card/card.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-card`
|
|
14
|
+
|
|
15
|
+
A generic, styled bordered content container — the "small bordered surface with padding" idiom common
|
|
16
|
+
to hero highlights, clickable grid tiles, and management-list items. A direct `<lr-*>` counterpart
|
|
17
|
+
to `<wa-card>`'s contract, staying slot-compatible with `lr-result-card` where they overlap.
|
|
18
|
+
|
|
19
|
+
**Properties:**
|
|
20
|
+
- `appearance: 'accent' | 'filled' | 'outlined' | 'filled-outlined' | 'plain' = 'outlined'`
|
|
21
|
+
(reflected) — `'outlined'` (the default) is a plain bordered surface; `'filled'` swaps the border
|
|
22
|
+
for a quiet brand-tinted background; `'filled-outlined'` keeps the border and adds that same tinted
|
|
23
|
+
background; `'accent'` drops the border for a single colored accent stripe on the leading edge;
|
|
24
|
+
`'plain'` has no border or background at all.
|
|
25
|
+
- `interactive: boolean = false` (reflected) — opt-in hover/focus-visible treatment (border-color
|
|
26
|
+
shift, cursor: pointer) for a card used as a clickable tile — purely visual; this component takes
|
|
27
|
+
no position on what "activate" means unless `href` is also set. `false` (the default) reproduces a
|
|
28
|
+
plain static card.
|
|
29
|
+
- `href?: string` — when set, the card's root renders as a real `<a href=...>` instead of a `<div>`,
|
|
30
|
+
for a whole-card link (e.g. a wide CTA tile). Unset (the default) renders a plain `<div>`.
|
|
31
|
+
|
|
32
|
+
**Events:** none.
|
|
33
|
+
|
|
34
|
+
**Slots:** default (the card body), `header` (header row content, rendered above the body), `media`
|
|
35
|
+
(media content, e.g. an image, rendered above the header), `footer` (footer content, rendered below
|
|
36
|
+
the body), `actions` (small header controls, rendered alongside the header content).
|
|
37
|
+
|
|
38
|
+
**CSS parts:** `base` (the outer container — a `<div>`, or an `<a>` when `href` is set), `media`
|
|
39
|
+
(wrapper around the `media` slot, hidden entirely when empty), `header` (wrapper around the `header`
|
|
40
|
+
slot and `actions`, hidden entirely when both are empty), `actions` (wrapper around the `actions`
|
|
41
|
+
slot, hidden entirely when empty), `body` (wrapper around the default slot), `footer` (wrapper around
|
|
42
|
+
the `footer` slot, hidden entirely when empty).
|
|
43
|
+
|
|
44
|
+
**Themeable custom properties:** shared tokens only — `--lr-color-border`/`-surface`/`-brand`/
|
|
45
|
+
`-brand-quiet`, `--lr-radius`, `--lr-space-s`/`-m`, `--lr-transition-fast`,
|
|
46
|
+
`--lr-focus-ring-*`.
|
|
47
|
+
|
|
48
|
+
**Optional peer deps:** none.
|
|
49
|
+
|
|
50
|
+
```html
|
|
51
|
+
<lr-card appearance="outlined" interactive href="/reports/42">
|
|
52
|
+
<img slot="media" src="/thumb.png" alt="" />
|
|
53
|
+
<span slot="header">Q3 Report</span>
|
|
54
|
+
<span slot="actions"><lr-chip tone="success">Ready</lr-chip></span>
|
|
55
|
+
Revenue up 12% quarter-over-quarter.
|
|
56
|
+
<span slot="footer">Updated 2 days ago</span>
|
|
57
|
+
</lr-card>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Known gotchas:**
|
|
61
|
+
- every `appearance` renders on the *same* `[part="base"]` element — there's no separate element per
|
|
62
|
+
variant, so a `::part(base)` override applies uniformly regardless of `appearance`.
|
|
63
|
+
- slot-presence (`header`/`media`/`footer`/`actions`) is tracked in JS, not via CSS `:empty` (a
|
|
64
|
+
`[part]` wrapper always contains a literal `<slot>` child, so `:empty` never matches) — the same
|
|
65
|
+
pattern `lr-empty`/`lr-widget` use.
|
|
66
|
+
|
|
67
|
+
---
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/layout.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-carousel-item`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/layout/carousel/carousel-item.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraCarouselItem`, also available unregistered from `@aceshooting/lyra-ui/components/layout/carousel/carousel-item.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-carousel-item`
|
|
14
|
+
|
|
15
|
+
Optional semantic wrapper for one slide in `<lr-carousel>`. The carousel also accepts arbitrary
|
|
16
|
+
slotted elements, so this element is useful when a migration needs the explicit item tag.
|
|
17
|
+
|
|
18
|
+
**Slots:** default slide content.
|
|
19
|
+
|
|
20
|
+
**CSS parts:** `base`.
|
|
21
|
+
|
|
22
|
+
```html
|
|
23
|
+
<lr-carousel>
|
|
24
|
+
<lr-carousel-item>Dashboard overview</lr-carousel-item>
|
|
25
|
+
<lr-carousel-item>Dashboard details</lr-carousel-item>
|
|
26
|
+
</lr-carousel>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
---
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/layout.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-carousel`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/layout/carousel/carousel.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraCarousel`, also available unregistered from `@aceshooting/lyra-ui/components/layout/carousel/carousel.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-carousel`
|
|
14
|
+
|
|
15
|
+
Accessible carousel for arbitrary slotted slide elements. It shows one assigned element at a time,
|
|
16
|
+
adds slide semantics and localized position labels, and provides keyboard, button, and indicator
|
|
17
|
+
navigation.
|
|
18
|
+
|
|
19
|
+
**Properties:**
|
|
20
|
+
- `index: number = 0` (attribute `index`, reflected) — active slide index
|
|
21
|
+
- `loop: boolean = false` (attribute `loop`, reflected) — wraps navigation at either end
|
|
22
|
+
- `autoplay: boolean = false` (attribute `autoplay`, reflected) and `autoplayInterval: number = 5000`
|
|
23
|
+
(attribute `autoplay-interval`) — optional timed advance; autoplay is disabled under reduced motion
|
|
24
|
+
- `showIndicators: boolean = true` (attribute `show-indicators`) — renders slide indicator buttons
|
|
25
|
+
- `accessibleLabel: string = ''` (attribute `accessible-label`) — fallback landmark name; a host
|
|
26
|
+
`aria-label` takes precedence
|
|
27
|
+
|
|
28
|
+
**Methods:** `next()`, `previous()`, and `goTo(index)` update the active index and emit
|
|
29
|
+
`lr-slide-change` (`detail: { index }`).
|
|
30
|
+
|
|
31
|
+
**CSS parts:** `base` (the `role="region"` landmark), `viewport` (the keyboard-focusable slide
|
|
32
|
+
viewport), `track`, `controls`, `previous-button`, `next-button`, `previous-glyph`/`next-glyph` (the
|
|
33
|
+
chevron inside each, mirrored under RTL), `indicators`, `indicator` (one indicator's hit target,
|
|
34
|
+
sized to the shared minimum tappable size), and `indicator-dot` (the compact visible dot inside it).
|
|
35
|
+
|
|
36
|
+
```html
|
|
37
|
+
<lr-carousel aria-label="Screenshots">
|
|
38
|
+
<img alt="Dashboard overview" src="overview.png">
|
|
39
|
+
<img alt="Dashboard details" src="details.png">
|
|
40
|
+
</lr-carousel>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/charts.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-chart`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/charts/chart/chart.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraChart`, also available unregistered from `@aceshooting/lyra-ui/components/charts/chart/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
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-chart` (core)
|
|
14
|
+
|
|
15
|
+
Chart.js wrapper every other `lr-*-chart` tag subclasses; supports both a simplified
|
|
16
|
+
`Series`-based attribute surface and a raw Chart.js `config` passthrough (mirrors Web Awesome's
|
|
17
|
+
`wa-chart` `config` property).
|
|
18
|
+
|
|
19
|
+
**Properties:**
|
|
20
|
+
- `type: LyraChartType = 'line'` — `LyraChartType = 'line' | 'bar' | 'scatter' | 'pie' | 'doughnut' |
|
|
21
|
+
'radar' | 'polarArea' | 'bubble'` — every type string the typed `lr-*-chart` subclasses lock `type` to is
|
|
22
|
+
already a first-class member, so `<lr-chart type="pie">` needs no subclass or cast to work;
|
|
23
|
+
unknown runtime attribute/property values fall back to `line` before reaching Chart.js
|
|
24
|
+
- `labels: string[] = []` (attribute: false)
|
|
25
|
+
- `datasets: Series[] = []` (attribute: false) — `Series { label: string; data?: (number|null)[];
|
|
26
|
+
points?: {x,y,label?}[]; color?: string|string[]; fill?: boolean; width?: number; dash?: boolean;
|
|
27
|
+
noTooltip?: boolean; axis?: 'y'|'y2'; pointColors?: string[]; pointRadius?: number; type?:
|
|
28
|
+
'line'|'bar' }`
|
|
29
|
+
- `legend: boolean = false`
|
|
30
|
+
- `legendPosition: LyraChartLegendPosition = 'top'` (attribute `legend-position`) — places the
|
|
31
|
+
legend at `top`, `right`, `bottom`, or `left`; `auto` chooses right above 480px and bottom below
|
|
32
|
+
that allocation width
|
|
33
|
+
- `valueFormatter?: LyraChartValueFormatter` (attribute: false) — formats numeric tick, tooltip,
|
|
34
|
+
and legend values; the callback receives the value and `'tick'`, `'tooltip'`, or `'legend'`
|
|
35
|
+
context
|
|
36
|
+
- `area: boolean = false`
|
|
37
|
+
- `zoom: boolean = false` — wheel/drag/pinch zoom on the `x` axis only (pan disabled, and the zoom
|
|
38
|
+
range is limited to the original data extent); shows the `reset-zoom-button` while zoomed
|
|
39
|
+
- `height: string = '280px'`
|
|
40
|
+
- `xLabel: string = ''` (attribute `x-label`)
|
|
41
|
+
- `yLabel: string = ''` (attribute `y-label`)
|
|
42
|
+
- `y2Label: string = ''` (attribute `y2-label`)
|
|
43
|
+
- `beginAtZero: boolean = true` (attribute `begin-at-zero`)
|
|
44
|
+
- `horizontal: boolean = false` — sets `options.indexAxis = 'y'`, Chart.js's own mechanism for
|
|
45
|
+
horizontal bars (also flips `line`/`area` types onto a horizontal category axis)
|
|
46
|
+
- `stacked: boolean = false` — stacks the `x`/`y`(/`y2`) scale entries `buildScales()` returns; only
|
|
47
|
+
meaningful for `bar`/`line` types (scatter/bubble's linear `x` scale and the radial `r` scale used
|
|
48
|
+
by radar/polar-area are out of scope)
|
|
49
|
+
- `config?: Partial<ChartConfiguration>` (attribute: false) — deep-merged over the generated
|
|
50
|
+
config; any nested key wins without clobbering sibling generated keys. This is the raw Chart.js
|
|
51
|
+
escape hatch, so a caller-supplied `config.type` is passed through rather than normalized.
|
|
52
|
+
- `accessibleLabel: string = ''` (attribute `accessible-label`) — canvas name override; a host
|
|
53
|
+
`aria-label` has highest precedence
|
|
54
|
+
- `accessibleDescription: string = ''` (attribute `accessible-description`) — overrides the
|
|
55
|
+
localized data/trend summary
|
|
56
|
+
- `showDataTable: boolean = false` (attribute `show-data-table`) — makes the always-available
|
|
57
|
+
accessible data table visible rather than screen-reader-only
|
|
58
|
+
- `chartArea: LyraChartArea | undefined` (readonly) — current Chart.js chart-area geometry in
|
|
59
|
+
canvas-local coordinates (`top`, `left`, `right`, `bottom`, `width`, `height`), when a chart is
|
|
60
|
+
drawn
|
|
61
|
+
|
|
62
|
+
**Methods:** `resetZoom()` (reset any active zoom/pan to the original view), `refreshTheme()`
|
|
63
|
+
(forces a redraw so the `--lr-chart-*` tokens below are re-read from the current computed style —
|
|
64
|
+
the escape hatch for a consumer's own theme-toggle handler to call when it flips something, e.g. a
|
|
65
|
+
`data-theme` attribute, that doesn't otherwise change any `lr-chart` property)
|
|
66
|
+
|
|
67
|
+
**Events:** `lr-zoom` (`detail: { zoomed: boolean }`, fired on zoom-complete and on
|
|
68
|
+
`resetZoom()`), `lr-point-click` (fired when a click lands on, or nearest to — intersect-only —
|
|
69
|
+
a data point/segment, for any chart type, not just bar; `detail: { datasetIndex: number, index:
|
|
70
|
+
number, label: string | undefined, value: unknown }`)
|
|
71
|
+
|
|
72
|
+
**Slots:** `data-table` — an optional consumer-provided accessible table alternative; `center` —
|
|
73
|
+
optional overlay content positioned at the chart area's center, useful for doughnut and pie totals.
|
|
74
|
+
|
|
75
|
+
**CSS parts:** `base`, `canvas`, `reset-zoom-button`, `description`, `data-table`, `center` (the
|
|
76
|
+
chart-area-centered wrapper for the `center` slot)
|
|
77
|
+
|
|
78
|
+
**Themeable custom properties:** `--lr-chart-height` (set programmatically on the host from the
|
|
79
|
+
`height` property — must be read from the host, not a shadow-tree descendant, since custom
|
|
80
|
+
properties only cascade downward); `--lr-chart-grid-color` (default `var(--lr-color-border)`),
|
|
81
|
+
`--lr-chart-tick-color` (default `var(--lr-color-text-quiet)`), `--lr-chart-legend-color`
|
|
82
|
+
(default `var(--lr-color-text)`), `--lr-chart-tooltip-bg` (default `var(--lr-color-surface)`),
|
|
83
|
+
`--lr-chart-tooltip-text` (default `var(--lr-color-text)`) — each resolved fresh via
|
|
84
|
+
`getComputedStyle` on every draw (Chart.js renders to canvas, not the DOM, so it can't consume CSS
|
|
85
|
+
`var()` directly), driving the grid lines, tick labels **and axis titles** (`xLabel`/`yLabel`/
|
|
86
|
+
`y2Label` title text reuses `--lr-chart-tick-color` too — there's no separate title-color token),
|
|
87
|
+
legend text, and tooltip background/text respectively; plus shared `--lr-space-xs`.
|
|
88
|
+
|
|
89
|
+
**Optional peer deps:** `chart.js` (mandatory peer, lazy-imported on every `connectedCallback()`
|
|
90
|
+
regardless of `zoom`), `chartjs-plugin-zoom` (lazy-imported *additionally* only when `zoom` is — or
|
|
91
|
+
later becomes — `true`; never fetched for a chart that keeps `zoom` unset/false, since the plugin
|
|
92
|
+
has a hard dependency on `hammerjs`). Both loads are memoized once per page via `chart-loader.ts`
|
|
93
|
+
(`loadChartJs()` / `loadChartJsWithZoom()`), registering only the tree-shaken controller/element/scale
|
|
94
|
+
subset actually used.
|
|
95
|
+
|
|
96
|
+
```html
|
|
97
|
+
<lr-chart type="line" x-label="Day" y-label="kWh" legend></lr-chart>
|
|
98
|
+
<script>
|
|
99
|
+
const c = document.querySelector('lr-chart');
|
|
100
|
+
c.labels = ['Mon', 'Tue', 'Wed'];
|
|
101
|
+
c.datasets = [{ label: 'Production', data: [12, 19, 7], color: '#2563eb' }];
|
|
102
|
+
</script>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Known gotchas:**
|
|
106
|
+
- supported `type` values are normalized before reaching Chart.js; unknown runtime attribute or
|
|
107
|
+
property values fall back to `line`. Each typed `lr-*-chart` subclass (e.g.
|
|
108
|
+
`llms/components/lr-bar-chart.md`) locks its *own* `type` via a real prototype accessor — a
|
|
109
|
+
genuine runtime lock, not just a compile-time default.
|
|
110
|
+
- no global theme-broadcast event exists to auto-retheme an already-drawn chart on a theme switch —
|
|
111
|
+
a consumer flipping something upstream (e.g. a `data-theme` attribute) that doesn't otherwise
|
|
112
|
+
change any `lr-chart` property must call `refreshTheme()` itself to make Chart.js re-read the
|
|
113
|
+
`--lr-chart-*` tokens above.
|
|
114
|
+
- generated `scales` are keyed off the *effective* type (`config.type` ?? `type`, see
|
|
115
|
+
`effectiveType()`) and are type-appropriate: no scale at all for `type="pie"`/`"doughnut"` (true of
|
|
116
|
+
`<lr-chart type="pie">` directly, not just the `lr-pie-chart`/`lr-doughnut-chart` subclasses),
|
|
117
|
+
and a single radial `r` scale (respecting `beginAtZero`) for `type="radar"`/`"polarArea"`
|
|
118
|
+
(`lr-radar-chart`/`lr-polar-area-chart`), instead of always generating the cartesian `x`/`y`/
|
|
119
|
+
`y2` block. `xLabel`/`yLabel`/`y2Label` are still silently inert for all four of those types (a
|
|
120
|
+
radial scale and "no scale" both have nowhere to put an axis title) — reach a titled radial scale
|
|
121
|
+
only via raw `config`.
|
|
122
|
+
- No `chartjs-plugin-annotation` is registered by default — reachable only by importing it
|
|
123
|
+
separately and using the raw `config` passthrough (Chart.js's registry is a global singleton).
|
|
124
|
+
- while the `chart.js` peer is resolving, `render()` swaps in a `<lr-skeleton variant="rect">` for
|
|
125
|
+
the canvas, and the **host element itself** (not the skeleton) carries `aria-busy="true"` — set/
|
|
126
|
+
cleared in `updated()` off the private `loading` state (same lazy-load pattern as
|
|
127
|
+
`lr-graph`/`lr-map`/`lr-flag`). Chart.js's own ~1000ms draw-in animation only ever fires on
|
|
128
|
+
initial construction or a type change that rebuilds the `Chart` instance (every in-place data
|
|
129
|
+
update already passes `'none'` to `Chart#update()` and never animates regardless); that
|
|
130
|
+
construction-time animation is additionally skipped outright under `prefers-reduced-motion: reduce`.
|
|
131
|
+
The raw `config` passthrough is deep-merged with `__proto__`/`constructor`/`prototype` keys skipped
|
|
132
|
+
unconditionally, so a JSON-sourced `config` (e.g. parsed from an API response) can't reach up and
|
|
133
|
+
pollute `Object.prototype` through the merge.
|
|
134
|
+
- lazy-redraw + change gating: an `IntersectionObserver` gates `draw()` — while the host is scrolled
|
|
135
|
+
off-screen, property changes that would otherwise trigger a Chart.js redraw are skipped (and a
|
|
136
|
+
single redraw fires once it re-enters the viewport). Independently, `updated()` only reaches
|
|
137
|
+
Chart.js when at least one of `type`, `labels`, `datasets`, `legend`, `legendPosition`, the
|
|
138
|
+
internal resolved auto legend position, `valueFormatter`, `area`, `height`, `xLabel`, `yLabel`,
|
|
139
|
+
`y2Label`, `beginAtZero`, `horizontal`, `stacked`, `config`, `zoom`, `locale`, `strings`, or the
|
|
140
|
+
internal loading state actually changed in that update (so an unrelated property/state update, or
|
|
141
|
+
a bare `requestUpdate()`, draws nothing). `refreshTheme()` calls `draw()` directly and is
|
|
142
|
+
unaffected by either gate — it always redraws, since a theme change isn't reflected in any tracked
|
|
143
|
+
property.
|
|
144
|
+
- Chart.js receives `effectiveLocale`; generated summary values use the same locale. Cartesian y/y2
|
|
145
|
+
axes swap logical sides under RTL, and host `aria-label` is forwarded to the canvas and data-table
|
|
146
|
+
caption.
|
|
147
|
+
|
|
148
|
+
---
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/conversation.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-chat-composer`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/conversation/chat-composer/chat-composer.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraChatComposer`, also available unregistered from `@aceshooting/lyra-ui/components/conversation/chat-composer/chat-composer.class.js`
|
|
7
|
+
- **Family** `components/conversation/` — 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-chat-composer`
|
|
14
|
+
|
|
15
|
+
The message input for a chat/agent conversation surface: an auto-resizing `<textarea>` plus a
|
|
16
|
+
built-in send/stop button. Deliberately no label/hint/error chrome — a composite chat-input
|
|
17
|
+
control, not a labeled form field; wrap it in your own layout for that context. **Form-associated**
|
|
18
|
+
via the shared `FormAssociated` mixin (same shape as
|
|
19
|
+
`<lr-date-input>`) — `name: string = ''`, `value: string = ''`, `disabled: boolean = false`
|
|
20
|
+
(reflected), `required: boolean = false` (reflected) are all inherited, along with
|
|
21
|
+
`checkValidity()`/`reportValidity()`, so it participates in native `<form>` submission/validation/
|
|
22
|
+
reset like any other text control.
|
|
23
|
+
|
|
24
|
+
The inner textarea mirrors `required` through native `required`/`aria-required`. Its
|
|
25
|
+
`aria-invalid` remains false until the textarea has been blurred, then follows the host's
|
|
26
|
+
`ElementInternals` validity as `value` or `required` changes. A native validation attempt also
|
|
27
|
+
reveals the invalid state, and `form.reset()` clears the touched presentation.
|
|
28
|
+
|
|
29
|
+
**Properties (own):**
|
|
30
|
+
- `placeholder: string = ''`
|
|
31
|
+
- `minRows: number = 1` (attribute `min-rows`) — floored to `1` at render time
|
|
32
|
+
- `maxRows: number = 8` (attribute `max-rows`) — floored to at least `minRows`
|
|
33
|
+
- `status: ChatComposerStatus = 'idle'` (reflected) — `'idle' | 'sending' | 'streaming'`; drives the
|
|
34
|
+
built-in button's icon/label (send vs. stop) and whether Enter still submits
|
|
35
|
+
- `submitOnEnter: boolean = true` (reflected, attribute `submit-on-enter`) — when `false`, Enter
|
|
36
|
+
always inserts a newline instead of submitting
|
|
37
|
+
- `submitDisabled: boolean = false` (reflected, attribute `submit-disabled`) — consumer-controlled
|
|
38
|
+
validation gate; while idle, disables the built-in Send button and suppresses Enter/click
|
|
39
|
+
submission without disabling the textarea or a busy-state Stop action
|
|
40
|
+
- `stoppable: boolean = true` (reflected) — when false, busy states keep a disabled Send button
|
|
41
|
+
instead of exposing a Stop action
|
|
42
|
+
- `accessibleLabel: string | null = null` (attribute `aria-label`) — names the internal textarea;
|
|
43
|
+
wins over placeholder and the localized composer label
|
|
44
|
+
- `spellcheck: boolean = true` — forwarded to the internal `<textarea>`
|
|
45
|
+
- `autocapitalize: string = ''` — forwarded to the internal `<textarea>`; empty omits the attribute
|
|
46
|
+
- `autoCorrect: string = ''` (attribute `autocorrect`) — forwarded to the internal `<textarea>`
|
|
47
|
+
(Safari/WebKit-specific); empty omits the attribute. Named `autoCorrect`, not `autocorrect`, only
|
|
48
|
+
to dodge a `lib.dom.d.ts` collision with `HTMLElement`'s own `boolean`-typed `autocorrect` IDL
|
|
49
|
+
member; the host attribute is explicitly mapped to plain `autocorrect`.
|
|
50
|
+
- `wrap: 'hard' | 'soft' | 'off' = 'soft'`, `autocomplete: string = ''`, `inputMode: string = ''`
|
|
51
|
+
(attribute `inputmode`), and `enterKeyHint: string = ''` (attribute `enterkeyhint`) — forwarded to
|
|
52
|
+
the native textarea
|
|
53
|
+
- `selectionStart`, `selectionEnd`, and `selectionDirection` — native selection getters/setters
|
|
54
|
+
|
|
55
|
+
**Methods (own):** `focus(options?)`, `blur()`, `select()`, `setSelectionRange()`, and
|
|
56
|
+
`setRangeText()` forward to the textarea; `setRangeText()` synchronizes reactive/form value and
|
|
57
|
+
auto-sizing. `checkValidity()`/`reportValidity()` remain inherited.
|
|
58
|
+
|
|
59
|
+
**Events:**
|
|
60
|
+
- `lr-input` (`detail: { value }`) — fired on every user-driven edit of the textarea, not a
|
|
61
|
+
programmatic `.value` assignment
|
|
62
|
+
- `lr-submit` (`detail: { value }`) — fired by Enter (per `submit-on-enter`) or the built-in
|
|
63
|
+
button while `status="idle"` and `submitDisabled` is false. `detail.value` is always the exact, untrimmed current value;
|
|
64
|
+
trimming is left to the consumer. Submitting does **not** clear `value`
|
|
65
|
+
- `lr-stop` (no detail) — fired by the built-in button while `status` is `"sending"` or
|
|
66
|
+
`"streaming"`
|
|
67
|
+
- `blur` (no detail) — re-dispatched from the internal `<textarea>`'s own `blur`, bubbling and
|
|
68
|
+
composed unlike the native event
|
|
69
|
+
- `focus` (no detail) — re-dispatched from the internal `<textarea>`'s own `focus`, for the same
|
|
70
|
+
reason as `blur`
|
|
71
|
+
|
|
72
|
+
**Slots:** `leading` (content before the textarea, e.g. an attach-file trigger button), `chips` (an
|
|
73
|
+
attachment tray rendered above the input row), `trailing` (overrides the built-in send/stop button
|
|
74
|
+
entirely when it has assigned content)
|
|
75
|
+
|
|
76
|
+
**CSS parts:** `base`, `chips`, `row`, `leading`, `textarea`, `trailing`, `action-button`
|
|
77
|
+
|
|
78
|
+
**Themeable custom properties:** no component-specific custom properties; consumes shared tokens
|
|
79
|
+
`--lr-space-xs`, `--lr-space-s`, `--lr-color-border`, `--lr-color-surface`,
|
|
80
|
+
`--lr-color-brand`, `--lr-color-on-brand`, `--lr-color-text-quiet`, `--lr-radius`,
|
|
81
|
+
`--lr-icon-button-size`, `--lr-transition-fast`, `--lr-opacity-disabled`,
|
|
82
|
+
`--lr-focus-ring-width`, `--lr-focus-ring-color`, `--lr-focus-ring-offset`.
|
|
83
|
+
|
|
84
|
+
**Optional peer deps:** none.
|
|
85
|
+
|
|
86
|
+
```html
|
|
87
|
+
<lr-chat-composer
|
|
88
|
+
id="composer"
|
|
89
|
+
name="message"
|
|
90
|
+
placeholder="Message the assistant…"
|
|
91
|
+
min-rows="1"
|
|
92
|
+
max-rows="8"
|
|
93
|
+
></lr-chat-composer>
|
|
94
|
+
<script type="module">
|
|
95
|
+
const composer = document.getElementById('composer');
|
|
96
|
+
composer.addEventListener('lr-submit', (e) => {
|
|
97
|
+
sendMessage(e.detail.value);
|
|
98
|
+
composer.value = ''; // the composer never clears itself
|
|
99
|
+
composer.status = 'sending';
|
|
100
|
+
});
|
|
101
|
+
composer.addEventListener('lr-stop', () => stopGeneration());
|
|
102
|
+
</script>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Auto-resize (`resizeTextarea()`) reads the textarea's own *computed* line-height/padding/border at
|
|
106
|
+
call time rather than assuming a fixed px-per-row constant, so it stays correct under a consumer's
|
|
107
|
+
own font-size/line-height overrides; it grows between `min-rows` and `max-rows`, then switches to
|
|
108
|
+
internal scrolling (`overflow-y: auto`) past `max-rows`. A `ResizeObserver` on the textarea itself
|
|
109
|
+
also re-runs this fit (one animation frame later, to avoid a `ResizeObserver`-loop console error)
|
|
110
|
+
whenever the textarea's own *width* changes — a sidebar collapsing, a responsive breakpoint, a
|
|
111
|
+
window resize — even though `value`/`min-rows`/`max-rows` never did, since the same text now wraps
|
|
112
|
+
across a different number of lines. Enter-to-send only fires while
|
|
113
|
+
`submit-on-enter` is `true` (the default): plain Enter submits and prevents the default newline;
|
|
114
|
+
Shift+Enter always inserts a newline regardless of `submit-on-enter`; an IME composition step
|
|
115
|
+
(checked via `isComposing`, with `keyCode === 229` as a defense-in-depth fallback for browsers that
|
|
116
|
+
report `isComposing` inconsistently) is never treated as a submit trigger; and while `status` isn't
|
|
117
|
+
`"idle"`, Enter is left alone to insert a newline instead of resubmitting — the textarea itself is
|
|
118
|
+
**not** auto-disabled during `sending`/`streaming`, so a user can keep composing their next message
|
|
119
|
+
while a previous one is in flight. While idle, `submitDisabled` suppresses Enter/click submission
|
|
120
|
+
and disables only the built-in Send button; editing and busy-state Stop behavior remain available.
|
|
121
|
+
|
|
122
|
+
**Known gotchas:**
|
|
123
|
+
- `lr-submit` never clears `value` — the consumer must clear it once a submission is actually
|
|
124
|
+
accepted, so a failed send can leave the text in place for retry.
|
|
125
|
+
- While `status !== 'idle'`, only the built-in button's behavior changes (it emits `lr-stop`
|
|
126
|
+
instead of `lr-submit`); the textarea keeps accepting input and Enter keeps inserting newlines
|
|
127
|
+
rather than being blocked.
|
|
128
|
+
- Auto-resize requires a concrete, unitless `line-height` on the textarea (the component sets
|
|
129
|
+
`line-height: 1.5` in its own styles) — the UA default of `normal` has no single resolved px
|
|
130
|
+
figure to measure rows against, so overriding `line-height` to a keyword breaks row sizing.
|
|
131
|
+
- The `trailing` slot fully replaces the built-in action button rather than rendering alongside it —
|
|
132
|
+
once it has assigned content, the library's send/stop icon, its `aria-label`, and its
|
|
133
|
+
`status`-driven busy styling all disappear, so a custom trailing control needs its own send/stop
|
|
134
|
+
handling.
|
|
135
|
+
- `[part="chips"]`/`[part="leading"]` are hidden via a JS-tracked `[hidden]` attribute rather than a
|
|
136
|
+
CSS `:empty` selector, because each always contains a literal `<slot>` child regardless of
|
|
137
|
+
assigned content.
|
|
138
|
+
|
|
139
|
+
---
|