@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":"file-upload.js","names":[],"sources":["../../../src/components/file-upload/file-upload.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useId,\n useRef,\n useState,\n type ComponentPropsWithRef,\n type DragEvent,\n type ReactNode,\n} from \"react\";\n\nimport { disabledStyles, focusRing } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\nimport { formatBytes, type QueuedFile, type UploadStatus } from \"./upload-queue\";\n\n/**\n * The visible half of uploading. The queue is in `upload-queue.ts` and is the\n * part worth owning.\n *\n * There is no dropzone pattern in the WAI-ARIA APG, and inventing one is the\n * usual failure: a `div` with `role=\"button\"`, a keydown handler, and a file\n * picker that keyboard users can never reach. So the control here is a real\n * `<input type=\"file\">` with a real `<label>`. That is already operable by\n * keyboard, already announces itself, already opens the picker on Enter and\n * Space, and needs nothing added. Drag and drop is layered on top as a pointer\n * convenience, and every drop can also be done from the input.\n */\n\nconst STATUS_LABEL: Record<UploadStatus, string> = {\n queued: \"Waiting\",\n uploading: \"Uploading\",\n done: \"Uploaded\",\n failed: \"Failed\",\n cancelled: \"Cancelled\",\n};\n\nexport interface FileUploadProps extends Omit<ComponentPropsWithRef<\"div\">, \"onDrop\"> {\n /** Names the control. */\n label: string;\n onFiles: (files: File[]) => void;\n accept?: string;\n multiple?: boolean;\n disabled?: boolean;\n /** Shown under the prompt: accepted types, size limit. */\n hint?: ReactNode;\n children?: ReactNode;\n}\n\nexport function FileUpload({\n className,\n label,\n onFiles,\n accept,\n multiple = true,\n disabled = false,\n hint,\n children,\n ...props\n}: FileUploadProps) {\n const inputId = useId();\n const hintId = useId();\n const [dragging, setDragging] = useState(false);\n const depth = useRef(0);\n\n function handleDrop(event: DragEvent<HTMLDivElement>) {\n event.preventDefault();\n depth.current = 0;\n setDragging(false);\n if (disabled) return;\n\n const dropped = [...event.dataTransfer.files];\n if (dropped.length > 0) onFiles(multiple ? dropped : dropped.slice(0, 1));\n }\n\n return (\n <div data-slot=\"file-upload\" className={cn(\"flex flex-col gap-3\", className)} {...props}>\n {/* dragenter/dragleave fire for every child element, so a plain boolean\n flickers as the pointer crosses the prompt text. Counting depth is\n what makes the highlight steady. */}\n <div\n data-slot=\"file-upload-dropzone\"\n data-dragging={dragging || undefined}\n onDragEnter={(event) => {\n event.preventDefault();\n depth.current += 1;\n if (!disabled) setDragging(true);\n }}\n onDragLeave={() => {\n depth.current -= 1;\n if (depth.current <= 0) setDragging(false);\n }}\n onDragOver={(event) => {\n event.preventDefault();\n }}\n onDrop={handleDrop}\n className={cn(\n \"rounded-lg border border-dashed border-border-strong bg-muted/30 px-4 py-6 text-center\",\n \"transition-colors duration-[var(--duration-fast)]\",\n dragging && \"border-primary bg-primary/5\",\n disabled && \"pointer-events-none opacity-55\",\n )}\n >\n {/* The label is the control. Clicking it opens the picker, Enter and\n Space activate it, and assistive technology already describes it. */}\n <label\n htmlFor={inputId}\n className={cn(\n \"inline-flex cursor-pointer flex-col items-center gap-1 rounded-md px-2 py-1 text-sm\",\n \"focus-within:ring-2 focus-within:ring-ring/55\",\n )}\n >\n <span className=\"font-medium\">{label}</span>\n <span className=\"text-xs text-muted-foreground\">\n Drop {multiple ? \"files\" : \"a file\"} here, or choose from your device\n </span>\n <input\n id={inputId}\n type=\"file\"\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n aria-describedby={hint ? hintId : undefined}\n onChange={(event) => {\n const chosen = [...(event.target.files ?? [])];\n if (chosen.length > 0) onFiles(chosen);\n // Reset, so choosing the same file twice fires change twice.\n event.target.value = \"\";\n }}\n className=\"sr-only\"\n />\n </label>\n\n {hint ? (\n <p id={hintId} className=\"mt-2 text-xs text-muted-foreground\">\n {hint}\n </p>\n ) : null}\n </div>\n\n {children}\n </div>\n );\n}\n\nexport interface FileUploadListProps extends ComponentPropsWithRef<\"ul\"> {\n files: QueuedFile[];\n onCancel?: (id: string) => void;\n onRetry?: (id: string) => void;\n onRemove?: (id: string) => void;\n}\n\nexport function FileUploadList({\n className,\n files,\n onCancel,\n onRetry,\n onRemove,\n ...props\n}: FileUploadListProps) {\n if (files.length === 0) return null;\n\n return (\n <ul\n data-slot=\"file-upload-list\"\n className={cn(\"flex list-none flex-col gap-2\", className)}\n {...props}\n >\n {files.map((entry) => (\n <FileUploadItem\n key={entry.id}\n entry={entry}\n onCancel={onCancel}\n onRetry={onRetry}\n onRemove={onRemove}\n />\n ))}\n </ul>\n );\n}\n\nexport interface FileUploadItemProps extends Omit<ComponentPropsWithRef<\"li\">, \"children\"> {\n entry: QueuedFile;\n onCancel?: (id: string) => void;\n onRetry?: (id: string) => void;\n onRemove?: (id: string) => void;\n}\n\nexport function FileUploadItem({\n className,\n entry,\n onCancel,\n onRetry,\n onRemove,\n ...props\n}: FileUploadItemProps) {\n const { id, file, status, progress, error } = entry;\n const percent = progress === null ? null : Math.round(progress * 100);\n\n return (\n <li\n data-slot=\"file-upload-item\"\n data-status={status}\n className={cn(\n \"flex items-center gap-3 rounded-lg border px-3 py-2 text-sm\",\n status === \"failed\"\n ? \"border-destructive/40 bg-destructive/5\"\n : \"border-border bg-card\",\n className,\n )}\n {...props}\n >\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n <div className=\"flex items-baseline justify-between gap-2\">\n <span className=\"truncate font-medium\">{file.name}</span>\n <span className=\"shrink-0 text-xs text-muted-foreground tabular-nums\">\n {formatBytes(file.size)}\n </span>\n </div>\n\n {/* Status in words, always. A bar at 60% with a red tint does not say\n whether it is uploading, stalled or failed. */}\n <p\n className={cn(\n \"text-xs\",\n status === \"failed\" ? \"text-destructive\" : \"text-muted-foreground\",\n )}\n >\n {STATUS_LABEL[status]}\n {status === \"uploading\" && percent !== null ? ` · ${String(percent)}%` : null}\n {error ? ` · ${error}` : null}\n </p>\n\n {status === \"uploading\" ? (\n <div\n role=\"progressbar\"\n aria-label={`Uploading ${file.name}`}\n aria-valuenow={percent ?? undefined}\n aria-valuemin={0}\n aria-valuemax={100}\n className=\"h-1 w-full overflow-hidden rounded-full bg-muted\"\n >\n <div\n data-slot=\"file-upload-progress\"\n className=\"h-full rounded-full bg-primary transition-[width] duration-[var(--duration-normal)] ease-[var(--ease-out-quint)]\"\n style={{ width: `${String(percent ?? 0)}%` }}\n />\n </div>\n ) : null}\n </div>\n\n <div className=\"flex shrink-0 items-center gap-1\">\n {status === \"uploading\" && onCancel ? (\n <ItemButton onClick={() => onCancel(id)}>Cancel</ItemButton>\n ) : null}\n {(status === \"failed\" || status === \"cancelled\") && onRetry ? (\n <ItemButton onClick={() => onRetry(id)}>Retry</ItemButton>\n ) : null}\n {onRemove ? (\n <ItemButton onClick={() => onRemove(id)} aria-label={`Remove ${file.name}`}>\n Remove\n </ItemButton>\n ) : null}\n </div>\n </li>\n );\n}\n\nfunction ItemButton({ className, ...props }: ComponentPropsWithRef<\"button\">) {\n return (\n <button\n type=\"button\"\n className={cn(\n \"rounded-md border border-input bg-background px-2 py-0.5 text-xs font-medium\",\n \"transition-colors hover:bg-accent hover:text-accent-foreground\",\n focusRing,\n disabledStyles,\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * One sentence covering the whole queue, announced politely.\n *\n * Per-file live regions would talk over each other the moment two uploads run\n * at once; one summary of the set is readable where six competing ones are not.\n */\nexport function FileUploadStatus({\n className,\n stats,\n ...props\n}: ComponentPropsWithRef<\"p\"> & {\n stats: { total: number; active: number; done: number; failed: number };\n}) {\n const { total, active, done, failed } = stats;\n\n // Progress through the set, not a count of what happens to be in flight.\n // \"3 of 5 uploading\" is wrong the moment a concurrency limit holds two back,\n // and it never tells the reader how much of the job is left.\n const message =\n total === 0\n ? \"\"\n : active > 0\n ? `${String(done)} of ${String(total)} uploaded`\n : failed > 0\n ? `${String(done)} uploaded, ${String(failed)} failed`\n : `${String(done)} uploaded`;\n\n return (\n <p\n data-slot=\"file-upload-status\"\n aria-live=\"polite\"\n className={cn(\"text-xs text-muted-foreground\", className)}\n {...props}\n >\n {message}\n </p>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AA6BA,MAAM,eAA6C;CACjD,QAAQ;CACR,WAAW;CACX,MAAM;CACN,QAAQ;CACR,WAAW;AACb;AAcA,SAAgB,WAAW,EACzB,WACA,OACA,SACA,QACA,WAAW,MACX,WAAW,OACX,MACA,UACA,GAAG,SACe;CAClB,MAAM,UAAU,MAAM;CACtB,MAAM,SAAS,MAAM;CACrB,MAAM,CAAC,UAAU,eAAe,SAAS,KAAK;CAC9C,MAAM,QAAQ,OAAO,CAAC;CAEtB,SAAS,WAAW,OAAkC;EACpD,MAAM,eAAe;EACrB,MAAM,UAAU;EAChB,YAAY,KAAK;EACjB,IAAI,UAAU;EAEd,MAAM,UAAU,CAAC,GAAG,MAAM,aAAa,KAAK;EAC5C,IAAI,QAAQ,SAAS,GAAG,QAAQ,WAAW,UAAU,QAAQ,MAAM,GAAG,CAAC,CAAC;CAC1E;CAEA,OACE,qBAAC,OAAD;EAAK,aAAU;EAAc,WAAW,GAAG,uBAAuB,SAAS;EAAG,GAAI;EAAlF,UAAA,CAIE,qBAAC,OAAD;GACE,aAAU;GACV,iBAAe,YAAY,KAAA;GAC3B,cAAc,UAAU;IACtB,MAAM,eAAe;IACrB,MAAM,WAAW;IACjB,IAAI,CAAC,UAAU,YAAY,IAAI;GACjC;GACA,mBAAmB;IACjB,MAAM,WAAW;IACjB,IAAI,MAAM,WAAW,GAAG,YAAY,KAAK;GAC3C;GACA,aAAa,UAAU;IACrB,MAAM,eAAe;GACvB;GACA,QAAQ;GACR,WAAW,GACT,0FACA,qDACA,YAAY,+BACZ,YAAY,gCACd;GArBF,UAAA,CAyBE,qBAAC,SAAD;IACE,SAAS;IACT,WAAW,GACT,uFACA,+CACF;IALF,UAAA;KAOE,oBAAC,QAAD;MAAM,WAAU;MAAe,UAAA;KAAY,CAAA;KAC3C,qBAAC,QAAD;MAAM,WAAU;MAAhB,UAAA;OAAgD;OACxC,WAAW,UAAU;OAAS;MAChC;;KACN,oBAAC,SAAD;MACE,IAAI;MACJ,MAAK;MACG;MACE;MACA;MACV,oBAAkB,OAAO,SAAS,KAAA;MAClC,WAAW,UAAU;OACnB,MAAM,SAAS,CAAC,GAAI,MAAM,OAAO,SAAS,CAAC,CAAE;OAC7C,IAAI,OAAO,SAAS,GAAG,QAAQ,MAAM;OAErC,MAAM,OAAO,QAAQ;MACvB;MACA,WAAU;KACX,CAAA;IACI;GAEN,CAAA,GAAA,OACC,oBAAC,KAAD;IAAG,IAAI;IAAQ,WAAU;IACtB,UAAA;GACA,CAAA,IACD,IACD;EAEJ,CAAA,GAAA,QACE;;AAET;AASA,SAAgB,eAAe,EAC7B,WACA,OACA,UACA,SACA,UACA,GAAG,SACmB;CACtB,IAAI,MAAM,WAAW,GAAG,OAAO;CAE/B,OACE,oBAAC,MAAD;EACE,aAAU;EACV,WAAW,GAAG,iCAAiC,SAAS;EACxD,GAAI;EAEH,UAAA,MAAM,KAAK,UACV,oBAAC,gBAAD;GAES;GACG;GACD;GACC;EACX,GALM,MAAM,EAKZ,CACF;CACC,CAAA;AAER;AASA,SAAgB,eAAe,EAC7B,WACA,OACA,UACA,SACA,UACA,GAAG,SACmB;CACtB,MAAM,EAAE,IAAI,MAAM,QAAQ,UAAU,UAAU;CAC9C,MAAM,UAAU,aAAa,OAAO,OAAO,KAAK,MAAM,WAAW,GAAG;CAEpE,OACE,qBAAC,MAAD;EACE,aAAU;EACV,eAAa;EACb,WAAW,GACT,+DACA,WAAW,WACP,2CACA,yBACJ,SACF;EACA,GAAI;EAVN,UAAA,CAYE,qBAAC,OAAD;GAAK,WAAU;GAAf,UAAA;IACE,qBAAC,OAAD;KAAK,WAAU;KAAf,UAAA,CACE,oBAAC,QAAD;MAAM,WAAU;MAAwB,UAAA,KAAK;KAAW,CAAA,GACxD,oBAAC,QAAD;MAAM,WAAU;MACb,UAAA,YAAY,KAAK,IAAI;KAClB,CAAA,CACH;;IAIL,qBAAC,KAAD;KACE,WAAW,GACT,WACA,WAAW,WAAW,qBAAqB,uBAC7C;KAJF,UAAA;MAMG,aAAa;MACb,WAAW,eAAe,YAAY,OAAO,MAAM,OAAO,OAAO,EAAE,KAAK;MACxE,QAAQ,MAAM,UAAU;KACxB;;IAEF,WAAW,cACV,oBAAC,OAAD;KACE,MAAK;KACL,cAAY,aAAa,KAAK;KAC9B,iBAAe,WAAW,KAAA;KAC1B,iBAAe;KACf,iBAAe;KACf,WAAU;KAEV,UAAA,oBAAC,OAAD;MACE,aAAU;MACV,WAAU;MACV,OAAO,EAAE,OAAO,GAAG,OAAO,WAAW,CAAC,EAAE,GAAG;KAC5C,CAAA;IACE,CAAA,IACH;GACD;EAEL,CAAA,GAAA,qBAAC,OAAD;GAAK,WAAU;GAAf,UAAA;IACG,WAAW,eAAe,WACzB,oBAAC,YAAD;KAAY,eAAe,SAAS,EAAE;KAAG,UAAA;IAAkB,CAAA,IACzD;KACF,WAAW,YAAY,WAAW,gBAAgB,UAClD,oBAAC,YAAD;KAAY,eAAe,QAAQ,EAAE;KAAG,UAAA;IAAiB,CAAA,IACvD;IACH,WACC,oBAAC,YAAD;KAAY,eAAe,SAAS,EAAE;KAAG,cAAY,UAAU,KAAK;KAAQ,UAAA;IAEhE,CAAA,IACV;GACD;EACH,CAAA,CAAA;;AAER;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,SAA0C;CAC5E,OACE,oBAAC,UAAD;EACE,MAAK;EACL,WAAW,GACT,gFACA,kEACA,WACA,gBACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;;;;;;AAQA,SAAgB,iBAAiB,EAC/B,WACA,OACA,GAAG,SAGF;CACD,MAAM,EAAE,OAAO,QAAQ,MAAM,WAAW;CAKxC,MAAM,UACJ,UAAU,IACN,KACA,SAAS,IACP,GAAG,OAAO,IAAI,EAAE,MAAM,OAAO,KAAK,EAAE,aACpC,SAAS,IACP,GAAG,OAAO,IAAI,EAAE,aAAa,OAAO,MAAM,EAAE,WAC5C,GAAG,OAAO,IAAI,EAAE;CAE1B,OACE,oBAAC,KAAD;EACE,aAAU;EACV,aAAU;EACV,WAAW,GAAG,iCAAiC,SAAS;EACxD,GAAI;EAEH,UAAA;CACA,CAAA;AAEP"}
|
|
1
|
+
{"version":3,"file":"file-upload.js","names":[],"sources":["../../../src/components/file-upload/file-upload.tsx"],"sourcesContent":["\"use client\";\n\n// Motion from SmoothUI AnimatedFileUpload (MIT, © 2024 Eduardo Calvo). See THIRD_PARTY_NOTICES.md.\n\nimport {\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n type ComponentPropsWithRef,\n type DragEvent,\n type ReactNode,\n} from \"react\";\n\nimport { disabledStyles, focusRing } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\nimport { formatBytes, type QueuedFile, type UploadStatus } from \"./upload-queue\";\n\n/**\n * The visible half of uploading. The queue is in `upload-queue.ts` and is the\n * part worth owning.\n *\n * There is no dropzone pattern in the WAI-ARIA APG, and inventing one is the\n * usual failure: a `div` with `role=\"button\"`, a keydown handler, and a file\n * picker that keyboard users can never reach. So the control here is a real\n * `<input type=\"file\">` with a real `<label>`. That is already operable by\n * keyboard, already announces itself, already opens the picker on Enter and\n * Space, and needs nothing added. Drag and drop is layered on top as a pointer\n * convenience, and every drop can also be done from the input.\n */\n\n/*\n * Motion (SmoothUI's AnimatedFileUpload): the dropzone swells slightly while a\n * drag is over it and an optional icon lifts; queued files slide in from the\n * inline start, and with `animateExit` slide out toward the inline end.\n * Keyframes ship with the component (ADR 0014) on duration tokens, so reduced\n * motion collapses them; the travel direction follows :dir().\n */\nconst ITEM_KEYFRAMES = `\n@keyframes dowel-file-upload-in{from{opacity:0;transform:translateX(var(--dowel-file-upload-x)) scale(0.95)}}\n@keyframes dowel-file-upload-out{to{opacity:0;transform:translateX(calc(-1.5 * var(--dowel-file-upload-x))) scale(0.95)}}\n[data-slot=\"file-upload-item\"]{--dowel-file-upload-x:-1rem;animation:dowel-file-upload-in var(--duration-normal) var(--ease-out-quint)}\n[data-slot=\"file-upload-item\"]:dir(rtl){--dowel-file-upload-x:1rem}\n[data-slot=\"file-upload-item\"][data-state=\"closed\"]{animation:dowel-file-upload-out var(--duration-fast) var(--ease-in-quint) forwards}\n`;\n\n/** Clears departing rows whose animation never runs (hidden, unstyled). */\nconst EXIT_FALLBACK_MS = 1000;\n\nconst STATUS_LABEL: Record<UploadStatus, string> = {\n queued: \"Waiting\",\n uploading: \"Uploading\",\n done: \"Uploaded\",\n failed: \"Failed\",\n cancelled: \"Cancelled\",\n};\n\nexport interface FileUploadProps extends Omit<ComponentPropsWithRef<\"div\">, \"onDrop\"> {\n /** Names the control. */\n label: string;\n onFiles: (files: File[]) => void;\n accept?: string;\n multiple?: boolean;\n disabled?: boolean;\n /** Shown under the prompt: accepted types, size limit. */\n hint?: ReactNode;\n /**\n * A decorative icon above the prompt, hidden from assistive technology. It\n * lifts while a drag is over the dropzone.\n */\n icon?: ReactNode;\n children?: ReactNode;\n}\n\nexport function FileUpload({\n className,\n label,\n onFiles,\n accept,\n multiple = true,\n disabled = false,\n hint,\n icon,\n children,\n ...props\n}: FileUploadProps) {\n const inputId = useId();\n const hintId = useId();\n const [dragging, setDragging] = useState(false);\n const depth = useRef(0);\n\n function handleDrop(event: DragEvent<HTMLDivElement>) {\n event.preventDefault();\n depth.current = 0;\n setDragging(false);\n if (disabled) return;\n\n const dropped = [...event.dataTransfer.files];\n if (dropped.length > 0) onFiles(multiple ? dropped : dropped.slice(0, 1));\n }\n\n return (\n <div data-slot=\"file-upload\" className={cn(\"flex flex-col gap-3\", className)} {...props}>\n {/* dragenter/dragleave fire for every child element, so a plain boolean\n flickers as the pointer crosses the prompt text. Counting depth is\n what makes the highlight steady. */}\n <div\n data-slot=\"file-upload-dropzone\"\n data-dragging={dragging || undefined}\n onDragEnter={(event) => {\n event.preventDefault();\n depth.current += 1;\n if (!disabled) setDragging(true);\n }}\n onDragLeave={() => {\n depth.current -= 1;\n if (depth.current <= 0) setDragging(false);\n }}\n onDragOver={(event) => {\n event.preventDefault();\n }}\n onDrop={handleDrop}\n className={cn(\n \"rounded-lg border border-dashed border-border-strong bg-muted/30 px-4 py-6 text-center\",\n \"transition-[color,background-color,border-color,scale] duration-[var(--duration-fast)] ease-[var(--ease-out-quint)]\",\n dragging && \"scale-[1.02] border-primary bg-primary/5\",\n disabled && \"pointer-events-none opacity-55\",\n )}\n >\n {icon ? (\n <div\n aria-hidden=\"true\"\n data-slot=\"file-upload-icon\"\n className={cn(\n \"mx-auto mb-2 flex w-fit text-muted-foreground [&_svg:not([class*='size-'])]:size-8\",\n \"transition-[color,translate,scale] duration-[var(--duration-normal)] ease-[var(--ease-overshoot)]\",\n dragging && \"-translate-y-1 scale-115 text-foreground\",\n )}\n >\n {icon}\n </div>\n ) : null}\n\n {/* The label is the control. Clicking it opens the picker, Enter and\n Space activate it, and assistive technology already describes it. */}\n <label\n htmlFor={inputId}\n className={cn(\n \"inline-flex cursor-pointer flex-col items-center gap-1 rounded-md px-2 py-1 text-sm\",\n \"focus-within:ring-2 focus-within:ring-ring/55\",\n )}\n >\n <span className=\"font-medium\">{label}</span>\n <span className=\"text-xs text-muted-foreground\">\n Drop {multiple ? \"files\" : \"a file\"} here, or choose from your device\n </span>\n <input\n id={inputId}\n type=\"file\"\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n aria-describedby={hint ? hintId : undefined}\n onChange={(event) => {\n const chosen = [...(event.target.files ?? [])];\n if (chosen.length > 0) onFiles(chosen);\n // Reset, so choosing the same file twice fires change twice.\n event.target.value = \"\";\n }}\n className=\"sr-only\"\n />\n </label>\n\n {hint ? (\n <p id={hintId} className=\"mt-2 text-xs text-muted-foreground\">\n {hint}\n </p>\n ) : null}\n </div>\n\n {children}\n </div>\n );\n}\n\nexport interface FileUploadListProps extends ComponentPropsWithRef<\"ul\"> {\n files: QueuedFile[];\n /**\n * Lets a removed file slide out before it leaves the DOM. The departing row\n * is `aria-hidden`, inert and has no buttons. Off by default, because the old\n * row briefly remains in the markup.\n */\n animateExit?: boolean;\n onCancel?: (id: string) => void;\n onRetry?: (id: string) => void;\n onRemove?: (id: string) => void;\n}\n\ninterface LeavingEntry {\n entry: QueuedFile;\n index: number;\n}\n\nexport function FileUploadList({\n className,\n files,\n onCancel,\n onRetry,\n onRemove,\n animateExit = false,\n ...props\n}: FileUploadListProps) {\n // Derived from the previous render rather than in an effect, so a departing\n // row is in place on the same commit its live one leaves.\n const [previous, setPrevious] = useState(files);\n const [leaving, setLeaving] = useState<LeavingEntry[]>([]);\n if (previous !== files) {\n setPrevious(files);\n const present = new Set(files.map((entry) => entry.id));\n const gone = animateExit\n ? previous.flatMap((entry, index) => (present.has(entry.id) ? [] : [{ entry, index }]))\n : [];\n setLeaving((current) => [\n ...current.filter(\n (item) =>\n !present.has(item.entry.id) && !gone.some((g) => g.entry.id === item.entry.id),\n ),\n ...gone,\n ]);\n }\n\n useEffect(() => {\n if (leaving.length === 0) return;\n const timer = setTimeout(() => {\n setLeaving([]);\n }, EXIT_FALLBACK_MS);\n return () => {\n clearTimeout(timer);\n };\n }, [leaving]);\n\n // A native listener: React maps onAnimationEnd to a vendor-prefixed name\n // wherever AnimationEvent is missing. React 19 runs the returned cleanup.\n const listenForExitEnd = useCallback(\n (id: string) => (element: HTMLLIElement | null) => {\n if (!element) return;\n const onEnd = (event: Event) => {\n if (event.target !== element) return;\n setLeaving((current) => current.filter((item) => item.entry.id !== id));\n };\n element.addEventListener(\"animationend\", onEnd);\n return () => {\n element.removeEventListener(\"animationend\", onEnd);\n };\n },\n [],\n );\n\n const rows: { entry: QueuedFile; gone: boolean }[] = files.map((entry) => ({\n entry,\n gone: false,\n }));\n for (const item of [...leaving].sort((a, b) => a.index - b.index)) {\n rows.splice(Math.min(item.index, rows.length), 0, { entry: item.entry, gone: true });\n }\n\n if (rows.length === 0) return null;\n\n return (\n <ul\n data-slot=\"file-upload-list\"\n className={cn(\"flex list-none flex-col gap-2\", className)}\n {...props}\n >\n {rows.map(({ entry, gone }) =>\n gone ? (\n <FileUploadItem\n key={`gone:${entry.id}`}\n ref={listenForExitEnd(entry.id)}\n entry={entry}\n data-state=\"closed\"\n aria-hidden=\"true\"\n inert\n />\n ) : (\n <FileUploadItem\n key={entry.id}\n entry={entry}\n onCancel={onCancel}\n onRetry={onRetry}\n onRemove={onRemove}\n />\n ),\n )}\n </ul>\n );\n}\n\nexport interface FileUploadItemProps extends Omit<ComponentPropsWithRef<\"li\">, \"children\"> {\n entry: QueuedFile;\n onCancel?: (id: string) => void;\n onRetry?: (id: string) => void;\n onRemove?: (id: string) => void;\n}\n\nexport function FileUploadItem({\n className,\n entry,\n onCancel,\n onRetry,\n onRemove,\n ...props\n}: FileUploadItemProps) {\n const { id, file, status, progress, error } = entry;\n const percent = progress === null ? null : Math.round(progress * 100);\n\n return (\n <li\n data-slot=\"file-upload-item\"\n data-status={status}\n className={cn(\n \"flex items-center gap-3 rounded-lg border px-3 py-2 text-sm\",\n status === \"failed\"\n ? \"border-destructive/40 bg-destructive/5\"\n : \"border-border bg-card\",\n className,\n )}\n {...props}\n >\n <style href=\"dowel-file-upload\" precedence=\"dowel\">\n {ITEM_KEYFRAMES}\n </style>\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n <div className=\"flex items-baseline justify-between gap-2\">\n <span className=\"truncate font-medium\">{file.name}</span>\n <span className=\"shrink-0 text-xs text-muted-foreground tabular-nums\">\n {formatBytes(file.size)}\n </span>\n </div>\n\n {/* Status in words, always. A bar at 60% with a red tint does not say\n whether it is uploading, stalled or failed. */}\n <p\n className={cn(\n \"text-xs\",\n status === \"failed\" ? \"text-destructive\" : \"text-muted-foreground\",\n )}\n >\n {STATUS_LABEL[status]}\n {status === \"uploading\" && percent !== null ? ` · ${String(percent)}%` : null}\n {error ? ` · ${error}` : null}\n </p>\n\n {status === \"uploading\" ? (\n <div\n role=\"progressbar\"\n aria-label={`Uploading ${file.name}`}\n aria-valuenow={percent ?? undefined}\n aria-valuemin={0}\n aria-valuemax={100}\n className=\"h-1 w-full overflow-hidden rounded-full bg-muted\"\n >\n <div\n data-slot=\"file-upload-progress\"\n className=\"h-full rounded-full bg-primary transition-[width] duration-[var(--duration-normal)] ease-[var(--ease-out-quint)]\"\n style={{ width: `${String(percent ?? 0)}%` }}\n />\n </div>\n ) : null}\n </div>\n\n <div className=\"flex shrink-0 items-center gap-1\">\n {status === \"uploading\" && onCancel ? (\n <ItemButton onClick={() => onCancel(id)}>Cancel</ItemButton>\n ) : null}\n {(status === \"failed\" || status === \"cancelled\") && onRetry ? (\n <ItemButton onClick={() => onRetry(id)}>Retry</ItemButton>\n ) : null}\n {onRemove ? (\n <ItemButton onClick={() => onRemove(id)} aria-label={`Remove ${file.name}`}>\n Remove\n </ItemButton>\n ) : null}\n </div>\n </li>\n );\n}\n\nfunction ItemButton({ className, ...props }: ComponentPropsWithRef<\"button\">) {\n return (\n <button\n type=\"button\"\n className={cn(\n \"rounded-md border border-input bg-background px-2 py-0.5 text-xs font-medium\",\n \"transition-colors hover:bg-accent hover:text-accent-foreground\",\n focusRing,\n disabledStyles,\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * One sentence covering the whole queue, announced politely.\n *\n * Per-file live regions would talk over each other the moment two uploads run\n * at once; one summary of the set is readable where six competing ones are not.\n */\nexport function FileUploadStatus({\n className,\n stats,\n ...props\n}: ComponentPropsWithRef<\"p\"> & {\n stats: { total: number; active: number; done: number; failed: number };\n}) {\n const { total, active, done, failed } = stats;\n\n // Progress through the set, not a count of what happens to be in flight.\n // \"3 of 5 uploading\" is wrong the moment a concurrency limit holds two back,\n // and it never tells the reader how much of the job is left.\n const message =\n total === 0\n ? \"\"\n : active > 0\n ? `${String(done)} of ${String(total)} uploaded`\n : failed > 0\n ? `${String(done)} uploaded, ${String(failed)} failed`\n : `${String(done)} uploaded`;\n\n return (\n <p\n data-slot=\"file-upload-status\"\n aria-live=\"polite\"\n className={cn(\"text-xs text-muted-foreground\", className)}\n {...props}\n >\n {message}\n </p>\n );\n}\n"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ const meta = defineMeta({
|
|
|
9
9
|
dependencies: [],
|
|
10
10
|
registryDependencies: [],
|
|
11
11
|
files: ["upload-queue.ts", "file-upload.tsx"],
|
|
12
|
-
a11y: "The APG has no dropzone pattern, and inventing one is the usual failure — a div with role=\"button\", a keydown handler, and a picker keyboard users never reach. The control here is a real input[type=file] with a real label, which is already operable, already announced, and opens the picker on Enter and Space with nothing added. Drag and drop is a pointer convenience layered on top; every drop can also be done from the input. Each uploading file gets a progressbar named after it, status is always stated in words as well as drawn, and one polite live region summarises the whole queue rather than six per-file regions talking over each other."
|
|
12
|
+
a11y: "The APG has no dropzone pattern, and inventing one is the usual failure — a div with role=\"button\", a keydown handler, and a picker keyboard users never reach. The control here is a real input[type=file] with a real label, which is already operable, already announced, and opens the picker on Enter and Space with nothing added. Drag and drop is a pointer convenience layered on top; every drop can also be done from the input. Each uploading file gets a progressbar named after it, status is always stated in words as well as drawn, and one polite live region summarises the whole queue rather than six per-file regions talking over each other. The optional dropzone icon is aria-hidden. With animateExit, a removed row lingers only as an aria-hidden, inert copy with no buttons while it animates out."
|
|
13
13
|
});
|
|
14
14
|
//#endregion
|
|
15
15
|
export { meta };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.js","names":[],"sources":["../../../src/components/file-upload/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"file-upload\",\n title: \"File Upload\",\n description: \"A dropzone over a real file input, plus the upload queue nobody ships.\",\n category: \"form\",\n status: \"stable\",\n dependencies: [],\n registryDependencies: [],\n files: [\"upload-queue.ts\", \"file-upload.tsx\"],\n a11y:\n \"The APG has no dropzone pattern, and inventing one is the usual failure — a div with \" +\n 'role=\"button\", a keydown handler, and a picker keyboard users never reach. The control here ' +\n \"is a real input[type=file] with a real label, which is already operable, already announced, \" +\n \"and opens the picker on Enter and Space with nothing added. Drag and drop is a pointer \" +\n \"convenience layered on top; every drop can also be done from the input. Each uploading file \" +\n \"gets a progressbar named after it, status is always stated in words as well as drawn, and \" +\n \"one polite live region summarises the whole queue rather than six per-file regions talking \" +\n \"over each other.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aAAa;CACb,UAAU;CACV,QAAQ;CACR,cAAc,CAAC;CACf,sBAAsB,CAAC;CACvB,OAAO,CAAC,mBAAmB,iBAAiB;CAC5C,MACE;
|
|
1
|
+
{"version":3,"file":"meta.js","names":[],"sources":["../../../src/components/file-upload/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"file-upload\",\n title: \"File Upload\",\n description: \"A dropzone over a real file input, plus the upload queue nobody ships.\",\n category: \"form\",\n status: \"stable\",\n dependencies: [],\n registryDependencies: [],\n files: [\"upload-queue.ts\", \"file-upload.tsx\"],\n a11y:\n \"The APG has no dropzone pattern, and inventing one is the usual failure — a div with \" +\n 'role=\"button\", a keydown handler, and a picker keyboard users never reach. The control here ' +\n \"is a real input[type=file] with a real label, which is already operable, already announced, \" +\n \"and opens the picker on Enter and Space with nothing added. Drag and drop is a pointer \" +\n \"convenience layered on top; every drop can also be done from the input. Each uploading file \" +\n \"gets a progressbar named after it, status is always stated in words as well as drawn, and \" +\n \"one polite live region summarises the whole queue rather than six per-file regions talking \" +\n \"over each other.\" +\n \" The optional dropzone icon is aria-hidden. With animateExit, a removed row lingers only as an aria-hidden, inert copy with no buttons while it animates out.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aAAa;CACb,UAAU;CACV,QAAQ;CACR,cAAc,CAAC;CACf,sBAAsB,CAAC;CACvB,OAAO,CAAC,mBAAmB,iBAAiB;CAC5C,MACE;AASJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
import { ComponentPropsWithRef } from "react";
|
|
3
|
+
//#region src/components/focus-blur-links/focus-blur-links.d.ts
|
|
4
|
+
declare const focusBlurLinksVariants: (props?: ({
|
|
5
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
interface FocusBlurLinksProps extends ComponentPropsWithRef<"div">, VariantProps<typeof focusBlurLinksVariants> {
|
|
8
|
+
/** Blur applied to the other links, in pixels. */
|
|
9
|
+
blurAmount?: number;
|
|
10
|
+
/** Opacity of the other links, from 0 to 1. */
|
|
11
|
+
dimOpacity?: number;
|
|
12
|
+
/** Draws a dashed bracket around the emphasised link. */
|
|
13
|
+
showBrackets?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/** A row of links that blurs every link but the one being pointed at or focused. */
|
|
16
|
+
declare function FocusBlurLinks({ className, size, blurAmount, dimOpacity, showBrackets, style, children, ...props }: FocusBlurLinksProps): import("react").JSX.Element;
|
|
17
|
+
interface FocusBlurLinkProps extends ComponentPropsWithRef<"a"> {
|
|
18
|
+
/** Renders the child element — a router `Link`, say — instead of an `<a>`. */
|
|
19
|
+
asChild?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** One link in a `FocusBlurLinks` row. */
|
|
22
|
+
declare function FocusBlurLink({ className, asChild, children, onPointerEnter, onPointerLeave, onPointerDown, onFocus, onBlur, ...props }: FocusBlurLinkProps): import("react").JSX.Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { FocusBlurLink, FocusBlurLinkProps, FocusBlurLinks, FocusBlurLinksProps, focusBlurLinksVariants };
|
|
25
|
+
//# sourceMappingURL=focus-blur-links.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus-blur-links.d.ts","names":[],"sources":["../../../src/components/focus-blur-links/focus-blur-links.tsx"],"mappings":";;;cAgDM,yBAAsB;;6CAW1B;UAEe,4BACP,8BAA8B,oBAAoB;;EAE1D;;EAEA;;EAEA;;;iBAIc,iBACd,WACA,MACA,YACA,YACA,cACA,OACA,aACG,SACF,sCAAmB,IAAA;UA+BL,2BAA2B;;EAE1C;;;iBAIc,gBACd,WACA,SACA,UACA,gBACA,gBACA,eACA,SACA,WACG,SACF,qCAAkB,IAAA"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { focusRing } from "../../lib/styles.js";
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import { Slot } from "radix-ui";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { cva } from "class-variance-authority";
|
|
7
|
+
import { createContext, useContext, useId, useMemo, useRef, useState } from "react";
|
|
8
|
+
//#region src/components/focus-blur-links/focus-blur-links.tsx
|
|
9
|
+
const FocusBlurContext = createContext(null);
|
|
10
|
+
function useFocusBlur() {
|
|
11
|
+
const context = useContext(FocusBlurContext);
|
|
12
|
+
if (!context) throw new Error("FocusBlurLink must be used inside FocusBlurLinks.");
|
|
13
|
+
return context;
|
|
14
|
+
}
|
|
15
|
+
const focusBlurLinksVariants = cva("flex flex-wrap items-center justify-center font-semibold", {
|
|
16
|
+
variants: { size: {
|
|
17
|
+
sm: "gap-4 text-sm",
|
|
18
|
+
md: "gap-6 text-lg",
|
|
19
|
+
lg: "gap-8 text-2xl"
|
|
20
|
+
} },
|
|
21
|
+
defaultVariants: { size: "md" }
|
|
22
|
+
});
|
|
23
|
+
/** A row of links that blurs every link but the one being pointed at or focused. */
|
|
24
|
+
function FocusBlurLinks({ className, size, blurAmount = 4, dimOpacity = .4, showBrackets = true, style, children, ...props }) {
|
|
25
|
+
const [hovered, setHovered] = useState(null);
|
|
26
|
+
const [focused, setFocused] = useState(null);
|
|
27
|
+
const activeId = hovered ?? focused;
|
|
28
|
+
const value = useMemo(() => ({
|
|
29
|
+
activeId,
|
|
30
|
+
setHovered,
|
|
31
|
+
setFocused,
|
|
32
|
+
showBrackets
|
|
33
|
+
}), [activeId, showBrackets]);
|
|
34
|
+
return /* @__PURE__ */ jsx(FocusBlurContext, {
|
|
35
|
+
value,
|
|
36
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
37
|
+
"data-slot": "focus-blur-links",
|
|
38
|
+
"data-state": activeId ? "focused" : "idle",
|
|
39
|
+
className: cn(focusBlurLinksVariants({ size }), className),
|
|
40
|
+
style: {
|
|
41
|
+
"--focus-blur-amount": `${String(blurAmount)}px`,
|
|
42
|
+
"--focus-blur-opacity": String(dimOpacity),
|
|
43
|
+
...style
|
|
44
|
+
},
|
|
45
|
+
...props,
|
|
46
|
+
children
|
|
47
|
+
})
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/** One link in a `FocusBlurLinks` row. */
|
|
51
|
+
function FocusBlurLink({ className, asChild = false, children, onPointerEnter, onPointerLeave, onPointerDown, onFocus, onBlur, ...props }) {
|
|
52
|
+
const { activeId, setHovered, setFocused, showBrackets } = useFocusBlur();
|
|
53
|
+
const id = useId();
|
|
54
|
+
const pressing = useRef(false);
|
|
55
|
+
const Comp = asChild ? Slot.Root : "a";
|
|
56
|
+
return /* @__PURE__ */ jsxs(Comp, {
|
|
57
|
+
"data-slot": "focus-blur-link",
|
|
58
|
+
"data-state": activeId === id ? "active" : activeId ? "dimmed" : "idle",
|
|
59
|
+
className: cn("group/link relative rounded-sm no-underline select-none", "transition-[filter,opacity,color] duration-[var(--duration-slow)] ease-[var(--ease-out-quint)]", "data-[state=active]:text-primary", "data-[state=dimmed]:opacity-[var(--focus-blur-opacity)] data-[state=dimmed]:blur-[var(--focus-blur-amount)]", focusRing, className),
|
|
60
|
+
onPointerEnter: (event) => {
|
|
61
|
+
onPointerEnter?.(event);
|
|
62
|
+
setHovered(id);
|
|
63
|
+
},
|
|
64
|
+
onPointerLeave: (event) => {
|
|
65
|
+
onPointerLeave?.(event);
|
|
66
|
+
setHovered(null);
|
|
67
|
+
},
|
|
68
|
+
onPointerDown: (event) => {
|
|
69
|
+
onPointerDown?.(event);
|
|
70
|
+
pressing.current = true;
|
|
71
|
+
},
|
|
72
|
+
onFocus: (event) => {
|
|
73
|
+
onFocus?.(event);
|
|
74
|
+
if (!pressing.current) setFocused(id);
|
|
75
|
+
pressing.current = false;
|
|
76
|
+
},
|
|
77
|
+
onBlur: (event) => {
|
|
78
|
+
onBlur?.(event);
|
|
79
|
+
setFocused(null);
|
|
80
|
+
},
|
|
81
|
+
...props,
|
|
82
|
+
children: [/* @__PURE__ */ jsx(Slot.Slottable, { children }), showBrackets ? /* @__PURE__ */ jsx("span", {
|
|
83
|
+
"aria-hidden": "true",
|
|
84
|
+
"data-slot": "focus-blur-bracket",
|
|
85
|
+
className: cn("pointer-events-none absolute -inset-x-2 -inset-y-1 rounded-lg border-2 border-dashed border-border", "scale-130 opacity-0 transition-[opacity,scale] duration-[var(--duration-slow)] ease-[var(--ease-overshoot)]", "group-data-[state=active]/link:scale-110 group-data-[state=active]/link:opacity-100")
|
|
86
|
+
}) : null]
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
//#endregion
|
|
90
|
+
export { FocusBlurLink, FocusBlurLinks, focusBlurLinksVariants };
|
|
91
|
+
|
|
92
|
+
//# sourceMappingURL=focus-blur-links.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus-blur-links.js","names":[],"sources":["../../../src/components/focus-blur-links/focus-blur-links.tsx"],"sourcesContent":["\"use client\";\n\n// Ported from amicro (MIT, © 2026 Syed Subhan Uddin). See THIRD_PARTY_NOTICES.md.\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\nimport {\n createContext,\n useContext,\n useId,\n useMemo,\n useRef,\n useState,\n type ComponentPropsWithRef,\n type CSSProperties,\n type FocusEvent,\n type PointerEvent,\n} from \"react\";\n\nimport { focusRing } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\n/*\n * A row of links where the one under the pointer — or under keyboard focus —\n * stays sharp and the rest blur and dim. The source tracked hover only; focus\n * drives the same state here, because a keyboard user deserves the same\n * emphasis. Pointer takes precedence while it is over a link, and keyboard\n * focus holds the effect once the pointer has gone.\n *\n * The blur is decoration: it never hides a link from assistive technology,\n * and the transition stops under reduced motion (the blur itself remains, as\n * it is a state, not movement).\n */\n\ninterface FocusBlurContextValue {\n activeId: string | null;\n setHovered: (id: string | null) => void;\n setFocused: (id: string | null) => void;\n showBrackets: boolean;\n}\n\nconst FocusBlurContext = createContext<FocusBlurContextValue | null>(null);\n\nfunction useFocusBlur(): FocusBlurContextValue {\n const context = useContext(FocusBlurContext);\n if (!context) throw new Error(\"FocusBlurLink must be used inside FocusBlurLinks.\");\n return context;\n}\n\nconst focusBlurLinksVariants = cva(\"flex flex-wrap items-center justify-center font-semibold\", {\n variants: {\n size: {\n sm: \"gap-4 text-sm\",\n md: \"gap-6 text-lg\",\n lg: \"gap-8 text-2xl\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport interface FocusBlurLinksProps\n extends ComponentPropsWithRef<\"div\">, VariantProps<typeof focusBlurLinksVariants> {\n /** Blur applied to the other links, in pixels. */\n blurAmount?: number;\n /** Opacity of the other links, from 0 to 1. */\n dimOpacity?: number;\n /** Draws a dashed bracket around the emphasised link. */\n showBrackets?: boolean;\n}\n\n/** A row of links that blurs every link but the one being pointed at or focused. */\nexport function FocusBlurLinks({\n className,\n size,\n blurAmount = 4,\n dimOpacity = 0.4,\n showBrackets = true,\n style,\n children,\n ...props\n}: FocusBlurLinksProps) {\n const [hovered, setHovered] = useState<string | null>(null);\n const [focused, setFocused] = useState<string | null>(null);\n const activeId = hovered ?? focused;\n\n const value = useMemo(\n () => ({ activeId, setHovered, setFocused, showBrackets }),\n [activeId, showBrackets],\n );\n\n return (\n <FocusBlurContext value={value}>\n <div\n data-slot=\"focus-blur-links\"\n data-state={activeId ? \"focused\" : \"idle\"}\n className={cn(focusBlurLinksVariants({ size }), className)}\n style={\n {\n \"--focus-blur-amount\": `${String(blurAmount)}px`,\n \"--focus-blur-opacity\": String(dimOpacity),\n ...style,\n } as CSSProperties\n }\n {...props}\n >\n {children}\n </div>\n </FocusBlurContext>\n );\n}\n\nexport interface FocusBlurLinkProps extends ComponentPropsWithRef<\"a\"> {\n /** Renders the child element — a router `Link`, say — instead of an `<a>`. */\n asChild?: boolean;\n}\n\n/** One link in a `FocusBlurLinks` row. */\nexport function FocusBlurLink({\n className,\n asChild = false,\n children,\n onPointerEnter,\n onPointerLeave,\n onPointerDown,\n onFocus,\n onBlur,\n ...props\n}: FocusBlurLinkProps) {\n const { activeId, setHovered, setFocused, showBrackets } = useFocusBlur();\n const id = useId();\n // A click focuses the link too; only keyboard focus should hold the effect\n // after the pointer leaves, so the origin of focus is tracked by hand.\n const pressing = useRef(false);\n const Comp = asChild ? Slot.Root : \"a\";\n const state = activeId === id ? \"active\" : activeId ? \"dimmed\" : \"idle\";\n\n return (\n <Comp\n data-slot=\"focus-blur-link\"\n data-state={state}\n className={cn(\n \"group/link relative rounded-sm no-underline select-none\",\n \"transition-[filter,opacity,color] duration-[var(--duration-slow)] ease-[var(--ease-out-quint)]\",\n \"data-[state=active]:text-primary\",\n \"data-[state=dimmed]:opacity-[var(--focus-blur-opacity)] data-[state=dimmed]:blur-[var(--focus-blur-amount)]\",\n focusRing,\n className,\n )}\n onPointerEnter={(event: PointerEvent<HTMLAnchorElement>) => {\n onPointerEnter?.(event);\n setHovered(id);\n }}\n onPointerLeave={(event: PointerEvent<HTMLAnchorElement>) => {\n onPointerLeave?.(event);\n setHovered(null);\n }}\n onPointerDown={(event: PointerEvent<HTMLAnchorElement>) => {\n onPointerDown?.(event);\n pressing.current = true;\n }}\n onFocus={(event: FocusEvent<HTMLAnchorElement>) => {\n onFocus?.(event);\n if (!pressing.current) setFocused(id);\n pressing.current = false;\n }}\n onBlur={(event: FocusEvent<HTMLAnchorElement>) => {\n onBlur?.(event);\n setFocused(null);\n }}\n {...props}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n {showBrackets ? (\n <span\n aria-hidden=\"true\"\n data-slot=\"focus-blur-bracket\"\n className={cn(\n \"pointer-events-none absolute -inset-x-2 -inset-y-1 rounded-lg border-2 border-dashed border-border\",\n \"scale-130 opacity-0 transition-[opacity,scale] duration-[var(--duration-slow)] ease-[var(--ease-overshoot)]\",\n \"group-data-[state=active]/link:scale-110 group-data-[state=active]/link:opacity-100\",\n )}\n />\n ) : null}\n </Comp>\n );\n}\n\nexport { focusBlurLinksVariants };\n"],"mappings":";;;;;;;;AAwCA,MAAM,mBAAmB,cAA4C,IAAI;AAEzE,SAAS,eAAsC;CAC7C,MAAM,UAAU,WAAW,gBAAgB;CAC3C,IAAI,CAAC,SAAS,MAAM,IAAI,MAAM,mDAAmD;CACjF,OAAO;AACT;AAEA,MAAM,yBAAyB,IAAI,4DAA4D;CAC7F,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;CACN,EACF;CACA,iBAAiB,EACf,MAAM,KACR;AACF,CAAC;;AAaD,SAAgB,eAAe,EAC7B,WACA,MACA,aAAa,GACb,aAAa,IACb,eAAe,MACf,OACA,UACA,GAAG,SACmB;CACtB,MAAM,CAAC,SAAS,cAAc,SAAwB,IAAI;CAC1D,MAAM,CAAC,SAAS,cAAc,SAAwB,IAAI;CAC1D,MAAM,WAAW,WAAW;CAE5B,MAAM,QAAQ,eACL;EAAE;EAAU;EAAY;EAAY;CAAa,IACxD,CAAC,UAAU,YAAY,CACzB;CAEA,OACE,oBAAC,kBAAD;EAAyB;EACvB,UAAA,oBAAC,OAAD;GACE,aAAU;GACV,cAAY,WAAW,YAAY;GACnC,WAAW,GAAG,uBAAuB,EAAE,KAAK,CAAC,GAAG,SAAS;GACzD,OACE;IACE,uBAAuB,GAAG,OAAO,UAAU,EAAE;IAC7C,wBAAwB,OAAO,UAAU;IACzC,GAAG;GACL;GAEF,GAAI;GAEH;EACE,CAAA;CACW,CAAA;AAEtB;;AAQA,SAAgB,cAAc,EAC5B,WACA,UAAU,OACV,UACA,gBACA,gBACA,eACA,SACA,QACA,GAAG,SACkB;CACrB,MAAM,EAAE,UAAU,YAAY,YAAY,iBAAiB,aAAa;CACxE,MAAM,KAAK,MAAM;CAGjB,MAAM,WAAW,OAAO,KAAK;CAC7B,MAAM,OAAO,UAAU,KAAK,OAAO;CAGnC,OACE,qBAAC,MAAD;EACE,aAAU;EACV,cALU,aAAa,KAAK,WAAW,WAAW,WAAW;EAM7D,WAAW,GACT,2DACA,kGACA,oCACA,+GACA,WACA,SACF;EACA,iBAAiB,UAA2C;GAC1D,iBAAiB,KAAK;GACtB,WAAW,EAAE;EACf;EACA,iBAAiB,UAA2C;GAC1D,iBAAiB,KAAK;GACtB,WAAW,IAAI;EACjB;EACA,gBAAgB,UAA2C;GACzD,gBAAgB,KAAK;GACrB,SAAS,UAAU;EACrB;EACA,UAAU,UAAyC;GACjD,UAAU,KAAK;GACf,IAAI,CAAC,SAAS,SAAS,WAAW,EAAE;GACpC,SAAS,UAAU;EACrB;EACA,SAAS,UAAyC;GAChD,SAAS,KAAK;GACd,WAAW,IAAI;EACjB;EACA,GAAI;EAhCN,UAAA,CAkCE,oBAAC,KAAK,WAAN,EAAiB,SAAyB,CAAA,GACzC,eACC,oBAAC,QAAD;GACE,eAAY;GACZ,aAAU;GACV,WAAW,GACT,sGACA,+GACA,qFACF;EACD,CAAA,IACC,IACA;;AAEV"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/focus-blur-links/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "focus-blur-links",
|
|
5
|
+
title: "Focus Blur Links",
|
|
6
|
+
description: "A row of links where hovering or focusing one blurs and dims the rest, with an optional dashed bracket.",
|
|
7
|
+
category: "navigation",
|
|
8
|
+
status: "beta",
|
|
9
|
+
dependencies: ["class-variance-authority", "radix-ui"],
|
|
10
|
+
registryDependencies: [],
|
|
11
|
+
files: ["focus-blur-links.tsx"],
|
|
12
|
+
a11y: "Every item is a real link (or your router's link via asChild). Keyboard focus triggers the same emphasis as hover and holds it after the pointer leaves; focus from a click does not. The blur is visual only — dimmed links stay in the accessibility tree and remain focusable. Wrap the row in a <nav aria-label> when it is site navigation."
|
|
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/focus-blur-links/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"focus-blur-links\",\n title: \"Focus Blur Links\",\n description:\n \"A row of links where hovering or focusing one blurs and dims the rest, with an optional dashed bracket.\",\n category: \"navigation\",\n status: \"beta\",\n dependencies: [\"class-variance-authority\", \"radix-ui\"],\n registryDependencies: [],\n files: [\"focus-blur-links.tsx\"],\n a11y:\n \"Every item is a real link (or your router's link via asChild). Keyboard focus triggers the same emphasis as \" +\n \"hover and holds it after the pointer leaves; focus from a click does not. The blur is visual only — dimmed \" +\n \"links stay in the accessibility tree and remain focusable. Wrap the row in a <nav aria-label> when it is \" +\n \"site navigation.\",\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;CACvB,OAAO,CAAC,sBAAsB;CAC9B,MACE;AAIJ,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
import { ComponentPropsWithRef } from "react";
|
|
3
|
+
//#region src/components/folding-frame/folding-frame.d.ts
|
|
4
|
+
declare const foldingFrameVariants: (props?: ({
|
|
5
|
+
fill?: "light" | "dark" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
interface FoldingFrameProps extends Omit<ComponentPropsWithRef<"div">, "defaultValue" | "onChange" | "children">, VariantProps<typeof foldingFrameVariants> {
|
|
8
|
+
/** Image URL of the photo. */
|
|
9
|
+
src: string;
|
|
10
|
+
/** Describes the photo. It names the frame's role="img". */
|
|
11
|
+
alt: string;
|
|
12
|
+
/** How open the frame is, 0 (shut) to 100 (flat open). */
|
|
13
|
+
value?: number;
|
|
14
|
+
/** Uncontrolled starting openness. Defaults to 0: shut. */
|
|
15
|
+
defaultValue?: number;
|
|
16
|
+
/** Called on every change: while dragging, per key press and on a release snap. */
|
|
17
|
+
onValueChange?: (value: number) => void;
|
|
18
|
+
/** Called when an interaction ends: pointer released or key press. */
|
|
19
|
+
onValueCommit?: (value: number) => void;
|
|
20
|
+
/** Settle fully open or shut when the pointer is released. */
|
|
21
|
+
snap?: boolean;
|
|
22
|
+
/** Strength of the liquid hinge refraction (blur and warp), 0–100. */
|
|
23
|
+
liquid?: number;
|
|
24
|
+
/** Perspective, tilt and shadow strength, 0–100. */
|
|
25
|
+
depth?: number;
|
|
26
|
+
/** Spine width and panel separation in px, 0–18. */
|
|
27
|
+
thickness?: number;
|
|
28
|
+
/** Corner radius in px, 0–24. */
|
|
29
|
+
corner?: number;
|
|
30
|
+
/** Accessible name of the slider. */
|
|
31
|
+
label?: string;
|
|
32
|
+
disabled?: boolean;
|
|
33
|
+
}
|
|
34
|
+
/** A photo folded shut like a book, opened by dragging across it or from the keyboard. */
|
|
35
|
+
declare function FoldingFrame({ className, style, fill, src, alt, value: valueProp, defaultValue, onValueChange, onValueCommit, snap, liquid, depth, thickness, corner, label, disabled, dir: dirProp, ...props }: FoldingFrameProps): import("react").JSX.Element;
|
|
36
|
+
//#endregion
|
|
37
|
+
export { FoldingFrame, FoldingFrameProps, foldingFrameVariants };
|
|
38
|
+
//# sourceMappingURL=folding-frame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"folding-frame.d.ts","names":[],"sources":["../../../src/components/folding-frame/folding-frame.tsx"],"mappings":";;;cA8CM,uBAAoB;;6CAazB;UAEgB,0BAEb,KAAK,yEACL,oBAAoB;;EAEtB;;EAEA;;EAEA;;EAEA;;EAEA,iBAAiB;;EAEjB,iBAAiB;;EAEjB;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;EACA;;;iBAuBc,eACd,WACA,OACA,MACA,KACA,KACA,OAAO,WACP,cACA,eACA,eACA,MACA,QACA,OACA,WACA,QACA,OACA,UACA,KAAK,YACF,SACF,oCAAiB,IAAA"}
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { focusRing } from "../../lib/styles.js";
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import { Direction } from "radix-ui";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { cva } from "class-variance-authority";
|
|
7
|
+
import { useId, useRef, useState, useSyncExternalStore } from "react";
|
|
8
|
+
//#region src/components/folding-frame/folding-frame.tsx
|
|
9
|
+
/** Cover angle when shut, in degrees. */
|
|
10
|
+
const SHUT = 176;
|
|
11
|
+
const foldingFrameVariants = cva("[container-type:inline-size] relative aspect-[300/214] w-75 touch-pan-y select-none", {
|
|
12
|
+
variants: { fill: {
|
|
13
|
+
light: "[--ff-ink:var(--color-foreground)] [--ff-surface:var(--color-card)]",
|
|
14
|
+
dark: "[--ff-ink:var(--color-background)] [--ff-surface:var(--color-foreground)]"
|
|
15
|
+
} },
|
|
16
|
+
defaultVariants: { fill: "light" }
|
|
17
|
+
});
|
|
18
|
+
const clamp = (value, lo, hi) => Math.min(Math.max(value, lo), hi);
|
|
19
|
+
function valueText(value) {
|
|
20
|
+
if (value <= 0) return "Closed";
|
|
21
|
+
if (value >= 100) return "Open";
|
|
22
|
+
return `${String(value)}% open`;
|
|
23
|
+
}
|
|
24
|
+
/** Whether this engine renders an SVG filter inside `backdrop-filter`. */
|
|
25
|
+
function supportsLiquid() {
|
|
26
|
+
if (typeof navigator === "undefined") return false;
|
|
27
|
+
const brands = navigator.userAgentData?.brands;
|
|
28
|
+
if (brands) return brands.some((entry) => entry.brand === "Chromium");
|
|
29
|
+
return /Chrom(e|ium)\//.test(navigator.userAgent);
|
|
30
|
+
}
|
|
31
|
+
const subscribe = () => () => {};
|
|
32
|
+
/** A photo folded shut like a book, opened by dragging across it or from the keyboard. */
|
|
33
|
+
function FoldingFrame({ className, style, fill, src, alt, value: valueProp, defaultValue = 0, onValueChange, onValueCommit, snap = false, liquid = 60, depth = 55, thickness = 9, corner = 14, label = "Unfold", disabled = false, dir: dirProp, ...props }) {
|
|
34
|
+
const rtl = Direction.useDirection(dirProp) === "rtl";
|
|
35
|
+
const [uncontrolled, setUncontrolled] = useState(() => Math.round(clamp(defaultValue, 0, 100)));
|
|
36
|
+
const controlled = valueProp !== void 0;
|
|
37
|
+
const value = Math.round(clamp(controlled ? valueProp : uncontrolled, 0, 100));
|
|
38
|
+
const [dragging, setDragging] = useState(false);
|
|
39
|
+
const latest = useRef(value);
|
|
40
|
+
const warpId = `ff-warp-${useId().replace(/:/g, "")}`;
|
|
41
|
+
const liquidMode = useSyncExternalStore(subscribe, () => supportsLiquid() ? "svg" : "fallback", () => "fallback");
|
|
42
|
+
function setValue(raw) {
|
|
43
|
+
const next = Math.round(clamp(raw, 0, 100));
|
|
44
|
+
latest.current = next;
|
|
45
|
+
if (next === value) return next;
|
|
46
|
+
if (!controlled) setUncontrolled(next);
|
|
47
|
+
onValueChange?.(next);
|
|
48
|
+
return next;
|
|
49
|
+
}
|
|
50
|
+
function fromPointer(event) {
|
|
51
|
+
const rect = event.currentTarget.getBoundingClientRect();
|
|
52
|
+
if (rect.width === 0) return null;
|
|
53
|
+
const along = (event.clientX - rect.left) / rect.width;
|
|
54
|
+
return 100 * (1 - ((rtl ? 1 - along : along) - .1) / .8);
|
|
55
|
+
}
|
|
56
|
+
function handlePointerDown(event) {
|
|
57
|
+
if (disabled || event.button !== 0) return;
|
|
58
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
59
|
+
latest.current = value;
|
|
60
|
+
setDragging(true);
|
|
61
|
+
}
|
|
62
|
+
function handlePointerMove(event) {
|
|
63
|
+
if (!dragging) return;
|
|
64
|
+
const next = fromPointer(event);
|
|
65
|
+
if (next !== null) setValue(next);
|
|
66
|
+
}
|
|
67
|
+
function handlePointerEnd() {
|
|
68
|
+
if (!dragging) return;
|
|
69
|
+
setDragging(false);
|
|
70
|
+
const settled = snap ? setValue(latest.current >= 50 ? 100 : 0) : latest.current;
|
|
71
|
+
onValueCommit?.(settled);
|
|
72
|
+
}
|
|
73
|
+
function handleKeyDown(event) {
|
|
74
|
+
if (disabled) return;
|
|
75
|
+
const forward = rtl ? -5 : 5;
|
|
76
|
+
const moves = {
|
|
77
|
+
ArrowRight: forward,
|
|
78
|
+
ArrowLeft: -forward,
|
|
79
|
+
ArrowUp: 5,
|
|
80
|
+
ArrowDown: -5,
|
|
81
|
+
PageUp: 25,
|
|
82
|
+
PageDown: -25
|
|
83
|
+
};
|
|
84
|
+
let next;
|
|
85
|
+
if (event.key === "Home") next = 0;
|
|
86
|
+
else if (event.key === "End") next = 100;
|
|
87
|
+
else if (event.key in moves) next = value + (moves[event.key] ?? 0);
|
|
88
|
+
else return;
|
|
89
|
+
event.preventDefault();
|
|
90
|
+
const committed = setValue(next);
|
|
91
|
+
onValueCommit?.(committed);
|
|
92
|
+
}
|
|
93
|
+
const closed = 1 - value / 100;
|
|
94
|
+
const angle = SHUT * closed;
|
|
95
|
+
const side = rtl ? -1 : 1;
|
|
96
|
+
const strength = clamp(depth, 0, 100) / 55;
|
|
97
|
+
const t = clamp(thickness, 0, 18);
|
|
98
|
+
const r = clamp(corner, 0, 24);
|
|
99
|
+
const wet = clamp(liquid, 0, 100) / 60;
|
|
100
|
+
const shade = .4 * Math.min(1, angle / 55, (SHUT - angle) / 76) * Math.min(strength, 1.6);
|
|
101
|
+
const cast = clamp(.55 * closed * strength, 0, 1);
|
|
102
|
+
const blur = 6.6 * closed * wet;
|
|
103
|
+
const sheen = `brightness(${(1 + .26 * closed * Math.min(wet, 1)).toFixed(3)})`;
|
|
104
|
+
const ease = dragging ? "none" : "transform var(--duration-slow) var(--ease-out-quint), opacity var(--duration-slow) var(--ease-out-quint), width var(--duration-slow) var(--ease-out-quint)";
|
|
105
|
+
const ink = (percent) => `color-mix(in oklab, var(--ff-ink) ${String(percent)}%, transparent)`;
|
|
106
|
+
const dark = (percent) => `color-mix(in oklab, var(--color-overlay) ${String(Math.min(100, Math.round(percent * 1.6)))}%, transparent)`;
|
|
107
|
+
const towardHinge = rtl ? "to left" : "to right";
|
|
108
|
+
const coverRadius = rtl ? `0 ${String(r)}px ${String(r)}px 0` : `${String(r)}px 0 0 ${String(r)}px`;
|
|
109
|
+
const restRadius = rtl ? `${String(r)}px 0 0 ${String(r)}px` : `0 ${String(r)}px ${String(r)}px 0`;
|
|
110
|
+
const coverLeft = rtl ? "50%" : "0";
|
|
111
|
+
const restLeft = rtl ? "0" : "50%";
|
|
112
|
+
const half = {
|
|
113
|
+
position: "absolute",
|
|
114
|
+
top: 0,
|
|
115
|
+
bottom: 0,
|
|
116
|
+
width: "50%",
|
|
117
|
+
transformStyle: "preserve-3d"
|
|
118
|
+
};
|
|
119
|
+
const face = {
|
|
120
|
+
position: "absolute",
|
|
121
|
+
inset: 0,
|
|
122
|
+
overflow: "hidden",
|
|
123
|
+
backfaceVisibility: "hidden",
|
|
124
|
+
background: "var(--ff-surface)"
|
|
125
|
+
};
|
|
126
|
+
const photo = (showStart, opacity = 1) => /* @__PURE__ */ jsx("img", {
|
|
127
|
+
src,
|
|
128
|
+
alt: "",
|
|
129
|
+
draggable: false,
|
|
130
|
+
style: {
|
|
131
|
+
position: "absolute",
|
|
132
|
+
top: 0,
|
|
133
|
+
left: showStart === !rtl ? "0" : "-100%",
|
|
134
|
+
width: "200%",
|
|
135
|
+
height: "100%",
|
|
136
|
+
maxWidth: "none",
|
|
137
|
+
objectFit: "cover",
|
|
138
|
+
opacity
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
142
|
+
"data-slot": "folding-frame",
|
|
143
|
+
"data-state": value >= 100 ? "open" : value <= 0 ? "closed" : "partial",
|
|
144
|
+
"data-dragging": dragging ? "" : void 0,
|
|
145
|
+
"data-disabled": disabled ? "" : void 0,
|
|
146
|
+
"data-liquid": liquidMode,
|
|
147
|
+
dir: dirProp,
|
|
148
|
+
className: cn(foldingFrameVariants({ fill }), disabled && "opacity-55", className),
|
|
149
|
+
style,
|
|
150
|
+
...props,
|
|
151
|
+
children: [
|
|
152
|
+
/* @__PURE__ */ jsx("svg", {
|
|
153
|
+
width: "0",
|
|
154
|
+
height: "0",
|
|
155
|
+
"aria-hidden": "true",
|
|
156
|
+
className: "absolute",
|
|
157
|
+
children: /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("filter", {
|
|
158
|
+
id: warpId,
|
|
159
|
+
children: [/* @__PURE__ */ jsx("feTurbulence", {
|
|
160
|
+
type: "fractalNoise",
|
|
161
|
+
baseFrequency: "0.012 0.06",
|
|
162
|
+
numOctaves: 2,
|
|
163
|
+
seed: 3,
|
|
164
|
+
result: "noise"
|
|
165
|
+
}), /* @__PURE__ */ jsx("feDisplacementMap", {
|
|
166
|
+
in: "SourceGraphic",
|
|
167
|
+
in2: "noise",
|
|
168
|
+
scale: (18 * wet).toFixed(2),
|
|
169
|
+
xChannelSelector: "R",
|
|
170
|
+
yChannelSelector: "G"
|
|
171
|
+
})]
|
|
172
|
+
}) })
|
|
173
|
+
}),
|
|
174
|
+
/* @__PURE__ */ jsx("div", {
|
|
175
|
+
role: "img",
|
|
176
|
+
"aria-label": alt,
|
|
177
|
+
"data-slot": "folding-frame-stage",
|
|
178
|
+
className: "absolute inset-0",
|
|
179
|
+
style: { perspective: `${(300 / Math.max(strength, .3)).toFixed(1)}cqi` },
|
|
180
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
181
|
+
"data-slot": "folding-frame-rig",
|
|
182
|
+
className: "absolute inset-0",
|
|
183
|
+
style: {
|
|
184
|
+
transformStyle: "preserve-3d",
|
|
185
|
+
transition: ease,
|
|
186
|
+
transform: `translateX(${(-25 * closed * side).toFixed(3)}%) rotateX(${(-15 * closed * strength).toFixed(3)}deg) rotateY(${(13 * closed * strength * side).toFixed(3)}deg)`
|
|
187
|
+
},
|
|
188
|
+
children: [
|
|
189
|
+
/* @__PURE__ */ jsx("div", {
|
|
190
|
+
"data-slot": "folding-frame-spine",
|
|
191
|
+
className: "absolute inset-y-0",
|
|
192
|
+
style: {
|
|
193
|
+
left: "50%",
|
|
194
|
+
width: t,
|
|
195
|
+
borderRadius: t / 2,
|
|
196
|
+
background: `linear-gradient(to right, ${ink(50)}, ${ink(82)}, ${ink(62)})`,
|
|
197
|
+
transform: `translateX(-50%) translateZ(${String(-t / 2)}px)`
|
|
198
|
+
}
|
|
199
|
+
}),
|
|
200
|
+
/* @__PURE__ */ jsx("div", {
|
|
201
|
+
"data-slot": "folding-frame-rest",
|
|
202
|
+
style: {
|
|
203
|
+
...half,
|
|
204
|
+
left: restLeft,
|
|
205
|
+
transform: `translateZ(${String(-t / 2)}px)`
|
|
206
|
+
},
|
|
207
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
208
|
+
style: {
|
|
209
|
+
...face,
|
|
210
|
+
borderRadius: restRadius
|
|
211
|
+
},
|
|
212
|
+
children: [photo(false), /* @__PURE__ */ jsx("div", {
|
|
213
|
+
"data-slot": "folding-frame-cast",
|
|
214
|
+
className: "absolute inset-0",
|
|
215
|
+
style: {
|
|
216
|
+
opacity: cast,
|
|
217
|
+
transition: ease,
|
|
218
|
+
background: `linear-gradient(${towardHinge}, ${dark(62)}, ${dark(6)})`
|
|
219
|
+
}
|
|
220
|
+
})]
|
|
221
|
+
})
|
|
222
|
+
}),
|
|
223
|
+
/* @__PURE__ */ jsxs("div", {
|
|
224
|
+
"data-slot": "folding-frame-cover",
|
|
225
|
+
style: {
|
|
226
|
+
...half,
|
|
227
|
+
left: coverLeft,
|
|
228
|
+
transformOrigin: rtl ? "left center" : "right center",
|
|
229
|
+
transition: ease,
|
|
230
|
+
transform: `rotateY(${(angle * side).toFixed(3)}deg) translateZ(${String(-t / 2)}px)`
|
|
231
|
+
},
|
|
232
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
233
|
+
style: {
|
|
234
|
+
...face,
|
|
235
|
+
borderRadius: coverRadius
|
|
236
|
+
},
|
|
237
|
+
children: [photo(true), /* @__PURE__ */ jsx("div", {
|
|
238
|
+
"data-slot": "folding-frame-shade",
|
|
239
|
+
className: "absolute inset-0",
|
|
240
|
+
style: {
|
|
241
|
+
opacity: shade,
|
|
242
|
+
transition: ease,
|
|
243
|
+
background: `linear-gradient(${towardHinge}, transparent, ${dark(50)})`
|
|
244
|
+
}
|
|
245
|
+
})]
|
|
246
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
247
|
+
"data-slot": "folding-frame-back",
|
|
248
|
+
style: {
|
|
249
|
+
...face,
|
|
250
|
+
borderRadius: coverRadius,
|
|
251
|
+
transform: "rotateY(180deg)",
|
|
252
|
+
background: "color-mix(in oklab, var(--ff-surface) 82%, var(--ff-ink))"
|
|
253
|
+
},
|
|
254
|
+
children: photo(false, .5)
|
|
255
|
+
})]
|
|
256
|
+
}),
|
|
257
|
+
wet > 0 ? /* @__PURE__ */ jsx("div", {
|
|
258
|
+
"data-slot": "folding-frame-liquid",
|
|
259
|
+
className: "pointer-events-none absolute inset-y-0",
|
|
260
|
+
style: {
|
|
261
|
+
left: "50%",
|
|
262
|
+
width: `${(11.67 * closed * wet).toFixed(3)}cqi`,
|
|
263
|
+
transition: ease,
|
|
264
|
+
transform: `translateX(-50%) translateZ(${String(t / 2 + 1)}px)`,
|
|
265
|
+
maskImage: "linear-gradient(to right, transparent, currentColor 30%, currentColor 70%, transparent)",
|
|
266
|
+
backdropFilter: liquidMode === "svg" ? `blur(${blur.toFixed(2)}px) ${sheen} url(#${warpId})` : `blur(${blur.toFixed(2)}px) ${sheen}`,
|
|
267
|
+
WebkitBackdropFilter: `blur(${blur.toFixed(2)}px) ${sheen}`
|
|
268
|
+
}
|
|
269
|
+
}) : null
|
|
270
|
+
]
|
|
271
|
+
})
|
|
272
|
+
}),
|
|
273
|
+
/* @__PURE__ */ jsx("div", {
|
|
274
|
+
role: "slider",
|
|
275
|
+
tabIndex: disabled ? -1 : 0,
|
|
276
|
+
"aria-label": label,
|
|
277
|
+
"aria-valuemin": 0,
|
|
278
|
+
"aria-valuemax": 100,
|
|
279
|
+
"aria-valuenow": value,
|
|
280
|
+
"aria-valuetext": valueText(value),
|
|
281
|
+
"aria-orientation": "horizontal",
|
|
282
|
+
"aria-disabled": disabled || void 0,
|
|
283
|
+
"data-slot": "folding-frame-handle",
|
|
284
|
+
className: cn("absolute inset-0 z-10", disabled ? "cursor-not-allowed" : "cursor-grab active:cursor-grabbing", focusRing),
|
|
285
|
+
style: { borderRadius: r },
|
|
286
|
+
onKeyDown: handleKeyDown,
|
|
287
|
+
onPointerDown: handlePointerDown,
|
|
288
|
+
onPointerMove: handlePointerMove,
|
|
289
|
+
onPointerUp: handlePointerEnd,
|
|
290
|
+
onPointerCancel: handlePointerEnd
|
|
291
|
+
})
|
|
292
|
+
]
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
//#endregion
|
|
296
|
+
export { FoldingFrame, foldingFrameVariants };
|
|
297
|
+
|
|
298
|
+
//# sourceMappingURL=folding-frame.js.map
|