@dowel-ui/react 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/blocks/cta-banner/meta.js +18 -0
- package/dist/blocks/cta-banner/meta.js.map +1 -0
- package/dist/blocks/cta-centered/meta.js +18 -0
- package/dist/blocks/cta-centered/meta.js.map +1 -0
- package/dist/blocks/cta-split-image/meta.js +18 -0
- package/dist/blocks/cta-split-image/meta.js.map +1 -0
- package/dist/blocks/faq-accordion/meta.js +18 -0
- package/dist/blocks/faq-accordion/meta.js.map +1 -0
- package/dist/blocks/faq-categorized/meta.js +18 -0
- package/dist/blocks/faq-categorized/meta.js.map +1 -0
- package/dist/blocks/faq-searchable/meta.js +22 -0
- package/dist/blocks/faq-searchable/meta.js.map +1 -0
- package/dist/blocks/faq-tabbed-grid/meta.js +18 -0
- package/dist/blocks/faq-tabbed-grid/meta.js.map +1 -0
- package/dist/blocks/features-alternating/meta.js +18 -0
- package/dist/blocks/features-alternating/meta.js.map +1 -0
- package/dist/blocks/features-bento/meta.js +18 -0
- package/dist/blocks/features-bento/meta.js.map +1 -0
- package/dist/blocks/features-icon-grid/meta.js +18 -0
- package/dist/blocks/features-icon-grid/meta.js.map +1 -0
- package/dist/blocks/footer-mega/meta.js +22 -0
- package/dist/blocks/footer-mega/meta.js.map +1 -0
- package/dist/blocks/footer-minimal/meta.js +18 -0
- package/dist/blocks/footer-minimal/meta.js.map +1 -0
- package/dist/blocks/footer-newsletter/meta.js +22 -0
- package/dist/blocks/footer-newsletter/meta.js.map +1 -0
- package/dist/blocks/footer-simple/meta.js +18 -0
- package/dist/blocks/footer-simple/meta.js.map +1 -0
- package/dist/blocks/hero-grid/meta.js +18 -0
- package/dist/blocks/hero-grid/meta.js.map +1 -0
- package/dist/blocks/hero-minimal/meta.js +18 -0
- package/dist/blocks/hero-minimal/meta.js.map +1 -0
- package/dist/blocks/hero-perspective-grid/meta.js +18 -0
- package/dist/blocks/hero-perspective-grid/meta.js.map +1 -0
- package/dist/blocks/hero-product/meta.js +22 -0
- package/dist/blocks/hero-product/meta.js.map +1 -0
- package/dist/blocks/hero-split-image/meta.js +22 -0
- package/dist/blocks/hero-split-image/meta.js.map +1 -0
- package/dist/blocks/hero-spotlight/meta.js +18 -0
- package/dist/blocks/hero-spotlight/meta.js.map +1 -0
- package/dist/blocks/logo-cloud-simple/meta.js +18 -0
- package/dist/blocks/logo-cloud-simple/meta.js.map +1 -0
- package/dist/blocks/logo-grid-tooltips/meta.js +18 -0
- package/dist/blocks/logo-grid-tooltips/meta.js.map +1 -0
- package/dist/blocks/logo-links-marquee/meta.js +18 -0
- package/dist/blocks/logo-links-marquee/meta.js.map +1 -0
- package/dist/blocks/logo-marquee/meta.js +18 -0
- package/dist/blocks/logo-marquee/meta.js.map +1 -0
- package/dist/blocks/pricing-single-plan/meta.js +25 -0
- package/dist/blocks/pricing-single-plan/meta.js.map +1 -0
- package/dist/blocks/pricing-three-tier/meta.js +25 -0
- package/dist/blocks/pricing-three-tier/meta.js.map +1 -0
- package/dist/blocks/pricing-two-tier/meta.js +25 -0
- package/dist/blocks/pricing-two-tier/meta.js.map +1 -0
- package/dist/blocks/stats-grid/meta.js +18 -0
- package/dist/blocks/stats-grid/meta.js.map +1 -0
- package/dist/blocks/stats-trend-cards/meta.js +22 -0
- package/dist/blocks/stats-trend-cards/meta.js.map +1 -0
- package/dist/blocks/team-carousel/meta.js +22 -0
- package/dist/blocks/team-carousel/meta.js.map +1 -0
- package/dist/blocks/team-grid/meta.js +18 -0
- package/dist/blocks/team-grid/meta.js.map +1 -0
- package/dist/blocks/testimonial-rotator/meta.js +18 -0
- package/dist/blocks/testimonial-rotator/meta.js.map +1 -0
- package/dist/blocks/testimonial-spotlight/meta.js +22 -0
- package/dist/blocks/testimonial-spotlight/meta.js.map +1 -0
- package/dist/blocks/testimonial-star-grid/meta.js +18 -0
- package/dist/blocks/testimonial-star-grid/meta.js.map +1 -0
- package/dist/components/account-menu/account-menu.d.ts +56 -0
- package/dist/components/account-menu/account-menu.d.ts.map +1 -0
- package/dist/components/account-menu/account-menu.js +247 -0
- package/dist/components/account-menu/account-menu.js.map +1 -0
- package/dist/components/account-menu/index.d.ts +2 -0
- package/dist/components/account-menu/index.js +2 -0
- package/dist/components/account-menu/meta.js +24 -0
- package/dist/components/account-menu/meta.js.map +1 -0
- package/dist/components/action-node/action-node-spring.js +21 -0
- package/dist/components/action-node/action-node-spring.js.map +1 -0
- package/dist/components/action-node/action-node.d.ts +67 -0
- package/dist/components/action-node/action-node.d.ts.map +1 -0
- package/dist/components/action-node/action-node.js +374 -0
- package/dist/components/action-node/action-node.js.map +1 -0
- package/dist/components/action-node/index.d.ts +2 -0
- package/dist/components/action-node/index.js +2 -0
- package/dist/components/action-node/meta.js +17 -0
- package/dist/components/action-node/meta.js.map +1 -0
- package/dist/components/ai-agent-plan/ai-agent-plan.d.ts +13 -2
- package/dist/components/ai-agent-plan/ai-agent-plan.d.ts.map +1 -1
- package/dist/components/ai-agent-plan/ai-agent-plan.js +109 -42
- package/dist/components/ai-agent-plan/ai-agent-plan.js.map +1 -1
- package/dist/components/ai-agent-plan/index.d.ts +2 -2
- package/dist/components/ai-agent-plan/meta.js +1 -1
- package/dist/components/ai-agent-plan/meta.js.map +1 -1
- package/dist/components/ai-agent-status/ai-agent-status.d.ts +1 -1
- package/dist/components/ai-approval-request/ai-approval-request.d.ts +8 -1
- package/dist/components/ai-approval-request/ai-approval-request.d.ts.map +1 -1
- package/dist/components/ai-approval-request/ai-approval-request.js +67 -12
- package/dist/components/ai-approval-request/ai-approval-request.js.map +1 -1
- package/dist/components/ai-approval-request/meta.js +1 -1
- package/dist/components/ai-approval-request/meta.js.map +1 -1
- package/dist/components/ai-artifact/ai-artifact.d.ts +27 -0
- package/dist/components/ai-artifact/ai-artifact.d.ts.map +1 -0
- package/dist/components/ai-artifact/ai-artifact.js +142 -0
- package/dist/components/ai-artifact/ai-artifact.js.map +1 -0
- package/dist/components/ai-artifact/index.d.ts +2 -0
- package/dist/components/ai-artifact/index.js +2 -0
- package/dist/components/ai-artifact/meta.js +17 -0
- package/dist/components/ai-artifact/meta.js.map +1 -0
- package/dist/components/ai-branch/ai-branch.d.ts +32 -0
- package/dist/components/ai-branch/ai-branch.d.ts.map +1 -0
- package/dist/components/ai-branch/ai-branch.js +160 -0
- package/dist/components/ai-branch/ai-branch.js.map +1 -0
- package/dist/components/ai-branch/index.d.ts +2 -0
- package/dist/components/ai-branch/index.js +2 -0
- package/dist/components/ai-branch/meta.js +17 -0
- package/dist/components/ai-branch/meta.js.map +1 -0
- package/dist/components/ai-conversation/ai-conversation.d.ts +16 -4
- package/dist/components/ai-conversation/ai-conversation.d.ts.map +1 -1
- package/dist/components/ai-conversation/ai-conversation.js +78 -10
- package/dist/components/ai-conversation/ai-conversation.js.map +1 -1
- package/dist/components/ai-conversation/index.d.ts +2 -2
- package/dist/components/ai-loader/ai-loader.d.ts +22 -0
- package/dist/components/ai-loader/ai-loader.d.ts.map +1 -0
- package/dist/components/ai-loader/ai-loader.js +78 -0
- package/dist/components/ai-loader/ai-loader.js.map +1 -0
- package/dist/components/ai-loader/index.d.ts +2 -0
- package/dist/components/ai-loader/index.js +2 -0
- package/dist/components/ai-loader/meta.js +21 -0
- package/dist/components/ai-loader/meta.js.map +1 -0
- package/dist/components/ai-message/ai-message.d.ts +13 -2
- package/dist/components/ai-message/ai-message.d.ts.map +1 -1
- package/dist/components/ai-message/ai-message.js +29 -5
- package/dist/components/ai-message/ai-message.js.map +1 -1
- package/dist/components/ai-message/index.d.ts +2 -2
- package/dist/components/ai-message/index.js +2 -2
- package/dist/components/ai-message/meta.js +1 -1
- package/dist/components/ai-message/meta.js.map +1 -1
- package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -1
- package/dist/components/ai-prompt-input/ai-prompt-input.js +45 -26
- package/dist/components/ai-prompt-input/ai-prompt-input.js.map +1 -1
- package/dist/components/ai-reasoning/ai-reasoning.d.ts +39 -11
- package/dist/components/ai-reasoning/ai-reasoning.d.ts.map +1 -1
- package/dist/components/ai-reasoning/ai-reasoning.js +113 -9
- package/dist/components/ai-reasoning/ai-reasoning.js.map +1 -1
- package/dist/components/ai-reasoning/index.d.ts +2 -2
- package/dist/components/ai-reasoning/index.js +2 -2
- package/dist/components/ai-reasoning/meta.js +2 -2
- package/dist/components/ai-reasoning/meta.js.map +1 -1
- package/dist/components/ai-response/ai-response.d.ts +4 -0
- package/dist/components/ai-response/ai-response.d.ts.map +1 -1
- package/dist/components/ai-response/ai-response.js +5 -1
- package/dist/components/ai-response/ai-response.js.map +1 -1
- package/dist/components/ai-response/index.d.ts +2 -1
- package/dist/components/ai-response/index.js +2 -1
- package/dist/components/ai-response/meta.js +3 -3
- package/dist/components/ai-response/meta.js.map +1 -1
- package/dist/components/ai-response/response-text.d.ts +42 -0
- package/dist/components/ai-response/response-text.d.ts.map +1 -0
- package/dist/components/ai-response/response-text.js +63 -0
- package/dist/components/ai-response/response-text.js.map +1 -0
- package/dist/components/ai-sources/ai-sources.d.ts +31 -5
- package/dist/components/ai-sources/ai-sources.d.ts.map +1 -1
- package/dist/components/ai-sources/ai-sources.js +188 -47
- package/dist/components/ai-sources/ai-sources.js.map +1 -1
- package/dist/components/ai-sources/index.d.ts +2 -2
- package/dist/components/ai-sources/index.js +2 -2
- package/dist/components/ai-sources/meta.js +2 -2
- package/dist/components/ai-sources/meta.js.map +1 -1
- package/dist/components/ai-suggestions/ai-suggestions.d.ts +24 -0
- package/dist/components/ai-suggestions/ai-suggestions.d.ts.map +1 -0
- package/dist/components/ai-suggestions/ai-suggestions.js +68 -0
- package/dist/components/ai-suggestions/ai-suggestions.js.map +1 -0
- package/dist/components/ai-suggestions/index.d.ts +2 -0
- package/dist/components/ai-suggestions/index.js +2 -0
- package/dist/components/ai-suggestions/meta.js +17 -0
- package/dist/components/ai-suggestions/meta.js.map +1 -0
- package/dist/components/ai-token-usage/ai-token-usage.d.ts +40 -3
- package/dist/components/ai-token-usage/ai-token-usage.d.ts.map +1 -1
- package/dist/components/ai-token-usage/ai-token-usage.js +201 -24
- package/dist/components/ai-token-usage/ai-token-usage.js.map +1 -1
- package/dist/components/ai-token-usage/index.d.ts +2 -2
- package/dist/components/ai-token-usage/index.js +2 -2
- package/dist/components/ai-token-usage/meta.js +2 -2
- package/dist/components/ai-token-usage/meta.js.map +1 -1
- package/dist/components/ai-tool/ai-tool.d.ts +12 -1
- package/dist/components/ai-tool/ai-tool.d.ts.map +1 -1
- package/dist/components/ai-tool/ai-tool.js +82 -5
- package/dist/components/ai-tool/ai-tool.js.map +1 -1
- package/dist/components/ai-tool/meta.js +1 -1
- package/dist/components/ai-tool/meta.js.map +1 -1
- package/dist/components/alert/alert.d.ts +1 -1
- package/dist/components/animated-checklist/animated-checklist.d.ts +40 -0
- package/dist/components/animated-checklist/animated-checklist.d.ts.map +1 -0
- package/dist/components/animated-checklist/animated-checklist.js +198 -0
- package/dist/components/animated-checklist/animated-checklist.js.map +1 -0
- package/dist/components/animated-checklist/index.d.ts +2 -0
- package/dist/components/animated-checklist/index.js +2 -0
- package/dist/components/animated-checklist/meta.js +17 -0
- package/dist/components/animated-checklist/meta.js.map +1 -0
- package/dist/components/app-stack/app-stack.d.ts +40 -0
- package/dist/components/app-stack/app-stack.d.ts.map +1 -0
- package/dist/components/app-stack/app-stack.js +260 -0
- package/dist/components/app-stack/app-stack.js.map +1 -0
- package/dist/components/app-stack/index.d.ts +2 -0
- package/dist/components/app-stack/index.js +2 -0
- package/dist/components/app-stack/meta.js +17 -0
- package/dist/components/app-stack/meta.js.map +1 -0
- package/dist/components/aspect-morph/aspect-morph.d.ts +50 -0
- package/dist/components/aspect-morph/aspect-morph.d.ts.map +1 -0
- package/dist/components/aspect-morph/aspect-morph.js +171 -0
- package/dist/components/aspect-morph/aspect-morph.js.map +1 -0
- package/dist/components/aspect-morph/index.d.ts +2 -0
- package/dist/components/aspect-morph/index.js +2 -0
- package/dist/components/aspect-morph/meta.js +17 -0
- package/dist/components/aspect-morph/meta.js.map +1 -0
- package/dist/components/assignee-picker/assignee-picker-spring.js +21 -0
- package/dist/components/assignee-picker/assignee-picker-spring.js.map +1 -0
- package/dist/components/assignee-picker/assignee-picker.d.ts +47 -0
- package/dist/components/assignee-picker/assignee-picker.d.ts.map +1 -0
- package/dist/components/assignee-picker/assignee-picker.js +370 -0
- package/dist/components/assignee-picker/assignee-picker.js.map +1 -0
- package/dist/components/assignee-picker/index.d.ts +2 -0
- package/dist/components/assignee-picker/index.js +2 -0
- package/dist/components/assignee-picker/meta.js +17 -0
- package/dist/components/assignee-picker/meta.js.map +1 -0
- package/dist/components/avatar/avatar.d.ts +1 -1
- package/dist/components/avatar-group/avatar-group.d.ts +41 -0
- package/dist/components/avatar-group/avatar-group.d.ts.map +1 -0
- package/dist/components/avatar-group/avatar-group.js +103 -0
- package/dist/components/avatar-group/avatar-group.js.map +1 -0
- package/dist/components/avatar-group/index.d.ts +2 -0
- package/dist/components/avatar-group/index.js +2 -0
- package/dist/components/avatar-group/meta.js +17 -0
- package/dist/components/avatar-group/meta.js.map +1 -0
- package/dist/components/badge/badge.d.ts +1 -1
- package/dist/components/bar-loader/bar-loader.d.ts +170 -0
- package/dist/components/bar-loader/bar-loader.d.ts.map +1 -0
- package/dist/components/bar-loader/bar-loader.js +469 -0
- package/dist/components/bar-loader/bar-loader.js.map +1 -0
- package/dist/components/bar-loader/index.d.ts +2 -0
- package/dist/components/bar-loader/index.js +2 -0
- package/dist/components/bar-loader/meta.js +17 -0
- package/dist/components/bar-loader/meta.js.map +1 -0
- package/dist/components/book/book.d.ts +35 -0
- package/dist/components/book/book.d.ts.map +1 -0
- package/dist/components/book/book.js +183 -0
- package/dist/components/book/book.js.map +1 -0
- package/dist/components/book/index.d.ts +2 -0
- package/dist/components/book/index.js +2 -0
- package/dist/components/book/meta.js +17 -0
- package/dist/components/book/meta.js.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts +10 -2
- package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/dist/components/breadcrumb/breadcrumb.js +21 -4
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/components/breadcrumb/index.d.ts +2 -2
- package/dist/components/breadcrumb/meta.js +1 -1
- package/dist/components/breadcrumb/meta.js.map +1 -1
- package/dist/components/browser-tabs/browser-tabs-spring.js +21 -0
- package/dist/components/browser-tabs/browser-tabs-spring.js.map +1 -0
- package/dist/components/browser-tabs/browser-tabs.d.ts +62 -0
- package/dist/components/browser-tabs/browser-tabs.d.ts.map +1 -0
- package/dist/components/browser-tabs/browser-tabs.js +418 -0
- package/dist/components/browser-tabs/browser-tabs.js.map +1 -0
- package/dist/components/browser-tabs/index.d.ts +2 -0
- package/dist/components/browser-tabs/index.js +2 -0
- package/dist/components/browser-tabs/meta.js +17 -0
- package/dist/components/browser-tabs/meta.js.map +1 -0
- package/dist/components/button/button.d.ts +4 -2
- package/dist/components/button/button.d.ts.map +1 -1
- package/dist/components/button/button.js +48 -5
- package/dist/components/button/button.js.map +1 -1
- package/dist/components/canvas-toolbar/canvas-toolbar.d.ts +62 -0
- package/dist/components/canvas-toolbar/canvas-toolbar.d.ts.map +1 -0
- package/dist/components/canvas-toolbar/canvas-toolbar.js +256 -0
- package/dist/components/canvas-toolbar/canvas-toolbar.js.map +1 -0
- package/dist/components/canvas-toolbar/index.d.ts +2 -0
- package/dist/components/canvas-toolbar/index.js +2 -0
- package/dist/components/canvas-toolbar/meta.js +17 -0
- package/dist/components/canvas-toolbar/meta.js.map +1 -0
- package/dist/components/card-spread/card-spread-layouts.d.ts +46 -0
- package/dist/components/card-spread/card-spread-layouts.d.ts.map +1 -0
- package/dist/components/card-spread/card-spread-layouts.js +235 -0
- package/dist/components/card-spread/card-spread-layouts.js.map +1 -0
- package/dist/components/card-spread/card-spread.d.ts +52 -0
- package/dist/components/card-spread/card-spread.d.ts.map +1 -0
- package/dist/components/card-spread/card-spread.js +224 -0
- package/dist/components/card-spread/card-spread.js.map +1 -0
- package/dist/components/card-spread/index.d.ts +3 -0
- package/dist/components/card-spread/index.js +3 -0
- package/dist/components/card-spread/meta.js +17 -0
- package/dist/components/card-spread/meta.js.map +1 -0
- package/dist/components/card-stack/card-stack-layout.js +98 -0
- package/dist/components/card-stack/card-stack-layout.js.map +1 -0
- package/dist/components/card-stack/card-stack.d.ts +29 -0
- package/dist/components/card-stack/card-stack.d.ts.map +1 -0
- package/dist/components/card-stack/card-stack.js +229 -0
- package/dist/components/card-stack/card-stack.js.map +1 -0
- package/dist/components/card-stack/index.d.ts +2 -0
- package/dist/components/card-stack/index.js +2 -0
- package/dist/components/card-stack/meta.js +17 -0
- package/dist/components/card-stack/meta.js.map +1 -0
- package/dist/components/carousel-3d/carousel-3d.d.ts +43 -0
- package/dist/components/carousel-3d/carousel-3d.d.ts.map +1 -0
- package/dist/components/carousel-3d/carousel-3d.js +336 -0
- package/dist/components/carousel-3d/carousel-3d.js.map +1 -0
- package/dist/components/carousel-3d/index.d.ts +2 -0
- package/dist/components/carousel-3d/index.js +2 -0
- package/dist/components/carousel-3d/meta.js +17 -0
- package/dist/components/carousel-3d/meta.js.map +1 -0
- package/dist/components/checkbox/checkbox.d.ts.map +1 -1
- package/dist/components/checkbox/checkbox.js +18 -0
- package/dist/components/checkbox/checkbox.js.map +1 -1
- package/dist/components/code-block/code-block.d.ts +1 -17
- package/dist/components/code-block/code-block.d.ts.map +1 -1
- package/dist/components/code-block/code-block.js +9 -79
- package/dist/components/code-block/code-block.js.map +1 -1
- package/dist/components/code-block/index.d.ts +3 -1
- package/dist/components/code-block/index.js +2 -1
- package/dist/components/code-block/meta.js +1 -1
- package/dist/components/code-block/meta.js.map +1 -1
- package/dist/components/combobox/combobox.d.ts +28 -4
- package/dist/components/combobox/combobox.d.ts.map +1 -1
- package/dist/components/combobox/combobox.js +160 -65
- package/dist/components/combobox/combobox.js.map +1 -1
- package/dist/components/combobox/index.d.ts +2 -2
- package/dist/components/combobox/index.js +2 -2
- package/dist/components/combobox/meta.js +1 -1
- package/dist/components/combobox/meta.js.map +1 -1
- package/dist/components/command-bar/command-bar.d.ts +37 -0
- package/dist/components/command-bar/command-bar.d.ts.map +1 -0
- package/dist/components/command-bar/command-bar.js +91 -0
- package/dist/components/command-bar/command-bar.js.map +1 -0
- package/dist/components/command-bar/index.d.ts +2 -0
- package/dist/components/command-bar/index.js +2 -0
- package/dist/components/command-bar/meta.js +17 -0
- package/dist/components/command-bar/meta.js.map +1 -0
- package/dist/components/comment-bubble/comment-bubble.d.ts +32 -0
- package/dist/components/comment-bubble/comment-bubble.d.ts.map +1 -0
- package/dist/components/comment-bubble/comment-bubble.js +174 -0
- package/dist/components/comment-bubble/comment-bubble.js.map +1 -0
- package/dist/components/comment-bubble/index.d.ts +2 -0
- package/dist/components/comment-bubble/index.js +2 -0
- package/dist/components/comment-bubble/meta.js +17 -0
- package/dist/components/comment-bubble/meta.js.map +1 -0
- package/dist/components/context-menu/context-menu.d.ts +49 -0
- package/dist/components/context-menu/context-menu.d.ts.map +1 -0
- package/dist/components/context-menu/context-menu.js +151 -0
- package/dist/components/context-menu/context-menu.js.map +1 -0
- package/dist/components/context-menu/index.d.ts +2 -0
- package/dist/components/context-menu/index.js +2 -0
- package/dist/components/context-menu/meta.js +17 -0
- package/dist/components/context-menu/meta.js.map +1 -0
- package/dist/components/contribution-graph/contribution-graph.d.ts +37 -0
- package/dist/components/contribution-graph/contribution-graph.d.ts.map +1 -0
- package/dist/components/contribution-graph/contribution-graph.js +298 -0
- package/dist/components/contribution-graph/contribution-graph.js.map +1 -0
- package/dist/components/contribution-graph/index.d.ts +2 -0
- package/dist/components/contribution-graph/index.js +2 -0
- package/dist/components/contribution-graph/meta.js +17 -0
- package/dist/components/contribution-graph/meta.js.map +1 -0
- package/dist/components/copy-button/copy-button.d.ts +81 -0
- package/dist/components/copy-button/copy-button.d.ts.map +1 -0
- package/dist/components/copy-button/copy-button.js +146 -0
- package/dist/components/copy-button/copy-button.js.map +1 -0
- package/dist/components/copy-button/index.d.ts +2 -0
- package/dist/components/copy-button/index.js +2 -0
- package/dist/components/copy-button/meta.js +17 -0
- package/dist/components/copy-button/meta.js.map +1 -0
- package/dist/components/create-menu/create-menu.d.ts +42 -0
- package/dist/components/create-menu/create-menu.d.ts.map +1 -0
- package/dist/components/create-menu/create-menu.js +197 -0
- package/dist/components/create-menu/create-menu.js.map +1 -0
- package/dist/components/create-menu/index.d.ts +2 -0
- package/dist/components/create-menu/index.js +2 -0
- package/dist/components/create-menu/meta.js +17 -0
- package/dist/components/create-menu/meta.js.map +1 -0
- package/dist/components/cursor-follow/cursor-follow.d.ts +17 -0
- package/dist/components/cursor-follow/cursor-follow.d.ts.map +1 -0
- package/dist/components/cursor-follow/cursor-follow.js +116 -0
- package/dist/components/cursor-follow/cursor-follow.js.map +1 -0
- package/dist/components/cursor-follow/index.d.ts +2 -0
- package/dist/components/cursor-follow/index.js +2 -0
- package/dist/components/cursor-follow/meta.js +17 -0
- package/dist/components/cursor-follow/meta.js.map +1 -0
- package/dist/components/dial/dial.d.ts +32 -0
- package/dist/components/dial/dial.d.ts.map +1 -0
- package/dist/components/dial/dial.js +195 -0
- package/dist/components/dial/dial.js.map +1 -0
- package/dist/components/dial/index.d.ts +2 -0
- package/dist/components/dial/index.js +2 -0
- package/dist/components/dial/meta.js +17 -0
- package/dist/components/dial/meta.js.map +1 -0
- package/dist/components/dialog/dialog.d.ts +8 -1
- package/dist/components/dialog/dialog.d.ts.map +1 -1
- package/dist/components/dialog/dialog.js +22 -5
- package/dist/components/dialog/dialog.js.map +1 -1
- package/dist/components/dialog/meta.js +1 -1
- package/dist/components/dialog/meta.js.map +1 -1
- package/dist/components/diff-viewer/diff-viewer.d.ts +12 -1
- package/dist/components/diff-viewer/diff-viewer.d.ts.map +1 -1
- package/dist/components/diff-viewer/diff-viewer.js +98 -26
- package/dist/components/diff-viewer/diff-viewer.js.map +1 -1
- package/dist/components/diff-viewer/meta.js +1 -1
- package/dist/components/diff-viewer/meta.js.map +1 -1
- package/dist/components/dither-area/dither-area.d.ts +46 -0
- package/dist/components/dither-area/dither-area.d.ts.map +1 -0
- package/dist/components/dither-area/dither-area.js +186 -0
- package/dist/components/dither-area/dither-area.js.map +1 -0
- package/dist/components/dither-area/index.d.ts +2 -0
- package/dist/components/dither-area/index.js +2 -0
- package/dist/components/dither-area/meta.js +17 -0
- package/dist/components/dither-area/meta.js.map +1 -0
- package/dist/components/dither-bar/dither-bar.d.ts +47 -0
- package/dist/components/dither-bar/dither-bar.d.ts.map +1 -0
- package/dist/components/dither-bar/dither-bar.js +261 -0
- package/dist/components/dither-bar/dither-bar.js.map +1 -0
- package/dist/components/dither-bar/index.d.ts +2 -0
- package/dist/components/dither-bar/index.js +2 -0
- package/dist/components/dither-bar/meta.js +17 -0
- package/dist/components/dither-bar/meta.js.map +1 -0
- package/dist/components/dither-canvas/dither-canvas.d.ts +76 -0
- package/dist/components/dither-canvas/dither-canvas.d.ts.map +1 -0
- package/dist/components/dither-canvas/dither-canvas.js +236 -0
- package/dist/components/dither-canvas/dither-canvas.js.map +1 -0
- package/dist/components/dither-canvas/dither-engine.d.ts +132 -0
- package/dist/components/dither-canvas/dither-engine.d.ts.map +1 -0
- package/dist/components/dither-canvas/dither-engine.js +243 -0
- package/dist/components/dither-canvas/dither-engine.js.map +1 -0
- package/dist/components/dither-canvas/dither-geometry.d.ts +73 -0
- package/dist/components/dither-canvas/dither-geometry.d.ts.map +1 -0
- package/dist/components/dither-canvas/dither-geometry.js +205 -0
- package/dist/components/dither-canvas/dither-geometry.js.map +1 -0
- package/dist/components/dither-canvas/dither-scrubber.d.ts +64 -0
- package/dist/components/dither-canvas/dither-scrubber.d.ts.map +1 -0
- package/dist/components/dither-canvas/dither-scrubber.js +130 -0
- package/dist/components/dither-canvas/dither-scrubber.js.map +1 -0
- package/dist/components/dither-canvas/index.d.ts +5 -0
- package/dist/components/dither-canvas/index.js +5 -0
- package/dist/components/dither-canvas/meta.js +22 -0
- package/dist/components/dither-canvas/meta.js.map +1 -0
- package/dist/components/dither-donut/dither-donut.d.ts +46 -0
- package/dist/components/dither-donut/dither-donut.d.ts.map +1 -0
- package/dist/components/dither-donut/dither-donut.js +241 -0
- package/dist/components/dither-donut/dither-donut.js.map +1 -0
- package/dist/components/dither-donut/index.d.ts +2 -0
- package/dist/components/dither-donut/index.js +2 -0
- package/dist/components/dither-donut/meta.js +17 -0
- package/dist/components/dither-donut/meta.js.map +1 -0
- package/dist/components/dither-funnel/dither-funnel.d.ts +53 -0
- package/dist/components/dither-funnel/dither-funnel.d.ts.map +1 -0
- package/dist/components/dither-funnel/dither-funnel.js +176 -0
- package/dist/components/dither-funnel/dither-funnel.js.map +1 -0
- package/dist/components/dither-funnel/index.d.ts +2 -0
- package/dist/components/dither-funnel/index.js +2 -0
- package/dist/components/dither-funnel/meta.js +17 -0
- package/dist/components/dither-funnel/meta.js.map +1 -0
- package/dist/components/dither-gauge/dither-gauge.d.ts +48 -0
- package/dist/components/dither-gauge/dither-gauge.d.ts.map +1 -0
- package/dist/components/dither-gauge/dither-gauge.js +189 -0
- package/dist/components/dither-gauge/dither-gauge.js.map +1 -0
- package/dist/components/dither-gauge/index.d.ts +2 -0
- package/dist/components/dither-gauge/index.js +2 -0
- package/dist/components/dither-gauge/meta.js +17 -0
- package/dist/components/dither-gauge/meta.js.map +1 -0
- package/dist/components/dither-heatmap/dither-heatmap.d.ts +63 -0
- package/dist/components/dither-heatmap/dither-heatmap.d.ts.map +1 -0
- package/dist/components/dither-heatmap/dither-heatmap.js +298 -0
- package/dist/components/dither-heatmap/dither-heatmap.js.map +1 -0
- package/dist/components/dither-heatmap/index.d.ts +2 -0
- package/dist/components/dither-heatmap/index.js +2 -0
- package/dist/components/dither-heatmap/meta.js +17 -0
- package/dist/components/dither-heatmap/meta.js.map +1 -0
- package/dist/components/dither-line/dither-line.d.ts +41 -0
- package/dist/components/dither-line/dither-line.d.ts.map +1 -0
- package/dist/components/dither-line/dither-line.js +164 -0
- package/dist/components/dither-line/dither-line.js.map +1 -0
- package/dist/components/dither-line/index.d.ts +2 -0
- package/dist/components/dither-line/index.js +2 -0
- package/dist/components/dither-line/meta.js +17 -0
- package/dist/components/dither-line/meta.js.map +1 -0
- package/dist/components/dither-meter/dither-meter.d.ts +51 -0
- package/dist/components/dither-meter/dither-meter.d.ts.map +1 -0
- package/dist/components/dither-meter/dither-meter.js +211 -0
- package/dist/components/dither-meter/dither-meter.js.map +1 -0
- package/dist/components/dither-meter/index.d.ts +2 -0
- package/dist/components/dither-meter/index.js +2 -0
- package/dist/components/dither-meter/meta.js +17 -0
- package/dist/components/dither-meter/meta.js.map +1 -0
- package/dist/components/dither-scatter/dither-scatter.d.ts +53 -0
- package/dist/components/dither-scatter/dither-scatter.d.ts.map +1 -0
- package/dist/components/dither-scatter/dither-scatter.js +211 -0
- package/dist/components/dither-scatter/dither-scatter.js.map +1 -0
- package/dist/components/dither-scatter/index.d.ts +2 -0
- package/dist/components/dither-scatter/index.js +2 -0
- package/dist/components/dither-scatter/meta.js +17 -0
- package/dist/components/dither-scatter/meta.js.map +1 -0
- package/dist/components/dot-morph-button/dot-morph-button.d.ts +18 -0
- package/dist/components/dot-morph-button/dot-morph-button.d.ts.map +1 -0
- package/dist/components/dot-morph-button/dot-morph-button.js +43 -0
- package/dist/components/dot-morph-button/dot-morph-button.js.map +1 -0
- package/dist/components/dot-morph-button/index.d.ts +2 -0
- package/dist/components/dot-morph-button/index.js +2 -0
- package/dist/components/dot-morph-button/meta.js +17 -0
- package/dist/components/dot-morph-button/meta.js.map +1 -0
- package/dist/components/dots-loader/dots-loader.d.ts +186 -0
- package/dist/components/dots-loader/dots-loader.d.ts.map +1 -0
- package/dist/components/dots-loader/dots-loader.js +412 -0
- package/dist/components/dots-loader/dots-loader.js.map +1 -0
- package/dist/components/dots-loader/index.d.ts +2 -0
- package/dist/components/dots-loader/index.js +2 -0
- package/dist/components/dots-loader/meta.js +17 -0
- package/dist/components/dots-loader/meta.js.map +1 -0
- package/dist/components/drag-stepper/drag-stepper.d.ts +39 -0
- package/dist/components/drag-stepper/drag-stepper.d.ts.map +1 -0
- package/dist/components/drag-stepper/drag-stepper.js +232 -0
- package/dist/components/drag-stepper/drag-stepper.js.map +1 -0
- package/dist/components/drag-stepper/index.d.ts +2 -0
- package/dist/components/drag-stepper/index.js +2 -0
- package/dist/components/drag-stepper/meta.js +17 -0
- package/dist/components/drag-stepper/meta.js.map +1 -0
- package/dist/components/drawer/drawer.d.ts +9 -1
- package/dist/components/drawer/drawer.d.ts.map +1 -1
- package/dist/components/drawer/drawer.js +23 -4
- package/dist/components/drawer/drawer.js.map +1 -1
- package/dist/components/drawer/meta.js +1 -1
- package/dist/components/drawer/meta.js.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +5 -0
- package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.js +25 -5
- package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/components/dropdown-menu/meta.js +1 -1
- package/dist/components/dropdown-menu/meta.js.map +1 -1
- package/dist/components/effect-button/effect-button.d.ts +28 -0
- package/dist/components/effect-button/effect-button.d.ts.map +1 -0
- package/dist/components/effect-button/effect-button.js +176 -0
- package/dist/components/effect-button/effect-button.js.map +1 -0
- package/dist/components/effect-button/index.d.ts +2 -0
- package/dist/components/effect-button/index.js +2 -0
- package/dist/components/effect-button/meta.js +17 -0
- package/dist/components/effect-button/meta.js.map +1 -0
- package/dist/components/escape-button/escape-button.d.ts +25 -0
- package/dist/components/escape-button/escape-button.d.ts.map +1 -0
- package/dist/components/escape-button/escape-button.js +154 -0
- package/dist/components/escape-button/escape-button.js.map +1 -0
- package/dist/components/escape-button/index.d.ts +2 -0
- package/dist/components/escape-button/index.js +2 -0
- package/dist/components/escape-button/meta.js +17 -0
- package/dist/components/escape-button/meta.js.map +1 -0
- package/dist/components/expandable-cards/expandable-cards.d.ts +42 -0
- package/dist/components/expandable-cards/expandable-cards.d.ts.map +1 -0
- package/dist/components/expandable-cards/expandable-cards.js +312 -0
- package/dist/components/expandable-cards/expandable-cards.js.map +1 -0
- package/dist/components/expandable-cards/index.d.ts +2 -0
- package/dist/components/expandable-cards/index.js +2 -0
- package/dist/components/expandable-cards/meta.js +17 -0
- package/dist/components/expandable-cards/meta.js.map +1 -0
- package/dist/components/expandable-list/expandable-list.d.ts +35 -0
- package/dist/components/expandable-list/expandable-list.d.ts.map +1 -0
- package/dist/components/expandable-list/expandable-list.js +180 -0
- package/dist/components/expandable-list/expandable-list.js.map +1 -0
- package/dist/components/expandable-list/index.d.ts +2 -0
- package/dist/components/expandable-list/index.js +2 -0
- package/dist/components/expandable-list/meta.js +21 -0
- package/dist/components/expandable-list/meta.js.map +1 -0
- package/dist/components/expanding-search/expanding-search.d.ts +30 -0
- package/dist/components/expanding-search/expanding-search.d.ts.map +1 -0
- package/dist/components/expanding-search/expanding-search.js +141 -0
- package/dist/components/expanding-search/expanding-search.js.map +1 -0
- package/dist/components/expanding-search/index.d.ts +2 -0
- package/dist/components/expanding-search/index.js +2 -0
- package/dist/components/expanding-search/meta.js +17 -0
- package/dist/components/expanding-search/meta.js.map +1 -0
- package/dist/components/exposure-slider/exposure-slider.d.ts +33 -0
- package/dist/components/exposure-slider/exposure-slider.d.ts.map +1 -0
- package/dist/components/exposure-slider/exposure-slider.js +227 -0
- package/dist/components/exposure-slider/exposure-slider.js.map +1 -0
- package/dist/components/exposure-slider/index.d.ts +2 -0
- package/dist/components/exposure-slider/index.js +2 -0
- package/dist/components/exposure-slider/meta.js +17 -0
- package/dist/components/exposure-slider/meta.js.map +1 -0
- package/dist/components/file-upload/file-upload.d.ts +13 -2
- package/dist/components/file-upload/file-upload.d.ts.map +1 -1
- package/dist/components/file-upload/file-upload.js +166 -95
- package/dist/components/file-upload/file-upload.js.map +1 -1
- package/dist/components/file-upload/meta.js +1 -1
- package/dist/components/file-upload/meta.js.map +1 -1
- package/dist/components/focus-blur-links/focus-blur-links.d.ts +25 -0
- package/dist/components/focus-blur-links/focus-blur-links.d.ts.map +1 -0
- package/dist/components/focus-blur-links/focus-blur-links.js +92 -0
- package/dist/components/focus-blur-links/focus-blur-links.js.map +1 -0
- package/dist/components/focus-blur-links/index.d.ts +2 -0
- package/dist/components/focus-blur-links/index.js +2 -0
- package/dist/components/focus-blur-links/meta.js +17 -0
- package/dist/components/focus-blur-links/meta.js.map +1 -0
- package/dist/components/folding-frame/folding-frame.d.ts +38 -0
- package/dist/components/folding-frame/folding-frame.d.ts.map +1 -0
- package/dist/components/folding-frame/folding-frame.js +298 -0
- package/dist/components/folding-frame/folding-frame.js.map +1 -0
- package/dist/components/folding-frame/index.d.ts +2 -0
- package/dist/components/folding-frame/index.js +2 -0
- package/dist/components/folding-frame/meta.js +17 -0
- package/dist/components/folding-frame/meta.js.map +1 -0
- package/dist/components/form/form.d.ts +11 -2
- package/dist/components/form/form.d.ts.map +1 -1
- package/dist/components/form/form.js +55 -5
- package/dist/components/form/form.js.map +1 -1
- package/dist/components/form/meta.js +1 -1
- package/dist/components/form/meta.js.map +1 -1
- package/dist/components/glass-bubble/glass-bubble.d.ts +59 -0
- package/dist/components/glass-bubble/glass-bubble.d.ts.map +1 -0
- package/dist/components/glass-bubble/glass-bubble.js +308 -0
- package/dist/components/glass-bubble/glass-bubble.js.map +1 -0
- package/dist/components/glass-bubble/index.d.ts +2 -0
- package/dist/components/glass-bubble/index.js +2 -0
- package/dist/components/glass-bubble/meta.js +17 -0
- package/dist/components/glass-bubble/meta.js.map +1 -0
- package/dist/components/glow-card/glow-card.d.ts +34 -0
- package/dist/components/glow-card/glow-card.d.ts.map +1 -0
- package/dist/components/glow-card/glow-card.js +104 -0
- package/dist/components/glow-card/glow-card.js.map +1 -0
- package/dist/components/glow-card/index.d.ts +2 -0
- package/dist/components/glow-card/index.js +2 -0
- package/dist/components/glow-card/meta.js +17 -0
- package/dist/components/glow-card/meta.js.map +1 -0
- package/dist/components/goo-ball/goo-ball.d.ts +48 -0
- package/dist/components/goo-ball/goo-ball.d.ts.map +1 -0
- package/dist/components/goo-ball/goo-ball.js +295 -0
- package/dist/components/goo-ball/goo-ball.js.map +1 -0
- package/dist/components/goo-ball/index.d.ts +2 -0
- package/dist/components/goo-ball/index.js +2 -0
- package/dist/components/goo-ball/meta.js +21 -0
- package/dist/components/goo-ball/meta.js.map +1 -0
- package/dist/components/goo-tabs/goo-tabs.d.ts +37 -0
- package/dist/components/goo-tabs/goo-tabs.d.ts.map +1 -0
- package/dist/components/goo-tabs/goo-tabs.js +286 -0
- package/dist/components/goo-tabs/goo-tabs.js.map +1 -0
- package/dist/components/goo-tabs/index.d.ts +2 -0
- package/dist/components/goo-tabs/index.js +2 -0
- package/dist/components/goo-tabs/meta.js +17 -0
- package/dist/components/goo-tabs/meta.js.map +1 -0
- package/dist/components/gooey-popover/gooey-popover.d.ts +32 -0
- package/dist/components/gooey-popover/gooey-popover.d.ts.map +1 -0
- package/dist/components/gooey-popover/gooey-popover.js +257 -0
- package/dist/components/gooey-popover/gooey-popover.js.map +1 -0
- package/dist/components/gooey-popover/index.d.ts +2 -0
- package/dist/components/gooey-popover/index.js +2 -0
- package/dist/components/gooey-popover/meta.js +17 -0
- package/dist/components/gooey-popover/meta.js.map +1 -0
- package/dist/components/gradient-orb/gradient-orb.d.ts +39 -0
- package/dist/components/gradient-orb/gradient-orb.d.ts.map +1 -0
- package/dist/components/gradient-orb/gradient-orb.js +185 -0
- package/dist/components/gradient-orb/gradient-orb.js.map +1 -0
- package/dist/components/gradient-orb/index.d.ts +2 -0
- package/dist/components/gradient-orb/index.js +2 -0
- package/dist/components/gradient-orb/meta.js +17 -0
- package/dist/components/gradient-orb/meta.js.map +1 -0
- package/dist/components/grid-loader/grid-loader.d.ts +224 -0
- package/dist/components/grid-loader/grid-loader.d.ts.map +1 -0
- package/dist/components/grid-loader/grid-loader.js +271 -0
- package/dist/components/grid-loader/grid-loader.js.map +1 -0
- package/dist/components/grid-loader/index.d.ts +2 -0
- package/dist/components/grid-loader/index.js +2 -0
- package/dist/components/grid-loader/meta.js +17 -0
- package/dist/components/grid-loader/meta.js.map +1 -0
- package/dist/components/image-accordion/image-accordion.d.ts +40 -0
- package/dist/components/image-accordion/image-accordion.d.ts.map +1 -0
- package/dist/components/image-accordion/image-accordion.js +118 -0
- package/dist/components/image-accordion/image-accordion.js.map +1 -0
- package/dist/components/image-accordion/index.d.ts +2 -0
- package/dist/components/image-accordion/index.js +2 -0
- package/dist/components/image-accordion/meta.js +17 -0
- package/dist/components/image-accordion/meta.js.map +1 -0
- package/dist/components/image-metadata/image-metadata.d.ts +34 -0
- package/dist/components/image-metadata/image-metadata.d.ts.map +1 -0
- package/dist/components/image-metadata/image-metadata.js +178 -0
- package/dist/components/image-metadata/image-metadata.js.map +1 -0
- package/dist/components/image-metadata/index.d.ts +2 -0
- package/dist/components/image-metadata/index.js +2 -0
- package/dist/components/image-metadata/meta.js +17 -0
- package/dist/components/image-metadata/meta.js.map +1 -0
- package/dist/components/image-selector/image-selector.d.ts +37 -0
- package/dist/components/image-selector/image-selector.d.ts.map +1 -0
- package/dist/components/image-selector/image-selector.js +253 -0
- package/dist/components/image-selector/image-selector.js.map +1 -0
- package/dist/components/image-selector/index.d.ts +2 -0
- package/dist/components/image-selector/index.js +2 -0
- package/dist/components/image-selector/meta.js +17 -0
- package/dist/components/image-selector/meta.js.map +1 -0
- package/dist/components/inline-confirm/index.d.ts +2 -0
- package/dist/components/inline-confirm/index.js +2 -0
- package/dist/components/inline-confirm/inline-confirm.d.ts +38 -0
- package/dist/components/inline-confirm/inline-confirm.d.ts.map +1 -0
- package/dist/components/inline-confirm/inline-confirm.js +246 -0
- package/dist/components/inline-confirm/inline-confirm.js.map +1 -0
- package/dist/components/inline-confirm/meta.js +17 -0
- package/dist/components/inline-confirm/meta.js.map +1 -0
- package/dist/components/input/floating-label-input.d.ts +26 -0
- package/dist/components/input/floating-label-input.d.ts.map +1 -0
- package/dist/components/input/floating-label-input.js +47 -0
- package/dist/components/input/floating-label-input.js.map +1 -0
- package/dist/components/input/index.d.ts +2 -1
- package/dist/components/input/index.js +2 -1
- package/dist/components/input/meta.js +2 -2
- package/dist/components/input/meta.js.map +1 -1
- package/dist/components/invite-carousel/carousel-controls.js +189 -0
- package/dist/components/invite-carousel/carousel-controls.js.map +1 -0
- package/dist/components/invite-carousel/index.d.ts +2 -0
- package/dist/components/invite-carousel/index.js +2 -0
- package/dist/components/invite-carousel/invite-carousel.d.ts +56 -0
- package/dist/components/invite-carousel/invite-carousel.d.ts.map +1 -0
- package/dist/components/invite-carousel/invite-carousel.js +207 -0
- package/dist/components/invite-carousel/invite-carousel.js.map +1 -0
- package/dist/components/invite-carousel/meta.js +17 -0
- package/dist/components/invite-carousel/meta.js.map +1 -0
- package/dist/components/island/index.d.ts +2 -0
- package/dist/components/island/index.js +2 -0
- package/dist/components/island/island.d.ts +30 -0
- package/dist/components/island/island.d.ts.map +1 -0
- package/dist/components/island/island.js +94 -0
- package/dist/components/island/island.js.map +1 -0
- package/dist/components/island/meta.js +17 -0
- package/dist/components/island/meta.js.map +1 -0
- package/dist/components/liquid-toggle/index.d.ts +2 -0
- package/dist/components/liquid-toggle/index.js +2 -0
- package/dist/components/liquid-toggle/liquid-toggle.d.ts +19 -0
- package/dist/components/liquid-toggle/liquid-toggle.d.ts.map +1 -0
- package/dist/components/liquid-toggle/liquid-toggle.js +175 -0
- package/dist/components/liquid-toggle/liquid-toggle.js.map +1 -0
- package/dist/components/liquid-toggle/meta.js +21 -0
- package/dist/components/liquid-toggle/meta.js.map +1 -0
- package/dist/components/magnetic-button/index.d.ts +2 -0
- package/dist/components/magnetic-button/index.js +2 -0
- package/dist/components/magnetic-button/magnetic-button.d.ts +32 -0
- package/dist/components/magnetic-button/magnetic-button.d.ts.map +1 -0
- package/dist/components/magnetic-button/magnetic-button.js +138 -0
- package/dist/components/magnetic-button/magnetic-button.js.map +1 -0
- package/dist/components/magnetic-button/meta.js +17 -0
- package/dist/components/magnetic-button/meta.js.map +1 -0
- package/dist/components/magnetic-select/index.d.ts +2 -0
- package/dist/components/magnetic-select/index.js +2 -0
- package/dist/components/magnetic-select/magnetic-select-spring.js +21 -0
- package/dist/components/magnetic-select/magnetic-select-spring.js.map +1 -0
- package/dist/components/magnetic-select/magnetic-select.d.ts +44 -0
- package/dist/components/magnetic-select/magnetic-select.d.ts.map +1 -0
- package/dist/components/magnetic-select/magnetic-select.js +330 -0
- package/dist/components/magnetic-select/magnetic-select.js.map +1 -0
- package/dist/components/magnetic-select/meta.js +17 -0
- package/dist/components/magnetic-select/meta.js.map +1 -0
- package/dist/components/magnify-dock/index.d.ts +2 -0
- package/dist/components/magnify-dock/index.js +2 -0
- package/dist/components/magnify-dock/magnify-dock.d.ts +40 -0
- package/dist/components/magnify-dock/magnify-dock.d.ts.map +1 -0
- package/dist/components/magnify-dock/magnify-dock.js +183 -0
- package/dist/components/magnify-dock/magnify-dock.js.map +1 -0
- package/dist/components/magnify-dock/meta.js +17 -0
- package/dist/components/magnify-dock/meta.js.map +1 -0
- package/dist/components/marquee/index.d.ts +2 -0
- package/dist/components/marquee/index.js +2 -0
- package/dist/components/marquee/marquee.d.ts +30 -0
- package/dist/components/marquee/marquee.d.ts.map +1 -0
- package/dist/components/marquee/marquee.js +117 -0
- package/dist/components/marquee/marquee.js.map +1 -0
- package/dist/components/marquee/meta.js +17 -0
- package/dist/components/marquee/meta.js.map +1 -0
- package/dist/components/morph-button/index.d.ts +2 -0
- package/dist/components/morph-button/index.js +2 -0
- package/dist/components/morph-button/meta.js +17 -0
- package/dist/components/morph-button/meta.js.map +1 -0
- package/dist/components/morph-button/morph-button.d.ts +57 -0
- package/dist/components/morph-button/morph-button.d.ts.map +1 -0
- package/dist/components/morph-button/morph-button.js +220 -0
- package/dist/components/morph-button/morph-button.js.map +1 -0
- package/dist/components/morph-surface/index.d.ts +2 -0
- package/dist/components/morph-surface/index.js +2 -0
- package/dist/components/morph-surface/meta.js +17 -0
- package/dist/components/morph-surface/meta.js.map +1 -0
- package/dist/components/morph-surface/morph-surface.d.ts +51 -0
- package/dist/components/morph-surface/morph-surface.d.ts.map +1 -0
- package/dist/components/morph-surface/morph-surface.js +228 -0
- package/dist/components/morph-surface/morph-surface.js.map +1 -0
- package/dist/components/notification-badge/index.d.ts +2 -0
- package/dist/components/notification-badge/index.js +2 -0
- package/dist/components/notification-badge/meta.js +17 -0
- package/dist/components/notification-badge/meta.js.map +1 -0
- package/dist/components/notification-badge/notification-badge.d.ts +40 -0
- package/dist/components/notification-badge/notification-badge.d.ts.map +1 -0
- package/dist/components/notification-badge/notification-badge.js +107 -0
- package/dist/components/notification-badge/notification-badge.js.map +1 -0
- package/dist/components/notify-button/index.d.ts +2 -0
- package/dist/components/notify-button/index.js +2 -0
- package/dist/components/notify-button/meta.js +17 -0
- package/dist/components/notify-button/meta.js.map +1 -0
- package/dist/components/notify-button/notify-button.d.ts +28 -0
- package/dist/components/notify-button/notify-button.d.ts.map +1 -0
- package/dist/components/notify-button/notify-button.js +114 -0
- package/dist/components/notify-button/notify-button.js.map +1 -0
- package/dist/components/now-playing/index.d.ts +2 -0
- package/dist/components/now-playing/index.js +2 -0
- package/dist/components/now-playing/meta.js +17 -0
- package/dist/components/now-playing/meta.js.map +1 -0
- package/dist/components/now-playing/now-playing.d.ts +39 -0
- package/dist/components/now-playing/now-playing.d.ts.map +1 -0
- package/dist/components/now-playing/now-playing.js +354 -0
- package/dist/components/now-playing/now-playing.js.map +1 -0
- package/dist/components/number-flow/index.d.ts +2 -0
- package/dist/components/number-flow/index.js +2 -0
- package/dist/components/number-flow/meta.js +17 -0
- package/dist/components/number-flow/meta.js.map +1 -0
- package/dist/components/number-flow/number-flow.d.ts +45 -0
- package/dist/components/number-flow/number-flow.d.ts.map +1 -0
- package/dist/components/number-flow/number-flow.js +226 -0
- package/dist/components/number-flow/number-flow.js.map +1 -0
- package/dist/components/orb-face/index.d.ts +2 -0
- package/dist/components/orb-face/index.js +2 -0
- package/dist/components/orb-face/meta.js +17 -0
- package/dist/components/orb-face/meta.js.map +1 -0
- package/dist/components/orb-face/orb-face.d.ts +29 -0
- package/dist/components/orb-face/orb-face.d.ts.map +1 -0
- package/dist/components/orb-face/orb-face.js +353 -0
- package/dist/components/orb-face/orb-face.js.map +1 -0
- package/dist/components/otp-input/index.d.ts +2 -0
- package/dist/components/otp-input/index.js +2 -0
- package/dist/components/otp-input/meta.js +17 -0
- package/dist/components/otp-input/meta.js.map +1 -0
- package/dist/components/otp-input/otp-input.d.ts +36 -0
- package/dist/components/otp-input/otp-input.d.ts.map +1 -0
- package/dist/components/otp-input/otp-input.js +249 -0
- package/dist/components/otp-input/otp-input.js.map +1 -0
- package/dist/components/pagination/index.d.ts +2 -2
- package/dist/components/pagination/meta.js +2 -2
- package/dist/components/pagination/meta.js.map +1 -1
- package/dist/components/pagination/pagination-indicator.js +76 -0
- package/dist/components/pagination/pagination-indicator.js.map +1 -0
- package/dist/components/pagination/pagination.d.ts +10 -2
- package/dist/components/pagination/pagination.d.ts.map +1 -1
- package/dist/components/pagination/pagination.js +13 -4
- package/dist/components/pagination/pagination.js.map +1 -1
- package/dist/components/palette-generator/index.d.ts +2 -0
- package/dist/components/palette-generator/index.js +2 -0
- package/dist/components/palette-generator/meta.js +17 -0
- package/dist/components/palette-generator/meta.js.map +1 -0
- package/dist/components/palette-generator/palette-generator.d.ts +43 -0
- package/dist/components/palette-generator/palette-generator.d.ts.map +1 -0
- package/dist/components/palette-generator/palette-generator.js +199 -0
- package/dist/components/palette-generator/palette-generator.js.map +1 -0
- package/dist/components/photo-stack/index.d.ts +2 -0
- package/dist/components/photo-stack/index.js +2 -0
- package/dist/components/photo-stack/meta.js +17 -0
- package/dist/components/photo-stack/meta.js.map +1 -0
- package/dist/components/photo-stack/photo-stack.d.ts +30 -0
- package/dist/components/photo-stack/photo-stack.d.ts.map +1 -0
- package/dist/components/photo-stack/photo-stack.js +236 -0
- package/dist/components/photo-stack/photo-stack.js.map +1 -0
- package/dist/components/photo-tabs/index.d.ts +2 -0
- package/dist/components/photo-tabs/index.js +2 -0
- package/dist/components/photo-tabs/meta.js +17 -0
- package/dist/components/photo-tabs/meta.js.map +1 -0
- package/dist/components/photo-tabs/photo-tabs.d.ts +35 -0
- package/dist/components/photo-tabs/photo-tabs.d.ts.map +1 -0
- package/dist/components/photo-tabs/photo-tabs.js +82 -0
- package/dist/components/photo-tabs/photo-tabs.js.map +1 -0
- package/dist/components/pixel-avatar/index.d.ts +2 -0
- package/dist/components/pixel-avatar/index.js +2 -0
- package/dist/components/pixel-avatar/meta.js +17 -0
- package/dist/components/pixel-avatar/meta.js.map +1 -0
- package/dist/components/pixel-avatar/pixel-avatar.d.ts +23 -0
- package/dist/components/pixel-avatar/pixel-avatar.d.ts.map +1 -0
- package/dist/components/pixel-avatar/pixel-avatar.js +181 -0
- package/dist/components/pixel-avatar/pixel-avatar.js.map +1 -0
- package/dist/components/product-card/index.d.ts +2 -0
- package/dist/components/product-card/index.js +2 -0
- package/dist/components/product-card/meta.js +17 -0
- package/dist/components/product-card/meta.js.map +1 -0
- package/dist/components/product-card/product-card.d.ts +43 -0
- package/dist/components/product-card/product-card.d.ts.map +1 -0
- package/dist/components/product-card/product-card.js +249 -0
- package/dist/components/product-card/product-card.js.map +1 -0
- package/dist/components/progress/meta.js +1 -1
- package/dist/components/progress/meta.js.map +1 -1
- package/dist/components/progress/progress.d.ts +22 -3
- package/dist/components/progress/progress.d.ts.map +1 -1
- package/dist/components/progress/progress.js +56 -6
- package/dist/components/progress/progress.js.map +1 -1
- package/dist/components/pull-to-refresh/index.d.ts +2 -0
- package/dist/components/pull-to-refresh/index.js +2 -0
- package/dist/components/pull-to-refresh/meta.js +17 -0
- package/dist/components/pull-to-refresh/meta.js.map +1 -0
- package/dist/components/pull-to-refresh/pull-to-refresh.d.ts +47 -0
- package/dist/components/pull-to-refresh/pull-to-refresh.d.ts.map +1 -0
- package/dist/components/pull-to-refresh/pull-to-refresh.js +302 -0
- package/dist/components/pull-to-refresh/pull-to-refresh.js.map +1 -0
- package/dist/components/radial-menu/index.d.ts +2 -0
- package/dist/components/radial-menu/index.js +2 -0
- package/dist/components/radial-menu/meta.js +17 -0
- package/dist/components/radial-menu/meta.js.map +1 -0
- package/dist/components/radial-menu/radial-menu.d.ts +44 -0
- package/dist/components/radial-menu/radial-menu.d.ts.map +1 -0
- package/dist/components/radial-menu/radial-menu.js +313 -0
- package/dist/components/radial-menu/radial-menu.js.map +1 -0
- package/dist/components/radio-group/radio-group.d.ts.map +1 -1
- package/dist/components/radio-group/radio-group.js +4 -1
- package/dist/components/radio-group/radio-group.js.map +1 -1
- package/dist/components/range-dial/index.d.ts +2 -0
- package/dist/components/range-dial/index.js +2 -0
- package/dist/components/range-dial/meta.js +17 -0
- package/dist/components/range-dial/meta.js.map +1 -0
- package/dist/components/range-dial/range-dial.d.ts +33 -0
- package/dist/components/range-dial/range-dial.d.ts.map +1 -0
- package/dist/components/range-dial/range-dial.js +308 -0
- package/dist/components/range-dial/range-dial.js.map +1 -0
- package/dist/components/reorder-list/index.d.ts +2 -0
- package/dist/components/reorder-list/index.js +2 -0
- package/dist/components/reorder-list/meta.js +17 -0
- package/dist/components/reorder-list/meta.js.map +1 -0
- package/dist/components/reorder-list/reorder-list.d.ts +79 -0
- package/dist/components/reorder-list/reorder-list.d.ts.map +1 -0
- package/dist/components/reorder-list/reorder-list.js +471 -0
- package/dist/components/reorder-list/reorder-list.js.map +1 -0
- package/dist/components/reviews-carousel/carousel-controls.js +189 -0
- package/dist/components/reviews-carousel/carousel-controls.js.map +1 -0
- package/dist/components/reviews-carousel/index.d.ts +2 -0
- package/dist/components/reviews-carousel/index.js +2 -0
- package/dist/components/reviews-carousel/meta.js +17 -0
- package/dist/components/reviews-carousel/meta.js.map +1 -0
- package/dist/components/reviews-carousel/reviews-carousel.d.ts +46 -0
- package/dist/components/reviews-carousel/reviews-carousel.d.ts.map +1 -0
- package/dist/components/reviews-carousel/reviews-carousel.js +177 -0
- package/dist/components/reviews-carousel/reviews-carousel.js.map +1 -0
- package/dist/components/rich-popover/index.d.ts +2 -0
- package/dist/components/rich-popover/index.js +2 -0
- package/dist/components/rich-popover/meta.js +17 -0
- package/dist/components/rich-popover/meta.js.map +1 -0
- package/dist/components/rich-popover/rich-popover.d.ts +36 -0
- package/dist/components/rich-popover/rich-popover.d.ts.map +1 -0
- package/dist/components/rich-popover/rich-popover.js +157 -0
- package/dist/components/rich-popover/rich-popover.js.map +1 -0
- package/dist/components/ring-loader/index.d.ts +2 -0
- package/dist/components/ring-loader/index.js +2 -0
- package/dist/components/ring-loader/meta.js +17 -0
- package/dist/components/ring-loader/meta.js.map +1 -0
- package/dist/components/ring-loader/ring-loader.d.ts +31 -0
- package/dist/components/ring-loader/ring-loader.d.ts.map +1 -0
- package/dist/components/ring-loader/ring-loader.js +597 -0
- package/dist/components/ring-loader/ring-loader.js.map +1 -0
- package/dist/components/scramble-text/index.d.ts +2 -0
- package/dist/components/scramble-text/index.js +2 -0
- package/dist/components/scramble-text/meta.js +17 -0
- package/dist/components/scramble-text/meta.js.map +1 -0
- package/dist/components/scramble-text/scramble-text.d.ts +35 -0
- package/dist/components/scramble-text/scramble-text.d.ts.map +1 -0
- package/dist/components/scramble-text/scramble-text.js +151 -0
- package/dist/components/scramble-text/scramble-text.js.map +1 -0
- package/dist/components/scroll-reveal-text/index.d.ts +2 -0
- package/dist/components/scroll-reveal-text/index.js +2 -0
- package/dist/components/scroll-reveal-text/meta.js +17 -0
- package/dist/components/scroll-reveal-text/meta.js.map +1 -0
- package/dist/components/scroll-reveal-text/scroll-reveal-text.d.ts +22 -0
- package/dist/components/scroll-reveal-text/scroll-reveal-text.d.ts.map +1 -0
- package/dist/components/scroll-reveal-text/scroll-reveal-text.js +113 -0
- package/dist/components/scroll-reveal-text/scroll-reveal-text.js.map +1 -0
- package/dist/components/scrubber/index.d.ts +2 -0
- package/dist/components/scrubber/index.js +2 -0
- package/dist/components/scrubber/meta.js +17 -0
- package/dist/components/scrubber/meta.js.map +1 -0
- package/dist/components/scrubber/scrubber.d.ts +37 -0
- package/dist/components/scrubber/scrubber.d.ts.map +1 -0
- package/dist/components/scrubber/scrubber.js +217 -0
- package/dist/components/scrubber/scrubber.js.map +1 -0
- package/dist/components/select/meta.js +1 -1
- package/dist/components/select/meta.js.map +1 -1
- package/dist/components/select/select.d.ts +5 -0
- package/dist/components/select/select.d.ts.map +1 -1
- package/dist/components/select/select.js +27 -5
- package/dist/components/select/select.js.map +1 -1
- package/dist/components/selection-list/index.d.ts +2 -0
- package/dist/components/selection-list/index.js +2 -0
- package/dist/components/selection-list/meta.js +17 -0
- package/dist/components/selection-list/meta.js.map +1 -0
- package/dist/components/selection-list/selection-list-spring.js +21 -0
- package/dist/components/selection-list/selection-list-spring.js.map +1 -0
- package/dist/components/selection-list/selection-list.d.ts +42 -0
- package/dist/components/selection-list/selection-list.d.ts.map +1 -0
- package/dist/components/selection-list/selection-list.js +355 -0
- package/dist/components/selection-list/selection-list.js.map +1 -0
- package/dist/components/shader-transition/index.d.ts +4 -0
- package/dist/components/shader-transition/index.js +4 -0
- package/dist/components/shader-transition/meta.js +21 -0
- package/dist/components/shader-transition/meta.js.map +1 -0
- package/dist/components/shader-transition/shader-transition-engine.d.ts +39 -0
- package/dist/components/shader-transition/shader-transition-engine.d.ts.map +1 -0
- package/dist/components/shader-transition/shader-transition-engine.js +294 -0
- package/dist/components/shader-transition/shader-transition-engine.js.map +1 -0
- package/dist/components/shader-transition/shader-transition-presets.d.ts +222 -0
- package/dist/components/shader-transition/shader-transition-presets.d.ts.map +1 -0
- package/dist/components/shader-transition/shader-transition-presets.js +346 -0
- package/dist/components/shader-transition/shader-transition-presets.js.map +1 -0
- package/dist/components/shader-transition/shader-transition.d.ts +35 -0
- package/dist/components/shader-transition/shader-transition.d.ts.map +1 -0
- package/dist/components/shader-transition/shader-transition.js +314 -0
- package/dist/components/shader-transition/shader-transition.js.map +1 -0
- package/dist/components/shape-loader/index.d.ts +2 -0
- package/dist/components/shape-loader/index.js +2 -0
- package/dist/components/shape-loader/meta.js +17 -0
- package/dist/components/shape-loader/meta.js.map +1 -0
- package/dist/components/shape-loader/shape-loader-variants.d.ts +8 -0
- package/dist/components/shape-loader/shape-loader-variants.d.ts.map +1 -0
- package/dist/components/shape-loader/shape-loader-variants.js +635 -0
- package/dist/components/shape-loader/shape-loader-variants.js.map +1 -0
- package/dist/components/shape-loader/shape-loader.d.ts +26 -0
- package/dist/components/shape-loader/shape-loader.d.ts.map +1 -0
- package/dist/components/shape-loader/shape-loader.js +99 -0
- package/dist/components/shape-loader/shape-loader.js.map +1 -0
- package/dist/components/sheet/meta.js +1 -1
- package/dist/components/sheet/meta.js.map +1 -1
- package/dist/components/sheet/sheet.d.ts +10 -2
- package/dist/components/sheet/sheet.d.ts.map +1 -1
- package/dist/components/sheet/sheet.js +23 -4
- package/dist/components/sheet/sheet.js.map +1 -1
- package/dist/components/shimmer-text/index.d.ts +2 -0
- package/dist/components/shimmer-text/index.js +2 -0
- package/dist/components/shimmer-text/meta.js +17 -0
- package/dist/components/shimmer-text/meta.js.map +1 -0
- package/dist/components/shimmer-text/shimmer-text.d.ts +33 -0
- package/dist/components/shimmer-text/shimmer-text.d.ts.map +1 -0
- package/dist/components/shimmer-text/shimmer-text.js +120 -0
- package/dist/components/shimmer-text/shimmer-text.js.map +1 -0
- package/dist/components/skeleton/index.d.ts +2 -2
- package/dist/components/skeleton/meta.js +1 -1
- package/dist/components/skeleton/meta.js.map +1 -1
- package/dist/components/skeleton/skeleton.d.ts +14 -2
- package/dist/components/skeleton/skeleton.d.ts.map +1 -1
- package/dist/components/skeleton/skeleton.js +24 -5
- package/dist/components/skeleton/skeleton.js.map +1 -1
- package/dist/components/slide-to-confirm/index.d.ts +2 -0
- package/dist/components/slide-to-confirm/index.js +2 -0
- package/dist/components/slide-to-confirm/meta.js +21 -0
- package/dist/components/slide-to-confirm/meta.js.map +1 -0
- package/dist/components/slide-to-confirm/slide-to-confirm.d.ts +38 -0
- package/dist/components/slide-to-confirm/slide-to-confirm.d.ts.map +1 -0
- package/dist/components/slide-to-confirm/slide-to-confirm.js +389 -0
- package/dist/components/slide-to-confirm/slide-to-confirm.js.map +1 -0
- package/dist/components/slosh-slider/index.d.ts +2 -0
- package/dist/components/slosh-slider/index.js +2 -0
- package/dist/components/slosh-slider/meta.js +21 -0
- package/dist/components/slosh-slider/meta.js.map +1 -0
- package/dist/components/slosh-slider/slosh-slider.d.ts +43 -0
- package/dist/components/slosh-slider/slosh-slider.d.ts.map +1 -0
- package/dist/components/slosh-slider/slosh-slider.js +140 -0
- package/dist/components/slosh-slider/slosh-slider.js.map +1 -0
- package/dist/components/social-selector/index.d.ts +2 -0
- package/dist/components/social-selector/index.js +2 -0
- package/dist/components/social-selector/meta.js +17 -0
- package/dist/components/social-selector/meta.js.map +1 -0
- package/dist/components/social-selector/social-selector.d.ts +45 -0
- package/dist/components/social-selector/social-selector.d.ts.map +1 -0
- package/dist/components/social-selector/social-selector.js +128 -0
- package/dist/components/social-selector/social-selector.js.map +1 -0
- package/dist/components/spinner/spinner.d.ts +1 -1
- package/dist/components/star-count/index.d.ts +2 -0
- package/dist/components/star-count/index.js +2 -0
- package/dist/components/star-count/meta.js +17 -0
- package/dist/components/star-count/meta.js.map +1 -0
- package/dist/components/star-count/star-count.d.ts +35 -0
- package/dist/components/star-count/star-count.d.ts.map +1 -0
- package/dist/components/star-count/star-count.js +94 -0
- package/dist/components/star-count/star-count.js.map +1 -0
- package/dist/components/stepper/index.d.ts +2 -0
- package/dist/components/stepper/index.js +2 -0
- package/dist/components/stepper/meta.js +17 -0
- package/dist/components/stepper/meta.js.map +1 -0
- package/dist/components/stepper/stepper.d.ts +45 -0
- package/dist/components/stepper/stepper.d.ts.map +1 -0
- package/dist/components/stepper/stepper.js +207 -0
- package/dist/components/stepper/stepper.js.map +1 -0
- package/dist/components/swipe-carousel/carousel-controls.js +98 -0
- package/dist/components/swipe-carousel/carousel-controls.js.map +1 -0
- package/dist/components/swipe-carousel/index.d.ts +2 -0
- package/dist/components/swipe-carousel/index.js +2 -0
- package/dist/components/swipe-carousel/meta.js +17 -0
- package/dist/components/swipe-carousel/meta.js.map +1 -0
- package/dist/components/swipe-carousel/swipe-carousel.d.ts +27 -0
- package/dist/components/swipe-carousel/swipe-carousel.d.ts.map +1 -0
- package/dist/components/swipe-carousel/swipe-carousel.js +288 -0
- package/dist/components/swipe-carousel/swipe-carousel.js.map +1 -0
- package/dist/components/switch/meta.js +1 -1
- package/dist/components/switch/meta.js.map +1 -1
- package/dist/components/switch/switch.d.ts +25 -3
- package/dist/components/switch/switch.d.ts.map +1 -1
- package/dist/components/switch/switch.js +20 -4
- package/dist/components/switch/switch.js.map +1 -1
- package/dist/components/switchboard-card/index.d.ts +2 -0
- package/dist/components/switchboard-card/index.js +2 -0
- package/dist/components/switchboard-card/meta.js +17 -0
- package/dist/components/switchboard-card/meta.js.map +1 -0
- package/dist/components/switchboard-card/switchboard-card.d.ts +44 -0
- package/dist/components/switchboard-card/switchboard-card.d.ts.map +1 -0
- package/dist/components/switchboard-card/switchboard-card.js +169 -0
- package/dist/components/switchboard-card/switchboard-card.js.map +1 -0
- package/dist/components/tabs/index.d.ts +2 -2
- package/dist/components/tabs/index.js +2 -2
- package/dist/components/tabs/meta.js +1 -1
- package/dist/components/tabs/meta.js.map +1 -1
- package/dist/components/tabs/tabs.d.ts +6 -2
- package/dist/components/tabs/tabs.d.ts.map +1 -1
- package/dist/components/tabs/tabs.js +112 -10
- package/dist/components/tabs/tabs.js.map +1 -1
- package/dist/components/tags-input/meta.js +1 -1
- package/dist/components/tags-input/meta.js.map +1 -1
- package/dist/components/tags-input/tags-input.d.ts +7 -1
- package/dist/components/tags-input/tags-input.d.ts.map +1 -1
- package/dist/components/tags-input/tags-input.js +82 -6
- package/dist/components/tags-input/tags-input.js.map +1 -1
- package/dist/components/text-effect/index.d.ts +3 -0
- package/dist/components/text-effect/index.js +3 -0
- package/dist/components/text-effect/meta.js +17 -0
- package/dist/components/text-effect/meta.js.map +1 -0
- package/dist/components/text-effect/text-effect-presets.d.ts +256 -0
- package/dist/components/text-effect/text-effect-presets.d.ts.map +1 -0
- package/dist/components/text-effect/text-effect-presets.js +292 -0
- package/dist/components/text-effect/text-effect-presets.js.map +1 -0
- package/dist/components/text-effect/text-effect.d.ts +58 -0
- package/dist/components/text-effect/text-effect.d.ts.map +1 -0
- package/dist/components/text-effect/text-effect.js +243 -0
- package/dist/components/text-effect/text-effect.js.map +1 -0
- package/dist/components/text-loader/index.d.ts +2 -0
- package/dist/components/text-loader/index.js +2 -0
- package/dist/components/text-loader/meta.js +17 -0
- package/dist/components/text-loader/meta.js.map +1 -0
- package/dist/components/text-loader/text-loader.d.ts +30 -0
- package/dist/components/text-loader/text-loader.d.ts.map +1 -0
- package/dist/components/text-loader/text-loader.js +514 -0
- package/dist/components/text-loader/text-loader.js.map +1 -0
- package/dist/components/text-swap/index.d.ts +3 -0
- package/dist/components/text-swap/index.js +3 -0
- package/dist/components/text-swap/meta.js +17 -0
- package/dist/components/text-swap/meta.js.map +1 -0
- package/dist/components/text-swap/text-rotate.d.ts +17 -0
- package/dist/components/text-swap/text-rotate.d.ts.map +1 -0
- package/dist/components/text-swap/text-rotate.js +51 -0
- package/dist/components/text-swap/text-rotate.js.map +1 -0
- package/dist/components/text-swap/text-swap.d.ts +41 -0
- package/dist/components/text-swap/text-swap.d.ts.map +1 -0
- package/dist/components/text-swap/text-swap.js +303 -0
- package/dist/components/text-swap/text-swap.js.map +1 -0
- package/dist/components/tick-progress/index.d.ts +2 -0
- package/dist/components/tick-progress/index.js +2 -0
- package/dist/components/tick-progress/meta.js +17 -0
- package/dist/components/tick-progress/meta.js.map +1 -0
- package/dist/components/tick-progress/tick-progress.d.ts +28 -0
- package/dist/components/tick-progress/tick-progress.d.ts.map +1 -0
- package/dist/components/tick-progress/tick-progress.js +151 -0
- package/dist/components/tick-progress/tick-progress.js.map +1 -0
- package/dist/components/tilt-card/index.d.ts +2 -0
- package/dist/components/tilt-card/index.js +2 -0
- package/dist/components/tilt-card/meta.js +17 -0
- package/dist/components/tilt-card/meta.js.map +1 -0
- package/dist/components/tilt-card/tilt-card.d.ts +36 -0
- package/dist/components/tilt-card/tilt-card.d.ts.map +1 -0
- package/dist/components/tilt-card/tilt-card.js +135 -0
- package/dist/components/tilt-card/tilt-card.js.map +1 -0
- package/dist/components/time-stack/index.d.ts +2 -0
- package/dist/components/time-stack/index.js +2 -0
- package/dist/components/time-stack/meta.js +17 -0
- package/dist/components/time-stack/meta.js.map +1 -0
- package/dist/components/time-stack/time-stack.d.ts +37 -0
- package/dist/components/time-stack/time-stack.d.ts.map +1 -0
- package/dist/components/time-stack/time-stack.js +253 -0
- package/dist/components/time-stack/time-stack.js.map +1 -0
- package/dist/components/toast/meta.js +1 -1
- package/dist/components/toast/meta.js.map +1 -1
- package/dist/components/toast/toast.d.ts +13 -4
- package/dist/components/toast/toast.d.ts.map +1 -1
- package/dist/components/toast/toast.js +32 -9
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/todo-tower/index.d.ts +2 -0
- package/dist/components/todo-tower/index.js +2 -0
- package/dist/components/todo-tower/meta.js +17 -0
- package/dist/components/todo-tower/meta.js.map +1 -0
- package/dist/components/todo-tower/todo-tower.d.ts +38 -0
- package/dist/components/todo-tower/todo-tower.d.ts.map +1 -0
- package/dist/components/todo-tower/todo-tower.js +284 -0
- package/dist/components/todo-tower/todo-tower.js.map +1 -0
- package/dist/components/tooltip/meta.js +1 -1
- package/dist/components/tooltip/meta.js.map +1 -1
- package/dist/components/tooltip/tooltip.d.ts +4 -0
- package/dist/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/components/tooltip/tooltip.js +20 -4
- package/dist/components/tooltip/tooltip.js.map +1 -1
- package/dist/components/tweet-card/index.d.ts +2 -0
- package/dist/components/tweet-card/index.js +2 -0
- package/dist/components/tweet-card/meta.js +17 -0
- package/dist/components/tweet-card/meta.js.map +1 -0
- package/dist/components/tweet-card/tweet-card.d.ts +57 -0
- package/dist/components/tweet-card/tweet-card.d.ts.map +1 -0
- package/dist/components/tweet-card/tweet-card.js +243 -0
- package/dist/components/tweet-card/tweet-card.js.map +1 -0
- package/dist/components/typewriter-text/index.d.ts +2 -0
- package/dist/components/typewriter-text/index.js +2 -0
- package/dist/components/typewriter-text/meta.js +17 -0
- package/dist/components/typewriter-text/meta.js.map +1 -0
- package/dist/components/typewriter-text/typewriter-text.d.ts +33 -0
- package/dist/components/typewriter-text/typewriter-text.d.ts.map +1 -0
- package/dist/components/typewriter-text/typewriter-text.js +135 -0
- package/dist/components/typewriter-text/typewriter-text.js.map +1 -0
- package/dist/components/uptime-matrix/index.d.ts +2 -0
- package/dist/components/uptime-matrix/index.js +2 -0
- package/dist/components/uptime-matrix/meta.js +17 -0
- package/dist/components/uptime-matrix/meta.js.map +1 -0
- package/dist/components/uptime-matrix/uptime-matrix.d.ts +60 -0
- package/dist/components/uptime-matrix/uptime-matrix.d.ts.map +1 -0
- package/dist/components/uptime-matrix/uptime-matrix.js +303 -0
- package/dist/components/uptime-matrix/uptime-matrix.js.map +1 -0
- package/dist/index.d.ts +246 -18
- package/dist/index.js +128 -9
- package/dist/registry/blocks.d.ts.map +1 -1
- package/dist/registry/blocks.js +69 -1
- package/dist/registry/blocks.js.map +1 -1
- package/dist/registry/components.d.ts.map +1 -1
- package/dist/registry/components.js +219 -1
- package/dist/registry/components.js.map +1 -1
- package/dist/registry/schema.d.ts +1 -1
- package/dist/registry/schema.d.ts.map +1 -1
- package/dist/registry/schema.js +2 -1
- package/dist/registry/schema.js.map +1 -1
- package/package.json +5 -4
- package/src/components/account-menu/account-menu.tsx +338 -0
- package/src/components/account-menu/index.ts +12 -0
- package/src/components/account-menu/meta.ts +19 -0
- package/src/components/action-node/action-node-spring.ts +34 -0
- package/src/components/action-node/action-node.tsx +516 -0
- package/src/components/action-node/index.ts +8 -0
- package/src/components/action-node/meta.ts +21 -0
- package/src/components/ai-agent-plan/ai-agent-plan.tsx +0 -0
- package/src/components/ai-agent-plan/index.ts +1 -0
- package/src/components/ai-agent-plan/meta.ts +3 -1
- package/src/components/ai-approval-request/ai-approval-request.tsx +103 -4
- package/src/components/ai-approval-request/meta.ts +4 -1
- package/src/components/ai-artifact/ai-artifact.tsx +203 -0
- package/src/components/ai-artifact/index.ts +1 -0
- package/src/components/ai-artifact/meta.ts +18 -0
- package/src/components/ai-branch/ai-branch.tsx +222 -0
- package/src/components/ai-branch/index.ts +11 -0
- package/src/components/ai-branch/meta.ts +18 -0
- package/src/components/ai-conversation/ai-conversation.tsx +142 -31
- package/src/components/ai-conversation/index.ts +1 -0
- package/src/components/ai-loader/ai-loader.tsx +112 -0
- package/src/components/ai-loader/index.ts +6 -0
- package/src/components/ai-loader/meta.ts +18 -0
- package/src/components/ai-message/ai-message.tsx +54 -9
- package/src/components/ai-message/index.ts +2 -0
- package/src/components/ai-message/meta.ts +2 -1
- package/src/components/ai-prompt-input/ai-prompt-input.tsx +56 -18
- package/src/components/ai-reasoning/ai-reasoning.tsx +191 -12
- package/src/components/ai-reasoning/index.ts +1 -0
- package/src/components/ai-reasoning/meta.ts +4 -2
- package/src/components/ai-response/ai-response.tsx +10 -1
- package/src/components/ai-response/index.ts +1 -0
- package/src/components/ai-response/meta.ts +6 -3
- package/src/components/ai-response/response-text.tsx +119 -0
- package/src/components/ai-sources/ai-sources.tsx +191 -8
- package/src/components/ai-sources/index.ts +1 -0
- package/src/components/ai-sources/meta.ts +4 -2
- package/src/components/ai-suggestions/ai-suggestions.tsx +130 -0
- package/src/components/ai-suggestions/index.ts +6 -0
- package/src/components/ai-suggestions/meta.ts +17 -0
- package/src/components/ai-token-usage/ai-token-usage.tsx +288 -14
- package/src/components/ai-token-usage/index.ts +5 -0
- package/src/components/ai-token-usage/meta.ts +6 -2
- package/src/components/ai-tool/ai-tool.tsx +124 -3
- package/src/components/ai-tool/meta.ts +3 -1
- package/src/components/animated-checklist/animated-checklist.tsx +324 -0
- package/src/components/animated-checklist/index.ts +6 -0
- package/src/components/animated-checklist/meta.ts +18 -0
- package/src/components/app-stack/app-stack.tsx +414 -0
- package/src/components/app-stack/index.ts +7 -0
- package/src/components/app-stack/meta.ts +20 -0
- package/src/components/aspect-morph/aspect-morph.tsx +272 -0
- package/src/components/aspect-morph/index.ts +8 -0
- package/src/components/aspect-morph/meta.ts +19 -0
- package/src/components/assignee-picker/assignee-picker-spring.ts +33 -0
- package/src/components/assignee-picker/assignee-picker.tsx +535 -0
- package/src/components/assignee-picker/index.ts +6 -0
- package/src/components/assignee-picker/meta.ts +21 -0
- package/src/components/avatar-group/avatar-group.tsx +176 -0
- package/src/components/avatar-group/index.ts +6 -0
- package/src/components/avatar-group/meta.ts +18 -0
- package/src/components/bar-loader/bar-loader.tsx +549 -0
- package/src/components/bar-loader/index.ts +7 -0
- package/src/components/bar-loader/meta.ts +18 -0
- package/src/components/book/book.tsx +300 -0
- package/src/components/book/index.ts +1 -0
- package/src/components/book/meta.ts +18 -0
- package/src/components/breadcrumb/breadcrumb.tsx +50 -9
- package/src/components/breadcrumb/index.ts +1 -0
- package/src/components/breadcrumb/meta.ts +2 -1
- package/src/components/browser-tabs/browser-tabs-spring.ts +34 -0
- package/src/components/browser-tabs/browser-tabs.tsx +608 -0
- package/src/components/browser-tabs/index.ts +7 -0
- package/src/components/browser-tabs/meta.ts +22 -0
- package/src/components/button/button.tsx +57 -2
- package/src/components/canvas-toolbar/canvas-toolbar.tsx +457 -0
- package/src/components/canvas-toolbar/index.ts +9 -0
- package/src/components/canvas-toolbar/meta.ts +22 -0
- package/src/components/card-spread/card-spread-layouts.ts +251 -0
- package/src/components/card-spread/card-spread.tsx +415 -0
- package/src/components/card-spread/index.ts +19 -0
- package/src/components/card-spread/meta.ts +21 -0
- package/src/components/card-stack/card-stack-layout.ts +100 -0
- package/src/components/card-stack/card-stack.tsx +359 -0
- package/src/components/card-stack/index.ts +1 -0
- package/src/components/card-stack/meta.ts +20 -0
- package/src/components/carousel-3d/carousel-3d.tsx +501 -0
- package/src/components/carousel-3d/index.ts +7 -0
- package/src/components/carousel-3d/meta.ts +20 -0
- package/src/components/checkbox/checkbox.tsx +29 -1
- package/src/components/code-block/code-block.tsx +11 -110
- package/src/components/code-block/index.ts +4 -1
- package/src/components/code-block/meta.ts +1 -1
- package/src/components/combobox/combobox.tsx +165 -12
- package/src/components/combobox/index.ts +1 -0
- package/src/components/combobox/meta.ts +2 -1
- package/src/components/command-bar/command-bar.tsx +177 -0
- package/src/components/command-bar/index.ts +1 -0
- package/src/components/command-bar/meta.ts +17 -0
- package/src/components/comment-bubble/comment-bubble.tsx +269 -0
- package/src/components/comment-bubble/index.ts +6 -0
- package/src/components/comment-bubble/meta.ts +18 -0
- package/src/components/context-menu/context-menu.tsx +280 -0
- package/src/components/context-menu/index.ts +21 -0
- package/src/components/context-menu/meta.ts +19 -0
- package/src/components/contribution-graph/contribution-graph.tsx +372 -0
- package/src/components/contribution-graph/index.ts +6 -0
- package/src/components/contribution-graph/meta.ts +19 -0
- package/src/components/copy-button/copy-button.tsx +278 -0
- package/src/components/copy-button/index.ts +6 -0
- package/src/components/copy-button/meta.ts +19 -0
- package/src/components/create-menu/create-menu.tsx +319 -0
- package/src/components/create-menu/index.ts +7 -0
- package/src/components/create-menu/meta.ts +21 -0
- package/src/components/cursor-follow/cursor-follow.tsx +186 -0
- package/src/components/cursor-follow/index.ts +1 -0
- package/src/components/cursor-follow/meta.ts +19 -0
- package/src/components/dial/dial.tsx +308 -0
- package/src/components/dial/index.ts +1 -0
- package/src/components/dial/meta.ts +19 -0
- package/src/components/dialog/dialog.tsx +79 -36
- package/src/components/dialog/meta.ts +2 -1
- package/src/components/diff-viewer/diff-viewer.tsx +158 -19
- package/src/components/diff-viewer/meta.ts +4 -1
- package/src/components/dither-area/dither-area.tsx +280 -0
- package/src/components/dither-area/index.ts +9 -0
- package/src/components/dither-area/meta.ts +18 -0
- package/src/components/dither-bar/dither-bar.tsx +389 -0
- package/src/components/dither-bar/index.ts +8 -0
- package/src/components/dither-bar/meta.ts +19 -0
- package/src/components/dither-canvas/canvas-mock.ts +143 -0
- package/src/components/dither-canvas/dither-canvas.tsx +382 -0
- package/src/components/dither-canvas/dither-engine.ts +354 -0
- package/src/components/dither-canvas/dither-geometry.ts +295 -0
- package/src/components/dither-canvas/dither-scrubber.tsx +244 -0
- package/src/components/dither-canvas/index.ts +68 -0
- package/src/components/dither-canvas/meta.ts +19 -0
- package/src/components/dither-donut/dither-donut.tsx +377 -0
- package/src/components/dither-donut/index.ts +7 -0
- package/src/components/dither-donut/meta.ts +19 -0
- package/src/components/dither-funnel/dither-funnel.tsx +273 -0
- package/src/components/dither-funnel/index.ts +9 -0
- package/src/components/dither-funnel/meta.ts +19 -0
- package/src/components/dither-gauge/dither-gauge.tsx +279 -0
- package/src/components/dither-gauge/index.ts +8 -0
- package/src/components/dither-gauge/meta.ts +19 -0
- package/src/components/dither-heatmap/dither-heatmap.tsx +453 -0
- package/src/components/dither-heatmap/index.ts +10 -0
- package/src/components/dither-heatmap/meta.ts +19 -0
- package/src/components/dither-line/dither-line.tsx +244 -0
- package/src/components/dither-line/index.ts +8 -0
- package/src/components/dither-line/meta.ts +18 -0
- package/src/components/dither-meter/dither-meter.tsx +299 -0
- package/src/components/dither-meter/index.ts +8 -0
- package/src/components/dither-meter/meta.ts +19 -0
- package/src/components/dither-scatter/dither-scatter.tsx +317 -0
- package/src/components/dither-scatter/index.ts +8 -0
- package/src/components/dither-scatter/meta.ts +19 -0
- package/src/components/dot-morph-button/dot-morph-button.tsx +86 -0
- package/src/components/dot-morph-button/index.ts +5 -0
- package/src/components/dot-morph-button/meta.ts +17 -0
- package/src/components/dots-loader/dots-loader.tsx +451 -0
- package/src/components/dots-loader/index.ts +7 -0
- package/src/components/dots-loader/meta.ts +17 -0
- package/src/components/drag-stepper/drag-stepper.tsx +367 -0
- package/src/components/drag-stepper/index.ts +1 -0
- package/src/components/drag-stepper/meta.ts +23 -0
- package/src/components/drawer/drawer.tsx +77 -34
- package/src/components/drawer/meta.ts +1 -1
- package/src/components/dropdown-menu/dropdown-menu.tsx +47 -10
- package/src/components/dropdown-menu/meta.ts +2 -1
- package/src/components/effect-button/effect-button.tsx +310 -0
- package/src/components/effect-button/index.ts +8 -0
- package/src/components/effect-button/meta.ts +18 -0
- package/src/components/escape-button/escape-button.tsx +232 -0
- package/src/components/escape-button/index.ts +1 -0
- package/src/components/escape-button/meta.ts +18 -0
- package/src/components/expandable-cards/expandable-cards.tsx +435 -0
- package/src/components/expandable-cards/index.ts +6 -0
- package/src/components/expandable-cards/meta.ts +20 -0
- package/src/components/expandable-list/expandable-list.tsx +260 -0
- package/src/components/expandable-list/index.ts +6 -0
- package/src/components/expandable-list/meta.ts +19 -0
- package/src/components/expanding-search/expanding-search.tsx +244 -0
- package/src/components/expanding-search/index.ts +5 -0
- package/src/components/expanding-search/meta.ts +19 -0
- package/src/components/exposure-slider/exposure-slider.tsx +351 -0
- package/src/components/exposure-slider/index.ts +5 -0
- package/src/components/exposure-slider/meta.ts +20 -0
- package/src/components/file-upload/file-upload.tsx +134 -12
- package/src/components/file-upload/meta.ts +2 -1
- package/src/components/focus-blur-links/focus-blur-links.tsx +189 -0
- package/src/components/focus-blur-links/index.ts +7 -0
- package/src/components/focus-blur-links/meta.ts +18 -0
- package/src/components/folding-frame/folding-frame.tsx +435 -0
- package/src/components/folding-frame/index.ts +1 -0
- package/src/components/folding-frame/meta.ts +21 -0
- package/src/components/form/form.tsx +105 -13
- package/src/components/form/meta.ts +2 -1
- package/src/components/glass-bubble/glass-bubble.tsx +418 -0
- package/src/components/glass-bubble/index.ts +9 -0
- package/src/components/glass-bubble/meta.ts +20 -0
- package/src/components/glow-card/glow-card.tsx +195 -0
- package/src/components/glow-card/index.ts +7 -0
- package/src/components/glow-card/meta.ts +18 -0
- package/src/components/goo-ball/goo-ball.tsx +379 -0
- package/src/components/goo-ball/index.ts +7 -0
- package/src/components/goo-ball/meta.ts +19 -0
- package/src/components/goo-tabs/goo-tabs.tsx +389 -0
- package/src/components/goo-tabs/index.ts +11 -0
- package/src/components/goo-tabs/meta.ts +20 -0
- package/src/components/gooey-popover/gooey-popover.tsx +332 -0
- package/src/components/gooey-popover/index.ts +1 -0
- package/src/components/gooey-popover/meta.ts +20 -0
- package/src/components/gradient-orb/gradient-orb.tsx +230 -0
- package/src/components/gradient-orb/index.ts +6 -0
- package/src/components/gradient-orb/meta.ts +17 -0
- package/src/components/grid-loader/grid-loader.tsx +364 -0
- package/src/components/grid-loader/index.ts +10 -0
- package/src/components/grid-loader/meta.ts +17 -0
- package/src/components/image-accordion/image-accordion.tsx +230 -0
- package/src/components/image-accordion/index.ts +6 -0
- package/src/components/image-accordion/meta.ts +20 -0
- package/src/components/image-metadata/image-metadata.tsx +265 -0
- package/src/components/image-metadata/index.ts +6 -0
- package/src/components/image-metadata/meta.ts +19 -0
- package/src/components/image-selector/image-selector.tsx +338 -0
- package/src/components/image-selector/index.ts +6 -0
- package/src/components/image-selector/meta.ts +20 -0
- package/src/components/inline-confirm/index.ts +6 -0
- package/src/components/inline-confirm/inline-confirm.tsx +363 -0
- package/src/components/inline-confirm/meta.ts +18 -0
- package/src/components/input/floating-label-input.tsx +110 -0
- package/src/components/input/index.ts +5 -0
- package/src/components/input/meta.ts +3 -2
- package/src/components/invite-carousel/carousel-controls.tsx +291 -0
- package/src/components/invite-carousel/index.ts +8 -0
- package/src/components/invite-carousel/invite-carousel.tsx +359 -0
- package/src/components/invite-carousel/meta.ts +21 -0
- package/src/components/island/index.ts +7 -0
- package/src/components/island/island.tsx +162 -0
- package/src/components/island/meta.ts +18 -0
- package/src/components/liquid-toggle/index.ts +1 -0
- package/src/components/liquid-toggle/liquid-toggle.tsx +254 -0
- package/src/components/liquid-toggle/meta.ts +18 -0
- package/src/components/magnetic-button/index.ts +1 -0
- package/src/components/magnetic-button/magnetic-button.tsx +218 -0
- package/src/components/magnetic-button/meta.ts +18 -0
- package/src/components/magnetic-select/index.ts +6 -0
- package/src/components/magnetic-select/magnetic-select-spring.ts +33 -0
- package/src/components/magnetic-select/magnetic-select.tsx +426 -0
- package/src/components/magnetic-select/meta.ts +19 -0
- package/src/components/magnify-dock/index.ts +7 -0
- package/src/components/magnify-dock/magnify-dock.tsx +308 -0
- package/src/components/magnify-dock/meta.ts +21 -0
- package/src/components/marquee/index.ts +1 -0
- package/src/components/marquee/marquee.tsx +215 -0
- package/src/components/marquee/meta.ts +19 -0
- package/src/components/morph-button/index.ts +7 -0
- package/src/components/morph-button/meta.ts +18 -0
- package/src/components/morph-button/morph-button.tsx +390 -0
- package/src/components/morph-surface/index.ts +7 -0
- package/src/components/morph-surface/meta.ts +21 -0
- package/src/components/morph-surface/morph-surface.tsx +367 -0
- package/src/components/notification-badge/index.ts +6 -0
- package/src/components/notification-badge/meta.ts +19 -0
- package/src/components/notification-badge/notification-badge.tsx +183 -0
- package/src/components/notify-button/index.ts +1 -0
- package/src/components/notify-button/meta.ts +17 -0
- package/src/components/notify-button/notify-button.tsx +194 -0
- package/src/components/now-playing/index.ts +1 -0
- package/src/components/now-playing/meta.ts +19 -0
- package/src/components/now-playing/now-playing.tsx +474 -0
- package/src/components/number-flow/index.ts +10 -0
- package/src/components/number-flow/meta.ts +18 -0
- package/src/components/number-flow/number-flow.tsx +330 -0
- package/src/components/orb-face/index.ts +1 -0
- package/src/components/orb-face/meta.ts +18 -0
- package/src/components/orb-face/orb-face.tsx +431 -0
- package/src/components/otp-input/index.ts +6 -0
- package/src/components/otp-input/meta.ts +21 -0
- package/src/components/otp-input/otp-input.tsx +407 -0
- package/src/components/pagination/index.ts +1 -0
- package/src/components/pagination/meta.ts +4 -2
- package/src/components/pagination/pagination-indicator.tsx +95 -0
- package/src/components/pagination/pagination.tsx +37 -3
- package/src/components/palette-generator/index.ts +8 -0
- package/src/components/palette-generator/meta.ts +17 -0
- package/src/components/palette-generator/palette-generator.tsx +300 -0
- package/src/components/photo-stack/index.ts +1 -0
- package/src/components/photo-stack/meta.ts +19 -0
- package/src/components/photo-stack/photo-stack.tsx +310 -0
- package/src/components/photo-tabs/index.ts +1 -0
- package/src/components/photo-tabs/meta.ts +18 -0
- package/src/components/photo-tabs/photo-tabs.tsx +180 -0
- package/src/components/pixel-avatar/index.ts +1 -0
- package/src/components/pixel-avatar/meta.ts +17 -0
- package/src/components/pixel-avatar/pixel-avatar.tsx +249 -0
- package/src/components/product-card/index.ts +1 -0
- package/src/components/product-card/meta.ts +20 -0
- package/src/components/product-card/product-card.tsx +313 -0
- package/src/components/progress/meta.ts +2 -1
- package/src/components/progress/progress.tsx +123 -27
- package/src/components/pull-to-refresh/index.ts +7 -0
- package/src/components/pull-to-refresh/meta.ts +20 -0
- package/src/components/pull-to-refresh/pull-to-refresh.tsx +421 -0
- package/src/components/radial-menu/index.ts +7 -0
- package/src/components/radial-menu/meta.ts +22 -0
- package/src/components/radial-menu/radial-menu.tsx +441 -0
- package/src/components/radio-group/radio-group.tsx +12 -1
- package/src/components/range-dial/index.ts +1 -0
- package/src/components/range-dial/meta.ts +21 -0
- package/src/components/range-dial/range-dial.tsx +428 -0
- package/src/components/reorder-list/index.ts +10 -0
- package/src/components/reorder-list/meta.ts +21 -0
- package/src/components/reorder-list/reorder-list.tsx +627 -0
- package/src/components/reviews-carousel/carousel-controls.tsx +291 -0
- package/src/components/reviews-carousel/index.ts +7 -0
- package/src/components/reviews-carousel/meta.ts +21 -0
- package/src/components/reviews-carousel/reviews-carousel.tsx +301 -0
- package/src/components/rich-popover/index.ts +1 -0
- package/src/components/rich-popover/meta.ts +18 -0
- package/src/components/rich-popover/rich-popover.tsx +228 -0
- package/src/components/ring-loader/index.ts +7 -0
- package/src/components/ring-loader/meta.ts +17 -0
- package/src/components/ring-loader/ring-loader.tsx +795 -0
- package/src/components/scramble-text/index.ts +8 -0
- package/src/components/scramble-text/meta.ts +17 -0
- package/src/components/scramble-text/scramble-text.tsx +250 -0
- package/src/components/scroll-reveal-text/index.ts +6 -0
- package/src/components/scroll-reveal-text/meta.ts +18 -0
- package/src/components/scroll-reveal-text/scroll-reveal-text.tsx +193 -0
- package/src/components/scrubber/index.ts +1 -0
- package/src/components/scrubber/meta.ts +20 -0
- package/src/components/scrubber/scrubber.tsx +348 -0
- package/src/components/select/meta.ts +2 -1
- package/src/components/select/select.tsx +69 -22
- package/src/components/selection-list/index.ts +6 -0
- package/src/components/selection-list/meta.ts +21 -0
- package/src/components/selection-list/selection-list-spring.ts +33 -0
- package/src/components/selection-list/selection-list.tsx +497 -0
- package/src/components/shader-transition/index.ts +21 -0
- package/src/components/shader-transition/meta.ts +23 -0
- package/src/components/shader-transition/shader-transition-engine.ts +396 -0
- package/src/components/shader-transition/shader-transition-presets.ts +424 -0
- package/src/components/shader-transition/shader-transition.tsx +470 -0
- package/src/components/shader-transition/webgl-mock.ts +176 -0
- package/src/components/shape-loader/index.ts +7 -0
- package/src/components/shape-loader/meta.ts +17 -0
- package/src/components/shape-loader/shape-loader-variants.tsx +717 -0
- package/src/components/shape-loader/shape-loader.tsx +149 -0
- package/src/components/sheet/meta.ts +1 -1
- package/src/components/sheet/sheet.tsx +73 -31
- package/src/components/shimmer-text/index.ts +7 -0
- package/src/components/shimmer-text/meta.ts +18 -0
- package/src/components/shimmer-text/shimmer-text.tsx +218 -0
- package/src/components/skeleton/index.ts +1 -1
- package/src/components/skeleton/meta.ts +2 -1
- package/src/components/skeleton/skeleton.tsx +49 -7
- package/src/components/slide-to-confirm/index.ts +6 -0
- package/src/components/slide-to-confirm/meta.ts +20 -0
- package/src/components/slide-to-confirm/slide-to-confirm.tsx +519 -0
- package/src/components/slosh-slider/index.ts +6 -0
- package/src/components/slosh-slider/meta.ts +20 -0
- package/src/components/slosh-slider/slosh-slider.tsx +266 -0
- package/src/components/social-selector/index.ts +6 -0
- package/src/components/social-selector/meta.ts +18 -0
- package/src/components/social-selector/social-selector.tsx +247 -0
- package/src/components/star-count/index.ts +1 -0
- package/src/components/star-count/meta.ts +18 -0
- package/src/components/star-count/star-count.tsx +161 -0
- package/src/components/stepper/index.ts +8 -0
- package/src/components/stepper/meta.ts +20 -0
- package/src/components/stepper/stepper.tsx +364 -0
- package/src/components/swipe-carousel/carousel-controls.tsx +148 -0
- package/src/components/swipe-carousel/index.ts +6 -0
- package/src/components/swipe-carousel/meta.ts +21 -0
- package/src/components/swipe-carousel/swipe-carousel.tsx +407 -0
- package/src/components/switch/meta.ts +3 -1
- package/src/components/switch/switch.tsx +69 -4
- package/src/components/switchboard-card/index.ts +6 -0
- package/src/components/switchboard-card/meta.ts +18 -0
- package/src/components/switchboard-card/switchboard-card.tsx +312 -0
- package/src/components/tabs/index.ts +1 -0
- package/src/components/tabs/meta.ts +3 -1
- package/src/components/tabs/tabs.tsx +144 -4
- package/src/components/tags-input/meta.ts +2 -1
- package/src/components/tags-input/tags-input.tsx +122 -4
- package/src/components/text-effect/index.ts +10 -0
- package/src/components/text-effect/meta.ts +18 -0
- package/src/components/text-effect/text-effect-presets.ts +305 -0
- package/src/components/text-effect/text-effect.tsx +454 -0
- package/src/components/text-loader/index.ts +7 -0
- package/src/components/text-loader/meta.ts +17 -0
- package/src/components/text-loader/text-loader.tsx +585 -0
- package/src/components/text-swap/index.ts +9 -0
- package/src/components/text-swap/meta.ts +20 -0
- package/src/components/text-swap/text-rotate.tsx +76 -0
- package/src/components/text-swap/text-swap.tsx +414 -0
- package/src/components/tick-progress/index.ts +1 -0
- package/src/components/tick-progress/meta.ts +19 -0
- package/src/components/tick-progress/tick-progress.tsx +253 -0
- package/src/components/tilt-card/index.ts +6 -0
- package/src/components/tilt-card/meta.ts +18 -0
- package/src/components/tilt-card/tilt-card.tsx +256 -0
- package/src/components/time-stack/index.ts +6 -0
- package/src/components/time-stack/meta.ts +19 -0
- package/src/components/time-stack/time-stack.tsx +385 -0
- package/src/components/toast/meta.ts +2 -1
- package/src/components/toast/toast.tsx +67 -9
- package/src/components/todo-tower/index.ts +1 -0
- package/src/components/todo-tower/meta.ts +18 -0
- package/src/components/todo-tower/todo-tower.tsx +429 -0
- package/src/components/tooltip/meta.ts +1 -1
- package/src/components/tooltip/tooltip.tsx +39 -15
- package/src/components/tweet-card/index.ts +11 -0
- package/src/components/tweet-card/meta.ts +19 -0
- package/src/components/tweet-card/tweet-card.tsx +372 -0
- package/src/components/typewriter-text/index.ts +6 -0
- package/src/components/typewriter-text/meta.ts +17 -0
- package/src/components/typewriter-text/typewriter-text.tsx +214 -0
- package/src/components/uptime-matrix/index.ts +11 -0
- package/src/components/uptime-matrix/meta.ts +20 -0
- package/src/components/uptime-matrix/uptime-matrix.tsx +443 -0
- package/src/index.ts +109 -0
- package/src/registry/blocks.ts +68 -0
- package/src/registry/components.ts +218 -0
- package/src/registry/schema.ts +1 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../../lib/utils.js";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { useLayoutEffect, useRef, useState } from "react";
|
|
6
|
+
//#region src/components/island/island.tsx
|
|
7
|
+
const STYLES = `
|
|
8
|
+
@keyframes dowel-island-enter {
|
|
9
|
+
from { opacity: 0; scale: 0.9; filter: blur(5px); }
|
|
10
|
+
to { opacity: 1; scale: 1; filter: blur(0); }
|
|
11
|
+
}
|
|
12
|
+
[data-slot="island-content"] {
|
|
13
|
+
animation: dowel-island-enter calc(300ms * var(--motion-scale)) var(--ease-out-quint)
|
|
14
|
+
calc(50ms * var(--motion-scale)) both;
|
|
15
|
+
}
|
|
16
|
+
`;
|
|
17
|
+
const islandVariants = cva(cn("relative inline-flex min-w-[6.25rem] items-center justify-center overflow-hidden rounded-[2rem]", "transition-[width,height] duration-[var(--duration-slow)]"), {
|
|
18
|
+
variants: { tone: {
|
|
19
|
+
/** The source's black pill: the inverse of the page. */
|
|
20
|
+
inverted: "bg-foreground text-background",
|
|
21
|
+
card: "border border-border bg-card text-card-foreground shadow-md",
|
|
22
|
+
primary: "bg-primary text-primary-foreground"
|
|
23
|
+
} },
|
|
24
|
+
defaultVariants: { tone: "inverted" }
|
|
25
|
+
});
|
|
26
|
+
/** Maps a 0–1 bounce onto the overshoot of a cubic-bezier, clamped. */
|
|
27
|
+
function islandEasing(bounce) {
|
|
28
|
+
return `cubic-bezier(0.34, ${(1 + Math.min(1, Math.max(0, bounce)) * .8).toFixed(2)}, 0.64, 1)`;
|
|
29
|
+
}
|
|
30
|
+
/** The content box's size, or null until it has been measured. */
|
|
31
|
+
function useMeasuredSize(ref) {
|
|
32
|
+
const [size, setSize] = useState(null);
|
|
33
|
+
useLayoutEffect(() => {
|
|
34
|
+
const element = ref.current;
|
|
35
|
+
if (!element) return;
|
|
36
|
+
const measure = () => {
|
|
37
|
+
const width = element.offsetWidth;
|
|
38
|
+
const height = element.offsetHeight;
|
|
39
|
+
if (!width || !height) return;
|
|
40
|
+
setSize((previous) => previous?.width === width && previous.height === height ? previous : {
|
|
41
|
+
width,
|
|
42
|
+
height
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
measure();
|
|
46
|
+
const observer = new ResizeObserver(measure);
|
|
47
|
+
observer.observe(element);
|
|
48
|
+
return () => observer.disconnect();
|
|
49
|
+
}, [ref]);
|
|
50
|
+
return size;
|
|
51
|
+
}
|
|
52
|
+
/** A pill that morphs between views, resizing around its content. */
|
|
53
|
+
function Island({ className, style, view, views, bounce = .5, live = "off", tone, ...props }) {
|
|
54
|
+
const measureRef = useRef(null);
|
|
55
|
+
const size = useMeasuredSize(measureRef);
|
|
56
|
+
const [shown, setShown] = useState(view);
|
|
57
|
+
const [from, setFrom] = useState(view);
|
|
58
|
+
if (shown !== view) {
|
|
59
|
+
setFrom(shown);
|
|
60
|
+
setShown(view);
|
|
61
|
+
}
|
|
62
|
+
const amount = typeof bounce === "function" ? bounce(from, view) : bounce;
|
|
63
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
64
|
+
"data-slot": "island",
|
|
65
|
+
"data-view": view,
|
|
66
|
+
"aria-live": live === "off" ? void 0 : live,
|
|
67
|
+
"aria-atomic": live === "off" ? void 0 : true,
|
|
68
|
+
className: cn(islandVariants({ tone }), className),
|
|
69
|
+
style: {
|
|
70
|
+
width: size?.width,
|
|
71
|
+
height: size?.height,
|
|
72
|
+
transitionTimingFunction: islandEasing(amount),
|
|
73
|
+
...style
|
|
74
|
+
},
|
|
75
|
+
...props,
|
|
76
|
+
children: [/* @__PURE__ */ jsx("style", {
|
|
77
|
+
href: "dowel-island",
|
|
78
|
+
precedence: "dowel",
|
|
79
|
+
children: STYLES
|
|
80
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
81
|
+
ref: measureRef,
|
|
82
|
+
"data-slot": "island-measure",
|
|
83
|
+
className: "w-max shrink-0",
|
|
84
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
85
|
+
"data-slot": "island-content",
|
|
86
|
+
children: views[view]
|
|
87
|
+
}, view)
|
|
88
|
+
})]
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
//#endregion
|
|
92
|
+
export { Island, islandEasing, islandVariants };
|
|
93
|
+
|
|
94
|
+
//# sourceMappingURL=island.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"island.js","names":[],"sources":["../../../src/components/island/island.tsx"],"sourcesContent":["\"use client\";\n\n// Ported from SmoothUI Dynamic Island (MIT, © 2024 Eduardo Calvo). See THIRD_PARTY_NOTICES.md.\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport {\n useLayoutEffect,\n useRef,\n useState,\n type ComponentPropsWithRef,\n type ReactNode,\n type RefObject,\n} from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\n/*\n * A pill that reshapes itself around whatever it is showing: an idle glyph,\n * an incoming call, a timer, a player. The source drove this with motion's\n * `layout` spring; here the pill's size is measured (ResizeObserver) and the\n * width/height change is a CSS transition on an overshooting curve, which is\n * the same bounce without a JavaScript animation loop. Any change of size\n * animates — a new view *or* content growing inside the current one — because\n * the measurement does not care why the content changed.\n *\n * The incoming view blurs and scales in through a hoisted keyframe. Both stop\n * under reduced motion: the pill simply is its new size.\n */\n\nconst STYLES = `\n@keyframes dowel-island-enter {\n from { opacity: 0; scale: 0.9; filter: blur(5px); }\n to { opacity: 1; scale: 1; filter: blur(0); }\n}\n[data-slot=\"island-content\"] {\n animation: dowel-island-enter calc(300ms * var(--motion-scale)) var(--ease-out-quint)\n calc(50ms * var(--motion-scale)) both;\n}\n`;\n\nconst islandVariants = cva(\n cn(\n \"relative inline-flex min-w-[6.25rem] items-center justify-center overflow-hidden rounded-[2rem]\",\n \"transition-[width,height] duration-[var(--duration-slow)]\",\n ),\n {\n variants: {\n tone: {\n /** The source's black pill: the inverse of the page. */\n inverted: \"bg-foreground text-background\",\n card: \"border border-border bg-card text-card-foreground shadow-md\",\n primary: \"bg-primary text-primary-foreground\",\n },\n },\n defaultVariants: {\n tone: \"inverted\",\n },\n },\n);\n\nexport type IslandBounce = number | ((from: string, to: string) => number);\n\nexport interface IslandProps<V extends string = string>\n extends Omit<ComponentPropsWithRef<\"div\">, \"children\">, VariantProps<typeof islandVariants> {\n /** The view currently shown — a key of `views`. */\n view: V;\n /** Content for each view, e.g. `{ compact: …, expanded: … }`. */\n views: Record<V, ReactNode>;\n /**\n * How far the pill overshoots its new size, 0 (none) to 1. A function gets\n * the previous and next view, so each transition can have its own feel.\n */\n bounce?: IslandBounce;\n /**\n * Announce each new view to screen readers. Off by default: an island that\n * announces every idle tick trains people to ignore it.\n */\n live?: \"off\" | \"polite\" | \"assertive\";\n}\n\n/** Maps a 0–1 bounce onto the overshoot of a cubic-bezier, clamped. */\nexport function islandEasing(bounce: number): string {\n const overshoot = 1 + Math.min(1, Math.max(0, bounce)) * 0.8;\n return `cubic-bezier(0.34, ${overshoot.toFixed(2)}, 0.64, 1)`;\n}\n\n/** The content box's size, or null until it has been measured. */\nfunction useMeasuredSize(ref: RefObject<HTMLElement | null>) {\n const [size, setSize] = useState<{ width: number; height: number } | null>(null);\n\n useLayoutEffect(() => {\n const element = ref.current;\n if (!element) return;\n const measure = () => {\n const width = element.offsetWidth;\n const height = element.offsetHeight;\n if (!width || !height) return;\n setSize((previous) =>\n previous?.width === width && previous.height === height ? previous : { width, height },\n );\n };\n measure();\n const observer = new ResizeObserver(measure);\n observer.observe(element);\n return () => observer.disconnect();\n }, [ref]);\n\n return size;\n}\n\n/** A pill that morphs between views, resizing around its content. */\nexport function Island<V extends string>({\n className,\n style,\n view,\n views,\n bounce = 0.5,\n live = \"off\",\n tone,\n ...props\n}: IslandProps<V>) {\n const measureRef = useRef<HTMLDivElement>(null);\n const size = useMeasuredSize(measureRef);\n\n // The view we are coming from, captured when `view` changes, so a bounce\n // function can tell one transition from another.\n const [shown, setShown] = useState<V>(view);\n const [from, setFrom] = useState<V>(view);\n if (shown !== view) {\n setFrom(shown);\n setShown(view);\n }\n\n const amount = typeof bounce === \"function\" ? bounce(from, view) : bounce;\n\n return (\n <div\n data-slot=\"island\"\n data-view={view}\n aria-live={live === \"off\" ? undefined : live}\n aria-atomic={live === \"off\" ? undefined : true}\n className={cn(islandVariants({ tone }), className)}\n style={{\n width: size?.width,\n height: size?.height,\n transitionTimingFunction: islandEasing(amount),\n ...style,\n }}\n {...props}\n >\n <style href=\"dowel-island\" precedence=\"dowel\">\n {STYLES}\n </style>\n <div ref={measureRef} data-slot=\"island-measure\" className=\"w-max shrink-0\">\n <div key={view} data-slot=\"island-content\">\n {views[view]}\n </div>\n </div>\n </div>\n );\n}\n\nexport { islandVariants };\n"],"mappings":";;;;;;AA4BA,MAAM,SAAS;;;;;;;;;;AAWf,MAAM,iBAAiB,IACrB,GACE,mGACA,2DACF,GACA;CACE,UAAU,EACR,MAAM;;EAEJ,UAAU;EACV,MAAM;EACN,SAAS;CACX,EACF;CACA,iBAAiB,EACf,MAAM,WACR;AACF,CACF;;AAuBA,SAAgB,aAAa,QAAwB;CAEnD,OAAO,uBADW,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,MAAM,CAAC,IAAI,GAAA,CAClB,QAAQ,CAAC,EAAE;AACpD;;AAGA,SAAS,gBAAgB,KAAoC;CAC3D,MAAM,CAAC,MAAM,WAAW,SAAmD,IAAI;CAE/E,sBAAsB;EACpB,MAAM,UAAU,IAAI;EACpB,IAAI,CAAC,SAAS;EACd,MAAM,gBAAgB;GACpB,MAAM,QAAQ,QAAQ;GACtB,MAAM,SAAS,QAAQ;GACvB,IAAI,CAAC,SAAS,CAAC,QAAQ;GACvB,SAAS,aACP,UAAU,UAAU,SAAS,SAAS,WAAW,SAAS,WAAW;IAAE;IAAO;GAAO,CACvF;EACF;EACA,QAAQ;EACR,MAAM,WAAW,IAAI,eAAe,OAAO;EAC3C,SAAS,QAAQ,OAAO;EACxB,aAAa,SAAS,WAAW;CACnC,GAAG,CAAC,GAAG,CAAC;CAER,OAAO;AACT;;AAGA,SAAgB,OAAyB,EACvC,WACA,OACA,MACA,OACA,SAAS,IACT,OAAO,OACP,MACA,GAAG,SACc;CACjB,MAAM,aAAa,OAAuB,IAAI;CAC9C,MAAM,OAAO,gBAAgB,UAAU;CAIvC,MAAM,CAAC,OAAO,YAAY,SAAY,IAAI;CAC1C,MAAM,CAAC,MAAM,WAAW,SAAY,IAAI;CACxC,IAAI,UAAU,MAAM;EAClB,QAAQ,KAAK;EACb,SAAS,IAAI;CACf;CAEA,MAAM,SAAS,OAAO,WAAW,aAAa,OAAO,MAAM,IAAI,IAAI;CAEnE,OACE,qBAAC,OAAD;EACE,aAAU;EACV,aAAW;EACX,aAAW,SAAS,QAAQ,KAAA,IAAY;EACxC,eAAa,SAAS,QAAQ,KAAA,IAAY;EAC1C,WAAW,GAAG,eAAe,EAAE,KAAK,CAAC,GAAG,SAAS;EACjD,OAAO;GACL,OAAO,MAAM;GACb,QAAQ,MAAM;GACd,0BAA0B,aAAa,MAAM;GAC7C,GAAG;EACL;EACA,GAAI;EAZN,UAAA,CAcE,oBAAC,SAAD;GAAO,MAAK;GAAe,YAAW;GACnC,UAAA;EACI,CAAA,GACP,oBAAC,OAAD;GAAK,KAAK;GAAY,aAAU;GAAiB,WAAU;GACzD,UAAA,oBAAC,OAAD;IAAgB,aAAU;IACvB,UAAA,MAAM;GACJ,GAFK,IAEL;EACF,CAAA,CACF;;AAET"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/island/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "island",
|
|
5
|
+
title: "Island",
|
|
6
|
+
description: "A pill that morphs between views — idle, a call, a timer, a player — resizing around whatever it shows.",
|
|
7
|
+
category: "display",
|
|
8
|
+
status: "beta",
|
|
9
|
+
dependencies: ["class-variance-authority"],
|
|
10
|
+
registryDependencies: [],
|
|
11
|
+
files: ["island.tsx"],
|
|
12
|
+
a11y: "The island is a container: the controls inside a view (play, skip, answer) are ordinary buttons and must be named by the consumer. Pass `live=\"polite\"` to announce each new view — it is off by default, since an island that announces every change is noise. The resize and the incoming view's blur stop under reduced motion; the pill takes its new size immediately."
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { meta };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.js","names":[],"sources":["../../../src/components/island/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"island\",\n title: \"Island\",\n description:\n \"A pill that morphs between views — idle, a call, a timer, a player — resizing around whatever it shows.\",\n category: \"display\",\n status: \"beta\",\n dependencies: [\"class-variance-authority\"],\n registryDependencies: [],\n files: [\"island.tsx\"],\n a11y:\n \"The island is a container: the controls inside a view (play, skip, answer) are ordinary buttons and must be \" +\n 'named by the consumer. Pass `live=\"polite\"` to announce each new view — it is off by default, since an ' +\n \"island that announces every change is noise. The resize and the incoming view's blur stop under reduced \" +\n \"motion; the pill takes its new size immediately.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aACE;CACF,UAAU;CACV,QAAQ;CACR,cAAc,CAAC,0BAA0B;CACzC,sBAAsB,CAAC;CACvB,OAAO,CAAC,YAAY;CACpB,MACE;AAIJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Switch } from "radix-ui";
|
|
2
|
+
import { VariantProps } from "class-variance-authority";
|
|
3
|
+
import { ComponentPropsWithRef } from "react";
|
|
4
|
+
//#region src/components/liquid-toggle/liquid-toggle.d.ts
|
|
5
|
+
declare const liquidToggleVariants: (props?: ({
|
|
6
|
+
size?: "sm" | "md" | null | undefined;
|
|
7
|
+
stroke?: boolean | null | undefined;
|
|
8
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
|
+
interface LiquidToggleProps extends Omit<ComponentPropsWithRef<typeof Switch.Root>, "children">, VariantProps<typeof liquidToggleVariants> {
|
|
10
|
+
/** Spring stiffness, 0–100: how quickly the knob crosses. */
|
|
11
|
+
speed?: number;
|
|
12
|
+
/** Velocity squash and stretch, 0–100. 0 keeps the knob a rigid circle. */
|
|
13
|
+
stretch?: number;
|
|
14
|
+
}
|
|
15
|
+
/** A droplet switch: the knob stretches with its speed and can be dragged across. */
|
|
16
|
+
declare function LiquidToggle({ className, size, stroke, speed, stretch, checked: checkedProp, defaultChecked, onCheckedChange, disabled, onPointerDown, onPointerMove, onPointerUp, onPointerCancel, onClick, ...props }: LiquidToggleProps): import("react").JSX.Element;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { LiquidToggle, LiquidToggleProps, liquidToggleVariants };
|
|
19
|
+
//# sourceMappingURL=liquid-toggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liquid-toggle.d.ts","names":[],"sources":["../../../src/components/liquid-toggle/liquid-toggle.tsx"],"mappings":";;;;cA4CM,uBAAoB;;;6CAsBzB;UAEgB,0BAEb,KAAK,6BAA6B,OAAgB,oBAClD,oBAAoB;;EAEtB;;EAEA;;;iBAOc,eACd,WACA,MACA,QACA,OACA,SACA,SAAS,aACT,gBACA,iBACA,UACA,eACA,eACA,aACA,iBACA,YACG,SACF,oCAAiB,IAAA"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { focusRing } from "../../lib/styles.js";
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import { Switch } from "radix-ui";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import { cva } from "class-variance-authority";
|
|
7
|
+
import { useEffect, useRef, useState } from "react";
|
|
8
|
+
import { MotionConfig, animate, motion, useMotionValue, useReducedMotion, useTransform, useVelocity } from "motion/react";
|
|
9
|
+
//#region src/components/liquid-toggle/liquid-toggle.tsx
|
|
10
|
+
const liquidToggleVariants = cva(cn("relative inline-flex shrink-0 touch-none items-center rounded-full select-none", "bg-card data-[state=checked]:bg-foreground", "transition-[background-color,box-shadow] duration-[var(--duration-slow)] ease-[var(--ease-out-quint)]", "disabled:cursor-not-allowed disabled:opacity-55", focusRing), {
|
|
11
|
+
variants: {
|
|
12
|
+
size: {
|
|
13
|
+
sm: "h-6 w-11 [--liquid-toggle-inset:0.1875rem] [--liquid-toggle-knob:1.125rem] [--liquid-toggle-travel:1.25rem]",
|
|
14
|
+
md: "h-[2.875rem] w-[5.75rem] [--liquid-toggle-inset:0.3125rem] [--liquid-toggle-knob:2.25rem] [--liquid-toggle-travel:2.875rem]"
|
|
15
|
+
},
|
|
16
|
+
/** A hairline ring on the track — the source's Stroke switch. */
|
|
17
|
+
stroke: {
|
|
18
|
+
true: "shadow-[inset_0_0_0_1px_var(--color-border)] data-[state=checked]:shadow-none",
|
|
19
|
+
false: ""
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
defaultVariants: {
|
|
23
|
+
size: "md",
|
|
24
|
+
stroke: true
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
/** Pixels the pointer must travel before a press becomes a drag. */
|
|
28
|
+
const DRAG_SLOP = 3;
|
|
29
|
+
/** A droplet switch: the knob stretches with its speed and can be dragged across. */
|
|
30
|
+
function LiquidToggle({ className, size, stroke, speed = 50, stretch = 36, checked: checkedProp, defaultChecked = false, onCheckedChange, disabled, onPointerDown, onPointerMove, onPointerUp, onPointerCancel, onClick, ...props }) {
|
|
31
|
+
const [uncontrolled, setUncontrolled] = useState(defaultChecked);
|
|
32
|
+
const checked = checkedProp ?? uncontrolled;
|
|
33
|
+
const reduced = useReducedMotion() ?? false;
|
|
34
|
+
const knobRef = useRef(null);
|
|
35
|
+
const drag = useRef(null);
|
|
36
|
+
const suppressClick = useRef(false);
|
|
37
|
+
const position = useMotionValue(checked ? 1 : 0);
|
|
38
|
+
const velocity = useVelocity(position);
|
|
39
|
+
const gain = stretch / 36 * .016;
|
|
40
|
+
const limit = 1 + stretch / 100 * .4;
|
|
41
|
+
const scaleX = useTransform(velocity, (v) => reduced ? 1 : Math.min(limit, 1 + Math.abs(v) * gain));
|
|
42
|
+
const scaleY = useTransform(scaleX, (x) => 2 - x);
|
|
43
|
+
const stiffness = 150 + speed * 4;
|
|
44
|
+
const damping = 2 * Math.sqrt(stiffness) * .85;
|
|
45
|
+
function settle(target) {
|
|
46
|
+
if (reduced) {
|
|
47
|
+
position.jump(target);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
animate(position, target, {
|
|
51
|
+
type: "spring",
|
|
52
|
+
stiffness,
|
|
53
|
+
damping,
|
|
54
|
+
velocity: position.getVelocity()
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
if (drag.current) return;
|
|
59
|
+
const target = checked ? 1 : 0;
|
|
60
|
+
if (position.get() === target) return;
|
|
61
|
+
if (reduced) {
|
|
62
|
+
position.jump(target);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const controls = animate(position, target, {
|
|
66
|
+
type: "spring",
|
|
67
|
+
stiffness,
|
|
68
|
+
damping,
|
|
69
|
+
velocity: position.getVelocity()
|
|
70
|
+
});
|
|
71
|
+
return () => {
|
|
72
|
+
controls.stop();
|
|
73
|
+
};
|
|
74
|
+
}, [
|
|
75
|
+
checked,
|
|
76
|
+
reduced,
|
|
77
|
+
stiffness,
|
|
78
|
+
damping,
|
|
79
|
+
position
|
|
80
|
+
]);
|
|
81
|
+
function setChecked(next) {
|
|
82
|
+
if (checkedProp === void 0) setUncontrolled(next);
|
|
83
|
+
onCheckedChange?.(next);
|
|
84
|
+
}
|
|
85
|
+
/** Pixels of travel between the two sides, measured from the rendered track. */
|
|
86
|
+
function travel(track, rtl) {
|
|
87
|
+
const knob = knobRef.current;
|
|
88
|
+
if (!knob) return 0;
|
|
89
|
+
const width = track.clientWidth;
|
|
90
|
+
const inset = rtl ? width - knob.offsetLeft - knob.offsetWidth : knob.offsetLeft;
|
|
91
|
+
return width - knob.offsetWidth - 2 * inset;
|
|
92
|
+
}
|
|
93
|
+
function handlePointerDown(event) {
|
|
94
|
+
onPointerDown?.(event);
|
|
95
|
+
if (disabled || event.button !== 0) return;
|
|
96
|
+
drag.current = {
|
|
97
|
+
id: event.pointerId,
|
|
98
|
+
x: event.clientX,
|
|
99
|
+
from: position.get(),
|
|
100
|
+
moved: false
|
|
101
|
+
};
|
|
102
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
103
|
+
}
|
|
104
|
+
function handlePointerMove(event) {
|
|
105
|
+
onPointerMove?.(event);
|
|
106
|
+
const current = drag.current;
|
|
107
|
+
if (!current || current.id !== event.pointerId) return;
|
|
108
|
+
const dx = event.clientX - current.x;
|
|
109
|
+
if (!current.moved && Math.abs(dx) < DRAG_SLOP) return;
|
|
110
|
+
current.moved = true;
|
|
111
|
+
const rtl = getComputedStyle(event.currentTarget).direction === "rtl";
|
|
112
|
+
const distance = travel(event.currentTarget, rtl);
|
|
113
|
+
if (distance <= 0) return;
|
|
114
|
+
const next = current.from + (rtl ? -dx : dx) / distance;
|
|
115
|
+
position.set(Math.min(1, Math.max(0, next)));
|
|
116
|
+
}
|
|
117
|
+
function release(event, cancelled) {
|
|
118
|
+
const current = drag.current;
|
|
119
|
+
if (!current || current.id !== event.pointerId) return;
|
|
120
|
+
drag.current = null;
|
|
121
|
+
if (!current.moved) return;
|
|
122
|
+
suppressClick.current = !cancelled;
|
|
123
|
+
const next = position.get() >= .5;
|
|
124
|
+
if (next === checked) settle(next ? 1 : 0);
|
|
125
|
+
else setChecked(next);
|
|
126
|
+
}
|
|
127
|
+
function handleClick(event) {
|
|
128
|
+
onClick?.(event);
|
|
129
|
+
if (suppressClick.current) {
|
|
130
|
+
suppressClick.current = false;
|
|
131
|
+
event.preventDefault();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return /* @__PURE__ */ jsx(MotionConfig, {
|
|
135
|
+
reducedMotion: "user",
|
|
136
|
+
children: /* @__PURE__ */ jsx(Switch.Root, {
|
|
137
|
+
"data-slot": "liquid-toggle",
|
|
138
|
+
checked,
|
|
139
|
+
onCheckedChange: setChecked,
|
|
140
|
+
disabled,
|
|
141
|
+
className: cn(liquidToggleVariants({
|
|
142
|
+
size,
|
|
143
|
+
stroke
|
|
144
|
+
}), className),
|
|
145
|
+
onPointerDown: handlePointerDown,
|
|
146
|
+
onPointerMove: handlePointerMove,
|
|
147
|
+
onPointerUp: (event) => {
|
|
148
|
+
onPointerUp?.(event);
|
|
149
|
+
release(event, false);
|
|
150
|
+
},
|
|
151
|
+
onPointerCancel: (event) => {
|
|
152
|
+
onPointerCancel?.(event);
|
|
153
|
+
release(event, true);
|
|
154
|
+
},
|
|
155
|
+
onClick: handleClick,
|
|
156
|
+
...props,
|
|
157
|
+
children: /* @__PURE__ */ jsx(motion.span, {
|
|
158
|
+
ref: knobRef,
|
|
159
|
+
"aria-hidden": "true",
|
|
160
|
+
"data-slot": "liquid-toggle-knob",
|
|
161
|
+
"data-state": checked ? "checked" : "unchecked",
|
|
162
|
+
className: cn("pointer-events-none absolute start-[var(--liquid-toggle-inset)] top-1/2 size-[var(--liquid-toggle-knob)] rounded-full", "translate-x-[calc(var(--liquid-toggle-p)*var(--liquid-toggle-travel))] -translate-y-1/2", "rtl:translate-x-[calc(var(--liquid-toggle-p)*var(--liquid-toggle-travel)*-1)]", "bg-[color-mix(in_oklab,var(--color-foreground)_19%,var(--color-card))] data-[state=checked]:bg-card", "transition-[background-color] duration-[var(--duration-slow)]"),
|
|
163
|
+
style: {
|
|
164
|
+
scaleX,
|
|
165
|
+
scaleY,
|
|
166
|
+
"--liquid-toggle-p": position
|
|
167
|
+
}
|
|
168
|
+
})
|
|
169
|
+
})
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
//#endregion
|
|
173
|
+
export { LiquidToggle, liquidToggleVariants };
|
|
174
|
+
|
|
175
|
+
//# sourceMappingURL=liquid-toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liquid-toggle.js","names":["SwitchPrimitive"],"sources":["../../../src/components/liquid-toggle/liquid-toggle.tsx"],"sourcesContent":["\"use client\";\n\n// Ported from bencho Liquid toggle (MIT, © 2026 Lorenzo Cabra). See THIRD_PARTY_NOTICES.md.\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport {\n MotionConfig,\n animate,\n motion,\n useMotionValue,\n useReducedMotion,\n useTransform,\n useVelocity,\n type MotionStyle,\n} from \"motion/react\";\nimport { Switch as SwitchPrimitive } from \"radix-ui\";\nimport {\n useEffect,\n useRef,\n useState,\n type ComponentPropsWithRef,\n type MouseEvent,\n type PointerEvent,\n} from \"react\";\n\nimport { focusRing } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\n/*\n * A switch whose knob behaves like a droplet: it stretches along its travel\n * and squashes across it in proportion to its speed.\n *\n * Built on the Radix switch primitive, like Dowel's Switch, so it has the\n * switch role, Space/Enter, a native click, and a hidden input inside forms.\n * Dowel's Switch cannot take this knob — its thumb is fixed — so this composes\n * the same primitive instead.\n *\n * `motion` is used for one thing CSS cannot do: the knob can be dragged, and on\n * release its spring has to carry the drag's velocity, and the squash is read\n * off that velocity every frame. The knob's position is a single 0–1 value\n * written to a CSS variable; logical `start` and an RTL-negated translate make\n * \"on\" the inline end in both directions. Under reduced motion the knob jumps\n * and never deforms.\n */\n\nconst liquidToggleVariants = cva(\n cn(\n \"relative inline-flex shrink-0 touch-none items-center rounded-full select-none\",\n \"bg-card data-[state=checked]:bg-foreground\",\n \"transition-[background-color,box-shadow] duration-[var(--duration-slow)] ease-[var(--ease-out-quint)]\",\n \"disabled:cursor-not-allowed disabled:opacity-55\",\n focusRing,\n ),\n {\n variants: {\n size: {\n sm: \"h-6 w-11 [--liquid-toggle-inset:0.1875rem] [--liquid-toggle-knob:1.125rem] [--liquid-toggle-travel:1.25rem]\",\n md: \"h-[2.875rem] w-[5.75rem] [--liquid-toggle-inset:0.3125rem] [--liquid-toggle-knob:2.25rem] [--liquid-toggle-travel:2.875rem]\",\n },\n /** A hairline ring on the track — the source's Stroke switch. */\n stroke: {\n true: \"shadow-[inset_0_0_0_1px_var(--color-border)] data-[state=checked]:shadow-none\",\n false: \"\",\n },\n },\n defaultVariants: { size: \"md\", stroke: true },\n },\n);\n\nexport interface LiquidToggleProps\n extends\n Omit<ComponentPropsWithRef<typeof SwitchPrimitive.Root>, \"children\">,\n VariantProps<typeof liquidToggleVariants> {\n /** Spring stiffness, 0–100: how quickly the knob crosses. */\n speed?: number;\n /** Velocity squash and stretch, 0–100. 0 keeps the knob a rigid circle. */\n stretch?: number;\n}\n\n/** Pixels the pointer must travel before a press becomes a drag. */\nconst DRAG_SLOP = 3;\n\n/** A droplet switch: the knob stretches with its speed and can be dragged across. */\nexport function LiquidToggle({\n className,\n size,\n stroke,\n speed = 50,\n stretch = 36,\n checked: checkedProp,\n defaultChecked = false,\n onCheckedChange,\n disabled,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n onPointerCancel,\n onClick,\n ...props\n}: LiquidToggleProps) {\n const [uncontrolled, setUncontrolled] = useState(defaultChecked);\n const checked = checkedProp ?? uncontrolled;\n const reduced = useReducedMotion() ?? false;\n const knobRef = useRef<HTMLSpanElement | null>(null);\n const drag = useRef<{ id: number; x: number; from: number; moved: boolean } | null>(null);\n const suppressClick = useRef(false);\n\n const position = useMotionValue(checked ? 1 : 0);\n const velocity = useVelocity(position);\n const gain = (stretch / 36) * 0.016;\n const limit = 1 + (stretch / 100) * 0.4;\n const scaleX = useTransform(velocity, (v) =>\n reduced ? 1 : Math.min(limit, 1 + Math.abs(v) * gain),\n );\n const scaleY = useTransform(scaleX, (x) => 2 - x);\n\n const stiffness = 150 + speed * 4;\n const damping = 2 * Math.sqrt(stiffness) * 0.85;\n\n function settle(target: number) {\n if (reduced) {\n position.jump(target);\n return;\n }\n void animate(position, target, {\n type: \"spring\",\n stiffness,\n damping,\n velocity: position.getVelocity(),\n });\n }\n\n // Any change of state — click, key, drag release or the controlled prop —\n // springs the knob to its side, carrying whatever velocity it already has.\n useEffect(() => {\n if (drag.current) return;\n const target = checked ? 1 : 0;\n if (position.get() === target) return;\n if (reduced) {\n position.jump(target);\n return;\n }\n const controls = animate(position, target, {\n type: \"spring\",\n stiffness,\n damping,\n velocity: position.getVelocity(),\n });\n return () => {\n controls.stop();\n };\n }, [checked, reduced, stiffness, damping, position]);\n\n function setChecked(next: boolean) {\n if (checkedProp === undefined) setUncontrolled(next);\n onCheckedChange?.(next);\n }\n\n /** Pixels of travel between the two sides, measured from the rendered track. */\n function travel(track: HTMLElement, rtl: boolean): number {\n const knob = knobRef.current;\n if (!knob) return 0;\n const width = track.clientWidth;\n // offsetLeft ignores the translate, so it is the resting inset.\n const inset = rtl ? width - knob.offsetLeft - knob.offsetWidth : knob.offsetLeft;\n return width - knob.offsetWidth - 2 * inset;\n }\n\n function handlePointerDown(event: PointerEvent<HTMLButtonElement>) {\n onPointerDown?.(event);\n if (disabled || event.button !== 0) return;\n drag.current = {\n id: event.pointerId,\n x: event.clientX,\n from: position.get(),\n moved: false,\n };\n event.currentTarget.setPointerCapture(event.pointerId);\n }\n\n function handlePointerMove(event: PointerEvent<HTMLButtonElement>) {\n onPointerMove?.(event);\n const current = drag.current;\n if (!current || current.id !== event.pointerId) return;\n const dx = event.clientX - current.x;\n if (!current.moved && Math.abs(dx) < DRAG_SLOP) return;\n current.moved = true;\n const rtl = getComputedStyle(event.currentTarget).direction === \"rtl\";\n const distance = travel(event.currentTarget, rtl);\n if (distance <= 0) return;\n const next = current.from + (rtl ? -dx : dx) / distance;\n position.set(Math.min(1, Math.max(0, next)));\n }\n\n function release(event: PointerEvent<HTMLButtonElement>, cancelled: boolean) {\n const current = drag.current;\n if (!current || current.id !== event.pointerId) return;\n drag.current = null;\n if (!current.moved) return;\n // A drag is not a tap: the click that follows pointerup must not toggle.\n suppressClick.current = !cancelled;\n const next = position.get() >= 0.5;\n if (next === checked) settle(next ? 1 : 0);\n else setChecked(next);\n }\n\n function handleClick(event: MouseEvent<HTMLButtonElement>) {\n onClick?.(event);\n if (suppressClick.current) {\n suppressClick.current = false;\n event.preventDefault();\n }\n }\n\n return (\n <MotionConfig reducedMotion=\"user\">\n <SwitchPrimitive.Root\n data-slot=\"liquid-toggle\"\n checked={checked}\n onCheckedChange={setChecked}\n disabled={disabled}\n className={cn(liquidToggleVariants({ size, stroke }), className)}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={(event) => {\n onPointerUp?.(event);\n release(event, false);\n }}\n onPointerCancel={(event) => {\n onPointerCancel?.(event);\n release(event, true);\n }}\n onClick={handleClick}\n {...props}\n >\n <motion.span\n ref={knobRef}\n aria-hidden=\"true\"\n data-slot=\"liquid-toggle-knob\"\n data-state={checked ? \"checked\" : \"unchecked\"}\n className={cn(\n \"pointer-events-none absolute start-[var(--liquid-toggle-inset)] top-1/2 size-[var(--liquid-toggle-knob)] rounded-full\",\n \"translate-x-[calc(var(--liquid-toggle-p)*var(--liquid-toggle-travel))] -translate-y-1/2\",\n \"rtl:translate-x-[calc(var(--liquid-toggle-p)*var(--liquid-toggle-travel)*-1)]\",\n \"bg-[color-mix(in_oklab,var(--color-foreground)_19%,var(--color-card))] data-[state=checked]:bg-card\",\n \"transition-[background-color] duration-[var(--duration-slow)]\",\n )}\n style={{ scaleX, scaleY, ...({ \"--liquid-toggle-p\": position } as MotionStyle) }}\n />\n </SwitchPrimitive.Root>\n </MotionConfig>\n );\n}\n\nexport { liquidToggleVariants };\n"],"mappings":";;;;;;;;;AA4CA,MAAM,uBAAuB,IAC3B,GACE,kFACA,8CACA,yGACA,mDACA,SACF,GACA;CACE,UAAU;EACR,MAAM;GACJ,IAAI;GACJ,IAAI;EACN;;EAEA,QAAQ;GACN,MAAM;GACN,OAAO;EACT;CACF;CACA,iBAAiB;EAAE,MAAM;EAAM,QAAQ;CAAK;AAC9C,CACF;;AAaA,MAAM,YAAY;;AAGlB,SAAgB,aAAa,EAC3B,WACA,MACA,QACA,QAAQ,IACR,UAAU,IACV,SAAS,aACT,iBAAiB,OACjB,iBACA,UACA,eACA,eACA,aACA,iBACA,SACA,GAAG,SACiB;CACpB,MAAM,CAAC,cAAc,mBAAmB,SAAS,cAAc;CAC/D,MAAM,UAAU,eAAe;CAC/B,MAAM,UAAU,iBAAiB,KAAK;CACtC,MAAM,UAAU,OAA+B,IAAI;CACnD,MAAM,OAAO,OAAuE,IAAI;CACxF,MAAM,gBAAgB,OAAO,KAAK;CAElC,MAAM,WAAW,eAAe,UAAU,IAAI,CAAC;CAC/C,MAAM,WAAW,YAAY,QAAQ;CACrC,MAAM,OAAQ,UAAU,KAAM;CAC9B,MAAM,QAAQ,IAAK,UAAU,MAAO;CACpC,MAAM,SAAS,aAAa,WAAW,MACrC,UAAU,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CACtD;CACA,MAAM,SAAS,aAAa,SAAS,MAAM,IAAI,CAAC;CAEhD,MAAM,YAAY,MAAM,QAAQ;CAChC,MAAM,UAAU,IAAI,KAAK,KAAK,SAAS,IAAI;CAE3C,SAAS,OAAO,QAAgB;EAC9B,IAAI,SAAS;GACX,SAAS,KAAK,MAAM;GACpB;EACF;EACA,QAAa,UAAU,QAAQ;GAC7B,MAAM;GACN;GACA;GACA,UAAU,SAAS,YAAY;EACjC,CAAC;CACH;CAIA,gBAAgB;EACd,IAAI,KAAK,SAAS;EAClB,MAAM,SAAS,UAAU,IAAI;EAC7B,IAAI,SAAS,IAAI,MAAM,QAAQ;EAC/B,IAAI,SAAS;GACX,SAAS,KAAK,MAAM;GACpB;EACF;EACA,MAAM,WAAW,QAAQ,UAAU,QAAQ;GACzC,MAAM;GACN;GACA;GACA,UAAU,SAAS,YAAY;EACjC,CAAC;EACD,aAAa;GACX,SAAS,KAAK;EAChB;CACF,GAAG;EAAC;EAAS;EAAS;EAAW;EAAS;CAAQ,CAAC;CAEnD,SAAS,WAAW,MAAe;EACjC,IAAI,gBAAgB,KAAA,GAAW,gBAAgB,IAAI;EACnD,kBAAkB,IAAI;CACxB;;CAGA,SAAS,OAAO,OAAoB,KAAsB;EACxD,MAAM,OAAO,QAAQ;EACrB,IAAI,CAAC,MAAM,OAAO;EAClB,MAAM,QAAQ,MAAM;EAEpB,MAAM,QAAQ,MAAM,QAAQ,KAAK,aAAa,KAAK,cAAc,KAAK;EACtE,OAAO,QAAQ,KAAK,cAAc,IAAI;CACxC;CAEA,SAAS,kBAAkB,OAAwC;EACjE,gBAAgB,KAAK;EACrB,IAAI,YAAY,MAAM,WAAW,GAAG;EACpC,KAAK,UAAU;GACb,IAAI,MAAM;GACV,GAAG,MAAM;GACT,MAAM,SAAS,IAAI;GACnB,OAAO;EACT;EACA,MAAM,cAAc,kBAAkB,MAAM,SAAS;CACvD;CAEA,SAAS,kBAAkB,OAAwC;EACjE,gBAAgB,KAAK;EACrB,MAAM,UAAU,KAAK;EACrB,IAAI,CAAC,WAAW,QAAQ,OAAO,MAAM,WAAW;EAChD,MAAM,KAAK,MAAM,UAAU,QAAQ;EACnC,IAAI,CAAC,QAAQ,SAAS,KAAK,IAAI,EAAE,IAAI,WAAW;EAChD,QAAQ,QAAQ;EAChB,MAAM,MAAM,iBAAiB,MAAM,aAAa,CAAC,CAAC,cAAc;EAChE,MAAM,WAAW,OAAO,MAAM,eAAe,GAAG;EAChD,IAAI,YAAY,GAAG;EACnB,MAAM,OAAO,QAAQ,QAAQ,MAAM,CAAC,KAAK,MAAM;EAC/C,SAAS,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC;CAC7C;CAEA,SAAS,QAAQ,OAAwC,WAAoB;EAC3E,MAAM,UAAU,KAAK;EACrB,IAAI,CAAC,WAAW,QAAQ,OAAO,MAAM,WAAW;EAChD,KAAK,UAAU;EACf,IAAI,CAAC,QAAQ,OAAO;EAEpB,cAAc,UAAU,CAAC;EACzB,MAAM,OAAO,SAAS,IAAI,KAAK;EAC/B,IAAI,SAAS,SAAS,OAAO,OAAO,IAAI,CAAC;OACpC,WAAW,IAAI;CACtB;CAEA,SAAS,YAAY,OAAsC;EACzD,UAAU,KAAK;EACf,IAAI,cAAc,SAAS;GACzB,cAAc,UAAU;GACxB,MAAM,eAAe;EACvB;CACF;CAEA,OACE,oBAAC,cAAD;EAAc,eAAc;EAC1B,UAAA,oBAACA,OAAgB,MAAjB;GACE,aAAU;GACD;GACT,iBAAiB;GACP;GACV,WAAW,GAAG,qBAAqB;IAAE;IAAM;GAAO,CAAC,GAAG,SAAS;GAC/D,eAAe;GACf,eAAe;GACf,cAAc,UAAU;IACtB,cAAc,KAAK;IACnB,QAAQ,OAAO,KAAK;GACtB;GACA,kBAAkB,UAAU;IAC1B,kBAAkB,KAAK;IACvB,QAAQ,OAAO,IAAI;GACrB;GACA,SAAS;GACT,GAAI;GAEJ,UAAA,oBAAC,OAAO,MAAR;IACE,KAAK;IACL,eAAY;IACZ,aAAU;IACV,cAAY,UAAU,YAAY;IAClC,WAAW,GACT,yHACA,2FACA,iFACA,uGACA,+DACF;IACA,OAAO;KAAE;KAAQ;KAAc,qBAAqB;IAA2B;GAChF,CAAA;EACmB,CAAA;CACV,CAAA;AAElB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/liquid-toggle/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "liquid-toggle",
|
|
5
|
+
title: "Liquid Toggle",
|
|
6
|
+
description: "A switch whose knob squashes like a droplet as it travels, and can be dragged across.",
|
|
7
|
+
category: "form",
|
|
8
|
+
status: "beta",
|
|
9
|
+
dependencies: [
|
|
10
|
+
"class-variance-authority",
|
|
11
|
+
"motion",
|
|
12
|
+
"radix-ui"
|
|
13
|
+
],
|
|
14
|
+
registryDependencies: [],
|
|
15
|
+
files: ["liquid-toggle.tsx"],
|
|
16
|
+
a11y: "Built on the Radix switch primitive: role=\"switch\" with aria-checked, toggled by click, Space or Enter, with a visible focus ring (missing in the source) and a hidden input inside forms. It has no visible label, so name it with aria-label or a <label>. Dragging the knob is a pointer convenience; releasing a drag never also counts as a click. Under reduced motion the knob jumps and never deforms."
|
|
17
|
+
});
|
|
18
|
+
//#endregion
|
|
19
|
+
export { meta };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.js","names":[],"sources":["../../../src/components/liquid-toggle/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"liquid-toggle\",\n title: \"Liquid Toggle\",\n description:\n \"A switch whose knob squashes like a droplet as it travels, and can be dragged across.\",\n category: \"form\",\n status: \"beta\",\n dependencies: [\"class-variance-authority\", \"motion\", \"radix-ui\"],\n registryDependencies: [],\n files: [\"liquid-toggle.tsx\"],\n a11y:\n 'Built on the Radix switch primitive: role=\"switch\" with aria-checked, toggled by click, Space or Enter, ' +\n \"with a visible focus ring (missing in the source) and a hidden input inside forms. It has no visible \" +\n \"label, so name it with aria-label or a <label>. Dragging the knob is a pointer convenience; releasing \" +\n \"a drag never also counts as a click. Under reduced motion the knob jumps and never deforms.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aACE;CACF,UAAU;CACV,QAAQ;CACR,cAAc;EAAC;EAA4B;EAAU;CAAU;CAC/D,sBAAsB,CAAC;CACvB,OAAO,CAAC,mBAAmB;CAC3B,MACE;AAIJ,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ButtonProps } from "../button/button.js";
|
|
2
|
+
import "../button/index.js";
|
|
3
|
+
//#region src/components/magnetic-button/magnetic-button.d.ts
|
|
4
|
+
interface MagneticButtonProps extends ButtonProps {
|
|
5
|
+
/**
|
|
6
|
+
* How far the button drifts toward the pointer, as a fraction of the
|
|
7
|
+
* pointer's distance from its centre. 0 turns the effect off.
|
|
8
|
+
*/
|
|
9
|
+
strength?: number;
|
|
10
|
+
/**
|
|
11
|
+
* The content's total pull, for a layered effect. Set it above `strength`
|
|
12
|
+
* and the label leans further than the button around it. Ignored with
|
|
13
|
+
* `asChild`, whose single child cannot be wrapped.
|
|
14
|
+
*/
|
|
15
|
+
contentStrength?: number;
|
|
16
|
+
/**
|
|
17
|
+
* How far beyond its edges, in pixels, the button starts to feel the
|
|
18
|
+
* pointer. The pull fades to nothing at this distance. 0 (the default) keeps
|
|
19
|
+
* the effect within the button's own bounds.
|
|
20
|
+
*/
|
|
21
|
+
radius?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A button that drifts toward the pointer and springs back when it leaves.
|
|
25
|
+
*
|
|
26
|
+
* Purely decorative: it never moves for touch, coarse pointers, or users who
|
|
27
|
+
* prefer reduced motion, and a disabled or loading button stays put.
|
|
28
|
+
*/
|
|
29
|
+
declare function MagneticButton({ className, strength, contentStrength, radius, asChild, disabled, loading, children, ref, onPointerMove, onPointerLeave, ...props }: MagneticButtonProps): import("react").JSX.Element;
|
|
30
|
+
//#endregion
|
|
31
|
+
export { MagneticButton, MagneticButtonProps };
|
|
32
|
+
//# sourceMappingURL=magnetic-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magnetic-button.d.ts","names":[],"sources":["../../../src/components/magnetic-button/magnetic-button.tsx"],"mappings":";;;UAsDiB,4BAA4B;;;;;EAK3C;;;;;;EAMA;;;;;;EAMA;;;;;;;;iBASc,iBACd,WACA,UACA,iBACA,QACA,SACA,UACA,SACA,UACA,KACA,eACA,mBACG,SACF,sCAAmB,IAAA"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../../lib/utils.js";
|
|
3
|
+
import { Button } from "../button/button.js";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { useCallback, useEffect, useRef } from "react";
|
|
6
|
+
//#region src/components/magnetic-button/magnetic-button.tsx
|
|
7
|
+
const drift = cn("group/magnetic", "transition-[transform,background-color,border-color,color,box-shadow]", "duration-[var(--duration-slow),var(--duration-fast),var(--duration-fast),var(--duration-fast),var(--duration-fast)]", "ease-[var(--ease-overshoot),var(--ease-out-quint),var(--ease-out-quint),var(--ease-out-quint),var(--ease-out-quint)]", "data-[magnetic=follow]:duration-[var(--duration-fast)] data-[magnetic=follow]:ease-[var(--ease-out-quint)]");
|
|
8
|
+
const contentDrift = cn("inline-flex items-center justify-center gap-[inherit]", "transition-transform duration-[var(--duration-slow)] ease-[var(--ease-overshoot)]", "group-data-[magnetic=follow]/magnetic:duration-[var(--duration-fast)] group-data-[magnetic=follow]/magnetic:ease-[var(--ease-out-quint)]");
|
|
9
|
+
/** Pointers the effect never runs for: touch has no hover to follow. */
|
|
10
|
+
function motionAllowed(pointerType) {
|
|
11
|
+
if (pointerType === "touch") return false;
|
|
12
|
+
if (typeof window.matchMedia !== "function") return true;
|
|
13
|
+
return !(window.matchMedia("(prefers-reduced-motion: reduce)").matches || window.matchMedia("(pointer: coarse)").matches);
|
|
14
|
+
}
|
|
15
|
+
function assignRef(ref, node) {
|
|
16
|
+
if (typeof ref === "function") ref(node);
|
|
17
|
+
else if (ref) ref.current = node;
|
|
18
|
+
}
|
|
19
|
+
function translate(x, y) {
|
|
20
|
+
return x === 0 && y === 0 ? "" : `translate3d(${String(x)}px, ${String(y)}px, 0)`;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A button that drifts toward the pointer and springs back when it leaves.
|
|
24
|
+
*
|
|
25
|
+
* Purely decorative: it never moves for touch, coarse pointers, or users who
|
|
26
|
+
* prefer reduced motion, and a disabled or loading button stays put.
|
|
27
|
+
*/
|
|
28
|
+
function MagneticButton({ className, strength = .35, contentStrength, radius = 0, asChild = false, disabled, loading, children, ref, onPointerMove, onPointerLeave, ...props }) {
|
|
29
|
+
const buttonRef = useRef(null);
|
|
30
|
+
const contentRef = useRef(null);
|
|
31
|
+
const offset = useRef({
|
|
32
|
+
x: 0,
|
|
33
|
+
y: 0
|
|
34
|
+
});
|
|
35
|
+
const layered = contentStrength !== void 0 && !asChild;
|
|
36
|
+
const inert = Boolean(disabled) || Boolean(loading) || strength === 0;
|
|
37
|
+
const setRef = useCallback((node) => {
|
|
38
|
+
buttonRef.current = node;
|
|
39
|
+
assignRef(ref, node);
|
|
40
|
+
}, [ref]);
|
|
41
|
+
const place = useCallback((x, y, following) => {
|
|
42
|
+
const element = buttonRef.current;
|
|
43
|
+
if (!element) return;
|
|
44
|
+
offset.current = {
|
|
45
|
+
x,
|
|
46
|
+
y
|
|
47
|
+
};
|
|
48
|
+
element.dataset.magnetic = following ? "follow" : "rest";
|
|
49
|
+
element.style.transform = translate(x, y);
|
|
50
|
+
if (contentRef.current && contentStrength !== void 0 && strength !== 0) {
|
|
51
|
+
const extra = contentStrength / strength - 1;
|
|
52
|
+
contentRef.current.style.transform = translate(x * extra, y * extra);
|
|
53
|
+
}
|
|
54
|
+
}, [contentStrength, strength]);
|
|
55
|
+
const release = useCallback(() => {
|
|
56
|
+
if (offset.current.x !== 0 || offset.current.y !== 0) place(0, 0, false);
|
|
57
|
+
}, [place]);
|
|
58
|
+
const pull = useCallback((clientX, clientY, pointerType) => {
|
|
59
|
+
const element = buttonRef.current;
|
|
60
|
+
if (!element || inert || !motionAllowed(pointerType)) {
|
|
61
|
+
release();
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const rect = element.getBoundingClientRect();
|
|
65
|
+
const halfWidth = rect.width / 2;
|
|
66
|
+
const halfHeight = rect.height / 2;
|
|
67
|
+
const dx = clientX - (rect.left - offset.current.x + halfWidth);
|
|
68
|
+
const dy = clientY - (rect.top - offset.current.y + halfHeight);
|
|
69
|
+
let factor = 1;
|
|
70
|
+
if (radius > 0) {
|
|
71
|
+
const outside = Math.hypot(Math.max(0, Math.abs(dx) - halfWidth), Math.max(0, Math.abs(dy) - halfHeight));
|
|
72
|
+
if (outside >= radius) {
|
|
73
|
+
release();
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
factor = 1 - outside / radius;
|
|
77
|
+
}
|
|
78
|
+
place(dx * strength * factor, dy * strength * factor, true);
|
|
79
|
+
}, [
|
|
80
|
+
inert,
|
|
81
|
+
place,
|
|
82
|
+
radius,
|
|
83
|
+
release,
|
|
84
|
+
strength
|
|
85
|
+
]);
|
|
86
|
+
useEffect(() => {
|
|
87
|
+
if (radius <= 0) return;
|
|
88
|
+
const onMove = (event) => {
|
|
89
|
+
pull(event.clientX, event.clientY, event.pointerType);
|
|
90
|
+
};
|
|
91
|
+
const root = document.documentElement;
|
|
92
|
+
window.addEventListener("pointermove", onMove, { passive: true });
|
|
93
|
+
root.addEventListener("pointerleave", release);
|
|
94
|
+
window.addEventListener("blur", release);
|
|
95
|
+
return () => {
|
|
96
|
+
window.removeEventListener("pointermove", onMove);
|
|
97
|
+
root.removeEventListener("pointerleave", release);
|
|
98
|
+
window.removeEventListener("blur", release);
|
|
99
|
+
};
|
|
100
|
+
}, [
|
|
101
|
+
pull,
|
|
102
|
+
radius,
|
|
103
|
+
release
|
|
104
|
+
]);
|
|
105
|
+
useEffect(() => {
|
|
106
|
+
if (inert) release();
|
|
107
|
+
}, [inert, release]);
|
|
108
|
+
function handlePointerMove(event) {
|
|
109
|
+
onPointerMove?.(event);
|
|
110
|
+
if (radius <= 0) pull(event.clientX, event.clientY, event.pointerType);
|
|
111
|
+
}
|
|
112
|
+
function handlePointerLeave(event) {
|
|
113
|
+
onPointerLeave?.(event);
|
|
114
|
+
if (radius <= 0) release();
|
|
115
|
+
}
|
|
116
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
117
|
+
ref: setRef,
|
|
118
|
+
"data-slot": "magnetic-button",
|
|
119
|
+
"data-magnetic": "rest",
|
|
120
|
+
asChild,
|
|
121
|
+
disabled,
|
|
122
|
+
loading,
|
|
123
|
+
className: cn(drift, className),
|
|
124
|
+
onPointerMove: handlePointerMove,
|
|
125
|
+
onPointerLeave: handlePointerLeave,
|
|
126
|
+
...props,
|
|
127
|
+
children: layered ? /* @__PURE__ */ jsx("span", {
|
|
128
|
+
ref: contentRef,
|
|
129
|
+
"data-slot": "magnetic-button-content",
|
|
130
|
+
className: contentDrift,
|
|
131
|
+
children
|
|
132
|
+
}) : children
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
//#endregion
|
|
136
|
+
export { MagneticButton };
|
|
137
|
+
|
|
138
|
+
//# sourceMappingURL=magnetic-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magnetic-button.js","names":[],"sources":["../../../src/components/magnetic-button/magnetic-button.tsx"],"sourcesContent":["\"use client\";\n\n// Ported from SmoothUI Magnetic Button (MIT, © 2024 Eduardo Calvo) and amicro \"Magnetic Field\" (MIT, © 2026 Syed Subhan Uddin). See THIRD_PARTY_NOTICES.md.\nimport { useCallback, useEffect, useRef, type PointerEvent, type Ref } from \"react\";\n\nimport { Button, type ButtonProps } from \"@/components/button\";\nimport { cn } from \"@/lib/utils\";\n\n/*\n * Both sources animate the offset with a JavaScript spring. Here the offset is\n * written straight to the element's style from pointermove — no React state,\n * so no re-render per move — and CSS transitions do the easing: a quick\n * ease-out while following, an overshooting ease on release, which is what the\n * springs were for.\n *\n * The transition lists name transform first so it can take its own timing:\n * colours keep Button's fast ease, only the drift gets the slow overshoot.\n */\n\n// Spelled out in full: Tailwind finds classes by scanning source text, so a\n// class assembled from template pieces would never be generated.\nconst drift = cn(\n \"group/magnetic\",\n \"transition-[transform,background-color,border-color,color,box-shadow]\",\n \"duration-[var(--duration-slow),var(--duration-fast),var(--duration-fast),var(--duration-fast),var(--duration-fast)]\",\n \"ease-[var(--ease-overshoot),var(--ease-out-quint),var(--ease-out-quint),var(--ease-out-quint),var(--ease-out-quint)]\",\n \"data-[magnetic=follow]:duration-[var(--duration-fast)] data-[magnetic=follow]:ease-[var(--ease-out-quint)]\",\n);\n\nconst contentDrift = cn(\n \"inline-flex items-center justify-center gap-[inherit]\",\n \"transition-transform duration-[var(--duration-slow)] ease-[var(--ease-overshoot)]\",\n \"group-data-[magnetic=follow]/magnetic:duration-[var(--duration-fast)] group-data-[magnetic=follow]/magnetic:ease-[var(--ease-out-quint)]\",\n);\n\n/** Pointers the effect never runs for: touch has no hover to follow. */\nfunction motionAllowed(pointerType: string): boolean {\n if (pointerType === \"touch\") return false;\n if (typeof window.matchMedia !== \"function\") return true;\n return !(\n window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches ||\n window.matchMedia(\"(pointer: coarse)\").matches\n );\n}\n\nfunction assignRef<T>(ref: Ref<T> | undefined, node: T | null) {\n if (typeof ref === \"function\") ref(node);\n else if (ref) ref.current = node;\n}\n\nfunction translate(x: number, y: number): string {\n return x === 0 && y === 0 ? \"\" : `translate3d(${String(x)}px, ${String(y)}px, 0)`;\n}\n\nexport interface MagneticButtonProps extends ButtonProps {\n /**\n * How far the button drifts toward the pointer, as a fraction of the\n * pointer's distance from its centre. 0 turns the effect off.\n */\n strength?: number;\n /**\n * The content's total pull, for a layered effect. Set it above `strength`\n * and the label leans further than the button around it. Ignored with\n * `asChild`, whose single child cannot be wrapped.\n */\n contentStrength?: number;\n /**\n * How far beyond its edges, in pixels, the button starts to feel the\n * pointer. The pull fades to nothing at this distance. 0 (the default) keeps\n * the effect within the button's own bounds.\n */\n radius?: number;\n}\n\n/**\n * A button that drifts toward the pointer and springs back when it leaves.\n *\n * Purely decorative: it never moves for touch, coarse pointers, or users who\n * prefer reduced motion, and a disabled or loading button stays put.\n */\nexport function MagneticButton({\n className,\n strength = 0.35,\n contentStrength,\n radius = 0,\n asChild = false,\n disabled,\n loading,\n children,\n ref,\n onPointerMove,\n onPointerLeave,\n ...props\n}: MagneticButtonProps) {\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n const contentRef = useRef<HTMLSpanElement | null>(null);\n const offset = useRef({ x: 0, y: 0 });\n const layered = contentStrength !== undefined && !asChild;\n const inert = Boolean(disabled) || Boolean(loading) || strength === 0;\n\n const setRef = useCallback(\n (node: HTMLButtonElement | null) => {\n buttonRef.current = node;\n assignRef(ref, node);\n },\n [ref],\n );\n\n const place = useCallback(\n (x: number, y: number, following: boolean) => {\n const element = buttonRef.current;\n if (!element) return;\n offset.current = { x, y };\n element.dataset.magnetic = following ? \"follow\" : \"rest\";\n element.style.transform = translate(x, y);\n if (contentRef.current && contentStrength !== undefined && strength !== 0) {\n const extra = contentStrength / strength - 1;\n contentRef.current.style.transform = translate(x * extra, y * extra);\n }\n },\n [contentStrength, strength],\n );\n\n const release = useCallback(() => {\n if (offset.current.x !== 0 || offset.current.y !== 0) place(0, 0, false);\n }, [place]);\n\n const pull = useCallback(\n (clientX: number, clientY: number, pointerType: string) => {\n const element = buttonRef.current;\n if (!element || inert || !motionAllowed(pointerType)) {\n release();\n return;\n }\n\n // Measure where the button sits at rest, not where it has drifted to,\n // or it would chase its own displacement.\n const rect = element.getBoundingClientRect();\n const halfWidth = rect.width / 2;\n const halfHeight = rect.height / 2;\n const dx = clientX - (rect.left - offset.current.x + halfWidth);\n const dy = clientY - (rect.top - offset.current.y + halfHeight);\n\n let factor = 1;\n if (radius > 0) {\n const outside = Math.hypot(\n Math.max(0, Math.abs(dx) - halfWidth),\n Math.max(0, Math.abs(dy) - halfHeight),\n );\n if (outside >= radius) {\n release();\n return;\n }\n factor = 1 - outside / radius;\n }\n\n place(dx * strength * factor, dy * strength * factor, true);\n },\n [inert, place, radius, release, strength],\n );\n\n // Beyond the bounds, the pointer is not over the button, so its own events\n // cannot see it. A passive window listener can, without widening the hit\n // area over neighbouring controls the way a padded wrapper would.\n useEffect(() => {\n if (radius <= 0) return;\n const onMove = (event: globalThis.PointerEvent) => {\n pull(event.clientX, event.clientY, event.pointerType);\n };\n const root = document.documentElement;\n window.addEventListener(\"pointermove\", onMove, { passive: true });\n root.addEventListener(\"pointerleave\", release);\n window.addEventListener(\"blur\", release);\n return () => {\n window.removeEventListener(\"pointermove\", onMove);\n root.removeEventListener(\"pointerleave\", release);\n window.removeEventListener(\"blur\", release);\n };\n }, [pull, radius, release]);\n\n // Becoming disabled mid-drift should not leave the button stranded.\n useEffect(() => {\n if (inert) release();\n }, [inert, release]);\n\n function handlePointerMove(event: PointerEvent<HTMLButtonElement>) {\n onPointerMove?.(event);\n if (radius <= 0) pull(event.clientX, event.clientY, event.pointerType);\n }\n\n function handlePointerLeave(event: PointerEvent<HTMLButtonElement>) {\n onPointerLeave?.(event);\n if (radius <= 0) release();\n }\n\n return (\n <Button\n ref={setRef}\n data-slot=\"magnetic-button\"\n data-magnetic=\"rest\"\n asChild={asChild}\n disabled={disabled}\n loading={loading}\n className={cn(drift, className)}\n onPointerMove={handlePointerMove}\n onPointerLeave={handlePointerLeave}\n {...props}\n >\n {layered ? (\n <span ref={contentRef} data-slot=\"magnetic-button-content\" className={contentDrift}>\n {children}\n </span>\n ) : (\n children\n )}\n </Button>\n );\n}\n"],"mappings":";;;;;;AAqBA,MAAM,QAAQ,GACZ,kBACA,yEACA,uHACA,wHACA,4GACF;AAEA,MAAM,eAAe,GACnB,yDACA,qFACA,0IACF;;AAGA,SAAS,cAAc,aAA8B;CACnD,IAAI,gBAAgB,SAAS,OAAO;CACpC,IAAI,OAAO,OAAO,eAAe,YAAY,OAAO;CACpD,OAAO,EACL,OAAO,WAAW,kCAAkC,CAAC,CAAC,WACtD,OAAO,WAAW,mBAAmB,CAAC,CAAC;AAE3C;AAEA,SAAS,UAAa,KAAyB,MAAgB;CAC7D,IAAI,OAAO,QAAQ,YAAY,IAAI,IAAI;MAClC,IAAI,KAAK,IAAI,UAAU;AAC9B;AAEA,SAAS,UAAU,GAAW,GAAmB;CAC/C,OAAO,MAAM,KAAK,MAAM,IAAI,KAAK,eAAe,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,EAAE;AAC5E;;;;;;;AA4BA,SAAgB,eAAe,EAC7B,WACA,WAAW,KACX,iBACA,SAAS,GACT,UAAU,OACV,UACA,SACA,UACA,KACA,eACA,gBACA,GAAG,SACmB;CACtB,MAAM,YAAY,OAAiC,IAAI;CACvD,MAAM,aAAa,OAA+B,IAAI;CACtD,MAAM,SAAS,OAAO;EAAE,GAAG;EAAG,GAAG;CAAE,CAAC;CACpC,MAAM,UAAU,oBAAoB,KAAA,KAAa,CAAC;CAClD,MAAM,QAAQ,QAAQ,QAAQ,KAAK,QAAQ,OAAO,KAAK,aAAa;CAEpE,MAAM,SAAS,aACZ,SAAmC;EAClC,UAAU,UAAU;EACpB,UAAU,KAAK,IAAI;CACrB,GACA,CAAC,GAAG,CACN;CAEA,MAAM,QAAQ,aACX,GAAW,GAAW,cAAuB;EAC5C,MAAM,UAAU,UAAU;EAC1B,IAAI,CAAC,SAAS;EACd,OAAO,UAAU;GAAE;GAAG;EAAE;EACxB,QAAQ,QAAQ,WAAW,YAAY,WAAW;EAClD,QAAQ,MAAM,YAAY,UAAU,GAAG,CAAC;EACxC,IAAI,WAAW,WAAW,oBAAoB,KAAA,KAAa,aAAa,GAAG;GACzE,MAAM,QAAQ,kBAAkB,WAAW;GAC3C,WAAW,QAAQ,MAAM,YAAY,UAAU,IAAI,OAAO,IAAI,KAAK;EACrE;CACF,GACA,CAAC,iBAAiB,QAAQ,CAC5B;CAEA,MAAM,UAAU,kBAAkB;EAChC,IAAI,OAAO,QAAQ,MAAM,KAAK,OAAO,QAAQ,MAAM,GAAG,MAAM,GAAG,GAAG,KAAK;CACzE,GAAG,CAAC,KAAK,CAAC;CAEV,MAAM,OAAO,aACV,SAAiB,SAAiB,gBAAwB;EACzD,MAAM,UAAU,UAAU;EAC1B,IAAI,CAAC,WAAW,SAAS,CAAC,cAAc,WAAW,GAAG;GACpD,QAAQ;GACR;EACF;EAIA,MAAM,OAAO,QAAQ,sBAAsB;EAC3C,MAAM,YAAY,KAAK,QAAQ;EAC/B,MAAM,aAAa,KAAK,SAAS;EACjC,MAAM,KAAK,WAAW,KAAK,OAAO,OAAO,QAAQ,IAAI;EACrD,MAAM,KAAK,WAAW,KAAK,MAAM,OAAO,QAAQ,IAAI;EAEpD,IAAI,SAAS;EACb,IAAI,SAAS,GAAG;GACd,MAAM,UAAU,KAAK,MACnB,KAAK,IAAI,GAAG,KAAK,IAAI,EAAE,IAAI,SAAS,GACpC,KAAK,IAAI,GAAG,KAAK,IAAI,EAAE,IAAI,UAAU,CACvC;GACA,IAAI,WAAW,QAAQ;IACrB,QAAQ;IACR;GACF;GACA,SAAS,IAAI,UAAU;EACzB;EAEA,MAAM,KAAK,WAAW,QAAQ,KAAK,WAAW,QAAQ,IAAI;CAC5D,GACA;EAAC;EAAO;EAAO;EAAQ;EAAS;CAAQ,CAC1C;CAKA,gBAAgB;EACd,IAAI,UAAU,GAAG;EACjB,MAAM,UAAU,UAAmC;GACjD,KAAK,MAAM,SAAS,MAAM,SAAS,MAAM,WAAW;EACtD;EACA,MAAM,OAAO,SAAS;EACtB,OAAO,iBAAiB,eAAe,QAAQ,EAAE,SAAS,KAAK,CAAC;EAChE,KAAK,iBAAiB,gBAAgB,OAAO;EAC7C,OAAO,iBAAiB,QAAQ,OAAO;EACvC,aAAa;GACX,OAAO,oBAAoB,eAAe,MAAM;GAChD,KAAK,oBAAoB,gBAAgB,OAAO;GAChD,OAAO,oBAAoB,QAAQ,OAAO;EAC5C;CACF,GAAG;EAAC;EAAM;EAAQ;CAAO,CAAC;CAG1B,gBAAgB;EACd,IAAI,OAAO,QAAQ;CACrB,GAAG,CAAC,OAAO,OAAO,CAAC;CAEnB,SAAS,kBAAkB,OAAwC;EACjE,gBAAgB,KAAK;EACrB,IAAI,UAAU,GAAG,KAAK,MAAM,SAAS,MAAM,SAAS,MAAM,WAAW;CACvE;CAEA,SAAS,mBAAmB,OAAwC;EAClE,iBAAiB,KAAK;EACtB,IAAI,UAAU,GAAG,QAAQ;CAC3B;CAEA,OACE,oBAAC,QAAD;EACE,KAAK;EACL,aAAU;EACV,iBAAc;EACL;EACC;EACD;EACT,WAAW,GAAG,OAAO,SAAS;EAC9B,eAAe;EACf,gBAAgB;EAChB,GAAI;EAEH,UAAA,UACC,oBAAC,QAAD;GAAM,KAAK;GAAY,aAAU;GAA0B,WAAW;GACnE;EACG,CAAA,IAEN;CAEI,CAAA;AAEZ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/magnetic-button/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "magnetic-button",
|
|
5
|
+
title: "Magnetic Button",
|
|
6
|
+
description: "A button that drifts toward the pointer — optionally with its label leaning further — and springs back when it leaves.",
|
|
7
|
+
category: "form",
|
|
8
|
+
status: "beta",
|
|
9
|
+
dependencies: [],
|
|
10
|
+
registryDependencies: ["button"],
|
|
11
|
+
files: ["magnetic-button.tsx"],
|
|
12
|
+
a11y: "The drift is decoration on an ordinary Button: name, role and keyboard behaviour are unchanged. It never runs for touch or coarse pointers, or under prefers-reduced-motion, and a disabled or loading button stays put. The `radius` option listens on the window rather than widening the hit area, so it never steals clicks from neighbouring controls."
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { meta };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.js","names":[],"sources":["../../../src/components/magnetic-button/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"magnetic-button\",\n title: \"Magnetic Button\",\n description:\n \"A button that drifts toward the pointer — optionally with its label leaning further — and springs back when it leaves.\",\n category: \"form\",\n status: \"beta\",\n dependencies: [],\n registryDependencies: [\"button\"],\n files: [\"magnetic-button.tsx\"],\n a11y:\n \"The drift is decoration on an ordinary Button: name, role and keyboard behaviour are \" +\n \"unchanged. It never runs for touch or coarse pointers, or under prefers-reduced-motion, \" +\n \"and a disabled or loading button stays put. The `radius` option listens on the window \" +\n \"rather than widening the hit area, so it never steals clicks from neighbouring controls.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aACE;CACF,UAAU;CACV,QAAQ;CACR,cAAc,CAAC;CACf,sBAAsB,CAAC,QAAQ;CAC/B,OAAO,CAAC,qBAAqB;CAC7B,MACE;AAIJ,CAAC"}
|