@orvui/vue 0.0.0-stage → 0.1.1
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/LICENSE +21 -0
- package/NOTICE +32 -0
- package/README.md +50 -2
- package/dist/ActionSwapIcon-BWUn5TzV.js +31 -0
- package/dist/ActionSwapIcon-BWUn5TzV.js.map +1 -0
- package/dist/ActionSwapText-GBQfNPxd.js +78 -0
- package/dist/ActionSwapText-GBQfNPxd.js.map +1 -0
- package/dist/AgentCode-DaATZ4-i.js +115 -0
- package/dist/AgentCode-DaATZ4-i.js.map +1 -0
- package/dist/AgentDisclosure-BaLK1NwF.js +55 -0
- package/dist/AgentDisclosure-BaLK1NwF.js.map +1 -0
- package/dist/ChartTooltip-BY8iAlEo.js +154 -0
- package/dist/ChartTooltip-BY8iAlEo.js.map +1 -0
- package/dist/Checkbox-yoCQLa6d.js +138 -0
- package/dist/Checkbox-yoCQLa6d.js.map +1 -0
- package/dist/Magnetic-DM3g9bY1.js +43 -0
- package/dist/Magnetic-DM3g9bY1.js.map +1 -0
- package/dist/RenderContent-CwtJ7hLl.js +14 -0
- package/dist/RenderContent-CwtJ7hLl.js.map +1 -0
- package/dist/SearchOption-y97v-iri.js +403 -0
- package/dist/SearchOption-y97v-iri.js.map +1 -0
- package/dist/_plugin-vue_export-helper-Djzt4Yr7.js +7 -0
- package/dist/action-swap-CIPNHnoQ.js +321 -0
- package/dist/action-swap-CIPNHnoQ.js.map +1 -0
- package/dist/adaptive-stepper-DIq2i37A.js +397 -0
- package/dist/adaptive-stepper-DIq2i37A.js.map +1 -0
- package/dist/agent-activity-D9xZPtc3.js +426 -0
- package/dist/agent-activity-D9xZPtc3.js.map +1 -0
- package/dist/agents/AgentDisclosure.vue.d.ts +23 -0
- package/dist/agents/AgentDisclosure.vue.d.ts.map +1 -0
- package/dist/agents/agent-activity/index.d.ts +3 -0
- package/dist/agents/agent-activity/index.d.ts.map +1 -0
- package/dist/agents/agent-activity/src/ActivityRow.vue.d.ts +8 -0
- package/dist/agents/agent-activity/src/ActivityRow.vue.d.ts.map +1 -0
- package/dist/agents/agent-activity/src/AgentActivity.vue.d.ts +65 -0
- package/dist/agents/agent-activity/src/AgentActivity.vue.d.ts.map +1 -0
- package/dist/agents/agent-activity/src/summary.d.ts +5 -0
- package/dist/agents/agent-activity/src/summary.d.ts.map +1 -0
- package/dist/agents/agent-activity/src/types.d.ts +51 -0
- package/dist/agents/agent-activity/src/types.d.ts.map +1 -0
- package/dist/agents/agent-activity.d.ts +1 -0
- package/dist/agents/agent-activity.js +1 -0
- package/dist/agents/ai-sidebar/index.d.ts +4 -0
- package/dist/agents/ai-sidebar/index.d.ts.map +1 -0
- package/dist/agents/ai-sidebar/src/AISidebar.vue.d.ts +55 -0
- package/dist/agents/ai-sidebar/src/AISidebar.vue.d.ts.map +1 -0
- package/dist/agents/ai-sidebar/src/MarqueeLabel.vue.d.ts +8 -0
- package/dist/agents/ai-sidebar/src/MarqueeLabel.vue.d.ts.map +1 -0
- package/dist/agents/ai-sidebar/src/ResourceRow.vue.d.ts +67 -0
- package/dist/agents/ai-sidebar/src/ResourceRow.vue.d.ts.map +1 -0
- package/dist/agents/ai-sidebar/src/api-types.d.ts +2 -0
- package/dist/agents/ai-sidebar/src/api-types.d.ts.map +1 -0
- package/dist/agents/ai-sidebar/src/tree.d.ts +45 -0
- package/dist/agents/ai-sidebar/src/tree.d.ts.map +1 -0
- package/dist/agents/ai-sidebar/src/useTouchCapable.d.ts +2 -0
- package/dist/agents/ai-sidebar/src/useTouchCapable.d.ts.map +1 -0
- package/dist/agents/ai-sidebar.d.ts +1 -0
- package/dist/agents/ai-sidebar.js +1 -0
- package/dist/agents/approval-card/index.d.ts +3 -0
- package/dist/agents/approval-card/index.d.ts.map +1 -0
- package/dist/agents/approval-card/src/ApprovalCard.vue.d.ts +86 -0
- package/dist/agents/approval-card/src/ApprovalCard.vue.d.ts.map +1 -0
- package/dist/agents/approval-card/src/QuestionOptions.vue.d.ts +16 -0
- package/dist/agents/approval-card/src/QuestionOptions.vue.d.ts.map +1 -0
- package/dist/agents/approval-card/src/types.d.ts +27 -0
- package/dist/agents/approval-card/src/types.d.ts.map +1 -0
- package/dist/agents/approval-card.d.ts +1 -0
- package/dist/agents/approval-card.js +1 -0
- package/dist/agents/chat-app/index.d.ts +18 -0
- package/dist/agents/chat-app/index.d.ts.map +1 -0
- package/dist/agents/chat-app/src/ChatApp.vue.d.ts +47 -0
- package/dist/agents/chat-app/src/ChatApp.vue.d.ts.map +1 -0
- package/dist/agents/chat-app/src/ShellFit.vue.d.ts +9 -0
- package/dist/agents/chat-app/src/ShellFit.vue.d.ts.map +1 -0
- package/dist/agents/chat-app/src/api-types.d.ts +2 -0
- package/dist/agents/chat-app/src/api-types.d.ts.map +1 -0
- package/dist/agents/chat-app.d.ts +1 -0
- package/dist/agents/chat-app.js +18 -0
- package/dist/agents/citations/index.d.ts +8 -0
- package/dist/agents/citations/index.d.ts.map +1 -0
- package/dist/agents/citations/src/Citation.vue.d.ts +10 -0
- package/dist/agents/citations/src/Citation.vue.d.ts.map +1 -0
- package/dist/agents/citations/src/CitationFavicon.vue.d.ts +9 -0
- package/dist/agents/citations/src/CitationFavicon.vue.d.ts.map +1 -0
- package/dist/agents/citations/src/CitationList.vue.d.ts +9 -0
- package/dist/agents/citations/src/CitationList.vue.d.ts.map +1 -0
- package/dist/agents/citations/src/CitationStack.vue.d.ts +11 -0
- package/dist/agents/citations/src/CitationStack.vue.d.ts.map +1 -0
- package/dist/agents/citations/src/Citations.vue.d.ts +30 -0
- package/dist/agents/citations/src/Citations.vue.d.ts.map +1 -0
- package/dist/agents/citations/src/api-types.d.ts +5 -0
- package/dist/agents/citations/src/api-types.d.ts.map +1 -0
- package/dist/agents/citations/src/types.d.ts +9 -0
- package/dist/agents/citations/src/types.d.ts.map +1 -0
- package/dist/agents/citations.d.ts +1 -0
- package/dist/agents/citations.js +1 -0
- package/dist/agents/code-block/index.d.ts +8 -0
- package/dist/agents/code-block/index.d.ts.map +1 -0
- package/dist/agents/code-block/src/AgentCode.vue.d.ts +17 -0
- package/dist/agents/code-block/src/AgentCode.vue.d.ts.map +1 -0
- package/dist/agents/code-block/src/AgentCodeLine.vue.d.ts +9 -0
- package/dist/agents/code-block/src/AgentCodeLine.vue.d.ts.map +1 -0
- package/dist/agents/code-block/src/CodeBlock.vue.d.ts +26 -0
- package/dist/agents/code-block/src/CodeBlock.vue.d.ts.map +1 -0
- package/dist/agents/code-block/src/api-types.d.ts +2 -0
- package/dist/agents/code-block/src/api-types.d.ts.map +1 -0
- package/dist/agents/code-block/src/tokens.d.ts +11 -0
- package/dist/agents/code-block/src/tokens.d.ts.map +1 -0
- package/dist/agents/code-block.d.ts +1 -0
- package/dist/agents/code-block.js +3 -0
- package/dist/agents/file-diff/index.d.ts +4 -0
- package/dist/agents/file-diff/index.d.ts.map +1 -0
- package/dist/agents/file-diff/src/FileDiff.vue.d.ts +32 -0
- package/dist/agents/file-diff/src/FileDiff.vue.d.ts.map +1 -0
- package/dist/agents/file-diff/src/api-types.d.ts +2 -0
- package/dist/agents/file-diff/src/api-types.d.ts.map +1 -0
- package/dist/agents/file-diff/src/types.d.ts +10 -0
- package/dist/agents/file-diff/src/types.d.ts.map +1 -0
- package/dist/agents/file-diff.d.ts +1 -0
- package/dist/agents/file-diff.js +1 -0
- package/dist/agents/image-generation/index.d.ts +4 -0
- package/dist/agents/image-generation/index.d.ts.map +1 -0
- package/dist/agents/image-generation/src/DitherField.vue.d.ts +10 -0
- package/dist/agents/image-generation/src/DitherField.vue.d.ts.map +1 -0
- package/dist/agents/image-generation/src/ImageGeneration.vue.d.ts +39 -0
- package/dist/agents/image-generation/src/ImageGeneration.vue.d.ts.map +1 -0
- package/dist/agents/image-generation/src/api-types.d.ts +2 -0
- package/dist/agents/image-generation/src/api-types.d.ts.map +1 -0
- package/dist/agents/image-generation/src/dither.d.ts +3 -0
- package/dist/agents/image-generation/src/dither.d.ts.map +1 -0
- package/dist/agents/image-generation.d.ts +1 -0
- package/dist/agents/image-generation.js +1 -0
- package/dist/agents/index.d.ts +19 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/loading-states/index.d.ts +7 -0
- package/dist/agents/loading-states/index.d.ts.map +1 -0
- package/dist/agents/loading-states/src/AgentProgress.vue.d.ts +14 -0
- package/dist/agents/loading-states/src/AgentProgress.vue.d.ts.map +1 -0
- package/dist/agents/loading-states/src/CascadePhrase.vue.d.ts +8 -0
- package/dist/agents/loading-states/src/CascadePhrase.vue.d.ts.map +1 -0
- package/dist/agents/loading-states/src/LoadingStates.vue.d.ts +4 -0
- package/dist/agents/loading-states/src/LoadingStates.vue.d.ts.map +1 -0
- package/dist/agents/loading-states/src/ReasoningText.vue.d.ts +36 -0
- package/dist/agents/loading-states/src/ReasoningText.vue.d.ts.map +1 -0
- package/dist/agents/loading-states/src/ThinkingShimmer.vue.d.ts +19 -0
- package/dist/agents/loading-states/src/ThinkingShimmer.vue.d.ts.map +1 -0
- package/dist/agents/loading-states/src/api-types.d.ts +4 -0
- package/dist/agents/loading-states/src/api-types.d.ts.map +1 -0
- package/dist/agents/loading-states.d.ts +1 -0
- package/dist/agents/loading-states.js +1 -0
- package/dist/agents/message/index.d.ts +13 -0
- package/dist/agents/message/index.d.ts.map +1 -0
- package/dist/agents/message/src/Message.vue.d.ts +21 -0
- package/dist/agents/message/src/Message.vue.d.ts.map +1 -0
- package/dist/agents/message/src/MessageAvatar.vue.d.ts +18 -0
- package/dist/agents/message/src/MessageAvatar.vue.d.ts.map +1 -0
- package/dist/agents/message/src/MessageContent.vue.d.ts +14 -0
- package/dist/agents/message/src/MessageContent.vue.d.ts.map +1 -0
- package/dist/agents/message/src/MessageFooter.vue.d.ts +14 -0
- package/dist/agents/message/src/MessageFooter.vue.d.ts.map +1 -0
- package/dist/agents/message/src/MessageGroup.vue.d.ts +18 -0
- package/dist/agents/message/src/MessageGroup.vue.d.ts.map +1 -0
- package/dist/agents/message/src/MessageHeader.vue.d.ts +14 -0
- package/dist/agents/message/src/MessageHeader.vue.d.ts.map +1 -0
- package/dist/agents/message/src/MessageMarker.vue.d.ts +14 -0
- package/dist/agents/message/src/MessageMarker.vue.d.ts.map +1 -0
- package/dist/agents/message/src/MessageTyping.vue.d.ts +9 -0
- package/dist/agents/message/src/MessageTyping.vue.d.ts.map +1 -0
- package/dist/agents/message/src/alignment.d.ts +2 -0
- package/dist/agents/message/src/alignment.d.ts.map +1 -0
- package/dist/agents/message/src/api-types.d.ts +9 -0
- package/dist/agents/message/src/api-types.d.ts.map +1 -0
- package/dist/agents/message/src/context.d.ts +4 -0
- package/dist/agents/message/src/context.d.ts.map +1 -0
- package/dist/agents/message-bubble/index.d.ts +7 -0
- package/dist/agents/message-bubble/index.d.ts.map +1 -0
- package/dist/agents/message-bubble/src/MessageBubble.vue.d.ts +23 -0
- package/dist/agents/message-bubble/src/MessageBubble.vue.d.ts.map +1 -0
- package/dist/agents/message-bubble/src/MessageBubbleCollapsible.vue.d.ts +50 -0
- package/dist/agents/message-bubble/src/MessageBubbleCollapsible.vue.d.ts.map +1 -0
- package/dist/agents/message-bubble/src/MessageBubbleContent.vue.d.ts +20 -0
- package/dist/agents/message-bubble/src/MessageBubbleContent.vue.d.ts.map +1 -0
- package/dist/agents/message-bubble/src/MessageBubbleGroup.vue.d.ts +18 -0
- package/dist/agents/message-bubble/src/MessageBubbleGroup.vue.d.ts.map +1 -0
- package/dist/agents/message-bubble/src/api-types.d.ts +5 -0
- package/dist/agents/message-bubble/src/api-types.d.ts.map +1 -0
- package/dist/agents/message-bubble/src/context.d.ts +12 -0
- package/dist/agents/message-bubble/src/context.d.ts.map +1 -0
- package/dist/agents/message-bubble.d.ts +1 -0
- package/dist/agents/message-bubble.js +1 -0
- package/dist/agents/message-scroller/index.d.ts +3 -0
- package/dist/agents/message-scroller/index.d.ts.map +1 -0
- package/dist/agents/message-scroller/src/MessageScroller.vue.d.ts +34 -0
- package/dist/agents/message-scroller/src/MessageScroller.vue.d.ts.map +1 -0
- package/dist/agents/message-scroller/src/api-types.d.ts +2 -0
- package/dist/agents/message-scroller/src/api-types.d.ts.map +1 -0
- package/dist/agents/message-scroller.d.ts +1 -0
- package/dist/agents/message-scroller.js +1 -0
- package/dist/agents/message.d.ts +1 -0
- package/dist/agents/message.js +4 -0
- package/dist/agents/prompt-input/index.d.ts +4 -0
- package/dist/agents/prompt-input/index.d.ts.map +1 -0
- package/dist/agents/prompt-input/src/PromptInput.vue.d.ts +65 -0
- package/dist/agents/prompt-input/src/PromptInput.vue.d.ts.map +1 -0
- package/dist/agents/prompt-input/src/api-types.d.ts +2 -0
- package/dist/agents/prompt-input/src/api-types.d.ts.map +1 -0
- package/dist/agents/prompt-input.d.ts +1 -0
- package/dist/agents/prompt-input.js +1 -0
- package/dist/agents/shared.d.ts +6 -0
- package/dist/agents/shared.d.ts.map +1 -0
- package/dist/agents/stream-follow.d.ts +4 -0
- package/dist/agents/stream-follow.d.ts.map +1 -0
- package/dist/agents/streaming-response/index.d.ts +4 -0
- package/dist/agents/streaming-response/index.d.ts.map +1 -0
- package/dist/agents/streaming-response/src/ResponseAction.vue.d.ts +20 -0
- package/dist/agents/streaming-response/src/ResponseAction.vue.d.ts.map +1 -0
- package/dist/agents/streaming-response/src/StreamingResponse.vue.d.ts +52 -0
- package/dist/agents/streaming-response/src/StreamingResponse.vue.d.ts.map +1 -0
- package/dist/agents/streaming-response/src/api-types.d.ts +2 -0
- package/dist/agents/streaming-response/src/api-types.d.ts.map +1 -0
- package/dist/agents/streaming-response.d.ts +1 -0
- package/dist/agents/streaming-response.js +1 -0
- package/dist/agents/todo-list/index.d.ts +4 -0
- package/dist/agents/todo-list/index.d.ts.map +1 -0
- package/dist/agents/todo-list/src/TodoHeaderIcon.vue.d.ts +7 -0
- package/dist/agents/todo-list/src/TodoHeaderIcon.vue.d.ts.map +1 -0
- package/dist/agents/todo-list/src/TodoList.vue.d.ts +40 -0
- package/dist/agents/todo-list/src/TodoList.vue.d.ts.map +1 -0
- package/dist/agents/todo-list/src/TodoStatusIcon.vue.d.ts +9 -0
- package/dist/agents/todo-list/src/TodoStatusIcon.vue.d.ts.map +1 -0
- package/dist/agents/todo-list/src/api-types.d.ts +2 -0
- package/dist/agents/todo-list/src/api-types.d.ts.map +1 -0
- package/dist/agents/todo-list.d.ts +1 -0
- package/dist/agents/todo-list.js +1 -0
- package/dist/agents/tool-approval/index.d.ts +5 -0
- package/dist/agents/tool-approval/index.d.ts.map +1 -0
- package/dist/agents/tool-approval/src/ToolApproval.vue.d.ts +55 -0
- package/dist/agents/tool-approval/src/ToolApproval.vue.d.ts.map +1 -0
- package/dist/agents/tool-approval/src/ToolApprovalCode.vue.d.ts +11 -0
- package/dist/agents/tool-approval/src/ToolApprovalCode.vue.d.ts.map +1 -0
- package/dist/agents/tool-approval/src/api-types.d.ts +3 -0
- package/dist/agents/tool-approval/src/api-types.d.ts.map +1 -0
- package/dist/agents/tool-approval.d.ts +1 -0
- package/dist/agents/tool-approval.js +1 -0
- package/dist/agents/tool-result/index.d.ts +5 -0
- package/dist/agents/tool-result/index.d.ts.map +1 -0
- package/dist/agents/tool-result/src/ToolResult.vue.d.ts +47 -0
- package/dist/agents/tool-result/src/ToolResult.vue.d.ts.map +1 -0
- package/dist/agents/tool-result/src/ToolResultOutput.vue.d.ts +11 -0
- package/dist/agents/tool-result/src/ToolResultOutput.vue.d.ts.map +1 -0
- package/dist/agents/tool-result/src/api-types.d.ts +3 -0
- package/dist/agents/tool-result/src/api-types.d.ts.map +1 -0
- package/dist/agents/tool-result.d.ts +1 -0
- package/dist/agents/tool-result.js +1 -0
- package/dist/agents/voice-orb/index.d.ts +3 -0
- package/dist/agents/voice-orb/index.d.ts.map +1 -0
- package/dist/agents/voice-orb/src/VoiceOrb.vue.d.ts +33 -0
- package/dist/agents/voice-orb/src/VoiceOrb.vue.d.ts.map +1 -0
- package/dist/agents/voice-orb/src/api-types.d.ts +2 -0
- package/dist/agents/voice-orb/src/api-types.d.ts.map +1 -0
- package/dist/agents/voice-orb/src/renderer.d.ts +12 -0
- package/dist/agents/voice-orb/src/renderer.d.ts.map +1 -0
- package/dist/agents/voice-orb.d.ts +1 -0
- package/dist/agents/voice-orb.js +1 -0
- package/dist/agents.d.ts +1 -0
- package/dist/agents.js +20 -0
- package/dist/ai-sidebar-DU97ERIh.js +599 -0
- package/dist/ai-sidebar-DU97ERIh.js.map +1 -0
- package/dist/alert-xHnxczdv.js +281 -0
- package/dist/alert-xHnxczdv.js.map +1 -0
- package/dist/animated-badge-CB8NfT1E.js +196 -0
- package/dist/animated-badge-CB8NfT1E.js.map +1 -0
- package/dist/animated-sidebar-DgCcjTf5.js +660 -0
- package/dist/animated-sidebar-DgCcjTf5.js.map +1 -0
- package/dist/animated-toast-stack-CuBYmZTK.js +334 -0
- package/dist/animated-toast-stack-CuBYmZTK.js.map +1 -0
- package/dist/approval-card-BUm2vZie.js +417 -0
- package/dist/approval-card-BUm2vZie.js.map +1 -0
- package/dist/arc-picker-tku5aL9W.js +348 -0
- package/dist/arc-picker-tku5aL9W.js.map +1 -0
- package/dist/aspect-ratio-DZ6sjFRG.js +83 -0
- package/dist/aspect-ratio-DZ6sjFRG.js.map +1 -0
- package/dist/availability-scheduler-BS0UffT9.js +524 -0
- package/dist/availability-scheduler-BS0UffT9.js.map +1 -0
- package/dist/blocks/availability-scheduler/index.d.ts +4 -0
- package/dist/blocks/availability-scheduler/index.d.ts.map +1 -0
- package/dist/blocks/availability-scheduler/src/AvailabilityScheduler.vue.d.ts +19 -0
- package/dist/blocks/availability-scheduler/src/AvailabilityScheduler.vue.d.ts.map +1 -0
- package/dist/blocks/availability-scheduler/src/CopyMenu.vue.d.ts +14 -0
- package/dist/blocks/availability-scheduler/src/CopyMenu.vue.d.ts.map +1 -0
- package/dist/blocks/availability-scheduler/src/TimeSelect.vue.d.ts +18 -0
- package/dist/blocks/availability-scheduler/src/TimeSelect.vue.d.ts.map +1 -0
- package/dist/blocks/availability-scheduler/src/api-types.d.ts +2 -0
- package/dist/blocks/availability-scheduler/src/api-types.d.ts.map +1 -0
- package/dist/blocks/availability-scheduler/src/types.d.ts +32 -0
- package/dist/blocks/availability-scheduler/src/types.d.ts.map +1 -0
- package/dist/blocks/availability-scheduler/src/use-schedule.d.ts +19 -0
- package/dist/blocks/availability-scheduler/src/use-schedule.d.ts.map +1 -0
- package/dist/blocks/availability-scheduler.d.ts +1 -0
- package/dist/blocks/availability-scheduler.js +1 -0
- package/dist/blocks/bloom-menu/index.d.ts +4 -0
- package/dist/blocks/bloom-menu/index.d.ts.map +1 -0
- package/dist/blocks/bloom-menu/src/BloomMenu.vue.d.ts +19 -0
- package/dist/blocks/bloom-menu/src/BloomMenu.vue.d.ts.map +1 -0
- package/dist/blocks/bloom-menu/src/BloomMenuItemContent.vue.d.ts +17 -0
- package/dist/blocks/bloom-menu/src/BloomMenuItemContent.vue.d.ts.map +1 -0
- package/dist/blocks/bloom-menu/src/api-types.d.ts +2 -0
- package/dist/blocks/bloom-menu/src/api-types.d.ts.map +1 -0
- package/dist/blocks/bloom-menu/src/use-bloom.d.ts +30 -0
- package/dist/blocks/bloom-menu/src/use-bloom.d.ts.map +1 -0
- package/dist/blocks/bloom-menu.d.ts +1 -0
- package/dist/blocks/bloom-menu.js +1 -0
- package/dist/blocks/card-folder/index.d.ts +3 -0
- package/dist/blocks/card-folder/index.d.ts.map +1 -0
- package/dist/blocks/card-folder/src/CardFolder.vue.d.ts +49 -0
- package/dist/blocks/card-folder/src/CardFolder.vue.d.ts.map +1 -0
- package/dist/blocks/card-folder/src/api-types.d.ts +2 -0
- package/dist/blocks/card-folder/src/api-types.d.ts.map +1 -0
- package/dist/blocks/card-folder/src/purse-shape.d.ts +2 -0
- package/dist/blocks/card-folder/src/purse-shape.d.ts.map +1 -0
- package/dist/blocks/card-folder/src/use-card-folder.d.ts +28 -0
- package/dist/blocks/card-folder/src/use-card-folder.d.ts.map +1 -0
- package/dist/blocks/card-folder.d.ts +1 -0
- package/dist/blocks/card-folder.js +1 -0
- package/dist/blocks/command-palette/index.d.ts +4 -0
- package/dist/blocks/command-palette/index.d.ts.map +1 -0
- package/dist/blocks/command-palette/src/CommandPalette.vue.d.ts +50 -0
- package/dist/blocks/command-palette/src/CommandPalette.vue.d.ts.map +1 -0
- package/dist/blocks/command-palette/src/api-types.d.ts +2 -0
- package/dist/blocks/command-palette/src/api-types.d.ts.map +1 -0
- package/dist/blocks/command-palette/src/search.d.ts +7 -0
- package/dist/blocks/command-palette/src/search.d.ts.map +1 -0
- package/dist/blocks/command-palette/src/use-command-surface.d.ts +9 -0
- package/dist/blocks/command-palette/src/use-command-surface.d.ts.map +1 -0
- package/dist/blocks/command-palette/src/use-commands.d.ts +19 -0
- package/dist/blocks/command-palette/src/use-commands.d.ts.map +1 -0
- package/dist/blocks/command-palette.d.ts +1 -0
- package/dist/blocks/command-palette.js +1 -0
- package/dist/blocks/dismiss.d.ts +7 -0
- package/dist/blocks/dismiss.d.ts.map +1 -0
- package/dist/blocks/dynamic-island/index.d.ts +5 -0
- package/dist/blocks/dynamic-island/index.d.ts.map +1 -0
- package/dist/blocks/dynamic-island/src/DynamicIsland.vue.d.ts +21 -0
- package/dist/blocks/dynamic-island/src/DynamicIsland.vue.d.ts.map +1 -0
- package/dist/blocks/dynamic-island/src/DynamicIslandView.vue.d.ts +17 -0
- package/dist/blocks/dynamic-island/src/DynamicIslandView.vue.d.ts.map +1 -0
- package/dist/blocks/dynamic-island/src/IslandSlot.vue.d.ts +14 -0
- package/dist/blocks/dynamic-island/src/IslandSlot.vue.d.ts.map +1 -0
- package/dist/blocks/dynamic-island/src/api-types.d.ts +3 -0
- package/dist/blocks/dynamic-island/src/api-types.d.ts.map +1 -0
- package/dist/blocks/dynamic-island/src/context.d.ts +3 -0
- package/dist/blocks/dynamic-island/src/context.d.ts.map +1 -0
- package/dist/blocks/dynamic-island/src/use-island-size.d.ts +9 -0
- package/dist/blocks/dynamic-island/src/use-island-size.d.ts.map +1 -0
- package/dist/blocks/dynamic-island.d.ts +1 -0
- package/dist/blocks/dynamic-island.js +1 -0
- package/dist/blocks/expandable-action-bar/index.d.ts +14 -0
- package/dist/blocks/expandable-action-bar/index.d.ts.map +1 -0
- package/dist/blocks/expandable-action-bar/src/ExpandableActionBar.vue.d.ts +56 -0
- package/dist/blocks/expandable-action-bar/src/ExpandableActionBar.vue.d.ts.map +1 -0
- package/dist/blocks/expandable-action-bar/src/api-types.d.ts +2 -0
- package/dist/blocks/expandable-action-bar/src/api-types.d.ts.map +1 -0
- package/dist/blocks/expandable-action-bar/src/source-types.d.ts +12 -0
- package/dist/blocks/expandable-action-bar/src/source-types.d.ts.map +1 -0
- package/dist/blocks/expandable-action-bar/src/use-action-bar.d.ts +23 -0
- package/dist/blocks/expandable-action-bar/src/use-action-bar.d.ts.map +1 -0
- package/dist/blocks/expandable-action-bar.d.ts +1 -0
- package/dist/blocks/expandable-action-bar.js +1 -0
- package/dist/blocks/expandable-tabs/index.d.ts +5 -0
- package/dist/blocks/expandable-tabs/index.d.ts.map +1 -0
- package/dist/blocks/expandable-tabs/src/ExpandableTabs.vue.d.ts +42 -0
- package/dist/blocks/expandable-tabs/src/ExpandableTabs.vue.d.ts.map +1 -0
- package/dist/blocks/expandable-tabs/src/api-types.d.ts +2 -0
- package/dist/blocks/expandable-tabs/src/api-types.d.ts.map +1 -0
- package/dist/blocks/expandable-tabs/src/source-types.d.ts +11 -0
- package/dist/blocks/expandable-tabs/src/source-types.d.ts.map +1 -0
- package/dist/blocks/expandable-tabs/src/use-tab-measurements.d.ts +18 -0
- package/dist/blocks/expandable-tabs/src/use-tab-measurements.d.ts.map +1 -0
- package/dist/blocks/expandable-tabs.d.ts +1 -0
- package/dist/blocks/expandable-tabs.js +1 -0
- package/dist/blocks/feedback-widget/index.d.ts +4 -0
- package/dist/blocks/feedback-widget/index.d.ts.map +1 -0
- package/dist/blocks/feedback-widget/src/FeedbackWidget.vue.d.ts +33 -0
- package/dist/blocks/feedback-widget/src/FeedbackWidget.vue.d.ts.map +1 -0
- package/dist/blocks/feedback-widget/src/api-types.d.ts +2 -0
- package/dist/blocks/feedback-widget/src/api-types.d.ts.map +1 -0
- package/dist/blocks/feedback-widget/src/use-feedback.d.ts +23 -0
- package/dist/blocks/feedback-widget/src/use-feedback.d.ts.map +1 -0
- package/dist/blocks/feedback-widget.d.ts +1 -0
- package/dist/blocks/feedback-widget.js +1 -0
- package/dist/blocks/file-upload/index.d.ts +7 -0
- package/dist/blocks/file-upload/index.d.ts.map +1 -0
- package/dist/blocks/file-upload/src/AttachmentAction.vue.d.ts +14 -0
- package/dist/blocks/file-upload/src/AttachmentAction.vue.d.ts.map +1 -0
- package/dist/blocks/file-upload/src/AttachmentPreview.vue.d.ts +14 -0
- package/dist/blocks/file-upload/src/AttachmentPreview.vue.d.ts.map +1 -0
- package/dist/blocks/file-upload/src/AttachmentRow.vue.d.ts +28 -0
- package/dist/blocks/file-upload/src/AttachmentRow.vue.d.ts.map +1 -0
- package/dist/blocks/file-upload/src/AttachmentUpload.vue.d.ts +47 -0
- package/dist/blocks/file-upload/src/AttachmentUpload.vue.d.ts.map +1 -0
- package/dist/blocks/file-upload/src/FileUpload.vue.d.ts +43 -0
- package/dist/blocks/file-upload/src/FileUpload.vue.d.ts.map +1 -0
- package/dist/blocks/file-upload/src/FileUploadRow.vue.d.ts +16 -0
- package/dist/blocks/file-upload/src/FileUploadRow.vue.d.ts.map +1 -0
- package/dist/blocks/file-upload/src/api-types.d.ts +3 -0
- package/dist/blocks/file-upload/src/api-types.d.ts.map +1 -0
- package/dist/blocks/file-upload/src/attachment-geometry.d.ts +3 -0
- package/dist/blocks/file-upload/src/attachment-geometry.d.ts.map +1 -0
- package/dist/blocks/file-upload/src/attachment-types.d.ts +17 -0
- package/dist/blocks/file-upload/src/attachment-types.d.ts.map +1 -0
- package/dist/blocks/file-upload/src/file-utils.d.ts +18 -0
- package/dist/blocks/file-upload/src/file-utils.d.ts.map +1 -0
- package/dist/blocks/file-upload/src/queue-state.d.ts +11 -0
- package/dist/blocks/file-upload/src/queue-state.d.ts.map +1 -0
- package/dist/blocks/file-upload/src/source-types.d.ts +18 -0
- package/dist/blocks/file-upload/src/source-types.d.ts.map +1 -0
- package/dist/blocks/file-upload/src/types.d.ts +14 -0
- package/dist/blocks/file-upload/src/types.d.ts.map +1 -0
- package/dist/blocks/file-upload/src/use-attachment-queue.d.ts +71 -0
- package/dist/blocks/file-upload/src/use-attachment-queue.d.ts.map +1 -0
- package/dist/blocks/file-upload/src/use-file-queue.d.ts +21 -0
- package/dist/blocks/file-upload/src/use-file-queue.d.ts.map +1 -0
- package/dist/blocks/file-upload.d.ts +1 -0
- package/dist/blocks/file-upload.js +1 -0
- package/dist/blocks/index.d.ts +24 -0
- package/dist/blocks/index.d.ts.map +1 -0
- package/dist/blocks/infinite-masonry/index.d.ts +4 -0
- package/dist/blocks/infinite-masonry/index.d.ts.map +1 -0
- package/dist/blocks/infinite-masonry/src/InfiniteMasonry.vue.d.ts +54 -0
- package/dist/blocks/infinite-masonry/src/InfiniteMasonry.vue.d.ts.map +1 -0
- package/dist/blocks/infinite-masonry/src/MasonryItemReveal.vue.d.ts +20 -0
- package/dist/blocks/infinite-masonry/src/MasonryItemReveal.vue.d.ts.map +1 -0
- package/dist/blocks/infinite-masonry/src/api-types.d.ts +2 -0
- package/dist/blocks/infinite-masonry/src/api-types.d.ts.map +1 -0
- package/dist/blocks/infinite-masonry/src/use-masonry.d.ts +29 -0
- package/dist/blocks/infinite-masonry/src/use-masonry.d.ts.map +1 -0
- package/dist/blocks/infinite-masonry.d.ts +1 -0
- package/dist/blocks/infinite-masonry.js +1 -0
- package/dist/blocks/knockout-bracket/index.d.ts +7 -0
- package/dist/blocks/knockout-bracket/index.d.ts.map +1 -0
- package/dist/blocks/knockout-bracket/src/KnockoutBracket.vue.d.ts +14 -0
- package/dist/blocks/knockout-bracket/src/KnockoutBracket.vue.d.ts.map +1 -0
- package/dist/blocks/knockout-bracket/src/KnockoutWheel.vue.d.ts +11 -0
- package/dist/blocks/knockout-bracket/src/KnockoutWheel.vue.d.ts.map +1 -0
- package/dist/blocks/knockout-bracket/src/MatchCard.vue.d.ts +8 -0
- package/dist/blocks/knockout-bracket/src/MatchCard.vue.d.ts.map +1 -0
- package/dist/blocks/knockout-bracket/src/TeamCrest.vue.d.ts +8 -0
- package/dist/blocks/knockout-bracket/src/TeamCrest.vue.d.ts.map +1 -0
- package/dist/blocks/knockout-bracket/src/WheelMark.vue.d.ts +14 -0
- package/dist/blocks/knockout-bracket/src/WheelMark.vue.d.ts.map +1 -0
- package/dist/blocks/knockout-bracket/src/api-types.d.ts +3 -0
- package/dist/blocks/knockout-bracket/src/api-types.d.ts.map +1 -0
- package/dist/blocks/knockout-bracket/src/bracket-model.d.ts +15 -0
- package/dist/blocks/knockout-bracket/src/bracket-model.d.ts.map +1 -0
- package/dist/blocks/knockout-bracket/src/data.d.ts +7 -0
- package/dist/blocks/knockout-bracket/src/data.d.ts.map +1 -0
- package/dist/blocks/knockout-bracket/src/fixture-builder.d.ts +17 -0
- package/dist/blocks/knockout-bracket/src/fixture-builder.d.ts.map +1 -0
- package/dist/blocks/knockout-bracket/src/types.d.ts +25 -0
- package/dist/blocks/knockout-bracket/src/types.d.ts.map +1 -0
- package/dist/blocks/knockout-bracket/src/use-wheel.d.ts +30 -0
- package/dist/blocks/knockout-bracket/src/use-wheel.d.ts.map +1 -0
- package/dist/blocks/knockout-bracket/src/wheel-data.d.ts +6 -0
- package/dist/blocks/knockout-bracket/src/wheel-data.d.ts.map +1 -0
- package/dist/blocks/knockout-bracket/src/wheel-model.d.ts +44 -0
- package/dist/blocks/knockout-bracket/src/wheel-model.d.ts.map +1 -0
- package/dist/blocks/knockout-bracket.d.ts +1 -0
- package/dist/blocks/knockout-bracket.js +1 -0
- package/dist/blocks/morphing-search/index.d.ts +5 -0
- package/dist/blocks/morphing-search/index.d.ts.map +1 -0
- package/dist/blocks/morphing-search/src/Highlight.vue.d.ts +8 -0
- package/dist/blocks/morphing-search/src/Highlight.vue.d.ts.map +1 -0
- package/dist/blocks/morphing-search/src/MorphingSearch.vue.d.ts +38 -0
- package/dist/blocks/morphing-search/src/MorphingSearch.vue.d.ts.map +1 -0
- package/dist/blocks/morphing-search/src/MorphingSearchChips.vue.d.ts +89 -0
- package/dist/blocks/morphing-search/src/MorphingSearchChips.vue.d.ts.map +1 -0
- package/dist/blocks/morphing-search/src/api-types.d.ts +3 -0
- package/dist/blocks/morphing-search/src/api-types.d.ts.map +1 -0
- package/dist/blocks/morphing-search/src/use-search-chips.d.ts +90 -0
- package/dist/blocks/morphing-search/src/use-search-chips.d.ts.map +1 -0
- package/dist/blocks/morphing-search/src/use-search-overlay.d.ts +76 -0
- package/dist/blocks/morphing-search/src/use-search-overlay.d.ts.map +1 -0
- package/dist/blocks/morphing-search.d.ts +1 -0
- package/dist/blocks/morphing-search.js +1 -0
- package/dist/blocks/morphing-tabs/index.d.ts +5 -0
- package/dist/blocks/morphing-tabs/index.d.ts.map +1 -0
- package/dist/blocks/morphing-tabs/src/LiquidSurface.vue.d.ts +10 -0
- package/dist/blocks/morphing-tabs/src/LiquidSurface.vue.d.ts.map +1 -0
- package/dist/blocks/morphing-tabs/src/MorphingTabs.vue.d.ts +45 -0
- package/dist/blocks/morphing-tabs/src/MorphingTabs.vue.d.ts.map +1 -0
- package/dist/blocks/morphing-tabs/src/SpringTab.vue.d.ts +34 -0
- package/dist/blocks/morphing-tabs/src/SpringTab.vue.d.ts.map +1 -0
- package/dist/blocks/morphing-tabs/src/api-types.d.ts +2 -0
- package/dist/blocks/morphing-tabs/src/api-types.d.ts.map +1 -0
- package/dist/blocks/morphing-tabs/src/model.d.ts +19 -0
- package/dist/blocks/morphing-tabs/src/model.d.ts.map +1 -0
- package/dist/blocks/morphing-tabs/src/source-types.d.ts +11 -0
- package/dist/blocks/morphing-tabs/src/source-types.d.ts.map +1 -0
- package/dist/blocks/morphing-tabs/src/use-morphing-tabs.d.ts +44 -0
- package/dist/blocks/morphing-tabs/src/use-morphing-tabs.d.ts.map +1 -0
- package/dist/blocks/morphing-tabs.d.ts +1 -0
- package/dist/blocks/morphing-tabs.js +1 -0
- package/dist/blocks/not-found/index.d.ts +10 -0
- package/dist/blocks/not-found/index.d.ts.map +1 -0
- package/dist/blocks/not-found/src/NotFound.vue.d.ts +5 -0
- package/dist/blocks/not-found/src/NotFound.vue.d.ts.map +1 -0
- package/dist/blocks/not-found/src/NotFoundActions.vue.d.ts +11 -0
- package/dist/blocks/not-found/src/NotFoundActions.vue.d.ts.map +1 -0
- package/dist/blocks/not-found/src/NotFoundCopy.vue.d.ts +8 -0
- package/dist/blocks/not-found/src/NotFoundCopy.vue.d.ts.map +1 -0
- package/dist/blocks/not-found/src/NotFoundGlitch.vue.d.ts +13 -0
- package/dist/blocks/not-found/src/NotFoundGlitch.vue.d.ts.map +1 -0
- package/dist/blocks/not-found/src/NotFoundMagnetic.vue.d.ts +13 -0
- package/dist/blocks/not-found/src/NotFoundMagnetic.vue.d.ts.map +1 -0
- package/dist/blocks/not-found/src/NotFoundScramble.vue.d.ts +7 -0
- package/dist/blocks/not-found/src/NotFoundScramble.vue.d.ts.map +1 -0
- package/dist/blocks/not-found/src/NotFoundSpotlight.vue.d.ts +13 -0
- package/dist/blocks/not-found/src/NotFoundSpotlight.vue.d.ts.map +1 -0
- package/dist/blocks/not-found/src/NotFoundStacked.vue.d.ts +13 -0
- package/dist/blocks/not-found/src/NotFoundStacked.vue.d.ts.map +1 -0
- package/dist/blocks/not-found/src/NotFoundStage.vue.d.ts +13 -0
- package/dist/blocks/not-found/src/NotFoundStage.vue.d.ts.map +1 -0
- package/dist/blocks/not-found/src/NotFoundTerminal.vue.d.ts +13 -0
- package/dist/blocks/not-found/src/NotFoundTerminal.vue.d.ts.map +1 -0
- package/dist/blocks/not-found/src/types.d.ts +19 -0
- package/dist/blocks/not-found/src/types.d.ts.map +1 -0
- package/dist/blocks/not-found/src/use-not-found-scene.d.ts +13 -0
- package/dist/blocks/not-found/src/use-not-found-scene.d.ts.map +1 -0
- package/dist/blocks/not-found.d.ts +1 -0
- package/dist/blocks/not-found.js +1 -0
- package/dist/blocks/notification-stack/index.d.ts +5 -0
- package/dist/blocks/notification-stack/index.d.ts.map +1 -0
- package/dist/blocks/notification-stack/src/NotificationContent.vue.d.ts +21 -0
- package/dist/blocks/notification-stack/src/NotificationContent.vue.d.ts.map +1 -0
- package/dist/blocks/notification-stack/src/NotificationStack.vue.d.ts +37 -0
- package/dist/blocks/notification-stack/src/NotificationStack.vue.d.ts.map +1 -0
- package/dist/blocks/notification-stack/src/api-types.d.ts +2 -0
- package/dist/blocks/notification-stack/src/api-types.d.ts.map +1 -0
- package/dist/blocks/notification-stack/src/source-types.d.ts +11 -0
- package/dist/blocks/notification-stack/src/source-types.d.ts.map +1 -0
- package/dist/blocks/notification-stack/src/use-stack-interaction.d.ts +12 -0
- package/dist/blocks/notification-stack/src/use-stack-interaction.d.ts.map +1 -0
- package/dist/blocks/notification-stack.d.ts +1 -0
- package/dist/blocks/notification-stack.js +1 -0
- package/dist/blocks/otp-input/index.d.ts +4 -0
- package/dist/blocks/otp-input/index.d.ts.map +1 -0
- package/dist/blocks/otp-input/src/OTPInput.vue.d.ts +37 -0
- package/dist/blocks/otp-input/src/OTPInput.vue.d.ts.map +1 -0
- package/dist/blocks/otp-input/src/api-types.d.ts +2 -0
- package/dist/blocks/otp-input/src/api-types.d.ts.map +1 -0
- package/dist/blocks/otp-input/src/use-otp-fields.d.ts +20 -0
- package/dist/blocks/otp-input/src/use-otp-fields.d.ts.map +1 -0
- package/dist/blocks/otp-input.d.ts +1 -0
- package/dist/blocks/otp-input.js +1 -0
- package/dist/blocks/overflow-actions/index.d.ts +5 -0
- package/dist/blocks/overflow-actions/index.d.ts.map +1 -0
- package/dist/blocks/overflow-actions/src/ActionButton.vue.d.ts +19 -0
- package/dist/blocks/overflow-actions/src/ActionButton.vue.d.ts.map +1 -0
- package/dist/blocks/overflow-actions/src/OverflowActions.vue.d.ts +40 -0
- package/dist/blocks/overflow-actions/src/OverflowActions.vue.d.ts.map +1 -0
- package/dist/blocks/overflow-actions/src/api-types.d.ts +2 -0
- package/dist/blocks/overflow-actions/src/api-types.d.ts.map +1 -0
- package/dist/blocks/overflow-actions/src/source-types.d.ts +12 -0
- package/dist/blocks/overflow-actions/src/source-types.d.ts.map +1 -0
- package/dist/blocks/overflow-actions.d.ts +1 -0
- package/dist/blocks/overflow-actions.js +1 -0
- package/dist/blocks/prediction-market/index.d.ts +7 -0
- package/dist/blocks/prediction-market/index.d.ts.map +1 -0
- package/dist/blocks/prediction-market/src/AnimatedAmountInput.vue.d.ts +16 -0
- package/dist/blocks/prediction-market/src/AnimatedAmountInput.vue.d.ts.map +1 -0
- package/dist/blocks/prediction-market/src/MarketOddsButton.vue.d.ts +9 -0
- package/dist/blocks/prediction-market/src/MarketOddsButton.vue.d.ts.map +1 -0
- package/dist/blocks/prediction-market/src/PredictionMarket.vue.d.ts +37 -0
- package/dist/blocks/prediction-market/src/PredictionMarket.vue.d.ts.map +1 -0
- package/dist/blocks/prediction-market/src/PredictionMarketCard.vue.d.ts +41 -0
- package/dist/blocks/prediction-market/src/PredictionMarketCard.vue.d.ts.map +1 -0
- package/dist/blocks/prediction-market/src/api-types.d.ts +3 -0
- package/dist/blocks/prediction-market/src/api-types.d.ts.map +1 -0
- package/dist/blocks/prediction-market/src/source-types.d.ts +11 -0
- package/dist/blocks/prediction-market/src/source-types.d.ts.map +1 -0
- package/dist/blocks/prediction-market/src/types.d.ts +20 -0
- package/dist/blocks/prediction-market/src/types.d.ts.map +1 -0
- package/dist/blocks/prediction-market/src/use-market-order.d.ts +37 -0
- package/dist/blocks/prediction-market/src/use-market-order.d.ts.map +1 -0
- package/dist/blocks/prediction-market/src/utils.d.ts +22 -0
- package/dist/blocks/prediction-market/src/utils.d.ts.map +1 -0
- package/dist/blocks/prediction-market.d.ts +1 -0
- package/dist/blocks/prediction-market.js +1 -0
- package/dist/blocks/project-folder/index.d.ts +4 -0
- package/dist/blocks/project-folder/index.d.ts.map +1 -0
- package/dist/blocks/project-folder/src/ProjectFolder.vue.d.ts +58 -0
- package/dist/blocks/project-folder/src/ProjectFolder.vue.d.ts.map +1 -0
- package/dist/blocks/project-folder/src/api-types.d.ts +2 -0
- package/dist/blocks/project-folder/src/api-types.d.ts.map +1 -0
- package/dist/blocks/project-folder/src/use-project-folder.d.ts +50 -0
- package/dist/blocks/project-folder/src/use-project-folder.d.ts.map +1 -0
- package/dist/blocks/project-folder.d.ts +1 -0
- package/dist/blocks/project-folder.js +1 -0
- package/dist/blocks/search-cursor.d.ts +9 -0
- package/dist/blocks/search-cursor.d.ts.map +1 -0
- package/dist/blocks/shared.d.ts +13 -0
- package/dist/blocks/shared.d.ts.map +1 -0
- package/dist/blocks/signup-form/index.d.ts +5 -0
- package/dist/blocks/signup-form/index.d.ts.map +1 -0
- package/dist/blocks/signup-form/src/SignUpForm.vue.d.ts +62 -0
- package/dist/blocks/signup-form/src/SignUpForm.vue.d.ts.map +1 -0
- package/dist/blocks/signup-form/src/api-types.d.ts +2 -0
- package/dist/blocks/signup-form/src/api-types.d.ts.map +1 -0
- package/dist/blocks/signup-form/src/source-types.d.ts +12 -0
- package/dist/blocks/signup-form/src/source-types.d.ts.map +1 -0
- package/dist/blocks/signup-form/src/types.d.ts +12 -0
- package/dist/blocks/signup-form/src/types.d.ts.map +1 -0
- package/dist/blocks/signup-form/src/use-signup.d.ts +34 -0
- package/dist/blocks/signup-form/src/use-signup.d.ts.map +1 -0
- package/dist/blocks/signup-form.d.ts +1 -0
- package/dist/blocks/signup-form.js +1 -0
- package/dist/blocks/swap/index.d.ts +7 -0
- package/dist/blocks/swap/index.d.ts.map +1 -0
- package/dist/blocks/swap/src/ChainChip.vue.d.ts +10 -0
- package/dist/blocks/swap/src/ChainChip.vue.d.ts.map +1 -0
- package/dist/blocks/swap/src/DestinationRow.vue.d.ts +15 -0
- package/dist/blocks/swap/src/DestinationRow.vue.d.ts.map +1 -0
- package/dist/blocks/swap/src/Field.vue.d.ts +19 -0
- package/dist/blocks/swap/src/Field.vue.d.ts.map +1 -0
- package/dist/blocks/swap/src/MultiChainSwap.vue.d.ts +23 -0
- package/dist/blocks/swap/src/MultiChainSwap.vue.d.ts.map +1 -0
- package/dist/blocks/swap/src/TokenDot.vue.d.ts +12 -0
- package/dist/blocks/swap/src/TokenDot.vue.d.ts.map +1 -0
- package/dist/blocks/swap/src/TokenPicker.vue.d.ts +19 -0
- package/dist/blocks/swap/src/TokenPicker.vue.d.ts.map +1 -0
- package/dist/blocks/swap/src/api-types.d.ts +2 -0
- package/dist/blocks/swap/src/api-types.d.ts.map +1 -0
- package/dist/blocks/swap/src/constants.d.ts +2 -0
- package/dist/blocks/swap/src/constants.d.ts.map +1 -0
- package/dist/blocks/swap/src/data.d.ts +4 -0
- package/dist/blocks/swap/src/data.d.ts.map +1 -0
- package/dist/blocks/swap/src/types.d.ts +19 -0
- package/dist/blocks/swap/src/types.d.ts.map +1 -0
- package/dist/blocks/swap/src/use-swap.d.ts +37 -0
- package/dist/blocks/swap/src/use-swap.d.ts.map +1 -0
- package/dist/blocks/swap/src/utils.d.ts +5 -0
- package/dist/blocks/swap/src/utils.d.ts.map +1 -0
- package/dist/blocks/swap.d.ts +1 -0
- package/dist/blocks/swap.js +3 -0
- package/dist/blocks/swipeable-list/index.d.ts +5 -0
- package/dist/blocks/swipeable-list/index.d.ts.map +1 -0
- package/dist/blocks/swipeable-list/src/SwipeableList.vue.d.ts +73 -0
- package/dist/blocks/swipeable-list/src/SwipeableList.vue.d.ts.map +1 -0
- package/dist/blocks/swipeable-list/src/SwipeableRow.vue.d.ts +40 -0
- package/dist/blocks/swipeable-list/src/SwipeableRow.vue.d.ts.map +1 -0
- package/dist/blocks/swipeable-list/src/api-types.d.ts +2 -0
- package/dist/blocks/swipeable-list/src/api-types.d.ts.map +1 -0
- package/dist/blocks/swipeable-list/src/gesture.d.ts +3 -0
- package/dist/blocks/swipeable-list/src/gesture.d.ts.map +1 -0
- package/dist/blocks/swipeable-list/src/source-types.d.ts +13 -0
- package/dist/blocks/swipeable-list/src/source-types.d.ts.map +1 -0
- package/dist/blocks/swipeable-list/src/use-swipe-row.d.ts +32 -0
- package/dist/blocks/swipeable-list/src/use-swipe-row.d.ts.map +1 -0
- package/dist/blocks/swipeable-list.d.ts +1 -0
- package/dist/blocks/swipeable-list.js +1 -0
- package/dist/blocks/wallet-card/index.d.ts +4 -0
- package/dist/blocks/wallet-card/index.d.ts.map +1 -0
- package/dist/blocks/wallet-card/src/AccountAvatar.vue.d.ts +8 -0
- package/dist/blocks/wallet-card/src/AccountAvatar.vue.d.ts.map +1 -0
- package/dist/blocks/wallet-card/src/AccountSwitcher.vue.d.ts +13 -0
- package/dist/blocks/wallet-card/src/AccountSwitcher.vue.d.ts.map +1 -0
- package/dist/blocks/wallet-card/src/CopyButton.vue.d.ts +7 -0
- package/dist/blocks/wallet-card/src/CopyButton.vue.d.ts.map +1 -0
- package/dist/blocks/wallet-card/src/SearchBar.vue.d.ts +17 -0
- package/dist/blocks/wallet-card/src/SearchBar.vue.d.ts.map +1 -0
- package/dist/blocks/wallet-card/src/WalletCard.vue.d.ts +48 -0
- package/dist/blocks/wallet-card/src/WalletCard.vue.d.ts.map +1 -0
- package/dist/blocks/wallet-card/src/api-types.d.ts +2 -0
- package/dist/blocks/wallet-card/src/api-types.d.ts.map +1 -0
- package/dist/blocks/wallet-card/src/constants.d.ts +28 -0
- package/dist/blocks/wallet-card/src/constants.d.ts.map +1 -0
- package/dist/blocks/wallet-card/src/use-wallet-panel.d.ts +16 -0
- package/dist/blocks/wallet-card/src/use-wallet-panel.d.ts.map +1 -0
- package/dist/blocks/wallet-card/src/use-wallet.d.ts +33 -0
- package/dist/blocks/wallet-card/src/use-wallet.d.ts.map +1 -0
- package/dist/blocks/wallet-card/src/utils.d.ts +3 -0
- package/dist/blocks/wallet-card/src/utils.d.ts.map +1 -0
- package/dist/blocks/wallet-card.d.ts +1 -0
- package/dist/blocks/wallet-card.js +1 -0
- package/dist/blocks.d.ts +1 -0
- package/dist/blocks.js +25 -0
- package/dist/bloom-menu-DGUL4vzQ.js +273 -0
- package/dist/bloom-menu-DGUL4vzQ.js.map +1 -0
- package/dist/bottom-sheet-B5n2HmzT.js +138 -0
- package/dist/bottom-sheet-B5n2HmzT.js.map +1 -0
- package/dist/bounce-sidebar-BgZi66Pj.js +134 -0
- package/dist/bounce-sidebar-BgZi66Pj.js.map +1 -0
- package/dist/bouncy-accordion-BzPQWPqf.js +235 -0
- package/dist/bouncy-accordion-BzPQWPqf.js.map +1 -0
- package/dist/breadcrumb-H5n4kY1C.js +261 -0
- package/dist/breadcrumb-H5n4kY1C.js.map +1 -0
- package/dist/bump-chart-DJi7epYl.js +544 -0
- package/dist/bump-chart-DJi7epYl.js.map +1 -0
- package/dist/button-CDD333Yn.js +536 -0
- package/dist/button-CDD333Yn.js.map +1 -0
- package/dist/candlestick-chart-tyW2V3M4.js +355 -0
- package/dist/candlestick-chart-tyW2V3M4.js.map +1 -0
- package/dist/card-87yBBx09.js +132 -0
- package/dist/card-87yBBx09.js.map +1 -0
- package/dist/card-folder-Gs7jcpki.js +478 -0
- package/dist/card-folder-Gs7jcpki.js.map +1 -0
- package/dist/center-morph-modal-B67LxcYh.js +227 -0
- package/dist/center-morph-modal-B67LxcYh.js.map +1 -0
- package/dist/charts/ChartTooltip.vue.d.ts +36 -0
- package/dist/charts/ChartTooltip.vue.d.ts.map +1 -0
- package/dist/charts/bump-chart/index.d.ts +9 -0
- package/dist/charts/bump-chart/index.d.ts.map +1 -0
- package/dist/charts/bump-chart/src/BumpChart.vue.d.ts +21 -0
- package/dist/charts/bump-chart/src/BumpChart.vue.d.ts.map +1 -0
- package/dist/charts/bump-chart/src/BumpChartLegend.vue.d.ts +7 -0
- package/dist/charts/bump-chart/src/BumpChartLegend.vue.d.ts.map +1 -0
- package/dist/charts/bump-chart/src/BumpChartPlot.vue.d.ts +7 -0
- package/dist/charts/bump-chart/src/BumpChartPlot.vue.d.ts.map +1 -0
- package/dist/charts/bump-chart/src/BumpChartPoint.vue.d.ts +11 -0
- package/dist/charts/bump-chart/src/BumpChartPoint.vue.d.ts.map +1 -0
- package/dist/charts/bump-chart/src/BumpChartSeriesPath.vue.d.ts +11 -0
- package/dist/charts/bump-chart/src/BumpChartSeriesPath.vue.d.ts.map +1 -0
- package/dist/charts/bump-chart/src/context.d.ts +132 -0
- package/dist/charts/bump-chart/src/context.d.ts.map +1 -0
- package/dist/charts/bump-chart/src/model.d.ts +28 -0
- package/dist/charts/bump-chart/src/model.d.ts.map +1 -0
- package/dist/charts/bump-chart/src/use-geometry.d.ts +14 -0
- package/dist/charts/bump-chart/src/use-geometry.d.ts.map +1 -0
- package/dist/charts/bump-chart.d.ts +1 -0
- package/dist/charts/bump-chart.js +1 -0
- package/dist/charts/candlestick-chart/index.d.ts +8 -0
- package/dist/charts/candlestick-chart/index.d.ts.map +1 -0
- package/dist/charts/candlestick-chart/src/CandlestickChart.vue.d.ts +21 -0
- package/dist/charts/candlestick-chart/src/CandlestickChart.vue.d.ts.map +1 -0
- package/dist/charts/candlestick-chart/src/CandlestickChartLegend.vue.d.ts +17 -0
- package/dist/charts/candlestick-chart/src/CandlestickChartLegend.vue.d.ts.map +1 -0
- package/dist/charts/candlestick-chart/src/CandlestickChartPlot.vue.d.ts +9 -0
- package/dist/charts/candlestick-chart/src/CandlestickChartPlot.vue.d.ts.map +1 -0
- package/dist/charts/candlestick-chart/src/context.d.ts +82 -0
- package/dist/charts/candlestick-chart/src/context.d.ts.map +1 -0
- package/dist/charts/candlestick-chart/src/geometry.d.ts +26 -0
- package/dist/charts/candlestick-chart/src/geometry.d.ts.map +1 -0
- package/dist/charts/candlestick-chart.d.ts +1 -0
- package/dist/charts/candlestick-chart.js +1 -0
- package/dist/charts/composition-chart/index.d.ts +11 -0
- package/dist/charts/composition-chart/index.d.ts.map +1 -0
- package/dist/charts/composition-chart/src/CompositionChart.vue.d.ts +21 -0
- package/dist/charts/composition-chart/src/CompositionChart.vue.d.ts.map +1 -0
- package/dist/charts/composition-chart/src/CompositionChartLegend.vue.d.ts +4 -0
- package/dist/charts/composition-chart/src/CompositionChartLegend.vue.d.ts.map +1 -0
- package/dist/charts/composition-chart/src/CompositionChartPlot.vue.d.ts +4 -0
- package/dist/charts/composition-chart/src/CompositionChartPlot.vue.d.ts.map +1 -0
- package/dist/charts/composition-chart/src/CompositionTooltipContent.vue.d.ts +4 -0
- package/dist/charts/composition-chart/src/CompositionTooltipContent.vue.d.ts.map +1 -0
- package/dist/charts/composition-chart/src/context.d.ts +146 -0
- package/dist/charts/composition-chart/src/context.d.ts.map +1 -0
- package/dist/charts/composition-chart/src/model.d.ts +20 -0
- package/dist/charts/composition-chart/src/model.d.ts.map +1 -0
- package/dist/charts/composition-chart.d.ts +1 -0
- package/dist/charts/composition-chart.js +1 -0
- package/dist/charts/donut-chart/index.d.ts +11 -0
- package/dist/charts/donut-chart/index.d.ts.map +1 -0
- package/dist/charts/donut-chart/src/DonutChart.vue.d.ts +23 -0
- package/dist/charts/donut-chart/src/DonutChart.vue.d.ts.map +1 -0
- package/dist/charts/donut-chart/src/DonutChartCenter.vue.d.ts +22 -0
- package/dist/charts/donut-chart/src/DonutChartCenter.vue.d.ts.map +1 -0
- package/dist/charts/donut-chart/src/DonutChartLegend.vue.d.ts +20 -0
- package/dist/charts/donut-chart/src/DonutChartLegend.vue.d.ts.map +1 -0
- package/dist/charts/donut-chart/src/DonutChartPlot.vue.d.ts +14 -0
- package/dist/charts/donut-chart/src/DonutChartPlot.vue.d.ts.map +1 -0
- package/dist/charts/donut-chart/src/context.d.ts +71 -0
- package/dist/charts/donut-chart/src/context.d.ts.map +1 -0
- package/dist/charts/donut-chart/src/model.d.ts +22 -0
- package/dist/charts/donut-chart/src/model.d.ts.map +1 -0
- package/dist/charts/donut-chart.d.ts +1 -0
- package/dist/charts/donut-chart.js +1 -0
- package/dist/charts/funnel-chart/index.d.ts +9 -0
- package/dist/charts/funnel-chart/index.d.ts.map +1 -0
- package/dist/charts/funnel-chart/src/FunnelChart.vue.d.ts +15 -0
- package/dist/charts/funnel-chart/src/FunnelChart.vue.d.ts.map +1 -0
- package/dist/charts/funnel-chart/src/FunnelChartPlot.vue.d.ts +4 -0
- package/dist/charts/funnel-chart/src/FunnelChartPlot.vue.d.ts.map +1 -0
- package/dist/charts/funnel-chart/src/FunnelChartSummary.vue.d.ts +4 -0
- package/dist/charts/funnel-chart/src/FunnelChartSummary.vue.d.ts.map +1 -0
- package/dist/charts/funnel-chart/src/context.d.ts +153 -0
- package/dist/charts/funnel-chart/src/context.d.ts.map +1 -0
- package/dist/charts/funnel-chart/src/model.d.ts +23 -0
- package/dist/charts/funnel-chart/src/model.d.ts.map +1 -0
- package/dist/charts/funnel-chart.d.ts +1 -0
- package/dist/charts/funnel-chart.js +1 -0
- package/dist/charts/heat-calendar/index.d.ts +10 -0
- package/dist/charts/heat-calendar/index.d.ts.map +1 -0
- package/dist/charts/heat-calendar/src/HeatCalendar.vue.d.ts +21 -0
- package/dist/charts/heat-calendar/src/HeatCalendar.vue.d.ts.map +1 -0
- package/dist/charts/heat-calendar/src/HeatCalendarGrid.vue.d.ts +14 -0
- package/dist/charts/heat-calendar/src/HeatCalendarGrid.vue.d.ts.map +1 -0
- package/dist/charts/heat-calendar/src/HeatCalendarLegend.vue.d.ts +4 -0
- package/dist/charts/heat-calendar/src/HeatCalendarLegend.vue.d.ts.map +1 -0
- package/dist/charts/heat-calendar/src/HeatCalendarTooltip.vue.d.ts +23 -0
- package/dist/charts/heat-calendar/src/HeatCalendarTooltip.vue.d.ts.map +1 -0
- package/dist/charts/heat-calendar/src/context.d.ts +200 -0
- package/dist/charts/heat-calendar/src/context.d.ts.map +1 -0
- package/dist/charts/heat-calendar/src/model.d.ts +44 -0
- package/dist/charts/heat-calendar/src/model.d.ts.map +1 -0
- package/dist/charts/heat-calendar/src/types.d.ts +28 -0
- package/dist/charts/heat-calendar/src/types.d.ts.map +1 -0
- package/dist/charts/heat-calendar/src/utils.d.ts +15 -0
- package/dist/charts/heat-calendar/src/utils.d.ts.map +1 -0
- package/dist/charts/heat-calendar.d.ts +1 -0
- package/dist/charts/heat-calendar.js +1 -0
- package/dist/charts/index.d.ts +15 -0
- package/dist/charts/index.d.ts.map +1 -0
- package/dist/charts/liquidity-heatmap/index.d.ts +9 -0
- package/dist/charts/liquidity-heatmap/index.d.ts.map +1 -0
- package/dist/charts/liquidity-heatmap/src/LiquidityHeatmap.vue.d.ts +15 -0
- package/dist/charts/liquidity-heatmap/src/LiquidityHeatmap.vue.d.ts.map +1 -0
- package/dist/charts/liquidity-heatmap/src/LiquidityHeatmapLegend.vue.d.ts +4 -0
- package/dist/charts/liquidity-heatmap/src/LiquidityHeatmapLegend.vue.d.ts.map +1 -0
- package/dist/charts/liquidity-heatmap/src/LiquidityHeatmapPlot.vue.d.ts +4 -0
- package/dist/charts/liquidity-heatmap/src/LiquidityHeatmapPlot.vue.d.ts.map +1 -0
- package/dist/charts/liquidity-heatmap/src/context.d.ts +75 -0
- package/dist/charts/liquidity-heatmap/src/context.d.ts.map +1 -0
- package/dist/charts/liquidity-heatmap/src/model.d.ts +21 -0
- package/dist/charts/liquidity-heatmap/src/model.d.ts.map +1 -0
- package/dist/charts/liquidity-heatmap.d.ts +1 -0
- package/dist/charts/liquidity-heatmap.js +1 -0
- package/dist/charts/order-book/index.d.ts +17 -0
- package/dist/charts/order-book/index.d.ts.map +1 -0
- package/dist/charts/order-book/src/OrderBook.vue.d.ts +23 -0
- package/dist/charts/order-book/src/OrderBook.vue.d.ts.map +1 -0
- package/dist/charts/order-book/src/OrderBookBalance.vue.d.ts +4 -0
- package/dist/charts/order-book/src/OrderBookBalance.vue.d.ts.map +1 -0
- package/dist/charts/order-book/src/OrderBookDepthRow.vue.d.ts +12 -0
- package/dist/charts/order-book/src/OrderBookDepthRow.vue.d.ts.map +1 -0
- package/dist/charts/order-book/src/OrderBookDepthSummary.vue.d.ts +21 -0
- package/dist/charts/order-book/src/OrderBookDepthSummary.vue.d.ts.map +1 -0
- package/dist/charts/order-book/src/OrderBookHeader.vue.d.ts +4 -0
- package/dist/charts/order-book/src/OrderBookHeader.vue.d.ts.map +1 -0
- package/dist/charts/order-book/src/OrderBookSide.vue.d.ts +7 -0
- package/dist/charts/order-book/src/OrderBookSide.vue.d.ts.map +1 -0
- package/dist/charts/order-book/src/OrderBookSpread.vue.d.ts +4 -0
- package/dist/charts/order-book/src/OrderBookSpread.vue.d.ts.map +1 -0
- package/dist/charts/order-book/src/context.d.ts +158 -0
- package/dist/charts/order-book/src/context.d.ts.map +1 -0
- package/dist/charts/order-book/src/model.d.ts +28 -0
- package/dist/charts/order-book/src/model.d.ts.map +1 -0
- package/dist/charts/order-book.d.ts +1 -0
- package/dist/charts/order-book.js +1 -0
- package/dist/charts/price-target-fan/index.d.ts +22 -0
- package/dist/charts/price-target-fan/index.d.ts.map +1 -0
- package/dist/charts/price-target-fan/src/PriceTargetFan.vue.d.ts +21 -0
- package/dist/charts/price-target-fan/src/PriceTargetFan.vue.d.ts.map +1 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanAxes.vue.d.ts +4 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanAxes.vue.d.ts.map +1 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanCursor.vue.d.ts +4 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanCursor.vue.d.ts.map +1 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanHeader.vue.d.ts +14 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanHeader.vue.d.ts.map +1 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanHistory.vue.d.ts +4 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanHistory.vue.d.ts.map +1 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanNow.vue.d.ts +4 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanNow.vue.d.ts.map +1 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanPlot.vue.d.ts +13 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanPlot.vue.d.ts.map +1 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanSvg.vue.d.ts +14 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanSvg.vue.d.ts.map +1 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanTargets.vue.d.ts +4 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanTargets.vue.d.ts.map +1 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanTooltip.vue.d.ts +29 -0
- package/dist/charts/price-target-fan/src/PriceTargetFanTooltip.vue.d.ts.map +1 -0
- package/dist/charts/price-target-fan/src/context.d.ts +316 -0
- package/dist/charts/price-target-fan/src/context.d.ts.map +1 -0
- package/dist/charts/price-target-fan/src/geometry.d.ts +38 -0
- package/dist/charts/price-target-fan/src/geometry.d.ts.map +1 -0
- package/dist/charts/price-target-fan/src/types.d.ts +39 -0
- package/dist/charts/price-target-fan/src/types.d.ts.map +1 -0
- package/dist/charts/price-target-fan/src/utils.d.ts +13 -0
- package/dist/charts/price-target-fan/src/utils.d.ts.map +1 -0
- package/dist/charts/price-target-fan.d.ts +1 -0
- package/dist/charts/price-target-fan.js +1 -0
- package/dist/charts/returns-calendar/index.d.ts +8 -0
- package/dist/charts/returns-calendar/index.d.ts.map +1 -0
- package/dist/charts/returns-calendar/src/ReturnsCalendar.vue.d.ts +21 -0
- package/dist/charts/returns-calendar/src/ReturnsCalendar.vue.d.ts.map +1 -0
- package/dist/charts/returns-calendar/src/ReturnsCalendarGrid.vue.d.ts +14 -0
- package/dist/charts/returns-calendar/src/ReturnsCalendarGrid.vue.d.ts.map +1 -0
- package/dist/charts/returns-calendar/src/ReturnsCalendarTooltip.vue.d.ts +18 -0
- package/dist/charts/returns-calendar/src/ReturnsCalendarTooltip.vue.d.ts.map +1 -0
- package/dist/charts/returns-calendar/src/context.d.ts +128 -0
- package/dist/charts/returns-calendar/src/context.d.ts.map +1 -0
- package/dist/charts/returns-calendar/src/model.d.ts +28 -0
- package/dist/charts/returns-calendar/src/model.d.ts.map +1 -0
- package/dist/charts/returns-calendar/src/types.d.ts +25 -0
- package/dist/charts/returns-calendar/src/types.d.ts.map +1 -0
- package/dist/charts/returns-calendar/src/utils.d.ts +16 -0
- package/dist/charts/returns-calendar/src/utils.d.ts.map +1 -0
- package/dist/charts/returns-calendar.d.ts +1 -0
- package/dist/charts/returns-calendar.js +1 -0
- package/dist/charts/sankey-chart/index.d.ts +9 -0
- package/dist/charts/sankey-chart/index.d.ts.map +1 -0
- package/dist/charts/sankey-chart/src/SankeyChart.vue.d.ts +21 -0
- package/dist/charts/sankey-chart/src/SankeyChart.vue.d.ts.map +1 -0
- package/dist/charts/sankey-chart/src/SankeyChartPlot.vue.d.ts +9 -0
- package/dist/charts/sankey-chart/src/SankeyChartPlot.vue.d.ts.map +1 -0
- package/dist/charts/sankey-chart/src/SankeyChartTooltip.vue.d.ts +21 -0
- package/dist/charts/sankey-chart/src/SankeyChartTooltip.vue.d.ts.map +1 -0
- package/dist/charts/sankey-chart/src/context.d.ts +115 -0
- package/dist/charts/sankey-chart/src/context.d.ts.map +1 -0
- package/dist/charts/sankey-chart/src/model.d.ts +62 -0
- package/dist/charts/sankey-chart/src/model.d.ts.map +1 -0
- package/dist/charts/sankey-chart.d.ts +1 -0
- package/dist/charts/sankey-chart.js +1 -0
- package/dist/charts/shared.d.ts +25 -0
- package/dist/charts/shared.d.ts.map +1 -0
- package/dist/charts/status-bar/index.d.ts +15 -0
- package/dist/charts/status-bar/index.d.ts.map +1 -0
- package/dist/charts/status-bar/src/StatusBar.vue.d.ts +21 -0
- package/dist/charts/status-bar/src/StatusBar.vue.d.ts.map +1 -0
- package/dist/charts/status-bar/src/StatusBarLegend.vue.d.ts +19 -0
- package/dist/charts/status-bar/src/StatusBarLegend.vue.d.ts.map +1 -0
- package/dist/charts/status-bar/src/StatusBarPlot.vue.d.ts +20 -0
- package/dist/charts/status-bar/src/StatusBarPlot.vue.d.ts.map +1 -0
- package/dist/charts/status-bar/src/StatusBarTooltip.vue.d.ts +22 -0
- package/dist/charts/status-bar/src/StatusBarTooltip.vue.d.ts.map +1 -0
- package/dist/charts/status-bar/src/context.d.ts +103 -0
- package/dist/charts/status-bar/src/context.d.ts.map +1 -0
- package/dist/charts/status-bar.d.ts +1 -0
- package/dist/charts/status-bar.js +1 -0
- package/dist/charts/treemap/index.d.ts +13 -0
- package/dist/charts/treemap/index.d.ts.map +1 -0
- package/dist/charts/treemap/src/Treemap.vue.d.ts +21 -0
- package/dist/charts/treemap/src/Treemap.vue.d.ts.map +1 -0
- package/dist/charts/treemap/src/TreemapCell.vue.d.ts +20 -0
- package/dist/charts/treemap/src/TreemapCell.vue.d.ts.map +1 -0
- package/dist/charts/treemap/src/TreemapLegend.vue.d.ts +9 -0
- package/dist/charts/treemap/src/TreemapLegend.vue.d.ts.map +1 -0
- package/dist/charts/treemap/src/TreemapPlot.vue.d.ts +20 -0
- package/dist/charts/treemap/src/TreemapPlot.vue.d.ts.map +1 -0
- package/dist/charts/treemap/src/TreemapTooltip.vue.d.ts +21 -0
- package/dist/charts/treemap/src/TreemapTooltip.vue.d.ts.map +1 -0
- package/dist/charts/treemap/src/context.d.ts +94 -0
- package/dist/charts/treemap/src/context.d.ts.map +1 -0
- package/dist/charts/treemap/src/model.d.ts +43 -0
- package/dist/charts/treemap/src/model.d.ts.map +1 -0
- package/dist/charts/treemap.d.ts +1 -0
- package/dist/charts/treemap.js +1 -0
- package/dist/charts/volume-profile/index.d.ts +11 -0
- package/dist/charts/volume-profile/index.d.ts.map +1 -0
- package/dist/charts/volume-profile/src/VolumeProfile.vue.d.ts +23 -0
- package/dist/charts/volume-profile/src/VolumeProfile.vue.d.ts.map +1 -0
- package/dist/charts/volume-profile/src/VolumeProfilePlot.vue.d.ts +20 -0
- package/dist/charts/volume-profile/src/VolumeProfilePlot.vue.d.ts.map +1 -0
- package/dist/charts/volume-profile/src/VolumeProfileSummary.vue.d.ts +4 -0
- package/dist/charts/volume-profile/src/VolumeProfileSummary.vue.d.ts.map +1 -0
- package/dist/charts/volume-profile/src/VolumeProfileTooltip.vue.d.ts +34 -0
- package/dist/charts/volume-profile/src/VolumeProfileTooltip.vue.d.ts.map +1 -0
- package/dist/charts/volume-profile/src/context.d.ts +453 -0
- package/dist/charts/volume-profile/src/context.d.ts.map +1 -0
- package/dist/charts/volume-profile/src/model.d.ts +49 -0
- package/dist/charts/volume-profile/src/model.d.ts.map +1 -0
- package/dist/charts/volume-profile.d.ts +1 -0
- package/dist/charts/volume-profile.js +1 -0
- package/dist/charts.d.ts +1 -0
- package/dist/charts.js +15 -0
- package/dist/chat-app-UQc_9SV-.js +118 -0
- package/dist/chat-app-UQc_9SV-.js.map +1 -0
- package/dist/citations-DTgV7SYB.js +256 -0
- package/dist/citations-DTgV7SYB.js.map +1 -0
- package/dist/code-block-BfgCXsAh.js +130 -0
- package/dist/code-block-BfgCXsAh.js.map +1 -0
- package/dist/collapsible-Dp1UcFdJ.js +208 -0
- package/dist/collapsible-Dp1UcFdJ.js.map +1 -0
- package/dist/color-picker-oBOAYuFD.js +1120 -0
- package/dist/color-picker-oBOAYuFD.js.map +1 -0
- package/dist/color-selector-BUCIKQKf.js +221 -0
- package/dist/color-selector-BUCIKQKf.js.map +1 -0
- package/dist/combobox-Bm4DKATI.js +237 -0
- package/dist/combobox-Bm4DKATI.js.map +1 -0
- package/dist/command-palette-ckKWQmmD.js +270 -0
- package/dist/command-palette-ckKWQmmD.js.map +1 -0
- package/dist/composables-BJ1sih_H.js +192 -0
- package/dist/composables-BJ1sih_H.js.map +1 -0
- package/dist/composition-chart-DFroPUqu.js +328 -0
- package/dist/composition-chart-DFroPUqu.js.map +1 -0
- package/dist/context-menu-D3M7Wv9K.js +530 -0
- package/dist/context-menu-D3M7Wv9K.js.map +1 -0
- package/dist/cylinder-carousel-Dnt34HR2.js +187 -0
- package/dist/cylinder-carousel-Dnt34HR2.js.map +1 -0
- package/dist/date-range-picker-qAV-xpKc.js +941 -0
- package/dist/date-range-picker-qAV-xpKc.js.map +1 -0
- package/dist/declaration-audit.json +6 -0
- package/dist/dismiss-Db0RZCUY.js +47 -0
- package/dist/dismiss-Db0RZCUY.js.map +1 -0
- package/dist/dock-Dlm41wbN.js +67 -0
- package/dist/dock-Dlm41wbN.js.map +1 -0
- package/dist/donut-chart-D3aserbJ.js +323 -0
- package/dist/donut-chart-D3aserbJ.js.map +1 -0
- package/dist/drawer-DLtDIIpa.js +79 -0
- package/dist/drawer-DLtDIIpa.js.map +1 -0
- package/dist/dynamic-island-D_wBlujh.js +169 -0
- package/dist/dynamic-island-D_wBlujh.js.map +1 -0
- package/dist/ease-rIvCM4O3.js +53 -0
- package/dist/ease-rIvCM4O3.js.map +1 -0
- package/dist/expandable-action-bar-Cs8jgCn-.js +247 -0
- package/dist/expandable-action-bar-Cs8jgCn-.js.map +1 -0
- package/dist/expandable-control-jWQR_WG5.js +210 -0
- package/dist/expandable-control-jWQR_WG5.js.map +1 -0
- package/dist/expandable-tabs-D9b-6Mxy.js +290 -0
- package/dist/expandable-tabs-D9b-6Mxy.js.map +1 -0
- package/dist/expanding-arrow-button-CM0UMPHe.js +485 -0
- package/dist/expanding-arrow-button-CM0UMPHe.js.map +1 -0
- package/dist/feedback-widget-WnodYTUe.js +430 -0
- package/dist/feedback-widget-WnodYTUe.js.map +1 -0
- package/dist/file-diff-DNZKcjPv.js +167 -0
- package/dist/file-diff-DNZKcjPv.js.map +1 -0
- package/dist/file-tree-BX_U6uD4.js +320 -0
- package/dist/file-tree-BX_U6uD4.js.map +1 -0
- package/dist/file-upload-BePH_y0O.js +1116 -0
- package/dist/file-upload-BePH_y0O.js.map +1 -0
- package/dist/funnel-chart-Da8ybNYU.js +194 -0
- package/dist/funnel-chart-Da8ybNYU.js.map +1 -0
- package/dist/heat-calendar-ClxgUT8q.js +403 -0
- package/dist/heat-calendar-ClxgUT8q.js.map +1 -0
- package/dist/image-generation-YoIRryNH.js +297 -0
- package/dist/image-generation-YoIRryNH.js.map +1 -0
- package/dist/image-viewer-BsXLC7p3.js +925 -0
- package/dist/image-viewer-BsXLC7p3.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +122 -0
- package/dist/infinite-masonry-8d1lfqNh.js +245 -0
- package/dist/infinite-masonry-8d1lfqNh.js.map +1 -0
- package/dist/input-B17D4VP0.js +164 -0
- package/dist/input-B17D4VP0.js.map +1 -0
- package/dist/interactivity-fV41y350.js +23 -0
- package/dist/interactivity-fV41y350.js.map +1 -0
- package/dist/knockout-bracket-Dj5UsAKA.js +1799 -0
- package/dist/knockout-bracket-Dj5UsAKA.js.map +1 -0
- package/dist/lib/RenderContent.d.ts +7 -0
- package/dist/lib/RenderContent.d.ts.map +1 -0
- package/dist/lib/composables.d.ts +20 -0
- package/dist/lib/composables.d.ts.map +1 -0
- package/dist/lib/ease.d.ts +45 -0
- package/dist/lib/ease.d.ts.map +1 -0
- package/dist/lib/layers.d.ts +21 -0
- package/dist/lib/layers.d.ts.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/liquidity-heatmap-CzTHCHEm.js +271 -0
- package/dist/liquidity-heatmap-CzTHCHEm.js.map +1 -0
- package/dist/loader-CktgL9IB.js +506 -0
- package/dist/loader-CktgL9IB.js.map +1 -0
- package/dist/loading-states-C6-sLyVo.js +279 -0
- package/dist/loading-states-C6-sLyVo.js.map +1 -0
- package/dist/marquee-C1FQEE-x.js +54 -0
- package/dist/marquee-C1FQEE-x.js.map +1 -0
- package/dist/message-CwBzZlNb.js +173 -0
- package/dist/message-CwBzZlNb.js.map +1 -0
- package/dist/message-bubble-BWfWrrcc.js +207 -0
- package/dist/message-bubble-BWfWrrcc.js.map +1 -0
- package/dist/message-scroller-D3DUIH1X.js +189 -0
- package/dist/message-scroller-D3DUIH1X.js.map +1 -0
- package/dist/morphing-modal-Ct3pv5pK.js +168 -0
- package/dist/morphing-modal-Ct3pv5pK.js.map +1 -0
- package/dist/morphing-search-DbDedimq.js +1022 -0
- package/dist/morphing-search-DbDedimq.js.map +1 -0
- package/dist/morphing-tabs-YtGm3iRJ.js +528 -0
- package/dist/morphing-tabs-YtGm3iRJ.js.map +1 -0
- package/dist/motion/_combobox/SearchSurface.vue.d.ts +27 -0
- package/dist/motion/_combobox/SearchSurface.vue.d.ts.map +1 -0
- package/dist/motion/_combobox/controller.d.ts +113 -0
- package/dist/motion/_combobox/controller.d.ts.map +1 -0
- package/dist/motion/_overlay/DialogSurface.vue.d.ts +32 -0
- package/dist/motion/_overlay/DialogSurface.vue.d.ts.map +1 -0
- package/dist/motion/_overlay/FloatingSurface.vue.d.ts +31 -0
- package/dist/motion/_overlay/FloatingSurface.vue.d.ts.map +1 -0
- package/dist/motion/_overlay/index.d.ts +3 -0
- package/dist/motion/_overlay/index.d.ts.map +1 -0
- package/dist/motion/_overlay/interactivity.d.ts +4 -0
- package/dist/motion/_overlay/interactivity.d.ts.map +1 -0
- package/dist/motion/_overlay.d.ts +1 -0
- package/dist/motion/_overlay.js +214 -0
- package/dist/motion/_overlay.js.map +1 -0
- package/dist/motion/action-swap/index.d.ts +15 -0
- package/dist/motion/action-swap/index.d.ts.map +1 -0
- package/dist/motion/action-swap/src/ActionSwapBlurButton.vue.d.ts +56 -0
- package/dist/motion/action-swap/src/ActionSwapBlurButton.vue.d.ts.map +1 -0
- package/dist/motion/action-swap/src/ActionSwapBlurIcon.vue.d.ts +16 -0
- package/dist/motion/action-swap/src/ActionSwapBlurIcon.vue.d.ts.map +1 -0
- package/dist/motion/action-swap/src/ActionSwapBlurText.vue.d.ts +16 -0
- package/dist/motion/action-swap/src/ActionSwapBlurText.vue.d.ts.map +1 -0
- package/dist/motion/action-swap/src/ActionSwapButton.vue.d.ts +66 -0
- package/dist/motion/action-swap/src/ActionSwapButton.vue.d.ts.map +1 -0
- package/dist/motion/action-swap/src/ActionSwapCascadeButton.vue.d.ts +56 -0
- package/dist/motion/action-swap/src/ActionSwapCascadeButton.vue.d.ts.map +1 -0
- package/dist/motion/action-swap/src/ActionSwapCascadeIcon.vue.d.ts +16 -0
- package/dist/motion/action-swap/src/ActionSwapCascadeIcon.vue.d.ts.map +1 -0
- package/dist/motion/action-swap/src/ActionSwapCascadeText.vue.d.ts +16 -0
- package/dist/motion/action-swap/src/ActionSwapCascadeText.vue.d.ts.map +1 -0
- package/dist/motion/action-swap/src/ActionSwapIcon.vue.d.ts +20 -0
- package/dist/motion/action-swap/src/ActionSwapIcon.vue.d.ts.map +1 -0
- package/dist/motion/action-swap/src/ActionSwapRollButton.vue.d.ts +56 -0
- package/dist/motion/action-swap/src/ActionSwapRollButton.vue.d.ts.map +1 -0
- package/dist/motion/action-swap/src/ActionSwapRollIcon.vue.d.ts +16 -0
- package/dist/motion/action-swap/src/ActionSwapRollIcon.vue.d.ts.map +1 -0
- package/dist/motion/action-swap/src/ActionSwapRollText.vue.d.ts +16 -0
- package/dist/motion/action-swap/src/ActionSwapRollText.vue.d.ts.map +1 -0
- package/dist/motion/action-swap/src/ActionSwapText.vue.d.ts +22 -0
- package/dist/motion/action-swap/src/ActionSwapText.vue.d.ts.map +1 -0
- package/dist/motion/action-swap/src/api-types.d.ts +13 -0
- package/dist/motion/action-swap/src/api-types.d.ts.map +1 -0
- package/dist/motion/action-swap/src/poses.d.ts +77 -0
- package/dist/motion/action-swap/src/poses.d.ts.map +1 -0
- package/dist/motion/action-swap/src/public-types.d.ts +6 -0
- package/dist/motion/action-swap/src/public-types.d.ts.map +1 -0
- package/dist/motion/action-swap.d.ts +1 -0
- package/dist/motion/action-swap.js +4 -0
- package/dist/motion/adaptive-stepper/index.d.ts +7 -0
- package/dist/motion/adaptive-stepper/index.d.ts.map +1 -0
- package/dist/motion/adaptive-stepper/src/AdaptiveStepper.vue.d.ts +37 -0
- package/dist/motion/adaptive-stepper/src/AdaptiveStepper.vue.d.ts.map +1 -0
- package/dist/motion/adaptive-stepper/src/AdaptiveStepperDecrement.vue.d.ts +14 -0
- package/dist/motion/adaptive-stepper/src/AdaptiveStepperDecrement.vue.d.ts.map +1 -0
- package/dist/motion/adaptive-stepper/src/AdaptiveStepperIncrement.vue.d.ts +14 -0
- package/dist/motion/adaptive-stepper/src/AdaptiveStepperIncrement.vue.d.ts.map +1 -0
- package/dist/motion/adaptive-stepper/src/AdaptiveStepperValue.vue.d.ts +16 -0
- package/dist/motion/adaptive-stepper/src/AdaptiveStepperValue.vue.d.ts.map +1 -0
- package/dist/motion/adaptive-stepper/src/Liquid.vue.d.ts +14 -0
- package/dist/motion/adaptive-stepper/src/Liquid.vue.d.ts.map +1 -0
- package/dist/motion/adaptive-stepper/src/LiquidItem.vue.d.ts +25 -0
- package/dist/motion/adaptive-stepper/src/LiquidItem.vue.d.ts.map +1 -0
- package/dist/motion/adaptive-stepper/src/StepperAction.vue.d.ts +17 -0
- package/dist/motion/adaptive-stepper/src/StepperAction.vue.d.ts.map +1 -0
- package/dist/motion/adaptive-stepper/src/api-types.d.ts +3 -0
- package/dist/motion/adaptive-stepper/src/api-types.d.ts.map +1 -0
- package/dist/motion/adaptive-stepper/src/context.d.ts +15 -0
- package/dist/motion/adaptive-stepper/src/context.d.ts.map +1 -0
- package/dist/motion/adaptive-stepper/src/filter.d.ts +4 -0
- package/dist/motion/adaptive-stepper/src/filter.d.ts.map +1 -0
- package/dist/motion/adaptive-stepper/src/liquid-context.d.ts +8 -0
- package/dist/motion/adaptive-stepper/src/liquid-context.d.ts.map +1 -0
- package/dist/motion/adaptive-stepper/src/public-types.d.ts +3 -0
- package/dist/motion/adaptive-stepper/src/public-types.d.ts.map +1 -0
- package/dist/motion/adaptive-stepper.d.ts +1 -0
- package/dist/motion/adaptive-stepper.js +1 -0
- package/dist/motion/alert/index.d.ts +11 -0
- package/dist/motion/alert/index.d.ts.map +1 -0
- package/dist/motion/alert/src/Alert.vue.d.ts +34 -0
- package/dist/motion/alert/src/Alert.vue.d.ts.map +1 -0
- package/dist/motion/alert/src/AlertAction.vue.d.ts +13 -0
- package/dist/motion/alert/src/AlertAction.vue.d.ts.map +1 -0
- package/dist/motion/alert/src/AlertClose.vue.d.ts +14 -0
- package/dist/motion/alert/src/AlertClose.vue.d.ts.map +1 -0
- package/dist/motion/alert/src/AlertContent.vue.d.ts +13 -0
- package/dist/motion/alert/src/AlertContent.vue.d.ts.map +1 -0
- package/dist/motion/alert/src/AlertDescription.vue.d.ts +13 -0
- package/dist/motion/alert/src/AlertDescription.vue.d.ts.map +1 -0
- package/dist/motion/alert/src/AlertIcon.vue.d.ts +14 -0
- package/dist/motion/alert/src/AlertIcon.vue.d.ts.map +1 -0
- package/dist/motion/alert/src/AlertTitle.vue.d.ts +13 -0
- package/dist/motion/alert/src/AlertTitle.vue.d.ts.map +1 -0
- package/dist/motion/alert/src/api-types.d.ts +8 -0
- package/dist/motion/alert/src/api-types.d.ts.map +1 -0
- package/dist/motion/alert/src/context.d.ts +10 -0
- package/dist/motion/alert/src/context.d.ts.map +1 -0
- package/dist/motion/alert/src/public-types.d.ts +10 -0
- package/dist/motion/alert/src/public-types.d.ts.map +1 -0
- package/dist/motion/alert/src/useAlert.d.ts +3 -0
- package/dist/motion/alert/src/useAlert.d.ts.map +1 -0
- package/dist/motion/alert.d.ts +1 -0
- package/dist/motion/alert.js +1 -0
- package/dist/motion/animated-badge/index.d.ts +4 -0
- package/dist/motion/animated-badge/index.d.ts.map +1 -0
- package/dist/motion/animated-badge/src/AnimatedBadge.vue.d.ts +29 -0
- package/dist/motion/animated-badge/src/AnimatedBadge.vue.d.ts.map +1 -0
- package/dist/motion/animated-badge/src/api-types.d.ts +2 -0
- package/dist/motion/animated-badge/src/api-types.d.ts.map +1 -0
- package/dist/motion/animated-badge/src/public-types.d.ts +4 -0
- package/dist/motion/animated-badge/src/public-types.d.ts.map +1 -0
- package/dist/motion/animated-badge.d.ts +1 -0
- package/dist/motion/animated-badge.js +1 -0
- package/dist/motion/animated-sidebar/index.d.ts +21 -0
- package/dist/motion/animated-sidebar/index.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebar.vue.d.ts +28 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebar.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarClose.vue.d.ts +14 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarClose.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarContent.vue.d.ts +14 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarContent.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarFooter.vue.d.ts +14 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarFooter.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarGroup.vue.d.ts +14 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarGroup.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarGroupContent.vue.d.ts +14 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarGroupContent.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarGroupLabel.vue.d.ts +14 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarGroupLabel.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarHeader.vue.d.ts +14 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarHeader.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarInset.vue.d.ts +14 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarInset.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarMenu.vue.d.ts +14 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarMenu.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarMenuButton.vue.d.ts +34 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarMenuButton.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarMenuItem.vue.d.ts +14 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarMenuItem.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarMenuSub.vue.d.ts +17 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarMenuSub.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarMenuSubButton.vue.d.ts +31 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarMenuSubButton.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarMenuSubItem.vue.d.ts +14 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarMenuSubItem.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarProvider.vue.d.ts +50 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarProvider.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarRail.vue.d.ts +4 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarRail.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarTrigger.vue.d.ts +14 -0
- package/dist/motion/animated-sidebar/src/AnimatedSidebarTrigger.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/MobileSidebar.vue.d.ts +21 -0
- package/dist/motion/animated-sidebar/src/MobileSidebar.vue.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/api-types.d.ts +10 -0
- package/dist/motion/animated-sidebar/src/api-types.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/context.d.ts +21 -0
- package/dist/motion/animated-sidebar/src/context.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/transitions.d.ts +39 -0
- package/dist/motion/animated-sidebar/src/transitions.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/use-sidebar-state.d.ts +12 -0
- package/dist/motion/animated-sidebar/src/use-sidebar-state.d.ts.map +1 -0
- package/dist/motion/animated-sidebar/src/useAnimatedSidebar.d.ts +2 -0
- package/dist/motion/animated-sidebar/src/useAnimatedSidebar.d.ts.map +1 -0
- package/dist/motion/animated-sidebar.d.ts +1 -0
- package/dist/motion/animated-sidebar.js +1 -0
- package/dist/motion/animated-toast-stack/index.d.ts +4 -0
- package/dist/motion/animated-toast-stack/index.d.ts.map +1 -0
- package/dist/motion/animated-toast-stack/src/AnimatedToastStack.vue.d.ts +39 -0
- package/dist/motion/animated-toast-stack/src/AnimatedToastStack.vue.d.ts.map +1 -0
- package/dist/motion/animated-toast-stack/src/ToastItem.vue.d.ts +28 -0
- package/dist/motion/animated-toast-stack/src/ToastItem.vue.d.ts.map +1 -0
- package/dist/motion/animated-toast-stack/src/api-types.d.ts +2 -0
- package/dist/motion/animated-toast-stack/src/api-types.d.ts.map +1 -0
- package/dist/motion/animated-toast-stack/src/useAnimatedToastStack.d.ts +42 -0
- package/dist/motion/animated-toast-stack/src/useAnimatedToastStack.d.ts.map +1 -0
- package/dist/motion/animated-toast-stack.d.ts +1 -0
- package/dist/motion/animated-toast-stack.js +1 -0
- package/dist/motion/arc-picker/index.d.ts +4 -0
- package/dist/motion/arc-picker/index.d.ts.map +1 -0
- package/dist/motion/arc-picker/src/ArcPicker.vue.d.ts +35 -0
- package/dist/motion/arc-picker/src/ArcPicker.vue.d.ts.map +1 -0
- package/dist/motion/arc-picker/src/api-types.d.ts +2 -0
- package/dist/motion/arc-picker/src/api-types.d.ts.map +1 -0
- package/dist/motion/arc-picker/src/arc-control.d.ts +49 -0
- package/dist/motion/arc-picker/src/arc-control.d.ts.map +1 -0
- package/dist/motion/arc-picker/src/arc-layout.d.ts +38 -0
- package/dist/motion/arc-picker/src/arc-layout.d.ts.map +1 -0
- package/dist/motion/arc-picker.d.ts +1 -0
- package/dist/motion/arc-picker.js +1 -0
- package/dist/motion/aspect-ratio/index.d.ts +4 -0
- package/dist/motion/aspect-ratio/index.d.ts.map +1 -0
- package/dist/motion/aspect-ratio/src/AspectRatio.vue.d.ts +22 -0
- package/dist/motion/aspect-ratio/src/AspectRatio.vue.d.ts.map +1 -0
- package/dist/motion/aspect-ratio/src/AspectRatioImage.vue.d.ts +11 -0
- package/dist/motion/aspect-ratio/src/AspectRatioImage.vue.d.ts.map +1 -0
- package/dist/motion/aspect-ratio/src/api-types.d.ts +3 -0
- package/dist/motion/aspect-ratio/src/api-types.d.ts.map +1 -0
- package/dist/motion/aspect-ratio.d.ts +1 -0
- package/dist/motion/aspect-ratio.js +1 -0
- package/dist/motion/bottom-sheet/index.d.ts +3 -0
- package/dist/motion/bottom-sheet/index.d.ts.map +1 -0
- package/dist/motion/bottom-sheet/src/BottomSheet.vue.d.ts +41 -0
- package/dist/motion/bottom-sheet/src/BottomSheet.vue.d.ts.map +1 -0
- package/dist/motion/bottom-sheet/src/api-types.d.ts +2 -0
- package/dist/motion/bottom-sheet/src/api-types.d.ts.map +1 -0
- package/dist/motion/bottom-sheet/src/snap.d.ts +3 -0
- package/dist/motion/bottom-sheet/src/snap.d.ts.map +1 -0
- package/dist/motion/bottom-sheet.d.ts +1 -0
- package/dist/motion/bottom-sheet.js +1 -0
- package/dist/motion/bounce-sidebar/index.d.ts +4 -0
- package/dist/motion/bounce-sidebar/index.d.ts.map +1 -0
- package/dist/motion/bounce-sidebar/src/BounceSidebar.vue.d.ts +43 -0
- package/dist/motion/bounce-sidebar/src/BounceSidebar.vue.d.ts.map +1 -0
- package/dist/motion/bounce-sidebar/src/api-types.d.ts +2 -0
- package/dist/motion/bounce-sidebar/src/api-types.d.ts.map +1 -0
- package/dist/motion/bounce-sidebar/src/trajectory.d.ts +16 -0
- package/dist/motion/bounce-sidebar/src/trajectory.d.ts.map +1 -0
- package/dist/motion/bounce-sidebar.d.ts +1 -0
- package/dist/motion/bounce-sidebar.js +1 -0
- package/dist/motion/bouncy-accordion/index.d.ts +4 -0
- package/dist/motion/bouncy-accordion/index.d.ts.map +1 -0
- package/dist/motion/bouncy-accordion/src/BouncyAccordion.vue.d.ts +54 -0
- package/dist/motion/bouncy-accordion/src/BouncyAccordion.vue.d.ts.map +1 -0
- package/dist/motion/bouncy-accordion/src/BouncyAccordionRow.vue.d.ts +55 -0
- package/dist/motion/bouncy-accordion/src/BouncyAccordionRow.vue.d.ts.map +1 -0
- package/dist/motion/bouncy-accordion/src/api-types.d.ts +2 -0
- package/dist/motion/bouncy-accordion/src/api-types.d.ts.map +1 -0
- package/dist/motion/bouncy-accordion/src/public-types.d.ts +4 -0
- package/dist/motion/bouncy-accordion/src/public-types.d.ts.map +1 -0
- package/dist/motion/bouncy-accordion.d.ts +1 -0
- package/dist/motion/bouncy-accordion.js +1 -0
- package/dist/motion/breadcrumb/index.d.ts +9 -0
- package/dist/motion/breadcrumb/index.d.ts.map +1 -0
- package/dist/motion/breadcrumb/src/Breadcrumb.vue.d.ts +19 -0
- package/dist/motion/breadcrumb/src/Breadcrumb.vue.d.ts.map +1 -0
- package/dist/motion/breadcrumb/src/BreadcrumbEllipsis.vue.d.ts +19 -0
- package/dist/motion/breadcrumb/src/BreadcrumbEllipsis.vue.d.ts.map +1 -0
- package/dist/motion/breadcrumb/src/BreadcrumbItem.vue.d.ts +14 -0
- package/dist/motion/breadcrumb/src/BreadcrumbItem.vue.d.ts.map +1 -0
- package/dist/motion/breadcrumb/src/BreadcrumbLink.vue.d.ts +18 -0
- package/dist/motion/breadcrumb/src/BreadcrumbLink.vue.d.ts.map +1 -0
- package/dist/motion/breadcrumb/src/BreadcrumbList.vue.d.ts +28 -0
- package/dist/motion/breadcrumb/src/BreadcrumbList.vue.d.ts.map +1 -0
- package/dist/motion/breadcrumb/src/BreadcrumbPage.vue.d.ts +13 -0
- package/dist/motion/breadcrumb/src/BreadcrumbPage.vue.d.ts.map +1 -0
- package/dist/motion/breadcrumb/src/BreadcrumbSeparator.vue.d.ts +14 -0
- package/dist/motion/breadcrumb/src/BreadcrumbSeparator.vue.d.ts.map +1 -0
- package/dist/motion/breadcrumb/src/api-types.d.ts +8 -0
- package/dist/motion/breadcrumb/src/api-types.d.ts.map +1 -0
- package/dist/motion/breadcrumb.d.ts +1 -0
- package/dist/motion/breadcrumb.js +1 -0
- package/dist/motion/button/index.d.ts +9 -0
- package/dist/motion/button/index.d.ts.map +1 -0
- package/dist/motion/button/src/Button.vue.d.ts +27 -0
- package/dist/motion/button/src/Button.vue.d.ts.map +1 -0
- package/dist/motion/button/src/ButtonLink.vue.d.ts +24 -0
- package/dist/motion/button/src/ButtonLink.vue.d.ts.map +1 -0
- package/dist/motion/button/src/Magnetic.vue.d.ts +22 -0
- package/dist/motion/button/src/Magnetic.vue.d.ts.map +1 -0
- package/dist/motion/button/src/MagneticButton.vue.d.ts +24 -0
- package/dist/motion/button/src/MagneticButton.vue.d.ts.map +1 -0
- package/dist/motion/button/src/MetallicButton.vue.d.ts +22 -0
- package/dist/motion/button/src/MetallicButton.vue.d.ts.map +1 -0
- package/dist/motion/button/src/StatefulButton.vue.d.ts +50 -0
- package/dist/motion/button/src/StatefulButton.vue.d.ts.map +1 -0
- package/dist/motion/button/src/StatefulText.vue.d.ts +9 -0
- package/dist/motion/button/src/StatefulText.vue.d.ts.map +1 -0
- package/dist/motion/button/src/api-types.d.ts +6 -0
- package/dist/motion/button/src/api-types.d.ts.map +1 -0
- package/dist/motion/button/src/public-types.d.ts +4 -0
- package/dist/motion/button/src/public-types.d.ts.map +1 -0
- package/dist/motion/button.d.ts +1 -0
- package/dist/motion/button.js +1 -0
- package/dist/motion/card/index.d.ts +12 -0
- package/dist/motion/card/index.d.ts.map +1 -0
- package/dist/motion/card/src/Card.vue.d.ts +23 -0
- package/dist/motion/card/src/Card.vue.d.ts.map +1 -0
- package/dist/motion/card/src/CardAction.vue.d.ts +13 -0
- package/dist/motion/card/src/CardAction.vue.d.ts.map +1 -0
- package/dist/motion/card/src/CardContent.vue.d.ts +13 -0
- package/dist/motion/card/src/CardContent.vue.d.ts.map +1 -0
- package/dist/motion/card/src/CardDescription.vue.d.ts +13 -0
- package/dist/motion/card/src/CardDescription.vue.d.ts.map +1 -0
- package/dist/motion/card/src/CardFooter.vue.d.ts +13 -0
- package/dist/motion/card/src/CardFooter.vue.d.ts.map +1 -0
- package/dist/motion/card/src/CardHeader.vue.d.ts +13 -0
- package/dist/motion/card/src/CardHeader.vue.d.ts.map +1 -0
- package/dist/motion/card/src/CardTitle.vue.d.ts +19 -0
- package/dist/motion/card/src/CardTitle.vue.d.ts.map +1 -0
- package/dist/motion/card/src/api-types.d.ts +8 -0
- package/dist/motion/card/src/api-types.d.ts.map +1 -0
- package/dist/motion/card/src/parts.d.ts +5 -0
- package/dist/motion/card/src/parts.d.ts.map +1 -0
- package/dist/motion/card.d.ts +1 -0
- package/dist/motion/card.js +1 -0
- package/dist/motion/center-morph-modal/index.d.ts +6 -0
- package/dist/motion/center-morph-modal/index.d.ts.map +1 -0
- package/dist/motion/center-morph-modal/src/CenterMorphModal.vue.d.ts +27 -0
- package/dist/motion/center-morph-modal/src/CenterMorphModal.vue.d.ts.map +1 -0
- package/dist/motion/center-morph-modal/src/CenterMorphModalClose.vue.d.ts +6 -0
- package/dist/motion/center-morph-modal/src/CenterMorphModalClose.vue.d.ts.map +1 -0
- package/dist/motion/center-morph-modal/src/CenterMorphModalContent.vue.d.ts +26 -0
- package/dist/motion/center-morph-modal/src/CenterMorphModalContent.vue.d.ts.map +1 -0
- package/dist/motion/center-morph-modal/src/CenterMorphModalTrigger.vue.d.ts +6 -0
- package/dist/motion/center-morph-modal/src/CenterMorphModalTrigger.vue.d.ts.map +1 -0
- package/dist/motion/center-morph-modal/src/api-types.d.ts +5 -0
- package/dist/motion/center-morph-modal/src/api-types.d.ts.map +1 -0
- package/dist/motion/center-morph-modal/src/context.d.ts +7 -0
- package/dist/motion/center-morph-modal/src/context.d.ts.map +1 -0
- package/dist/motion/center-morph-modal/src/control.d.ts +5 -0
- package/dist/motion/center-morph-modal/src/control.d.ts.map +1 -0
- package/dist/motion/center-morph-modal/src/use-center-surface.d.ts +10 -0
- package/dist/motion/center-morph-modal/src/use-center-surface.d.ts.map +1 -0
- package/dist/motion/center-morph-modal.d.ts +1 -0
- package/dist/motion/center-morph-modal.js +1 -0
- package/dist/motion/checkbox/index.d.ts +3 -0
- package/dist/motion/checkbox/index.d.ts.map +1 -0
- package/dist/motion/checkbox/src/Checkbox.vue.d.ts +24 -0
- package/dist/motion/checkbox/src/Checkbox.vue.d.ts.map +1 -0
- package/dist/motion/checkbox/src/api-types.d.ts +2 -0
- package/dist/motion/checkbox/src/api-types.d.ts.map +1 -0
- package/dist/motion/checkbox.d.ts +1 -0
- package/dist/motion/checkbox.js +1 -0
- package/dist/motion/collapsible/index.d.ts +8 -0
- package/dist/motion/collapsible/index.d.ts.map +1 -0
- package/dist/motion/collapsible/src/Collapsible.vue.d.ts +31 -0
- package/dist/motion/collapsible/src/Collapsible.vue.d.ts.map +1 -0
- package/dist/motion/collapsible/src/CollapsibleContent.vue.d.ts +17 -0
- package/dist/motion/collapsible/src/CollapsibleContent.vue.d.ts.map +1 -0
- package/dist/motion/collapsible/src/CollapsibleIndicator.vue.d.ts +14 -0
- package/dist/motion/collapsible/src/CollapsibleIndicator.vue.d.ts.map +1 -0
- package/dist/motion/collapsible/src/CollapsibleTrigger.vue.d.ts +15 -0
- package/dist/motion/collapsible/src/CollapsibleTrigger.vue.d.ts.map +1 -0
- package/dist/motion/collapsible/src/api-types.d.ts +5 -0
- package/dist/motion/collapsible/src/api-types.d.ts.map +1 -0
- package/dist/motion/collapsible/src/context.d.ts +11 -0
- package/dist/motion/collapsible/src/context.d.ts.map +1 -0
- package/dist/motion/collapsible/src/public-types.d.ts +8 -0
- package/dist/motion/collapsible/src/public-types.d.ts.map +1 -0
- package/dist/motion/collapsible/src/useCollapsible.d.ts +3 -0
- package/dist/motion/collapsible/src/useCollapsible.d.ts.map +1 -0
- package/dist/motion/collapsible.d.ts +1 -0
- package/dist/motion/collapsible.js +1 -0
- package/dist/motion/color-picker/index.d.ts +16 -0
- package/dist/motion/color-picker/index.d.ts.map +1 -0
- package/dist/motion/color-picker/src/ChannelSlider.vue.d.ts +16 -0
- package/dist/motion/color-picker/src/ChannelSlider.vue.d.ts.map +1 -0
- package/dist/motion/color-picker/src/ColorPicker.vue.d.ts +54 -0
- package/dist/motion/color-picker/src/ColorPicker.vue.d.ts.map +1 -0
- package/dist/motion/color-picker/src/ColorPickerAlpha.vue.d.ts +9 -0
- package/dist/motion/color-picker/src/ColorPickerAlpha.vue.d.ts.map +1 -0
- package/dist/motion/color-picker/src/ColorPickerArea.vue.d.ts +9 -0
- package/dist/motion/color-picker/src/ColorPickerArea.vue.d.ts.map +1 -0
- package/dist/motion/color-picker/src/ColorPickerChannels.vue.d.ts +9 -0
- package/dist/motion/color-picker/src/ColorPickerChannels.vue.d.ts.map +1 -0
- package/dist/motion/color-picker/src/ColorPickerContent.vue.d.ts +19 -0
- package/dist/motion/color-picker/src/ColorPickerContent.vue.d.ts.map +1 -0
- package/dist/motion/color-picker/src/ColorPickerEyeDropper.vue.d.ts +14 -0
- package/dist/motion/color-picker/src/ColorPickerEyeDropper.vue.d.ts.map +1 -0
- package/dist/motion/color-picker/src/ColorPickerHexInput.vue.d.ts +4 -0
- package/dist/motion/color-picker/src/ColorPickerHexInput.vue.d.ts.map +1 -0
- package/dist/motion/color-picker/src/ColorPickerHue.vue.d.ts +9 -0
- package/dist/motion/color-picker/src/ColorPickerHue.vue.d.ts.map +1 -0
- package/dist/motion/color-picker/src/ColorPickerPreset.vue.d.ts +8 -0
- package/dist/motion/color-picker/src/ColorPickerPreset.vue.d.ts.map +1 -0
- package/dist/motion/color-picker/src/ColorPickerPresets.vue.d.ts +14 -0
- package/dist/motion/color-picker/src/ColorPickerPresets.vue.d.ts.map +1 -0
- package/dist/motion/color-picker/src/ColorPickerSwatch.vue.d.ts +4 -0
- package/dist/motion/color-picker/src/ColorPickerSwatch.vue.d.ts.map +1 -0
- package/dist/motion/color-picker/src/ColorPickerTrigger.vue.d.ts +14 -0
- package/dist/motion/color-picker/src/ColorPickerTrigger.vue.d.ts.map +1 -0
- package/dist/motion/color-picker/src/ColorThumb.vue.d.ts +13 -0
- package/dist/motion/color-picker/src/ColorThumb.vue.d.ts.map +1 -0
- package/dist/motion/color-picker/src/api-types.d.ts +13 -0
- package/dist/motion/color-picker/src/api-types.d.ts.map +1 -0
- package/dist/motion/color-picker/src/color.d.ts +26 -0
- package/dist/motion/color-picker/src/color.d.ts.map +1 -0
- package/dist/motion/color-picker/src/context.d.ts +39 -0
- package/dist/motion/color-picker/src/context.d.ts.map +1 -0
- package/dist/motion/color-picker/src/preset-motion.d.ts +8 -0
- package/dist/motion/color-picker/src/preset-motion.d.ts.map +1 -0
- package/dist/motion/color-picker/src/useColorPicker.d.ts +3 -0
- package/dist/motion/color-picker/src/useColorPicker.d.ts.map +1 -0
- package/dist/motion/color-picker.d.ts +1 -0
- package/dist/motion/color-picker.js +1 -0
- package/dist/motion/color-selector/index.d.ts +6 -0
- package/dist/motion/color-selector/index.d.ts.map +1 -0
- package/dist/motion/color-selector/src/ColorSelector.vue.d.ts +30 -0
- package/dist/motion/color-selector/src/ColorSelector.vue.d.ts.map +1 -0
- package/dist/motion/color-selector/src/ColorSelectorItem.vue.d.ts +10 -0
- package/dist/motion/color-selector/src/ColorSelectorItem.vue.d.ts.map +1 -0
- package/dist/motion/color-selector/src/ColorSelectorLabel.vue.d.ts +13 -0
- package/dist/motion/color-selector/src/ColorSelectorLabel.vue.d.ts.map +1 -0
- package/dist/motion/color-selector/src/ColorSelectorList.vue.d.ts +13 -0
- package/dist/motion/color-selector/src/ColorSelectorList.vue.d.ts.map +1 -0
- package/dist/motion/color-selector/src/api-types.d.ts +5 -0
- package/dist/motion/color-selector/src/api-types.d.ts.map +1 -0
- package/dist/motion/color-selector/src/context.d.ts +16 -0
- package/dist/motion/color-selector/src/context.d.ts.map +1 -0
- package/dist/motion/color-selector.d.ts +1 -0
- package/dist/motion/color-selector.js +1 -0
- package/dist/motion/combobox/index.d.ts +14 -0
- package/dist/motion/combobox/index.d.ts.map +1 -0
- package/dist/motion/combobox/src/Combobox.vue.d.ts +42 -0
- package/dist/motion/combobox/src/Combobox.vue.d.ts.map +1 -0
- package/dist/motion/combobox/src/ComboboxContent.vue.d.ts +25 -0
- package/dist/motion/combobox/src/ComboboxContent.vue.d.ts.map +1 -0
- package/dist/motion/combobox/src/ComboboxEmpty.vue.d.ts +14 -0
- package/dist/motion/combobox/src/ComboboxEmpty.vue.d.ts.map +1 -0
- package/dist/motion/combobox/src/ComboboxGroup.vue.d.ts +14 -0
- package/dist/motion/combobox/src/ComboboxGroup.vue.d.ts.map +1 -0
- package/dist/motion/combobox/src/ComboboxInput.vue.d.ts +12 -0
- package/dist/motion/combobox/src/ComboboxInput.vue.d.ts.map +1 -0
- package/dist/motion/combobox/src/ComboboxItem.vue.d.ts +27 -0
- package/dist/motion/combobox/src/ComboboxItem.vue.d.ts.map +1 -0
- package/dist/motion/combobox/src/ComboboxLabel.vue.d.ts +16 -0
- package/dist/motion/combobox/src/ComboboxLabel.vue.d.ts.map +1 -0
- package/dist/motion/combobox/src/ComboboxList.vue.d.ts +19 -0
- package/dist/motion/combobox/src/ComboboxList.vue.d.ts.map +1 -0
- package/dist/motion/combobox/src/ComboboxSeparator.vue.d.ts +4 -0
- package/dist/motion/combobox/src/ComboboxSeparator.vue.d.ts.map +1 -0
- package/dist/motion/combobox/src/ComboboxTrigger.vue.d.ts +14 -0
- package/dist/motion/combobox/src/ComboboxTrigger.vue.d.ts.map +1 -0
- package/dist/motion/combobox/src/ComboboxValue.vue.d.ts +21 -0
- package/dist/motion/combobox/src/ComboboxValue.vue.d.ts.map +1 -0
- package/dist/motion/combobox/src/SearchOption.vue.d.ts +28 -0
- package/dist/motion/combobox/src/SearchOption.vue.d.ts.map +1 -0
- package/dist/motion/combobox/src/api-types.d.ts +12 -0
- package/dist/motion/combobox/src/api-types.d.ts.map +1 -0
- package/dist/motion/combobox/src/public-types.d.ts +3 -0
- package/dist/motion/combobox/src/public-types.d.ts.map +1 -0
- package/dist/motion/combobox.d.ts +1 -0
- package/dist/motion/combobox.js +1 -0
- package/dist/motion/context-menu/index.d.ts +12 -0
- package/dist/motion/context-menu/index.d.ts.map +1 -0
- package/dist/motion/context-menu/src/ContextMenu.vue.d.ts +24 -0
- package/dist/motion/context-menu/src/ContextMenu.vue.d.ts.map +1 -0
- package/dist/motion/context-menu/src/ContextMenuCheckboxItem.vue.d.ts +34 -0
- package/dist/motion/context-menu/src/ContextMenuCheckboxItem.vue.d.ts.map +1 -0
- package/dist/motion/context-menu/src/ContextMenuContent.vue.d.ts +18 -0
- package/dist/motion/context-menu/src/ContextMenuContent.vue.d.ts.map +1 -0
- package/dist/motion/context-menu/src/ContextMenuItem.vue.d.ts +26 -0
- package/dist/motion/context-menu/src/ContextMenuItem.vue.d.ts.map +1 -0
- package/dist/motion/context-menu/src/ContextMenuItemBase.vue.d.ts +30 -0
- package/dist/motion/context-menu/src/ContextMenuItemBase.vue.d.ts.map +1 -0
- package/dist/motion/context-menu/src/ContextMenuLabel.vue.d.ts +16 -0
- package/dist/motion/context-menu/src/ContextMenuLabel.vue.d.ts.map +1 -0
- package/dist/motion/context-menu/src/ContextMenuRadioGroup.vue.d.ts +25 -0
- package/dist/motion/context-menu/src/ContextMenuRadioGroup.vue.d.ts.map +1 -0
- package/dist/motion/context-menu/src/ContextMenuRadioItem.vue.d.ts +23 -0
- package/dist/motion/context-menu/src/ContextMenuRadioItem.vue.d.ts.map +1 -0
- package/dist/motion/context-menu/src/ContextMenuSeparator.vue.d.ts +4 -0
- package/dist/motion/context-menu/src/ContextMenuSeparator.vue.d.ts.map +1 -0
- package/dist/motion/context-menu/src/ContextMenuShortcut.vue.d.ts +13 -0
- package/dist/motion/context-menu/src/ContextMenuShortcut.vue.d.ts.map +1 -0
- package/dist/motion/context-menu/src/ContextMenuTrigger.vue.d.ts +16 -0
- package/dist/motion/context-menu/src/ContextMenuTrigger.vue.d.ts.map +1 -0
- package/dist/motion/context-menu/src/api-types.d.ts +11 -0
- package/dist/motion/context-menu/src/api-types.d.ts.map +1 -0
- package/dist/motion/context-menu/src/menu-state.d.ts +60 -0
- package/dist/motion/context-menu/src/menu-state.d.ts.map +1 -0
- package/dist/motion/context-menu/src/menu-surface.d.ts +19 -0
- package/dist/motion/context-menu/src/menu-surface.d.ts.map +1 -0
- package/dist/motion/context-menu/src/menu-trigger.d.ts +10 -0
- package/dist/motion/context-menu/src/menu-trigger.d.ts.map +1 -0
- package/dist/motion/context-menu.d.ts +1 -0
- package/dist/motion/context-menu.js +1 -0
- package/dist/motion/cylinder-carousel/index.d.ts +3 -0
- package/dist/motion/cylinder-carousel/index.d.ts.map +1 -0
- package/dist/motion/cylinder-carousel/src/CylinderCarousel.vue.d.ts +31 -0
- package/dist/motion/cylinder-carousel/src/CylinderCarousel.vue.d.ts.map +1 -0
- package/dist/motion/cylinder-carousel/src/api-types.d.ts +2 -0
- package/dist/motion/cylinder-carousel/src/api-types.d.ts.map +1 -0
- package/dist/motion/cylinder-carousel/src/projection.d.ts +16 -0
- package/dist/motion/cylinder-carousel/src/projection.d.ts.map +1 -0
- package/dist/motion/cylinder-carousel.d.ts +1 -0
- package/dist/motion/cylinder-carousel.js +1 -0
- package/dist/motion/date-range-picker/index.d.ts +17 -0
- package/dist/motion/date-range-picker/index.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/CalendarChoices.vue.d.ts +22 -0
- package/dist/motion/date-range-picker/src/CalendarChoices.vue.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/CalendarPresence.vue.d.ts +14 -0
- package/dist/motion/date-range-picker/src/CalendarPresence.vue.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/DateRangePicker.vue.d.ts +39 -0
- package/dist/motion/date-range-picker/src/DateRangePicker.vue.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/DateRangePickerCalendar.vue.d.ts +19 -0
- package/dist/motion/date-range-picker/src/DateRangePickerCalendar.vue.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/DateRangePickerClear.vue.d.ts +17 -0
- package/dist/motion/date-range-picker/src/DateRangePickerClear.vue.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/DateRangePickerContent.vue.d.ts +20 -0
- package/dist/motion/date-range-picker/src/DateRangePickerContent.vue.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/DateRangePickerDropdown.vue.d.ts +26 -0
- package/dist/motion/date-range-picker/src/DateRangePickerDropdown.vue.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/DateRangePickerFooter.vue.d.ts +13 -0
- package/dist/motion/date-range-picker/src/DateRangePickerFooter.vue.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/DateRangePickerGrid.vue.d.ts +4 -0
- package/dist/motion/date-range-picker/src/DateRangePickerGrid.vue.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/DateRangePickerHeader.vue.d.ts +4 -0
- package/dist/motion/date-range-picker/src/DateRangePickerHeader.vue.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/DateRangePickerPreset.vue.d.ts +20 -0
- package/dist/motion/date-range-picker/src/DateRangePickerPreset.vue.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/DateRangePickerPresets.vue.d.ts +14 -0
- package/dist/motion/date-range-picker/src/DateRangePickerPresets.vue.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/DateRangePickerSelection.vue.d.ts +16 -0
- package/dist/motion/date-range-picker/src/DateRangePickerSelection.vue.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/DateRangePickerSummary.vue.d.ts +4 -0
- package/dist/motion/date-range-picker/src/DateRangePickerSummary.vue.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/DateRangePickerTrigger.vue.d.ts +20 -0
- package/dist/motion/date-range-picker/src/DateRangePickerTrigger.vue.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/api-types.d.ts +14 -0
- package/dist/motion/date-range-picker/src/api-types.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/controller.d.ts +78 -0
- package/dist/motion/date-range-picker/src/controller.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/date-utils.d.ts +8 -0
- package/dist/motion/date-range-picker/src/date-utils.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/types.d.ts +9 -0
- package/dist/motion/date-range-picker/src/types.d.ts.map +1 -0
- package/dist/motion/date-range-picker/src/useDateRangePicker.d.ts +62 -0
- package/dist/motion/date-range-picker/src/useDateRangePicker.d.ts.map +1 -0
- package/dist/motion/date-range-picker.d.ts +1 -0
- package/dist/motion/date-range-picker.js +1 -0
- package/dist/motion/dock/index.d.ts +5 -0
- package/dist/motion/dock/index.d.ts.map +1 -0
- package/dist/motion/dock/src/Dock.vue.d.ts +19 -0
- package/dist/motion/dock/src/Dock.vue.d.ts.map +1 -0
- package/dist/motion/dock/src/DockItem.vue.d.ts +23 -0
- package/dist/motion/dock/src/DockItem.vue.d.ts.map +1 -0
- package/dist/motion/dock/src/DockSeparator.vue.d.ts +14 -0
- package/dist/motion/dock/src/DockSeparator.vue.d.ts.map +1 -0
- package/dist/motion/dock/src/api-types.d.ts +3 -0
- package/dist/motion/dock/src/api-types.d.ts.map +1 -0
- package/dist/motion/dock/src/context.d.ts +6 -0
- package/dist/motion/dock/src/context.d.ts.map +1 -0
- package/dist/motion/dock.d.ts +1 -0
- package/dist/motion/dock.js +1 -0
- package/dist/motion/drawer/index.d.ts +3 -0
- package/dist/motion/drawer/index.d.ts.map +1 -0
- package/dist/motion/drawer/src/Drawer.vue.d.ts +28 -0
- package/dist/motion/drawer/src/Drawer.vue.d.ts.map +1 -0
- package/dist/motion/drawer/src/api-types.d.ts +2 -0
- package/dist/motion/drawer/src/api-types.d.ts.map +1 -0
- package/dist/motion/drawer.d.ts +1 -0
- package/dist/motion/drawer.js +1 -0
- package/dist/motion/expandable-control/index.d.ts +4 -0
- package/dist/motion/expandable-control/index.d.ts.map +1 -0
- package/dist/motion/expandable-control/src/ExpandableButton.vue.d.ts +33 -0
- package/dist/motion/expandable-control/src/ExpandableButton.vue.d.ts.map +1 -0
- package/dist/motion/expandable-control/src/ExpandableChip.vue.d.ts +36 -0
- package/dist/motion/expandable-control/src/ExpandableChip.vue.d.ts.map +1 -0
- package/dist/motion/expandable-control/src/api-types.d.ts +3 -0
- package/dist/motion/expandable-control/src/api-types.d.ts.map +1 -0
- package/dist/motion/expandable-control/src/transition.d.ts +7 -0
- package/dist/motion/expandable-control/src/transition.d.ts.map +1 -0
- package/dist/motion/expandable-control.d.ts +1 -0
- package/dist/motion/expandable-control.js +1 -0
- package/dist/motion/expanding-arrow-button/index.d.ts +5 -0
- package/dist/motion/expanding-arrow-button/index.d.ts.map +1 -0
- package/dist/motion/expanding-arrow-button/src/DottedChevron.vue.d.ts +4 -0
- package/dist/motion/expanding-arrow-button/src/DottedChevron.vue.d.ts.map +1 -0
- package/dist/motion/expanding-arrow-button/src/ExpandingArrowButton.vue.d.ts +19 -0
- package/dist/motion/expanding-arrow-button/src/ExpandingArrowButton.vue.d.ts.map +1 -0
- package/dist/motion/expanding-arrow-button/src/HoldActionButton.vue.d.ts +51 -0
- package/dist/motion/expanding-arrow-button/src/HoldActionButton.vue.d.ts.map +1 -0
- package/dist/motion/expanding-arrow-button/src/SlideActionButton.vue.d.ts +40 -0
- package/dist/motion/expanding-arrow-button/src/SlideActionButton.vue.d.ts.map +1 -0
- package/dist/motion/expanding-arrow-button/src/api-types.d.ts +4 -0
- package/dist/motion/expanding-arrow-button/src/api-types.d.ts.map +1 -0
- package/dist/motion/expanding-arrow-button.d.ts +1 -0
- package/dist/motion/expanding-arrow-button.js +1 -0
- package/dist/motion/file-tree/index.d.ts +6 -0
- package/dist/motion/file-tree/index.d.ts.map +1 -0
- package/dist/motion/file-tree/src/FileTree.vue.d.ts +34 -0
- package/dist/motion/file-tree/src/FileTree.vue.d.ts.map +1 -0
- package/dist/motion/file-tree/src/FileTreeFile.vue.d.ts +10 -0
- package/dist/motion/file-tree/src/FileTreeFile.vue.d.ts.map +1 -0
- package/dist/motion/file-tree/src/FileTreeFolder.vue.d.ts +10 -0
- package/dist/motion/file-tree/src/FileTreeFolder.vue.d.ts.map +1 -0
- package/dist/motion/file-tree/src/api-types.d.ts +4 -0
- package/dist/motion/file-tree/src/api-types.d.ts.map +1 -0
- package/dist/motion/file-tree/src/tree-model.d.ts +20 -0
- package/dist/motion/file-tree/src/tree-model.d.ts.map +1 -0
- package/dist/motion/file-tree.d.ts +1 -0
- package/dist/motion/file-tree.js +1 -0
- package/dist/motion/image-viewer/index.d.ts +14 -0
- package/dist/motion/image-viewer/index.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/ImageViewer.vue.d.ts +40 -0
- package/dist/motion/image-viewer/src/ImageViewer.vue.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/ImageViewerCaption.vue.d.ts +16 -0
- package/dist/motion/image-viewer/src/ImageViewerCaption.vue.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/ImageViewerClose.vue.d.ts +21 -0
- package/dist/motion/image-viewer/src/ImageViewerClose.vue.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/ImageViewerContent.vue.d.ts +16 -0
- package/dist/motion/image-viewer/src/ImageViewerContent.vue.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/ImageViewerCounter.vue.d.ts +4 -0
- package/dist/motion/image-viewer/src/ImageViewerCounter.vue.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/ImageViewerFrame.vue.d.ts +10 -0
- package/dist/motion/image-viewer/src/ImageViewerFrame.vue.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/ImageViewerGallery.vue.d.ts +14 -0
- package/dist/motion/image-viewer/src/ImageViewerGallery.vue.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/ImageViewerNext.vue.d.ts +21 -0
- package/dist/motion/image-viewer/src/ImageViewerNext.vue.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/ImageViewerPrevious.vue.d.ts +21 -0
- package/dist/motion/image-viewer/src/ImageViewerPrevious.vue.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/ImageViewerSlide.vue.d.ts +24 -0
- package/dist/motion/image-viewer/src/ImageViewerSlide.vue.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/ImageViewerSurface.vue.d.ts +22 -0
- package/dist/motion/image-viewer/src/ImageViewerSurface.vue.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/ImageViewerThumbnail.vue.d.ts +25 -0
- package/dist/motion/image-viewer/src/ImageViewerThumbnail.vue.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/api-types.d.ts +5 -0
- package/dist/motion/image-viewer/src/api-types.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/context.d.ts +19 -0
- package/dist/motion/image-viewer/src/context.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/geometry.d.ts +13 -0
- package/dist/motion/image-viewer/src/geometry.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/opening-motion.d.ts +15 -0
- package/dist/motion/image-viewer/src/opening-motion.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/types.d.ts +10 -0
- package/dist/motion/image-viewer/src/types.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/useImageViewer.d.ts +13 -0
- package/dist/motion/image-viewer/src/useImageViewer.d.ts.map +1 -0
- package/dist/motion/image-viewer/src/viewer-state.d.ts +17 -0
- package/dist/motion/image-viewer/src/viewer-state.d.ts.map +1 -0
- package/dist/motion/image-viewer.d.ts +1 -0
- package/dist/motion/image-viewer.js +1 -0
- package/dist/motion/index.d.ts +56 -0
- package/dist/motion/index.d.ts.map +1 -0
- package/dist/motion/input/index.d.ts +4 -0
- package/dist/motion/input/index.d.ts.map +1 -0
- package/dist/motion/input/src/Input.vue.d.ts +46 -0
- package/dist/motion/input/src/Input.vue.d.ts.map +1 -0
- package/dist/motion/input/src/api-types.d.ts +2 -0
- package/dist/motion/input/src/api-types.d.ts.map +1 -0
- package/dist/motion/input/src/public-types.d.ts +2 -0
- package/dist/motion/input/src/public-types.d.ts.map +1 -0
- package/dist/motion/input.d.ts +1 -0
- package/dist/motion/input.js +1 -0
- package/dist/motion/loader/index.d.ts +4 -0
- package/dist/motion/loader/index.d.ts.map +1 -0
- package/dist/motion/loader/src/Loader.vue.d.ts +16 -0
- package/dist/motion/loader/src/Loader.vue.d.ts.map +1 -0
- package/dist/motion/loader/src/LoaderSvg.vue.d.ts +19 -0
- package/dist/motion/loader/src/LoaderSvg.vue.d.ts.map +1 -0
- package/dist/motion/loader/src/api-types.d.ts +2 -0
- package/dist/motion/loader/src/api-types.d.ts.map +1 -0
- package/dist/motion/loader/src/clock.d.ts +11 -0
- package/dist/motion/loader/src/clock.d.ts.map +1 -0
- package/dist/motion/loader/src/model.d.ts +7 -0
- package/dist/motion/loader/src/model.d.ts.map +1 -0
- package/dist/motion/loader/src/visuals.d.ts +15 -0
- package/dist/motion/loader/src/visuals.d.ts.map +1 -0
- package/dist/motion/loader.d.ts +1 -0
- package/dist/motion/loader.js +1 -0
- package/dist/motion/marquee/index.d.ts +3 -0
- package/dist/motion/marquee/index.d.ts.map +1 -0
- package/dist/motion/marquee/src/Marquee.vue.d.ts +17 -0
- package/dist/motion/marquee/src/Marquee.vue.d.ts.map +1 -0
- package/dist/motion/marquee/src/api-types.d.ts +2 -0
- package/dist/motion/marquee/src/api-types.d.ts.map +1 -0
- package/dist/motion/marquee.d.ts +1 -0
- package/dist/motion/marquee.js +1 -0
- package/dist/motion/morphing-modal/index.d.ts +3 -0
- package/dist/motion/morphing-modal/index.d.ts.map +1 -0
- package/dist/motion/morphing-modal/src/MorphingModal.vue.d.ts +27 -0
- package/dist/motion/morphing-modal/src/MorphingModal.vue.d.ts.map +1 -0
- package/dist/motion/morphing-modal/src/api-types.d.ts +2 -0
- package/dist/motion/morphing-modal/src/api-types.d.ts.map +1 -0
- package/dist/motion/morphing-modal.d.ts +1 -0
- package/dist/motion/morphing-modal.js +1 -0
- package/dist/motion/multi-select/index.d.ts +15 -0
- package/dist/motion/multi-select/index.d.ts.map +1 -0
- package/dist/motion/multi-select/src/MultiSelect.vue.d.ts +42 -0
- package/dist/motion/multi-select/src/MultiSelect.vue.d.ts.map +1 -0
- package/dist/motion/multi-select/src/MultiSelectContent.vue.d.ts +25 -0
- package/dist/motion/multi-select/src/MultiSelectContent.vue.d.ts.map +1 -0
- package/dist/motion/multi-select/src/MultiSelectEmpty.vue.d.ts +14 -0
- package/dist/motion/multi-select/src/MultiSelectEmpty.vue.d.ts.map +1 -0
- package/dist/motion/multi-select/src/MultiSelectGroup.vue.d.ts +14 -0
- package/dist/motion/multi-select/src/MultiSelectGroup.vue.d.ts.map +1 -0
- package/dist/motion/multi-select/src/MultiSelectInput.vue.d.ts +12 -0
- package/dist/motion/multi-select/src/MultiSelectInput.vue.d.ts.map +1 -0
- package/dist/motion/multi-select/src/MultiSelectItem.vue.d.ts +27 -0
- package/dist/motion/multi-select/src/MultiSelectItem.vue.d.ts.map +1 -0
- package/dist/motion/multi-select/src/MultiSelectLabel.vue.d.ts +16 -0
- package/dist/motion/multi-select/src/MultiSelectLabel.vue.d.ts.map +1 -0
- package/dist/motion/multi-select/src/MultiSelectList.vue.d.ts +19 -0
- package/dist/motion/multi-select/src/MultiSelectList.vue.d.ts.map +1 -0
- package/dist/motion/multi-select/src/MultiSelectSeparator.vue.d.ts +4 -0
- package/dist/motion/multi-select/src/MultiSelectSeparator.vue.d.ts.map +1 -0
- package/dist/motion/multi-select/src/MultiSelectTrigger.vue.d.ts +14 -0
- package/dist/motion/multi-select/src/MultiSelectTrigger.vue.d.ts.map +1 -0
- package/dist/motion/multi-select/src/MultiSelectValue.vue.d.ts +23 -0
- package/dist/motion/multi-select/src/MultiSelectValue.vue.d.ts.map +1 -0
- package/dist/motion/multi-select/src/api-types.d.ts +12 -0
- package/dist/motion/multi-select/src/api-types.d.ts.map +1 -0
- package/dist/motion/multi-select/src/public-types.d.ts +4 -0
- package/dist/motion/multi-select/src/public-types.d.ts.map +1 -0
- package/dist/motion/multi-select.d.ts +1 -0
- package/dist/motion/multi-select.js +3 -0
- package/dist/motion/number/index.d.ts +5 -0
- package/dist/motion/number/index.d.ts.map +1 -0
- package/dist/motion/number/src/AnimatedNumber.vue.d.ts +8 -0
- package/dist/motion/number/src/AnimatedNumber.vue.d.ts.map +1 -0
- package/dist/motion/number/src/DigitSwap.vue.d.ts +10 -0
- package/dist/motion/number/src/DigitSwap.vue.d.ts.map +1 -0
- package/dist/motion/number/src/NumberTicker.vue.d.ts +11 -0
- package/dist/motion/number/src/NumberTicker.vue.d.ts.map +1 -0
- package/dist/motion/number/src/NumberTickerDigit.vue.d.ts +11 -0
- package/dist/motion/number/src/NumberTickerDigit.vue.d.ts.map +1 -0
- package/dist/motion/number/src/types.d.ts +40 -0
- package/dist/motion/number/src/types.d.ts.map +1 -0
- package/dist/motion/number/src/view-gate.d.ts +4 -0
- package/dist/motion/number/src/view-gate.d.ts.map +1 -0
- package/dist/motion/number.d.ts +1 -0
- package/dist/motion/number.js +1 -0
- package/dist/motion/popover/index.d.ts +8 -0
- package/dist/motion/popover/index.d.ts.map +1 -0
- package/dist/motion/popover/src/MorphPopover.vue.d.ts +29 -0
- package/dist/motion/popover/src/MorphPopover.vue.d.ts.map +1 -0
- package/dist/motion/popover/src/MorphPopoverContent.vue.d.ts +31 -0
- package/dist/motion/popover/src/MorphPopoverContent.vue.d.ts.map +1 -0
- package/dist/motion/popover/src/MorphPopoverTrigger.vue.d.ts +6 -0
- package/dist/motion/popover/src/MorphPopoverTrigger.vue.d.ts.map +1 -0
- package/dist/motion/popover/src/Popover.vue.d.ts +32 -0
- package/dist/motion/popover/src/Popover.vue.d.ts.map +1 -0
- package/dist/motion/popover/src/PopoverContent.vue.d.ts +17 -0
- package/dist/motion/popover/src/PopoverContent.vue.d.ts.map +1 -0
- package/dist/motion/popover/src/PopoverTrigger.vue.d.ts +7 -0
- package/dist/motion/popover/src/PopoverTrigger.vue.d.ts.map +1 -0
- package/dist/motion/popover/src/api-types.d.ts +7 -0
- package/dist/motion/popover/src/api-types.d.ts.map +1 -0
- package/dist/motion/popover/src/context.d.ts +109 -0
- package/dist/motion/popover/src/context.d.ts.map +1 -0
- package/dist/motion/popover/src/geometry.d.ts +51 -0
- package/dist/motion/popover/src/geometry.d.ts.map +1 -0
- package/dist/motion/popover/src/morph-focus.d.ts +11 -0
- package/dist/motion/popover/src/morph-focus.d.ts.map +1 -0
- package/dist/motion/popover.d.ts +1 -0
- package/dist/motion/popover.js +1 -0
- package/dist/motion/preview-rail/index.d.ts +4 -0
- package/dist/motion/preview-rail/index.d.ts.map +1 -0
- package/dist/motion/preview-rail/src/PreviewRail.vue.d.ts +50 -0
- package/dist/motion/preview-rail/src/PreviewRail.vue.d.ts.map +1 -0
- package/dist/motion/preview-rail/src/api-types.d.ts +2 -0
- package/dist/motion/preview-rail/src/api-types.d.ts.map +1 -0
- package/dist/motion/preview-rail/src/public-types.d.ts +3 -0
- package/dist/motion/preview-rail/src/public-types.d.ts.map +1 -0
- package/dist/motion/preview-rail/src/rail-state.d.ts +31 -0
- package/dist/motion/preview-rail/src/rail-state.d.ts.map +1 -0
- package/dist/motion/preview-rail.d.ts +1 -0
- package/dist/motion/preview-rail.js +1 -0
- package/dist/motion/pull-to-refresh/index.d.ts +4 -0
- package/dist/motion/pull-to-refresh/index.d.ts.map +1 -0
- package/dist/motion/pull-to-refresh/src/PullToRefresh.vue.d.ts +65 -0
- package/dist/motion/pull-to-refresh/src/PullToRefresh.vue.d.ts.map +1 -0
- package/dist/motion/pull-to-refresh/src/RefreshBuddy.vue.d.ts +10 -0
- package/dist/motion/pull-to-refresh/src/RefreshBuddy.vue.d.ts.map +1 -0
- package/dist/motion/pull-to-refresh/src/api-types.d.ts +2 -0
- package/dist/motion/pull-to-refresh/src/api-types.d.ts.map +1 -0
- package/dist/motion/pull-to-refresh/src/public-types.d.ts +2 -0
- package/dist/motion/pull-to-refresh/src/public-types.d.ts.map +1 -0
- package/dist/motion/pull-to-refresh/src/pull-state.d.ts +24 -0
- package/dist/motion/pull-to-refresh/src/pull-state.d.ts.map +1 -0
- package/dist/motion/pull-to-refresh.d.ts +1 -0
- package/dist/motion/pull-to-refresh.js +1 -0
- package/dist/motion/radio/index.d.ts +4 -0
- package/dist/motion/radio/index.d.ts.map +1 -0
- package/dist/motion/radio/src/RadioGroup.vue.d.ts +29 -0
- package/dist/motion/radio/src/RadioGroup.vue.d.ts.map +1 -0
- package/dist/motion/radio/src/RadioGroupItem.vue.d.ts +11 -0
- package/dist/motion/radio/src/RadioGroupItem.vue.d.ts.map +1 -0
- package/dist/motion/radio/src/api-types.d.ts +3 -0
- package/dist/motion/radio/src/api-types.d.ts.map +1 -0
- package/dist/motion/radio/src/context.d.ts +11 -0
- package/dist/motion/radio/src/context.d.ts.map +1 -0
- package/dist/motion/radio.d.ts +1 -0
- package/dist/motion/radio.js +1 -0
- package/dist/motion/range-slider/index.d.ts +8 -0
- package/dist/motion/range-slider/index.d.ts.map +1 -0
- package/dist/motion/range-slider/src/BubbleSlider.vue.d.ts +16 -0
- package/dist/motion/range-slider/src/BubbleSlider.vue.d.ts.map +1 -0
- package/dist/motion/range-slider/src/FluidSlider.vue.d.ts +19 -0
- package/dist/motion/range-slider/src/FluidSlider.vue.d.ts.map +1 -0
- package/dist/motion/range-slider/src/InlineSlider.vue.d.ts +21 -0
- package/dist/motion/range-slider/src/InlineSlider.vue.d.ts.map +1 -0
- package/dist/motion/range-slider/src/RangeSlider.vue.d.ts +19 -0
- package/dist/motion/range-slider/src/RangeSlider.vue.d.ts.map +1 -0
- package/dist/motion/range-slider/src/RulerSlider.vue.d.ts +21 -0
- package/dist/motion/range-slider/src/RulerSlider.vue.d.ts.map +1 -0
- package/dist/motion/range-slider/src/WaveSlider.vue.d.ts +18 -0
- package/dist/motion/range-slider/src/WaveSlider.vue.d.ts.map +1 -0
- package/dist/motion/range-slider/src/api-types.d.ts +7 -0
- package/dist/motion/range-slider/src/api-types.d.ts.map +1 -0
- package/dist/motion/range-slider/src/inline-state.d.ts +47 -0
- package/dist/motion/range-slider/src/inline-state.d.ts.map +1 -0
- package/dist/motion/range-slider/src/useSlider.d.ts +43 -0
- package/dist/motion/range-slider/src/useSlider.d.ts.map +1 -0
- package/dist/motion/range-slider/src/visual-state.d.ts +8 -0
- package/dist/motion/range-slider/src/visual-state.d.ts.map +1 -0
- package/dist/motion/range-slider.d.ts +1 -0
- package/dist/motion/range-slider.js +1 -0
- package/dist/motion/scroll-animation/index.d.ts +9 -0
- package/dist/motion/scroll-animation/index.d.ts.map +1 -0
- package/dist/motion/scroll-animation/src/Parallax.vue.d.ts +25 -0
- package/dist/motion/scroll-animation/src/Parallax.vue.d.ts.map +1 -0
- package/dist/motion/scroll-animation/src/ScrollProgress.vue.d.ts +23 -0
- package/dist/motion/scroll-animation/src/ScrollProgress.vue.d.ts.map +1 -0
- package/dist/motion/scroll-animation/src/ScrollReveal.vue.d.ts +31 -0
- package/dist/motion/scroll-animation/src/ScrollReveal.vue.d.ts.map +1 -0
- package/dist/motion/scroll-animation/src/ScrollTo.vue.d.ts +22 -0
- package/dist/motion/scroll-animation/src/ScrollTo.vue.d.ts.map +1 -0
- package/dist/motion/scroll-animation/src/SmoothScroll.vue.d.ts +25 -0
- package/dist/motion/scroll-animation/src/SmoothScroll.vue.d.ts.map +1 -0
- package/dist/motion/scroll-animation/src/api-types.d.ts +6 -0
- package/dist/motion/scroll-animation/src/api-types.d.ts.map +1 -0
- package/dist/motion/scroll-animation/src/public-types.d.ts +4 -0
- package/dist/motion/scroll-animation/src/public-types.d.ts.map +1 -0
- package/dist/motion/scroll-animation/src/useSmoothScroll.d.ts +29 -0
- package/dist/motion/scroll-animation/src/useSmoothScroll.d.ts.map +1 -0
- package/dist/motion/scroll-animation.d.ts +1 -0
- package/dist/motion/scroll-animation.js +1 -0
- package/dist/motion/select/index.d.ts +12 -0
- package/dist/motion/select/index.d.ts.map +1 -0
- package/dist/motion/select/src/MorphSelect.vue.d.ts +32 -0
- package/dist/motion/select/src/MorphSelect.vue.d.ts.map +1 -0
- package/dist/motion/select/src/MorphSelectContent.vue.d.ts +19 -0
- package/dist/motion/select/src/MorphSelectContent.vue.d.ts.map +1 -0
- package/dist/motion/select/src/MorphSelectItem.vue.d.ts +20 -0
- package/dist/motion/select/src/MorphSelectItem.vue.d.ts.map +1 -0
- package/dist/motion/select/src/MorphSelectTrigger.vue.d.ts +19 -0
- package/dist/motion/select/src/MorphSelectTrigger.vue.d.ts.map +1 -0
- package/dist/motion/select/src/MorphSelectValue.vue.d.ts +8 -0
- package/dist/motion/select/src/MorphSelectValue.vue.d.ts.map +1 -0
- package/dist/motion/select/src/Select.vue.d.ts +32 -0
- package/dist/motion/select/src/Select.vue.d.ts.map +1 -0
- package/dist/motion/select/src/SelectContent.vue.d.ts +17 -0
- package/dist/motion/select/src/SelectContent.vue.d.ts.map +1 -0
- package/dist/motion/select/src/SelectItem.vue.d.ts +24 -0
- package/dist/motion/select/src/SelectItem.vue.d.ts.map +1 -0
- package/dist/motion/select/src/SelectRegistrar.vue.d.ts +13 -0
- package/dist/motion/select/src/SelectRegistrar.vue.d.ts.map +1 -0
- package/dist/motion/select/src/SelectTrigger.vue.d.ts +17 -0
- package/dist/motion/select/src/SelectTrigger.vue.d.ts.map +1 -0
- package/dist/motion/select/src/SelectValue.vue.d.ts +10 -0
- package/dist/motion/select/src/SelectValue.vue.d.ts.map +1 -0
- package/dist/motion/select/src/api-types.d.ts +11 -0
- package/dist/motion/select/src/api-types.d.ts.map +1 -0
- package/dist/motion/select/src/context.d.ts +130 -0
- package/dist/motion/select/src/context.d.ts.map +1 -0
- package/dist/motion/select/src/unfold.d.ts +7 -0
- package/dist/motion/select/src/unfold.d.ts.map +1 -0
- package/dist/motion/select.d.ts +1 -0
- package/dist/motion/select.js +1 -0
- package/dist/motion/shader-background/index.d.ts +5 -0
- package/dist/motion/shader-background/index.d.ts.map +1 -0
- package/dist/motion/shader-background/src/ShaderBackground.vue.d.ts +27 -0
- package/dist/motion/shader-background/src/ShaderBackground.vue.d.ts.map +1 -0
- package/dist/motion/shader-background/src/api-types.d.ts +37 -0
- package/dist/motion/shader-background/src/api-types.d.ts.map +1 -0
- package/dist/motion/shader-background/src/presets.d.ts +425 -0
- package/dist/motion/shader-background/src/presets.d.ts.map +1 -0
- package/dist/motion/shader-background/src/shader-session.d.ts +18 -0
- package/dist/motion/shader-background/src/shader-session.d.ts.map +1 -0
- package/dist/motion/shader-background.d.ts +1 -0
- package/dist/motion/shader-background.js +1 -0
- package/dist/motion/shared-layout-bg/index.d.ts +3 -0
- package/dist/motion/shared-layout-bg/index.d.ts.map +1 -0
- package/dist/motion/shared-layout-bg/src/SharedLayoutBg.vue.d.ts +38 -0
- package/dist/motion/shared-layout-bg/src/SharedLayoutBg.vue.d.ts.map +1 -0
- package/dist/motion/shared-layout-bg/src/api-types.d.ts +2 -0
- package/dist/motion/shared-layout-bg/src/api-types.d.ts.map +1 -0
- package/dist/motion/shared-layout-bg.d.ts +1 -0
- package/dist/motion/shared-layout-bg.js +1 -0
- package/dist/motion/sortable-stack/index.d.ts +10 -0
- package/dist/motion/sortable-stack/index.d.ts.map +1 -0
- package/dist/motion/sortable-stack/src/SortableList.vue.d.ts +50 -0
- package/dist/motion/sortable-stack/src/SortableList.vue.d.ts.map +1 -0
- package/dist/motion/sortable-stack/src/SortableListGroup.vue.d.ts +14 -0
- package/dist/motion/sortable-stack/src/SortableListGroup.vue.d.ts.map +1 -0
- package/dist/motion/sortable-stack/src/SortableListHandle.vue.d.ts +17 -0
- package/dist/motion/sortable-stack/src/SortableListHandle.vue.d.ts.map +1 -0
- package/dist/motion/sortable-stack/src/SortableListItem.vue.d.ts +18 -0
- package/dist/motion/sortable-stack/src/SortableListItem.vue.d.ts.map +1 -0
- package/dist/motion/sortable-stack/src/SortableListItemContent.vue.d.ts +14 -0
- package/dist/motion/sortable-stack/src/SortableListItemContent.vue.d.ts.map +1 -0
- package/dist/motion/sortable-stack/src/SortableListUndo.vue.d.ts +17 -0
- package/dist/motion/sortable-stack/src/SortableListUndo.vue.d.ts.map +1 -0
- package/dist/motion/sortable-stack/src/api-types.d.ts +8 -0
- package/dist/motion/sortable-stack/src/api-types.d.ts.map +1 -0
- package/dist/motion/sortable-stack/src/context.d.ts +27 -0
- package/dist/motion/sortable-stack/src/context.d.ts.map +1 -0
- package/dist/motion/sortable-stack/src/useSortableList.d.ts +8 -0
- package/dist/motion/sortable-stack/src/useSortableList.d.ts.map +1 -0
- package/dist/motion/sortable-stack.d.ts +1 -0
- package/dist/motion/sortable-stack.js +1 -0
- package/dist/motion/state.d.ts +6 -0
- package/dist/motion/state.d.ts.map +1 -0
- package/dist/motion/switch/index.d.ts +3 -0
- package/dist/motion/switch/index.d.ts.map +1 -0
- package/dist/motion/switch/src/Switch.vue.d.ts +20 -0
- package/dist/motion/switch/src/Switch.vue.d.ts.map +1 -0
- package/dist/motion/switch/src/api-types.d.ts +2 -0
- package/dist/motion/switch/src/api-types.d.ts.map +1 -0
- package/dist/motion/switch.d.ts +1 -0
- package/dist/motion/switch.js +1 -0
- package/dist/motion/table/index.d.ts +3 -0
- package/dist/motion/table/index.d.ts.map +1 -0
- package/dist/motion/table/src/EditableCell.vue.d.ts +12 -0
- package/dist/motion/table/src/EditableCell.vue.d.ts.map +1 -0
- package/dist/motion/table/src/SkeletonRows.vue.d.ts +11 -0
- package/dist/motion/table/src/SkeletonRows.vue.d.ts.map +1 -0
- package/dist/motion/table/src/Table.vue.d.ts +65 -0
- package/dist/motion/table/src/Table.vue.d.ts.map +1 -0
- package/dist/motion/table/src/TableHandle.vue.d.ts +17 -0
- package/dist/motion/table/src/TableHandle.vue.d.ts.map +1 -0
- package/dist/motion/table/src/TableHeader.vue.d.ts +33 -0
- package/dist/motion/table/src/TableHeader.vue.d.ts.map +1 -0
- package/dist/motion/table/src/TableMenu.vue.d.ts +29 -0
- package/dist/motion/table/src/TableMenu.vue.d.ts.map +1 -0
- package/dist/motion/table/src/types.d.ts +83 -0
- package/dist/motion/table/src/types.d.ts.map +1 -0
- package/dist/motion/table/src/use-table-menu.d.ts +20 -0
- package/dist/motion/table/src/use-table-menu.d.ts.map +1 -0
- package/dist/motion/table/src/use-table.d.ts +88 -0
- package/dist/motion/table/src/use-table.d.ts.map +1 -0
- package/dist/motion/table/src/useTableColumns.d.ts +19 -0
- package/dist/motion/table/src/useTableColumns.d.ts.map +1 -0
- package/dist/motion/table-of-contents/index.d.ts +4 -0
- package/dist/motion/table-of-contents/index.d.ts.map +1 -0
- package/dist/motion/table-of-contents/src/TableOfContents.vue.d.ts +32 -0
- package/dist/motion/table-of-contents/src/TableOfContents.vue.d.ts.map +1 -0
- package/dist/motion/table-of-contents/src/api-types.d.ts +2 -0
- package/dist/motion/table-of-contents/src/api-types.d.ts.map +1 -0
- package/dist/motion/table-of-contents/src/types.d.ts +9 -0
- package/dist/motion/table-of-contents/src/types.d.ts.map +1 -0
- package/dist/motion/table-of-contents.d.ts +1 -0
- package/dist/motion/table-of-contents.js +1 -0
- package/dist/motion/table.d.ts +1 -0
- package/dist/motion/table.js +1 -0
- package/dist/motion/tabs/index.d.ts +5 -0
- package/dist/motion/tabs/index.d.ts.map +1 -0
- package/dist/motion/tabs/src/Tabs.vue.d.ts +30 -0
- package/dist/motion/tabs/src/Tabs.vue.d.ts.map +1 -0
- package/dist/motion/tabs/src/TabsContent.vue.d.ts +18 -0
- package/dist/motion/tabs/src/TabsContent.vue.d.ts.map +1 -0
- package/dist/motion/tabs/src/TabsList.vue.d.ts +17 -0
- package/dist/motion/tabs/src/TabsList.vue.d.ts.map +1 -0
- package/dist/motion/tabs/src/TabsTrigger.vue.d.ts +30 -0
- package/dist/motion/tabs/src/TabsTrigger.vue.d.ts.map +1 -0
- package/dist/motion/tabs/src/TriggerContent.vue.d.ts +22 -0
- package/dist/motion/tabs/src/TriggerContent.vue.d.ts.map +1 -0
- package/dist/motion/tabs/src/context.d.ts +28 -0
- package/dist/motion/tabs/src/context.d.ts.map +1 -0
- package/dist/motion/tabs/src/list-state.d.ts +22 -0
- package/dist/motion/tabs/src/list-state.d.ts.map +1 -0
- package/dist/motion/tabs.d.ts +1 -0
- package/dist/motion/tabs.js +1 -0
- package/dist/motion/text-animation/index.d.ts +7 -0
- package/dist/motion/text-animation/index.d.ts.map +1 -0
- package/dist/motion/text-animation/src/ChromaticTextReveal.vue.d.ts +26 -0
- package/dist/motion/text-animation/src/ChromaticTextReveal.vue.d.ts.map +1 -0
- package/dist/motion/text-animation/src/TextCascade.vue.d.ts +7 -0
- package/dist/motion/text-animation/src/TextCascade.vue.d.ts.map +1 -0
- package/dist/motion/text-animation/src/TextReveal.vue.d.ts +39 -0
- package/dist/motion/text-animation/src/TextReveal.vue.d.ts.map +1 -0
- package/dist/motion/text-animation/src/TextScramble.vue.d.ts +12 -0
- package/dist/motion/text-animation/src/TextScramble.vue.d.ts.map +1 -0
- package/dist/motion/text-animation/src/TextShimmer.vue.d.ts +23 -0
- package/dist/motion/text-animation/src/TextShimmer.vue.d.ts.map +1 -0
- package/dist/motion/text-animation/src/api-types.d.ts +6 -0
- package/dist/motion/text-animation/src/api-types.d.ts.map +1 -0
- package/dist/motion/text-animation/src/reveal-sequence.d.ts +7 -0
- package/dist/motion/text-animation/src/reveal-sequence.d.ts.map +1 -0
- package/dist/motion/text-animation.d.ts +1 -0
- package/dist/motion/text-animation.js +1 -0
- package/dist/motion/theme-toggle/index.d.ts +5 -0
- package/dist/motion/theme-toggle/index.d.ts.map +1 -0
- package/dist/motion/theme-toggle/src/ThemeToggle.vue.d.ts +20 -0
- package/dist/motion/theme-toggle/src/ThemeToggle.vue.d.ts.map +1 -0
- package/dist/motion/theme-toggle/src/api-types.d.ts +2 -0
- package/dist/motion/theme-toggle/src/api-types.d.ts.map +1 -0
- package/dist/motion/theme-toggle/src/useThemeToggle.d.ts +13 -0
- package/dist/motion/theme-toggle/src/useThemeToggle.d.ts.map +1 -0
- package/dist/motion/theme-toggle.d.ts +1 -0
- package/dist/motion/theme-toggle.js +1 -0
- package/dist/motion/tilt-card/index.d.ts +3 -0
- package/dist/motion/tilt-card/index.d.ts.map +1 -0
- package/dist/motion/tilt-card/src/TiltCard.vue.d.ts +21 -0
- package/dist/motion/tilt-card/src/TiltCard.vue.d.ts.map +1 -0
- package/dist/motion/tilt-card/src/api-types.d.ts +2 -0
- package/dist/motion/tilt-card/src/api-types.d.ts.map +1 -0
- package/dist/motion/tilt-card.d.ts +1 -0
- package/dist/motion/tilt-card.js +1 -0
- package/dist/motion/timeline/index.d.ts +4 -0
- package/dist/motion/timeline/index.d.ts.map +1 -0
- package/dist/motion/timeline/src/Timeline.vue.d.ts +55 -0
- package/dist/motion/timeline/src/Timeline.vue.d.ts.map +1 -0
- package/dist/motion/timeline/src/api-types.d.ts +2 -0
- package/dist/motion/timeline/src/api-types.d.ts.map +1 -0
- package/dist/motion/timeline/src/track.d.ts +38 -0
- package/dist/motion/timeline/src/track.d.ts.map +1 -0
- package/dist/motion/timeline.d.ts +1 -0
- package/dist/motion/timeline.js +1 -0
- package/dist/motion/tooltip/index.d.ts +8 -0
- package/dist/motion/tooltip/index.d.ts.map +1 -0
- package/dist/motion/tooltip/src/Tooltip.vue.d.ts +33 -0
- package/dist/motion/tooltip/src/Tooltip.vue.d.ts.map +1 -0
- package/dist/motion/tooltip/src/TooltipContent.vue.d.ts +21 -0
- package/dist/motion/tooltip/src/TooltipContent.vue.d.ts.map +1 -0
- package/dist/motion/tooltip/src/TooltipProvider.vue.d.ts +20 -0
- package/dist/motion/tooltip/src/TooltipProvider.vue.d.ts.map +1 -0
- package/dist/motion/tooltip/src/TooltipTrigger.vue.d.ts +15 -0
- package/dist/motion/tooltip/src/TooltipTrigger.vue.d.ts.map +1 -0
- package/dist/motion/tooltip/src/api-types.d.ts +3 -0
- package/dist/motion/tooltip/src/api-types.d.ts.map +1 -0
- package/dist/motion/tooltip/src/context.d.ts +51 -0
- package/dist/motion/tooltip/src/context.d.ts.map +1 -0
- package/dist/motion/tooltip/src/grace.d.ts +16 -0
- package/dist/motion/tooltip/src/grace.d.ts.map +1 -0
- package/dist/motion/tooltip/src/position.d.ts +30 -0
- package/dist/motion/tooltip/src/position.d.ts.map +1 -0
- package/dist/motion/tooltip.d.ts +1 -0
- package/dist/motion/tooltip.js +1 -0
- package/dist/motion/wheel-picker/index.d.ts +4 -0
- package/dist/motion/wheel-picker/index.d.ts.map +1 -0
- package/dist/motion/wheel-picker/src/WheelPicker.vue.d.ts +27 -0
- package/dist/motion/wheel-picker/src/WheelPicker.vue.d.ts.map +1 -0
- package/dist/motion/wheel-picker/src/api-types.d.ts +2 -0
- package/dist/motion/wheel-picker/src/api-types.d.ts.map +1 -0
- package/dist/motion/wheel-picker/src/drum-state.d.ts +35 -0
- package/dist/motion/wheel-picker/src/drum-state.d.ts.map +1 -0
- package/dist/motion/wheel-picker/src/tick-sound.d.ts +8 -0
- package/dist/motion/wheel-picker/src/tick-sound.d.ts.map +1 -0
- package/dist/motion/wheel-picker.d.ts +1 -0
- package/dist/motion/wheel-picker.js +1 -0
- package/dist/motion.d.ts +1 -0
- package/dist/motion.js +59 -0
- package/dist/multi-select-DquETzls.js +312 -0
- package/dist/multi-select-DquETzls.js.map +1 -0
- package/dist/not-found-BA28FNf-.js +400 -0
- package/dist/not-found-BA28FNf-.js.map +1 -0
- package/dist/notification-stack-DsRk7N8m.js +209 -0
- package/dist/notification-stack-DsRk7N8m.js.map +1 -0
- package/dist/number-Dz4iLJiS.js +279 -0
- package/dist/number-Dz4iLJiS.js.map +1 -0
- package/dist/order-book-MV2c9L-j.js +320 -0
- package/dist/order-book-MV2c9L-j.js.map +1 -0
- package/dist/otp-input-CHNtAMa9.js +324 -0
- package/dist/otp-input-CHNtAMa9.js.map +1 -0
- package/dist/overflow-actions-D4746kdz.js +282 -0
- package/dist/overflow-actions-D4746kdz.js.map +1 -0
- package/dist/popover-CMwRDauk.js +763 -0
- package/dist/popover-CMwRDauk.js.map +1 -0
- package/dist/poses-BY_jc8mF.js +72 -0
- package/dist/poses-BY_jc8mF.js.map +1 -0
- package/dist/prediction-market-C9jhwhq3.js +630 -0
- package/dist/prediction-market-C9jhwhq3.js.map +1 -0
- package/dist/preview-rail-C7Rbzlxy.js +240 -0
- package/dist/preview-rail-C7Rbzlxy.js.map +1 -0
- package/dist/price-target-fan-C5Q3RE-I.js +741 -0
- package/dist/price-target-fan-C5Q3RE-I.js.map +1 -0
- package/dist/project-folder-BtSBMR2F.js +310 -0
- package/dist/project-folder-BtSBMR2F.js.map +1 -0
- package/dist/prompt-input-CkBWtc3e.js +246 -0
- package/dist/prompt-input-CkBWtc3e.js.map +1 -0
- package/dist/pull-to-refresh-DFVih6NS.js +384 -0
- package/dist/pull-to-refresh-DFVih6NS.js.map +1 -0
- package/dist/radio-pBV2VkJS.js +161 -0
- package/dist/radio-pBV2VkJS.js.map +1 -0
- package/dist/range-slider-DNGMNvLt.js +780 -0
- package/dist/range-slider-DNGMNvLt.js.map +1 -0
- package/dist/returns-calendar-CRHEOO6m.js +377 -0
- package/dist/returns-calendar-CRHEOO6m.js.map +1 -0
- package/dist/sankey-chart-BBWohlgh.js +600 -0
- package/dist/sankey-chart-BBWohlgh.js.map +1 -0
- package/dist/scroll-animation-DfXlBBPZ.js +362 -0
- package/dist/scroll-animation-DfXlBBPZ.js.map +1 -0
- package/dist/search-cursor-DEEZMunN.js +35 -0
- package/dist/search-cursor-DEEZMunN.js.map +1 -0
- package/dist/select-CpzmgBi9.js +646 -0
- package/dist/select-CpzmgBi9.js.map +1 -0
- package/dist/shader-background-DOJlkTYV.js +607 -0
- package/dist/shader-background-DOJlkTYV.js.map +1 -0
- package/dist/shared-BY_cwEzO.js +88 -0
- package/dist/shared-BY_cwEzO.js.map +1 -0
- package/dist/shared-ByEZ4bm_.js +26 -0
- package/dist/shared-ByEZ4bm_.js.map +1 -0
- package/dist/shared-DAEawhBJ.js +66 -0
- package/dist/shared-DAEawhBJ.js.map +1 -0
- package/dist/shared-layout-bg-QIKkMnLV.js +96 -0
- package/dist/shared-layout-bg-QIKkMnLV.js.map +1 -0
- package/dist/signup-form-CWYewGba.js +407 -0
- package/dist/signup-form-CWYewGba.js.map +1 -0
- package/dist/sortable-stack-LPwgEXh_.js +283 -0
- package/dist/sortable-stack-LPwgEXh_.js.map +1 -0
- package/dist/state-DWNDjqAL.js +32 -0
- package/dist/state-DWNDjqAL.js.map +1 -0
- package/dist/status-bar-DbSKiZ3y.js +332 -0
- package/dist/status-bar-DbSKiZ3y.js.map +1 -0
- package/dist/stream-follow-D51R7eNh.js +28 -0
- package/dist/stream-follow-D51R7eNh.js.map +1 -0
- package/dist/streaming-response-BzqBjbJ3.js +191 -0
- package/dist/streaming-response-BzqBjbJ3.js.map +1 -0
- package/dist/style.css +2 -0
- package/dist/swap-BSeVL8dB.js +878 -0
- package/dist/swap-BSeVL8dB.js.map +1 -0
- package/dist/swipeable-list-AlQhrq07.js +249 -0
- package/dist/swipeable-list-AlQhrq07.js.map +1 -0
- package/dist/switch-D40EEBbb.js +104 -0
- package/dist/switch-D40EEBbb.js.map +1 -0
- package/dist/table-BObEN15h.js +921 -0
- package/dist/table-BObEN15h.js.map +1 -0
- package/dist/table-of-contents-g_ZqEuUd.js +154 -0
- package/dist/table-of-contents-g_ZqEuUd.js.map +1 -0
- package/dist/tabs-DJq2UGVp.js +509 -0
- package/dist/tabs-DJq2UGVp.js.map +1 -0
- package/dist/text-animation-BVFTj50V.js +329 -0
- package/dist/text-animation-BVFTj50V.js.map +1 -0
- package/dist/theme/palettes.d.ts +17 -0
- package/dist/theme/palettes.d.ts.map +1 -0
- package/dist/theme/stylesheet.d.ts +2 -0
- package/dist/theme/stylesheet.d.ts.map +1 -0
- package/dist/theme-toggle-Bmv1gxgq.js +122 -0
- package/dist/theme-toggle-Bmv1gxgq.js.map +1 -0
- package/dist/tilt-card-nKtgNoGB.js +50 -0
- package/dist/tilt-card-nKtgNoGB.js.map +1 -0
- package/dist/timeline-DNs6vEXj.js +360 -0
- package/dist/timeline-DNs6vEXj.js.map +1 -0
- package/dist/todo-list-BIQAOmls.js +366 -0
- package/dist/todo-list-BIQAOmls.js.map +1 -0
- package/dist/tool-approval-DCIGwm0_.js +202 -0
- package/dist/tool-approval-DCIGwm0_.js.map +1 -0
- package/dist/tool-result-DDQUYu2p.js +246 -0
- package/dist/tool-result-DDQUYu2p.js.map +1 -0
- package/dist/tooltip-DWqJD6DG.js +561 -0
- package/dist/tooltip-DWqJD6DG.js.map +1 -0
- package/dist/treemap-BvZ9giIP.js +443 -0
- package/dist/treemap-BvZ9giIP.js.map +1 -0
- package/dist/utils-DIrLOK2M.js +10 -0
- package/dist/utils-DIrLOK2M.js.map +1 -0
- package/dist/voice-orb-BOMRQOnB.js +200 -0
- package/dist/voice-orb-BOMRQOnB.js.map +1 -0
- package/dist/volume-profile-GTHNUYya.js +422 -0
- package/dist/volume-profile-GTHNUYya.js.map +1 -0
- package/dist/wallet-card-DOa9Q4pg.js +580 -0
- package/dist/wallet-card-DOa9Q4pg.js.map +1 -0
- package/dist/wheel-picker-GAAJPpFm.js +372 -0
- package/dist/wheel-picker-GAAJPpFm.js.map +1 -0
- package/package.json +60 -4
- package/registry/action-swap-blur.json +178 -0
- package/registry/action-swap-cascade.json +178 -0
- package/registry/action-swap-roll.json +178 -0
- package/registry/action-swap.json +178 -0
- package/registry/adaptive-stepper.json +155 -0
- package/registry/agent-activity.json +275 -0
- package/registry/agent-progress.json +232 -0
- package/registry/ai-sidebar.json +197 -0
- package/registry/alert.json +149 -0
- package/registry/animated-badge.json +95 -0
- package/registry/animated-number.json +112 -0
- package/registry/animated-sidebar.json +245 -0
- package/registry/animated-toast-stack.json +107 -0
- package/registry/approval-card.json +359 -0
- package/registry/arc-picker.json +106 -0
- package/registry/aspect-ratio.json +94 -0
- package/registry/attachment-upload.json +222 -0
- package/registry/availability-scheduler.json +378 -0
- package/registry/bloom-menu.json +113 -0
- package/registry/bottom-sheet.json +100 -0
- package/registry/bounce-sidebar.json +94 -0
- package/registry/bouncy-accordion.json +113 -0
- package/registry/breadcrumb.json +191 -0
- package/registry/bump-chart.json +137 -0
- package/registry/button-base.json +137 -0
- package/registry/button-magnetic.json +137 -0
- package/registry/button-metallic.json +137 -0
- package/registry/button-stateful.json +137 -0
- package/registry/button.json +137 -0
- package/registry/candlestick-chart.json +104 -0
- package/registry/card-folder.json +155 -0
- package/registry/card.json +130 -0
- package/registry/center-morph-modal.json +137 -0
- package/registry/chat-app.json +1344 -0
- package/registry/checkbox.json +94 -0
- package/registry/chromatic-text-reveal.json +122 -0
- package/registry/citations.json +135 -0
- package/registry/code-block.json +126 -0
- package/registry/collapsible.json +131 -0
- package/registry/color-picker.json +191 -0
- package/registry/color-selector.json +118 -0
- package/registry/combobox.json +179 -0
- package/registry/command-palette.json +125 -0
- package/registry/composition-chart.json +110 -0
- package/registry/context-menu.json +173 -0
- package/registry/cylinder-carousel.json +80 -0
- package/registry/date-range-picker.json +263 -0
- package/registry/digit-swap.json +112 -0
- package/registry/dock.json +112 -0
- package/registry/donut-chart.json +160 -0
- package/registry/drawer.json +94 -0
- package/registry/dynamic-island.json +116 -0
- package/registry/expandable-action-bar.json +106 -0
- package/registry/expandable-control.json +101 -0
- package/registry/expandable-tabs.json +112 -0
- package/registry/expanding-arrow-button.json +112 -0
- package/registry/feedback-widget.json +173 -0
- package/registry/file-diff.json +162 -0
- package/registry/file-tree.json +137 -0
- package/registry/file-upload.json +222 -0
- package/registry/funnel-chart.json +154 -0
- package/registry/heat-calendar.json +122 -0
- package/registry/hold-action-button.json +112 -0
- package/registry/image-generation.json +119 -0
- package/registry/image-viewer.json +197 -0
- package/registry/infinite-masonry.json +114 -0
- package/registry/input.json +100 -0
- package/registry/knockout-bracket.json +222 -0
- package/registry/knockout-wheel.json +222 -0
- package/registry/liquidity-heatmap.json +161 -0
- package/registry/loader.json +104 -0
- package/registry/loading-states.json +232 -0
- package/registry/marquee.json +81 -0
- package/registry/message-bubble.json +137 -0
- package/registry/message-scroller.json +124 -0
- package/registry/message.json +257 -0
- package/registry/morphing-lightbox.json +197 -0
- package/registry/morphing-modal.json +94 -0
- package/registry/morphing-search-chips.json +131 -0
- package/registry/morphing-search.json +131 -0
- package/registry/morphing-tabs.json +131 -0
- package/registry/multi-select.json +179 -0
- package/registry/not-found-glitch.json +206 -0
- package/registry/not-found-magnetic.json +206 -0
- package/registry/not-found-spotlight.json +206 -0
- package/registry/not-found-stacked.json +206 -0
- package/registry/not-found-terminal.json +206 -0
- package/registry/not-found.json +206 -0
- package/registry/notification-stack.json +227 -0
- package/registry/number-ticker.json +112 -0
- package/registry/number.json +112 -0
- package/registry/order-book.json +128 -0
- package/registry/orvui-theme.json +41 -0
- package/registry/otp-input.json +94 -0
- package/registry/overflow-actions.json +113 -0
- package/registry/parallax.json +125 -0
- package/registry/popover-morph.json +136 -0
- package/registry/popover.json +136 -0
- package/registry/prediction-market-card.json +456 -0
- package/registry/prediction-market.json +456 -0
- package/registry/preview-rail.json +106 -0
- package/registry/price-target-fan.json +208 -0
- package/registry/project-folder.json +107 -0
- package/registry/prompt-input.json +329 -0
- package/registry/pull-to-refresh.json +112 -0
- package/registry/radio.json +106 -0
- package/registry/range-slider-bubble.json +142 -0
- package/registry/range-slider-fluid.json +142 -0
- package/registry/range-slider-inline.json +142 -0
- package/registry/range-slider-ruler.json +142 -0
- package/registry/range-slider-wave.json +142 -0
- package/registry/range-slider.json +142 -0
- package/registry/reasoning-text.json +232 -0
- package/registry/registry.json +936 -0
- package/registry/returns-calendar.json +116 -0
- package/registry/sankey-chart.json +161 -0
- package/registry/scroll-animation.json +125 -0
- package/registry/scroll-progress.json +125 -0
- package/registry/scroll-reveal.json +125 -0
- package/registry/scroll-to.json +125 -0
- package/registry/select-morph.json +153 -0
- package/registry/select.json +153 -0
- package/registry/shader-background.json +100 -0
- package/registry/shared-layout-bg.json +88 -0
- package/registry/signup-form.json +233 -0
- package/registry/slide-action-button.json +112 -0
- package/registry/smooth-scroll.json +125 -0
- package/registry/sortable-stack.json +137 -0
- package/registry/status-bar.json +111 -0
- package/registry/streaming-response.json +167 -0
- package/registry/swap.json +149 -0
- package/registry/swipeable-list.json +119 -0
- package/registry/switch.json +88 -0
- package/registry/table-async.json +156 -0
- package/registry/table-editable.json +156 -0
- package/registry/table-of-contents.json +86 -0
- package/registry/table.json +156 -0
- package/registry/tabs.json +125 -0
- package/registry/text-animation.json +122 -0
- package/registry/text-cascade.json +122 -0
- package/registry/text-reveal.json +122 -0
- package/registry/text-scramble.json +122 -0
- package/registry/text-shimmer.json +122 -0
- package/registry/theme-toggle.json +113 -0
- package/registry/thinking-shimmer.json +232 -0
- package/registry/tilt-card.json +80 -0
- package/registry/timeline.json +92 -0
- package/registry/todo-list.json +239 -0
- package/registry/tool-approval.json +156 -0
- package/registry/tool-result.json +252 -0
- package/registry/tooltip.json +125 -0
- package/registry/treemap.json +173 -0
- package/registry/voice-orb.json +104 -0
- package/registry/volume-profile.json +167 -0
- package/registry/wallet-card.json +317 -0
- package/registry/wheel-picker.json +99 -0
- package/src/agents/AgentDisclosure.vue +55 -0
- package/src/agents/agent-activity/LICENSE.simple-icons +30 -0
- package/src/agents/agent-activity/index.ts +2 -0
- package/src/agents/agent-activity/src/ActivityRow.vue +201 -0
- package/src/agents/agent-activity/src/AgentActivity.vue +237 -0
- package/src/agents/agent-activity/src/summary.ts +46 -0
- package/src/agents/agent-activity/src/types.ts +69 -0
- package/src/agents/ai-sidebar/index.ts +4 -0
- package/src/agents/ai-sidebar/src/AISidebar.vue +413 -0
- package/src/agents/ai-sidebar/src/MarqueeLabel.vue +67 -0
- package/src/agents/ai-sidebar/src/ResourceRow.vue +312 -0
- package/src/agents/ai-sidebar/src/api-types.ts +4 -0
- package/src/agents/ai-sidebar/src/tree.ts +170 -0
- package/src/agents/ai-sidebar/src/useTouchCapable.ts +15 -0
- package/src/agents/approval-card/index.ts +2 -0
- package/src/agents/approval-card/src/ApprovalCard.vue +375 -0
- package/src/agents/approval-card/src/QuestionOptions.vue +77 -0
- package/src/agents/approval-card/src/types.ts +40 -0
- package/src/agents/chat-app/index.ts +19 -0
- package/src/agents/chat-app/src/ChatApp.vue +72 -0
- package/src/agents/chat-app/src/ShellFit.vue +38 -0
- package/src/agents/chat-app/src/api-types.ts +4 -0
- package/src/agents/citations/index.ts +8 -0
- package/src/agents/citations/src/Citation.vue +45 -0
- package/src/agents/citations/src/CitationFavicon.vue +67 -0
- package/src/agents/citations/src/CitationList.vue +73 -0
- package/src/agents/citations/src/CitationStack.vue +20 -0
- package/src/agents/citations/src/Citations.vue +67 -0
- package/src/agents/citations/src/api-types.ts +13 -0
- package/src/agents/citations/src/types.ts +8 -0
- package/src/agents/code-block/index.ts +11 -0
- package/src/agents/code-block/src/AgentCode.vue +47 -0
- package/src/agents/code-block/src/AgentCodeLine.vue +20 -0
- package/src/agents/code-block/src/CodeBlock.vue +152 -0
- package/src/agents/code-block/src/api-types.ts +4 -0
- package/src/agents/code-block/src/tokens.ts +102 -0
- package/src/agents/file-diff/index.ts +4 -0
- package/src/agents/file-diff/src/FileDiff.vue +235 -0
- package/src/agents/file-diff/src/api-types.ts +4 -0
- package/src/agents/file-diff/src/types.ts +9 -0
- package/src/agents/image-generation/index.ts +4 -0
- package/src/agents/image-generation/src/DitherField.vue +57 -0
- package/src/agents/image-generation/src/ImageGeneration.vue +190 -0
- package/src/agents/image-generation/src/api-types.ts +4 -0
- package/src/agents/image-generation/src/dither.ts +112 -0
- package/src/agents/index.ts +18 -0
- package/src/agents/loading-states/index.ts +7 -0
- package/src/agents/loading-states/src/AgentProgress.vue +91 -0
- package/src/agents/loading-states/src/CascadePhrase.vue +47 -0
- package/src/agents/loading-states/src/LoadingStates.vue +5 -0
- package/src/agents/loading-states/src/ReasoningText.vue +142 -0
- package/src/agents/loading-states/src/ThinkingShimmer.vue +37 -0
- package/src/agents/loading-states/src/api-types.ts +10 -0
- package/src/agents/message/index.ts +14 -0
- package/src/agents/message/src/Message.vue +40 -0
- package/src/agents/message/src/MessageAvatar.vue +28 -0
- package/src/agents/message/src/MessageContent.vue +21 -0
- package/src/agents/message/src/MessageFooter.vue +21 -0
- package/src/agents/message/src/MessageGroup.vue +26 -0
- package/src/agents/message/src/MessageHeader.vue +21 -0
- package/src/agents/message/src/MessageMarker.vue +18 -0
- package/src/agents/message/src/MessageTyping.vue +37 -0
- package/src/agents/message/src/alignment.ts +9 -0
- package/src/agents/message/src/api-types.ts +25 -0
- package/src/agents/message/src/context.ts +5 -0
- package/src/agents/message-bubble/index.ts +7 -0
- package/src/agents/message-bubble/src/MessageBubble.vue +51 -0
- package/src/agents/message-bubble/src/MessageBubbleCollapsible.vue +96 -0
- package/src/agents/message-bubble/src/MessageBubbleContent.vue +102 -0
- package/src/agents/message-bubble/src/MessageBubbleGroup.vue +26 -0
- package/src/agents/message-bubble/src/api-types.ts +13 -0
- package/src/agents/message-bubble/src/context.ts +15 -0
- package/src/agents/message-scroller/index.ts +3 -0
- package/src/agents/message-scroller/src/MessageScroller.vue +362 -0
- package/src/agents/message-scroller/src/api-types.ts +4 -0
- package/src/agents/prompt-input/index.ts +4 -0
- package/src/agents/prompt-input/src/PromptInput.vue +301 -0
- package/src/agents/prompt-input/src/api-types.ts +4 -0
- package/src/agents/shared.ts +41 -0
- package/src/agents/stream-follow.ts +53 -0
- package/src/agents/streaming-response/index.ts +7 -0
- package/src/agents/streaming-response/src/ResponseAction.vue +31 -0
- package/src/agents/streaming-response/src/StreamingResponse.vue +180 -0
- package/src/agents/streaming-response/src/api-types.ts +4 -0
- package/src/agents/todo-list/index.ts +4 -0
- package/src/agents/todo-list/src/TodoHeaderIcon.vue +57 -0
- package/src/agents/todo-list/src/TodoList.vue +200 -0
- package/src/agents/todo-list/src/TodoStatusIcon.vue +119 -0
- package/src/agents/todo-list/src/api-types.ts +4 -0
- package/src/agents/tool-approval/index.ts +8 -0
- package/src/agents/tool-approval/src/ToolApproval.vue +231 -0
- package/src/agents/tool-approval/src/ToolApprovalCode.vue +14 -0
- package/src/agents/tool-approval/src/api-types.ts +7 -0
- package/src/agents/tool-result/index.ts +5 -0
- package/src/agents/tool-result/src/ToolResult.vue +249 -0
- package/src/agents/tool-result/src/ToolResultOutput.vue +25 -0
- package/src/agents/tool-result/src/api-types.ts +7 -0
- package/src/agents/voice-orb/index.ts +3 -0
- package/src/agents/voice-orb/src/VoiceOrb.vue +129 -0
- package/src/agents/voice-orb/src/api-types.ts +4 -0
- package/src/agents/voice-orb/src/renderer.ts +283 -0
- package/src/blocks/availability-scheduler/index.ts +4 -0
- package/src/blocks/availability-scheduler/src/AvailabilityScheduler.vue +160 -0
- package/src/blocks/availability-scheduler/src/CopyMenu.vue +102 -0
- package/src/blocks/availability-scheduler/src/TimeSelect.vue +44 -0
- package/src/blocks/availability-scheduler/src/api-types.ts +4 -0
- package/src/blocks/availability-scheduler/src/types.ts +120 -0
- package/src/blocks/availability-scheduler/src/use-schedule.ts +137 -0
- package/src/blocks/bloom-menu/index.ts +4 -0
- package/src/blocks/bloom-menu/src/BloomMenu.vue +160 -0
- package/src/blocks/bloom-menu/src/BloomMenuItemContent.vue +32 -0
- package/src/blocks/bloom-menu/src/api-types.ts +4 -0
- package/src/blocks/bloom-menu/src/use-bloom.ts +146 -0
- package/src/blocks/card-folder/index.ts +3 -0
- package/src/blocks/card-folder/src/CardFolder.vue +228 -0
- package/src/blocks/card-folder/src/api-types.ts +4 -0
- package/src/blocks/card-folder/src/purse-shape.ts +41 -0
- package/src/blocks/card-folder/src/use-card-folder.ts +106 -0
- package/src/blocks/command-palette/index.ts +4 -0
- package/src/blocks/command-palette/src/CommandPalette.vue +193 -0
- package/src/blocks/command-palette/src/api-types.ts +4 -0
- package/src/blocks/command-palette/src/search.ts +70 -0
- package/src/blocks/command-palette/src/use-command-surface.ts +68 -0
- package/src/blocks/command-palette/src/use-commands.ts +96 -0
- package/src/blocks/dismiss.ts +83 -0
- package/src/blocks/dynamic-island/index.ts +5 -0
- package/src/blocks/dynamic-island/src/DynamicIsland.vue +44 -0
- package/src/blocks/dynamic-island/src/DynamicIslandView.vue +18 -0
- package/src/blocks/dynamic-island/src/IslandSlot.vue +43 -0
- package/src/blocks/dynamic-island/src/api-types.ts +7 -0
- package/src/blocks/dynamic-island/src/context.ts +2 -0
- package/src/blocks/dynamic-island/src/use-island-size.ts +40 -0
- package/src/blocks/expandable-action-bar/index.ts +24 -0
- package/src/blocks/expandable-action-bar/src/ExpandableActionBar.vue +209 -0
- package/src/blocks/expandable-action-bar/src/api-types.ts +4 -0
- package/src/blocks/expandable-action-bar/src/source-types.ts +11 -0
- package/src/blocks/expandable-action-bar/src/use-action-bar.ts +135 -0
- package/src/blocks/expandable-tabs/index.ts +6 -0
- package/src/blocks/expandable-tabs/src/ExpandableTabs.vue +293 -0
- package/src/blocks/expandable-tabs/src/api-types.ts +4 -0
- package/src/blocks/expandable-tabs/src/source-types.ts +10 -0
- package/src/blocks/expandable-tabs/src/use-tab-measurements.ts +93 -0
- package/src/blocks/feedback-widget/index.ts +4 -0
- package/src/blocks/feedback-widget/src/FeedbackWidget.vue +346 -0
- package/src/blocks/feedback-widget/src/api-types.ts +4 -0
- package/src/blocks/feedback-widget/src/use-feedback.ts +84 -0
- package/src/blocks/file-upload/index.ts +8 -0
- package/src/blocks/file-upload/src/AttachmentAction.vue +83 -0
- package/src/blocks/file-upload/src/AttachmentPreview.vue +72 -0
- package/src/blocks/file-upload/src/AttachmentRow.vue +247 -0
- package/src/blocks/file-upload/src/AttachmentUpload.vue +182 -0
- package/src/blocks/file-upload/src/FileUpload.vue +157 -0
- package/src/blocks/file-upload/src/FileUploadRow.vue +182 -0
- package/src/blocks/file-upload/src/api-types.ts +7 -0
- package/src/blocks/file-upload/src/attachment-geometry.ts +8 -0
- package/src/blocks/file-upload/src/attachment-types.ts +17 -0
- package/src/blocks/file-upload/src/file-utils.ts +90 -0
- package/src/blocks/file-upload/src/queue-state.ts +59 -0
- package/src/blocks/file-upload/src/source-types.ts +18 -0
- package/src/blocks/file-upload/src/types.ts +24 -0
- package/src/blocks/file-upload/src/use-attachment-queue.ts +143 -0
- package/src/blocks/file-upload/src/use-file-queue.ts +77 -0
- package/src/blocks/index.ts +23 -0
- package/src/blocks/infinite-masonry/index.ts +5 -0
- package/src/blocks/infinite-masonry/src/InfiniteMasonry.vue +157 -0
- package/src/blocks/infinite-masonry/src/MasonryItemReveal.vue +26 -0
- package/src/blocks/infinite-masonry/src/api-types.ts +4 -0
- package/src/blocks/infinite-masonry/src/use-masonry.ts +156 -0
- package/src/blocks/knockout-bracket/index.ts +7 -0
- package/src/blocks/knockout-bracket/src/KnockoutBracket.vue +170 -0
- package/src/blocks/knockout-bracket/src/KnockoutWheel.vue +169 -0
- package/src/blocks/knockout-bracket/src/MatchCard.vue +75 -0
- package/src/blocks/knockout-bracket/src/TeamCrest.vue +36 -0
- package/src/blocks/knockout-bracket/src/WheelMark.vue +100 -0
- package/src/blocks/knockout-bracket/src/api-types.ts +7 -0
- package/src/blocks/knockout-bracket/src/bracket-model.ts +72 -0
- package/src/blocks/knockout-bracket/src/data.ts +412 -0
- package/src/blocks/knockout-bracket/src/fixture-builder.ts +56 -0
- package/src/blocks/knockout-bracket/src/types.ts +24 -0
- package/src/blocks/knockout-bracket/src/use-wheel.ts +159 -0
- package/src/blocks/knockout-bracket/src/wheel-data.ts +412 -0
- package/src/blocks/knockout-bracket/src/wheel-model.ts +184 -0
- package/src/blocks/morphing-search/index.ts +5 -0
- package/src/blocks/morphing-search/src/Highlight.vue +21 -0
- package/src/blocks/morphing-search/src/MorphingSearch.vue +287 -0
- package/src/blocks/morphing-search/src/MorphingSearchChips.vue +414 -0
- package/src/blocks/morphing-search/src/api-types.ts +7 -0
- package/src/blocks/morphing-search/src/use-search-chips.ts +413 -0
- package/src/blocks/morphing-search/src/use-search-overlay.ts +254 -0
- package/src/blocks/morphing-tabs/index.ts +6 -0
- package/src/blocks/morphing-tabs/src/LiquidSurface.vue +22 -0
- package/src/blocks/morphing-tabs/src/MorphingTabs.vue +257 -0
- package/src/blocks/morphing-tabs/src/SpringTab.vue +88 -0
- package/src/blocks/morphing-tabs/src/api-types.ts +4 -0
- package/src/blocks/morphing-tabs/src/model.ts +97 -0
- package/src/blocks/morphing-tabs/src/source-types.ts +10 -0
- package/src/blocks/morphing-tabs/src/use-morphing-tabs.ts +361 -0
- package/src/blocks/not-found/index.ts +9 -0
- package/src/blocks/not-found/src/NotFound.vue +6 -0
- package/src/blocks/not-found/src/NotFoundActions.vue +24 -0
- package/src/blocks/not-found/src/NotFoundCopy.vue +9 -0
- package/src/blocks/not-found/src/NotFoundGlitch.vue +22 -0
- package/src/blocks/not-found/src/NotFoundMagnetic.vue +19 -0
- package/src/blocks/not-found/src/NotFoundScramble.vue +6 -0
- package/src/blocks/not-found/src/NotFoundSpotlight.vue +22 -0
- package/src/blocks/not-found/src/NotFoundStacked.vue +28 -0
- package/src/blocks/not-found/src/NotFoundStage.vue +6 -0
- package/src/blocks/not-found/src/NotFoundTerminal.vue +33 -0
- package/src/blocks/not-found/src/types.ts +19 -0
- package/src/blocks/not-found/src/use-not-found-scene.ts +59 -0
- package/src/blocks/notification-stack/index.ts +6 -0
- package/src/blocks/notification-stack/src/NotificationContent.vue +53 -0
- package/src/blocks/notification-stack/src/NotificationStack.vue +177 -0
- package/src/blocks/notification-stack/src/api-types.ts +4 -0
- package/src/blocks/notification-stack/src/source-types.ts +10 -0
- package/src/blocks/notification-stack/src/use-stack-interaction.ts +77 -0
- package/src/blocks/otp-input/index.ts +4 -0
- package/src/blocks/otp-input/src/OTPInput.vue +292 -0
- package/src/blocks/otp-input/src/api-types.ts +4 -0
- package/src/blocks/otp-input/src/use-otp-fields.ts +116 -0
- package/src/blocks/overflow-actions/index.ts +6 -0
- package/src/blocks/overflow-actions/src/ActionButton.vue +80 -0
- package/src/blocks/overflow-actions/src/OverflowActions.vue +203 -0
- package/src/blocks/overflow-actions/src/api-types.ts +4 -0
- package/src/blocks/overflow-actions/src/source-types.ts +11 -0
- package/src/blocks/prediction-market/index.ts +16 -0
- package/src/blocks/prediction-market/src/AnimatedAmountInput.vue +93 -0
- package/src/blocks/prediction-market/src/MarketOddsButton.vue +49 -0
- package/src/blocks/prediction-market/src/PredictionMarket.vue +277 -0
- package/src/blocks/prediction-market/src/PredictionMarketCard.vue +212 -0
- package/src/blocks/prediction-market/src/api-types.ts +7 -0
- package/src/blocks/prediction-market/src/source-types.ts +10 -0
- package/src/blocks/prediction-market/src/types.ts +22 -0
- package/src/blocks/prediction-market/src/use-market-order.ts +129 -0
- package/src/blocks/prediction-market/src/utils.ts +126 -0
- package/src/blocks/project-folder/index.ts +4 -0
- package/src/blocks/project-folder/src/ProjectFolder.vue +229 -0
- package/src/blocks/project-folder/src/api-types.ts +4 -0
- package/src/blocks/project-folder/src/use-project-folder.ts +167 -0
- package/src/blocks/search-cursor.ts +45 -0
- package/src/blocks/shared.ts +120 -0
- package/src/blocks/signup-form/index.ts +6 -0
- package/src/blocks/signup-form/src/SignUpForm.vue +272 -0
- package/src/blocks/signup-form/src/api-types.ts +4 -0
- package/src/blocks/signup-form/src/source-types.ts +11 -0
- package/src/blocks/signup-form/src/types.ts +36 -0
- package/src/blocks/signup-form/src/use-signup.ts +97 -0
- package/src/blocks/swap/index.ts +7 -0
- package/src/blocks/swap/src/ChainChip.vue +33 -0
- package/src/blocks/swap/src/DestinationRow.vue +108 -0
- package/src/blocks/swap/src/Field.vue +102 -0
- package/src/blocks/swap/src/MultiChainSwap.vue +168 -0
- package/src/blocks/swap/src/TokenDot.vue +30 -0
- package/src/blocks/swap/src/TokenPicker.vue +194 -0
- package/src/blocks/swap/src/api-types.ts +4 -0
- package/src/blocks/swap/src/constants.ts +5 -0
- package/src/blocks/swap/src/data.ts +52 -0
- package/src/blocks/swap/src/types.ts +13 -0
- package/src/blocks/swap/src/use-swap.ts +132 -0
- package/src/blocks/swap/src/utils.ts +30 -0
- package/src/blocks/swipeable-list/index.ts +12 -0
- package/src/blocks/swipeable-list/src/SwipeableList.vue +82 -0
- package/src/blocks/swipeable-list/src/SwipeableRow.vue +207 -0
- package/src/blocks/swipeable-list/src/api-types.ts +4 -0
- package/src/blocks/swipeable-list/src/gesture.ts +29 -0
- package/src/blocks/swipeable-list/src/source-types.ts +12 -0
- package/src/blocks/swipeable-list/src/use-swipe-row.ts +177 -0
- package/src/blocks/wallet-card/index.ts +4 -0
- package/src/blocks/wallet-card/src/AccountAvatar.vue +20 -0
- package/src/blocks/wallet-card/src/AccountSwitcher.vue +131 -0
- package/src/blocks/wallet-card/src/CopyButton.vue +41 -0
- package/src/blocks/wallet-card/src/SearchBar.vue +141 -0
- package/src/blocks/wallet-card/src/WalletCard.vue +187 -0
- package/src/blocks/wallet-card/src/api-types.ts +4 -0
- package/src/blocks/wallet-card/src/constants.ts +10 -0
- package/src/blocks/wallet-card/src/use-wallet-panel.ts +54 -0
- package/src/blocks/wallet-card/src/use-wallet.ts +53 -0
- package/src/blocks/wallet-card/src/utils.ts +11 -0
- package/src/charts/ChartTooltip.vue +184 -0
- package/src/charts/bump-chart/index.ts +12 -0
- package/src/charts/bump-chart/src/BumpChart.vue +19 -0
- package/src/charts/bump-chart/src/BumpChartLegend.vue +71 -0
- package/src/charts/bump-chart/src/BumpChartPlot.vue +168 -0
- package/src/charts/bump-chart/src/BumpChartPoint.vue +152 -0
- package/src/charts/bump-chart/src/BumpChartSeriesPath.vue +110 -0
- package/src/charts/bump-chart/src/context.ts +64 -0
- package/src/charts/bump-chart/src/model.ts +106 -0
- package/src/charts/bump-chart/src/use-geometry.ts +70 -0
- package/src/charts/candlestick-chart/index.ts +11 -0
- package/src/charts/candlestick-chart/src/CandlestickChart.vue +52 -0
- package/src/charts/candlestick-chart/src/CandlestickChartLegend.vue +46 -0
- package/src/charts/candlestick-chart/src/CandlestickChartPlot.vue +209 -0
- package/src/charts/candlestick-chart/src/context.ts +84 -0
- package/src/charts/candlestick-chart/src/geometry.ts +38 -0
- package/src/charts/composition-chart/index.ts +16 -0
- package/src/charts/composition-chart/src/CompositionChart.vue +22 -0
- package/src/charts/composition-chart/src/CompositionChartLegend.vue +54 -0
- package/src/charts/composition-chart/src/CompositionChartPlot.vue +201 -0
- package/src/charts/composition-chart/src/CompositionTooltipContent.vue +27 -0
- package/src/charts/composition-chart/src/context.ts +71 -0
- package/src/charts/composition-chart/src/model.ts +95 -0
- package/src/charts/donut-chart/index.ts +19 -0
- package/src/charts/donut-chart/src/DonutChart.vue +26 -0
- package/src/charts/donut-chart/src/DonutChartCenter.vue +70 -0
- package/src/charts/donut-chart/src/DonutChartLegend.vue +72 -0
- package/src/charts/donut-chart/src/DonutChartPlot.vue +91 -0
- package/src/charts/donut-chart/src/context.ts +58 -0
- package/src/charts/donut-chart/src/model.ts +59 -0
- package/src/charts/funnel-chart/index.ts +12 -0
- package/src/charts/funnel-chart/src/FunnelChart.vue +22 -0
- package/src/charts/funnel-chart/src/FunnelChartPlot.vue +138 -0
- package/src/charts/funnel-chart/src/FunnelChartSummary.vue +22 -0
- package/src/charts/funnel-chart/src/context.ts +38 -0
- package/src/charts/funnel-chart/src/model.ts +67 -0
- package/src/charts/heat-calendar/index.ts +19 -0
- package/src/charts/heat-calendar/src/HeatCalendar.vue +23 -0
- package/src/charts/heat-calendar/src/HeatCalendarGrid.vue +178 -0
- package/src/charts/heat-calendar/src/HeatCalendarLegend.vue +40 -0
- package/src/charts/heat-calendar/src/HeatCalendarTooltip.vue +42 -0
- package/src/charts/heat-calendar/src/context.ts +84 -0
- package/src/charts/heat-calendar/src/model.ts +136 -0
- package/src/charts/heat-calendar/src/types.ts +26 -0
- package/src/charts/heat-calendar/src/utils.ts +38 -0
- package/src/charts/index.ts +14 -0
- package/src/charts/liquidity-heatmap/index.ts +12 -0
- package/src/charts/liquidity-heatmap/src/LiquidityHeatmap.vue +21 -0
- package/src/charts/liquidity-heatmap/src/LiquidityHeatmapLegend.vue +21 -0
- package/src/charts/liquidity-heatmap/src/LiquidityHeatmapPlot.vue +252 -0
- package/src/charts/liquidity-heatmap/src/context.ts +50 -0
- package/src/charts/liquidity-heatmap/src/model.ts +58 -0
- package/src/charts/order-book/index.ts +35 -0
- package/src/charts/order-book/src/OrderBook.vue +35 -0
- package/src/charts/order-book/src/OrderBookBalance.vue +32 -0
- package/src/charts/order-book/src/OrderBookDepthRow.vue +122 -0
- package/src/charts/order-book/src/OrderBookDepthSummary.vue +29 -0
- package/src/charts/order-book/src/OrderBookHeader.vue +16 -0
- package/src/charts/order-book/src/OrderBookSide.vue +50 -0
- package/src/charts/order-book/src/OrderBookSpread.vue +22 -0
- package/src/charts/order-book/src/context.ts +94 -0
- package/src/charts/order-book/src/model.ts +80 -0
- package/src/charts/price-target-fan/index.ts +44 -0
- package/src/charts/price-target-fan/src/PriceTargetFan.vue +56 -0
- package/src/charts/price-target-fan/src/PriceTargetFanAxes.vue +73 -0
- package/src/charts/price-target-fan/src/PriceTargetFanCursor.vue +37 -0
- package/src/charts/price-target-fan/src/PriceTargetFanHeader.vue +34 -0
- package/src/charts/price-target-fan/src/PriceTargetFanHistory.vue +55 -0
- package/src/charts/price-target-fan/src/PriceTargetFanNow.vue +42 -0
- package/src/charts/price-target-fan/src/PriceTargetFanPlot.vue +16 -0
- package/src/charts/price-target-fan/src/PriceTargetFanSvg.vue +67 -0
- package/src/charts/price-target-fan/src/PriceTargetFanTargets.vue +96 -0
- package/src/charts/price-target-fan/src/PriceTargetFanTooltip.vue +52 -0
- package/src/charts/price-target-fan/src/context.ts +150 -0
- package/src/charts/price-target-fan/src/geometry.ts +127 -0
- package/src/charts/price-target-fan/src/types.ts +32 -0
- package/src/charts/price-target-fan/src/utils.ts +22 -0
- package/src/charts/returns-calendar/index.ts +16 -0
- package/src/charts/returns-calendar/src/ReturnsCalendar.vue +47 -0
- package/src/charts/returns-calendar/src/ReturnsCalendarGrid.vue +226 -0
- package/src/charts/returns-calendar/src/ReturnsCalendarTooltip.vue +46 -0
- package/src/charts/returns-calendar/src/context.ts +71 -0
- package/src/charts/returns-calendar/src/model.ts +101 -0
- package/src/charts/returns-calendar/src/types.ts +24 -0
- package/src/charts/returns-calendar/src/utils.ts +33 -0
- package/src/charts/sankey-chart/index.ts +17 -0
- package/src/charts/sankey-chart/src/SankeyChart.vue +47 -0
- package/src/charts/sankey-chart/src/SankeyChartPlot.vue +330 -0
- package/src/charts/sankey-chart/src/SankeyChartTooltip.vue +72 -0
- package/src/charts/sankey-chart/src/context.ts +105 -0
- package/src/charts/sankey-chart/src/model.ts +337 -0
- package/src/charts/shared.ts +149 -0
- package/src/charts/status-bar/index.ts +24 -0
- package/src/charts/status-bar/src/StatusBar.vue +48 -0
- package/src/charts/status-bar/src/StatusBarLegend.vue +38 -0
- package/src/charts/status-bar/src/StatusBarPlot.vue +185 -0
- package/src/charts/status-bar/src/StatusBarTooltip.vue +46 -0
- package/src/charts/status-bar/src/context.ts +86 -0
- package/src/charts/treemap/index.ts +26 -0
- package/src/charts/treemap/src/Treemap.vue +48 -0
- package/src/charts/treemap/src/TreemapCell.vue +93 -0
- package/src/charts/treemap/src/TreemapLegend.vue +27 -0
- package/src/charts/treemap/src/TreemapPlot.vue +130 -0
- package/src/charts/treemap/src/TreemapTooltip.vue +45 -0
- package/src/charts/treemap/src/context.ts +72 -0
- package/src/charts/treemap/src/model.ts +214 -0
- package/src/charts/volume-profile/index.ts +16 -0
- package/src/charts/volume-profile/src/VolumeProfile.vue +58 -0
- package/src/charts/volume-profile/src/VolumeProfilePlot.vue +225 -0
- package/src/charts/volume-profile/src/VolumeProfileSummary.vue +45 -0
- package/src/charts/volume-profile/src/VolumeProfileTooltip.vue +42 -0
- package/src/charts/volume-profile/src/context.ts +66 -0
- package/src/charts/volume-profile/src/model.ts +127 -0
- package/src/index.ts +8 -0
- package/src/lib/RenderContent.ts +13 -0
- package/src/lib/composables.ts +153 -0
- package/src/lib/ease.ts +36 -0
- package/src/lib/layers.ts +64 -0
- package/src/lib/utils.ts +11 -0
- package/src/motion/_combobox/SearchSurface.vue +120 -0
- package/src/motion/_combobox/controller.ts +231 -0
- package/src/motion/_overlay/DialogSurface.vue +69 -0
- package/src/motion/_overlay/FloatingSurface.vue +87 -0
- package/src/motion/_overlay/index.ts +2 -0
- package/src/motion/_overlay/interactivity.ts +20 -0
- package/src/motion/action-swap/index.ts +17 -0
- package/src/motion/action-swap/src/ActionSwapBlurButton.vue +15 -0
- package/src/motion/action-swap/src/ActionSwapBlurIcon.vue +6 -0
- package/src/motion/action-swap/src/ActionSwapBlurText.vue +6 -0
- package/src/motion/action-swap/src/ActionSwapButton.vue +47 -0
- package/src/motion/action-swap/src/ActionSwapCascadeButton.vue +15 -0
- package/src/motion/action-swap/src/ActionSwapCascadeIcon.vue +6 -0
- package/src/motion/action-swap/src/ActionSwapCascadeText.vue +6 -0
- package/src/motion/action-swap/src/ActionSwapIcon.vue +12 -0
- package/src/motion/action-swap/src/ActionSwapRollButton.vue +15 -0
- package/src/motion/action-swap/src/ActionSwapRollIcon.vue +6 -0
- package/src/motion/action-swap/src/ActionSwapRollText.vue +6 -0
- package/src/motion/action-swap/src/ActionSwapText.vue +36 -0
- package/src/motion/action-swap/src/api-types.ts +37 -0
- package/src/motion/action-swap/src/poses.ts +14 -0
- package/src/motion/action-swap/src/public-types.ts +9 -0
- package/src/motion/adaptive-stepper/index.ts +8 -0
- package/src/motion/adaptive-stepper/src/AdaptiveStepper.vue +49 -0
- package/src/motion/adaptive-stepper/src/AdaptiveStepperDecrement.vue +4 -0
- package/src/motion/adaptive-stepper/src/AdaptiveStepperIncrement.vue +4 -0
- package/src/motion/adaptive-stepper/src/AdaptiveStepperValue.vue +25 -0
- package/src/motion/adaptive-stepper/src/Liquid.vue +17 -0
- package/src/motion/adaptive-stepper/src/LiquidItem.vue +43 -0
- package/src/motion/adaptive-stepper/src/StepperAction.vue +30 -0
- package/src/motion/adaptive-stepper/src/api-types.ts +7 -0
- package/src/motion/adaptive-stepper/src/context.ts +7 -0
- package/src/motion/adaptive-stepper/src/filter.ts +15 -0
- package/src/motion/adaptive-stepper/src/liquid-context.ts +3 -0
- package/src/motion/adaptive-stepper/src/public-types.ts +6 -0
- package/src/motion/alert/index.ts +12 -0
- package/src/motion/alert/src/Alert.vue +68 -0
- package/src/motion/alert/src/AlertAction.vue +8 -0
- package/src/motion/alert/src/AlertClose.vue +18 -0
- package/src/motion/alert/src/AlertContent.vue +8 -0
- package/src/motion/alert/src/AlertDescription.vue +8 -0
- package/src/motion/alert/src/AlertIcon.vue +21 -0
- package/src/motion/alert/src/AlertTitle.vue +8 -0
- package/src/motion/alert/src/api-types.ts +22 -0
- package/src/motion/alert/src/context.ts +9 -0
- package/src/motion/alert/src/public-types.ts +9 -0
- package/src/motion/alert/src/useAlert.ts +7 -0
- package/src/motion/animated-badge/index.ts +5 -0
- package/src/motion/animated-badge/src/AnimatedBadge.vue +66 -0
- package/src/motion/animated-badge/src/api-types.ts +4 -0
- package/src/motion/animated-badge/src/public-types.ts +3 -0
- package/src/motion/animated-sidebar/index.ts +21 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebar.vue +101 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarClose.vue +25 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarContent.vue +10 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarFooter.vue +8 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarGroup.vue +7 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarGroupContent.vue +9 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarGroupLabel.vue +22 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarHeader.vue +7 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarInset.vue +11 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarMenu.vue +16 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarMenuButton.vue +126 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarMenuItem.vue +15 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarMenuSub.vue +42 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarMenuSubButton.vue +63 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarMenuSubItem.vue +14 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarProvider.vue +54 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarRail.vue +19 -0
- package/src/motion/animated-sidebar/src/AnimatedSidebarTrigger.vue +33 -0
- package/src/motion/animated-sidebar/src/MobileSidebar.vue +91 -0
- package/src/motion/animated-sidebar/src/api-types.ts +28 -0
- package/src/motion/animated-sidebar/src/context.ts +37 -0
- package/src/motion/animated-sidebar/src/transitions.ts +34 -0
- package/src/motion/animated-sidebar/src/use-sidebar-state.ts +81 -0
- package/src/motion/animated-sidebar/src/useAnimatedSidebar.ts +1 -0
- package/src/motion/animated-toast-stack/index.ts +4 -0
- package/src/motion/animated-toast-stack/src/AnimatedToastStack.vue +91 -0
- package/src/motion/animated-toast-stack/src/ToastItem.vue +221 -0
- package/src/motion/animated-toast-stack/src/api-types.ts +4 -0
- package/src/motion/animated-toast-stack/src/useAnimatedToastStack.ts +115 -0
- package/src/motion/arc-picker/index.ts +5 -0
- package/src/motion/arc-picker/src/ArcPicker.vue +43 -0
- package/src/motion/arc-picker/src/api-types.ts +4 -0
- package/src/motion/arc-picker/src/arc-control.ts +59 -0
- package/src/motion/arc-picker/src/arc-layout.ts +28 -0
- package/src/motion/aspect-ratio/index.ts +4 -0
- package/src/motion/aspect-ratio/src/AspectRatio.vue +23 -0
- package/src/motion/aspect-ratio/src/AspectRatioImage.vue +25 -0
- package/src/motion/aspect-ratio/src/api-types.ts +7 -0
- package/src/motion/bottom-sheet/index.ts +3 -0
- package/src/motion/bottom-sheet/src/BottomSheet.vue +41 -0
- package/src/motion/bottom-sheet/src/api-types.ts +4 -0
- package/src/motion/bottom-sheet/src/snap.ts +11 -0
- package/src/motion/bounce-sidebar/index.ts +5 -0
- package/src/motion/bounce-sidebar/src/BounceSidebar.vue +62 -0
- package/src/motion/bounce-sidebar/src/api-types.ts +4 -0
- package/src/motion/bounce-sidebar/src/trajectory.ts +9 -0
- package/src/motion/bouncy-accordion/index.ts +5 -0
- package/src/motion/bouncy-accordion/src/BouncyAccordion.vue +30 -0
- package/src/motion/bouncy-accordion/src/BouncyAccordionRow.vue +39 -0
- package/src/motion/bouncy-accordion/src/api-types.ts +4 -0
- package/src/motion/bouncy-accordion/src/public-types.ts +15 -0
- package/src/motion/breadcrumb/index.ts +9 -0
- package/src/motion/breadcrumb/src/Breadcrumb.vue +7 -0
- package/src/motion/breadcrumb/src/BreadcrumbEllipsis.vue +70 -0
- package/src/motion/breadcrumb/src/BreadcrumbItem.vue +26 -0
- package/src/motion/breadcrumb/src/BreadcrumbLink.vue +8 -0
- package/src/motion/breadcrumb/src/BreadcrumbList.vue +30 -0
- package/src/motion/breadcrumb/src/BreadcrumbPage.vue +8 -0
- package/src/motion/breadcrumb/src/BreadcrumbSeparator.vue +1 -0
- package/src/motion/breadcrumb/src/api-types.ts +22 -0
- package/src/motion/button/index.ts +11 -0
- package/src/motion/button/src/Button.vue +55 -0
- package/src/motion/button/src/ButtonLink.vue +15 -0
- package/src/motion/button/src/Magnetic.vue +24 -0
- package/src/motion/button/src/MagneticButton.vue +12 -0
- package/src/motion/button/src/MetallicButton.vue +23 -0
- package/src/motion/button/src/StatefulButton.vue +49 -0
- package/src/motion/button/src/StatefulText.vue +49 -0
- package/src/motion/button/src/api-types.ts +16 -0
- package/src/motion/button/src/public-types.ts +3 -0
- package/src/motion/card/index.ts +12 -0
- package/src/motion/card/src/Card.vue +58 -0
- package/src/motion/card/src/CardAction.vue +6 -0
- package/src/motion/card/src/CardContent.vue +6 -0
- package/src/motion/card/src/CardDescription.vue +6 -0
- package/src/motion/card/src/CardFooter.vue +6 -0
- package/src/motion/card/src/CardHeader.vue +6 -0
- package/src/motion/card/src/CardTitle.vue +6 -0
- package/src/motion/card/src/api-types.ts +22 -0
- package/src/motion/card/src/parts.ts +11 -0
- package/src/motion/center-morph-modal/index.ts +6 -0
- package/src/motion/center-morph-modal/src/CenterMorphModal.vue +11 -0
- package/src/motion/center-morph-modal/src/CenterMorphModalClose.vue +10 -0
- package/src/motion/center-morph-modal/src/CenterMorphModalContent.vue +37 -0
- package/src/motion/center-morph-modal/src/CenterMorphModalTrigger.vue +13 -0
- package/src/motion/center-morph-modal/src/api-types.ts +13 -0
- package/src/motion/center-morph-modal/src/context.ts +2 -0
- package/src/motion/center-morph-modal/src/control.ts +9 -0
- package/src/motion/center-morph-modal/src/use-center-surface.ts +107 -0
- package/src/motion/checkbox/index.ts +3 -0
- package/src/motion/checkbox/src/Checkbox.vue +55 -0
- package/src/motion/checkbox/src/api-types.ts +4 -0
- package/src/motion/collapsible/index.ts +9 -0
- package/src/motion/collapsible/src/Collapsible.vue +24 -0
- package/src/motion/collapsible/src/CollapsibleContent.vue +43 -0
- package/src/motion/collapsible/src/CollapsibleIndicator.vue +14 -0
- package/src/motion/collapsible/src/CollapsibleTrigger.vue +43 -0
- package/src/motion/collapsible/src/api-types.ts +13 -0
- package/src/motion/collapsible/src/context.ts +10 -0
- package/src/motion/collapsible/src/public-types.ts +7 -0
- package/src/motion/collapsible/src/useCollapsible.ts +7 -0
- package/src/motion/color-picker/index.ts +16 -0
- package/src/motion/color-picker/src/ChannelSlider.vue +73 -0
- package/src/motion/color-picker/src/ColorPicker.vue +136 -0
- package/src/motion/color-picker/src/ColorPickerAlpha.vue +25 -0
- package/src/motion/color-picker/src/ColorPickerArea.vue +102 -0
- package/src/motion/color-picker/src/ColorPickerChannels.vue +126 -0
- package/src/motion/color-picker/src/ColorPickerContent.vue +174 -0
- package/src/motion/color-picker/src/ColorPickerEyeDropper.vue +56 -0
- package/src/motion/color-picker/src/ColorPickerHexInput.vue +61 -0
- package/src/motion/color-picker/src/ColorPickerHue.vue +20 -0
- package/src/motion/color-picker/src/ColorPickerPreset.vue +56 -0
- package/src/motion/color-picker/src/ColorPickerPresets.vue +107 -0
- package/src/motion/color-picker/src/ColorPickerSwatch.vue +14 -0
- package/src/motion/color-picker/src/ColorPickerTrigger.vue +89 -0
- package/src/motion/color-picker/src/ColorThumb.vue +85 -0
- package/src/motion/color-picker/src/api-types.ts +37 -0
- package/src/motion/color-picker/src/color.ts +70 -0
- package/src/motion/color-picker/src/context.ts +134 -0
- package/src/motion/color-picker/src/preset-motion.ts +28 -0
- package/src/motion/color-picker/src/useColorPicker.ts +3 -0
- package/src/motion/color-selector/index.ts +6 -0
- package/src/motion/color-selector/src/ColorSelector.vue +78 -0
- package/src/motion/color-selector/src/ColorSelectorItem.vue +33 -0
- package/src/motion/color-selector/src/ColorSelectorLabel.vue +8 -0
- package/src/motion/color-selector/src/ColorSelectorList.vue +8 -0
- package/src/motion/color-selector/src/api-types.ts +13 -0
- package/src/motion/color-selector/src/context.ts +8 -0
- package/src/motion/combobox/index.ts +15 -0
- package/src/motion/combobox/src/Combobox.vue +37 -0
- package/src/motion/combobox/src/ComboboxContent.vue +19 -0
- package/src/motion/combobox/src/ComboboxEmpty.vue +15 -0
- package/src/motion/combobox/src/ComboboxGroup.vue +16 -0
- package/src/motion/combobox/src/ComboboxInput.vue +81 -0
- package/src/motion/combobox/src/ComboboxItem.vue +26 -0
- package/src/motion/combobox/src/ComboboxLabel.vue +19 -0
- package/src/motion/combobox/src/ComboboxList.vue +17 -0
- package/src/motion/combobox/src/ComboboxSeparator.vue +3 -0
- package/src/motion/combobox/src/ComboboxTrigger.vue +39 -0
- package/src/motion/combobox/src/ComboboxValue.vue +25 -0
- package/src/motion/combobox/src/SearchOption.vue +132 -0
- package/src/motion/combobox/src/api-types.ts +34 -0
- package/src/motion/combobox/src/public-types.ts +2 -0
- package/src/motion/context-menu/index.ts +12 -0
- package/src/motion/context-menu/src/ContextMenu.vue +10 -0
- package/src/motion/context-menu/src/ContextMenuCheckboxItem.vue +24 -0
- package/src/motion/context-menu/src/ContextMenuContent.vue +52 -0
- package/src/motion/context-menu/src/ContextMenuItem.vue +11 -0
- package/src/motion/context-menu/src/ContextMenuItemBase.vue +61 -0
- package/src/motion/context-menu/src/ContextMenuLabel.vue +18 -0
- package/src/motion/context-menu/src/ContextMenuRadioGroup.vue +12 -0
- package/src/motion/context-menu/src/ContextMenuRadioItem.vue +22 -0
- package/src/motion/context-menu/src/ContextMenuSeparator.vue +10 -0
- package/src/motion/context-menu/src/ContextMenuShortcut.vue +16 -0
- package/src/motion/context-menu/src/ContextMenuTrigger.vue +22 -0
- package/src/motion/context-menu/src/api-types.ts +31 -0
- package/src/motion/context-menu/src/menu-state.ts +38 -0
- package/src/motion/context-menu/src/menu-surface.ts +112 -0
- package/src/motion/context-menu/src/menu-trigger.ts +35 -0
- package/src/motion/cylinder-carousel/index.ts +3 -0
- package/src/motion/cylinder-carousel/src/CylinderCarousel.vue +53 -0
- package/src/motion/cylinder-carousel/src/api-types.ts +4 -0
- package/src/motion/cylinder-carousel/src/projection.ts +28 -0
- package/src/motion/date-range-picker/index.ts +17 -0
- package/src/motion/date-range-picker/src/CalendarChoices.vue +113 -0
- package/src/motion/date-range-picker/src/CalendarPresence.vue +16 -0
- package/src/motion/date-range-picker/src/DateRangePicker.vue +36 -0
- package/src/motion/date-range-picker/src/DateRangePickerCalendar.vue +36 -0
- package/src/motion/date-range-picker/src/DateRangePickerClear.vue +24 -0
- package/src/motion/date-range-picker/src/DateRangePickerContent.vue +54 -0
- package/src/motion/date-range-picker/src/DateRangePickerDropdown.vue +43 -0
- package/src/motion/date-range-picker/src/DateRangePickerFooter.vue +25 -0
- package/src/motion/date-range-picker/src/DateRangePickerGrid.vue +234 -0
- package/src/motion/date-range-picker/src/DateRangePickerHeader.vue +90 -0
- package/src/motion/date-range-picker/src/DateRangePickerPreset.vue +46 -0
- package/src/motion/date-range-picker/src/DateRangePickerPresets.vue +23 -0
- package/src/motion/date-range-picker/src/DateRangePickerSelection.vue +18 -0
- package/src/motion/date-range-picker/src/DateRangePickerSummary.vue +48 -0
- package/src/motion/date-range-picker/src/DateRangePickerTrigger.vue +73 -0
- package/src/motion/date-range-picker/src/api-types.ts +40 -0
- package/src/motion/date-range-picker/src/controller.ts +523 -0
- package/src/motion/date-range-picker/src/date-utils.ts +45 -0
- package/src/motion/date-range-picker/src/types.ts +8 -0
- package/src/motion/date-range-picker/src/useDateRangePicker.ts +13 -0
- package/src/motion/dock/LICENSE.simple-icons +30 -0
- package/src/motion/dock/index.ts +5 -0
- package/src/motion/dock/src/Dock.vue +8 -0
- package/src/motion/dock/src/DockItem.vue +21 -0
- package/src/motion/dock/src/DockSeparator.vue +4 -0
- package/src/motion/dock/src/api-types.ts +7 -0
- package/src/motion/dock/src/context.ts +2 -0
- package/src/motion/drawer/index.ts +3 -0
- package/src/motion/drawer/src/Drawer.vue +25 -0
- package/src/motion/drawer/src/api-types.ts +4 -0
- package/src/motion/expandable-control/index.ts +4 -0
- package/src/motion/expandable-control/src/ExpandableButton.vue +31 -0
- package/src/motion/expandable-control/src/ExpandableChip.vue +41 -0
- package/src/motion/expandable-control/src/api-types.ts +7 -0
- package/src/motion/expandable-control/src/transition.ts +1 -0
- package/src/motion/expanding-arrow-button/index.ts +5 -0
- package/src/motion/expanding-arrow-button/src/DottedChevron.vue +6 -0
- package/src/motion/expanding-arrow-button/src/ExpandingArrowButton.vue +29 -0
- package/src/motion/expanding-arrow-button/src/HoldActionButton.vue +43 -0
- package/src/motion/expanding-arrow-button/src/SlideActionButton.vue +42 -0
- package/src/motion/expanding-arrow-button/src/api-types.ts +10 -0
- package/src/motion/file-tree/index.ts +7 -0
- package/src/motion/file-tree/src/FileTree.vue +69 -0
- package/src/motion/file-tree/src/FileTreeFile.vue +4 -0
- package/src/motion/file-tree/src/FileTreeFolder.vue +4 -0
- package/src/motion/file-tree/src/api-types.ts +10 -0
- package/src/motion/file-tree/src/tree-model.ts +26 -0
- package/src/motion/image-viewer/index.ts +14 -0
- package/src/motion/image-viewer/src/ImageViewer.vue +21 -0
- package/src/motion/image-viewer/src/ImageViewerCaption.vue +8 -0
- package/src/motion/image-viewer/src/ImageViewerClose.vue +11 -0
- package/src/motion/image-viewer/src/ImageViewerContent.vue +35 -0
- package/src/motion/image-viewer/src/ImageViewerCounter.vue +7 -0
- package/src/motion/image-viewer/src/ImageViewerFrame.vue +126 -0
- package/src/motion/image-viewer/src/ImageViewerGallery.vue +10 -0
- package/src/motion/image-viewer/src/ImageViewerNext.vue +11 -0
- package/src/motion/image-viewer/src/ImageViewerPrevious.vue +11 -0
- package/src/motion/image-viewer/src/ImageViewerSlide.vue +20 -0
- package/src/motion/image-viewer/src/ImageViewerSurface.vue +21 -0
- package/src/motion/image-viewer/src/ImageViewerThumbnail.vue +26 -0
- package/src/motion/image-viewer/src/api-types.ts +13 -0
- package/src/motion/image-viewer/src/context.ts +43 -0
- package/src/motion/image-viewer/src/geometry.ts +10 -0
- package/src/motion/image-viewer/src/opening-motion.ts +28 -0
- package/src/motion/image-viewer/src/types.ts +9 -0
- package/src/motion/image-viewer/src/useImageViewer.ts +9 -0
- package/src/motion/image-viewer/src/viewer-state.ts +14 -0
- package/src/motion/index.ts +56 -0
- package/src/motion/input/index.ts +5 -0
- package/src/motion/input/src/Input.vue +58 -0
- package/src/motion/input/src/api-types.ts +4 -0
- package/src/motion/input/src/public-types.ts +13 -0
- package/src/motion/loader/index.ts +5 -0
- package/src/motion/loader/src/Loader.vue +12 -0
- package/src/motion/loader/src/LoaderSvg.vue +64 -0
- package/src/motion/loader/src/api-types.ts +4 -0
- package/src/motion/loader/src/clock.ts +39 -0
- package/src/motion/loader/src/model.ts +29 -0
- package/src/motion/loader/src/visuals.ts +88 -0
- package/src/motion/marquee/index.ts +3 -0
- package/src/motion/marquee/src/Marquee.vue +37 -0
- package/src/motion/marquee/src/api-types.ts +4 -0
- package/src/motion/morphing-modal/index.ts +3 -0
- package/src/motion/morphing-modal/src/MorphingModal.vue +60 -0
- package/src/motion/morphing-modal/src/api-types.ts +4 -0
- package/src/motion/multi-select/index.ts +21 -0
- package/src/motion/multi-select/src/MultiSelect.vue +37 -0
- package/src/motion/multi-select/src/MultiSelectContent.vue +19 -0
- package/src/motion/multi-select/src/MultiSelectEmpty.vue +15 -0
- package/src/motion/multi-select/src/MultiSelectGroup.vue +16 -0
- package/src/motion/multi-select/src/MultiSelectInput.vue +77 -0
- package/src/motion/multi-select/src/MultiSelectItem.vue +26 -0
- package/src/motion/multi-select/src/MultiSelectLabel.vue +19 -0
- package/src/motion/multi-select/src/MultiSelectList.vue +18 -0
- package/src/motion/multi-select/src/MultiSelectSeparator.vue +3 -0
- package/src/motion/multi-select/src/MultiSelectTrigger.vue +41 -0
- package/src/motion/multi-select/src/MultiSelectValue.vue +84 -0
- package/src/motion/multi-select/src/api-types.ts +34 -0
- package/src/motion/multi-select/src/public-types.ts +6 -0
- package/src/motion/number/index.ts +9 -0
- package/src/motion/number/src/AnimatedNumber.vue +22 -0
- package/src/motion/number/src/DigitSwap.vue +39 -0
- package/src/motion/number/src/NumberTicker.vue +40 -0
- package/src/motion/number/src/NumberTickerDigit.vue +26 -0
- package/src/motion/number/src/types.ts +39 -0
- package/src/motion/number/src/view-gate.ts +20 -0
- package/src/motion/popover/index.ts +8 -0
- package/src/motion/popover/src/MorphPopover.vue +34 -0
- package/src/motion/popover/src/MorphPopoverContent.vue +210 -0
- package/src/motion/popover/src/MorphPopoverTrigger.vue +4 -0
- package/src/motion/popover/src/Popover.vue +40 -0
- package/src/motion/popover/src/PopoverContent.vue +283 -0
- package/src/motion/popover/src/PopoverTrigger.vue +112 -0
- package/src/motion/popover/src/api-types.ts +19 -0
- package/src/motion/popover/src/context.ts +295 -0
- package/src/motion/popover/src/geometry.ts +94 -0
- package/src/motion/popover/src/morph-focus.ts +84 -0
- package/src/motion/preview-rail/index.ts +5 -0
- package/src/motion/preview-rail/src/PreviewRail.vue +35 -0
- package/src/motion/preview-rail/src/api-types.ts +4 -0
- package/src/motion/preview-rail/src/public-types.ts +2 -0
- package/src/motion/preview-rail/src/rail-state.ts +26 -0
- package/src/motion/pull-to-refresh/index.ts +5 -0
- package/src/motion/pull-to-refresh/src/PullToRefresh.vue +22 -0
- package/src/motion/pull-to-refresh/src/RefreshBuddy.vue +23 -0
- package/src/motion/pull-to-refresh/src/api-types.ts +4 -0
- package/src/motion/pull-to-refresh/src/public-types.ts +1 -0
- package/src/motion/pull-to-refresh/src/pull-state.ts +41 -0
- package/src/motion/radio/index.ts +4 -0
- package/src/motion/radio/src/RadioGroup.vue +60 -0
- package/src/motion/radio/src/RadioGroupItem.vue +45 -0
- package/src/motion/radio/src/api-types.ts +7 -0
- package/src/motion/radio/src/context.ts +10 -0
- package/src/motion/range-slider/index.ts +9 -0
- package/src/motion/range-slider/src/BubbleSlider.vue +20 -0
- package/src/motion/range-slider/src/FluidSlider.vue +15 -0
- package/src/motion/range-slider/src/InlineSlider.vue +12 -0
- package/src/motion/range-slider/src/RangeSlider.vue +19 -0
- package/src/motion/range-slider/src/RulerSlider.vue +30 -0
- package/src/motion/range-slider/src/WaveSlider.vue +13 -0
- package/src/motion/range-slider/src/api-types.ts +19 -0
- package/src/motion/range-slider/src/inline-state.ts +44 -0
- package/src/motion/range-slider/src/useSlider.ts +104 -0
- package/src/motion/range-slider/src/visual-state.ts +18 -0
- package/src/motion/scroll-animation/index.ts +10 -0
- package/src/motion/scroll-animation/src/Parallax.vue +48 -0
- package/src/motion/scroll-animation/src/ScrollProgress.vue +39 -0
- package/src/motion/scroll-animation/src/ScrollReveal.vue +38 -0
- package/src/motion/scroll-animation/src/ScrollTo.vue +10 -0
- package/src/motion/scroll-animation/src/SmoothScroll.vue +14 -0
- package/src/motion/scroll-animation/src/api-types.ts +16 -0
- package/src/motion/scroll-animation/src/public-types.ts +9 -0
- package/src/motion/scroll-animation/src/useSmoothScroll.ts +125 -0
- package/src/motion/select/index.ts +13 -0
- package/src/motion/select/src/MorphSelect.vue +20 -0
- package/src/motion/select/src/MorphSelectContent.vue +74 -0
- package/src/motion/select/src/MorphSelectItem.vue +12 -0
- package/src/motion/select/src/MorphSelectTrigger.vue +54 -0
- package/src/motion/select/src/MorphSelectValue.vue +20 -0
- package/src/motion/select/src/Select.vue +20 -0
- package/src/motion/select/src/SelectContent.vue +106 -0
- package/src/motion/select/src/SelectItem.vue +78 -0
- package/src/motion/select/src/SelectRegistrar.vue +12 -0
- package/src/motion/select/src/SelectTrigger.vue +71 -0
- package/src/motion/select/src/SelectValue.vue +16 -0
- package/src/motion/select/src/api-types.ts +31 -0
- package/src/motion/select/src/context.ts +308 -0
- package/src/motion/select/src/unfold.ts +25 -0
- package/src/motion/shader-background/LICENSE.paper-design +164 -0
- package/src/motion/shader-background/index.ts +5 -0
- package/src/motion/shader-background/src/ShaderBackground.vue +54 -0
- package/src/motion/shader-background/src/api-types.ts +60 -0
- package/src/motion/shader-background/src/presets.ts +66 -0
- package/src/motion/shader-background/src/shader-session.ts +65 -0
- package/src/motion/shared-layout-bg/index.ts +3 -0
- package/src/motion/shared-layout-bg/src/SharedLayoutBg.vue +55 -0
- package/src/motion/shared-layout-bg/src/api-types.ts +4 -0
- package/src/motion/sortable-stack/index.ts +10 -0
- package/src/motion/sortable-stack/src/SortableList.vue +40 -0
- package/src/motion/sortable-stack/src/SortableListGroup.vue +6 -0
- package/src/motion/sortable-stack/src/SortableListHandle.vue +16 -0
- package/src/motion/sortable-stack/src/SortableListItem.vue +18 -0
- package/src/motion/sortable-stack/src/SortableListItemContent.vue +4 -0
- package/src/motion/sortable-stack/src/SortableListUndo.vue +12 -0
- package/src/motion/sortable-stack/src/api-types.ts +22 -0
- package/src/motion/sortable-stack/src/context.ts +6 -0
- package/src/motion/sortable-stack/src/useSortableList.ts +6 -0
- package/src/motion/state.ts +41 -0
- package/src/motion/switch/index.ts +3 -0
- package/src/motion/switch/src/Switch.vue +48 -0
- package/src/motion/switch/src/api-types.ts +4 -0
- package/src/motion/table/index.ts +2 -0
- package/src/motion/table/src/EditableCell.vue +16 -0
- package/src/motion/table/src/SkeletonRows.vue +39 -0
- package/src/motion/table/src/Table.vue +262 -0
- package/src/motion/table/src/TableHandle.vue +63 -0
- package/src/motion/table/src/TableHeader.vue +206 -0
- package/src/motion/table/src/TableMenu.vue +73 -0
- package/src/motion/table/src/types.ts +86 -0
- package/src/motion/table/src/use-table-menu.ts +97 -0
- package/src/motion/table/src/use-table.ts +309 -0
- package/src/motion/table/src/useTableColumns.ts +176 -0
- package/src/motion/table-of-contents/index.ts +3 -0
- package/src/motion/table-of-contents/src/TableOfContents.vue +337 -0
- package/src/motion/table-of-contents/src/api-types.ts +3 -0
- package/src/motion/table-of-contents/src/types.ts +15 -0
- package/src/motion/tabs/index.ts +4 -0
- package/src/motion/tabs/src/Tabs.vue +22 -0
- package/src/motion/tabs/src/TabsContent.vue +15 -0
- package/src/motion/tabs/src/TabsList.vue +23 -0
- package/src/motion/tabs/src/TabsTrigger.vue +28 -0
- package/src/motion/tabs/src/TriggerContent.vue +12 -0
- package/src/motion/tabs/src/context.ts +6 -0
- package/src/motion/tabs/src/list-state.ts +50 -0
- package/src/motion/text-animation/index.ts +7 -0
- package/src/motion/text-animation/src/ChromaticTextReveal.vue +31 -0
- package/src/motion/text-animation/src/TextCascade.vue +7 -0
- package/src/motion/text-animation/src/TextReveal.vue +15 -0
- package/src/motion/text-animation/src/TextScramble.vue +31 -0
- package/src/motion/text-animation/src/TextShimmer.vue +13 -0
- package/src/motion/text-animation/src/api-types.ts +16 -0
- package/src/motion/text-animation/src/reveal-sequence.ts +13 -0
- package/src/motion/theme-toggle/index.ts +6 -0
- package/src/motion/theme-toggle/src/ThemeToggle.vue +31 -0
- package/src/motion/theme-toggle/src/api-types.ts +4 -0
- package/src/motion/theme-toggle/src/useThemeToggle.ts +72 -0
- package/src/motion/theme-toggle/styles/theme.css +33 -0
- package/src/motion/tilt-card/index.ts +3 -0
- package/src/motion/tilt-card/src/TiltCard.vue +38 -0
- package/src/motion/tilt-card/src/api-types.ts +4 -0
- package/src/motion/timeline/index.ts +5 -0
- package/src/motion/timeline/src/Timeline.vue +267 -0
- package/src/motion/timeline/src/api-types.ts +4 -0
- package/src/motion/timeline/src/track.ts +392 -0
- package/src/motion/tooltip/index.ts +15 -0
- package/src/motion/tooltip/src/Tooltip.vue +53 -0
- package/src/motion/tooltip/src/TooltipContent.vue +83 -0
- package/src/motion/tooltip/src/TooltipProvider.vue +24 -0
- package/src/motion/tooltip/src/TooltipTrigger.vue +61 -0
- package/src/motion/tooltip/src/api-types.ts +7 -0
- package/src/motion/tooltip/src/context.ts +411 -0
- package/src/motion/tooltip/src/grace.ts +64 -0
- package/src/motion/tooltip/src/position.ts +206 -0
- package/src/motion/wheel-picker/index.ts +5 -0
- package/src/motion/wheel-picker/src/WheelPicker.vue +30 -0
- package/src/motion/wheel-picker/src/api-types.ts +4 -0
- package/src/motion/wheel-picker/src/drum-state.ts +57 -0
- package/src/motion/wheel-picker/src/tick-sound.ts +49 -0
- package/src/styles.css +113 -0
- package/src/theme/palettes.ts +810 -0
- package/src/theme/stylesheet.ts +14 -0
- package/src/tokens.css +772 -0
|
@@ -0,0 +1,456 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://shadcn-vue.com/schema/registry-item.json",
|
|
3
|
+
"name": "prediction-market-card",
|
|
4
|
+
"type": "registry:block",
|
|
5
|
+
"title": "Market Cards",
|
|
6
|
+
"description": "Inspect a market and compose a buy or sell ticket with outcomes and return estimates.",
|
|
7
|
+
"files": [
|
|
8
|
+
{
|
|
9
|
+
"path": "registry/orvui/blocks/dismiss.ts",
|
|
10
|
+
"target": "~/src/components/orvui/blocks/dismiss.ts",
|
|
11
|
+
"type": "registry:lib",
|
|
12
|
+
"content": "import { onMounted, onUnmounted, watch, type Ref } from \"vue\";\nimport { resolveElement, useFloatingLayer } from \"../lib/composables\";\n\ntype HitTest = (target: Element) => boolean;\nconst openScopes = new Set<HitTest>();\n\nexport function useBlockDismiss(\n open: Ref<boolean>,\n root: Ref<unknown>,\n close: () => void,\n consume = false,\n) {\n const layer = useFloatingLayer(open, root);\n const pendingClicks = new Set<() => void>();\n let stopWatching: (() => void) | undefined;\n function interceptActivation(source: Event) {\n const release = () => {\n window.removeEventListener(\"click\", click, true);\n window.removeEventListener(\"pointerdown\", replacement, true);\n window.removeEventListener(\"pointercancel\", replacement, true);\n window.removeEventListener(\"keydown\", release, true);\n pendingClicks.delete(release);\n };\n function click(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n release();\n }\n function replacement(event: Event) {\n if (event !== source) release();\n }\n pendingClicks.add(release);\n window.addEventListener(\"click\", click, true);\n window.addEventListener(\"pointerdown\", replacement, true);\n window.addEventListener(\"pointercancel\", replacement, true);\n window.addEventListener(\"keydown\", release, true);\n }\n onMounted(() => {\n stopWatching = watch(\n open,\n (visible, _, cleanup) => {\n if (!visible) return;\n const contains: HitTest = (target) =>\n resolveElement<HTMLElement>(root.value)?.contains(target) ?? false;\n const keydown = (event: KeyboardEvent) => {\n if (layer.claimEscape(event)) close();\n };\n const pointerdown = (event: PointerEvent) => {\n const target = event.target;\n if (\n !(target instanceof Element) ||\n contains(target) ||\n layer.containsHigher(target)\n )\n return;\n let anotherScope = false;\n if (consume)\n for (const hit of openScopes)\n if (hit !== contains && hit(target)) {\n anotherScope = true;\n break;\n }\n if (consume && !anotherScope) interceptActivation(event);\n close();\n };\n openScopes.add(contains);\n window.addEventListener(\"keydown\", keydown);\n window.addEventListener(\"pointerdown\", pointerdown, true);\n cleanup(() => {\n openScopes.delete(contains);\n window.removeEventListener(\"keydown\", keydown);\n window.removeEventListener(\"pointerdown\", pointerdown, true);\n });\n },\n { immediate: true },\n );\n });\n onUnmounted(() => {\n stopWatching?.();\n for (const release of pendingClicks) release();\n });\n return layer;\n}\n"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"path": "registry/orvui/blocks/prediction-market/index.ts",
|
|
16
|
+
"target": "~/src/components/orvui/blocks/prediction-market/index.ts",
|
|
17
|
+
"type": "registry:lib",
|
|
18
|
+
"content": "export { default as PredictionMarket } from \"./src/PredictionMarket.vue\";\nexport { default as PredictionMarketCard } from \"./src/PredictionMarketCard.vue\";\nexport type {\n PredictionMarketCardOutcome,\n PredictionMarketCardSelection,\n} from \"./src/PredictionMarketCard.vue\";\nexport type {\n PredictionMarketMode,\n PredictionMarketOutcome,\n PredictionMarketOrderValue,\n PredictionMarketQuote,\n} from \"./src/PredictionMarket.vue\";\n\nexport type * from \"./src/api-types\";\n\nexport type * from \"./src/source-types\";\n"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"path": "registry/orvui/blocks/prediction-market/src/AnimatedAmountInput.vue",
|
|
22
|
+
"target": "~/src/components/orvui/blocks/prediction-market/src/AnimatedAmountInput.vue",
|
|
23
|
+
"type": "registry:component",
|
|
24
|
+
"content": "<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { AnimatePresence, motion } from \"motion-v\";\nimport { cn } from \"../../../lib/utils\";\nimport { EASE_OUT } from \"../../../lib/ease\";\nimport { keyedAmountChars, sanitizeAmount } from \"./utils\";\nconst props = defineProps<{\n id: string;\n value: string;\n mode: \"buy\" | \"sell\";\n inputSize: string;\n disabled: boolean;\n reduce: boolean;\n }>(),\n emit = defineEmits<{ change: [value: string] }>();\nconst chars = computed(() => keyedAmountChars(props.value || \"0\"));\n</script>\n<template>\n <div class=\"flex min-w-0 items-center justify-center overflow-hidden\">\n <span\n v-if=\"mode === 'buy'\"\n aria-hidden=\"true\"\n :class=\"\n cn(\n 'shrink-0 font-semibold leading-none tracking-normal text-muted-foreground/65 tabular-nums transition-[font-size] duration-200',\n inputSize,\n )\n \"\n >$</span\n >\n <div class=\"relative min-w-0 shrink\">\n <input\n :id=\"id\"\n :value=\"value\"\n :disabled=\"disabled\"\n placeholder=\"0\"\n inputmode=\"decimal\"\n :aria-label=\"mode === 'buy' ? 'Amount' : 'Shares'\"\n autocomplete=\"off\"\n :class=\"\n cn(\n 'w-[calc((var(--amount-chars)+1)*0.62em)] min-w-[0.8em] max-w-[260px] bg-transparent text-left font-semibold leading-none tracking-normal text-transparent outline-none tabular-nums caret-foreground transition-[font-size] duration-200 placeholder:text-transparent selection:bg-foreground/10 disabled:cursor-not-allowed',\n inputSize,\n )\n \"\n :style=\"{ '--amount-chars': String(chars.length) }\"\n @input=\"\n emit(\n 'change',\n sanitizeAmount(($event.target as HTMLInputElement).value),\n )\n \"\n />\n <div\n aria-hidden=\"true\"\n :class=\"\n cn(\n 'pointer-events-none absolute inset-0 flex min-w-0 items-center justify-start overflow-hidden font-semibold leading-none tracking-normal text-foreground tabular-nums transition-[font-size] duration-200',\n !value && 'text-muted-foreground/55',\n inputSize,\n )\n \"\n :style=\"{ '--amount-chars': String(chars.length) }\"\n >\n <AnimatePresence :initial=\"false\" mode=\"popLayout\"\n ><motion.span\n v-for=\"character in chars\"\n :key=\"character.id\"\n :layout=\"reduce ? false : 'position'\"\n :initial=\"\n reduce\n ? { opacity: 0 }\n : { opacity: 0, y: 18, filter: 'blur(10px)' }\n \"\n :animate=\"\n reduce\n ? { opacity: 1 }\n : { opacity: 1, y: 0, filter: 'blur(0px)' }\n \"\n :exit=\"\n reduce\n ? { opacity: 0 }\n : { opacity: 0, y: -14, filter: 'blur(10px)' }\n \"\n :transition=\"{ duration: 0.18, ease: EASE_OUT }\"\n class=\"inline-block min-w-[0.55em] text-center will-change-[transform,opacity,filter]\"\n >{{ character.char }}</motion.span\n ></AnimatePresence\n >\n </div>\n </div>\n </div>\n</template>\n"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"path": "registry/orvui/blocks/prediction-market/src/api-types.ts",
|
|
28
|
+
"target": "~/src/components/orvui/blocks/prediction-market/src/api-types.ts",
|
|
29
|
+
"type": "registry:lib",
|
|
30
|
+
"content": "// Vue public prop types, derived from the actual components.\nexport type PredictionMarketCardProps = InstanceType<\n (typeof import(\"./PredictionMarketCard.vue\"))[\"default\"]\n>[\"$props\"];\nexport type PredictionMarketProps = InstanceType<\n (typeof import(\"./PredictionMarket.vue\"))[\"default\"]\n>[\"$props\"];\n"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"path": "registry/orvui/blocks/prediction-market/src/MarketOddsButton.vue",
|
|
34
|
+
"target": "~/src/components/orvui/blocks/prediction-market/src/MarketOddsButton.vue",
|
|
35
|
+
"type": "registry:component",
|
|
36
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\nimport { motion } from \"motion-v\";\nimport { cn } from \"../../../lib/utils\";\nimport { ActionSwapText } from \"../../../motion/action-swap\";\nimport { useMediaQuery, useReducedMotion } from \"../../../lib/composables\";\nimport { SPRING_PRESS } from \"../../../lib/ease\";\nimport { probability } from \"./utils\";\nimport type { PredictionMarketCardOutcome } from \"./PredictionMarketCard.vue\";\nconst props = defineProps<{\n positive: boolean;\n outcome: PredictionMarketCardOutcome;\n }>(),\n reduce = useReducedMotion(),\n hover = useMediaQuery(\"(hover:hover) and (pointer:fine)\"),\n hovered = ref(false),\n focused = ref(false);\nconst show = computed(() => (hover.value && hovered.value) || focused.value),\n cents = computed(() =>\n Math.round(probability(props.outcome.probability) * 100),\n );\n</script>\n<template>\n <motion.button\n type=\"button\"\n :aria-label=\"`Trade ${outcome.label} at ${cents}%`\"\n :while-press=\"reduce ? undefined : { scale: 0.96 }\"\n :transition=\"SPRING_PRESS\"\n :class=\"\n cn(\n 'relative flex min-h-10 min-w-16 shrink-0 items-center justify-center overflow-hidden rounded-xl border border-border bg-background px-3 text-sm font-semibold text-foreground shadow-[0_3px_0] transition-colors hover:bg-muted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring',\n positive\n ? 'shadow-emerald-500/20 border-emerald-500/25 bg-emerald-500/10 text-emerald-700 hover:bg-emerald-500/15 dark:text-emerald-400'\n : 'shadow-rose-500/20 border-rose-500/25 bg-rose-500/10 text-rose-700 hover:bg-rose-500/15 dark:text-rose-400',\n )\n \"\n @pointerenter=\"$event.pointerType !== 'touch' && (hovered = true)\"\n @pointerleave=\"hovered = false\"\n @focus=\"\n focused = ($event.currentTarget as HTMLElement).matches(':focus-visible')\n \"\n @blur=\"focused = false\"\n ><ActionSwapText\n :value=\"show ? 'action' : String(cents)\"\n animation=\"roll\"\n >{{ show ? (positive ? \"Yes\" : \"No\") : `${cents}%` }}</ActionSwapText\n ></motion.button\n >\n</template>\n"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"path": "registry/orvui/blocks/prediction-market/src/PredictionMarket.vue",
|
|
40
|
+
"target": "~/src/components/orvui/blocks/prediction-market/src/PredictionMarket.vue",
|
|
41
|
+
"type": "registry:component",
|
|
42
|
+
"content": "<script setup lang=\"ts\">\nimport { Banknote, ChevronDown } from \"lucide-vue-next\";\nimport { cn } from \"../../../lib/utils\";\nimport { StatefulButton } from \"../../../motion/button\";\nimport { NumberTicker } from \"../../../motion/number\";\nimport { Tabs, TabsList, TabsTrigger } from \"../../../motion/tabs\";\nimport {\n formatCents,\n formatCompactCurrency,\n formatCurrency,\n parseAmount,\n} from \"./utils\";\nimport { useMarketOrder } from \"./use-market-order\";\nimport type { PredictionMarketClassNames } from \"./source-types\";\nimport type {\n PredictionMarketMode,\n PredictionMarketOrderValue,\n PredictionMarketOutcome,\n PredictionMarketQuote,\n} from \"./types\";\nimport AnimatedAmountInput from \"./AnimatedAmountInput.vue\";\nexport type {\n PredictionMarketMode,\n PredictionMarketOrderValue,\n PredictionMarketOutcome,\n PredictionMarketQuote,\n} from \"./types\";\nconst props = withDefaults(\n defineProps<{\n outcomes?: PredictionMarketOutcome[];\n modelValue?: PredictionMarketOrderValue;\n defaultValue?: Partial<PredictionMarketOrderValue>;\n authenticated?: boolean;\n orderTypeLabel?: string;\n balance?: number;\n positions?: Record<string, number>;\n quickAmounts?: number[];\n minTrade?: number;\n classNames?: PredictionMarketClassNames;\n }>(),\n {\n outcomes: () => [\n { id: \"up\", label: \"Up\", price: 0.09 },\n { id: \"down\", label: \"Down\", price: 0.91 },\n ],\n authenticated: true,\n orderTypeLabel: \"Market\",\n balance: 500,\n positions: () => ({ up: 24, down: 16 }),\n quickAmounts: () => [10, 50, 100, 500],\n minTrade: 1,\n },\n);\nconst emit = defineEmits<{\n \"update:modelValue\": [value: PredictionMarketOrderValue];\n valueChange: [value: PredictionMarketOrderValue];\n trade: [order: PredictionMarketOrderValue, quote: PredictionMarketQuote];\n signIn: [];\n}>();\nconst {\n order,\n selected,\n quote,\n reduce,\n id,\n amount,\n status,\n actionState,\n inputSize,\n payoutSize,\n patch,\n max,\n submit,\n} = useMarketOrder(props, {\n change(value) {\n emit(\"update:modelValue\", value);\n emit(\"valueChange\", value);\n },\n trade(order, quote) {\n emit(\"trade\", order, quote);\n },\n signIn() {\n emit(\"signIn\");\n },\n});\nconst isNo = (outcome: PredictionMarketOutcome) =>\n [\"no\", \"down\"].includes(outcome.label.toLowerCase());\n</script>\n<template>\n <div\n :class=\"\n cn(\n 'w-full max-w-[400px] overflow-hidden rounded-3xl border border-border bg-background',\n classNames?.root,\n )\n \"\n >\n <div :class=\"cn('border-b border-border/80 px-4 pt-4', classNames?.header)\">\n <div class=\"flex items-end justify-between gap-4\">\n <Tabs\n :model-value=\"order.mode\"\n variant=\"underline\"\n :class=\"cn('shrink-0', classNames?.tabs)\"\n @update:model-value=\"\n patch({ mode: $event as PredictionMarketMode, amount: '' })\n \"\n ><TabsList class=\"gap-5 border-b-0 bg-transparent p-0\"\n ><TabsTrigger\n v-for=\"mode in ['buy', 'sell'] as const\"\n :key=\"mode\"\n :value=\"mode\"\n class=\"px-0 pb-3 pt-0 text-2xl font-semibold\"\n indicator-class-name=\"h-0.5 bg-foreground\"\n >{{ mode === \"buy\" ? \"Buy\" : \"Sell\" }}</TabsTrigger\n ></TabsList\n ></Tabs\n ><button\n type=\"button\"\n :disabled=\"status === 'placing'\"\n class=\"mb-3 inline-flex items-center gap-2 text-xl font-semibold text-foreground transition-opacity disabled:opacity-50\"\n >\n {{ orderTypeLabel }}<ChevronDown class=\"h-5 w-5\" />\n </button>\n </div>\n </div>\n <div class=\"space-y-4 p-3\">\n <Tabs\n :model-value=\"selected?.id\"\n variant=\"pill\"\n :class=\"classNames?.outcomes\"\n @update:model-value=\"patch({ outcomeId: $event })\"\n ><TabsList class=\"grid w-full grid-cols-2 gap-2 p-1.5\"\n ><TabsTrigger\n v-for=\"outcome in outcomes\"\n :key=\"outcome.id\"\n :value=\"outcome.id\"\n :indicator-class-name=\"\n isNo(outcome)\n ? 'bg-red-500/10 dark:bg-red-500/15'\n : 'bg-emerald-500/20'\n \"\n :class=\"\n cn(\n 'h-14 w-full rounded-[1.35rem] px-0 py-0 text-base font-semibold active:scale-[0.99]',\n isNo(outcome)\n ? outcome.id === selected?.id\n ? 'text-red-300 dark:text-red-300'\n : 'text-red-300/55 dark:text-red-300/50'\n : outcome.id === selected?.id\n ? 'text-emerald-400 dark:text-emerald-300'\n : 'text-muted-foreground',\n )\n \"\n >{{ outcome.label }} {{ formatCents(outcome.price) }}</TabsTrigger\n ></TabsList\n ></Tabs\n >\n <div\n ref=\"amount\"\n :class=\"cn('rounded-3xl bg-card p-4', classNames?.amount)\"\n >\n <div\n class=\"flex min-h-24 flex-col items-center justify-center gap-5 text-center\"\n >\n <label :for=\"id\" class=\"text-xl font-medium text-foreground mr-6\">{{\n order.mode === \"buy\" ? \"Amount\" : \"Shares\"\n }}</label>\n <div class=\"w-full min-w-0\">\n <AnimatedAmountInput\n :id=\"id\"\n :mode=\"order.mode\"\n :value=\"order.amount\"\n :disabled=\"status === 'placing'\"\n :input-size=\"inputSize\"\n :reduce=\"reduce\"\n @change=\"patch({ amount: $event })\"\n />\n </div>\n </div>\n <div\n :class=\"\n cn('mt-8 flex flex-wrap justify-center gap-2', classNames?.chips)\n \"\n >\n <button\n v-for=\"increment in quickAmounts\"\n :key=\"increment\"\n type=\"button\"\n :disabled=\"status === 'placing'\"\n class=\"h-9 rounded-xl bg-background px-3.5 text-sm font-semibold text-foreground transition-[background-color,transform] duration-150 active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50\"\n @click=\"\n patch({ amount: String(parseAmount(order.amount) + increment) })\n \"\n >\n +{{\n order.mode === \"buy\"\n ? formatCompactCurrency(increment)\n : increment\n }}</button\n ><button\n type=\"button\"\n :disabled=\"status === 'placing'\"\n class=\"h-9 rounded-xl bg-background px-3.5 text-sm font-semibold text-foreground transition-[background-color,transform] duration-150 active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50\"\n @click=\"max\"\n >\n Max\n </button>\n </div>\n </div>\n </div>\n <div\n v-if=\"authenticated\"\n :class=\"cn('border-t border-border/80 px-4 py-4', classNames?.footer)\"\n >\n <div class=\"mb-4 flex items-end justify-between gap-3\">\n <div class=\"min-w-0 shrink\">\n <div\n class=\"flex items-center gap-2 text-xl font-semibold text-foreground\"\n >\n {{ order.mode === \"buy\" ? \"To win\" : \"To receive\"\n }}<Banknote class=\"h-5 w-5 text-emerald-500\" />\n </div>\n <p class=\"text-sm font-medium text-muted-foreground\">\n Avg. Price {{ formatCents(quote.price) }}\n </p>\n </div>\n <NumberTicker\n :value=\"quote.payout * 100\"\n :start-on-view=\"false\"\n :duration=\"0.45\"\n :stagger=\"0\"\n blur\n :class=\"\n cn(\n 'ml-auto min-w-0 shrink-0 justify-end whitespace-nowrap text-right font-semibold leading-none tracking-tight text-emerald-500 tabular-nums transition-[font-size] duration-200',\n payoutSize,\n )\n \"\n :format=\"(cents) => formatCurrency(cents / 100)\"\n />\n </div>\n <StatefulButton\n :state=\"actionState\"\n variant=\"primary\"\n size=\"lg\"\n :press-scale=\"0.98\"\n loading-text=\"Trading\"\n success-text=\"Trade filled\"\n :error-text=\"quote.error ?? 'Enter an amount'\"\n :class=\"\n cn(\n 'h-12 w-full rounded-2xl text-base font-semibold',\n classNames?.action,\n )\n \"\n @click=\"submit\"\n >Trade</StatefulButton\n >\n </div>\n <div v-else class=\"px-4 pb-5\">\n <StatefulButton\n state=\"idle\"\n variant=\"primary\"\n size=\"lg\"\n :press-scale=\"0.98\"\n :class=\"\n cn(\n 'h-14 w-full rounded-2xl text-base font-semibold',\n classNames?.action,\n )\n \"\n @click=\"submit\"\n >Connect</StatefulButton\n >\n </div>\n </div>\n</template>\n"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"path": "registry/orvui/blocks/prediction-market/src/PredictionMarketCard.vue",
|
|
46
|
+
"target": "~/src/components/orvui/blocks/prediction-market/src/PredictionMarketCard.vue",
|
|
47
|
+
"type": "registry:component",
|
|
48
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, useId } from \"vue\";\nimport { motion } from \"motion-v\";\nimport { Bookmark } from \"lucide-vue-next\";\nimport { cn } from \"../../../lib/utils\";\nimport { Tooltip } from \"../../../motion/tooltip\";\nimport { RenderNode, useControllable, type Content } from \"../../shared\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nimport { EASE_OUT, SPRING_PRESS } from \"../../../lib/ease\";\nimport { historyPoints, probability } from \"./utils\";\nimport MarketOddsButton from \"./MarketOddsButton.vue\";\nexport interface PredictionMarketCardOutcome {\n id: string;\n label: string;\n probability: number;\n icon?: Content;\n color?: string;\n}\nexport interface PredictionMarketCardSelection {\n outcomeId: string;\n side: \"yes\" | \"no\";\n}\nconst props = withDefaults(\n defineProps<{\n title: string;\n icon?: Content;\n category?: string;\n volume: string;\n volumeHistory?: number[];\n status?: string;\n live?: boolean;\n outcomes: PredictionMarketCardOutcome[];\n bookmarked?: boolean;\n defaultBookmarked?: boolean;\n }>(),\n {\n bookmarked: undefined,\n volumeHistory: () => [],\n defaultBookmarked: false,\n live: false,\n },\n);\nconst emit = defineEmits<{\n outcomeClick: [selection: PredictionMarketCardSelection];\n \"update:bookmarked\": [bookmarked: boolean];\n bookmarkChange: [bookmarked: boolean];\n}>();\nconst saved = useControllable(\n () => props.bookmarked,\n props.defaultBookmarked,\n (value) => {\n emit(\"update:bookmarked\", value);\n emit(\"bookmarkChange\", value);\n },\n ),\n reduce = useReducedMotion(),\n titleId = useId(),\n chartId = useId(),\n points = computed(() => historyPoints(props.volumeHistory));\n</script>\n<template>\n <article\n :aria-labelledby=\"titleId\"\n class=\"flex h-full w-full min-w-0 flex-col overflow-hidden rounded-3xl bg-card text-foreground\"\n >\n <header class=\"flex shrink-0 items-center gap-3 px-4 py-3\">\n <div\n v-if=\"icon\"\n aria-hidden=\"true\"\n class=\"flex size-12 shrink-0 items-center justify-center overflow-hidden rounded-full border border-border bg-background text-foreground\"\n >\n <RenderNode :node=\"icon\" />\n </div>\n <div class=\"min-w-0 flex-1\">\n <h3\n :id=\"titleId\"\n class=\"break-words font-display text-base font-medium leading-snug tracking-tight\"\n >\n {{ title }}\n </h3>\n <p\n class=\"mt-1 flex flex-wrap items-center gap-1.5 text-xs text-muted-foreground\"\n >\n <span\n v-if=\"status\"\n :class=\"\n cn('inline-flex items-center gap-1.5', live && 'text-rose-500')\n \"\n ><span\n v-if=\"live\"\n aria-hidden=\"true\"\n class=\"size-1.5 rounded-full bg-current\"\n />{{ status }}</span\n ><span v-if=\"status && category\" aria-hidden=\"true\">·</span\n ><span v-if=\"category\">{{ category }}</span>\n </p>\n </div>\n </header>\n <div\n class=\"mx-2 mb-2 flex flex-1 flex-col rounded-3xl bg-background px-4 py-3\"\n >\n <div class=\"flex flex-1 flex-col justify-center gap-3\">\n <div\n v-for=\"(outcome, index) in outcomes\"\n :key=\"outcome.id\"\n class=\"space-y-1\"\n >\n <div class=\"flex min-h-10 items-center gap-2\">\n <span\n v-if=\"outcome.icon\"\n aria-hidden=\"true\"\n class=\"flex size-8 shrink-0 items-center justify-center overflow-hidden rounded-full bg-muted\"\n ><RenderNode :node=\"outcome.icon\" /></span\n ><span class=\"min-w-0 flex-1 break-words text-sm font-medium\">{{\n outcome.label\n }}</span\n ><Tooltip\n content=\"Potential payout per $1 if this outcome wins, including your stake. Before fees; based on the displayed price.\"\n class=\"w-44 whitespace-normal text-center leading-relaxed\"\n ><button\n type=\"button\"\n :aria-label=\"`Potential payout for ${outcome.label}`\"\n class=\"shrink-0 rounded-md py-2 text-sm tabular-nums text-muted-foreground focus-visible:outline-2 focus-visible:outline-ring\"\n >\n {{\n probability(outcome.probability) > 0\n ? `${(1 / probability(outcome.probability)).toFixed(1)}×`\n : \"—\"\n }}\n </button></Tooltip\n ><MarketOddsButton\n :positive=\"index % 2 === 0\"\n :outcome=\"outcome\"\n @click=\"\n emit('outcomeClick', { outcomeId: outcome.id, side: 'yes' })\n \"\n />\n </div>\n <div\n aria-hidden=\"true\"\n class=\"h-0.5 w-24 overflow-hidden rounded-full\"\n >\n <motion.div\n :initial=\"false\"\n :animate=\"{ scaleX: probability(outcome.probability) }\"\n :transition=\"\n reduce ? { duration: 0 } : { duration: 0.25, ease: EASE_OUT }\n \"\n class=\"h-full origin-left rounded-full bg-emerald-300/70 dark:bg-emerald-400/40\"\n :style=\"\n outcome.color ? { backgroundColor: outcome.color } : undefined\n \"\n />\n </div>\n </div>\n </div>\n <footer\n class=\"mt-2 flex shrink-0 items-center gap-2 text-xs text-muted-foreground\"\n >\n <svg\n v-if=\"points\"\n aria-hidden=\"true\"\n viewBox=\"0 0 48 22\"\n class=\"h-5 w-12 shrink-0 text-emerald-500 dark:text-emerald-400\"\n fill=\"none\"\n >\n <defs>\n <linearGradient :id=\"chartId\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop\n offset=\"0%\"\n stop-color=\"currentColor\"\n :stop-opacity=\"0.22\"\n />\n <stop offset=\"100%\" stop-color=\"currentColor\" :stop-opacity=\"0\" />\n </linearGradient>\n </defs>\n <polygon\n :points=\"`2,22 ${points} 46,22`\"\n :fill=\"`url(#${chartId})`\"\n />\n <polyline\n :points=\"points\"\n stroke=\"currentColor\"\n :stroke-width=\"1.75\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n /></svg\n ><span class=\"shrink-0\">{{ volume }} vol.</span\n ><motion.button\n type=\"button\"\n :aria-label=\"`Bookmark ${title}`\"\n :aria-pressed=\"saved\"\n :while-press=\"reduce ? undefined : { scale: 0.85 }\"\n :transition=\"SPRING_PRESS\"\n :class=\"\n cn(\n 'ml-auto flex size-9 shrink-0 items-center justify-center rounded-xl transition-colors hover:bg-muted focus-visible:outline-2 focus-visible:outline-ring',\n saved && 'text-foreground',\n )\n \"\n @click=\"saved = !saved\"\n ><motion.span\n :animate=\"{ scale: saved && !reduce ? [1, 1.2, 1] : 1 }\"\n :transition=\"{ duration: 0.22, ease: EASE_OUT }\"\n ><Bookmark\n aria-hidden=\"true\"\n :class=\"cn('size-4', saved && 'fill-current')\" /></motion.span\n ></motion.button>\n </footer>\n </div>\n </article>\n</template>\n"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"path": "registry/orvui/blocks/prediction-market/src/source-types.ts",
|
|
52
|
+
"target": "~/src/components/orvui/blocks/prediction-market/src/source-types.ts",
|
|
53
|
+
"type": "registry:lib",
|
|
54
|
+
"content": "export type PredictionMarketClassNames = {\n root?: string;\n header?: string;\n tabs?: string;\n outcomes?: string;\n amount?: string;\n chips?: string;\n footer?: string;\n action?: string;\n};\n"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"path": "registry/orvui/blocks/prediction-market/src/types.ts",
|
|
58
|
+
"target": "~/src/components/orvui/blocks/prediction-market/src/types.ts",
|
|
59
|
+
"type": "registry:lib",
|
|
60
|
+
"content": "export type PredictionMarketMode = \"buy\" | \"sell\";\n\nexport type PredictionMarketOutcome = {\n id: string;\n label: string;\n price: number;\n};\n\nexport type PredictionMarketOrderValue = {\n mode: PredictionMarketMode;\n outcomeId: string;\n amount: string;\n};\n\nexport type PredictionMarketQuote = {\n valid: boolean;\n amount: number;\n price: number;\n shares: number;\n payout: number;\n error?: string;\n};\n"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"path": "registry/orvui/blocks/prediction-market/src/use-market-order.ts",
|
|
64
|
+
"target": "~/src/components/orvui/blocks/prediction-market/src/use-market-order.ts",
|
|
65
|
+
"type": "registry:lib",
|
|
66
|
+
"content": "import { computed, onBeforeUnmount, ref, useId } from \"vue\";\nimport { animate } from \"motion-v\";\nimport { useControllable } from \"../../shared\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nimport { EASE_OUT } from \"../../../lib/ease\";\nimport { amountInputSize, buildQuote, payoutTickerSize } from \"./utils\";\nimport type {\n PredictionMarketOrderValue as Order,\n PredictionMarketOutcome as Outcome,\n PredictionMarketQuote as Quote,\n} from \"./types\";\nexport function useMarketOrder(\n props: {\n modelValue?: Order;\n defaultValue?: Partial<Order>;\n outcomes: Outcome[];\n positions: Record<string, number>;\n balance: number;\n minTrade: number;\n authenticated: boolean;\n },\n events: {\n change: (value: Order) => void;\n trade: (order: Order, quote: Quote) => void;\n signIn: () => void;\n },\n) {\n const order = useControllable(\n () => props.modelValue,\n {\n mode: \"buy\" as const,\n outcomeId: props.outcomes[0]?.id ?? \"\",\n amount: \"\",\n ...props.defaultValue,\n },\n events.change,\n );\n const selected = computed(\n () =>\n props.outcomes.find((outcome) => outcome.id === order.value.outcomeId) ??\n props.outcomes[0],\n );\n const position = computed(\n () => props.positions[selected.value?.id ?? \"\"] ?? 0,\n );\n const quote = computed(() =>\n buildQuote({\n order: order.value,\n outcome: selected.value ?? { id: \"\", label: \"\", price: 0 },\n balance: props.balance,\n position: position.value,\n minTrade: props.minTrade,\n }),\n );\n const status = ref<\"idle\" | \"placing\" | \"filled\">(\"idle\"),\n reduce = useReducedMotion(),\n id = useId(),\n amount = ref<HTMLElement>();\n const actionState = computed(() =>\n status.value === \"placing\"\n ? \"loading\"\n : status.value === \"filled\"\n ? \"success\"\n : quote.value.valid\n ? \"idle\"\n : \"error\",\n );\n const inputSize = computed(() => amountInputSize(order.value.amount)),\n payoutSize = computed(() => payoutTickerSize(quote.value.payout));\n let timer: ReturnType<typeof setTimeout> | undefined,\n shake: ReturnType<typeof animate> | undefined;\n function patch(value: Partial<Order>) {\n clearTimeout(timer);\n status.value = \"idle\";\n order.value = { ...order.value, ...value };\n }\n function max() {\n patch({\n amount:\n order.value.mode === \"buy\"\n ? String(Math.floor(props.balance))\n : position.value.toFixed(position.value % 1 === 0 ? 0 : 2),\n });\n }\n function submit() {\n if (!props.authenticated) {\n events.signIn();\n return;\n }\n if (!quote.value.valid) {\n if (amount.value && !reduce.value) {\n shake?.stop();\n shake = animate(\n amount.value,\n { x: [0, -5, 5, -3, 3, -1, 0] },\n { duration: 0.38, ease: EASE_OUT },\n );\n }\n return;\n }\n if (status.value === \"placing\") return;\n status.value = \"placing\";\n const payload = { ...order.value },\n valuation = { ...quote.value };\n timer = setTimeout(() => {\n status.value = \"filled\";\n events.trade(payload, valuation);\n }, 650);\n }\n onBeforeUnmount(() => {\n clearTimeout(timer);\n shake?.stop();\n });\n return {\n order,\n selected,\n quote,\n reduce,\n id,\n amount,\n status,\n actionState,\n inputSize,\n payoutSize,\n patch,\n max,\n submit,\n };\n}\n"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"path": "registry/orvui/blocks/prediction-market/src/utils.ts",
|
|
70
|
+
"target": "~/src/components/orvui/blocks/prediction-market/src/utils.ts",
|
|
71
|
+
"type": "registry:lib",
|
|
72
|
+
"content": "import type {\n PredictionMarketOrderValue,\n PredictionMarketOutcome,\n PredictionMarketQuote,\n} from \"./types\";\nexport function sanitizeAmount(value: string) {\n let whole = \"\",\n fraction = \"\",\n decimal = false;\n for (const char of value) {\n if (char === \".\" && !decimal) {\n decimal = true;\n continue;\n }\n if (char < \"0\" || char > \"9\") continue;\n if (!decimal) whole += char;\n else if (fraction.length < 2) fraction += char;\n }\n return whole + (decimal ? \".\" + fraction : \"\");\n}\nexport const parseAmount = (value: string) => Number(value) || 0;\nexport const formatCurrency = (value: number, maximumFractionDigits = 2) =>\n new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n maximumFractionDigits,\n }).format(value);\nexport const formatCompactCurrency = (value: number) =>\n formatCurrency(value, value >= 100 || value % 1 === 0 ? 0 : 2);\nexport function formatCents(value: number) {\n const cents = value * 100;\n return cents.toFixed(Number.isInteger(cents) ? 0 : 1) + \"¢\";\n}\nexport function buildQuote({\n order,\n outcome,\n balance,\n position,\n minTrade,\n}: {\n order: PredictionMarketOrderValue;\n outcome: PredictionMarketOutcome;\n balance: number;\n position: number;\n minTrade: number;\n}): PredictionMarketQuote {\n const amount = parseAmount(order.amount),\n price = Math.min(0.99, Math.max(0.01, outcome.price));\n const shares = order.mode === \"buy\" ? amount / price : amount,\n payout = order.mode === \"buy\" ? shares : amount * price;\n if (amount <= 0)\n return {\n valid: false,\n amount,\n price,\n shares: 0,\n payout: 0,\n error: \"Enter an amount\",\n };\n const error =\n order.mode === \"buy\"\n ? amount < minTrade\n ? `Minimum ${formatCompactCurrency(minTrade)}`\n : amount > balance\n ? \"Insufficient balance\"\n : undefined\n : amount > position\n ? \"Not enough shares\"\n : undefined;\n return {\n valid: error === undefined,\n amount,\n price,\n shares,\n payout,\n ...(error ? { error } : {}),\n };\n}\nexport function keyedAmountChars(value: string) {\n const occurrences: Record<string, number> = Object.create(null);\n return Array.from(value, (char) => {\n const occurrence = occurrences[char] ?? 0;\n occurrences[char] = occurrence + 1;\n return { id: `${char}-${occurrence}`, char };\n });\n}\nexport function amountInputSize(value: string) {\n const count = Array.from(value).filter(\n (char) => char >= \"0\" && char <= \"9\",\n ).length;\n return count >= 10\n ? \"text-3xl sm:text-4xl\"\n : count >= 8\n ? \"text-4xl sm:text-5xl\"\n : count >= 6\n ? \"text-[44px] sm:text-[56px]\"\n : \"text-5xl sm:text-6xl\";\n}\nexport function payoutTickerSize(value: number) {\n const count = formatCurrency(value).length;\n return count >= 16\n ? \"text-xl sm:text-2xl\"\n : count >= 13\n ? \"text-2xl\"\n : count >= 10\n ? \"text-3xl\"\n : \"text-4xl\";\n}\nexport const probability = (value: number) =>\n Number.isFinite(value) ? Math.min(1, Math.max(0, value)) : 0;\nexport function historyPoints(values: number[]) {\n const samples = values.filter(Number.isFinite);\n if (samples.length < 2) return null;\n let low = Infinity,\n high = -Infinity;\n for (const sample of samples) {\n low = Math.min(low, sample);\n high = Math.max(high, sample);\n }\n return samples\n .map(\n (value, index) =>\n `${2 + (44 * index) / (samples.length - 1)},${18 - 14 * (high === low ? 0.5 : (value - low) / (high - low))}`,\n )\n .join(\" \");\n}\n"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"path": "registry/orvui/blocks/shared.ts",
|
|
76
|
+
"target": "~/src/components/orvui/blocks/shared.ts",
|
|
77
|
+
"type": "registry:lib",
|
|
78
|
+
"content": "import { useBlockDismiss } from \"./dismiss\";\nimport { resolveElement, useOverlay } from \"../lib/composables\";\nimport {\n computed,\n defineComponent,\n h,\n isVNode,\n onMounted,\n onUnmounted,\n ref,\n type Component,\n type Ref,\n type VNodeChild,\n} from \"vue\";\n\nexport type Content = VNodeChild | Component;\nexport const RenderNode = defineComponent({\n props: [\"node\"],\n setup(props) {\n return () => {\n const node = props.node;\n if (isVNode(node) || node === null || node === undefined) return node;\n if (typeof node === \"function\" || typeof node === \"object\")\n return h(node as Component);\n return node;\n };\n },\n});\n\nexport function useControllable<T>(\n get: () => T | undefined,\n initial: T,\n emit: (value: T) => void,\n) {\n const saved = ref(initial) as Ref<T>;\n return computed<T>({\n get() {\n const value = get();\n return value === undefined ? saved.value : value;\n },\n set(value) {\n if (get() === undefined) saved.value = value;\n emit(value);\n },\n });\n}\n\nexport function useOutside(\n root: Ref<HTMLElement | undefined>,\n close: () => void,\n open: Ref<boolean>,\n) {\n useBlockDismiss(open, root, close);\n}\n\nexport function useReduced() {\n const reduced = ref(false);\n let detach: (() => void) | undefined;\n onMounted(() => {\n if (typeof matchMedia !== \"function\") return;\n const query = matchMedia(\"(prefers-reduced-motion: reduce)\");\n const read = () => {\n reduced.value = query.matches;\n };\n read();\n query.addEventListener(\"change\", read);\n detach = () => query.removeEventListener(\"change\", read);\n });\n onUnmounted(() => detach?.());\n return reduced;\n}\n\nexport function rove(\n event: KeyboardEvent,\n root: HTMLElement,\n selector = \"button:not(:disabled)\",\n) {\n const items = [...root.querySelectorAll<HTMLElement>(selector)];\n if (!items.length) return;\n const current = items.indexOf(\n root.ownerDocument.activeElement as HTMLElement,\n );\n let destination: number;\n switch (event.key) {\n case \"ArrowRight\":\n case \"ArrowDown\":\n destination = (current + 1) % items.length;\n break;\n case \"ArrowLeft\":\n case \"ArrowUp\":\n destination = (current - 1 + items.length) % items.length;\n break;\n case \"Home\":\n destination = 0;\n break;\n case \"End\":\n destination = items.length - 1;\n break;\n default:\n return;\n }\n event.preventDefault();\n items[destination]?.focus();\n}\n\nexport function useDialog(\n open: Ref<boolean>,\n root: Ref<HTMLElement | undefined>,\n initial?: () => HTMLElement | undefined,\n) {\n const element = computed(() => resolveElement<HTMLElement>(root.value));\n useOverlay(\n open,\n element,\n () => {\n open.value = false;\n },\n initial,\n );\n}\n"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"path": "registry/orvui/lib/composables.ts",
|
|
82
|
+
"target": "~/src/components/orvui/lib/composables.ts",
|
|
83
|
+
"type": "registry:lib",
|
|
84
|
+
"content": "import { computed, getCurrentInstance, nextTick, onBeforeUnmount, onMounted, ref, watch, type Ref } from \"vue\";\nimport { layerManager, type Layer } from \"./layers\";\n\nexport function useControllable<T>(props: Record<string, any>, key: string, emit: (...args: any[]) => void, fallback: T) {\n const local = ref<T>(fallback) as Ref<T>;\n const read = () => props[key] as T | undefined;\n return computed<T>({\n get() { const supplied = read(); return supplied === undefined ? local.value : supplied; },\n set(value) { if (read() === undefined) local.value = value; emit(`update:${key}`, value); },\n });\n}\n\nexport function useMediaQuery(query: string) {\n const matches = ref(false);\n let disconnect: (() => void) | undefined;\n onMounted(() => {\n if (typeof window.matchMedia !== \"function\") return;\n const media = window.matchMedia(query);\n const update = () => { matches.value = media.matches; };\n update();\n media.addEventListener?.(\"change\", update);\n disconnect = () => media.removeEventListener?.(\"change\", update);\n });\n onBeforeUnmount(() => disconnect?.());\n return matches;\n}\nexport function useReducedMotion() { return useMediaQuery(\"(prefers-reduced-motion: reduce)\"); }\n\nconst lockedProperties = [\"overflow\", \"position\", \"top\", \"left\", \"right\", \"width\"] as const;\nlet scrollOwners = 0;\nlet unlockPage: (() => void) | undefined;\nfunction acquirePage() {\n if (scrollOwners++ === 0) {\n const body = document.body.style;\n const saved = lockedProperties.map(name => ({ name, value: body.getPropertyValue(name), priority: body.getPropertyPriority(name) }));\n const x = window.scrollX, y = window.scrollY;\n body.setProperty(\"overflow\", \"hidden\");\n body.setProperty(\"position\", \"fixed\");\n body.setProperty(\"left\", `${-x}px`);\n body.setProperty(\"top\", `${-y}px`);\n body.setProperty(\"right\", \"0px\");\n body.setProperty(\"width\", \"100%\");\n unlockPage = () => {\n for (const entry of saved) {\n if (entry.value) body.setProperty(entry.name, entry.value, entry.priority);\n else body.removeProperty(entry.name);\n }\n const root = document.documentElement.style;\n const behavior = root.getPropertyValue(\"scroll-behavior\");\n const priority = root.getPropertyPriority(\"scroll-behavior\");\n root.setProperty(\"scroll-behavior\", \"auto\");\n window.scrollTo(x, y);\n if (behavior) root.setProperty(\"scroll-behavior\", behavior, priority);\n else root.removeProperty(\"scroll-behavior\");\n };\n }\n let released = false;\n return () => {\n if (released) return;\n released = true;\n if (--scrollOwners === 0) { unlockPage?.(); unlockPage = undefined; }\n };\n}\nexport function useScrollLock(locked: Ref<boolean>) {\n let mounted = false;\n let release: (() => void) | undefined;\n const update = (value: boolean) => {\n if (!mounted) return;\n if (value && !release) release = acquirePage();\n if (!value && release) { release(); release = undefined; }\n };\n onMounted(() => { mounted = true; update(locked.value); });\n watch(locked, update);\n onBeforeUnmount(() => { release?.(); release = undefined; mounted = false; });\n}\n\nexport function resolveElement<T extends Element = HTMLElement>(value: unknown): T | null {\n if (!value) return null;\n const unwrapped = (value as { $el?: unknown }).$el ?? value;\n return typeof (unwrapped as Element).nodeType === \"number\" && (unwrapped as Element).nodeType === 1 ? unwrapped as T : null;\n}\nconst focusable = 'a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex=\"-1\"])';\nfunction createLayer(modal: boolean, panel?: { readonly value: unknown }): Layer {\n return { key: Symbol(\"orvui-layer\"), modal, owner: getCurrentInstance(), surface: () => resolveElement(panel?.value), returnTo: null };\n}\nexport function useOverlay(open: Ref<boolean>, panel: Ref<HTMLElement | null>, close: () => void, initialFocus?: () => HTMLElement | undefined) {\n const layer = createLayer(true, panel);\n let mounted = false;\n let revision = 0;\n const sync = async (value: boolean) => {\n const current = ++revision;\n if (!mounted) return;\n if (!value) { layerManager.detach(layer, true); return; }\n if (!layerManager.attach(layer)) return;\n await nextTick();\n if (!mounted || current !== revision || !open.value || !layerManager.top(layer)) return;\n (initialFocus?.() ?? layer.surface()?.querySelector<HTMLElement>(focusable) ?? layer.surface())?.focus({ preventScroll: true });\n };\n const onKey = (event: KeyboardEvent) => {\n if (event.defaultPrevented || !open.value) return;\n if (event.key === \"Escape\" && layerManager.top(layer)) {\n event.preventDefault(); event.stopPropagation(); close(); return;\n }\n if (event.key !== \"Tab\" || !layerManager.modal(layer)) return;\n const candidates = new Set<HTMLElement>();\n for (const surface of layerManager.scopes(layer)) {\n for (const node of surface.querySelectorAll<HTMLElement>(focusable)) {\n if (node.getClientRects().length > 0 && !node.closest(\"[inert]\")) candidates.add(node);\n }\n }\n event.preventDefault();\n const nodes = [...candidates];\n if (!nodes.length) { layer.surface()?.focus(); return; }\n const position = nodes.indexOf(document.activeElement as HTMLElement);\n const next = position < 0 ? (event.shiftKey ? nodes.length - 1 : 0) : (position + (event.shiftKey ? -1 : 1) + nodes.length) % nodes.length;\n nodes[next].focus();\n };\n useScrollLock(open);\n onMounted(() => { mounted = true; document.addEventListener(\"keydown\", onKey); void sync(open.value); });\n watch(open, value => void sync(value));\n onBeforeUnmount(() => { mounted = false; revision++; document.removeEventListener(\"keydown\", onKey); layerManager.detach(layer, true); });\n return {\n isTop: () => open.value && layerManager.top(layer),\n containsHigher: (target: EventTarget | null) => layerManager.higher(layer, target),\n containsOwnedPortal: (target: HTMLElement) => layerManager.containsPortal(layer.owner, target),\n };\n}\nexport function useFloatingLayer(open: Ref<boolean>, panel?: { readonly value: unknown }) {\n const layer = createLayer(false, panel);\n let mounted = false;\n let unregister: (() => void) | undefined;\n const sync = (value: boolean) => {\n if (!mounted) return;\n if (value) layerManager.attach(layer); else layerManager.detach(layer, false);\n };\n onMounted(() => { mounted = true; unregister = layerManager.portal(layer.owner, layer.surface); sync(open.value); });\n watch(open, sync, { flush: \"sync\" });\n onBeforeUnmount(() => { mounted = false; unregister?.(); layerManager.detach(layer, false); });\n const isTop = () => open.value && layerManager.top(layer);\n return {\n isTop,\n claimEscape(event: KeyboardEvent) {\n if (event.key !== \"Escape\" || event.defaultPrevented || !isTop()) return false;\n event.preventDefault(); event.stopImmediatePropagation(); return true;\n },\n containsHigher: (target: EventTarget | null) => layerManager.higher(layer, target),\n };\n}\nexport function useEventListener(target: () => EventTarget | null | undefined, event: string, handler: EventListener, options?: AddEventListenerOptions) {\n let remove: (() => void) | undefined;\n onMounted(() => { const element = target(); element?.addEventListener(event, handler, options); remove = () => element?.removeEventListener(event, handler, options); });\n onBeforeUnmount(() => remove?.());\n}\n"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"path": "registry/orvui/lib/ease.ts",
|
|
88
|
+
"target": "~/src/components/orvui/lib/ease.ts",
|
|
89
|
+
"type": "registry:lib",
|
|
90
|
+
"content": "export const EASE_OUT = [0.16, 1, 0.3, 1] as const;\nexport const EASE_IN_OUT = [0.77, 0, 0.175, 1] as const;\nexport const EASE_DRAWER = [0.32, 0.72, 0, 1] as const;\nexport const EASE_OUT_CSS = \"cubic-bezier(0.16,1,0.3,1)\";\nexport const SPRING_PRESS = {\n type: \"spring\",\n stiffness: 500,\n damping: 30,\n mass: 0.6,\n} as const;\nexport const SPRING_SWAP = {\n type: \"spring\",\n stiffness: 460,\n damping: 30,\n mass: 0.55,\n} as const;\nexport const SPRING_PANEL = {\n type: \"spring\",\n stiffness: 420,\n damping: 40,\n mass: 0.5,\n} as const;\nexport const SPRING_LAYOUT = {\n type: \"spring\",\n stiffness: 360,\n damping: 32,\n mass: 0.6,\n} as const;\nexport const SPRING_MOUSE = { stiffness: 200, damping: 15, mass: 0.3 } as const;\nexport const SPRING_GLIDE = { stiffness: 700, damping: 50, mass: 0.5 } as const;\nexport const SPRING_TIMELINE = {\n type: \"spring\",\n stiffness: 120,\n damping: 24,\n mass: 1,\n} as const;\n"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"path": "registry/orvui/lib/layers.ts",
|
|
94
|
+
"target": "~/src/components/orvui/lib/layers.ts",
|
|
95
|
+
"type": "registry:lib",
|
|
96
|
+
"content": "import type { ComponentInternalInstance } from \"vue\";\n\ntype Surface = () => HTMLElement | null;\nexport interface Layer {\n key: symbol;\n modal: boolean;\n owner: ComponentInternalInstance | null;\n surface: Surface;\n returnTo: HTMLElement | null;\n}\nconst active: Layer[] = [];\nconst portals = new Set<{ owner: ComponentInternalInstance | null; surface: Surface }>();\n\nfunction belongsTo(child: ComponentInternalInstance | null, parent: ComponentInternalInstance | null) {\n if (!parent) return false;\n for (let node = child; node; node = node.parent) if (node === parent) return true;\n return false;\n}\nfunction later(layer: Layer) {\n const index = active.indexOf(layer);\n return index < 0 ? [] : active.slice(index + 1);\n}\nexport const layerManager = {\n attach(layer: Layer) {\n if (active.includes(layer)) return false;\n layer.returnTo = document.activeElement as HTMLElement | null;\n const before = active.findIndex(entry => entry.owner !== layer.owner && belongsTo(entry.owner, layer.owner));\n active.splice(before < 0 ? active.length : before, 0, layer);\n return true;\n },\n detach(layer: Layer, restore: boolean) {\n const index = active.indexOf(layer);\n if (index < 0) return;\n const wasLast = index === active.length - 1;\n const surface = layer.surface();\n for (const successor of later(layer)) {\n if (successor.returnTo && surface?.contains(successor.returnTo)) successor.returnTo = layer.returnTo;\n }\n active.splice(index, 1);\n if (restore && wasLast && layer.returnTo?.isConnected) layer.returnTo.focus({ preventScroll: true });\n },\n top(layer: Layer) { return active.at(-1) === layer; },\n modal(layer: Layer) { return active.slice().reverse().find(entry => entry.modal) === layer; },\n higher(layer: Layer, target: EventTarget | null) {\n return !!target && typeof (target as Node).nodeType === \"number\" && later(layer).some(entry => entry.surface()?.contains(target as Node));\n },\n scopes(layer: Layer) {\n const result = [layer.surface()];\n for (const entry of later(layer)) if (!entry.modal && belongsTo(entry.owner, layer.owner)) result.push(entry.surface());\n return result.filter((surface): surface is HTMLElement => surface !== null);\n },\n portal(owner: ComponentInternalInstance | null, surface: Surface) {\n const portal = { owner, surface };\n portals.add(portal);\n return () => portals.delete(portal);\n },\n containsPortal(owner: ComponentInternalInstance | null, target: HTMLElement) {\n for (const portal of portals) {\n const node = portal.surface();\n if (node && belongsTo(portal.owner, owner) && target.contains(node)) return true;\n }\n return false;\n },\n};\n"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"path": "registry/orvui/lib/RenderContent.ts",
|
|
100
|
+
"target": "~/src/components/orvui/lib/RenderContent.ts",
|
|
101
|
+
"type": "registry:lib",
|
|
102
|
+
"content": "import { defineComponent, h, isVNode } from \"vue\";\n\nexport default defineComponent({\n props: [\"node\"],\n setup(props) {\n return () => {\n const content = props.node;\n if (typeof content === \"function\") return h(content);\n if (content === null || typeof content !== \"object\" || Array.isArray(content) || isVNode(content)) return content;\n return h(content);\n };\n },\n});\n"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"path": "registry/orvui/lib/utils.ts",
|
|
106
|
+
"target": "~/src/components/orvui/lib/utils.ts",
|
|
107
|
+
"type": "registry:lib",
|
|
108
|
+
"content": "import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: unknown[]) {\n const combined = clsx(...inputs as ClassValue[]);\n return twMerge(combined);\n}\nexport function clamp(value: number, min: number, max: number) {\n const aboveFloor = Math.max(min, value);\n return Math.min(aboveFloor, max);\n}\n"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"path": "registry/orvui/motion/action-swap/index.ts",
|
|
112
|
+
"target": "~/src/components/orvui/motion/action-swap/index.ts",
|
|
113
|
+
"type": "registry:lib",
|
|
114
|
+
"content": "export { default as ActionSwapText } from \"./src/ActionSwapText.vue\";\nexport { default as ActionSwapIcon } from \"./src/ActionSwapIcon.vue\";\nexport { default as ActionSwapButton } from \"./src/ActionSwapButton.vue\";\n\nexport { default as ActionSwapCascadeButton } from \"./src/ActionSwapCascadeButton.vue\";\nexport { default as ActionSwapCascadeText } from \"./src/ActionSwapCascadeText.vue\";\nexport { default as ActionSwapCascadeIcon } from \"./src/ActionSwapCascadeIcon.vue\";\nexport { default as ActionSwapBlurButton } from \"./src/ActionSwapBlurButton.vue\";\nexport { default as ActionSwapBlurText } from \"./src/ActionSwapBlurText.vue\";\nexport { default as ActionSwapBlurIcon } from \"./src/ActionSwapBlurIcon.vue\";\nexport { default as ActionSwapRollButton } from \"./src/ActionSwapRollButton.vue\";\nexport { default as ActionSwapRollText } from \"./src/ActionSwapRollText.vue\";\nexport { default as ActionSwapRollIcon } from \"./src/ActionSwapRollIcon.vue\";\n\nexport type * from \"./src/api-types\";\n\nexport type * from \"./src/public-types\";\n"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"path": "registry/orvui/motion/action-swap/src/ActionSwapBlurButton.vue",
|
|
118
|
+
"target": "~/src/components/orvui/motion/action-swap/src/ActionSwapBlurButton.vue",
|
|
119
|
+
"type": "registry:component",
|
|
120
|
+
"content": "<script setup lang=\"ts\">\nimport type { Component, VNodeChild } from \"vue\";\nimport ActionSwapButton from \"./ActionSwapButton.vue\";\nconst props = withDefaults(defineProps<{\n items: { id: string; label: VNodeChild | Component; icon?: VNodeChild | Component; ariaLabel?: string }[];\n modelValue?: string; value?: string; defaultValue?: string; cycle?: boolean; disabled?: boolean;\n variant?: \"primary\" | \"secondary\" | \"outline\" | \"ghost\"; size?: \"sm\" | \"md\" | \"lg\" | \"icon\";\n}>(), { cycle: undefined });\nconst emit = defineEmits([\"update:modelValue\", \"update:value\", \"valueChange\"]);\nfunction changed(value: string, item: typeof props.items[number]) { emit(\"valueChange\", value, item); }\n</script>\n<template><ActionSwapButton v-bind=\"props\" animation=\"blur\" @update:model-value=\"emit('update:modelValue', $event)\" @update:value=\"emit('update:value', $event)\" @value-change=\"changed\">\n <template v-if=\"$slots.default\" #default=\"slotProps\"><slot v-bind=\"slotProps\" /></template>\n <template v-if=\"$slots.icon\" #icon=\"slotProps\"><slot name=\"icon\" v-bind=\"slotProps\" /></template>\n</ActionSwapButton></template>\n"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"path": "registry/orvui/motion/action-swap/src/ActionSwapBlurIcon.vue",
|
|
124
|
+
"target": "~/src/components/orvui/motion/action-swap/src/ActionSwapBlurIcon.vue",
|
|
125
|
+
"type": "registry:component",
|
|
126
|
+
"content": "<script setup lang=\"ts\">\nimport ActionSwapIcon from \"./ActionSwapIcon.vue\";\nconst props = defineProps<{ value: string | number }>();\ndefineSlots<{ default?: () => any }>();\n</script>\n<template><ActionSwapIcon :value=\"props.value\" animation=\"blur\"><slot /></ActionSwapIcon></template>\n"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"path": "registry/orvui/motion/action-swap/src/ActionSwapBlurText.vue",
|
|
130
|
+
"target": "~/src/components/orvui/motion/action-swap/src/ActionSwapBlurText.vue",
|
|
131
|
+
"type": "registry:component",
|
|
132
|
+
"content": "<script setup lang=\"ts\">\nimport ActionSwapText from \"./ActionSwapText.vue\";\nconst props = defineProps<{ value: string | number }>();\ndefineSlots<{ default?: () => any }>();\n</script>\n<template><ActionSwapText :value=\"props.value\" animation=\"blur\"><slot /></ActionSwapText></template>\n"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"path": "registry/orvui/motion/action-swap/src/ActionSwapButton.vue",
|
|
136
|
+
"target": "~/src/components/orvui/motion/action-swap/src/ActionSwapButton.vue",
|
|
137
|
+
"type": "registry:component",
|
|
138
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, type Component, type VNodeChild } from \"vue\";\nimport { motion } from \"motion-v\";\nimport { cn } from \"../../../lib/utils\";\nimport { SPRING_LAYOUT, SPRING_PRESS } from \"../../../lib/ease\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nimport RenderContent from \"../../../lib/RenderContent\";\nimport { useMotionState } from \"../../state\";\nimport ActionSwapIcon from \"./ActionSwapIcon.vue\";\nimport ActionSwapText from \"./ActionSwapText.vue\";\nconst props = withDefaults(defineProps<{\n items: { id: string; label: VNodeChild | Component; icon?: VNodeChild | Component; ariaLabel?: string }[];\n modelValue?: string; value?: string; defaultValue?: string; animation?: \"cascade\" | \"blur\" | \"roll\";\n variant?: \"primary\" | \"secondary\" | \"outline\" | \"ghost\"; size?: \"sm\" | \"md\" | \"lg\" | \"icon\";\n iconOnly?: boolean; cycle?: boolean; disabled?: boolean;\n}>(), { animation: \"blur\", variant: \"secondary\", size: \"md\", cycle: true, iconOnly: undefined });\nconst emit = defineEmits([\"update:modelValue\", \"change\", \"update:value\", \"valueChange\", \"click\"]);\nconst value = useMotionState(props, emit, \"modelValue\", props.defaultValue ?? props.items[0]?.id ?? \"\");\nconst index = computed(() => Math.max(0, props.items.findIndex(item => item.id === (props.value ?? value.value))));\nconst selected = computed(() => props.items[index.value] ?? props.items[0]);\nconst iconOnly = computed(() => props.iconOnly ?? props.size === \"icon\");\nconst hasIcons = computed(() => props.items.some(item => !!item.icon));\nconst reduced = useReducedMotion();\nconst color = computed(() => ({ primary: \"bg-primary text-primary-foreground hover:bg-primary/90\", secondary: \"border border-border bg-card text-foreground hover:border-border\", outline: \"border border-border bg-transparent text-foreground hover:bg-muted/60\", ghost: \"text-muted-foreground hover:bg-muted/60 hover:text-foreground\" })[props.variant]);\nconst geometry = computed(() => ({ sm: \"h-8 gap-1.5 rounded-full px-3 text-xs\", md: \"h-10 gap-2 rounded-full px-4 text-sm\", lg: \"h-12 gap-2.5 rounded-full px-5 text-base\", icon: \"h-10 w-10 rounded-full\" })[props.size]);\nconst accessibleName = computed(() => selected.value?.ariaLabel ?? (iconOnly.value && [\"string\", \"number\"].includes(typeof selected.value?.label) ? String(selected.value!.label) : undefined));\nfunction advance(event: MouseEvent) {\n emit(\"click\", event);\n if (event.defaultPrevented || props.disabled || !props.cycle || !props.items.length) return;\n const next = props.items[(index.value + 1) % props.items.length]!;\n value.value = next.id;\n emit(\"update:value\", next.id);\n emit(\"valueChange\", next.id, next);\n}\n</script>\n<template>\n <motion.button v-if=\"selected\" type=\"button\" :disabled=\"disabled\" layout :layout-dependency=\"selected.id\" :aria-label=\"accessibleName\"\n :while-press=\"reduced || disabled ? undefined : { scale: 0.97 }\" :transition=\"{ ...SPRING_PRESS, layout: reduced ? { duration: 0 } : SPRING_LAYOUT }\"\n :style=\"{ borderRadius: '9999px' }\" :class=\"cn('inline-flex items-center justify-center overflow-hidden font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50', color, geometry, $attrs.class)\" @click=\"advance\">\n <motion.span v-if=\"hasIcons || $slots.icon\" layout=\"position\" :layout-dependency=\"selected.id\" :transition=\"reduced ? { duration: 0 } : SPRING_LAYOUT\" class=\"inline-flex shrink-0\">\n <ActionSwapIcon :value=\"selected.id\" :animation=\"animation\" class=\"h-4 w-4\"><slot name=\"icon\" :item=\"selected\"><RenderContent v-if=\"selected.icon\" :node=\"selected.icon\" class=\"size-4\" /></slot></ActionSwapIcon>\n </motion.span>\n <motion.span v-if=\"!iconOnly\" layout=\"position\" :layout-dependency=\"selected.id\" :transition=\"reduced ? { duration: 0 } : SPRING_LAYOUT\" class=\"inline-flex min-w-0 max-w-full\">\n <ActionSwapText :value=\"selected.id\" :animation=\"animation\"><slot :item=\"selected\"><template v-if=\"typeof selected.label === 'string' || typeof selected.label === 'number'\">{{ selected.label }}</template><RenderContent v-else :node=\"selected.label\" /></slot></ActionSwapText>\n </motion.span>\n </motion.button>\n</template>\n"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"path": "registry/orvui/motion/action-swap/src/ActionSwapCascadeButton.vue",
|
|
142
|
+
"target": "~/src/components/orvui/motion/action-swap/src/ActionSwapCascadeButton.vue",
|
|
143
|
+
"type": "registry:component",
|
|
144
|
+
"content": "<script setup lang=\"ts\">\nimport type { Component, VNodeChild } from \"vue\";\nimport ActionSwapButton from \"./ActionSwapButton.vue\";\nconst props = withDefaults(defineProps<{\n items: { id: string; label: VNodeChild | Component; icon?: VNodeChild | Component; ariaLabel?: string }[];\n modelValue?: string; value?: string; defaultValue?: string; cycle?: boolean; disabled?: boolean;\n variant?: \"primary\" | \"secondary\" | \"outline\" | \"ghost\"; size?: \"sm\" | \"md\" | \"lg\" | \"icon\";\n}>(), { cycle: undefined });\nconst emit = defineEmits([\"update:modelValue\", \"update:value\", \"valueChange\"]);\nfunction changed(value: string, item: typeof props.items[number]) { emit(\"valueChange\", value, item); }\n</script>\n<template><ActionSwapButton v-bind=\"props\" animation=\"cascade\" @update:model-value=\"emit('update:modelValue', $event)\" @update:value=\"emit('update:value', $event)\" @value-change=\"changed\">\n <template v-if=\"$slots.default\" #default=\"slotProps\"><slot v-bind=\"slotProps\" /></template>\n <template v-if=\"$slots.icon\" #icon=\"slotProps\"><slot name=\"icon\" v-bind=\"slotProps\" /></template>\n</ActionSwapButton></template>\n"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"path": "registry/orvui/motion/action-swap/src/ActionSwapCascadeIcon.vue",
|
|
148
|
+
"target": "~/src/components/orvui/motion/action-swap/src/ActionSwapCascadeIcon.vue",
|
|
149
|
+
"type": "registry:component",
|
|
150
|
+
"content": "<script setup lang=\"ts\">\nimport ActionSwapIcon from \"./ActionSwapIcon.vue\";\nconst props = defineProps<{ value: string | number }>();\ndefineSlots<{ default?: () => any }>();\n</script>\n<template><ActionSwapIcon :value=\"props.value\" animation=\"cascade\"><slot /></ActionSwapIcon></template>\n"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"path": "registry/orvui/motion/action-swap/src/ActionSwapCascadeText.vue",
|
|
154
|
+
"target": "~/src/components/orvui/motion/action-swap/src/ActionSwapCascadeText.vue",
|
|
155
|
+
"type": "registry:component",
|
|
156
|
+
"content": "<script setup lang=\"ts\">\nimport ActionSwapText from \"./ActionSwapText.vue\";\nconst props = defineProps<{ value: string | number }>();\ndefineSlots<{ default?: () => any }>();\n</script>\n<template><ActionSwapText :value=\"props.value\" animation=\"cascade\"><slot /></ActionSwapText></template>\n"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"path": "registry/orvui/motion/action-swap/src/ActionSwapIcon.vue",
|
|
160
|
+
"target": "~/src/components/orvui/motion/action-swap/src/ActionSwapIcon.vue",
|
|
161
|
+
"type": "registry:component",
|
|
162
|
+
"content": "<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { AnimatePresence, motion } from \"motion-v\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nimport { swapPose } from \"./poses\";\nconst props = withDefaults(defineProps<{ value: string | number; animation?: \"cascade\" | \"blur\" | \"roll\" }>(), { animation: \"blur\" });\nconst reduced = useReducedMotion();\nconst pose = computed(() => swapPose(props.animation, \"icon\", reduced.value));\n</script>\n<template><span class=\"relative inline-grid shrink-0 place-items-center overflow-hidden\"><AnimatePresence mode=\"popLayout\" :initial=\"false\">\n <motion.span :key=\"`${animation}-${value}`\" aria-hidden=\"true\" v-bind=\"pose\" class=\"col-start-1 row-start-1 inline-flex items-center justify-center will-change-[opacity,filter,transform]\"><slot /></motion.span>\n</AnimatePresence></span></template>\n"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"path": "registry/orvui/motion/action-swap/src/ActionSwapRollButton.vue",
|
|
166
|
+
"target": "~/src/components/orvui/motion/action-swap/src/ActionSwapRollButton.vue",
|
|
167
|
+
"type": "registry:component",
|
|
168
|
+
"content": "<script setup lang=\"ts\">\nimport type { Component, VNodeChild } from \"vue\";\nimport ActionSwapButton from \"./ActionSwapButton.vue\";\nconst props = withDefaults(defineProps<{\n items: { id: string; label: VNodeChild | Component; icon?: VNodeChild | Component; ariaLabel?: string }[];\n modelValue?: string; value?: string; defaultValue?: string; cycle?: boolean; disabled?: boolean;\n variant?: \"primary\" | \"secondary\" | \"outline\" | \"ghost\"; size?: \"sm\" | \"md\" | \"lg\" | \"icon\";\n}>(), { cycle: undefined });\nconst emit = defineEmits([\"update:modelValue\", \"update:value\", \"valueChange\"]);\nfunction changed(value: string, item: typeof props.items[number]) { emit(\"valueChange\", value, item); }\n</script>\n<template><ActionSwapButton v-bind=\"props\" animation=\"roll\" @update:model-value=\"emit('update:modelValue', $event)\" @update:value=\"emit('update:value', $event)\" @value-change=\"changed\">\n <template v-if=\"$slots.default\" #default=\"slotProps\"><slot v-bind=\"slotProps\" /></template>\n <template v-if=\"$slots.icon\" #icon=\"slotProps\"><slot name=\"icon\" v-bind=\"slotProps\" /></template>\n</ActionSwapButton></template>\n"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"path": "registry/orvui/motion/action-swap/src/ActionSwapRollIcon.vue",
|
|
172
|
+
"target": "~/src/components/orvui/motion/action-swap/src/ActionSwapRollIcon.vue",
|
|
173
|
+
"type": "registry:component",
|
|
174
|
+
"content": "<script setup lang=\"ts\">\nimport ActionSwapIcon from \"./ActionSwapIcon.vue\";\nconst props = defineProps<{ value: string | number }>();\ndefineSlots<{ default?: () => any }>();\n</script>\n<template><ActionSwapIcon :value=\"props.value\" animation=\"roll\"><slot /></ActionSwapIcon></template>\n"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"path": "registry/orvui/motion/action-swap/src/ActionSwapRollText.vue",
|
|
178
|
+
"target": "~/src/components/orvui/motion/action-swap/src/ActionSwapRollText.vue",
|
|
179
|
+
"type": "registry:component",
|
|
180
|
+
"content": "<script setup lang=\"ts\">\nimport ActionSwapText from \"./ActionSwapText.vue\";\nconst props = defineProps<{ value: string | number }>();\ndefineSlots<{ default?: () => any }>();\n</script>\n<template><ActionSwapText :value=\"props.value\" animation=\"roll\"><slot /></ActionSwapText></template>\n"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"path": "registry/orvui/motion/action-swap/src/ActionSwapText.vue",
|
|
184
|
+
"target": "~/src/components/orvui/motion/action-swap/src/ActionSwapText.vue",
|
|
185
|
+
"type": "registry:component",
|
|
186
|
+
"content": "<script setup lang=\"ts\">\nimport { Comment, computed, Fragment, isVNode, Text, useSlots, type VNode } from \"vue\";\nimport { AnimatePresence, motion } from \"motion-v\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nimport { cascadePoses, swapPose } from \"./poses\";\nconst props = withDefaults(defineProps<{ value: string | number; animation?: \"cascade\" | \"blur\" | \"roll\" }>(), { animation: \"blur\" });\nconst slots = useSlots(), reduced = useReducedMotion();\nfunction textContent(nodes: VNode[]): string | null {\n let result = \"\";\n for (const node of nodes) {\n if (node.type === Comment) continue;\n if (node.type === Text && typeof node.children === \"string\") result += node.children;\n else if (node.type === Fragment && Array.isArray(node.children)) {\n if (!node.children.every(isVNode)) return null;\n const nested = textContent(node.children as VNode[]);\n if (nested === null) return null;\n result += nested;\n } else return null;\n }\n return result;\n}\nconst label = computed(() => { void props.value; return textContent(slots.default?.() ?? []); });\nconst cascade = computed(() => props.animation === \"cascade\" && label.value !== null && !reduced.value);\nconst pose = computed(() => swapPose(props.animation, \"text\", reduced.value));\n</script>\n<template>\n <span class=\"relative -my-[0.08em] inline-block max-w-full whitespace-nowrap py-[0.08em] align-bottom\" style=\"clip-path: inset(0 -999px); -webkit-clip-path: inset(0 -999px)\">\n <span aria-hidden=\"true\" class=\"invisible inline-block whitespace-nowrap\"><template v-if=\"cascade\"><span v-for=\"(character, index) in label?.split('')\" :key=\"index\" class=\"inline-block whitespace-pre\">{{ character }}</span></template><slot v-else /></span>\n <template v-if=\"cascade\"><span class=\"sr-only\">{{ label }}</span><AnimatePresence :initial=\"false\">\n <motion.span :key=\"`cascade-${value}`\" aria-hidden=\"true\" initial=\"initial\" animate=\"animate\" exit=\"exit\" class=\"absolute left-0 top-[0.08em] inline-block whitespace-pre\">\n <motion.span v-for=\"(character, index) in label?.split('')\" :key=\"index\" :custom=\"index * 0.025\" :variants=\"cascadePoses\" initial=\"initial\" animate=\"animate\" exit=\"exit\" class=\"inline-block whitespace-pre will-change-[opacity,filter,transform]\">{{ character }}</motion.span>\n </motion.span>\n </AnimatePresence></template>\n <AnimatePresence v-else :initial=\"false\"><motion.span :key=\"`${animation}-${value}`\" v-bind=\"pose\" class=\"absolute left-0 top-[0.08em] inline-block max-w-full truncate will-change-[opacity,filter,transform]\"><slot /></motion.span></AnimatePresence>\n </span>\n</template>\n"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"path": "registry/orvui/motion/action-swap/src/api-types.ts",
|
|
190
|
+
"target": "~/src/components/orvui/motion/action-swap/src/api-types.ts",
|
|
191
|
+
"type": "registry:lib",
|
|
192
|
+
"content": "// Vue public prop types, derived from the actual components.\nexport type ActionSwapBlurButtonProps = InstanceType<\n (typeof import(\"./ActionSwapBlurButton.vue\"))[\"default\"]\n>[\"$props\"];\nexport type ActionSwapBlurIconProps = InstanceType<\n (typeof import(\"./ActionSwapBlurIcon.vue\"))[\"default\"]\n>[\"$props\"];\nexport type ActionSwapBlurTextProps = InstanceType<\n (typeof import(\"./ActionSwapBlurText.vue\"))[\"default\"]\n>[\"$props\"];\nexport type ActionSwapButtonProps = InstanceType<\n (typeof import(\"./ActionSwapButton.vue\"))[\"default\"]\n>[\"$props\"];\nexport type ActionSwapCascadeButtonProps = InstanceType<\n (typeof import(\"./ActionSwapCascadeButton.vue\"))[\"default\"]\n>[\"$props\"];\nexport type ActionSwapCascadeIconProps = InstanceType<\n (typeof import(\"./ActionSwapCascadeIcon.vue\"))[\"default\"]\n>[\"$props\"];\nexport type ActionSwapCascadeTextProps = InstanceType<\n (typeof import(\"./ActionSwapCascadeText.vue\"))[\"default\"]\n>[\"$props\"];\nexport type ActionSwapIconProps = InstanceType<\n (typeof import(\"./ActionSwapIcon.vue\"))[\"default\"]\n>[\"$props\"];\nexport type ActionSwapRollButtonProps = InstanceType<\n (typeof import(\"./ActionSwapRollButton.vue\"))[\"default\"]\n>[\"$props\"];\nexport type ActionSwapRollIconProps = InstanceType<\n (typeof import(\"./ActionSwapRollIcon.vue\"))[\"default\"]\n>[\"$props\"];\nexport type ActionSwapRollTextProps = InstanceType<\n (typeof import(\"./ActionSwapRollText.vue\"))[\"default\"]\n>[\"$props\"];\nexport type ActionSwapTextProps = InstanceType<\n (typeof import(\"./ActionSwapText.vue\"))[\"default\"]\n>[\"$props\"];\n"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"path": "registry/orvui/motion/action-swap/src/poses.ts",
|
|
196
|
+
"target": "~/src/components/orvui/motion/action-swap/src/poses.ts",
|
|
197
|
+
"type": "registry:lib",
|
|
198
|
+
"content": "import { EASE_OUT, SPRING_SWAP } from \"../../../lib/ease\";\nexport function swapPose(animation: \"cascade\" | \"blur\" | \"roll\", kind: \"icon\" | \"text\", quiet: boolean) {\n const rolling = animation !== \"blur\";\n const initial = rolling ? { opacity: 0, y: kind === \"icon\" ? 12 : \"90%\", filter: \"blur(6px)\" }\n : { opacity: 0, scale: kind === \"icon\" ? 0.25 : 0.96, filter: \"blur(6px)\" };\n const exit = rolling ? { opacity: 0, y: kind === \"icon\" ? -12 : \"-90%\", filter: \"blur(6px)\", transition: { duration: 0.14, ease: EASE_OUT } }\n : { opacity: 0, scale: kind === \"icon\" ? 0.25 : 0.96, filter: \"blur(6px)\", transition: { duration: 0.12, ease: EASE_OUT } };\n return { initial: quiet ? false as const : initial, animate: { opacity: 1, y: 0, scale: 1, filter: \"blur(0px)\" }, exit: quiet ? undefined : exit, transition: rolling ? SPRING_SWAP : { duration: 0.18, ease: EASE_OUT } };\n}\nexport const cascadePoses = {\n initial: { opacity: 0, y: \"105%\", filter: \"blur(6px)\" },\n animate: (offset: unknown = 0) => ({ opacity: 1, y: \"0%\", filter: \"blur(0px)\", transition: { ...SPRING_SWAP, delay: Number(offset) } }),\n exit: (offset: unknown = 0) => ({ opacity: 0, y: \"-105%\", filter: \"blur(6px)\", transition: { duration: 0.16, ease: EASE_OUT, delay: Number(offset) / 2 } }),\n};\n"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"path": "registry/orvui/motion/action-swap/src/public-types.ts",
|
|
202
|
+
"target": "~/src/components/orvui/motion/action-swap/src/public-types.ts",
|
|
203
|
+
"type": "registry:lib",
|
|
204
|
+
"content": "import type { ActionSwapButtonProps } from \"./api-types\";\nexport type ActionSwapAnimation = NonNullable<\n ActionSwapButtonProps[\"animation\"]\n>;\nexport type ActionSwapButtonSize = NonNullable<ActionSwapButtonProps[\"size\"]>;\nexport type ActionSwapButtonVariant = NonNullable<\n ActionSwapButtonProps[\"variant\"]\n>;\nexport type ActionSwapItem = ActionSwapButtonProps[\"items\"][number];\n"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"path": "registry/orvui/motion/button/index.ts",
|
|
208
|
+
"target": "~/src/components/orvui/motion/button/index.ts",
|
|
209
|
+
"type": "registry:lib",
|
|
210
|
+
"content": "export { default as Button } from \"./src/Button.vue\";\nexport { default as ButtonLink } from \"./src/ButtonLink.vue\";\nexport { default as MagneticButton } from \"./src/MagneticButton.vue\";\nexport { default as MetallicButton } from \"./src/MetallicButton.vue\";\nexport { default as StatefulButton } from \"./src/StatefulButton.vue\";\n\nexport type * from \"./src/api-types\";\n\nexport type { ButtonState } from \"./src/StatefulButton.vue\";\n\nexport type * from \"./src/public-types\";\n"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"path": "registry/orvui/motion/button/src/api-types.ts",
|
|
214
|
+
"target": "~/src/components/orvui/motion/button/src/api-types.ts",
|
|
215
|
+
"type": "registry:lib",
|
|
216
|
+
"content": "// Vue public prop types, derived from the actual components.\nexport type ButtonLinkProps = InstanceType<\n (typeof import(\"./ButtonLink.vue\"))[\"default\"]\n>[\"$props\"];\nexport type ButtonProps = InstanceType<\n (typeof import(\"./Button.vue\"))[\"default\"]\n>[\"$props\"];\nexport type MagneticButtonProps = InstanceType<\n (typeof import(\"./MagneticButton.vue\"))[\"default\"]\n>[\"$props\"];\nexport type MetallicButtonProps = InstanceType<\n (typeof import(\"./MetallicButton.vue\"))[\"default\"]\n>[\"$props\"];\nexport type StatefulButtonProps = InstanceType<\n (typeof import(\"./StatefulButton.vue\"))[\"default\"]\n>[\"$props\"];\n"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"path": "registry/orvui/motion/button/src/Button.vue",
|
|
220
|
+
"target": "~/src/components/orvui/motion/button/src/Button.vue",
|
|
221
|
+
"type": "registry:component",
|
|
222
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, ref } from \"vue\";\nimport { motion } from \"motion-v\";\nimport { cn } from \"../../../lib/utils\";\nimport { EASE_OUT, SPRING_PRESS } from \"../../../lib/ease\";\nimport { useReducedMotion } from \"../../../lib/composables\";\n\nexport interface ButtonProps {\n variant?: \"primary\" | \"secondary\" | \"ghost\" | \"outline\";\n size?: \"sm\" | \"md\" | \"lg\" | \"icon\";\n pressScale?: number;\n ripple?: boolean;\n disabled?: boolean;\n type?: \"button\" | \"submit\" | \"reset\";\n}\nconst props = withDefaults(defineProps<ButtonProps>(), { variant: \"primary\", size: \"md\", pressScale: 0.93, type: \"button\" });\nconst reduced = useReducedMotion();\nconst waves = ref<{ key: number; left: number; top: number; diameter: number }[]>([]);\nlet sequence = 0;\nconst appearance = computed(() => ({\n primary: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n secondary: \"border border-border bg-card text-foreground\",\n ghost: \"text-muted-foreground hover:text-foreground hover:bg-muted/60\",\n outline: \"border border-border bg-transparent text-foreground hover:bg-muted/60\",\n})[props.variant]);\nconst geometry = computed(() => ({\n sm: \"h-8 px-3 text-xs gap-1.5 rounded-full\", md: \"h-10 px-5 text-sm gap-2 rounded-full\",\n lg: \"h-12 px-6 text-base gap-2 rounded-full\", icon: \"h-8 w-8 rounded-lg\",\n})[props.size]);\nfunction startWave(event: PointerEvent) {\n if (!props.ripple || props.disabled || reduced.value) return;\n const bounds = (event.currentTarget as HTMLElement).getBoundingClientRect();\n waves.value = [...waves.value, {\n key: sequence++, left: event.clientX - bounds.left, top: event.clientY - bounds.top,\n diameter: 2 * Math.max(bounds.width, bounds.height),\n }];\n}\nfunction finishWave(key: number) { waves.value = waves.value.filter(wave => wave.key !== key); }\nonBeforeUnmount(() => { waves.value = []; });\n</script>\n\n<template>\n <motion.button :type=\"type\" :disabled=\"disabled\" :transition=\"SPRING_PRESS\" @pointerdown=\"startWave\"\n :while-press=\"reduced || disabled ? undefined : { scale: pressScale }\"\n :while-hover=\"reduced || disabled ? undefined : { scale: 1.02 }\"\n :class=\"cn('relative inline-flex items-center justify-center font-medium select-none transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50', ripple && 'overflow-hidden', appearance, geometry, $attrs.class)\">\n <span v-if=\"ripple\" class=\"pointer-events-none absolute inset-0 overflow-hidden rounded-[inherit]\">\n <motion.span v-for=\"wave in waves\" :key=\"wave.key\" class=\"absolute rounded-full bg-current\"\n :style=\"{ left: `${wave.left}px`, top: `${wave.top}px`, width: `${wave.diameter}px`, height: `${wave.diameter}px`, x: '-50%', y: '-50%' }\"\n :initial=\"{ scale: 0.05, opacity: 0.3 }\" :animate=\"{ scale: 1, opacity: 0 }\"\n :transition=\"{ duration: 1.6, ease: EASE_OUT }\" @animation-complete=\"finishWave(wave.key)\" />\n </span>\n <slot />\n </motion.button>\n</template>\n"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"path": "registry/orvui/motion/button/src/ButtonLink.vue",
|
|
226
|
+
"target": "~/src/components/orvui/motion/button/src/ButtonLink.vue",
|
|
227
|
+
"type": "registry:component",
|
|
228
|
+
"content": "<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { motion } from \"motion-v\";\nimport { cn } from \"../../../lib/utils\";\nimport { SPRING_PRESS } from \"../../../lib/ease\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nconst props = withDefaults(defineProps<{ href?: string; variant?: \"primary\" | \"secondary\" | \"ghost\" | \"outline\"; size?: \"sm\" | \"md\" | \"lg\" | \"icon\"; pressScale?: number }>(), { variant: \"primary\", size: \"md\", pressScale: 0.93 });\nconst reduced = useReducedMotion();\nconst color = computed(() => ({ primary: \"bg-primary text-primary-foreground hover:bg-primary/90\", secondary: \"border border-border bg-card text-foreground hover:border-border\", ghost: \"text-muted-foreground hover:text-foreground hover:bg-muted/60\", outline: \"border border-border bg-transparent text-foreground hover:bg-muted/60\" })[props.variant]);\nconst geometry = computed(() => ({ sm: \"h-8 px-3 text-xs gap-1.5 rounded-full\", md: \"h-10 px-5 text-sm gap-2 rounded-full\", lg: \"h-12 px-6 text-base gap-2 rounded-full\", icon: \"h-8 w-8 rounded-lg\" })[props.size]);\n</script>\n<template>\n <motion.a :href=\"href\" :while-press=\"reduced ? undefined : { scale: pressScale }\" :while-hover=\"reduced ? undefined : { scale: 1.02 }\"\n :transition=\"SPRING_PRESS\" :class=\"cn('inline-flex items-center justify-center font-medium select-none transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2', color, geometry, $attrs.class)\"><slot /></motion.a>\n</template>\n"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"path": "registry/orvui/motion/button/src/Magnetic.vue",
|
|
232
|
+
"target": "~/src/components/orvui/motion/button/src/Magnetic.vue",
|
|
233
|
+
"type": "registry:component",
|
|
234
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, ref, watch } from \"vue\";\nimport { motion, useMotionValue, useSpring } from \"motion-v\";\nimport { SPRING_MOUSE } from \"../../../lib/ease\";\nimport { resolveElement, useMediaQuery, useReducedMotion } from \"../../../lib/composables\";\nconst props = withDefaults(defineProps<{ strength?: number }>(), { strength: 0.35 });\nconst element = ref<HTMLElement | null>(null), reduced = useReducedMotion();\nconst hover = useMediaQuery(\"(hover: hover) and (pointer: fine)\");\nconst enabled = computed(() => hover.value && !reduced.value);\nconst x = useMotionValue(0), y = useMotionValue(0);\nconst springX = useSpring(x, SPRING_MOUSE), springY = useSpring(y, SPRING_MOUSE);\nfunction reset() { x.set(0); y.set(0); }\nfunction track(event: MouseEvent) {\n if (!enabled.value || !element.value) return;\n const bounds = element.value.getBoundingClientRect();\n x.set(props.strength * (event.clientX - bounds.left - bounds.width / 2));\n y.set(props.strength * (event.clientY - bounds.top - bounds.height / 2));\n}\nwatch(enabled, active => { if (!active) { reset(); springX.jump(0); springY.jump(0); } });\nonBeforeUnmount(() => { x.destroy(); y.destroy(); });\ndefineExpose({ x, y });\n</script>\n<template><motion.div :ref=\"node => element = resolveElement<HTMLElement>(node)\" @mousemove=\"track\" @mouseleave=\"reset\"\n :style=\"{ x: springX, y: springY }\" class=\"inline-block\"><slot /></motion.div></template>\n"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"path": "registry/orvui/motion/button/src/MagneticButton.vue",
|
|
238
|
+
"target": "~/src/components/orvui/motion/button/src/MagneticButton.vue",
|
|
239
|
+
"type": "registry:component",
|
|
240
|
+
"content": "<script setup lang=\"ts\">\ndefineOptions({ inheritAttrs: false });\nimport { ref } from \"vue\";\nimport { resolveElement } from \"../../../lib/composables\";\nimport Button from \"./Button.vue\";\nimport Magnetic from \"./Magnetic.vue\";\nwithDefaults(defineProps<{ strength?: number; disabled?: boolean; magneticClassName?: string }>(), { strength: 0.25 });\nconst button = ref<unknown>();\nfunction focus() { resolveElement<HTMLButtonElement>(button.value)?.focus(); }\ndefineExpose({ focus });\n</script>\n<template><Magnetic :strength=\"strength\" :class=\"magneticClassName\"><Button ref=\"button\" v-bind=\"$attrs\" :disabled=\"disabled\"><slot /></Button></Magnetic></template>\n"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"path": "registry/orvui/motion/button/src/MetallicButton.vue",
|
|
244
|
+
"target": "~/src/components/orvui/motion/button/src/MetallicButton.vue",
|
|
245
|
+
"type": "registry:component",
|
|
246
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\nimport { motion } from \"motion-v\";\nimport { cn } from \"../../../lib/utils\";\nimport { EASE_IN_OUT } from \"../../../lib/ease\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nimport Button from \"./Button.vue\";\nconst props = withDefaults(defineProps<{ size?: \"sm\" | \"md\" | \"lg\" | \"icon\"; paused?: boolean; disabled?: boolean }>(), { size: \"md\", paused: false });\nconst reduced = useReducedMotion(), hovered = ref(false);\nconst animated = computed(() => !props.paused && !reduced.value);\n</script>\n<template>\n <Button variant=\"ghost\" :size=\"size\" :disabled=\"disabled\" @hover-start=\"hovered = true\" @hover-end=\"hovered = false\"\n :class=\"cn('group relative isolate overflow-hidden border-0 bg-transparent text-foreground hover:bg-transparent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 shadow-[0_8px_22px_rgba(0,0,0,0.16)]', size === 'icon' && 'rounded-full', $attrs.class)\">\n <motion.span aria-hidden=\"true\" class=\"pointer-events-none absolute inset-y-0 left-[-18%] z-0 w-[136%] rounded-[inherit] bg-[linear-gradient(105deg,#111_0%,#737373_14%,#fafafa_26%,#525252_38%,#0a0a0a_50%,#a3a3a3_64%,#fff_75%,#404040_87%,#111_100%)]\"\n :animate=\"animated ? { x: ['0%', '13%', '0%'] } : undefined\" :transition=\"animated ? { duration: 8, ease: EASE_IN_OUT, repeat: Infinity } : undefined\" />\n <motion.span aria-hidden=\"true\" class=\"pointer-events-none absolute inset-y-0 left-[-58%] z-[1] w-[52%] -skew-x-12 bg-[linear-gradient(90deg,transparent,rgba(255,255,255,0.5)_48%,transparent)] opacity-50 blur-[3px] mix-blend-screen\"\n :animate=\"animated ? { x: hovered ? '310%' : '0%' } : undefined\" :transition=\"animated ? { duration: 2.4, ease: EASE_IN_OUT } : undefined\" />\n <span aria-hidden=\"true\" class=\"pointer-events-none absolute inset-[2px] z-[2] rounded-[inherit] bg-background transition-colors group-hover:bg-muted/40\" />\n <span aria-hidden=\"true\" class=\"pointer-events-none absolute inset-[2px] z-[3] rounded-[inherit] shadow-[inset_0_1px_0_rgba(255,255,255,0.28),inset_0_-1px_0_rgba(0,0,0,0.16)]\" />\n <span class=\"relative z-10 inline-flex items-center justify-center gap-2\"><slot /></span>\n </Button>\n</template>\n"
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"path": "registry/orvui/motion/button/src/public-types.ts",
|
|
250
|
+
"target": "~/src/components/orvui/motion/button/src/public-types.ts",
|
|
251
|
+
"type": "registry:lib",
|
|
252
|
+
"content": "import type { ButtonProps } from \"./api-types\";\nexport type ButtonSize = NonNullable<ButtonProps[\"size\"]>;\nexport type ButtonVariant = NonNullable<ButtonProps[\"variant\"]>;\n"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"path": "registry/orvui/motion/button/src/StatefulButton.vue",
|
|
256
|
+
"target": "~/src/components/orvui/motion/button/src/StatefulButton.vue",
|
|
257
|
+
"type": "registry:component",
|
|
258
|
+
"content": "<script setup lang=\"ts\">\ndefineOptions({ inheritAttrs: false });\nimport { computed, useSlots, type Component, type VNodeChild } from \"vue\";\nimport { AnimatePresence, motion } from \"motion-v\";\nimport { Check, Loader2, X } from \"lucide-vue-next\";\nimport { EASE_OUT, SPRING_SWAP } from \"../../../lib/ease\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nimport RenderContent from \"../../../lib/RenderContent\";\nimport Button, { type ButtonProps } from \"./Button.vue\";\nimport StatefulText from \"./StatefulText.vue\";\nexport type ButtonState = \"idle\" | \"loading\" | \"success\" | \"error\";\ninterface Props extends ButtonProps {\n state?: ButtonState; loadingText?: VNodeChild | Component; successText?: VNodeChild | Component;\n errorText?: VNodeChild | Component; icon?: VNodeChild | Component;\n}\nconst props = withDefaults(defineProps<Props>(), { state: \"idle\", loadingText: \"Loading\", successText: \"Done\", errorText: \"Try again\" });\nconst slots = useSlots(), reduced = useReducedMotion();\nconst statusIcon = computed(() => ({ loading: Loader2, success: Check, error: X })[props.state === \"idle\" ? \"loading\" : props.state]);\nfunction content(): VNodeChild | Component {\n if (props.state === \"idle\") return slots.default?.();\n const overrides = { loading: props.loadingText, success: props.successText, error: props.errorText };\n return slots[props.state]?.() ?? overrides[props.state];\n}\nconst iconPoses = {\n initial: { opacity: 0, width: 0, scale: 0.7, filter: \"blur(6px)\" },\n animate: { opacity: 1, width: \"1.5rem\", scale: 1, filter: \"blur(0px)\", transition: SPRING_SWAP },\n exit: { opacity: 0, width: 0, scale: 0.7, filter: \"blur(6px)\", transition: { duration: 0.16, ease: EASE_OUT } },\n};\n</script>\n<template>\n <Button v-bind=\"$attrs\" :variant=\"variant\" :size=\"size\" :press-scale=\"pressScale\" :ripple=\"ripple\" :type=\"type\"\n :disabled=\"disabled || state === 'loading'\" :aria-busy=\"state === 'loading'\" :while-hover=\"undefined\">\n <span aria-live=\"polite\" class=\"relative inline-flex items-center justify-center overflow-hidden\">\n <AnimatePresence :initial=\"false\" as=\"span\" class=\"contents\">\n <motion.span v-if=\"state !== 'idle'\" :key=\"`${state}-icon`\" :variants=\"iconPoses\"\n :initial=\"reduced ? { opacity: 0 } : 'initial'\" :animate=\"reduced ? { opacity: 1 } : 'animate'\" :exit=\"reduced ? { opacity: 0 } : 'exit'\"\n :transition=\"reduced ? { duration: 0.15 } : undefined\" class=\"inline-grid shrink-0 place-items-center overflow-hidden\">\n <component :is=\"statusIcon\" :class=\"['h-4 w-4', state === 'loading' && !reduced && 'animate-spin']\" />\n </motion.span>\n </AnimatePresence>\n <StatefulText :value=\"state\" :nodes=\"content()\" />\n <AnimatePresence :initial=\"false\" as=\"span\" class=\"contents\">\n <motion.span v-if=\"state === 'idle' && (icon || slots.icon)\" key=\"idle-icon\" :variants=\"iconPoses\"\n :initial=\"reduced ? { opacity: 0 } : 'initial'\" :animate=\"reduced ? { opacity: 1 } : 'animate'\" :exit=\"reduced ? { opacity: 0 } : 'exit'\"\n :transition=\"reduced ? { duration: 0.15 } : undefined\" class=\"inline-grid shrink-0 place-items-center overflow-hidden\"><slot name=\"icon\"><RenderContent :node=\"icon\" /></slot></motion.span>\n </AnimatePresence>\n </span>\n </Button>\n</template>\n"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"path": "registry/orvui/motion/button/src/StatefulText.vue",
|
|
262
|
+
"target": "~/src/components/orvui/motion/button/src/StatefulText.vue",
|
|
263
|
+
"type": "registry:component",
|
|
264
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, isVNode, onBeforeUnmount, onMounted, onUpdated, ref, Text, type Component, type VNodeChild } from \"vue\";\nimport { AnimatePresence, motion } from \"motion-v\";\nimport { EASE_OUT, SPRING_SWAP } from \"../../../lib/ease\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nimport RenderContent from \"../../../lib/RenderContent\";\nconst props = defineProps<{ value: string; nodes: VNodeChild | Component }>();\nconst reduced = useReducedMotion(), measureElement = ref<HTMLSpanElement>(), width = ref<number>();\nfunction plainText(node: VNodeChild | Component): string | null {\n if (typeof node === \"string\") return node;\n if (Array.isArray(node)) return node.length === 1 ? plainText(node[0]) : null;\n return isVNode(node) && node.type === Text && typeof node.children === \"string\" ? node.children : null;\n}\nconst label = computed(() => plainText(props.nodes));\nconst cascade = computed(() => label.value !== null && !reduced.value);\nconst identity = computed(() => label.value === null ? props.value : `${props.value}-${label.value}`);\nfunction delay(custom: unknown) { return typeof custom === \"number\" ? custom : 0; }\nconst poses = {\n initial: { opacity: 0, y: \"105%\", filter: \"blur(6px)\" },\n animate: (custom: unknown) => ({ opacity: 1, y: \"0%\", filter: \"blur(0px)\", transition: { ...SPRING_SWAP, delay: delay(custom) } }),\n exit: (custom: unknown) => ({ opacity: 0, y: \"-105%\", filter: \"blur(6px)\", transition: { duration: 0.16, ease: EASE_OUT, delay: delay(custom) / 2 } }),\n};\nfunction measure() { const measured = measureElement.value?.offsetWidth; if (measured && measured !== width.value) width.value = measured; }\nlet observer: ResizeObserver | undefined;\nonMounted(() => { measure(); if (measureElement.value && typeof ResizeObserver !== \"undefined\") { observer = new ResizeObserver(measure); observer.observe(measureElement.value); } });\nonUpdated(measure);\nonBeforeUnmount(() => observer?.disconnect());\n</script>\n<template>\n <motion.span :initial=\"false\" :animate=\"{ width: width === undefined ? undefined : `${width}px` }\" :transition=\"reduced ? { duration: 0 } : SPRING_SWAP\" class=\"relative inline-block overflow-hidden whitespace-nowrap align-bottom\">\n <span ref=\"measureElement\" aria-hidden=\"true\" class=\"invisible inline-block whitespace-nowrap\">\n <template v-if=\"cascade\"><span v-for=\"(character, index) in label!.split('')\" :key=\"index\" class=\"inline-block whitespace-pre\">{{ character }}</span></template>\n <RenderContent v-else :node=\"nodes\" />\n </span>\n <template v-if=\"cascade\">\n <span class=\"sr-only\">{{ label }}</span>\n <AnimatePresence :initial=\"false\" as=\"span\" class=\"contents\">\n <motion.span :key=\"`cascade-${identity}`\" aria-hidden=\"true\" initial=\"initial\" animate=\"animate\" exit=\"exit\" class=\"absolute left-0 top-0 inline-block whitespace-pre\">\n <motion.span v-for=\"(character, index) in label!.split('')\" :key=\"index\" :custom=\"index * 0.025\" :variants=\"poses\" initial=\"initial\" animate=\"animate\" exit=\"exit\" class=\"inline-block whitespace-pre will-change-[opacity,filter,transform]\">{{ character }}</motion.span>\n </motion.span>\n </AnimatePresence>\n </template>\n <AnimatePresence v-else :initial=\"false\" as=\"span\" class=\"contents\">\n <motion.span :key=\"`text-${identity}`\" :initial=\"reduced ? { opacity: 0 } : { opacity: 0, y: 14, filter: 'blur(6px)' }\"\n :animate=\"reduced ? { opacity: 1 } : { opacity: 1, y: 0, filter: 'blur(0px)' }\" :exit=\"reduced ? { opacity: 0 } : { opacity: 0, y: -14, filter: 'blur(6px)' }\"\n :transition=\"reduced ? { duration: 0.15 } : SPRING_SWAP\" class=\"absolute left-0 top-0 inline-block will-change-[opacity,filter,transform]\"><RenderContent :node=\"nodes\" /></motion.span>\n </AnimatePresence>\n </motion.span>\n</template>\n"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"path": "registry/orvui/motion/number/index.ts",
|
|
268
|
+
"target": "~/src/components/orvui/motion/number/index.ts",
|
|
269
|
+
"type": "registry:lib",
|
|
270
|
+
"content": "export { default as AnimatedNumber } from \"./src/AnimatedNumber.vue\";\nexport { default as DigitSwap } from \"./src/DigitSwap.vue\";\nexport { default as NumberTicker } from \"./src/NumberTicker.vue\";\nexport type {\n AnimatedNumberProps,\n NumberTickerProps,\n DigitSwapProps,\n DigitSwapDirection,\n} from \"./src/types\";\n"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"path": "registry/orvui/motion/number/src/AnimatedNumber.vue",
|
|
274
|
+
"target": "~/src/components/orvui/motion/number/src/AnimatedNumber.vue",
|
|
275
|
+
"type": "registry:component",
|
|
276
|
+
"content": "<script setup lang=\"ts\">\nimport { onBeforeUnmount, onMounted, ref, watch } from \"vue\";\nimport { animate } from \"motion-v\";\nimport { EASE_OUT } from \"../../../lib/ease\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nimport { useNumberViewGate } from \"./view-gate\";\nimport type { AnimatedNumberProps } from \"./types\";\nconst props = withDefaults(defineProps<AnimatedNumberProps>(), { duration: 1.2, startOnView: true });\nconst element = ref<HTMLElement | null>(null), display = ref(0), mounted = ref(false);\nconst ready = useNumberViewGate(element, () => props.startOnView);\nconst reduced = useReducedMotion();\nlet animation: ReturnType<typeof animate> | undefined;\nwatch([() => props.value, () => props.duration, ready, reduced, mounted], () => {\n animation?.stop();\n if (!mounted.value || !ready.value) return;\n if (reduced.value) { display.value = props.value; return; }\n animation = animate(display.value, props.value, { duration: props.duration, ease: EASE_OUT, onUpdate(value) { display.value = value; } });\n});\nonMounted(() => { mounted.value = true; });\nonBeforeUnmount(() => { mounted.value = false; animation?.stop(); });\n</script>\n<template><span ref=\"element\" :class=\"['tabular-nums', className]\">{{ format ? format(display) : Math.round(display).toLocaleString() }}</span></template>\n"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"path": "registry/orvui/motion/number/src/DigitSwap.vue",
|
|
280
|
+
"target": "~/src/components/orvui/motion/number/src/DigitSwap.vue",
|
|
281
|
+
"type": "registry:component",
|
|
282
|
+
"content": "<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { AnimatePresence, motion } from \"motion-v\";\nimport { cn } from \"../../../lib/utils\";\nimport { EASE_OUT } from \"../../../lib/ease\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nimport type { DigitSwapProps } from \"./types\";\nconst props = withDefaults(defineProps<DigitSwapProps>(), { direction: \"up\", duration: 0.18, stagger: 0.006, suffixLength: 0 });\nconst reduced = useReducedMotion(), text = computed(() => String(props.value));\nconst glyphs = computed(() => Array.from(text.value, (character, position) => ({ character, position })));\nconst suffixStart = computed(() => Math.max(0, text.value.length - Math.max(0, props.suffixLength)));\nconst context = computed(() => ({ direction: props.direction, reduceMotion: reduced.value }));\nfunction hidden(data: unknown, departing: boolean) {\n const state = data as { direction: \"up\" | \"down\"; reduceMotion: boolean };\n const sign = state.direction === \"up\" ? 1 : -1;\n return { opacity: 0, transform: state.reduceMotion ? \"none\" : `translateY(${45 * sign * (departing ? -1 : 1)}%)` };\n}\nconst poses = { enter: (data: unknown) => hidden(data, false), visible: { opacity: 1, transform: \"translateY(0%)\" }, exit: (data: unknown) => hidden(data, true) };\nfunction key(character: string, position: number) { return `glyph-${position}-${character}${(props.animationKey ?? props.replayKey) === undefined ? \"\" : `-${props.animationKey ?? props.replayKey}`}`; }\n</script>\n<template>\n <span data-slot=\"digit-swap\" :data-direction=\"direction\" :class=\"['inline-flex items-baseline whitespace-nowrap', className]\">\n <span class=\"sr-only\">{{ text }}{{ suffix }}</span>\n <span aria-hidden=\"true\" class=\"inline-flex items-baseline\">\n <template v-for=\"glyph in glyphs\" :key=\"glyph.position\">\n <span v-if=\"glyph.character === ' '\" class=\"inline-block w-[0.7ch]\" />\n <span v-else data-slot=\"digit-swap-glyph\" class=\"relative inline-block h-[1.1em] shrink-0 leading-[1.1em] [clip-path:inset(0)]\" :class=\"/\\d/.test(glyph.character) ? 'w-[1ch] text-center' : undefined\">\n <span class=\"invisible\">{{ glyph.character }}</span>\n <AnimatePresence :initial=\"false\" :custom=\"context\">\n <motion.span :key=\"key(glyph.character, glyph.position)\" :custom=\"context\" :variants=\"poses\" initial=\"enter\" animate=\"visible\" exit=\"exit\"\n :transition=\"{ duration: reduced ? Math.min(duration, 0.12) : duration, delay: reduced ? 0 : glyph.position * stagger, ease: EASE_OUT }\"\n :class=\"cn('absolute inset-0 flex items-center justify-center leading-none', glyphClassName, glyph.position >= suffixStart ? suffixClassName : undefined)\">{{ glyph.character }}</motion.span>\n </AnimatePresence>\n </span>\n </template>\n <span v-if=\"suffix\">{{ suffix }}</span>\n </span>\n </span>\n</template>\n"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"path": "registry/orvui/motion/number/src/NumberTicker.vue",
|
|
286
|
+
"target": "~/src/components/orvui/motion/number/src/NumberTicker.vue",
|
|
287
|
+
"type": "registry:component",
|
|
288
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, ref, watch } from \"vue\";\nimport NumberTickerDigit from \"./NumberTickerDigit.vue\";\nimport { useNumberViewGate } from \"./view-gate\";\nimport type { NumberTickerProps } from \"./types\";\nconst props = withDefaults(defineProps<NumberTickerProps>(), { duration: 0.9, stagger: 0.04, startOnView: true, blur: false, locale: false });\nconst element = ref<HTMLElement | null>(null), entered = ref(false), mounted = ref(false);\nconst ready = useNumberViewGate(element, () => props.startOnView);\nconst text = computed(() => {\n const places = Math.max(0, Math.floor(props.decimals ?? props.decimalPlaces ?? 0));\n const rounded = Math.round(props.value * 10 ** places) / 10 ** places;\n const formatted = props.format ? props.format(rounded) : props.locale\n ? rounded.toLocaleString(undefined, { minimumFractionDigits: places, maximumFractionDigits: places })\n : rounded.toFixed(places);\n return props.pad ? formatted.padStart(props.pad, \"0\") : formatted;\n});\nconst glyphs = computed(() => Array.from(text.value, (character, index) => ({ character, id: `g-${text.value.length - index - 1}` })));\nlet timer: ReturnType<typeof setTimeout> | undefined;\nwatch([ready, mounted, () => props.duration, () => props.stagger, () => glyphs.value.length], () => {\n clearTimeout(timer);\n if (!mounted.value || !ready.value || entered.value) return;\n timer = setTimeout(() => { entered.value = true; }, 1000 * (props.duration + glyphs.value.length * props.stagger));\n});\nonMounted(() => { mounted.value = true; });\nonBeforeUnmount(() => { mounted.value = false; clearTimeout(timer); });\n</script>\n<template>\n <span ref=\"element\" :class=\"['inline-flex items-baseline tabular-nums', className]\">\n <span class=\"sr-only\">{{ (prefix ?? '') + text + (suffix ?? '') }}</span>\n <span aria-hidden=\"true\" class=\"inline-flex items-baseline\">\n <span v-if=\"prefix\">{{ prefix }}</span>\n <template v-for=\"(glyph, index) in glyphs\" :key=\"glyph.id\">\n <NumberTickerDigit v-if=\"/\\d/.test(glyph.character)\" :digit=\"ready ? Number(glyph.character) : 0\"\n :delay=\"entered ? 0 : index * stagger\" :duration=\"duration\" :blur=\"blur\" :class-name=\"digitClassName\" />\n <span v-else class=\"inline-block\">{{ glyph.character }}</span>\n </template>\n <span v-if=\"suffix\">{{ suffix }}</span>\n </span>\n </span>\n</template>\n"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"path": "registry/orvui/motion/number/src/NumberTickerDigit.vue",
|
|
292
|
+
"target": "~/src/components/orvui/motion/number/src/NumberTickerDigit.vue",
|
|
293
|
+
"type": "registry:component",
|
|
294
|
+
"content": "<script setup lang=\"ts\">\nimport { onBeforeUnmount, ref, watch } from \"vue\";\nimport { animate, motion } from \"motion-v\";\nimport { EASE_OUT } from \"../../../lib/ease\";\nimport { resolveElement, useReducedMotion } from \"../../../lib/composables\";\nconst props = defineProps<{ digit: number; delay: number; duration: number; blur: boolean; className?: string }>();\nconst column = ref<HTMLElement | null>(null), reduced = useReducedMotion();\nlet animation: ReturnType<typeof animate> | undefined;\nwatch([() => props.digit, () => props.delay, () => props.duration, () => props.blur, reduced, column], () => {\n animation?.stop();\n const target = column.value;\n if (!target) return;\n if (reduced.value || !props.blur || !Number.isFinite(props.digit)) { target.style.filter = \"blur(0px)\"; return; }\n animation = animate(target, { filter: [\"blur(10px)\", \"blur(0px)\"] }, { duration: Math.min(0.32, props.duration * 0.75), delay: props.delay, ease: EASE_OUT });\n}, { flush: \"post\" });\nonBeforeUnmount(() => { animation?.stop(); if (column.value) column.value.style.filter = \"blur(0px)\"; });\n</script>\n<template>\n <span :class=\"['relative inline-block text-center [clip-path:inset(0)]', className]\" :style=\"{ height: '1.1em', lineHeight: '1.1em', width: '1ch' }\">\n <span class=\"invisible\">{{ digit }}</span>\n <motion.span :ref=\"node => column = resolveElement<HTMLElement>(node)\" :initial=\"{ y: 0 }\" :animate=\"{ y: `-${digit * 1.1}em` }\"\n :transition=\"reduced ? { duration: 0 } : { duration, delay, ease: EASE_OUT }\" class=\"absolute inset-x-0 top-0 flex flex-col items-center will-change-[transform,filter]\">\n <span v-for=\"digitValue in 10\" :key=\"digitValue - 1\" class=\"flex h-[1.1em] items-center justify-center leading-none\">{{ digitValue - 1 }}</span>\n </motion.span>\n </span>\n</template>\n"
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"path": "registry/orvui/motion/number/src/types.ts",
|
|
298
|
+
"target": "~/src/components/orvui/motion/number/src/types.ts",
|
|
299
|
+
"type": "registry:lib",
|
|
300
|
+
"content": "export interface NumberTickerProps {\n value: number;\n pad?: number;\n decimals?: number;\n /** Compatibility alias for decimals. */\n decimalPlaces?: number;\n duration?: number;\n stagger?: number;\n startOnView?: boolean;\n prefix?: string;\n suffix?: string;\n blur?: boolean;\n className?: string;\n digitClassName?: string;\n locale?: boolean;\n format?: (value: number) => string;\n}\nexport type DigitSwapDirection = \"up\" | \"down\";\nexport interface DigitSwapProps {\n value: string | number;\n animationKey?: string | number;\n /** Compatibility alias for animationKey. */\n replayKey?: string | number;\n direction?: DigitSwapDirection;\n duration?: number;\n stagger?: number;\n suffixLength?: number;\n className?: string;\n glyphClassName?: string;\n suffixClassName?: string;\n suffix?: string;\n}\nexport interface AnimatedNumberProps {\n value: number;\n duration?: number;\n format?: (n: number) => string;\n className?: string;\n startOnView?: boolean;\n}\n"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"path": "registry/orvui/motion/number/src/view-gate.ts",
|
|
304
|
+
"target": "~/src/components/orvui/motion/number/src/view-gate.ts",
|
|
305
|
+
"type": "registry:lib",
|
|
306
|
+
"content": "import { onBeforeUnmount, onMounted, ref, watch, type Ref } from \"vue\";\n\n/** A one-shot viewport gate shared by the two number renderers. */\nexport function useNumberViewGate(element: Ref<HTMLElement | null>, startOnView: () => boolean) {\n const ready = ref(!startOnView());\n let mounted = false, observer: IntersectionObserver | undefined;\n function arm() {\n if (!mounted || ready.value) return;\n observer?.disconnect();\n if (!startOnView() || !element.value || typeof IntersectionObserver === \"undefined\") { ready.value = true; return; }\n observer = new IntersectionObserver(entries => {\n if (entries.some(entry => entry.isIntersecting)) { ready.value = true; observer?.disconnect(); }\n }, { threshold: 0.6 });\n observer.observe(element.value);\n }\n onMounted(() => { mounted = true; arm(); });\n watch(startOnView, arm);\n onBeforeUnmount(() => { mounted = false; observer?.disconnect(); });\n return ready;\n}\n"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"path": "registry/orvui/motion/state.ts",
|
|
310
|
+
"target": "~/src/components/orvui/motion/state.ts",
|
|
311
|
+
"type": "registry:lib",
|
|
312
|
+
"content": "import { computed, ref, type Ref, type WritableComputedRef } from \"vue\";\n\n/** A value may move between parent control and local ownership during its life. */\nexport function useMotionState<T>(\n props: Record<string, any>,\n emit: (...args: any[]) => void,\n key: string,\n fallback: T,\n): WritableComputedRef<T> {\n const memory = ref(fallback) as Ref<T>;\n return computed({\n get(): T {\n const supplied = props[key];\n return supplied === undefined ? memory.value : supplied;\n },\n set(requested: T) {\n memory.value = requested;\n emit(`update:${key}`, requested);\n if (key === \"modelValue\") emit(\"change\", requested);\n },\n });\n}\n\n/** Rove focus within the event surface, using its own document. */\nexport function focusList(event: KeyboardEvent, selector = \"button:not(:disabled)\") {\n const direction = new Map<string, number>([\n [\"ArrowDown\", 1], [\"ArrowRight\", 1], [\"ArrowUp\", -1], [\"ArrowLeft\", -1],\n ]).get(event.key);\n if (direction === undefined && event.key !== \"Home\" && event.key !== \"End\") return;\n const surface = event.currentTarget as HTMLElement | null;\n if (!surface) return;\n const candidates = [...surface.querySelectorAll<HTMLElement>(selector)];\n if (!candidates.length) return;\n const current = candidates.indexOf(surface.ownerDocument.activeElement as HTMLElement);\n const index = event.key === \"Home\" ? 0\n : event.key === \"End\" ? candidates.length - 1\n : current === -1 ? (direction === -1 ? candidates.length - 1 : 0)\n : (current + direction! + candidates.length) % candidates.length;\n event.preventDefault();\n candidates[index]?.focus();\n}\n"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"path": "registry/orvui/motion/tabs/index.ts",
|
|
316
|
+
"target": "~/src/components/orvui/motion/tabs/index.ts",
|
|
317
|
+
"type": "registry:lib",
|
|
318
|
+
"content": "export { default as Tabs } from \"./src/Tabs.vue\";\nexport { default as TabsList } from \"./src/TabsList.vue\";\nexport { default as TabsTrigger } from \"./src/TabsTrigger.vue\";\nexport { default as TabsContent } from \"./src/TabsContent.vue\";\n"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"path": "registry/orvui/motion/tabs/src/context.ts",
|
|
322
|
+
"target": "~/src/components/orvui/motion/tabs/src/context.ts",
|
|
323
|
+
"type": "registry:lib",
|
|
324
|
+
"content": "import { inject, type ComputedRef, type InjectionKey, type Ref, type ShallowRef } from \"vue\";\nimport type { MotionValue } from \"motion-v\";\nexport interface TabsState { value: Ref<string>; id: string; variant: ComputedRef<\"pill\" | \"underline\" | \"segment\">; icons: ComputedRef<\"always\" | \"selected\">; track: Record<\"x\" | \"y\" | \"width\" | \"height\", MotionValue<number>>; placed: Ref<boolean>; tabStop: ComputedRef<string | null>; tabs: ShallowRef<Map<string, boolean>>; panels: ShallowRef<Set<string>>; registerTab: (value: string, disabled: boolean) => void; unregisterTab: (value: string) => void; registerPanel: (value: string) => void; unregisterPanel: (value: string) => void; tabId: (value: string) => string; panelId: (value: string) => string }\nexport const TabsContext = Symbol(\"orvui-tabs\") as InjectionKey<TabsState>;\nexport const TABS_TRANSITION = { type: \"spring\" as const, stiffness: 245, damping: 36, mass: 1.2 };\nexport function useTabs() { const state = inject(TabsContext); if (!state) throw new Error(\"Tabs components must be used inside Tabs\"); return state; }\n"
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"path": "registry/orvui/motion/tabs/src/list-state.ts",
|
|
328
|
+
"target": "~/src/components/orvui/motion/tabs/src/list-state.ts",
|
|
329
|
+
"type": "registry:lib",
|
|
330
|
+
"content": "import { computed, nextTick, onBeforeUnmount, onMounted, onUpdated, ref, watch, type Ref } from \"vue\";\nimport { cancelFrame, frame } from \"motion-v\";\nimport type { TabsState } from \"./context\";\nconst clamp = (value: number, max: number) => Math.max(0, Math.min(max, value));\nexport function useTabsList(state: TabsState, reduced: Ref<boolean>, root: Ref<HTMLElement | null>, viewport: Ref<HTMLElement | null>, list: Ref<HTMLElement | null>) {\n const edges = ref({ overflow: false, left: false, right: false });\n const tracked = computed(() => state.icons.value === \"selected\" && state.variant.value !== \"underline\");\n let observer: ResizeObserver | undefined;\n let mounted = false;\n let ticks = 0;\n let still = 0;\n let previous: { left: number; right: number } | undefined;\n let bound: HTMLElement | null = null;\n function scrollPosition(view: HTMLElement) { const max = Math.max(0, view.scrollWidth - view.clientWidth); const offset = getComputedStyle(view).direction === \"rtl\" ? max + view.scrollLeft : view.scrollLeft; return { max, left: clamp(offset, max) }; }\n function measure() { if (!root.value || !viewport.value) return; const view = viewport.value; const { max, left } = scrollPosition(view); const next = { overflow: view.scrollWidth > root.value.clientWidth + 1, left: left > 1, right: left < max - 1 }; if (next.overflow !== edges.value.overflow || next.left !== edges.value.left || next.right !== edges.value.right) edges.value = next; }\n function reveal(tab: HTMLElement | null) { const view = viewport.value; if (!view || !tab) return; const bounds = view.getBoundingClientRect(); const item = tab.getBoundingClientRect(); const position = scrollPosition(view); const left = bounds.left + (position.left > 1 ? 36 : 0); const right = bounds.right - (position.left < position.max - 1 ? 36 : 0); const delta = item.left < left ? item.left - left : item.right > right ? item.right - right : 0; if (delta) view.scrollBy({ left: delta, behavior: reduced.value ? \"instant\" : \"smooth\" }); }\n function withSelectedIconLayout(measure: () => void) {\n const icons = state.icons.value === \"selected\" ? Array.from(list.value?.querySelectorAll<HTMLElement>(\"[role=tab] > [data-tabs-icon]\") ?? []) : [];\n const restore = icons.map(icon => ({ icon, width: icon.style.width, margin: icon.style.marginRight }));\n for (const icon of icons) { const selected = icon.parentElement?.dataset.tabsValue === state.value.value; icon.style.width = selected ? \"auto\" : \"0px\"; icon.style.marginRight = selected ? \"6px\" : \"0px\"; }\n try { measure(); } finally { restore.forEach(({ icon, width, margin }) => { icon.style.width = width; icon.style.marginRight = margin; }); }\n }\n function place() { const element = list.value; if (!tracked.value || !element) return; const target = Array.from(element.querySelectorAll<HTMLElement>(\"[role=tab]\")).find(tab => tab.dataset.tabsValue === state.value.value)?.parentElement; if (!target) return; withSelectedIconLayout(() => { const box = { x: target.offsetLeft, y: target.offsetTop, width: target.getBoundingClientRect().width, height: target.offsetHeight }; const instant = reduced.value || state.track.width.get() === 0; for (const key of [\"x\", \"y\", \"width\", \"height\"] as const) { if (instant) state.track[key].jump(box[key]); else state.track[key].set(box[key]); } if (box.width > 0) state.placed.value = true; }); }\n function synchronizeClips() {\n const element = list.value; if (!element || state.variant.value === \"underline\") { cancelFrame(synchronizeClips); return; }\n const labels = Array.from(element.querySelectorAll<HTMLElement>(\"[data-tabs-label]\")); const indicator = element.querySelector<HTMLElement>(\"[data-tabs-indicator]\"); const target = element.querySelector<HTMLElement>(\"[role=tab][aria-selected=true]\");\n if (!indicator || !target || target.dataset.tabsValue !== state.value.value) { labels.forEach(label => label.style.clipPath = \"inset(0 100% 0 0)\"); cancelFrame(synchronizeClips); return; }\n const pill = (reduced.value ? target : indicator).getBoundingClientRect();\n for (const label of labels) { const bounds = label.getBoundingClientRect(); const left = clamp(pill.left - bounds.left, bounds.width); const right = clamp(bounds.right - pill.right, bounds.width); const clip = left + right >= bounds.width ? \"inset(0 100% 0 0)\" : `inset(0 ${right}px 0 ${left}px)`; if (label.style.clipPath !== clip) label.style.clipPath = clip; }\n const destination = target.getBoundingClientRect();\n const arrived = Math.abs(pill.left - destination.left) < .1 && Math.abs(pill.right - destination.right) < .1;\n ticks++; still = previous && Math.abs(pill.left - previous.left) < .01 && Math.abs(pill.right - previous.right) < .01 ? still + 1 : 0; previous = { left: pill.left, right: pill.right };\n // Shared-layout projection can start after several still frames. Keep the\n // contrast mask tracking until the indicator actually settles on its tab.\n if (reduced.value || ticks > 10 && still >= 3 && arrived || ticks > 180) cancelFrame(synchronizeClips);\n }\n function clips() { ticks = 0; still = 0; previous = undefined; cancelFrame(synchronizeClips); frame.postRender(synchronizeClips, true); }\n // Edge updates and resize observations must preserve the user's scroll position.\n function update() { if (!mounted) return; measure(); place(); clips(); }\n function revealSelected() { if (mounted) withSelectedIconLayout(() => reveal(list.value?.querySelector<HTMLElement>(\"[role=tab][aria-selected=true]\") ?? null)); }\n function keyboard(event: KeyboardEvent) { if (event.defaultPrevented || !list.value || !(event.target instanceof HTMLElement)) return; const rows = Array.from(list.value.querySelectorAll<HTMLButtonElement>(\"[role=tab]\")).filter(tab => !tab.disabled && tab.closest(\"[role=tablist]\") === list.value); const at = rows.indexOf(event.target as HTMLButtonElement); if (at < 0 || !rows.length) return; const rtl = getComputedStyle(list.value).direction === \"rtl\"; let next: HTMLButtonElement | undefined; if (event.key === (rtl ? \"ArrowLeft\" : \"ArrowRight\")) next = rows[(at + 1) % rows.length]; else if (event.key === (rtl ? \"ArrowRight\" : \"ArrowLeft\")) next = rows[(at + rows.length - 1) % rows.length]; else if (event.key === \"Home\") next = rows[0]; else if (event.key === \"End\") next = rows.at(-1); if (next) { event.preventDefault(); next.focus(); next.click(); } }\n function scroll(direction: number) { const view = viewport.value; view?.scrollBy({ left: direction * view.clientWidth * .8, behavior: reduced.value ? \"instant\" : \"smooth\" }); }\n function focus(event: FocusEvent) { const target = event.target as HTMLElement; if (target.getAttribute(\"role\") === \"tab\") reveal(target); }\n watch([state.value, state.icons, state.variant, reduced, state.placed], () => { void nextTick(update); }, { flush: \"post\" });\n watch(state.value, () => { void nextTick(revealSelected); }, { flush: \"post\" });\n onUpdated(update);\n onMounted(() => { mounted = true; if (typeof ResizeObserver !== \"undefined\") { observer = new ResizeObserver(update); for (const element of [root.value, viewport.value, list.value]) if (element) observer.observe(element); for (const tab of list.value?.querySelectorAll(\"[role=tab]\") ?? []) if (tab.parentElement) observer.observe(tab.parentElement); } bound = viewport.value; bound?.addEventListener(\"scroll\", measure, { passive: true }); update(); revealSelected(); });\n onBeforeUnmount(() => { mounted = false; observer?.disconnect(); bound?.removeEventListener(\"scroll\", measure); cancelFrame(synchronizeClips); });\n return { edges, tracked, keyboard, scroll, focus };\n}\n"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"path": "registry/orvui/motion/tabs/src/Tabs.vue",
|
|
334
|
+
"target": "~/src/components/orvui/motion/tabs/src/Tabs.vue",
|
|
335
|
+
"type": "registry:component",
|
|
336
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, provide, ref, shallowRef, useId } from \"vue\";\nimport { motion, useSpring } from \"motion-v\";\nimport { useMotionState } from \"../../state\";\nimport { TabsContext, TABS_TRANSITION } from \"./context\";\nconst props = withDefaults(defineProps<{ modelValue?: string; defaultValue?: string; variant?: \"pill\" | \"underline\" | \"segment\"; icons?: \"always\" | \"selected\" }>(), { defaultValue: \"\", variant: \"pill\", icons: \"always\" });\nconst emit = defineEmits([\"update:modelValue\", \"change\"]);\nconst value = useMotionState(props, emit, \"modelValue\", props.defaultValue);\nconst id = useId();\nconst track = { x: useSpring(0, TABS_TRANSITION), y: useSpring(0, TABS_TRANSITION), width: useSpring(0, TABS_TRANSITION), height: useSpring(0, TABS_TRANSITION) };\nconst placed = ref(false);\nconst tabs = shallowRef(new Map<string, boolean>());\nconst panels = shallowRef(new Set<string>());\nfunction registerTab(value: string, disabled: boolean) { if (tabs.value.has(value) && tabs.value.get(value) === disabled) return; tabs.value = new Map([...tabs.value, [value, disabled]]); }\nfunction unregisterTab(value: string) { const entries = new Map(tabs.value); entries.delete(value); tabs.value = entries; }\nfunction registerPanel(value: string) { if (!panels.value.has(value)) panels.value = new Set([...panels.value, value]); }\nfunction unregisterPanel(value: string) { const entries = new Set(panels.value); entries.delete(value); panels.value = entries; }\nconst tabStop = computed(() => { if (!tabs.value.size) return null; const enabled = [...tabs.value].filter(([, disabled]) => !disabled).map(([value]) => value); return enabled.includes(value.value) ? value.value : enabled[0] ?? \"\"; });\nfunction elementId(kind: string, value: string) { return `${id}-${kind}-${value.replace(/[^\\w-]/g, \"_\")}`; }\nprovide(TabsContext, { value, id, variant: computed(() => props.variant), icons: computed(() => props.icons), track, placed, tabStop, tabs, panels, registerTab, unregisterTab, registerPanel, unregisterPanel, tabId: value => elementId(\"tab\", value), panelId: value => elementId(\"panel\", value) });\n</script>\n<template><motion.div layout-root><slot /></motion.div></template>\n"
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"path": "registry/orvui/motion/tabs/src/TabsContent.vue",
|
|
340
|
+
"target": "~/src/components/orvui/motion/tabs/src/TabsContent.vue",
|
|
341
|
+
"type": "registry:component",
|
|
342
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, watch } from \"vue\";\nimport { motion } from \"motion-v\";\nimport { EASE_OUT } from \"../../../lib/ease\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nimport { useTabs } from \"./context\";\nconst props = defineProps<{ value: string; forceMount?: boolean }>();\nconst state = useTabs();\nconst reduced = useReducedMotion();\nconst active = computed(() => state.value.value === props.value);\nonMounted(() => state.registerPanel(props.value));\nwatch(() => props.value, (value, previous) => { state.unregisterPanel(previous); state.registerPanel(value); });\nonBeforeUnmount(() => state.unregisterPanel(props.value));\n</script>\n<template><motion.div :id=\"state.panelId(value)\" role=\"tabpanel\" :aria-labelledby=\"state.tabId(value)\" :hidden=\"!active\" :tabindex=\"active ? 0 : undefined\" :initial=\"false\" :animate=\"active ? { opacity: 1, y: 0 } : { opacity: 0, y: reduced ? 0 : 4 }\" :transition=\"{ duration: .18, ease: EASE_OUT }\" :class=\"active ? 'mt-4 outline-none focus-visible:ring-2 focus-visible:ring-ring/40 rounded-md' : undefined\"><slot /></motion.div></template>\n"
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"path": "registry/orvui/motion/tabs/src/TabsList.vue",
|
|
346
|
+
"target": "~/src/components/orvui/motion/tabs/src/TabsList.vue",
|
|
347
|
+
"type": "registry:component",
|
|
348
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, ref, useId } from \"vue\";\nimport { motion } from \"motion-v\";\nimport { ChevronLeft, ChevronRight } from \"lucide-vue-next\";\nimport { cn } from \"../../../lib/utils\";\nimport { resolveElement, useReducedMotion } from \"../../../lib/composables\";\nimport { useTabs } from \"./context\";\nimport { useTabsList } from \"./list-state\";\ndefineOptions({ inheritAttrs: false });\ndefineProps<{ wrapperClassName?: string }>();\nconst state = useTabs();\nconst reduced = useReducedMotion();\nconst root = ref<HTMLElement | null>(null);\nconst viewport = ref<HTMLElement | null>(null);\nconst list = ref<HTMLElement | null>(null);\nconst viewportId = useId();\nconst { edges, tracked, keyboard, scroll, focus } = useTabsList(state, reduced, root, viewport, list);\nconst classes = { pill: \"inline-flex items-center gap-1 rounded-full bg-card p-1\", underline: \"inline-flex items-center gap-1 border-b border-border\", segment: \"inline-flex items-center gap-0 rounded-lg bg-card p-0.5\" };\nconst surface = computed(() => state.variant.value === \"pill\" ? \"rounded-full bg-card\" : state.variant.value === \"segment\" ? \"rounded-lg bg-card\" : \"\");\nconst control = \"absolute inset-y-0 z-20 inline-flex w-9 items-center justify-center text-foreground transition-opacity hover:opacity-70 focus-visible:outline-2 focus-visible:-outline-offset-4 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-0\";\nconst mask = computed(() => edges.value.overflow ? { maskImage: `linear-gradient(to right, ${edges.value.left ? 'transparent, black 40px' : 'black, black 0px'}, ${edges.value.right ? 'black calc(100% - 40px), transparent' : 'black 100%'})` } : undefined);\n</script>\n<template><div ref=\"root\" :class=\"cn('relative isolate flex w-full max-w-full min-w-0 items-center', edges.overflow && surface, wrapperClassName)\"><button v-if=\"edges.overflow\" type=\"button\" aria-label=\"Scroll tabs left\" :aria-controls=\"viewportId\" :disabled=\"!edges.left\" @click=\"scroll(-1)\" :class=\"cn(control, 'left-0 rounded-l-full')\"><ChevronLeft :size=\"20\" aria-hidden=\"true\" /></button><motion.div :ref=\"element => viewport = resolveElement<HTMLElement>(element)\" :id=\"viewportId\" layout-scroll :class=\"cn('w-full min-w-0 overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden', edges.overflow && '[border-radius:inherit]')\" :style=\"mask\" @focus.capture=\"focus\"><div ref=\"list\" v-bind=\"$attrs\" role=\"tablist\" @keydown=\"keyboard\" :class=\"cn(classes[state.variant.value], 'w-max', tracked && 'relative', $attrs.class as string)\"><slot /></div></motion.div><span v-if=\"edges.overflow && edges.left\" aria-hidden=\"true\" class=\"pointer-events-none absolute inset-y-0 left-0 z-10 w-10 rounded-l-[inherit] backdrop-blur-[2px] [mask-image:linear-gradient(to_right,black,transparent)]\" /><span v-if=\"edges.overflow && edges.right\" aria-hidden=\"true\" class=\"pointer-events-none absolute inset-y-0 right-0 z-10 w-10 rounded-r-[inherit] backdrop-blur-[2px] [mask-image:linear-gradient(to_left,black,transparent)]\" /><button v-if=\"edges.overflow\" type=\"button\" aria-label=\"Scroll tabs right\" :aria-controls=\"viewportId\" :disabled=\"!edges.right\" @click=\"scroll(1)\" :class=\"cn(control, 'right-0 rounded-r-full')\"><ChevronRight :size=\"20\" aria-hidden=\"true\" /></button></div></template>\n"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"path": "registry/orvui/motion/tabs/src/TabsTrigger.vue",
|
|
352
|
+
"target": "~/src/components/orvui/motion/tabs/src/TabsTrigger.vue",
|
|
353
|
+
"type": "registry:component",
|
|
354
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, watch } from \"vue\";\nimport { motion, useTransform } from \"motion-v\";\nimport { cn } from \"../../../lib/utils\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nimport { TABS_TRANSITION, useTabs } from \"./context\";\nimport TriggerContent from \"./TriggerContent.vue\";\ndefineOptions({ inheritAttrs: false });\nconst props = defineProps<{ value: string; disabled?: boolean; icon?: any; indicatorClassName?: string }>();\nconst state = useTabs();\nconst reduced = useReducedMotion();\nconst active = computed(() => state.value.value === props.value);\nconst radius = computed(() => state.variant.value === \"pill\" ? \"rounded-full\" : \"rounded-md\");\nconst tracked = computed(() => state.icons.value === \"selected\" && state.placed.value);\nconst initialClip = active.value ? \"inset(0)\" : \"inset(0 100% 0 0)\";\nconst width = useTransform(state.track.width, value => `${value}px`);\nconst height = useTransform(state.track.height, value => `${value}px`);\nconst tabIndex = computed(() => !props.disabled && (state.tabStop.value === null || state.tabStop.value === props.value) ? 0 : -1);\nconst border = computed(() => state.variant.value === \"pill\" ? \"9999px\" : \"8px\");\nfunction select(event: MouseEvent) { if (!event.defaultPrevented) state.value.value = props.value; }\nonMounted(() => state.registerTab(props.value, !!props.disabled));\nwatch([() => props.value, () => props.disabled], ([value, disabled], [previous]) => { if (previous !== value) state.unregisterTab(previous); state.registerTab(value, !!disabled); });\nonBeforeUnmount(() => state.unregisterTab(props.value));\n</script>\n<template>\n <button v-if=\"state.variant.value === 'underline'\" :id=\"state.tabId(value)\" :aria-controls=\"state.panels.value.has(value) ? state.panelId(value) : undefined\" :tabindex=\"tabIndex\" v-bind=\"$attrs\" type=\"button\" role=\"tab\" :aria-selected=\"active\" :disabled=\"disabled\" :data-tabs-value=\"value\" @click=\"select\" :class=\"cn('relative isolate px-3 pb-2.5 pt-1 -mb-px text-sm font-medium transition-colors min-h-[44px] inline-flex items-center whitespace-nowrap shrink-0 outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring', active ? 'text-foreground' : 'text-muted-foreground hover:text-foreground', $attrs.class as string)\"><TriggerContent :active=\"active\" :icon=\"icon\"><template v-if=\"$slots.icon\" #icon><slot name=\"icon\" /></template><slot /></TriggerContent><motion.span v-if=\"active\" :layout-id=\"`${state.id}-indicator`\" layout :transition=\"reduced ? { duration: 0 } : TABS_TRANSITION\" :class=\"cn('absolute bottom-0 left-0 right-0 h-px bg-primary', indicatorClassName)\" /></button>\n <div v-else :class=\"cn('shrink-0', !tracked && 'relative')\"><motion.span v-if=\"active && tracked\" key=\"tracked\" data-tabs-indicator=\"\" :style=\"{ ...state.track, width, height, borderRadius: border }\" :class=\"cn('absolute top-0 left-0 bg-primary', radius, indicatorClassName)\" /><motion.span v-else-if=\"active\" key=\"layout\" data-tabs-indicator=\"\" :layout-id=\"`${state.id}-indicator`\" layout :transition=\"reduced ? { duration: 0 } : TABS_TRANSITION\" :style=\"{ borderRadius: border }\" :class=\"cn('absolute inset-0 bg-primary', radius, indicatorClassName)\" /><button :id=\"state.tabId(value)\" :aria-controls=\"state.panels.value.has(value) ? state.panelId(value) : undefined\" :tabindex=\"tabIndex\" v-bind=\"$attrs\" type=\"button\" role=\"tab\" :aria-selected=\"active\" :disabled=\"disabled\" :data-tabs-value=\"value\" @click=\"select\" :class=\"cn('relative z-10 inline-flex items-center justify-center whitespace-nowrap bg-transparent px-3.5 py-1.5 text-sm font-medium outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring text-muted-foreground hover:text-foreground', radius, $attrs.class as string)\"><TriggerContent :active=\"active\" :icon=\"icon\"><template v-if=\"$slots.icon\" #icon><slot name=\"icon\" /></template><slot /></TriggerContent><span data-tabs-label=\"\" aria-hidden=\"true\" inert class=\"pointer-events-none absolute inset-0 inline-flex items-center justify-center text-primary-foreground [gap:inherit] [padding:inherit]\" :style=\"{ clipPath: initialClip }\"><TriggerContent :active=\"active\" :icon=\"icon\"><template v-if=\"$slots.icon\" #icon><slot name=\"icon\" /></template><slot /></TriggerContent></span></button></div>\n</template>\n"
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"path": "registry/orvui/motion/tabs/src/TriggerContent.vue",
|
|
358
|
+
"target": "~/src/components/orvui/motion/tabs/src/TriggerContent.vue",
|
|
359
|
+
"type": "registry:component",
|
|
360
|
+
"content": "<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { motion } from \"motion-v\";\nimport { SPRING_SWAP } from \"../../../lib/ease\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nimport { useTabs } from \"./context\";\nconst props = defineProps<{ active: boolean; icon?: any }>();\nconst state = useTabs();\nconst reduced = useReducedMotion();\nconst iconPose = computed(() => ({ width: props.active ? \"auto\" : \"0px\", marginRight: props.active ? \"6px\" : \"0px\", opacity: props.active ? 1 : 0, scale: props.active ? 1 : .6 }));\n</script>\n<template><template v-if=\"$slots.icon || icon\"><span v-if=\"state.icons.value === 'always'\" aria-hidden=\"true\" class=\"mr-1.5 inline-flex shrink-0 items-center\"><slot name=\"icon\"><component :is=\"icon\" /></slot></span><motion.span v-else aria-hidden=\"true\" data-tabs-icon=\"\" :initial=\"false\" :animate=\"iconPose\" :transition=\"reduced ? { duration: 0 } : SPRING_SWAP\" class=\"inline-flex shrink-0 items-center justify-center overflow-hidden\"><slot name=\"icon\"><component :is=\"icon\" /></slot></motion.span></template><slot /></template>\n"
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"path": "registry/orvui/motion/tooltip/index.ts",
|
|
364
|
+
"target": "~/src/components/orvui/motion/tooltip/index.ts",
|
|
365
|
+
"type": "registry:lib",
|
|
366
|
+
"content": "export { default as TooltipProvider } from \"./src/TooltipProvider.vue\";\nexport { default as Tooltip, default as TooltipRoot } from \"./src/Tooltip.vue\";\nexport { default as TooltipTrigger } from \"./src/TooltipTrigger.vue\";\nexport { default as TooltipContent } from \"./src/TooltipContent.vue\";\nexport type { TooltipProps } from \"./src/Tooltip.vue\";\nexport type {\n TooltipRootProps,\n TooltipContentProps,\n TooltipSide,\n TooltipAlign,\n TooltipPoint,\n TooltipAnchor,\n} from \"./src/context\";\n\nexport type * from \"./src/api-types\";\n"
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"path": "registry/orvui/motion/tooltip/src/api-types.ts",
|
|
370
|
+
"target": "~/src/components/orvui/motion/tooltip/src/api-types.ts",
|
|
371
|
+
"type": "registry:lib",
|
|
372
|
+
"content": "// Vue public prop types, derived from the actual components.\nexport type TooltipProviderProps = InstanceType<\n (typeof import(\"./TooltipProvider.vue\"))[\"default\"]\n>[\"$props\"];\nexport type TooltipTriggerProps = InstanceType<\n (typeof import(\"./TooltipTrigger.vue\"))[\"default\"]\n>[\"$props\"];\n"
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"path": "registry/orvui/motion/tooltip/src/context.ts",
|
|
376
|
+
"target": "~/src/components/orvui/motion/tooltip/src/context.ts",
|
|
377
|
+
"type": "registry:lib",
|
|
378
|
+
"content": "import {\n computed,\n inject,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n type ComputedRef,\n type InjectionKey,\n type Ref,\n} from \"vue\";\nimport {\n resolveElement,\n useControllable,\n useFloatingLayer,\n} from \"../../../lib/composables\";\nimport { graceArea, inBox, inPolygon } from \"./grace\";\nexport type TooltipSide = \"top\" | \"right\" | \"bottom\" | \"left\";\nexport type TooltipAlign = \"start\" | \"center\" | \"end\";\nexport type TooltipPoint = { x: number; y: number };\nexport type TooltipAnchor = HTMLElement | SVGElement;\nexport interface TooltipTiming {\n delay: number;\n closeDelay: number;\n skipDelay: number;\n}\nexport const timingKey: InjectionKey<ComputedRef<TooltipTiming>> =\n Symbol(\"tooltip-timing\");\nexport interface TooltipRootProps {\n open?: boolean;\n defaultOpen?: boolean;\n delay?: number;\n closeDelay?: number;\n disabled?: boolean;\n asLabel?: boolean;\n followCursor?: boolean;\n anchorRef?: TooltipAnchor | null | Ref<TooltipAnchor | null>;\n id?: string;\n}\nexport interface TooltipContentProps {\n side?: TooltipSide;\n align?: TooltipAlign;\n sideOffset?: number;\n arrow?: boolean;\n anchorPoint?: TooltipPoint;\n}\nexport interface TooltipContext {\n open: ComputedRef<boolean>;\n id: string;\n labelId: string;\n props: Readonly<TooltipRootProps>;\n anchor: Ref<TooltipAnchor | null>;\n floating: Ref<HTMLElement | null>;\n cursor: Ref<TooltipPoint | null>;\n empty: Ref<boolean>;\n setTrigger: (value: unknown) => void;\n setEmpty: (value: boolean) => void;\n close: () => void;\n enterContent: () => void;\n leaveContent: (event: PointerEvent) => void;\n}\nexport const tooltipKey: InjectionKey<TooltipContext> = Symbol(\"tooltip\");\nexport function useTooltip() {\n const context = inject(tooltipKey);\n if (!context)\n throw new Error(\"Tooltip parts must be rendered inside Tooltip\");\n return context;\n}\n\ntype Session = {\n mode: \"keyboard\" | \"pointer\";\n closedAt: number;\n owner?: { close(): void };\n};\nconst sessions = new WeakMap<Document, Session>();\nfunction sessionFor(document: Document) {\n let session = sessions.get(document);\n if (!session) {\n session = { mode: \"keyboard\", closedAt: 0 };\n sessions.set(document, session);\n }\n return session;\n}\nexport function createTooltip(\n props: Readonly<TooltipRootProps>,\n emit: (...args: any[]) => void,\n id: string,\n initialEmpty = false,\n): TooltipContext {\n const timing = inject(\n timingKey,\n computed(() => ({ delay: 120, closeDelay: 0, skipDelay: 300 })),\n );\n const requested = useControllable(\n props,\n \"open\",\n emit,\n props.defaultOpen ?? false,\n );\n const anchor = ref<TooltipAnchor | null>(null);\n const floating = ref<HTMLElement | null>(null);\n const cursor = ref<TooltipPoint | null>(null);\n const empty = ref(initialEmpty);\n const open = computed(\n () => requested.value && !props.disabled && !empty.value,\n );\n const layer = useFloatingLayer(open, floating);\n let documentScope: Document | undefined;\n let session: Session | undefined;\n let mounted = false;\n let disposed = false;\n let epoch = 0;\n let waitingToShow = false;\n const timers = new Set<ReturnType<typeof setTimeout>>();\n let detachAnchor: (() => void) | undefined;\n let detachCorridor: (() => void) | undefined;\n const self = { close };\n function cancelTimers() {\n ++epoch;\n for (const timer of timers) clearTimeout(timer);\n timers.clear();\n waitingToShow = false;\n }\n function cancelCorridor() {\n detachCorridor?.();\n detachCorridor = undefined;\n }\n function later(task: () => void, delay: number) {\n const version = epoch;\n const timer = setTimeout(() => {\n timers.delete(timer);\n if (!disposed && version === epoch) task();\n }, delay);\n timers.add(timer);\n }\n function commit(next: boolean) {\n if (requested.value === next) return;\n requested.value = next;\n emit(\"openChange\", next);\n }\n function close() {\n cancelTimers();\n cancelCorridor();\n if (session && open.value) session.closedAt = Date.now();\n if (session?.owner === self) session.owner = undefined;\n commit(false);\n }\n function show() {\n cancelTimers();\n cancelCorridor();\n if (\n disposed ||\n props.disabled ||\n empty.value ||\n anchor.value?.matches(':disabled,[aria-disabled=\"true\"]')\n )\n return;\n if (session?.owner !== self) session?.owner?.close();\n if (session) session.owner = self;\n commit(true);\n }\n function hover() {\n cancelTimers();\n if (open.value || props.disabled || empty.value) return;\n const delay =\n session && Date.now() - session.closedAt < timing.value.skipDelay\n ? 0\n : (props.delay ?? timing.value.delay);\n if (delay <= 0) show();\n else {\n waitingToShow = true;\n later(show, delay);\n }\n }\n function hide() {\n cancelTimers();\n const delay = props.closeDelay ?? timing.value.closeDelay;\n if (delay > 0) later(close, delay);\n else close();\n }\n function bridge(\n event: PointerEvent,\n source: Element,\n destination: Element | null,\n ) {\n cancelCorridor();\n if (!destination || !documentScope) {\n hide();\n return;\n }\n const from = source.getBoundingClientRect();\n const to = destination.getBoundingClientRect();\n const polygon = graceArea({ x: event.clientX, y: event.clientY }, to);\n const track = (event: PointerEvent) => {\n const point = { x: event.clientX, y: event.clientY };\n if (\n !inBox(point, from) &&\n !inBox(point, to) &&\n !inPolygon(point, polygon)\n )\n hide();\n };\n const document = documentScope;\n document.addEventListener(\"pointermove\", track);\n detachCorridor = () => document.removeEventListener(\"pointermove\", track);\n }\n function bind(element: TooltipAnchor | null) {\n detachAnchor?.();\n detachAnchor = undefined;\n if (!mounted || !element || props.anchorRef) return;\n let pressed:\n { type: string; opened: boolean; x: number; y: number } | undefined;\n let suppressHover = false;\n let keyboardFocus = false;\n const updateCursor = (event: PointerEvent) => {\n if (props.followCursor)\n cursor.value = { x: event.clientX, y: event.clientY };\n };\n const events: Record<string, EventListener> = {\n pointerenter: (raw) => {\n const event = raw as PointerEvent;\n if (event.pointerType === \"touch\") return;\n updateCursor(event);\n cancelCorridor();\n if (!suppressHover) hover();\n else cancelTimers();\n },\n pointerleave: (raw) => {\n const event = raw as PointerEvent;\n if (event.pointerType === \"touch\") return;\n suppressHover = false;\n cursor.value = null;\n if (keyboardFocus) return;\n if (waitingToShow) {\n cancelTimers();\n return;\n }\n if (open.value && !props.followCursor)\n bridge(event, element, floating.value);\n else hide();\n },\n pointerdown: (raw) => {\n const event = raw as PointerEvent;\n pressed = {\n type: event.pointerType,\n opened: open.value,\n x: event.clientX,\n y: event.clientY,\n };\n updateCursor(event);\n if (event.pointerType === \"mouse\") {\n suppressHover = true;\n close();\n }\n },\n pointermove: (raw) => {\n const event = raw as PointerEvent;\n updateCursor(event);\n if (\n pressed &&\n Math.hypot(event.clientX - pressed.x, event.clientY - pressed.y) > 8\n )\n pressed = undefined;\n },\n pointercancel: () => {\n pressed = undefined;\n cursor.value = null;\n },\n click: () => {\n const gesture = pressed;\n pressed = undefined;\n if (gesture && gesture.type !== \"mouse\")\n gesture.opened ? close() : show();\n },\n keydown: () => {\n pressed = undefined;\n cursor.value = null;\n },\n focusin: () => {\n if (session?.mode === \"keyboard\") {\n keyboardFocus = true;\n cursor.value = null;\n show();\n }\n },\n focusout: (raw) => {\n if (\n !element.contains((raw as FocusEvent).relatedTarget as Node | null)\n ) {\n keyboardFocus = false;\n close();\n }\n },\n };\n for (const [name, listener] of Object.entries(events))\n element.addEventListener(name, listener);\n const observer =\n typeof MutationObserver === \"undefined\"\n ? undefined\n : new MutationObserver(() => {\n if (element.matches(':disabled,[aria-disabled=\"true\"]')) close();\n });\n observer?.observe(element, {\n attributes: true,\n attributeFilter: [\"disabled\", \"aria-disabled\"],\n });\n detachAnchor = () => {\n observer?.disconnect();\n for (const [name, listener] of Object.entries(events))\n element.removeEventListener(name, listener);\n };\n }\n watch(anchor, bind, { flush: \"post\" });\n watch(\n () => props.anchorRef,\n (external) => {\n if (external)\n anchor.value = resolveElement<TooltipAnchor>(\n \"value\" in external ? external.value : external,\n );\n },\n { immediate: true, deep: true },\n );\n watch(\n () => [props.disabled, empty.value],\n () => {\n if (props.disabled || (empty.value && !props.anchorRef)) close();\n },\n );\n watch(open, (visible) => {\n if (!session) return;\n if (visible) {\n if (session.owner !== self) session.owner?.close();\n session.owner = self;\n } else if (session.owner === self) {\n session.closedAt = Date.now();\n session.owner = undefined;\n }\n });\n const keyboard = (event: KeyboardEvent) => {\n if (session) session.mode = \"keyboard\";\n if (layer.claimEscape(event)) close();\n };\n const pointer = (event: PointerEvent) => {\n if (session) session.mode = \"pointer\";\n if (\n open.value &&\n !layer.containsHigher(event.target) &&\n event.target instanceof Node &&\n !anchor.value?.contains(event.target) &&\n !floating.value?.contains(event.target)\n )\n close();\n };\n const scroll = () => {\n if (props.followCursor && cursor.value) close();\n };\n onMounted(() => {\n mounted = true;\n documentScope = anchor.value?.ownerDocument ?? document;\n session = sessionFor(documentScope);\n documentScope.addEventListener(\"keydown\", keyboard, true);\n documentScope.addEventListener(\"pointerdown\", pointer, true);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"scroll\", scroll, true);\n bind(anchor.value);\n if (open.value) {\n session.owner?.close();\n session.owner = self;\n }\n });\n onBeforeUnmount(() => {\n disposed = true;\n mounted = false;\n cancelTimers();\n cancelCorridor();\n detachAnchor?.();\n if (session?.owner === self) session.owner = undefined;\n documentScope?.removeEventListener(\"keydown\", keyboard, true);\n documentScope?.removeEventListener(\"pointerdown\", pointer, true);\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"scroll\", scroll, true);\n });\n return {\n open,\n id,\n labelId: id + \"-label\",\n props,\n anchor,\n floating,\n cursor,\n empty,\n setTrigger: (value) => {\n if (!props.anchorRef) anchor.value = resolveElement<TooltipAnchor>(value);\n },\n setEmpty: (value) => {\n empty.value = value;\n },\n close,\n enterContent: () => {\n cancelCorridor();\n cancelTimers();\n },\n leaveContent: (event) => {\n if (props.anchorRef) {\n cancelTimers();\n later(close, 100);\n } else if (floating.value) bridge(event, floating.value, anchor.value);\n },\n };\n}\n"
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"path": "registry/orvui/motion/tooltip/src/grace.ts",
|
|
382
|
+
"target": "~/src/components/orvui/motion/tooltip/src/grace.ts",
|
|
383
|
+
"type": "registry:lib",
|
|
384
|
+
"content": "type Point = { x: number; y: number };\ntype Box = { left: number; top: number; right: number; bottom: number };\nconst cross = (a: Point, b: Point, c: Point) =>\n (b.x - a.x) * (c.y - a.y) - (b.y - a.y) * (c.x - a.x);\nconst squared = (a: Point, b: Point) => (a.x - b.x) ** 2 + (a.y - b.y) ** 2;\n/** Gift-wrap the two rectangles into the convex pointer-travel corridor. */\nexport function graceArea(exit: Point, box: Box): Point[] {\n const points = [\n { x: exit.x - 5, y: exit.y - 5 },\n { x: exit.x + 5, y: exit.y - 5 },\n { x: exit.x + 5, y: exit.y + 5 },\n { x: exit.x - 5, y: exit.y + 5 },\n { x: box.left, y: box.top },\n { x: box.right, y: box.top },\n { x: box.right, y: box.bottom },\n { x: box.left, y: box.bottom },\n ].filter(\n (point, index, all) =>\n all.findIndex((other) => other.x === point.x && other.y === point.y) ===\n index,\n );\n const start = points.reduce((best, point) =>\n point.x < best.x || (point.x === best.x && point.y < best.y) ? point : best,\n );\n const hull: Point[] = [];\n let current = start;\n do {\n hull.push(current);\n let next = points.find((point) => point !== current)!;\n for (const point of points) {\n if (point === current) continue;\n const direction = cross(current, next, point);\n if (\n direction < 0 ||\n (direction === 0 && squared(current, point) > squared(current, next))\n )\n next = point;\n }\n current = next;\n } while (current !== start && hull.length <= points.length);\n return hull;\n}\nexport function inBox(point: Point, box: Box) {\n return (\n box.left <= point.x &&\n point.x <= box.right &&\n box.top <= point.y &&\n point.y <= box.bottom\n );\n}\nexport function inPolygon(point: Point, polygon: Point[]) {\n if (polygon.length < 3) return false;\n // All corridor polygons are convex. A point lies inside every oriented edge.\n let orientation = 0;\n for (let index = 0; index < polygon.length; index++) {\n const side = Math.sign(\n cross(polygon[index]!, polygon[(index + 1) % polygon.length]!, point),\n );\n if (!side) continue;\n if (orientation && side !== orientation) return false;\n orientation = side;\n }\n return true;\n}\n"
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"path": "registry/orvui/motion/tooltip/src/position.ts",
|
|
388
|
+
"target": "~/src/components/orvui/motion/tooltip/src/position.ts",
|
|
389
|
+
"type": "registry:lib",
|
|
390
|
+
"content": "import {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from \"vue\";\nimport {\n arrow as pointArrow,\n autoUpdate,\n computePosition,\n flip,\n hide,\n offset,\n shift,\n type Placement,\n type VirtualElement,\n} from \"@floating-ui/dom\";\nimport type {\n TooltipContext,\n TooltipContentProps,\n TooltipSide,\n} from \"./context\";\nexport function createTooltipPosition(\n context: TooltipContext,\n props: Readonly<TooltipContentProps>,\n hasContent: () => boolean,\n) {\n const mounted = ref(false);\n const ready = ref(false);\n const positioner = ref<HTMLElement | null>(null);\n const arrow = ref<SVGSVGElement | null>(null);\n const side = ref<TooltipSide>(props.side ?? \"top\");\n let stopTracking: (() => void) | undefined;\n let frame: number | undefined;\n let revision = 0;\n let binding = 0;\n let disposed = false;\n let cursorPlacement: Placement | undefined;\n const origins: Record<TooltipSide, string> = {\n top: \"center bottom\",\n bottom: \"center top\",\n left: \"right center\",\n right: \"left center\",\n };\n async function place() {\n const anchor = context.anchor.value;\n const target = positioner.value;\n if (!context.open.value || !anchor || !target || disposed) return;\n const version = ++revision;\n const point = context.props.followCursor ? context.cursor.value : null;\n const virtual = !!point || !!props.anchorPoint;\n const reference: Element | VirtualElement = virtual\n ? {\n contextElement: anchor,\n getBoundingClientRect: () => {\n const box = anchor.getBoundingClientRect();\n const x =\n point?.x ?? box.left + box.width * (props.anchorPoint?.x ?? 0.5);\n const y =\n point?.y ?? box.top + box.height * (props.anchorPoint?.y ?? 0.5);\n return {\n x,\n y,\n left: x,\n right: x,\n top: y,\n bottom: y,\n width: 0,\n height: 0,\n };\n },\n }\n : anchor;\n const preferred = (\n props.align === \"center\" || !props.align\n ? (props.side ?? \"top\")\n : `${props.side ?? \"top\"}-${props.align}`\n ) as Placement;\n const result = await computePosition(reference, target, {\n strategy: \"fixed\",\n placement: point ? (cursorPlacement ?? preferred) : preferred,\n middleware: [\n offset(props.sideOffset ?? (point ? 12 : 8)),\n flip({ padding: 8 }),\n shift({ padding: 8 }),\n ...(arrow.value\n ? [pointArrow({ element: arrow.value, padding: 10 })]\n : []),\n ...(virtual ? [] : [hide({ strategy: \"referenceHidden\" })]),\n ],\n });\n if (\n disposed ||\n version !== revision ||\n !context.open.value ||\n positioner.value !== target ||\n !target.isConnected\n )\n return;\n cursorPlacement = point ? result.placement : undefined;\n side.value = result.placement.split(\"-\")[0] as TooltipSide;\n const pixelRatio = window.devicePixelRatio || 1;\n const snap = (value: number) => Math.round(value * pixelRatio) / pixelRatio;\n target.style.transform = `translate3d(${snap(result.x)}px,${snap(result.y)}px,0)`;\n target.style.setProperty(\"--tooltip-origin\", origins[side.value]);\n target.dataset.placement = result.placement;\n const box = anchor.getBoundingClientRect();\n target.style.visibility =\n result.middlewareData.hide?.referenceHidden && (box.width || box.height)\n ? \"hidden\"\n : \"visible\";\n const triangle = arrow.value;\n const surface = triangle?.parentElement;\n if (triangle && surface) {\n const coordinate = result.middlewareData.arrow;\n if (coordinate?.x !== undefined)\n triangle.style.left = `${coordinate.x - surface.clientLeft}px`;\n if (coordinate?.y !== undefined)\n triangle.style.top = `${coordinate.y - surface.clientTop}px`;\n const style = getComputedStyle(surface);\n triangle.style.setProperty(\"--tooltip-arrow-fill\", style.backgroundColor);\n triangle.style.setProperty(\n \"--tooltip-arrow-stroke\",\n style.borderTopColor,\n );\n }\n ready.value = true;\n }\n function schedule() {\n ++revision;\n if (frame !== undefined || disposed || !context.open.value) return;\n frame = requestAnimationFrame(() => {\n frame = undefined;\n void place();\n });\n }\n async function bind() {\n const version = ++binding;\n ++revision;\n stopTracking?.();\n stopTracking = undefined;\n if (!mounted.value || !context.open.value) {\n ready.value = false;\n cursorPlacement = undefined;\n return;\n }\n await nextTick();\n if (disposed || version !== binding || !context.open.value) return;\n context.floating.value = positioner.value;\n if (context.anchor.value && positioner.value)\n stopTracking = autoUpdate(\n context.anchor.value,\n positioner.value,\n schedule,\n );\n schedule();\n }\n watch(\n () => [\n context.open.value,\n context.anchor.value,\n props.side,\n props.align,\n props.sideOffset,\n props.arrow,\n props.anchorPoint,\n ],\n bind,\n { flush: \"post\" },\n );\n watch(context.cursor, schedule);\n onMounted(() => {\n mounted.value = true;\n context.setEmpty(!hasContent());\n void bind();\n });\n onBeforeUnmount(() => {\n disposed = true;\n ++binding;\n ++revision;\n stopTracking?.();\n if (frame !== undefined) cancelAnimationFrame(frame);\n context.floating.value = null;\n });\n const arrowPath = computed(\n () =>\n ({\n top: \"M0 6L6 12L12 6\",\n bottom: \"M0 6L6 0L12 6\",\n left: \"M6 0L12 6L6 12\",\n right: \"M6 0L0 6L6 12\",\n })[side.value],\n );\n const arrowStyle = computed(\n () =>\n ({\n top: { top: \"calc(100% - 6px)\" },\n bottom: { bottom: \"calc(100% - 6px)\" },\n left: { left: \"calc(100% - 6px)\" },\n right: { right: \"calc(100% - 6px)\" },\n })[side.value],\n );\n return { mounted, ready, positioner, arrow, arrowPath, arrowStyle };\n}\n"
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"path": "registry/orvui/motion/tooltip/src/Tooltip.vue",
|
|
394
|
+
"target": "~/src/components/orvui/motion/tooltip/src/Tooltip.vue",
|
|
395
|
+
"type": "registry:component",
|
|
396
|
+
"content": "<script setup lang=\"ts\">\ndefineOptions({ inheritAttrs: false });\nimport { defineComponent, provide, useId, watch, type VNodeChild } from \"vue\";\nimport {\n createTooltip,\n tooltipKey,\n type TooltipRootProps,\n type TooltipContentProps,\n} from \"./context\";\nimport TooltipTrigger from \"./TooltipTrigger.vue\";\nimport TooltipContent from \"./TooltipContent.vue\";\nexport interface TooltipProps extends TooltipRootProps, TooltipContentProps {\n content?: VNodeChild;\n}\nconst props = withDefaults(defineProps<TooltipProps>(), {\n open: undefined,\n content: undefined,\n defaultOpen: false,\n});\nconst emit = defineEmits([\"update:open\", \"openChange\"]);\nconst state = createTooltip(\n props,\n emit,\n props.id ?? useId(),\n props.content === null || props.content === \"\",\n);\nprovide(tooltipKey, state);\nwatch(\n () => props.content,\n (content) => {\n if (content !== undefined)\n state.setEmpty(content === null || content === false || content === \"\");\n },\n { immediate: true },\n);\nconst ContentValue = defineComponent({\n props: [\"value\"],\n setup: (props) => () => props.value,\n});\n</script>\n<template>\n <template v-if=\"content !== undefined\"\n ><TooltipTrigger v-if=\"$slots.default\" as-child><slot /></TooltipTrigger\n ><TooltipContent\n v-bind=\"$attrs\"\n :side=\"side\"\n :align=\"align\"\n :side-offset=\"sideOffset\"\n :arrow=\"arrow\"\n :anchor-point=\"anchorPoint\"\n ><ContentValue :value=\"content\" /></TooltipContent></template\n ><slot v-else />\n</template>\n"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"path": "registry/orvui/motion/tooltip/src/TooltipContent.vue",
|
|
400
|
+
"target": "~/src/components/orvui/motion/tooltip/src/TooltipContent.vue",
|
|
401
|
+
"type": "registry:component",
|
|
402
|
+
"content": "<script setup lang=\"ts\">\ndefineOptions({ inheritAttrs: false });\nimport { useSlots } from \"vue\";\nimport { motion, AnimatePresence } from \"motion-v\";\nimport { useTooltip, type TooltipContentProps } from \"./context\";\nimport { createTooltipPosition } from \"./position\";\nimport { EASE_OUT } from \"../../../lib/ease\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nimport { cn } from \"../../../lib/utils\";\nconst props = withDefaults(defineProps<TooltipContentProps>(), {\n side: \"top\",\n align: \"center\",\n arrow: false,\n});\nconst state = useTooltip();\nconst slots = useSlots();\nconst reduced = useReducedMotion();\nconst { mounted, ready, positioner, arrow, arrowPath, arrowStyle } =\n createTooltipPosition(state, props, () => !!slots.default);\n</script>\n<template>\n <Teleport v-if=\"mounted\" to=\"body\"\n ><span\n v-if=\"state.props.asLabel && !state.empty.value\"\n :id=\"state.labelId\"\n hidden\n ><slot /></span\n ><AnimatePresence\n ><span\n v-if=\"state.open.value && !state.empty.value\"\n ref=\"positioner\"\n class=\"pointer-events-none fixed left-0 top-0 z-[9999] w-max\"\n :style=\"{ visibility: 'hidden', maxWidth: 'calc(100vw - 16px)' }\"\n ><motion.span\n v-bind=\"$attrs\"\n :id=\"state.props.asLabel ? undefined : state.id\"\n role=\"tooltip\"\n :aria-hidden=\"state.props.asLabel || undefined\"\n :initial=\"{ opacity: 0, scale: reduced ? 1 : 0.94 }\"\n :animate=\"{\n opacity: ready ? 1 : 0,\n scale: ready || reduced ? 1 : 0.94,\n }\"\n :exit=\"{\n opacity: 0,\n scale: reduced ? 1 : 0.94,\n transition: { duration: 0.12, ease: EASE_OUT },\n }\"\n :transition=\"{ duration: 0.18, ease: EASE_OUT }\"\n :style=\"{\n transformOrigin: 'var(--tooltip-origin,center)',\n pointerEvents: state.props.followCursor ? 'none' : 'auto',\n }\"\n :class=\"\n cn(\n 'relative block max-w-[min(20rem,calc(100vw-16px))] whitespace-normal break-words rounded-lg border border-border bg-background px-2.5 py-1 text-xs font-medium text-foreground shadow-md',\n $attrs.class,\n )\n \"\n @pointerenter=\"state.enterContent\"\n @pointerleave=\"state.leaveContent\"\n ><slot /><svg\n v-if=\"props.arrow\"\n ref=\"arrow\"\n aria-hidden=\"true\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n class=\"pointer-events-none absolute overflow-visible\"\n :style=\"arrowStyle\"\n >\n <path\n :d=\"arrowPath + 'Z'\"\n style=\"fill: var(--tooltip-arrow-fill, transparent)\"\n />\n <path\n :d=\"arrowPath\"\n fill=\"none\"\n stroke-width=\"1\"\n style=\"stroke: var(--tooltip-arrow-stroke, transparent)\"\n /></svg></motion.span></span></AnimatePresence\n ></Teleport>\n</template>\n"
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"path": "registry/orvui/motion/tooltip/src/TooltipProvider.vue",
|
|
406
|
+
"target": "~/src/components/orvui/motion/tooltip/src/TooltipProvider.vue",
|
|
407
|
+
"type": "registry:component",
|
|
408
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, inject, provide } from \"vue\";\nimport { timingKey } from \"./context\";\nconst props = defineProps<{\n delay?: number;\n closeDelay?: number;\n skipDelay?: number;\n skipDelayDuration?: number;\n}>();\nconst inherited = inject(\n timingKey,\n computed(() => ({ delay: 120, closeDelay: 0, skipDelay: 300 })),\n);\nprovide(\n timingKey,\n computed(() => ({\n delay: props.delay ?? inherited.value.delay,\n closeDelay: props.closeDelay ?? inherited.value.closeDelay,\n skipDelay:\n props.skipDelay ?? props.skipDelayDuration ?? inherited.value.skipDelay,\n })),\n);\n</script>\n<template><slot /></template>\n"
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"path": "registry/orvui/motion/tooltip/src/TooltipTrigger.vue",
|
|
412
|
+
"target": "~/src/components/orvui/motion/tooltip/src/TooltipTrigger.vue",
|
|
413
|
+
"type": "registry:component",
|
|
414
|
+
"content": "<script lang=\"ts\">\nimport {\n Comment,\n Fragment,\n Text,\n cloneVNode,\n defineComponent,\n h,\n type VNode,\n} from \"vue\";\nimport { useTooltip } from \"./context\";\nfunction flatten(nodes: VNode[]): VNode[] {\n return nodes.flatMap((node) =>\n node.type === Fragment\n ? flatten(node.children as VNode[])\n : node.type === Comment ||\n (node.type === Text && !String(node.children).trim())\n ? []\n : [node],\n );\n}\nexport default defineComponent({\n name: \"TooltipTrigger\",\n inheritAttrs: false,\n props: { asChild: Boolean },\n setup(props, { attrs, slots }) {\n const state = useTooltip();\n return () => {\n const describedBy =\n [\n attrs[\"aria-describedby\"],\n state.open.value && !state.empty.value ? state.id : undefined,\n ]\n .filter(Boolean)\n .join(\" \") || undefined;\n const a11y = state.props.asLabel\n ? {\n \"aria-labelledby\": state.empty.value\n ? attrs[\"aria-labelledby\"]\n : state.labelId,\n }\n : { \"aria-describedby\": describedBy };\n const properties = {\n ...attrs,\n ...a11y,\n \"data-state\": state.open.value ? \"open\" : \"closed\",\n ref: state.setTrigger,\n };\n const children = slots.default?.() ?? [];\n if (!props.asChild)\n return h(\"button\", { type: \"button\", ...properties }, children);\n const elements = flatten(children);\n return elements.length === 1\n ? cloneVNode(elements[0]!, properties, true)\n : elements.length\n ? elements\n : null;\n };\n },\n});\n</script>\n"
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
"path": "registry/orvui/styles.css.txt",
|
|
418
|
+
"target": "~/src/components/orvui/styles.css",
|
|
419
|
+
"type": "registry:file",
|
|
420
|
+
"content": "@import \"tailwindcss\";\n@import \"./tokens.css\";\n@source \"./**/*.{vue,ts}\";\n@source not \"./**/tests/**\";\n@custom-variant dark (&:where(.dark, .dark *));\n\n:root { --announcement-h: 2.5rem; }\n\n@theme {\n --background-image-brand-bg: var(--gradient-bg);\n --background-image-brand-accent: var(--gradient-accent);\n --animate-marquee: marquee 30s linear infinite;\n --animate-marquee-vertical: marquee-vertical 30s linear infinite;\n --animate-rainbow-border: rainbow-border 3s linear infinite;\n --animate-shimmer: shimmer 2.5s linear infinite;\n --animate-action-send: action-send 520ms var(--ease-out) both;\n --animate-action-copy: action-copy 520ms var(--ease-out) both;\n --animate-action-download: action-download 540ms var(--ease-out) both;\n --animate-action-archive: action-archive 520ms var(--ease-out) both;\n --animate-action-bell: action-bell 680ms var(--ease-out) both;\n --animate-action-settings: action-settings 720ms var(--ease-out) both;\n}\n\n/* Named motion tracks are part of the public styling contract. */\n@keyframes marquee { to { transform: translateX(calc(-100% - var(--gap, 1rem))); } }\n@keyframes marquee-vertical { to { transform: translateY(calc(-100% - var(--gap, 1rem))); } }\n@keyframes rainbow-border {\n from { background-position: 0% 50%; }\n to { background-position: 100% 50%; }\n}\n@keyframes shimmer {\n from { background-position: 200% 0; }\n to { background-position: -200% 0; }\n}\n@keyframes action-send {\n 0%, 100% { transform: translate(0, 0); }\n 45% { transform: translate(2px, -2px); }\n}\n@keyframes action-copy {\n 0%, 100% { transform: translate(0, 0); }\n 40% { transform: translate(1.5px, -1.5px); }\n 70% { transform: translate(-1px, 1px); }\n}\n@keyframes action-download {\n 0%, 100% { transform: translateY(0); }\n 42% { transform: translateY(2.5px); }\n}\n@keyframes action-archive {\n 0%, 100% { transform: scale(1); }\n 45% { transform: scale(0.9); }\n}\n@keyframes action-bell {\n 0%, 100% { transform: rotate(0deg); }\n 18% { transform: rotate(14deg); }\n 36% { transform: rotate(-12deg); }\n 54% { transform: rotate(8deg); }\n 72% { transform: rotate(-5deg); }\n}\n@keyframes action-settings {\n from { transform: rotate(0deg); }\n to { transform: rotate(90deg); }\n}\n\n@layer base {\n html, body { overflow-x: clip; }\n html { color-scheme: light dark; }\n body {\n font-family: var(--font-sans);\n color: var(--foreground);\n background: var(--background);\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n }\n a, button:not(:disabled), [role=\"button\"]:not(:disabled) { cursor: pointer; }\n ::selection {\n color: var(--foreground);\n background: color-mix(in oklch, var(--accent) 30%, transparent);\n }\n .shiki, .shiki span { color: var(--shiki-light); }\n .dark .shiki, .dark .shiki span { color: var(--shiki-dark); }\n}\n\n@layer utilities {\n .text-balance { text-wrap: balance; }\n .text-pretty { text-wrap: pretty; }\n .scrollbar-hide { scrollbar-width: none; }\n .scrollbar-hide::-webkit-scrollbar { display: none; }\n .mask-b-fade { mask-image: linear-gradient(to bottom, black 60%, transparent); }\n .mask-radial-fade { mask-image: radial-gradient(ellipse at center, black 40%, transparent 75%); }\n .grid-noise {\n background-size: 32px 32px;\n background-image: linear-gradient(to right, color-mix(in oklch, var(--foreground) 6%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklch, var(--foreground) 6%, transparent) 1px, transparent 1px);\n }\n .glass {\n background: var(--glass-bg);\n border: 1px solid var(--glass-border);\n backdrop-filter: blur(20px) saturate(160%);\n box-shadow: inset 0 1px 0 0 rgb(255 255 255 / 0.06), 0 24px 60px -24px rgb(0 0 0 / 0.45);\n }\n .glass-strong { background: var(--glass-strong-bg); backdrop-filter: blur(16px); }\n .glass-thin { background: var(--glass-thin-bg); backdrop-filter: blur(12px); border: 1px solid var(--glass-border); }\n .press { transition: transform 120ms var(--ease-out); }\n .press:active { transform: scale(0.97); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n *, *::before, *::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n}\n"
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"path": "registry/orvui/tokens.css.txt",
|
|
424
|
+
"target": "~/src/components/orvui/tokens.css",
|
|
425
|
+
"type": "registry:file",
|
|
426
|
+
"content": "/* Generated from the orvui theme compatibility contract. */\n\n:root {\n --border-strong: oklch(15% 0 0 / 0.12);\n --accent-fg: oklch(15% 0 0);\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: oklch(99% 0 0 / 0.55);\n --glass-border: oklch(15% 0 0 / 0.08);\n --glass-strong-bg: rgb(255 255 255 / 0.7);\n --glass-thin-bg: rgb(255 255 255 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(99% 0 0) 0%, oklch(96% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(72% 0.18 195) 0%, oklch(68% 0.22 295) 100%);\n --background: oklch(99% 0 0);\n --foreground: oklch(15% 0 0);\n --card: oklch(97% 0 0);\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: #0285f7;\n --primary-foreground: #ffffff;\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(50% 0 0);\n --accent: oklch(72% 0.18 195);\n --accent-foreground: var(--accent-fg);\n --destructive: var(--danger);\n --border: oklch(15% 0 0 / 0.06);\n --input: var(--border);\n --ring: var(--border-strong);\n}\n\n.dark {\n --border-strong: rgb(255 255 255 / 0.1);\n --accent-fg: #151515;\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: rgb(28 28 28 / 0.55);\n --glass-border: rgb(255 255 255 / 0.08);\n --glass-strong-bg: rgb(28 28 28 / 0.6);\n --glass-thin-bg: rgb(21 21 21 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(19% 0 0) 0%, oklch(22% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(80% 0.18 195) 0%, oklch(72% 0.18 295) 100%);\n --background: #151515;\n --foreground: oklch(96% 0 0);\n --card: #1c1c1c;\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: #0285f7;\n --primary-foreground: #ffffff;\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(62% 0 0);\n --accent: oklch(80% 0.18 195);\n --accent-foreground: var(--accent-fg);\n --destructive: var(--danger);\n --border: rgb(255 255 255 / 0.05);\n --input: var(--border);\n --ring: var(--border-strong);\n}\n\n[data-theme=\"violet\"] {\n --border-strong: oklch(15% 0 0 / 0.12);\n --accent-fg: oklch(15% 0 0);\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: oklch(99% 0 0 / 0.55);\n --glass-border: oklch(15% 0 0 / 0.08);\n --glass-strong-bg: rgb(255 255 255 / 0.7);\n --glass-thin-bg: rgb(255 255 255 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(99% 0 0) 0%, oklch(96% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(72% 0.18 195) 0%, oklch(68% 0.22 295) 100%);\n --background: oklch(99% 0 0);\n --foreground: oklch(15% 0 0);\n --card: oklch(97% 0 0);\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(55% 0.2 290);\n --primary-foreground: oklch(99% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(50% 0 0);\n --accent: oklch(55% 0.2 290);\n --accent-foreground: oklch(99% 0 0);\n --destructive: var(--danger);\n --border: oklch(15% 0 0 / 0.06);\n --input: var(--border);\n --ring: oklch(55% 0.2 290 / 0.5);\n}\n.dark[data-theme=\"violet\"] {\n --border-strong: rgb(255 255 255 / 0.1);\n --accent-fg: #151515;\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: rgb(28 28 28 / 0.55);\n --glass-border: rgb(255 255 255 / 0.08);\n --glass-strong-bg: rgb(28 28 28 / 0.6);\n --glass-thin-bg: rgb(21 21 21 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(19% 0 0) 0%, oklch(22% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(80% 0.18 195) 0%, oklch(72% 0.18 295) 100%);\n --background: #151515;\n --foreground: oklch(96% 0 0);\n --card: #1c1c1c;\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(72% 0.16 290);\n --primary-foreground: oklch(15% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(62% 0 0);\n --accent: oklch(72% 0.16 290);\n --accent-foreground: oklch(15% 0 0);\n --destructive: var(--danger);\n --border: rgb(255 255 255 / 0.05);\n --input: var(--border);\n --ring: oklch(72% 0.16 290 / 0.55);\n}\n\n[data-theme=\"blue\"] {\n --border-strong: oklch(15% 0 0 / 0.12);\n --accent-fg: oklch(15% 0 0);\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: oklch(99% 0 0 / 0.55);\n --glass-border: oklch(15% 0 0 / 0.08);\n --glass-strong-bg: rgb(255 255 255 / 0.7);\n --glass-thin-bg: rgb(255 255 255 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(99% 0 0) 0%, oklch(96% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(72% 0.18 195) 0%, oklch(68% 0.22 295) 100%);\n --background: oklch(99% 0 0);\n --foreground: oklch(15% 0 0);\n --card: oklch(97% 0 0);\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(55% 0.18 255);\n --primary-foreground: oklch(99% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(50% 0 0);\n --accent: oklch(55% 0.18 255);\n --accent-foreground: oklch(99% 0 0);\n --destructive: var(--danger);\n --border: oklch(15% 0 0 / 0.06);\n --input: var(--border);\n --ring: oklch(55% 0.18 255 / 0.5);\n}\n.dark[data-theme=\"blue\"] {\n --border-strong: rgb(255 255 255 / 0.1);\n --accent-fg: #151515;\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: rgb(28 28 28 / 0.55);\n --glass-border: rgb(255 255 255 / 0.08);\n --glass-strong-bg: rgb(28 28 28 / 0.6);\n --glass-thin-bg: rgb(21 21 21 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(19% 0 0) 0%, oklch(22% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(80% 0.18 195) 0%, oklch(72% 0.18 295) 100%);\n --background: #151515;\n --foreground: oklch(96% 0 0);\n --card: #1c1c1c;\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(70% 0.15 255);\n --primary-foreground: oklch(15% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(62% 0 0);\n --accent: oklch(70% 0.15 255);\n --accent-foreground: oklch(15% 0 0);\n --destructive: var(--danger);\n --border: rgb(255 255 255 / 0.05);\n --input: var(--border);\n --ring: oklch(70% 0.15 255 / 0.55);\n}\n\n[data-theme=\"green\"] {\n --border-strong: oklch(15% 0 0 / 0.12);\n --accent-fg: oklch(15% 0 0);\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: oklch(99% 0 0 / 0.55);\n --glass-border: oklch(15% 0 0 / 0.08);\n --glass-strong-bg: rgb(255 255 255 / 0.7);\n --glass-thin-bg: rgb(255 255 255 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(99% 0 0) 0%, oklch(96% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(72% 0.18 195) 0%, oklch(68% 0.22 295) 100%);\n --background: oklch(99% 0 0);\n --foreground: oklch(15% 0 0);\n --card: oklch(97% 0 0);\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(56% 0.14 150);\n --primary-foreground: oklch(99% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(50% 0 0);\n --accent: oklch(56% 0.14 150);\n --accent-foreground: oklch(99% 0 0);\n --destructive: var(--danger);\n --border: oklch(15% 0 0 / 0.06);\n --input: var(--border);\n --ring: oklch(56% 0.14 150 / 0.5);\n}\n.dark[data-theme=\"green\"] {\n --border-strong: rgb(255 255 255 / 0.1);\n --accent-fg: #151515;\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: rgb(28 28 28 / 0.55);\n --glass-border: rgb(255 255 255 / 0.08);\n --glass-strong-bg: rgb(28 28 28 / 0.6);\n --glass-thin-bg: rgb(21 21 21 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(19% 0 0) 0%, oklch(22% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(80% 0.18 195) 0%, oklch(72% 0.18 295) 100%);\n --background: #151515;\n --foreground: oklch(96% 0 0);\n --card: #1c1c1c;\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(72% 0.15 150);\n --primary-foreground: oklch(15% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(62% 0 0);\n --accent: oklch(72% 0.15 150);\n --accent-foreground: oklch(15% 0 0);\n --destructive: var(--danger);\n --border: rgb(255 255 255 / 0.05);\n --input: var(--border);\n --ring: oklch(72% 0.15 150 / 0.55);\n}\n\n[data-theme=\"amber\"] {\n --border-strong: oklch(15% 0 0 / 0.12);\n --accent-fg: oklch(15% 0 0);\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: oklch(99% 0 0 / 0.55);\n --glass-border: oklch(15% 0 0 / 0.08);\n --glass-strong-bg: rgb(255 255 255 / 0.7);\n --glass-thin-bg: rgb(255 255 255 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(99% 0 0) 0%, oklch(96% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(72% 0.18 195) 0%, oklch(68% 0.22 295) 100%);\n --background: oklch(99% 0 0);\n --foreground: oklch(15% 0 0);\n --card: oklch(97% 0 0);\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(74% 0.15 70);\n --primary-foreground: oklch(20% 0.02 70);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(50% 0 0);\n --accent: oklch(74% 0.15 70);\n --accent-foreground: oklch(20% 0.02 70);\n --destructive: var(--danger);\n --border: oklch(15% 0 0 / 0.06);\n --input: var(--border);\n --ring: oklch(74% 0.15 70 / 0.5);\n}\n.dark[data-theme=\"amber\"] {\n --border-strong: rgb(255 255 255 / 0.1);\n --accent-fg: #151515;\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: rgb(28 28 28 / 0.55);\n --glass-border: rgb(255 255 255 / 0.08);\n --glass-strong-bg: rgb(28 28 28 / 0.6);\n --glass-thin-bg: rgb(21 21 21 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(19% 0 0) 0%, oklch(22% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(80% 0.18 195) 0%, oklch(72% 0.18 295) 100%);\n --background: #151515;\n --foreground: oklch(96% 0 0);\n --card: #1c1c1c;\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(80% 0.15 75);\n --primary-foreground: oklch(18% 0.02 75);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(62% 0 0);\n --accent: oklch(80% 0.15 75);\n --accent-foreground: oklch(18% 0.02 75);\n --destructive: var(--danger);\n --border: rgb(255 255 255 / 0.05);\n --input: var(--border);\n --ring: oklch(80% 0.15 75 / 0.55);\n}\n\n[data-theme=\"blood-orange\"] {\n --border-strong: oklch(15% 0 0 / 0.12);\n --accent-fg: oklch(15% 0 0);\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: oklch(99% 0 0 / 0.55);\n --glass-border: oklch(15% 0 0 / 0.08);\n --glass-strong-bg: rgb(255 255 255 / 0.7);\n --glass-thin-bg: rgb(255 255 255 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(99% 0 0) 0%, oklch(96% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(72% 0.18 195) 0%, oklch(68% 0.22 295) 100%);\n --background: oklch(99% 0 0);\n --foreground: oklch(15% 0 0);\n --card: oklch(97% 0 0);\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(60% 0.19 40);\n --primary-foreground: oklch(99% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(50% 0 0);\n --accent: oklch(60% 0.19 40);\n --accent-foreground: oklch(99% 0 0);\n --destructive: var(--danger);\n --border: oklch(15% 0 0 / 0.06);\n --input: var(--border);\n --ring: oklch(60% 0.19 40 / 0.5);\n}\n.dark[data-theme=\"blood-orange\"] {\n --border-strong: rgb(255 255 255 / 0.1);\n --accent-fg: #151515;\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: rgb(28 28 28 / 0.55);\n --glass-border: rgb(255 255 255 / 0.08);\n --glass-strong-bg: rgb(28 28 28 / 0.6);\n --glass-thin-bg: rgb(21 21 21 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(19% 0 0) 0%, oklch(22% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(80% 0.18 195) 0%, oklch(72% 0.18 295) 100%);\n --background: #151515;\n --foreground: oklch(96% 0 0);\n --card: #1c1c1c;\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(72% 0.17 42);\n --primary-foreground: oklch(15% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(62% 0 0);\n --accent: oklch(72% 0.17 42);\n --accent-foreground: oklch(15% 0 0);\n --destructive: var(--danger);\n --border: rgb(255 255 255 / 0.05);\n --input: var(--border);\n --ring: oklch(72% 0.17 42 / 0.55);\n}\n\n[data-theme=\"rose\"] {\n --border-strong: oklch(15% 0 0 / 0.12);\n --accent-fg: oklch(15% 0 0);\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: oklch(99% 0 0 / 0.55);\n --glass-border: oklch(15% 0 0 / 0.08);\n --glass-strong-bg: rgb(255 255 255 / 0.7);\n --glass-thin-bg: rgb(255 255 255 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(99% 0 0) 0%, oklch(96% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(72% 0.18 195) 0%, oklch(68% 0.22 295) 100%);\n --background: oklch(99% 0 0);\n --foreground: oklch(15% 0 0);\n --card: oklch(97% 0 0);\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(58% 0.2 12);\n --primary-foreground: oklch(99% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(50% 0 0);\n --accent: oklch(58% 0.2 12);\n --accent-foreground: oklch(99% 0 0);\n --destructive: var(--danger);\n --border: oklch(15% 0 0 / 0.06);\n --input: var(--border);\n --ring: oklch(58% 0.2 12 / 0.5);\n}\n.dark[data-theme=\"rose\"] {\n --border-strong: rgb(255 255 255 / 0.1);\n --accent-fg: #151515;\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: rgb(28 28 28 / 0.55);\n --glass-border: rgb(255 255 255 / 0.08);\n --glass-strong-bg: rgb(28 28 28 / 0.6);\n --glass-thin-bg: rgb(21 21 21 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(19% 0 0) 0%, oklch(22% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(80% 0.18 195) 0%, oklch(72% 0.18 295) 100%);\n --background: #151515;\n --foreground: oklch(96% 0 0);\n --card: #1c1c1c;\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(70% 0.17 12);\n --primary-foreground: oklch(15% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(62% 0 0);\n --accent: oklch(70% 0.17 12);\n --accent-foreground: oklch(15% 0 0);\n --destructive: var(--danger);\n --border: rgb(255 255 255 / 0.05);\n --input: var(--border);\n --ring: oklch(70% 0.17 12 / 0.55);\n}\n\n[data-theme=\"red\"] {\n --border-strong: oklch(15% 0 0 / 0.12);\n --accent-fg: oklch(15% 0 0);\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: oklch(99% 0 0 / 0.55);\n --glass-border: oklch(15% 0 0 / 0.08);\n --glass-strong-bg: rgb(255 255 255 / 0.7);\n --glass-thin-bg: rgb(255 255 255 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(99% 0 0) 0%, oklch(96% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(72% 0.18 195) 0%, oklch(68% 0.22 295) 100%);\n --background: oklch(99% 0 0);\n --foreground: oklch(15% 0 0);\n --card: oklch(97% 0 0);\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(55% 0.22 25);\n --primary-foreground: oklch(99% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(50% 0 0);\n --accent: oklch(55% 0.22 25);\n --accent-foreground: oklch(99% 0 0);\n --destructive: var(--danger);\n --border: oklch(15% 0 0 / 0.06);\n --input: var(--border);\n --ring: oklch(55% 0.22 25 / 0.5);\n}\n.dark[data-theme=\"red\"] {\n --border-strong: rgb(255 255 255 / 0.1);\n --accent-fg: #151515;\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: rgb(28 28 28 / 0.55);\n --glass-border: rgb(255 255 255 / 0.08);\n --glass-strong-bg: rgb(28 28 28 / 0.6);\n --glass-thin-bg: rgb(21 21 21 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(19% 0 0) 0%, oklch(22% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(80% 0.18 195) 0%, oklch(72% 0.18 295) 100%);\n --background: #151515;\n --foreground: oklch(96% 0 0);\n --card: #1c1c1c;\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(68% 0.19 25);\n --primary-foreground: oklch(15% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(62% 0 0);\n --accent: oklch(68% 0.19 25);\n --accent-foreground: oklch(15% 0 0);\n --destructive: var(--danger);\n --border: rgb(255 255 255 / 0.05);\n --input: var(--border);\n --ring: oklch(68% 0.19 25 / 0.55);\n}\n\n[data-theme=\"teal\"] {\n --border-strong: oklch(15% 0 0 / 0.12);\n --accent-fg: oklch(15% 0 0);\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: oklch(99% 0 0 / 0.55);\n --glass-border: oklch(15% 0 0 / 0.08);\n --glass-strong-bg: rgb(255 255 255 / 0.7);\n --glass-thin-bg: rgb(255 255 255 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(99% 0 0) 0%, oklch(96% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(72% 0.18 195) 0%, oklch(68% 0.22 295) 100%);\n --background: oklch(99% 0 0);\n --foreground: oklch(15% 0 0);\n --card: oklch(97% 0 0);\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(55% 0.12 185);\n --primary-foreground: oklch(99% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(50% 0 0);\n --accent: oklch(55% 0.12 185);\n --accent-foreground: oklch(99% 0 0);\n --destructive: var(--danger);\n --border: oklch(15% 0 0 / 0.06);\n --input: var(--border);\n --ring: oklch(55% 0.12 185 / 0.5);\n}\n.dark[data-theme=\"teal\"] {\n --border-strong: rgb(255 255 255 / 0.1);\n --accent-fg: #151515;\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: rgb(28 28 28 / 0.55);\n --glass-border: rgb(255 255 255 / 0.08);\n --glass-strong-bg: rgb(28 28 28 / 0.6);\n --glass-thin-bg: rgb(21 21 21 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(19% 0 0) 0%, oklch(22% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(80% 0.18 195) 0%, oklch(72% 0.18 295) 100%);\n --background: #151515;\n --foreground: oklch(96% 0 0);\n --card: #1c1c1c;\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(72% 0.13 185);\n --primary-foreground: oklch(15% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(62% 0 0);\n --accent: oklch(72% 0.13 185);\n --accent-foreground: oklch(15% 0 0);\n --destructive: var(--danger);\n --border: rgb(255 255 255 / 0.05);\n --input: var(--border);\n --ring: oklch(72% 0.13 185 / 0.55);\n}\n\n[data-theme=\"indigo\"] {\n --border-strong: oklch(15% 0 0 / 0.12);\n --accent-fg: oklch(15% 0 0);\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: oklch(99% 0 0 / 0.55);\n --glass-border: oklch(15% 0 0 / 0.08);\n --glass-strong-bg: rgb(255 255 255 / 0.7);\n --glass-thin-bg: rgb(255 255 255 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(99% 0 0) 0%, oklch(96% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(72% 0.18 195) 0%, oklch(68% 0.22 295) 100%);\n --background: oklch(99% 0 0);\n --foreground: oklch(15% 0 0);\n --card: oklch(97% 0 0);\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(50% 0.2 275);\n --primary-foreground: oklch(99% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(50% 0 0);\n --accent: oklch(50% 0.2 275);\n --accent-foreground: oklch(99% 0 0);\n --destructive: var(--danger);\n --border: oklch(15% 0 0 / 0.06);\n --input: var(--border);\n --ring: oklch(50% 0.2 275 / 0.5);\n}\n.dark[data-theme=\"indigo\"] {\n --border-strong: rgb(255 255 255 / 0.1);\n --accent-fg: #151515;\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: rgb(28 28 28 / 0.55);\n --glass-border: rgb(255 255 255 / 0.08);\n --glass-strong-bg: rgb(28 28 28 / 0.6);\n --glass-thin-bg: rgb(21 21 21 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(19% 0 0) 0%, oklch(22% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(80% 0.18 195) 0%, oklch(72% 0.18 295) 100%);\n --background: #151515;\n --foreground: oklch(96% 0 0);\n --card: #1c1c1c;\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(70% 0.16 275);\n --primary-foreground: oklch(15% 0 0);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(62% 0 0);\n --accent: oklch(70% 0.16 275);\n --accent-foreground: oklch(15% 0 0);\n --destructive: var(--danger);\n --border: rgb(255 255 255 / 0.05);\n --input: var(--border);\n --ring: oklch(70% 0.16 275 / 0.55);\n}\n\n[data-theme=\"lime\"] {\n --border-strong: oklch(15% 0 0 / 0.12);\n --accent-fg: oklch(15% 0 0);\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: oklch(99% 0 0 / 0.55);\n --glass-border: oklch(15% 0 0 / 0.08);\n --glass-strong-bg: rgb(255 255 255 / 0.7);\n --glass-thin-bg: rgb(255 255 255 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(99% 0 0) 0%, oklch(96% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(72% 0.18 195) 0%, oklch(68% 0.22 295) 100%);\n --background: oklch(99% 0 0);\n --foreground: oklch(15% 0 0);\n --card: oklch(97% 0 0);\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(72% 0.18 130);\n --primary-foreground: oklch(20% 0.04 130);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(50% 0 0);\n --accent: oklch(72% 0.18 130);\n --accent-foreground: oklch(20% 0.04 130);\n --destructive: var(--danger);\n --border: oklch(15% 0 0 / 0.06);\n --input: var(--border);\n --ring: oklch(72% 0.18 130 / 0.5);\n}\n.dark[data-theme=\"lime\"] {\n --border-strong: rgb(255 255 255 / 0.1);\n --accent-fg: #151515;\n --neon: oklch(80% 0.22 145);\n --violet: oklch(68% 0.22 295);\n --danger: oklch(62% 0.22 25);\n --success: oklch(70% 0.18 155);\n --warning: oklch(78% 0.18 75);\n --glass-bg: rgb(28 28 28 / 0.55);\n --glass-border: rgb(255 255 255 / 0.08);\n --glass-strong-bg: rgb(28 28 28 / 0.6);\n --glass-thin-bg: rgb(21 21 21 / 0.45);\n --gradient-bg: linear-gradient(135deg, oklch(19% 0 0) 0%, oklch(22% 0.008 210) 100%);\n --gradient-accent: linear-gradient(to right, oklch(80% 0.18 195) 0%, oklch(72% 0.18 295) 100%);\n --background: #151515;\n --foreground: oklch(96% 0 0);\n --card: #1c1c1c;\n --card-foreground: var(--foreground);\n --popover: var(--card);\n --popover-foreground: var(--foreground);\n --primary: oklch(80% 0.18 130);\n --primary-foreground: oklch(18% 0.04 130);\n --secondary: var(--card);\n --secondary-foreground: var(--foreground);\n --muted: var(--card);\n --muted-foreground: oklch(62% 0 0);\n --accent: oklch(80% 0.18 130);\n --accent-foreground: oklch(18% 0.04 130);\n --destructive: var(--danger);\n --border: rgb(255 255 255 / 0.05);\n --input: var(--border);\n --ring: oklch(80% 0.18 130 / 0.55);\n}\n\n@theme inline {\n --ease-out: cubic-bezier(0.16, 1, 0.3, 1);\n --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);\n --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);\n --color-border: var(--border);\n --color-border-strong: var(--border-strong);\n --color-neon: var(--neon);\n --color-violet: var(--violet);\n --color-success: var(--success);\n --color-warning: var(--warning);\n --color-background: var(--background);\n --color-foreground: var(--foreground);\n --color-card: var(--card);\n --color-card-foreground: var(--card-foreground);\n --color-popover: var(--popover);\n --color-popover-foreground: var(--popover-foreground);\n --color-primary: var(--primary);\n --color-primary-foreground: var(--primary-foreground);\n --color-secondary: var(--secondary);\n --color-secondary-foreground: var(--secondary-foreground);\n --color-muted: var(--muted);\n --color-muted-foreground: var(--muted-foreground);\n --color-accent: var(--accent);\n --color-accent-foreground: var(--accent-foreground);\n --color-destructive: var(--destructive);\n --color-input: var(--input);\n --color-ring: var(--ring);\n --font-sans: var(--font-geist-sans, Geist), ui-sans-serif, system-ui, sans-serif;\n --font-mono: var(--font-geist-mono, \"Geist Mono\"), ui-monospace, monospace;\n --font-display: var(--font-geist-sans, Geist), ui-sans-serif, system-ui, sans-serif;\n}\n\n"
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"path": "registry/orvui/LICENSE.txt",
|
|
430
|
+
"target": "~/src/components/orvui/LICENSE.txt",
|
|
431
|
+
"type": "registry:file",
|
|
432
|
+
"content": "MIT License\n\nCopyright (c) 2026 everfu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"path": "registry/orvui/NOTICE.txt",
|
|
436
|
+
"target": "~/src/components/orvui/NOTICE.txt",
|
|
437
|
+
"type": "registry:file",
|
|
438
|
+
"content": "orvui component library\n\nCopyright (c) 2026 everfu. orvui source is distributed under MIT.\nPublic signatures, numeric palette values and visual compatibility inputs are\nmaintained as the product contract. Third-party material remains separately\nlicensed; the orvui MIT license does not replace the terms below.\n\nThe documentation hero uses the framework-neutral border-beam 1.4.1 generator,\nCopyright (c) 2026 Jakub Antalik, MIT licensed. Its license is retained at\napps/docs/public/licenses/border-beam-MIT.txt.\n\nPaper Design GPU programs and @paper-design/shaders remain under PolyForm\nShield 1.0.0. See src/motion/shader-background/LICENSE.paper-design in the\npackage and /licenses/paper-design-PolyForm-Shield.txt in the documentation.\n\nGeist and Geist Mono come from installed Fontsource packages. Their SIL Open\nFont License texts are retained in the documentation licenses directory.\nLucide icons retain their ISC license. Simple Icons brand assets come from\n@iconify-json/simple-icons 1.2.100 and retain CC0 1.0 Universal; see the\nadjacent LICENSE.simple-icons files and /licenses/simple-icons-CC0.txt.\n\nDemo photography is separate third-party material served by Unsplash and\nLorem Picsum, under the provider's terms: https://unsplash.com/license .\nDiceBear Glass avatars are CC0: https://www.dicebear.com/styles/glass/ .\nCountry flag images come from Flagpedia's documented CDN service:\nhttps://flagpedia.net/download/api . These media are not relicensed as orvui code.\nConsumer-level source records are in tools/catalog/media-provenance.json;\nthe documentation serves a copy at /media-provenance.json.\n\nSynthetic club badges, terrain illustrations and demonstration copy authored\nin this implementation use the orvui MIT license. No institutional or sports\nteam marks are bundled with the synthetic market-card example.\n"
|
|
439
|
+
}
|
|
440
|
+
],
|
|
441
|
+
"dependencies": [
|
|
442
|
+
"@floating-ui/dom@^1.7.0",
|
|
443
|
+
"clsx@^2.1.1",
|
|
444
|
+
"lucide-vue-next@^0.468.0",
|
|
445
|
+
"motion-v@^1.10.0",
|
|
446
|
+
"tailwind-merge@^3.0.0",
|
|
447
|
+
"tailwindcss@^4.0.0"
|
|
448
|
+
],
|
|
449
|
+
"meta": {
|
|
450
|
+
"product": "orvui",
|
|
451
|
+
"version": "0.1.1",
|
|
452
|
+
"package": "@orvui/vue",
|
|
453
|
+
"category": "blocks",
|
|
454
|
+
"registry": "https://orvui.efu.me/r/prediction-market-card.json"
|
|
455
|
+
}
|
|
456
|
+
}
|