@dowel-ui/react 0.5.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/admin-dashboard/meta.js +31 -0
- package/dist/blocks/admin-dashboard/meta.js.map +1 -0
- package/dist/blocks/agent-console/meta.js +27 -0
- package/dist/blocks/agent-console/meta.js.map +1 -0
- package/dist/blocks/ai-dashboard/meta.js +25 -0
- package/dist/blocks/ai-dashboard/meta.js.map +1 -0
- package/dist/blocks/ai-workspace/meta.js +33 -0
- package/dist/blocks/ai-workspace/meta.js.map +1 -0
- package/dist/blocks/analytics/meta.js +24 -0
- package/dist/blocks/analytics/meta.js.map +1 -0
- package/dist/blocks/billing/meta.js +25 -0
- package/dist/blocks/billing/meta.js.map +1 -0
- package/dist/blocks/command-center/meta.js +28 -0
- package/dist/blocks/command-center/meta.js.map +1 -0
- package/dist/blocks/crm/meta.js +32 -0
- package/dist/blocks/crm/meta.js.map +1 -0
- 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/onboarding/meta.js +23 -0
- package/dist/blocks/onboarding/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/accordion/accordion.js +1 -1
- package/dist/components/accordion/accordion.js.map +1 -1
- 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/activity-feed/activity-feed.js +1 -1
- package/dist/components/activity-feed/activity-feed.js.map +1 -1
- 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 +110 -43
- 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-extraction-review/ai-extraction-review.js +1 -1
- package/dist/components/ai-extraction-review/ai-extraction-review.js.map +1 -1
- 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 +114 -10
- 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 +7 -3
- 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 +83 -6
- 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 +60 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.js +158 -0
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/components/breadcrumb/index.d.ts +2 -0
- package/dist/components/breadcrumb/index.js +2 -0
- package/dist/components/breadcrumb/meta.js +17 -0
- package/dist/components/breadcrumb/meta.js.map +1 -0
- 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/calendar/calendar.js +2 -2
- package/dist/components/calendar/calendar.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/collapsible/collapsible.d.ts +30 -0
- package/dist/components/collapsible/collapsible.d.ts.map +1 -0
- package/dist/components/collapsible/collapsible.js +38 -0
- package/dist/components/collapsible/collapsible.js.map +1 -0
- package/dist/components/collapsible/index.d.ts +2 -0
- package/dist/components/collapsible/index.js +2 -0
- package/dist/components/collapsible/meta.js +17 -0
- package/dist/components/collapsible/meta.js.map +1 -0
- 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 +161 -66
- 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/command.js +1 -1
- package/dist/components/command/command.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/data-table/data-table.d.ts.map +1 -1
- package/dist/components/data-table/data-table.js +4 -1
- package/dist/components/data-table/data-table.js.map +1 -1
- 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 +24 -7
- 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 +100 -28
- 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/direction/direction.d.ts +35 -0
- package/dist/components/direction/direction.d.ts.map +1 -0
- package/dist/components/direction/direction.js +14 -0
- package/dist/components/direction/direction.js.map +1 -0
- package/dist/components/direction/index.d.ts +2 -0
- package/dist/components/direction/index.js +2 -0
- package/dist/components/direction/meta.js +17 -0
- package/dist/components/direction/meta.js.map +1 -0
- 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 +24 -5
- 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 +34 -13
- 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/input.js +1 -1
- package/dist/components/input/input.js.map +1 -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/log-viewer/log-viewer.js +2 -2
- package/dist/components/log-viewer/log-viewer.js.map +1 -1
- 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/meter/meter.js +1 -1
- package/dist/components/meter/meter.js.map +1 -1
- 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 +16 -6
- 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/permission-matrix/permission-matrix.js +3 -3
- package/dist/components/permission-matrix/permission-matrix.js.map +1 -1
- 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 +21 -2
- 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/record-diff/record-diff.js +4 -4
- package/dist/components/record-diff/record-diff.js.map +1 -1
- 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 +29 -7
- 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 +25 -6
- 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/sidebar/index.d.ts +2 -0
- package/dist/components/sidebar/index.js +2 -0
- package/dist/components/sidebar/meta.js +17 -0
- package/dist/components/sidebar/meta.js.map +1 -0
- package/dist/components/sidebar/sidebar.d.ts +69 -0
- package/dist/components/sidebar/sidebar.d.ts.map +1 -0
- package/dist/components/sidebar/sidebar.js +256 -0
- package/dist/components/sidebar/sidebar.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/table/table.js +2 -2
- package/dist/components/table/table.js.map +1 -1
- 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/textarea/index.d.ts +2 -0
- package/dist/components/textarea/index.js +2 -0
- package/dist/components/textarea/meta.js +17 -0
- package/dist/components/textarea/meta.js.map +1 -0
- package/dist/components/textarea/textarea.d.ts +43 -0
- package/dist/components/textarea/textarea.d.ts.map +1 -0
- package/dist/components/textarea/textarea.js +119 -0
- package/dist/components/textarea/textarea.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-range-picker/time-range-picker.js +3 -3
- package/dist/components/time-range-picker/time-range-picker.js.map +1 -1
- 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 +34 -11
- 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 +256 -18
- package/dist/index.js +134 -10
- package/dist/lib/styles.d.ts +16 -1
- package/dist/lib/styles.d.ts.map +1 -1
- package/dist/lib/styles.js +16 -1
- package/dist/lib/styles.js.map +1 -1
- package/dist/registry/blocks.d.ts.map +1 -1
- package/dist/registry/blocks.js +95 -9
- package/dist/registry/blocks.js.map +1 -1
- package/dist/registry/components.d.ts.map +1 -1
- package/dist/registry/components.js +278 -50
- package/dist/registry/components.js.map +1 -1
- package/dist/registry/schema.d.ts +9 -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 +6 -4
- package/src/components/accordion/accordion.tsx +1 -1
- 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/activity-feed/activity-feed.tsx +1 -1
- 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-extraction-review/ai-extraction-review.tsx +1 -1
- 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 +57 -19
- package/src/components/ai-reasoning/ai-reasoning.tsx +192 -13
- 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 +12 -3
- 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 +125 -4
- 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 +198 -0
- package/src/components/breadcrumb/index.ts +11 -0
- package/src/components/breadcrumb/meta.ts +20 -0
- 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/calendar/calendar.tsx +2 -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/collapsible/collapsible.tsx +63 -0
- package/src/components/collapsible/index.ts +6 -0
- package/src/components/collapsible/meta.ts +16 -0
- package/src/components/combobox/combobox.tsx +167 -14
- package/src/components/combobox/index.ts +1 -0
- package/src/components/combobox/meta.ts +2 -1
- package/src/components/command/command.tsx +1 -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/data-table/data-table.tsx +14 -3
- 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 +80 -37
- package/src/components/dialog/meta.ts +2 -1
- package/src/components/diff-viewer/diff-viewer.tsx +160 -21
- package/src/components/diff-viewer/meta.ts +4 -1
- package/src/components/direction/direction.tsx +38 -0
- package/src/components/direction/index.ts +1 -0
- package/src/components/direction/meta.ts +19 -0
- 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 +78 -35
- package/src/components/drawer/meta.ts +1 -1
- package/src/components/dropdown-menu/dropdown-menu.tsx +61 -18
- 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/input.tsx +1 -1
- 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/log-viewer/log-viewer.tsx +2 -2
- 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/meter/meter.tsx +1 -1
- 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 +50 -5
- 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/permission-matrix/permission-matrix.tsx +4 -4
- 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/record-diff/record-diff.tsx +4 -4
- 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 +71 -24
- 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 +80 -34
- 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/sidebar/index.ts +19 -0
- package/src/components/sidebar/meta.ts +25 -0
- package/src/components/sidebar/sidebar.tsx +374 -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/table/table.tsx +3 -3
- 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 +123 -5
- 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/textarea/index.ts +1 -0
- package/src/components/textarea/meta.ts +21 -0
- package/src/components/textarea/textarea.tsx +210 -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-range-picker/time-range-picker.tsx +3 -3
- 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 +81 -15
- 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 +114 -0
- package/src/lib/styles.ts +16 -0
- package/src/registry/blocks.ts +86 -0
- package/src/registry/components.ts +228 -0
- package/src/registry/schema.ts +9 -0
- package/src/blocks/admin-users/admin-users.tsx +0 -251
- package/src/blocks/admin-users/index.ts +0 -1
- package/src/blocks/admin-users/meta.ts +0 -27
- package/src/blocks/ai-chat/ai-chat.tsx +0 -280
- package/src/blocks/ai-chat/index.ts +0 -7
- package/src/blocks/ai-chat/meta.ts +0 -32
- package/src/blocks/dashboard/dashboard.tsx +0 -192
- package/src/blocks/dashboard/index.ts +0 -6
- package/src/blocks/dashboard/meta.ts +0 -18
- package/src/blocks/forgot-password/forgot-password.tsx +0 -158
- package/src/blocks/forgot-password/index.ts +0 -1
- package/src/blocks/forgot-password/meta.ts +0 -18
- package/src/blocks/login/index.ts +0 -1
- package/src/blocks/login/login.tsx +0 -178
- package/src/blocks/login/meta.ts +0 -18
- package/src/blocks/pricing/index.ts +0 -1
- package/src/blocks/pricing/meta.ts +0 -18
- package/src/blocks/pricing/pricing.tsx +0 -176
- package/src/blocks/settings/index.ts +0 -6
- package/src/blocks/settings/meta.ts +0 -29
- package/src/blocks/settings/settings.tsx +0 -317
- package/src/blocks/signup/index.ts +0 -1
- package/src/blocks/signup/meta.ts +0 -18
- package/src/blocks/signup/signup.tsx +0 -240
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-loader.js","names":[],"sources":["../../../src/components/text-loader/text-loader.tsx"],"sourcesContent":["// Ported from amicro \"Text & Interface\" (MIT, © 2026 Syed Subhan Uddin). See THIRD_PARTY_NOTICES.md.\n//\n// Renamed so no variant carries another company's product name:\n// apple-text-reveal → reveal, apple-unlock → unlock, mac-terminal → window-terminal,\n// dynamic-island → island, face-id-scan → scan. The rest drop their redundant\n// \"text-\"/\"-loader\" affixes (text-shimmer → shimmer, skeleton-loader → skeleton, …).\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type { ComponentPropsWithRef, CSSProperties, ReactNode } from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\n/*\n * Same shape as every loader family (ADR 0014): geometry in `em`, colour from\n * `currentColor`, keyframes hoisted with the component and every duration run\n * through --motion-scale-indicator, `direction: ltr` on the root.\n *\n * This family carries words. The words inherit the parent's font; `size` sets\n * the font size, and the non-text geometry (cursors, bars, surfaces) is in em\n * so it follows. Surfaces use the semantic surface tokens, never a literal.\n * The words are decoration — the root is aria-hidden — and `label` stays the\n * accessible announcement.\n */\n\nconst PREFIX = \"dowel-text-loader\";\n\n/** A delay or duration in seconds, scaled for reduced motion. */\nfunction scaled(seconds: number): string {\n return `calc(${String(seconds)}s * var(--motion-scale-indicator, 1))`;\n}\n\nconst FAINT = (percent: number) =>\n `color-mix(in oklab, currentColor ${String(percent)}%, transparent)`;\n\nconst STYLES = `\n.${PREFIX}{direction:ltr;position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit;white-space:nowrap}\n.${PREFIX} [data-part]{animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-duration:var(--dur);animation-delay:var(--delay,0s)}\n.${PREFIX} [data-part=char]{display:inline-block}\n.${PREFIX} [data-part=dot]{display:block;border-radius:9999px;background:currentColor}\n.${PREFIX} [data-part=text]{display:inline-block}\n.${PREFIX} [data-part=sheen]{position:absolute;inset:0;background-image:linear-gradient(90deg,transparent 0%,currentColor 50%,transparent 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}\n@keyframes ${PREFIX}-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}\n@keyframes ${PREFIX}-unlock{from{background-position:200% 0}to{background-position:-200% 0}}\n@keyframes ${PREFIX}-blink{0%,100%{opacity:1}50%{opacity:.2}}\n@keyframes ${PREFIX}-dot-1{0%{opacity:0}20%,80%{opacity:1}100%{opacity:0}}\n@keyframes ${PREFIX}-dot-2{0%,40%{opacity:0}80%{opacity:1}100%{opacity:0}}\n@keyframes ${PREFIX}-dot-3{0%,60%{opacity:0}80%{opacity:1}100%{opacity:0}}\n@keyframes ${PREFIX}-wave{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-.125em)}}\n@keyframes ${PREFIX}-hop{0%,100%{transform:translateY(0)}50%{transform:translateY(var(--rise))}}\n@keyframes ${PREFIX}-cursor{0%,100%{opacity:1}50%{opacity:0}}\n@keyframes ${PREFIX}-slide{from{transform:translateX(-100%)}to{transform:translateX(var(--to))}}\n@keyframes ${PREFIX}-fade{0%,100%{opacity:.5}50%{opacity:1}}\n@keyframes ${PREFIX}-reveal{0%{transform:translateY(100%)}50%{transform:translateY(0)}100%{transform:translateY(-100%)}}\n@keyframes ${PREFIX}-drift{0%,100%{transform:translate(-1.25em,-.625em)}50%{transform:translate(1.25em,.625em)}}\n@keyframes ${PREFIX}-spin{to{transform:rotate(360deg)}}\n@keyframes ${PREFIX}-stretch{0%,100%{width:5em}50%{width:6.875em}}\n@keyframes ${PREFIX}-pulse{0%,100%{opacity:.4}50%{opacity:1}}\n@keyframes ${PREFIX}-level{0%,100%{height:.1875em}50%{height:.5em}}\n@keyframes ${PREFIX}-draw{from{stroke-dashoffset:125}to{stroke-dashoffset:0}}\n@keyframes ${PREFIX}-morph-out{0%{opacity:1;transform:translateY(0)}33.333%{opacity:0;transform:translateY(-1em)}66.667%{opacity:0;transform:translateY(1em)}100%{opacity:1;transform:translateY(0)}}\n@keyframes ${PREFIX}-morph-in{0%{opacity:0;transform:translateY(1em)}33.333%,66.667%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-1em)}}\n@keyframes ${PREFIX}-sweep{0%,100%{top:-100%}50%{top:100%}}\n`;\n\ntype Content = { text: string; words: readonly string[] };\n\ntype Variant = {\n /**\n * Layout of the root, inline rather than as utilities. The hoisted stylesheet\n * is unlayered, so it outranks Tailwind's layered utilities whatever their\n * specificity; inline styles are the one thing that reliably outranks it.\n */\n root: CSSProperties;\n render: (content: Content) => ReactNode;\n};\n\ntype Style = CSSProperties & Record<`--${string}`, string>;\n\n/** An animation's inline style: its keyframe, duration and delay. */\nfunction motion(animation: string, duration: number, delay = 0, extra: Style = {}): Style {\n return {\n animationName: `${PREFIX}-${animation}`,\n \"--dur\": scaled(duration),\n \"--delay\": scaled(delay),\n ...extra,\n };\n}\n\n/** One element per character, each on its own delay. */\nfunction chars(text: string, render: (index: number) => Style): ReactNode {\n return Array.from(text).map((char, index) => (\n <span key={index} data-part=\"char\" style={render(index)}>\n {char === \" \" ? \"\\u00A0\" : char}\n </span>\n ));\n}\n\n/** A blinking block cursor. */\nfunction cursor(width: string, height: string, duration: number, gap: string): ReactNode {\n return (\n <span\n data-part=\"cursor\"\n style={motion(\"cursor\", duration, 0, {\n display: \"inline-block\",\n width,\n height,\n marginInlineStart: gap,\n background: \"currentColor\",\n animationTimingFunction: \"linear\",\n })}\n />\n );\n}\n\n/** Faint base words with a bright band swept across them. */\nfunction sheen(text: string, animation: string, duration: number, base: number): ReactNode {\n return (\n <>\n <span style={{ color: FAINT(base) }}>{text}</span>\n <span\n data-part=\"sheen\"\n style={motion(animation, duration, 0, { animationTimingFunction: \"linear\" })}\n >\n {text}\n </span>\n </>\n );\n}\n\nconst MONO = \"var(--font-mono, ui-monospace, monospace)\";\nconst CLIP: CSSProperties = { height: \"1.5em\", lineHeight: \"1.5em\", overflow: \"hidden\" };\n\nconst VARIANT_NAMES = [\n \"shimmer\",\n \"blink\",\n \"dots\",\n \"shimmer-wave\",\n \"typing-indicator\",\n \"typing\",\n \"shimmer-line\",\n \"skeleton\",\n \"terminal\",\n \"reveal\",\n \"fluid-skeleton\",\n \"spring-pop\",\n \"unlock\",\n \"glass-card\",\n \"window-terminal\",\n \"island\",\n \"app-icon\",\n \"morph\",\n \"scan\",\n] as const;\n\nexport type TextLoaderVariant = (typeof VARIANT_NAMES)[number];\n\n// Annotated rather than inferred: the inferred type drags csstype's internals\n// into the declaration output (TS2883).\nconst VARIANTS: Record<TextLoaderVariant, Variant> = {\n shimmer: { root: {}, render: ({ text }) => sheen(text, \"shimmer\", 1.5, 30) },\n blink: {\n root: {},\n render: ({ text }) => (\n <span data-part=\"text\" style={motion(\"blink\", 1.5)}>\n {text}\n </span>\n ),\n },\n dots: {\n root: {},\n render: ({ text }) => (\n <>\n <span>{text}</span>\n <span style={{ display: \"flex\", width: \"1.5em\", paddingInlineStart: \"0.125em\" }}>\n {[1, 2, 3].map((index) => (\n <span key={index} data-part=\"char\" style={motion(`dot-${String(index)}`, 2)}>\n .\n </span>\n ))}\n </span>\n </>\n ),\n },\n \"shimmer-wave\": {\n root: {},\n render: ({ text }) => chars(text, (index) => motion(\"wave\", 1.5, index * 0.1)),\n },\n \"typing-indicator\": {\n root: {\n gap: \"0.25em\",\n padding: \"0.5em 1em\",\n borderRadius: \"9999px\",\n background: \"var(--color-muted)\",\n },\n render: () =>\n [0, 1, 2].map((index) => (\n <span\n key={index}\n data-part=\"dot\"\n style={motion(\"hop\", 0.6, index * 0.15, {\n width: \"0.375em\",\n height: \"0.375em\",\n \"--rise\": \"-0.25em\",\n })}\n />\n )),\n },\n typing: {\n root: {},\n render: ({ text }) => (\n <>\n <span>{text}</span>\n {cursor(\"0.375em\", \"1em\", 0.8, \"0.25em\")}\n </>\n ),\n },\n \"shimmer-line\": {\n root: {\n width: \"6em\",\n height: \"0.25em\",\n borderRadius: \"9999px\",\n overflow: \"hidden\",\n justifyContent: \"flex-start\",\n background: FAINT(20),\n },\n render: () => (\n <span\n data-part=\"dot\"\n style={motion(\"slide\", 1.5, 0, {\n position: \"absolute\",\n insetBlock: 0,\n insetInlineStart: 0,\n width: \"33.333%\",\n \"--to\": \"300%\",\n })}\n />\n ),\n },\n skeleton: {\n root: {\n width: \"7.5em\",\n flexDirection: \"column\",\n alignItems: \"stretch\",\n gap: \"0.5em\",\n color: \"var(--color-muted)\",\n },\n render: () => {\n const block = (key: string, delay: number, extra: Style) => (\n <span\n key={key}\n data-part=\"dot\"\n style={motion(\"fade\", 1.5, delay, { borderRadius: \"9999px\", ...extra })}\n />\n );\n return [\n <span key=\"head\" style={{ display: \"flex\", alignItems: \"center\", gap: \"0.5em\" }}>\n {block(\"avatar\", 0, { width: \"2em\", height: \"2em\", flexShrink: 0 })}\n {block(\"title\", 0.2, { height: \"0.75em\", width: \"100%\" })}\n </span>,\n block(\"line-1\", 0.4, { height: \"0.5em\", width: \"100%\" }),\n block(\"line-2\", 0.6, { height: \"0.5em\", width: \"80%\" }),\n ];\n },\n },\n terminal: {\n root: {\n minWidth: \"8em\",\n height: \"4em\",\n padding: \"0.75em\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n justifyContent: \"flex-end\",\n overflow: \"hidden\",\n borderRadius: \"0.375em\",\n border: \"0.0625em solid var(--color-border)\",\n background: \"var(--color-card)\",\n fontFamily: MONO,\n },\n render: ({ text }) => (\n <>\n <span\n style={{\n display: \"flex\",\n gap: \"0.8em\",\n marginBlockEnd: \"0.4em\",\n fontSize: \"0.625em\",\n lineHeight: 1,\n color: \"var(--color-muted-foreground)\",\n }}\n >\n <span>$</span>\n <span>{text}...</span>\n </span>\n <span\n style={{ display: \"flex\", alignItems: \"center\", fontSize: \"0.625em\", lineHeight: 1 }}\n >\n <span style={{ color: \"var(--color-success)\" }}>></span>\n {cursor(\"0.6em\", \"1em\", 0.8, \"0.8em\")}\n </span>\n </>\n ),\n },\n reveal: {\n root: CLIP,\n render: ({ text }) => (\n <span data-part=\"text\" style={motion(\"reveal\", 2)}>\n {text}\n </span>\n ),\n },\n \"fluid-skeleton\": {\n root: {\n width: \"6em\",\n height: \"2.5em\",\n borderRadius: \"0.75em\",\n overflow: \"hidden\",\n background: \"var(--color-muted)\",\n },\n render: () => (\n <span\n data-part=\"band\"\n style={motion(\"slide\", 1.5, 0, {\n position: \"absolute\",\n inset: 0,\n background:\n \"linear-gradient(90deg, transparent, color-mix(in oklab, var(--color-card) 60%, transparent), transparent)\",\n animationTimingFunction: \"linear\",\n \"--to\": \"200%\",\n })}\n />\n ),\n },\n \"spring-pop\": {\n root: { letterSpacing: \"0.1em\" },\n render: ({ text }) =>\n chars(`${text}...`, (index) =>\n motion(\"hop\", 1.2, index * 0.08, { transformOrigin: \"bottom\", \"--rise\": \"-0.375em\" }),\n ),\n },\n unlock: {\n root: { letterSpacing: \"0.025em\", userSelect: \"none\" },\n render: ({ text }) => sheen(text, \"unlock\", 2.2, 40),\n },\n \"glass-card\": {\n root: {\n width: \"5em\",\n height: \"4em\",\n overflow: \"hidden\",\n borderRadius: \"1em\",\n border: \"0.0625em solid var(--color-border)\",\n background: \"var(--color-muted)\",\n backdropFilter: \"blur(0.75em)\",\n },\n render: () => (\n <>\n <span\n data-part=\"dot\"\n style={motion(\"drift\", 3, 0, {\n position: \"absolute\",\n width: \"3em\",\n height: \"3em\",\n background: FAINT(25),\n filter: \"blur(1.5em)\",\n })}\n />\n <span\n data-part=\"ring\"\n style={motion(\"spin\", 1, 0, {\n position: \"relative\",\n display: \"block\",\n width: \"1.25em\",\n height: \"1.25em\",\n boxSizing: \"border-box\",\n borderRadius: \"9999px\",\n border: \"0.125em solid currentColor\",\n borderTopColor: \"transparent\",\n animationTimingFunction: \"linear\",\n })}\n />\n </>\n ),\n },\n \"window-terminal\": {\n root: { fontFamily: MONO },\n render: () => (\n <>\n <span>~ %</span>\n {cursor(\"0.5em\", \"1em\", 1, \"0.375em\")}\n </>\n ),\n },\n island: {\n root: {},\n render: () => (\n <span\n data-part=\"pill\"\n style={motion(\"stretch\", 2.2, 0, {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"0.75em\",\n height: \"2em\",\n padding: \"0.5em 1em\",\n boxSizing: \"border-box\",\n borderRadius: \"9999px\",\n border: \"0.0625em solid var(--color-border)\",\n background: \"currentColor\",\n })}\n >\n <span\n data-part=\"dot\"\n style={motion(\"pulse\", 1.1, 0, {\n width: \"0.375em\",\n height: \"0.375em\",\n background: \"var(--color-success)\",\n })}\n />\n <span style={{ display: \"flex\", alignItems: \"center\", gap: \"0.25em\", height: \"0.5em\" }}>\n {[0, 1, 2].map((index) => (\n <span\n key={index}\n data-part=\"dot\"\n style={motion(\"level\", 0.8, index * 0.15, {\n width: \"0.125em\",\n background: \"color-mix(in oklab, var(--color-background) 75%, transparent)\",\n })}\n />\n ))}\n </span>\n </span>\n ),\n },\n \"app-icon\": {\n root: {\n width: \"3em\",\n height: \"3em\",\n overflow: \"hidden\",\n borderRadius: \"0.75em\",\n background: \"var(--color-muted)\",\n },\n render: () => (\n <svg\n viewBox=\"0 0 50 50\"\n width=\"2em\"\n height=\"2em\"\n fill=\"none\"\n strokeWidth=\"4\"\n style={{ position: \"absolute\" }}\n >\n <circle cx=\"25\" cy=\"25\" r=\"20\" style={{ stroke: FAINT(25) }} />\n <circle\n cx=\"25\"\n cy=\"25\"\n r=\"20\"\n strokeDasharray=\"125\"\n data-part=\"arc\"\n style={motion(\"draw\", 2, 0, {\n stroke: \"currentColor\",\n transform: \"rotate(-90deg)\",\n transformOrigin: \"center\",\n transformBox: \"fill-box\",\n })}\n />\n </svg>\n ),\n },\n morph: {\n root: { ...CLIP, display: \"inline-grid\", placeItems: \"center\", minWidth: \"6em\" },\n render: ({ words }) =>\n ([\"morph-out\", \"morph-in\"] as const).map((animation, index) => (\n <span\n key={animation}\n data-part=\"text\"\n style={motion(animation, 3, 0, { gridArea: \"1 / 1\" })}\n >\n {words[index] ?? \"\"}\n </span>\n )),\n },\n scan: {\n root: {\n width: \"3em\",\n height: \"3em\",\n overflow: \"hidden\",\n borderRadius: \"0.75em\",\n border: \"0.125em solid var(--color-border)\",\n },\n render: () => (\n <>\n <svg viewBox=\"0 0 24 24\" width=\"1.5em\" height=\"1.5em\" style={{ fill: FAINT(30) }}>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\" />\n </svg>\n <span\n data-part=\"beam\"\n style={motion(\"sweep\", 2.5, 0, {\n position: \"absolute\",\n insetInlineStart: 0,\n width: \"100%\",\n height: \"2em\",\n background: `linear-gradient(to bottom, transparent, ${FAINT(30)})`,\n borderBottom: \"0.0625em solid currentColor\",\n animationTimingFunction: \"linear\",\n })}\n />\n </>\n ),\n },\n};\n\n/** Every variant, in catalogue order. Stories and tests iterate this. */\nexport const textLoaderVariantNames: TextLoaderVariant[] = [...VARIANT_NAMES];\n\nconst textLoaderVariants = cva(\"\", {\n variants: {\n size: {\n sm: \"text-[0.75rem]\",\n md: \"text-[1rem]\",\n lg: \"text-[1.25rem]\",\n xl: \"text-[1.5rem]\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport interface TextLoaderProps\n extends\n Omit<ComponentPropsWithRef<\"span\">, \"children\">,\n VariantProps<typeof textLoaderVariants> {\n /** Which animation to play. */\n variant?: TextLoaderVariant;\n /** The word the text variants display. Decorative — `label` is what is announced. */\n text?: string;\n /** The words `morph` alternates between. Defaults to `text`, then \"Wait\". */\n words?: readonly string[];\n /**\n * Announced to assistive technology while the loader is visible.\n *\n * Omit it when the loader sits inside something that already reports its\n * busy state — announcing twice is worse than not announcing at all.\n */\n label?: string;\n}\n\n/** An indeterminate loading indicator made of words and interface shapes, in 19 motions. */\nexport function TextLoader({\n className,\n size,\n variant = \"shimmer\",\n text = \"Loading\",\n words,\n label,\n style,\n ...props\n}: TextLoaderProps) {\n const spec = VARIANTS[variant];\n\n return (\n <>\n <style href={PREFIX} precedence=\"dowel\">\n {STYLES}\n </style>\n <span\n aria-hidden=\"true\"\n data-slot=\"text-loader\"\n data-variant={variant}\n // Exempt from the reduced-motion blanket: a loader that stops says the\n // application has hung. It is slowed instead — see ADR 0014.\n data-motion=\"indicator\"\n className={cn(PREFIX, textLoaderVariants({ size }), className)}\n style={{ ...spec.root, ...style }}\n {...props}\n >\n {spec.render({ text, words: words ?? [text, \"Wait\"] })}\n </span>\n {label ? (\n <span role=\"status\" className=\"sr-only\">\n {label}\n </span>\n ) : null}\n </>\n );\n}\n\nexport { textLoaderVariants };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { TextSwap, TextSwapElement, TextSwapProps, TextSwapTransition, textSwapTransitionNames, textSwapVariants } from "./text-swap.js";
|
|
2
|
+
import { TextRotate, TextRotateProps } from "./text-rotate.js";
|
|
3
|
+
export { TextRotate, type TextRotateProps, TextSwap, type TextSwapElement, type TextSwapProps, type TextSwapTransition, textSwapTransitionNames, textSwapVariants };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/text-swap/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "text-swap",
|
|
5
|
+
title: "Text Swap",
|
|
6
|
+
description: "Text that animates from the old string to the new one when its value changes — fade through, shared axis X/Y/Z and per-word crossfade — with a TextRotate for cycling phrases.",
|
|
7
|
+
category: "effects",
|
|
8
|
+
status: "beta",
|
|
9
|
+
dependencies: ["class-variance-authority"],
|
|
10
|
+
registryDependencies: [],
|
|
11
|
+
files: ["text-swap.tsx", "text-rotate.tsx"],
|
|
12
|
+
a11y: "The incoming text is the accessible text from the moment it changes; the outgoing copy is aria-hidden while it animates out and is then removed, and a change mid-transition replaces the pending text rather than stacking copies. Per-word transitions keep the whole string in a visually hidden copy with the word spans aria-hidden. Nothing is a live region unless you pass aria-live, and then only the settled value is added, never per word. Under reduced motion the swap is instant and TextRotate stops rotating; `paused` stops it on demand. shared-axis-x mirrors in RTL so forward always arrives from the inline end."
|
|
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/text-swap/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"text-swap\",\n title: \"Text Swap\",\n description:\n \"Text that animates from the old string to the new one when its value changes — fade through, shared axis X/Y/Z and per-word crossfade — with a TextRotate for cycling phrases.\",\n category: \"effects\",\n status: \"beta\",\n dependencies: [\"class-variance-authority\"],\n registryDependencies: [],\n files: [\"text-swap.tsx\", \"text-rotate.tsx\"],\n a11y:\n \"The incoming text is the accessible text from the moment it changes; the outgoing copy is aria-hidden \" +\n \"while it animates out and is then removed, and a change mid-transition replaces the pending text rather \" +\n \"than stacking copies. Per-word transitions keep the whole string in a visually hidden copy with the word \" +\n \"spans aria-hidden. Nothing is a live region unless you pass aria-live, and then only the settled value is \" +\n \"added, never per word. Under reduced motion the swap is instant and TextRotate stops rotating; `paused` \" +\n \"stops it on demand. shared-axis-x mirrors in RTL so forward always arrives from the inline end.\",\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,iBAAiB,iBAAiB;CAC1C,MACE;AAMJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TextSwapProps } from "./text-swap.js";
|
|
2
|
+
//#region src/components/text-swap/text-rotate.d.ts
|
|
3
|
+
interface TextRotateProps extends Omit<TextSwapProps, "children"> {
|
|
4
|
+
/** The phrases to cycle through, in order. */
|
|
5
|
+
items: readonly string[];
|
|
6
|
+
/** Milliseconds each phrase stays before the next one. */
|
|
7
|
+
interval?: number;
|
|
8
|
+
/** Stops the rotation on the current phrase. */
|
|
9
|
+
paused?: boolean;
|
|
10
|
+
/** Called with the index of each phrase as it arrives. */
|
|
11
|
+
onIndexChange?: (index: number) => void;
|
|
12
|
+
}
|
|
13
|
+
/** Cycles through `items` on a timer, swapping each with a TextSwap transition. */
|
|
14
|
+
declare function TextRotate({ items, interval, paused, onIndexChange, ...props }: TextRotateProps): import("react").JSX.Element;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { TextRotate, TextRotateProps };
|
|
17
|
+
//# sourceMappingURL=text-rotate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-rotate.d.ts","names":[],"sources":["../../../src/components/text-swap/text-rotate.tsx"],"mappings":";;UAmCiB,wBAAwB,KAAK;;EAE5C;;EAEA;;EAEA;;EAEA,iBAAiB;;;iBAIH,aACd,OACA,UACA,QACA,kBACG,SACF,kCAAe,IAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { TextSwap } from "./text-swap.js";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { useEffect, useRef, useState, useSyncExternalStore } from "react";
|
|
5
|
+
//#region src/components/text-swap/text-rotate.tsx
|
|
6
|
+
const REDUCED = "(prefers-reduced-motion: reduce)";
|
|
7
|
+
function subscribe(onChange) {
|
|
8
|
+
if (typeof window.matchMedia !== "function") return () => {};
|
|
9
|
+
const query = window.matchMedia(REDUCED);
|
|
10
|
+
query.addEventListener("change", onChange);
|
|
11
|
+
return () => query.removeEventListener("change", onChange);
|
|
12
|
+
}
|
|
13
|
+
function readReduced() {
|
|
14
|
+
return typeof window.matchMedia === "function" && window.matchMedia(REDUCED).matches;
|
|
15
|
+
}
|
|
16
|
+
/** The server cannot know; it renders the first phrase either way. */
|
|
17
|
+
function readServer() {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
/** Cycles through `items` on a timer, swapping each with a TextSwap transition. */
|
|
21
|
+
function TextRotate({ items, interval = 2500, paused = false, onIndexChange, ...props }) {
|
|
22
|
+
const [index, setIndex] = useState(0);
|
|
23
|
+
const reduced = useSyncExternalStore(subscribe, readReduced, readServer);
|
|
24
|
+
const count = items.length;
|
|
25
|
+
const stopped = paused || reduced || count <= 1;
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
if (stopped) return;
|
|
28
|
+
const timer = setInterval(() => {
|
|
29
|
+
setIndex((previous) => (previous + 1) % count);
|
|
30
|
+
}, interval);
|
|
31
|
+
return () => clearInterval(timer);
|
|
32
|
+
}, [
|
|
33
|
+
stopped,
|
|
34
|
+
count,
|
|
35
|
+
interval
|
|
36
|
+
]);
|
|
37
|
+
const announced = useRef(index);
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (announced.current === index) return;
|
|
40
|
+
announced.current = index;
|
|
41
|
+
onIndexChange?.(index);
|
|
42
|
+
}, [index, onIndexChange]);
|
|
43
|
+
return /* @__PURE__ */ jsx(TextSwap, {
|
|
44
|
+
...props,
|
|
45
|
+
children: items[index % Math.max(count, 1)] ?? ""
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
export { TextRotate };
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=text-rotate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-rotate.js","names":[],"sources":["../../../src/components/text-swap/text-rotate.tsx"],"sourcesContent":["\"use client\";\n\n// Ported from SmoothUI Fade Through, Shared Axis X, Shared Axis Y and Shared Axis Z (MIT, © 2024 Eduardo Calvo). See THIRD_PARTY_NOTICES.md.\nimport { useEffect, useRef, useState, useSyncExternalStore } from \"react\";\n\nimport { TextSwap, type TextSwapProps } from \"./text-swap\";\n\n/*\n * The four SmoothUI phrase components are a TextSwap driven by a timer: a\n * `phrases` array and an `interval` (2500ms). That timer is all this adds.\n *\n * Rotation stops under reduced motion, as Fade Through's does — a phrase that\n * keeps changing is movement even when the swap itself is instant — and the\n * current phrase stays put. `paused` gives consumers the pause control WCAG\n * 2.2.2 asks of anything that updates on its own.\n */\n\nconst REDUCED = \"(prefers-reduced-motion: reduce)\";\n\nfunction subscribe(onChange: () => void): () => void {\n if (typeof window.matchMedia !== \"function\") return () => {};\n const query = window.matchMedia(REDUCED);\n query.addEventListener(\"change\", onChange);\n return () => query.removeEventListener(\"change\", onChange);\n}\n\nfunction readReduced(): boolean {\n return typeof window.matchMedia === \"function\" && window.matchMedia(REDUCED).matches;\n}\n\n/** The server cannot know; it renders the first phrase either way. */\nfunction readServer(): boolean {\n return false;\n}\n\nexport interface TextRotateProps extends Omit<TextSwapProps, \"children\"> {\n /** The phrases to cycle through, in order. */\n items: readonly string[];\n /** Milliseconds each phrase stays before the next one. */\n interval?: number;\n /** Stops the rotation on the current phrase. */\n paused?: boolean;\n /** Called with the index of each phrase as it arrives. */\n onIndexChange?: (index: number) => void;\n}\n\n/** Cycles through `items` on a timer, swapping each with a TextSwap transition. */\nexport function TextRotate({\n items,\n interval = 2500,\n paused = false,\n onIndexChange,\n ...props\n}: TextRotateProps) {\n const [index, setIndex] = useState(0);\n const reduced = useSyncExternalStore(subscribe, readReduced, readServer);\n const count = items.length;\n const stopped = paused || reduced || count <= 1;\n\n useEffect(() => {\n if (stopped) return;\n const timer = setInterval(() => {\n setIndex((previous) => (previous + 1) % count);\n }, interval);\n return () => clearInterval(timer);\n }, [stopped, count, interval]);\n\n const announced = useRef(index);\n useEffect(() => {\n if (announced.current === index) return;\n announced.current = index;\n onIndexChange?.(index);\n }, [index, onIndexChange]);\n\n return <TextSwap {...props}>{items[index % Math.max(count, 1)] ?? \"\"}</TextSwap>;\n}\n"],"mappings":";;;;;AAiBA,MAAM,UAAU;AAEhB,SAAS,UAAU,UAAkC;CACnD,IAAI,OAAO,OAAO,eAAe,YAAY,aAAa,CAAC;CAC3D,MAAM,QAAQ,OAAO,WAAW,OAAO;CACvC,MAAM,iBAAiB,UAAU,QAAQ;CACzC,aAAa,MAAM,oBAAoB,UAAU,QAAQ;AAC3D;AAEA,SAAS,cAAuB;CAC9B,OAAO,OAAO,OAAO,eAAe,cAAc,OAAO,WAAW,OAAO,CAAC,CAAC;AAC/E;;AAGA,SAAS,aAAsB;CAC7B,OAAO;AACT;;AAcA,SAAgB,WAAW,EACzB,OACA,WAAW,MACX,SAAS,OACT,eACA,GAAG,SACe;CAClB,MAAM,CAAC,OAAO,YAAY,SAAS,CAAC;CACpC,MAAM,UAAU,qBAAqB,WAAW,aAAa,UAAU;CACvE,MAAM,QAAQ,MAAM;CACpB,MAAM,UAAU,UAAU,WAAW,SAAS;CAE9C,gBAAgB;EACd,IAAI,SAAS;EACb,MAAM,QAAQ,kBAAkB;GAC9B,UAAU,cAAc,WAAW,KAAK,KAAK;EAC/C,GAAG,QAAQ;EACX,aAAa,cAAc,KAAK;CAClC,GAAG;EAAC;EAAS;EAAO;CAAQ,CAAC;CAE7B,MAAM,YAAY,OAAO,KAAK;CAC9B,gBAAgB;EACd,IAAI,UAAU,YAAY,OAAO;EACjC,UAAU,UAAU;EACpB,gBAAgB,KAAK;CACvB,GAAG,CAAC,OAAO,aAAa,CAAC;CAEzB,OAAO,oBAAC,UAAD;EAAU,GAAI;EAAQ,UAAA,MAAM,QAAQ,KAAK,IAAI,OAAO,CAAC,MAAM;CAAa,CAAA;AACjF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ComponentPropsWithRef, Ref } from "react";
|
|
2
|
+
//#region src/components/text-swap/text-swap.d.ts
|
|
3
|
+
type TextSwapTransition = "fade-through" | "per-word-crossfade" | "shared-axis-x" | "shared-axis-y" | "shared-axis-z";
|
|
4
|
+
/** The transitions, in source order — for stories, docs and tests. */
|
|
5
|
+
declare const textSwapTransitionNames: TextSwapTransition[];
|
|
6
|
+
declare const textSwapVariants: (props?: ({
|
|
7
|
+
transition?: "fade-through" | "per-word-crossfade" | "shared-axis-x" | "shared-axis-y" | "shared-axis-z" | null | undefined;
|
|
8
|
+
display?: "block" | "inline" | null | undefined;
|
|
9
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
10
|
+
type TextSwapElement = "span" | "div" | "p" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
|
|
11
|
+
interface TextSwapProps extends Omit<ComponentPropsWithRef<"span">, "children" | "ref"> {
|
|
12
|
+
/** The value. Whenever it changes, the old text animates out and the new text in. */
|
|
13
|
+
children: string | number;
|
|
14
|
+
/** How the old text leaves and the new text arrives. */
|
|
15
|
+
transition?: TextSwapTransition;
|
|
16
|
+
/**
|
|
17
|
+
* Which way the change moves. `forward` (default) is the sources' motion:
|
|
18
|
+
* with `shared-axis-x` the next phrase arrives from the inline end (the right
|
|
19
|
+
* in LTR, the left in RTL); `backward` reverses it on every axis, and runs a
|
|
20
|
+
* staircase from the last word.
|
|
21
|
+
*/
|
|
22
|
+
direction?: "forward" | "backward";
|
|
23
|
+
/** Milliseconds between words, for the split transitions. Defaults to the source's. */
|
|
24
|
+
stagger?: number;
|
|
25
|
+
/** Milliseconds added before every entrance. */
|
|
26
|
+
delay?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Animate the first value in too. `in-view` waits until the element
|
|
29
|
+
* scrolls into view (SmoothUI's `triggerOnView`). Default `false`: only
|
|
30
|
+
* changes animate.
|
|
31
|
+
*/
|
|
32
|
+
appear?: boolean | "in-view";
|
|
33
|
+
/** Rendered element. Block elements lay out as `grid`, inline ones as `inline-grid`. */
|
|
34
|
+
as?: TextSwapElement;
|
|
35
|
+
ref?: Ref<HTMLElement>;
|
|
36
|
+
}
|
|
37
|
+
/** Text that animates from the old string to the new one whenever it changes. */
|
|
38
|
+
declare function TextSwap({ children, transition, direction, stagger, delay, appear, as, className, style, ref, ...props }: TextSwapProps): import("react").JSX.Element;
|
|
39
|
+
//#endregion
|
|
40
|
+
export { TextSwap, TextSwapElement, TextSwapProps, TextSwapTransition, textSwapTransitionNames, textSwapVariants };
|
|
41
|
+
//# sourceMappingURL=text-swap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-swap.d.ts","names":[],"sources":["../../../src/components/text-swap/text-swap.tsx"],"mappings":";;KAqEY;;cA4DC,yBAAsD;cAE7D,mBAAgB;;;6CAmBpB;KAEU;UA+CK,sBAAsB,KAAK;;EAE1C;;EAEA,aAAa;;;;;;;EAOb;;EAEA;;EAEA;;;;;;EAMA;;EAEA,KAAK;EACL,MAAM,IAAI;;;iBAII,WACd,UACA,YACA,WACA,SACA,OACA,QACA,IACA,WACA,OACA,QACG,SACF,gCAAa,IAAA"}
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../../lib/utils.js";
|
|
3
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
6
|
+
//#region src/components/text-swap/text-swap.tsx
|
|
7
|
+
const PREFIX = "dowel-text-swap";
|
|
8
|
+
/** SmoothUI's Material easings, and Per Word Crossfade's keynote ease-out. */
|
|
9
|
+
const ENTER_EASE = "cubic-bezier(0.2, 0, 0, 1)";
|
|
10
|
+
const EXIT_EASE = "cubic-bezier(0.4, 0, 1, 1)";
|
|
11
|
+
const KEYNOTE_EASE = "cubic-bezier(0.16, 1, 0.3, 1)";
|
|
12
|
+
const STYLES = `
|
|
13
|
+
[data-slot=text-swap]{--text-swap-inline:1;--text-swap-z-in:0.9;--text-swap-z-out:1.06}
|
|
14
|
+
[dir=rtl] [data-slot=text-swap],[data-slot=text-swap][dir=rtl]{--text-swap-inline:-1}
|
|
15
|
+
[data-slot=text-swap]:dir(ltr){--text-swap-inline:1}
|
|
16
|
+
[data-slot=text-swap]:dir(rtl){--text-swap-inline:-1}
|
|
17
|
+
[data-slot=text-swap][data-direction=backward]{--text-swap-z-in:1.06;--text-swap-z-out:0.9}
|
|
18
|
+
[data-slot=text-swap-word]{display:inline-block;white-space:pre}
|
|
19
|
+
@keyframes ${PREFIX}-fade-through-in{from{opacity:0;filter:blur(2px);transform:translateY(calc(6px * var(--text-swap-dir,1))) scale(0.99)}to{opacity:1;filter:blur(0);transform:none}}
|
|
20
|
+
@keyframes ${PREFIX}-fade-through-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(calc(-4px * var(--text-swap-dir,1)))}}
|
|
21
|
+
@keyframes ${PREFIX}-axis-x-in{from{opacity:0;transform:translateX(calc(24px * var(--text-swap-dir,1) * var(--text-swap-inline,1))) scale(0.98)}to{opacity:1;transform:none}}
|
|
22
|
+
@keyframes ${PREFIX}-axis-x-out{from{opacity:1;transform:none}to{opacity:0;transform:translateX(calc(-20px * var(--text-swap-dir,1) * var(--text-swap-inline,1))) scale(0.98)}}
|
|
23
|
+
@keyframes ${PREFIX}-axis-z-in{from{opacity:0;filter:blur(2px);transform:scale(var(--text-swap-z-in,0.9))}to{opacity:1;filter:blur(0);transform:none}}
|
|
24
|
+
@keyframes ${PREFIX}-axis-z-out{from{opacity:1;filter:blur(0);transform:none}to{opacity:0;filter:blur(1px);transform:scale(var(--text-swap-z-out,1.06))}}
|
|
25
|
+
@keyframes ${PREFIX}-cut-in{from{opacity:0}to{opacity:1}}
|
|
26
|
+
@keyframes ${PREFIX}-cut-out{from{opacity:1}to{opacity:0}}
|
|
27
|
+
@keyframes ${PREFIX}-word-in{from{opacity:0;transform:translateY(calc(8px * var(--text-swap-dir,1)))}to{opacity:1;transform:none}}
|
|
28
|
+
`;
|
|
29
|
+
/** Timings copied from each SmoothUI source. */
|
|
30
|
+
const TRANSITIONS = {
|
|
31
|
+
"fade-through": {
|
|
32
|
+
split: false,
|
|
33
|
+
stagger: 0,
|
|
34
|
+
enter: {
|
|
35
|
+
keyframe: "fade-through-in",
|
|
36
|
+
ms: 420,
|
|
37
|
+
ease: ENTER_EASE
|
|
38
|
+
},
|
|
39
|
+
exit: {
|
|
40
|
+
keyframe: "fade-through-out",
|
|
41
|
+
ms: 260,
|
|
42
|
+
ease: EXIT_EASE
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"per-word-crossfade": {
|
|
46
|
+
split: true,
|
|
47
|
+
stagger: 70,
|
|
48
|
+
enter: {
|
|
49
|
+
keyframe: "word-in",
|
|
50
|
+
ms: 700,
|
|
51
|
+
ease: KEYNOTE_EASE
|
|
52
|
+
},
|
|
53
|
+
exit: null
|
|
54
|
+
},
|
|
55
|
+
"shared-axis-x": {
|
|
56
|
+
split: false,
|
|
57
|
+
stagger: 0,
|
|
58
|
+
enter: {
|
|
59
|
+
keyframe: "axis-x-in",
|
|
60
|
+
ms: 500,
|
|
61
|
+
ease: ENTER_EASE
|
|
62
|
+
},
|
|
63
|
+
exit: {
|
|
64
|
+
keyframe: "axis-x-out",
|
|
65
|
+
ms: 360,
|
|
66
|
+
ease: EXIT_EASE
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"shared-axis-y": {
|
|
70
|
+
split: true,
|
|
71
|
+
stagger: 78,
|
|
72
|
+
enter: {
|
|
73
|
+
keyframe: "cut-in",
|
|
74
|
+
ms: 0,
|
|
75
|
+
ease: "linear"
|
|
76
|
+
},
|
|
77
|
+
exit: {
|
|
78
|
+
keyframe: "cut-out",
|
|
79
|
+
ms: 0,
|
|
80
|
+
ease: "linear"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"shared-axis-z": {
|
|
84
|
+
split: false,
|
|
85
|
+
stagger: 0,
|
|
86
|
+
enter: {
|
|
87
|
+
keyframe: "axis-z-in",
|
|
88
|
+
ms: 520,
|
|
89
|
+
ease: ENTER_EASE
|
|
90
|
+
},
|
|
91
|
+
exit: {
|
|
92
|
+
keyframe: "axis-z-out",
|
|
93
|
+
ms: 360,
|
|
94
|
+
ease: EXIT_EASE
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
/** The transitions, in source order — for stories, docs and tests. */
|
|
99
|
+
const textSwapTransitionNames = Object.keys(TRANSITIONS);
|
|
100
|
+
const textSwapVariants = cva("[&>*]:col-start-1 [&>*]:row-start-1", {
|
|
101
|
+
variants: {
|
|
102
|
+
transition: {
|
|
103
|
+
"fade-through": "",
|
|
104
|
+
"per-word-crossfade": "",
|
|
105
|
+
"shared-axis-x": "overflow-x-clip",
|
|
106
|
+
"shared-axis-y": "",
|
|
107
|
+
"shared-axis-z": "overflow-clip"
|
|
108
|
+
},
|
|
109
|
+
display: {
|
|
110
|
+
inline: "inline-grid",
|
|
111
|
+
block: "grid"
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
defaultVariants: {
|
|
115
|
+
transition: "fade-through",
|
|
116
|
+
display: "inline"
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
/** Splits text into words and the whitespace between them. */
|
|
120
|
+
function tokenize(text) {
|
|
121
|
+
return text.split(/(\s+)/).filter((token) => token.length > 0);
|
|
122
|
+
}
|
|
123
|
+
function wordCount(text) {
|
|
124
|
+
return tokenize(text).filter((token) => token.trim().length > 0).length;
|
|
125
|
+
}
|
|
126
|
+
/** How long a phrase takes to leave, in unscaled milliseconds. */
|
|
127
|
+
function exitLength(spec, text, step) {
|
|
128
|
+
if (!spec.exit) return 0;
|
|
129
|
+
const stagger = spec.split ? Math.max(0, wordCount(text) - 1) * step : 0;
|
|
130
|
+
return spec.exit.ms + stagger;
|
|
131
|
+
}
|
|
132
|
+
function scaled(ms) {
|
|
133
|
+
return `calc(${String(ms)}ms * var(--motion-scale, 1))`;
|
|
134
|
+
}
|
|
135
|
+
function animation(phase, delayMs, paused) {
|
|
136
|
+
return {
|
|
137
|
+
animationName: `${PREFIX}-${phase.keyframe}`,
|
|
138
|
+
animationDuration: scaled(phase.ms),
|
|
139
|
+
animationTimingFunction: phase.ease,
|
|
140
|
+
animationDelay: scaled(delayMs),
|
|
141
|
+
animationFillMode: "both",
|
|
142
|
+
animationPlayState: paused ? "paused" : void 0
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/** Text that animates from the old string to the new one whenever it changes. */
|
|
146
|
+
function TextSwap({ children, transition = "fade-through", direction = "forward", stagger, delay = 0, appear = false, as = "span", className, style, ref, ...props }) {
|
|
147
|
+
const text = String(children);
|
|
148
|
+
const spec = TRANSITIONS[transition];
|
|
149
|
+
const step = stagger ?? spec.stagger;
|
|
150
|
+
const [state, setState] = useState(() => ({
|
|
151
|
+
current: {
|
|
152
|
+
key: 0,
|
|
153
|
+
text,
|
|
154
|
+
mode: appear ? "enter" : "static",
|
|
155
|
+
wait: 0
|
|
156
|
+
},
|
|
157
|
+
leaving: null
|
|
158
|
+
}));
|
|
159
|
+
let { current, leaving } = state;
|
|
160
|
+
if (text !== current.text) {
|
|
161
|
+
if (leaving && spec.exit) current = {
|
|
162
|
+
...current,
|
|
163
|
+
text
|
|
164
|
+
};
|
|
165
|
+
else {
|
|
166
|
+
leaving = spec.exit ? current : null;
|
|
167
|
+
const wait = spec.exit ? exitLength(spec, current.text, step) : 0;
|
|
168
|
+
current = {
|
|
169
|
+
key: current.key + 1,
|
|
170
|
+
text,
|
|
171
|
+
mode: "enter",
|
|
172
|
+
wait
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
setState({
|
|
176
|
+
current,
|
|
177
|
+
leaving
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
const [inView, setInView] = useState(appear !== "in-view");
|
|
181
|
+
const node = useRef(null);
|
|
182
|
+
useEffect(() => {
|
|
183
|
+
if (inView) return;
|
|
184
|
+
const element = node.current;
|
|
185
|
+
if (typeof IntersectionObserver === "undefined" || !element) {
|
|
186
|
+
setInView(true);
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
const observer = new IntersectionObserver((entries) => {
|
|
190
|
+
if (entries.some((entry) => entry.isIntersecting)) {
|
|
191
|
+
setInView(true);
|
|
192
|
+
observer.disconnect();
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
observer.observe(element);
|
|
196
|
+
return () => observer.disconnect();
|
|
197
|
+
}, [inView]);
|
|
198
|
+
const leavingKey = leaving?.key;
|
|
199
|
+
const leavingText = leaving?.text ?? "";
|
|
200
|
+
const removeLeaving = useCallback((key) => {
|
|
201
|
+
setState((previous) => previous.leaving?.key === key ? {
|
|
202
|
+
...previous,
|
|
203
|
+
leaving: null
|
|
204
|
+
} : previous);
|
|
205
|
+
}, []);
|
|
206
|
+
useEffect(() => {
|
|
207
|
+
const element = node.current;
|
|
208
|
+
if (!element || leavingKey === void 0) return;
|
|
209
|
+
const onEnd = (event) => {
|
|
210
|
+
const target = event.target;
|
|
211
|
+
if (!target.hasAttribute("data-swap-last")) return;
|
|
212
|
+
if (target.closest("[data-slot=\"text-swap-layer\"]")?.getAttribute("data-state") !== "exit") return;
|
|
213
|
+
removeLeaving(leavingKey);
|
|
214
|
+
};
|
|
215
|
+
element.addEventListener("animationend", onEnd);
|
|
216
|
+
return () => element.removeEventListener("animationend", onEnd);
|
|
217
|
+
}, [leavingKey, removeLeaving]);
|
|
218
|
+
useEffect(() => {
|
|
219
|
+
if (leavingKey === void 0) return;
|
|
220
|
+
const timer = setTimeout(() => removeLeaving(leavingKey), exitLength(spec, leavingText, step) * 2 + 100);
|
|
221
|
+
return () => clearTimeout(timer);
|
|
222
|
+
}, [
|
|
223
|
+
leavingKey,
|
|
224
|
+
leavingText,
|
|
225
|
+
spec,
|
|
226
|
+
step,
|
|
227
|
+
removeLeaving
|
|
228
|
+
]);
|
|
229
|
+
const setRef = useCallback((element) => {
|
|
230
|
+
node.current = element;
|
|
231
|
+
if (typeof ref === "function") return ref(element);
|
|
232
|
+
if (ref) ref.current = element;
|
|
233
|
+
}, [ref]);
|
|
234
|
+
const paused = !inView;
|
|
235
|
+
function renderLayer(layer, phase) {
|
|
236
|
+
const exiting = phase === "exit";
|
|
237
|
+
const active = exiting ? spec.exit : layer.mode === "enter" ? spec.enter : null;
|
|
238
|
+
const base = exiting ? 0 : layer.wait + delay;
|
|
239
|
+
const shared = {
|
|
240
|
+
"data-slot": "text-swap-layer",
|
|
241
|
+
"data-state": exiting ? "exit" : layer.mode === "enter" ? "enter" : "idle",
|
|
242
|
+
"aria-hidden": exiting ? true : void 0
|
|
243
|
+
};
|
|
244
|
+
if (!spec.split || !active) return /* @__PURE__ */ jsx("span", {
|
|
245
|
+
...shared,
|
|
246
|
+
"data-swap-last": "",
|
|
247
|
+
style: active ? animation(active, base, paused) : void 0,
|
|
248
|
+
children: layer.text
|
|
249
|
+
}, layer.key);
|
|
250
|
+
const tokens = tokenize(layer.text);
|
|
251
|
+
const words = tokens.filter((token) => token.trim().length > 0).length;
|
|
252
|
+
let index = -1;
|
|
253
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
254
|
+
...shared,
|
|
255
|
+
children: [exiting ? null : /* @__PURE__ */ jsx("span", {
|
|
256
|
+
className: "sr-only",
|
|
257
|
+
children: layer.text
|
|
258
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
259
|
+
"aria-hidden": "true",
|
|
260
|
+
"data-slot": "text-swap-words",
|
|
261
|
+
children: tokens.map((token, position) => {
|
|
262
|
+
if (token.trim().length === 0) return token;
|
|
263
|
+
index += 1;
|
|
264
|
+
const order = direction === "backward" ? words - 1 - index : index;
|
|
265
|
+
const style = {
|
|
266
|
+
"--i": order,
|
|
267
|
+
...animation(active, base + order * step, paused)
|
|
268
|
+
};
|
|
269
|
+
return /* @__PURE__ */ jsx("span", {
|
|
270
|
+
"data-slot": "text-swap-word",
|
|
271
|
+
"data-swap-last": order === words - 1 ? "" : void 0,
|
|
272
|
+
style,
|
|
273
|
+
children: token
|
|
274
|
+
}, position);
|
|
275
|
+
})
|
|
276
|
+
})]
|
|
277
|
+
}, layer.key);
|
|
278
|
+
}
|
|
279
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("style", {
|
|
280
|
+
href: PREFIX,
|
|
281
|
+
precedence: "dowel",
|
|
282
|
+
children: STYLES
|
|
283
|
+
}), /* @__PURE__ */ jsxs(as, {
|
|
284
|
+
ref: setRef,
|
|
285
|
+
"data-slot": "text-swap",
|
|
286
|
+
"data-transition": transition,
|
|
287
|
+
"data-direction": direction,
|
|
288
|
+
className: cn(textSwapVariants({
|
|
289
|
+
transition,
|
|
290
|
+
display: as === "span" ? "inline" : "block"
|
|
291
|
+
}), className),
|
|
292
|
+
style: {
|
|
293
|
+
"--text-swap-dir": direction === "backward" ? -1 : 1,
|
|
294
|
+
...style
|
|
295
|
+
},
|
|
296
|
+
...props,
|
|
297
|
+
children: [leaving ? renderLayer(leaving, "exit") : null, renderLayer(current, "enter")]
|
|
298
|
+
})] });
|
|
299
|
+
}
|
|
300
|
+
//#endregion
|
|
301
|
+
export { TextSwap, textSwapTransitionNames, textSwapVariants };
|
|
302
|
+
|
|
303
|
+
//# sourceMappingURL=text-swap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-swap.js","names":["Tag"],"sources":["../../../src/components/text-swap/text-swap.tsx"],"sourcesContent":["\"use client\";\n\n// Ported from SmoothUI Fade Through, Per Word Crossfade, Shared Axis X, Shared Axis Y and Shared Axis Z (MIT, © 2024 Eduardo Calvo). See THIRD_PARTY_NOTICES.md.\nimport { cva } from \"class-variance-authority\";\nimport {\n useCallback,\n useEffect,\n useRef,\n useState,\n type ComponentPropsWithRef,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\n/*\n * One mechanism for SmoothUI's five phrase transitions (ADR 0014). Each source\n * is a `motion` AnimatePresence in `mode=\"wait\"`: the old phrase finishes\n * leaving before the new one starts arriving. That is two keyframes and a\n * delay, so this is CSS:\n *\n * - Both phrases sit in one grid cell, so the box is as wide as the wider of\n * the two while they overlap and nothing reflows mid-transition.\n * - The incoming layer is mounted at once, with its entrance delayed by the\n * exit's length and `fill-mode: both` holding it at its first keyframe\n * until then. Its last keyframe is the readable one, so under reduced\n * motion (every duration and delay runs through --motion-scale) the text\n * simply appears.\n * - The outgoing layer is aria-hidden and removed on its own animationend,\n * with a timer as a backstop for environments that never fire one.\n * - A change that lands while a phrase is still leaving replaces the pending\n * incoming text in place: there is never more than one ghost.\n *\n * This is decoration, never an indicator.\n */\n\nconst PREFIX = \"dowel-text-swap\";\n\n/** SmoothUI's Material easings, and Per Word Crossfade's keynote ease-out. */\nconst ENTER_EASE = \"cubic-bezier(0.2, 0, 0, 1)\";\nconst EXIT_EASE = \"cubic-bezier(0.4, 0, 1, 1)\";\nconst KEYNOTE_EASE = \"cubic-bezier(0.16, 1, 0.3, 1)\";\n\n/*\n * --text-swap-dir is 1 forward and -1 backward; --text-swap-inline is -1 in\n * RTL, so \"forward\" on the x axis always means the next phrase arrives from the\n * inline end. `[dir=rtl]` covers browsers without :dir(); :dir() then corrects\n * an LTR island nested inside an RTL page.\n */\nconst STYLES = `\n[data-slot=text-swap]{--text-swap-inline:1;--text-swap-z-in:0.9;--text-swap-z-out:1.06}\n[dir=rtl] [data-slot=text-swap],[data-slot=text-swap][dir=rtl]{--text-swap-inline:-1}\n[data-slot=text-swap]:dir(ltr){--text-swap-inline:1}\n[data-slot=text-swap]:dir(rtl){--text-swap-inline:-1}\n[data-slot=text-swap][data-direction=backward]{--text-swap-z-in:1.06;--text-swap-z-out:0.9}\n[data-slot=text-swap-word]{display:inline-block;white-space:pre}\n@keyframes ${PREFIX}-fade-through-in{from{opacity:0;filter:blur(2px);transform:translateY(calc(6px * var(--text-swap-dir,1))) scale(0.99)}to{opacity:1;filter:blur(0);transform:none}}\n@keyframes ${PREFIX}-fade-through-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(calc(-4px * var(--text-swap-dir,1)))}}\n@keyframes ${PREFIX}-axis-x-in{from{opacity:0;transform:translateX(calc(24px * var(--text-swap-dir,1) * var(--text-swap-inline,1))) scale(0.98)}to{opacity:1;transform:none}}\n@keyframes ${PREFIX}-axis-x-out{from{opacity:1;transform:none}to{opacity:0;transform:translateX(calc(-20px * var(--text-swap-dir,1) * var(--text-swap-inline,1))) scale(0.98)}}\n@keyframes ${PREFIX}-axis-z-in{from{opacity:0;filter:blur(2px);transform:scale(var(--text-swap-z-in,0.9))}to{opacity:1;filter:blur(0);transform:none}}\n@keyframes ${PREFIX}-axis-z-out{from{opacity:1;filter:blur(0);transform:none}to{opacity:0;filter:blur(1px);transform:scale(var(--text-swap-z-out,1.06))}}\n@keyframes ${PREFIX}-cut-in{from{opacity:0}to{opacity:1}}\n@keyframes ${PREFIX}-cut-out{from{opacity:1}to{opacity:0}}\n@keyframes ${PREFIX}-word-in{from{opacity:0;transform:translateY(calc(8px * var(--text-swap-dir,1)))}to{opacity:1;transform:none}}\n`;\n\nexport type TextSwapTransition =\n \"fade-through\" | \"per-word-crossfade\" | \"shared-axis-x\" | \"shared-axis-y\" | \"shared-axis-z\";\n\ninterface Phase {\n keyframe: string;\n /** Milliseconds, before --motion-scale. */\n ms: number;\n ease: string;\n}\n\ninterface TransitionSpec {\n /** Animated word by word rather than as one block. */\n split: boolean;\n /** Default per-word stagger in milliseconds (split transitions only). */\n stagger: number;\n enter: Phase;\n /** `null` when the source removes the old text instantly. */\n exit: Phase | null;\n}\n\n/** Timings copied from each SmoothUI source. */\nconst TRANSITIONS: Record<TextSwapTransition, TransitionSpec> = {\n // Enter 420ms rising 6px out of a 2px blur; exit 260ms lifting 4px.\n \"fade-through\": {\n split: false,\n stagger: 0,\n enter: { keyframe: \"fade-through-in\", ms: 420, ease: ENTER_EASE },\n exit: { keyframe: \"fade-through-out\", ms: 260, ease: EXIT_EASE },\n },\n // 700ms per word, 8px drift, 70ms stagger. The source has no exit.\n \"per-word-crossfade\": {\n split: true,\n stagger: 70,\n enter: { keyframe: \"word-in\", ms: 700, ease: KEYNOTE_EASE },\n exit: null,\n },\n // Enter 500ms from 24px along the inline axis; exit 360ms to -20px.\n \"shared-axis-x\": {\n split: false,\n stagger: 0,\n enter: { keyframe: \"axis-x-in\", ms: 500, ease: ENTER_EASE },\n exit: { keyframe: \"axis-x-out\", ms: 360, ease: EXIT_EASE },\n },\n // \"Word Cut Staircase\": zero-duration opacity cuts, 78ms apart per word.\n \"shared-axis-y\": {\n split: true,\n stagger: 78,\n enter: { keyframe: \"cut-in\", ms: 0, ease: \"linear\" },\n exit: { keyframe: \"cut-out\", ms: 0, ease: \"linear\" },\n },\n // Enter 520ms from scale 0.9 and a 2px blur; exit 360ms to 1.06 and 1px.\n \"shared-axis-z\": {\n split: false,\n stagger: 0,\n enter: { keyframe: \"axis-z-in\", ms: 520, ease: ENTER_EASE },\n exit: { keyframe: \"axis-z-out\", ms: 360, ease: EXIT_EASE },\n },\n};\n\n/** The transitions, in source order — for stories, docs and tests. */\nexport const textSwapTransitionNames = Object.keys(TRANSITIONS) as TextSwapTransition[];\n\nconst textSwapVariants = cva(\"[&>*]:col-start-1 [&>*]:row-start-1\", {\n variants: {\n transition: {\n \"fade-through\": \"\",\n \"per-word-crossfade\": \"\",\n // The sources clip the travelling and scaling phrases to the box.\n \"shared-axis-x\": \"overflow-x-clip\",\n \"shared-axis-y\": \"\",\n \"shared-axis-z\": \"overflow-clip\",\n },\n display: {\n inline: \"inline-grid\",\n block: \"grid\",\n },\n },\n defaultVariants: {\n transition: \"fade-through\",\n display: \"inline\",\n },\n});\n\nexport type TextSwapElement = \"span\" | \"div\" | \"p\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n\n/** Splits text into words and the whitespace between them. */\nfunction tokenize(text: string): string[] {\n return text.split(/(\\s+)/).filter((token) => token.length > 0);\n}\n\nfunction wordCount(text: string): number {\n return tokenize(text).filter((token) => token.trim().length > 0).length;\n}\n\n/** How long a phrase takes to leave, in unscaled milliseconds. */\nfunction exitLength(spec: TransitionSpec, text: string, step: number): number {\n if (!spec.exit) return 0;\n const stagger = spec.split ? Math.max(0, wordCount(text) - 1) * step : 0;\n return spec.exit.ms + stagger;\n}\n\nfunction scaled(ms: number): string {\n return `calc(${String(ms)}ms * var(--motion-scale, 1))`;\n}\n\nfunction animation(phase: Phase, delayMs: number, paused: boolean): CSSProperties {\n return {\n animationName: `${PREFIX}-${phase.keyframe}`,\n animationDuration: scaled(phase.ms),\n animationTimingFunction: phase.ease,\n animationDelay: scaled(delayMs),\n animationFillMode: \"both\",\n animationPlayState: paused ? \"paused\" : undefined,\n };\n}\n\ninterface Layer {\n key: number;\n text: string;\n /** `static` is the first render without `appear`: no animation at all. */\n mode: \"static\" | \"enter\";\n /** Unscaled milliseconds before the entrance starts (the old phrase's exit). */\n wait: number;\n}\n\ninterface SwapState {\n current: Layer;\n leaving: Layer | null;\n}\n\nexport interface TextSwapProps extends Omit<ComponentPropsWithRef<\"span\">, \"children\" | \"ref\"> {\n /** The value. Whenever it changes, the old text animates out and the new text in. */\n children: string | number;\n /** How the old text leaves and the new text arrives. */\n transition?: TextSwapTransition;\n /**\n * Which way the change moves. `forward` (default) is the sources' motion:\n * with `shared-axis-x` the next phrase arrives from the inline end (the right\n * in LTR, the left in RTL); `backward` reverses it on every axis, and runs a\n * staircase from the last word.\n */\n direction?: \"forward\" | \"backward\";\n /** Milliseconds between words, for the split transitions. Defaults to the source's. */\n stagger?: number;\n /** Milliseconds added before every entrance. */\n delay?: number;\n /**\n * Animate the first value in too. `in-view` waits until the element\n * scrolls into view (SmoothUI's `triggerOnView`). Default `false`: only\n * changes animate.\n */\n appear?: boolean | \"in-view\";\n /** Rendered element. Block elements lay out as `grid`, inline ones as `inline-grid`. */\n as?: TextSwapElement;\n ref?: Ref<HTMLElement>;\n}\n\n/** Text that animates from the old string to the new one whenever it changes. */\nexport function TextSwap({\n children,\n transition = \"fade-through\",\n direction = \"forward\",\n stagger,\n delay = 0,\n appear = false,\n as = \"span\",\n className,\n style,\n ref,\n ...props\n}: TextSwapProps) {\n const text = String(children);\n const spec = TRANSITIONS[transition];\n const step = stagger ?? spec.stagger;\n\n const [state, setState] = useState<SwapState>(() => ({\n current: { key: 0, text, mode: appear ? \"enter\" : \"static\", wait: 0 },\n leaving: null,\n }));\n\n // Derive the next layers during render, so the new value is never painted\n // for a frame without its transition.\n let { current, leaving } = state;\n if (text !== current.text) {\n if (leaving && spec.exit) {\n // Still leaving: the pending phrase has not started yet, so swap it.\n current = { ...current, text };\n } else {\n leaving = spec.exit ? current : null;\n const wait = spec.exit ? exitLength(spec, current.text, step) : 0;\n current = { key: current.key + 1, text, mode: \"enter\", wait };\n }\n setState({ current, leaving });\n }\n\n const [inView, setInView] = useState(appear !== \"in-view\");\n const node = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (inView) return;\n const element = node.current;\n if (typeof IntersectionObserver === \"undefined\" || !element) {\n // Nothing can tell us when it is visible: show it rather than hide it.\n setInView(true);\n return;\n }\n const observer = new IntersectionObserver((entries) => {\n if (entries.some((entry) => entry.isIntersecting)) {\n setInView(true);\n observer.disconnect();\n }\n });\n observer.observe(element);\n return () => observer.disconnect();\n }, [inView]);\n\n const leavingKey = leaving?.key;\n const leavingText = leaving?.text ?? \"\";\n const removeLeaving = useCallback((key: number) => {\n setState((previous) =>\n previous.leaving?.key === key ? { ...previous, leaving: null } : previous,\n );\n }, []);\n\n // A native listener rather than onAnimationEnd: React picks a vendor-prefixed\n // event name wherever AnimationEvent is missing, and would never hear it.\n useEffect(() => {\n const element = node.current;\n if (!element || leavingKey === undefined) return;\n const onEnd = (event: Event) => {\n const target = event.target as Element;\n if (!target.hasAttribute(\"data-swap-last\")) return;\n if (\n target.closest('[data-slot=\"text-swap-layer\"]')?.getAttribute(\"data-state\") !== \"exit\"\n )\n return;\n removeLeaving(leavingKey);\n };\n element.addEventListener(\"animationend\", onEnd);\n return () => element.removeEventListener(\"animationend\", onEnd);\n }, [leavingKey, removeLeaving]);\n\n // Backstop for environments that never fire animationend.\n useEffect(() => {\n if (leavingKey === undefined) return;\n const timer = setTimeout(\n () => removeLeaving(leavingKey),\n exitLength(spec, leavingText, step) * 2 + 100,\n );\n return () => clearTimeout(timer);\n }, [leavingKey, leavingText, spec, step, removeLeaving]);\n\n const setRef = useCallback(\n (element: HTMLElement | null) => {\n node.current = element;\n if (typeof ref === \"function\") return ref(element);\n if (ref) ref.current = element;\n },\n [ref],\n );\n\n const paused = !inView;\n\n function renderLayer(layer: Layer, phase: \"enter\" | \"exit\"): ReactNode {\n const exiting = phase === \"exit\";\n const active = exiting ? spec.exit : layer.mode === \"enter\" ? spec.enter : null;\n const base = exiting ? 0 : layer.wait + delay;\n\n const shared = {\n \"data-slot\": \"text-swap-layer\",\n \"data-state\": exiting ? \"exit\" : layer.mode === \"enter\" ? \"enter\" : \"idle\",\n \"aria-hidden\": exiting ? true : undefined,\n } as const;\n\n if (!spec.split || !active) {\n return (\n <span\n key={layer.key}\n {...shared}\n data-swap-last=\"\"\n style={active ? animation(active, base, paused) : undefined}\n >\n {layer.text}\n </span>\n );\n }\n\n const tokens = tokenize(layer.text);\n const words = tokens.filter((token) => token.trim().length > 0).length;\n let index = -1;\n return (\n <span key={layer.key} {...shared}>\n {exiting ? null : <span className=\"sr-only\">{layer.text}</span>}\n <span aria-hidden=\"true\" data-slot=\"text-swap-words\">\n {tokens.map((token, position) => {\n if (token.trim().length === 0) return token;\n index += 1;\n const order = direction === \"backward\" ? words - 1 - index : index;\n const style: CSSProperties & Record<\"--i\", number> = {\n \"--i\": order,\n ...animation(active, base + order * step, paused),\n };\n return (\n <span\n key={position}\n data-slot=\"text-swap-word\"\n data-swap-last={order === words - 1 ? \"\" : undefined}\n style={style}\n >\n {token}\n </span>\n );\n })}\n </span>\n </span>\n );\n }\n\n const Tag = as as \"span\";\n const display = as === \"span\" ? \"inline\" : \"block\";\n\n return (\n <>\n <style href={PREFIX} precedence=\"dowel\">\n {STYLES}\n </style>\n <Tag\n ref={setRef}\n data-slot=\"text-swap\"\n data-transition={transition}\n data-direction={direction}\n className={cn(textSwapVariants({ transition, display }), className)}\n style={\n { \"--text-swap-dir\": direction === \"backward\" ? -1 : 1, ...style } as CSSProperties\n }\n {...props}\n >\n {leaving ? renderLayer(leaving, \"exit\") : null}\n {renderLayer(current, \"enter\")}\n </Tag>\n </>\n );\n}\n\nexport { textSwapVariants };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/textarea/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "textarea",
|
|
5
|
+
title: "Textarea",
|
|
6
|
+
description: "A multi-line text field, with optional auto-resize and a character count that knows when to stay quiet.",
|
|
7
|
+
category: "form",
|
|
8
|
+
status: "stable",
|
|
9
|
+
dependencies: ["class-variance-authority"],
|
|
10
|
+
registryDependencies: [],
|
|
11
|
+
files: ["textarea.tsx"],
|
|
12
|
+
a11y: "Pair with a Label via htmlFor/id. The error state is driven by aria-invalid, so assistive technology and styling stay in sync. The character count is described by the field rather than announced on every keystroke — a permanently live counter reads the remaining number between every letter typed, which is unusable — so it goes live only once the limit is close, and states the remainder in words rather than as a bare ratio that is read aloud as two unlabelled numbers. Horizontal resizing is off by default, because a field dragged wider than its container is a broken layout."
|
|
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/textarea/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"textarea\",\n title: \"Textarea\",\n description:\n \"A multi-line text field, with optional auto-resize and a character count that knows when to stay quiet.\",\n category: \"form\",\n status: \"stable\",\n dependencies: [\"class-variance-authority\"],\n registryDependencies: [],\n files: [\"textarea.tsx\"],\n a11y:\n \"Pair with a Label via htmlFor/id. The error state is driven by aria-invalid, so assistive \" +\n \"technology and styling stay in sync. The character count is described by the field rather \" +\n \"than announced on every keystroke — a permanently live counter reads the remaining number \" +\n \"between every letter typed, which is unusable — so it goes live only once the limit is \" +\n \"close, and states the remainder in words rather than as a bare ratio that is read aloud as \" +\n \"two unlabelled numbers. Horizontal resizing is off by default, because a field dragged \" +\n \"wider than its container is a broken layout.\",\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,cAAc;CACtB,MACE;AAOJ,CAAC"}
|