@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,111 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-textarea`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/forms/textarea/textarea.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraTextarea`, also available unregistered from `@aceshooting/lyra-ui/components/forms/textarea/textarea.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-textarea
|
|
14
|
+
|
|
15
|
+
A multiline plain-text input primitive, form-associated (participates in native `<form>`
|
|
16
|
+
submission/validation/reset via `name`/`value`/`disabled`/`required`/`checkValidity()`/
|
|
17
|
+
`reportValidity()`). Ships an opt-in `label`/`hint`/`errorText` form-control chrome mirroring
|
|
18
|
+
`lr-select` -- left unset, none of it renders.
|
|
19
|
+
|
|
20
|
+
```html
|
|
21
|
+
<lr-textarea placeholder="Notes" rows="4"></lr-textarea>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Properties
|
|
25
|
+
|
|
26
|
+
| Property | Attribute | Type | Default | Description |
|
|
27
|
+
| --- | --- | --- | --- | --- |
|
|
28
|
+
| `value` | `value` | `string` | `''` | The current text value. |
|
|
29
|
+
| `rows` | `rows` | `number` | `3` | Visible text rows. |
|
|
30
|
+
| `resize` | `resize` | `'none' \| 'vertical' \| 'both' \| 'auto'` | `'vertical'` | Native CSS `resize` behavior, plus `'auto'` (`ResizeObserver`-driven grow-to-content, no manual handle). |
|
|
31
|
+
| `placeholder` | `placeholder` | `string` | `''` | Placeholder text. |
|
|
32
|
+
| `label` | `label` | `string` | `''` | Visible label text. Unset: no label chrome renders. |
|
|
33
|
+
| `hint` | `hint` | `string` | `''` | Hint text below the field. |
|
|
34
|
+
| `errorText` | `error-text` | `string` | `''` | Error text below the field (overridden by slotted `error` content). |
|
|
35
|
+
| `accessibleLabel` | `aria-label` | `string \| null` | `null` | Accessible-name override forwarded to the internal `<textarea>`; wins over `label`, `placeholder`, and the localized default. |
|
|
36
|
+
| `spellcheck` | `spellcheck` | `boolean` | `true` | Forwarded to the native `<textarea>`. |
|
|
37
|
+
| `autocapitalize` | `autocapitalize` | `string` | `''` | Forwarded to the native `<textarea>`; empty omits the attribute. |
|
|
38
|
+
| `autoCorrect` | `autocorrect` | `string` | `''` | Forwarded to the native `<textarea>` (Safari/WebKit-specific); empty omits the attribute. |
|
|
39
|
+
| `wrap` | `wrap` | `'hard' \| 'soft' \| 'off'` | `'soft'` | Native line-wrapping/submission behavior. |
|
|
40
|
+
| `autocomplete` | `autocomplete` | `string` | `''` | Forwarded to the native `<textarea>`; empty omits the attribute. |
|
|
41
|
+
| `inputMode` | `inputmode` | `string` | `''` | Virtual-keyboard input hint forwarded to the native `<textarea>`. |
|
|
42
|
+
| `enterKeyHint` | `enterkeyhint` | `string` | `''` | Virtual-keyboard Enter-key hint forwarded to the native `<textarea>`. |
|
|
43
|
+
| `name` | `name` | `string` | `''` | Form field name. |
|
|
44
|
+
| `disabled` | `disabled` | `boolean` | `false` | Disables the control. |
|
|
45
|
+
| `required` | `required` | `boolean` | `false` | Participates in native constraint validation. |
|
|
46
|
+
|
|
47
|
+
The visible label, hint, and error live in the same shadow tree as the native control, so their
|
|
48
|
+
generated ids safely drive the native `<label>`/`aria-describedby` relationships. Name precedence
|
|
49
|
+
is `accessibleLabel`/host `aria-label`, visible `label`, `placeholder`, then the localized
|
|
50
|
+
`textareaLabel` message. External `aria-labelledby`/`aria-describedby` idrefs are not copied across
|
|
51
|
+
the shadow boundary.
|
|
52
|
+
|
|
53
|
+
### Getters and selection properties
|
|
54
|
+
|
|
55
|
+
- `input: HTMLTextAreaElement | null` — the internal native control.
|
|
56
|
+
- `selectionStart: number | null`, `selectionEnd: number | null`, and
|
|
57
|
+
`selectionDirection: 'forward'|'backward'|'none'|null` — readable and writable passthroughs to
|
|
58
|
+
the native selection state.
|
|
59
|
+
- The shared form-associated getters `form`, `labels`, `validity`, `validationMessage`,
|
|
60
|
+
`willValidate`, and `effectiveDisabled` are also available.
|
|
61
|
+
|
|
62
|
+
### Methods
|
|
63
|
+
|
|
64
|
+
| Method | Description |
|
|
65
|
+
| --- | --- |
|
|
66
|
+
| `focus(options?)` / `blur()` | Focus or blur the internal native control. |
|
|
67
|
+
| `select()` | Select all text. |
|
|
68
|
+
| `setSelectionRange(start, end, direction?)` | Set the native selection range and optional direction. |
|
|
69
|
+
| `setRangeText(replacement, start?, end?, selectMode?)` | Apply a native range edit, then synchronize the component `value`, form value, validity, and auto-grown size without emitting a user event. |
|
|
70
|
+
| `setFormValue(value)` | Set the reactive and submitted value synchronously. |
|
|
71
|
+
| `checkValidity()` / `reportValidity()` | Run native constraint validation through `ElementInternals`. |
|
|
72
|
+
|
|
73
|
+
### Events
|
|
74
|
+
|
|
75
|
+
| Event | Detail | Description |
|
|
76
|
+
| --- | --- | --- |
|
|
77
|
+
| `lr-input` | `{ value: string }` | Fired on every user-driven edit. |
|
|
78
|
+
| `lr-change` | `{ value: string }` | Fired on native `change` timing (blur after a committed edit). |
|
|
79
|
+
| `blur` | none | Re-dispatched from the internal native `<textarea>`'s own `blur` -- bubbling and composed, unlike the native event. |
|
|
80
|
+
| `focus` | none | Re-dispatched from the internal native `<textarea>`'s own `focus`, for the same reason as `blur`. |
|
|
81
|
+
|
|
82
|
+
Programmatic property assignments, selection changes, `setRangeText()`, form reset, and form-state
|
|
83
|
+
restoration are silent. User edits update `value`, submitted form data, and required validity before
|
|
84
|
+
the corresponding `lr-input`/`lr-change` event is dispatched. `form.reset()` restores the
|
|
85
|
+
original declarative `value`, matching native `defaultValue` behavior.
|
|
86
|
+
|
|
87
|
+
### Slots
|
|
88
|
+
|
|
89
|
+
| Slot | Description |
|
|
90
|
+
| --- | --- |
|
|
91
|
+
| `label` | Custom label content. |
|
|
92
|
+
| `hint` | Custom hint content. |
|
|
93
|
+
| `error` | Custom error content. |
|
|
94
|
+
|
|
95
|
+
### CSS Parts
|
|
96
|
+
|
|
97
|
+
| Part | Description |
|
|
98
|
+
| --- | --- |
|
|
99
|
+
| `form-control` | The outer wrapper around label, textarea, error and hint. |
|
|
100
|
+
| `form-control-label` | The `<label>` element. |
|
|
101
|
+
| `textarea` | The native `<textarea>` element. |
|
|
102
|
+
| `hint` | The hint message. |
|
|
103
|
+
| `error` | The error message. |
|
|
104
|
+
|
|
105
|
+
### Themeable custom properties
|
|
106
|
+
|
|
107
|
+
- `--lr-textarea-max-block-size` (default `none`) — bounds `resize="auto"`; content beyond the
|
|
108
|
+
bound scrolls inside the native textarea. Auto-resize remeasures after user edits, programmatic
|
|
109
|
+
`value`/`rows` changes, range edits, and container-width changes.
|
|
110
|
+
|
|
111
|
+
---
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/agent-tools.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-thinking-panel`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/agent-tools/thinking-panel/thinking-panel.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraThinkingPanel`, also available unregistered from `@aceshooting/lyra-ui/components/agent-tools/thinking-panel/thinking-panel.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-thinking-panel`
|
|
14
|
+
|
|
15
|
+
A collapsible panel for an AI agent's intermediate reasoning/"thinking" transcript, kept visually
|
|
16
|
+
and semantically distinct from its final response. First-party invention (no Web Awesome
|
|
17
|
+
equivalent). Same collapsible header-button-plus-region shape as `<lr-source-list>`; the default
|
|
18
|
+
slot is entirely free-form (a consumer-composed `<lr-streaming-text>`, `<lr-markdown>`, or
|
|
19
|
+
plain text) — this component has no dependency on either.
|
|
20
|
+
|
|
21
|
+
**Properties:**
|
|
22
|
+
- `label: string = 'Thinking'`
|
|
23
|
+
- `expanded: boolean = false` (reflected) — starts collapsed, matching `<lr-source-list>`'s
|
|
24
|
+
default.
|
|
25
|
+
- `mode: 'live' | 'post-hoc' = 'live'` (reflected) — `'live'` while reasoning is actively streaming
|
|
26
|
+
in; `'post-hoc'` once it's complete and being reviewed after the fact. Drives two concrete
|
|
27
|
+
behavior differences, see prose below.
|
|
28
|
+
- `durationMs?: number` (attribute `duration-ms`) — how long the reasoning took. Omitted entirely
|
|
29
|
+
(nothing rendered in `'post-hoc'`, a pulsing placeholder in `'live'`) while unset.
|
|
30
|
+
|
|
31
|
+
**Methods:** `scrollToBottom(): void` — scrolls `[part="body"]` to its current bottom immediately
|
|
32
|
+
(no smooth-scroll animation). Safe to call directly, e.g. from a host that wants to force a
|
|
33
|
+
jump-to-latest action of its own.
|
|
34
|
+
|
|
35
|
+
**Events:** `lr-toggle` (`detail: { expanded: boolean }`, same event name and shape as
|
|
36
|
+
`<lr-source-list>`'s own `lr-toggle`) — fired whenever the header button is activated.
|
|
37
|
+
|
|
38
|
+
**Slots:** default (the reasoning/thinking content; entirely free-form)
|
|
39
|
+
|
|
40
|
+
**CSS parts:** `base`, `header`, `label`, `duration`, `toggle`, `body`
|
|
41
|
+
|
|
42
|
+
**Themeable custom properties:** `--lr-thinking-panel-max-block-size` (default `16rem` —
|
|
43
|
+
consumer-overridable cap on how tall `[part="body"]` grows before it scrolls internally; not
|
|
44
|
+
exposed as a component property since it's a pure layout knob, not something a template branches
|
|
45
|
+
on), plus shared `--lr-color-border`/`-surface`/`-text`/`-text-quiet`/`-brand`/`-brand-quiet`,
|
|
46
|
+
`--lr-space-xs`/`-s`/`-m`, `--lr-radius`, `--lr-focus-ring-width`/`-color`/`-offset`,
|
|
47
|
+
`--lr-transition-fast`/`-base`.
|
|
48
|
+
|
|
49
|
+
**Optional peer deps:** none.
|
|
50
|
+
|
|
51
|
+
```html
|
|
52
|
+
<lr-thinking-panel label="Reasoning" mode="live" expanded>
|
|
53
|
+
<lr-streaming-text content="Considering the user's constraints…" streaming></lr-streaming-text>
|
|
54
|
+
</lr-thinking-panel>
|
|
55
|
+
|
|
56
|
+
<lr-thinking-panel label="Reasoning" mode="post-hoc" duration-ms="4200">
|
|
57
|
+
<p>Finished reasoning, collapsed by default.</p>
|
|
58
|
+
</lr-thinking-panel>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
`mode` drives two concrete behavior differences, not just a styling hook. **Header hint:** while
|
|
62
|
+
`duration-ms` is unset, `'live'` shows a pulsing "Thinking…" placeholder in `[part="duration"]`;
|
|
63
|
+
`'post-hoc'` shows nothing there. Once `duration-ms` is set, both modes show the same static
|
|
64
|
+
"Thought for …" text. **Auto-scroll:** only `'live'` mode auto-follows new content appended to the
|
|
65
|
+
default slot while `expanded`; `'post-hoc'` never scrolls on its own.
|
|
66
|
+
|
|
67
|
+
Live-mode auto-scroll ("stick to bottom") is the classic chat-transcript convention: while
|
|
68
|
+
`mode="live"` and `expanded`, new content keeps the panel scrolled to its latest line — unless the
|
|
69
|
+
user has manually scrolled up to re-read earlier content (tracked via a `scroll` listener on
|
|
70
|
+
`[part="body"]`: every user-driven scroll records whether the body was left within 48px of its own
|
|
71
|
+
max scroll position, and only a mutation that arrives while that's still true triggers a follow-up
|
|
72
|
+
scroll). Opening an already-`'live'` panel — or a still-`expanded` panel later becoming `'live'` —
|
|
73
|
+
always resets this to "anchored" and jumps to the latest content. New content is detected via a `MutationObserver` on this element's own light DOM
|
|
74
|
+
(`childList`+`subtree`+`characterData`), not `slotchange`, since streamed reasoning typically
|
|
75
|
+
appends chunks to an existing node's `textContent` rather than re-slotting a whole new element per
|
|
76
|
+
token; scroll-to-bottom calls are coalesced to at most one per animation frame under a fast token
|
|
77
|
+
stream.
|
|
78
|
+
|
|
79
|
+
**Known gotchas:**
|
|
80
|
+
- The `MutationObserver` only watches this element's own light-DOM subtree — it cannot see a
|
|
81
|
+
mutation that happens entirely inside a slotted custom element's own shadow root (e.g. a
|
|
82
|
+
`<lr-markdown>` re-rendering its shadow tree after a `content` change). A slotted element whose
|
|
83
|
+
own internal updates should drive auto-scroll needs to append/mutate visible light-DOM text
|
|
84
|
+
itself (as `<lr-streaming-text>` does), or the host can call `scrollToBottom()` directly.
|
|
85
|
+
- Either half of the pair can trigger the jump-to-bottom/reset-stickiness behavior, as long as the
|
|
86
|
+
*other* half already holds: an `expanded` transition to `true` while `mode` is already `'live'`,
|
|
87
|
+
**or** a `mode` transition to `'live'` while the panel is already `expanded`, both jump to the
|
|
88
|
+
bottom and reset stickiness. Only a change that leaves the panel in some other combination
|
|
89
|
+
(collapsed, or `mode !== 'live'`) skips it.
|
|
90
|
+
- The sticky-bottom flag starts `true` internally, so a panel that mounts already `expanded` and
|
|
91
|
+
`mode="live"` follows its very first content mutation even before any `scroll` event has fired.
|
|
92
|
+
|
|
93
|
+
---
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/conversation.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-thread-list`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/conversation/thread-list/thread-list.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraThreadList`, also available unregistered from `@aceshooting/lyra-ui/components/conversation/thread-list/thread-list.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-thread-list`
|
|
14
|
+
|
|
15
|
+
The conversation sidebar: a grouped, searchable list of chat sessions with pin/archive/delete/rename
|
|
16
|
+
affordances. *Data mode* (non-empty `threads`, or empty `threads` with nothing slotted) renders every
|
|
17
|
+
row as a `lr-conversation-item` inside an internal `lr-virtual-list` — virtualized by
|
|
18
|
+
construction, scroll position and per-row state survive a `threads` replacement; zero rows renders
|
|
19
|
+
the built-in empty state. *Slotted mode* (empty `threads` *and* real slotted content) renders
|
|
20
|
+
host-supplied `lr-conversation-item`s from the default slot as-is: no grouping, virtualization, or
|
|
21
|
+
row actions in that mode. No thread CRUD or persistence — every mutation
|
|
22
|
+
(`lr-thread-pin`/`-archive`/`-delete`/`-rename`) is a controlled event carrying the *requested* new
|
|
23
|
+
state; the host mutates `threads`.
|
|
24
|
+
|
|
25
|
+
**Properties:** `threads: ChatThread[] = []` (attribute: false) — `ChatThread { id: string; title:
|
|
26
|
+
string; excerpt?: string; timestamp?: Date | string; pinned?: boolean; archived?: boolean }`
|
|
27
|
+
(exported here). `activeId: string = ''` (attribute `active-id`) — data mode:
|
|
28
|
+
marks the matching row `active`/`aria-current` and scrolls it into view. `searchable: boolean =
|
|
29
|
+
false` (reflected) — shows the built-in search field. `filter?: (thread, query) => boolean`
|
|
30
|
+
(attribute: false) — overrides the default case-insensitive `title` + `excerpt` substring match.
|
|
31
|
+
`grouping: 'date' | 'custom' | 'none' = 'date'` — data mode: bucket rows under localized date headers
|
|
32
|
+
(Pinned/Today/Yesterday/Previous 7 days/Previous 30 days/one bucket per month/Archived), use the
|
|
33
|
+
arbitrary grouping callbacks below, or render a flat list. `groupBy?: (thread: ChatThread) => string`
|
|
34
|
+
(attribute: false) derives each group id in `grouping="custom"`; omitting it leaves the custom mode
|
|
35
|
+
flat. `formatGroup?: (id: string, threads: ChatThread[]) => string | TemplateResult` (attribute:
|
|
36
|
+
false) renders non-interactive custom group-label content. `groupOrder?: string[] | ((a: string, b:
|
|
37
|
+
string) => number)` (attribute: false) supplies an explicit order or comparator; ids omitted from an
|
|
38
|
+
array follow in first-seen order. `collapsedGroupIds: string[] = []` (attribute: false) is the
|
|
39
|
+
controlled collapsed state for both date and custom groups. A collapsed group's header remains in
|
|
40
|
+
the virtual list while its conversation rows are removed from the virtual-list item/measurement
|
|
41
|
+
set; `lr-group-toggle` requests the matching state change. `rowActions: ThreadRowAction[] = []`
|
|
42
|
+
(attribute: false, each `'pin' | 'archive' | 'delete'`) —
|
|
43
|
+
data mode only: built-in icon buttons rendered into each row's `actions` slot. `showArchived: boolean
|
|
44
|
+
= false` (attribute `show-archived`, reflected) — data mode: include `archived` threads (in their own
|
|
45
|
+
trailing group). `editable: boolean = true` (reflected) — forwarded to each data-mode row's inline
|
|
46
|
+
rename. `label: string = ''` — accessible name for the list region, defaults to the localized
|
|
47
|
+
`threadListLabel`. `wrapRow?: (thread: ChatThread, row: TemplateResult) => TemplateResult` (attribute:
|
|
48
|
+
false) — data mode only: wraps each row's built-in `lr-conversation-item` with host-supplied content
|
|
49
|
+
that has no home in the item's own `title`/`excerpt`/`meta`/`actions` surface (e.g. a leading purpose
|
|
50
|
+
icon — the item has no default slot to receive one); unset renders the built-in row unwrapped.
|
|
51
|
+
`renderActions?: (thread: ChatThread) => TemplateResult` (attribute: false) — data mode only:
|
|
52
|
+
appends host-supplied content (re-invoked per row on every render, e.g. a `lr-menu` with custom
|
|
53
|
+
actions) after the built-in `rowActions` output in each row's `actions` slot; events it fires reach
|
|
54
|
+
the host normally and never trigger `lr-select`. Unset renders only the built-in `rowActions`.
|
|
55
|
+
`renderLeading?: (thread: ChatThread) => TemplateResult` (attribute: false) — renders non-interactive
|
|
56
|
+
leading content in each virtualized row. `renderMeta?: (thread: ChatThread) => TemplateResult`
|
|
57
|
+
(attribute: false) — appends structured metadata in the row's meta region.
|
|
58
|
+
`renderRowContent?: (thread: ChatThread) => TemplateResult` (attribute: false) — replaces the
|
|
59
|
+
conversation item's title/excerpt/meta content area with custom non-interactive row content.
|
|
60
|
+
`formatGroupLabel?: (key: ThreadBucketKey, date?: Date) => string` (attribute: false) — overrides
|
|
61
|
+
built-in date-group labels (use `formatGroup` for custom groups). `formatDate?: (date: Date) =>
|
|
62
|
+
string` (attribute: false) — overrides month-group date formatting. `wrapRow` remains wholly
|
|
63
|
+
host-owned and therefore receives no library-added wrapper part; use the focused `row-*` hook parts
|
|
64
|
+
or add the host's own styling hook inside that callback.
|
|
65
|
+
|
|
66
|
+
**Slots:** default — slotted mode only: host-supplied `lr-conversation-item`s, rendered in order.
|
|
67
|
+
`empty` — replaces the built-in empty state.
|
|
68
|
+
|
|
69
|
+
**Events:** (data mode; slotted mode only ever fires `lr-filter-change`) `lr-select` (`detail: {
|
|
70
|
+
id }`), `lr-thread-pin` (`detail: { id, pinned }` — the requested new state), `lr-thread-archive`
|
|
71
|
+
(`detail: { id, archived }`), `lr-thread-delete` (`detail: { id }`, no built-in confirmation),
|
|
72
|
+
`lr-thread-rename` (`detail: { id, title }`, re-emitted from the row's `lr-rename`),
|
|
73
|
+
`lr-filter-change` (`detail: { text, matchCount }`), `lr-group-toggle` (`detail: { id, collapsed }` —
|
|
74
|
+
controlled intent; native group buttons provide Enter/Space activation and explicit
|
|
75
|
+
`aria-expanded="true"|"false"`).
|
|
76
|
+
|
|
77
|
+
**CSS parts:** `base`, `search`/`search-input` (the search field wrapper and `<input
|
|
78
|
+
type="search">`), `list` (the list region), `empty`, `viewport` (the actual internal virtual-list
|
|
79
|
+
scroll container, suitable for scrollbar styling), `row-action` (a built-in pin/archive/delete icon
|
|
80
|
+
button), `pin-glyph` (the small pin indicator on a pinned row), `group-header`, `group-toggle`,
|
|
81
|
+
`group-label`, `group-icon`, `row` (all exported across the internal `lr-virtual-list` shadow
|
|
82
|
+
boundary), and `row-leading`/`row-content`/`row-meta`/`row-actions` (the library-owned wrappers around
|
|
83
|
+
their corresponding render-hook output; inherited fonts, layout values, and theme custom properties
|
|
84
|
+
reach callback-rendered descendants through these parts).
|
|
85
|
+
|
|
86
|
+
```html
|
|
87
|
+
<lr-thread-list
|
|
88
|
+
searchable
|
|
89
|
+
.threads=${threads}
|
|
90
|
+
active-id=${activeThreadId}
|
|
91
|
+
.rowActions=${['pin', 'archive', 'delete']}
|
|
92
|
+
@lr-select=${(e) => openThread(e.detail.id)}
|
|
93
|
+
></lr-thread-list>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Composed with `lr-split` (or `lr-app-rail` + `lr-responsive-panel`): thread-list in the start
|
|
97
|
+
pane driving `activeId`, `lr-chat-viewport` + `lr-chat-composer` in the main pane.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-time-input`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/forms/input/time-input.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraTimeInput`, also available unregistered from `@aceshooting/lyra-ui/components/forms/input/time-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-time-input`
|
|
14
|
+
|
|
15
|
+
A migration-friendly time alias of `lr-input` — the same subclassing shape as `lr-number-input`,
|
|
16
|
+
with the constructor and `connectedCallback()` setting `type = 'time'`. Its only own API is a
|
|
17
|
+
re-typed `min`/`max` pair (below); every other property, event, slot and part is `lr-input`'s.
|
|
18
|
+
|
|
19
|
+
**Properties:** `size` (`2xs`…`xl`), `placeholder`, `readonly`, `label`, `hint`, `errorText`
|
|
20
|
+
(`error-text`), `accessibleLabel` (`aria-label`), `autocomplete`, `spellcheck`, `autocapitalize`,
|
|
21
|
+
`autoCorrect` (`autocorrect`), `inputMode` (`inputmode`), and `enterKeyHint` (`enterkeyhint`).
|
|
22
|
+
`clearable` and `passwordVisible` (`password-visible`) are inherited but inert, exactly as on
|
|
23
|
+
`lr-number-input`.
|
|
24
|
+
|
|
25
|
+
`step` is forwarded verbatim to the native time input, where it means seconds (`step="1"` reveals
|
|
26
|
+
the seconds field, `'any'` disables step validation).
|
|
27
|
+
|
|
28
|
+
`min?: string | number` / `max?: string | number` (attributes `min`/`max`, both defaulting to
|
|
29
|
+
`undefined` — no bound) are re-declared here with a converter that forwards the attribute verbatim
|
|
30
|
+
instead of `lr-input`'s numeric parsing, so they take the native `<input type="time">` literal form:
|
|
31
|
+
`min="09:00"`, or `min="09:00:30"` alongside a seconds-precision `step`. Attribute and property are
|
|
32
|
+
interchangeable (`el.min = '09:00'` needs no cast), removing the attribute clears the bound, and the
|
|
33
|
+
native input's own constraint validation reports `rangeUnderflow`/`rangeOverflow` through
|
|
34
|
+
`checkValidity()`.
|
|
35
|
+
|
|
36
|
+
**Events:** `input`/`change` (native-style, composed), `lr-input`/`lr-change`
|
|
37
|
+
(`detail: { value }`), `focus`/`blur` (re-dispatched bubbling + composed), and `lr-clear`
|
|
38
|
+
(inherited, never fired here).
|
|
39
|
+
|
|
40
|
+
**Slots:** `label`, `hint`, `error`, `start`, `end`.
|
|
41
|
+
|
|
42
|
+
**CSS parts:** `form-control`, `form-control-label`, `input-wrapper`, `input`, `start`, `end`,
|
|
43
|
+
`hint`, `error`, plus the inherited, never-rendered `clear-button` and `password-toggle`.
|
|
44
|
+
|
|
45
|
+
**Themeable custom properties:** inherited from `lr-input`, identical in meaning —
|
|
46
|
+
`--lr-input-control-min-height`, `--lr-input-padding-block`, `--lr-input-padding-inline` and
|
|
47
|
+
`--lr-input-font-size` (the last three swap per `size`).
|
|
48
|
+
|
|
49
|
+
**Known gotchas:** the same two as `lr-number-input` — the inert clear/password surface, and `type`
|
|
50
|
+
only being re-forced on connect. The native `type="time"` UI (spinners, AM/PM, picker) is the
|
|
51
|
+
browser's own and is not restyled by Lyra.
|
|
52
|
+
|
|
53
|
+
---
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-time-range`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/forms/time-range/time-range.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraTimeRange`, also available unregistered from `@aceshooting/lyra-ui/components/forms/time-range/time-range.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-time-range`
|
|
14
|
+
|
|
15
|
+
A two-handle brush/scrubber over a numeric domain (no date logic — callers map their own time axis
|
|
16
|
+
onto `[min, max]`). Form-associated (`static formAssociated = true`, via `ElementInternals`): an
|
|
17
|
+
ancestor `<fieldset disabled>` disables both handles and every preset button through an internal
|
|
18
|
+
`effectiveDisabled` getter, the same way it would a native `<input>`, without ever mutating the
|
|
19
|
+
consumer-facing `disabled` property/attribute itself.
|
|
20
|
+
|
|
21
|
+
**Properties:**
|
|
22
|
+
- `min: number = 0`
|
|
23
|
+
- `max: number = 100`
|
|
24
|
+
- `start: number = 0`
|
|
25
|
+
- `end: number = 100`
|
|
26
|
+
- `step: number = 1`
|
|
27
|
+
- `disabled: boolean = false` (reflected)
|
|
28
|
+
- `startLabel: string = 'Range start'` (attribute `start-label`) — `aria-label` for the start handle
|
|
29
|
+
- `endLabel: string = 'Range end'` (attribute `end-label`) — `aria-label` for the end handle
|
|
30
|
+
- `presets: TimeRangePreset[] = []` (attribute: false) — `TimeRangePreset { label: string; start:
|
|
31
|
+
number; end: number }`; optional discrete presets (e.g. "Last 7 days") rendered as a
|
|
32
|
+
`[part="presets"]` button row above the track — purely additive, the continuous brush is
|
|
33
|
+
unaffected and both interaction modes coexist; picking one sets both handles and emits the same
|
|
34
|
+
`lr-input`/`lr-change` pair a committed drag or keyboard step would
|
|
35
|
+
|
|
36
|
+
**Events:** `lr-input` (fired continuously while dragging or on each arrow/Home/End/PageUp/
|
|
37
|
+
PageDown key press, `detail: { start, end }`), `lr-change` (fired on pointer release /
|
|
38
|
+
key-up-commit, or when a preset button is clicked, `detail: { start, end }`)
|
|
39
|
+
|
|
40
|
+
**Slots:** none.
|
|
41
|
+
|
|
42
|
+
**CSS parts:** `base`, `track`, `range`, `handle-start`, `handle-end`, `presets`, `preset-button`
|
|
43
|
+
|
|
44
|
+
**Themeable custom properties:** shared tokens only — `--lr-color-border`, `--lr-color-brand`,
|
|
45
|
+
`--lr-color-surface`, `--lr-shadow` (track/handles), `--lr-opacity-disabled` (`:host([disabled])`
|
|
46
|
+
dimming), plus (for `presets`) `--lr-color-text`, `--lr-color-on-brand` (the active preset
|
|
47
|
+
button's text), `--lr-radius`, `--lr-space-xs/-s`, `--lr-transition-fast`,
|
|
48
|
+
`--lr-focus-ring-*`. No component-local tokens.
|
|
49
|
+
|
|
50
|
+
**Optional peer deps:** none.
|
|
51
|
+
|
|
52
|
+
```html
|
|
53
|
+
<lr-time-range min="0" max="1440" start="480" end="1020" step="15"></lr-time-range>
|
|
54
|
+
<script>
|
|
55
|
+
document.querySelector('lr-time-range')
|
|
56
|
+
.addEventListener('lr-change', (e) => console.log(e.detail.start, e.detail.end));
|
|
57
|
+
</script>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Known gotchas:**
|
|
61
|
+
- Keyboard support now matches the full WAI-ARIA APG slider pattern: ArrowUp/Right and ArrowDown/Left
|
|
62
|
+
move by `step` (RTL-aware — under `direction: rtl` the forward/backward keys swap so they still
|
|
63
|
+
track the visually-adjacent direction), PageUp/PageDown move by `step * 10`, and Home/End jump to
|
|
64
|
+
that handle's actual *reachable* bound — clamped by the sibling handle's current value, not the
|
|
65
|
+
component's full `[min, max]` domain, so Home/End on the `end` handle can't jump past `start` (and
|
|
66
|
+
vice versa). Pointer-drag is RTL-aware the same way (mirrors the drag ratio under `direction:
|
|
67
|
+
rtl`).
|
|
68
|
+
- A disabled handle now gets `aria-disabled="true"` in addition to losing `tabindex` — a
|
|
69
|
+
screen-reader user exploring by virtual cursor no longer hears it announced as a live, adjustable
|
|
70
|
+
slider.
|
|
71
|
+
- `aria-valuemin`/`aria-valuemax` on each handle report that handle's reachable sub-range (bounded by
|
|
72
|
+
its sibling), not the full domain — matching what Home/End actually jump to.
|
|
73
|
+
- No `aria-valuetext`: only raw numeric `aria-valuenow` is exposed (omitted entirely, rather than a
|
|
74
|
+
literal `"NaN"`, if `start`/`end` is non-finite), no hook for a human-readable (e.g. formatted
|
|
75
|
+
date/time) equivalent of the mapped domain.
|
|
76
|
+
- Handles a `min > max` domain, a non-positive/non-finite `step`, and disabled-mid-drag/
|
|
77
|
+
disconnect-mid-drag correctly (tested) — safe to rely on those edge cases. Concurrent drags are
|
|
78
|
+
tracked per `pointerId` (not a single scalar), so a two-finger touch — one finger per handle —
|
|
79
|
+
moves both independently instead of the second pointer hijacking which handle the first pointer's
|
|
80
|
+
moves apply to; `pointercancel`/`lostpointercapture` (not just `pointerup`) both end a drag, same
|
|
81
|
+
fix as `lr-split`.
|
|
82
|
+
- Non-finite domain/handle values use finite fallback geometry, and non-finite or negative steps are
|
|
83
|
+
treated as unstepped; invalid values never become `NaN`/`Infinity` CSS or ARIA strings.
|
|
84
|
+
- `startLabel`/`endLabel` only override each handle's `aria-label`; they don't affect
|
|
85
|
+
`aria-valuenow`/`aria-valuemin`/`aria-valuemax` (still raw numbers) or any visible text.
|
|
86
|
+
- An ancestor `<fieldset disabled>` toggling is reflected via `formDisabledCallback` into
|
|
87
|
+
`effectiveDisabled` (tracked separately from the consumer's own `disabled`), so re-enabling the
|
|
88
|
+
fieldset correctly restores a handle that had `disabled` set explicitly by the consumer, and vice
|
|
89
|
+
versa — mirrors `lr-combobox`'s identical pattern.
|
|
90
|
+
|
|
91
|
+
---
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/data.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-timeline-item`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/data/timeline/timeline-item.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraTimelineItem`, also available unregistered from `@aceshooting/lyra-ui/components/data/timeline/timeline-item.class.js`
|
|
7
|
+
- **Family** `components/data/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Documented with** `lr-timeline` (same section below)
|
|
10
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## `lr-timeline` and `lr-timeline-item`
|
|
15
|
+
|
|
16
|
+
Read-only chronological sequence. `lr-timeline` is a `role="list"` flex container; each
|
|
17
|
+
`lr-timeline-item` is a light-DOM child that sets `role="listitem"` on itself and renders its own
|
|
18
|
+
marker plus the trailing rail segment reaching toward the next item's marker. The last item's rail is
|
|
19
|
+
suppressed purely in CSS (`::slotted([role='listitem']:last-child)`) — no JS coordination anywhere.
|
|
20
|
+
Neither element has events, keyboard navigation, or a selection model: a passive record display, by
|
|
21
|
+
design (an item's `title`/`description` routinely hold focusable content, so wrapping the row in
|
|
22
|
+
`role="button"` would trip `nested-interactive`).
|
|
23
|
+
|
|
24
|
+
**`lr-timeline` properties:** `orientation: 'vertical' | 'horizontal' = 'vertical'` — note the
|
|
25
|
+
opposite default from `lr-stepper`; `horizontal` makes `[part='base']` a horizontally scrollable row.
|
|
26
|
+
`accessibleLabel: string = ''` (attribute `aria-label`) overrides the localized `"Timeline"` name
|
|
27
|
+
(the `role="list"` element is in the shadow root and never inherits a host attribute). Read-only
|
|
28
|
+
`itemCount: number` is the live default-slot child count.
|
|
29
|
+
|
|
30
|
+
**`lr-timeline-item` properties:** `timestamp?: Date | string | number` (attribute: false — `Date`
|
|
31
|
+
isn't attribute-serializable; invalid input normalizes to unset and renders no timestamp UI),
|
|
32
|
+
`sync: boolean = false` (forwarded to the internal `<lr-relative-time>`; no effect when the
|
|
33
|
+
`timestamp` slot is filled), `variant: 'neutral' | 'brand' | 'success' | 'warning' | 'danger' =
|
|
34
|
+
'neutral'` (marker tone), `active: boolean = false` (reflected — pulsing marker, disabled under
|
|
35
|
+
`prefers-reduced-motion: reduce`, plus `aria-current="true"` on the host, removed entirely while
|
|
36
|
+
inactive).
|
|
37
|
+
|
|
38
|
+
**Events:** none on either element. Listen to the native `slotchange` if you need item-count changes.
|
|
39
|
+
|
|
40
|
+
**Slots:** `lr-timeline`'s default slot holds the items, in display order. On an item the **default
|
|
41
|
+
slot is the title** (there is no `title` slot), plus `icon` (marker glyph override; falls back to a
|
|
42
|
+
color-coded dot), `timestamp` (wins outright over the `timestamp` property whenever it has assigned
|
|
43
|
+
content), and `description` (its part is hidden entirely when empty).
|
|
44
|
+
|
|
45
|
+
**CSS parts:** timeline `base` — the `role="list"` flex container (no separate `list` part). Item:
|
|
46
|
+
`base`, `track` (marker + rail spine, always the opposite axis from `base`), `marker`
|
|
47
|
+
(`aria-hidden="true"`, decorative), `rail` (the connecting segment; `visibility: hidden` rather than
|
|
48
|
+
removed on the last item, so marker alignment stays consistent), `content`, `header` (flex row
|
|
49
|
+
wrapping `title` and `timestamp`; wraps at narrow widths rather than truncating), `title`,
|
|
50
|
+
`timestamp` (hidden when there's nothing to show), `description`.
|
|
51
|
+
|
|
52
|
+
**Themeable custom properties:** `--lr-timeline-gap` (default `var(--lr-space-l)`) — declared on
|
|
53
|
+
`lr-timeline` but consumed inside each item via inheritance across the slot boundary; it is both the
|
|
54
|
+
inter-item spacing and the length each rail bridges. On the item: `--lr-timeline-marker-size`
|
|
55
|
+
(default `var(--lr-size-1-25rem)`, both dimensions so the dot stays circular),
|
|
56
|
+
`--lr-timeline-rail-width` (default `var(--lr-border-width-medium)`), `--lr-timeline-rail-color`
|
|
57
|
+
(default `var(--lr-color-border)`), `--lr-timeline-marker-color` (default
|
|
58
|
+
`var(--lr-color-text-quiet)`, swapped per `variant`; setting it directly on an item wins over the
|
|
59
|
+
variant default).
|
|
60
|
+
|
|
61
|
+
**Internal, not public:** `--lr-timeline-item-direction`, `--lr-timeline-item-track-direction`,
|
|
62
|
+
`--lr-timeline-item-gap-block-end` and `--lr-timeline-item-gap-inline-end` (set by `lr-timeline`'s
|
|
63
|
+
`:host` / `:host([orientation='horizontal'])` rules), plus `--lr-timeline-item-rail-visibility` (set
|
|
64
|
+
by its `::slotted(:last-child)` rule) propagate orientation and last-item state across the slot
|
|
65
|
+
boundary. Overriding any of them breaks layout rather than merely restyling it.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/data.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-timeline`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/data/timeline/timeline.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraTimeline`, also available unregistered from `@aceshooting/lyra-ui/components/data/timeline/timeline.class.js`
|
|
7
|
+
- **Family** `components/data/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Documented with** `lr-timeline-item` (same section below)
|
|
10
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## `lr-timeline` and `lr-timeline-item`
|
|
15
|
+
|
|
16
|
+
Read-only chronological sequence. `lr-timeline` is a `role="list"` flex container; each
|
|
17
|
+
`lr-timeline-item` is a light-DOM child that sets `role="listitem"` on itself and renders its own
|
|
18
|
+
marker plus the trailing rail segment reaching toward the next item's marker. The last item's rail is
|
|
19
|
+
suppressed purely in CSS (`::slotted([role='listitem']:last-child)`) — no JS coordination anywhere.
|
|
20
|
+
Neither element has events, keyboard navigation, or a selection model: a passive record display, by
|
|
21
|
+
design (an item's `title`/`description` routinely hold focusable content, so wrapping the row in
|
|
22
|
+
`role="button"` would trip `nested-interactive`).
|
|
23
|
+
|
|
24
|
+
**`lr-timeline` properties:** `orientation: 'vertical' | 'horizontal' = 'vertical'` — note the
|
|
25
|
+
opposite default from `lr-stepper`; `horizontal` makes `[part='base']` a horizontally scrollable row.
|
|
26
|
+
`accessibleLabel: string = ''` (attribute `aria-label`) overrides the localized `"Timeline"` name
|
|
27
|
+
(the `role="list"` element is in the shadow root and never inherits a host attribute). Read-only
|
|
28
|
+
`itemCount: number` is the live default-slot child count.
|
|
29
|
+
|
|
30
|
+
**`lr-timeline-item` properties:** `timestamp?: Date | string | number` (attribute: false — `Date`
|
|
31
|
+
isn't attribute-serializable; invalid input normalizes to unset and renders no timestamp UI),
|
|
32
|
+
`sync: boolean = false` (forwarded to the internal `<lr-relative-time>`; no effect when the
|
|
33
|
+
`timestamp` slot is filled), `variant: 'neutral' | 'brand' | 'success' | 'warning' | 'danger' =
|
|
34
|
+
'neutral'` (marker tone), `active: boolean = false` (reflected — pulsing marker, disabled under
|
|
35
|
+
`prefers-reduced-motion: reduce`, plus `aria-current="true"` on the host, removed entirely while
|
|
36
|
+
inactive).
|
|
37
|
+
|
|
38
|
+
**Events:** none on either element. Listen to the native `slotchange` if you need item-count changes.
|
|
39
|
+
|
|
40
|
+
**Slots:** `lr-timeline`'s default slot holds the items, in display order. On an item the **default
|
|
41
|
+
slot is the title** (there is no `title` slot), plus `icon` (marker glyph override; falls back to a
|
|
42
|
+
color-coded dot), `timestamp` (wins outright over the `timestamp` property whenever it has assigned
|
|
43
|
+
content), and `description` (its part is hidden entirely when empty).
|
|
44
|
+
|
|
45
|
+
**CSS parts:** timeline `base` — the `role="list"` flex container (no separate `list` part). Item:
|
|
46
|
+
`base`, `track` (marker + rail spine, always the opposite axis from `base`), `marker`
|
|
47
|
+
(`aria-hidden="true"`, decorative), `rail` (the connecting segment; `visibility: hidden` rather than
|
|
48
|
+
removed on the last item, so marker alignment stays consistent), `content`, `header` (flex row
|
|
49
|
+
wrapping `title` and `timestamp`; wraps at narrow widths rather than truncating), `title`,
|
|
50
|
+
`timestamp` (hidden when there's nothing to show), `description`.
|
|
51
|
+
|
|
52
|
+
**Themeable custom properties:** `--lr-timeline-gap` (default `var(--lr-space-l)`) — declared on
|
|
53
|
+
`lr-timeline` but consumed inside each item via inheritance across the slot boundary; it is both the
|
|
54
|
+
inter-item spacing and the length each rail bridges. On the item: `--lr-timeline-marker-size`
|
|
55
|
+
(default `var(--lr-size-1-25rem)`, both dimensions so the dot stays circular),
|
|
56
|
+
`--lr-timeline-rail-width` (default `var(--lr-border-width-medium)`), `--lr-timeline-rail-color`
|
|
57
|
+
(default `var(--lr-color-border)`), `--lr-timeline-marker-color` (default
|
|
58
|
+
`var(--lr-color-text-quiet)`, swapped per `variant`; setting it directly on an item wins over the
|
|
59
|
+
variant default).
|
|
60
|
+
|
|
61
|
+
**Internal, not public:** `--lr-timeline-item-direction`, `--lr-timeline-item-track-direction`,
|
|
62
|
+
`--lr-timeline-item-gap-block-end` and `--lr-timeline-item-gap-inline-end` (set by `lr-timeline`'s
|
|
63
|
+
`:host` / `:host([orientation='horizontal'])` rules), plus `--lr-timeline-item-rail-visibility` (set
|
|
64
|
+
by its `::slotted(:last-child)` rule) propagate orientation and last-item state across the slot
|
|
65
|
+
boundary. Overriding any of them breaks layout rather than merely restyling it.
|