@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,260 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { focusRing } from "../../lib/styles.js";
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import { Button } from "../button/button.js";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { cva } from "class-variance-authority";
|
|
7
|
+
import { useEffect, useId, useRef, useState } from "react";
|
|
8
|
+
import { LayoutGroup, MotionConfig, motion } from "motion/react";
|
|
9
|
+
//#region src/components/app-stack/app-stack.tsx
|
|
10
|
+
const PREFIX = "dowel-app-stack";
|
|
11
|
+
const STYLES = `@keyframes ${PREFIX}-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
|
|
12
|
+
@keyframes ${PREFIX}-shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
|
|
13
|
+
@keyframes ${PREFIX}-in{from{opacity:0;transform:translateY(12px)}}
|
|
14
|
+
[data-slot=app-stack-float]{animation:${PREFIX}-float calc(2s * var(--motion-scale, 1)) cubic-bezier(.645,.045,.355,1) var(--app-stack-delay, 0s) infinite}
|
|
15
|
+
[data-slot=app-stack-shine]{animation:${PREFIX}-shine calc(1s * var(--motion-scale, 1)) linear infinite}
|
|
16
|
+
[data-slot=app-stack-tile]{animation:${PREFIX}-in var(--duration-normal, 200ms) var(--ease-out-quint, ease-out) var(--app-stack-delay, 0s) both}`;
|
|
17
|
+
const appStackTileVariants = cva(cn("flex size-20 flex-col items-center justify-center gap-1 rounded-xl border-2 p-2", "transition-[border-color,background-color] duration-[var(--duration-fast)] ease-[var(--ease-out-quint)]", focusRing), {
|
|
18
|
+
variants: { selected: {
|
|
19
|
+
true: "border-primary bg-[color-mix(in_oklab,var(--color-primary)_10%,transparent)]",
|
|
20
|
+
false: "border-transparent bg-muted hover:border-primary"
|
|
21
|
+
} },
|
|
22
|
+
defaultVariants: { selected: false }
|
|
23
|
+
});
|
|
24
|
+
function Icon({ icon }) {
|
|
25
|
+
return typeof icon === "string" ? /* @__PURE__ */ jsx("img", {
|
|
26
|
+
src: icon,
|
|
27
|
+
alt: "",
|
|
28
|
+
draggable: false,
|
|
29
|
+
className: "size-full rounded-xl object-cover"
|
|
30
|
+
}) : /* @__PURE__ */ jsx("span", {
|
|
31
|
+
className: "flex size-full items-center justify-center overflow-hidden rounded-xl",
|
|
32
|
+
children: icon
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function CheckIcon() {
|
|
36
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
37
|
+
viewBox: "0 0 24 24",
|
|
38
|
+
fill: "none",
|
|
39
|
+
stroke: "currentColor",
|
|
40
|
+
strokeWidth: "3",
|
|
41
|
+
strokeLinecap: "round",
|
|
42
|
+
strokeLinejoin: "round",
|
|
43
|
+
className: "size-3",
|
|
44
|
+
"aria-hidden": "true",
|
|
45
|
+
children: /* @__PURE__ */ jsx("path", { d: "M5 13l4 4L19 7" })
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function ChevronIcon() {
|
|
49
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
50
|
+
viewBox: "0 0 24 24",
|
|
51
|
+
fill: "none",
|
|
52
|
+
stroke: "currentColor",
|
|
53
|
+
strokeWidth: "2",
|
|
54
|
+
strokeLinecap: "round",
|
|
55
|
+
strokeLinejoin: "round",
|
|
56
|
+
className: "size-4 rotate-180",
|
|
57
|
+
"aria-hidden": "true",
|
|
58
|
+
children: /* @__PURE__ */ jsx("path", { d: "M6 9l6 6 6-6" })
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/** Stacked app icons that fan out and open into a multi-select download picker. */
|
|
62
|
+
function AppStack({ className, apps, title = "Apps", triggerLabel, expanded: expandedProp, defaultExpanded = false, onExpandedChange, selected: selectedProp, defaultSelected = [], onSelectedChange, onDownload, resetAfter = 1e3, downloadLabel = "Download selected", downloadingLabel = "Downloading…", completeLabel = "Download complete", failedLabel = "Download failed", ...props }) {
|
|
63
|
+
const layout = useId();
|
|
64
|
+
const [expandedState, setExpandedState] = useState(defaultExpanded);
|
|
65
|
+
const [selectedState, setSelectedState] = useState(defaultSelected);
|
|
66
|
+
const [status, setStatus] = useState("idle");
|
|
67
|
+
const [message, setMessage] = useState("");
|
|
68
|
+
const busy = status !== "idle";
|
|
69
|
+
const expanded = (expandedProp ?? expandedState) && !busy;
|
|
70
|
+
const selected = selectedProp ?? selectedState;
|
|
71
|
+
const trigger = useRef(null);
|
|
72
|
+
const header = useRef(null);
|
|
73
|
+
const pendingFocus = useRef(null);
|
|
74
|
+
const timer = useRef(null);
|
|
75
|
+
const alive = useRef(true);
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
alive.current = true;
|
|
78
|
+
return () => {
|
|
79
|
+
alive.current = false;
|
|
80
|
+
if (timer.current) clearTimeout(timer.current);
|
|
81
|
+
};
|
|
82
|
+
}, []);
|
|
83
|
+
useEffect(() => {
|
|
84
|
+
(pendingFocus.current === "header" ? header : pendingFocus.current === "trigger" ? trigger : null)?.current?.focus();
|
|
85
|
+
pendingFocus.current = null;
|
|
86
|
+
}, [expanded]);
|
|
87
|
+
function setExpanded(next) {
|
|
88
|
+
pendingFocus.current = next ? "header" : "trigger";
|
|
89
|
+
if (next) setMessage("");
|
|
90
|
+
if (expandedProp === void 0) setExpandedState(next);
|
|
91
|
+
onExpandedChange?.(next);
|
|
92
|
+
}
|
|
93
|
+
function setSelected(next) {
|
|
94
|
+
if (selectedProp === void 0) setSelectedState(next);
|
|
95
|
+
onSelectedChange?.(next);
|
|
96
|
+
}
|
|
97
|
+
function toggle(id) {
|
|
98
|
+
setSelected(selected.includes(id) ? selected.filter((item) => item !== id) : [...selected, id]);
|
|
99
|
+
}
|
|
100
|
+
async function download() {
|
|
101
|
+
const ids = selected;
|
|
102
|
+
setStatus("downloading");
|
|
103
|
+
setMessage(downloadingLabel);
|
|
104
|
+
setExpanded(false);
|
|
105
|
+
try {
|
|
106
|
+
await onDownload?.(ids);
|
|
107
|
+
} catch {
|
|
108
|
+
if (!alive.current) return;
|
|
109
|
+
setStatus("idle");
|
|
110
|
+
setMessage(failedLabel);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
if (!alive.current) return;
|
|
114
|
+
setStatus("complete");
|
|
115
|
+
setMessage(completeLabel);
|
|
116
|
+
timer.current = setTimeout(() => {
|
|
117
|
+
setStatus("idle");
|
|
118
|
+
setMessage("");
|
|
119
|
+
setSelected([]);
|
|
120
|
+
}, resetAfter);
|
|
121
|
+
}
|
|
122
|
+
const delay = (index, step) => ({ "--app-stack-delay": `calc(${String(index * step)}ms * var(--motion-scale, 1))` });
|
|
123
|
+
return /* @__PURE__ */ jsx(MotionConfig, {
|
|
124
|
+
reducedMotion: "user",
|
|
125
|
+
children: /* @__PURE__ */ jsx(LayoutGroup, {
|
|
126
|
+
id: layout,
|
|
127
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
128
|
+
"data-slot": "app-stack",
|
|
129
|
+
"data-state": expanded ? "expanded" : "collapsed",
|
|
130
|
+
"data-status": status,
|
|
131
|
+
className: cn("flex flex-col items-center gap-3", className),
|
|
132
|
+
...props,
|
|
133
|
+
children: [
|
|
134
|
+
/* @__PURE__ */ jsx("style", {
|
|
135
|
+
href: PREFIX,
|
|
136
|
+
precedence: "dowel",
|
|
137
|
+
children: STYLES
|
|
138
|
+
}),
|
|
139
|
+
expanded ? /* @__PURE__ */ jsxs("div", {
|
|
140
|
+
"data-slot": "app-stack-panel",
|
|
141
|
+
className: "flex flex-col items-stretch gap-2",
|
|
142
|
+
children: [
|
|
143
|
+
/* @__PURE__ */ jsxs("button", {
|
|
144
|
+
ref: header,
|
|
145
|
+
type: "button",
|
|
146
|
+
"aria-expanded": "true",
|
|
147
|
+
className: cn("flex items-center justify-between gap-4 rounded-md px-0.5 text-sm font-medium", focusRing),
|
|
148
|
+
onClick: () => {
|
|
149
|
+
setExpanded(false);
|
|
150
|
+
},
|
|
151
|
+
children: [/* @__PURE__ */ jsx("span", { children: title }), /* @__PURE__ */ jsxs("span", {
|
|
152
|
+
className: "flex items-center gap-1",
|
|
153
|
+
children: [
|
|
154
|
+
selected.length,
|
|
155
|
+
/* @__PURE__ */ jsx("span", {
|
|
156
|
+
className: "sr-only",
|
|
157
|
+
children: " selected"
|
|
158
|
+
}),
|
|
159
|
+
/* @__PURE__ */ jsx(ChevronIcon, {})
|
|
160
|
+
]
|
|
161
|
+
})]
|
|
162
|
+
}),
|
|
163
|
+
/* @__PURE__ */ jsx("ul", {
|
|
164
|
+
className: "grid grid-cols-2 gap-3",
|
|
165
|
+
children: apps.map((app, index) => {
|
|
166
|
+
const on = selected.includes(app.id);
|
|
167
|
+
return /* @__PURE__ */ jsxs("li", {
|
|
168
|
+
"data-slot": "app-stack-tile",
|
|
169
|
+
className: "relative",
|
|
170
|
+
style: delay(index, 100),
|
|
171
|
+
children: [/* @__PURE__ */ jsxs("button", {
|
|
172
|
+
type: "button",
|
|
173
|
+
"aria-pressed": on,
|
|
174
|
+
className: appStackTileVariants({ selected: on }),
|
|
175
|
+
onClick: () => {
|
|
176
|
+
toggle(app.id);
|
|
177
|
+
},
|
|
178
|
+
children: [/* @__PURE__ */ jsx(motion.span, {
|
|
179
|
+
layoutId: app.id,
|
|
180
|
+
"aria-hidden": "true",
|
|
181
|
+
className: "block size-10",
|
|
182
|
+
children: /* @__PURE__ */ jsx(Icon, { icon: app.icon })
|
|
183
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
184
|
+
className: "max-w-full truncate text-xs font-medium",
|
|
185
|
+
children: app.name
|
|
186
|
+
})]
|
|
187
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
188
|
+
"aria-hidden": "true",
|
|
189
|
+
"data-state": on ? "checked" : "unchecked",
|
|
190
|
+
className: cn("pointer-events-none absolute end-2 top-2 flex size-4 items-center justify-center rounded-full border", "transition-[background-color,border-color,color] duration-[var(--duration-fast)]", on ? "border-primary bg-primary text-primary-foreground" : "border-border-strong text-transparent"),
|
|
191
|
+
children: /* @__PURE__ */ jsx(CheckIcon, {})
|
|
192
|
+
})]
|
|
193
|
+
}, app.id);
|
|
194
|
+
})
|
|
195
|
+
}),
|
|
196
|
+
/* @__PURE__ */ jsx(Button, {
|
|
197
|
+
className: "mt-2 w-full",
|
|
198
|
+
disabled: selected.length === 0,
|
|
199
|
+
onClick: () => void download(),
|
|
200
|
+
children: downloadLabel
|
|
201
|
+
})
|
|
202
|
+
]
|
|
203
|
+
}) : /* @__PURE__ */ jsxs("button", {
|
|
204
|
+
ref: trigger,
|
|
205
|
+
type: "button",
|
|
206
|
+
"aria-expanded": "false",
|
|
207
|
+
"aria-disabled": busy || void 0,
|
|
208
|
+
"aria-label": triggerLabel ?? `Choose from ${title}`,
|
|
209
|
+
"data-slot": "app-stack-trigger",
|
|
210
|
+
className: cn("group/app-stack relative isolate size-16 rounded-xl", focusRing, busy && "cursor-progress"),
|
|
211
|
+
onClick: () => {
|
|
212
|
+
if (!busy) setExpanded(true);
|
|
213
|
+
},
|
|
214
|
+
children: [apps.map((app, index) => {
|
|
215
|
+
const side = index % 2 === 0 ? -1 : 1;
|
|
216
|
+
const fan = {
|
|
217
|
+
"--rest-rotate": `${String(side * 8 * (index + 1))}deg`,
|
|
218
|
+
"--rest-x": `${String(side * 3 * (index + 1))}px`,
|
|
219
|
+
"--hover-x": `${String(index * 10)}px`,
|
|
220
|
+
"--hover-y": `${String(index * -10)}px`
|
|
221
|
+
};
|
|
222
|
+
return /* @__PURE__ */ jsx(motion.span, {
|
|
223
|
+
layoutId: app.id,
|
|
224
|
+
className: "absolute inset-0",
|
|
225
|
+
style: { zIndex: apps.length - index },
|
|
226
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
227
|
+
className: cn("block size-full translate-x-[var(--rest-x)] rotate-[var(--rest-rotate)]", "transition-[rotate,translate] duration-[var(--duration-normal)] ease-[var(--ease-out-quint)]", !busy && "group-hover/app-stack:translate-x-[var(--hover-x)] group-hover/app-stack:translate-y-[var(--hover-y)] group-hover/app-stack:rotate-0 group-focus-visible/app-stack:translate-x-[var(--hover-x)] group-focus-visible/app-stack:translate-y-[var(--hover-y)] group-focus-visible/app-stack:rotate-0"),
|
|
228
|
+
style: fan,
|
|
229
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
230
|
+
"data-slot": "app-stack-float",
|
|
231
|
+
className: "block size-full",
|
|
232
|
+
style: delay(index, 200),
|
|
233
|
+
children: /* @__PURE__ */ jsx(Icon, { icon: app.icon })
|
|
234
|
+
})
|
|
235
|
+
})
|
|
236
|
+
}, app.id);
|
|
237
|
+
}), status === "downloading" ? /* @__PURE__ */ jsx("span", {
|
|
238
|
+
"aria-hidden": "true",
|
|
239
|
+
className: "absolute inset-0 z-50 overflow-hidden rounded-xl",
|
|
240
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
241
|
+
"data-slot": "app-stack-shine",
|
|
242
|
+
className: "block size-full bg-[linear-gradient(90deg,transparent,color-mix(in_oklab,var(--color-primary)_35%,transparent),transparent)]"
|
|
243
|
+
})
|
|
244
|
+
}) : null]
|
|
245
|
+
}),
|
|
246
|
+
/* @__PURE__ */ jsx("span", {
|
|
247
|
+
role: "status",
|
|
248
|
+
"data-slot": "app-stack-status",
|
|
249
|
+
className: cn("text-sm font-semibold empty:hidden", status === "complete" ? "text-success" : status === "downloading" ? "text-primary" : "text-destructive"),
|
|
250
|
+
children: message
|
|
251
|
+
})
|
|
252
|
+
]
|
|
253
|
+
})
|
|
254
|
+
})
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
//#endregion
|
|
258
|
+
export { AppStack, appStackTileVariants };
|
|
259
|
+
|
|
260
|
+
//# sourceMappingURL=app-stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-stack.js","names":[],"sources":["../../../src/components/app-stack/app-stack.tsx"],"sourcesContent":["\"use client\";\n\n// Ported from SmoothUI App Download Stack (MIT, © 2024 Eduardo Calvo). See THIRD_PARTY_NOTICES.md.\nimport { cva } from \"class-variance-authority\";\nimport { LayoutGroup, MotionConfig, motion } from \"motion/react\";\nimport {\n useEffect,\n useId,\n useRef,\n useState,\n type ComponentPropsWithRef,\n type CSSProperties,\n type ReactNode,\n} from \"react\";\n\nimport { Button } from \"@/components/button\";\nimport { focusRing } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\n/*\n * A pile of app icons that fans out on hover, and opens into a grid where each\n * app is a toggle; the selection is then handed to `onDownload`.\n *\n * `motion` is here for one thing (ADR 0014): each icon is the same layoutId in\n * the pile and in the grid, so opening the picker flies every icon from its\n * place in the stack to its tile and back — a shared-layout animation between\n * two DOM positions, which CSS cannot express. Everything else is CSS: the fan\n * (rotate/translate transitions), the idle float and the progress shine\n * (hoisted keyframes on --motion-scale). Under reduced motion MotionConfig makes\n * the layout change instant and the CSS snaps.\n *\n * The source faked a three-second download. Here the state is real: while the\n * promise returned by `onDownload` is pending the stack shows progress, then\n * \"complete\", then resets; a rejection announces the failure and keeps the\n * selection.\n */\n\nconst PREFIX = \"dowel-app-stack\";\n\nconst STYLES = `@keyframes ${PREFIX}-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}\n@keyframes ${PREFIX}-shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}\n@keyframes ${PREFIX}-in{from{opacity:0;transform:translateY(12px)}}\n[data-slot=app-stack-float]{animation:${PREFIX}-float calc(2s * var(--motion-scale, 1)) cubic-bezier(.645,.045,.355,1) var(--app-stack-delay, 0s) infinite}\n[data-slot=app-stack-shine]{animation:${PREFIX}-shine calc(1s * var(--motion-scale, 1)) linear infinite}\n[data-slot=app-stack-tile]{animation:${PREFIX}-in var(--duration-normal, 200ms) var(--ease-out-quint, ease-out) var(--app-stack-delay, 0s) both}`;\n\nconst appStackTileVariants = cva(\n cn(\n \"flex size-20 flex-col items-center justify-center gap-1 rounded-xl border-2 p-2\",\n \"transition-[border-color,background-color] duration-[var(--duration-fast)] ease-[var(--ease-out-quint)]\",\n focusRing,\n ),\n {\n variants: {\n selected: {\n true: \"border-primary bg-[color-mix(in_oklab,var(--color-primary)_10%,transparent)]\",\n false: \"border-transparent bg-muted hover:border-primary\",\n },\n },\n defaultVariants: { selected: false },\n },\n);\n\nexport interface AppStackItem {\n id: string;\n /** The app's name: the tile's label and the toggle's accessible name. */\n name: string;\n /** An image URL, or any node (an inline SVG, an icon component). Decorative. */\n icon: string | ReactNode;\n}\n\nexport type AppStackStatus = \"idle\" | \"downloading\" | \"complete\";\n\nexport interface AppStackProps extends Omit<ComponentPropsWithRef<\"div\">, \"children\"> {\n apps: AppStackItem[];\n /** The picker's heading, e.g. \"Starter Mac\". */\n title?: string;\n /** Accessible name of the collapsed stack. Defaults to \"Choose from {title}\". */\n triggerLabel?: string;\n expanded?: boolean;\n defaultExpanded?: boolean;\n onExpandedChange?: (expanded: boolean) => void;\n /** Controlled selection, by app id. */\n selected?: string[];\n defaultSelected?: string[];\n onSelectedChange?: (selected: string[]) => void;\n /** Called with the selected ids. Return a promise to show progress until it settles. */\n onDownload?: (selected: string[]) => void | Promise<unknown>;\n /** Milliseconds the completed state shows before resetting. */\n resetAfter?: number;\n downloadLabel?: string;\n downloadingLabel?: string;\n completeLabel?: string;\n failedLabel?: string;\n}\n\nfunction Icon({ icon }: { icon: AppStackItem[\"icon\"] }) {\n return typeof icon === \"string\" ? (\n <img src={icon} alt=\"\" draggable={false} className=\"size-full rounded-xl object-cover\" />\n ) : (\n <span className=\"flex size-full items-center justify-center overflow-hidden rounded-xl\">\n {icon}\n </span>\n );\n}\n\nfunction CheckIcon() {\n return (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"size-3\"\n aria-hidden=\"true\"\n >\n <path d=\"M5 13l4 4L19 7\" />\n </svg>\n );\n}\n\nfunction ChevronIcon() {\n return (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"size-4 rotate-180\"\n aria-hidden=\"true\"\n >\n <path d=\"M6 9l6 6 6-6\" />\n </svg>\n );\n}\n\n/** Stacked app icons that fan out and open into a multi-select download picker. */\nexport function AppStack({\n className,\n apps,\n title = \"Apps\",\n triggerLabel,\n expanded: expandedProp,\n defaultExpanded = false,\n onExpandedChange,\n selected: selectedProp,\n defaultSelected = [],\n onSelectedChange,\n onDownload,\n resetAfter = 1000,\n downloadLabel = \"Download selected\",\n downloadingLabel = \"Downloading…\",\n completeLabel = \"Download complete\",\n failedLabel = \"Download failed\",\n ...props\n}: AppStackProps) {\n const layout = useId();\n const [expandedState, setExpandedState] = useState(defaultExpanded);\n const [selectedState, setSelectedState] = useState(defaultSelected);\n const [status, setStatus] = useState<AppStackStatus>(\"idle\");\n const [message, setMessage] = useState(\"\");\n const busy = status !== \"idle\";\n const expanded = (expandedProp ?? expandedState) && !busy;\n const selected = selectedProp ?? selectedState;\n\n const trigger = useRef<HTMLButtonElement>(null);\n const header = useRef<HTMLButtonElement>(null);\n const pendingFocus = useRef<\"trigger\" | \"header\" | null>(null);\n const timer = useRef<ReturnType<typeof setTimeout> | null>(null);\n const alive = useRef(true);\n\n useEffect(() => {\n alive.current = true;\n return () => {\n alive.current = false;\n if (timer.current) clearTimeout(timer.current);\n };\n }, []);\n\n useEffect(() => {\n const target =\n pendingFocus.current === \"header\"\n ? header\n : pendingFocus.current === \"trigger\"\n ? trigger\n : null;\n target?.current?.focus();\n pendingFocus.current = null;\n }, [expanded]);\n\n function setExpanded(next: boolean) {\n pendingFocus.current = next ? \"header\" : \"trigger\";\n if (next) setMessage(\"\");\n if (expandedProp === undefined) setExpandedState(next);\n onExpandedChange?.(next);\n }\n\n function setSelected(next: string[]) {\n if (selectedProp === undefined) setSelectedState(next);\n onSelectedChange?.(next);\n }\n\n function toggle(id: string) {\n setSelected(\n selected.includes(id) ? selected.filter((item) => item !== id) : [...selected, id],\n );\n }\n\n async function download() {\n const ids = selected;\n setStatus(\"downloading\");\n setMessage(downloadingLabel);\n setExpanded(false);\n try {\n await onDownload?.(ids);\n } catch {\n if (!alive.current) return;\n setStatus(\"idle\");\n setMessage(failedLabel);\n return;\n }\n if (!alive.current) return;\n setStatus(\"complete\");\n setMessage(completeLabel);\n timer.current = setTimeout(() => {\n setStatus(\"idle\");\n setMessage(\"\");\n setSelected([]);\n }, resetAfter);\n }\n\n const delay = (index: number, step: number): CSSProperties =>\n ({\n \"--app-stack-delay\": `calc(${String(index * step)}ms * var(--motion-scale, 1))`,\n }) as CSSProperties;\n\n return (\n <MotionConfig reducedMotion=\"user\">\n <LayoutGroup id={layout}>\n <div\n data-slot=\"app-stack\"\n data-state={expanded ? \"expanded\" : \"collapsed\"}\n data-status={status}\n className={cn(\"flex flex-col items-center gap-3\", className)}\n {...props}\n >\n <style href={PREFIX} precedence=\"dowel\">\n {STYLES}\n </style>\n {expanded ? (\n <div data-slot=\"app-stack-panel\" className=\"flex flex-col items-stretch gap-2\">\n <button\n ref={header}\n type=\"button\"\n aria-expanded=\"true\"\n className={cn(\n \"flex items-center justify-between gap-4 rounded-md px-0.5 text-sm font-medium\",\n focusRing,\n )}\n onClick={() => {\n setExpanded(false);\n }}\n >\n <span>{title}</span>\n <span className=\"flex items-center gap-1\">\n {selected.length}\n <span className=\"sr-only\"> selected</span>\n <ChevronIcon />\n </span>\n </button>\n <ul className=\"grid grid-cols-2 gap-3\">\n {apps.map((app, index) => {\n const on = selected.includes(app.id);\n return (\n <li\n key={app.id}\n data-slot=\"app-stack-tile\"\n className=\"relative\"\n style={delay(index, 100)}\n >\n <button\n type=\"button\"\n aria-pressed={on}\n className={appStackTileVariants({ selected: on })}\n onClick={() => {\n toggle(app.id);\n }}\n >\n <motion.span\n layoutId={app.id}\n aria-hidden=\"true\"\n className=\"block size-10\"\n >\n <Icon icon={app.icon} />\n </motion.span>\n <span className=\"max-w-full truncate text-xs font-medium\">\n {app.name}\n </span>\n </button>\n <span\n aria-hidden=\"true\"\n data-state={on ? \"checked\" : \"unchecked\"}\n className={cn(\n \"pointer-events-none absolute end-2 top-2 flex size-4 items-center justify-center rounded-full border\",\n \"transition-[background-color,border-color,color] duration-[var(--duration-fast)]\",\n on\n ? \"border-primary bg-primary text-primary-foreground\"\n : \"border-border-strong text-transparent\",\n )}\n >\n <CheckIcon />\n </span>\n </li>\n );\n })}\n </ul>\n <Button\n className=\"mt-2 w-full\"\n disabled={selected.length === 0}\n onClick={() => void download()}\n >\n {downloadLabel}\n </Button>\n </div>\n ) : (\n <button\n ref={trigger}\n type=\"button\"\n aria-expanded=\"false\"\n aria-disabled={busy || undefined}\n aria-label={triggerLabel ?? `Choose from ${title}`}\n data-slot=\"app-stack-trigger\"\n className={cn(\n \"group/app-stack relative isolate size-16 rounded-xl\",\n focusRing,\n busy && \"cursor-progress\",\n )}\n onClick={() => {\n if (!busy) setExpanded(true);\n }}\n >\n {apps.map((app, index) => {\n const side = index % 2 === 0 ? -1 : 1;\n const fan = {\n \"--rest-rotate\": `${String(side * 8 * (index + 1))}deg`,\n \"--rest-x\": `${String(side * 3 * (index + 1))}px`,\n \"--hover-x\": `${String(index * 10)}px`,\n \"--hover-y\": `${String(index * -10)}px`,\n } as CSSProperties;\n return (\n <motion.span\n key={app.id}\n layoutId={app.id}\n className=\"absolute inset-0\"\n style={{ zIndex: apps.length - index }}\n >\n <span\n className={cn(\n \"block size-full translate-x-[var(--rest-x)] rotate-[var(--rest-rotate)]\",\n \"transition-[rotate,translate] duration-[var(--duration-normal)] ease-[var(--ease-out-quint)]\",\n !busy &&\n \"group-hover/app-stack:translate-x-[var(--hover-x)] group-hover/app-stack:translate-y-[var(--hover-y)] group-hover/app-stack:rotate-0 group-focus-visible/app-stack:translate-x-[var(--hover-x)] group-focus-visible/app-stack:translate-y-[var(--hover-y)] group-focus-visible/app-stack:rotate-0\",\n )}\n style={fan}\n >\n <span\n data-slot=\"app-stack-float\"\n className=\"block size-full\"\n style={delay(index, 200)}\n >\n <Icon icon={app.icon} />\n </span>\n </span>\n </motion.span>\n );\n })}\n {status === \"downloading\" ? (\n <span\n aria-hidden=\"true\"\n className=\"absolute inset-0 z-50 overflow-hidden rounded-xl\"\n >\n <span\n data-slot=\"app-stack-shine\"\n className=\"block size-full bg-[linear-gradient(90deg,transparent,color-mix(in_oklab,var(--color-primary)_35%,transparent),transparent)]\"\n />\n </span>\n ) : null}\n </button>\n )}\n <span\n role=\"status\"\n data-slot=\"app-stack-status\"\n className={cn(\n \"text-sm font-semibold empty:hidden\",\n status === \"complete\"\n ? \"text-success\"\n : status === \"downloading\"\n ? \"text-primary\"\n : \"text-destructive\",\n )}\n >\n {message}\n </span>\n </div>\n </LayoutGroup>\n </MotionConfig>\n );\n}\n\nexport { appStackTileVariants };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/app-stack/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "app-stack",
|
|
5
|
+
title: "App Stack",
|
|
6
|
+
description: "A pile of app icons that fans out on hover and opens into a multi-select picker whose icons fly to their tiles.",
|
|
7
|
+
category: "form",
|
|
8
|
+
status: "beta",
|
|
9
|
+
dependencies: ["class-variance-authority", "motion"],
|
|
10
|
+
registryDependencies: ["button"],
|
|
11
|
+
files: ["app-stack.tsx"],
|
|
12
|
+
a11y: "The collapsed stack is a button (aria-expanded=\"false\", named \"Choose from {title}\" or triggerLabel); opening moves focus to the picker's header button (aria-expanded=\"true\"), which closes it and returns focus. Each app is a toggle button (aria-pressed) named by the app; icons and check marks are decorative. The download button is disabled until something is selected. Progress, completion and failure are announced through a polite status region, and the stack is aria-disabled while busy. Under reduced motion the icons move without animating (MotionConfig) and the fan, float and shine stop."
|
|
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/app-stack/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"app-stack\",\n title: \"App Stack\",\n description:\n \"A pile of app icons that fans out on hover and opens into a multi-select picker whose icons fly to their tiles.\",\n category: \"form\",\n status: \"beta\",\n dependencies: [\"class-variance-authority\", \"motion\"],\n registryDependencies: [\"button\"],\n files: [\"app-stack.tsx\"],\n a11y:\n 'The collapsed stack is a button (aria-expanded=\"false\", named \"Choose from {title}\" or triggerLabel); opening ' +\n 'moves focus to the picker\\'s header button (aria-expanded=\"true\"), which closes it and returns focus. Each app ' +\n \"is a toggle button (aria-pressed) named by the app; icons and check marks are decorative. The download \" +\n \"button is disabled until something is selected. Progress, completion and failure are announced through a \" +\n \"polite status region, and the stack is aria-disabled while busy. Under reduced motion the icons move without \" +\n \"animating (MotionConfig) and the fan, float and shine stop.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aACE;CACF,UAAU;CACV,QAAQ;CACR,cAAc,CAAC,4BAA4B,QAAQ;CACnD,sBAAsB,CAAC,QAAQ;CAC/B,OAAO,CAAC,eAAe;CACvB,MACE;AAMJ,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ComponentPropsWithRef, ReactNode } from "react";
|
|
2
|
+
//#region src/components/aspect-morph/aspect-morph.d.ts
|
|
3
|
+
interface AspectMorphRatio {
|
|
4
|
+
value: string;
|
|
5
|
+
/** Accessible name of the option, e.g. "Landscape, 4 by 3". */
|
|
6
|
+
label: string;
|
|
7
|
+
/** Width divided by height. */
|
|
8
|
+
ratio: number;
|
|
9
|
+
/** Replaces the drawn outline icon. Decorative. */
|
|
10
|
+
icon?: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
declare const defaultAspectMorphRatios: AspectMorphRatio[];
|
|
13
|
+
/** The option buttons of the segmented control. */
|
|
14
|
+
declare const aspectMorphVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
15
|
+
/** Width and height of a `ratio` shape with the same area as ¾ of a `box`-sided square. */
|
|
16
|
+
declare function fitAspect(ratio: number, box: number): {
|
|
17
|
+
width: number;
|
|
18
|
+
height: number;
|
|
19
|
+
};
|
|
20
|
+
interface AspectMorphProps extends Omit<ComponentPropsWithRef<"div">, "defaultValue" | "onChange"> {
|
|
21
|
+
/** The shapes to choose between. */
|
|
22
|
+
ratios?: AspectMorphRatio[];
|
|
23
|
+
/** Controlled selected ratio value. */
|
|
24
|
+
value?: string;
|
|
25
|
+
/** Initial value when uncontrolled. Defaults to the first ratio. */
|
|
26
|
+
defaultValue?: string;
|
|
27
|
+
/** Called with the newly selected ratio value. */
|
|
28
|
+
onValueChange?: (value: string) => void;
|
|
29
|
+
/** Picture URL, drawn as a cover-cropped background. */
|
|
30
|
+
src?: string;
|
|
31
|
+
/** Names the picture (role="img"). Without it the picture is decorative. */
|
|
32
|
+
alt?: string;
|
|
33
|
+
/** Speed, 0–100: 0 morphs over 832ms, 50 over 520ms, 100 over 208ms. */
|
|
34
|
+
morph?: number;
|
|
35
|
+
/** Corner radius of the picture in px. */
|
|
36
|
+
corner?: number;
|
|
37
|
+
/** Side of the square box the picture is fitted into, in px. */
|
|
38
|
+
size?: number;
|
|
39
|
+
/** Accessible name of the radiogroup. */
|
|
40
|
+
label?: string;
|
|
41
|
+
/** Disables the ratio picker. */
|
|
42
|
+
disabled?: boolean;
|
|
43
|
+
/** Custom picture content (an <img>, <video>, canvas…); cropped to the frame. */
|
|
44
|
+
children?: ReactNode;
|
|
45
|
+
}
|
|
46
|
+
/** A picture that morphs between aspect ratios, picked from a segmented radiogroup. */
|
|
47
|
+
declare function AspectMorph({ className, style, ratios, value: valueProp, defaultValue, onValueChange, src, alt, morph, corner, size, label, disabled, children, ...props }: AspectMorphProps): import("react").JSX.Element;
|
|
48
|
+
//#endregion
|
|
49
|
+
export { AspectMorph, AspectMorphProps, AspectMorphRatio, aspectMorphVariants, defaultAspectMorphRatios, fitAspect };
|
|
50
|
+
//# sourceMappingURL=aspect-morph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aspect-morph.d.ts","names":[],"sources":["../../../src/components/aspect-morph/aspect-morph.tsx"],"mappings":";;UA2BiB;EACf;;EAEA;;EAEA;;EAEA,OAAO;;cAGI,0BAA0B;;cAOjC,sBAAmB,iDAAA;;iBAWT,UAAU,eAAe;EAAgB;EAAe;;UAiCvD,yBAAyB,KACxC;;EAIA,SAAS;;EAET;;EAEA;;EAEA,iBAAiB;;EAEjB;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA,WAAW;;;iBAIG,cACd,WACA,OACA,QACA,OAAO,WACP,cACA,eACA,KACA,KACA,OACA,QACA,MACA,OACA,UACA,aACG,SACF,mCAAgB,IAAA"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { focusRing } from "../../lib/styles.js";
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
import { useRef, useState } from "react";
|
|
7
|
+
//#region src/components/aspect-morph/aspect-morph.tsx
|
|
8
|
+
const defaultAspectMorphRatios = [
|
|
9
|
+
{
|
|
10
|
+
value: "4:3",
|
|
11
|
+
label: "Landscape, 4 by 3",
|
|
12
|
+
ratio: 4 / 3
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
value: "1:1",
|
|
16
|
+
label: "Square, 1 by 1",
|
|
17
|
+
ratio: 1
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
value: "3:4",
|
|
21
|
+
label: "Portrait, 3 by 4",
|
|
22
|
+
ratio: 3 / 4
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
/** The option buttons of the segmented control. */
|
|
26
|
+
const aspectMorphVariants = cva(cn("relative z-1 grid h-8 place-items-center rounded-full text-muted-foreground", "transition-[color,scale] duration-[var(--duration-fast)] ease-[var(--ease-out-quint)]", "hover:text-foreground active:scale-[0.92] aria-checked:text-foreground", "disabled:pointer-events-none disabled:opacity-55", focusRing));
|
|
27
|
+
/** Width and height of a `ratio` shape with the same area as ¾ of a `box`-sided square. */
|
|
28
|
+
function fitAspect(ratio, box) {
|
|
29
|
+
const area = box * box * .75;
|
|
30
|
+
const safe = ratio > 0 && Number.isFinite(ratio) ? ratio : 1;
|
|
31
|
+
const width = Math.min(Math.sqrt(area * safe), box);
|
|
32
|
+
const height = Math.min(Math.sqrt(area / safe), box);
|
|
33
|
+
return {
|
|
34
|
+
width: Math.round(width * 100) / 100,
|
|
35
|
+
height: Math.round(height * 100) / 100
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function RatioIcon({ ratio }) {
|
|
39
|
+
const { width, height } = fitAspect(ratio, 15);
|
|
40
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
41
|
+
viewBox: "0 0 18 18",
|
|
42
|
+
className: "size-4.5",
|
|
43
|
+
fill: "none",
|
|
44
|
+
"aria-hidden": "true",
|
|
45
|
+
children: /* @__PURE__ */ jsx("rect", {
|
|
46
|
+
x: (18 - width) / 2,
|
|
47
|
+
y: (18 - height) / 2,
|
|
48
|
+
width,
|
|
49
|
+
height,
|
|
50
|
+
rx: 2,
|
|
51
|
+
stroke: "currentColor",
|
|
52
|
+
strokeWidth: 1.5
|
|
53
|
+
})
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/** Whether the element sits in right-to-left text. */
|
|
57
|
+
function isRtl(element) {
|
|
58
|
+
return element.closest("[dir]")?.getAttribute("dir") === "rtl" || getComputedStyle(element).direction === "rtl";
|
|
59
|
+
}
|
|
60
|
+
/** A picture that morphs between aspect ratios, picked from a segmented radiogroup. */
|
|
61
|
+
function AspectMorph({ className, style, ratios = defaultAspectMorphRatios, value: valueProp, defaultValue, onValueChange, src, alt, morph = 50, corner = 18, size = 276, label = "Aspect ratio", disabled = false, children, ...props }) {
|
|
62
|
+
const [uncontrolled, setUncontrolled] = useState(defaultValue ?? ratios[0]?.value);
|
|
63
|
+
const value = valueProp !== void 0 ? valueProp : uncontrolled;
|
|
64
|
+
const options = useRef([]);
|
|
65
|
+
const found = ratios.findIndex((option) => option.value === value);
|
|
66
|
+
const index = Math.max(found, 0);
|
|
67
|
+
const current = ratios[index];
|
|
68
|
+
const frame = fitAspect(current?.ratio ?? 1, size);
|
|
69
|
+
const ms = 832 - 6.24 * Math.min(Math.max(morph, 0), 100);
|
|
70
|
+
function select(next) {
|
|
71
|
+
const option = ratios[next];
|
|
72
|
+
if (!option || option.value === value) return;
|
|
73
|
+
if (valueProp === void 0) setUncontrolled(option.value);
|
|
74
|
+
onValueChange?.(option.value);
|
|
75
|
+
}
|
|
76
|
+
function handleKeyDown(event, at) {
|
|
77
|
+
const last = ratios.length - 1;
|
|
78
|
+
const rtl = isRtl(event.currentTarget);
|
|
79
|
+
let next = {
|
|
80
|
+
ArrowDown: at + 1,
|
|
81
|
+
ArrowUp: at - 1,
|
|
82
|
+
ArrowRight: rtl ? at - 1 : at + 1,
|
|
83
|
+
ArrowLeft: rtl ? at + 1 : at - 1,
|
|
84
|
+
Home: 0,
|
|
85
|
+
End: last
|
|
86
|
+
}[event.key];
|
|
87
|
+
if (next === void 0) return;
|
|
88
|
+
event.preventDefault();
|
|
89
|
+
if (next > last) next = 0;
|
|
90
|
+
if (next < 0) next = last;
|
|
91
|
+
options.current[next]?.focus();
|
|
92
|
+
select(next);
|
|
93
|
+
}
|
|
94
|
+
const frameStyle = {
|
|
95
|
+
width: frame.width,
|
|
96
|
+
height: frame.height,
|
|
97
|
+
borderRadius: corner,
|
|
98
|
+
transitionDuration: `calc(${String(Math.round(ms))}ms * var(--motion-scale))`,
|
|
99
|
+
backgroundImage: src ? `url(${JSON.stringify(src)})` : void 0
|
|
100
|
+
};
|
|
101
|
+
const thumbStyle = {
|
|
102
|
+
width: `calc((100% - 0.25rem) / ${String(Math.max(ratios.length, 1))})`,
|
|
103
|
+
translate: `calc(var(--aspect-morph-dir) * ${String(index * 100)}%) 0`,
|
|
104
|
+
transitionDuration: `calc(${String(Math.round(ms * .55))}ms * var(--motion-scale))`
|
|
105
|
+
};
|
|
106
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
107
|
+
"data-slot": "aspect-morph",
|
|
108
|
+
"data-value": current?.value,
|
|
109
|
+
className: cn("inline-flex max-w-full flex-col items-center gap-3 [--aspect-morph-dir:1] rtl:[--aspect-morph-dir:-1]", className),
|
|
110
|
+
style: {
|
|
111
|
+
width: size,
|
|
112
|
+
...style
|
|
113
|
+
},
|
|
114
|
+
...props,
|
|
115
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
116
|
+
"data-slot": "aspect-morph-stage",
|
|
117
|
+
className: "grid w-full place-items-center",
|
|
118
|
+
style: { height: size },
|
|
119
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
120
|
+
"data-slot": "aspect-morph-frame",
|
|
121
|
+
role: src && alt ? "img" : void 0,
|
|
122
|
+
"aria-label": src && alt ? alt : void 0,
|
|
123
|
+
"aria-hidden": src && !alt ? true : void 0,
|
|
124
|
+
className: cn("max-w-full overflow-hidden bg-muted bg-cover bg-center", "transition-[width,height,border-radius] ease-[var(--ease-out-quint)]", "[&>img]:size-full [&>img]:object-cover [&>video]:size-full [&>video]:object-cover"),
|
|
125
|
+
style: frameStyle,
|
|
126
|
+
children: src ? null : children
|
|
127
|
+
})
|
|
128
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
129
|
+
role: "radiogroup",
|
|
130
|
+
"aria-label": label,
|
|
131
|
+
"aria-disabled": disabled || void 0,
|
|
132
|
+
"data-slot": "aspect-morph-picker",
|
|
133
|
+
className: "relative grid rounded-full bg-foreground/6 p-0.5",
|
|
134
|
+
style: { gridTemplateColumns: `repeat(${String(ratios.length)}, 2.5rem)` },
|
|
135
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
136
|
+
"aria-hidden": "true",
|
|
137
|
+
"data-slot": "aspect-morph-thumb",
|
|
138
|
+
className: cn("absolute start-0.5 top-0.5 bottom-0.5 rounded-full bg-card", "shadow-[0_1px_2px_color-mix(in_oklab,var(--color-foreground)_10%,transparent)]", "transition-[translate] ease-[var(--ease-out-quint)]", found < 0 && "opacity-0"),
|
|
139
|
+
style: thumbStyle
|
|
140
|
+
}), ratios.map((option, at) => {
|
|
141
|
+
const checked = at === found;
|
|
142
|
+
const tabbable = found >= 0 ? checked : at === 0;
|
|
143
|
+
return /* @__PURE__ */ jsx("button", {
|
|
144
|
+
ref: (node) => {
|
|
145
|
+
options.current[at] = node;
|
|
146
|
+
},
|
|
147
|
+
type: "button",
|
|
148
|
+
role: "radio",
|
|
149
|
+
"aria-checked": checked,
|
|
150
|
+
"aria-label": option.label,
|
|
151
|
+
tabIndex: tabbable ? 0 : -1,
|
|
152
|
+
disabled,
|
|
153
|
+
"data-slot": "aspect-morph-option",
|
|
154
|
+
"data-state": checked ? "checked" : "unchecked",
|
|
155
|
+
className: aspectMorphVariants(),
|
|
156
|
+
onClick: () => {
|
|
157
|
+
select(at);
|
|
158
|
+
},
|
|
159
|
+
onKeyDown: (event) => {
|
|
160
|
+
handleKeyDown(event, at);
|
|
161
|
+
},
|
|
162
|
+
children: option.icon ?? /* @__PURE__ */ jsx(RatioIcon, { ratio: option.ratio })
|
|
163
|
+
}, option.value);
|
|
164
|
+
})]
|
|
165
|
+
})]
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
//#endregion
|
|
169
|
+
export { AspectMorph, aspectMorphVariants, defaultAspectMorphRatios, fitAspect };
|
|
170
|
+
|
|
171
|
+
//# sourceMappingURL=aspect-morph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aspect-morph.js","names":[],"sources":["../../../src/components/aspect-morph/aspect-morph.tsx"],"sourcesContent":["\"use client\";\n\n// Ported from bencho Aspect ratio (MIT, © 2026 Lorenzo Cabra). See THIRD_PARTY_NOTICES.md.\nimport { cva } from \"class-variance-authority\";\nimport {\n useRef,\n useState,\n type ComponentPropsWithRef,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\n\nimport { focusRing } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\n/*\n * A picture that reshapes between aspect ratios, driven by a small segmented\n * radiogroup. The frame's width and height are plain CSS transitions on inline\n * values, so there is no animation library and the reduced-motion blanket\n * snaps it straight to the chosen shape.\n *\n * Every shape is fitted by area rather than by bounding box — A = size² · 0.75,\n * w = √(A·r), h = √(A/r), each clamped to `size` — so a square does not look\n * bigger than the landscape and portrait crops beside it.\n */\n\nexport interface AspectMorphRatio {\n value: string;\n /** Accessible name of the option, e.g. \"Landscape, 4 by 3\". */\n label: string;\n /** Width divided by height. */\n ratio: number;\n /** Replaces the drawn outline icon. Decorative. */\n icon?: ReactNode;\n}\n\nexport const defaultAspectMorphRatios: AspectMorphRatio[] = [\n { value: \"4:3\", label: \"Landscape, 4 by 3\", ratio: 4 / 3 },\n { value: \"1:1\", label: \"Square, 1 by 1\", ratio: 1 },\n { value: \"3:4\", label: \"Portrait, 3 by 4\", ratio: 3 / 4 },\n];\n\n/** The option buttons of the segmented control. */\nconst aspectMorphVariants = cva(\n cn(\n \"relative z-1 grid h-8 place-items-center rounded-full text-muted-foreground\",\n \"transition-[color,scale] duration-[var(--duration-fast)] ease-[var(--ease-out-quint)]\",\n \"hover:text-foreground active:scale-[0.92] aria-checked:text-foreground\",\n \"disabled:pointer-events-none disabled:opacity-55\",\n focusRing,\n ),\n);\n\n/** Width and height of a `ratio` shape with the same area as ¾ of a `box`-sided square. */\nexport function fitAspect(ratio: number, box: number): { width: number; height: number } {\n const area = box * box * 0.75;\n const safe = ratio > 0 && Number.isFinite(ratio) ? ratio : 1;\n const width = Math.min(Math.sqrt(area * safe), box);\n const height = Math.min(Math.sqrt(area / safe), box);\n return { width: Math.round(width * 100) / 100, height: Math.round(height * 100) / 100 };\n}\n\nfunction RatioIcon({ ratio }: { ratio: number }) {\n const { width, height } = fitAspect(ratio, 15);\n return (\n <svg viewBox=\"0 0 18 18\" className=\"size-4.5\" fill=\"none\" aria-hidden=\"true\">\n <rect\n x={(18 - width) / 2}\n y={(18 - height) / 2}\n width={width}\n height={height}\n rx={2}\n stroke=\"currentColor\"\n strokeWidth={1.5}\n />\n </svg>\n );\n}\n\n/** Whether the element sits in right-to-left text. */\nfunction isRtl(element: HTMLElement): boolean {\n return (\n element.closest(\"[dir]\")?.getAttribute(\"dir\") === \"rtl\" ||\n getComputedStyle(element).direction === \"rtl\"\n );\n}\n\nexport interface AspectMorphProps extends Omit<\n ComponentPropsWithRef<\"div\">,\n \"defaultValue\" | \"onChange\"\n> {\n /** The shapes to choose between. */\n ratios?: AspectMorphRatio[];\n /** Controlled selected ratio value. */\n value?: string;\n /** Initial value when uncontrolled. Defaults to the first ratio. */\n defaultValue?: string;\n /** Called with the newly selected ratio value. */\n onValueChange?: (value: string) => void;\n /** Picture URL, drawn as a cover-cropped background. */\n src?: string;\n /** Names the picture (role=\"img\"). Without it the picture is decorative. */\n alt?: string;\n /** Speed, 0–100: 0 morphs over 832ms, 50 over 520ms, 100 over 208ms. */\n morph?: number;\n /** Corner radius of the picture in px. */\n corner?: number;\n /** Side of the square box the picture is fitted into, in px. */\n size?: number;\n /** Accessible name of the radiogroup. */\n label?: string;\n /** Disables the ratio picker. */\n disabled?: boolean;\n /** Custom picture content (an <img>, <video>, canvas…); cropped to the frame. */\n children?: ReactNode;\n}\n\n/** A picture that morphs between aspect ratios, picked from a segmented radiogroup. */\nexport function AspectMorph({\n className,\n style,\n ratios = defaultAspectMorphRatios,\n value: valueProp,\n defaultValue,\n onValueChange,\n src,\n alt,\n morph = 50,\n corner = 18,\n size = 276,\n label = \"Aspect ratio\",\n disabled = false,\n children,\n ...props\n}: AspectMorphProps) {\n const [uncontrolled, setUncontrolled] = useState(defaultValue ?? ratios[0]?.value);\n const value = valueProp !== undefined ? valueProp : uncontrolled;\n const options = useRef<(HTMLButtonElement | null)[]>([]);\n\n const found = ratios.findIndex((option) => option.value === value);\n const index = Math.max(found, 0);\n const current = ratios[index];\n const frame = fitAspect(current?.ratio ?? 1, size);\n const ms = 832 - 6.24 * Math.min(Math.max(morph, 0), 100);\n\n function select(next: number) {\n const option = ratios[next];\n if (!option || option.value === value) return;\n if (valueProp === undefined) setUncontrolled(option.value);\n onValueChange?.(option.value);\n }\n\n function handleKeyDown(event: KeyboardEvent<HTMLButtonElement>, at: number) {\n const last = ratios.length - 1;\n const rtl = isRtl(event.currentTarget);\n const keys: Record<string, number> = {\n ArrowDown: at + 1,\n ArrowUp: at - 1,\n ArrowRight: rtl ? at - 1 : at + 1,\n ArrowLeft: rtl ? at + 1 : at - 1,\n Home: 0,\n End: last,\n };\n let next = keys[event.key];\n if (next === undefined) return;\n event.preventDefault();\n if (next > last) next = 0;\n if (next < 0) next = last;\n options.current[next]?.focus();\n select(next);\n }\n\n const frameStyle: CSSProperties = {\n width: frame.width,\n height: frame.height,\n borderRadius: corner,\n transitionDuration: `calc(${String(Math.round(ms))}ms * var(--motion-scale))`,\n backgroundImage: src ? `url(${JSON.stringify(src)})` : undefined,\n };\n\n const thumbStyle: CSSProperties = {\n width: `calc((100% - 0.25rem) / ${String(Math.max(ratios.length, 1))})`,\n translate: `calc(var(--aspect-morph-dir) * ${String(index * 100)}%) 0`,\n transitionDuration: `calc(${String(Math.round(ms * 0.55))}ms * var(--motion-scale))`,\n };\n\n return (\n <div\n data-slot=\"aspect-morph\"\n data-value={current?.value}\n className={cn(\n \"inline-flex max-w-full flex-col items-center gap-3 [--aspect-morph-dir:1] rtl:[--aspect-morph-dir:-1]\",\n className,\n )}\n style={{ width: size, ...style }}\n {...props}\n >\n <div\n data-slot=\"aspect-morph-stage\"\n className=\"grid w-full place-items-center\"\n style={{ height: size }}\n >\n <div\n data-slot=\"aspect-morph-frame\"\n role={src && alt ? \"img\" : undefined}\n aria-label={src && alt ? alt : undefined}\n aria-hidden={src && !alt ? true : undefined}\n className={cn(\n \"max-w-full overflow-hidden bg-muted bg-cover bg-center\",\n \"transition-[width,height,border-radius] ease-[var(--ease-out-quint)]\",\n \"[&>img]:size-full [&>img]:object-cover [&>video]:size-full [&>video]:object-cover\",\n )}\n style={frameStyle}\n >\n {src ? null : children}\n </div>\n </div>\n <div\n role=\"radiogroup\"\n aria-label={label}\n aria-disabled={disabled || undefined}\n data-slot=\"aspect-morph-picker\"\n className=\"relative grid rounded-full bg-foreground/6 p-0.5\"\n style={{ gridTemplateColumns: `repeat(${String(ratios.length)}, 2.5rem)` }}\n >\n <span\n aria-hidden=\"true\"\n data-slot=\"aspect-morph-thumb\"\n className={cn(\n \"absolute start-0.5 top-0.5 bottom-0.5 rounded-full bg-card\",\n \"shadow-[0_1px_2px_color-mix(in_oklab,var(--color-foreground)_10%,transparent)]\",\n \"transition-[translate] ease-[var(--ease-out-quint)]\",\n found < 0 && \"opacity-0\",\n )}\n style={thumbStyle}\n />\n {ratios.map((option, at) => {\n const checked = at === found;\n const tabbable = found >= 0 ? checked : at === 0;\n return (\n <button\n key={option.value}\n ref={(node) => {\n options.current[at] = node;\n }}\n type=\"button\"\n role=\"radio\"\n aria-checked={checked}\n aria-label={option.label}\n tabIndex={tabbable ? 0 : -1}\n disabled={disabled}\n data-slot=\"aspect-morph-option\"\n data-state={checked ? \"checked\" : \"unchecked\"}\n className={aspectMorphVariants()}\n onClick={() => {\n select(at);\n }}\n onKeyDown={(event) => {\n handleKeyDown(event, at);\n }}\n >\n {option.icon ?? <RatioIcon ratio={option.ratio} />}\n </button>\n );\n })}\n </div>\n </div>\n );\n}\n\nexport { aspectMorphVariants };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/aspect-morph/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "aspect-morph",
|
|
5
|
+
title: "Aspect Morph",
|
|
6
|
+
description: "A picture that smoothly reshapes between aspect ratios, picked from a segmented control with a sliding thumb.",
|
|
7
|
+
category: "display",
|
|
8
|
+
status: "beta",
|
|
9
|
+
dependencies: ["class-variance-authority"],
|
|
10
|
+
registryDependencies: [],
|
|
11
|
+
files: ["aspect-morph.tsx"],
|
|
12
|
+
a11y: "The picker is a role=\"radiogroup\" (named \"Aspect ratio\" unless `label` is given) of buttons with role=\"radio\", aria-checked and a spoken name per shape; the outline icons and sliding thumb are aria-hidden. Roving tabindex: Tab reaches the checked option, arrow keys move focus and select with wrap-around (Left/Right follow the reading direction in RTL), Home/End jump to the ends. A `src` picture is role=\"img\" named by `alt`, or hidden when no `alt` is given. The reshape and thumb are CSS transitions and snap to the final state under reduced motion."
|
|
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/aspect-morph/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"aspect-morph\",\n title: \"Aspect Morph\",\n description:\n \"A picture that smoothly reshapes between aspect ratios, picked from a segmented control with a sliding thumb.\",\n category: \"display\",\n status: \"beta\",\n dependencies: [\"class-variance-authority\"],\n registryDependencies: [],\n files: [\"aspect-morph.tsx\"],\n a11y:\n 'The picker is a role=\"radiogroup\" (named \"Aspect ratio\" unless `label` is given) of buttons with role=\"radio\", ' +\n \"aria-checked and a spoken name per shape; the outline icons and sliding thumb are aria-hidden. Roving tabindex: \" +\n \"Tab reaches the checked option, arrow keys move focus and select with wrap-around (Left/Right follow the reading \" +\n 'direction in RTL), Home/End jump to the ends. A `src` picture is role=\"img\" named by `alt`, or hidden when no ' +\n \"`alt` is given. The reshape and thumb are CSS transitions and snap to the final state under reduced motion.\",\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,kBAAkB;CAC1B,MACE;AAKJ,CAAC"}
|