@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,378 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://shadcn-vue.com/schema/registry-item.json",
|
|
3
|
+
"name": "availability-scheduler",
|
|
4
|
+
"type": "registry:block",
|
|
5
|
+
"title": "Availability Scheduler",
|
|
6
|
+
"description": "Edit weekly availability as time ranges and copy a schedule to selected days.",
|
|
7
|
+
"files": [
|
|
8
|
+
{
|
|
9
|
+
"path": "registry/orvui/blocks/availability-scheduler/index.ts",
|
|
10
|
+
"target": "~/src/components/orvui/blocks/availability-scheduler/index.ts",
|
|
11
|
+
"type": "registry:lib",
|
|
12
|
+
"content": "export { default as AvailabilityScheduler } from \"./src/AvailabilityScheduler.vue\";\nexport * from \"./src/types\";\n\nexport type * from \"./src/api-types\";\n"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"path": "registry/orvui/blocks/availability-scheduler/src/api-types.ts",
|
|
16
|
+
"target": "~/src/components/orvui/blocks/availability-scheduler/src/api-types.ts",
|
|
17
|
+
"type": "registry:lib",
|
|
18
|
+
"content": "// Vue public prop types, derived from the actual components.\nexport type AvailabilitySchedulerProps = InstanceType<\n (typeof import(\"./AvailabilityScheduler.vue\"))[\"default\"]\n>[\"$props\"];\n"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"path": "registry/orvui/blocks/availability-scheduler/src/AvailabilityScheduler.vue",
|
|
22
|
+
"target": "~/src/components/orvui/blocks/availability-scheduler/src/AvailabilityScheduler.vue",
|
|
23
|
+
"type": "registry:component",
|
|
24
|
+
"content": "<script setup lang=\"ts\">\nimport { motion, AnimatePresence } from \"motion-v\";\nimport { Plus, X } from \"lucide-vue-next\";\nimport { Switch } from \"../../../motion/switch\";\nimport { Tooltip } from \"../../../motion/tooltip\";\nimport { SPRING_LAYOUT, SPRING_PRESS } from \"../../../lib/ease\";\nimport {\n WEEKDAYS,\n panelKey,\n startOptions,\n endOptions,\n type WeekAvailability,\n} from \"./types\";\nimport { useSchedule } from \"./use-schedule\";\nimport TimeSelect from \"./TimeSelect.vue\";\nimport CopyMenu from \"./CopyMenu.vue\";\nconst props = withDefaults(\n defineProps<{\n modelValue?: WeekAvailability;\n defaultValue?: WeekAvailability;\n step?: number;\n disabled?: boolean;\n }>(),\n { step: 30 },\n);\nconst emit = defineEmits<{\n \"update:modelValue\": [value: WeekAvailability];\n change: [value: WeekAvailability];\n}>();\nconst {\n week,\n reduce,\n options,\n openDay,\n openPanel,\n panel,\n enabled,\n time,\n add,\n remove,\n copy,\n} = useSchedule(props, (value) => {\n emit(\"update:modelValue\", value);\n emit(\"change\", value);\n});\nconst edges = [\"start\", \"end\"] as const;\n</script>\n<template>\n <div class=\"w-full max-w-xl divide-y divide-border\">\n <motion.div\n v-for=\"day in WEEKDAYS\"\n :key=\"day.key\"\n :layout=\"reduce ? false : 'position'\"\n :transition=\"SPRING_LAYOUT\"\n :style=\"{ zIndex: openDay === day.key ? 1 : undefined }\"\n class=\"relative flex flex-wrap items-start gap-3 py-4 sm:flex-nowrap sm:gap-4\"\n >\n <div\n class=\"order-1 flex flex-1 items-center gap-2.5 sm:w-36 sm:flex-none sm:pt-1\"\n >\n <Switch\n :model-value=\"week[day.key].enabled\"\n :disabled=\"disabled\"\n :aria-label=\"`Toggle ${day.label} availability`\"\n class=\"scale-90\"\n @update:model-value=\"enabled(day.key, $event)\"\n /><span class=\"text-sm font-medium\">{{ day.label }}</span>\n </div>\n <div\n class=\"order-3 flex w-full min-w-0 flex-col gap-2 sm:order-2 sm:w-auto sm:flex-1\"\n >\n <AnimatePresence :initial=\"false\" mode=\"popLayout\"\n ><template v-if=\"week[day.key].enabled\"\n ><motion.div\n v-for=\"(range, index) in week[day.key].ranges\"\n :key=\"range.id\"\n :layout=\"reduce ? false : 'position'\"\n :style=\"{\n zIndex: openPanel?.startsWith(`${day.key}:${range.id}:`)\n ? 1\n : undefined,\n }\"\n :initial=\"\n reduce\n ? { opacity: 0 }\n : { opacity: 0, y: -6, filter: 'blur(4px)' }\n \"\n :animate=\"{ opacity: 1, y: 0, filter: 'blur(0px)' }\"\n :exit=\"\n reduce\n ? { opacity: 0 }\n : { opacity: 0, y: -4, filter: 'blur(4px)' }\n \"\n :transition=\"SPRING_LAYOUT\"\n class=\"relative flex items-center gap-2\"\n >\n <template v-for=\"edge in edges\" :key=\"edge\"\n ><span v-if=\"edge === 'end'\" class=\"text-muted-foreground\"\n >–</span\n >\n <div class=\"min-w-0 flex-1 sm:max-w-[132px]\">\n <TimeSelect\n :value=\"range[edge]\"\n :label=\"`${day.label} ${edge} time ${index + 1}`\"\n :options=\"\n edge === 'start'\n ? startOptions(options, range.end, range.start)\n : endOptions(options, range.start, range.end)\n \"\n :open=\"openPanel === panelKey(day.key, range.id, edge)\"\n :disabled=\"disabled\"\n @change=\"time(day.key, index, edge, $event)\"\n @update:open=\"panel(day.key, range.id, edge, $event)\"\n /></div\n ></template>\n <Tooltip content=\"Remove\"\n ><motion.button\n type=\"button\"\n :disabled=\"disabled\"\n :aria-label=\"`Remove ${day.label} range ${index + 1}`\"\n class=\"flex size-8 items-center justify-center rounded-lg text-muted-foreground outline-none hover:bg-muted focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-40\"\n :while-press=\"reduce ? undefined : { scale: 0.92 }\"\n :transition=\"SPRING_PRESS\"\n @click=\"remove(day.key, range.id)\"\n ><X\n class=\"size-4\" /></motion.button></Tooltip></motion.div></template\n ><motion.span\n v-else\n key=\"unavailable\"\n :layout=\"reduce ? false : 'position'\"\n :initial=\"reduce ? { opacity: 0 } : { opacity: 0, y: -4 }\"\n :animate=\"{ opacity: 1, y: 0 }\"\n :exit=\"reduce ? { opacity: 0 } : { opacity: 0, y: -4 }\"\n :transition=\"SPRING_LAYOUT\"\n class=\"py-1 text-sm text-muted-foreground sm:py-2\"\n >Unavailable</motion.span\n ></AnimatePresence\n >\n </div>\n <div class=\"order-2 flex shrink-0 items-center gap-1 pt-0.5 sm:order-3\">\n <Tooltip content=\"Add time\"\n ><motion.button\n type=\"button\"\n :disabled=\"disabled\"\n :aria-label=\"`Add time range to ${day.label}`\"\n class=\"flex size-8 items-center justify-center rounded-lg text-muted-foreground outline-none hover:bg-muted focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-40\"\n :while-press=\"reduce ? undefined : { scale: 0.92 }\"\n :transition=\"SPRING_PRESS\"\n @click=\"add(day.key)\"\n ><Plus class=\"size-4\" /></motion.button></Tooltip\n ><CopyMenu\n :from-label=\"day.label\"\n :disabled=\"disabled\"\n :reduce=\"reduce\"\n @apply=\"copy(day.key, $event)\"\n />\n </div>\n </motion.div>\n </div>\n</template>\n"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"path": "registry/orvui/blocks/availability-scheduler/src/CopyMenu.vue",
|
|
28
|
+
"target": "~/src/components/orvui/blocks/availability-scheduler/src/CopyMenu.vue",
|
|
29
|
+
"type": "registry:component",
|
|
30
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, ref } from \"vue\";\nimport { motion, AnimatePresence } from \"motion-v\";\nimport { Copy, Check } from \"lucide-vue-next\";\nimport { Checkbox } from \"../../../motion/checkbox\";\nimport {\n MorphPopover,\n MorphPopoverTrigger,\n MorphPopoverContent,\n} from \"../../../motion/popover\";\nimport { Tooltip } from \"../../../motion/tooltip\";\nimport { SPRING_PRESS } from \"../../../lib/ease\";\nimport { WEEKDAYS, type DayKey } from \"./types\";\nconst props = defineProps<{\n fromLabel: string;\n reduce: boolean;\n disabled?: boolean;\n }>(),\n emit = defineEmits<{ apply: [targets: DayKey[]] }>();\nconst open = ref(false),\n copied = ref(false),\n picked = ref(new Set<DayKey>()),\n others = computed(() =>\n WEEKDAYS.filter((day) => day.label !== props.fromLabel),\n );\nlet reset: ReturnType<typeof setTimeout> | undefined;\nfunction toggle(id: DayKey) {\n const selection = new Set(picked.value);\n if (selection.has(id)) selection.delete(id);\n else selection.add(id);\n picked.value = selection;\n}\nfunction apply(targets: DayKey[]) {\n if (!targets.length) return;\n emit(\"apply\", targets);\n open.value = false;\n picked.value = new Set();\n copied.value = true;\n clearTimeout(reset);\n reset = setTimeout(() => {\n copied.value = false;\n }, 1200);\n}\nonBeforeUnmount(() => clearTimeout(reset));\n</script>\n<template>\n <MorphPopover v-model:open=\"open\"\n ><Tooltip content=\"Copy times\"\n ><MorphPopoverTrigger\n ><motion.button\n type=\"button\"\n :disabled=\"disabled\"\n :aria-label=\"`Copy ${fromLabel} hours to other days`\"\n class=\"flex size-8 items-center justify-center rounded-lg text-muted-foreground outline-none hover:bg-muted focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-40\"\n :while-press=\"reduce ? undefined : { scale: 0.92 }\"\n :transition=\"SPRING_PRESS\"\n ><AnimatePresence mode=\"popLayout\" :initial=\"false\"\n ><motion.span\n :key=\"copied ? 'done' : 'copy'\"\n :initial=\"reduce ? { opacity: 0 } : { opacity: 0, scale: 0.5 }\"\n :animate=\"{ opacity: 1, scale: 1 }\"\n :exit=\"reduce ? { opacity: 0 } : { opacity: 0, scale: 0.5 }\"\n :transition=\"SPRING_PRESS\"\n ><component\n :is=\"copied ? Check : Copy\"\n class=\"size-4\" /></motion.span></AnimatePresence></motion.button></MorphPopoverTrigger></Tooltip\n ><MorphPopoverContent align=\"end\" class=\"w-52 p-2\"\n ><p class=\"px-2 py-1.5 text-xs font-medium text-muted-foreground\">\n Copy times to\n </p>\n <div class=\"flex flex-col\">\n <Checkbox\n v-for=\"day in others\"\n :key=\"day.key\"\n :model-value=\"picked.has(day.key)\"\n :label=\"day.label\"\n :aria-label=\"day.label\"\n class=\"w-full flex-row-reverse justify-between rounded-lg px-2 py-1.5 transition-colors hover:bg-muted [&_button]:size-4 [&_button]:rounded-[5px] [&_button]:border\"\n @update:model-value=\"toggle(day.key)\"\n />\n </div>\n <div\n class=\"mt-1 flex items-center gap-2 border-t border-border px-1 pt-2\"\n >\n <button\n type=\"button\"\n class=\"flex-1 rounded-lg px-2 py-1.5 text-xs font-medium text-muted-foreground hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n @click=\"apply(others.map((day) => day.key))\"\n >\n Every day</button\n ><button\n type=\"button\"\n :disabled=\"!picked.size\"\n class=\"flex-1 rounded-lg bg-primary px-2 py-1.5 text-xs font-semibold text-primary-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-40\"\n @click=\"apply([...picked])\"\n >\n Apply\n </button>\n </div></MorphPopoverContent\n ></MorphPopover\n >\n</template>\n"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"path": "registry/orvui/blocks/availability-scheduler/src/TimeSelect.vue",
|
|
34
|
+
"target": "~/src/components/orvui/blocks/availability-scheduler/src/TimeSelect.vue",
|
|
35
|
+
"type": "registry:component",
|
|
36
|
+
"content": "<script setup lang=\"ts\">\nimport {\n Select,\n SelectTrigger,\n SelectValue,\n SelectContent,\n SelectItem,\n} from \"../../../motion/select\";\nimport type { TimeOption } from \"./types\";\ndefineProps<{\n value: string;\n open: boolean;\n options: TimeOption[];\n disabled?: boolean;\n label?: string;\n}>();\nconst emit = defineEmits<{\n change: [value: string];\n \"update:open\": [open: boolean];\n}>();\n</script>\n<template>\n <Select\n :model-value=\"value\"\n :open=\"open\"\n :disabled=\"disabled\"\n class=\"w-full\"\n @update:model-value=\"emit('change', $event)\"\n @update:open=\"emit('update:open', $event)\"\n ><SelectTrigger :aria-label=\"label\" class=\"tabular-nums\"\n ><SelectValue class=\"whitespace-nowrap\" /></SelectTrigger\n ><SelectContent\n ><div class=\"max-h-56 overflow-y-auto overscroll-contain\">\n <SelectItem\n v-for=\"{ value: option, label: caption } in options\"\n :key=\"option\"\n :value=\"option\"\n class=\"tabular-nums\"\n >{{ caption }}</SelectItem\n >\n </div></SelectContent\n ></Select\n >\n</template>\n"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"path": "registry/orvui/blocks/availability-scheduler/src/types.ts",
|
|
40
|
+
"target": "~/src/components/orvui/blocks/availability-scheduler/src/types.ts",
|
|
41
|
+
"type": "registry:lib",
|
|
42
|
+
"content": "export type DayKey = \"mon\" | \"tue\" | \"wed\" | \"thu\" | \"fri\" | \"sat\" | \"sun\";\nexport type TimeRange = { id: string; start: string; end: string };\nexport type DayAvailability = { enabled: boolean; ranges: TimeRange[] };\nexport type WeekAvailability = Record<DayKey, DayAvailability>;\nexport type TimeOption = { value: string; label: string };\nexport const WEEKDAYS: { key: DayKey; label: string }[] = [\n { key: \"mon\", label: \"Monday\" },\n { key: \"tue\", label: \"Tuesday\" },\n { key: \"wed\", label: \"Wednesday\" },\n { key: \"thu\", label: \"Thursday\" },\n { key: \"fri\", label: \"Friday\" },\n { key: \"sat\", label: \"Saturday\" },\n { key: \"sun\", label: \"Sunday\" },\n];\nexport const panelKey = (day: DayKey, id: string, edge: \"start\" | \"end\") =>\n `${day}:${id}:${edge}`;\nexport function toMinutes(value: string) {\n const parts = value.split(\":\");\n return Number(parts[0]) * 60 + Number(parts[1]);\n}\nexport function toValue(minutes: number) {\n const bounded = Math.max(0, Math.min(1439, minutes));\n return `${String(Math.floor(bounded / 60)).padStart(2, \"0\")}:${String(bounded % 60).padStart(2, \"0\")}`;\n}\nexport function label12(value: string) {\n const [hours, minutes] = value.split(\":\").map(Number);\n return `${hours % 12 || 12}:${String(minutes).padStart(2, \"0\")} ${hours < 12 ? \"AM\" : \"PM\"}`;\n}\nexport function buildOptions(step: number): TimeOption[] {\n const options: TimeOption[] = [];\n for (let minutes = 0; minutes < 1440; minutes += step) {\n const value = toValue(minutes);\n options.push({ value, label: label12(value) });\n }\n return options;\n}\nfunction withCurrent(\n options: TimeOption[],\n all: TimeOption[],\n current?: string,\n) {\n if (!current || options.some((option) => option.value === current))\n return options;\n return [\n ...options,\n all.find((option) => option.value === current) ?? {\n value: current,\n label: label12(current),\n },\n ].sort((a, b) => toMinutes(a.value) - toMinutes(b.value));\n}\nexport function clampRange(\n start: string,\n end: string,\n options: TimeOption[],\n changed: \"start\" | \"end\" = \"start\",\n) {\n if (!options.length || toMinutes(end) > toMinutes(start))\n return { start, end };\n const slots = options.map((option) => toMinutes(option.value));\n const nearest = (value: string) => {\n const target = toMinutes(value);\n return slots.reduce(\n (best, slot) =>\n Math.abs(slot - target) < Math.abs(best - target) ? slot : best,\n slots[0],\n );\n };\n if (changed === \"end\") {\n const kept = nearest(end);\n const earlier = slots.filter((slot) => slot < kept).at(-1);\n if (earlier === undefined && slots.length > 1)\n return { start: toValue(slots[0]), end: toValue(slots[1]) };\n return { start: toValue(earlier ?? nearest(start)), end: toValue(kept) };\n }\n const kept = nearest(start),\n later = slots.find((slot) => slot > kept);\n if (later === undefined && slots.length > 1)\n return { start: toValue(slots.at(-2)!), end: toValue(slots.at(-1)!) };\n return { start: toValue(kept), end: toValue(later ?? nearest(end)) };\n}\nexport function startOptions(\n options: TimeOption[],\n end: string,\n current?: string,\n) {\n const earlier = options.filter(\n (option) => toMinutes(option.value) < toMinutes(end),\n );\n return withCurrent(\n earlier.length ? earlier : options.slice(0, 1),\n options,\n current,\n );\n}\nexport function endOptions(\n options: TimeOption[],\n start: string,\n current?: string,\n) {\n const later = options.filter(\n (option) => toMinutes(option.value) > toMinutes(start),\n );\n return withCurrent(\n later.length ? later : options.slice(-1),\n options,\n current,\n );\n}\nexport function defaultWeek(): WeekAvailability {\n return Object.fromEntries(\n WEEKDAYS.map(({ key }, index) => [\n key,\n {\n enabled: index < 5,\n ranges: [{ id: `${key}-0`, start: \"09:00\", end: \"17:00\" }],\n },\n ]),\n ) as WeekAvailability;\n}\n"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"path": "registry/orvui/blocks/availability-scheduler/src/use-schedule.ts",
|
|
46
|
+
"target": "~/src/components/orvui/blocks/availability-scheduler/src/use-schedule.ts",
|
|
47
|
+
"type": "registry:lib",
|
|
48
|
+
"content": "import { computed, ref, useId, watch } from \"vue\";\nimport { useControllable, useReduced } from \"../../shared\";\nimport {\n WEEKDAYS,\n buildOptions,\n clampRange,\n defaultWeek,\n panelKey,\n toMinutes,\n toValue,\n type DayKey,\n type WeekAvailability,\n} from \"./types\";\nexport function useSchedule(\n props: {\n modelValue?: WeekAvailability;\n defaultValue?: WeekAvailability;\n step: number;\n },\n change: (week: WeekAvailability) => void,\n) {\n const week = useControllable(\n () => props.modelValue,\n props.defaultValue ?? defaultWeek(),\n change,\n ),\n reduce = useReduced(),\n id = useId();\n const options = computed(() => buildOptions(Math.max(1, props.step))),\n openDay = ref<DayKey | null>(null),\n openPanel = ref<string | null>(null);\n let sequence = 0;\n const makeId = (day: DayKey, copied = false) =>\n `${day}-${id}-${copied ? \"c\" : \"\"}${sequence++}`;\n const set = (day: DayKey, patch: Partial<WeekAvailability[DayKey]>) => {\n week.value = { ...week.value, [day]: { ...week.value[day], ...patch } };\n };\n function panel(\n day: DayKey,\n rangeId: string,\n edge: \"start\" | \"end\",\n show: boolean,\n ) {\n const key = panelKey(day, rangeId, edge);\n if (show) {\n openPanel.value = key;\n openDay.value = day;\n } else if (openPanel.value === key) openPanel.value = null;\n }\n function enabled(day: DayKey, on: boolean) {\n const entry = week.value[day];\n set(day, {\n enabled: on,\n ...(on && !entry.ranges.length\n ? { ranges: [{ id: makeId(day), start: \"09:00\", end: \"17:00\" }] }\n : {}),\n });\n }\n function time(\n day: DayKey,\n index: number,\n edge: \"start\" | \"end\",\n value: string,\n ) {\n set(day, {\n ranges: week.value[day].ranges.map((range, at) =>\n at !== index\n ? range\n : {\n ...range,\n ...clampRange(\n edge === \"start\" ? value : range.start,\n edge === \"end\" ? value : range.end,\n options.value,\n edge,\n ),\n },\n ),\n });\n }\n function add(day: DayKey) {\n const last = week.value[day].ranges.at(-1),\n start = last ? Math.min(toMinutes(last.end) + 60, 1380) : 540;\n set(day, {\n enabled: true,\n ranges: [\n ...week.value[day].ranges,\n { id: makeId(day), start: toValue(start), end: toValue(start + 60) },\n ],\n });\n }\n function remove(day: DayKey, id: string) {\n const ranges = week.value[day].ranges.filter((range) => range.id !== id);\n set(day, { enabled: !!ranges.length, ranges });\n }\n function copy(from: DayKey, targets: DayKey[]) {\n const source = week.value[from],\n next = { ...week.value };\n for (const target of targets)\n next[target] = {\n enabled: source.enabled,\n ranges: source.ranges.map((range) => ({\n ...range,\n id: makeId(target, true),\n })),\n };\n week.value = next;\n }\n watch(\n week,\n (value) => {\n const visible = new Set<string>();\n for (const { key } of WEEKDAYS)\n if (value[key].enabled)\n for (const range of value[key].ranges) {\n visible.add(panelKey(key, range.id, \"start\"));\n visible.add(panelKey(key, range.id, \"end\"));\n }\n if (openPanel.value && !visible.has(openPanel.value))\n openPanel.value = null;\n },\n { deep: true },\n );\n return {\n week,\n reduce,\n options,\n openDay,\n openPanel,\n panel,\n enabled,\n time,\n add,\n remove,\n copy,\n };\n}\n"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"path": "registry/orvui/blocks/dismiss.ts",
|
|
52
|
+
"target": "~/src/components/orvui/blocks/dismiss.ts",
|
|
53
|
+
"type": "registry:lib",
|
|
54
|
+
"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"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"path": "registry/orvui/blocks/shared.ts",
|
|
58
|
+
"target": "~/src/components/orvui/blocks/shared.ts",
|
|
59
|
+
"type": "registry:lib",
|
|
60
|
+
"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"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"path": "registry/orvui/lib/composables.ts",
|
|
64
|
+
"target": "~/src/components/orvui/lib/composables.ts",
|
|
65
|
+
"type": "registry:lib",
|
|
66
|
+
"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"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"path": "registry/orvui/lib/ease.ts",
|
|
70
|
+
"target": "~/src/components/orvui/lib/ease.ts",
|
|
71
|
+
"type": "registry:lib",
|
|
72
|
+
"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"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"path": "registry/orvui/lib/layers.ts",
|
|
76
|
+
"target": "~/src/components/orvui/lib/layers.ts",
|
|
77
|
+
"type": "registry:lib",
|
|
78
|
+
"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"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"path": "registry/orvui/lib/utils.ts",
|
|
82
|
+
"target": "~/src/components/orvui/lib/utils.ts",
|
|
83
|
+
"type": "registry:lib",
|
|
84
|
+
"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"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"path": "registry/orvui/motion/checkbox/index.ts",
|
|
88
|
+
"target": "~/src/components/orvui/motion/checkbox/index.ts",
|
|
89
|
+
"type": "registry:lib",
|
|
90
|
+
"content": "export { default as Checkbox } from \"./src/Checkbox.vue\";\n\nexport type * from \"./src/api-types\";\n"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"path": "registry/orvui/motion/checkbox/src/api-types.ts",
|
|
94
|
+
"target": "~/src/components/orvui/motion/checkbox/src/api-types.ts",
|
|
95
|
+
"type": "registry:lib",
|
|
96
|
+
"content": "// Vue public prop types, derived from the actual components.\nexport type CheckboxProps = InstanceType<\n (typeof import(\"./Checkbox.vue\"))[\"default\"]\n>[\"$props\"];\n"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"path": "registry/orvui/motion/checkbox/src/Checkbox.vue",
|
|
100
|
+
"target": "~/src/components/orvui/motion/checkbox/src/Checkbox.vue",
|
|
101
|
+
"type": "registry:component",
|
|
102
|
+
"content": "<script setup lang=\"ts\">\ndefineOptions({ inheritAttrs: false });\nimport { computed, useAttrs, useId } from \"vue\";\nimport { AnimatePresence, motion } from \"motion-v\";\nimport { cn } from \"../../../lib/utils\";\nimport { EASE_OUT, SPRING_PRESS } from \"../../../lib/ease\";\nimport { useReducedMotion } from \"../../../lib/composables\";\nimport { useMotionState } from \"../../state\";\n\nconst props = withDefaults(defineProps<{\n modelValue?: boolean; defaultValue?: boolean; disabled?: boolean; indeterminate?: boolean;\n label?: string; description?: string; id?: string; ariaLabel?: string; ariaDescribedBy?: string;\n}>(), { modelValue: undefined, defaultValue: false });\nconst emit = defineEmits([\"update:modelValue\", \"change\"]);\nconst checked = useMotionState(props, emit, \"modelValue\", props.defaultValue);\nconst generatedId = useId(), attrs = useAttrs(), reduced = useReducedMotion();\nconst controlId = computed(() => props.id ?? generatedId);\nconst accessibleName = computed(() => props.ariaLabel ?? attrs[\"aria-label\"] as string | undefined);\nconst labelId = computed(() => props.description && props.label && !accessibleName.value ? `${controlId.value}-label` : undefined);\nconst descriptionIds = computed(() => [props.ariaDescribedBy ?? attrs[\"aria-describedby\"], props.description ? `${controlId.value}-description` : undefined].filter(Boolean).join(\" \") || undefined);\nconst hasMark = computed(() => checked.value || props.indeterminate);\nconst state = computed(() => checked.value ? \"checked\" : props.indeterminate ? \"indeterminate\" : \"unchecked\");\nconst mark = computed(() => props.indeterminate ? \"M6 12h12\" : \"M5 13l4 4L19 7\");\nfunction toggle(event: MouseEvent) { if (!props.disabled && !event.defaultPrevented) checked.value = !checked.value; }\n</script>\n\n<template>\n <label :for=\"controlId\" :style=\"$attrs.style as any\"\n :class=\"cn('inline-flex gap-3', description ? 'items-start' : 'items-center', disabled ? 'cursor-not-allowed' : 'cursor-pointer', $attrs.class as string)\">\n <motion.button v-bind=\"{ ...$attrs, class: undefined, style: undefined }\" :id=\"controlId\"\n type=\"button\" role=\"checkbox\" :aria-checked=\"indeterminate ? 'mixed' : checked\"\n :aria-label=\"accessibleName\" :aria-labelledby=\"labelId\" :aria-describedby=\"descriptionIds\"\n :disabled=\"disabled\" :data-state=\"state\" @click=\"toggle\"\n :while-press=\"reduced || disabled ? undefined : { scale: 0.92 }\" :transition=\"SPRING_PRESS\"\n :class=\"cn('inline-flex h-5 w-5 shrink-0 items-center justify-center rounded-md border-2 outline-none transition-colors duration-200 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-60', hasMark ? 'border-primary bg-primary text-primary-foreground' : 'border-muted-foreground/65 bg-background hover:border-muted-foreground')\">\n <AnimatePresence :initial=\"false\">\n <motion.svg v-if=\"hasMark\" :key=\"indeterminate ? 'indeterminate' : 'checked'\"\n width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" :stroke-width=\"3\"\n stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\n :initial=\"reduced ? { opacity: 1 } : { opacity: 0, scale: 0.5 }\"\n :animate=\"reduced ? { opacity: 1 } : { opacity: 1, scale: 1 }\"\n :exit=\"reduced ? { opacity: 0 } : { opacity: 0, scale: 0.5, filter: 'blur(4px)' }\"\n :transition=\"reduced ? { duration: 0 } : { duration: 0.16, ease: EASE_OUT }\">\n <title>{{ indeterminate ? 'Partially selected' : 'Selected' }}</title>\n <motion.path :d=\"mark\" :initial=\"{ pathLength: reduced ? 1 : 0 }\" :animate=\"{ pathLength: 1 }\"\n :transition=\"reduced ? { duration: 0 } : { duration: indeterminate ? 0.2 : 0.3, ease: EASE_OUT, delay: 0.04 }\" />\n </motion.svg>\n </AnimatePresence>\n </motion.button>\n <span v-if=\"label || description\" :class=\"cn('flex min-w-0 flex-col gap-0.5 select-none', disabled && 'opacity-60')\">\n <span v-if=\"label\" :id=\"labelId\" :class=\"cn('text-sm text-foreground', description && 'leading-4')\">{{ label }}</span>\n <span v-if=\"description\" :id=\"controlId + '-description'\" class=\"text-xs text-muted-foreground\">{{ description }}</span>\n </span>\n </label>\n</template>\n"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"path": "registry/orvui/motion/popover/index.ts",
|
|
106
|
+
"target": "~/src/components/orvui/motion/popover/index.ts",
|
|
107
|
+
"type": "registry:lib",
|
|
108
|
+
"content": "export { default as Popover } from \"./src/Popover.vue\";\nexport { default as PopoverTrigger } from \"./src/PopoverTrigger.vue\";\nexport { default as PopoverContent } from \"./src/PopoverContent.vue\";\nexport { default as MorphPopover } from \"./src/MorphPopover.vue\";\nexport { default as MorphPopoverContent } from \"./src/MorphPopoverContent.vue\";\nexport { default as MorphPopoverTrigger } from \"./src/MorphPopoverTrigger.vue\";\n\nexport type * from \"./src/api-types\";\n"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"path": "registry/orvui/motion/popover/src/api-types.ts",
|
|
112
|
+
"target": "~/src/components/orvui/motion/popover/src/api-types.ts",
|
|
113
|
+
"type": "registry:lib",
|
|
114
|
+
"content": "// Vue public prop types, derived from the actual components.\nexport type MorphPopoverContentProps = InstanceType<\n (typeof import(\"./MorphPopoverContent.vue\"))[\"default\"]\n>[\"$props\"];\nexport type MorphPopoverProps = InstanceType<\n (typeof import(\"./MorphPopover.vue\"))[\"default\"]\n>[\"$props\"];\nexport type MorphPopoverTriggerProps = InstanceType<\n (typeof import(\"./MorphPopoverTrigger.vue\"))[\"default\"]\n>[\"$props\"];\nexport type PopoverContentProps = InstanceType<\n (typeof import(\"./PopoverContent.vue\"))[\"default\"]\n>[\"$props\"];\nexport type PopoverProps = InstanceType<\n (typeof import(\"./Popover.vue\"))[\"default\"]\n>[\"$props\"];\nexport type PopoverTriggerProps = InstanceType<\n (typeof import(\"./PopoverTrigger.vue\"))[\"default\"]\n>[\"$props\"];\n"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"path": "registry/orvui/motion/popover/src/context.ts",
|
|
118
|
+
"target": "~/src/components/orvui/motion/popover/src/context.ts",
|
|
119
|
+
"type": "registry:lib",
|
|
120
|
+
"content": "import {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n shallowRef,\n useId,\n watch,\n type InjectionKey,\n type Ref,\n} from \"vue\";\nimport { animate, motionValue } from \"motion-v\";\nimport {\n resolveElement,\n useFloatingLayer,\n useReducedMotion,\n} from \"../../../lib/composables\";\nimport type { Side, Align } from \"./geometry\";\nexport interface PopoverProps {\n open?: boolean;\n defaultOpen?: boolean;\n trigger?: \"click\" | \"hover\";\n side?: Side;\n align?: Align;\n sideOffset?: number;\n panelRadius?: number;\n gooStrength?: number;\n className?: string;\n}\nexport const GOO_OPEN_SPRING = {\n type: \"spring\",\n visualDuration: 0.3,\n bounce: 0.15,\n} as const;\nexport const GOO_CLOSE_SPRING = {\n type: \"spring\",\n visualDuration: 0.21,\n bounce: 0.15,\n} as const;\n/** A dragged contact is never interpreted as a hovering pointer departure. */\nexport function hoverGesture() {\n const dragging = new Map<number, boolean>();\n return {\n enter(event: PointerEvent) {\n const hover = event.pointerType !== \"touch\" && event.buttons === 0;\n dragging.set(event.pointerId, !hover);\n return hover;\n },\n leave(event: PointerEvent) {\n const dragged = dragging.get(event.pointerId);\n dragging.delete(event.pointerId);\n return event.pointerType !== \"touch\" && !dragged;\n },\n };\n}\nexport function createPopover(\n props: PopoverProps,\n emit: (event: any, ...args: any[]) => void,\n kind: \"goo\" | \"morph\" = \"goo\",\n) {\n const id = useId().replace(/[^\\w-]/g, \"\");\n const root = ref<HTMLElement | null>(null);\n const trigger = shallowRef<HTMLElement | null>(null);\n const content = shallowRef<HTMLElement | null>(null);\n const memory = ref(props.defaultOpen ?? false);\n const open = computed({\n get: () => props.open ?? memory.value,\n set: (next: boolean) => {\n if (props.open === undefined) memory.value = next;\n emit(\"update:open\", next);\n emit(\"openChange\", next);\n },\n });\n const anchor = computed(() => trigger.value ?? root.value);\n const reduce = useReducedMotion();\n const progress = motionValue(open.value ? 1 : 0);\n const layer = useFloatingLayer(open, content);\n let mounted = false;\n let disposed = false;\n let closeTimer: ReturnType<typeof setTimeout> | undefined;\n let timerRevision = 0;\n let animation: ReturnType<typeof animate> | undefined;\n let focusIntent = false;\n let clearIntent: (() => void) | undefined;\n const cancelClose = () => {\n ++timerRevision;\n clearTimeout(closeTimer);\n closeTimer = undefined;\n };\n const setOpen = (next: boolean) => {\n open.value = next;\n };\n const toggle = () => {\n open.value = !open.value;\n };\n const openHover = () => {\n cancelClose();\n open.value = true;\n };\n function scheduleClose() {\n cancelClose();\n const version = timerRevision;\n closeTimer = setTimeout(() => {\n if (!disposed && version === timerRevision) open.value = false;\n }, 120);\n }\n function close() {\n cancelClose();\n const current = content.value?.ownerDocument.activeElement;\n const restore = current && content.value?.contains(current);\n open.value = false;\n if (restore)\n (\n trigger.value ??\n (root.value && root.value.tabIndex >= 0 ? root.value : null)\n )?.focus();\n }\n function armFocusOnOpen(armed: boolean) {\n clearIntent?.();\n clearIntent = undefined;\n focusIntent = armed;\n if (!armed || typeof document === \"undefined\") return;\n const documentScope = anchor.value?.ownerDocument ?? document;\n const cancel = () => {\n focusIntent = false;\n clearIntent?.();\n clearIntent = undefined;\n };\n documentScope.addEventListener(\"keydown\", cancel, true);\n documentScope.addEventListener(\"pointerdown\", cancel, true);\n clearIntent = () => {\n documentScope.removeEventListener(\"keydown\", cancel, true);\n documentScope.removeEventListener(\"pointerdown\", cancel, true);\n };\n }\n function takeFocusOnOpen() {\n const intended = focusIntent;\n armFocusOnOpen(false);\n return intended;\n }\n function animateState() {\n animation?.stop();\n if (!mounted || kind === \"morph\") return;\n animation = animate(\n progress,\n open.value ? 1 : 0,\n reduce.value\n ? { duration: 0 }\n : open.value\n ? GOO_OPEN_SPRING\n : GOO_CLOSE_SPRING,\n );\n }\n watch([open, reduce], animateState, { flush: \"post\" });\n const outside = (event: PointerEvent) => {\n if (\n open.value &&\n event.target instanceof Node &&\n !layer.containsHigher(event.target) &&\n !root.value?.contains(event.target) &&\n !content.value?.contains(event.target)\n )\n close();\n };\n const escape = (event: KeyboardEvent) => {\n if (layer.claimEscape(event)) close();\n };\n onMounted(() => {\n mounted = true;\n animateState();\n window.addEventListener(\"pointerdown\", outside, true);\n window.addEventListener(\"keydown\", escape);\n });\n onBeforeUnmount(() => {\n disposed = true;\n mounted = false;\n cancelClose();\n clearIntent?.();\n animation?.stop();\n progress.destroy();\n window.removeEventListener(\"pointerdown\", outside, true);\n window.removeEventListener(\"keydown\", escape);\n });\n return {\n kind,\n p: props,\n root,\n trigger,\n content,\n anchor,\n open,\n progress,\n reduce,\n setOpen,\n toggle,\n close,\n openHover,\n scheduleClose,\n cancelClose,\n armFocusOnOpen,\n takeFocusOnOpen,\n gooId: `${id}-goo`,\n triggerId: `${id}-trigger`,\n contentId: `${id}-content`,\n };\n}\nexport const popoverKey: InjectionKey<ReturnType<typeof createPopover>> =\n Symbol(\"popover\");\nexport function usePopover() {\n const state = inject(popoverKey);\n if (!state)\n throw Error(\"Popover parts must be inside Popover or MorphPopover.\");\n return state;\n}\nexport type PortalLayout = {\n trigger: { left: number; top: number; width: number; height: number };\n content: { width: number; height: number };\n};\nexport function usePortalPosition(\n anchor: Ref<HTMLElement | null>,\n content: Ref<HTMLElement | null>,\n active: Ref<boolean>,\n) {\n const layout = ref<PortalLayout | null>(null);\n let mounted = false;\n let revision = 0;\n let observer: ResizeObserver | undefined;\n let attached = false;\n function update() {\n const source = anchor.value;\n const target = content.value;\n if (!mounted || !source || !target) return;\n const box = source.getBoundingClientRect();\n const next = {\n trigger: {\n left: box.left,\n top: box.top,\n width: box.width,\n height: box.height,\n },\n content: { width: target.offsetWidth, height: target.offsetHeight },\n };\n const previous = layout.value;\n if (\n !previous ||\n Object.keys(next.trigger).some(\n (key) =>\n next.trigger[key as keyof typeof next.trigger] !==\n previous.trigger[key as keyof typeof previous.trigger],\n ) ||\n next.content.width !== previous.content.width ||\n next.content.height !== previous.content.height\n )\n layout.value = next;\n }\n function detach() {\n observer?.disconnect();\n observer = undefined;\n if (attached) {\n window.removeEventListener(\"scroll\", update, true);\n window.removeEventListener(\"resize\", update);\n attached = false;\n }\n }\n async function bind() {\n const version = ++revision;\n detach();\n if (!mounted) return;\n await nextTick();\n if (!mounted || version !== revision) return;\n update();\n if (!active.value) return;\n if (typeof ResizeObserver !== \"undefined\") {\n observer = new ResizeObserver(update);\n if (anchor.value) observer.observe(anchor.value);\n if (content.value) observer.observe(content.value);\n }\n window.addEventListener(\"scroll\", update, true);\n window.addEventListener(\"resize\", update);\n attached = true;\n }\n watch([active, anchor, content], bind, { flush: \"post\" });\n onMounted(() => {\n mounted = true;\n void bind();\n });\n onBeforeUnmount(() => {\n mounted = false;\n ++revision;\n detach();\n });\n return layout;\n}\n"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"path": "registry/orvui/motion/popover/src/geometry.ts",
|
|
124
|
+
"target": "~/src/components/orvui/motion/popover/src/geometry.ts",
|
|
125
|
+
"type": "registry:lib",
|
|
126
|
+
"content": "export type Side = \"top\" | \"bottom\";\nexport type Align = \"start\" | \"center\" | \"end\";\nexport interface Rect { x: number; y: number; w: number; h: number; r: number }\nexport interface Geo {\n layerW: number; layerH: number; left: number; top: number;\n trigger: Rect; panel: Rect;\n}\n\n/** Place both surfaces in the bounding box of their union. */\nexport function buildGeo(tW: number, tH: number, cW: number, cH: number, side: Side, align: Align, gap: number, panelRadius: number, position?: { x: number; y: number }): Geo {\n const horizontal = position?.x ?? { start: 0, center: (tW - cW) / 2, end: tW - cW }[align];\n const vertical = position?.y ?? (side === \"top\" ? -cH - gap : tH + gap);\n const left = Math.min(0, horizontal), top = Math.min(0, vertical);\n const layerW = Math.max(tW, horizontal + cW) - left;\n const layerH = Math.max(tH, vertical + cH) - top;\n return {\n layerW, layerH, left, top,\n trigger: { x: -left, y: -top, w: tW, h: tH, r: Math.min(tH / 2, panelRadius) },\n panel: { x: horizontal - left, y: vertical - top, w: cW, h: cH, r: panelRadius },\n };\n}\nexport function positionPopover(\n trigger: { left: number; top: number; width: number; height: number },\n content: { width: number; height: number },\n viewport: { width: number; height: number },\n options: { side: Side; align: Align; gap: number; radius: number },\n) {\n const gutter = 12;\n const free = {\n top: Math.max(0, trigger.top - options.gap - gutter),\n bottom: Math.max(0, viewport.height - trigger.top - trigger.height - options.gap - gutter),\n };\n const alternative = options.side === \"top\" ? \"bottom\" : \"top\";\n const side = content.height > free[options.side] && free[alternative] > free[options.side] ? alternative : options.side;\n const height = Math.min(content.height, free[side]);\n const preferred = trigger.left + { start: 0, center: (trigger.width - content.width) / 2, end: trigger.width - content.width }[options.align];\n const left = Math.max(gutter, Math.min(preferred, viewport.width - content.width - gutter));\n const top = side === \"top\" ? trigger.top - options.gap - height : trigger.top + trigger.height + options.gap;\n return {\n side, availableHeight: free[side],\n geometry: buildGeo(trigger.width, trigger.height, content.width, height, side, options.align, options.gap, options.radius, { x: left - trigger.left, y: top - trigger.top }),\n };\n}\nexport function rectAtProgress(geo: Geo, progress: number): Rect {\n const interpolate = (key: keyof Rect) => geo.trigger[key] * (1 - progress) + geo.panel[key] * progress;\n return { x: interpolate(\"x\"), y: interpolate(\"y\"), w: interpolate(\"w\"), h: interpolate(\"h\"), r: interpolate(\"r\") };\n}\nexport function insetFor(rect: Rect, layerW: number, layerH: number) {\n const edges = [rect.y, layerW - rect.x - rect.w, layerH - rect.y - rect.h, rect.x];\n return `inset(${edges.map(edge => `${edge}px`).join(\" \")} round ${rect.r}px)`;\n}\nfunction outline(rect: Rect) {\n const radius = Math.max(0, Math.min(rect.r, rect.w / 2, rect.h / 2));\n const left = rect.x, top = rect.y, right = rect.x + rect.w, bottom = rect.y + rect.h;\n const handles = radius * 0.5523;\n return {\n radius, start: [left + radius, top],\n corners: [\n { line: [right - radius, top], end: [right, top + radius], a: [right - radius + handles, top], b: [right, top + radius - handles] },\n { line: [right, bottom - radius], end: [right - radius, bottom], a: [right, bottom - radius + handles], b: [right - radius + handles, bottom] },\n { line: [left + radius, bottom], end: [left, bottom - radius], a: [left + radius - handles, bottom], b: [left, bottom - radius + handles] },\n { line: [left, top + radius], end: [left + radius, top], a: [left, top + radius - handles], b: [left + radius - handles, top] },\n ],\n };\n}\nexport function roundedRectShape(rect: Rect) {\n const shape = outline(rect);\n const point = (coordinates: number[]) => coordinates.map(coordinate => `${coordinate.toFixed(3)}px`).join(\" \");\n const commands = shape.corners.flatMap(corner => [\n `line to ${point(corner.line)}`,\n `curve to ${point(corner.end)} with ${point(corner.a)} / ${point(corner.b)}`,\n ]);\n return `shape(from ${point(shape.start)}, ${commands.join(\", \")}, close)`;\n}\nexport function clipForProgress(geo: Geo, progress: number, supportsShape: boolean) {\n const surface = rectAtProgress(geo, progress);\n return supportsShape ? roundedRectShape(surface) : insetFor(surface, geo.layerW, geo.layerH);\n}\nexport function roundedRectPath(rect: Rect) {\n const shape = outline(rect);\n const point = (coordinates: number[]) => coordinates.map(coordinate => coordinate.toFixed(3)).join(\" \");\n const arc = `A${shape.radius.toFixed(3)} ${shape.radius.toFixed(3)} 0 0 1`;\n let path = `M${point(shape.start)}`;\n shape.corners.forEach((corner, index) => {\n const axis = index % 2 === 0 ? 0 : 1;\n path += `${axis === 0 ? \"H\" : \"V\"}${corner.line[axis]!.toFixed(3)}${arc} ${point(corner.end)}`;\n });\n return path + \"Z\";\n}\n/** An even-odd path leaves the real trigger visible through the goo surface. */\nexport function triggerCutout(geo: Geo, padding = 0) {\n const bounds: Rect = { x: -padding, y: -padding, w: geo.layerW + padding * 2, h: geo.layerH + padding * 2, r: 0 };\n return `path(evenodd, \"${roundedRectPath(bounds)} ${roundedRectPath(geo.trigger)}\")`;\n}\n"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"path": "registry/orvui/motion/popover/src/morph-focus.ts",
|
|
130
|
+
"target": "~/src/components/orvui/motion/popover/src/morph-focus.ts",
|
|
131
|
+
"type": "registry:lib",
|
|
132
|
+
"content": "import { isRef, nextTick, onBeforeUnmount, type Ref } from \"vue\";\nimport { resolveElement } from \"../../../lib/composables\";\ntype Options = {\n initialFocus?: HTMLElement | Ref<HTMLElement | null> | null;\n onOpenAutoFocus?: (content: HTMLDivElement) => void;\n};\nexport function createMorphFocus(\n options: Options,\n allowed: () => boolean,\n takeIntent: () => boolean,\n) {\n let epoch = 0;\n let used = false;\n let detach: (() => void) | undefined;\n let disposed = false;\n function reset() {\n ++epoch;\n used = false;\n detach?.();\n detach = undefined;\n }\n async function focus(panel: HTMLElement | null) {\n if (used || !panel || !allowed()) return;\n used = true;\n if (options.onOpenAutoFocus) {\n options.onOpenAutoFocus(panel as HTMLDivElement);\n takeIntent();\n return;\n }\n if (!takeIntent()) return;\n const version = epoch;\n await nextTick();\n if (disposed || version !== epoch || !allowed()) return;\n const document = panel.ownerDocument;\n const previous = document.activeElement;\n const untouched = () =>\n document.activeElement === previous || document.activeElement === panel;\n const first = () => {\n const initial = resolveElement<HTMLElement>(\n isRef(options.initialFocus)\n ? options.initialFocus.value\n : options.initialFocus,\n );\n const candidates = [\n initial,\n ...panel.querySelectorAll<HTMLElement>(\n 'a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex=\"-1\"])',\n ),\n ];\n for (const candidate of candidates) {\n candidate?.focus({ preventScroll: true });\n if (!untouched()) {\n candidate?.scrollIntoView?.({ block: \"nearest\" });\n return true;\n }\n }\n panel.focus({ preventScroll: true });\n return false;\n };\n if (first()) return;\n const wrapper = panel.parentElement;\n const cancel = () => {\n detach?.();\n detach = undefined;\n };\n const retry = (event: TransitionEvent) => {\n if (event.propertyName === \"visibility\" && (!untouched() || first()))\n cancel();\n };\n wrapper?.addEventListener(\"transitionend\", retry);\n document.addEventListener(\"keydown\", cancel, true);\n document.addEventListener(\"pointerdown\", cancel, true);\n detach = () => {\n wrapper?.removeEventListener(\"transitionend\", retry);\n document.removeEventListener(\"keydown\", cancel, true);\n document.removeEventListener(\"pointerdown\", cancel, true);\n };\n }\n onBeforeUnmount(() => {\n disposed = true;\n reset();\n });\n return { focus, reset };\n}\n"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"path": "registry/orvui/motion/popover/src/MorphPopover.vue",
|
|
136
|
+
"target": "~/src/components/orvui/motion/popover/src/MorphPopover.vue",
|
|
137
|
+
"type": "registry:component",
|
|
138
|
+
"content": "<script setup lang=\"ts\">\nimport { provide } from \"vue\";\nimport {\n createPopover,\n popoverKey,\n hoverGesture,\n type PopoverProps,\n} from \"./context\";\nconst props = withDefaults(\n defineProps<{ open?: boolean; defaultOpen?: boolean; className?: string }>(),\n { open: undefined },\n);\nconst emit = defineEmits([\"update:open\", \"openChange\"]);\nconst state = createPopover(props, emit, \"morph\");\nconst root = state.root;\nconst hover = hoverGesture();\nprovide(popoverKey, state);\nfunction enter(event: PointerEvent) {\n if (false && hover.enter(event)) state.openHover();\n}\nfunction leave(event: PointerEvent) {\n if (false && hover.leave(event)) state.scheduleClose();\n}\n</script>\n<template>\n <div\n ref=\"root\"\n :class=\"['relative inline-flex', className]\"\n @pointerenter=\"enter\"\n @pointerleave=\"leave\"\n >\n <slot :open=\"state.open.value\" />\n </div>\n</template>\n"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"path": "registry/orvui/motion/popover/src/MorphPopoverContent.vue",
|
|
142
|
+
"target": "~/src/components/orvui/motion/popover/src/MorphPopoverContent.vue",
|
|
143
|
+
"type": "registry:component",
|
|
144
|
+
"content": "<script setup lang=\"ts\">\ndefineOptions({ inheritAttrs: false });\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n type Ref,\n} from \"vue\";\nimport { animate, motion, motionValue, useTransform } from \"motion-v\";\nimport { EASE_OUT } from \"../../../lib/ease\";\nimport { cn } from \"../../../lib/utils\";\nimport { resolveElement } from \"../../../lib/composables\";\nimport { usePopover, usePortalPosition } from \"./context\";\nimport { createMorphFocus } from \"./morph-focus\";\nconst props = withDefaults(\n defineProps<{\n side?: \"top\" | \"bottom\";\n align?: \"start\" | \"end\";\n sideOffset?: number;\n radius?: number;\n shadow?: boolean;\n initialFocus?: HTMLElement | Ref<HTMLElement | null> | null;\n onOpenAutoFocus?: (content: HTMLDivElement) => void;\n className?: string;\n }>(),\n { side: \"bottom\", align: \"end\", sideOffset: 8, radius: 16, shadow: true },\n);\nconst state = usePopover();\nconst mounted = ref(false);\nconst present = ref(state.open.value);\nconst panel = ref<unknown>(null);\nconst measured = computed({\n get: () => resolveElement<HTMLElement>(panel.value),\n set: (value) => {\n panel.value = value;\n },\n});\nconst layout = usePortalPosition(\n state.anchor,\n measured,\n computed(() => mounted.value && state.open.value),\n);\nconst progress = motionValue(0);\nconst fade = motionValue(state.reduce.value ? 0 : 1);\nconst focus = createMorphFocus(\n props,\n () => state.open.value && !!layout.value,\n state.takeFocusOnOpen,\n);\nwatch(\n panel,\n (value) => {\n state.content.value = resolveElement<HTMLElement>(value);\n },\n { flush: \"post\" },\n);\nconst placement = computed(() => {\n const box = layout.value;\n if (!box) return { left: 0, top: 0, side: props.side, available: 0 };\n const gutter = 12;\n const free = {\n bottom: Math.max(\n 0,\n window.innerHeight -\n box.trigger.top -\n box.trigger.height -\n props.sideOffset -\n gutter,\n ),\n top: Math.max(0, box.trigger.top - props.sideOffset - gutter),\n };\n const alternative = props.side === \"top\" ? \"bottom\" : \"top\";\n const side =\n box.content.height > free[props.side] &&\n free[alternative] > free[props.side]\n ? alternative\n : props.side;\n const preferred =\n box.trigger.left +\n (props.align === \"end\" ? box.trigger.width - box.content.width : 0);\n return {\n left: Math.max(\n gutter,\n Math.min(preferred, window.innerWidth - box.content.width - gutter),\n ),\n top:\n side === \"bottom\"\n ? box.trigger.top + box.trigger.height + props.sideOffset\n : Math.max(\n gutter,\n box.trigger.top - box.content.height - props.sideOffset,\n ),\n side,\n available: free[side],\n };\n});\nconst clipPath = useTransform(() => {\n const inset = 92 * (1 - progress.get());\n return `inset(${placement.value.side === \"top\" ? inset : 0}% ${props.align === \"start\" ? inset : 0}% ${placement.value.side === \"bottom\" ? inset : 0}% ${props.align === \"end\" ? inset : 0}% round ${props.radius}px)`;\n});\nconst opacity = useTransform(progress, [0, 0.15], [0, 1]);\nlet animation: ReturnType<typeof animate> | undefined;\nlet revision = 0;\nlet disposed = false;\nfunction run() {\n animation?.stop();\n if (!mounted.value || !layout.value || disposed) return;\n const version = ++revision;\n const opened = state.open.value;\n const done = () => {\n if (!disposed && version === revision && !opened && !state.open.value)\n present.value = false;\n };\n if (state.reduce.value) {\n progress.jump(1);\n animation = animate(fade, opened ? 1 : 0, {\n duration: 0.12,\n onComplete: done,\n });\n } else\n animation = animate(progress, opened ? 1 : 0, {\n ...(opened\n ? { type: \"spring\", duration: 0.26, bounce: 0 }\n : { duration: 0.2, ease: EASE_OUT }),\n onComplete: done,\n });\n void focus.focus(state.content.value);\n}\nwatch(\n state.open,\n async (opened) => {\n focus.reset();\n ++revision;\n if (opened) {\n layout.value = null;\n progress.jump(0);\n fade.jump(state.reduce.value ? 0 : 1);\n present.value = true;\n await nextTick();\n }\n run();\n },\n { flush: \"post\" },\n);\nwatch(\n () => !!layout.value,\n (ready) => {\n if (ready) run();\n },\n { flush: \"post\" },\n);\nonMounted(() => {\n mounted.value = true;\n present.value = state.open.value;\n});\nonBeforeUnmount(() => {\n disposed = true;\n ++revision;\n animation?.stop();\n progress.destroy();\n fade.destroy();\n state.content.value = null;\n});\n</script>\n<template>\n <Teleport v-if=\"mounted\" to=\"body\"\n ><motion.div\n v-if=\"present\"\n data-morph-popover-portal=\"\"\n :inert=\"!state.open.value\"\n :style=\"{\n left: placement.left + 'px',\n top: placement.top + 'px',\n opacity: state.reduce.value ? fade : opacity,\n pointerEvents: state.open.value ? 'auto' : 'none',\n visibility: layout ? 'visible' : 'hidden',\n }\"\n :class=\"[\n 'fixed z-[9999]',\n shadow\n ? '[filter:drop-shadow(0_10px_18px_rgba(0,0,0,0.14))]'\n : undefined,\n ]\"\n ><motion.div\n ref=\"panel\"\n v-bind=\"$attrs\"\n :id=\"state.contentId\"\n role=\"dialog\"\n :aria-labelledby=\"state.triggerId\"\n tabindex=\"-1\"\n :style=\"{\n clipPath: state.reduce.value ? undefined : clipPath,\n borderRadius: props.radius + 'px',\n maxHeight: layout ? placement.available + 'px' : undefined,\n overflowX: 'hidden',\n overflowY: 'auto',\n }\"\n :class=\"\n cn(\n 'overflow-hidden border border-border bg-background outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring',\n $attrs.class as string,\n className,\n )\n \"\n ><slot /></motion.div></motion.div\n ></Teleport>\n</template>\n"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"path": "registry/orvui/motion/popover/src/MorphPopoverTrigger.vue",
|
|
148
|
+
"target": "~/src/components/orvui/motion/popover/src/MorphPopoverTrigger.vue",
|
|
149
|
+
"type": "registry:component",
|
|
150
|
+
"content": "<script lang=\"ts\">\nimport PopoverTrigger from \"./PopoverTrigger.vue\";\nexport default PopoverTrigger;\n</script>\n"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"path": "registry/orvui/motion/popover/src/Popover.vue",
|
|
154
|
+
"target": "~/src/components/orvui/motion/popover/src/Popover.vue",
|
|
155
|
+
"type": "registry:component",
|
|
156
|
+
"content": "<script setup lang=\"ts\">\nimport { provide } from \"vue\";\nimport {\n createPopover,\n popoverKey,\n hoverGesture,\n type PopoverProps,\n} from \"./context\";\nconst props = withDefaults(defineProps<PopoverProps>(), {\n open: undefined,\n defaultOpen: false,\n trigger: \"click\",\n side: \"bottom\",\n align: \"center\",\n sideOffset: 14,\n panelRadius: 16,\n gooStrength: 8,\n});\nconst emit = defineEmits([\"update:open\", \"openChange\"]);\nconst state = createPopover(props, emit, \"goo\");\nconst root = state.root;\nconst hover = hoverGesture();\nprovide(popoverKey, state);\nfunction enter(event: PointerEvent) {\n if (props.trigger === \"hover\" && hover.enter(event)) state.openHover();\n}\nfunction leave(event: PointerEvent) {\n if (props.trigger === \"hover\" && hover.leave(event)) state.scheduleClose();\n}\n</script>\n<template>\n <div\n ref=\"root\"\n :class=\"['relative inline-flex isolate', className]\"\n @pointerenter=\"enter\"\n @pointerleave=\"leave\"\n >\n <slot :open=\"state.open.value\" />\n </div>\n</template>\n"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"path": "registry/orvui/motion/popover/src/PopoverContent.vue",
|
|
160
|
+
"target": "~/src/components/orvui/motion/popover/src/PopoverContent.vue",
|
|
161
|
+
"type": "registry:component",
|
|
162
|
+
"content": "<script setup lang=\"ts\">\ndefineOptions({ inheritAttrs: false });\nimport { computed, onBeforeUnmount, onMounted, ref, watch } from \"vue\";\nimport { cn } from \"../../../lib/utils\";\nimport { usePopover, usePortalPosition, hoverGesture } from \"./context\";\nimport {\n buildGeo,\n clipForProgress,\n positionPopover,\n triggerCutout,\n} from \"./geometry\";\ndefineProps<{ className?: string }>();\nconst state = usePopover();\nconst mounted = ref(false);\nconst viewport = ref({ width: 0, height: 0 });\nconst resize = () => {\n viewport.value = { width: window.innerWidth, height: window.innerHeight };\n};\nconst measure = state.content;\nconst layout = usePortalPosition(state.anchor, measure, mounted);\nconst blob = ref<HTMLElement | null>(null);\nconst clip = ref<HTMLElement | null>(null);\nconst bridge = ref<HTMLElement | null>(null);\nconst blur = ref<SVGFEGaussianBlurElement | null>(null);\nconst chrome = ref<HTMLElement | null>(null);\nconst surface = ref<HTMLElement | null>(null);\nconst resting = ref(!state.open.value && state.progress.get() === 0);\nconst shape = ref(false);\nconst contentHover = hoverGesture();\nconst corridorHover = hoverGesture();\nconst placement = computed(() => {\n const size = layout.value;\n const options = {\n side: state.p.side ?? \"bottom\",\n align: state.p.align ?? \"center\",\n gap: state.p.sideOffset ?? 14,\n radius: state.p.panelRadius ?? 16,\n };\n if (!size)\n return {\n side: options.side,\n availableHeight: 0,\n geometry: buildGeo(\n 0,\n 0,\n 0,\n 0,\n options.side,\n options.align,\n options.gap,\n options.radius,\n ),\n };\n const placed = positionPopover(\n size.trigger,\n size.content,\n viewport.value,\n options,\n );\n const anchor = state.anchor.value;\n if (anchor) {\n const radius = getComputedStyle(anchor).borderTopLeftRadius;\n const value = parseFloat(radius);\n if (Number.isFinite(value))\n placed.geometry.trigger.r = Math.min(\n radius.endsWith(\"%\") ? (value * size.trigger.height) / 100 : value,\n size.trigger.width / 2,\n size.trigger.height / 2,\n );\n }\n return placed;\n});\nconst geometry = computed(() => placement.value.geometry);\nconst bounds = computed(() => ({\n left: geometry.value.left + \"px\",\n top: geometry.value.top + \"px\",\n width: geometry.value.layerW + \"px\",\n height: geometry.value.layerH + \"px\",\n}));\nconst triggerRect = computed(() => {\n const box = geometry.value.trigger;\n return {\n left: box.x + \"px\",\n top: box.y + \"px\",\n width: box.w + \"px\",\n height: box.h + \"px\",\n borderRadius: box.r + \"px\",\n };\n});\nlet stopChange: (() => void) | undefined;\nlet stopComplete: (() => void) | undefined;\nfunction settledProgress(progress: number) {\n const value = Math.max(0, Math.min(1, (progress - 0.55) / 0.45));\n return value * value * (3 - 2 * value);\n}\nfunction surfaceFilter() {\n const shadow = \"drop-shadow(0 10px 22px rgb(0 0 0 / 0.12))\";\n return state.reduce.value || settledProgress(state.progress.get()) >= 0.999\n ? shadow\n : `url(#${state.gooId}) ${shadow}`;\n}\nfunction paint() {\n if (!geometry.value.layerW) return;\n const progress = state.progress.get();\n const settled = settledProgress(progress);\n if (surface.value) surface.value.style.filter = surfaceFilter();\n if (bridge.value) bridge.value.style.opacity = String(1 - settled);\n if (blur.value)\n blur.value.setAttribute(\n \"stdDeviation\",\n String(\n state.reduce.value ? 0 : (state.p.gooStrength ?? 8) * (1 - settled),\n ),\n );\n if (chrome.value) chrome.value.style.opacity = String(settled);\n const path = clipForProgress(geometry.value, progress, shape.value);\n for (const element of [blob.value, clip.value])\n if (element) element.style.clipPath = path;\n}\nfunction enter(event: PointerEvent, surface: \"content\" | \"clip\") {\n if (\n state.p.trigger !== \"hover\" ||\n !(surface === \"content\" ? contentHover : corridorHover).enter(event)\n )\n return;\n surface === \"content\" ? state.openHover() : state.cancelClose();\n}\nfunction leave(event: PointerEvent, surface: \"content\" | \"clip\") {\n if (\n state.p.trigger === \"hover\" &&\n (surface === \"content\" ? contentHover : corridorHover).leave(event)\n )\n state.scheduleClose();\n}\nwatch(state.open, (open) => {\n if (open) resting.value = false;\n});\nwatch(\n [geometry, blob, clip, blur, bridge, chrome, surface, state.reduce],\n paint,\n {\n flush: \"post\",\n },\n);\nonMounted(() => {\n resize();\n window.addEventListener(\"resize\", resize);\n mounted.value = true;\n shape.value =\n typeof CSS !== \"undefined\" &&\n typeof CSS.supports === \"function\" &&\n CSS.supports(\"clip-path\", \"shape(from 0px 0px, line to 1px 1px, close)\");\n stopChange = state.progress.on(\"change\", paint);\n stopComplete = state.progress.on(\"animationComplete\", () => {\n if (!state.open.value && state.progress.get() === 0) resting.value = true;\n });\n});\nonBeforeUnmount(() => {\n window.removeEventListener(\"resize\", resize);\n stopChange?.();\n stopComplete?.();\n measure.value = null;\n});\n</script>\n<template>\n <Teleport v-if=\"mounted\" to=\"body\"\n ><div\n data-popover-portal=\"\"\n class=\"pointer-events-none fixed top-0 left-0 z-[9999] isolate size-0\"\n :style=\"{\n visibility: layout && !resting ? 'visible' : 'hidden',\n transform: `translate3d(${layout?.trigger.left ?? 0}px,${layout?.trigger.top ?? 0}px,0)`,\n }\"\n >\n <svg aria-hidden=\"true\" width=\"0\" height=\"0\" class=\"absolute\">\n <title>Popover visual effects</title>\n <defs>\n <filter\n :id=\"state.gooId\"\n x=\"-50%\"\n y=\"-50%\"\n width=\"200%\"\n height=\"200%\"\n >\n <feGaussianBlur\n ref=\"blur\"\n in=\"SourceGraphic\"\n :stdDeviation=\"\n state.reduce.value\n ? 0\n : (state.p.gooStrength ?? 8) *\n (1 - settledProgress(state.progress.get()))\n \"\n result=\"blur\"\n />\n <feColorMatrix\n in=\"blur\"\n mode=\"matrix\"\n values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 22 -10\"\n result=\"goo\"\n />\n <feComposite in=\"SourceGraphic\" in2=\"goo\" operator=\"atop\" />\n </filter>\n </defs>\n </svg>\n <div\n ref=\"surface\"\n aria-hidden=\"true\"\n class=\"pointer-events-none absolute z-[-1]\"\n :style=\"{\n ...bounds,\n filter: surfaceFilter(),\n clipPath: triggerCutout(geometry, 48),\n }\"\n >\n <div ref=\"bridge\" class=\"absolute bg-popover\" :style=\"triggerRect\" />\n <div\n ref=\"blob\"\n class=\"absolute inset-0 bg-popover\"\n :style=\"{\n clipPath: clipForProgress(geometry, state.progress.get(), false),\n }\"\n />\n </div>\n <div class=\"pointer-events-none absolute z-10\" :style=\"bounds\">\n <div\n ref=\"clip\"\n :inert=\"!state.open.value\"\n data-popover-interactive-clip=\"\"\n @pointerenter=\"enter($event, 'clip')\"\n @pointerleave=\"leave($event, 'clip')\"\n class=\"absolute inset-0\"\n :style=\"{\n clipPath: clipForProgress(geometry, state.progress.get(), false),\n pointerEvents: state.open.value ? 'auto' : 'none',\n }\"\n >\n <div\n ref=\"chrome\"\n aria-hidden=\"true\"\n data-popover-chrome=\"\"\n class=\"pointer-events-none absolute z-20\"\n :style=\"{\n left: geometry.panel.x + 'px',\n top: geometry.panel.y + 'px',\n width: geometry.panel.w + 'px',\n height: geometry.panel.h + 'px',\n borderRadius: geometry.panel.r + 'px',\n boxShadow: 'inset 0 0 0 1px var(--color-border)',\n opacity: settledProgress(state.progress.get()),\n }\"\n />\n <div\n ref=\"measure\"\n v-bind=\"$attrs\"\n :id=\"state.contentId\"\n role=\"dialog\"\n :aria-labelledby=\"state.triggerId\"\n :aria-hidden=\"!state.open.value\"\n @pointerenter=\"enter($event, 'content')\"\n @pointerleave=\"leave($event, 'content')\"\n :style=\"{\n position: 'absolute',\n left: geometry.panel.x + 'px',\n top: geometry.panel.y + 'px',\n transformOrigin: `${state.p.align === 'start' ? 'left' : state.p.align === 'end' ? 'right' : 'center'} ${placement.side === 'top' ? 'bottom' : 'top'}`,\n maxHeight: layout ? placement.availableHeight + 'px' : undefined,\n overflowY: 'auto',\n }\"\n :class=\"\n cn(\n 'w-max max-w-[min(92vw,20rem)] p-4 text-popover-foreground outline-none',\n $attrs.class as string,\n className,\n )\n \"\n >\n <slot />\n </div>\n </div>\n </div></div\n ></Teleport>\n</template>\n"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"path": "registry/orvui/motion/popover/src/PopoverTrigger.vue",
|
|
166
|
+
"target": "~/src/components/orvui/motion/popover/src/PopoverTrigger.vue",
|
|
167
|
+
"type": "registry:component",
|
|
168
|
+
"content": "<script lang=\"ts\">\nimport {\n Comment,\n Fragment,\n Text,\n cloneVNode,\n defineComponent,\n h,\n onBeforeUnmount,\n type VNode,\n} from \"vue\";\nimport { resolveElement } from \"../../../lib/composables\";\nimport { usePopover } 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 ? []\n : [node],\n );\n}\nexport default defineComponent({\n name: \"PopoverTrigger\",\n inheritAttrs: false,\n setup(_, { attrs, slots }) {\n const state = usePopover();\n let keyboard = false;\n let contact: { kind: string; opened: boolean } | undefined;\n onBeforeUnmount(() => {\n state.trigger.value = null;\n });\n const click = (event: MouseEvent) => {\n if (event.defaultPrevented) return;\n if (state.kind === \"morph\") {\n state.armFocusOnOpen(\n !state.open.value && keyboard && event.detail === 0,\n );\n keyboard = false;\n state.toggle();\n } else if (state.p.trigger !== \"hover\") state.toggle();\n else {\n const gesture = contact;\n contact = undefined;\n if (gesture && gesture.kind !== \"mouse\") state.setOpen(!gesture.opened);\n }\n };\n return () => {\n const nodes = flatten(slots.default?.() ?? []);\n const child =\n nodes.length === 1 && nodes[0]!.type !== Text\n ? nodes[0]!\n : h(\n \"button\",\n {\n type: \"button\",\n class:\n \"inline-flex items-center rounded-full border border-border bg-background px-4 py-2 text-sm\",\n },\n nodes,\n );\n return cloneVNode(\n child,\n {\n ...attrs,\n ref: (node: unknown) => {\n state.trigger.value = resolveElement<HTMLElement>(node);\n },\n id: state.triggerId,\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": state.open.value,\n \"aria-controls\": state.open.value ? state.contentId : undefined,\n \"data-state\": state.open.value ? \"open\" : \"closed\",\n class: [\n attrs.class,\n state.kind === \"goo\" ? \"relative z-0\" : undefined,\n ],\n onPointerdown: (event: PointerEvent) => {\n keyboard = false;\n contact = { kind: event.pointerType, opened: state.open.value };\n },\n onPointercancel: () => {\n contact = undefined;\n },\n onKeydown: (event: KeyboardEvent) => {\n contact = undefined;\n keyboard = event.key === \"Enter\" || event.key === \" \";\n },\n onFocus: (event: FocusEvent) => {\n if (\n !event.defaultPrevented &&\n state.kind === \"goo\" &&\n state.p.trigger === \"hover\"\n )\n state.openHover();\n },\n onBlur: (event: FocusEvent) => {\n if (\n !event.defaultPrevented &&\n state.kind === \"goo\" &&\n state.p.trigger === \"hover\"\n )\n state.scheduleClose();\n },\n onClick: click,\n },\n true,\n );\n };\n },\n});\n</script>\n"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"path": "registry/orvui/motion/select/index.ts",
|
|
172
|
+
"target": "~/src/components/orvui/motion/select/index.ts",
|
|
173
|
+
"type": "registry:lib",
|
|
174
|
+
"content": "export { default as Select } from \"./src/Select.vue\";\nexport { default as SelectTrigger } from \"./src/SelectTrigger.vue\";\nexport { default as SelectValue } from \"./src/SelectValue.vue\";\nexport { default as SelectContent } from \"./src/SelectContent.vue\";\nexport { default as SelectItem } from \"./src/SelectItem.vue\";\n\nexport { default as MorphSelect } from \"./src/MorphSelect.vue\";\nexport { default as MorphSelectTrigger } from \"./src/MorphSelectTrigger.vue\";\nexport { default as MorphSelectValue } from \"./src/MorphSelectValue.vue\";\nexport { default as MorphSelectContent } from \"./src/MorphSelectContent.vue\";\nexport { default as MorphSelectItem } from \"./src/MorphSelectItem.vue\";\n\nexport type * from \"./src/api-types\";\n"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"path": "registry/orvui/motion/select/src/api-types.ts",
|
|
178
|
+
"target": "~/src/components/orvui/motion/select/src/api-types.ts",
|
|
179
|
+
"type": "registry:lib",
|
|
180
|
+
"content": "// Vue public prop types, derived from the actual components.\nexport type MorphSelectContentProps = InstanceType<\n (typeof import(\"./MorphSelectContent.vue\"))[\"default\"]\n>[\"$props\"];\nexport type MorphSelectItemProps = InstanceType<\n (typeof import(\"./MorphSelectItem.vue\"))[\"default\"]\n>[\"$props\"];\nexport type MorphSelectProps = InstanceType<\n (typeof import(\"./MorphSelect.vue\"))[\"default\"]\n>[\"$props\"];\nexport type MorphSelectTriggerProps = InstanceType<\n (typeof import(\"./MorphSelectTrigger.vue\"))[\"default\"]\n>[\"$props\"];\nexport type MorphSelectValueProps = InstanceType<\n (typeof import(\"./MorphSelectValue.vue\"))[\"default\"]\n>[\"$props\"];\nexport type SelectContentProps = InstanceType<\n (typeof import(\"./SelectContent.vue\"))[\"default\"]\n>[\"$props\"];\nexport type SelectItemProps = InstanceType<\n (typeof import(\"./SelectItem.vue\"))[\"default\"]\n>[\"$props\"];\nexport type SelectProps = InstanceType<\n (typeof import(\"./Select.vue\"))[\"default\"]\n>[\"$props\"];\nexport type SelectTriggerProps = InstanceType<\n (typeof import(\"./SelectTrigger.vue\"))[\"default\"]\n>[\"$props\"];\nexport type SelectValueProps = InstanceType<\n (typeof import(\"./SelectValue.vue\"))[\"default\"]\n>[\"$props\"];\n"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"path": "registry/orvui/motion/select/src/context.ts",
|
|
184
|
+
"target": "~/src/components/orvui/motion/select/src/context.ts",
|
|
185
|
+
"type": "registry:lib",
|
|
186
|
+
"content": "import {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n shallowRef,\n useId,\n watch,\n type InjectionKey,\n} from \"vue\";\nimport { animate, motionValue } from \"motion-v\";\nimport { EASE_OUT } from \"../../../lib/ease\";\nimport {\n resolveElement,\n useFloatingLayer,\n useReducedMotion,\n} from \"../../../lib/composables\";\nexport interface SelectProps {\n modelValue?: string;\n value?: string;\n defaultValue?: string;\n open?: boolean;\n defaultOpen?: boolean;\n disabled?: boolean;\n className?: string;\n}\n// These visual endpoints and timings are part of the frozen interaction contract.\nexport const UNFOLD_SPRING = {\n type: \"spring\",\n visualDuration: 0.2,\n bounce: 0.12,\n} as const;\nexport const UNFOLD_EXIT = { duration: 0.2, ease: EASE_OUT } as const;\nexport const MORPH = { type: \"spring\", duration: 0.5, bounce: 0.22 } as const;\nexport const ROW =\n \"flex w-full items-center justify-between gap-2 px-3.5 py-2.5 text-sm\";\nexport const ITEM_VARIANTS = {\n hidden: { opacity: 0, y: -4, transition: { duration: 0.08, ease: EASE_OUT } },\n show: { opacity: 1, y: 0, transition: { duration: 0.12, ease: EASE_OUT } },\n};\nexport const MORPH_ITEM = {\n hidden: { opacity: 0, y: -6, filter: \"blur(3px)\" },\n show: { opacity: 1, y: 0, filter: \"blur(0px)\" },\n};\ntype Registration = { label: string; disabled: boolean };\nexport function createSelect(\n props: SelectProps,\n emit: (event: any, ...args: any[]) => void,\n morph = false,\n) {\n const instance = useId();\n const root = ref<HTMLElement | null>(null);\n const trigger = shallowRef<unknown>(null);\n const list = shallowRef<unknown>(null);\n const memory = ref(props.defaultValue);\n const expanded = ref(!!props.defaultOpen);\n const reduce = useReducedMotion();\n const placeholder = ref(\"Select\");\n const placement = ref<\"top\" | \"bottom\">(\"bottom\");\n const active = ref<string | null>(null);\n const registry = shallowRef(new Map<string, Map<symbol, Registration>>());\n const value = computed({\n get: () => props.modelValue ?? props.value ?? memory.value,\n set: (next: string | undefined) => {\n if (props.modelValue === undefined && props.value === undefined)\n memory.value = next;\n for (const event of [\"update:modelValue\", \"valueChange\", \"change\"])\n emit(event, next);\n },\n });\n const open = computed({\n get: () => props.open ?? expanded.value,\n set: (next: boolean) => {\n if (props.open === undefined) expanded.value = next;\n emit(\"update:open\", next);\n emit(\"openChange\", next);\n },\n });\n const disabled = computed(() => !!props.disabled);\n const progress = motionValue(open.value ? 1 : 0);\n const rows = computed(() =>\n [...registry.value].map(([id, tokens]) => ({\n id,\n ...[...tokens.values()].at(-1)!,\n })),\n );\n const enabled = computed(() => rows.value.filter((row) => !row.disabled));\n const activeId = computed(\n () =>\n enabled.value.find((row) => row.id === active.value)?.id ??\n enabled.value[0]?.id,\n );\n const layer = useFloatingLayer(open, list);\n let mounted = false;\n let disposed = false;\n let initialOpening = open.value;\n let focusRevision = 0;\n let animation: ReturnType<typeof animate> | undefined;\n let typed = { text: \"\", timestamp: 0 };\n function register(\n id: string,\n label: string,\n disabled: boolean,\n token: symbol,\n ) {\n const entry = registry.value.get(id)?.get(token);\n if (entry?.label === label && entry.disabled === disabled) return;\n const tokens = new Map(registry.value.get(id));\n tokens.set(token, { label, disabled });\n registry.value = new Map([...registry.value, [id, tokens]]);\n }\n function unregister(id: string, token: symbol) {\n const tokens = new Map(registry.value.get(id));\n if (!tokens.delete(token)) return;\n const next = new Map(registry.value);\n if (tokens.size) next.set(id, tokens);\n else next.delete(id);\n registry.value = next;\n }\n async function focusActive() {\n const revision = ++focusRevision;\n await nextTick();\n if (disposed || !open.value || revision !== focusRevision) return;\n const surface = resolveElement<HTMLElement>(list.value);\n const option = [\n ...(surface?.querySelectorAll<HTMLElement>(\"[data-listbox-id]\") ?? []),\n ].find((element) => element.dataset.listboxId === activeId.value);\n option?.focus({ preventScroll: false });\n }\n function close() {\n const source = root.value?.ownerDocument.activeElement;\n const restore =\n source &&\n root.value?.contains(source) &&\n source !== resolveElement(trigger.value);\n ++focusRevision;\n open.value = false;\n if (!restore) return;\n if (!morph) resolveElement<HTMLElement>(trigger.value)?.focus();\n else\n void nextTick(() => {\n if (!disposed && !open.value)\n resolveElement<HTMLElement>(trigger.value)?.focus();\n });\n }\n function select(id: string) {\n if (disabled.value || !enabled.value.some((row) => row.id === id)) return;\n value.value = id;\n close();\n }\n function keydown(event: KeyboardEvent) {\n if (\n event.defaultPrevented ||\n event.isComposing ||\n disabled.value ||\n !enabled.value.length\n )\n return;\n const choices = enabled.value;\n const current = Math.max(\n 0,\n choices.findIndex((row) => row.id === activeId.value),\n );\n const delta =\n event.key === \"ArrowDown\" ? 1 : event.key === \"ArrowUp\" ? -1 : 0;\n if (delta || event.key === \"Home\" || event.key === \"End\") {\n event.preventDefault();\n const next =\n event.key === \"Home\"\n ? 0\n : event.key === \"End\"\n ? choices.length - 1\n : (current + delta + choices.length) % choices.length;\n active.value = choices[next]!.id;\n return;\n }\n if (\n event.key.length !== 1 ||\n event.key === \" \" ||\n event.metaKey ||\n event.ctrlKey ||\n event.altKey\n )\n return;\n const timestamp = Date.now();\n const text =\n timestamp - typed.timestamp < 500\n ? typed.text + event.key.toLocaleLowerCase()\n : event.key.toLocaleLowerCase();\n typed = { timestamp, text };\n const start = text.length === 1 ? current + 1 : current;\n const found = Array.from(\n { length: choices.length },\n (_, offset) => choices[(start + offset) % choices.length]!,\n ).find((row) => row.label.toLocaleLowerCase().startsWith(text));\n if (found) active.value = found.id;\n }\n function animateToState() {\n animation?.stop();\n if (mounted)\n animation = animate(\n progress,\n open.value ? 1 : 0,\n reduce.value\n ? { duration: 0.12 }\n : open.value\n ? UNFOLD_SPRING\n : UNFOLD_EXIT,\n );\n }\n watch(\n open,\n (next, previous) => {\n if (!next) {\n initialOpening = false;\n ++focusRevision;\n return;\n }\n if (!previous)\n active.value =\n enabled.value.find((row) => row.id === value.value)?.id ?? null;\n if (!initialOpening) void focusActive();\n },\n { flush: \"post\" },\n );\n watch(\n activeId,\n () => {\n const surface = resolveElement<HTMLElement>(list.value);\n if (\n open.value &&\n (!initialOpening ||\n surface?.contains(surface.ownerDocument.activeElement))\n )\n void focusActive();\n },\n { flush: \"post\" },\n );\n watch([open, reduce], animateToState, { flush: \"post\" });\n const outside = (event: PointerEvent) => {\n if (\n open.value &&\n !layer.containsHigher(event.target) &&\n event.target instanceof Node &&\n !root.value?.contains(event.target)\n )\n open.value = false;\n };\n const escape = (event: KeyboardEvent) => {\n if (layer.claimEscape(event)) close();\n };\n onMounted(() => {\n mounted = true;\n animateToState();\n window.addEventListener(\"pointerdown\", outside);\n window.addEventListener(\"keydown\", escape);\n });\n onBeforeUnmount(() => {\n disposed = true;\n mounted = false;\n ++focusRevision;\n animation?.stop();\n progress.destroy();\n window.removeEventListener(\"pointerdown\", outside);\n window.removeEventListener(\"keydown\", escape);\n });\n return {\n root,\n trigger,\n list,\n value,\n open,\n progress,\n reduce,\n rows,\n enabled,\n activeId,\n active,\n register,\n unregister,\n close,\n select,\n keydown,\n focusActive,\n placeholder,\n placement,\n morph,\n disabled,\n labelFor: (id: string | undefined) =>\n rows.value.find((row) => row.id === id)?.label,\n triggerId: `${instance}-trigger`,\n listId: `${instance}-list`,\n headerId: `${instance}-header`,\n layoutId: `${instance}-surface`,\n };\n}\nexport const selectKey: InjectionKey<ReturnType<typeof createSelect>> =\n Symbol(\"orvui-select\");\nexport const registrarKey: InjectionKey<boolean> = Symbol(\n \"orvui-select-registrar\",\n);\nexport function useSelect() {\n const state = inject(selectKey);\n if (!state) throw Error(\"Select parts must be inside Select or MorphSelect.\");\n return state;\n}\n"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"path": "registry/orvui/motion/select/src/MorphSelect.vue",
|
|
190
|
+
"target": "~/src/components/orvui/motion/select/src/MorphSelect.vue",
|
|
191
|
+
"type": "registry:component",
|
|
192
|
+
"content": "<script setup lang=\"ts\">\nimport { provide } from \"vue\";\nimport { createSelect, selectKey, type SelectProps } from \"./context\";\nconst props = withDefaults(defineProps<SelectProps>(), { open: undefined });\nconst emit = defineEmits([\n \"update:modelValue\",\n \"valueChange\",\n \"change\",\n \"update:open\",\n \"openChange\",\n]);\nconst state = createSelect(props, emit, true);\nprovide(selectKey, state);\nconst root = state.root;\n</script>\n<template>\n <div ref=\"root\" :class=\"['relative', className]\">\n <slot :value=\"state.value.value\" :open=\"state.open.value\" />\n </div>\n</template>\n"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"path": "registry/orvui/motion/select/src/MorphSelectContent.vue",
|
|
196
|
+
"target": "~/src/components/orvui/motion/select/src/MorphSelectContent.vue",
|
|
197
|
+
"type": "registry:component",
|
|
198
|
+
"content": "<script setup lang=\"ts\">\ndefineOptions({ inheritAttrs: false });\nimport { computed } from \"vue\";\nimport { motion, AnimatePresence } from \"motion-v\";\nimport { ChevronDown } from \"lucide-vue-next\";\nimport { MORPH, ROW, useSelect } from \"./context\";\nimport SelectRegistrar from \"./SelectRegistrar.vue\";\ndefineProps<{ className?: string }>();\nconst state = useSelect();\nconst list = state.list;\nconst label = computed(() => state.labelFor(state.value.value));\nconst variants = computed(() =>\n state.reduce.value\n ? undefined\n : {\n hidden: {},\n show: { transition: { staggerChildren: 0.035, delayChildren: 0.08 } },\n },\n);\nfunction key(event: KeyboardEvent) {\n if (event.key === \"Tab\") {\n event.preventDefault();\n state.close();\n } else state.keydown(event);\n}\n</script>\n<template>\n <SelectRegistrar><slot /></SelectRegistrar\n ><AnimatePresence :initial=\"false\" mode=\"popLayout\"\n ><motion.div\n v-if=\"state.open.value\"\n key=\"panel\"\n v-bind=\"$attrs\"\n :layout-id=\"state.layoutId\"\n :transition=\"state.reduce.value ? { duration: 0 } : MORPH\"\n :style=\"{ borderRadius: '12px' }\"\n :class=\"[\n 'absolute inset-x-0 top-0 z-30 overflow-hidden border border-border bg-background shadow-lg',\n className,\n ]\"\n ><motion.button\n type=\"button\"\n :id=\"state.headerId\"\n layout=\"position\"\n aria-haspopup=\"listbox\"\n aria-expanded=\"true\"\n :aria-controls=\"state.listId\"\n @click=\"state.close\"\n :class=\"[ROW, 'outline-none']\"\n ><span\n class=\"min-w-0 truncate\"\n :class=\"label ? 'text-foreground' : 'text-muted-foreground'\"\n >{{ label ?? state.placeholder.value }}</span\n ><motion.span\n aria-hidden=\"true\"\n :animate=\"{ rotate: 180 }\"\n :transition=\"state.reduce.value ? { duration: 0 } : MORPH\"\n class=\"text-muted-foreground\"\n ><ChevronDown class=\"h-4 w-4\" /></motion.span\n ></motion.button>\n <div class=\"h-px bg-border\" />\n <motion.ul\n ref=\"list\"\n :id=\"state.listId\"\n role=\"listbox\"\n :aria-labelledby=\"state.headerId\"\n initial=\"hidden\"\n animate=\"show\"\n :variants=\"variants\"\n @keydown=\"key\"\n class=\"p-1\"\n ><slot /></motion.ul></motion.div\n ></AnimatePresence>\n</template>\n"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"path": "registry/orvui/motion/select/src/MorphSelectItem.vue",
|
|
202
|
+
"target": "~/src/components/orvui/motion/select/src/MorphSelectItem.vue",
|
|
203
|
+
"type": "registry:component",
|
|
204
|
+
"content": "<script setup lang=\"ts\">\nimport SelectItem from \"./SelectItem.vue\";\nconst props = defineProps<{\n value: string;\n disabled?: boolean;\n label?: string;\n className?: string;\n}>();\n</script>\n<template>\n <SelectItem v-bind=\"props\"><slot /></SelectItem>\n</template>\n"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"path": "registry/orvui/motion/select/src/MorphSelectTrigger.vue",
|
|
208
|
+
"target": "~/src/components/orvui/motion/select/src/MorphSelectTrigger.vue",
|
|
209
|
+
"type": "registry:component",
|
|
210
|
+
"content": "<script setup lang=\"ts\">\ndefineOptions({ inheritAttrs: false });\nimport { motion, AnimatePresence } from \"motion-v\";\nimport { ChevronDown } from \"lucide-vue-next\";\nimport { MORPH, ROW, useSelect } from \"./context\";\ndefineProps<{ className?: string }>();\nconst state = useSelect();\nconst trigger = state.trigger;\nfunction open() {\n if (!state.disabled.value) state.open.value = true;\n}\nfunction key(event: KeyboardEvent) {\n if (!event.defaultPrevented && [\"ArrowDown\", \"ArrowUp\"].includes(event.key)) {\n event.preventDefault();\n open();\n }\n}\n</script>\n<template>\n <div\n aria-hidden=\"true\"\n inert\n :class=\"[ROW, 'invisible rounded-xl border border-border']\"\n >\n <slot /><ChevronDown class=\"h-4 w-4\" />\n </div>\n <AnimatePresence :initial=\"false\" mode=\"popLayout\"\n ><motion.button\n v-if=\"!state.open.value\"\n key=\"trigger\"\n ref=\"trigger\"\n v-bind=\"$attrs\"\n :layout-id=\"state.layoutId\"\n type=\"button\"\n :id=\"state.triggerId\"\n :disabled=\"state.disabled.value\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"state.open.value\"\n :aria-controls=\"state.listId\"\n @click=\"open\"\n @keydown=\"key\"\n :transition=\"state.reduce.value ? { duration: 0 } : MORPH\"\n :style=\"{ borderRadius: '12px' }\"\n :class=\"[\n ROW,\n 'absolute inset-x-0 top-0 z-10 border border-border bg-background text-foreground outline-none transition-colors hover:border-(--color-border-strong) focus-visible:ring-2 focus-visible:ring-foreground/20 disabled:pointer-events-none disabled:opacity-50',\n className,\n ]\"\n ><motion.span layout=\"position\" class=\"min-w-0 truncate\"\n ><slot /></motion.span\n ><motion.span layout=\"position\" class=\"text-muted-foreground\"\n ><ChevronDown class=\"h-4 w-4\" /></motion.span></motion.button\n ></AnimatePresence>\n</template>\n"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"path": "registry/orvui/motion/select/src/MorphSelectValue.vue",
|
|
214
|
+
"target": "~/src/components/orvui/motion/select/src/MorphSelectValue.vue",
|
|
215
|
+
"type": "registry:component",
|
|
216
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, watch } from \"vue\";\nimport { useSelect } from \"./context\";\nconst props = defineProps<{ placeholder?: string; className?: string }>();\nconst state = useSelect();\nconst label = computed(() => state.labelFor(state.value.value));\nwatch(\n () => props.placeholder,\n (value) => {\n if (value) state.placeholder.value = value;\n },\n { immediate: true },\n);\n</script>\n<template>\n <span\n :class=\"[label ? 'text-foreground' : 'text-muted-foreground', className]\"\n >{{ label ?? placeholder ?? \"Select\" }}</span\n >\n</template>\n"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"path": "registry/orvui/motion/select/src/Select.vue",
|
|
220
|
+
"target": "~/src/components/orvui/motion/select/src/Select.vue",
|
|
221
|
+
"type": "registry:component",
|
|
222
|
+
"content": "<script setup lang=\"ts\">\nimport { provide } from \"vue\";\nimport { createSelect, selectKey, type SelectProps } from \"./context\";\nconst props = withDefaults(defineProps<SelectProps>(), { open: undefined });\nconst emit = defineEmits([\n \"update:modelValue\",\n \"valueChange\",\n \"change\",\n \"update:open\",\n \"openChange\",\n]);\nconst state = createSelect(props, emit, false);\nprovide(selectKey, state);\nconst root = state.root;\n</script>\n<template>\n <div ref=\"root\" :class=\"['relative', className]\">\n <slot :value=\"state.value.value\" :open=\"state.open.value\" />\n </div>\n</template>\n"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"path": "registry/orvui/motion/select/src/SelectContent.vue",
|
|
226
|
+
"target": "~/src/components/orvui/motion/select/src/SelectContent.vue",
|
|
227
|
+
"type": "registry:component",
|
|
228
|
+
"content": "<script setup lang=\"ts\">\nimport { nextTick, onBeforeUnmount, onMounted, ref, watch } from \"vue\";\nimport { motion, useTransform } from \"motion-v\";\nimport { resolveElement } from \"../../../lib/composables\";\nimport { useSelect } from \"./context\";\nimport { unfoldGeometry } from \"./unfold\";\ndefineProps<{ className?: string }>();\nconst state = useSelect();\nconst panel = state.list;\nconst height = ref(0);\nconst exiting = ref(false);\nlet disposed = false;\nlet measureRevision = 0;\nlet observer: ResizeObserver | undefined;\nlet unsubscribe: (() => void) | undefined;\nasync function measure() {\n const revision = ++measureRevision;\n await nextTick();\n if (disposed || revision !== measureRevision) return;\n const element = resolveElement<HTMLElement>(panel.value);\n if (!element) return;\n height.value = element.offsetHeight;\n const trigger = resolveElement<HTMLElement>(state.trigger.value);\n if (state.open.value && trigger) {\n const rect = trigger.getBoundingClientRect();\n const room = window.innerHeight - rect.bottom;\n state.placement.value =\n room < height.value + 16 && rect.top > room ? \"top\" : \"bottom\";\n }\n}\nwatch(\n state.open,\n (open, previous) => {\n if (!open && previous) exiting.value = true;\n if (open) void measure();\n },\n { flush: \"post\" },\n);\nonMounted(() => {\n void measure();\n const node = resolveElement<HTMLElement>(panel.value);\n if (node && typeof ResizeObserver !== \"undefined\") {\n observer = new ResizeObserver(() => void measure());\n observer.observe(node);\n }\n unsubscribe = state.progress.on(\"animationComplete\", () => {\n if (state.progress.get() === 0) exiting.value = false;\n });\n window.addEventListener(\"resize\", measure);\n});\nonBeforeUnmount(() => {\n disposed = true;\n ++measureRevision;\n observer?.disconnect();\n unsubscribe?.();\n window.removeEventListener(\"resize\", measure);\n});\nconst geometry = () =>\n unfoldGeometry(\n state.progress.get(),\n height.value,\n state.placement.value === \"top\",\n state.reduce.value,\n );\nconst y = useTransform(() => geometry().y);\nconst borderRadius = useTransform(() => geometry().radius);\nconst clipPath = useTransform(() => geometry().clip);\nconst opacity = useTransform(() => geometry().opacity);\nfunction keydown(event: KeyboardEvent) {\n if (event.key === \"Tab\") state.close();\n else state.keydown(event);\n}\n</script>\n<template>\n <motion.div\n ref=\"panel\"\n :id=\"state.listId\"\n role=\"listbox\"\n :aria-labelledby=\"state.triggerId\"\n :aria-hidden=\"!state.open.value\"\n :inert=\"!state.open.value\"\n @keydown=\"keydown\"\n :style=\"{\n visibility: state.open.value || exiting ? 'visible' : 'hidden',\n maxHeight: state.open.value || exiting ? undefined : 0,\n borderWidth: state.open.value || exiting ? undefined : 0,\n y,\n clipPath,\n borderRadius,\n opacity,\n pointerEvents: state.open.value ? 'auto' : 'none',\n marginTop: state.placement.value === 'top' ? '0px' : '8px',\n marginBottom: state.placement.value === 'top' ? '8px' : '0px',\n }\"\n :class=\"[\n 'absolute inset-x-0 z-20 overflow-hidden border border-border bg-background shadow-lg',\n state.placement.value === 'top' ? 'bottom-full' : 'top-full',\n className,\n ]\"\n ><motion.div\n :initial=\"false\"\n :animate=\"state.open.value ? 'show' : 'hidden'\"\n class=\"p-1\"\n ><slot /></motion.div\n ></motion.div>\n</template>\n"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"path": "registry/orvui/motion/select/src/SelectItem.vue",
|
|
232
|
+
"target": "~/src/components/orvui/motion/select/src/SelectItem.vue",
|
|
233
|
+
"type": "registry:component",
|
|
234
|
+
"content": "<script setup lang=\"ts\">\ndefineOptions({ inheritAttrs: false });\nimport {\n computed,\n inject,\n onBeforeUnmount,\n onMounted,\n onUpdated,\n ref,\n} from \"vue\";\nimport { motion } from \"motion-v\";\nimport { Check } from \"lucide-vue-next\";\nimport { useSelect, registrarKey, ITEM_VARIANTS, MORPH_ITEM } from \"./context\";\nconst props = withDefaults(\n defineProps<{\n value: string;\n disabled?: boolean;\n label?: string;\n className?: string;\n }>(),\n { disabled: false },\n);\nconst state = useSelect();\nconst hidden = inject(registrarKey, false);\nconst element = ref<HTMLElement | null>(null);\nconst token = Symbol(\"select-option-instance\");\nlet registered: string | undefined;\nfunction synchronize() {\n if (registered !== undefined && registered !== props.value)\n state.unregister(registered, token);\n state.register(\n props.value,\n props.label ?? element.value?.textContent?.trim() ?? props.value,\n props.disabled,\n token,\n );\n registered = props.value;\n}\nonMounted(synchronize);\nonUpdated(synchronize);\nonBeforeUnmount(() => {\n if (registered !== undefined) state.unregister(registered, token);\n});\nconst selected = computed(() => state.value.value === props.value);\nconst variants = computed(() =>\n state.reduce.value ? undefined : state.morph ? MORPH_ITEM : ITEM_VARIANTS,\n);\n</script>\n<template>\n <span v-if=\"hidden\" ref=\"element\" hidden\n ><slot>{{ label ?? value }}</slot></span\n ><motion.div\n v-else\n :role=\"state.morph ? 'none' : undefined\"\n :variants=\"variants\"\n ><button\n ref=\"element\"\n v-bind=\"$attrs\"\n type=\"button\"\n role=\"option\"\n :aria-selected=\"selected\"\n :disabled=\"disabled\"\n :tabindex=\"state.activeId.value === value ? 0 : -1\"\n :data-listbox-id=\"value\"\n @click=\"state.select(value)\"\n :class=\"[\n 'flex w-full items-center justify-between gap-2 rounded-lg px-2.5 py-1.5 text-left text-sm outline-none transition-colors',\n selected\n ? 'bg-muted text-foreground'\n : 'text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:bg-muted',\n 'disabled:pointer-events-none disabled:opacity-50',\n className,\n ]\"\n >\n <slot>{{ label ?? value }}</slot\n ><Check v-if=\"selected\" class=\"h-3.5 w-3.5 shrink-0\" :stroke-width=\"2.5\" /></button\n ></motion.div>\n</template>\n"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"path": "registry/orvui/motion/select/src/SelectRegistrar.vue",
|
|
238
|
+
"target": "~/src/components/orvui/motion/select/src/SelectRegistrar.vue",
|
|
239
|
+
"type": "registry:component",
|
|
240
|
+
"content": "<script setup lang=\"ts\">\nimport { h, mergeProps, provide, renderSlot, useAttrs } from \"vue\";\nimport { registrarKey } from \"./context\";\ndefineOptions({ inheritAttrs: false });\nconst slots = defineSlots<{ default?(props: {}): any }>();\nconst attrs = useAttrs();\nprovide(registrarKey, true);\n// Registration descendants stay mounted inside this injection boundary.\nconst RenderFrame = () =>\n h(\"div\", mergeProps({ hidden: true }, attrs), [renderSlot(slots, \"default\")]);\n</script>\n<template><RenderFrame /></template>\n"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"path": "registry/orvui/motion/select/src/SelectTrigger.vue",
|
|
244
|
+
"target": "~/src/components/orvui/motion/select/src/SelectTrigger.vue",
|
|
245
|
+
"type": "registry:component",
|
|
246
|
+
"content": "<script setup lang=\"ts\">\nimport { motion, useTransform } from \"motion-v\";\nimport { ChevronDown } from \"lucide-vue-next\";\nimport { useSelect } from \"./context\";\ndefineProps<{ className?: string }>();\nconst state = useSelect();\nconst trigger = state.trigger;\nconst nearRadius = useTransform(\n state.progress,\n [0, 0.2, 0.4, 1],\n [\"12px\", \"0px\", \"0px\", \"12px\"],\n);\nconst rotate = useTransform(\n () =>\n (state.reduce.value\n ? Number(state.open.value)\n : Math.max(0, Math.min(1, state.progress.get()))) * 180,\n);\nfunction openWithArrow(event: KeyboardEvent) {\n if (\n event.defaultPrevented ||\n state.disabled.value ||\n state.open.value ||\n ![\"ArrowDown\", \"ArrowUp\"].includes(event.key)\n )\n return;\n event.preventDefault();\n state.open.value = true;\n}\n</script>\n<template>\n <motion.button\n ref=\"trigger\"\n type=\"button\"\n data-trigger\n :id=\"state.triggerId\"\n :disabled=\"state.disabled.value\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"state.open.value\"\n :aria-controls=\"state.listId\"\n @click=\"!state.disabled.value && (state.open.value = !state.open.value)\"\n @keydown=\"openWithArrow\"\n :style=\"{\n borderTopLeftRadius:\n state.reduce.value || state.placement.value !== 'top'\n ? '12px'\n : nearRadius,\n borderTopRightRadius:\n state.reduce.value || state.placement.value !== 'top'\n ? '12px'\n : nearRadius,\n borderBottomLeftRadius:\n state.reduce.value || state.placement.value === 'top'\n ? '12px'\n : nearRadius,\n borderBottomRightRadius:\n state.reduce.value || state.placement.value === 'top'\n ? '12px'\n : nearRadius,\n }\"\n :class=\"[\n 'relative z-10 flex w-full items-center justify-between gap-2 border border-border bg-background px-3 py-2 text-sm text-foreground outline-none transition-colors hover:border-(--color-border-strong) focus-visible:ring-2 focus-visible:ring-foreground/20 disabled:pointer-events-none disabled:opacity-50',\n className,\n ]\"\n ><slot /><motion.span\n aria-hidden=\"true\"\n :style=\"{ rotate }\"\n class=\"text-muted-foreground\"\n ><ChevronDown class=\"h-4 w-4\" /></motion.span\n ></motion.button>\n</template>\n"
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"path": "registry/orvui/motion/select/src/SelectValue.vue",
|
|
250
|
+
"target": "~/src/components/orvui/motion/select/src/SelectValue.vue",
|
|
251
|
+
"type": "registry:component",
|
|
252
|
+
"content": "<script setup lang=\"ts\">\nimport { computed, watch } from \"vue\";\nimport { useSelect } from \"./context\";\nconst props = withDefaults(\n defineProps<{ placeholder?: string; className?: string }>(),\n { placeholder: \"Select\" },\n);\nconst state = useSelect();\nconst label = computed(() => state.labelFor(state.value.value));\n</script>\n<template>\n <span\n :class=\"[label ? 'text-foreground' : 'text-muted-foreground', className]\"\n >{{ label ?? placeholder }}</span\n >\n</template>\n"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"path": "registry/orvui/motion/select/src/unfold.ts",
|
|
256
|
+
"target": "~/src/components/orvui/motion/select/src/unfold.ts",
|
|
257
|
+
"type": "registry:lib",
|
|
258
|
+
"content": "export function unfoldGeometry(\n progress: number,\n height: number,\n top: boolean,\n reduced: boolean,\n) {\n const bounded = (value: number) => Math.min(1, Math.max(0, value));\n const phase = bounded(progress);\n const separation = bounded((phase - 0.4) / 0.6);\n const moving = height > 0 && !reduced;\n const near = moving ? 12 * separation : 12;\n const radius = top\n ? `12px 12px ${near}px ${near}px`\n : `${near}px ${near}px 12px 12px`;\n const hidden = Math.max(0, (height - 8) * (1 - phase));\n return {\n y: moving ? (top ? 8 : -8) * (1 - separation) : 0,\n radius,\n clip:\n !moving || phase === 1\n ? \"none\"\n : `inset(${top ? `${hidden}px 0 0 0` : `0 0 ${hidden}px 0`} round ${radius})`,\n opacity: bounded(progress / (reduced ? 1 : 0.12)),\n };\n}\n"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"path": "registry/orvui/motion/state.ts",
|
|
262
|
+
"target": "~/src/components/orvui/motion/state.ts",
|
|
263
|
+
"type": "registry:lib",
|
|
264
|
+
"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"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"path": "registry/orvui/motion/switch/index.ts",
|
|
268
|
+
"target": "~/src/components/orvui/motion/switch/index.ts",
|
|
269
|
+
"type": "registry:lib",
|
|
270
|
+
"content": "export { default as Switch } from \"./src/Switch.vue\";\n\nexport type * from \"./src/api-types\";\n"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"path": "registry/orvui/motion/switch/src/api-types.ts",
|
|
274
|
+
"target": "~/src/components/orvui/motion/switch/src/api-types.ts",
|
|
275
|
+
"type": "registry:lib",
|
|
276
|
+
"content": "// Vue public prop types, derived from the actual components.\nexport type SwitchProps = InstanceType<\n (typeof import(\"./Switch.vue\"))[\"default\"]\n>[\"$props\"];\n"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"path": "registry/orvui/motion/switch/src/Switch.vue",
|
|
280
|
+
"target": "~/src/components/orvui/motion/switch/src/Switch.vue",
|
|
281
|
+
"type": "registry:component",
|
|
282
|
+
"content": "<script setup lang=\"ts\">\ndefineOptions({ inheritAttrs: false });\nimport { computed, onBeforeUnmount, ref, useId, watch } from \"vue\";\nimport { animate, motion } from \"motion-v\";\nimport { cn } from \"../../../lib/utils\";\nimport { resolveElement, useReducedMotion } from \"../../../lib/composables\";\nimport { useMotionState } from \"../../state\";\n\nconst props = withDefaults(defineProps<{\n modelValue?: boolean; defaultValue?: boolean; disabled?: boolean; label?: string; ariaLabel?: string;\n}>(), { modelValue: undefined, defaultValue: false });\nconst emit = defineEmits([\"update:modelValue\", \"change\"]);\nconst checked = useMotionState(props, emit, \"modelValue\", props.defaultValue);\nconst controlId = useId();\nconst reduced = useReducedMotion();\nconst thumb = ref<HTMLElement | null>(null), pressing = ref(false);\nconst squashed = computed(() => pressing.value && !props.disabled && !reduced.value);\nlet feedback: ReturnType<typeof animate> | undefined;\nfunction toggle(event: MouseEvent) {\n if (!props.disabled && !event.defaultPrevented) checked.value = !checked.value;\n}\nfunction release() { pressing.value = false; }\nwatch([pressing, () => props.disabled, reduced], ([down, disabled, quiet]) => {\n feedback?.stop();\n feedback = undefined;\n if (down && disabled && !quiet && thumb.value)\n feedback = animate(thumb.value, { x: [0, -2, 2, -1, 0] }, { delay: 0.2, duration: 0.6 });\n});\nonBeforeUnmount(() => { feedback?.stop(); });\n</script>\n\n<template>\n <span :class=\"cn('inline-flex items-center gap-3', $attrs.class as string)\" :style=\"$attrs.style as any\">\n <motion.button v-bind=\"{ ...$attrs, class: undefined, style: undefined }\" :id=\"controlId\"\n type=\"button\" role=\"switch\" :aria-checked=\"checked\" :disabled=\"disabled\"\n :aria-label=\"ariaLabel ?? ($attrs['aria-label'] as string)\" :data-state=\"checked ? 'checked' : 'unchecked'\"\n :initial=\"false\" @click=\"toggle\" @pointerdown=\"pressing = true\" @pointerup=\"release\" @pointerleave=\"release\" @pointercancel=\"release\"\n :class=\"cn('group peer inline-flex h-7 w-12 shrink-0 cursor-pointer items-center px-1 rounded-full outline-none transition-colors duration-200 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-60', checked ? 'justify-end bg-primary' : 'justify-start bg-muted-foreground/60')\">\n <motion.div :ref=\"element => thumb = resolveElement<HTMLElement>(element)\" layout\n :animate=\"{ scale: squashed ? 0.9 : 1 }\"\n :transition=\"reduced ? { duration: 0 } : { type: 'spring', stiffness: 800, damping: 80, mass: 4 }\"\n class=\"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-sm\">\n <div :class=\"cn('size-5', squashed && (checked ? 'ml-1' : 'mr-1'))\" />\n </motion.div>\n </motion.button>\n <label v-if=\"label\" :for=\"controlId\" class=\"cursor-pointer text-sm text-foreground\">{{ label }}</label>\n </span>\n</template>\n"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"path": "registry/orvui/motion/tooltip/index.ts",
|
|
286
|
+
"target": "~/src/components/orvui/motion/tooltip/index.ts",
|
|
287
|
+
"type": "registry:lib",
|
|
288
|
+
"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"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"path": "registry/orvui/motion/tooltip/src/api-types.ts",
|
|
292
|
+
"target": "~/src/components/orvui/motion/tooltip/src/api-types.ts",
|
|
293
|
+
"type": "registry:lib",
|
|
294
|
+
"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"
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"path": "registry/orvui/motion/tooltip/src/context.ts",
|
|
298
|
+
"target": "~/src/components/orvui/motion/tooltip/src/context.ts",
|
|
299
|
+
"type": "registry:lib",
|
|
300
|
+
"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"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"path": "registry/orvui/motion/tooltip/src/grace.ts",
|
|
304
|
+
"target": "~/src/components/orvui/motion/tooltip/src/grace.ts",
|
|
305
|
+
"type": "registry:lib",
|
|
306
|
+
"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"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"path": "registry/orvui/motion/tooltip/src/position.ts",
|
|
310
|
+
"target": "~/src/components/orvui/motion/tooltip/src/position.ts",
|
|
311
|
+
"type": "registry:lib",
|
|
312
|
+
"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"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"path": "registry/orvui/motion/tooltip/src/Tooltip.vue",
|
|
316
|
+
"target": "~/src/components/orvui/motion/tooltip/src/Tooltip.vue",
|
|
317
|
+
"type": "registry:component",
|
|
318
|
+
"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"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"path": "registry/orvui/motion/tooltip/src/TooltipContent.vue",
|
|
322
|
+
"target": "~/src/components/orvui/motion/tooltip/src/TooltipContent.vue",
|
|
323
|
+
"type": "registry:component",
|
|
324
|
+
"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"
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"path": "registry/orvui/motion/tooltip/src/TooltipProvider.vue",
|
|
328
|
+
"target": "~/src/components/orvui/motion/tooltip/src/TooltipProvider.vue",
|
|
329
|
+
"type": "registry:component",
|
|
330
|
+
"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"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"path": "registry/orvui/motion/tooltip/src/TooltipTrigger.vue",
|
|
334
|
+
"target": "~/src/components/orvui/motion/tooltip/src/TooltipTrigger.vue",
|
|
335
|
+
"type": "registry:component",
|
|
336
|
+
"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"
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"path": "registry/orvui/styles.css.txt",
|
|
340
|
+
"target": "~/src/components/orvui/styles.css",
|
|
341
|
+
"type": "registry:file",
|
|
342
|
+
"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"
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"path": "registry/orvui/tokens.css.txt",
|
|
346
|
+
"target": "~/src/components/orvui/tokens.css",
|
|
347
|
+
"type": "registry:file",
|
|
348
|
+
"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"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"path": "registry/orvui/LICENSE.txt",
|
|
352
|
+
"target": "~/src/components/orvui/LICENSE.txt",
|
|
353
|
+
"type": "registry:file",
|
|
354
|
+
"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"
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"path": "registry/orvui/NOTICE.txt",
|
|
358
|
+
"target": "~/src/components/orvui/NOTICE.txt",
|
|
359
|
+
"type": "registry:file",
|
|
360
|
+
"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"
|
|
361
|
+
}
|
|
362
|
+
],
|
|
363
|
+
"dependencies": [
|
|
364
|
+
"@floating-ui/dom@^1.7.0",
|
|
365
|
+
"clsx@^2.1.1",
|
|
366
|
+
"lucide-vue-next@^0.468.0",
|
|
367
|
+
"motion-v@^1.10.0",
|
|
368
|
+
"tailwind-merge@^3.0.0",
|
|
369
|
+
"tailwindcss@^4.0.0"
|
|
370
|
+
],
|
|
371
|
+
"meta": {
|
|
372
|
+
"product": "orvui",
|
|
373
|
+
"version": "0.1.1",
|
|
374
|
+
"package": "@orvui/vue",
|
|
375
|
+
"category": "blocks",
|
|
376
|
+
"registry": "https://orvui.efu.me/r/availability-scheduler.json"
|
|
377
|
+
}
|
|
378
|
+
}
|