sparkdesign 0.4.3 → 0.4.4
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 +205 -111
- package/dist/_basePickBy-DnQN8w3y.js +151 -0
- package/dist/_basePickBy-a-kPMlkg.cjs +1 -0
- package/dist/_baseUniq-B-N2NQ50.js +614 -0
- package/dist/_baseUniq-Cc_zbSif.cjs +1 -0
- package/dist/arc-BQBhijZ6.js +83 -0
- package/dist/arc-mWQt0Yph.cjs +1 -0
- package/dist/architectureDiagram-VXUJARFQ-BMZEucno.cjs +36 -0
- package/dist/architectureDiagram-VXUJARFQ-DTdjD3Bp.js +4661 -0
- package/dist/blockDiagram-VD42YOAC-CzHn0yob.js +2256 -0
- package/dist/blockDiagram-VD42YOAC-DDxdHAlz.cjs +122 -0
- package/dist/c4Diagram-YG6GDRKO-4Gz0I4gj.cjs +10 -0
- package/dist/c4Diagram-YG6GDRKO-BIy--yVN.js +1580 -0
- package/dist/channel-BQn0o8bs.js +5 -0
- package/dist/channel-DaN7XniJ.cjs +1 -0
- package/dist/chunk-4BX2VUAB-BlQFTQqz.cjs +1 -0
- package/dist/chunk-4BX2VUAB-Czitj3Kc.js +8 -0
- package/dist/chunk-55IACEB6-DXacNZbO.js +8 -0
- package/dist/chunk-55IACEB6-DnDxpye9.cjs +1 -0
- package/dist/chunk-B4BG7PRW-CBdN0q_V.js +1375 -0
- package/dist/chunk-B4BG7PRW-DbGvUkGO.cjs +165 -0
- package/dist/chunk-DI55MBZ5-D1YJMs6x.cjs +220 -0
- package/dist/chunk-DI55MBZ5-NCQTvayw.js +1370 -0
- package/dist/chunk-FMBD7UC4-CsGMbrtr.js +19 -0
- package/dist/chunk-FMBD7UC4-Di7cUUh5.cjs +15 -0
- package/dist/chunk-QN33PNHL-0j5LC8Lm.cjs +1 -0
- package/dist/chunk-QN33PNHL-3GERZBRm.js +19 -0
- package/dist/chunk-QZHKN3VN-AVEY9ImQ.js +15 -0
- package/dist/chunk-QZHKN3VN-s8Z0a8mc.cjs +1 -0
- package/dist/chunk-TZMSLE5B-CAf87HPt.cjs +1 -0
- package/dist/chunk-TZMSLE5B-sbiflal0.js +64 -0
- package/dist/classDiagram-2ON5EDUG-Ct9JLIN2.cjs +1 -0
- package/dist/classDiagram-2ON5EDUG-Dzfrft3a.js +16 -0
- package/dist/classDiagram-v2-WZHVMYZB-Ct9JLIN2.cjs +1 -0
- package/dist/classDiagram-v2-WZHVMYZB-Dzfrft3a.js +16 -0
- package/dist/clone-Cde_NQ8V.js +8 -0
- package/dist/clone-DCNjWuM2.cjs +1 -0
- package/dist/cose-bilkent-S5V4N54A-0uLijMro.cjs +1 -0
- package/dist/cose-bilkent-S5V4N54A-Bb08N431.js +2608 -0
- package/dist/cytoscape.esm-CNUX3VTg.cjs +321 -0
- package/dist/cytoscape.esm-Cvf3sx9F.js +18704 -0
- package/dist/dagre-6UL2VRFP-CY_Wz5Zd.js +444 -0
- package/dist/dagre-6UL2VRFP-Dxe7_qZc.cjs +4 -0
- package/dist/defaultLocale-BgPVtth8.js +171 -0
- package/dist/defaultLocale-C4wbwF1n.cjs +1 -0
- package/dist/diagram-PSM6KHXK-D2bdb7MT.js +531 -0
- package/dist/diagram-PSM6KHXK-YF69SUjY.cjs +24 -0
- package/dist/diagram-QEK2KX5R-BpUSoh0-.js +217 -0
- package/dist/diagram-QEK2KX5R-DZPGteon.cjs +43 -0
- package/dist/diagram-S2PKOQOG-ht-zdvFG.cjs +24 -0
- package/dist/diagram-S2PKOQOG-zFeLJ50Z.js +142 -0
- package/dist/erDiagram-Q2GNP2WA-B38iJ6ts.js +841 -0
- package/dist/erDiagram-Q2GNP2WA-RgS80DDU.cjs +60 -0
- package/dist/flowDiagram-NV44I4VS-BHilOs2p.cjs +162 -0
- package/dist/flowDiagram-NV44I4VS-BrBJcoce.js +1620 -0
- package/dist/fonts/KaTeX_AMS-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_AMS-Regular.woff +0 -0
- package/dist/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- package/dist/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_Main-Bold.woff +0 -0
- package/dist/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- package/dist/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- package/dist/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-Italic.ttf +0 -0
- package/dist/fonts/KaTeX_Main-Italic.woff +0 -0
- package/dist/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Main-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- package/dist/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- package/dist/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/dist/fonts/KaTeX_Math-Italic.ttf +0 -0
- package/dist/fonts/KaTeX_Math-Italic.woff +0 -0
- package/dist/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/dist/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- package/dist/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- package/dist/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- package/dist/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/dist/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- package/dist/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Script-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Script-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size1-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size1-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size2-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size2-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size3-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size3-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size4-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size4-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/dist/ganttDiagram-JELNMOA3-pZiJeFio.cjs +267 -0
- package/dist/ganttDiagram-JELNMOA3-tw6FhkWJ.js +2670 -0
- package/dist/gitGraphDiagram-V2S2FVAM-BWn5uIK5.js +699 -0
- package/dist/gitGraphDiagram-V2S2FVAM-DKKeG-9R.cjs +65 -0
- package/dist/graph-DIbblrZP.cjs +1 -0
- package/dist/graph-DPcK91G3.js +247 -0
- package/dist/infoDiagram-HS3SLOUP-B8gwwhct.cjs +2 -0
- package/dist/infoDiagram-HS3SLOUP-D47PNcP_.js +24 -0
- package/dist/init-CHZsXQcr.cjs +1 -0
- package/dist/init-DjUOC4st.js +16 -0
- package/dist/journeyDiagram-XKPGCS4Q-BG3cfhyU.js +834 -0
- package/dist/journeyDiagram-XKPGCS4Q-D8DVLJof.cjs +139 -0
- package/dist/kanban-definition-3W4ZIXB7-4OCnEouP.cjs +89 -0
- package/dist/kanban-definition-3W4ZIXB7-CWi_ssF9.js +719 -0
- package/dist/katex.css +1 -0
- package/dist/layout-Byuh8f-J.cjs +1 -0
- package/dist/layout-CdLdvj1j.js +1335 -0
- package/dist/linear-C2Q_PI9B.js +259 -0
- package/dist/linear-C69aPBW1.cjs +1 -0
- package/dist/mermaid.core-DBwAx_jp.cjs +249 -0
- package/dist/mermaid.core-gFR0XUlD.js +15300 -0
- package/dist/mindmap-definition-VGOIOE7T-8P7obVV4.cjs +68 -0
- package/dist/mindmap-definition-VGOIOE7T-DnOa7WJ9.js +784 -0
- package/dist/ordinal-B6-f3MAq.js +61 -0
- package/dist/ordinal-CagbB1m8.cjs +1 -0
- package/dist/pieDiagram-ADFJNKIX-5NAlvhMo.js +161 -0
- package/dist/pieDiagram-ADFJNKIX-CQBG4yR9.cjs +30 -0
- package/dist/qoder-design.css +2 -0
- package/dist/quadrantDiagram-AYHSOK5B-Oe4y7RZ0.cjs +7 -0
- package/dist/quadrantDiagram-AYHSOK5B-rh2DPEP1.js +1022 -0
- package/dist/registry/basic/alert-dialog.d.ts +40 -0
- package/dist/registry/basic/avatar.d.ts +30 -0
- package/dist/registry/basic/button.d.ts +16 -0
- package/dist/registry/basic/collapse.d.ts +22 -0
- package/dist/registry/basic/collapsible-card.d.ts +34 -0
- package/dist/registry/basic/collapsible.d.ts +15 -0
- package/dist/registry/basic/dropdown-menu.d.ts +52 -0
- package/dist/registry/basic/icon-button.d.ts +12 -0
- package/dist/registry/basic/icons-inline.d.ts +51 -0
- package/dist/registry/basic/kbd.d.ts +23 -0
- package/dist/registry/basic/option-list.d.ts +16 -0
- package/dist/registry/basic/pagination.d.ts +33 -0
- package/dist/registry/basic/progress.d.ts +18 -0
- package/dist/registry/basic/radio-group.d.ts +25 -0
- package/dist/registry/basic/resizable.d.ts +318 -0
- package/dist/registry/basic/scrollbar.d.ts +12 -0
- package/dist/registry/basic/select.d.ts +35 -0
- package/dist/registry/basic/shimmering-text.d.ts +27 -0
- package/dist/registry/basic/sidebar-menu.d.ts +23 -0
- package/dist/registry/basic/skeleton.d.ts +10 -0
- package/dist/registry/basic/slider.d.ts +16 -0
- package/dist/registry/basic/sonner.d.ts +23 -0
- package/dist/registry/basic/spinner.d.ts +5 -0
- package/dist/registry/basic/switch.d.ts +20 -0
- package/dist/registry/basic/table.d.ts +18 -0
- package/dist/registry/basic/tabs.d.ts +29 -0
- package/dist/registry/basic/tag.d.ts +23 -0
- package/dist/registry/basic/theme-from-document.d.ts +10 -0
- package/dist/registry/basic/toggle.d.ts +29 -0
- package/dist/registry/basic/tooltip.d.ts +34 -0
- package/dist/registry/basic/typography.d.ts +76 -0
- package/dist/registry/chat/ask-user-part.d.ts +24 -0
- package/dist/registry/chat/browser-action-part.d.ts +28 -0
- package/dist/registry/chat/chat-input/chat-input-folder-selector.d.ts +22 -0
- package/dist/registry/chat/chat-input/chat-input-model-switcher.d.ts +12 -0
- package/dist/registry/chat/chat-input/chat-input-textarea.d.ts +9 -0
- package/dist/registry/chat/chat-input/compound.d.ts +97 -0
- package/dist/registry/chat/chat-input/context.d.ts +64 -0
- package/dist/registry/chat/chat-input/folder-permission-dialog.d.ts +11 -0
- package/dist/registry/chat/chat-input/index.d.ts +34 -0
- package/dist/registry/chat/chat-input/types.d.ts +79 -0
- package/dist/registry/chat/chat-input/useAutoResizeTextarea.d.ts +7 -0
- package/dist/registry/chat/code-block-part.d.ts +23 -0
- package/dist/registry/chat/file-attachment.d.ts +19 -0
- package/dist/registry/chat/file-card.d.ts +10 -0
- package/dist/registry/chat/file-review-part.d.ts +30 -0
- package/dist/registry/chat/folder-button.d.ts +20 -0
- package/dist/registry/chat/generated-images-grid.d.ts +15 -0
- package/dist/registry/chat/generation-status-bar.d.ts +19 -0
- package/dist/registry/chat/hint-banner.d.ts +28 -0
- package/dist/registry/chat/image-attachment.d.ts +19 -0
- package/dist/registry/chat/image-generating.d.ts +15 -0
- package/dist/registry/chat/markdown.d.ts +8 -0
- package/dist/registry/chat/mermaid-part.d.ts +17 -0
- package/dist/registry/chat/permission-card.d.ts +24 -0
- package/dist/registry/chat/plan-part.d.ts +30 -0
- package/dist/registry/chat/queue-indicator.d.ts +27 -0
- package/dist/registry/chat/reasoning-step/compound.d.ts +17 -0
- package/dist/registry/chat/reasoning-step/context.d.ts +10 -0
- package/dist/registry/chat/reasoning-step/index.d.ts +14 -0
- package/dist/registry/chat/reasoning-step/types.d.ts +95 -0
- package/dist/registry/chat/related-prompts.d.ts +23 -0
- package/dist/registry/chat/response/compound.d.ts +25 -0
- package/dist/registry/chat/response/context.d.ts +9 -0
- package/dist/registry/chat/response/index.d.ts +15 -0
- package/dist/registry/chat/response/types.d.ts +99 -0
- package/dist/registry/chat/send-button.d.ts +17 -0
- package/dist/registry/chat/streaming-markdown-block.d.ts +8 -0
- package/dist/registry/chat/task-part.d.ts +28 -0
- package/dist/registry/chat/terminal-code-block-part.d.ts +18 -0
- package/dist/registry/chat/thinking-indicator.d.ts +14 -0
- package/dist/registry/chat/tool-invocation-card.d.ts +20 -0
- package/dist/registry/chat/user-message.d.ts +6 -0
- package/dist/registry/chat/user-question/UserQuestionCard.d.ts +30 -0
- package/dist/registry/chat/user-question/UserQuestionFooter.d.ts +18 -0
- package/dist/registry/chat/user-question/UserQuestionHeader.d.ts +20 -0
- package/dist/registry/chat/user-question/compound.d.ts +37 -0
- package/dist/registry/chat/user-question/context.d.ts +55 -0
- package/dist/registry/chat/user-question/index.d.ts +15 -0
- package/dist/registry/chat/user-question/types.d.ts +52 -0
- package/dist/registry/chat/user-question/useUserQuestionKeyboard.d.ts +17 -0
- package/dist/registry/chat/user-question/useUserQuestionState.d.ts +26 -0
- package/dist/registry/chat/user-question-answer.d.ts +13 -0
- package/dist/registry/lib/file-icon-maps.d.ts +20 -0
- package/dist/registry/lib/use-mermaid-render.d.ts +5 -0
- package/dist/registry/lib/utils.d.ts +11 -0
- package/dist/requirementDiagram-UZGBJVZJ-DcWaCuXr.js +850 -0
- package/dist/requirementDiagram-UZGBJVZJ-gfdlrFiq.cjs +64 -0
- package/dist/sankeyDiagram-TZEHDZUN-CQIKFwD0.js +810 -0
- package/dist/sankeyDiagram-TZEHDZUN-DvPtzQvC.cjs +10 -0
- package/dist/scale/computed.css +103 -0
- package/dist/scale/config.css +110 -0
- package/dist/scale/index.css +30 -0
- package/dist/scale/presets/compact.css +30 -0
- package/dist/scale/presets/dense.css +64 -0
- package/dist/scale/presets/sharp.css +40 -0
- package/dist/scale/presets/soft.css +16 -0
- package/dist/scale.css +13 -0
- package/dist/sequenceDiagram-WL72ISMW-BNrsMagL.cjs +145 -0
- package/dist/sequenceDiagram-WL72ISMW-iCX3ckKx.js +2511 -0
- package/dist/spark-design.cjs.js +265 -0
- package/dist/spark-design.es.js +13486 -0
- package/dist/src/components/basic/AlertDialog/index.d.ts +20 -0
- package/dist/src/components/basic/Avatar/index.d.ts +7 -0
- package/dist/src/components/basic/Button/index.d.ts +7 -0
- package/dist/src/components/basic/Collapse/index.d.ts +15 -0
- package/dist/src/components/basic/Collapsible/index.d.ts +7 -0
- package/dist/src/components/basic/CollapsibleCard/index.d.ts +7 -0
- package/dist/src/components/basic/CollapsibleSection/index.d.ts +43 -0
- package/dist/src/components/basic/DropdownMenu/index.d.ts +19 -0
- package/dist/src/components/basic/EllipsisText/index.d.ts +53 -0
- package/dist/src/components/basic/IconButton/index.d.ts +7 -0
- package/dist/src/components/basic/Kbd/index.d.ts +7 -0
- package/dist/src/components/basic/OptionList/index.d.ts +7 -0
- package/dist/src/components/basic/Pagination/index.d.ts +7 -0
- package/dist/src/components/basic/Progress/index.d.ts +7 -0
- package/dist/src/components/basic/RadioGroup/index.d.ts +7 -0
- package/dist/src/components/basic/Resizable/index.d.ts +7 -0
- package/dist/src/components/basic/Scrollbar/index.d.ts +7 -0
- package/dist/src/components/basic/Select/index.d.ts +17 -0
- package/dist/src/components/basic/ShimmeringText/index.d.ts +7 -0
- package/dist/src/components/basic/SidebarMenu/index.d.ts +4 -0
- package/dist/src/components/basic/Skeleton/index.d.ts +7 -0
- package/dist/src/components/basic/Slider/index.d.ts +7 -0
- package/dist/src/components/basic/Spinner/index.d.ts +7 -0
- package/dist/src/components/basic/Switch/index.d.ts +38 -0
- package/dist/src/components/basic/Table/index.d.ts +7 -0
- package/dist/src/components/basic/Tabs/index.d.ts +7 -0
- package/dist/src/components/basic/Tag/index.d.ts +10 -0
- package/dist/src/components/basic/Toast/index.d.ts +12 -0
- package/dist/src/components/basic/Toggle/index.d.ts +7 -0
- package/dist/src/components/basic/Tooltip/index.d.ts +21 -0
- package/dist/src/components/basic/Typography/index.d.ts +7 -0
- package/dist/src/components/chat/AskUserPart/index.d.ts +6 -0
- package/dist/src/components/chat/BrowserActionPart/index.d.ts +7 -0
- package/dist/src/components/chat/ChatInput/index.d.ts +29 -0
- package/dist/src/components/chat/CodeBlockPart/index.d.ts +7 -0
- package/dist/src/components/chat/FileAttachment/index.d.ts +3 -0
- package/dist/src/components/chat/FileCard/index.d.ts +3 -0
- package/dist/src/components/chat/FileReviewPart/index.d.ts +7 -0
- package/dist/src/components/chat/FolderButton/index.d.ts +5 -0
- package/dist/src/components/chat/GeneratedImagesGrid/index.d.ts +7 -0
- package/dist/src/components/chat/GenerationStatusBar/index.d.ts +7 -0
- package/dist/src/components/chat/HintBanner/index.d.ts +6 -0
- package/dist/src/components/chat/ImageAttachment/index.d.ts +3 -0
- package/dist/src/components/chat/ImageGenerating/index.d.ts +6 -0
- package/dist/src/components/chat/Markdown/demo-content.d.ts +1 -0
- package/dist/src/components/chat/Markdown/index.d.ts +7 -0
- package/dist/src/components/chat/MermaidPart/index.d.ts +6 -0
- package/dist/src/components/chat/PermissionCard/index.d.ts +4 -0
- package/dist/src/components/chat/PlanPart/index.d.ts +6 -0
- package/dist/src/components/chat/QueueIndicator/index.d.ts +4 -0
- package/dist/src/components/chat/ReasoningStep/index.d.ts +13 -0
- package/dist/src/components/chat/RelatedPrompts/index.d.ts +6 -0
- package/dist/src/components/chat/Response/StreamingMarkdownBlock.d.ts +6 -0
- package/dist/src/components/chat/Response/index.d.ts +16 -0
- package/dist/src/components/chat/SendButton/index.d.ts +5 -0
- package/dist/src/components/chat/TaskPart/index.d.ts +7 -0
- package/dist/src/components/chat/TerminalCodeBlockPart/index.d.ts +6 -0
- package/dist/src/components/chat/ThinkingIndicator/index.d.ts +6 -0
- package/dist/src/components/chat/ToolInvocationCard/index.d.ts +4 -0
- package/dist/src/components/chat/UserMessage/index.d.ts +7 -0
- package/dist/src/components/chat/UserQuestion/index.d.ts +19 -0
- package/dist/src/components/chat/UserQuestionAnswer/index.d.ts +3 -0
- package/dist/src/components/index.d.ts +138 -0
- package/dist/src/icons/context.d.ts +26 -0
- package/dist/src/icons/types.d.ts +18 -0
- package/dist/src/lib/ThemeStyleContext.d.ts +134 -0
- package/dist/src/lib/file-icon.d.ts +16 -0
- package/dist/src/lib/i18n.d.ts +12 -0
- package/dist/src/lib/index.d.ts +10 -0
- package/dist/src/lib/motion.d.ts +22 -0
- package/dist/src/lib/utils.d.ts +11 -0
- package/dist/stateDiagram-FKZM4ZOC-DBvJ_eeL.cjs +1 -0
- package/dist/stateDiagram-FKZM4ZOC-ZVsJlaHJ.js +263 -0
- package/dist/stateDiagram-v2-4FDKWEC3-CB_nTHcE.js +16 -0
- package/dist/stateDiagram-v2-4FDKWEC3-Xkx17v6T.cjs +1 -0
- package/dist/theme-base.css +270 -0
- package/dist/theme.css +17 -0
- package/dist/themes/dark-parchment.css +133 -0
- package/dist/themes/dark-qoder.css +133 -0
- package/dist/themes/light-parchment.css +124 -0
- package/dist/themes/light-qoder.css +132 -0
- package/dist/timeline-definition-IT6M3QCI-BmGkYQiz.cjs +61 -0
- package/dist/timeline-definition-IT6M3QCI-Ck8zTt6w.js +795 -0
- package/dist/tokens/CLAUDE.md +305 -0
- package/dist/tokens/index.css +35 -0
- package/dist/tokens/scale/computed.css +103 -0
- package/dist/tokens/scale/config.css +110 -0
- package/dist/tokens/scale/index.css +30 -0
- package/dist/tokens/scale/presets/compact.css +30 -0
- package/dist/tokens/scale/presets/dense.css +64 -0
- package/dist/tokens/scale/presets/sharp.css +40 -0
- package/dist/tokens/scale/presets/soft.css +16 -0
- package/dist/tokens/scale.css +13 -0
- package/dist/tokens/scrollbar-utility.css +35 -0
- package/dist/tokens/theme-base.css +270 -0
- package/dist/tokens/theme.css +17 -0
- package/dist/tokens/themes/dark-parchment.css +133 -0
- package/dist/tokens/themes/dark-qoder.css +133 -0
- package/dist/tokens/themes/light-parchment.css +124 -0
- package/dist/tokens/themes/light-qoder.css +132 -0
- package/dist/treemap-GDKQZRPO-B9sfERx8.js +17922 -0
- package/dist/treemap-GDKQZRPO-BVfJRs0Z.cjs +160 -0
- package/dist/xychartDiagram-PRI3JC2R-By_S8NzN.js +1340 -0
- package/dist/xychartDiagram-PRI3JC2R-CNfDrGxM.cjs +7 -0
- package/package.json +128 -19
- /package/{dist → cli/dist}/commands/add.js +0 -0
- /package/{dist → cli/dist}/commands/diff.js +0 -0
- /package/{dist → cli/dist}/commands/init.js +0 -0
- /package/{dist → cli/dist}/commands/list.js +0 -0
- /package/{dist → cli/dist}/index.js +0 -0
- /package/{dist → cli/dist}/utils/config.js +0 -0
- /package/{dist → cli/dist}/utils/registry.js +0 -0
- /package/{dist → cli/dist}/utils/tokens.js +0 -0
- /package/{dist → cli/dist}/utils/transform.js +0 -0
- /package/{registry → cli/registry}/__tests__/basic/button.test.tsx +0 -0
- /package/{registry → cli/registry}/__tests__/chat/markdown.test.tsx +0 -0
- /package/{registry → cli/registry}/__tests__/chat/thinking-indicator.test.tsx +0 -0
- /package/{registry → cli/registry}/__tests__/chat/tool-invocation-card.test.tsx +0 -0
- /package/{registry → cli/registry}/basic/alert-dialog.tsx +0 -0
- /package/{registry → cli/registry}/basic/avatar.tsx +0 -0
- /package/{registry → cli/registry}/basic/button.tsx +0 -0
- /package/{registry → cli/registry}/basic/collapse.tsx +0 -0
- /package/{registry → cli/registry}/basic/collapsible-card.tsx +0 -0
- /package/{registry → cli/registry}/basic/collapsible.tsx +0 -0
- /package/{registry → cli/registry}/basic/dropdown-menu.tsx +0 -0
- /package/{registry → cli/registry}/basic/icon-button.tsx +0 -0
- /package/{registry → cli/registry}/basic/icons-inline.tsx +0 -0
- /package/{registry → cli/registry}/basic/kbd.tsx +0 -0
- /package/{registry → cli/registry}/basic/option-list.tsx +0 -0
- /package/{registry → cli/registry}/basic/pagination.tsx +0 -0
- /package/{registry → cli/registry}/basic/progress.tsx +0 -0
- /package/{registry → cli/registry}/basic/radio-group.tsx +0 -0
- /package/{registry → cli/registry}/basic/resizable.tsx +0 -0
- /package/{registry → cli/registry}/basic/scrollbar.tsx +0 -0
- /package/{registry → cli/registry}/basic/select.tsx +0 -0
- /package/{registry → cli/registry}/basic/shimmering-text.tsx +0 -0
- /package/{registry → cli/registry}/basic/sidebar-menu.tsx +0 -0
- /package/{registry → cli/registry}/basic/skeleton.tsx +0 -0
- /package/{registry → cli/registry}/basic/slider.tsx +0 -0
- /package/{registry → cli/registry}/basic/sonner.tsx +0 -0
- /package/{registry → cli/registry}/basic/spinner.tsx +0 -0
- /package/{registry → cli/registry}/basic/switch.tsx +0 -0
- /package/{registry → cli/registry}/basic/table.tsx +0 -0
- /package/{registry → cli/registry}/basic/tabs.tsx +0 -0
- /package/{registry → cli/registry}/basic/tag.tsx +0 -0
- /package/{registry → cli/registry}/basic/theme-from-document.ts +0 -0
- /package/{registry → cli/registry}/basic/toggle.tsx +0 -0
- /package/{registry → cli/registry}/basic/tooltip.tsx +0 -0
- /package/{registry → cli/registry}/basic/typography.tsx +0 -0
- /package/{registry → cli/registry}/chat/ask-user-part.tsx +0 -0
- /package/{registry → cli/registry}/chat/browser-action-part.tsx +0 -0
- /package/{registry → cli/registry}/chat/chat-input/chat-input-folder-selector.tsx +0 -0
- /package/{registry → cli/registry}/chat/chat-input/chat-input-model-switcher.tsx +0 -0
- /package/{registry → cli/registry}/chat/chat-input/chat-input-textarea.tsx +0 -0
- /package/{registry → cli/registry}/chat/chat-input/compound.tsx +0 -0
- /package/{registry → cli/registry}/chat/chat-input/context.tsx +0 -0
- /package/{registry → cli/registry}/chat/chat-input/folder-permission-dialog.tsx +0 -0
- /package/{registry → cli/registry}/chat/chat-input/index.tsx +0 -0
- /package/{registry → cli/registry}/chat/chat-input/types.ts +0 -0
- /package/{registry → cli/registry}/chat/chat-input/useAutoResizeTextarea.ts +0 -0
- /package/{registry → cli/registry}/chat/code-block-part.tsx +0 -0
- /package/{registry → cli/registry}/chat/file-attachment.tsx +0 -0
- /package/{registry → cli/registry}/chat/file-card.tsx +0 -0
- /package/{registry → cli/registry}/chat/file-review-part.tsx +0 -0
- /package/{registry → cli/registry}/chat/folder-button.tsx +0 -0
- /package/{registry → cli/registry}/chat/generated-images-grid.tsx +0 -0
- /package/{registry → cli/registry}/chat/generation-status-bar.tsx +0 -0
- /package/{registry → cli/registry}/chat/hint-banner.tsx +0 -0
- /package/{registry → cli/registry}/chat/image-attachment.tsx +0 -0
- /package/{registry → cli/registry}/chat/image-generating.tsx +0 -0
- /package/{registry → cli/registry}/chat/markdown.tsx +0 -0
- /package/{registry → cli/registry}/chat/mermaid-part.tsx +0 -0
- /package/{registry → cli/registry}/chat/permission-card.tsx +0 -0
- /package/{registry → cli/registry}/chat/plan-part.tsx +0 -0
- /package/{registry → cli/registry}/chat/queue-indicator.tsx +0 -0
- /package/{registry → cli/registry}/chat/reasoning-step/compound.tsx +0 -0
- /package/{registry → cli/registry}/chat/reasoning-step/context.tsx +0 -0
- /package/{registry → cli/registry}/chat/reasoning-step/index.tsx +0 -0
- /package/{registry → cli/registry}/chat/reasoning-step/types.ts +0 -0
- /package/{registry → cli/registry}/chat/related-prompts.tsx +0 -0
- /package/{registry → cli/registry}/chat/response/compound.tsx +0 -0
- /package/{registry → cli/registry}/chat/response/context.tsx +0 -0
- /package/{registry → cli/registry}/chat/response/index.tsx +0 -0
- /package/{registry → cli/registry}/chat/response/types.ts +0 -0
- /package/{registry → cli/registry}/chat/send-button.tsx +0 -0
- /package/{registry → cli/registry}/chat/streaming-markdown-block.tsx +0 -0
- /package/{registry → cli/registry}/chat/task-part.tsx +0 -0
- /package/{registry → cli/registry}/chat/terminal-code-block-part.tsx +0 -0
- /package/{registry → cli/registry}/chat/thinking-indicator.tsx +0 -0
- /package/{registry → cli/registry}/chat/tool-invocation-card.tsx +0 -0
- /package/{registry → cli/registry}/chat/user-message.tsx +0 -0
- /package/{registry → cli/registry}/chat/user-question/UserQuestionCard.tsx +0 -0
- /package/{registry → cli/registry}/chat/user-question/UserQuestionFooter.tsx +0 -0
- /package/{registry → cli/registry}/chat/user-question/UserQuestionHeader.tsx +0 -0
- /package/{registry → cli/registry}/chat/user-question/compound.tsx +0 -0
- /package/{registry → cli/registry}/chat/user-question/context.tsx +0 -0
- /package/{registry → cli/registry}/chat/user-question/index.tsx +0 -0
- /package/{registry → cli/registry}/chat/user-question/types.ts +0 -0
- /package/{registry → cli/registry}/chat/user-question/useUserQuestionKeyboard.ts +0 -0
- /package/{registry → cli/registry}/chat/user-question/useUserQuestionState.ts +0 -0
- /package/{registry → cli/registry}/chat/user-question-answer.tsx +0 -0
- /package/{registry → cli/registry}/lib/file-icon-maps.ts +0 -0
- /package/{registry → cli/registry}/lib/use-mermaid-render.ts +0 -0
- /package/{registry → cli/registry}/lib/utils.ts +0 -0
- /package/{registry → cli/registry}/meta.json +0 -0
- /package/{registry → cli/registry}/tokens/index.css +0 -0
- /package/{registry → cli/registry}/tokens/scale/computed.css +0 -0
- /package/{registry → cli/registry}/tokens/scale/config.css +0 -0
- /package/{registry → cli/registry}/tokens/scale/index.css +0 -0
- /package/{registry → cli/registry}/tokens/scale/presets/compact.css +0 -0
- /package/{registry → cli/registry}/tokens/scale/presets/dense.css +0 -0
- /package/{registry → cli/registry}/tokens/scale/presets/sharp.css +0 -0
- /package/{registry → cli/registry}/tokens/scale/presets/soft.css +0 -0
- /package/{registry → cli/registry}/tokens/scale.css +0 -0
- /package/{registry → cli/registry}/tokens/scrollbar-utility.css +0 -0
- /package/{registry → cli/registry}/tokens/theme.css +0 -0
- /package/{registry → cli/registry}/tokens/themes/dark-parchment.css +0 -0
- /package/{registry → cli/registry}/tokens/themes/dark-qoder.css +0 -0
- /package/{registry → cli/registry}/tokens/themes/light-parchment.css +0 -0
- /package/{registry → cli/registry}/tokens/themes/light-qoder.css +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: (TooltipProps)
|
|
3
|
+
* [OUTPUT]: (JSX.Element) - 工具提示组件
|
|
4
|
+
* [POS]: registry/basic/tooltip - 注册表模板,复制到用户项目后可自由修改
|
|
5
|
+
*
|
|
6
|
+
* [PROTOCOL]:
|
|
7
|
+
* 1. 用户可自由修改此文件
|
|
8
|
+
* 2. 更新时使用 npx sparkdesign diff tooltip 查看差异
|
|
9
|
+
*/
|
|
10
|
+
import * as React from 'react';
|
|
11
|
+
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
12
|
+
declare const TooltipProvider: React.FC<TooltipPrimitive.TooltipProviderProps>;
|
|
13
|
+
declare const TooltipRoot: React.FC<TooltipPrimitive.TooltipProps>;
|
|
14
|
+
declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
15
|
+
declare const TooltipContent: React.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
16
|
+
/** When provided (e.g. from ThemeStyleProvider), used for portal wrapper instead of getThemeFromDocument */
|
|
17
|
+
dataStyle?: string;
|
|
18
|
+
dataTheme?: string;
|
|
19
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
20
|
+
export interface TooltipProps {
|
|
21
|
+
content: React.ReactNode;
|
|
22
|
+
children: React.ReactNode;
|
|
23
|
+
side?: 'top' | 'right' | 'bottom' | 'left';
|
|
24
|
+
contentClassName?: string;
|
|
25
|
+
/** When provided, portal content uses this data-style (e.g. from ThemeStyleProvider) */
|
|
26
|
+
dataStyle?: string;
|
|
27
|
+
/** When provided, portal content uses this data-theme */
|
|
28
|
+
dataTheme?: string;
|
|
29
|
+
}
|
|
30
|
+
declare function Tooltip({ content, children, side, contentClassName, dataStyle, dataTheme }: TooltipProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
declare namespace Tooltip {
|
|
32
|
+
var displayName: string;
|
|
33
|
+
}
|
|
34
|
+
export { TooltipProvider, TooltipRoot, TooltipTrigger, TooltipContent, Tooltip, };
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: (Typography*Props)
|
|
3
|
+
* [OUTPUT]: (JSX.Element) - 排版组件(H1–H4, P, Blockquote 等)
|
|
4
|
+
* [POS]: registry/basic/typography - 注册表模板,复制到用户项目后可自由修改
|
|
5
|
+
*
|
|
6
|
+
* [PROTOCOL]:
|
|
7
|
+
* 1. 用户可自由修改此文件
|
|
8
|
+
* 2. 更新时使用 npx sparkdesign diff typography 查看差异
|
|
9
|
+
*/
|
|
10
|
+
import * as React from 'react';
|
|
11
|
+
export type TypographyH1Props = React.ComponentProps<'h1'>;
|
|
12
|
+
declare function TypographyH1({ className, ...props }: TypographyH1Props): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare namespace TypographyH1 {
|
|
14
|
+
var displayName: string;
|
|
15
|
+
}
|
|
16
|
+
export type TypographyH2Props = React.ComponentProps<'h2'>;
|
|
17
|
+
declare function TypographyH2({ className, ...props }: TypographyH2Props): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
declare namespace TypographyH2 {
|
|
19
|
+
var displayName: string;
|
|
20
|
+
}
|
|
21
|
+
export type TypographyH3Props = React.ComponentProps<'h3'>;
|
|
22
|
+
declare function TypographyH3({ className, ...props }: TypographyH3Props): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
declare namespace TypographyH3 {
|
|
24
|
+
var displayName: string;
|
|
25
|
+
}
|
|
26
|
+
export type TypographyH4Props = React.ComponentProps<'h4'>;
|
|
27
|
+
declare function TypographyH4({ className, ...props }: TypographyH4Props): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
declare namespace TypographyH4 {
|
|
29
|
+
var displayName: string;
|
|
30
|
+
}
|
|
31
|
+
export type TypographyPProps = React.ComponentProps<'p'>;
|
|
32
|
+
declare function TypographyP({ className, ...props }: TypographyPProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
declare namespace TypographyP {
|
|
34
|
+
var displayName: string;
|
|
35
|
+
}
|
|
36
|
+
export type TypographyBlockquoteProps = React.ComponentProps<'blockquote'>;
|
|
37
|
+
declare function TypographyBlockquote({ className, ...props }: TypographyBlockquoteProps): import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
declare namespace TypographyBlockquote {
|
|
39
|
+
var displayName: string;
|
|
40
|
+
}
|
|
41
|
+
export type TypographyTableProps = React.ComponentProps<'div'>;
|
|
42
|
+
declare function TypographyTable({ className, children, ..._rest }: TypographyTableProps): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
declare namespace TypographyTable {
|
|
44
|
+
var displayName: string;
|
|
45
|
+
}
|
|
46
|
+
export type TypographyListProps = React.ComponentProps<'ul'>;
|
|
47
|
+
declare function TypographyList({ className, ...props }: TypographyListProps): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
declare namespace TypographyList {
|
|
49
|
+
var displayName: string;
|
|
50
|
+
}
|
|
51
|
+
export type TypographyInlineCodeProps = React.ComponentProps<'code'>;
|
|
52
|
+
declare function TypographyInlineCode({ className, ...props }: TypographyInlineCodeProps): import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
declare namespace TypographyInlineCode {
|
|
54
|
+
var displayName: string;
|
|
55
|
+
}
|
|
56
|
+
export type TypographyLeadProps = React.ComponentProps<'p'>;
|
|
57
|
+
declare function TypographyLead({ className, ...props }: TypographyLeadProps): import("react/jsx-runtime").JSX.Element;
|
|
58
|
+
declare namespace TypographyLead {
|
|
59
|
+
var displayName: string;
|
|
60
|
+
}
|
|
61
|
+
export type TypographyLargeProps = React.ComponentProps<'div'>;
|
|
62
|
+
declare function TypographyLarge({ className, ...props }: TypographyLargeProps): import("react/jsx-runtime").JSX.Element;
|
|
63
|
+
declare namespace TypographyLarge {
|
|
64
|
+
var displayName: string;
|
|
65
|
+
}
|
|
66
|
+
export type TypographySmallProps = React.ComponentProps<'small'>;
|
|
67
|
+
declare function TypographySmall({ className, ...props }: TypographySmallProps): import("react/jsx-runtime").JSX.Element;
|
|
68
|
+
declare namespace TypographySmall {
|
|
69
|
+
var displayName: string;
|
|
70
|
+
}
|
|
71
|
+
export type TypographyMutedProps = React.ComponentProps<'p'>;
|
|
72
|
+
declare function TypographyMuted({ className, ...props }: TypographyMutedProps): import("react/jsx-runtime").JSX.Element;
|
|
73
|
+
declare namespace TypographyMuted {
|
|
74
|
+
var displayName: string;
|
|
75
|
+
}
|
|
76
|
+
export { TypographyH1, TypographyH2, TypographyH3, TypographyH4, TypographyP, TypographyBlockquote, TypographyTable, TypographyList, TypographyInlineCode, TypographyLead, TypographyLarge, TypographySmall, TypographyMuted, };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: (AskUserPartProps) - title、question、skipText/runText;可选 headerIcon,未指定则用内联 SVG
|
|
3
|
+
* [OUTPUT]: (JSX.Element)
|
|
4
|
+
* [POS]: registry/chat - AI 向用户询问确认的卡片组件
|
|
5
|
+
*/
|
|
6
|
+
import type { ReactNode } from 'react';
|
|
7
|
+
export interface AskUserPartProps {
|
|
8
|
+
title?: string;
|
|
9
|
+
question: string;
|
|
10
|
+
skipText?: string;
|
|
11
|
+
runText?: string;
|
|
12
|
+
askTimeText?: string;
|
|
13
|
+
onSkip?: () => void;
|
|
14
|
+
onRun?: () => void;
|
|
15
|
+
onAskTimeChange?: (value: string) => void;
|
|
16
|
+
contentMaxHeight?: number;
|
|
17
|
+
collapsible?: boolean;
|
|
18
|
+
className?: string;
|
|
19
|
+
headerIcon?: ReactNode;
|
|
20
|
+
}
|
|
21
|
+
export declare function AskUserPart({ title, question, skipText, runText, askTimeText, onSkip, onRun, contentMaxHeight, collapsible, className, headerIcon, }: AskUserPartProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export declare namespace AskUserPart {
|
|
23
|
+
var displayName: string;
|
|
24
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: (BrowserActionPartProps) - description、content、status;可选 normalIcon/failedIcon/skippedIcon,未指定则用内联 SVG
|
|
3
|
+
* [OUTPUT]: (JSX.Element)
|
|
4
|
+
* [POS]: registry/chat - AI Agent 浏览器操作卡片组件
|
|
5
|
+
*/
|
|
6
|
+
import { type ReactNode } from 'react';
|
|
7
|
+
export type BrowserActionStatus = 'normal' | 'failed' | 'skipped';
|
|
8
|
+
export interface BrowserActionPartProps {
|
|
9
|
+
description?: string;
|
|
10
|
+
content?: string;
|
|
11
|
+
status?: BrowserActionStatus;
|
|
12
|
+
onRun?: () => void;
|
|
13
|
+
onSkip?: () => void;
|
|
14
|
+
onViewDetail?: () => void;
|
|
15
|
+
onAskEveryTimeChange?: (value: string) => void;
|
|
16
|
+
className?: string;
|
|
17
|
+
/** 供 Select 下拉浮层继承布局风格(如 dense),不传则从 document 读取 */
|
|
18
|
+
dataStyle?: string;
|
|
19
|
+
/** 供 Select 下拉浮层继承颜色主题,不传则从 document 读取 */
|
|
20
|
+
dataTheme?: string;
|
|
21
|
+
normalIcon?: ReactNode;
|
|
22
|
+
failedIcon?: ReactNode;
|
|
23
|
+
skippedIcon?: ReactNode;
|
|
24
|
+
}
|
|
25
|
+
export declare function BrowserActionPart({ description, content, status, onRun, onSkip, onViewDetail, onAskEveryTimeChange, className, dataStyle, dataTheme, normalIcon, failedIcon, skippedIcon, }: BrowserActionPartProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export declare namespace BrowserActionPart {
|
|
27
|
+
var displayName: string;
|
|
28
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { FolderPermissionConfig } from './types';
|
|
2
|
+
export interface ChatInputFolderSelectorProps {
|
|
3
|
+
disabled: boolean;
|
|
4
|
+
folderButtonLabel: string;
|
|
5
|
+
folderPermission?: FolderPermissionConfig;
|
|
6
|
+
onFolderButtonClick?: () => void;
|
|
7
|
+
onFolderClear?: () => void;
|
|
8
|
+
onFolderSelect: (files: FileList) => void;
|
|
9
|
+
hasFolderSelected: boolean;
|
|
10
|
+
dataStyle?: string;
|
|
11
|
+
dataTheme?: string;
|
|
12
|
+
folderIcon?: React.ReactNode;
|
|
13
|
+
folderOpenIcon?: React.ReactNode;
|
|
14
|
+
historyIcon?: React.ReactNode;
|
|
15
|
+
subMenuArrowIcon?: React.ReactNode;
|
|
16
|
+
folderFillIcon?: React.ReactNode;
|
|
17
|
+
closeIcon?: React.ReactNode;
|
|
18
|
+
}
|
|
19
|
+
export declare function ChatInputFolderSelector({ disabled, folderButtonLabel, folderPermission, onFolderButtonClick, onFolderClear, onFolderSelect, hasFolderSelected, dataStyle, dataTheme, folderIcon, folderOpenIcon, historyIcon, subMenuArrowIcon, folderFillIcon, closeIcon, }: ChatInputFolderSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export declare namespace ChatInputFolderSelector {
|
|
21
|
+
var displayName: string;
|
|
22
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FooterLeftModelSwitchConfig } from './types';
|
|
2
|
+
export interface ChatInputModelSwitcherProps {
|
|
3
|
+
config: FooterLeftModelSwitchConfig;
|
|
4
|
+
disabled: boolean;
|
|
5
|
+
arrowDownIcon?: React.ReactNode;
|
|
6
|
+
dataStyle?: string;
|
|
7
|
+
dataTheme?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function ChatInputModelSwitcher({ config, disabled, dataStyle, dataTheme, arrowDownIcon, }: ChatInputModelSwitcherProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare namespace ChatInputModelSwitcher {
|
|
11
|
+
var displayName: string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface ChatInputTextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'value' | 'onChange'> {
|
|
2
|
+
value: string;
|
|
3
|
+
onChange?: (value: string) => void;
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
maxRows?: number;
|
|
7
|
+
onKeyDown?: (e: React.KeyboardEvent<HTMLTextAreaElement>) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const ChatInputTextarea: import("react").ForwardRefExoticComponent<ChatInputTextareaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: 各复合组件的 props,或从 Context 消费
|
|
3
|
+
* [OUTPUT]: ChatInput.Above / Box / Attachments / Input / Actions / ActionsLeft / ActionsRight / ExpandButton / FolderButton / MoreButton / SendButton / DefaultLayout
|
|
4
|
+
* [POS]: registry/chat/chat-input - 四层结构复合组件,见 docs/ChatInput四层结构设计.md
|
|
5
|
+
*
|
|
6
|
+
* [PROTOCOL]:
|
|
7
|
+
* 1. 所有子组件必须在 ChatInput.Root 内使用
|
|
8
|
+
* 2. 布局与层级与设计文档一一对应
|
|
9
|
+
*/
|
|
10
|
+
import React from 'react';
|
|
11
|
+
import type { ReactNode } from 'react';
|
|
12
|
+
import { ChatInputTextarea } from './chat-input-textarea';
|
|
13
|
+
export interface ChatInputAboveProps {
|
|
14
|
+
className?: string;
|
|
15
|
+
style?: React.CSSProperties;
|
|
16
|
+
children?: ReactNode;
|
|
17
|
+
}
|
|
18
|
+
export declare function ChatInputAbove({ className, style, children }: ChatInputAboveProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export declare namespace ChatInputAbove {
|
|
20
|
+
var displayName: string;
|
|
21
|
+
}
|
|
22
|
+
export interface ChatInputBoxProps {
|
|
23
|
+
className?: string;
|
|
24
|
+
children?: ReactNode;
|
|
25
|
+
}
|
|
26
|
+
export declare function ChatInputBox({ className, children }: ChatInputBoxProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare namespace ChatInputBox {
|
|
28
|
+
var displayName: string;
|
|
29
|
+
}
|
|
30
|
+
export interface ChatInputAttachmentsProps {
|
|
31
|
+
className?: string;
|
|
32
|
+
children?: ReactNode;
|
|
33
|
+
}
|
|
34
|
+
export declare function ChatInputAttachments({ className, children }: ChatInputAttachmentsProps): import("react/jsx-runtime").JSX.Element | null;
|
|
35
|
+
export declare namespace ChatInputAttachments {
|
|
36
|
+
var displayName: string;
|
|
37
|
+
}
|
|
38
|
+
export interface ChatInputInputProps extends Omit<React.ComponentProps<typeof ChatInputTextarea>, 'value' | 'onChange' | 'onKeyDown'> {
|
|
39
|
+
placeholder?: string;
|
|
40
|
+
maxRows?: number;
|
|
41
|
+
}
|
|
42
|
+
export declare const ChatInputInput: React.ForwardRefExoticComponent<Omit<ChatInputInputProps, "ref"> & React.RefAttributes<HTMLTextAreaElement>>;
|
|
43
|
+
export interface ChatInputActionsProps {
|
|
44
|
+
className?: string;
|
|
45
|
+
children?: ReactNode;
|
|
46
|
+
}
|
|
47
|
+
export declare function ChatInputActions({ className, children }: ChatInputActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
export declare namespace ChatInputActions {
|
|
49
|
+
var displayName: string;
|
|
50
|
+
}
|
|
51
|
+
export interface ChatInputActionsLeftProps {
|
|
52
|
+
className?: string;
|
|
53
|
+
children?: ReactNode;
|
|
54
|
+
}
|
|
55
|
+
export declare function ChatInputActionsLeft({ className, children }: ChatInputActionsLeftProps): import("react/jsx-runtime").JSX.Element;
|
|
56
|
+
export declare namespace ChatInputActionsLeft {
|
|
57
|
+
var displayName: string;
|
|
58
|
+
}
|
|
59
|
+
export interface ChatInputActionsRightProps {
|
|
60
|
+
className?: string;
|
|
61
|
+
children?: ReactNode;
|
|
62
|
+
}
|
|
63
|
+
export declare function ChatInputActionsRight({ className, children }: ChatInputActionsRightProps): import("react/jsx-runtime").JSX.Element;
|
|
64
|
+
export declare namespace ChatInputActionsRight {
|
|
65
|
+
var displayName: string;
|
|
66
|
+
}
|
|
67
|
+
export interface ChatInputExpandButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
|
|
68
|
+
children?: ReactNode;
|
|
69
|
+
}
|
|
70
|
+
export declare function ChatInputExpandButton({ className, style, ...props }: ChatInputExpandButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
71
|
+
export declare namespace ChatInputExpandButton {
|
|
72
|
+
var displayName: string;
|
|
73
|
+
}
|
|
74
|
+
export declare function ChatInputFolderButton(): import("react/jsx-runtime").JSX.Element | null;
|
|
75
|
+
export declare namespace ChatInputFolderButton {
|
|
76
|
+
var displayName: string;
|
|
77
|
+
}
|
|
78
|
+
export declare function ChatInputMoreButton(): import("react/jsx-runtime").JSX.Element | null;
|
|
79
|
+
export declare namespace ChatInputMoreButton {
|
|
80
|
+
var displayName: string;
|
|
81
|
+
}
|
|
82
|
+
export declare function ChatInputSendButton(): import("react/jsx-runtime").JSX.Element;
|
|
83
|
+
export declare namespace ChatInputSendButton {
|
|
84
|
+
var displayName: string;
|
|
85
|
+
}
|
|
86
|
+
export declare function ChatInputFooterLeft(): import("react/jsx-runtime").JSX.Element;
|
|
87
|
+
export declare namespace ChatInputFooterLeft {
|
|
88
|
+
var displayName: string;
|
|
89
|
+
}
|
|
90
|
+
export interface ChatInputDefaultLayoutProps {
|
|
91
|
+
className?: string;
|
|
92
|
+
hasAbove?: boolean;
|
|
93
|
+
hasAttachments?: boolean;
|
|
94
|
+
hasFooter?: boolean;
|
|
95
|
+
aboveOverlap?: boolean;
|
|
96
|
+
}
|
|
97
|
+
export declare const ChatInputDefaultLayout: React.ForwardRefExoticComponent<ChatInputDefaultLayoutProps & React.RefAttributes<HTMLTextAreaElement>>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: (ChatInputContextValue) - 由 Root 注入
|
|
3
|
+
* [OUTPUT]: Context + Provider + Hook
|
|
4
|
+
* [POS]: registry/chat/chat-input - 复合组件共享状态
|
|
5
|
+
*
|
|
6
|
+
* [PROTOCOL]:
|
|
7
|
+
* 1. 仅被 Root 与复合子组件使用
|
|
8
|
+
* 2. 新增/删除状态时同步更新 ChatInputContextValue 与 Root 中的初值
|
|
9
|
+
*/
|
|
10
|
+
import React from 'react';
|
|
11
|
+
import type { ReactNode } from 'react';
|
|
12
|
+
import type { ChatInputProps, FolderPermissionConfig, GenerationStatusConfig, FooterLeftModelSwitchConfig } from './types';
|
|
13
|
+
export interface ChatInputContextValue {
|
|
14
|
+
dataStyle?: string;
|
|
15
|
+
dataTheme?: string;
|
|
16
|
+
value: string;
|
|
17
|
+
onChange: (value: string) => void;
|
|
18
|
+
onSend?: (value: string) => void;
|
|
19
|
+
disabled: boolean;
|
|
20
|
+
form?: string;
|
|
21
|
+
textareaRef: React.RefObject<HTMLTextAreaElement | null>;
|
|
22
|
+
setTextareaRef: (node: HTMLTextAreaElement | null) => void;
|
|
23
|
+
handleSend: () => void;
|
|
24
|
+
handleKeyDown: (e: React.KeyboardEvent<HTMLTextAreaElement>) => void;
|
|
25
|
+
sendButtonStatus: 'normal' | 'generating';
|
|
26
|
+
canSend: boolean;
|
|
27
|
+
hasFolderSelected: boolean;
|
|
28
|
+
setHasFolderSelected: (v: boolean) => void;
|
|
29
|
+
handleFolderSelect: (files: FileList) => void;
|
|
30
|
+
handleFolderClear: () => void;
|
|
31
|
+
folderPermission?: FolderPermissionConfig;
|
|
32
|
+
footerLeftConfig?: FooterLeftModelSwitchConfig;
|
|
33
|
+
showFolderButton: boolean;
|
|
34
|
+
showMoreButton: boolean;
|
|
35
|
+
folderButtonLabel: string;
|
|
36
|
+
onFolderButtonClick?: () => void;
|
|
37
|
+
onFolderClear?: () => void;
|
|
38
|
+
onMoreButtonClick?: () => void;
|
|
39
|
+
addLargeIcon?: ReactNode;
|
|
40
|
+
folderIcon?: ReactNode;
|
|
41
|
+
folderOpenIcon?: ReactNode;
|
|
42
|
+
historyIcon?: ReactNode;
|
|
43
|
+
arrowDownIcon?: ReactNode;
|
|
44
|
+
subMenuArrowIcon?: ReactNode;
|
|
45
|
+
folderFillIcon?: ReactNode;
|
|
46
|
+
closeIcon?: ReactNode;
|
|
47
|
+
showGenerationStatus?: boolean;
|
|
48
|
+
generationStatus?: GenerationStatusConfig;
|
|
49
|
+
attachments?: {
|
|
50
|
+
files?: ReactNode;
|
|
51
|
+
images?: ReactNode;
|
|
52
|
+
} | ReactNode;
|
|
53
|
+
showFooter?: boolean;
|
|
54
|
+
}
|
|
55
|
+
declare const ChatInputContext: React.Context<ChatInputContextValue | null>;
|
|
56
|
+
export declare function useChatInputContext(): ChatInputContextValue;
|
|
57
|
+
export type ChatInputRootProps = ChatInputProps & {
|
|
58
|
+
children?: ReactNode;
|
|
59
|
+
};
|
|
60
|
+
export declare function ChatInputRootProvider({ value: controlledValue, onChange, onSend, placeholder, disabled, maxRows, form, sendButtonStatus, showFooter, showFolderButton, folderButtonLabel, onFolderButtonClick, onFolderClear, folderPermission, showMoreButton, onMoreButtonClick, footerLeftConfig, showGenerationStatus, generationStatus, attachments, addLargeIcon, folderIcon, folderOpenIcon, historyIcon, arrowDownIcon, subMenuArrowIcon, folderFillIcon, closeIcon, dataStyle, dataTheme, className, children, ...rest }: ChatInputRootProps): import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
export declare namespace ChatInputRootProvider {
|
|
62
|
+
var displayName: string;
|
|
63
|
+
}
|
|
64
|
+
export { ChatInputContext };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface FolderPermissionDialogProps {
|
|
2
|
+
open: boolean;
|
|
3
|
+
onOpenChange: (open: boolean) => void;
|
|
4
|
+
projectName: string;
|
|
5
|
+
onAllowOnce: () => void;
|
|
6
|
+
onAllowAlways: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function FolderPermissionDialog({ open, onOpenChange, projectName, onAllowOnce, onAllowAlways, }: FolderPermissionDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare namespace FolderPermissionDialog {
|
|
10
|
+
var displayName: string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: (ChatInputProps) 或 复合用法 ChatInputRoot + Above/Box/…(主 API)
|
|
3
|
+
* [OUTPUT]: (JSX.Element)
|
|
4
|
+
* [POS]: registry/chat/chat-input - 依赖 send-button, generation-status-bar, icon-button, 子组件
|
|
5
|
+
*
|
|
6
|
+
* [PROTOCOL]:
|
|
7
|
+
* 1. 主 API 为复合组件(Root/Above/Box/Input/Actions/SendButton 等);ChatInput 仅为默认组合的便捷导出。
|
|
8
|
+
* 2. 文件逻辑变更时同步更新 Header、types.ts;见 docs/ChatInput四层结构设计.md
|
|
9
|
+
*/
|
|
10
|
+
import React from 'react';
|
|
11
|
+
import { ChatInputRootProvider } from './context';
|
|
12
|
+
import { ChatInputAbove, ChatInputBox, ChatInputAttachments, ChatInputInput, ChatInputActions, ChatInputActionsLeft, ChatInputActionsRight, ChatInputExpandButton, ChatInputFolderButton, ChatInputMoreButton, ChatInputSendButton, ChatInputFooterLeft } from './compound';
|
|
13
|
+
import type { ChatInputProps } from './types';
|
|
14
|
+
export type { ChatInputProps, FolderPermissionConfig, GenerationStatusConfig, FooterLeftModelSwitchConfig, FooterLeftModelSwitchItem, } from './types';
|
|
15
|
+
export interface ChatInputCompound {
|
|
16
|
+
Root: typeof ChatInputRootProvider;
|
|
17
|
+
Above: typeof ChatInputAbove;
|
|
18
|
+
Box: typeof ChatInputBox;
|
|
19
|
+
Attachments: typeof ChatInputAttachments;
|
|
20
|
+
Input: typeof ChatInputInput;
|
|
21
|
+
Actions: typeof ChatInputActions;
|
|
22
|
+
ActionsLeft: typeof ChatInputActionsLeft;
|
|
23
|
+
ActionsRight: typeof ChatInputActionsRight;
|
|
24
|
+
ExpandButton: typeof ChatInputExpandButton;
|
|
25
|
+
FolderButton: typeof ChatInputFolderButton;
|
|
26
|
+
MoreButton: typeof ChatInputMoreButton;
|
|
27
|
+
SendButton: typeof ChatInputSendButton;
|
|
28
|
+
FooterLeft: typeof ChatInputFooterLeft;
|
|
29
|
+
}
|
|
30
|
+
export declare const ChatInput: React.ForwardRefExoticComponent<ChatInputProps & React.RefAttributes<HTMLTextAreaElement>> & ChatInputCompound;
|
|
31
|
+
export { ChatInputRootProvider as ChatInputRoot } from './context';
|
|
32
|
+
export { ChatInputAbove, ChatInputBox, ChatInputAttachments, ChatInputInput, ChatInputActions, ChatInputActionsLeft, ChatInputActionsRight, ChatInputExpandButton, ChatInputFolderButton, ChatInputMoreButton, ChatInputSendButton, ChatInputFooterLeft, } from './compound';
|
|
33
|
+
export type { ChatInputRootProps } from './context';
|
|
34
|
+
export type { ChatInputAboveProps, ChatInputBoxProps, ChatInputAttachmentsProps, ChatInputInputProps, ChatInputActionsProps, ChatInputActionsLeftProps, ChatInputActionsRightProps, ChatInputExpandButtonProps, } from './compound';
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: 无
|
|
3
|
+
* [OUTPUT]: 类型导出
|
|
4
|
+
* [POS]: registry/chat/chat-input - ChatInput 类型定义
|
|
5
|
+
*/
|
|
6
|
+
import type { TextareaHTMLAttributes, ReactNode } from 'react';
|
|
7
|
+
export type InputPropsWithWebkitDirectory = React.InputHTMLAttributes<HTMLInputElement> & {
|
|
8
|
+
webkitdirectory?: string;
|
|
9
|
+
};
|
|
10
|
+
export interface FolderPermissionConfig {
|
|
11
|
+
enable?: boolean;
|
|
12
|
+
projectName?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface GenerationStatusConfig {
|
|
15
|
+
content?: ReactNode;
|
|
16
|
+
icon?: ReactNode;
|
|
17
|
+
time?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface FooterLeftModelSwitchItem {
|
|
20
|
+
value: string;
|
|
21
|
+
label: string;
|
|
22
|
+
icon?: ReactNode;
|
|
23
|
+
}
|
|
24
|
+
export interface FooterLeftModelSwitchConfig {
|
|
25
|
+
modeSwitch: {
|
|
26
|
+
icon?: ReactNode;
|
|
27
|
+
label: string;
|
|
28
|
+
value: string;
|
|
29
|
+
options: FooterLeftModelSwitchItem[];
|
|
30
|
+
onChange: (value: string) => void;
|
|
31
|
+
};
|
|
32
|
+
modelSwitch: {
|
|
33
|
+
label: string;
|
|
34
|
+
value: string;
|
|
35
|
+
options: FooterLeftModelSwitchItem[];
|
|
36
|
+
onChange: (value: string) => void;
|
|
37
|
+
};
|
|
38
|
+
consumptionMultiplier: {
|
|
39
|
+
value: string;
|
|
40
|
+
options?: FooterLeftModelSwitchItem[];
|
|
41
|
+
onChange?: (value: string) => void;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export interface ChatInputProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'onChange' | 'value'> {
|
|
45
|
+
value?: string;
|
|
46
|
+
onChange?: (value: string) => void;
|
|
47
|
+
onSend?: (value: string) => void;
|
|
48
|
+
placeholder?: string;
|
|
49
|
+
disabled?: boolean;
|
|
50
|
+
maxRows?: number;
|
|
51
|
+
form?: string;
|
|
52
|
+
attachments?: {
|
|
53
|
+
files?: ReactNode;
|
|
54
|
+
images?: ReactNode;
|
|
55
|
+
} | ReactNode;
|
|
56
|
+
showFooter?: boolean;
|
|
57
|
+
showFolderButton?: boolean;
|
|
58
|
+
folderButtonLabel?: string;
|
|
59
|
+
onFolderButtonClick?: () => void;
|
|
60
|
+
onFolderClear?: () => void;
|
|
61
|
+
folderPermission?: FolderPermissionConfig;
|
|
62
|
+
showMoreButton?: boolean;
|
|
63
|
+
onMoreButtonClick?: () => void;
|
|
64
|
+
footerLeftConfig?: FooterLeftModelSwitchConfig;
|
|
65
|
+
sendButtonStatus?: 'normal' | 'generating';
|
|
66
|
+
showGenerationStatus?: boolean;
|
|
67
|
+
generationStatus?: GenerationStatusConfig;
|
|
68
|
+
addLargeIcon?: ReactNode;
|
|
69
|
+
folderIcon?: ReactNode;
|
|
70
|
+
folderOpenIcon?: ReactNode;
|
|
71
|
+
historyIcon?: ReactNode;
|
|
72
|
+
arrowDownIcon?: ReactNode;
|
|
73
|
+
subMenuArrowIcon?: ReactNode;
|
|
74
|
+
folderFillIcon?: ReactNode;
|
|
75
|
+
closeIcon?: ReactNode;
|
|
76
|
+
/** 供 Portal 浮层继承(Showcase 预览区等场景),不传则由 dropdown-menu 使用 getThemeFromDocument() 兜底 */
|
|
77
|
+
dataStyle?: string;
|
|
78
|
+
dataTheme?: string;
|
|
79
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: (textareaRef, value, maxRows)
|
|
3
|
+
* [OUTPUT]: void
|
|
4
|
+
* [POS]: registry/chat/chat-input
|
|
5
|
+
*/
|
|
6
|
+
import { type RefObject } from 'react';
|
|
7
|
+
export declare function useAutoResizeTextarea(textareaRef: RefObject<HTMLTextAreaElement | null>, value: string, maxRows: number): void;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: (CodeBlockPartProps) - language、code、filename、diffType、isGenerating;可选 headerIcon/getFileIcon
|
|
3
|
+
* [OUTPUT]: (JSX.Element)
|
|
4
|
+
* [POS]: registry/chat - 从 QodeChatPanel 移植,全 token 化;使用 Prism 语法高亮(设计令牌主题)
|
|
5
|
+
*/
|
|
6
|
+
import { type ReactNode } from 'react';
|
|
7
|
+
export type CodeBlockDiffType = 'add' | 'remove';
|
|
8
|
+
export interface CodeBlockPartProps {
|
|
9
|
+
language?: string;
|
|
10
|
+
code?: string;
|
|
11
|
+
filename?: string;
|
|
12
|
+
diffType?: CodeBlockDiffType | null;
|
|
13
|
+
diffLines?: number | null;
|
|
14
|
+
isGenerating?: boolean;
|
|
15
|
+
defaultExpanded?: boolean;
|
|
16
|
+
className?: string;
|
|
17
|
+
headerIcon?: ReactNode;
|
|
18
|
+
getFileIcon?: (fileType?: string, filename?: string) => ReactNode;
|
|
19
|
+
}
|
|
20
|
+
export declare function CodeBlockPart({ language, code, filename, diffType, diffLines, isGenerating, defaultExpanded, className, headerIcon, getFileIcon, }: CodeBlockPartProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare namespace CodeBlockPart {
|
|
22
|
+
var displayName: string;
|
|
23
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: (FileAttachmentProps) - filename、onRemove、icon / getFileIcon
|
|
3
|
+
* [OUTPUT]: (JSX.Element) - 带左图标(文件类型)的可关闭 Tag 样式附件
|
|
4
|
+
* [POS]: registry/chat - 唯一来源,主库再导出并注入 getFileIcon
|
|
5
|
+
*
|
|
6
|
+
* [PROTOCOL]:
|
|
7
|
+
* - 仅依赖 registry ui(tag、icons-inline);不依赖 useIcons
|
|
8
|
+
* - 可选 getFileIcon(filename, className) 或 icon;不传则用 FileLine
|
|
9
|
+
*/
|
|
10
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
11
|
+
export interface FileAttachmentProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
|
|
12
|
+
filename: string;
|
|
13
|
+
iconFilename?: string;
|
|
14
|
+
onRemove?: (e: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => void;
|
|
15
|
+
icon?: ReactNode;
|
|
16
|
+
/** 主库可注入 useIcons().getFileIcon;不传则用 registry 内联 FileLine */
|
|
17
|
+
getFileIcon?: (filename: string, className?: string) => ReactNode;
|
|
18
|
+
}
|
|
19
|
+
export declare const FileAttachment: import("react").ForwardRefExoticComponent<FileAttachmentProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface FileCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
3
|
+
filename: string;
|
|
4
|
+
iconFilename?: string;
|
|
5
|
+
size?: string;
|
|
6
|
+
icon?: ReactNode;
|
|
7
|
+
getFileIcon?: (filename: string, className?: string) => ReactNode;
|
|
8
|
+
onClick?: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const FileCard: import("react").ForwardRefExoticComponent<FileCardProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: (FileReviewPartProps) - files、defaultExpanded;可选 headerIcon/acceptIcon/rejectIcon/getFileIcon
|
|
3
|
+
* [OUTPUT]: (JSX.Element)
|
|
4
|
+
* [POS]: registry/chat - 从 QodeChatPanel 移植,全 token 化;默认用 Seti 字体图标(需加载 qoder-seti.woff),hover 显示对号/错号
|
|
5
|
+
* Seti 映射与逻辑与 QodeChatPanel FileReviewPart.jsx 内联保持一致,避免模块解析差异导致图形与后缀对不上。
|
|
6
|
+
*/
|
|
7
|
+
import { type ReactNode } from 'react';
|
|
8
|
+
export interface FileReviewFile {
|
|
9
|
+
filename: string;
|
|
10
|
+
fileType?: string;
|
|
11
|
+
additions?: number;
|
|
12
|
+
deletions?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface FileReviewPartProps {
|
|
15
|
+
files?: FileReviewFile[];
|
|
16
|
+
defaultExpanded?: boolean;
|
|
17
|
+
className?: string;
|
|
18
|
+
/** 卡片标题区图标,未传则用内联 SVG */
|
|
19
|
+
headerIcon?: ReactNode;
|
|
20
|
+
/** 接受按钮图标,未传则用内联 SVG */
|
|
21
|
+
acceptIcon?: ReactNode;
|
|
22
|
+
/** 拒绝按钮图标,未传则用内联 SVG */
|
|
23
|
+
rejectIcon?: ReactNode;
|
|
24
|
+
/** 按文件类型/文件名渲染图标;未传则用 Seti 字体字符(需加载 qoder-seti.woff) */
|
|
25
|
+
getFileIcon?: (fileType?: string, filename?: string) => ReactNode;
|
|
26
|
+
}
|
|
27
|
+
export declare function FileReviewPart({ files, defaultExpanded, className, headerIcon, acceptIcon, rejectIcon, getFileIcon, }: FileReviewPartProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export declare namespace FileReviewPart {
|
|
29
|
+
var displayName: string;
|
|
30
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
declare const folderButtonVariants: (props?: ({
|
|
4
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
5
|
+
rounded?: "square" | "pill" | null | undefined;
|
|
6
|
+
selected?: boolean | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export interface FolderButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof folderButtonVariants> {
|
|
9
|
+
label: string;
|
|
10
|
+
selected?: boolean;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
multipleFolders?: boolean;
|
|
13
|
+
onClear?: () => void;
|
|
14
|
+
folderIcon?: ReactNode;
|
|
15
|
+
folderFillIcon?: ReactNode;
|
|
16
|
+
arrowRightIcon?: ReactNode;
|
|
17
|
+
closeIcon?: ReactNode;
|
|
18
|
+
}
|
|
19
|
+
export declare const FolderButton: import("react").ForwardRefExoticComponent<FolderButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
20
|
+
export { folderButtonVariants };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: (GeneratedImagesGridProps) - 多图网格
|
|
3
|
+
* [OUTPUT]: (JSX.Element) - 会话流中多张生成图片的横排排列容器
|
|
4
|
+
* [POS]: registry/chat - 唯一来源,无图标依赖
|
|
5
|
+
*/
|
|
6
|
+
import type { ReactNode } from 'react';
|
|
7
|
+
export interface GeneratedImagesGridProps {
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
className?: string;
|
|
10
|
+
gridClassName?: string;
|
|
11
|
+
isGenerating?: boolean;
|
|
12
|
+
maxVisibleWhenGenerating?: number;
|
|
13
|
+
formatRemaining?: (remaining: number) => string;
|
|
14
|
+
}
|
|
15
|
+
export declare const GeneratedImagesGrid: import("react").NamedExoticComponent<GeneratedImagesGridProps>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [INPUT]: (GenerationStatusBarProps)
|
|
3
|
+
* [OUTPUT]: (JSX.Element) - 生成状态条
|
|
4
|
+
* [POS]: registry/chat - 唯一来源,无图标依赖
|
|
5
|
+
*
|
|
6
|
+
* [PROTOCOL]: 样式使用 design token(h-9、text-sm、px-3、rounded-t-xl),随 data-style 变化,与 ChatInputAbove 一致。
|
|
7
|
+
*/
|
|
8
|
+
import type { ReactNode } from 'react';
|
|
9
|
+
export interface GenerationStatusBarProps {
|
|
10
|
+
children?: ReactNode;
|
|
11
|
+
status?: string;
|
|
12
|
+
icon?: ReactNode;
|
|
13
|
+
time?: string;
|
|
14
|
+
className?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare const GenerationStatusBar: {
|
|
17
|
+
({ children, status, icon, time, className, }: GenerationStatusBarProps): import("react/jsx-runtime").JSX.Element | null;
|
|
18
|
+
displayName: string;
|
|
19
|
+
};
|