@artooi/agents-web-components 0.0.0-stage → 0.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/CHANGELOG.md +68 -0
- package/LICENSE +21 -0
- package/README.md +4397 -2
- package/dist/agents-web-components.bundle.js +5708 -0
- package/dist/agents-web-components.bundle.js.map +7 -0
- package/dist/bundle.d.ts +3 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/chat.d.ts +3 -0
- package/dist/chat.d.ts.map +1 -0
- package/dist/chat.js +16373 -0
- package/dist/chat.js.map +7 -0
- package/dist/chunk-ARNLFGCC.js +7715 -0
- package/dist/chunk-ARNLFGCC.js.map +7 -0
- package/dist/constants.d.ts +575 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/core/activity_registration.d.ts +19 -0
- package/dist/core/activity_registration.d.ts.map +1 -0
- package/dist/core/activity_registry.d.ts +46 -0
- package/dist/core/activity_registry.d.ts.map +1 -0
- package/dist/core/activity_renderer.d.ts +20 -0
- package/dist/core/activity_renderer.d.ts.map +1 -0
- package/dist/core/ag_ui_chat.d.ts +836 -0
- package/dist/core/ag_ui_chat.d.ts.map +1 -0
- package/dist/core/agui_client.d.ts +370 -0
- package/dist/core/agui_client.d.ts.map +1 -0
- package/dist/core/attachment.d.ts +42 -0
- package/dist/core/attachment.d.ts.map +1 -0
- package/dist/core/chat_registry.d.ts +23 -0
- package/dist/core/chat_registry.d.ts.map +1 -0
- package/dist/core/client_seed.d.ts +27 -0
- package/dist/core/client_seed.d.ts.map +1 -0
- package/dist/core/conversation_store.d.ts +195 -0
- package/dist/core/conversation_store.d.ts.map +1 -0
- package/dist/core/create_http_agent.d.ts +57 -0
- package/dist/core/create_http_agent.d.ts.map +1 -0
- package/dist/core/define_chat.d.ts +13 -0
- package/dist/core/define_chat.d.ts.map +1 -0
- package/dist/core/events/attachments_detail.d.ts +9 -0
- package/dist/core/events/attachments_detail.d.ts.map +1 -0
- package/dist/core/events/bar_height_detail.d.ts +6 -0
- package/dist/core/events/bar_height_detail.d.ts.map +1 -0
- package/dist/core/events/custom_agent_detail.d.ts +8 -0
- package/dist/core/events/custom_agent_detail.d.ts.map +1 -0
- package/dist/core/events/dock_width_detail.d.ts +8 -0
- package/dist/core/events/dock_width_detail.d.ts.map +1 -0
- package/dist/core/events/feedback_detail.d.ts +28 -0
- package/dist/core/events/feedback_detail.d.ts.map +1 -0
- package/dist/core/events/invalidate_detail.d.ts +16 -0
- package/dist/core/events/invalidate_detail.d.ts.map +1 -0
- package/dist/core/events/maximize_detail.d.ts +5 -0
- package/dist/core/events/maximize_detail.d.ts.map +1 -0
- package/dist/core/events/run_finished_detail.d.ts +36 -0
- package/dist/core/events/run_finished_detail.d.ts.map +1 -0
- package/dist/core/events/state_detail.d.ts +5 -0
- package/dist/core/events/state_detail.d.ts.map +1 -0
- package/dist/core/events/submit_detail.d.ts +8 -0
- package/dist/core/events/submit_detail.d.ts.map +1 -0
- package/dist/core/events/thread_detail.d.ts +27 -0
- package/dist/core/events/thread_detail.d.ts.map +1 -0
- package/dist/core/events/thread_title_detail.d.ts +8 -0
- package/dist/core/events/thread_title_detail.d.ts.map +1 -0
- package/dist/core/events/toggle_detail.d.ts +5 -0
- package/dist/core/events/toggle_detail.d.ts.map +1 -0
- package/dist/core/events/tool_run.d.ts +11 -0
- package/dist/core/events/tool_run.d.ts.map +1 -0
- package/dist/core/events/unread_detail.d.ts +11 -0
- package/dist/core/events/unread_detail.d.ts.map +1 -0
- package/dist/core/message_role.d.ts +4 -0
- package/dist/core/message_role.d.ts.map +1 -0
- package/dist/core/read_flag.d.ts +11 -0
- package/dist/core/read_flag.d.ts.map +1 -0
- package/dist/core/read_json_attribute.d.ts +15 -0
- package/dist/core/read_json_attribute.d.ts.map +1 -0
- package/dist/core/read_max_tool_rounds.d.ts +9 -0
- package/dist/core/read_max_tool_rounds.d.ts.map +1 -0
- package/dist/core/remote_conversation_store.d.ts +71 -0
- package/dist/core/remote_conversation_store.d.ts.map +1 -0
- package/dist/core/run_handlers.d.ts +85 -0
- package/dist/core/run_handlers.d.ts.map +1 -0
- package/dist/core/run_index.d.ts +58 -0
- package/dist/core/run_index.d.ts.map +1 -0
- package/dist/core/storage_scope.d.ts +118 -0
- package/dist/core/storage_scope.d.ts.map +1 -0
- package/dist/core/tool_outcome.d.ts +27 -0
- package/dist/core/tool_outcome.d.ts.map +1 -0
- package/dist/core/transcribe_audio.d.ts +32 -0
- package/dist/core/transcribe_audio.d.ts.map +1 -0
- package/dist/core/upload_attachment.d.ts +44 -0
- package/dist/core/upload_attachment.d.ts.map +1 -0
- package/dist/core/utils.d.ts +117 -0
- package/dist/core/utils.d.ts.map +1 -0
- package/dist/dom/animations.d.ts +122 -0
- package/dist/dom/animations.d.ts.map +1 -0
- package/dist/dom/dom_driver.d.ts +28 -0
- package/dist/dom/dom_driver.d.ts.map +1 -0
- package/dist/dom/highlight_overlay.d.ts +39 -0
- package/dist/dom/highlight_overlay.d.ts.map +1 -0
- package/dist/dom/native_setter.d.ts +5 -0
- package/dist/dom/native_setter.d.ts.map +1 -0
- package/dist/dom/ring_color.d.ts +16 -0
- package/dist/dom/ring_color.d.ts.map +1 -0
- package/dist/dom/utils.d.ts +3 -0
- package/dist/dom/utils.d.ts.map +1 -0
- package/dist/index.d.ts +62 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +223 -0
- package/dist/index.js.map +7 -0
- package/dist/skills/fill_template.d.ts +16 -0
- package/dist/skills/fill_template.d.ts.map +1 -0
- package/dist/skills/parse_skills.d.ts +8 -0
- package/dist/skills/parse_skills.d.ts.map +1 -0
- package/dist/skills/skill.d.ts +33 -0
- package/dist/skills/skill.d.ts.map +1 -0
- package/dist/skills/skill_catalog.d.ts +69 -0
- package/dist/skills/skill_catalog.d.ts.map +1 -0
- package/dist/skills/skill_name_from.d.ts +12 -0
- package/dist/skills/skill_name_from.d.ts.map +1 -0
- package/dist/tools/chat_surface_tools.d.ts +77 -0
- package/dist/tools/chat_surface_tools.d.ts.map +1 -0
- package/dist/tools/client_tool_registry.d.ts +58 -0
- package/dist/tools/client_tool_registry.d.ts.map +1 -0
- package/dist/tools/is_destructive.d.ts +14 -0
- package/dist/tools/is_destructive.d.ts.map +1 -0
- package/dist/tools/is_navigates.d.ts +9 -0
- package/dist/tools/is_navigates.d.ts.map +1 -0
- package/dist/tools/page_action_tools.d.ts +30 -0
- package/dist/tools/page_action_tools.d.ts.map +1 -0
- package/dist/tools/page_map.d.ts +16 -0
- package/dist/tools/page_map.d.ts.map +1 -0
- package/dist/tools/page_state.d.ts +27 -0
- package/dist/tools/page_state.d.ts.map +1 -0
- package/dist/tools/parse_tool_catalog.d.ts +21 -0
- package/dist/tools/parse_tool_catalog.d.ts.map +1 -0
- package/dist/tools/route_map.d.ts +37 -0
- package/dist/tools/route_map.d.ts.map +1 -0
- package/dist/tools/tool_catalog.d.ts +86 -0
- package/dist/tools/tool_catalog.d.ts.map +1 -0
- package/dist/tools/tool_dispatch.d.ts +82 -0
- package/dist/tools/tool_dispatch.d.ts.map +1 -0
- package/dist/ui/charts/chart_block.d.ts +57 -0
- package/dist/ui/charts/chart_block.d.ts.map +1 -0
- package/dist/ui/charts/chart_spec_from.d.ts +12 -0
- package/dist/ui/charts/chart_spec_from.d.ts.map +1 -0
- package/dist/ui/charts/chart_styles.d.ts +2 -0
- package/dist/ui/charts/chart_styles.d.ts.map +1 -0
- package/dist/ui/charts/chart_tool.d.ts +15 -0
- package/dist/ui/charts/chart_tool.d.ts.map +1 -0
- package/dist/ui/composer/attachment_styles.d.ts +2 -0
- package/dist/ui/composer/attachment_styles.d.ts.map +1 -0
- package/dist/ui/composer/attachment_tray.d.ts +53 -0
- package/dist/ui/composer/attachment_tray.d.ts.map +1 -0
- package/dist/ui/composer/auto_grow.d.ts +10 -0
- package/dist/ui/composer/auto_grow.d.ts.map +1 -0
- package/dist/ui/composer/build_composer.d.ts +32 -0
- package/dist/ui/composer/build_composer.d.ts.map +1 -0
- package/dist/ui/composer/composer_attachments.d.ts +57 -0
- package/dist/ui/composer/composer_attachments.d.ts.map +1 -0
- package/dist/ui/composer/composer_styles.d.ts +2 -0
- package/dist/ui/composer/composer_styles.d.ts.map +1 -0
- package/dist/ui/composer/composer_voice.d.ts +48 -0
- package/dist/ui/composer/composer_voice.d.ts.map +1 -0
- package/dist/ui/composer/skill_styles.d.ts +2 -0
- package/dist/ui/composer/skill_styles.d.ts.map +1 -0
- package/dist/ui/composer/skills_menu.d.ts +34 -0
- package/dist/ui/composer/skills_menu.d.ts.map +1 -0
- package/dist/ui/composer/voice_input.d.ts +46 -0
- package/dist/ui/composer/voice_input.d.ts.map +1 -0
- package/dist/ui/excerpts/attach_copy_buttons.d.ts +13 -0
- package/dist/ui/excerpts/attach_copy_buttons.d.ts.map +1 -0
- package/dist/ui/excerpts/copy_payload.d.ts +30 -0
- package/dist/ui/excerpts/copy_payload.d.ts.map +1 -0
- package/dist/ui/excerpts/page_quote_offer.d.ts +33 -0
- package/dist/ui/excerpts/page_quote_offer.d.ts.map +1 -0
- package/dist/ui/excerpts/place_offer.d.ts +9 -0
- package/dist/ui/excerpts/place_offer.d.ts.map +1 -0
- package/dist/ui/excerpts/quote_selection.d.ts +66 -0
- package/dist/ui/excerpts/quote_selection.d.ts.map +1 -0
- package/dist/ui/excerpts/transcript_quote_offer.d.ts +57 -0
- package/dist/ui/excerpts/transcript_quote_offer.d.ts.map +1 -0
- package/dist/ui/fill_ui_string.d.ts +32 -0
- package/dist/ui/fill_ui_string.d.ts.map +1 -0
- package/dist/ui/history/checkpoint_menu.d.ts +41 -0
- package/dist/ui/history/checkpoint_menu.d.ts.map +1 -0
- package/dist/ui/history/conversation_history.d.ts +317 -0
- package/dist/ui/history/conversation_history.d.ts.map +1 -0
- package/dist/ui/history/history_styles.d.ts +2 -0
- package/dist/ui/history/history_styles.d.ts.map +1 -0
- package/dist/ui/history/relative_time.d.ts +23 -0
- package/dist/ui/history/relative_time.d.ts.map +1 -0
- package/dist/ui/history/thread_drawer.d.ts +64 -0
- package/dist/ui/history/thread_drawer.d.ts.map +1 -0
- package/dist/ui/history/utils.d.ts +2 -0
- package/dist/ui/history/utils.d.ts.map +1 -0
- package/dist/ui/interrupts/approval_card.d.ts +64 -0
- package/dist/ui/interrupts/approval_card.d.ts.map +1 -0
- package/dist/ui/interrupts/approval_styles.d.ts +2 -0
- package/dist/ui/interrupts/approval_styles.d.ts.map +1 -0
- package/dist/ui/interrupts/confirmation_card.d.ts +51 -0
- package/dist/ui/interrupts/confirmation_card.d.ts.map +1 -0
- package/dist/ui/interrupts/confirmation_styles.d.ts +2 -0
- package/dist/ui/interrupts/confirmation_styles.d.ts.map +1 -0
- package/dist/ui/interrupts/pending_decision.d.ts +22 -0
- package/dist/ui/interrupts/pending_decision.d.ts.map +1 -0
- package/dist/ui/interrupts/question_card.d.ts +49 -0
- package/dist/ui/interrupts/question_card.d.ts.map +1 -0
- package/dist/ui/interrupts/question_styles.d.ts +2 -0
- package/dist/ui/interrupts/question_styles.d.ts.map +1 -0
- package/dist/ui/place/place.d.ts +17 -0
- package/dist/ui/place/place.d.ts.map +1 -0
- package/dist/ui/place/place_chip.d.ts +26 -0
- package/dist/ui/place/place_chip.d.ts.map +1 -0
- package/dist/ui/place/place_from_route.d.ts +9 -0
- package/dist/ui/place/place_from_route.d.ts.map +1 -0
- package/dist/ui/place/place_styles.d.ts +2 -0
- package/dist/ui/place/place_styles.d.ts.map +1 -0
- package/dist/ui/placement/clamp_launcher.d.ts +20 -0
- package/dist/ui/placement/clamp_launcher.d.ts.map +1 -0
- package/dist/ui/placement/clamp_panel.d.ts +13 -0
- package/dist/ui/placement/clamp_panel.d.ts.map +1 -0
- package/dist/ui/placement/collapse_styles.d.ts +2 -0
- package/dist/ui/placement/collapse_styles.d.ts.map +1 -0
- package/dist/ui/placement/dock_styles.d.ts +2 -0
- package/dist/ui/placement/dock_styles.d.ts.map +1 -0
- package/dist/ui/placement/embedded_styles.d.ts +2 -0
- package/dist/ui/placement/embedded_styles.d.ts.map +1 -0
- package/dist/ui/placement/launcher_drag.d.ts +49 -0
- package/dist/ui/placement/launcher_drag.d.ts.map +1 -0
- package/dist/ui/placement/launcher_placement.d.ts +77 -0
- package/dist/ui/placement/launcher_placement.d.ts.map +1 -0
- package/dist/ui/placement/launcher_styles.d.ts +2 -0
- package/dist/ui/placement/launcher_styles.d.ts.map +1 -0
- package/dist/ui/placement/page_styles.d.ts +2 -0
- package/dist/ui/placement/page_styles.d.ts.map +1 -0
- package/dist/ui/placement/panel_drag.d.ts +40 -0
- package/dist/ui/placement/panel_drag.d.ts.map +1 -0
- package/dist/ui/placement/panel_placement.d.ts +173 -0
- package/dist/ui/placement/panel_placement.d.ts.map +1 -0
- package/dist/ui/placement/place_widget.d.ts +31 -0
- package/dist/ui/placement/place_widget.d.ts.map +1 -0
- package/dist/ui/placement/preset_styles.d.ts +2 -0
- package/dist/ui/placement/preset_styles.d.ts.map +1 -0
- package/dist/ui/placement/resize_handle.d.ts +78 -0
- package/dist/ui/placement/resize_handle.d.ts.map +1 -0
- package/dist/ui/placement/resize_styles.d.ts +2 -0
- package/dist/ui/placement/resize_styles.d.ts.map +1 -0
- package/dist/ui/placement/sidebar_styles.d.ts +2 -0
- package/dist/ui/placement/sidebar_styles.d.ts.map +1 -0
- package/dist/ui/placement/small_viewport_styles.d.ts +2 -0
- package/dist/ui/placement/small_viewport_styles.d.ts.map +1 -0
- package/dist/ui/placement/surface_for.d.ts +93 -0
- package/dist/ui/placement/surface_for.d.ts.map +1 -0
- package/dist/ui/progress/prettify_tool_name.d.ts +11 -0
- package/dist/ui/progress/prettify_tool_name.d.ts.map +1 -0
- package/dist/ui/progress/run_announcer.d.ts +41 -0
- package/dist/ui/progress/run_announcer.d.ts.map +1 -0
- package/dist/ui/progress/run_notice.d.ts +21 -0
- package/dist/ui/progress/run_notice.d.ts.map +1 -0
- package/dist/ui/progress/run_notice_styles.d.ts +2 -0
- package/dist/ui/progress/run_notice_styles.d.ts.map +1 -0
- package/dist/ui/progress/subagent_panel.d.ts +101 -0
- package/dist/ui/progress/subagent_panel.d.ts.map +1 -0
- package/dist/ui/progress/subagent_progress.d.ts +57 -0
- package/dist/ui/progress/subagent_progress.d.ts.map +1 -0
- package/dist/ui/progress/subagent_update.d.ts +28 -0
- package/dist/ui/progress/subagent_update.d.ts.map +1 -0
- package/dist/ui/progress/thoughts_block.d.ts +57 -0
- package/dist/ui/progress/thoughts_block.d.ts.map +1 -0
- package/dist/ui/progress/thoughts_styles.d.ts +2 -0
- package/dist/ui/progress/thoughts_styles.d.ts.map +1 -0
- package/dist/ui/progress/tool_call_card.d.ts +167 -0
- package/dist/ui/progress/tool_call_card.d.ts.map +1 -0
- package/dist/ui/progress/tool_group_styles.d.ts +2 -0
- package/dist/ui/progress/tool_group_styles.d.ts.map +1 -0
- package/dist/ui/progress/tool_step_group.d.ts +50 -0
- package/dist/ui/progress/tool_step_group.d.ts.map +1 -0
- package/dist/ui/progress/tool_step_styles.d.ts +2 -0
- package/dist/ui/progress/tool_step_styles.d.ts.map +1 -0
- package/dist/ui/shell/adopt_styles.d.ts +28 -0
- package/dist/ui/shell/adopt_styles.d.ts.map +1 -0
- package/dist/ui/shell/build_header.d.ts +45 -0
- package/dist/ui/shell/build_header.d.ts.map +1 -0
- package/dist/ui/shell/build_launcher.d.ts +33 -0
- package/dist/ui/shell/build_launcher.d.ts.map +1 -0
- package/dist/ui/shell/collapse_glyph.d.ts +14 -0
- package/dist/ui/shell/collapse_glyph.d.ts.map +1 -0
- package/dist/ui/shell/frame_styles.d.ts +2 -0
- package/dist/ui/shell/frame_styles.d.ts.map +1 -0
- package/dist/ui/shell/glyph_slot.d.ts +7 -0
- package/dist/ui/shell/glyph_slot.d.ts.map +1 -0
- package/dist/ui/shell/header_button.d.ts +11 -0
- package/dist/ui/shell/header_button.d.ts.map +1 -0
- package/dist/ui/shell/icon_element.d.ts +12 -0
- package/dist/ui/shell/icon_element.d.ts.map +1 -0
- package/dist/ui/shell/is_unread_badge_enabled.d.ts +10 -0
- package/dist/ui/shell/is_unread_badge_enabled.d.ts.map +1 -0
- package/dist/ui/shell/read_launcher_icon_url.d.ts +8 -0
- package/dist/ui/shell/read_launcher_icon_url.d.ts.map +1 -0
- package/dist/ui/shell/theme_styles.d.ts +2 -0
- package/dist/ui/shell/theme_styles.d.ts.map +1 -0
- package/dist/ui/shell/token_styles.d.ts +2 -0
- package/dist/ui/shell/token_styles.d.ts.map +1 -0
- package/dist/ui/styles.d.ts +2 -0
- package/dist/ui/styles.d.ts.map +1 -0
- package/dist/ui/themes/classic_styles.d.ts +2 -0
- package/dist/ui/themes/classic_styles.d.ts.map +1 -0
- package/dist/ui/themes/classic_tokens.d.ts +2 -0
- package/dist/ui/themes/classic_tokens.d.ts.map +1 -0
- package/dist/ui/themes/code_tokens.d.ts +2 -0
- package/dist/ui/themes/code_tokens.d.ts.map +1 -0
- package/dist/ui/themes/ledger_styles.d.ts +2 -0
- package/dist/ui/themes/ledger_styles.d.ts.map +1 -0
- package/dist/ui/themes/ledger_tokens.d.ts +2 -0
- package/dist/ui/themes/ledger_tokens.d.ts.map +1 -0
- package/dist/ui/themes/modern_styles.d.ts +2 -0
- package/dist/ui/themes/modern_styles.d.ts.map +1 -0
- package/dist/ui/themes/quiet_styles.d.ts +2 -0
- package/dist/ui/themes/quiet_styles.d.ts.map +1 -0
- package/dist/ui/themes/scheme_styles.d.ts +2 -0
- package/dist/ui/themes/scheme_styles.d.ts.map +1 -0
- package/dist/ui/themes/soft_styles.d.ts +2 -0
- package/dist/ui/themes/soft_styles.d.ts.map +1 -0
- package/dist/ui/themes/soft_tokens.d.ts +2 -0
- package/dist/ui/themes/soft_tokens.d.ts.map +1 -0
- package/dist/ui/themes/theme_hosts.d.ts +15 -0
- package/dist/ui/themes/theme_hosts.d.ts.map +1 -0
- package/dist/ui/transcript/answer_actions.d.ts +50 -0
- package/dist/ui/transcript/answer_actions.d.ts.map +1 -0
- package/dist/ui/transcript/answer_stream.d.ts +56 -0
- package/dist/ui/transcript/answer_stream.d.ts.map +1 -0
- package/dist/ui/transcript/attachment_chip_styles.d.ts +2 -0
- package/dist/ui/transcript/attachment_chip_styles.d.ts.map +1 -0
- package/dist/ui/transcript/attachment_chips.d.ts +21 -0
- package/dist/ui/transcript/attachment_chips.d.ts.map +1 -0
- package/dist/ui/transcript/build_transcript.d.ts +21 -0
- package/dist/ui/transcript/build_transcript.d.ts.map +1 -0
- package/dist/ui/transcript/greeting_styles.d.ts +2 -0
- package/dist/ui/transcript/greeting_styles.d.ts.map +1 -0
- package/dist/ui/transcript/groups_tool_steps.d.ts +13 -0
- package/dist/ui/transcript/groups_tool_steps.d.ts.map +1 -0
- package/dist/ui/transcript/message_action_styles.d.ts +2 -0
- package/dist/ui/transcript/message_action_styles.d.ts.map +1 -0
- package/dist/ui/transcript/message_actions.d.ts +74 -0
- package/dist/ui/transcript/message_actions.d.ts.map +1 -0
- package/dist/ui/transcript/message_styles.d.ts +2 -0
- package/dist/ui/transcript/message_styles.d.ts.map +1 -0
- package/dist/ui/transcript/render_markdown.d.ts +40 -0
- package/dist/ui/transcript/render_markdown.d.ts.map +1 -0
- package/dist/ui/transcript/render_or_warn.d.ts +16 -0
- package/dist/ui/transcript/render_or_warn.d.ts.map +1 -0
- package/dist/ui/transcript/reveal_words.d.ts +8 -0
- package/dist/ui/transcript/reveal_words.d.ts.map +1 -0
- package/dist/ui/transcript/starter_chips.d.ts +21 -0
- package/dist/ui/transcript/starter_chips.d.ts.map +1 -0
- package/dist/ui/transcript/stick_to_bottom.d.ts +55 -0
- package/dist/ui/transcript/stick_to_bottom.d.ts.map +1 -0
- package/dist/ui/transcript/suggestion_chips.d.ts +29 -0
- package/dist/ui/transcript/suggestion_chips.d.ts.map +1 -0
- package/dist/ui/transcript/transcript.d.ts +196 -0
- package/dist/ui/transcript/transcript.d.ts.map +1 -0
- package/dist/ui/transcript/transcript_styles.d.ts +2 -0
- package/dist/ui/transcript/transcript_styles.d.ts.map +1 -0
- package/dist/ui/ui_strings.d.ts +352 -0
- package/dist/ui/ui_strings.d.ts.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/package.json +86 -3
- package/src/bundle.ts +2 -0
- package/src/chat.ts +2 -0
- package/src/constants.ts +650 -0
- package/src/core/activity_registration.ts +19 -0
- package/src/core/activity_registry.ts +133 -0
- package/src/core/activity_renderer.ts +19 -0
- package/src/core/ag_ui_chat.ts +3966 -0
- package/src/core/agui_client.ts +1028 -0
- package/src/core/attachment.ts +62 -0
- package/src/core/chat_registry.ts +53 -0
- package/src/core/client_seed.ts +27 -0
- package/src/core/conversation_store.ts +478 -0
- package/src/core/create_http_agent.ts +97 -0
- package/src/core/define_chat.ts +25 -0
- package/src/core/events/attachments_detail.ts +9 -0
- package/src/core/events/bar_height_detail.ts +5 -0
- package/src/core/events/custom_agent_detail.ts +7 -0
- package/src/core/events/dock_width_detail.ts +7 -0
- package/src/core/events/feedback_detail.ts +27 -0
- package/src/core/events/invalidate_detail.ts +15 -0
- package/src/core/events/maximize_detail.ts +4 -0
- package/src/core/events/run_finished_detail.ts +36 -0
- package/src/core/events/state_detail.ts +4 -0
- package/src/core/events/submit_detail.ts +8 -0
- package/src/core/events/thread_detail.ts +26 -0
- package/src/core/events/thread_title_detail.ts +7 -0
- package/src/core/events/toggle_detail.ts +4 -0
- package/src/core/events/tool_run.ts +10 -0
- package/src/core/events/unread_detail.ts +10 -0
- package/src/core/message_role.ts +4 -0
- package/src/core/read_flag.ts +13 -0
- package/src/core/read_json_attribute.ts +30 -0
- package/src/core/read_max_tool_rounds.ts +13 -0
- package/src/core/remote_conversation_store.ts +279 -0
- package/src/core/run_handlers.ts +524 -0
- package/src/core/run_index.ts +114 -0
- package/src/core/storage_scope.ts +291 -0
- package/src/core/tool_outcome.ts +39 -0
- package/src/core/transcribe_audio.ts +76 -0
- package/src/core/upload_attachment.ts +130 -0
- package/src/core/utils.ts +230 -0
- package/src/dom/animations.ts +341 -0
- package/src/dom/dom_driver.ts +91 -0
- package/src/dom/highlight_overlay.ts +204 -0
- package/src/dom/native_setter.ts +40 -0
- package/src/dom/ring_color.ts +206 -0
- package/src/dom/utils.ts +5 -0
- package/src/index.ts +220 -0
- package/src/skills/fill_template.ts +31 -0
- package/src/skills/parse_skills.ts +31 -0
- package/src/skills/skill.ts +32 -0
- package/src/skills/skill_catalog.ts +172 -0
- package/src/skills/skill_name_from.ts +19 -0
- package/src/tools/chat_surface_tools.ts +183 -0
- package/src/tools/client_tool_registry.ts +80 -0
- package/src/tools/is_destructive.ts +17 -0
- package/src/tools/is_navigates.ts +12 -0
- package/src/tools/page_action_tools.ts +123 -0
- package/src/tools/page_map.ts +26 -0
- package/src/tools/page_state.ts +57 -0
- package/src/tools/parse_tool_catalog.ts +41 -0
- package/src/tools/route_map.ts +132 -0
- package/src/tools/tool_catalog.ts +334 -0
- package/src/tools/tool_dispatch.ts +453 -0
- package/src/ui/charts/chart_block.ts +519 -0
- package/src/ui/charts/chart_spec_from.ts +125 -0
- package/src/ui/charts/chart_styles.ts +63 -0
- package/src/ui/charts/chart_tool.ts +72 -0
- package/src/ui/composer/attachment_styles.ts +71 -0
- package/src/ui/composer/attachment_tray.ts +295 -0
- package/src/ui/composer/auto_grow.ts +12 -0
- package/src/ui/composer/build_composer.ts +114 -0
- package/src/ui/composer/composer_attachments.ts +324 -0
- package/src/ui/composer/composer_styles.ts +177 -0
- package/src/ui/composer/composer_voice.ts +93 -0
- package/src/ui/composer/skill_styles.ts +120 -0
- package/src/ui/composer/skills_menu.ts +188 -0
- package/src/ui/composer/voice_input.ts +282 -0
- package/src/ui/excerpts/attach_copy_buttons.ts +73 -0
- package/src/ui/excerpts/copy_payload.ts +156 -0
- package/src/ui/excerpts/page_quote_offer.ts +203 -0
- package/src/ui/excerpts/place_offer.ts +24 -0
- package/src/ui/excerpts/quote_selection.ts +345 -0
- package/src/ui/excerpts/transcript_quote_offer.ts +175 -0
- package/src/ui/fill_ui_string.ts +41 -0
- package/src/ui/history/checkpoint_menu.ts +300 -0
- package/src/ui/history/conversation_history.ts +1169 -0
- package/src/ui/history/history_styles.ts +492 -0
- package/src/ui/history/relative_time.ts +50 -0
- package/src/ui/history/thread_drawer.ts +471 -0
- package/src/ui/history/utils.ts +11 -0
- package/src/ui/interrupts/approval_card.ts +202 -0
- package/src/ui/interrupts/approval_styles.ts +52 -0
- package/src/ui/interrupts/confirmation_card.ts +138 -0
- package/src/ui/interrupts/confirmation_styles.ts +114 -0
- package/src/ui/interrupts/pending_decision.ts +33 -0
- package/src/ui/interrupts/question_card.ts +213 -0
- package/src/ui/interrupts/question_styles.ts +73 -0
- package/src/ui/place/place.ts +16 -0
- package/src/ui/place/place_chip.ts +146 -0
- package/src/ui/place/place_from_route.ts +27 -0
- package/src/ui/place/place_styles.ts +108 -0
- package/src/ui/placement/clamp_launcher.ts +38 -0
- package/src/ui/placement/clamp_panel.ts +30 -0
- package/src/ui/placement/collapse_styles.ts +472 -0
- package/src/ui/placement/dock_styles.ts +116 -0
- package/src/ui/placement/embedded_styles.ts +14 -0
- package/src/ui/placement/launcher_drag.ts +206 -0
- package/src/ui/placement/launcher_placement.ts +133 -0
- package/src/ui/placement/launcher_styles.ts +189 -0
- package/src/ui/placement/page_styles.ts +47 -0
- package/src/ui/placement/panel_drag.ts +138 -0
- package/src/ui/placement/panel_placement.ts +1975 -0
- package/src/ui/placement/place_widget.ts +64 -0
- package/src/ui/placement/preset_styles.ts +49 -0
- package/src/ui/placement/resize_handle.ts +229 -0
- package/src/ui/placement/resize_styles.ts +201 -0
- package/src/ui/placement/sidebar_styles.ts +113 -0
- package/src/ui/placement/small_viewport_styles.ts +70 -0
- package/src/ui/placement/surface_for.ts +183 -0
- package/src/ui/progress/prettify_tool_name.ts +16 -0
- package/src/ui/progress/run_announcer.ts +67 -0
- package/src/ui/progress/run_notice.ts +61 -0
- package/src/ui/progress/run_notice_styles.ts +52 -0
- package/src/ui/progress/subagent_panel.ts +227 -0
- package/src/ui/progress/subagent_progress.ts +200 -0
- package/src/ui/progress/subagent_update.ts +89 -0
- package/src/ui/progress/thoughts_block.ts +165 -0
- package/src/ui/progress/thoughts_styles.ts +74 -0
- package/src/ui/progress/tool_call_card.ts +429 -0
- package/src/ui/progress/tool_group_styles.ts +313 -0
- package/src/ui/progress/tool_step_group.ts +317 -0
- package/src/ui/progress/tool_step_styles.ts +486 -0
- package/src/ui/shell/adopt_styles.ts +34 -0
- package/src/ui/shell/build_header.ts +121 -0
- package/src/ui/shell/build_launcher.ts +79 -0
- package/src/ui/shell/collapse_glyph.ts +42 -0
- package/src/ui/shell/frame_styles.ts +147 -0
- package/src/ui/shell/glyph_slot.ts +12 -0
- package/src/ui/shell/header_button.ts +22 -0
- package/src/ui/shell/icon_element.ts +33 -0
- package/src/ui/shell/is_unread_badge_enabled.ts +11 -0
- package/src/ui/shell/read_launcher_icon_url.ts +9 -0
- package/src/ui/shell/theme_styles.ts +11 -0
- package/src/ui/shell/token_styles.ts +480 -0
- package/src/ui/styles.ts +110 -0
- package/src/ui/themes/classic_styles.ts +32 -0
- package/src/ui/themes/classic_tokens.ts +51 -0
- package/src/ui/themes/code_tokens.ts +21 -0
- package/src/ui/themes/ledger_styles.ts +169 -0
- package/src/ui/themes/ledger_tokens.ts +33 -0
- package/src/ui/themes/modern_styles.ts +80 -0
- package/src/ui/themes/quiet_styles.ts +118 -0
- package/src/ui/themes/scheme_styles.ts +26 -0
- package/src/ui/themes/soft_styles.ts +149 -0
- package/src/ui/themes/soft_tokens.ts +29 -0
- package/src/ui/themes/theme_hosts.ts +14 -0
- package/src/ui/transcript/answer_actions.ts +165 -0
- package/src/ui/transcript/answer_stream.ts +123 -0
- package/src/ui/transcript/attachment_chip_styles.ts +116 -0
- package/src/ui/transcript/attachment_chips.ts +82 -0
- package/src/ui/transcript/build_transcript.ts +67 -0
- package/src/ui/transcript/greeting_styles.ts +171 -0
- package/src/ui/transcript/groups_tool_steps.ts +16 -0
- package/src/ui/transcript/message_action_styles.ts +155 -0
- package/src/ui/transcript/message_actions.ts +234 -0
- package/src/ui/transcript/message_styles.ts +262 -0
- package/src/ui/transcript/render_markdown.ts +181 -0
- package/src/ui/transcript/render_or_warn.ts +22 -0
- package/src/ui/transcript/reveal_words.ts +41 -0
- package/src/ui/transcript/starter_chips.ts +42 -0
- package/src/ui/transcript/stick_to_bottom.ts +126 -0
- package/src/ui/transcript/suggestion_chips.ts +73 -0
- package/src/ui/transcript/transcript.ts +555 -0
- package/src/ui/transcript/transcript_styles.ts +153 -0
- package/src/ui/ui_strings.ts +550 -0
- package/src/version.ts +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval_card.d.ts","sourceRoot":"","sources":["../../../src/ui/interrupts/approval_card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEtE,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAYD,2CAA2C;AAC3C,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAClD;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,KAC7B,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,IAAI,GAAG,UAAU,EACvB,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,OAAO,CAAC,CA4DlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/interrupts/approval_styles.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,EAAE,MAkD7B,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type UiStrings } from "../ui_strings.js";
|
|
2
|
+
/** What the inline confirmation card displays. */
|
|
3
|
+
export interface ConfirmationRequest {
|
|
4
|
+
toolName: string;
|
|
5
|
+
args: Record<string, unknown>;
|
|
6
|
+
/**
|
|
7
|
+
* Human-readable prompt (from the tool's `x-confirm` metadata), e.g.
|
|
8
|
+
* "Activate this project?". Falls back to the generic `confirmRun` template.
|
|
9
|
+
*/
|
|
10
|
+
message?: string;
|
|
11
|
+
}
|
|
12
|
+
/** Options for {@link requestConfirmation}. */
|
|
13
|
+
export interface ConfirmationOptions {
|
|
14
|
+
/**
|
|
15
|
+
* Aborting this signal resolves the card as declined, with buttons disabled
|
|
16
|
+
* and `data-resolved="declined"` — how a Stop control dismisses a pending
|
|
17
|
+
* confirmation.
|
|
18
|
+
*/
|
|
19
|
+
signal?: AbortSignal;
|
|
20
|
+
/** Localized strings; defaults to the English {@link DEFAULT_UI_STRINGS}. */
|
|
21
|
+
strings?: UiStrings;
|
|
22
|
+
/**
|
|
23
|
+
* Offer a third button — "always allow, this session" — and call this when
|
|
24
|
+
* the user picks it. The card still resolves `true`: the extra decision is
|
|
25
|
+
* *in addition to* approving this call, not instead of it.
|
|
26
|
+
*
|
|
27
|
+
* Absent means no button, which is deliberate: presence of the handler is
|
|
28
|
+
* what enables it, so the affordance can never be rendered with nothing
|
|
29
|
+
* listening. A caller that cannot honour the waiver simply does not pass one.
|
|
30
|
+
*/
|
|
31
|
+
onAlwaysAllow?: () => void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Append an inline confirmation card to `host` (the chat message list) and
|
|
35
|
+
* resolve `true` on confirm, `false` on cancel.
|
|
36
|
+
*
|
|
37
|
+
* The card lives in the transcript rather than in a modal overlay, so it reads
|
|
38
|
+
* after the assistant's explanation and never steals focus from the page.
|
|
39
|
+
*
|
|
40
|
+
* Answering it removes it: the record of the decision belongs to the tool card
|
|
41
|
+
* this gates, which settles to `done` or `declined` and carries it. A spent
|
|
42
|
+
* form left in place reads as still outstanding.
|
|
43
|
+
*
|
|
44
|
+
* With `onAlwaysAllow` set the card offers a third button. A prompt that is
|
|
45
|
+
* approved nearly every time is not a decision, it is a speed bump — and the
|
|
46
|
+
* reflex it trains is what makes the rare refusal easy to miss. Letting the
|
|
47
|
+
* user say "not this one again, this session" is the affordance that keeps the
|
|
48
|
+
* remaining prompts meaningful.
|
|
49
|
+
*/
|
|
50
|
+
export declare function requestConfirmation(host: Node & ParentNode, request: ConfirmationRequest, options?: ConfirmationOptions): Promise<boolean>;
|
|
51
|
+
//# sourceMappingURL=confirmation_card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirmation_card.d.ts","sourceRoot":"","sources":["../../../src/ui/interrupts/confirmation_card.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEtE,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAYD,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,GAAG,UAAU,EACvB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,OAAO,CAAC,CAsElB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirmation_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/interrupts/confirmation_styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,EAAE,MA+GjC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The decision a run is suspended on, and the one way to abandon it.
|
|
3
|
+
*
|
|
4
|
+
* A run pauses on a person in three places -- a client-side confirmation, a
|
|
5
|
+
* batch of server interrupts, and the `ask_user` question -- and a Stop has to
|
|
6
|
+
* reach whichever of them is open. Holding the abort controller here gives
|
|
7
|
+
* it one owner: a wait opens, the Stop aborts what is open, and the wait closes
|
|
8
|
+
* when it is answered.
|
|
9
|
+
*
|
|
10
|
+
* Owned one-to-one by an `<ag-ui-chat>`, and holding no state outside the
|
|
11
|
+
* instance.
|
|
12
|
+
*/
|
|
13
|
+
export declare class PendingDecision {
|
|
14
|
+
#private;
|
|
15
|
+
/** Start waiting on a person; aborting the returned signal abandons the wait. */
|
|
16
|
+
open(): AbortSignal;
|
|
17
|
+
/** The wait was answered; a later Stop has nothing of this wait's to abandon. */
|
|
18
|
+
close(): void;
|
|
19
|
+
/** Abandon whatever wait is open, resolving it as declined. A no-op when none is. */
|
|
20
|
+
abort(): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=pending_decision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending_decision.d.ts","sourceRoot":"","sources":["../../../src/ui/interrupts/pending_decision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,qBAAa,eAAe;;IAK1B,iFAAiF;IACjF,IAAI,IAAI,WAAW,CAGlB;IAED,iFAAiF;IACjF,KAAK,IAAI,IAAI,CAEZ;IAED,qFAAqF;IACrF,KAAK,IAAI,IAAI,CAEZ;CACF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type UiStrings } from "../ui_strings.js";
|
|
2
|
+
/** What the inline question card asks (the `ask_user` frontend tool's args). */
|
|
3
|
+
export interface QuestionRequest {
|
|
4
|
+
/** The question shown to the user. */
|
|
5
|
+
question: string;
|
|
6
|
+
/**
|
|
7
|
+
* Preset choices rendered as radios. When empty/omitted the card is a plain
|
|
8
|
+
* free-text prompt.
|
|
9
|
+
*/
|
|
10
|
+
options?: readonly string[];
|
|
11
|
+
/**
|
|
12
|
+
* Whether the user may type a custom answer. With `options`, adds an "other"
|
|
13
|
+
* radio revealing a text field; without options the card is free-text anyway.
|
|
14
|
+
*/
|
|
15
|
+
allowCustom?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/** Options for {@link requestQuestion}. */
|
|
18
|
+
export interface QuestionOptions {
|
|
19
|
+
/**
|
|
20
|
+
* Aborting this signal resolves the card with an empty answer and disabled
|
|
21
|
+
* fields — how a Stop control dismisses an open question.
|
|
22
|
+
*/
|
|
23
|
+
signal?: AbortSignal;
|
|
24
|
+
/** Localized strings; defaults to the English {@link DEFAULT_UI_STRINGS}. */
|
|
25
|
+
strings?: UiStrings;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A fully custom renderer for the `ask_user` question, set via
|
|
29
|
+
* `AgUiChat.askUserRenderer`. Receives the parsed {@link QuestionRequest} and an
|
|
30
|
+
* `AbortSignal` that fires when the run is stopped, and resolves with the user's
|
|
31
|
+
* answer; an empty string means no answer. Replaces the built-in
|
|
32
|
+
* {@link requestQuestion} card entirely — see {@link ApprovalRenderer} for the
|
|
33
|
+
* same seam on approvals.
|
|
34
|
+
*/
|
|
35
|
+
export type QuestionRenderer = (request: QuestionRequest, options: {
|
|
36
|
+
signal: AbortSignal;
|
|
37
|
+
}) => Promise<string>;
|
|
38
|
+
/**
|
|
39
|
+
* Append an inline question card to `host` and resolve with the user's answer —
|
|
40
|
+
* the browser half of the built-in `ask_user` frontend tool.
|
|
41
|
+
*
|
|
42
|
+
* Collects a typed answer rather than the yes/no the confirmation and approval
|
|
43
|
+
* cards return: a radio pick from `options`, or free text when `allowCustom` is
|
|
44
|
+
* set or no `options` are given. Stays in the transcript as a resolved record,
|
|
45
|
+
* controls disabled and `data-resolved` set; a Stop while it is open resolves
|
|
46
|
+
* it with an empty string.
|
|
47
|
+
*/
|
|
48
|
+
export declare function requestQuestion(host: Node & ParentNode, request: QuestionRequest, options?: QuestionOptions): Promise<string>;
|
|
49
|
+
//# sourceMappingURL=question_card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"question_card.d.ts","sourceRoot":"","sources":["../../../src/ui/interrupts/question_card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEtE,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,2CAA2C;AAC3C,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,KAC7B,OAAO,CAAC,MAAM,CAAC,CAAC;AAYrB;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,IAAI,GAAG,UAAU,EACvB,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAkJjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"question_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/interrupts/question_styles.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,EAAE,MAuE7B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where in the host application the user is: the page, tab or record on
|
|
3
|
+
* screen. The chip in the composer draws it and the next round sends it as one
|
|
4
|
+
* context entry, both from the same read, so the place the user sees is the
|
|
5
|
+
* place the agent is told.
|
|
6
|
+
*/
|
|
7
|
+
export interface Place {
|
|
8
|
+
/** Short name of the place, e.g. "Order #4821" or "Billing settings". */
|
|
9
|
+
readonly label: string;
|
|
10
|
+
/** A quieter second part, e.g. the section or the tab. */
|
|
11
|
+
readonly detail?: string;
|
|
12
|
+
/** An image URL for the chip's mark; a pin when absent. Never sent. */
|
|
13
|
+
readonly icon?: string;
|
|
14
|
+
/** Where the place lives. Sent to the agent, and what identifies the place. */
|
|
15
|
+
readonly href?: string;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=place.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place.d.ts","sourceRoot":"","sources":["../../../src/ui/place/place.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,KAAK;IACpB,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Context } from "@ag-ui/core";
|
|
2
|
+
import { type UiStrings } from "../ui_strings.js";
|
|
3
|
+
import type { Place } from "./place.js";
|
|
4
|
+
/**
|
|
5
|
+
* The "you are here" chip in the composer's tool row, and the context entry it stands for.
|
|
6
|
+
*
|
|
7
|
+
* The exclusion is keyed on the place: it holds across turns on the same place and lapses
|
|
8
|
+
* when a different one is read. A read of no place keeps it, so a page naming nothing
|
|
9
|
+
* mid-navigation does not undo it. Nothing persists, and nothing the host sets can lift it.
|
|
10
|
+
*/
|
|
11
|
+
export declare class PlaceChip {
|
|
12
|
+
#private;
|
|
13
|
+
readonly element: HTMLElement;
|
|
14
|
+
/** The same place for the collapsed bar, drawn by the same render. */
|
|
15
|
+
readonly barElement: HTMLElement;
|
|
16
|
+
constructor();
|
|
17
|
+
/** Wire the toggle for one connection, with the strings it resolved. */
|
|
18
|
+
mount(signal: AbortSignal, strings: UiStrings): void;
|
|
19
|
+
/** Show a fresh read; null hides the chip and sends nothing. */
|
|
20
|
+
update(place: Place | null): void;
|
|
21
|
+
/** Whether there is a place and the user withheld it, which withholds the page too. */
|
|
22
|
+
get withheld(): boolean;
|
|
23
|
+
/** The round's context entry: the place as shown, without its icon, or nothing. */
|
|
24
|
+
context(): Context[];
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=place_chip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place_chip.d.ts","sourceRoot":"","sources":["../../../src/ui/place/place_chip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ3C,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAaxC;;;;;;GAMG;AACH,qBAAa,SAAS;;IACpB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAiC;IAC9D,sEAAsE;IACtE,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAkC;IAWlE,cAyBC;IAED,wEAAwE;IACxE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,CAInD;IAED,gEAAgE;IAChE,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAMhC;IAED,uFAAuF;IACvF,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,mFAAmF;IACnF,OAAO,IAAI,OAAO,EAAE,CAWnB;CA0CF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RouteMap } from "../../tools/route_map.js";
|
|
2
|
+
import type { Place } from "./place.js";
|
|
3
|
+
/**
|
|
4
|
+
* The place a route map implies: the first route whose path template matches
|
|
5
|
+
* `pathname`, its title (else its id) as the label, its group as the detail,
|
|
6
|
+
* and the path as the href. Null when no route matches.
|
|
7
|
+
*/
|
|
8
|
+
export declare function placeFromRoute(routes: RouteMap, pathname: string): Place | null;
|
|
9
|
+
//# sourceMappingURL=place_from_route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place_from_route.d.ts","sourceRoot":"","sources":["../../../src/ui/place/place_from_route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAUxC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAU/E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/place/place_styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,EAAE,MAyG1B,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { LauncherBox, ViewportBox } from "./launcher_placement.js";
|
|
2
|
+
/**
|
|
3
|
+
* Keep a launcher fully on screen, and a little clear of the edge.
|
|
4
|
+
*
|
|
5
|
+
* Applied to a dragged position and again to a restored one, because the
|
|
6
|
+
* viewport that stored it may since have shrunk. A launcher parked past the
|
|
7
|
+
* edge is unreachable, and it is the only way back to a collapsed
|
|
8
|
+
* conversation.
|
|
9
|
+
*
|
|
10
|
+
* Not the panel's 24px gutter, which was rejected here on purpose: a launcher
|
|
11
|
+
* held that far in refuses the corners people actually drag it to. But not
|
|
12
|
+
* zero either -- the bubble is a circle with a drop shadow, and one flush
|
|
13
|
+
* against the boundary has its shadow cut and its curve running into the edge,
|
|
14
|
+
* which reads as clipped whether or not a pixel is actually missing.
|
|
15
|
+
*/
|
|
16
|
+
export declare function clampLauncher(launcher: LauncherBox, viewport: ViewportBox, margin?: number): {
|
|
17
|
+
readonly left: number;
|
|
18
|
+
readonly top: number;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=clamp_launcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clamp_launcher.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/clamp_launcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAExE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,WAAW,EACrB,MAAM,GAAE,MAA2B,GAClC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAgBjD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ViewportBox } from "./launcher_placement.js";
|
|
2
|
+
import type { PanelRect } from "./resize_handle.js";
|
|
3
|
+
/**
|
|
4
|
+
* Hold a panel inside the viewport, keeping its size.
|
|
5
|
+
*
|
|
6
|
+
* The near edge is clamped and the far edge follows, so a panel too large for
|
|
7
|
+
* the viewport is held against the near margin and left to the max-width and
|
|
8
|
+
* max-height rules rather than centred by force. The lower bound wins a
|
|
9
|
+
* contradiction for the same reason: `Math.min` first would put an oversized
|
|
10
|
+
* panel off the left edge instead of against the margin it can still honour.
|
|
11
|
+
*/
|
|
12
|
+
export declare function clampPanel(host: PanelRect, viewport: ViewportBox, margin?: number): PanelRect;
|
|
13
|
+
//# sourceMappingURL=clamp_panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clamp_panel.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/clamp_panel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,WAAW,EACrB,MAAM,GAAE,MAAoB,GAC3B,SAAS,CAYX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collapse_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/collapse_styles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,EAAE,MAmd7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dock_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/dock_styles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,EAAE,MA+GzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedded_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/embedded_styles.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,EAAE,MAY7B,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { LauncherBox, ViewportBox } from "./launcher_placement.js";
|
|
2
|
+
/** What the drag needs from its host to do its job. */
|
|
3
|
+
export interface LauncherDragOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Whether the current placement lets the launcher move, read per interaction
|
|
6
|
+
* because `placement` is a live attribute. A docked rail and a full-bleed
|
|
7
|
+
* layout have nowhere to move it to.
|
|
8
|
+
*/
|
|
9
|
+
readonly enabled: () => boolean;
|
|
10
|
+
/** The launcher's current box, in viewport coordinates. */
|
|
11
|
+
readonly rect: () => LauncherBox;
|
|
12
|
+
/** The viewport the launcher has to stay inside. */
|
|
13
|
+
readonly viewport: () => ViewportBox;
|
|
14
|
+
/** Put the launcher's top-left at this point. Called per pointer move. */
|
|
15
|
+
readonly apply: (left: number, top: number) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Called once per completed move, for persistence: on `pointerup` for a
|
|
18
|
+
* drag, and when the key comes up (or focus leaves) for a key press. Never
|
|
19
|
+
* per pointer move, and never per key repeat.
|
|
20
|
+
*/
|
|
21
|
+
readonly commit: (left: number, top: number) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Ends the launcher's own listeners when aborted. The launcher outlives the
|
|
24
|
+
* element's connection to the document and this is called on every connect,
|
|
25
|
+
* so without it a re-inserted element moved one arrow press two steps.
|
|
26
|
+
*/
|
|
27
|
+
readonly signal: AbortSignal;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Let the user drag the collapsed launcher anywhere on screen.
|
|
31
|
+
*
|
|
32
|
+
* The launcher is a button before it is a handle, and that ordering is the
|
|
33
|
+
* whole difficulty: every drag ends in a `click` the browser synthesises, which
|
|
34
|
+
* would expand the panel the user was only repositioning. So a completed drag
|
|
35
|
+
* arms a one-shot capture listener that eats exactly one click.
|
|
36
|
+
*
|
|
37
|
+
* Two things stop that from eating a click it should not have. A drag ending
|
|
38
|
+
* off the launcher never produces the click it armed, so the arming is cleared
|
|
39
|
+
* on the next `pointerdown` -- a pointer click is always preceded by a press,
|
|
40
|
+
* which puts the clearing ahead of any click it could reach.
|
|
41
|
+
*
|
|
42
|
+
* That leaves the clicks with no press in front of them at all: `Enter` and
|
|
43
|
+
* `Space` on the focused button, assistive technology activating it, and a host
|
|
44
|
+
* calling `click()` itself. None of those is the tail of a drag, and all of them
|
|
45
|
+
* are the only way in for someone not using a pointer, so the suppression is
|
|
46
|
+
* narrowed to clicks carrying a click count -- which is the pointer's own.
|
|
47
|
+
*/
|
|
48
|
+
export declare function enableLauncherDrag(launcher: HTMLElement, options: LauncherDragOptions): void;
|
|
49
|
+
//# sourceMappingURL=launcher_drag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launcher_drag.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/launcher_drag.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAExE,uDAAuD;AACvD,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC;IAChC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,WAAW,CAAC;IACjC,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,WAAW,CAAC;IACrC,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAaD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAgJ5F"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/** A box in viewport coordinates. */
|
|
2
|
+
export interface LauncherBox {
|
|
3
|
+
readonly left: number;
|
|
4
|
+
readonly top: number;
|
|
5
|
+
readonly width: number;
|
|
6
|
+
readonly height: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The part of the screen a widget may rest in: a width and height, and the
|
|
10
|
+
* corner they start from.
|
|
11
|
+
*
|
|
12
|
+
* The origin is not always zero. A host can reserve the edges its own chrome
|
|
13
|
+
* occupies, and a panel clamped against a viewport that starts at the top-left
|
|
14
|
+
* of the screen will happily park itself underneath a sticky header -- where it
|
|
15
|
+
* cannot be reached, and where collapsing it only hides it further.
|
|
16
|
+
*/
|
|
17
|
+
export interface ViewportBox extends Extent {
|
|
18
|
+
readonly left: number;
|
|
19
|
+
readonly top: number;
|
|
20
|
+
}
|
|
21
|
+
/** A width/height pair, in CSS pixels. */
|
|
22
|
+
export interface Extent {
|
|
23
|
+
readonly width: number;
|
|
24
|
+
readonly height: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The corner the panel is pinned by, and therefore grows away from: pinned
|
|
28
|
+
* `top-left` opens down and to the right. It is also the corner the resize grip
|
|
29
|
+
* must stay off, which is why the element stamps it rather than measuring it
|
|
30
|
+
* once the launcher has been moved.
|
|
31
|
+
*/
|
|
32
|
+
export interface ExpandCorner {
|
|
33
|
+
readonly x: "left" | "right";
|
|
34
|
+
readonly y: "top" | "bottom";
|
|
35
|
+
}
|
|
36
|
+
/** Where to put the host box, and where the launcher sits inside it. */
|
|
37
|
+
export interface LauncherPlacement {
|
|
38
|
+
/** The corner the panel opens away from. */
|
|
39
|
+
readonly corner: ExpandCorner;
|
|
40
|
+
/** An `inset` shorthand for the host box. */
|
|
41
|
+
readonly hostInset: string;
|
|
42
|
+
/** An `inset` shorthand for the launcher, relative to the host box. */
|
|
43
|
+
readonly launcherInset: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Decide where a panel should open from a launcher the user has dragged.
|
|
47
|
+
*
|
|
48
|
+
* The launcher is the fixed point: wherever it was dropped is where it stays,
|
|
49
|
+
* collapsed and expanded alike. Everything here decides what happens *around*
|
|
50
|
+
* it.
|
|
51
|
+
*
|
|
52
|
+
* Two steps, and they are separate on purpose:
|
|
53
|
+
*
|
|
54
|
+
* 1. **Pick the corner with the most clear space.** For each axis, compare the
|
|
55
|
+
* room a panel would have on either side of the launcher and pin the side
|
|
56
|
+
* with more of it. Pinning `left` means the panel runs rightward from the
|
|
57
|
+
* launcher's left edge, so the room that decides it is the distance from
|
|
58
|
+
* that edge to the far side of the viewport -- not "which half of the screen
|
|
59
|
+
* is the launcher in", which gives a different and worse answer for a
|
|
60
|
+
* launcher near the middle.
|
|
61
|
+
*
|
|
62
|
+
* 2. **Clamp the panel into the viewport, then put the launcher back.** A
|
|
63
|
+
* launcher near the centre of a short viewport has a panel taller than
|
|
64
|
+
* either side, so the winning corner still overflows. Clamping moves the
|
|
65
|
+
* host box -- and the launcher is positioned inside that box, so it would be
|
|
66
|
+
* dragged along with it. The launcher's own inset therefore carries the
|
|
67
|
+
* difference: zero in the ordinary case, and exactly the distance the clamp
|
|
68
|
+
* moved the box in the case that needs it. That the launcher may end up
|
|
69
|
+
* outside its own host box is fine; nothing clips it, and it keeps its own
|
|
70
|
+
* pointer events.
|
|
71
|
+
*
|
|
72
|
+
* Both insets are expressed from the *same* corner, which is what stops a
|
|
73
|
+
* later panel resize from dragging the launcher: the pinned corner is the one
|
|
74
|
+
* edge a resize cannot move.
|
|
75
|
+
*/
|
|
76
|
+
export declare function launcherPlacement(launcher: LauncherBox, panel: Extent, viewport: ViewportBox, screen: Extent, margin?: number): LauncherPlacement;
|
|
77
|
+
//# sourceMappingURL=launcher_placement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launcher_placement.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/launcher_placement.ts"],"names":[],"mappings":"AAIA,qCAAqC;AACrC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAY,SAAQ,MAAM;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,0CAA0C;AAC1C,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CAC9B;AAED,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAA2B,GAClC,iBAAiB,CA0CnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launcher_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/launcher_styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,EAAE,MA0L7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/page_styles.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,WAAW,EAAE,MA6CzB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { PanelRect } from "./resize_handle.js";
|
|
2
|
+
/** What the drag needs from its host to do its job. */
|
|
3
|
+
export interface PanelDragOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Whether the panel can be moved right now, read per interaction because
|
|
6
|
+
* both halves of the answer are live: a docked or full-bleed placement has
|
|
7
|
+
* nowhere to move the panel to, and a collapsed one has no panel on screen.
|
|
8
|
+
*/
|
|
9
|
+
readonly enabled: () => boolean;
|
|
10
|
+
/** The panel's current box, in viewport coordinates. */
|
|
11
|
+
readonly rect: () => PanelRect;
|
|
12
|
+
/**
|
|
13
|
+
* Put the panel at this box. Called per pointer move, with the box the press
|
|
14
|
+
* started on -- the whole gesture is one translation of that box, and a host
|
|
15
|
+
* with anything else to move alongside the panel needs the same distance
|
|
16
|
+
* rather than a distance measured from wherever the last move left things.
|
|
17
|
+
*/
|
|
18
|
+
readonly apply: (box: PanelRect, from: PanelRect) => void;
|
|
19
|
+
/** Called once per completed move, for persistence. Never per pointer move. */
|
|
20
|
+
readonly commit: (box: PanelRect, from: PanelRect) => void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Let the user move the whole widget by dragging the panel's header.
|
|
24
|
+
*
|
|
25
|
+
* The launcher can already be dragged, and this is the same gesture on the
|
|
26
|
+
* half of the widget that is on screen when it is open -- a chat panel is a
|
|
27
|
+
* window, and a window moves by its title bar. The two stay one position
|
|
28
|
+
* rather than two: the host answers a moved panel by moving the launcher with
|
|
29
|
+
* it, so collapsing after a drag leaves the launcher where the panel was.
|
|
30
|
+
*
|
|
31
|
+
* **No keyboard path here, deliberately.** Every other drag in this component
|
|
32
|
+
* has arrow keys on the handle, because the handle is a control and the
|
|
33
|
+
* capability is reachable nowhere else. A header is not a control: making it
|
|
34
|
+
* focusable would put a tab stop with no role in front of every keyboard user,
|
|
35
|
+
* ahead of the controls they actually came for. The capability is not lost --
|
|
36
|
+
* arrow keys on the collapsed launcher move the widget, and the panel follows
|
|
37
|
+
* it -- so what is missing is a shortcut, not the ability.
|
|
38
|
+
*/
|
|
39
|
+
export declare function enablePanelDrag(handle: HTMLElement, options: PanelDragOptions): void;
|
|
40
|
+
//# sourceMappingURL=panel_drag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panel_drag.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/panel_drag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC;IAChC,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1D,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CAC5D;AAgBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAkEpF"}
|