@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,243 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { focusRing } from "../../lib/styles.js";
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import { Avatar, AvatarFallback, AvatarImage } from "../avatar/avatar.js";
|
|
5
|
+
import { Skeleton } from "../skeleton/skeleton.js";
|
|
6
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { cva } from "class-variance-authority";
|
|
8
|
+
import { useId } from "react";
|
|
9
|
+
//#region src/components/tweet-card/tweet-card.tsx
|
|
10
|
+
const tweetCardVariants = cva(cn("group/tweet relative flex flex-col gap-6 overflow-hidden rounded-xl border border-border bg-card p-6 text-card-foreground", "transition-[border-color,box-shadow] duration-[var(--duration-normal)] ease-[var(--ease-out-quint)] hover:shadow-md"));
|
|
11
|
+
/** The avatar's corner shape — the source's `avatarRounded`. */
|
|
12
|
+
const tweetCardAvatarVariants = cva("size-10", {
|
|
13
|
+
variants: { avatarShape: {
|
|
14
|
+
circle: "rounded-full",
|
|
15
|
+
rounded: "rounded",
|
|
16
|
+
"rounded-md": "rounded-md",
|
|
17
|
+
"rounded-lg": "rounded-lg"
|
|
18
|
+
} },
|
|
19
|
+
defaultVariants: { avatarShape: "rounded" }
|
|
20
|
+
});
|
|
21
|
+
const ENTITY = /(https?:\/\/[^\s]+|@\w{1,15}|#[\p{L}\p{N}_]+)/gu;
|
|
22
|
+
const linkStyles = cn("rounded-sm font-medium text-primary underline-offset-4 hover:underline", focusRing);
|
|
23
|
+
/** Splits plain text into text and links, as react-tweet's entities did. */
|
|
24
|
+
function linkify(text) {
|
|
25
|
+
return text.split(ENTITY).map((part, index) => {
|
|
26
|
+
if (index % 2 === 0) return part;
|
|
27
|
+
const href = part.startsWith("@") ? `https://x.com/${part.slice(1)}` : part.startsWith("#") ? `https://x.com/hashtag/${encodeURIComponent(part.slice(1))}` : part;
|
|
28
|
+
return /* @__PURE__ */ jsx("a", {
|
|
29
|
+
href,
|
|
30
|
+
target: "_blank",
|
|
31
|
+
rel: "noopener noreferrer",
|
|
32
|
+
className: linkStyles,
|
|
33
|
+
children: part
|
|
34
|
+
}, index);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function initials(name) {
|
|
38
|
+
return name.split(/\s+/).filter(Boolean).slice(0, 2).map((word) => word[0]?.toUpperCase()).join("");
|
|
39
|
+
}
|
|
40
|
+
/** Truncates a long handle, as the source did at 16 characters. */
|
|
41
|
+
function truncate(value, length) {
|
|
42
|
+
return value.length <= length ? value : `${value.slice(0, length - 1)}…`;
|
|
43
|
+
}
|
|
44
|
+
function VerifiedBadge() {
|
|
45
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
46
|
+
viewBox: "0 0 24 24",
|
|
47
|
+
"aria-hidden": "true",
|
|
48
|
+
"data-slot": "tweet-card-verified",
|
|
49
|
+
className: "size-4 shrink-0 text-primary",
|
|
50
|
+
children: [/* @__PURE__ */ jsx("path", {
|
|
51
|
+
fill: "currentColor",
|
|
52
|
+
d: "M22.5 12.5c0-1.58-.88-2.95-2.18-3.65.16-.44.25-.92.25-1.43 0-2.21-1.71-4-3.83-4-.47 0-.93.09-1.35.25C14.8 2.37 13.5 1.5 12 1.5s-2.8.87-3.39 2.17a3.7 3.7 0 0 0-1.35-.25c-2.12 0-3.83 1.79-3.83 4 0 .51.09.99.25 1.43A4.1 4.1 0 0 0 1.5 12.5c0 1.5.8 2.8 1.98 3.52-.02.15-.03.3-.03.46 0 2.21 1.71 4 3.83 4 .47 0 .93-.09 1.35-.25.59 1.3 1.88 2.17 3.37 2.17s2.78-.87 3.37-2.17c.42.16.88.25 1.35.25 2.12 0 3.83-1.79 3.83-4 0-.16-.01-.31-.03-.46a4.1 4.1 0 0 0 1.98-3.52Z"
|
|
53
|
+
}), /* @__PURE__ */ jsx("path", {
|
|
54
|
+
d: "m8.5 12.5 2.5 2.5 4.5-5",
|
|
55
|
+
fill: "none",
|
|
56
|
+
stroke: "var(--color-primary-foreground)",
|
|
57
|
+
strokeWidth: "2",
|
|
58
|
+
strokeLinecap: "round",
|
|
59
|
+
strokeLinejoin: "round"
|
|
60
|
+
})]
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function MediaGrid({ media }) {
|
|
64
|
+
const photos = media.slice(0, 4);
|
|
65
|
+
const image = (photo, className) => /* @__PURE__ */ jsx("img", {
|
|
66
|
+
src: photo.src,
|
|
67
|
+
alt: photo.alt,
|
|
68
|
+
width: photo.width,
|
|
69
|
+
height: photo.height,
|
|
70
|
+
loading: "lazy",
|
|
71
|
+
draggable: false,
|
|
72
|
+
className: cn("size-full rounded-xl border border-border object-cover", className)
|
|
73
|
+
}, photo.src);
|
|
74
|
+
return /* @__PURE__ */ jsx("div", {
|
|
75
|
+
"data-slot": "tweet-card-media",
|
|
76
|
+
className: cn("grid w-full gap-2", photos.length > 1 && "grid-cols-2"),
|
|
77
|
+
children: photos.map((photo, index) => image(photo, index === 0 && photos.length === 3 ? "row-span-2" : void 0))
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
const METRICS = [
|
|
81
|
+
{
|
|
82
|
+
key: "replies",
|
|
83
|
+
label: "replies",
|
|
84
|
+
path: "M21 11.5a8.4 8.4 0 0 1-9 8.5 9 9 0 0 1-3.8-.8L3 21l1.8-4.7A8.4 8.4 0 0 1 3 11.5 8.4 8.4 0 0 1 12 3a8.4 8.4 0 0 1 9 8.5Z"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
key: "reposts",
|
|
88
|
+
label: "reposts",
|
|
89
|
+
path: "m17 2 4 4-4 4M3 11V9a3 3 0 0 1 3-3h15M7 22l-4-4 4-4m14-1v2a3 3 0 0 1-3 3H3"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
key: "likes",
|
|
93
|
+
label: "likes",
|
|
94
|
+
path: "M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.8 0-3 .5-4.5 2-1.5-1.5-2.7-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
key: "views",
|
|
98
|
+
label: "views",
|
|
99
|
+
path: "M3 3v18h18M7 16V9m5 7V5m5 11v-4"
|
|
100
|
+
}
|
|
101
|
+
];
|
|
102
|
+
/** A social post rendered from props — no network, no embed script. */
|
|
103
|
+
function TweetCard({ className, author, text, media, timestamp, metrics, href, userInfoPosition = "bottom", avatarShape, locale, linkLabel = "View post on X", id, ...props }) {
|
|
104
|
+
const uid = useId();
|
|
105
|
+
const nameId = `${id ?? uid}-author`;
|
|
106
|
+
const date = timestamp === void 0 ? void 0 : new Date(timestamp);
|
|
107
|
+
const validDate = date && !Number.isNaN(date.getTime()) ? date : void 0;
|
|
108
|
+
const count = new Intl.NumberFormat(locale, { notation: "compact" });
|
|
109
|
+
const shown = METRICS.filter(({ key }) => metrics?.[key] !== void 0);
|
|
110
|
+
const userInfo = /* @__PURE__ */ jsxs("div", {
|
|
111
|
+
"data-slot": "tweet-card-author",
|
|
112
|
+
className: "flex items-center gap-2",
|
|
113
|
+
children: [/* @__PURE__ */ jsx("a", {
|
|
114
|
+
href: author.href ?? `https://x.com/${author.handle}`,
|
|
115
|
+
target: "_blank",
|
|
116
|
+
rel: "noopener noreferrer",
|
|
117
|
+
tabIndex: -1,
|
|
118
|
+
"aria-hidden": "true",
|
|
119
|
+
className: "shrink-0",
|
|
120
|
+
children: /* @__PURE__ */ jsxs(Avatar, {
|
|
121
|
+
className: tweetCardAvatarVariants({ avatarShape }),
|
|
122
|
+
children: [author.avatar ? /* @__PURE__ */ jsx(AvatarImage, {
|
|
123
|
+
src: author.avatar,
|
|
124
|
+
alt: ""
|
|
125
|
+
}) : null, /* @__PURE__ */ jsx(AvatarFallback, {
|
|
126
|
+
className: "rounded-[inherit]",
|
|
127
|
+
children: initials(author.name)
|
|
128
|
+
})]
|
|
129
|
+
})
|
|
130
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
131
|
+
className: "min-w-0",
|
|
132
|
+
children: [/* @__PURE__ */ jsxs("p", {
|
|
133
|
+
className: "flex items-center gap-1 text-sm font-semibold tracking-tight",
|
|
134
|
+
children: [/* @__PURE__ */ jsx("a", {
|
|
135
|
+
id: nameId,
|
|
136
|
+
href: author.href ?? `https://x.com/${author.handle}`,
|
|
137
|
+
target: "_blank",
|
|
138
|
+
rel: "noopener noreferrer",
|
|
139
|
+
className: cn("truncate rounded-sm hover:underline", focusRing),
|
|
140
|
+
children: author.name
|
|
141
|
+
}), author.verified ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(VerifiedBadge, {}), /* @__PURE__ */ jsx("span", {
|
|
142
|
+
className: "sr-only",
|
|
143
|
+
children: "Verified account"
|
|
144
|
+
})] }) : null]
|
|
145
|
+
}), /* @__PURE__ */ jsxs("p", {
|
|
146
|
+
className: "text-xs text-muted-foreground",
|
|
147
|
+
children: ["@", truncate(author.handle, 16)]
|
|
148
|
+
})]
|
|
149
|
+
})]
|
|
150
|
+
});
|
|
151
|
+
return /* @__PURE__ */ jsxs("article", {
|
|
152
|
+
id,
|
|
153
|
+
"data-slot": "tweet-card",
|
|
154
|
+
"aria-labelledby": nameId,
|
|
155
|
+
className: cn(tweetCardVariants(), className),
|
|
156
|
+
...props,
|
|
157
|
+
children: [
|
|
158
|
+
userInfoPosition === "top" ? userInfo : null,
|
|
159
|
+
/* @__PURE__ */ jsx("blockquote", {
|
|
160
|
+
"data-slot": "tweet-card-text",
|
|
161
|
+
cite: href,
|
|
162
|
+
className: "text-sm tracking-tight text-balance whitespace-pre-line",
|
|
163
|
+
children: typeof text === "string" ? linkify(text) : text
|
|
164
|
+
}),
|
|
165
|
+
media && media.length > 0 ? /* @__PURE__ */ jsx(MediaGrid, { media }) : null,
|
|
166
|
+
validDate || shown.length > 0 ? /* @__PURE__ */ jsxs("div", {
|
|
167
|
+
className: "flex flex-wrap items-center gap-x-4 gap-y-2 text-xs text-muted-foreground",
|
|
168
|
+
children: [validDate ? /* @__PURE__ */ jsx("time", {
|
|
169
|
+
dateTime: validDate.toISOString(),
|
|
170
|
+
children: validDate.toLocaleDateString(locale, {
|
|
171
|
+
year: "numeric",
|
|
172
|
+
month: "short",
|
|
173
|
+
day: "numeric"
|
|
174
|
+
})
|
|
175
|
+
}) : null, shown.length > 0 ? /* @__PURE__ */ jsx("ul", {
|
|
176
|
+
"data-slot": "tweet-card-metrics",
|
|
177
|
+
className: "flex items-center gap-4",
|
|
178
|
+
children: shown.map(({ key, label, path }) => /* @__PURE__ */ jsxs("li", {
|
|
179
|
+
className: "flex items-center gap-1",
|
|
180
|
+
children: [
|
|
181
|
+
/* @__PURE__ */ jsx("svg", {
|
|
182
|
+
viewBox: "0 0 24 24",
|
|
183
|
+
fill: "none",
|
|
184
|
+
stroke: "currentColor",
|
|
185
|
+
strokeWidth: "2",
|
|
186
|
+
strokeLinecap: "round",
|
|
187
|
+
strokeLinejoin: "round",
|
|
188
|
+
"aria-hidden": "true",
|
|
189
|
+
className: "size-3.5",
|
|
190
|
+
children: /* @__PURE__ */ jsx("path", { d: path })
|
|
191
|
+
}),
|
|
192
|
+
/* @__PURE__ */ jsx("span", {
|
|
193
|
+
"aria-hidden": "true",
|
|
194
|
+
children: count.format(metrics?.[key] ?? 0)
|
|
195
|
+
}),
|
|
196
|
+
/* @__PURE__ */ jsx("span", {
|
|
197
|
+
className: "sr-only",
|
|
198
|
+
children: `${String(metrics?.[key] ?? 0)} ${label}`
|
|
199
|
+
})
|
|
200
|
+
]
|
|
201
|
+
}, key))
|
|
202
|
+
}) : null]
|
|
203
|
+
}) : null,
|
|
204
|
+
userInfoPosition === "bottom" ? userInfo : null,
|
|
205
|
+
href ? /* @__PURE__ */ jsx("a", {
|
|
206
|
+
href,
|
|
207
|
+
target: "_blank",
|
|
208
|
+
rel: "noopener noreferrer",
|
|
209
|
+
"aria-label": linkLabel,
|
|
210
|
+
"data-slot": "tweet-card-link",
|
|
211
|
+
className: cn("absolute end-6 bottom-6 z-10 grid size-8 place-items-center rounded-full border border-border bg-primary text-primary-foreground", "opacity-0 transition-[opacity,scale] duration-[var(--duration-normal)] ease-[var(--ease-out-quint)]", "group-hover/tweet:opacity-100 hover:scale-110 focus-visible:opacity-100 [@media(hover:none)]:opacity-100", focusRing),
|
|
212
|
+
children: /* @__PURE__ */ jsx("svg", {
|
|
213
|
+
viewBox: "0 0 24 24",
|
|
214
|
+
fill: "none",
|
|
215
|
+
stroke: "currentColor",
|
|
216
|
+
strokeWidth: "2",
|
|
217
|
+
strokeLinecap: "round",
|
|
218
|
+
strokeLinejoin: "round",
|
|
219
|
+
"aria-hidden": "true",
|
|
220
|
+
className: "size-4",
|
|
221
|
+
children: /* @__PURE__ */ jsx("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6M15 3h6v6M10 14 21 3" })
|
|
222
|
+
})
|
|
223
|
+
}) : null
|
|
224
|
+
]
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
/** Placeholder while a post loads — the source's TweetSkeleton. */
|
|
228
|
+
function TweetCardSkeleton({ className, ...props }) {
|
|
229
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
230
|
+
"data-slot": "tweet-card-skeleton",
|
|
231
|
+
"aria-hidden": "true",
|
|
232
|
+
className: cn("flex w-full flex-col gap-2 rounded-xl border border-border p-4", className),
|
|
233
|
+
...props,
|
|
234
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
235
|
+
className: "flex gap-2",
|
|
236
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "size-10 shrink-0 rounded-full" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-10 w-full" })]
|
|
237
|
+
}), /* @__PURE__ */ jsx(Skeleton, { className: "h-20 w-full" })]
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
//#endregion
|
|
241
|
+
export { TweetCard, TweetCardSkeleton, truncate, tweetCardAvatarVariants, tweetCardVariants };
|
|
242
|
+
|
|
243
|
+
//# sourceMappingURL=tweet-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tweet-card.js","names":[],"sources":["../../../src/components/tweet-card/tweet-card.tsx"],"sourcesContent":["\"use client\";\n\n// Ported from SmoothUI Tweet Card (MIT, © 2024 Eduardo Calvo). See THIRD_PARTY_NOTICES.md.\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { useId, type ComponentPropsWithRef, type ReactNode } from \"react\";\n\nimport { Avatar, AvatarFallback, AvatarImage } from \"@/components/avatar\";\nimport { Skeleton } from \"@/components/skeleton\";\nimport { focusRing } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\n/*\n * A post, drawn from props. The source fetched it with react-tweet; this\n * never touches the network, so it renders on the server, in a static\n * export and in a test, and the data can come from any API — or be written\n * by hand for a testimonial wall.\n *\n * The source's \"open\" control was a button calling window.open that only\n * appeared on hover. Here it is a real link, revealed on hover *and* on\n * keyboard focus, and always visible on devices that cannot hover.\n */\n\nconst tweetCardVariants = cva(\n cn(\n \"group/tweet relative flex flex-col gap-6 overflow-hidden rounded-xl border border-border bg-card p-6 text-card-foreground\",\n \"transition-[border-color,box-shadow] duration-[var(--duration-normal)] ease-[var(--ease-out-quint)] hover:shadow-md\",\n ),\n);\n\n/** The avatar's corner shape — the source's `avatarRounded`. */\nconst tweetCardAvatarVariants = cva(\"size-10\", {\n variants: {\n avatarShape: {\n circle: \"rounded-full\",\n rounded: \"rounded\",\n \"rounded-md\": \"rounded-md\",\n \"rounded-lg\": \"rounded-lg\",\n },\n },\n defaultVariants: {\n avatarShape: \"rounded\",\n },\n});\n\nexport interface TweetCardAuthor {\n name: string;\n /** Without the leading \"@\". */\n handle: string;\n /** Image URL. Initials are shown while it loads and if it fails. */\n avatar?: string;\n verified?: boolean;\n /** Profile URL. Defaults to the handle on x.com. */\n href?: string;\n}\n\nexport interface TweetCardMedia {\n src: string;\n /** Describe the image; an empty string marks it decorative. */\n alt: string;\n width?: number;\n height?: number;\n}\n\nexport interface TweetCardMetrics {\n replies?: number;\n reposts?: number;\n likes?: number;\n views?: number;\n}\n\nexport interface TweetCardProps\n extends\n Omit<ComponentPropsWithRef<\"article\">, \"children\">,\n VariantProps<typeof tweetCardAvatarVariants> {\n author: TweetCardAuthor;\n /** A string is linked: URLs, @mentions and #hashtags. Pass nodes to control it. */\n text: ReactNode;\n /** Up to four photos, laid out as the source did. */\n media?: TweetCardMedia[];\n timestamp?: Date | string;\n metrics?: TweetCardMetrics;\n /** The post's URL. Adds the \"view post\" link. */\n href?: string;\n /** Where the author sits. */\n userInfoPosition?: \"top\" | \"bottom\";\n /** BCP 47 locale for the date and counts. */\n locale?: string;\n /** Name of the link to the post. */\n linkLabel?: string;\n}\n\nconst ENTITY = /(https?:\\/\\/[^\\s]+|@\\w{1,15}|#[\\p{L}\\p{N}_]+)/gu;\n\nconst linkStyles = cn(\n \"rounded-sm font-medium text-primary underline-offset-4 hover:underline\",\n focusRing,\n);\n\n/** Splits plain text into text and links, as react-tweet's entities did. */\nfunction linkify(text: string): ReactNode[] {\n return text.split(ENTITY).map((part, index) => {\n if (index % 2 === 0) return part;\n const href = part.startsWith(\"@\")\n ? `https://x.com/${part.slice(1)}`\n : part.startsWith(\"#\")\n ? `https://x.com/hashtag/${encodeURIComponent(part.slice(1))}`\n : part;\n return (\n <a\n key={index}\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={linkStyles}\n >\n {part}\n </a>\n );\n });\n}\n\nfunction initials(name: string): string {\n return name\n .split(/\\s+/)\n .filter(Boolean)\n .slice(0, 2)\n .map((word) => word[0]?.toUpperCase())\n .join(\"\");\n}\n\n/** Truncates a long handle, as the source did at 16 characters. */\nexport function truncate(value: string, length: number): string {\n return value.length <= length ? value : `${value.slice(0, length - 1)}…`;\n}\n\nfunction VerifiedBadge() {\n return (\n <svg\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n data-slot=\"tweet-card-verified\"\n className=\"size-4 shrink-0 text-primary\"\n >\n <path\n fill=\"currentColor\"\n d=\"M22.5 12.5c0-1.58-.88-2.95-2.18-3.65.16-.44.25-.92.25-1.43 0-2.21-1.71-4-3.83-4-.47 0-.93.09-1.35.25C14.8 2.37 13.5 1.5 12 1.5s-2.8.87-3.39 2.17a3.7 3.7 0 0 0-1.35-.25c-2.12 0-3.83 1.79-3.83 4 0 .51.09.99.25 1.43A4.1 4.1 0 0 0 1.5 12.5c0 1.5.8 2.8 1.98 3.52-.02.15-.03.3-.03.46 0 2.21 1.71 4 3.83 4 .47 0 .93-.09 1.35-.25.59 1.3 1.88 2.17 3.37 2.17s2.78-.87 3.37-2.17c.42.16.88.25 1.35.25 2.12 0 3.83-1.79 3.83-4 0-.16-.01-.31-.03-.46a4.1 4.1 0 0 0 1.98-3.52Z\"\n />\n <path\n d=\"m8.5 12.5 2.5 2.5 4.5-5\"\n fill=\"none\"\n stroke=\"var(--color-primary-foreground)\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n}\n\nfunction MediaGrid({ media }: { media: TweetCardMedia[] }) {\n const photos = media.slice(0, 4);\n const image = (photo: TweetCardMedia, className?: string) => (\n <img\n key={photo.src}\n src={photo.src}\n alt={photo.alt}\n width={photo.width}\n height={photo.height}\n loading=\"lazy\"\n draggable={false}\n className={cn(\"size-full rounded-xl border border-border object-cover\", className)}\n />\n );\n return (\n <div\n data-slot=\"tweet-card-media\"\n className={cn(\"grid w-full gap-2\", photos.length > 1 && \"grid-cols-2\")}\n >\n {photos.map((photo, index) =>\n image(photo, index === 0 && photos.length === 3 ? \"row-span-2\" : undefined),\n )}\n </div>\n );\n}\n\nconst METRICS: { key: keyof TweetCardMetrics; label: string; path: string }[] = [\n {\n key: \"replies\",\n label: \"replies\",\n path: \"M21 11.5a8.4 8.4 0 0 1-9 8.5 9 9 0 0 1-3.8-.8L3 21l1.8-4.7A8.4 8.4 0 0 1 3 11.5 8.4 8.4 0 0 1 12 3a8.4 8.4 0 0 1 9 8.5Z\",\n },\n {\n key: \"reposts\",\n label: \"reposts\",\n path: \"m17 2 4 4-4 4M3 11V9a3 3 0 0 1 3-3h15M7 22l-4-4 4-4m14-1v2a3 3 0 0 1-3 3H3\",\n },\n {\n key: \"likes\",\n label: \"likes\",\n path: \"M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.8 0-3 .5-4.5 2-1.5-1.5-2.7-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z\",\n },\n { key: \"views\", label: \"views\", path: \"M3 3v18h18M7 16V9m5 7V5m5 11v-4\" },\n];\n\n/** A social post rendered from props — no network, no embed script. */\nexport function TweetCard({\n className,\n author,\n text,\n media,\n timestamp,\n metrics,\n href,\n userInfoPosition = \"bottom\",\n avatarShape,\n locale,\n linkLabel = \"View post on X\",\n id,\n ...props\n}: TweetCardProps) {\n const uid = useId();\n const nameId = `${id ?? uid}-author`;\n const date = timestamp === undefined ? undefined : new Date(timestamp);\n const validDate = date && !Number.isNaN(date.getTime()) ? date : undefined;\n const count = new Intl.NumberFormat(locale, { notation: \"compact\" });\n const shown = METRICS.filter(({ key }) => metrics?.[key] !== undefined);\n\n const userInfo = (\n <div data-slot=\"tweet-card-author\" className=\"flex items-center gap-2\">\n <a\n href={author.href ?? `https://x.com/${author.handle}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n tabIndex={-1}\n aria-hidden=\"true\"\n className=\"shrink-0\"\n >\n <Avatar className={tweetCardAvatarVariants({ avatarShape })}>\n {author.avatar ? <AvatarImage src={author.avatar} alt=\"\" /> : null}\n <AvatarFallback className=\"rounded-[inherit]\">{initials(author.name)}</AvatarFallback>\n </Avatar>\n </a>\n <div className=\"min-w-0\">\n <p className=\"flex items-center gap-1 text-sm font-semibold tracking-tight\">\n <a\n id={nameId}\n href={author.href ?? `https://x.com/${author.handle}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={cn(\"truncate rounded-sm hover:underline\", focusRing)}\n >\n {author.name}\n </a>\n {author.verified ? (\n <>\n <VerifiedBadge />\n <span className=\"sr-only\">Verified account</span>\n </>\n ) : null}\n </p>\n <p className=\"text-xs text-muted-foreground\">@{truncate(author.handle, 16)}</p>\n </div>\n </div>\n );\n\n return (\n <article\n id={id}\n data-slot=\"tweet-card\"\n aria-labelledby={nameId}\n className={cn(tweetCardVariants(), className)}\n {...props}\n >\n {userInfoPosition === \"top\" ? userInfo : null}\n <blockquote\n data-slot=\"tweet-card-text\"\n cite={href}\n className=\"text-sm tracking-tight text-balance whitespace-pre-line\"\n >\n {typeof text === \"string\" ? linkify(text) : text}\n </blockquote>\n {media && media.length > 0 ? <MediaGrid media={media} /> : null}\n {validDate || shown.length > 0 ? (\n <div className=\"flex flex-wrap items-center gap-x-4 gap-y-2 text-xs text-muted-foreground\">\n {validDate ? (\n <time dateTime={validDate.toISOString()}>\n {validDate.toLocaleDateString(locale, {\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n })}\n </time>\n ) : null}\n {shown.length > 0 ? (\n <ul data-slot=\"tweet-card-metrics\" className=\"flex items-center gap-4\">\n {shown.map(({ key, label, path }) => (\n <li key={key} className=\"flex items-center gap-1\">\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n className=\"size-3.5\"\n >\n <path d={path} />\n </svg>\n <span aria-hidden=\"true\">{count.format(metrics?.[key] ?? 0)}</span>\n <span className=\"sr-only\">{`${String(metrics?.[key] ?? 0)} ${label}`}</span>\n </li>\n ))}\n </ul>\n ) : null}\n </div>\n ) : null}\n {userInfoPosition === \"bottom\" ? userInfo : null}\n {href ? (\n <a\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label={linkLabel}\n data-slot=\"tweet-card-link\"\n className={cn(\n \"absolute end-6 bottom-6 z-10 grid size-8 place-items-center rounded-full border border-border bg-primary text-primary-foreground\",\n \"opacity-0 transition-[opacity,scale] duration-[var(--duration-normal)] ease-[var(--ease-out-quint)]\",\n \"group-hover/tweet:opacity-100 hover:scale-110 focus-visible:opacity-100 [@media(hover:none)]:opacity-100\",\n focusRing,\n )}\n >\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n className=\"size-4\"\n >\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6M15 3h6v6M10 14 21 3\" />\n </svg>\n </a>\n ) : null}\n </article>\n );\n}\n\n/** Placeholder while a post loads — the source's TweetSkeleton. */\nexport function TweetCardSkeleton({ className, ...props }: ComponentPropsWithRef<\"div\">) {\n return (\n <div\n data-slot=\"tweet-card-skeleton\"\n aria-hidden=\"true\"\n className={cn(\n \"flex w-full flex-col gap-2 rounded-xl border border-border p-4\",\n className,\n )}\n {...props}\n >\n <div className=\"flex gap-2\">\n <Skeleton className=\"size-10 shrink-0 rounded-full\" />\n <Skeleton className=\"h-10 w-full\" />\n </div>\n <Skeleton className=\"h-20 w-full\" />\n </div>\n );\n}\n\nexport { tweetCardAvatarVariants, tweetCardVariants };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/typewriter-text/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "typewriter-text",
|
|
5
|
+
title: "Typewriter Text",
|
|
6
|
+
description: "Types text a character at a time behind a blinking caret — once, on a loop, or cycling through a list.",
|
|
7
|
+
category: "effects",
|
|
8
|
+
status: "beta",
|
|
9
|
+
dependencies: ["class-variance-authority"],
|
|
10
|
+
registryDependencies: [],
|
|
11
|
+
files: ["typewriter-text.tsx"],
|
|
12
|
+
a11y: "The typed characters are aria-hidden and an sr-only copy holds the full text (every item, for a list), so a screen reader reads it once and never per character. The server renders the finished text, and the untyped remainder reserves its space so nothing reflows. Under reduced motion the full text shows 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/typewriter-text/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"typewriter-text\",\n title: \"Typewriter Text\",\n description:\n \"Types text a character at a time behind a blinking caret — once, on a loop, or cycling through a list.\",\n category: \"effects\",\n status: \"beta\",\n dependencies: [\"class-variance-authority\"],\n registryDependencies: [],\n files: [\"typewriter-text.tsx\"],\n a11y:\n \"The typed characters are aria-hidden and an sr-only copy holds the full text (every item, for a list), so a \" +\n \"screen reader reads it once and never per character. The server renders the finished text, and the untyped \" +\n \"remainder reserves its space so nothing reflows. Under reduced motion the full text shows 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,qBAAqB;CAC7B,MACE;AAGJ,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
import { ComponentPropsWithRef, Ref } from "react";
|
|
3
|
+
//#region src/components/typewriter-text/typewriter-text.d.ts
|
|
4
|
+
/** Elements text effects render as. They are all phrasing or heading content. */
|
|
5
|
+
type TypewriterTextElement = "span" | "p" | "div" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
|
|
6
|
+
declare const typewriterTextVariants: (props?: ({
|
|
7
|
+
caret?: "none" | "block" | "bar" | null | undefined;
|
|
8
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
|
+
interface TypewriterTextProps extends Omit<ComponentPropsWithRef<"span">, "ref" | "children">, VariantProps<typeof typewriterTextVariants> {
|
|
10
|
+
ref?: Ref<HTMLElement>;
|
|
11
|
+
/** One string to type, or a list to type, delete and cycle through. */
|
|
12
|
+
children: string | readonly string[];
|
|
13
|
+
/** The element to render. */
|
|
14
|
+
as?: TypewriterTextElement;
|
|
15
|
+
/** Milliseconds per typed character. */
|
|
16
|
+
speed?: number;
|
|
17
|
+
/** Milliseconds per deleted character, for a list. Defaults to half of `speed`. */
|
|
18
|
+
deleteSpeed?: number;
|
|
19
|
+
/** Milliseconds a finished string holds before it restarts or is deleted. */
|
|
20
|
+
pause?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Keep going. A single string clears and retypes; a list cycles back to its
|
|
23
|
+
* first item. Defaults to `false` for a string and `true` for a list.
|
|
24
|
+
*/
|
|
25
|
+
loop?: boolean;
|
|
26
|
+
/** Milliseconds before typing starts. */
|
|
27
|
+
startDelay?: number;
|
|
28
|
+
}
|
|
29
|
+
/** Types text behind a caret, once, in a loop, or cycling through a list. */
|
|
30
|
+
declare function TypewriterText({ as: Component, children, speed, deleteSpeed, pause, loop, startDelay, caret, className, ref, ...props }: TypewriterTextProps): import("react").JSX.Element;
|
|
31
|
+
//#endregion
|
|
32
|
+
export { TypewriterText, TypewriterTextElement, TypewriterTextProps, typewriterTextVariants };
|
|
33
|
+
//# sourceMappingURL=typewriter-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typewriter-text.d.ts","names":[],"sources":["../../../src/components/typewriter-text/typewriter-text.tsx"],"mappings":";;;;KAmCY;cAGN,yBAAsB;;6CAe3B;UAEgB,4BAEb,KAAK,oDACL,oBAAoB;EACtB,MAAM,IAAI;;EAEV;;EAEA,KAAK;;EAEL;;EAEA;;EAEA;;;;;EAKA;;EAEA;;;iBAuBc,iBACd,IAAI,WACJ,UACA,OACA,aACA,OACA,MACA,YACA,OACA,WACA,QACG,SACF,sCAAmB,IAAA"}
|
|
@@ -0,0 +1,135 @@
|
|
|
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 { useCallback, useEffect, useLayoutEffect, useState } from "react";
|
|
6
|
+
//#region src/components/typewriter-text/typewriter-text.tsx
|
|
7
|
+
const typewriterTextVariants = cva("ms-px inline-block h-[1em] w-0.5 translate-y-[0.1em] bg-current align-baseline", {
|
|
8
|
+
variants: {
|
|
9
|
+
/** `bar` is a thin vertical caret, `block` a character-wide cell, `none` hides it. */
|
|
10
|
+
caret: {
|
|
11
|
+
bar: "animate-caret",
|
|
12
|
+
block: "w-[0.55em] animate-caret opacity-70",
|
|
13
|
+
none: "hidden"
|
|
14
|
+
} },
|
|
15
|
+
defaultVariants: { caret: "bar" }
|
|
16
|
+
});
|
|
17
|
+
function reducedMotion() {
|
|
18
|
+
return typeof window !== "undefined" && typeof window.matchMedia === "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
19
|
+
}
|
|
20
|
+
const useIsomorphicLayoutEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
|
|
21
|
+
/** Types text behind a caret, once, in a loop, or cycling through a list. */
|
|
22
|
+
function TypewriterText({ as: Component = "span", children, speed = 50, deleteSpeed, pause = 1e3, loop, startDelay = 0, caret, className, ref, ...props }) {
|
|
23
|
+
const items = typeof children === "string" ? [children] : children;
|
|
24
|
+
const isList = typeof children !== "string";
|
|
25
|
+
const repeats = loop ?? isList;
|
|
26
|
+
const key = JSON.stringify(items);
|
|
27
|
+
const [cursor, setCursor] = useState(() => ({
|
|
28
|
+
item: 0,
|
|
29
|
+
typed: items[0]?.length ?? 0
|
|
30
|
+
}));
|
|
31
|
+
useIsomorphicLayoutEffect(() => {
|
|
32
|
+
const strings = JSON.parse(key);
|
|
33
|
+
const first = strings[0] ?? "";
|
|
34
|
+
if (reducedMotion()) {
|
|
35
|
+
setCursor({
|
|
36
|
+
item: 0,
|
|
37
|
+
typed: first.length
|
|
38
|
+
});
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
let timer;
|
|
42
|
+
let item = 0;
|
|
43
|
+
let typed = 0;
|
|
44
|
+
let deleting = false;
|
|
45
|
+
setCursor({
|
|
46
|
+
item,
|
|
47
|
+
typed
|
|
48
|
+
});
|
|
49
|
+
const tick = () => {
|
|
50
|
+
const text = strings[item] ?? "";
|
|
51
|
+
if (!deleting && typed < text.length) {
|
|
52
|
+
typed += 1;
|
|
53
|
+
setCursor({
|
|
54
|
+
item,
|
|
55
|
+
typed
|
|
56
|
+
});
|
|
57
|
+
timer = setTimeout(tick, typed < text.length ? speed : pause);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (!deleting) {
|
|
61
|
+
if (strings.length > 1) {
|
|
62
|
+
if (item === strings.length - 1 && !repeats) return;
|
|
63
|
+
deleting = true;
|
|
64
|
+
tick();
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
if (!repeats) return;
|
|
68
|
+
typed = 0;
|
|
69
|
+
tick();
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (typed > 0) {
|
|
73
|
+
typed -= 1;
|
|
74
|
+
setCursor({
|
|
75
|
+
item,
|
|
76
|
+
typed
|
|
77
|
+
});
|
|
78
|
+
timer = setTimeout(tick, deleteSpeed ?? speed / 2);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
deleting = false;
|
|
82
|
+
item = (item + 1) % strings.length;
|
|
83
|
+
timer = setTimeout(tick, speed);
|
|
84
|
+
};
|
|
85
|
+
if (startDelay > 0) timer = setTimeout(tick, startDelay);
|
|
86
|
+
else tick();
|
|
87
|
+
return () => {
|
|
88
|
+
if (timer) clearTimeout(timer);
|
|
89
|
+
};
|
|
90
|
+
}, [
|
|
91
|
+
key,
|
|
92
|
+
speed,
|
|
93
|
+
deleteSpeed,
|
|
94
|
+
pause,
|
|
95
|
+
repeats,
|
|
96
|
+
startDelay
|
|
97
|
+
]);
|
|
98
|
+
const setRef = useCallback((element) => {
|
|
99
|
+
if (typeof ref === "function") ref(element);
|
|
100
|
+
else if (ref) ref.current = element;
|
|
101
|
+
}, [ref]);
|
|
102
|
+
const current = items[cursor.item] ?? "";
|
|
103
|
+
const shown = current.slice(0, cursor.typed);
|
|
104
|
+
const rest = current.slice(cursor.typed);
|
|
105
|
+
return /* @__PURE__ */ jsxs(Component, {
|
|
106
|
+
ref: setRef,
|
|
107
|
+
"data-slot": "typewriter-text",
|
|
108
|
+
"data-state": cursor.typed >= current.length ? "complete" : "typing",
|
|
109
|
+
className: cn(className),
|
|
110
|
+
...props,
|
|
111
|
+
children: [/* @__PURE__ */ jsxs("span", {
|
|
112
|
+
"data-slot": "typewriter-text-typed",
|
|
113
|
+
"aria-hidden": "true",
|
|
114
|
+
children: [
|
|
115
|
+
shown,
|
|
116
|
+
/* @__PURE__ */ jsx("span", {
|
|
117
|
+
"data-slot": "typewriter-text-caret",
|
|
118
|
+
className: typewriterTextVariants({ caret })
|
|
119
|
+
}),
|
|
120
|
+
/* @__PURE__ */ jsx("span", {
|
|
121
|
+
"data-slot": "typewriter-text-rest",
|
|
122
|
+
className: "invisible",
|
|
123
|
+
children: rest
|
|
124
|
+
})
|
|
125
|
+
]
|
|
126
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
127
|
+
className: "sr-only",
|
|
128
|
+
children: isList ? items.join(", ") : current
|
|
129
|
+
})]
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
//#endregion
|
|
133
|
+
export { TypewriterText, typewriterTextVariants };
|
|
134
|
+
|
|
135
|
+
//# sourceMappingURL=typewriter-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typewriter-text.js","names":[],"sources":["../../../src/components/typewriter-text/typewriter-text.tsx"],"sourcesContent":["\"use client\";\n\n// Ported from SmoothUI Typewriter Text (MIT, © 2024 Eduardo Calvo). See THIRD_PARTY_NOTICES.md.\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport {\n useCallback,\n useEffect,\n useLayoutEffect,\n useState,\n type ComponentPropsWithRef,\n type Ref,\n} from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\n/*\n * Types a string a character at a time behind a blinking caret.\n *\n * - One string types once, or with `loop` clears and retypes after a pause —\n * the source's behaviour, at its defaults (50ms a character, 1s pause). A\n * list of strings types each one, holds it, deletes it and moves on: the\n * rotating-headline form the source's `loop` implies.\n * - The untyped remainder is rendered, invisible, after the caret. The line\n * reserves its full width and height from the first frame, so the page does\n * not reflow a character at a time.\n * - The server renders the finished text, so the markup is legible without\n * JavaScript; typing starts from empty before the first paint on the client.\n * - The whole string sits in an sr-only copy and the typed glyphs are\n * aria-hidden, so a screen reader reads the text once, never per character.\n * - Under reduced motion the full text shows immediately and nothing cycles.\n * The caret reuses the theme's `animate-caret`, which the reduced-motion\n * blanket stops.\n */\n\n/** Elements text effects render as. They are all phrasing or heading content. */\nexport type TypewriterTextElement =\n \"span\" | \"p\" | \"div\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n\nconst typewriterTextVariants = cva(\n \"ms-px inline-block h-[1em] w-0.5 translate-y-[0.1em] bg-current align-baseline\",\n {\n variants: {\n /** `bar` is a thin vertical caret, `block` a character-wide cell, `none` hides it. */\n caret: {\n bar: \"animate-caret\",\n block: \"w-[0.55em] animate-caret opacity-70\",\n none: \"hidden\",\n },\n },\n defaultVariants: {\n caret: \"bar\",\n },\n },\n);\n\nexport interface TypewriterTextProps\n extends\n Omit<ComponentPropsWithRef<\"span\">, \"ref\" | \"children\">,\n VariantProps<typeof typewriterTextVariants> {\n ref?: Ref<HTMLElement>;\n /** One string to type, or a list to type, delete and cycle through. */\n children: string | readonly string[];\n /** The element to render. */\n as?: TypewriterTextElement;\n /** Milliseconds per typed character. */\n speed?: number;\n /** Milliseconds per deleted character, for a list. Defaults to half of `speed`. */\n deleteSpeed?: number;\n /** Milliseconds a finished string holds before it restarts or is deleted. */\n pause?: number;\n /**\n * Keep going. A single string clears and retypes; a list cycles back to its\n * first item. Defaults to `false` for a string and `true` for a list.\n */\n loop?: boolean;\n /** Milliseconds before typing starts. */\n startDelay?: number;\n}\n\nfunction reducedMotion(): boolean {\n return (\n typeof window !== \"undefined\" &&\n typeof window.matchMedia === \"function\" &&\n window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches\n );\n}\n\n// Layout effect on the client, so typing starts from empty before first paint;\n// a plain effect on the server, where neither runs.\nconst useIsomorphicLayoutEffect = typeof window === \"undefined\" ? useEffect : useLayoutEffect;\n\ninterface Cursor {\n /** Which string is showing. */\n item: number;\n /** How many of its characters are typed. */\n typed: number;\n}\n\n/** Types text behind a caret, once, in a loop, or cycling through a list. */\nexport function TypewriterText({\n as: Component = \"span\",\n children,\n speed = 50,\n deleteSpeed,\n pause = 1000,\n loop,\n startDelay = 0,\n caret,\n className,\n ref,\n ...props\n}: TypewriterTextProps) {\n const items: readonly string[] = typeof children === \"string\" ? [children] : children;\n const isList = typeof children !== \"string\";\n const repeats = loop ?? isList;\n // A stable key for the effect: the strings themselves, not the array identity.\n const key = JSON.stringify(items);\n\n // Finished text first, for the server and for reduced motion.\n const [cursor, setCursor] = useState<Cursor>(() => ({\n item: 0,\n typed: items[0]?.length ?? 0,\n }));\n\n useIsomorphicLayoutEffect(() => {\n const strings = JSON.parse(key) as string[];\n const first = strings[0] ?? \"\";\n if (reducedMotion()) {\n setCursor({ item: 0, typed: first.length });\n return;\n }\n\n let timer: ReturnType<typeof setTimeout> | undefined;\n let item = 0;\n let typed = 0;\n let deleting = false;\n setCursor({ item, typed });\n\n const tick = () => {\n const text = strings[item] ?? \"\";\n if (!deleting && typed < text.length) {\n typed += 1;\n setCursor({ item, typed });\n timer = setTimeout(tick, typed < text.length ? speed : pause);\n return;\n }\n // The string is complete.\n if (!deleting) {\n if (strings.length > 1) {\n const last = item === strings.length - 1;\n if (last && !repeats) return;\n deleting = true;\n tick();\n return;\n }\n if (!repeats) return;\n // A single string clears at once and retypes, as the source did.\n typed = 0;\n tick();\n return;\n }\n if (typed > 0) {\n typed -= 1;\n setCursor({ item, typed });\n timer = setTimeout(tick, deleteSpeed ?? speed / 2);\n return;\n }\n deleting = false;\n item = (item + 1) % strings.length;\n timer = setTimeout(tick, speed);\n };\n\n // The first character lands at once, as in the source, unless delayed.\n if (startDelay > 0) timer = setTimeout(tick, startDelay);\n else tick();\n return () => {\n if (timer) clearTimeout(timer);\n };\n }, [key, speed, deleteSpeed, pause, repeats, startDelay]);\n\n // Accepts a ref to any of the `as` elements.\n const setRef = useCallback(\n (element: HTMLElement | null) => {\n if (typeof ref === \"function\") ref(element);\n else if (ref) ref.current = element;\n },\n [ref],\n );\n\n const current = items[cursor.item] ?? \"\";\n const shown = current.slice(0, cursor.typed);\n const rest = current.slice(cursor.typed);\n\n return (\n <Component\n ref={setRef}\n data-slot=\"typewriter-text\"\n data-state={cursor.typed >= current.length ? \"complete\" : \"typing\"}\n className={cn(className)}\n {...props}\n >\n <span data-slot=\"typewriter-text-typed\" aria-hidden=\"true\">\n {shown}\n <span data-slot=\"typewriter-text-caret\" className={typewriterTextVariants({ caret })} />\n <span data-slot=\"typewriter-text-rest\" className=\"invisible\">\n {rest}\n </span>\n </span>\n <span className=\"sr-only\">{isList ? items.join(\", \") : current}</span>\n </Component>\n );\n}\n\nexport { typewriterTextVariants };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { UPTIME_COLORS, UPTIME_GAP, UPTIME_STATUSES, UptimeDay, UptimeMatrix, UptimeMatrixProps, UptimeStatus, dayFromKey, uptimeMatrixVariants } from "./uptime-matrix.js";
|
|
2
|
+
export { UPTIME_COLORS, UPTIME_GAP, UPTIME_STATUSES, type UptimeDay, UptimeMatrix, type UptimeMatrixProps, type UptimeStatus, dayFromKey, uptimeMatrixVariants };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/uptime-matrix/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "uptime-matrix",
|
|
5
|
+
title: "Uptime Matrix",
|
|
6
|
+
description: "A day-by-day status history drawn in dithered tiles — operational, degraded, outage — with a keyboard-navigable readout and legend.",
|
|
7
|
+
category: "data",
|
|
8
|
+
status: "beta",
|
|
9
|
+
dependencies: ["class-variance-authority"],
|
|
10
|
+
registryDependencies: ["dither-canvas"],
|
|
11
|
+
files: ["uptime-matrix.tsx"],
|
|
12
|
+
a11y: "The tiles are role=\"img\" with an aria-label counting each state and the average uptime. Over them sits a role=\"grid\" of gridcells with one roving tab stop: arrow keys move a day, Home/End go to the row's ends, Ctrl+Home/End to the first and last day, Escape hides the readout; each cell's text is its readout. State is never colour alone: degraded tiles are striped, outages solid, and the legend, readout and table name every state. Axis labels are aria-hidden; the data is always in a table, visually hidden unless showTable is set."
|
|
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/uptime-matrix/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"uptime-matrix\",\n title: \"Uptime Matrix\",\n description:\n \"A day-by-day status history drawn in dithered tiles — operational, degraded, outage — with a keyboard-navigable readout and legend.\",\n category: \"data\",\n status: \"beta\",\n dependencies: [\"class-variance-authority\"],\n registryDependencies: [\"dither-canvas\"],\n files: [\"uptime-matrix.tsx\"],\n a11y:\n 'The tiles are role=\"img\" with an aria-label counting each state and the average uptime. ' +\n 'Over them sits a role=\"grid\" of gridcells with one roving tab stop: arrow keys move a day, ' +\n \"Home/End go to the row's ends, Ctrl+Home/End to the first and last day, Escape hides the \" +\n \"readout; each cell's text is its readout. State is never colour alone: degraded tiles are \" +\n \"striped, outages solid, and the legend, readout and table name every state. Axis labels are \" +\n \"aria-hidden; the data is always in a table, visually hidden unless showTable is set.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aACE;CACF,UAAU;CACV,QAAQ;CACR,cAAc,CAAC,0BAA0B;CACzC,sBAAsB,CAAC,eAAe;CACtC,OAAO,CAAC,mBAAmB;CAC3B,MACE;AAMJ,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
import { ComponentPropsWithRef } from "react";
|
|
3
|
+
//#region src/components/uptime-matrix/uptime-matrix.d.ts
|
|
4
|
+
declare const uptimeMatrixVariants: (props?: ({
|
|
5
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
type UptimeStatus = "operational" | "degraded" | "outage" | "unknown";
|
|
8
|
+
interface UptimeDay {
|
|
9
|
+
/** The day's name, e.g. a date. */
|
|
10
|
+
label: string;
|
|
11
|
+
status: UptimeStatus;
|
|
12
|
+
/** Uptime that day, in percent. */
|
|
13
|
+
uptime?: number;
|
|
14
|
+
/** A note for the readout, e.g. the incident. */
|
|
15
|
+
note?: string;
|
|
16
|
+
}
|
|
17
|
+
interface UptimeMatrixProps extends Omit<ComponentPropsWithRef<"div">, "children">, VariantProps<typeof uptimeMatrixVariants> {
|
|
18
|
+
days: readonly UptimeDay[];
|
|
19
|
+
/** What the matrix shows. Names the image, the grid and the data table. */
|
|
20
|
+
label: string;
|
|
21
|
+
/** Replaces the generated summary in the image's accessible name. */
|
|
22
|
+
description?: string;
|
|
23
|
+
/** Tiles per row. Default: every day in one row. */
|
|
24
|
+
columns?: number;
|
|
25
|
+
/** Names for each state (translate here). */
|
|
26
|
+
statusLabels?: Partial<Record<UptimeStatus, string>>;
|
|
27
|
+
formatUptime?: (percent: number) => string;
|
|
28
|
+
/** Show the state legend with counts. */
|
|
29
|
+
showLegend?: boolean;
|
|
30
|
+
/** Show the first and last day under the tiles. */
|
|
31
|
+
showAxis?: boolean;
|
|
32
|
+
/** Replace the axis labels, e.g. "90 days ago" and "Today". */
|
|
33
|
+
startLabel?: string;
|
|
34
|
+
endLabel?: string;
|
|
35
|
+
/** Show the data table. It is always present for assistive technology. */
|
|
36
|
+
showTable?: boolean;
|
|
37
|
+
animate?: boolean;
|
|
38
|
+
/** Cell pitch in CSS pixels. Default 2: tiles are thin. */
|
|
39
|
+
cell?: number;
|
|
40
|
+
/** The day whose readout shows (controlled); null hides it. */
|
|
41
|
+
activeIndex?: number | null;
|
|
42
|
+
defaultActiveIndex?: number | null;
|
|
43
|
+
onActiveIndexChange?: (index: number | null) => void;
|
|
44
|
+
/** Data table headers. */
|
|
45
|
+
dayLabel?: string;
|
|
46
|
+
statusLabel?: string;
|
|
47
|
+
uptimeLabel?: string;
|
|
48
|
+
noteLabel?: string;
|
|
49
|
+
}
|
|
50
|
+
/** Gap between tiles in CSS pixels. */
|
|
51
|
+
declare const UPTIME_GAP = 2;
|
|
52
|
+
declare const UPTIME_STATUSES: readonly UptimeStatus[];
|
|
53
|
+
/** The state token for each status. */
|
|
54
|
+
declare const UPTIME_COLORS: Readonly<Record<UptimeStatus, string>>;
|
|
55
|
+
/** The day a grid key moves to, or null when the key is not a grid key. */
|
|
56
|
+
declare function dayFromKey(key: string, ctrl: boolean, index: number, count: number, columns: number): number | null;
|
|
57
|
+
declare function UptimeMatrix({ days, label, description, columns, statusLabels, formatUptime, showLegend, showAxis, startLabel, endLabel, size, showTable, animate, cell, activeIndex, defaultActiveIndex, onActiveIndexChange, dayLabel, statusLabel, uptimeLabel, noteLabel, className, ...props }: UptimeMatrixProps): import("react").JSX.Element;
|
|
58
|
+
//#endregion
|
|
59
|
+
export { UPTIME_COLORS, UPTIME_GAP, UPTIME_STATUSES, UptimeDay, UptimeMatrix, UptimeMatrixProps, UptimeStatus, dayFromKey, uptimeMatrixVariants };
|
|
60
|
+
//# sourceMappingURL=uptime-matrix.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uptime-matrix.d.ts","names":[],"sources":["../../../src/components/uptime-matrix/uptime-matrix.tsx"],"mappings":";;;cAwCa,uBAAoB;;6CAS/B;KAEU;UAEK;;EAEf;EACA,QAAQ;;EAER;;EAEA;;UAGe,0BAEb,KAAK,2CACL,oBAAoB;EACtB,eAAe;;EAEf;;EAEA;;EAEA;;EAEA,eAAe,QAAQ,OAAO;EAC9B,gBAAgB;;EAEhB;;EAEA;;EAEA;EACA;;EAEA;EACA;;EAEA;;EAEA;EACA;EACA,uBAAuB;;EAEvB;EACA;EACA;EACA;;;cAIW;cAEA,0BAA0B;;cAQ1B,eAAe,SAAS,OAAO;;iBAe5B,WACd,aACA,eACA,eACA,eACA;iBAuBc,eACd,MACA,OACA,aACA,SACA,cACA,cACA,YACA,UACA,YACA,UACA,MACA,WACA,SACA,MACA,aACA,oBACA,qBACA,UACA,aACA,aACA,WACA,cACG,SACF,oCAAiB,IAAA"}
|