@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,123 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/overlays.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-toast-item`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/overlays/toast/toast-item.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraToastItem`, also available unregistered from `@aceshooting/lyra-ui/components/overlays/toast/toast-item.class.js`
|
|
7
|
+
- **Family** `components/overlays/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Documented with** `lr-toast` (same section below)
|
|
10
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## `lr-toast` / `lr-toast-item` / `toast()`
|
|
15
|
+
|
|
16
|
+
Stacking toast/notification region. Mirrors `<wa-toast>`/`<wa-toast-item>` under `lr-`.
|
|
17
|
+
|
|
18
|
+
### `lr-toast`
|
|
19
|
+
|
|
20
|
+
One per page recommended — the region.
|
|
21
|
+
|
|
22
|
+
**Properties:**
|
|
23
|
+
- `placement: ToastPlacement = 'top-end'` (reflected) — one of `'top-start'|'top-center'|'top-end'|
|
|
24
|
+
'bottom-start'|'bottom-center'|'bottom-end'`
|
|
25
|
+
|
|
26
|
+
**Methods:** `async create(message: string, options?: ToastCreateOptions): Promise<LyraToastItem>` —
|
|
27
|
+
`ToastCreateOptions = { variant?, duration?, size?, withIcon? }`
|
|
28
|
+
|
|
29
|
+
**Events:** none.
|
|
30
|
+
|
|
31
|
+
**Slots:** default (`<lr-toast-item>` children)
|
|
32
|
+
|
|
33
|
+
**CSS parts:** `stack`
|
|
34
|
+
|
|
35
|
+
**Themeable custom properties:** `--lr-toast-gap` (default `var(--lr-space-s)`),
|
|
36
|
+
`--lr-toast-width` (default `28rem`) — set directly on the `<lr-toast>` element.
|
|
37
|
+
|
|
38
|
+
**Optional peer deps:** none.
|
|
39
|
+
|
|
40
|
+
### `lr-toast-item`
|
|
41
|
+
|
|
42
|
+
A single notification.
|
|
43
|
+
|
|
44
|
+
**Properties:**
|
|
45
|
+
- `duration: number = 5000` (ms; `Infinity` or `<= 0` disables auto-dismiss)
|
|
46
|
+
- `size: 'xs'|'s'|'m'|'l'|'xl' = 'm'` (reflected — drives both `--lr-toast-padding` and the toast's own
|
|
47
|
+
font-size via `:host([size=...])`, from a compact `xs` up to a roomier `xl`)
|
|
48
|
+
- `variant: 'brand'|'success'|'warning'|'danger'|'neutral' = 'neutral'` (reflected)
|
|
49
|
+
- `withIcon: boolean = false` (attribute `with-icon`)
|
|
50
|
+
|
|
51
|
+
**Methods:** `async hide(): Promise<void>` — plays the hide animation, then removes itself from the
|
|
52
|
+
DOM.
|
|
53
|
+
|
|
54
|
+
**Events:** `lr-show`, `lr-after-show`, `lr-hide`, `lr-after-hide`
|
|
55
|
+
|
|
56
|
+
**Slots:** default (message), `icon`
|
|
57
|
+
|
|
58
|
+
**CSS parts:** `toast-item`, `accent`, `icon`, `content`, `close-button`
|
|
59
|
+
|
|
60
|
+
**Themeable custom properties:** `--lr-toast-accent-width` (4px),
|
|
61
|
+
`--lr-toast-show-duration`/`--lr-toast-hide-duration`
|
|
62
|
+
(`var(--lr-transition-base, 180ms ease-out)` — 180ms by default, matching the JS-side show/hide
|
|
63
|
+
animation timer, which is not itself reading this token), `--lr-toast-padding`
|
|
64
|
+
(`var(--lr-space-m)`), `--lr-toast-font-size` (`1rem`) — both are auto-swapped per `size`, from a
|
|
65
|
+
compact `xs` up to a roomier `xl` — `--lr-toast-accent-color` (defaults to `--lr-color-border`,
|
|
66
|
+
auto-swapped per `variant` to `--lr-color-brand/-success/-warning/-danger`).
|
|
67
|
+
|
|
68
|
+
**Optional peer deps:** none.
|
|
69
|
+
|
|
70
|
+
`role` is chosen automatically per `variant`: `"alert"` for `danger`/`warning`, `"status"`
|
|
71
|
+
otherwise — re-evaluated on every `variant` change, not just at first render, so reassigning
|
|
72
|
+
`variant` to `danger`/`warning` after creation is announced as an interruption instead of keeping
|
|
73
|
+
its original, now-stale role. Auto-dismiss timer **pauses** on `pointerenter`/`focusin`, **resumes**
|
|
74
|
+
on `pointerleave`/`focusout`, with real elapsed-time bookkeeping (WCAG 2.2.1 timing-adjustable) —
|
|
75
|
+
hover and focus are tracked as independent pause reasons, so releasing only one (e.g. the pointer
|
|
76
|
+
leaves while focus remains, or vice versa) keeps the timer paused until *neither* holds it anymore.
|
|
77
|
+
A `duration` change while the timer is actively counting down reschedules it immediately against
|
|
78
|
+
the new value instead of waiting for the next pause/resume cycle.
|
|
79
|
+
|
|
80
|
+
### `toast()`
|
|
81
|
+
|
|
82
|
+
From the `toaster` controller — the ergonomic entry point, no manual `<lr-toast>` mounting
|
|
83
|
+
needed:
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
import { toast } from '@aceshooting/lyra-ui';
|
|
87
|
+
|
|
88
|
+
toast('Saved');
|
|
89
|
+
toast({ message: 'Deleted', variant: 'danger', action: { label: 'Undo', onClick: (item) => {/*...*/} } });
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
`toast(input: ToastOptions | string): ToastHandle` where
|
|
93
|
+
`ToastOptions = ToastCreateOptions & { message: string; placement?: ToastPlacement; action?: { label: string; onClick: (item: LyraToastItem) => void } }`,
|
|
94
|
+
and `ToastHandle = { item: Promise<LyraToastItem>; dismiss: () => void }`. Lazily mounts (and
|
|
95
|
+
re-mounts if removed) **one singleton `<lr-toast>` region per distinct `placement`** on
|
|
96
|
+
`document.body` — a `toast()` call targeting one placement never relocates toasts already showing
|
|
97
|
+
at another, since `placement` is a per-call option rather than a single global region's setting.
|
|
98
|
+
|
|
99
|
+
```html
|
|
100
|
+
<script type="module">
|
|
101
|
+
import { toast } from '@aceshooting/lyra-ui';
|
|
102
|
+
document.getElementById('save-btn').addEventListener('click', () => toast('Saved!'));
|
|
103
|
+
</script>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Known gotchas:**
|
|
107
|
+
- possible nested live-region double-announcement: the stack region is
|
|
108
|
+
`role="status" aria-live="polite"` **and** each `lr-toast-item` independently self-assigns its
|
|
109
|
+
own `role` (`status`/`alert`) — nesting live regions can cause some screen readers to announce a
|
|
110
|
+
new toast twice. Plausible from the code, unverified against real AT.
|
|
111
|
+
- the close button's accessible name is derived from the toast's own message text (`"Close: <first
|
|
112
|
+
40 chars>…"`, falling back to bare `"Close"` only when the toast has no text content) rather than
|
|
113
|
+
a bare `"Close"` on every instance — useful when several toasts are stacked and a screen-reader or
|
|
114
|
+
switch-access user needs to tell their close buttons apart without activating one first.
|
|
115
|
+
- pause/resume-on-hover/focus (the component's main accessibility differentiator), including the
|
|
116
|
+
independent-hover-vs-focus pause reasons above, now has regression test coverage.
|
|
117
|
+
- `hide()` is idempotent (a second call while already hiding is a no-op) and `[part="close-button"]`
|
|
118
|
+
gets `aria-disabled="true"` once hiding starts, so a stray extra click/Enter during the hide
|
|
119
|
+
animation can't re-enter it.
|
|
120
|
+
- Prefer the `toast()` helper over manually creating `<lr-toast>`/`<lr-toast-item>` — it already
|
|
121
|
+
handles the singleton-region and remount-if-removed logic.
|
|
122
|
+
|
|
123
|
+
---
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/overlays.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-toast`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/overlays/toast/toast.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraToast`, also available unregistered from `@aceshooting/lyra-ui/components/overlays/toast/toast.class.js`
|
|
7
|
+
- **Family** `components/overlays/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Documented with** `lr-toast-item` (same section below)
|
|
10
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## `lr-toast` / `lr-toast-item` / `toast()`
|
|
15
|
+
|
|
16
|
+
Stacking toast/notification region. Mirrors `<wa-toast>`/`<wa-toast-item>` under `lr-`.
|
|
17
|
+
|
|
18
|
+
### `lr-toast`
|
|
19
|
+
|
|
20
|
+
One per page recommended — the region.
|
|
21
|
+
|
|
22
|
+
**Properties:**
|
|
23
|
+
- `placement: ToastPlacement = 'top-end'` (reflected) — one of `'top-start'|'top-center'|'top-end'|
|
|
24
|
+
'bottom-start'|'bottom-center'|'bottom-end'`
|
|
25
|
+
|
|
26
|
+
**Methods:** `async create(message: string, options?: ToastCreateOptions): Promise<LyraToastItem>` —
|
|
27
|
+
`ToastCreateOptions = { variant?, duration?, size?, withIcon? }`
|
|
28
|
+
|
|
29
|
+
**Events:** none.
|
|
30
|
+
|
|
31
|
+
**Slots:** default (`<lr-toast-item>` children)
|
|
32
|
+
|
|
33
|
+
**CSS parts:** `stack`
|
|
34
|
+
|
|
35
|
+
**Themeable custom properties:** `--lr-toast-gap` (default `var(--lr-space-s)`),
|
|
36
|
+
`--lr-toast-width` (default `28rem`) — set directly on the `<lr-toast>` element.
|
|
37
|
+
|
|
38
|
+
**Optional peer deps:** none.
|
|
39
|
+
|
|
40
|
+
### `lr-toast-item`
|
|
41
|
+
|
|
42
|
+
A single notification.
|
|
43
|
+
|
|
44
|
+
**Properties:**
|
|
45
|
+
- `duration: number = 5000` (ms; `Infinity` or `<= 0` disables auto-dismiss)
|
|
46
|
+
- `size: 'xs'|'s'|'m'|'l'|'xl' = 'm'` (reflected — drives both `--lr-toast-padding` and the toast's own
|
|
47
|
+
font-size via `:host([size=...])`, from a compact `xs` up to a roomier `xl`)
|
|
48
|
+
- `variant: 'brand'|'success'|'warning'|'danger'|'neutral' = 'neutral'` (reflected)
|
|
49
|
+
- `withIcon: boolean = false` (attribute `with-icon`)
|
|
50
|
+
|
|
51
|
+
**Methods:** `async hide(): Promise<void>` — plays the hide animation, then removes itself from the
|
|
52
|
+
DOM.
|
|
53
|
+
|
|
54
|
+
**Events:** `lr-show`, `lr-after-show`, `lr-hide`, `lr-after-hide`
|
|
55
|
+
|
|
56
|
+
**Slots:** default (message), `icon`
|
|
57
|
+
|
|
58
|
+
**CSS parts:** `toast-item`, `accent`, `icon`, `content`, `close-button`
|
|
59
|
+
|
|
60
|
+
**Themeable custom properties:** `--lr-toast-accent-width` (4px),
|
|
61
|
+
`--lr-toast-show-duration`/`--lr-toast-hide-duration`
|
|
62
|
+
(`var(--lr-transition-base, 180ms ease-out)` — 180ms by default, matching the JS-side show/hide
|
|
63
|
+
animation timer, which is not itself reading this token), `--lr-toast-padding`
|
|
64
|
+
(`var(--lr-space-m)`), `--lr-toast-font-size` (`1rem`) — both are auto-swapped per `size`, from a
|
|
65
|
+
compact `xs` up to a roomier `xl` — `--lr-toast-accent-color` (defaults to `--lr-color-border`,
|
|
66
|
+
auto-swapped per `variant` to `--lr-color-brand/-success/-warning/-danger`).
|
|
67
|
+
|
|
68
|
+
**Optional peer deps:** none.
|
|
69
|
+
|
|
70
|
+
`role` is chosen automatically per `variant`: `"alert"` for `danger`/`warning`, `"status"`
|
|
71
|
+
otherwise — re-evaluated on every `variant` change, not just at first render, so reassigning
|
|
72
|
+
`variant` to `danger`/`warning` after creation is announced as an interruption instead of keeping
|
|
73
|
+
its original, now-stale role. Auto-dismiss timer **pauses** on `pointerenter`/`focusin`, **resumes**
|
|
74
|
+
on `pointerleave`/`focusout`, with real elapsed-time bookkeeping (WCAG 2.2.1 timing-adjustable) —
|
|
75
|
+
hover and focus are tracked as independent pause reasons, so releasing only one (e.g. the pointer
|
|
76
|
+
leaves while focus remains, or vice versa) keeps the timer paused until *neither* holds it anymore.
|
|
77
|
+
A `duration` change while the timer is actively counting down reschedules it immediately against
|
|
78
|
+
the new value instead of waiting for the next pause/resume cycle.
|
|
79
|
+
|
|
80
|
+
### `toast()`
|
|
81
|
+
|
|
82
|
+
From the `toaster` controller — the ergonomic entry point, no manual `<lr-toast>` mounting
|
|
83
|
+
needed:
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
import { toast } from '@aceshooting/lyra-ui';
|
|
87
|
+
|
|
88
|
+
toast('Saved');
|
|
89
|
+
toast({ message: 'Deleted', variant: 'danger', action: { label: 'Undo', onClick: (item) => {/*...*/} } });
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
`toast(input: ToastOptions | string): ToastHandle` where
|
|
93
|
+
`ToastOptions = ToastCreateOptions & { message: string; placement?: ToastPlacement; action?: { label: string; onClick: (item: LyraToastItem) => void } }`,
|
|
94
|
+
and `ToastHandle = { item: Promise<LyraToastItem>; dismiss: () => void }`. Lazily mounts (and
|
|
95
|
+
re-mounts if removed) **one singleton `<lr-toast>` region per distinct `placement`** on
|
|
96
|
+
`document.body` — a `toast()` call targeting one placement never relocates toasts already showing
|
|
97
|
+
at another, since `placement` is a per-call option rather than a single global region's setting.
|
|
98
|
+
|
|
99
|
+
```html
|
|
100
|
+
<script type="module">
|
|
101
|
+
import { toast } from '@aceshooting/lyra-ui';
|
|
102
|
+
document.getElementById('save-btn').addEventListener('click', () => toast('Saved!'));
|
|
103
|
+
</script>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Known gotchas:**
|
|
107
|
+
- possible nested live-region double-announcement: the stack region is
|
|
108
|
+
`role="status" aria-live="polite"` **and** each `lr-toast-item` independently self-assigns its
|
|
109
|
+
own `role` (`status`/`alert`) — nesting live regions can cause some screen readers to announce a
|
|
110
|
+
new toast twice. Plausible from the code, unverified against real AT.
|
|
111
|
+
- the close button's accessible name is derived from the toast's own message text (`"Close: <first
|
|
112
|
+
40 chars>…"`, falling back to bare `"Close"` only when the toast has no text content) rather than
|
|
113
|
+
a bare `"Close"` on every instance — useful when several toasts are stacked and a screen-reader or
|
|
114
|
+
switch-access user needs to tell their close buttons apart without activating one first.
|
|
115
|
+
- pause/resume-on-hover/focus (the component's main accessibility differentiator), including the
|
|
116
|
+
independent-hover-vs-focus pause reasons above, now has regression test coverage.
|
|
117
|
+
- `hide()` is idempotent (a second call while already hiding is a no-op) and `[part="close-button"]`
|
|
118
|
+
gets `aria-disabled="true"` once hiding starts, so a stray extra click/Enter during the hide
|
|
119
|
+
animation can't re-enter it.
|
|
120
|
+
- Prefer the `toast()` helper over manually creating `<lr-toast>`/`<lr-toast-item>` — it already
|
|
121
|
+
handles the singleton-region and remount-if-removed logic.
|
|
122
|
+
|
|
123
|
+
---
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-token-input`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/forms/token-input/token-input.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraTokenInput`, also available unregistered from `@aceshooting/lyra-ui/components/forms/token-input/token-input.class.js`
|
|
7
|
+
- **Family** `components/forms/` — 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-token-input`
|
|
14
|
+
|
|
15
|
+
An editable form-associated token list. Enter, comma, or blur commits a token; Backspace removes
|
|
16
|
+
the last token. `value` is a `string[]` and repeated values are submitted under `name`.
|
|
17
|
+
|
|
18
|
+
**Properties:** `value`, `label`, `hint`, `errorText` (`error-text`), `placeholder`, `name`,
|
|
19
|
+
`required`, `disabled`, `accessibleLabel` (attribute `aria-label` — forwarded to the internal text
|
|
20
|
+
input), `allowDuplicates` (`allow-duplicates`, default `false`), and `delimiter` (default `','`).
|
|
21
|
+
**Slots:** `label`, `hint`, `error`.
|
|
22
|
+
**Events:** `input`, `change`, `lr-add` (`detail: { value }`), and `lr-remove`
|
|
23
|
+
(`detail: { value, index }`).
|
|
24
|
+
**CSS parts:** `form-control`, `form-control-label`, `input-wrapper`, `token`, `remove` (the
|
|
25
|
+
per-token remove button, floored at the shared `--lr-icon-button-size` tap size around a compact
|
|
26
|
+
glyph), `input`, `hint`, `error`. `focus()` and `blur()` forward to the internal text input.
|
|
27
|
+
|
|
28
|
+
**Themeable custom properties:** `--lr-token-input-input-inline-size` (the editable input's
|
|
29
|
+
`flex-basis` inside the wrapped token row; undeclared by default, falling back inline to
|
|
30
|
+
`--lr-size-8rem`) and `--lr-token-input-min-input-inline-size` (default `--lr-size-4rem`, the floor
|
|
31
|
+
that input keeps once tokens have consumed the row).
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/agent-tools.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-tool-approval-dialog`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/agent-tools/tool-approval-dialog/tool-approval-dialog.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraToolApprovalDialog`, also available unregistered from `@aceshooting/lyra-ui/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js`
|
|
7
|
+
- **Family** `components/agent-tools/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-tool-approval-dialog`
|
|
14
|
+
|
|
15
|
+
A human-in-the-loop gate: presents one proposed tool/function call (`toolName` + `args`) and blocks an
|
|
16
|
+
agent from executing it until a person explicitly approves or denies it, with an optional inline
|
|
17
|
+
"edit the arguments before approving" step. First-party invention (no Web Awesome equivalent). It
|
|
18
|
+
keeps its own panel template rather than nesting `<lr-dialog>`, so it has no dependency on the
|
|
19
|
+
general-purpose dialog component, while its modal behavior participates in the shared overlay stack.
|
|
20
|
+
|
|
21
|
+
Approve/Deny/Edit are built-in chrome, not a `footer` slot a consumer must assemble — there is exactly
|
|
22
|
+
one correct action set for "approve this call". The `footer` slot is offered only for *supplementary*
|
|
23
|
+
content alongside those buttons (e.g. a "remember this choice for this tool" checkbox); its content
|
|
24
|
+
renders at the start of the action row, before Deny/Edit/Approve.
|
|
25
|
+
|
|
26
|
+
**Exported types:**
|
|
27
|
+
- `ToolApprovalDialogCloseReason = 'escape' | 'backdrop' | 'approve' | 'deny' | 'api' | string` — the
|
|
28
|
+
`lr-close` detail; `'escape'`/`'backdrop'`/`'approve'`/`'deny'` come from the dialog's own built-in
|
|
29
|
+
dismiss triggers, any other string is whatever a caller passes to `close()` directly.
|
|
30
|
+
|
|
31
|
+
**Properties:**
|
|
32
|
+
- `open: boolean = false` (reflected) — set this (or call `close()`) to dismiss; there is no separate
|
|
33
|
+
`show()`/`hide()` pair
|
|
34
|
+
- `toolName: string = ''` (attribute `tool-name`) — the proposed call's name, e.g. `web_search`;
|
|
35
|
+
drives the heading and the dialog's accessible name
|
|
36
|
+
- `args: unknown = {}` (attribute: false) — the proposed call's arguments, rendered via
|
|
37
|
+
`<lr-json-viewer>` read-only, or stringified into a `<textarea>` while editing
|
|
38
|
+
- `editable: boolean = true` (reflected) — whether an "Edit" affordance is offered at all (assign
|
|
39
|
+
`false` via a PROPERTY binding, e.g. `.editable=${false}` — a `?editable=${false}`
|
|
40
|
+
boolean-attribute binding cannot override a true default). When `false`, `args` is always shown
|
|
41
|
+
read-only and can never be changed before approval.
|
|
42
|
+
- `spellcheck: boolean = false`, `autocapitalize: string = 'off'`,
|
|
43
|
+
`autoCorrect: string = 'off'` (attribute `autocorrect`), `autocomplete: string = 'off'`,
|
|
44
|
+
`wrap: 'hard'|'soft'|'off' = 'soft'`, `inputMode: string = ''` (attribute `inputmode`),
|
|
45
|
+
and `enterKeyHint: string = ''` (attribute `enterkeyhint`) — forwarded to the raw-JSON
|
|
46
|
+
textarea; the defaults keep browser editing assistance from changing JSON text
|
|
47
|
+
- `spellcheck: boolean = false`, `autocapitalize: string = 'off'`, `autoCorrect: string = 'off'`
|
|
48
|
+
(`autocorrect`), `autocomplete: string = 'off'`, `wrap: 'hard'|'soft'|'off' = 'soft'`,
|
|
49
|
+
`inputMode: string = ''` (`inputmode`), and `enterKeyHint: string = ''` (`enterkeyhint`) —
|
|
50
|
+
forwarded to the raw-JSON `<textarea>` while editing.
|
|
51
|
+
|
|
52
|
+
**Methods:** `close(reason: ToolApprovalDialogCloseReason = 'api'): void` — closes the dialog, emits
|
|
53
|
+
`lr-close` with `reason`, and returns focus to whatever had it before the dialog opened; a no-op if
|
|
54
|
+
already closed.
|
|
55
|
+
|
|
56
|
+
**Events:** `lr-approve` (`detail: { args: unknown }` — the current, already-parsed arguments: the
|
|
57
|
+
original `args` prop, or the user's edited-and-validated version if an edit was in progress; always
|
|
58
|
+
followed by `lr-close` with reason `'approve'`), `lr-deny` (no detail — `this.emit('lr-deny')` is
|
|
59
|
+
called with no second argument, so per the DOM spec's `CustomEventInit` default, `event.detail` is
|
|
60
|
+
`null`, not `undefined`; always followed by `lr-close` with reason `'deny'`), `lr-close`
|
|
61
|
+
(`detail: ToolApprovalDialogCloseReason` — fired exactly once per dismissal, via Escape, a backdrop
|
|
62
|
+
click, the Approve/Deny buttons, or a `close()` call)
|
|
63
|
+
|
|
64
|
+
**Slots:** `footer` — optional supplementary content (e.g. a "remember this choice" checkbox),
|
|
65
|
+
rendered before the built-in Deny/Edit/Approve buttons.
|
|
66
|
+
|
|
67
|
+
**CSS parts:** `backdrop`, `panel`, `header`, `tool-name`, `body`, `args-view`, `args-editor`, `error`,
|
|
68
|
+
`footer`, `deny-button`, `edit-button`, `approve-button`
|
|
69
|
+
|
|
70
|
+
**Themeable custom properties:** `--lr-tool-approval-dialog-overlay-color` (default
|
|
71
|
+
`rgb(0 0 0 / 0.5)` — the backdrop scrim color; component-specific since no shared overlay token
|
|
72
|
+
exists), `--lr-tool-approval-dialog-mono-font` (default `ui-monospace, SFMono-Regular, Menlo,
|
|
73
|
+
Consolas, monospace` — used by both `tool-name` and the raw-JSON editor), plus shared tokens
|
|
74
|
+
`--lr-space-xs/-s/-m/-l`, `--lr-color-surface`, `--lr-color-border`, `--lr-radius`,
|
|
75
|
+
`--lr-shadow`, `--lr-color-brand`, `--lr-color-on-brand`, `--lr-color-danger`,
|
|
76
|
+
`--lr-color-text`, `--lr-focus-ring-width/-color/-offset`, `--lr-opacity-disabled`.
|
|
77
|
+
|
|
78
|
+
**Optional peer deps:** none — internally renders `<lr-json-viewer>`, a bundled dependency of this
|
|
79
|
+
package, not an optional peer.
|
|
80
|
+
|
|
81
|
+
```html
|
|
82
|
+
<lr-tool-approval-dialog
|
|
83
|
+
tool-name="send_email"
|
|
84
|
+
.args=${{ to: 'ops@example.com', subject: 'Deploy finished' }}
|
|
85
|
+
@lr-approve=${(e) => runTool(e.detail.args)}
|
|
86
|
+
@lr-deny=${() => console.log('denied')}
|
|
87
|
+
@lr-close=${(e) => console.log('closed:', e.detail)}
|
|
88
|
+
></lr-tool-approval-dialog>
|
|
89
|
+
<script type="module">
|
|
90
|
+
document.querySelector('lr-tool-approval-dialog').open = true;
|
|
91
|
+
</script>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
While `editable`, an Edit button swaps the read-only `<lr-json-viewer>` for a plain `<textarea>`
|
|
95
|
+
pre-filled with `JSON.stringify(args, null, 2)`. Every keystroke re-validates with `JSON.parse` — the
|
|
96
|
+
Approve button is `disabled` for as long as the current textarea content fails to parse, so a
|
|
97
|
+
malformed edit can never be silently approved as either the broken text or a stale copy of the
|
|
98
|
+
original args. The same button relabels to "Cancel" while editing; clicking it discards the draft
|
|
99
|
+
entirely and returns to the read-only view of the *original* `args` — there is no separate "save"
|
|
100
|
+
step independent of Approve itself. Both `editing` and any in-progress draft reset back to the
|
|
101
|
+
read-only view every time the dialog transitions from closed to open, so a reused instance never
|
|
102
|
+
leaks one proposal's half-finished edit into the next.
|
|
103
|
+
|
|
104
|
+
Initial focus deliberately does *not* land on Approve: approving a tool call is a consequential,
|
|
105
|
+
potentially irreversible action, so a user who opens the dialog and reflexively presses Enter/Space
|
|
106
|
+
before reading anything should deny, not approve. Deny gets the initial focus instead — the same
|
|
107
|
+
"focus the safe action" convention a native destructive-confirmation dialog typically follows for its
|
|
108
|
+
own Cancel button. Tab/Shift+Tab are bounded to the panel's own focusable content, and
|
|
109
|
+
`<lr-json-viewer>`'s internal controls plus slotted custom-element controls are found through the
|
|
110
|
+
shared composed-tree focus traversal used by the other modal families.
|
|
111
|
+
|
|
112
|
+
**Known gotchas:**
|
|
113
|
+
- `editable` defaults to `true` and reflects — see the property note above about overriding it with a
|
|
114
|
+
property binding, not a boolean-attribute binding.
|
|
115
|
+
- `lr-deny` has no detail payload: its `event.detail` is `null`, not `undefined`.
|
|
116
|
+
- a consumer flipping `editable` off while an edit is already in progress automatically exits edit mode
|
|
117
|
+
and discards the draft, so an unreachable "Cancel" affordance is never left stranded on screen.
|
|
118
|
+
- reconnecting the element while still `open` (e.g. a drag-and-drop reparent that keeps the same
|
|
119
|
+
instance) resumes its shared overlay registration and re-acquires the ref-counted scroll lock
|
|
120
|
+
dropped in `disconnectedCallback` — `willUpdate()` alone wouldn't otherwise notice, since
|
|
121
|
+
disconnect/reconnect fire back-to-back with no update in between.
|
|
122
|
+
- the Approve button's native `disabled` attribute (while the draft is invalid JSON) automatically
|
|
123
|
+
excludes it from the shared Tab trap, whose focusable-set computation skips disabled controls.
|
|
124
|
+
- the raw-JSON `args-editor` textarea always hardcodes `spellcheck="false"`, `autocapitalize="off"`,
|
|
125
|
+
and `autocorrect="off"` — not exposed as configurable properties, unlike `<lr-textarea>`'s/
|
|
126
|
+
`<lr-chat-composer>`'s passthrough props — since its content is always JSON, never prose; without
|
|
127
|
+
this a mobile browser (notably iOS Safari, which defaults textarea `autocapitalize` to
|
|
128
|
+
`'sentences'`) could auto-capitalize or auto-correct key/value text as the user edits, silently
|
|
129
|
+
corrupting the JSON.
|
|
130
|
+
|
|
131
|
+
---
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/agent-tools.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-tool-call-chip`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/agent-tools/tool-call-chip/tool-call-chip.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraToolCallChip`, also available unregistered from `@aceshooting/lyra-ui/components/agent-tools/tool-call-chip/tool-call-chip.class.js`
|
|
7
|
+
- **Family** `components/agent-tools/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-tool-call-chip`
|
|
14
|
+
|
|
15
|
+
A compact inline pill representing one tool/function call an agent made mid-conversation, e.g.
|
|
16
|
+
`web_search: Searching web…` with a `running` spinner. First-party invention (no Web Awesome
|
|
17
|
+
equivalent). It owns no detail surface of its own — activating it (click or Enter/Space while
|
|
18
|
+
focused) fires `lr-tool-call-chip-select`; a consumer wires that to opening a
|
|
19
|
+
`<lr-tool-result-dialog>` (or anything else) at the call site, keeping the chip reusable wherever
|
|
20
|
+
a compact call summary is useful, with or without a detail surface behind it.
|
|
21
|
+
|
|
22
|
+
**Properties:**
|
|
23
|
+
- `name: string = ''` — the tool/function name, e.g. `web_search`
|
|
24
|
+
- `category: string = ''` — optional grouping label, e.g. `research`
|
|
25
|
+
- `status: 'pending'|'running'|'success'|'error'|'denied' = 'pending'` (reflected) — drives the
|
|
26
|
+
glyph, accent color, and `status-text`; same status vocabulary as `<lr-tool-result-dialog>` so a
|
|
27
|
+
call's chip and its detail dialog always agree; unknown runtime values render the pending icon,
|
|
28
|
+
text, and accessible label instead of failing the update
|
|
29
|
+
- `summary: string = ''` — short human-readable status text, e.g. `Searching web…`
|
|
30
|
+
- `durationMs?: number` (attribute `duration-ms`) — how long the call took, in milliseconds; the
|
|
31
|
+
`duration` part is omitted entirely when unset
|
|
32
|
+
- `icon: string = ''` — literal icon hint (e.g. an emoji) rendered when the `icon` slot is empty;
|
|
33
|
+
ignored once anything is assigned to `slot="icon"`
|
|
34
|
+
- `callId: string = ''` (attribute `call-id`) — unique identifier for this invocation, echoed back
|
|
35
|
+
in `lr-tool-call-chip-select`'s detail so a listener can correlate the click with the call it fired for
|
|
36
|
+
|
|
37
|
+
**Events:** `lr-tool-call-chip-select` (`detail: { name: string; callId: string }`) — fired on
|
|
38
|
+
click or Enter/Space activation of the pill. The deprecated `lr-tool-chip-select` alias is fired
|
|
39
|
+
alongside it for one minor compatibility cycle.
|
|
40
|
+
|
|
41
|
+
**Slots:** default (rich tooltip/detail content — e.g. the tool's raw arguments or a short preview —
|
|
42
|
+
shown in a floating tooltip on hover/focus; nothing renders at all, no hover affordance, when this
|
|
43
|
+
slot is empty), `icon` (overrides the built-in per-status glyph entirely via native slot-fallback
|
|
44
|
+
content — assigned content wins; otherwise the `icon` prop is rendered as a literal hint; otherwise
|
|
45
|
+
the built-in glyph for the current `status` is used)
|
|
46
|
+
|
|
47
|
+
**CSS parts:** `base` (the clickable `<button>`), `icon`, `label` (wrapper around `category`, `name`,
|
|
48
|
+
`summary`), `category`, `name`, `summary`, `meta` (wrapper around `status-text` and `duration`),
|
|
49
|
+
`status-text`, `duration`, `tooltip` (the floating detail popup, only meaningful while open)
|
|
50
|
+
|
|
51
|
+
**Themeable custom properties:** `--lr-tool-call-chip-spin` (default `1s linear` — running-icon
|
|
52
|
+
animation duration/timing) and `--lr-transition-ambient` (default `1.8s ease-in-out` — pending-icon
|
|
53
|
+
pulse duration/timing). `--lr-tool-call-chip-accent`, `--lr-tool-call-chip-bg`, and
|
|
54
|
+
`--lr-tool-call-chip-border` are internal per-status variables reassigned by this component's own
|
|
55
|
+
`:host([status="…"])` rules (e.g. `pending` → `--lr-color-text-quiet`/`--lr-color-surface`/
|
|
56
|
+
`--lr-color-border`; `running` → brand; `success` → success; `error` → danger; `denied` → warning),
|
|
57
|
+
so a page-level override loses to them for every non-default status — they are not a practical
|
|
58
|
+
public theming hook. Shared tokens
|
|
59
|
+
referenced: `--lr-color-text-quiet`, `--lr-color-surface`, `--lr-color-border`,
|
|
60
|
+
`--lr-color-brand`/`-brand-quiet`, `--lr-color-success`/`-success-quiet`,
|
|
61
|
+
`--lr-color-danger`/`-danger-quiet`, `--lr-color-warning`/`-warning-quiet`, `--lr-color-text`,
|
|
62
|
+
`--lr-space-xs/-s/-m`, `--lr-radius`, `--lr-shadow`, `--lr-focus-ring-*`,
|
|
63
|
+
`--lr-transition-fast`.
|
|
64
|
+
|
|
65
|
+
**Optional peer deps:** none.
|
|
66
|
+
|
|
67
|
+
```html
|
|
68
|
+
<lr-tool-call-chip
|
|
69
|
+
name="web_search"
|
|
70
|
+
category="research"
|
|
71
|
+
status="running"
|
|
72
|
+
summary="Searching web…"
|
|
73
|
+
duration-ms="820"
|
|
74
|
+
call-id="call_123"
|
|
75
|
+
@lr-tool-call-chip-select=${(e) => openDetail(e.detail.callId)}
|
|
76
|
+
>
|
|
77
|
+
<pre slot="icon" style="display:none"></pre>
|
|
78
|
+
<code>{"query": "lyra ui components"}</code>
|
|
79
|
+
</lr-tool-call-chip>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
The default slot's tooltip is positioned with the same `internal/positioner.js` `place()` helper
|
|
83
|
+
`<lr-combobox>` uses for its listbox (`placement: 'top-start'`), and appears/disappears instantly
|
|
84
|
+
on hover/focus/blur/mouseleave with no fade transition and no "pointer moved into the tooltip"
|
|
85
|
+
tracking — it's documented as read-only preview content, not an interactive surface meant to retain
|
|
86
|
+
focus of its own. `denied` gets its own warning-toned glyph and color (a policy rejection, not a
|
|
87
|
+
runtime failure) distinct from `error`'s danger tone, matching `<lr-tool-result-dialog>`'s
|
|
88
|
+
identical status vocabulary so a call reads the same way in both places. Duration formatting is
|
|
89
|
+
sub-1000ms `"820ms"`, else trimmed to at most one decimal of seconds (`"1.5s"`, `"2s"`).
|
|
90
|
+
|
|
91
|
+
**Known gotchas:**
|
|
92
|
+
- the default slot is checked for emptiness by scanning `Array.from(this.children)` for elements
|
|
93
|
+
once on first update, then kept in sync via `slotchange` — only *element* children count (a bare
|
|
94
|
+
text node assigned to the default slot won't trigger the tooltip)
|
|
95
|
+
- `aria-label` on the host element (if you set one) wins over the component's own generated
|
|
96
|
+
accessible label (`"name — summary — Status — duration"`); otherwise that generated string is
|
|
97
|
+
what's announced
|
|
98
|
+
- Escape only dismisses the tooltip when it's open; it does not fire any event or otherwise affect
|
|
99
|
+
`status`/`open` state, since the chip has no "open" state of its own beyond the tooltip
|
|
100
|
+
|
|
101
|
+
---
|