@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","names":[],"sources":["../../../src/components/button/button.tsx"],"sourcesContent":["\"use client\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\nimport type { ComponentPropsWithRef, MouseEvent } from \"react\";\n\nimport { Spinner } from \"@/components/spinner\";\nimport { disabledStyles, focusRing, iconSlot } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n cn(\n \"inline-flex shrink-0 items-center justify-center font-medium whitespace-nowrap select-none\",\n \"transition-[background-color,border-color,color,box-shadow] duration-[var(--duration-fast)] ease-[var(--ease-out-quint)]\",\n focusRing,\n disabledStyles,\n iconSlot,\n ),\n {\n variants: {\n variant: {\n primary:\n \"bg-primary text-primary-foreground hover:bg-primary-hover active:bg-primary-active\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-accent active:bg-border\",\n outline:\n \"border border-input bg-background text-foreground hover:bg-accent hover:text-accent-foreground active:bg-secondary\",\n ghost:\n \"text-foreground hover:bg-accent hover:text-accent-foreground active:bg-secondary\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90 active:bg-destructive/80\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n sm: \"h-8 gap-1.5 rounded-md px-3 text-sm\",\n md: \"h-9 gap-2 rounded-md px-4 text-sm\",\n lg: \"h-10 gap-2 rounded-lg px-5 text-base\",\n icon: \"size-9 rounded-md\",\n \"icon-sm\": \"size-8 rounded-md\",\n },\n },\n compoundVariants: [\n // A link has no box, so box padding and height would only misalign it.\n { variant: \"link\", size: \"sm\", className: \"h-auto px-0\" },\n { variant: \"link\", size: \"md\", className: \"h-auto px-0\" },\n { variant: \"link\", size: \"lg\", className: \"h-auto px-0\" },\n ],\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n },\n },\n);\n\nexport interface ButtonProps\n extends ComponentPropsWithRef<\"button\">, VariantProps<typeof buttonVariants> {\n /**\n * Renders the child element as the button instead of a `<button>`, keeping\n * every style and behaviour. Use it for links that should look like buttons.\n */\n asChild?: boolean;\n /**\n * Shows a spinner and suppresses activation.\n *\n * Unlike `disabled`, a loading button stays focusable: taking focus away from\n * the control a user just activated strands their keyboard position, and the\n * state is transient by definition. Activation is blocked via `aria-disabled`\n * plus a guarded click handler.\n */\n loading?: boolean;\n}\n\n/** Triggers an action or event. */\nexport function Button({\n className,\n variant,\n size,\n asChild = false,\n loading = false,\n disabled,\n onClick,\n children,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot.Root : \"button\";\n\n function handleClick(event: MouseEvent<HTMLButtonElement>) {\n if (loading) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n onClick?.(event);\n }\n\n return (\n <Comp\n className={cn(buttonVariants({ variant, size }), className)}\n disabled={disabled}\n aria-disabled={loading || undefined}\n aria-busy={loading || undefined}\n data-loading={loading || undefined}\n onClick={handleClick}\n {...props}\n >\n {loading ? <Spinner size={size === \"lg\" ? \"lg\" : \"sm\"} /> : null}\n {/* Slottable marks which child Slot should merge into when asChild is set.\n Without it, adding the spinner would give Slot two children and break\n every `asChild` button the moment it started loading. */}\n <Slot.Slottable>{children}</Slot.Slottable>\n </Comp>\n );\n}\n\nexport { buttonVariants };\n"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"button.js","names":[],"sources":["../../../src/components/button/button.tsx"],"sourcesContent":["\"use client\";\n\n// Motion from SmoothUI SmoothButton (MIT, © 2024 Eduardo Calvo). See THIRD_PARTY_NOTICES.md.\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\nimport type { ComponentPropsWithRef, MouseEvent } from \"react\";\n\nimport { Spinner } from \"@/components/spinner\";\nimport { disabledStyles, focusRing, iconSlot } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n cn(\n \"inline-flex shrink-0 items-center justify-center font-medium whitespace-nowrap select-none\",\n \"transition-[background-color,border-color,color,box-shadow,scale] duration-[var(--duration-fast)] ease-[var(--ease-out-quint)]\",\n focusRing,\n disabledStyles,\n iconSlot,\n ),\n {\n variants: {\n variant: {\n primary:\n \"bg-primary text-primary-foreground hover:bg-primary-hover active:bg-primary-active\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-accent active:bg-border\",\n outline:\n \"border border-input bg-background text-foreground hover:bg-accent hover:text-accent-foreground active:bg-secondary\",\n ghost:\n \"text-foreground hover:bg-accent hover:text-accent-foreground active:bg-secondary\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90 active:bg-destructive/80\",\n link: \"text-primary underline-offset-4 hover:underline\",\n /** A tint of the primary colour. Quieter than primary, warmer than ghost. */\n soft: cn(\n \"bg-[color-mix(in_oklab,var(--color-primary)_12%,transparent)] text-primary\",\n \"hover:bg-[color-mix(in_oklab,var(--color-primary)_18%,transparent)]\",\n \"active:bg-[color-mix(in_oklab,var(--color-primary)_24%,transparent)]\",\n ),\n /**\n * SmoothUI's \"candy\": primary running into its hover shade, with a\n * hairline highlight along the top edge. Every stop is a token, so it\n * follows the theme and the monochrome preset.\n */\n gradient: cn(\n \"bg-linear-to-b from-primary to-primary-hover text-primary-foreground\",\n \"shadow-[inset_0_1px_0_color-mix(in_oklab,var(--color-primary-foreground)_25%,transparent),0_1px_2px_color-mix(in_oklab,var(--color-foreground)_20%,transparent)]\",\n \"hover:from-primary-hover hover:to-primary-hover\",\n \"active:from-primary-active active:to-primary-active\",\n ),\n },\n size: {\n sm: \"h-8 gap-1.5 rounded-md px-3 text-sm\",\n md: \"h-9 gap-2 rounded-md px-4 text-sm\",\n lg: \"h-10 gap-2 rounded-lg px-5 text-base\",\n icon: \"size-9 rounded-md\",\n \"icon-sm\": \"size-8 rounded-md\",\n },\n /**\n * Corner treatment, independent of size. Declared after `size` so its\n * radius wins the merge. `default` keeps each size's own radius.\n */\n shape: {\n default: \"\",\n pill: \"rounded-full\",\n square: \"rounded-none\",\n },\n /**\n * Press feedback. `scale` shrinks the button to 97% while it is held —\n * a transform, so nothing around it moves, and it only exists when the\n * reader has not asked for reduced motion. `none` opts out.\n */\n press: {\n scale: \"\",\n none: \"\",\n },\n },\n compoundVariants: [\n // A link has no box, so box padding and height would only misalign it.\n { variant: \"link\", size: \"sm\", className: \"h-auto px-0\" },\n { variant: \"link\", size: \"md\", className: \"h-auto px-0\" },\n { variant: \"link\", size: \"lg\", className: \"h-auto px-0\" },\n // Text does not press; a link that shrinks under the finger reads as a\n // rendering glitch rather than feedback.\n {\n press: \"scale\",\n variant: [\n \"primary\",\n \"secondary\",\n \"outline\",\n \"ghost\",\n \"destructive\",\n \"soft\",\n \"gradient\",\n ],\n className: \"motion-safe:active:scale-[0.97]\",\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n shape: \"default\",\n press: \"scale\",\n },\n },\n);\n\nexport interface ButtonProps\n extends ComponentPropsWithRef<\"button\">, VariantProps<typeof buttonVariants> {\n /**\n * Renders the child element as the button instead of a `<button>`, keeping\n * every style and behaviour. Use it for links that should look like buttons.\n */\n asChild?: boolean;\n /**\n * Shows a spinner and suppresses activation.\n *\n * Unlike `disabled`, a loading button stays focusable: taking focus away from\n * the control a user just activated strands their keyboard position, and the\n * state is transient by definition. Activation is blocked via `aria-disabled`\n * plus a guarded click handler.\n */\n loading?: boolean;\n}\n\n/** Triggers an action or event. */\nexport function Button({\n className,\n variant,\n size,\n shape,\n press,\n asChild = false,\n loading = false,\n disabled,\n onClick,\n children,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot.Root : \"button\";\n\n function handleClick(event: MouseEvent<HTMLButtonElement>) {\n if (loading) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n onClick?.(event);\n }\n\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, shape, press }), className)}\n disabled={disabled}\n aria-disabled={loading || undefined}\n aria-busy={loading || undefined}\n data-loading={loading || undefined}\n onClick={handleClick}\n {...props}\n >\n {loading ? <Spinner size={size === \"lg\" ? \"lg\" : \"sm\"} /> : null}\n {/* Slottable marks which child Slot should merge into when asChild is set.\n Without it, adding the spinner would give Slot two children and break\n every `asChild` button the moment it started loading. */}\n <Slot.Slottable>{children}</Slot.Slottable>\n </Comp>\n );\n}\n\nexport { buttonVariants };\n"],"mappings":";;;;;;;;AAWA,MAAM,iBAAiB,IACrB,GACE,8FACA,kIACA,WACA,gBACA,QACF,GACA;CACE,UAAU;EACR,SAAS;GACP,SACE;GACF,WAAW;GACX,SACE;GACF,OACE;GACF,aACE;GACF,MAAM;;GAEN,MAAM,GACJ,8EACA,uEACA,sEACF;;;;;;GAMA,UAAU,GACR,wEACA,oKACA,mDACA,qDACF;EACF;EACA,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,MAAM;GACN,WAAW;EACb;;;;;EAKA,OAAO;GACL,SAAS;GACT,MAAM;GACN,QAAQ;EACV;;;;;;EAMA,OAAO;GACL,OAAO;GACP,MAAM;EACR;CACF;CACA,kBAAkB;EAEhB;GAAE,SAAS;GAAQ,MAAM;GAAM,WAAW;EAAc;EACxD;GAAE,SAAS;GAAQ,MAAM;GAAM,WAAW;EAAc;EACxD;GAAE,SAAS;GAAQ,MAAM;GAAM,WAAW;EAAc;EAGxD;GACE,OAAO;GACP,SAAS;IACP;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,WAAW;EACb;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;EACN,OAAO;EACP,OAAO;CACT;AACF,CACF;;AAqBA,SAAgB,OAAO,EACrB,WACA,SACA,MACA,OACA,OACA,UAAU,OACV,UAAU,OACV,UACA,SACA,UACA,GAAG,SACW;CACd,MAAM,OAAO,UAAU,KAAK,OAAO;CAEnC,SAAS,YAAY,OAAsC;EACzD,IAAI,SAAS;GACX,MAAM,eAAe;GACrB,MAAM,gBAAgB;GACtB;EACF;EACA,UAAU,KAAK;CACjB;CAEA,OACE,qBAAC,MAAD;EACE,WAAW,GAAG,eAAe;GAAE;GAAS;GAAM;GAAO;EAAM,CAAC,GAAG,SAAS;EAC9D;EACV,iBAAe,WAAW,KAAA;EAC1B,aAAW,WAAW,KAAA;EACtB,gBAAc,WAAW,KAAA;EACzB,SAAS;EACT,GAAI;EAPN,UAAA,CASG,UAAU,oBAAC,SAAD,EAAS,MAAM,SAAS,OAAO,OAAO,KAAO,CAAA,IAAI,MAI5D,oBAAC,KAAK,WAAN,EAAiB,SAAyB,CAAA,CACtC;;AAEV"}
|
|
@@ -38,9 +38,9 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
|
|
|
38
38
|
week_number: cn(defaults.week_number, "text-2xs text-muted-foreground"),
|
|
39
39
|
day: cn(defaults.day, "group/day size-9 p-0 text-center text-sm"),
|
|
40
40
|
day_button: cn(defaults.day_button, "size-9 rounded-md font-normal transition-colors duration-[var(--duration-instant)]", "hover:bg-accent hover:text-accent-foreground", "group-data-[selected=true]/day:bg-primary group-data-[selected=true]/day:text-primary-foreground", "group-data-[selected=true]/day:hover:bg-primary-hover", "disabled:pointer-events-none disabled:opacity-40", focusRing),
|
|
41
|
-
range_start: cn(defaults.range_start, "rounded-
|
|
41
|
+
range_start: cn(defaults.range_start, "rounded-s-md bg-accent"),
|
|
42
42
|
range_middle: cn(defaults.range_middle, "bg-accent [&>button]:bg-transparent [&>button]:text-accent-foreground"),
|
|
43
|
-
range_end: cn(defaults.range_end, "rounded-
|
|
43
|
+
range_end: cn(defaults.range_end, "rounded-e-md bg-accent"),
|
|
44
44
|
today: cn(defaults.today, "[&>button]:font-semibold [&>button]:text-primary"),
|
|
45
45
|
outside: cn(defaults.outside, "text-muted-foreground opacity-50"),
|
|
46
46
|
disabled: cn(defaults.disabled, "opacity-40"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.js","names":[],"sources":["../../../src/components/calendar/calendar.tsx"],"sourcesContent":["\"use client\";\n\nimport { DayPicker, getDefaultClassNames, type DayPickerProps } from \"react-day-picker\";\n\nimport { buttonVariants } from \"@/components/button\";\nimport { focusRing } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\n/**\n * A date grid for selecting a day, several days or a range.\n *\n * Wraps `react-day-picker`, which supplies the parts that are genuinely hard —\n * locale-aware week layout, the roving-focus grid keyboard model, range\n * selection and out-of-month handling. This file is the design layer over it:\n * every class comes from our tokens, so the calendar re-skins with the rest of\n * the system rather than shipping its own visual language.\n */\nexport type CalendarProps = DayPickerProps;\n\nexport function Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: CalendarProps) {\n const defaults = getDefaultClassNames();\n\n return (\n <DayPicker\n data-slot=\"calendar\"\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n ...defaults,\n root: cn(defaults.root, \"w-fit\"),\n months: cn(defaults.months, \"flex flex-col gap-4 sm:flex-row\"),\n month: cn(defaults.month, \"flex flex-col gap-4\"),\n nav: cn(defaults.nav, \"absolute inset-x-3 top-3 flex items-center justify-between\"),\n button_previous: cn(\n buttonVariants({ variant: \"ghost\", size: \"icon-sm\" }),\n \"opacity-60 hover:opacity-100\",\n ),\n button_next: cn(\n buttonVariants({ variant: \"ghost\", size: \"icon-sm\" }),\n \"opacity-60 hover:opacity-100\",\n ),\n month_caption: cn(defaults.month_caption, \"flex h-8 items-center justify-center\"),\n caption_label: cn(defaults.caption_label, \"text-sm font-medium\"),\n dropdowns: cn(defaults.dropdowns, \"flex items-center gap-2 text-sm font-medium\"),\n dropdown_root: cn(defaults.dropdown_root, \"relative rounded-md border border-input\"),\n dropdown: cn(defaults.dropdown, \"absolute inset-0 opacity-0\"),\n month_grid: cn(defaults.month_grid, \"w-full border-collapse\"),\n weekdays: cn(defaults.weekdays, \"flex\"),\n weekday: cn(\n defaults.weekday,\n \"w-9 text-2xs font-normal text-muted-foreground select-none\",\n ),\n week: cn(defaults.week, \"mt-1 flex w-full\"),\n week_number_header: cn(defaults.week_number_header, \"w-9\"),\n week_number: cn(defaults.week_number, \"text-2xs text-muted-foreground\"),\n day: cn(defaults.day, \"group/day size-9 p-0 text-center text-sm\"),\n day_button: cn(\n defaults.day_button,\n \"size-9 rounded-md font-normal transition-colors duration-[var(--duration-instant)]\",\n \"hover:bg-accent hover:text-accent-foreground\",\n \"group-data-[selected=true]/day:bg-primary group-data-[selected=true]/day:text-primary-foreground\",\n \"group-data-[selected=true]/day:hover:bg-primary-hover\",\n \"disabled:pointer-events-none disabled:opacity-40\",\n focusRing,\n ),\n // Range middles keep the muted surface so the two ends stay legible as\n // the actual selection.\n range_start: cn(defaults.range_start, \"rounded-
|
|
1
|
+
{"version":3,"file":"calendar.js","names":[],"sources":["../../../src/components/calendar/calendar.tsx"],"sourcesContent":["\"use client\";\n\nimport { DayPicker, getDefaultClassNames, type DayPickerProps } from \"react-day-picker\";\n\nimport { buttonVariants } from \"@/components/button\";\nimport { focusRing } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\n/**\n * A date grid for selecting a day, several days or a range.\n *\n * Wraps `react-day-picker`, which supplies the parts that are genuinely hard —\n * locale-aware week layout, the roving-focus grid keyboard model, range\n * selection and out-of-month handling. This file is the design layer over it:\n * every class comes from our tokens, so the calendar re-skins with the rest of\n * the system rather than shipping its own visual language.\n */\nexport type CalendarProps = DayPickerProps;\n\nexport function Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: CalendarProps) {\n const defaults = getDefaultClassNames();\n\n return (\n <DayPicker\n data-slot=\"calendar\"\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n ...defaults,\n root: cn(defaults.root, \"w-fit\"),\n months: cn(defaults.months, \"flex flex-col gap-4 sm:flex-row\"),\n month: cn(defaults.month, \"flex flex-col gap-4\"),\n nav: cn(defaults.nav, \"absolute inset-x-3 top-3 flex items-center justify-between\"),\n button_previous: cn(\n buttonVariants({ variant: \"ghost\", size: \"icon-sm\" }),\n \"opacity-60 hover:opacity-100\",\n ),\n button_next: cn(\n buttonVariants({ variant: \"ghost\", size: \"icon-sm\" }),\n \"opacity-60 hover:opacity-100\",\n ),\n month_caption: cn(defaults.month_caption, \"flex h-8 items-center justify-center\"),\n caption_label: cn(defaults.caption_label, \"text-sm font-medium\"),\n dropdowns: cn(defaults.dropdowns, \"flex items-center gap-2 text-sm font-medium\"),\n dropdown_root: cn(defaults.dropdown_root, \"relative rounded-md border border-input\"),\n dropdown: cn(defaults.dropdown, \"absolute inset-0 opacity-0\"),\n month_grid: cn(defaults.month_grid, \"w-full border-collapse\"),\n weekdays: cn(defaults.weekdays, \"flex\"),\n weekday: cn(\n defaults.weekday,\n \"w-9 text-2xs font-normal text-muted-foreground select-none\",\n ),\n week: cn(defaults.week, \"mt-1 flex w-full\"),\n week_number_header: cn(defaults.week_number_header, \"w-9\"),\n week_number: cn(defaults.week_number, \"text-2xs text-muted-foreground\"),\n day: cn(defaults.day, \"group/day size-9 p-0 text-center text-sm\"),\n day_button: cn(\n defaults.day_button,\n \"size-9 rounded-md font-normal transition-colors duration-[var(--duration-instant)]\",\n \"hover:bg-accent hover:text-accent-foreground\",\n \"group-data-[selected=true]/day:bg-primary group-data-[selected=true]/day:text-primary-foreground\",\n \"group-data-[selected=true]/day:hover:bg-primary-hover\",\n \"disabled:pointer-events-none disabled:opacity-40\",\n focusRing,\n ),\n // Range middles keep the muted surface so the two ends stay legible as\n // the actual selection.\n range_start: cn(defaults.range_start, \"rounded-s-md bg-accent\"),\n range_middle: cn(\n defaults.range_middle,\n \"bg-accent [&>button]:bg-transparent [&>button]:text-accent-foreground\",\n ),\n range_end: cn(defaults.range_end, \"rounded-e-md bg-accent\"),\n today: cn(defaults.today, \"[&>button]:font-semibold [&>button]:text-primary\"),\n outside: cn(defaults.outside, \"text-muted-foreground opacity-50\"),\n disabled: cn(defaults.disabled, \"opacity-40\"),\n hidden: cn(defaults.hidden, \"invisible\"),\n ...classNames,\n }}\n components={{\n Chevron: ({ orientation, className: chevronClassName, ...chevronProps }) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n aria-hidden=\"true\"\n className={cn(\"size-4\", chevronClassName)}\n {...chevronProps}\n >\n <path\n d={\n orientation === \"left\"\n ? \"m14 6-6 6 6 6\"\n : orientation === \"right\"\n ? \"m10 6 6 6-6 6\"\n : orientation === \"up\"\n ? \"m6 14 6-6 6 6\"\n : \"m6 10 6 6 6-6\"\n }\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ),\n }}\n {...props}\n />\n );\n}\n"],"mappings":";;;;;;;AAmBA,SAAgB,SAAS,EACvB,WACA,YACA,kBAAkB,MAClB,GAAG,SACa;CAChB,MAAM,WAAW,qBAAqB;CAEtC,OACE,oBAAC,WAAD;EACE,aAAU;EACO;EACjB,WAAW,GAAG,OAAO,SAAS;EAC9B,YAAY;GACV,GAAG;GACH,MAAM,GAAG,SAAS,MAAM,OAAO;GAC/B,QAAQ,GAAG,SAAS,QAAQ,iCAAiC;GAC7D,OAAO,GAAG,SAAS,OAAO,qBAAqB;GAC/C,KAAK,GAAG,SAAS,KAAK,4DAA4D;GAClF,iBAAiB,GACf,eAAe;IAAE,SAAS;IAAS,MAAM;GAAU,CAAC,GACpD,8BACF;GACA,aAAa,GACX,eAAe;IAAE,SAAS;IAAS,MAAM;GAAU,CAAC,GACpD,8BACF;GACA,eAAe,GAAG,SAAS,eAAe,sCAAsC;GAChF,eAAe,GAAG,SAAS,eAAe,qBAAqB;GAC/D,WAAW,GAAG,SAAS,WAAW,6CAA6C;GAC/E,eAAe,GAAG,SAAS,eAAe,yCAAyC;GACnF,UAAU,GAAG,SAAS,UAAU,4BAA4B;GAC5D,YAAY,GAAG,SAAS,YAAY,wBAAwB;GAC5D,UAAU,GAAG,SAAS,UAAU,MAAM;GACtC,SAAS,GACP,SAAS,SACT,4DACF;GACA,MAAM,GAAG,SAAS,MAAM,kBAAkB;GAC1C,oBAAoB,GAAG,SAAS,oBAAoB,KAAK;GACzD,aAAa,GAAG,SAAS,aAAa,gCAAgC;GACtE,KAAK,GAAG,SAAS,KAAK,0CAA0C;GAChE,YAAY,GACV,SAAS,YACT,sFACA,gDACA,oGACA,yDACA,oDACA,SACF;GAGA,aAAa,GAAG,SAAS,aAAa,wBAAwB;GAC9D,cAAc,GACZ,SAAS,cACT,uEACF;GACA,WAAW,GAAG,SAAS,WAAW,wBAAwB;GAC1D,OAAO,GAAG,SAAS,OAAO,kDAAkD;GAC5E,SAAS,GAAG,SAAS,SAAS,kCAAkC;GAChE,UAAU,GAAG,SAAS,UAAU,YAAY;GAC5C,QAAQ,GAAG,SAAS,QAAQ,WAAW;GACvC,GAAG;EACL;EACA,YAAY,EACV,UAAU,EAAE,aAAa,WAAW,kBAAkB,GAAG,mBACvD,oBAAC,OAAD;GACE,SAAQ;GACR,MAAK;GACL,eAAY;GACZ,WAAW,GAAG,UAAU,gBAAgB;GACxC,GAAI;GAEJ,UAAA,oBAAC,QAAD;IACE,GACE,gBAAgB,SACZ,kBACA,gBAAgB,UACd,kBACA,gBAAgB,OACd,kBACA;IAEV,QAAO;IACP,aAAY;IACZ,eAAc;IACd,gBAAe;GAChB,CAAA;EACE,CAAA,EAET;EACA,GAAI;CACL,CAAA;AAEL"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Toolbar } from "radix-ui";
|
|
2
|
+
import { VariantProps } from "class-variance-authority";
|
|
3
|
+
import { ComponentPropsWithRef, ReactNode } from "react";
|
|
4
|
+
//#region src/components/canvas-toolbar/canvas-toolbar.d.ts
|
|
5
|
+
interface CanvasTool {
|
|
6
|
+
type?: "tool";
|
|
7
|
+
value: string;
|
|
8
|
+
/** Accessible name, and the tooltip text. */
|
|
9
|
+
label: string;
|
|
10
|
+
/** Decorative glyph; hidden from assistive technology. */
|
|
11
|
+
icon: ReactNode;
|
|
12
|
+
/** A single key that picks the tool, e.g. "v". Case-insensitive. */
|
|
13
|
+
shortcut?: string;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
interface CanvasToolSeparator {
|
|
17
|
+
type: "separator";
|
|
18
|
+
}
|
|
19
|
+
interface CanvasToolSlot {
|
|
20
|
+
type: "slot";
|
|
21
|
+
/** Names the group of tools, e.g. "Shapes". */
|
|
22
|
+
label: string;
|
|
23
|
+
tools: CanvasTool[];
|
|
24
|
+
/** The tool the slot shows before one is picked. Defaults to the first. */
|
|
25
|
+
defaultTool?: string;
|
|
26
|
+
/** Name of the flyout button. Defaults to `More ${label}` in lower case. */
|
|
27
|
+
moreLabel?: string;
|
|
28
|
+
}
|
|
29
|
+
type CanvasToolbarItem = CanvasTool | CanvasToolSeparator | CanvasToolSlot;
|
|
30
|
+
/** The pane surface shared by the rail and the flyout. */
|
|
31
|
+
declare const canvasToolbarVariants: (props?: ({
|
|
32
|
+
tone?: "default" | "inverted" | null | undefined;
|
|
33
|
+
stroke?: boolean | null | undefined;
|
|
34
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
35
|
+
type Side = "top" | "right" | "bottom" | "left";
|
|
36
|
+
interface CanvasToolbarProps extends Omit<ComponentPropsWithRef<typeof Toolbar.Root>, "children" | "defaultValue">, VariantProps<typeof canvasToolbarVariants> {
|
|
37
|
+
/** Tools, dividers and swappable slots, in order. */
|
|
38
|
+
tools: CanvasToolbarItem[];
|
|
39
|
+
/** The active tool (controlled). */
|
|
40
|
+
value?: string;
|
|
41
|
+
/** The initially active tool. Defaults to the first tool. */
|
|
42
|
+
defaultValue?: string;
|
|
43
|
+
onValueChange?: (value: string) => void;
|
|
44
|
+
/** Radius of the rail and flyout in px; tools use `corner - 4`. */
|
|
45
|
+
corner?: number;
|
|
46
|
+
/** Show each tool's name (and shortcut) in a tooltip. */
|
|
47
|
+
tooltips?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Listen for shortcuts on the whole document, not only while focus is in the
|
|
50
|
+
* toolbar. Keys typed into inputs, textareas and contenteditable are ignored.
|
|
51
|
+
*/
|
|
52
|
+
globalShortcuts?: boolean;
|
|
53
|
+
/** Which side the flyout and tooltips open on. Defaults to top (or the inline end when vertical). */
|
|
54
|
+
side?: Side;
|
|
55
|
+
/** Extra classes for the flyout panel. */
|
|
56
|
+
flyoutClassName?: string;
|
|
57
|
+
}
|
|
58
|
+
/** A Figma-style tool rail with a swappable shape slot and single-key shortcuts. */
|
|
59
|
+
declare function CanvasToolbar({ className, style, tools, value: valueProp, defaultValue, onValueChange, corner, tooltips, globalShortcuts, side: sideProp, flyoutClassName, tone, stroke, orientation, dir, onKeyDown, ...props }: CanvasToolbarProps): import("react").JSX.Element;
|
|
60
|
+
//#endregion
|
|
61
|
+
export { CanvasTool, CanvasToolSeparator, CanvasToolSlot, CanvasToolbar, CanvasToolbarItem, CanvasToolbarProps, canvasToolbarVariants };
|
|
62
|
+
//# sourceMappingURL=canvas-toolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canvas-toolbar.d.ts","names":[],"sources":["../../../src/components/canvas-toolbar/canvas-toolbar.tsx"],"mappings":";;;;UA6CiB;EACf;EACA;;EAEA;;EAEA,MAAM;;EAEN;EACA;;UAGe;EACf;;UAGe;EACf;;EAEA;EACA,OAAO;;EAEP;;EAEA;;KAGU,oBAAoB,aAAa,sBAAsB;;cAe7D,wBAAqB;;;6CAczB;KAkBG;UAEY,2BAEb,KAAK,6BAA6B,QAAiB,qCACnD,oBAAoB;;EAEtB,OAAO;;EAEP;;EAEA;EACA,iBAAiB;;EAEjB;;EAEA;;;;;EAKA;;EAEA,OAAO;;EAEP;;;iBAgCc,gBACd,WACA,OACA,OACA,OAAO,WACP,cACA,eACA,QACA,UACA,iBACA,MAAM,UACN,iBACA,MACA,QACA,aACA,KACA,cACG,SACF,qCAAkB,IAAA"}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { focusRing, focusRingInset, mirrorForDirection } from "../../lib/styles.js";
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import { Tooltip as Tooltip$1, TooltipContent, TooltipTrigger } from "../tooltip/tooltip.js";
|
|
5
|
+
import { DropdownMenu as DropdownMenu$1, DropdownMenuContent, DropdownMenuRadioGroup, DropdownMenuTrigger } from "../dropdown-menu/dropdown-menu.js";
|
|
6
|
+
import { DropdownMenu, Toolbar } from "radix-ui";
|
|
7
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { cva } from "class-variance-authority";
|
|
9
|
+
import { Fragment as Fragment$1, useEffect, useRef, useState } from "react";
|
|
10
|
+
//#region src/components/canvas-toolbar/canvas-toolbar.tsx
|
|
11
|
+
const PREFIX = "dowel-canvas-toolbar";
|
|
12
|
+
const STYLES = `
|
|
13
|
+
[data-slot=canvas-toolbar-tool]::before,[data-slot=canvas-toolbar-option]::before{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;scale:.72;pointer-events:none;transition:opacity calc(140ms * var(--motion-scale)) linear,scale calc(300ms * var(--motion-scale)) cubic-bezier(.3,1.42,.4,1)}
|
|
14
|
+
[data-slot=canvas-toolbar-tool][data-state=on]::before,[data-slot=canvas-toolbar-option][data-state=checked]::before{opacity:.07;scale:1}
|
|
15
|
+
@keyframes ${PREFIX}-flyout{0%{opacity:0;transform:translate(var(--${PREFIX}-fx,0),var(--${PREFIX}-fy,9px)) scale(.965)}55%{opacity:1}100%{opacity:1;transform:none}}
|
|
16
|
+
[data-slot=canvas-toolbar-flyout][data-state=open]{animation:${PREFIX}-flyout calc(300ms * var(--motion-scale)) cubic-bezier(.22,1.14,.36,1)}
|
|
17
|
+
[data-slot=canvas-toolbar-flyout][data-side=bottom]{--${PREFIX}-fy:-9px}
|
|
18
|
+
[data-slot=canvas-toolbar-flyout][data-side=left]{--${PREFIX}-fx:9px;--${PREFIX}-fy:0}
|
|
19
|
+
[data-slot=canvas-toolbar-flyout][data-side=right]{--${PREFIX}-fx:-9px;--${PREFIX}-fy:0}
|
|
20
|
+
`;
|
|
21
|
+
/** The pane surface shared by the rail and the flyout. */
|
|
22
|
+
const canvasToolbarVariants = cva("", {
|
|
23
|
+
variants: {
|
|
24
|
+
/** `default` is the card surface; `inverted` swaps it for the ink colour. */
|
|
25
|
+
tone: {
|
|
26
|
+
default: "bg-card text-foreground",
|
|
27
|
+
inverted: "bg-foreground text-background"
|
|
28
|
+
},
|
|
29
|
+
/** A 1px inset hairline around the surface. */
|
|
30
|
+
stroke: {
|
|
31
|
+
true: "ring-1 ring-border ring-inset",
|
|
32
|
+
false: ""
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
defaultVariants: {
|
|
36
|
+
tone: "default",
|
|
37
|
+
stroke: false
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
/** A tool: a 38px square whose fill and icon follow data-state. */
|
|
41
|
+
const toolClass = cn("group/tool relative grid size-9.5 shrink-0 place-items-center rounded-[var(--canvas-toolbar-tool-r)]", "transition-[background-color] duration-[var(--duration-instant)]", "hover:bg-current/5 data-[highlighted]:bg-current/5 data-[state=checked]:bg-transparent data-[state=on]:bg-transparent", "disabled:pointer-events-none disabled:opacity-40");
|
|
42
|
+
const iconClass = cn("grid place-items-center opacity-45 transition-[opacity,scale] duration-[var(--duration-instant)] ease-[var(--ease-out-quint)]", "group-hover/tool:opacity-80 group-active/tool:scale-92 group-data-[highlighted]/tool:opacity-80", "group-data-[state=checked]/tool:scale-105 group-data-[state=checked]/tool:opacity-100", "group-data-[state=on]/tool:scale-105 group-data-[state=on]/tool:opacity-100", "[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4.25");
|
|
43
|
+
function isSlot(item) {
|
|
44
|
+
return item.type === "slot";
|
|
45
|
+
}
|
|
46
|
+
function firstTool(tools) {
|
|
47
|
+
for (const item of tools) {
|
|
48
|
+
if (item.type === "separator") continue;
|
|
49
|
+
return isSlot(item) ? item.defaultTool ?? item.tools[0]?.value : item.value;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const EDITABLE = "input, textarea, select, [contenteditable]:not([contenteditable=\"false\"]), [role^=\"menu\"]";
|
|
53
|
+
/** Warns, in development only, when the toolbar has no accessible name. */
|
|
54
|
+
function useNameWarning(label, labelledBy) {
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
if (process.env.NODE_ENV === "production" || label || labelledBy) return;
|
|
57
|
+
console.warn("[CanvasToolbar] Pass aria-label or aria-labelledby to name the toolbar.");
|
|
58
|
+
}, [label, labelledBy]);
|
|
59
|
+
}
|
|
60
|
+
/** A Figma-style tool rail with a swappable shape slot and single-key shortcuts. */
|
|
61
|
+
function CanvasToolbar({ className, style, tools, value: valueProp, defaultValue, onValueChange, corner = 14, tooltips = true, globalShortcuts = false, side: sideProp, flyoutClassName, tone, stroke, orientation = "horizontal", dir, onKeyDown, ...props }) {
|
|
62
|
+
const [uncontrolled, setUncontrolled] = useState(() => defaultValue ?? firstTool(tools));
|
|
63
|
+
const value = valueProp ?? uncontrolled;
|
|
64
|
+
const [picks, setPicks] = useState({});
|
|
65
|
+
const [openSlot, setOpenSlot] = useState(null);
|
|
66
|
+
const slotTools = useRef(/* @__PURE__ */ new Map());
|
|
67
|
+
const picked = useRef(false);
|
|
68
|
+
useNameWarning(props["aria-label"], props["aria-labelledby"]);
|
|
69
|
+
const side = sideProp ?? (orientation === "vertical" ? dir === "rtl" ? "left" : "right" : "top");
|
|
70
|
+
const surface = canvasToolbarVariants({
|
|
71
|
+
tone,
|
|
72
|
+
stroke
|
|
73
|
+
});
|
|
74
|
+
const select = (next, slot) => {
|
|
75
|
+
if (slot !== void 0) setPicks((current) => ({
|
|
76
|
+
...current,
|
|
77
|
+
[slot]: next
|
|
78
|
+
}));
|
|
79
|
+
if (next === value) return;
|
|
80
|
+
if (valueProp === void 0) setUncontrolled(next);
|
|
81
|
+
onValueChange?.(next);
|
|
82
|
+
};
|
|
83
|
+
const shortcuts = /* @__PURE__ */ new Map();
|
|
84
|
+
tools.forEach((item, index) => {
|
|
85
|
+
const add = (tool, slot) => {
|
|
86
|
+
if (tool.shortcut) shortcuts.set(tool.shortcut.toLowerCase(), {
|
|
87
|
+
tool,
|
|
88
|
+
slot
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
if (isSlot(item)) item.tools.forEach((tool) => add(tool, index));
|
|
92
|
+
else if (item.type !== "separator") add(item);
|
|
93
|
+
});
|
|
94
|
+
const handleShortcut = (event) => {
|
|
95
|
+
if (event.defaultPrevented || event.altKey || event.ctrlKey || event.metaKey) return;
|
|
96
|
+
if (event.target instanceof Element && event.target.closest(EDITABLE)) return;
|
|
97
|
+
const hit = shortcuts.get(event.key.toLowerCase());
|
|
98
|
+
if (!hit || hit.tool.disabled) return;
|
|
99
|
+
event.preventDefault();
|
|
100
|
+
select(hit.tool.value, hit.slot);
|
|
101
|
+
};
|
|
102
|
+
const shortcutRef = useRef(handleShortcut);
|
|
103
|
+
useEffect(() => {
|
|
104
|
+
shortcutRef.current = handleShortcut;
|
|
105
|
+
});
|
|
106
|
+
useEffect(() => {
|
|
107
|
+
if (!globalShortcuts) return;
|
|
108
|
+
const listener = (event) => shortcutRef.current(event);
|
|
109
|
+
document.addEventListener("keydown", listener);
|
|
110
|
+
return () => document.removeEventListener("keydown", listener);
|
|
111
|
+
}, [globalShortcuts]);
|
|
112
|
+
const renderTool = (tool, slot) => {
|
|
113
|
+
const pressed = tool.value === value;
|
|
114
|
+
const button = /* @__PURE__ */ jsx(Toolbar.Button, {
|
|
115
|
+
ref: slot === void 0 ? void 0 : (node) => {
|
|
116
|
+
slotTools.current.set(slot, node);
|
|
117
|
+
},
|
|
118
|
+
"data-slot": "canvas-toolbar-tool",
|
|
119
|
+
"data-state": pressed ? "on" : "off",
|
|
120
|
+
"aria-label": tool.label,
|
|
121
|
+
"aria-pressed": pressed,
|
|
122
|
+
"aria-keyshortcuts": tool.shortcut,
|
|
123
|
+
disabled: tool.disabled,
|
|
124
|
+
className: cn(toolClass, focusRing),
|
|
125
|
+
onClick: () => select(tool.value, slot),
|
|
126
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
127
|
+
"data-slot": "canvas-toolbar-icon",
|
|
128
|
+
"aria-hidden": "true",
|
|
129
|
+
className: iconClass,
|
|
130
|
+
children: tool.icon
|
|
131
|
+
})
|
|
132
|
+
});
|
|
133
|
+
if (!tooltips) return button;
|
|
134
|
+
return /* @__PURE__ */ jsxs(Tooltip$1, { children: [/* @__PURE__ */ jsx(TooltipTrigger, {
|
|
135
|
+
asChild: true,
|
|
136
|
+
children: button
|
|
137
|
+
}), /* @__PURE__ */ jsxs(TooltipContent, {
|
|
138
|
+
side,
|
|
139
|
+
children: [tool.label, tool.shortcut ? /* @__PURE__ */ jsx("kbd", {
|
|
140
|
+
className: "ms-2 font-sans uppercase opacity-60",
|
|
141
|
+
children: tool.shortcut
|
|
142
|
+
}) : null]
|
|
143
|
+
})] });
|
|
144
|
+
};
|
|
145
|
+
const flyoutKeys = (event) => {
|
|
146
|
+
if (event.key !== "ArrowLeft" && event.key !== "ArrowRight") return;
|
|
147
|
+
const panel = event.currentTarget;
|
|
148
|
+
const items = [...panel.querySelectorAll("[role=\"menuitemradio\"]:not([data-disabled])")];
|
|
149
|
+
const rtl = panel.getAttribute("dir") === "rtl" || getComputedStyle(panel).direction === "rtl";
|
|
150
|
+
const step = event.key === "ArrowRight" !== rtl ? 1 : -1;
|
|
151
|
+
const from = items.indexOf(document.activeElement);
|
|
152
|
+
event.preventDefault();
|
|
153
|
+
items[(from + step + items.length) % items.length]?.focus();
|
|
154
|
+
};
|
|
155
|
+
const renderSlot = (slot, index) => {
|
|
156
|
+
const shown = slot.tools.find((tool) => tool.value === value) ?? slot.tools.find((tool) => tool.value === (picks[index] ?? slot.defaultTool)) ?? slot.tools[0];
|
|
157
|
+
if (!shown) return null;
|
|
158
|
+
const open = openSlot === index;
|
|
159
|
+
const more = slot.moreLabel ?? `More ${slot.label.toLowerCase()}`;
|
|
160
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
161
|
+
role: "group",
|
|
162
|
+
"aria-label": slot.label,
|
|
163
|
+
"data-slot": "canvas-toolbar-slot",
|
|
164
|
+
"data-state": shown.value === value ? "on" : "off",
|
|
165
|
+
className: "relative shrink-0",
|
|
166
|
+
children: [renderTool(shown, index), /* @__PURE__ */ jsxs(DropdownMenu$1, {
|
|
167
|
+
dir,
|
|
168
|
+
open,
|
|
169
|
+
onOpenChange: (next) => setOpenSlot(next ? index : null),
|
|
170
|
+
children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, {
|
|
171
|
+
asChild: true,
|
|
172
|
+
children: /* @__PURE__ */ jsx(Toolbar.Button, {
|
|
173
|
+
"data-slot": "canvas-toolbar-notch",
|
|
174
|
+
"aria-label": more,
|
|
175
|
+
className: cn("absolute end-0.75 bottom-0.75 grid size-2.25 place-items-center rounded-xs", "opacity-40 transition-[opacity,scale] duration-[var(--duration-normal)] ease-[cubic-bezier(.28,1.3,.36,1)]", "hover:opacity-90 data-[state=open]:scale-130 data-[state=open]:opacity-90", focusRingInset),
|
|
176
|
+
children: /* @__PURE__ */ jsx("svg", {
|
|
177
|
+
viewBox: "0 0 5 5",
|
|
178
|
+
"aria-hidden": "true",
|
|
179
|
+
className: cn("size-1.25 fill-current", mirrorForDirection),
|
|
180
|
+
children: /* @__PURE__ */ jsx("path", { d: "M5 0v5H0z" })
|
|
181
|
+
})
|
|
182
|
+
})
|
|
183
|
+
}), /* @__PURE__ */ jsx(DropdownMenuContent, {
|
|
184
|
+
"data-slot": "canvas-toolbar-flyout",
|
|
185
|
+
side,
|
|
186
|
+
align: "center",
|
|
187
|
+
sideOffset: 14,
|
|
188
|
+
onKeyDown: flyoutKeys,
|
|
189
|
+
onCloseAutoFocus: (event) => {
|
|
190
|
+
if (!picked.current) return;
|
|
191
|
+
picked.current = false;
|
|
192
|
+
event.preventDefault();
|
|
193
|
+
slotTools.current.get(index)?.focus();
|
|
194
|
+
},
|
|
195
|
+
className: cn("flex min-w-0 gap-0.5 rounded-[var(--canvas-toolbar-r)] border-0 p-1.5 shadow-md", "data-[state=open]:[&>*]:animate-none", surface, flyoutClassName),
|
|
196
|
+
style: {
|
|
197
|
+
"--canvas-toolbar-r": `${String(corner)}px`,
|
|
198
|
+
"--canvas-toolbar-tool-r": `${String(Math.max(corner - 4, 0))}px`
|
|
199
|
+
},
|
|
200
|
+
children: /* @__PURE__ */ jsx(DropdownMenuRadioGroup, {
|
|
201
|
+
value: shown.value,
|
|
202
|
+
className: cn("flex gap-0.5", side === "left" || side === "right" ? "flex-col" : ""),
|
|
203
|
+
onValueChange: (next) => {
|
|
204
|
+
picked.current = true;
|
|
205
|
+
select(next, index);
|
|
206
|
+
},
|
|
207
|
+
children: slot.tools.map((tool) => /* @__PURE__ */ jsx(DropdownMenu.RadioItem, {
|
|
208
|
+
value: tool.value,
|
|
209
|
+
disabled: tool.disabled,
|
|
210
|
+
"aria-label": tool.label,
|
|
211
|
+
"data-slot": "canvas-toolbar-option",
|
|
212
|
+
className: cn(toolClass, "outline-none", focusRingInset),
|
|
213
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
214
|
+
"aria-hidden": "true",
|
|
215
|
+
className: iconClass,
|
|
216
|
+
children: tool.icon
|
|
217
|
+
})
|
|
218
|
+
}, tool.value))
|
|
219
|
+
})
|
|
220
|
+
})]
|
|
221
|
+
})]
|
|
222
|
+
}, `slot-${String(index)}`);
|
|
223
|
+
};
|
|
224
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("style", {
|
|
225
|
+
href: PREFIX,
|
|
226
|
+
precedence: "dowel",
|
|
227
|
+
children: STYLES
|
|
228
|
+
}), /* @__PURE__ */ jsx(Toolbar.Root, {
|
|
229
|
+
"data-slot": "canvas-toolbar",
|
|
230
|
+
orientation,
|
|
231
|
+
dir,
|
|
232
|
+
className: cn("inline-flex items-center gap-0.5 p-1.5 shadow-sm data-[orientation=vertical]:flex-col", surface, className),
|
|
233
|
+
style: {
|
|
234
|
+
borderRadius: corner,
|
|
235
|
+
"--canvas-toolbar-tool-r": `${String(Math.max(corner - 4, 0))}px`,
|
|
236
|
+
...style
|
|
237
|
+
},
|
|
238
|
+
onKeyDown: (event) => {
|
|
239
|
+
onKeyDown?.(event);
|
|
240
|
+
handleShortcut(event);
|
|
241
|
+
},
|
|
242
|
+
...props,
|
|
243
|
+
children: tools.map((item, index) => {
|
|
244
|
+
if (item.type === "separator") return /* @__PURE__ */ jsx(Toolbar.Separator, {
|
|
245
|
+
"data-slot": "canvas-toolbar-separator",
|
|
246
|
+
className: cn("shrink-0 bg-current/12", "data-[orientation=vertical]:mx-1.25 data-[orientation=vertical]:h-5 data-[orientation=vertical]:w-px", "data-[orientation=horizontal]:my-1.25 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-5")
|
|
247
|
+
}, `separator-${String(index)}`);
|
|
248
|
+
if (isSlot(item)) return renderSlot(item, index);
|
|
249
|
+
return /* @__PURE__ */ jsx(Fragment$1, { children: renderTool(item) }, item.value);
|
|
250
|
+
})
|
|
251
|
+
})] });
|
|
252
|
+
}
|
|
253
|
+
//#endregion
|
|
254
|
+
export { CanvasToolbar, canvasToolbarVariants };
|
|
255
|
+
|
|
256
|
+
//# sourceMappingURL=canvas-toolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canvas-toolbar.js","names":["ToolbarPrimitive","Tooltip","DropdownMenu","MenuPrimitive","Fragment"],"sources":["../../../src/components/canvas-toolbar/canvas-toolbar.tsx"],"sourcesContent":["\"use client\";\n\n// Ported from bencho Canvas toolbar (MIT, © 2026 Lorenzo Cabra). See THIRD_PARTY_NOTICES.md.\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { DropdownMenu as MenuPrimitive, Toolbar as ToolbarPrimitive } from \"radix-ui\";\nimport {\n Fragment,\n useEffect,\n useRef,\n useState,\n type ComponentPropsWithRef,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\n\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuRadioGroup,\n DropdownMenuTrigger,\n} from \"@/components/dropdown-menu\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"@/components/tooltip\";\nimport { focusRing, focusRingInset, mirrorForDirection } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\n/*\n * A Figma-style tool rail: one tool is active across the whole rail, a shape\n * slot swaps its tool from a flyout, and single-key shortcuts pick tools.\n *\n * Semantics. Radix Toolbar gives role=\"toolbar\", roving tabindex, arrow keys\n * (RTL-aware), Home/End and wrap-around. Its ToggleGroup type=\"single\" would\n * render role=\"radiogroup\" with role=\"radio\" items, which cannot also hold\n * the slot's \"More shapes\" menu button and the divider, so every tool is a\n * Toolbar.Button with aria-pressed instead: a set of toggle buttons of which\n * exactly one is pressed. The flyout is Dowel's DropdownMenu (Radix): the\n * notch has aria-haspopup=\"menu\" and aria-expanded, shapes are\n * menuitemradio, Escape closes and returns focus to the notch, and picking a\n * shape returns focus to the slot's tool.\n *\n * Motion is CSS. The active fill pops from scale .72 with a springy curve,\n * the icon rises to 1.05 and presses to .92, and the flyout rises in. All of\n * it is decoration and stops under reduced motion.\n */\n\nexport interface CanvasTool {\n type?: \"tool\";\n value: string;\n /** Accessible name, and the tooltip text. */\n label: string;\n /** Decorative glyph; hidden from assistive technology. */\n icon: ReactNode;\n /** A single key that picks the tool, e.g. \"v\". Case-insensitive. */\n shortcut?: string;\n disabled?: boolean;\n}\n\nexport interface CanvasToolSeparator {\n type: \"separator\";\n}\n\nexport interface CanvasToolSlot {\n type: \"slot\";\n /** Names the group of tools, e.g. \"Shapes\". */\n label: string;\n tools: CanvasTool[];\n /** The tool the slot shows before one is picked. Defaults to the first. */\n defaultTool?: string;\n /** Name of the flyout button. Defaults to `More ${label}` in lower case. */\n moreLabel?: string;\n}\n\nexport type CanvasToolbarItem = CanvasTool | CanvasToolSeparator | CanvasToolSlot;\n\nconst PREFIX = \"dowel-canvas-toolbar\";\n\nconst STYLES = `\n[data-slot=canvas-toolbar-tool]::before,[data-slot=canvas-toolbar-option]::before{content:\"\";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;scale:.72;pointer-events:none;transition:opacity calc(140ms * var(--motion-scale)) linear,scale calc(300ms * var(--motion-scale)) cubic-bezier(.3,1.42,.4,1)}\n[data-slot=canvas-toolbar-tool][data-state=on]::before,[data-slot=canvas-toolbar-option][data-state=checked]::before{opacity:.07;scale:1}\n@keyframes ${PREFIX}-flyout{0%{opacity:0;transform:translate(var(--${PREFIX}-fx,0),var(--${PREFIX}-fy,9px)) scale(.965)}55%{opacity:1}100%{opacity:1;transform:none}}\n[data-slot=canvas-toolbar-flyout][data-state=open]{animation:${PREFIX}-flyout calc(300ms * var(--motion-scale)) cubic-bezier(.22,1.14,.36,1)}\n[data-slot=canvas-toolbar-flyout][data-side=bottom]{--${PREFIX}-fy:-9px}\n[data-slot=canvas-toolbar-flyout][data-side=left]{--${PREFIX}-fx:9px;--${PREFIX}-fy:0}\n[data-slot=canvas-toolbar-flyout][data-side=right]{--${PREFIX}-fx:-9px;--${PREFIX}-fy:0}\n`;\n\n/** The pane surface shared by the rail and the flyout. */\nconst canvasToolbarVariants = cva(\"\", {\n variants: {\n /** `default` is the card surface; `inverted` swaps it for the ink colour. */\n tone: {\n default: \"bg-card text-foreground\",\n inverted: \"bg-foreground text-background\",\n },\n /** A 1px inset hairline around the surface. */\n stroke: {\n true: \"ring-1 ring-border ring-inset\",\n false: \"\",\n },\n },\n defaultVariants: { tone: \"default\", stroke: false },\n});\n\n/** A tool: a 38px square whose fill and icon follow data-state. */\nconst toolClass = cn(\n \"group/tool relative grid size-9.5 shrink-0 place-items-center rounded-[var(--canvas-toolbar-tool-r)]\",\n \"transition-[background-color] duration-[var(--duration-instant)]\",\n \"hover:bg-current/5 data-[highlighted]:bg-current/5 data-[state=checked]:bg-transparent data-[state=on]:bg-transparent\",\n \"disabled:pointer-events-none disabled:opacity-40\",\n);\n\nconst iconClass = cn(\n \"grid place-items-center opacity-45 transition-[opacity,scale] duration-[var(--duration-instant)] ease-[var(--ease-out-quint)]\",\n \"group-hover/tool:opacity-80 group-active/tool:scale-92 group-data-[highlighted]/tool:opacity-80\",\n \"group-data-[state=checked]/tool:scale-105 group-data-[state=checked]/tool:opacity-100\",\n \"group-data-[state=on]/tool:scale-105 group-data-[state=on]/tool:opacity-100\",\n \"[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4.25\",\n);\n\ntype Side = \"top\" | \"right\" | \"bottom\" | \"left\";\n\nexport interface CanvasToolbarProps\n extends\n Omit<ComponentPropsWithRef<typeof ToolbarPrimitive.Root>, \"children\" | \"defaultValue\">,\n VariantProps<typeof canvasToolbarVariants> {\n /** Tools, dividers and swappable slots, in order. */\n tools: CanvasToolbarItem[];\n /** The active tool (controlled). */\n value?: string;\n /** The initially active tool. Defaults to the first tool. */\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n /** Radius of the rail and flyout in px; tools use `corner - 4`. */\n corner?: number;\n /** Show each tool's name (and shortcut) in a tooltip. */\n tooltips?: boolean;\n /**\n * Listen for shortcuts on the whole document, not only while focus is in the\n * toolbar. Keys typed into inputs, textareas and contenteditable are ignored.\n */\n globalShortcuts?: boolean;\n /** Which side the flyout and tooltips open on. Defaults to top (or the inline end when vertical). */\n side?: Side;\n /** Extra classes for the flyout panel. */\n flyoutClassName?: string;\n}\n\ninterface Shortcut {\n tool: CanvasTool;\n slot?: number;\n}\n\nfunction isSlot(item: CanvasToolbarItem): item is CanvasToolSlot {\n return item.type === \"slot\";\n}\n\nfunction firstTool(tools: CanvasToolbarItem[]): string | undefined {\n for (const item of tools) {\n if (item.type === \"separator\") continue;\n return isSlot(item) ? (item.defaultTool ?? item.tools[0]?.value) : item.value;\n }\n return undefined;\n}\n\nconst EDITABLE =\n 'input, textarea, select, [contenteditable]:not([contenteditable=\"false\"]), [role^=\"menu\"]';\n\n/** Warns, in development only, when the toolbar has no accessible name. */\nfunction useNameWarning(label?: string, labelledBy?: string) {\n useEffect(() => {\n if (process.env.NODE_ENV === \"production\" || label || labelledBy) return;\n console.warn(\"[CanvasToolbar] Pass aria-label or aria-labelledby to name the toolbar.\");\n }, [label, labelledBy]);\n}\n\n/** A Figma-style tool rail with a swappable shape slot and single-key shortcuts. */\nexport function CanvasToolbar({\n className,\n style,\n tools,\n value: valueProp,\n defaultValue,\n onValueChange,\n corner = 14,\n tooltips = true,\n globalShortcuts = false,\n side: sideProp,\n flyoutClassName,\n tone,\n stroke,\n orientation = \"horizontal\",\n dir,\n onKeyDown,\n ...props\n}: CanvasToolbarProps) {\n const [uncontrolled, setUncontrolled] = useState(() => defaultValue ?? firstTool(tools));\n const value = valueProp ?? uncontrolled;\n const [picks, setPicks] = useState<Record<number, string>>({});\n const [openSlot, setOpenSlot] = useState<number | null>(null);\n const slotTools = useRef(new Map<number, HTMLButtonElement | null>());\n const picked = useRef(false);\n\n useNameWarning(props[\"aria-label\"], props[\"aria-labelledby\"]);\n\n const side: Side =\n sideProp ?? (orientation === \"vertical\" ? (dir === \"rtl\" ? \"left\" : \"right\") : \"top\");\n const surface = canvasToolbarVariants({ tone, stroke });\n\n const select = (next: string, slot?: number) => {\n if (slot !== undefined) setPicks((current) => ({ ...current, [slot]: next }));\n if (next === value) return;\n if (valueProp === undefined) setUncontrolled(next);\n onValueChange?.(next);\n };\n\n const shortcuts = new Map<string, Shortcut>();\n tools.forEach((item, index) => {\n const add = (tool: CanvasTool, slot?: number) => {\n if (tool.shortcut) shortcuts.set(tool.shortcut.toLowerCase(), { tool, slot });\n };\n if (isSlot(item)) item.tools.forEach((tool) => add(tool, index));\n else if (item.type !== \"separator\") add(item);\n });\n\n const handleShortcut = (\n event: { key: string; target: EventTarget | null } & ModifierKeys,\n ) => {\n if (event.defaultPrevented || event.altKey || event.ctrlKey || event.metaKey) return;\n if (event.target instanceof Element && event.target.closest(EDITABLE)) return;\n const hit = shortcuts.get(event.key.toLowerCase());\n if (!hit || hit.tool.disabled) return;\n event.preventDefault();\n select(hit.tool.value, hit.slot);\n };\n\n const shortcutRef = useRef(handleShortcut);\n useEffect(() => {\n shortcutRef.current = handleShortcut;\n });\n useEffect(() => {\n if (!globalShortcuts) return;\n const listener = (event: globalThis.KeyboardEvent) => shortcutRef.current(event);\n document.addEventListener(\"keydown\", listener);\n return () => document.removeEventListener(\"keydown\", listener);\n }, [globalShortcuts]);\n\n const renderTool = (tool: CanvasTool, slot?: number) => {\n const pressed = tool.value === value;\n const button = (\n <ToolbarPrimitive.Button\n ref={\n slot === undefined\n ? undefined\n : (node: HTMLButtonElement | null) => {\n slotTools.current.set(slot, node);\n }\n }\n data-slot=\"canvas-toolbar-tool\"\n data-state={pressed ? \"on\" : \"off\"}\n aria-label={tool.label}\n aria-pressed={pressed}\n aria-keyshortcuts={tool.shortcut}\n disabled={tool.disabled}\n className={cn(toolClass, focusRing)}\n onClick={() => select(tool.value, slot)}\n >\n <span data-slot=\"canvas-toolbar-icon\" aria-hidden=\"true\" className={iconClass}>\n {tool.icon}\n </span>\n </ToolbarPrimitive.Button>\n );\n if (!tooltips) return button;\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side={side}>\n {tool.label}\n {tool.shortcut ? (\n <kbd className=\"ms-2 font-sans uppercase opacity-60\">{tool.shortcut}</kbd>\n ) : null}\n </TooltipContent>\n </Tooltip>\n );\n };\n\n const flyoutKeys = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key !== \"ArrowLeft\" && event.key !== \"ArrowRight\") return;\n const panel = event.currentTarget;\n const items = [\n ...panel.querySelectorAll<HTMLElement>('[role=\"menuitemradio\"]:not([data-disabled])'),\n ];\n const rtl =\n panel.getAttribute(\"dir\") === \"rtl\" || getComputedStyle(panel).direction === \"rtl\";\n const step = (event.key === \"ArrowRight\") !== rtl ? 1 : -1;\n const from = items.indexOf(document.activeElement as HTMLElement);\n event.preventDefault();\n items[(from + step + items.length) % items.length]?.focus();\n };\n\n const renderSlot = (slot: CanvasToolSlot, index: number) => {\n const shown =\n slot.tools.find((tool) => tool.value === value) ??\n slot.tools.find((tool) => tool.value === (picks[index] ?? slot.defaultTool)) ??\n slot.tools[0];\n if (!shown) return null;\n const open = openSlot === index;\n const more = slot.moreLabel ?? `More ${slot.label.toLowerCase()}`;\n return (\n <div\n key={`slot-${String(index)}`}\n role=\"group\"\n aria-label={slot.label}\n data-slot=\"canvas-toolbar-slot\"\n data-state={shown.value === value ? \"on\" : \"off\"}\n className=\"relative shrink-0\"\n >\n {renderTool(shown, index)}\n <DropdownMenu\n dir={dir}\n open={open}\n onOpenChange={(next) => setOpenSlot(next ? index : null)}\n >\n <DropdownMenuTrigger asChild>\n <ToolbarPrimitive.Button\n data-slot=\"canvas-toolbar-notch\"\n aria-label={more}\n className={cn(\n \"absolute end-0.75 bottom-0.75 grid size-2.25 place-items-center rounded-xs\",\n \"opacity-40 transition-[opacity,scale] duration-[var(--duration-normal)] ease-[cubic-bezier(.28,1.3,.36,1)]\",\n \"hover:opacity-90 data-[state=open]:scale-130 data-[state=open]:opacity-90\",\n focusRingInset,\n )}\n >\n <svg\n viewBox=\"0 0 5 5\"\n aria-hidden=\"true\"\n className={cn(\"size-1.25 fill-current\", mirrorForDirection)}\n >\n <path d=\"M5 0v5H0z\" />\n </svg>\n </ToolbarPrimitive.Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n data-slot=\"canvas-toolbar-flyout\"\n side={side}\n align=\"center\"\n sideOffset={14}\n onKeyDown={flyoutKeys}\n onCloseAutoFocus={(event) => {\n if (!picked.current) return;\n picked.current = false;\n event.preventDefault();\n slotTools.current.get(index)?.focus();\n }}\n className={cn(\n \"flex min-w-0 gap-0.5 rounded-[var(--canvas-toolbar-r)] border-0 p-1.5 shadow-md\",\n \"data-[state=open]:[&>*]:animate-none\",\n surface,\n flyoutClassName,\n )}\n style={\n {\n \"--canvas-toolbar-r\": `${String(corner)}px`,\n \"--canvas-toolbar-tool-r\": `${String(Math.max(corner - 4, 0))}px`,\n } as CSSProperties\n }\n >\n <DropdownMenuRadioGroup\n value={shown.value}\n className={cn(\n \"flex gap-0.5\",\n side === \"left\" || side === \"right\" ? \"flex-col\" : \"\",\n )}\n onValueChange={(next) => {\n picked.current = true;\n select(next, index);\n }}\n >\n {slot.tools.map((tool) => (\n <MenuPrimitive.RadioItem\n key={tool.value}\n value={tool.value}\n disabled={tool.disabled}\n aria-label={tool.label}\n data-slot=\"canvas-toolbar-option\"\n className={cn(toolClass, \"outline-none\", focusRingInset)}\n >\n <span aria-hidden=\"true\" className={iconClass}>\n {tool.icon}\n </span>\n </MenuPrimitive.RadioItem>\n ))}\n </DropdownMenuRadioGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n };\n\n return (\n <>\n <style href={PREFIX} precedence=\"dowel\">\n {STYLES}\n </style>\n <ToolbarPrimitive.Root\n data-slot=\"canvas-toolbar\"\n orientation={orientation}\n dir={dir}\n className={cn(\n \"inline-flex items-center gap-0.5 p-1.5 shadow-sm data-[orientation=vertical]:flex-col\",\n surface,\n className,\n )}\n style={\n {\n borderRadius: corner,\n \"--canvas-toolbar-tool-r\": `${String(Math.max(corner - 4, 0))}px`,\n ...style,\n } as CSSProperties\n }\n onKeyDown={(event) => {\n onKeyDown?.(event);\n handleShortcut(event);\n }}\n {...props}\n >\n {tools.map((item, index) => {\n if (item.type === \"separator\") {\n return (\n <ToolbarPrimitive.Separator\n key={`separator-${String(index)}`}\n data-slot=\"canvas-toolbar-separator\"\n className={cn(\n \"shrink-0 bg-current/12\",\n \"data-[orientation=vertical]:mx-1.25 data-[orientation=vertical]:h-5 data-[orientation=vertical]:w-px\",\n \"data-[orientation=horizontal]:my-1.25 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-5\",\n )}\n />\n );\n }\n if (isSlot(item)) return renderSlot(item, index);\n return <Fragment key={item.value}>{renderTool(item)}</Fragment>;\n })}\n </ToolbarPrimitive.Root>\n </>\n );\n}\n\ninterface ModifierKeys {\n altKey: boolean;\n ctrlKey: boolean;\n metaKey: boolean;\n defaultPrevented: boolean;\n preventDefault: () => void;\n}\n\nexport { canvasToolbarVariants };\n"],"mappings":";;;;;;;;;;AA0EA,MAAM,SAAS;AAEf,MAAM,SAAS;;;aAGF,OAAO,iDAAiD,OAAO,eAAe,OAAO;+DACnC,OAAO;wDACd,OAAO;sDACT,OAAO,YAAY,OAAO;uDACzB,OAAO,aAAa,OAAO;;;AAIlF,MAAM,wBAAwB,IAAI,IAAI;CACpC,UAAU;;EAER,MAAM;GACJ,SAAS;GACT,UAAU;EACZ;;EAEA,QAAQ;GACN,MAAM;GACN,OAAO;EACT;CACF;CACA,iBAAiB;EAAE,MAAM;EAAW,QAAQ;CAAM;AACpD,CAAC;;AAGD,MAAM,YAAY,GAChB,wGACA,oEACA,yHACA,kDACF;AAEA,MAAM,YAAY,GAChB,iIACA,mGACA,yFACA,+EACA,qEACF;AAmCA,SAAS,OAAO,MAAiD;CAC/D,OAAO,KAAK,SAAS;AACvB;AAEA,SAAS,UAAU,OAAgD;CACjE,KAAK,MAAM,QAAQ,OAAO;EACxB,IAAI,KAAK,SAAS,aAAa;EAC/B,OAAO,OAAO,IAAI,IAAK,KAAK,eAAe,KAAK,MAAM,EAAE,EAAE,QAAS,KAAK;CAC1E;AAEF;AAEA,MAAM,WACJ;;AAGF,SAAS,eAAe,OAAgB,YAAqB;CAC3D,gBAAgB;EACd,IAAI,QAAQ,IAAI,aAAa,gBAAgB,SAAS,YAAY;EAClE,QAAQ,KAAK,yEAAyE;CACxF,GAAG,CAAC,OAAO,UAAU,CAAC;AACxB;;AAGA,SAAgB,cAAc,EAC5B,WACA,OACA,OACA,OAAO,WACP,cACA,eACA,SAAS,IACT,WAAW,MACX,kBAAkB,OAClB,MAAM,UACN,iBACA,MACA,QACA,cAAc,cACd,KACA,WACA,GAAG,SACkB;CACrB,MAAM,CAAC,cAAc,mBAAmB,eAAe,gBAAgB,UAAU,KAAK,CAAC;CACvF,MAAM,QAAQ,aAAa;CAC3B,MAAM,CAAC,OAAO,YAAY,SAAiC,CAAC,CAAC;CAC7D,MAAM,CAAC,UAAU,eAAe,SAAwB,IAAI;CAC5D,MAAM,YAAY,uBAAO,IAAI,IAAsC,CAAC;CACpE,MAAM,SAAS,OAAO,KAAK;CAE3B,eAAe,MAAM,eAAe,MAAM,kBAAkB;CAE5D,MAAM,OACJ,aAAa,gBAAgB,aAAc,QAAQ,QAAQ,SAAS,UAAW;CACjF,MAAM,UAAU,sBAAsB;EAAE;EAAM;CAAO,CAAC;CAEtD,MAAM,UAAU,MAAc,SAAkB;EAC9C,IAAI,SAAS,KAAA,GAAW,UAAU,aAAa;GAAE,GAAG;IAAU,OAAO;EAAK,EAAE;EAC5E,IAAI,SAAS,OAAO;EACpB,IAAI,cAAc,KAAA,GAAW,gBAAgB,IAAI;EACjD,gBAAgB,IAAI;CACtB;CAEA,MAAM,4BAAY,IAAI,IAAsB;CAC5C,MAAM,SAAS,MAAM,UAAU;EAC7B,MAAM,OAAO,MAAkB,SAAkB;GAC/C,IAAI,KAAK,UAAU,UAAU,IAAI,KAAK,SAAS,YAAY,GAAG;IAAE;IAAM;GAAK,CAAC;EAC9E;EACA,IAAI,OAAO,IAAI,GAAG,KAAK,MAAM,SAAS,SAAS,IAAI,MAAM,KAAK,CAAC;OAC1D,IAAI,KAAK,SAAS,aAAa,IAAI,IAAI;CAC9C,CAAC;CAED,MAAM,kBACJ,UACG;EACH,IAAI,MAAM,oBAAoB,MAAM,UAAU,MAAM,WAAW,MAAM,SAAS;EAC9E,IAAI,MAAM,kBAAkB,WAAW,MAAM,OAAO,QAAQ,QAAQ,GAAG;EACvE,MAAM,MAAM,UAAU,IAAI,MAAM,IAAI,YAAY,CAAC;EACjD,IAAI,CAAC,OAAO,IAAI,KAAK,UAAU;EAC/B,MAAM,eAAe;EACrB,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI;CACjC;CAEA,MAAM,cAAc,OAAO,cAAc;CACzC,gBAAgB;EACd,YAAY,UAAU;CACxB,CAAC;CACD,gBAAgB;EACd,IAAI,CAAC,iBAAiB;EACtB,MAAM,YAAY,UAAoC,YAAY,QAAQ,KAAK;EAC/E,SAAS,iBAAiB,WAAW,QAAQ;EAC7C,aAAa,SAAS,oBAAoB,WAAW,QAAQ;CAC/D,GAAG,CAAC,eAAe,CAAC;CAEpB,MAAM,cAAc,MAAkB,SAAkB;EACtD,MAAM,UAAU,KAAK,UAAU;EAC/B,MAAM,SACJ,oBAACA,QAAiB,QAAlB;GACE,KACE,SAAS,KAAA,IACL,KAAA,KACC,SAAmC;IAClC,UAAU,QAAQ,IAAI,MAAM,IAAI;GAClC;GAEN,aAAU;GACV,cAAY,UAAU,OAAO;GAC7B,cAAY,KAAK;GACjB,gBAAc;GACd,qBAAmB,KAAK;GACxB,UAAU,KAAK;GACf,WAAW,GAAG,WAAW,SAAS;GAClC,eAAe,OAAO,KAAK,OAAO,IAAI;GAEtC,UAAA,oBAAC,QAAD;IAAM,aAAU;IAAsB,eAAY;IAAO,WAAW;IACjE,UAAA,KAAK;GACF,CAAA;EACiB,CAAA;EAE3B,IAAI,CAAC,UAAU,OAAO;EACtB,OACE,qBAACC,WAAD,EAAA,UAAA,CACE,oBAAC,gBAAD;GAAgB,SAAA;GAAS,UAAA;EAAuB,CAAA,GAChD,qBAAC,gBAAD;GAAsB;GAAtB,UAAA,CACG,KAAK,OACL,KAAK,WACJ,oBAAC,OAAD;IAAK,WAAU;IAAuC,UAAA,KAAK;GAAc,CAAA,IACvE,IACU;EACT,CAAA,CAAA,EAAA,CAAA;CAEb;CAEA,MAAM,cAAc,UAAyC;EAC3D,IAAI,MAAM,QAAQ,eAAe,MAAM,QAAQ,cAAc;EAC7D,MAAM,QAAQ,MAAM;EACpB,MAAM,QAAQ,CACZ,GAAG,MAAM,iBAA8B,+CAA6C,CACtF;EACA,MAAM,MACJ,MAAM,aAAa,KAAK,MAAM,SAAS,iBAAiB,KAAK,CAAC,CAAC,cAAc;EAC/E,MAAM,OAAQ,MAAM,QAAQ,iBAAkB,MAAM,IAAI;EACxD,MAAM,OAAO,MAAM,QAAQ,SAAS,aAA4B;EAChE,MAAM,eAAe;EACrB,OAAO,OAAO,OAAO,MAAM,UAAU,MAAM,OAAO,EAAE,MAAM;CAC5D;CAEA,MAAM,cAAc,MAAsB,UAAkB;EAC1D,MAAM,QACJ,KAAK,MAAM,MAAM,SAAS,KAAK,UAAU,KAAK,KAC9C,KAAK,MAAM,MAAM,SAAS,KAAK,WAAW,MAAM,UAAU,KAAK,YAAY,KAC3E,KAAK,MAAM;EACb,IAAI,CAAC,OAAO,OAAO;EACnB,MAAM,OAAO,aAAa;EAC1B,MAAM,OAAO,KAAK,aAAa,QAAQ,KAAK,MAAM,YAAY;EAC9D,OACE,qBAAC,OAAD;GAEE,MAAK;GACL,cAAY,KAAK;GACjB,aAAU;GACV,cAAY,MAAM,UAAU,QAAQ,OAAO;GAC3C,WAAU;GANZ,UAAA,CAQG,WAAW,OAAO,KAAK,GACxB,qBAACC,gBAAD;IACO;IACC;IACN,eAAe,SAAS,YAAY,OAAO,QAAQ,IAAI;IAHzD,UAAA,CAKE,oBAAC,qBAAD;KAAqB,SAAA;KACnB,UAAA,oBAACF,QAAiB,QAAlB;MACE,aAAU;MACV,cAAY;MACZ,WAAW,GACT,8EACA,8GACA,6EACA,cACF;MAEA,UAAA,oBAAC,OAAD;OACE,SAAQ;OACR,eAAY;OACZ,WAAW,GAAG,0BAA0B,kBAAkB;OAE1D,UAAA,oBAAC,QAAD,EAAM,GAAE,YAAa,CAAA;MAClB,CAAA;KACkB,CAAA;IACN,CAAA,GACrB,oBAAC,qBAAD;KACE,aAAU;KACJ;KACN,OAAM;KACN,YAAY;KACZ,WAAW;KACX,mBAAmB,UAAU;MAC3B,IAAI,CAAC,OAAO,SAAS;MACrB,OAAO,UAAU;MACjB,MAAM,eAAe;MACrB,UAAU,QAAQ,IAAI,KAAK,CAAC,EAAE,MAAM;KACtC;KACA,WAAW,GACT,mFACA,wCACA,SACA,eACF;KACA,OACE;MACE,sBAAsB,GAAG,OAAO,MAAM,EAAE;MACxC,2BAA2B,GAAG,OAAO,KAAK,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE;KAChE;KAGF,UAAA,oBAAC,wBAAD;MACE,OAAO,MAAM;MACb,WAAW,GACT,gBACA,SAAS,UAAU,SAAS,UAAU,aAAa,EACrD;MACA,gBAAgB,SAAS;OACvB,OAAO,UAAU;OACjB,OAAO,MAAM,KAAK;MACpB;MAEC,UAAA,KAAK,MAAM,KAAK,SACf,oBAACG,aAAc,WAAf;OAEE,OAAO,KAAK;OACZ,UAAU,KAAK;OACf,cAAY,KAAK;OACjB,aAAU;OACV,WAAW,GAAG,WAAW,gBAAgB,cAAc;OAEvD,UAAA,oBAAC,QAAD;QAAM,eAAY;QAAO,WAAW;QACjC,UAAA,KAAK;OACF,CAAA;MACiB,GAVlB,KAAK,KAUa,CAC1B;KACqB,CAAA;IACL,CAAA,CACT;GACX,CAAA,CAAA;EAtFE,GAAA,QAAQ,OAAO,KAAK,GAsFtB;CAET;CAEA,OACE,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,SAAD;EAAO,MAAM;EAAQ,YAAW;EAC7B,UAAA;CACI,CAAA,GACP,oBAACH,QAAiB,MAAlB;EACE,aAAU;EACG;EACR;EACL,WAAW,GACT,yFACA,SACA,SACF;EACA,OACE;GACE,cAAc;GACd,2BAA2B,GAAG,OAAO,KAAK,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE;GAC9D,GAAG;EACL;EAEF,YAAY,UAAU;GACpB,YAAY,KAAK;GACjB,eAAe,KAAK;EACtB;EACA,GAAI;EAEH,UAAA,MAAM,KAAK,MAAM,UAAU;GAC1B,IAAI,KAAK,SAAS,aAChB,OACE,oBAACA,QAAiB,WAAlB;IAEE,aAAU;IACV,WAAW,GACT,0BACA,wGACA,4GACF;GACD,GAPM,aAAa,OAAO,KAAK,GAO/B;GAGL,IAAI,OAAO,IAAI,GAAG,OAAO,WAAW,MAAM,KAAK;GAC/C,OAAO,oBAACI,YAAD,EAAA,UAA4B,WAAW,IAAI,EAAY,GAAxC,KAAK,KAAmC;EAChE,CAAC;CACoB,CAAA,CACvB,EAAA,CAAA;AAEN"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { CanvasTool, CanvasToolSeparator, CanvasToolSlot, CanvasToolbar, CanvasToolbarItem, CanvasToolbarProps, canvasToolbarVariants } from "./canvas-toolbar.js";
|
|
2
|
+
export { type CanvasTool, type CanvasToolSeparator, type CanvasToolSlot, CanvasToolbar, type CanvasToolbarItem, type CanvasToolbarProps, canvasToolbarVariants };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/canvas-toolbar/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "canvas-toolbar",
|
|
5
|
+
title: "Canvas Toolbar",
|
|
6
|
+
description: "A Figma-style tool rail: one active tool with a springy fill, a shape slot that swaps its tool from a flyout, and single-key shortcuts.",
|
|
7
|
+
category: "navigation",
|
|
8
|
+
status: "beta",
|
|
9
|
+
dependencies: ["class-variance-authority", "radix-ui"],
|
|
10
|
+
registryDependencies: ["dropdown-menu", "tooltip"],
|
|
11
|
+
files: ["canvas-toolbar.tsx"],
|
|
12
|
+
a11y: "Built on Radix Toolbar: role=\"toolbar\" (name it with aria-label; it warns in development when unnamed) with one tab stop, arrow keys that follow the reading direction, Home/End and wrap-around. Tools are toggle buttons named by their label, with aria-pressed on the single active tool and aria-keyshortcuts when a shortcut is set; a tooltip repeats the name and key. The slot is a named group; its notch is a menu button (aria-haspopup=\"menu\", aria-expanded) opening Dowel's DropdownMenu, where shapes are menuitemradio items reachable with Left/Right as well as Up/Down. Escape closes the flyout and returns focus to the notch; picking a shape returns focus to the slot's tool. Shortcuts work while focus is in the toolbar, or on the whole document with globalShortcuts, and are ignored in inputs, textareas, contenteditable and open menus. The fill pop and the flyout entrance are decoration and stop 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/canvas-toolbar/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"canvas-toolbar\",\n title: \"Canvas Toolbar\",\n description:\n \"A Figma-style tool rail: one active tool with a springy fill, a shape slot that swaps its tool from a flyout, and single-key shortcuts.\",\n category: \"navigation\",\n status: \"beta\",\n dependencies: [\"class-variance-authority\", \"radix-ui\"],\n registryDependencies: [\"dropdown-menu\", \"tooltip\"],\n files: [\"canvas-toolbar.tsx\"],\n a11y:\n 'Built on Radix Toolbar: role=\"toolbar\" (name it with aria-label; it warns in development when unnamed) with one tab stop, ' +\n \"arrow keys that follow the reading direction, Home/End and wrap-around. Tools are toggle buttons named by their label, \" +\n \"with aria-pressed on the single active tool and aria-keyshortcuts when a shortcut is set; a tooltip repeats the name and key. \" +\n 'The slot is a named group; its notch is a menu button (aria-haspopup=\"menu\", aria-expanded) opening Dowel\\'s DropdownMenu, ' +\n \"where shapes are menuitemradio items reachable with Left/Right as well as Up/Down. Escape closes the flyout and returns focus \" +\n \"to the notch; picking a shape returns focus to the slot's tool. Shortcuts work while focus is in the toolbar, or on the whole \" +\n \"document with globalShortcuts, and are ignored in inputs, textareas, contenteditable and open menus. The fill pop and the \" +\n \"flyout entrance are decoration and stop under reduced motion.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aACE;CACF,UAAU;CACV,QAAQ;CACR,cAAc,CAAC,4BAA4B,UAAU;CACrD,sBAAsB,CAAC,iBAAiB,SAAS;CACjD,OAAO,CAAC,oBAAoB;CAC5B,MACE;AAQJ,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
//#region src/components/card-spread/card-spread-layouts.d.ts
|
|
2
|
+
declare const CARD_SPREAD_LAYOUTS: readonly ["arc", "long-arc", "linear", "corner", "stamp", "cascade", "scatter", "wheel"];
|
|
3
|
+
type CardSpreadLayout = (typeof CARD_SPREAD_LAYOUTS)[number];
|
|
4
|
+
interface CardSpreadPose {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
rotate: number;
|
|
8
|
+
scale: number;
|
|
9
|
+
z: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The three knobs amicro's adjustable Stamp Arc exposes, generalised to every
|
|
13
|
+
* layout. Each layout reads the ones that mean something to it.
|
|
14
|
+
*/
|
|
15
|
+
interface CardSpreadTuning {
|
|
16
|
+
/** Rotation between neighbouring cards, in degrees. */
|
|
17
|
+
arc?: number;
|
|
18
|
+
/** Horizontal distance between neighbouring cards, as a percentage of card width. */
|
|
19
|
+
gap?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Vertical travel, as a percentage of card height. For the curved layouts it
|
|
22
|
+
* is the curvature: a card `d` steps from the centre drops `offset × d²`.
|
|
23
|
+
* For `cascade` it is the rise per card.
|
|
24
|
+
*/
|
|
25
|
+
offset?: number;
|
|
26
|
+
}
|
|
27
|
+
interface CardSpreadOrigin {
|
|
28
|
+
/** Horizontal offset of the transform origin from the card's centre, in % of its width. */
|
|
29
|
+
x: number;
|
|
30
|
+
/** Vertical transform origin, in % of the card's height from its top edge. */
|
|
31
|
+
y: number;
|
|
32
|
+
}
|
|
33
|
+
/** The tuning a layout uses when none is given. */
|
|
34
|
+
declare function getCardSpreadDefaults(layout: CardSpreadLayout): Required<CardSpreadTuning>;
|
|
35
|
+
/** Where a layout's cards pivot. */
|
|
36
|
+
declare function getCardSpreadOrigin(layout: CardSpreadLayout): CardSpreadOrigin;
|
|
37
|
+
/**
|
|
38
|
+
* The pose of card `index` of `count`, open or closed.
|
|
39
|
+
*
|
|
40
|
+
* Undefined tuning values fall back to the layout's defaults, so a consumer
|
|
41
|
+
* can adjust one knob without restating the others.
|
|
42
|
+
*/
|
|
43
|
+
declare function getCardSpreadPose(layout: CardSpreadLayout, index: number, count: number, open: boolean, tuning?: CardSpreadTuning): CardSpreadPose;
|
|
44
|
+
//#endregion
|
|
45
|
+
export { CARD_SPREAD_LAYOUTS, CardSpreadLayout, CardSpreadOrigin, CardSpreadPose, CardSpreadTuning, getCardSpreadDefaults, getCardSpreadOrigin, getCardSpreadPose };
|
|
46
|
+
//# sourceMappingURL=card-spread-layouts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-spread-layouts.d.ts","names":[],"sources":["../../../src/components/card-spread/card-spread-layouts.ts"],"mappings":";cAoBa;KAWD,2BAA2B;UAEtB;EACf;EACA;EACA;EACA;EACA;;;;;;UAOe;;EAEf;;EAEA;;;;;;EAMA;;UAGe;;EAEf;;EAEA;;;iBAkJc,sBAAsB,QAAQ,mBAAmB,SAAS;;iBAK1D,oBAAoB,QAAQ,mBAAmB;;;;;;;iBAU/C,kBACd,QAAQ,kBACR,eACA,eACA,eACA,SAAQ,mBACP"}
|