@dowel-ui/react 0.5.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/blocks/admin-dashboard/meta.js +31 -0
- package/dist/blocks/admin-dashboard/meta.js.map +1 -0
- package/dist/blocks/agent-console/meta.js +27 -0
- package/dist/blocks/agent-console/meta.js.map +1 -0
- package/dist/blocks/ai-dashboard/meta.js +25 -0
- package/dist/blocks/ai-dashboard/meta.js.map +1 -0
- package/dist/blocks/ai-workspace/meta.js +33 -0
- package/dist/blocks/ai-workspace/meta.js.map +1 -0
- package/dist/blocks/analytics/meta.js +24 -0
- package/dist/blocks/analytics/meta.js.map +1 -0
- package/dist/blocks/billing/meta.js +25 -0
- package/dist/blocks/billing/meta.js.map +1 -0
- package/dist/blocks/command-center/meta.js +28 -0
- package/dist/blocks/command-center/meta.js.map +1 -0
- package/dist/blocks/crm/meta.js +32 -0
- package/dist/blocks/crm/meta.js.map +1 -0
- package/dist/blocks/cta-banner/meta.js +18 -0
- package/dist/blocks/cta-banner/meta.js.map +1 -0
- package/dist/blocks/cta-centered/meta.js +18 -0
- package/dist/blocks/cta-centered/meta.js.map +1 -0
- package/dist/blocks/cta-split-image/meta.js +18 -0
- package/dist/blocks/cta-split-image/meta.js.map +1 -0
- package/dist/blocks/faq-accordion/meta.js +18 -0
- package/dist/blocks/faq-accordion/meta.js.map +1 -0
- package/dist/blocks/faq-categorized/meta.js +18 -0
- package/dist/blocks/faq-categorized/meta.js.map +1 -0
- package/dist/blocks/faq-searchable/meta.js +22 -0
- package/dist/blocks/faq-searchable/meta.js.map +1 -0
- package/dist/blocks/faq-tabbed-grid/meta.js +18 -0
- package/dist/blocks/faq-tabbed-grid/meta.js.map +1 -0
- package/dist/blocks/features-alternating/meta.js +18 -0
- package/dist/blocks/features-alternating/meta.js.map +1 -0
- package/dist/blocks/features-bento/meta.js +18 -0
- package/dist/blocks/features-bento/meta.js.map +1 -0
- package/dist/blocks/features-icon-grid/meta.js +18 -0
- package/dist/blocks/features-icon-grid/meta.js.map +1 -0
- package/dist/blocks/footer-mega/meta.js +22 -0
- package/dist/blocks/footer-mega/meta.js.map +1 -0
- package/dist/blocks/footer-minimal/meta.js +18 -0
- package/dist/blocks/footer-minimal/meta.js.map +1 -0
- package/dist/blocks/footer-newsletter/meta.js +22 -0
- package/dist/blocks/footer-newsletter/meta.js.map +1 -0
- package/dist/blocks/footer-simple/meta.js +18 -0
- package/dist/blocks/footer-simple/meta.js.map +1 -0
- package/dist/blocks/hero-grid/meta.js +18 -0
- package/dist/blocks/hero-grid/meta.js.map +1 -0
- package/dist/blocks/hero-minimal/meta.js +18 -0
- package/dist/blocks/hero-minimal/meta.js.map +1 -0
- package/dist/blocks/hero-perspective-grid/meta.js +18 -0
- package/dist/blocks/hero-perspective-grid/meta.js.map +1 -0
- package/dist/blocks/hero-product/meta.js +22 -0
- package/dist/blocks/hero-product/meta.js.map +1 -0
- package/dist/blocks/hero-split-image/meta.js +22 -0
- package/dist/blocks/hero-split-image/meta.js.map +1 -0
- package/dist/blocks/hero-spotlight/meta.js +18 -0
- package/dist/blocks/hero-spotlight/meta.js.map +1 -0
- package/dist/blocks/logo-cloud-simple/meta.js +18 -0
- package/dist/blocks/logo-cloud-simple/meta.js.map +1 -0
- package/dist/blocks/logo-grid-tooltips/meta.js +18 -0
- package/dist/blocks/logo-grid-tooltips/meta.js.map +1 -0
- package/dist/blocks/logo-links-marquee/meta.js +18 -0
- package/dist/blocks/logo-links-marquee/meta.js.map +1 -0
- package/dist/blocks/logo-marquee/meta.js +18 -0
- package/dist/blocks/logo-marquee/meta.js.map +1 -0
- package/dist/blocks/onboarding/meta.js +23 -0
- package/dist/blocks/onboarding/meta.js.map +1 -0
- package/dist/blocks/pricing-single-plan/meta.js +25 -0
- package/dist/blocks/pricing-single-plan/meta.js.map +1 -0
- package/dist/blocks/pricing-three-tier/meta.js +25 -0
- package/dist/blocks/pricing-three-tier/meta.js.map +1 -0
- package/dist/blocks/pricing-two-tier/meta.js +25 -0
- package/dist/blocks/pricing-two-tier/meta.js.map +1 -0
- package/dist/blocks/stats-grid/meta.js +18 -0
- package/dist/blocks/stats-grid/meta.js.map +1 -0
- package/dist/blocks/stats-trend-cards/meta.js +22 -0
- package/dist/blocks/stats-trend-cards/meta.js.map +1 -0
- package/dist/blocks/team-carousel/meta.js +22 -0
- package/dist/blocks/team-carousel/meta.js.map +1 -0
- package/dist/blocks/team-grid/meta.js +18 -0
- package/dist/blocks/team-grid/meta.js.map +1 -0
- package/dist/blocks/testimonial-rotator/meta.js +18 -0
- package/dist/blocks/testimonial-rotator/meta.js.map +1 -0
- package/dist/blocks/testimonial-spotlight/meta.js +22 -0
- package/dist/blocks/testimonial-spotlight/meta.js.map +1 -0
- package/dist/blocks/testimonial-star-grid/meta.js +18 -0
- package/dist/blocks/testimonial-star-grid/meta.js.map +1 -0
- package/dist/components/accordion/accordion.js +1 -1
- package/dist/components/accordion/accordion.js.map +1 -1
- package/dist/components/account-menu/account-menu.d.ts +56 -0
- package/dist/components/account-menu/account-menu.d.ts.map +1 -0
- package/dist/components/account-menu/account-menu.js +247 -0
- package/dist/components/account-menu/account-menu.js.map +1 -0
- package/dist/components/account-menu/index.d.ts +2 -0
- package/dist/components/account-menu/index.js +2 -0
- package/dist/components/account-menu/meta.js +24 -0
- package/dist/components/account-menu/meta.js.map +1 -0
- package/dist/components/action-node/action-node-spring.js +21 -0
- package/dist/components/action-node/action-node-spring.js.map +1 -0
- package/dist/components/action-node/action-node.d.ts +67 -0
- package/dist/components/action-node/action-node.d.ts.map +1 -0
- package/dist/components/action-node/action-node.js +374 -0
- package/dist/components/action-node/action-node.js.map +1 -0
- package/dist/components/action-node/index.d.ts +2 -0
- package/dist/components/action-node/index.js +2 -0
- package/dist/components/action-node/meta.js +17 -0
- package/dist/components/action-node/meta.js.map +1 -0
- package/dist/components/activity-feed/activity-feed.js +1 -1
- package/dist/components/activity-feed/activity-feed.js.map +1 -1
- package/dist/components/ai-agent-plan/ai-agent-plan.d.ts +13 -2
- package/dist/components/ai-agent-plan/ai-agent-plan.d.ts.map +1 -1
- package/dist/components/ai-agent-plan/ai-agent-plan.js +110 -43
- package/dist/components/ai-agent-plan/ai-agent-plan.js.map +1 -1
- package/dist/components/ai-agent-plan/index.d.ts +2 -2
- package/dist/components/ai-agent-plan/meta.js +1 -1
- package/dist/components/ai-agent-plan/meta.js.map +1 -1
- package/dist/components/ai-agent-status/ai-agent-status.d.ts +1 -1
- package/dist/components/ai-approval-request/ai-approval-request.d.ts +8 -1
- package/dist/components/ai-approval-request/ai-approval-request.d.ts.map +1 -1
- package/dist/components/ai-approval-request/ai-approval-request.js +67 -12
- package/dist/components/ai-approval-request/ai-approval-request.js.map +1 -1
- package/dist/components/ai-approval-request/meta.js +1 -1
- package/dist/components/ai-approval-request/meta.js.map +1 -1
- package/dist/components/ai-artifact/ai-artifact.d.ts +27 -0
- package/dist/components/ai-artifact/ai-artifact.d.ts.map +1 -0
- package/dist/components/ai-artifact/ai-artifact.js +142 -0
- package/dist/components/ai-artifact/ai-artifact.js.map +1 -0
- package/dist/components/ai-artifact/index.d.ts +2 -0
- package/dist/components/ai-artifact/index.js +2 -0
- package/dist/components/ai-artifact/meta.js +17 -0
- package/dist/components/ai-artifact/meta.js.map +1 -0
- package/dist/components/ai-branch/ai-branch.d.ts +32 -0
- package/dist/components/ai-branch/ai-branch.d.ts.map +1 -0
- package/dist/components/ai-branch/ai-branch.js +160 -0
- package/dist/components/ai-branch/ai-branch.js.map +1 -0
- package/dist/components/ai-branch/index.d.ts +2 -0
- package/dist/components/ai-branch/index.js +2 -0
- package/dist/components/ai-branch/meta.js +17 -0
- package/dist/components/ai-branch/meta.js.map +1 -0
- package/dist/components/ai-conversation/ai-conversation.d.ts +16 -4
- package/dist/components/ai-conversation/ai-conversation.d.ts.map +1 -1
- package/dist/components/ai-conversation/ai-conversation.js +78 -10
- package/dist/components/ai-conversation/ai-conversation.js.map +1 -1
- package/dist/components/ai-conversation/index.d.ts +2 -2
- package/dist/components/ai-extraction-review/ai-extraction-review.js +1 -1
- package/dist/components/ai-extraction-review/ai-extraction-review.js.map +1 -1
- package/dist/components/ai-loader/ai-loader.d.ts +22 -0
- package/dist/components/ai-loader/ai-loader.d.ts.map +1 -0
- package/dist/components/ai-loader/ai-loader.js +78 -0
- package/dist/components/ai-loader/ai-loader.js.map +1 -0
- package/dist/components/ai-loader/index.d.ts +2 -0
- package/dist/components/ai-loader/index.js +2 -0
- package/dist/components/ai-loader/meta.js +21 -0
- package/dist/components/ai-loader/meta.js.map +1 -0
- package/dist/components/ai-message/ai-message.d.ts +13 -2
- package/dist/components/ai-message/ai-message.d.ts.map +1 -1
- package/dist/components/ai-message/ai-message.js +29 -5
- package/dist/components/ai-message/ai-message.js.map +1 -1
- package/dist/components/ai-message/index.d.ts +2 -2
- package/dist/components/ai-message/index.js +2 -2
- package/dist/components/ai-message/meta.js +1 -1
- package/dist/components/ai-message/meta.js.map +1 -1
- package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -1
- package/dist/components/ai-prompt-input/ai-prompt-input.js +45 -26
- package/dist/components/ai-prompt-input/ai-prompt-input.js.map +1 -1
- package/dist/components/ai-reasoning/ai-reasoning.d.ts +39 -11
- package/dist/components/ai-reasoning/ai-reasoning.d.ts.map +1 -1
- package/dist/components/ai-reasoning/ai-reasoning.js +114 -10
- package/dist/components/ai-reasoning/ai-reasoning.js.map +1 -1
- package/dist/components/ai-reasoning/index.d.ts +2 -2
- package/dist/components/ai-reasoning/index.js +2 -2
- package/dist/components/ai-reasoning/meta.js +2 -2
- package/dist/components/ai-reasoning/meta.js.map +1 -1
- package/dist/components/ai-response/ai-response.d.ts +4 -0
- package/dist/components/ai-response/ai-response.d.ts.map +1 -1
- package/dist/components/ai-response/ai-response.js +7 -3
- package/dist/components/ai-response/ai-response.js.map +1 -1
- package/dist/components/ai-response/index.d.ts +2 -1
- package/dist/components/ai-response/index.js +2 -1
- package/dist/components/ai-response/meta.js +3 -3
- package/dist/components/ai-response/meta.js.map +1 -1
- package/dist/components/ai-response/response-text.d.ts +42 -0
- package/dist/components/ai-response/response-text.d.ts.map +1 -0
- package/dist/components/ai-response/response-text.js +63 -0
- package/dist/components/ai-response/response-text.js.map +1 -0
- package/dist/components/ai-sources/ai-sources.d.ts +31 -5
- package/dist/components/ai-sources/ai-sources.d.ts.map +1 -1
- package/dist/components/ai-sources/ai-sources.js +188 -47
- package/dist/components/ai-sources/ai-sources.js.map +1 -1
- package/dist/components/ai-sources/index.d.ts +2 -2
- package/dist/components/ai-sources/index.js +2 -2
- package/dist/components/ai-sources/meta.js +2 -2
- package/dist/components/ai-sources/meta.js.map +1 -1
- package/dist/components/ai-suggestions/ai-suggestions.d.ts +24 -0
- package/dist/components/ai-suggestions/ai-suggestions.d.ts.map +1 -0
- package/dist/components/ai-suggestions/ai-suggestions.js +68 -0
- package/dist/components/ai-suggestions/ai-suggestions.js.map +1 -0
- package/dist/components/ai-suggestions/index.d.ts +2 -0
- package/dist/components/ai-suggestions/index.js +2 -0
- package/dist/components/ai-suggestions/meta.js +17 -0
- package/dist/components/ai-suggestions/meta.js.map +1 -0
- package/dist/components/ai-token-usage/ai-token-usage.d.ts +40 -3
- package/dist/components/ai-token-usage/ai-token-usage.d.ts.map +1 -1
- package/dist/components/ai-token-usage/ai-token-usage.js +201 -24
- package/dist/components/ai-token-usage/ai-token-usage.js.map +1 -1
- package/dist/components/ai-token-usage/index.d.ts +2 -2
- package/dist/components/ai-token-usage/index.js +2 -2
- package/dist/components/ai-token-usage/meta.js +2 -2
- package/dist/components/ai-token-usage/meta.js.map +1 -1
- package/dist/components/ai-tool/ai-tool.d.ts +12 -1
- package/dist/components/ai-tool/ai-tool.d.ts.map +1 -1
- package/dist/components/ai-tool/ai-tool.js +83 -6
- package/dist/components/ai-tool/ai-tool.js.map +1 -1
- package/dist/components/ai-tool/meta.js +1 -1
- package/dist/components/ai-tool/meta.js.map +1 -1
- package/dist/components/alert/alert.d.ts +1 -1
- package/dist/components/animated-checklist/animated-checklist.d.ts +40 -0
- package/dist/components/animated-checklist/animated-checklist.d.ts.map +1 -0
- package/dist/components/animated-checklist/animated-checklist.js +198 -0
- package/dist/components/animated-checklist/animated-checklist.js.map +1 -0
- package/dist/components/animated-checklist/index.d.ts +2 -0
- package/dist/components/animated-checklist/index.js +2 -0
- package/dist/components/animated-checklist/meta.js +17 -0
- package/dist/components/animated-checklist/meta.js.map +1 -0
- package/dist/components/app-stack/app-stack.d.ts +40 -0
- package/dist/components/app-stack/app-stack.d.ts.map +1 -0
- package/dist/components/app-stack/app-stack.js +260 -0
- package/dist/components/app-stack/app-stack.js.map +1 -0
- package/dist/components/app-stack/index.d.ts +2 -0
- package/dist/components/app-stack/index.js +2 -0
- package/dist/components/app-stack/meta.js +17 -0
- package/dist/components/app-stack/meta.js.map +1 -0
- package/dist/components/aspect-morph/aspect-morph.d.ts +50 -0
- package/dist/components/aspect-morph/aspect-morph.d.ts.map +1 -0
- package/dist/components/aspect-morph/aspect-morph.js +171 -0
- package/dist/components/aspect-morph/aspect-morph.js.map +1 -0
- package/dist/components/aspect-morph/index.d.ts +2 -0
- package/dist/components/aspect-morph/index.js +2 -0
- package/dist/components/aspect-morph/meta.js +17 -0
- package/dist/components/aspect-morph/meta.js.map +1 -0
- package/dist/components/assignee-picker/assignee-picker-spring.js +21 -0
- package/dist/components/assignee-picker/assignee-picker-spring.js.map +1 -0
- package/dist/components/assignee-picker/assignee-picker.d.ts +47 -0
- package/dist/components/assignee-picker/assignee-picker.d.ts.map +1 -0
- package/dist/components/assignee-picker/assignee-picker.js +370 -0
- package/dist/components/assignee-picker/assignee-picker.js.map +1 -0
- package/dist/components/assignee-picker/index.d.ts +2 -0
- package/dist/components/assignee-picker/index.js +2 -0
- package/dist/components/assignee-picker/meta.js +17 -0
- package/dist/components/assignee-picker/meta.js.map +1 -0
- package/dist/components/avatar/avatar.d.ts +1 -1
- package/dist/components/avatar-group/avatar-group.d.ts +41 -0
- package/dist/components/avatar-group/avatar-group.d.ts.map +1 -0
- package/dist/components/avatar-group/avatar-group.js +103 -0
- package/dist/components/avatar-group/avatar-group.js.map +1 -0
- package/dist/components/avatar-group/index.d.ts +2 -0
- package/dist/components/avatar-group/index.js +2 -0
- package/dist/components/avatar-group/meta.js +17 -0
- package/dist/components/avatar-group/meta.js.map +1 -0
- package/dist/components/badge/badge.d.ts +1 -1
- package/dist/components/bar-loader/bar-loader.d.ts +170 -0
- package/dist/components/bar-loader/bar-loader.d.ts.map +1 -0
- package/dist/components/bar-loader/bar-loader.js +469 -0
- package/dist/components/bar-loader/bar-loader.js.map +1 -0
- package/dist/components/bar-loader/index.d.ts +2 -0
- package/dist/components/bar-loader/index.js +2 -0
- package/dist/components/bar-loader/meta.js +17 -0
- package/dist/components/bar-loader/meta.js.map +1 -0
- package/dist/components/book/book.d.ts +35 -0
- package/dist/components/book/book.d.ts.map +1 -0
- package/dist/components/book/book.js +183 -0
- package/dist/components/book/book.js.map +1 -0
- package/dist/components/book/index.d.ts +2 -0
- package/dist/components/book/index.js +2 -0
- package/dist/components/book/meta.js +17 -0
- package/dist/components/book/meta.js.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts +60 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.js +158 -0
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/components/breadcrumb/index.d.ts +2 -0
- package/dist/components/breadcrumb/index.js +2 -0
- package/dist/components/breadcrumb/meta.js +17 -0
- package/dist/components/breadcrumb/meta.js.map +1 -0
- package/dist/components/browser-tabs/browser-tabs-spring.js +21 -0
- package/dist/components/browser-tabs/browser-tabs-spring.js.map +1 -0
- package/dist/components/browser-tabs/browser-tabs.d.ts +62 -0
- package/dist/components/browser-tabs/browser-tabs.d.ts.map +1 -0
- package/dist/components/browser-tabs/browser-tabs.js +418 -0
- package/dist/components/browser-tabs/browser-tabs.js.map +1 -0
- package/dist/components/browser-tabs/index.d.ts +2 -0
- package/dist/components/browser-tabs/index.js +2 -0
- package/dist/components/browser-tabs/meta.js +17 -0
- package/dist/components/browser-tabs/meta.js.map +1 -0
- package/dist/components/button/button.d.ts +4 -2
- package/dist/components/button/button.d.ts.map +1 -1
- package/dist/components/button/button.js +48 -5
- package/dist/components/button/button.js.map +1 -1
- package/dist/components/calendar/calendar.js +2 -2
- package/dist/components/calendar/calendar.js.map +1 -1
- package/dist/components/canvas-toolbar/canvas-toolbar.d.ts +62 -0
- package/dist/components/canvas-toolbar/canvas-toolbar.d.ts.map +1 -0
- package/dist/components/canvas-toolbar/canvas-toolbar.js +256 -0
- package/dist/components/canvas-toolbar/canvas-toolbar.js.map +1 -0
- package/dist/components/canvas-toolbar/index.d.ts +2 -0
- package/dist/components/canvas-toolbar/index.js +2 -0
- package/dist/components/canvas-toolbar/meta.js +17 -0
- package/dist/components/canvas-toolbar/meta.js.map +1 -0
- package/dist/components/card-spread/card-spread-layouts.d.ts +46 -0
- package/dist/components/card-spread/card-spread-layouts.d.ts.map +1 -0
- package/dist/components/card-spread/card-spread-layouts.js +235 -0
- package/dist/components/card-spread/card-spread-layouts.js.map +1 -0
- package/dist/components/card-spread/card-spread.d.ts +52 -0
- package/dist/components/card-spread/card-spread.d.ts.map +1 -0
- package/dist/components/card-spread/card-spread.js +224 -0
- package/dist/components/card-spread/card-spread.js.map +1 -0
- package/dist/components/card-spread/index.d.ts +3 -0
- package/dist/components/card-spread/index.js +3 -0
- package/dist/components/card-spread/meta.js +17 -0
- package/dist/components/card-spread/meta.js.map +1 -0
- package/dist/components/card-stack/card-stack-layout.js +98 -0
- package/dist/components/card-stack/card-stack-layout.js.map +1 -0
- package/dist/components/card-stack/card-stack.d.ts +29 -0
- package/dist/components/card-stack/card-stack.d.ts.map +1 -0
- package/dist/components/card-stack/card-stack.js +229 -0
- package/dist/components/card-stack/card-stack.js.map +1 -0
- package/dist/components/card-stack/index.d.ts +2 -0
- package/dist/components/card-stack/index.js +2 -0
- package/dist/components/card-stack/meta.js +17 -0
- package/dist/components/card-stack/meta.js.map +1 -0
- package/dist/components/carousel-3d/carousel-3d.d.ts +43 -0
- package/dist/components/carousel-3d/carousel-3d.d.ts.map +1 -0
- package/dist/components/carousel-3d/carousel-3d.js +336 -0
- package/dist/components/carousel-3d/carousel-3d.js.map +1 -0
- package/dist/components/carousel-3d/index.d.ts +2 -0
- package/dist/components/carousel-3d/index.js +2 -0
- package/dist/components/carousel-3d/meta.js +17 -0
- package/dist/components/carousel-3d/meta.js.map +1 -0
- package/dist/components/checkbox/checkbox.d.ts.map +1 -1
- package/dist/components/checkbox/checkbox.js +18 -0
- package/dist/components/checkbox/checkbox.js.map +1 -1
- package/dist/components/code-block/code-block.d.ts +1 -17
- package/dist/components/code-block/code-block.d.ts.map +1 -1
- package/dist/components/code-block/code-block.js +9 -79
- package/dist/components/code-block/code-block.js.map +1 -1
- package/dist/components/code-block/index.d.ts +3 -1
- package/dist/components/code-block/index.js +2 -1
- package/dist/components/code-block/meta.js +1 -1
- package/dist/components/code-block/meta.js.map +1 -1
- package/dist/components/collapsible/collapsible.d.ts +30 -0
- package/dist/components/collapsible/collapsible.d.ts.map +1 -0
- package/dist/components/collapsible/collapsible.js +38 -0
- package/dist/components/collapsible/collapsible.js.map +1 -0
- package/dist/components/collapsible/index.d.ts +2 -0
- package/dist/components/collapsible/index.js +2 -0
- package/dist/components/collapsible/meta.js +17 -0
- package/dist/components/collapsible/meta.js.map +1 -0
- package/dist/components/combobox/combobox.d.ts +28 -4
- package/dist/components/combobox/combobox.d.ts.map +1 -1
- package/dist/components/combobox/combobox.js +161 -66
- package/dist/components/combobox/combobox.js.map +1 -1
- package/dist/components/combobox/index.d.ts +2 -2
- package/dist/components/combobox/index.js +2 -2
- package/dist/components/combobox/meta.js +1 -1
- package/dist/components/combobox/meta.js.map +1 -1
- package/dist/components/command/command.js +1 -1
- package/dist/components/command/command.js.map +1 -1
- package/dist/components/command-bar/command-bar.d.ts +37 -0
- package/dist/components/command-bar/command-bar.d.ts.map +1 -0
- package/dist/components/command-bar/command-bar.js +91 -0
- package/dist/components/command-bar/command-bar.js.map +1 -0
- package/dist/components/command-bar/index.d.ts +2 -0
- package/dist/components/command-bar/index.js +2 -0
- package/dist/components/command-bar/meta.js +17 -0
- package/dist/components/command-bar/meta.js.map +1 -0
- package/dist/components/comment-bubble/comment-bubble.d.ts +32 -0
- package/dist/components/comment-bubble/comment-bubble.d.ts.map +1 -0
- package/dist/components/comment-bubble/comment-bubble.js +174 -0
- package/dist/components/comment-bubble/comment-bubble.js.map +1 -0
- package/dist/components/comment-bubble/index.d.ts +2 -0
- package/dist/components/comment-bubble/index.js +2 -0
- package/dist/components/comment-bubble/meta.js +17 -0
- package/dist/components/comment-bubble/meta.js.map +1 -0
- package/dist/components/context-menu/context-menu.d.ts +49 -0
- package/dist/components/context-menu/context-menu.d.ts.map +1 -0
- package/dist/components/context-menu/context-menu.js +151 -0
- package/dist/components/context-menu/context-menu.js.map +1 -0
- package/dist/components/context-menu/index.d.ts +2 -0
- package/dist/components/context-menu/index.js +2 -0
- package/dist/components/context-menu/meta.js +17 -0
- package/dist/components/context-menu/meta.js.map +1 -0
- package/dist/components/contribution-graph/contribution-graph.d.ts +37 -0
- package/dist/components/contribution-graph/contribution-graph.d.ts.map +1 -0
- package/dist/components/contribution-graph/contribution-graph.js +298 -0
- package/dist/components/contribution-graph/contribution-graph.js.map +1 -0
- package/dist/components/contribution-graph/index.d.ts +2 -0
- package/dist/components/contribution-graph/index.js +2 -0
- package/dist/components/contribution-graph/meta.js +17 -0
- package/dist/components/contribution-graph/meta.js.map +1 -0
- package/dist/components/copy-button/copy-button.d.ts +81 -0
- package/dist/components/copy-button/copy-button.d.ts.map +1 -0
- package/dist/components/copy-button/copy-button.js +146 -0
- package/dist/components/copy-button/copy-button.js.map +1 -0
- package/dist/components/copy-button/index.d.ts +2 -0
- package/dist/components/copy-button/index.js +2 -0
- package/dist/components/copy-button/meta.js +17 -0
- package/dist/components/copy-button/meta.js.map +1 -0
- package/dist/components/create-menu/create-menu.d.ts +42 -0
- package/dist/components/create-menu/create-menu.d.ts.map +1 -0
- package/dist/components/create-menu/create-menu.js +197 -0
- package/dist/components/create-menu/create-menu.js.map +1 -0
- package/dist/components/create-menu/index.d.ts +2 -0
- package/dist/components/create-menu/index.js +2 -0
- package/dist/components/create-menu/meta.js +17 -0
- package/dist/components/create-menu/meta.js.map +1 -0
- package/dist/components/cursor-follow/cursor-follow.d.ts +17 -0
- package/dist/components/cursor-follow/cursor-follow.d.ts.map +1 -0
- package/dist/components/cursor-follow/cursor-follow.js +116 -0
- package/dist/components/cursor-follow/cursor-follow.js.map +1 -0
- package/dist/components/cursor-follow/index.d.ts +2 -0
- package/dist/components/cursor-follow/index.js +2 -0
- package/dist/components/cursor-follow/meta.js +17 -0
- package/dist/components/cursor-follow/meta.js.map +1 -0
- package/dist/components/data-table/data-table.d.ts.map +1 -1
- package/dist/components/data-table/data-table.js +4 -1
- package/dist/components/data-table/data-table.js.map +1 -1
- package/dist/components/dial/dial.d.ts +32 -0
- package/dist/components/dial/dial.d.ts.map +1 -0
- package/dist/components/dial/dial.js +195 -0
- package/dist/components/dial/dial.js.map +1 -0
- package/dist/components/dial/index.d.ts +2 -0
- package/dist/components/dial/index.js +2 -0
- package/dist/components/dial/meta.js +17 -0
- package/dist/components/dial/meta.js.map +1 -0
- package/dist/components/dialog/dialog.d.ts +8 -1
- package/dist/components/dialog/dialog.d.ts.map +1 -1
- package/dist/components/dialog/dialog.js +24 -7
- package/dist/components/dialog/dialog.js.map +1 -1
- package/dist/components/dialog/meta.js +1 -1
- package/dist/components/dialog/meta.js.map +1 -1
- package/dist/components/diff-viewer/diff-viewer.d.ts +12 -1
- package/dist/components/diff-viewer/diff-viewer.d.ts.map +1 -1
- package/dist/components/diff-viewer/diff-viewer.js +100 -28
- package/dist/components/diff-viewer/diff-viewer.js.map +1 -1
- package/dist/components/diff-viewer/meta.js +1 -1
- package/dist/components/diff-viewer/meta.js.map +1 -1
- package/dist/components/direction/direction.d.ts +35 -0
- package/dist/components/direction/direction.d.ts.map +1 -0
- package/dist/components/direction/direction.js +14 -0
- package/dist/components/direction/direction.js.map +1 -0
- package/dist/components/direction/index.d.ts +2 -0
- package/dist/components/direction/index.js +2 -0
- package/dist/components/direction/meta.js +17 -0
- package/dist/components/direction/meta.js.map +1 -0
- package/dist/components/dither-area/dither-area.d.ts +46 -0
- package/dist/components/dither-area/dither-area.d.ts.map +1 -0
- package/dist/components/dither-area/dither-area.js +186 -0
- package/dist/components/dither-area/dither-area.js.map +1 -0
- package/dist/components/dither-area/index.d.ts +2 -0
- package/dist/components/dither-area/index.js +2 -0
- package/dist/components/dither-area/meta.js +17 -0
- package/dist/components/dither-area/meta.js.map +1 -0
- package/dist/components/dither-bar/dither-bar.d.ts +47 -0
- package/dist/components/dither-bar/dither-bar.d.ts.map +1 -0
- package/dist/components/dither-bar/dither-bar.js +261 -0
- package/dist/components/dither-bar/dither-bar.js.map +1 -0
- package/dist/components/dither-bar/index.d.ts +2 -0
- package/dist/components/dither-bar/index.js +2 -0
- package/dist/components/dither-bar/meta.js +17 -0
- package/dist/components/dither-bar/meta.js.map +1 -0
- package/dist/components/dither-canvas/dither-canvas.d.ts +76 -0
- package/dist/components/dither-canvas/dither-canvas.d.ts.map +1 -0
- package/dist/components/dither-canvas/dither-canvas.js +236 -0
- package/dist/components/dither-canvas/dither-canvas.js.map +1 -0
- package/dist/components/dither-canvas/dither-engine.d.ts +132 -0
- package/dist/components/dither-canvas/dither-engine.d.ts.map +1 -0
- package/dist/components/dither-canvas/dither-engine.js +243 -0
- package/dist/components/dither-canvas/dither-engine.js.map +1 -0
- package/dist/components/dither-canvas/dither-geometry.d.ts +73 -0
- package/dist/components/dither-canvas/dither-geometry.d.ts.map +1 -0
- package/dist/components/dither-canvas/dither-geometry.js +205 -0
- package/dist/components/dither-canvas/dither-geometry.js.map +1 -0
- package/dist/components/dither-canvas/dither-scrubber.d.ts +64 -0
- package/dist/components/dither-canvas/dither-scrubber.d.ts.map +1 -0
- package/dist/components/dither-canvas/dither-scrubber.js +130 -0
- package/dist/components/dither-canvas/dither-scrubber.js.map +1 -0
- package/dist/components/dither-canvas/index.d.ts +5 -0
- package/dist/components/dither-canvas/index.js +5 -0
- package/dist/components/dither-canvas/meta.js +22 -0
- package/dist/components/dither-canvas/meta.js.map +1 -0
- package/dist/components/dither-donut/dither-donut.d.ts +46 -0
- package/dist/components/dither-donut/dither-donut.d.ts.map +1 -0
- package/dist/components/dither-donut/dither-donut.js +241 -0
- package/dist/components/dither-donut/dither-donut.js.map +1 -0
- package/dist/components/dither-donut/index.d.ts +2 -0
- package/dist/components/dither-donut/index.js +2 -0
- package/dist/components/dither-donut/meta.js +17 -0
- package/dist/components/dither-donut/meta.js.map +1 -0
- package/dist/components/dither-funnel/dither-funnel.d.ts +53 -0
- package/dist/components/dither-funnel/dither-funnel.d.ts.map +1 -0
- package/dist/components/dither-funnel/dither-funnel.js +176 -0
- package/dist/components/dither-funnel/dither-funnel.js.map +1 -0
- package/dist/components/dither-funnel/index.d.ts +2 -0
- package/dist/components/dither-funnel/index.js +2 -0
- package/dist/components/dither-funnel/meta.js +17 -0
- package/dist/components/dither-funnel/meta.js.map +1 -0
- package/dist/components/dither-gauge/dither-gauge.d.ts +48 -0
- package/dist/components/dither-gauge/dither-gauge.d.ts.map +1 -0
- package/dist/components/dither-gauge/dither-gauge.js +189 -0
- package/dist/components/dither-gauge/dither-gauge.js.map +1 -0
- package/dist/components/dither-gauge/index.d.ts +2 -0
- package/dist/components/dither-gauge/index.js +2 -0
- package/dist/components/dither-gauge/meta.js +17 -0
- package/dist/components/dither-gauge/meta.js.map +1 -0
- package/dist/components/dither-heatmap/dither-heatmap.d.ts +63 -0
- package/dist/components/dither-heatmap/dither-heatmap.d.ts.map +1 -0
- package/dist/components/dither-heatmap/dither-heatmap.js +298 -0
- package/dist/components/dither-heatmap/dither-heatmap.js.map +1 -0
- package/dist/components/dither-heatmap/index.d.ts +2 -0
- package/dist/components/dither-heatmap/index.js +2 -0
- package/dist/components/dither-heatmap/meta.js +17 -0
- package/dist/components/dither-heatmap/meta.js.map +1 -0
- package/dist/components/dither-line/dither-line.d.ts +41 -0
- package/dist/components/dither-line/dither-line.d.ts.map +1 -0
- package/dist/components/dither-line/dither-line.js +164 -0
- package/dist/components/dither-line/dither-line.js.map +1 -0
- package/dist/components/dither-line/index.d.ts +2 -0
- package/dist/components/dither-line/index.js +2 -0
- package/dist/components/dither-line/meta.js +17 -0
- package/dist/components/dither-line/meta.js.map +1 -0
- package/dist/components/dither-meter/dither-meter.d.ts +51 -0
- package/dist/components/dither-meter/dither-meter.d.ts.map +1 -0
- package/dist/components/dither-meter/dither-meter.js +211 -0
- package/dist/components/dither-meter/dither-meter.js.map +1 -0
- package/dist/components/dither-meter/index.d.ts +2 -0
- package/dist/components/dither-meter/index.js +2 -0
- package/dist/components/dither-meter/meta.js +17 -0
- package/dist/components/dither-meter/meta.js.map +1 -0
- package/dist/components/dither-scatter/dither-scatter.d.ts +53 -0
- package/dist/components/dither-scatter/dither-scatter.d.ts.map +1 -0
- package/dist/components/dither-scatter/dither-scatter.js +211 -0
- package/dist/components/dither-scatter/dither-scatter.js.map +1 -0
- package/dist/components/dither-scatter/index.d.ts +2 -0
- package/dist/components/dither-scatter/index.js +2 -0
- package/dist/components/dither-scatter/meta.js +17 -0
- package/dist/components/dither-scatter/meta.js.map +1 -0
- package/dist/components/dot-morph-button/dot-morph-button.d.ts +18 -0
- package/dist/components/dot-morph-button/dot-morph-button.d.ts.map +1 -0
- package/dist/components/dot-morph-button/dot-morph-button.js +43 -0
- package/dist/components/dot-morph-button/dot-morph-button.js.map +1 -0
- package/dist/components/dot-morph-button/index.d.ts +2 -0
- package/dist/components/dot-morph-button/index.js +2 -0
- package/dist/components/dot-morph-button/meta.js +17 -0
- package/dist/components/dot-morph-button/meta.js.map +1 -0
- package/dist/components/dots-loader/dots-loader.d.ts +186 -0
- package/dist/components/dots-loader/dots-loader.d.ts.map +1 -0
- package/dist/components/dots-loader/dots-loader.js +412 -0
- package/dist/components/dots-loader/dots-loader.js.map +1 -0
- package/dist/components/dots-loader/index.d.ts +2 -0
- package/dist/components/dots-loader/index.js +2 -0
- package/dist/components/dots-loader/meta.js +17 -0
- package/dist/components/dots-loader/meta.js.map +1 -0
- package/dist/components/drag-stepper/drag-stepper.d.ts +39 -0
- package/dist/components/drag-stepper/drag-stepper.d.ts.map +1 -0
- package/dist/components/drag-stepper/drag-stepper.js +232 -0
- package/dist/components/drag-stepper/drag-stepper.js.map +1 -0
- package/dist/components/drag-stepper/index.d.ts +2 -0
- package/dist/components/drag-stepper/index.js +2 -0
- package/dist/components/drag-stepper/meta.js +17 -0
- package/dist/components/drag-stepper/meta.js.map +1 -0
- package/dist/components/drawer/drawer.d.ts +9 -1
- package/dist/components/drawer/drawer.d.ts.map +1 -1
- package/dist/components/drawer/drawer.js +24 -5
- package/dist/components/drawer/drawer.js.map +1 -1
- package/dist/components/drawer/meta.js +1 -1
- package/dist/components/drawer/meta.js.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +5 -0
- package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.js +34 -13
- package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/components/dropdown-menu/meta.js +1 -1
- package/dist/components/dropdown-menu/meta.js.map +1 -1
- package/dist/components/effect-button/effect-button.d.ts +28 -0
- package/dist/components/effect-button/effect-button.d.ts.map +1 -0
- package/dist/components/effect-button/effect-button.js +176 -0
- package/dist/components/effect-button/effect-button.js.map +1 -0
- package/dist/components/effect-button/index.d.ts +2 -0
- package/dist/components/effect-button/index.js +2 -0
- package/dist/components/effect-button/meta.js +17 -0
- package/dist/components/effect-button/meta.js.map +1 -0
- package/dist/components/escape-button/escape-button.d.ts +25 -0
- package/dist/components/escape-button/escape-button.d.ts.map +1 -0
- package/dist/components/escape-button/escape-button.js +154 -0
- package/dist/components/escape-button/escape-button.js.map +1 -0
- package/dist/components/escape-button/index.d.ts +2 -0
- package/dist/components/escape-button/index.js +2 -0
- package/dist/components/escape-button/meta.js +17 -0
- package/dist/components/escape-button/meta.js.map +1 -0
- package/dist/components/expandable-cards/expandable-cards.d.ts +42 -0
- package/dist/components/expandable-cards/expandable-cards.d.ts.map +1 -0
- package/dist/components/expandable-cards/expandable-cards.js +312 -0
- package/dist/components/expandable-cards/expandable-cards.js.map +1 -0
- package/dist/components/expandable-cards/index.d.ts +2 -0
- package/dist/components/expandable-cards/index.js +2 -0
- package/dist/components/expandable-cards/meta.js +17 -0
- package/dist/components/expandable-cards/meta.js.map +1 -0
- package/dist/components/expandable-list/expandable-list.d.ts +35 -0
- package/dist/components/expandable-list/expandable-list.d.ts.map +1 -0
- package/dist/components/expandable-list/expandable-list.js +180 -0
- package/dist/components/expandable-list/expandable-list.js.map +1 -0
- package/dist/components/expandable-list/index.d.ts +2 -0
- package/dist/components/expandable-list/index.js +2 -0
- package/dist/components/expandable-list/meta.js +21 -0
- package/dist/components/expandable-list/meta.js.map +1 -0
- package/dist/components/expanding-search/expanding-search.d.ts +30 -0
- package/dist/components/expanding-search/expanding-search.d.ts.map +1 -0
- package/dist/components/expanding-search/expanding-search.js +141 -0
- package/dist/components/expanding-search/expanding-search.js.map +1 -0
- package/dist/components/expanding-search/index.d.ts +2 -0
- package/dist/components/expanding-search/index.js +2 -0
- package/dist/components/expanding-search/meta.js +17 -0
- package/dist/components/expanding-search/meta.js.map +1 -0
- package/dist/components/exposure-slider/exposure-slider.d.ts +33 -0
- package/dist/components/exposure-slider/exposure-slider.d.ts.map +1 -0
- package/dist/components/exposure-slider/exposure-slider.js +227 -0
- package/dist/components/exposure-slider/exposure-slider.js.map +1 -0
- package/dist/components/exposure-slider/index.d.ts +2 -0
- package/dist/components/exposure-slider/index.js +2 -0
- package/dist/components/exposure-slider/meta.js +17 -0
- package/dist/components/exposure-slider/meta.js.map +1 -0
- package/dist/components/file-upload/file-upload.d.ts +13 -2
- package/dist/components/file-upload/file-upload.d.ts.map +1 -1
- package/dist/components/file-upload/file-upload.js +166 -95
- package/dist/components/file-upload/file-upload.js.map +1 -1
- package/dist/components/file-upload/meta.js +1 -1
- package/dist/components/file-upload/meta.js.map +1 -1
- package/dist/components/focus-blur-links/focus-blur-links.d.ts +25 -0
- package/dist/components/focus-blur-links/focus-blur-links.d.ts.map +1 -0
- package/dist/components/focus-blur-links/focus-blur-links.js +92 -0
- package/dist/components/focus-blur-links/focus-blur-links.js.map +1 -0
- package/dist/components/focus-blur-links/index.d.ts +2 -0
- package/dist/components/focus-blur-links/index.js +2 -0
- package/dist/components/focus-blur-links/meta.js +17 -0
- package/dist/components/focus-blur-links/meta.js.map +1 -0
- package/dist/components/folding-frame/folding-frame.d.ts +38 -0
- package/dist/components/folding-frame/folding-frame.d.ts.map +1 -0
- package/dist/components/folding-frame/folding-frame.js +298 -0
- package/dist/components/folding-frame/folding-frame.js.map +1 -0
- package/dist/components/folding-frame/index.d.ts +2 -0
- package/dist/components/folding-frame/index.js +2 -0
- package/dist/components/folding-frame/meta.js +17 -0
- package/dist/components/folding-frame/meta.js.map +1 -0
- package/dist/components/form/form.d.ts +11 -2
- package/dist/components/form/form.d.ts.map +1 -1
- package/dist/components/form/form.js +55 -5
- package/dist/components/form/form.js.map +1 -1
- package/dist/components/form/meta.js +1 -1
- package/dist/components/form/meta.js.map +1 -1
- package/dist/components/glass-bubble/glass-bubble.d.ts +59 -0
- package/dist/components/glass-bubble/glass-bubble.d.ts.map +1 -0
- package/dist/components/glass-bubble/glass-bubble.js +308 -0
- package/dist/components/glass-bubble/glass-bubble.js.map +1 -0
- package/dist/components/glass-bubble/index.d.ts +2 -0
- package/dist/components/glass-bubble/index.js +2 -0
- package/dist/components/glass-bubble/meta.js +17 -0
- package/dist/components/glass-bubble/meta.js.map +1 -0
- package/dist/components/glow-card/glow-card.d.ts +34 -0
- package/dist/components/glow-card/glow-card.d.ts.map +1 -0
- package/dist/components/glow-card/glow-card.js +104 -0
- package/dist/components/glow-card/glow-card.js.map +1 -0
- package/dist/components/glow-card/index.d.ts +2 -0
- package/dist/components/glow-card/index.js +2 -0
- package/dist/components/glow-card/meta.js +17 -0
- package/dist/components/glow-card/meta.js.map +1 -0
- package/dist/components/goo-ball/goo-ball.d.ts +48 -0
- package/dist/components/goo-ball/goo-ball.d.ts.map +1 -0
- package/dist/components/goo-ball/goo-ball.js +295 -0
- package/dist/components/goo-ball/goo-ball.js.map +1 -0
- package/dist/components/goo-ball/index.d.ts +2 -0
- package/dist/components/goo-ball/index.js +2 -0
- package/dist/components/goo-ball/meta.js +21 -0
- package/dist/components/goo-ball/meta.js.map +1 -0
- package/dist/components/goo-tabs/goo-tabs.d.ts +37 -0
- package/dist/components/goo-tabs/goo-tabs.d.ts.map +1 -0
- package/dist/components/goo-tabs/goo-tabs.js +286 -0
- package/dist/components/goo-tabs/goo-tabs.js.map +1 -0
- package/dist/components/goo-tabs/index.d.ts +2 -0
- package/dist/components/goo-tabs/index.js +2 -0
- package/dist/components/goo-tabs/meta.js +17 -0
- package/dist/components/goo-tabs/meta.js.map +1 -0
- package/dist/components/gooey-popover/gooey-popover.d.ts +32 -0
- package/dist/components/gooey-popover/gooey-popover.d.ts.map +1 -0
- package/dist/components/gooey-popover/gooey-popover.js +257 -0
- package/dist/components/gooey-popover/gooey-popover.js.map +1 -0
- package/dist/components/gooey-popover/index.d.ts +2 -0
- package/dist/components/gooey-popover/index.js +2 -0
- package/dist/components/gooey-popover/meta.js +17 -0
- package/dist/components/gooey-popover/meta.js.map +1 -0
- package/dist/components/gradient-orb/gradient-orb.d.ts +39 -0
- package/dist/components/gradient-orb/gradient-orb.d.ts.map +1 -0
- package/dist/components/gradient-orb/gradient-orb.js +185 -0
- package/dist/components/gradient-orb/gradient-orb.js.map +1 -0
- package/dist/components/gradient-orb/index.d.ts +2 -0
- package/dist/components/gradient-orb/index.js +2 -0
- package/dist/components/gradient-orb/meta.js +17 -0
- package/dist/components/gradient-orb/meta.js.map +1 -0
- package/dist/components/grid-loader/grid-loader.d.ts +224 -0
- package/dist/components/grid-loader/grid-loader.d.ts.map +1 -0
- package/dist/components/grid-loader/grid-loader.js +271 -0
- package/dist/components/grid-loader/grid-loader.js.map +1 -0
- package/dist/components/grid-loader/index.d.ts +2 -0
- package/dist/components/grid-loader/index.js +2 -0
- package/dist/components/grid-loader/meta.js +17 -0
- package/dist/components/grid-loader/meta.js.map +1 -0
- package/dist/components/image-accordion/image-accordion.d.ts +40 -0
- package/dist/components/image-accordion/image-accordion.d.ts.map +1 -0
- package/dist/components/image-accordion/image-accordion.js +118 -0
- package/dist/components/image-accordion/image-accordion.js.map +1 -0
- package/dist/components/image-accordion/index.d.ts +2 -0
- package/dist/components/image-accordion/index.js +2 -0
- package/dist/components/image-accordion/meta.js +17 -0
- package/dist/components/image-accordion/meta.js.map +1 -0
- package/dist/components/image-metadata/image-metadata.d.ts +34 -0
- package/dist/components/image-metadata/image-metadata.d.ts.map +1 -0
- package/dist/components/image-metadata/image-metadata.js +178 -0
- package/dist/components/image-metadata/image-metadata.js.map +1 -0
- package/dist/components/image-metadata/index.d.ts +2 -0
- package/dist/components/image-metadata/index.js +2 -0
- package/dist/components/image-metadata/meta.js +17 -0
- package/dist/components/image-metadata/meta.js.map +1 -0
- package/dist/components/image-selector/image-selector.d.ts +37 -0
- package/dist/components/image-selector/image-selector.d.ts.map +1 -0
- package/dist/components/image-selector/image-selector.js +253 -0
- package/dist/components/image-selector/image-selector.js.map +1 -0
- package/dist/components/image-selector/index.d.ts +2 -0
- package/dist/components/image-selector/index.js +2 -0
- package/dist/components/image-selector/meta.js +17 -0
- package/dist/components/image-selector/meta.js.map +1 -0
- package/dist/components/inline-confirm/index.d.ts +2 -0
- package/dist/components/inline-confirm/index.js +2 -0
- package/dist/components/inline-confirm/inline-confirm.d.ts +38 -0
- package/dist/components/inline-confirm/inline-confirm.d.ts.map +1 -0
- package/dist/components/inline-confirm/inline-confirm.js +246 -0
- package/dist/components/inline-confirm/inline-confirm.js.map +1 -0
- package/dist/components/inline-confirm/meta.js +17 -0
- package/dist/components/inline-confirm/meta.js.map +1 -0
- package/dist/components/input/floating-label-input.d.ts +26 -0
- package/dist/components/input/floating-label-input.d.ts.map +1 -0
- package/dist/components/input/floating-label-input.js +47 -0
- package/dist/components/input/floating-label-input.js.map +1 -0
- package/dist/components/input/index.d.ts +2 -1
- package/dist/components/input/index.js +2 -1
- package/dist/components/input/input.js +1 -1
- package/dist/components/input/input.js.map +1 -1
- package/dist/components/input/meta.js +2 -2
- package/dist/components/input/meta.js.map +1 -1
- package/dist/components/invite-carousel/carousel-controls.js +189 -0
- package/dist/components/invite-carousel/carousel-controls.js.map +1 -0
- package/dist/components/invite-carousel/index.d.ts +2 -0
- package/dist/components/invite-carousel/index.js +2 -0
- package/dist/components/invite-carousel/invite-carousel.d.ts +56 -0
- package/dist/components/invite-carousel/invite-carousel.d.ts.map +1 -0
- package/dist/components/invite-carousel/invite-carousel.js +207 -0
- package/dist/components/invite-carousel/invite-carousel.js.map +1 -0
- package/dist/components/invite-carousel/meta.js +17 -0
- package/dist/components/invite-carousel/meta.js.map +1 -0
- package/dist/components/island/index.d.ts +2 -0
- package/dist/components/island/index.js +2 -0
- package/dist/components/island/island.d.ts +30 -0
- package/dist/components/island/island.d.ts.map +1 -0
- package/dist/components/island/island.js +94 -0
- package/dist/components/island/island.js.map +1 -0
- package/dist/components/island/meta.js +17 -0
- package/dist/components/island/meta.js.map +1 -0
- package/dist/components/liquid-toggle/index.d.ts +2 -0
- package/dist/components/liquid-toggle/index.js +2 -0
- package/dist/components/liquid-toggle/liquid-toggle.d.ts +19 -0
- package/dist/components/liquid-toggle/liquid-toggle.d.ts.map +1 -0
- package/dist/components/liquid-toggle/liquid-toggle.js +175 -0
- package/dist/components/liquid-toggle/liquid-toggle.js.map +1 -0
- package/dist/components/liquid-toggle/meta.js +21 -0
- package/dist/components/liquid-toggle/meta.js.map +1 -0
- package/dist/components/log-viewer/log-viewer.js +2 -2
- package/dist/components/log-viewer/log-viewer.js.map +1 -1
- package/dist/components/magnetic-button/index.d.ts +2 -0
- package/dist/components/magnetic-button/index.js +2 -0
- package/dist/components/magnetic-button/magnetic-button.d.ts +32 -0
- package/dist/components/magnetic-button/magnetic-button.d.ts.map +1 -0
- package/dist/components/magnetic-button/magnetic-button.js +138 -0
- package/dist/components/magnetic-button/magnetic-button.js.map +1 -0
- package/dist/components/magnetic-button/meta.js +17 -0
- package/dist/components/magnetic-button/meta.js.map +1 -0
- package/dist/components/magnetic-select/index.d.ts +2 -0
- package/dist/components/magnetic-select/index.js +2 -0
- package/dist/components/magnetic-select/magnetic-select-spring.js +21 -0
- package/dist/components/magnetic-select/magnetic-select-spring.js.map +1 -0
- package/dist/components/magnetic-select/magnetic-select.d.ts +44 -0
- package/dist/components/magnetic-select/magnetic-select.d.ts.map +1 -0
- package/dist/components/magnetic-select/magnetic-select.js +330 -0
- package/dist/components/magnetic-select/magnetic-select.js.map +1 -0
- package/dist/components/magnetic-select/meta.js +17 -0
- package/dist/components/magnetic-select/meta.js.map +1 -0
- package/dist/components/magnify-dock/index.d.ts +2 -0
- package/dist/components/magnify-dock/index.js +2 -0
- package/dist/components/magnify-dock/magnify-dock.d.ts +40 -0
- package/dist/components/magnify-dock/magnify-dock.d.ts.map +1 -0
- package/dist/components/magnify-dock/magnify-dock.js +183 -0
- package/dist/components/magnify-dock/magnify-dock.js.map +1 -0
- package/dist/components/magnify-dock/meta.js +17 -0
- package/dist/components/magnify-dock/meta.js.map +1 -0
- package/dist/components/marquee/index.d.ts +2 -0
- package/dist/components/marquee/index.js +2 -0
- package/dist/components/marquee/marquee.d.ts +30 -0
- package/dist/components/marquee/marquee.d.ts.map +1 -0
- package/dist/components/marquee/marquee.js +117 -0
- package/dist/components/marquee/marquee.js.map +1 -0
- package/dist/components/marquee/meta.js +17 -0
- package/dist/components/marquee/meta.js.map +1 -0
- package/dist/components/meter/meter.js +1 -1
- package/dist/components/meter/meter.js.map +1 -1
- package/dist/components/morph-button/index.d.ts +2 -0
- package/dist/components/morph-button/index.js +2 -0
- package/dist/components/morph-button/meta.js +17 -0
- package/dist/components/morph-button/meta.js.map +1 -0
- package/dist/components/morph-button/morph-button.d.ts +57 -0
- package/dist/components/morph-button/morph-button.d.ts.map +1 -0
- package/dist/components/morph-button/morph-button.js +220 -0
- package/dist/components/morph-button/morph-button.js.map +1 -0
- package/dist/components/morph-surface/index.d.ts +2 -0
- package/dist/components/morph-surface/index.js +2 -0
- package/dist/components/morph-surface/meta.js +17 -0
- package/dist/components/morph-surface/meta.js.map +1 -0
- package/dist/components/morph-surface/morph-surface.d.ts +51 -0
- package/dist/components/morph-surface/morph-surface.d.ts.map +1 -0
- package/dist/components/morph-surface/morph-surface.js +228 -0
- package/dist/components/morph-surface/morph-surface.js.map +1 -0
- package/dist/components/notification-badge/index.d.ts +2 -0
- package/dist/components/notification-badge/index.js +2 -0
- package/dist/components/notification-badge/meta.js +17 -0
- package/dist/components/notification-badge/meta.js.map +1 -0
- package/dist/components/notification-badge/notification-badge.d.ts +40 -0
- package/dist/components/notification-badge/notification-badge.d.ts.map +1 -0
- package/dist/components/notification-badge/notification-badge.js +107 -0
- package/dist/components/notification-badge/notification-badge.js.map +1 -0
- package/dist/components/notify-button/index.d.ts +2 -0
- package/dist/components/notify-button/index.js +2 -0
- package/dist/components/notify-button/meta.js +17 -0
- package/dist/components/notify-button/meta.js.map +1 -0
- package/dist/components/notify-button/notify-button.d.ts +28 -0
- package/dist/components/notify-button/notify-button.d.ts.map +1 -0
- package/dist/components/notify-button/notify-button.js +114 -0
- package/dist/components/notify-button/notify-button.js.map +1 -0
- package/dist/components/now-playing/index.d.ts +2 -0
- package/dist/components/now-playing/index.js +2 -0
- package/dist/components/now-playing/meta.js +17 -0
- package/dist/components/now-playing/meta.js.map +1 -0
- package/dist/components/now-playing/now-playing.d.ts +39 -0
- package/dist/components/now-playing/now-playing.d.ts.map +1 -0
- package/dist/components/now-playing/now-playing.js +354 -0
- package/dist/components/now-playing/now-playing.js.map +1 -0
- package/dist/components/number-flow/index.d.ts +2 -0
- package/dist/components/number-flow/index.js +2 -0
- package/dist/components/number-flow/meta.js +17 -0
- package/dist/components/number-flow/meta.js.map +1 -0
- package/dist/components/number-flow/number-flow.d.ts +45 -0
- package/dist/components/number-flow/number-flow.d.ts.map +1 -0
- package/dist/components/number-flow/number-flow.js +226 -0
- package/dist/components/number-flow/number-flow.js.map +1 -0
- package/dist/components/orb-face/index.d.ts +2 -0
- package/dist/components/orb-face/index.js +2 -0
- package/dist/components/orb-face/meta.js +17 -0
- package/dist/components/orb-face/meta.js.map +1 -0
- package/dist/components/orb-face/orb-face.d.ts +29 -0
- package/dist/components/orb-face/orb-face.d.ts.map +1 -0
- package/dist/components/orb-face/orb-face.js +353 -0
- package/dist/components/orb-face/orb-face.js.map +1 -0
- package/dist/components/otp-input/index.d.ts +2 -0
- package/dist/components/otp-input/index.js +2 -0
- package/dist/components/otp-input/meta.js +17 -0
- package/dist/components/otp-input/meta.js.map +1 -0
- package/dist/components/otp-input/otp-input.d.ts +36 -0
- package/dist/components/otp-input/otp-input.d.ts.map +1 -0
- package/dist/components/otp-input/otp-input.js +249 -0
- package/dist/components/otp-input/otp-input.js.map +1 -0
- package/dist/components/pagination/index.d.ts +2 -2
- package/dist/components/pagination/meta.js +2 -2
- package/dist/components/pagination/meta.js.map +1 -1
- package/dist/components/pagination/pagination-indicator.js +76 -0
- package/dist/components/pagination/pagination-indicator.js.map +1 -0
- package/dist/components/pagination/pagination.d.ts +10 -2
- package/dist/components/pagination/pagination.d.ts.map +1 -1
- package/dist/components/pagination/pagination.js +16 -6
- package/dist/components/pagination/pagination.js.map +1 -1
- package/dist/components/palette-generator/index.d.ts +2 -0
- package/dist/components/palette-generator/index.js +2 -0
- package/dist/components/palette-generator/meta.js +17 -0
- package/dist/components/palette-generator/meta.js.map +1 -0
- package/dist/components/palette-generator/palette-generator.d.ts +43 -0
- package/dist/components/palette-generator/palette-generator.d.ts.map +1 -0
- package/dist/components/palette-generator/palette-generator.js +199 -0
- package/dist/components/palette-generator/palette-generator.js.map +1 -0
- package/dist/components/permission-matrix/permission-matrix.js +3 -3
- package/dist/components/permission-matrix/permission-matrix.js.map +1 -1
- package/dist/components/photo-stack/index.d.ts +2 -0
- package/dist/components/photo-stack/index.js +2 -0
- package/dist/components/photo-stack/meta.js +17 -0
- package/dist/components/photo-stack/meta.js.map +1 -0
- package/dist/components/photo-stack/photo-stack.d.ts +30 -0
- package/dist/components/photo-stack/photo-stack.d.ts.map +1 -0
- package/dist/components/photo-stack/photo-stack.js +236 -0
- package/dist/components/photo-stack/photo-stack.js.map +1 -0
- package/dist/components/photo-tabs/index.d.ts +2 -0
- package/dist/components/photo-tabs/index.js +2 -0
- package/dist/components/photo-tabs/meta.js +17 -0
- package/dist/components/photo-tabs/meta.js.map +1 -0
- package/dist/components/photo-tabs/photo-tabs.d.ts +35 -0
- package/dist/components/photo-tabs/photo-tabs.d.ts.map +1 -0
- package/dist/components/photo-tabs/photo-tabs.js +82 -0
- package/dist/components/photo-tabs/photo-tabs.js.map +1 -0
- package/dist/components/pixel-avatar/index.d.ts +2 -0
- package/dist/components/pixel-avatar/index.js +2 -0
- package/dist/components/pixel-avatar/meta.js +17 -0
- package/dist/components/pixel-avatar/meta.js.map +1 -0
- package/dist/components/pixel-avatar/pixel-avatar.d.ts +23 -0
- package/dist/components/pixel-avatar/pixel-avatar.d.ts.map +1 -0
- package/dist/components/pixel-avatar/pixel-avatar.js +181 -0
- package/dist/components/pixel-avatar/pixel-avatar.js.map +1 -0
- package/dist/components/product-card/index.d.ts +2 -0
- package/dist/components/product-card/index.js +2 -0
- package/dist/components/product-card/meta.js +17 -0
- package/dist/components/product-card/meta.js.map +1 -0
- package/dist/components/product-card/product-card.d.ts +43 -0
- package/dist/components/product-card/product-card.d.ts.map +1 -0
- package/dist/components/product-card/product-card.js +249 -0
- package/dist/components/product-card/product-card.js.map +1 -0
- package/dist/components/progress/meta.js +1 -1
- package/dist/components/progress/meta.js.map +1 -1
- package/dist/components/progress/progress.d.ts +21 -2
- package/dist/components/progress/progress.d.ts.map +1 -1
- package/dist/components/progress/progress.js +56 -6
- package/dist/components/progress/progress.js.map +1 -1
- package/dist/components/pull-to-refresh/index.d.ts +2 -0
- package/dist/components/pull-to-refresh/index.js +2 -0
- package/dist/components/pull-to-refresh/meta.js +17 -0
- package/dist/components/pull-to-refresh/meta.js.map +1 -0
- package/dist/components/pull-to-refresh/pull-to-refresh.d.ts +47 -0
- package/dist/components/pull-to-refresh/pull-to-refresh.d.ts.map +1 -0
- package/dist/components/pull-to-refresh/pull-to-refresh.js +302 -0
- package/dist/components/pull-to-refresh/pull-to-refresh.js.map +1 -0
- package/dist/components/radial-menu/index.d.ts +2 -0
- package/dist/components/radial-menu/index.js +2 -0
- package/dist/components/radial-menu/meta.js +17 -0
- package/dist/components/radial-menu/meta.js.map +1 -0
- package/dist/components/radial-menu/radial-menu.d.ts +44 -0
- package/dist/components/radial-menu/radial-menu.d.ts.map +1 -0
- package/dist/components/radial-menu/radial-menu.js +313 -0
- package/dist/components/radial-menu/radial-menu.js.map +1 -0
- package/dist/components/radio-group/radio-group.d.ts.map +1 -1
- package/dist/components/radio-group/radio-group.js +4 -1
- package/dist/components/radio-group/radio-group.js.map +1 -1
- package/dist/components/range-dial/index.d.ts +2 -0
- package/dist/components/range-dial/index.js +2 -0
- package/dist/components/range-dial/meta.js +17 -0
- package/dist/components/range-dial/meta.js.map +1 -0
- package/dist/components/range-dial/range-dial.d.ts +33 -0
- package/dist/components/range-dial/range-dial.d.ts.map +1 -0
- package/dist/components/range-dial/range-dial.js +308 -0
- package/dist/components/range-dial/range-dial.js.map +1 -0
- package/dist/components/record-diff/record-diff.js +4 -4
- package/dist/components/record-diff/record-diff.js.map +1 -1
- package/dist/components/reorder-list/index.d.ts +2 -0
- package/dist/components/reorder-list/index.js +2 -0
- package/dist/components/reorder-list/meta.js +17 -0
- package/dist/components/reorder-list/meta.js.map +1 -0
- package/dist/components/reorder-list/reorder-list.d.ts +79 -0
- package/dist/components/reorder-list/reorder-list.d.ts.map +1 -0
- package/dist/components/reorder-list/reorder-list.js +471 -0
- package/dist/components/reorder-list/reorder-list.js.map +1 -0
- package/dist/components/reviews-carousel/carousel-controls.js +189 -0
- package/dist/components/reviews-carousel/carousel-controls.js.map +1 -0
- package/dist/components/reviews-carousel/index.d.ts +2 -0
- package/dist/components/reviews-carousel/index.js +2 -0
- package/dist/components/reviews-carousel/meta.js +17 -0
- package/dist/components/reviews-carousel/meta.js.map +1 -0
- package/dist/components/reviews-carousel/reviews-carousel.d.ts +46 -0
- package/dist/components/reviews-carousel/reviews-carousel.d.ts.map +1 -0
- package/dist/components/reviews-carousel/reviews-carousel.js +177 -0
- package/dist/components/reviews-carousel/reviews-carousel.js.map +1 -0
- package/dist/components/rich-popover/index.d.ts +2 -0
- package/dist/components/rich-popover/index.js +2 -0
- package/dist/components/rich-popover/meta.js +17 -0
- package/dist/components/rich-popover/meta.js.map +1 -0
- package/dist/components/rich-popover/rich-popover.d.ts +36 -0
- package/dist/components/rich-popover/rich-popover.d.ts.map +1 -0
- package/dist/components/rich-popover/rich-popover.js +157 -0
- package/dist/components/rich-popover/rich-popover.js.map +1 -0
- package/dist/components/ring-loader/index.d.ts +2 -0
- package/dist/components/ring-loader/index.js +2 -0
- package/dist/components/ring-loader/meta.js +17 -0
- package/dist/components/ring-loader/meta.js.map +1 -0
- package/dist/components/ring-loader/ring-loader.d.ts +31 -0
- package/dist/components/ring-loader/ring-loader.d.ts.map +1 -0
- package/dist/components/ring-loader/ring-loader.js +597 -0
- package/dist/components/ring-loader/ring-loader.js.map +1 -0
- package/dist/components/scramble-text/index.d.ts +2 -0
- package/dist/components/scramble-text/index.js +2 -0
- package/dist/components/scramble-text/meta.js +17 -0
- package/dist/components/scramble-text/meta.js.map +1 -0
- package/dist/components/scramble-text/scramble-text.d.ts +35 -0
- package/dist/components/scramble-text/scramble-text.d.ts.map +1 -0
- package/dist/components/scramble-text/scramble-text.js +151 -0
- package/dist/components/scramble-text/scramble-text.js.map +1 -0
- package/dist/components/scroll-reveal-text/index.d.ts +2 -0
- package/dist/components/scroll-reveal-text/index.js +2 -0
- package/dist/components/scroll-reveal-text/meta.js +17 -0
- package/dist/components/scroll-reveal-text/meta.js.map +1 -0
- package/dist/components/scroll-reveal-text/scroll-reveal-text.d.ts +22 -0
- package/dist/components/scroll-reveal-text/scroll-reveal-text.d.ts.map +1 -0
- package/dist/components/scroll-reveal-text/scroll-reveal-text.js +113 -0
- package/dist/components/scroll-reveal-text/scroll-reveal-text.js.map +1 -0
- package/dist/components/scrubber/index.d.ts +2 -0
- package/dist/components/scrubber/index.js +2 -0
- package/dist/components/scrubber/meta.js +17 -0
- package/dist/components/scrubber/meta.js.map +1 -0
- package/dist/components/scrubber/scrubber.d.ts +37 -0
- package/dist/components/scrubber/scrubber.d.ts.map +1 -0
- package/dist/components/scrubber/scrubber.js +217 -0
- package/dist/components/scrubber/scrubber.js.map +1 -0
- package/dist/components/select/meta.js +1 -1
- package/dist/components/select/meta.js.map +1 -1
- package/dist/components/select/select.d.ts +5 -0
- package/dist/components/select/select.d.ts.map +1 -1
- package/dist/components/select/select.js +29 -7
- package/dist/components/select/select.js.map +1 -1
- package/dist/components/selection-list/index.d.ts +2 -0
- package/dist/components/selection-list/index.js +2 -0
- package/dist/components/selection-list/meta.js +17 -0
- package/dist/components/selection-list/meta.js.map +1 -0
- package/dist/components/selection-list/selection-list-spring.js +21 -0
- package/dist/components/selection-list/selection-list-spring.js.map +1 -0
- package/dist/components/selection-list/selection-list.d.ts +42 -0
- package/dist/components/selection-list/selection-list.d.ts.map +1 -0
- package/dist/components/selection-list/selection-list.js +355 -0
- package/dist/components/selection-list/selection-list.js.map +1 -0
- package/dist/components/shader-transition/index.d.ts +4 -0
- package/dist/components/shader-transition/index.js +4 -0
- package/dist/components/shader-transition/meta.js +21 -0
- package/dist/components/shader-transition/meta.js.map +1 -0
- package/dist/components/shader-transition/shader-transition-engine.d.ts +39 -0
- package/dist/components/shader-transition/shader-transition-engine.d.ts.map +1 -0
- package/dist/components/shader-transition/shader-transition-engine.js +294 -0
- package/dist/components/shader-transition/shader-transition-engine.js.map +1 -0
- package/dist/components/shader-transition/shader-transition-presets.d.ts +222 -0
- package/dist/components/shader-transition/shader-transition-presets.d.ts.map +1 -0
- package/dist/components/shader-transition/shader-transition-presets.js +346 -0
- package/dist/components/shader-transition/shader-transition-presets.js.map +1 -0
- package/dist/components/shader-transition/shader-transition.d.ts +35 -0
- package/dist/components/shader-transition/shader-transition.d.ts.map +1 -0
- package/dist/components/shader-transition/shader-transition.js +314 -0
- package/dist/components/shader-transition/shader-transition.js.map +1 -0
- package/dist/components/shape-loader/index.d.ts +2 -0
- package/dist/components/shape-loader/index.js +2 -0
- package/dist/components/shape-loader/meta.js +17 -0
- package/dist/components/shape-loader/meta.js.map +1 -0
- package/dist/components/shape-loader/shape-loader-variants.d.ts +8 -0
- package/dist/components/shape-loader/shape-loader-variants.d.ts.map +1 -0
- package/dist/components/shape-loader/shape-loader-variants.js +635 -0
- package/dist/components/shape-loader/shape-loader-variants.js.map +1 -0
- package/dist/components/shape-loader/shape-loader.d.ts +26 -0
- package/dist/components/shape-loader/shape-loader.d.ts.map +1 -0
- package/dist/components/shape-loader/shape-loader.js +99 -0
- package/dist/components/shape-loader/shape-loader.js.map +1 -0
- package/dist/components/sheet/meta.js +1 -1
- package/dist/components/sheet/meta.js.map +1 -1
- package/dist/components/sheet/sheet.d.ts +10 -2
- package/dist/components/sheet/sheet.d.ts.map +1 -1
- package/dist/components/sheet/sheet.js +25 -6
- package/dist/components/sheet/sheet.js.map +1 -1
- package/dist/components/shimmer-text/index.d.ts +2 -0
- package/dist/components/shimmer-text/index.js +2 -0
- package/dist/components/shimmer-text/meta.js +17 -0
- package/dist/components/shimmer-text/meta.js.map +1 -0
- package/dist/components/shimmer-text/shimmer-text.d.ts +33 -0
- package/dist/components/shimmer-text/shimmer-text.d.ts.map +1 -0
- package/dist/components/shimmer-text/shimmer-text.js +120 -0
- package/dist/components/shimmer-text/shimmer-text.js.map +1 -0
- package/dist/components/sidebar/index.d.ts +2 -0
- package/dist/components/sidebar/index.js +2 -0
- package/dist/components/sidebar/meta.js +17 -0
- package/dist/components/sidebar/meta.js.map +1 -0
- package/dist/components/sidebar/sidebar.d.ts +69 -0
- package/dist/components/sidebar/sidebar.d.ts.map +1 -0
- package/dist/components/sidebar/sidebar.js +256 -0
- package/dist/components/sidebar/sidebar.js.map +1 -0
- package/dist/components/skeleton/index.d.ts +2 -2
- package/dist/components/skeleton/meta.js +1 -1
- package/dist/components/skeleton/meta.js.map +1 -1
- package/dist/components/skeleton/skeleton.d.ts +14 -2
- package/dist/components/skeleton/skeleton.d.ts.map +1 -1
- package/dist/components/skeleton/skeleton.js +24 -5
- package/dist/components/skeleton/skeleton.js.map +1 -1
- package/dist/components/slide-to-confirm/index.d.ts +2 -0
- package/dist/components/slide-to-confirm/index.js +2 -0
- package/dist/components/slide-to-confirm/meta.js +21 -0
- package/dist/components/slide-to-confirm/meta.js.map +1 -0
- package/dist/components/slide-to-confirm/slide-to-confirm.d.ts +38 -0
- package/dist/components/slide-to-confirm/slide-to-confirm.d.ts.map +1 -0
- package/dist/components/slide-to-confirm/slide-to-confirm.js +389 -0
- package/dist/components/slide-to-confirm/slide-to-confirm.js.map +1 -0
- package/dist/components/slosh-slider/index.d.ts +2 -0
- package/dist/components/slosh-slider/index.js +2 -0
- package/dist/components/slosh-slider/meta.js +21 -0
- package/dist/components/slosh-slider/meta.js.map +1 -0
- package/dist/components/slosh-slider/slosh-slider.d.ts +43 -0
- package/dist/components/slosh-slider/slosh-slider.d.ts.map +1 -0
- package/dist/components/slosh-slider/slosh-slider.js +140 -0
- package/dist/components/slosh-slider/slosh-slider.js.map +1 -0
- package/dist/components/social-selector/index.d.ts +2 -0
- package/dist/components/social-selector/index.js +2 -0
- package/dist/components/social-selector/meta.js +17 -0
- package/dist/components/social-selector/meta.js.map +1 -0
- package/dist/components/social-selector/social-selector.d.ts +45 -0
- package/dist/components/social-selector/social-selector.d.ts.map +1 -0
- package/dist/components/social-selector/social-selector.js +128 -0
- package/dist/components/social-selector/social-selector.js.map +1 -0
- package/dist/components/spinner/spinner.d.ts +1 -1
- package/dist/components/star-count/index.d.ts +2 -0
- package/dist/components/star-count/index.js +2 -0
- package/dist/components/star-count/meta.js +17 -0
- package/dist/components/star-count/meta.js.map +1 -0
- package/dist/components/star-count/star-count.d.ts +35 -0
- package/dist/components/star-count/star-count.d.ts.map +1 -0
- package/dist/components/star-count/star-count.js +94 -0
- package/dist/components/star-count/star-count.js.map +1 -0
- package/dist/components/stepper/index.d.ts +2 -0
- package/dist/components/stepper/index.js +2 -0
- package/dist/components/stepper/meta.js +17 -0
- package/dist/components/stepper/meta.js.map +1 -0
- package/dist/components/stepper/stepper.d.ts +45 -0
- package/dist/components/stepper/stepper.d.ts.map +1 -0
- package/dist/components/stepper/stepper.js +207 -0
- package/dist/components/stepper/stepper.js.map +1 -0
- package/dist/components/swipe-carousel/carousel-controls.js +98 -0
- package/dist/components/swipe-carousel/carousel-controls.js.map +1 -0
- package/dist/components/swipe-carousel/index.d.ts +2 -0
- package/dist/components/swipe-carousel/index.js +2 -0
- package/dist/components/swipe-carousel/meta.js +17 -0
- package/dist/components/swipe-carousel/meta.js.map +1 -0
- package/dist/components/swipe-carousel/swipe-carousel.d.ts +27 -0
- package/dist/components/swipe-carousel/swipe-carousel.d.ts.map +1 -0
- package/dist/components/swipe-carousel/swipe-carousel.js +288 -0
- package/dist/components/swipe-carousel/swipe-carousel.js.map +1 -0
- package/dist/components/switch/meta.js +1 -1
- package/dist/components/switch/meta.js.map +1 -1
- package/dist/components/switch/switch.d.ts +25 -3
- package/dist/components/switch/switch.d.ts.map +1 -1
- package/dist/components/switch/switch.js +20 -4
- package/dist/components/switch/switch.js.map +1 -1
- package/dist/components/switchboard-card/index.d.ts +2 -0
- package/dist/components/switchboard-card/index.js +2 -0
- package/dist/components/switchboard-card/meta.js +17 -0
- package/dist/components/switchboard-card/meta.js.map +1 -0
- package/dist/components/switchboard-card/switchboard-card.d.ts +44 -0
- package/dist/components/switchboard-card/switchboard-card.d.ts.map +1 -0
- package/dist/components/switchboard-card/switchboard-card.js +169 -0
- package/dist/components/switchboard-card/switchboard-card.js.map +1 -0
- package/dist/components/table/table.js +2 -2
- package/dist/components/table/table.js.map +1 -1
- package/dist/components/tabs/index.d.ts +2 -2
- package/dist/components/tabs/index.js +2 -2
- package/dist/components/tabs/meta.js +1 -1
- package/dist/components/tabs/meta.js.map +1 -1
- package/dist/components/tabs/tabs.d.ts +6 -2
- package/dist/components/tabs/tabs.d.ts.map +1 -1
- package/dist/components/tabs/tabs.js +112 -10
- package/dist/components/tabs/tabs.js.map +1 -1
- package/dist/components/tags-input/meta.js +1 -1
- package/dist/components/tags-input/meta.js.map +1 -1
- package/dist/components/tags-input/tags-input.d.ts +7 -1
- package/dist/components/tags-input/tags-input.d.ts.map +1 -1
- package/dist/components/tags-input/tags-input.js +82 -6
- package/dist/components/tags-input/tags-input.js.map +1 -1
- package/dist/components/text-effect/index.d.ts +3 -0
- package/dist/components/text-effect/index.js +3 -0
- package/dist/components/text-effect/meta.js +17 -0
- package/dist/components/text-effect/meta.js.map +1 -0
- package/dist/components/text-effect/text-effect-presets.d.ts +256 -0
- package/dist/components/text-effect/text-effect-presets.d.ts.map +1 -0
- package/dist/components/text-effect/text-effect-presets.js +292 -0
- package/dist/components/text-effect/text-effect-presets.js.map +1 -0
- package/dist/components/text-effect/text-effect.d.ts +58 -0
- package/dist/components/text-effect/text-effect.d.ts.map +1 -0
- package/dist/components/text-effect/text-effect.js +243 -0
- package/dist/components/text-effect/text-effect.js.map +1 -0
- package/dist/components/text-loader/index.d.ts +2 -0
- package/dist/components/text-loader/index.js +2 -0
- package/dist/components/text-loader/meta.js +17 -0
- package/dist/components/text-loader/meta.js.map +1 -0
- package/dist/components/text-loader/text-loader.d.ts +30 -0
- package/dist/components/text-loader/text-loader.d.ts.map +1 -0
- package/dist/components/text-loader/text-loader.js +514 -0
- package/dist/components/text-loader/text-loader.js.map +1 -0
- package/dist/components/text-swap/index.d.ts +3 -0
- package/dist/components/text-swap/index.js +3 -0
- package/dist/components/text-swap/meta.js +17 -0
- package/dist/components/text-swap/meta.js.map +1 -0
- package/dist/components/text-swap/text-rotate.d.ts +17 -0
- package/dist/components/text-swap/text-rotate.d.ts.map +1 -0
- package/dist/components/text-swap/text-rotate.js +51 -0
- package/dist/components/text-swap/text-rotate.js.map +1 -0
- package/dist/components/text-swap/text-swap.d.ts +41 -0
- package/dist/components/text-swap/text-swap.d.ts.map +1 -0
- package/dist/components/text-swap/text-swap.js +303 -0
- package/dist/components/text-swap/text-swap.js.map +1 -0
- package/dist/components/textarea/index.d.ts +2 -0
- package/dist/components/textarea/index.js +2 -0
- package/dist/components/textarea/meta.js +17 -0
- package/dist/components/textarea/meta.js.map +1 -0
- package/dist/components/textarea/textarea.d.ts +43 -0
- package/dist/components/textarea/textarea.d.ts.map +1 -0
- package/dist/components/textarea/textarea.js +119 -0
- package/dist/components/textarea/textarea.js.map +1 -0
- package/dist/components/tick-progress/index.d.ts +2 -0
- package/dist/components/tick-progress/index.js +2 -0
- package/dist/components/tick-progress/meta.js +17 -0
- package/dist/components/tick-progress/meta.js.map +1 -0
- package/dist/components/tick-progress/tick-progress.d.ts +28 -0
- package/dist/components/tick-progress/tick-progress.d.ts.map +1 -0
- package/dist/components/tick-progress/tick-progress.js +151 -0
- package/dist/components/tick-progress/tick-progress.js.map +1 -0
- package/dist/components/tilt-card/index.d.ts +2 -0
- package/dist/components/tilt-card/index.js +2 -0
- package/dist/components/tilt-card/meta.js +17 -0
- package/dist/components/tilt-card/meta.js.map +1 -0
- package/dist/components/tilt-card/tilt-card.d.ts +36 -0
- package/dist/components/tilt-card/tilt-card.d.ts.map +1 -0
- package/dist/components/tilt-card/tilt-card.js +135 -0
- package/dist/components/tilt-card/tilt-card.js.map +1 -0
- package/dist/components/time-range-picker/time-range-picker.js +3 -3
- package/dist/components/time-range-picker/time-range-picker.js.map +1 -1
- package/dist/components/time-stack/index.d.ts +2 -0
- package/dist/components/time-stack/index.js +2 -0
- package/dist/components/time-stack/meta.js +17 -0
- package/dist/components/time-stack/meta.js.map +1 -0
- package/dist/components/time-stack/time-stack.d.ts +37 -0
- package/dist/components/time-stack/time-stack.d.ts.map +1 -0
- package/dist/components/time-stack/time-stack.js +253 -0
- package/dist/components/time-stack/time-stack.js.map +1 -0
- package/dist/components/toast/meta.js +1 -1
- package/dist/components/toast/meta.js.map +1 -1
- package/dist/components/toast/toast.d.ts +13 -4
- package/dist/components/toast/toast.d.ts.map +1 -1
- package/dist/components/toast/toast.js +34 -11
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/todo-tower/index.d.ts +2 -0
- package/dist/components/todo-tower/index.js +2 -0
- package/dist/components/todo-tower/meta.js +17 -0
- package/dist/components/todo-tower/meta.js.map +1 -0
- package/dist/components/todo-tower/todo-tower.d.ts +38 -0
- package/dist/components/todo-tower/todo-tower.d.ts.map +1 -0
- package/dist/components/todo-tower/todo-tower.js +284 -0
- package/dist/components/todo-tower/todo-tower.js.map +1 -0
- package/dist/components/tooltip/meta.js +1 -1
- package/dist/components/tooltip/meta.js.map +1 -1
- package/dist/components/tooltip/tooltip.d.ts +4 -0
- package/dist/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/components/tooltip/tooltip.js +20 -4
- package/dist/components/tooltip/tooltip.js.map +1 -1
- package/dist/components/tweet-card/index.d.ts +2 -0
- package/dist/components/tweet-card/index.js +2 -0
- package/dist/components/tweet-card/meta.js +17 -0
- package/dist/components/tweet-card/meta.js.map +1 -0
- package/dist/components/tweet-card/tweet-card.d.ts +57 -0
- package/dist/components/tweet-card/tweet-card.d.ts.map +1 -0
- package/dist/components/tweet-card/tweet-card.js +243 -0
- package/dist/components/tweet-card/tweet-card.js.map +1 -0
- package/dist/components/typewriter-text/index.d.ts +2 -0
- package/dist/components/typewriter-text/index.js +2 -0
- package/dist/components/typewriter-text/meta.js +17 -0
- package/dist/components/typewriter-text/meta.js.map +1 -0
- package/dist/components/typewriter-text/typewriter-text.d.ts +33 -0
- package/dist/components/typewriter-text/typewriter-text.d.ts.map +1 -0
- package/dist/components/typewriter-text/typewriter-text.js +135 -0
- package/dist/components/typewriter-text/typewriter-text.js.map +1 -0
- package/dist/components/uptime-matrix/index.d.ts +2 -0
- package/dist/components/uptime-matrix/index.js +2 -0
- package/dist/components/uptime-matrix/meta.js +17 -0
- package/dist/components/uptime-matrix/meta.js.map +1 -0
- package/dist/components/uptime-matrix/uptime-matrix.d.ts +60 -0
- package/dist/components/uptime-matrix/uptime-matrix.d.ts.map +1 -0
- package/dist/components/uptime-matrix/uptime-matrix.js +303 -0
- package/dist/components/uptime-matrix/uptime-matrix.js.map +1 -0
- package/dist/index.d.ts +256 -18
- package/dist/index.js +134 -10
- package/dist/lib/styles.d.ts +16 -1
- package/dist/lib/styles.d.ts.map +1 -1
- package/dist/lib/styles.js +16 -1
- package/dist/lib/styles.js.map +1 -1
- package/dist/registry/blocks.d.ts.map +1 -1
- package/dist/registry/blocks.js +95 -9
- package/dist/registry/blocks.js.map +1 -1
- package/dist/registry/components.d.ts.map +1 -1
- package/dist/registry/components.js +278 -50
- package/dist/registry/components.js.map +1 -1
- package/dist/registry/schema.d.ts +9 -1
- package/dist/registry/schema.d.ts.map +1 -1
- package/dist/registry/schema.js +2 -1
- package/dist/registry/schema.js.map +1 -1
- package/package.json +6 -4
- package/src/components/accordion/accordion.tsx +1 -1
- package/src/components/account-menu/account-menu.tsx +338 -0
- package/src/components/account-menu/index.ts +12 -0
- package/src/components/account-menu/meta.ts +19 -0
- package/src/components/action-node/action-node-spring.ts +34 -0
- package/src/components/action-node/action-node.tsx +516 -0
- package/src/components/action-node/index.ts +8 -0
- package/src/components/action-node/meta.ts +21 -0
- package/src/components/activity-feed/activity-feed.tsx +1 -1
- package/src/components/ai-agent-plan/ai-agent-plan.tsx +0 -0
- package/src/components/ai-agent-plan/index.ts +1 -0
- package/src/components/ai-agent-plan/meta.ts +3 -1
- package/src/components/ai-approval-request/ai-approval-request.tsx +103 -4
- package/src/components/ai-approval-request/meta.ts +4 -1
- package/src/components/ai-artifact/ai-artifact.tsx +203 -0
- package/src/components/ai-artifact/index.ts +1 -0
- package/src/components/ai-artifact/meta.ts +18 -0
- package/src/components/ai-branch/ai-branch.tsx +222 -0
- package/src/components/ai-branch/index.ts +11 -0
- package/src/components/ai-branch/meta.ts +18 -0
- package/src/components/ai-conversation/ai-conversation.tsx +142 -31
- package/src/components/ai-conversation/index.ts +1 -0
- package/src/components/ai-extraction-review/ai-extraction-review.tsx +1 -1
- package/src/components/ai-loader/ai-loader.tsx +112 -0
- package/src/components/ai-loader/index.ts +6 -0
- package/src/components/ai-loader/meta.ts +18 -0
- package/src/components/ai-message/ai-message.tsx +54 -9
- package/src/components/ai-message/index.ts +2 -0
- package/src/components/ai-message/meta.ts +2 -1
- package/src/components/ai-prompt-input/ai-prompt-input.tsx +57 -19
- package/src/components/ai-reasoning/ai-reasoning.tsx +192 -13
- package/src/components/ai-reasoning/index.ts +1 -0
- package/src/components/ai-reasoning/meta.ts +4 -2
- package/src/components/ai-response/ai-response.tsx +12 -3
- package/src/components/ai-response/index.ts +1 -0
- package/src/components/ai-response/meta.ts +6 -3
- package/src/components/ai-response/response-text.tsx +119 -0
- package/src/components/ai-sources/ai-sources.tsx +191 -8
- package/src/components/ai-sources/index.ts +1 -0
- package/src/components/ai-sources/meta.ts +4 -2
- package/src/components/ai-suggestions/ai-suggestions.tsx +130 -0
- package/src/components/ai-suggestions/index.ts +6 -0
- package/src/components/ai-suggestions/meta.ts +17 -0
- package/src/components/ai-token-usage/ai-token-usage.tsx +288 -14
- package/src/components/ai-token-usage/index.ts +5 -0
- package/src/components/ai-token-usage/meta.ts +6 -2
- package/src/components/ai-tool/ai-tool.tsx +125 -4
- package/src/components/ai-tool/meta.ts +3 -1
- package/src/components/animated-checklist/animated-checklist.tsx +324 -0
- package/src/components/animated-checklist/index.ts +6 -0
- package/src/components/animated-checklist/meta.ts +18 -0
- package/src/components/app-stack/app-stack.tsx +414 -0
- package/src/components/app-stack/index.ts +7 -0
- package/src/components/app-stack/meta.ts +20 -0
- package/src/components/aspect-morph/aspect-morph.tsx +272 -0
- package/src/components/aspect-morph/index.ts +8 -0
- package/src/components/aspect-morph/meta.ts +19 -0
- package/src/components/assignee-picker/assignee-picker-spring.ts +33 -0
- package/src/components/assignee-picker/assignee-picker.tsx +535 -0
- package/src/components/assignee-picker/index.ts +6 -0
- package/src/components/assignee-picker/meta.ts +21 -0
- package/src/components/avatar-group/avatar-group.tsx +176 -0
- package/src/components/avatar-group/index.ts +6 -0
- package/src/components/avatar-group/meta.ts +18 -0
- package/src/components/bar-loader/bar-loader.tsx +549 -0
- package/src/components/bar-loader/index.ts +7 -0
- package/src/components/bar-loader/meta.ts +18 -0
- package/src/components/book/book.tsx +300 -0
- package/src/components/book/index.ts +1 -0
- package/src/components/book/meta.ts +18 -0
- package/src/components/breadcrumb/breadcrumb.tsx +198 -0
- package/src/components/breadcrumb/index.ts +11 -0
- package/src/components/breadcrumb/meta.ts +20 -0
- package/src/components/browser-tabs/browser-tabs-spring.ts +34 -0
- package/src/components/browser-tabs/browser-tabs.tsx +608 -0
- package/src/components/browser-tabs/index.ts +7 -0
- package/src/components/browser-tabs/meta.ts +22 -0
- package/src/components/button/button.tsx +57 -2
- package/src/components/calendar/calendar.tsx +2 -2
- package/src/components/canvas-toolbar/canvas-toolbar.tsx +457 -0
- package/src/components/canvas-toolbar/index.ts +9 -0
- package/src/components/canvas-toolbar/meta.ts +22 -0
- package/src/components/card-spread/card-spread-layouts.ts +251 -0
- package/src/components/card-spread/card-spread.tsx +415 -0
- package/src/components/card-spread/index.ts +19 -0
- package/src/components/card-spread/meta.ts +21 -0
- package/src/components/card-stack/card-stack-layout.ts +100 -0
- package/src/components/card-stack/card-stack.tsx +359 -0
- package/src/components/card-stack/index.ts +1 -0
- package/src/components/card-stack/meta.ts +20 -0
- package/src/components/carousel-3d/carousel-3d.tsx +501 -0
- package/src/components/carousel-3d/index.ts +7 -0
- package/src/components/carousel-3d/meta.ts +20 -0
- package/src/components/checkbox/checkbox.tsx +29 -1
- package/src/components/code-block/code-block.tsx +11 -110
- package/src/components/code-block/index.ts +4 -1
- package/src/components/code-block/meta.ts +1 -1
- package/src/components/collapsible/collapsible.tsx +63 -0
- package/src/components/collapsible/index.ts +6 -0
- package/src/components/collapsible/meta.ts +16 -0
- package/src/components/combobox/combobox.tsx +167 -14
- package/src/components/combobox/index.ts +1 -0
- package/src/components/combobox/meta.ts +2 -1
- package/src/components/command/command.tsx +1 -1
- package/src/components/command-bar/command-bar.tsx +177 -0
- package/src/components/command-bar/index.ts +1 -0
- package/src/components/command-bar/meta.ts +17 -0
- package/src/components/comment-bubble/comment-bubble.tsx +269 -0
- package/src/components/comment-bubble/index.ts +6 -0
- package/src/components/comment-bubble/meta.ts +18 -0
- package/src/components/context-menu/context-menu.tsx +280 -0
- package/src/components/context-menu/index.ts +21 -0
- package/src/components/context-menu/meta.ts +19 -0
- package/src/components/contribution-graph/contribution-graph.tsx +372 -0
- package/src/components/contribution-graph/index.ts +6 -0
- package/src/components/contribution-graph/meta.ts +19 -0
- package/src/components/copy-button/copy-button.tsx +278 -0
- package/src/components/copy-button/index.ts +6 -0
- package/src/components/copy-button/meta.ts +19 -0
- package/src/components/create-menu/create-menu.tsx +319 -0
- package/src/components/create-menu/index.ts +7 -0
- package/src/components/create-menu/meta.ts +21 -0
- package/src/components/cursor-follow/cursor-follow.tsx +186 -0
- package/src/components/cursor-follow/index.ts +1 -0
- package/src/components/cursor-follow/meta.ts +19 -0
- package/src/components/data-table/data-table.tsx +14 -3
- package/src/components/dial/dial.tsx +308 -0
- package/src/components/dial/index.ts +1 -0
- package/src/components/dial/meta.ts +19 -0
- package/src/components/dialog/dialog.tsx +80 -37
- package/src/components/dialog/meta.ts +2 -1
- package/src/components/diff-viewer/diff-viewer.tsx +160 -21
- package/src/components/diff-viewer/meta.ts +4 -1
- package/src/components/direction/direction.tsx +38 -0
- package/src/components/direction/index.ts +1 -0
- package/src/components/direction/meta.ts +19 -0
- package/src/components/dither-area/dither-area.tsx +280 -0
- package/src/components/dither-area/index.ts +9 -0
- package/src/components/dither-area/meta.ts +18 -0
- package/src/components/dither-bar/dither-bar.tsx +389 -0
- package/src/components/dither-bar/index.ts +8 -0
- package/src/components/dither-bar/meta.ts +19 -0
- package/src/components/dither-canvas/canvas-mock.ts +143 -0
- package/src/components/dither-canvas/dither-canvas.tsx +382 -0
- package/src/components/dither-canvas/dither-engine.ts +354 -0
- package/src/components/dither-canvas/dither-geometry.ts +295 -0
- package/src/components/dither-canvas/dither-scrubber.tsx +244 -0
- package/src/components/dither-canvas/index.ts +68 -0
- package/src/components/dither-canvas/meta.ts +19 -0
- package/src/components/dither-donut/dither-donut.tsx +377 -0
- package/src/components/dither-donut/index.ts +7 -0
- package/src/components/dither-donut/meta.ts +19 -0
- package/src/components/dither-funnel/dither-funnel.tsx +273 -0
- package/src/components/dither-funnel/index.ts +9 -0
- package/src/components/dither-funnel/meta.ts +19 -0
- package/src/components/dither-gauge/dither-gauge.tsx +279 -0
- package/src/components/dither-gauge/index.ts +8 -0
- package/src/components/dither-gauge/meta.ts +19 -0
- package/src/components/dither-heatmap/dither-heatmap.tsx +453 -0
- package/src/components/dither-heatmap/index.ts +10 -0
- package/src/components/dither-heatmap/meta.ts +19 -0
- package/src/components/dither-line/dither-line.tsx +244 -0
- package/src/components/dither-line/index.ts +8 -0
- package/src/components/dither-line/meta.ts +18 -0
- package/src/components/dither-meter/dither-meter.tsx +299 -0
- package/src/components/dither-meter/index.ts +8 -0
- package/src/components/dither-meter/meta.ts +19 -0
- package/src/components/dither-scatter/dither-scatter.tsx +317 -0
- package/src/components/dither-scatter/index.ts +8 -0
- package/src/components/dither-scatter/meta.ts +19 -0
- package/src/components/dot-morph-button/dot-morph-button.tsx +86 -0
- package/src/components/dot-morph-button/index.ts +5 -0
- package/src/components/dot-morph-button/meta.ts +17 -0
- package/src/components/dots-loader/dots-loader.tsx +451 -0
- package/src/components/dots-loader/index.ts +7 -0
- package/src/components/dots-loader/meta.ts +17 -0
- package/src/components/drag-stepper/drag-stepper.tsx +367 -0
- package/src/components/drag-stepper/index.ts +1 -0
- package/src/components/drag-stepper/meta.ts +23 -0
- package/src/components/drawer/drawer.tsx +78 -35
- package/src/components/drawer/meta.ts +1 -1
- package/src/components/dropdown-menu/dropdown-menu.tsx +61 -18
- package/src/components/dropdown-menu/meta.ts +2 -1
- package/src/components/effect-button/effect-button.tsx +310 -0
- package/src/components/effect-button/index.ts +8 -0
- package/src/components/effect-button/meta.ts +18 -0
- package/src/components/escape-button/escape-button.tsx +232 -0
- package/src/components/escape-button/index.ts +1 -0
- package/src/components/escape-button/meta.ts +18 -0
- package/src/components/expandable-cards/expandable-cards.tsx +435 -0
- package/src/components/expandable-cards/index.ts +6 -0
- package/src/components/expandable-cards/meta.ts +20 -0
- package/src/components/expandable-list/expandable-list.tsx +260 -0
- package/src/components/expandable-list/index.ts +6 -0
- package/src/components/expandable-list/meta.ts +19 -0
- package/src/components/expanding-search/expanding-search.tsx +244 -0
- package/src/components/expanding-search/index.ts +5 -0
- package/src/components/expanding-search/meta.ts +19 -0
- package/src/components/exposure-slider/exposure-slider.tsx +351 -0
- package/src/components/exposure-slider/index.ts +5 -0
- package/src/components/exposure-slider/meta.ts +20 -0
- package/src/components/file-upload/file-upload.tsx +134 -12
- package/src/components/file-upload/meta.ts +2 -1
- package/src/components/focus-blur-links/focus-blur-links.tsx +189 -0
- package/src/components/focus-blur-links/index.ts +7 -0
- package/src/components/focus-blur-links/meta.ts +18 -0
- package/src/components/folding-frame/folding-frame.tsx +435 -0
- package/src/components/folding-frame/index.ts +1 -0
- package/src/components/folding-frame/meta.ts +21 -0
- package/src/components/form/form.tsx +105 -13
- package/src/components/form/meta.ts +2 -1
- package/src/components/glass-bubble/glass-bubble.tsx +418 -0
- package/src/components/glass-bubble/index.ts +9 -0
- package/src/components/glass-bubble/meta.ts +20 -0
- package/src/components/glow-card/glow-card.tsx +195 -0
- package/src/components/glow-card/index.ts +7 -0
- package/src/components/glow-card/meta.ts +18 -0
- package/src/components/goo-ball/goo-ball.tsx +379 -0
- package/src/components/goo-ball/index.ts +7 -0
- package/src/components/goo-ball/meta.ts +19 -0
- package/src/components/goo-tabs/goo-tabs.tsx +389 -0
- package/src/components/goo-tabs/index.ts +11 -0
- package/src/components/goo-tabs/meta.ts +20 -0
- package/src/components/gooey-popover/gooey-popover.tsx +332 -0
- package/src/components/gooey-popover/index.ts +1 -0
- package/src/components/gooey-popover/meta.ts +20 -0
- package/src/components/gradient-orb/gradient-orb.tsx +230 -0
- package/src/components/gradient-orb/index.ts +6 -0
- package/src/components/gradient-orb/meta.ts +17 -0
- package/src/components/grid-loader/grid-loader.tsx +364 -0
- package/src/components/grid-loader/index.ts +10 -0
- package/src/components/grid-loader/meta.ts +17 -0
- package/src/components/image-accordion/image-accordion.tsx +230 -0
- package/src/components/image-accordion/index.ts +6 -0
- package/src/components/image-accordion/meta.ts +20 -0
- package/src/components/image-metadata/image-metadata.tsx +265 -0
- package/src/components/image-metadata/index.ts +6 -0
- package/src/components/image-metadata/meta.ts +19 -0
- package/src/components/image-selector/image-selector.tsx +338 -0
- package/src/components/image-selector/index.ts +6 -0
- package/src/components/image-selector/meta.ts +20 -0
- package/src/components/inline-confirm/index.ts +6 -0
- package/src/components/inline-confirm/inline-confirm.tsx +363 -0
- package/src/components/inline-confirm/meta.ts +18 -0
- package/src/components/input/floating-label-input.tsx +110 -0
- package/src/components/input/index.ts +5 -0
- package/src/components/input/input.tsx +1 -1
- package/src/components/input/meta.ts +3 -2
- package/src/components/invite-carousel/carousel-controls.tsx +291 -0
- package/src/components/invite-carousel/index.ts +8 -0
- package/src/components/invite-carousel/invite-carousel.tsx +359 -0
- package/src/components/invite-carousel/meta.ts +21 -0
- package/src/components/island/index.ts +7 -0
- package/src/components/island/island.tsx +162 -0
- package/src/components/island/meta.ts +18 -0
- package/src/components/liquid-toggle/index.ts +1 -0
- package/src/components/liquid-toggle/liquid-toggle.tsx +254 -0
- package/src/components/liquid-toggle/meta.ts +18 -0
- package/src/components/log-viewer/log-viewer.tsx +2 -2
- package/src/components/magnetic-button/index.ts +1 -0
- package/src/components/magnetic-button/magnetic-button.tsx +218 -0
- package/src/components/magnetic-button/meta.ts +18 -0
- package/src/components/magnetic-select/index.ts +6 -0
- package/src/components/magnetic-select/magnetic-select-spring.ts +33 -0
- package/src/components/magnetic-select/magnetic-select.tsx +426 -0
- package/src/components/magnetic-select/meta.ts +19 -0
- package/src/components/magnify-dock/index.ts +7 -0
- package/src/components/magnify-dock/magnify-dock.tsx +308 -0
- package/src/components/magnify-dock/meta.ts +21 -0
- package/src/components/marquee/index.ts +1 -0
- package/src/components/marquee/marquee.tsx +215 -0
- package/src/components/marquee/meta.ts +19 -0
- package/src/components/meter/meter.tsx +1 -1
- package/src/components/morph-button/index.ts +7 -0
- package/src/components/morph-button/meta.ts +18 -0
- package/src/components/morph-button/morph-button.tsx +390 -0
- package/src/components/morph-surface/index.ts +7 -0
- package/src/components/morph-surface/meta.ts +21 -0
- package/src/components/morph-surface/morph-surface.tsx +367 -0
- package/src/components/notification-badge/index.ts +6 -0
- package/src/components/notification-badge/meta.ts +19 -0
- package/src/components/notification-badge/notification-badge.tsx +183 -0
- package/src/components/notify-button/index.ts +1 -0
- package/src/components/notify-button/meta.ts +17 -0
- package/src/components/notify-button/notify-button.tsx +194 -0
- package/src/components/now-playing/index.ts +1 -0
- package/src/components/now-playing/meta.ts +19 -0
- package/src/components/now-playing/now-playing.tsx +474 -0
- package/src/components/number-flow/index.ts +10 -0
- package/src/components/number-flow/meta.ts +18 -0
- package/src/components/number-flow/number-flow.tsx +330 -0
- package/src/components/orb-face/index.ts +1 -0
- package/src/components/orb-face/meta.ts +18 -0
- package/src/components/orb-face/orb-face.tsx +431 -0
- package/src/components/otp-input/index.ts +6 -0
- package/src/components/otp-input/meta.ts +21 -0
- package/src/components/otp-input/otp-input.tsx +407 -0
- package/src/components/pagination/index.ts +1 -0
- package/src/components/pagination/meta.ts +4 -2
- package/src/components/pagination/pagination-indicator.tsx +95 -0
- package/src/components/pagination/pagination.tsx +50 -5
- package/src/components/palette-generator/index.ts +8 -0
- package/src/components/palette-generator/meta.ts +17 -0
- package/src/components/palette-generator/palette-generator.tsx +300 -0
- package/src/components/permission-matrix/permission-matrix.tsx +4 -4
- package/src/components/photo-stack/index.ts +1 -0
- package/src/components/photo-stack/meta.ts +19 -0
- package/src/components/photo-stack/photo-stack.tsx +310 -0
- package/src/components/photo-tabs/index.ts +1 -0
- package/src/components/photo-tabs/meta.ts +18 -0
- package/src/components/photo-tabs/photo-tabs.tsx +180 -0
- package/src/components/pixel-avatar/index.ts +1 -0
- package/src/components/pixel-avatar/meta.ts +17 -0
- package/src/components/pixel-avatar/pixel-avatar.tsx +249 -0
- package/src/components/product-card/index.ts +1 -0
- package/src/components/product-card/meta.ts +20 -0
- package/src/components/product-card/product-card.tsx +313 -0
- package/src/components/progress/meta.ts +2 -1
- package/src/components/progress/progress.tsx +123 -27
- package/src/components/pull-to-refresh/index.ts +7 -0
- package/src/components/pull-to-refresh/meta.ts +20 -0
- package/src/components/pull-to-refresh/pull-to-refresh.tsx +421 -0
- package/src/components/radial-menu/index.ts +7 -0
- package/src/components/radial-menu/meta.ts +22 -0
- package/src/components/radial-menu/radial-menu.tsx +441 -0
- package/src/components/radio-group/radio-group.tsx +12 -1
- package/src/components/range-dial/index.ts +1 -0
- package/src/components/range-dial/meta.ts +21 -0
- package/src/components/range-dial/range-dial.tsx +428 -0
- package/src/components/record-diff/record-diff.tsx +4 -4
- package/src/components/reorder-list/index.ts +10 -0
- package/src/components/reorder-list/meta.ts +21 -0
- package/src/components/reorder-list/reorder-list.tsx +627 -0
- package/src/components/reviews-carousel/carousel-controls.tsx +291 -0
- package/src/components/reviews-carousel/index.ts +7 -0
- package/src/components/reviews-carousel/meta.ts +21 -0
- package/src/components/reviews-carousel/reviews-carousel.tsx +301 -0
- package/src/components/rich-popover/index.ts +1 -0
- package/src/components/rich-popover/meta.ts +18 -0
- package/src/components/rich-popover/rich-popover.tsx +228 -0
- package/src/components/ring-loader/index.ts +7 -0
- package/src/components/ring-loader/meta.ts +17 -0
- package/src/components/ring-loader/ring-loader.tsx +795 -0
- package/src/components/scramble-text/index.ts +8 -0
- package/src/components/scramble-text/meta.ts +17 -0
- package/src/components/scramble-text/scramble-text.tsx +250 -0
- package/src/components/scroll-reveal-text/index.ts +6 -0
- package/src/components/scroll-reveal-text/meta.ts +18 -0
- package/src/components/scroll-reveal-text/scroll-reveal-text.tsx +193 -0
- package/src/components/scrubber/index.ts +1 -0
- package/src/components/scrubber/meta.ts +20 -0
- package/src/components/scrubber/scrubber.tsx +348 -0
- package/src/components/select/meta.ts +2 -1
- package/src/components/select/select.tsx +71 -24
- package/src/components/selection-list/index.ts +6 -0
- package/src/components/selection-list/meta.ts +21 -0
- package/src/components/selection-list/selection-list-spring.ts +33 -0
- package/src/components/selection-list/selection-list.tsx +497 -0
- package/src/components/shader-transition/index.ts +21 -0
- package/src/components/shader-transition/meta.ts +23 -0
- package/src/components/shader-transition/shader-transition-engine.ts +396 -0
- package/src/components/shader-transition/shader-transition-presets.ts +424 -0
- package/src/components/shader-transition/shader-transition.tsx +470 -0
- package/src/components/shader-transition/webgl-mock.ts +176 -0
- package/src/components/shape-loader/index.ts +7 -0
- package/src/components/shape-loader/meta.ts +17 -0
- package/src/components/shape-loader/shape-loader-variants.tsx +717 -0
- package/src/components/shape-loader/shape-loader.tsx +149 -0
- package/src/components/sheet/meta.ts +1 -1
- package/src/components/sheet/sheet.tsx +80 -34
- package/src/components/shimmer-text/index.ts +7 -0
- package/src/components/shimmer-text/meta.ts +18 -0
- package/src/components/shimmer-text/shimmer-text.tsx +218 -0
- package/src/components/sidebar/index.ts +19 -0
- package/src/components/sidebar/meta.ts +25 -0
- package/src/components/sidebar/sidebar.tsx +374 -0
- package/src/components/skeleton/index.ts +1 -1
- package/src/components/skeleton/meta.ts +2 -1
- package/src/components/skeleton/skeleton.tsx +49 -7
- package/src/components/slide-to-confirm/index.ts +6 -0
- package/src/components/slide-to-confirm/meta.ts +20 -0
- package/src/components/slide-to-confirm/slide-to-confirm.tsx +519 -0
- package/src/components/slosh-slider/index.ts +6 -0
- package/src/components/slosh-slider/meta.ts +20 -0
- package/src/components/slosh-slider/slosh-slider.tsx +266 -0
- package/src/components/social-selector/index.ts +6 -0
- package/src/components/social-selector/meta.ts +18 -0
- package/src/components/social-selector/social-selector.tsx +247 -0
- package/src/components/star-count/index.ts +1 -0
- package/src/components/star-count/meta.ts +18 -0
- package/src/components/star-count/star-count.tsx +161 -0
- package/src/components/stepper/index.ts +8 -0
- package/src/components/stepper/meta.ts +20 -0
- package/src/components/stepper/stepper.tsx +364 -0
- package/src/components/swipe-carousel/carousel-controls.tsx +148 -0
- package/src/components/swipe-carousel/index.ts +6 -0
- package/src/components/swipe-carousel/meta.ts +21 -0
- package/src/components/swipe-carousel/swipe-carousel.tsx +407 -0
- package/src/components/switch/meta.ts +3 -1
- package/src/components/switch/switch.tsx +69 -4
- package/src/components/switchboard-card/index.ts +6 -0
- package/src/components/switchboard-card/meta.ts +18 -0
- package/src/components/switchboard-card/switchboard-card.tsx +312 -0
- package/src/components/table/table.tsx +3 -3
- package/src/components/tabs/index.ts +1 -0
- package/src/components/tabs/meta.ts +3 -1
- package/src/components/tabs/tabs.tsx +144 -4
- package/src/components/tags-input/meta.ts +2 -1
- package/src/components/tags-input/tags-input.tsx +123 -5
- package/src/components/text-effect/index.ts +10 -0
- package/src/components/text-effect/meta.ts +18 -0
- package/src/components/text-effect/text-effect-presets.ts +305 -0
- package/src/components/text-effect/text-effect.tsx +454 -0
- package/src/components/text-loader/index.ts +7 -0
- package/src/components/text-loader/meta.ts +17 -0
- package/src/components/text-loader/text-loader.tsx +585 -0
- package/src/components/text-swap/index.ts +9 -0
- package/src/components/text-swap/meta.ts +20 -0
- package/src/components/text-swap/text-rotate.tsx +76 -0
- package/src/components/text-swap/text-swap.tsx +414 -0
- package/src/components/textarea/index.ts +1 -0
- package/src/components/textarea/meta.ts +21 -0
- package/src/components/textarea/textarea.tsx +210 -0
- package/src/components/tick-progress/index.ts +1 -0
- package/src/components/tick-progress/meta.ts +19 -0
- package/src/components/tick-progress/tick-progress.tsx +253 -0
- package/src/components/tilt-card/index.ts +6 -0
- package/src/components/tilt-card/meta.ts +18 -0
- package/src/components/tilt-card/tilt-card.tsx +256 -0
- package/src/components/time-range-picker/time-range-picker.tsx +3 -3
- package/src/components/time-stack/index.ts +6 -0
- package/src/components/time-stack/meta.ts +19 -0
- package/src/components/time-stack/time-stack.tsx +385 -0
- package/src/components/toast/meta.ts +2 -1
- package/src/components/toast/toast.tsx +81 -15
- package/src/components/todo-tower/index.ts +1 -0
- package/src/components/todo-tower/meta.ts +18 -0
- package/src/components/todo-tower/todo-tower.tsx +429 -0
- package/src/components/tooltip/meta.ts +1 -1
- package/src/components/tooltip/tooltip.tsx +39 -15
- package/src/components/tweet-card/index.ts +11 -0
- package/src/components/tweet-card/meta.ts +19 -0
- package/src/components/tweet-card/tweet-card.tsx +372 -0
- package/src/components/typewriter-text/index.ts +6 -0
- package/src/components/typewriter-text/meta.ts +17 -0
- package/src/components/typewriter-text/typewriter-text.tsx +214 -0
- package/src/components/uptime-matrix/index.ts +11 -0
- package/src/components/uptime-matrix/meta.ts +20 -0
- package/src/components/uptime-matrix/uptime-matrix.tsx +443 -0
- package/src/index.ts +114 -0
- package/src/lib/styles.ts +16 -0
- package/src/registry/blocks.ts +86 -0
- package/src/registry/components.ts +228 -0
- package/src/registry/schema.ts +9 -0
- package/src/blocks/admin-users/admin-users.tsx +0 -251
- package/src/blocks/admin-users/index.ts +0 -1
- package/src/blocks/admin-users/meta.ts +0 -27
- package/src/blocks/ai-chat/ai-chat.tsx +0 -280
- package/src/blocks/ai-chat/index.ts +0 -7
- package/src/blocks/ai-chat/meta.ts +0 -32
- package/src/blocks/dashboard/dashboard.tsx +0 -192
- package/src/blocks/dashboard/index.ts +0 -6
- package/src/blocks/dashboard/meta.ts +0 -18
- package/src/blocks/forgot-password/forgot-password.tsx +0 -158
- package/src/blocks/forgot-password/index.ts +0 -1
- package/src/blocks/forgot-password/meta.ts +0 -18
- package/src/blocks/login/index.ts +0 -1
- package/src/blocks/login/login.tsx +0 -178
- package/src/blocks/login/meta.ts +0 -18
- package/src/blocks/pricing/index.ts +0 -1
- package/src/blocks/pricing/meta.ts +0 -18
- package/src/blocks/pricing/pricing.tsx +0 -176
- package/src/blocks/settings/index.ts +0 -6
- package/src/blocks/settings/meta.ts +0 -29
- package/src/blocks/settings/settings.tsx +0 -317
- package/src/blocks/signup/index.ts +0 -1
- package/src/blocks/signup/meta.ts +0 -18
- package/src/blocks/signup/signup.tsx +0 -240
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
//#region src/components/dither-canvas/dither-engine.ts
|
|
2
|
+
/** Default cell pitch in CSS pixels, as amicro's donut draws it. */
|
|
3
|
+
const DITHER_CELL = 4.6;
|
|
4
|
+
function clamp(value, min, max) {
|
|
5
|
+
return Math.min(max, Math.max(min, value));
|
|
6
|
+
}
|
|
7
|
+
function lerp(from, to, t) {
|
|
8
|
+
return from + (to - from) * t;
|
|
9
|
+
}
|
|
10
|
+
/** Hermite ease between two edges; 0 below `edge0`, 1 above `edge1`. */
|
|
11
|
+
function smoothstep(edge0, edge1, value) {
|
|
12
|
+
if (edge0 === edge1) return value < edge0 ? 0 : 1;
|
|
13
|
+
const x = clamp((value - edge0) / (edge1 - edge0), 0, 1);
|
|
14
|
+
return x * x * (3 - 2 * x);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Deterministic per-cell hash in [0, 1).
|
|
18
|
+
*
|
|
19
|
+
* Coordinates are quantised to 1/100 px so the float noise in a cell's centre
|
|
20
|
+
* never changes its jitter. `seed` gives a second, independent field (the
|
|
21
|
+
* particle layer uses one) from the same cell.
|
|
22
|
+
*/
|
|
23
|
+
function hash2(x, y, seed = 0) {
|
|
24
|
+
let h = Math.imul(Math.round(x * 100) | 0, 668265261) ^ Math.imul(Math.round(y * 100) | 0, 374761393);
|
|
25
|
+
h = Math.imul(h ^ Math.imul(seed | 0, 2654435761), 2246822507);
|
|
26
|
+
h ^= h >>> 13;
|
|
27
|
+
h = Math.imul(h, 3266489909);
|
|
28
|
+
h ^= h >>> 16;
|
|
29
|
+
return (h >>> 0) / 4294967296;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* amicro's shimmer: a sum of sines eased into 0..1. Pass the raw terms (each
|
|
33
|
+
* in −1..1) so each chart keeps its own wave; with no terms — the reduced-motion
|
|
34
|
+
* case — it is the neutral 0.5.
|
|
35
|
+
*/
|
|
36
|
+
function shimmer(...waves) {
|
|
37
|
+
let sum = 0;
|
|
38
|
+
for (const wave of waves) sum += wave;
|
|
39
|
+
return smoothstep(-1.5, 1.5, sum);
|
|
40
|
+
}
|
|
41
|
+
/** The two-sine drift amicro's device donut and revenue fill share. */
|
|
42
|
+
function drift(x, y, time) {
|
|
43
|
+
return shimmer(Math.sin(x * .05 + time), Math.sin(y * .05 + time * .7));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The drawn square for one cell: centred, side `cell × density`, never larger
|
|
47
|
+
* than the cell. Returns null when the density leaves nothing to draw.
|
|
48
|
+
*/
|
|
49
|
+
function cellSquare(x, y, cell, density) {
|
|
50
|
+
const size = cell * clamp(density, 0, 1);
|
|
51
|
+
if (size <= .05) return null;
|
|
52
|
+
return [
|
|
53
|
+
x + (cell - size) / 2,
|
|
54
|
+
y + (cell - size) / 2,
|
|
55
|
+
size
|
|
56
|
+
];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Visits every cell overlapping `bounds`, on a grid anchored at the canvas
|
|
60
|
+
* origin. Anchoring matters: a grid anchored to each shape would swim as the
|
|
61
|
+
* shape animates, and two shapes would not share cells.
|
|
62
|
+
*/
|
|
63
|
+
function forEachCell(bounds, cell, visit) {
|
|
64
|
+
if (cell <= 0 || bounds.width <= 0 || bounds.height <= 0) return;
|
|
65
|
+
const x0 = Math.floor(bounds.x / cell) * cell;
|
|
66
|
+
const y0 = Math.floor(bounds.y / cell) * cell;
|
|
67
|
+
const x1 = bounds.x + bounds.width;
|
|
68
|
+
const y1 = bounds.y + bounds.height;
|
|
69
|
+
for (let x = x0; x < x1; x += cell) for (let y = y0; y < y1; y += cell) visit(x, y);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Fills a region with dithered cells. Saves and restores the context, so the
|
|
73
|
+
* clip, colour and alpha never leak into the next shape. Returns the number of
|
|
74
|
+
* squares drawn.
|
|
75
|
+
*/
|
|
76
|
+
function ditherFill(ctx, options) {
|
|
77
|
+
const cell = options.cell ?? 4.6;
|
|
78
|
+
let drawn = 0;
|
|
79
|
+
ctx.save();
|
|
80
|
+
if (options.clip) ctx.clip(options.clip);
|
|
81
|
+
if (options.color !== void 0) ctx.fillStyle = options.color;
|
|
82
|
+
if (options.alpha !== void 0) ctx.globalAlpha *= clamp(options.alpha, 0, 1);
|
|
83
|
+
forEachCell(options.bounds, cell, (x, y) => {
|
|
84
|
+
const square = cellSquare(x, y, cell, options.density(x + cell / 2, y + cell / 2, x, y));
|
|
85
|
+
if (!square) return;
|
|
86
|
+
ctx.fillRect(square[0], square[1], square[2], square[2]);
|
|
87
|
+
drawn += 1;
|
|
88
|
+
});
|
|
89
|
+
ctx.restore();
|
|
90
|
+
return drawn;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Turns a colour reference into a CSS value:
|
|
94
|
+
* `"primary"` and `"--color-primary"` become `var(--color-primary)`; anything
|
|
95
|
+
* else (`var(…)`, `color-mix(…)`, `currentColor`) is passed through.
|
|
96
|
+
*/
|
|
97
|
+
function tokenToCss(token) {
|
|
98
|
+
if (token.startsWith("--")) return `var(${token})`;
|
|
99
|
+
if (/^[a-z][a-z0-9-]*$/.test(token) && token !== "currentcolor" && token !== "transparent") return `var(--color-${token})`;
|
|
100
|
+
return token;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Resolves a colour token to a concrete value a canvas accepts, as seen from
|
|
104
|
+
* `element` — so a theme scoped to a subtree applies. A hidden probe element
|
|
105
|
+
* lets the browser do the resolving, which also settles `color-mix()` and
|
|
106
|
+
* nested `var()`s that a canvas fillStyle would reject.
|
|
107
|
+
*/
|
|
108
|
+
function resolveColor(element, token) {
|
|
109
|
+
const css = tokenToCss(token);
|
|
110
|
+
const doc = element.ownerDocument;
|
|
111
|
+
const view = doc.defaultView;
|
|
112
|
+
if (!view) return css;
|
|
113
|
+
const host = element.parentElement ?? doc.body;
|
|
114
|
+
const probe = doc.createElement("span");
|
|
115
|
+
probe.style.display = "none";
|
|
116
|
+
probe.style.color = css;
|
|
117
|
+
host.appendChild(probe);
|
|
118
|
+
const resolved = view.getComputedStyle(probe).color;
|
|
119
|
+
probe.remove();
|
|
120
|
+
if (resolved && !resolved.includes("var(")) return resolved;
|
|
121
|
+
const name = /^var\((--[\w-]+)\)$/.exec(css)?.[1];
|
|
122
|
+
return (name ? view.getComputedStyle(element).getPropertyValue(name).trim() : "") || css;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Default series colours: one hue — the theme's primary — stepped toward the
|
|
126
|
+
* card surface, as amicro's monochrome ramp is. Status tokens (success,
|
|
127
|
+
* warning, destructive) are deliberately absent: they mean state, not series.
|
|
128
|
+
* Identity never rests on colour alone; every chart also names each series in
|
|
129
|
+
* a legend, its readout and its data table.
|
|
130
|
+
*/
|
|
131
|
+
const DITHER_PALETTE = [
|
|
132
|
+
"primary",
|
|
133
|
+
"color-mix(in oklab, var(--color-primary) 72%, var(--color-card))",
|
|
134
|
+
"color-mix(in oklab, var(--color-primary) 50%, var(--color-card))",
|
|
135
|
+
"color-mix(in oklab, var(--color-primary) 34%, var(--color-card))",
|
|
136
|
+
"color-mix(in oklab, var(--color-primary) 22%, var(--color-card))",
|
|
137
|
+
"muted-foreground"
|
|
138
|
+
];
|
|
139
|
+
/** The colour for series `index`: its own if given, else the palette in order. */
|
|
140
|
+
function seriesColor(index, color) {
|
|
141
|
+
return color ?? DITHER_PALETTE[index % DITHER_PALETTE.length] ?? "primary";
|
|
142
|
+
}
|
|
143
|
+
/** amicro's number spring (motion's useSpring at 190 / 27 / 0.7). */
|
|
144
|
+
const DEFAULT_SPRING = {
|
|
145
|
+
stiffness: 190,
|
|
146
|
+
damping: 27,
|
|
147
|
+
mass: .7,
|
|
148
|
+
precision: .001
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* A damped spring for canvas values. Integrated in fixed sub-steps, so a long
|
|
152
|
+
* frame (a tab coming back into view) cannot make it explode. Under reduced
|
|
153
|
+
* motion `step` jumps straight to the target: the settled value, drawn once.
|
|
154
|
+
*/
|
|
155
|
+
function createSpring(initial, config = {}) {
|
|
156
|
+
const { stiffness, damping, mass, precision } = {
|
|
157
|
+
...DEFAULT_SPRING,
|
|
158
|
+
...config
|
|
159
|
+
};
|
|
160
|
+
let value = initial;
|
|
161
|
+
let target = initial;
|
|
162
|
+
let velocity = 0;
|
|
163
|
+
return {
|
|
164
|
+
get value() {
|
|
165
|
+
return value;
|
|
166
|
+
},
|
|
167
|
+
get target() {
|
|
168
|
+
return target;
|
|
169
|
+
},
|
|
170
|
+
get velocity() {
|
|
171
|
+
return velocity;
|
|
172
|
+
},
|
|
173
|
+
set(next) {
|
|
174
|
+
target = next;
|
|
175
|
+
},
|
|
176
|
+
jump(next) {
|
|
177
|
+
value = next;
|
|
178
|
+
target = next;
|
|
179
|
+
velocity = 0;
|
|
180
|
+
},
|
|
181
|
+
step(dt, reducedMotion = false) {
|
|
182
|
+
if (reducedMotion) {
|
|
183
|
+
value = target;
|
|
184
|
+
velocity = 0;
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
let remaining = clamp(dt, 0, .1);
|
|
188
|
+
while (remaining > 0) {
|
|
189
|
+
const h = Math.min(remaining, 1 / 240);
|
|
190
|
+
const force = -stiffness * (value - target) - damping * velocity;
|
|
191
|
+
velocity += force / mass * h;
|
|
192
|
+
value += velocity * h;
|
|
193
|
+
remaining -= h;
|
|
194
|
+
}
|
|
195
|
+
const scale = Math.max(1, Math.abs(target));
|
|
196
|
+
if (Math.abs(value - target) < precision * scale && Math.abs(velocity) < precision * scale) {
|
|
197
|
+
value = target;
|
|
198
|
+
velocity = 0;
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Resamples `values` to `length` points by nearest index, so a 7-point series
|
|
207
|
+
* can morph into a 30-point one without a jump to zero (amicro's range switch).
|
|
208
|
+
*/
|
|
209
|
+
function resample(values, length) {
|
|
210
|
+
if (length <= 0) return [];
|
|
211
|
+
if (values.length === 0) return Array.from({ length }, () => 0);
|
|
212
|
+
if (values.length === length) return [...values];
|
|
213
|
+
return Array.from({ length }, (_, index) => {
|
|
214
|
+
const t = length === 1 ? 0 : index / (length - 1);
|
|
215
|
+
return values[Math.round(t * (values.length - 1))] ?? 0;
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
/** A list of springs that animates an array of values together. */
|
|
219
|
+
function createSprings(initial, config = {}) {
|
|
220
|
+
let springs = initial.map((value) => createSpring(value, config));
|
|
221
|
+
const list = {
|
|
222
|
+
get values() {
|
|
223
|
+
return springs.map((spring) => spring.value);
|
|
224
|
+
},
|
|
225
|
+
set(targets) {
|
|
226
|
+
if (targets.length !== springs.length) springs = resample(list.values, targets.length).map((value) => createSpring(value, config));
|
|
227
|
+
targets.forEach((target, index) => springs[index]?.set(target));
|
|
228
|
+
},
|
|
229
|
+
jump(targets) {
|
|
230
|
+
springs = targets.map((value) => createSpring(value, config));
|
|
231
|
+
},
|
|
232
|
+
step(dt, reducedMotion = false) {
|
|
233
|
+
let moving = false;
|
|
234
|
+
for (const spring of springs) moving = spring.step(dt, reducedMotion) || moving;
|
|
235
|
+
return moving;
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
return list;
|
|
239
|
+
}
|
|
240
|
+
//#endregion
|
|
241
|
+
export { DEFAULT_SPRING, DITHER_CELL, DITHER_PALETTE, cellSquare, clamp, createSpring, createSprings, ditherFill, drift, forEachCell, hash2, lerp, resample, resolveColor, seriesColor, shimmer, smoothstep, tokenToCss };
|
|
242
|
+
|
|
243
|
+
//# sourceMappingURL=dither-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dither-engine.js","names":[],"sources":["../../../src/components/dither-canvas/dither-engine.ts"],"sourcesContent":["// Ported from amicro \"Dither Charts\" (MIT, © 2026 Syed Subhan Uddin). See THIRD_PARTY_NOTICES.md.\n\n/*\n * The pure half of the dither engine: no React, no DOM beyond the canvas\n * context it is handed. Everything a dither chart needs to decide *how big a\n * cell is* lives here, so it can be unit-tested without a canvas.\n *\n * The technique, as amicro draws it: the plot is a grid of fixed cells\n * (~4.6 CSS px). Each cell is drawn as one small square, centred in the cell,\n * whose side is `cell × density`. Density is built from three ingredients —\n * a shape term (distance, fill level) eased with smoothstep, a time-based sum of\n * sines for shimmer, and a per-cell hash for jitter — and the region is clipped\n * to the shape's path. amicro's hash was `fract(sin(…) × 43758)` and two charts\n * used Math.random; this one is an integer hash, so a frame is the same on every\n * machine and every render (and a test can assert it).\n */\n\n/** Default cell pitch in CSS pixels, as amicro's donut draws it. */\nexport const DITHER_CELL = 4.6;\n\n/** Axis-aligned rectangle in CSS pixels. */\nexport interface DitherBounds {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nexport function clamp(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\nexport function lerp(from: number, to: number, t: number): number {\n return from + (to - from) * t;\n}\n\n/** Hermite ease between two edges; 0 below `edge0`, 1 above `edge1`. */\nexport function smoothstep(edge0: number, edge1: number, value: number): number {\n if (edge0 === edge1) return value < edge0 ? 0 : 1;\n const x = clamp((value - edge0) / (edge1 - edge0), 0, 1);\n return x * x * (3 - 2 * x);\n}\n\n/**\n * Deterministic per-cell hash in [0, 1).\n *\n * Coordinates are quantised to 1/100 px so the float noise in a cell's centre\n * never changes its jitter. `seed` gives a second, independent field (the\n * particle layer uses one) from the same cell.\n */\nexport function hash2(x: number, y: number, seed = 0): number {\n let h =\n Math.imul(Math.round(x * 100) | 0, 0x27d4eb2d) ^\n Math.imul(Math.round(y * 100) | 0, 0x165667b1);\n h = Math.imul(h ^ Math.imul(seed | 0, 0x9e3779b1), 0x85ebca6b);\n h ^= h >>> 13;\n h = Math.imul(h, 0xc2b2ae35);\n h ^= h >>> 16;\n return (h >>> 0) / 4294967296;\n}\n\n/**\n * amicro's shimmer: a sum of sines eased into 0..1. Pass the raw terms (each\n * in −1..1) so each chart keeps its own wave; with no terms — the reduced-motion\n * case — it is the neutral 0.5.\n */\nexport function shimmer(...waves: number[]): number {\n let sum = 0;\n for (const wave of waves) sum += wave;\n return smoothstep(-1.5, 1.5, sum);\n}\n\n/** The two-sine drift amicro's device donut and revenue fill share. */\nexport function drift(x: number, y: number, time: number): number {\n return shimmer(Math.sin(x * 0.05 + time), Math.sin(y * 0.05 + time * 0.7));\n}\n\n/**\n * The drawn square for one cell: centred, side `cell × density`, never larger\n * than the cell. Returns null when the density leaves nothing to draw.\n */\nexport function cellSquare(\n x: number,\n y: number,\n cell: number,\n density: number,\n): [x: number, y: number, size: number] | null {\n const size = cell * clamp(density, 0, 1);\n if (size <= 0.05) return null;\n return [x + (cell - size) / 2, y + (cell - size) / 2, size];\n}\n\n/**\n * Visits every cell overlapping `bounds`, on a grid anchored at the canvas\n * origin. Anchoring matters: a grid anchored to each shape would swim as the\n * shape animates, and two shapes would not share cells.\n */\nexport function forEachCell(\n bounds: DitherBounds,\n cell: number,\n visit: (x: number, y: number) => void,\n): void {\n if (cell <= 0 || bounds.width <= 0 || bounds.height <= 0) return;\n const x0 = Math.floor(bounds.x / cell) * cell;\n const y0 = Math.floor(bounds.y / cell) * cell;\n const x1 = bounds.x + bounds.width;\n const y1 = bounds.y + bounds.height;\n for (let x = x0; x < x1; x += cell) {\n for (let y = y0; y < y1; y += cell) visit(x, y);\n }\n}\n\n/**\n * Density function for one cell. `cx`/`cy` are the cell's centre and `x`/`y`\n * its top-left corner, both in CSS pixels. Return 0..1 — the fraction of the\n * cell the square covers; 0 or less skips the cell.\n */\nexport type DitherDensity = (cx: number, cy: number, x: number, y: number) => number;\n\nexport interface DitherFillOptions {\n /** Region to scan. Keep it tight: every cell in it runs `density`. */\n bounds: DitherBounds;\n density: DitherDensity;\n /** Cell pitch in CSS pixels. Defaults to DITHER_CELL. */\n cell?: number;\n /** Clip region — usually a Path2D from `makePath`. Omit to fill the bounds. */\n clip?: Path2D | null;\n /** Resolved colour (`frame.color(\"primary\")`). Omit to keep the current fillStyle. */\n color?: string;\n /** Multiplies the current globalAlpha for this fill. */\n alpha?: number;\n}\n\n/**\n * Fills a region with dithered cells. Saves and restores the context, so the\n * clip, colour and alpha never leak into the next shape. Returns the number of\n * squares drawn.\n */\nexport function ditherFill(ctx: CanvasRenderingContext2D, options: DitherFillOptions): number {\n const cell = options.cell ?? DITHER_CELL;\n let drawn = 0;\n ctx.save();\n if (options.clip) ctx.clip(options.clip);\n if (options.color !== undefined) ctx.fillStyle = options.color;\n if (options.alpha !== undefined) ctx.globalAlpha *= clamp(options.alpha, 0, 1);\n forEachCell(options.bounds, cell, (x, y) => {\n const square = cellSquare(x, y, cell, options.density(x + cell / 2, y + cell / 2, x, y));\n if (!square) return;\n ctx.fillRect(square[0], square[1], square[2], square[2]);\n drawn += 1;\n });\n ctx.restore();\n return drawn;\n}\n\n/* Colour ------------------------------------------------------------------ */\n\n/**\n * Turns a colour reference into a CSS value:\n * `\"primary\"` and `\"--color-primary\"` become `var(--color-primary)`; anything\n * else (`var(…)`, `color-mix(…)`, `currentColor`) is passed through.\n */\nexport function tokenToCss(token: string): string {\n if (token.startsWith(\"--\")) return `var(${token})`;\n if (/^[a-z][a-z0-9-]*$/.test(token) && token !== \"currentcolor\" && token !== \"transparent\") {\n return `var(--color-${token})`;\n }\n return token;\n}\n\n/**\n * Resolves a colour token to a concrete value a canvas accepts, as seen from\n * `element` — so a theme scoped to a subtree applies. A hidden probe element\n * lets the browser do the resolving, which also settles `color-mix()` and\n * nested `var()`s that a canvas fillStyle would reject.\n */\nexport function resolveColor(element: Element, token: string): string {\n const css = tokenToCss(token);\n const doc = element.ownerDocument;\n const view = doc.defaultView;\n if (!view) return css;\n const host = element.parentElement ?? doc.body;\n const probe = doc.createElement(\"span\");\n probe.style.display = \"none\";\n probe.style.color = css;\n host.appendChild(probe);\n const resolved = view.getComputedStyle(probe).color;\n probe.remove();\n if (resolved && !resolved.includes(\"var(\")) return resolved;\n // No resolution (a detached element, or a DOM without CSS): fall back to the\n // custom property's own value, then to the expression itself.\n const name = /^var\\((--[\\w-]+)\\)$/.exec(css)?.[1];\n const raw = name ? view.getComputedStyle(element).getPropertyValue(name).trim() : \"\";\n return raw || css;\n}\n\n/**\n * Default series colours: one hue — the theme's primary — stepped toward the\n * card surface, as amicro's monochrome ramp is. Status tokens (success,\n * warning, destructive) are deliberately absent: they mean state, not series.\n * Identity never rests on colour alone; every chart also names each series in\n * a legend, its readout and its data table.\n */\nexport const DITHER_PALETTE: readonly string[] = [\n \"primary\",\n \"color-mix(in oklab, var(--color-primary) 72%, var(--color-card))\",\n \"color-mix(in oklab, var(--color-primary) 50%, var(--color-card))\",\n \"color-mix(in oklab, var(--color-primary) 34%, var(--color-card))\",\n \"color-mix(in oklab, var(--color-primary) 22%, var(--color-card))\",\n \"muted-foreground\",\n];\n\n/** The colour for series `index`: its own if given, else the palette in order. */\nexport function seriesColor(index: number, color?: string): string {\n return color ?? DITHER_PALETTE[index % DITHER_PALETTE.length] ?? \"primary\";\n}\n\n/* Value animation ---------------------------------------------------------- */\n\nexport interface SpringConfig {\n stiffness?: number;\n damping?: number;\n mass?: number;\n /** Distance and speed below which the spring snaps to rest. */\n precision?: number;\n}\n\nexport interface Spring {\n readonly value: number;\n readonly target: number;\n readonly velocity: number;\n /** Aims the spring at a new target; it moves on the next `step`. */\n set(target: number): void;\n /** Places the spring at rest on `value`. */\n jump(value: number): void;\n /** Advances by `dt` seconds. Returns true while still moving. */\n step(dt: number, reducedMotion?: boolean): boolean;\n}\n\n/** amicro's number spring (motion's useSpring at 190 / 27 / 0.7). */\nexport const DEFAULT_SPRING: Required<SpringConfig> = {\n stiffness: 190,\n damping: 27,\n mass: 0.7,\n precision: 0.001,\n};\n\n/**\n * A damped spring for canvas values. Integrated in fixed sub-steps, so a long\n * frame (a tab coming back into view) cannot make it explode. Under reduced\n * motion `step` jumps straight to the target: the settled value, drawn once.\n */\nexport function createSpring(initial: number, config: SpringConfig = {}): Spring {\n const { stiffness, damping, mass, precision } = { ...DEFAULT_SPRING, ...config };\n let value = initial;\n let target = initial;\n let velocity = 0;\n return {\n get value() {\n return value;\n },\n get target() {\n return target;\n },\n get velocity() {\n return velocity;\n },\n set(next) {\n target = next;\n },\n jump(next) {\n value = next;\n target = next;\n velocity = 0;\n },\n step(dt, reducedMotion = false) {\n if (reducedMotion) {\n value = target;\n velocity = 0;\n return false;\n }\n let remaining = clamp(dt, 0, 0.1);\n while (remaining > 0) {\n const h = Math.min(remaining, 1 / 240);\n const force = -stiffness * (value - target) - damping * velocity;\n velocity += (force / mass) * h;\n value += velocity * h;\n remaining -= h;\n }\n const scale = Math.max(1, Math.abs(target));\n if (\n Math.abs(value - target) < precision * scale &&\n Math.abs(velocity) < precision * scale\n ) {\n value = target;\n velocity = 0;\n return false;\n }\n return true;\n },\n };\n}\n\nexport interface SpringList {\n readonly values: number[];\n /** Aims at new targets. A different length resamples the current values. */\n set(targets: readonly number[]): void;\n jump(targets: readonly number[]): void;\n step(dt: number, reducedMotion?: boolean): boolean;\n}\n\n/**\n * Resamples `values` to `length` points by nearest index, so a 7-point series\n * can morph into a 30-point one without a jump to zero (amicro's range switch).\n */\nexport function resample(values: readonly number[], length: number): number[] {\n if (length <= 0) return [];\n if (values.length === 0) return Array.from({ length }, () => 0);\n if (values.length === length) return [...values];\n return Array.from({ length }, (_, index) => {\n const t = length === 1 ? 0 : index / (length - 1);\n return values[Math.round(t * (values.length - 1))] ?? 0;\n });\n}\n\n/** A list of springs that animates an array of values together. */\nexport function createSprings(\n initial: readonly number[],\n config: SpringConfig = {},\n): SpringList {\n let springs = initial.map((value) => createSpring(value, config));\n const list: SpringList = {\n get values() {\n return springs.map((spring) => spring.value);\n },\n set(targets) {\n if (targets.length !== springs.length) {\n springs = resample(list.values, targets.length).map((value) =>\n createSpring(value, config),\n );\n }\n targets.forEach((target, index) => springs[index]?.set(target));\n },\n jump(targets) {\n springs = targets.map((value) => createSpring(value, config));\n },\n step(dt, reducedMotion = false) {\n let moving = false;\n for (const spring of springs) moving = spring.step(dt, reducedMotion) || moving;\n return moving;\n },\n };\n return list;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
//#region src/components/dither-canvas/dither-geometry.d.ts
|
|
2
|
+
interface PathSink {
|
|
3
|
+
moveTo(x: number, y: number): void;
|
|
4
|
+
lineTo(x: number, y: number): void;
|
|
5
|
+
arc(x: number, y: number, radius: number, start: number, end: number, ccw?: boolean): void;
|
|
6
|
+
arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
|
|
7
|
+
bezierCurveTo(c1x: number, c1y: number, c2x: number, c2y: number, x: number, y: number): void;
|
|
8
|
+
closePath(): void;
|
|
9
|
+
}
|
|
10
|
+
interface Point {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Builds a Path2D from a tracer. Returns null where Path2D does not exist
|
|
16
|
+
* (server rendering, some test DOMs), so callers simply skip the clip.
|
|
17
|
+
*/
|
|
18
|
+
declare function makePath(trace: (sink: PathSink) => void): Path2D | null;
|
|
19
|
+
/** Normalises an angle into [0, 2π). */
|
|
20
|
+
declare function normalizeAngle(angle: number): number;
|
|
21
|
+
interface Wedge {
|
|
22
|
+
index: number;
|
|
23
|
+
/** Fraction of the whole, 0..1. */
|
|
24
|
+
share: number;
|
|
25
|
+
start: number;
|
|
26
|
+
end: number;
|
|
27
|
+
mid: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Splits a circle into wedges, clockwise from 12 o'clock by default, leaving
|
|
31
|
+
* `gap` radians between neighbours (amicro's graph donut uses 0.07).
|
|
32
|
+
* Negative and non-finite values count as zero.
|
|
33
|
+
*/
|
|
34
|
+
declare function pieWedges(values: readonly number[], options?: {
|
|
35
|
+
start?: number;
|
|
36
|
+
gap?: number;
|
|
37
|
+
}): Wedge[];
|
|
38
|
+
/** True when `angle` lies within the wedge's sweep. */
|
|
39
|
+
declare function angleInWedge(angle: number, start: number, end: number): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* The wedge under a point, or null — hit-testing for a donut from pointer
|
|
42
|
+
* coordinates, so hover never needs to read pixels back.
|
|
43
|
+
*/
|
|
44
|
+
declare function wedgeAt(wedges: readonly Wedge[], center: Point, inner: number, outer: number, point: Point): number | null;
|
|
45
|
+
/** A plain annular sector (amicro's device donut). */
|
|
46
|
+
declare function traceWedge(sink: PathSink, center: Point, inner: number, outer: number, start: number, end: number): void;
|
|
47
|
+
/** An annular sector with rounded corners (amicro's graph donut). */
|
|
48
|
+
declare function traceRoundedWedge(sink: PathSink, center: Point, inner: number, outer: number, start: number, end: number, radius: number): void;
|
|
49
|
+
/** A rectangle with separate top and bottom corner radii (a stacked segment). */
|
|
50
|
+
declare function traceRoundedRect(sink: PathSink, x: number, y: number, width: number, height: number, radiusTop: number, radiusBottom?: number): void;
|
|
51
|
+
/**
|
|
52
|
+
* Tangents for a monotone cubic spline (Fritsch–Carlson). Monotone means the
|
|
53
|
+
* curve never overshoots its data: a smooth line that invents a dip below zero
|
|
54
|
+
* between two positive days is lying.
|
|
55
|
+
*/
|
|
56
|
+
declare function monotoneTangents(points: readonly Point[]): number[];
|
|
57
|
+
/**
|
|
58
|
+
* Traces a monotone spline through `points`. With `baseline`, it closes the
|
|
59
|
+
* shape down to that y — the region under the line, ready to clip a fill.
|
|
60
|
+
*/
|
|
61
|
+
declare function traceSpline(sink: PathSink, points: readonly Point[], baseline?: number): void;
|
|
62
|
+
/** Traces straight segments through `points`, optionally closed to a baseline. */
|
|
63
|
+
declare function tracePolyline(sink: PathSink, points: readonly Point[], baseline?: number): void;
|
|
64
|
+
/** Linear interpolation of a series at fractional index `at` (0..length−1). */
|
|
65
|
+
declare function valueAt(values: readonly number[], at: number): number;
|
|
66
|
+
/**
|
|
67
|
+
* A round axis maximum just above `value`: 1, 2 or 5 × 10ⁿ, with 5% headroom
|
|
68
|
+
* (amicro's getAxisMax). Zero and negatives give 1.
|
|
69
|
+
*/
|
|
70
|
+
declare function niceMax(value: number): number;
|
|
71
|
+
//#endregion
|
|
72
|
+
export { PathSink, Point, Wedge, angleInWedge, makePath, monotoneTangents, niceMax, normalizeAngle, pieWedges, tracePolyline, traceRoundedRect, traceRoundedWedge, traceSpline, traceWedge, valueAt, wedgeAt };
|
|
73
|
+
//# sourceMappingURL=dither-geometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dither-geometry.d.ts","names":[],"sources":["../../../src/components/dither-canvas/dither-geometry.ts"],"mappings":";UASiB;EACf,OAAO,WAAW;EAClB,OAAO,WAAW;EAClB,IAAI,WAAW,WAAW,gBAAgB,eAAe,aAAa;EACtE,MAAM,YAAY,YAAY,YAAY,YAAY;EACtD,cAAc,aAAa,aAAa,aAAa,aAAa,WAAW;EAC7E;;UAGe;EACf;EACA;;;;;;iBAOc,SAAS,QAAQ,MAAM,oBAAoB;;iBAU3C,eAAe;UAId;EACf;;EAEA;EACA;EACA;EACA;;;;;;;iBAQc,UACd,2BACA;EAAW;EAAgB;IAC1B;;iBAuBa,aAAa,eAAe,eAAe;;;;;iBAS3C,QACd,iBAAiB,SACjB,QAAQ,OACR,eACA,eACA,OAAO;;iBAcO,WACd,MAAM,UACN,QAAQ,OACR,eACA,eACA,eACA;;iBAWc,kBACd,MAAM,UACN,QAAQ,OACR,eACA,eACA,eACA,aACA;;iBA0Bc,iBACd,MAAM,UACN,WACA,WACA,eACA,gBACA,mBACA;;;;;;iBAsBc,iBAAiB,iBAAiB;;;;;iBAwClC,YAAY,MAAM,UAAU,iBAAiB,SAAS;;iBA2BtD,cACd,MAAM,UACN,iBAAiB,SACjB;;iBAec,QAAQ,2BAA2B;;;;;iBAcnC,QAAQ"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
//#region src/components/dither-canvas/dither-geometry.ts
|
|
2
|
+
/**
|
|
3
|
+
* Builds a Path2D from a tracer. Returns null where Path2D does not exist
|
|
4
|
+
* (server rendering, some test DOMs), so callers simply skip the clip.
|
|
5
|
+
*/
|
|
6
|
+
function makePath(trace) {
|
|
7
|
+
if (typeof Path2D === "undefined") return null;
|
|
8
|
+
const path = new Path2D();
|
|
9
|
+
trace(path);
|
|
10
|
+
return path;
|
|
11
|
+
}
|
|
12
|
+
const TAU = Math.PI * 2;
|
|
13
|
+
/** Normalises an angle into [0, 2π). */
|
|
14
|
+
function normalizeAngle(angle) {
|
|
15
|
+
return (angle % TAU + TAU) % TAU;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Splits a circle into wedges, clockwise from 12 o'clock by default, leaving
|
|
19
|
+
* `gap` radians between neighbours (amicro's graph donut uses 0.07).
|
|
20
|
+
* Negative and non-finite values count as zero.
|
|
21
|
+
*/
|
|
22
|
+
function pieWedges(values, options = {}) {
|
|
23
|
+
const start = options.start ?? -Math.PI / 2;
|
|
24
|
+
const gap = options.gap ?? 0;
|
|
25
|
+
const clean = values.map((value) => Number.isFinite(value) && value > 0 ? value : 0);
|
|
26
|
+
const total = clean.reduce((sum, value) => sum + value, 0);
|
|
27
|
+
let cursor = start;
|
|
28
|
+
return clean.map((value, index) => {
|
|
29
|
+
const share = total > 0 ? value / total : 0;
|
|
30
|
+
const sweep = share * TAU;
|
|
31
|
+
const half = sweep > gap ? gap / 2 : sweep / 2;
|
|
32
|
+
const wedge = {
|
|
33
|
+
index,
|
|
34
|
+
share,
|
|
35
|
+
start: cursor + half,
|
|
36
|
+
end: cursor + sweep - half,
|
|
37
|
+
mid: cursor + sweep / 2
|
|
38
|
+
};
|
|
39
|
+
cursor += sweep;
|
|
40
|
+
return wedge;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/** True when `angle` lies within the wedge's sweep. */
|
|
44
|
+
function angleInWedge(angle, start, end) {
|
|
45
|
+
if (end <= start) return false;
|
|
46
|
+
return normalizeAngle(angle - start) <= end - start;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The wedge under a point, or null — hit-testing for a donut from pointer
|
|
50
|
+
* coordinates, so hover never needs to read pixels back.
|
|
51
|
+
*/
|
|
52
|
+
function wedgeAt(wedges, center, inner, outer, point) {
|
|
53
|
+
const dx = point.x - center.x;
|
|
54
|
+
const dy = point.y - center.y;
|
|
55
|
+
const distance = Math.hypot(dx, dy);
|
|
56
|
+
if (distance < inner || distance > outer) return null;
|
|
57
|
+
const angle = Math.atan2(dy, dx);
|
|
58
|
+
const hit = wedges.find((wedge) => wedge.share > 0 && angleInWedge(angle, wedge.start, wedge.end));
|
|
59
|
+
return hit ? hit.index : null;
|
|
60
|
+
}
|
|
61
|
+
/** A plain annular sector (amicro's device donut). */
|
|
62
|
+
function traceWedge(sink, center, inner, outer, start, end) {
|
|
63
|
+
if (end - start <= 1e-4) return;
|
|
64
|
+
sink.moveTo(center.x + outer * Math.cos(start), center.y + outer * Math.sin(start));
|
|
65
|
+
sink.arc(center.x, center.y, outer, start, end);
|
|
66
|
+
sink.lineTo(center.x + inner * Math.cos(end), center.y + inner * Math.sin(end));
|
|
67
|
+
sink.arc(center.x, center.y, inner, end, start, true);
|
|
68
|
+
sink.closePath();
|
|
69
|
+
}
|
|
70
|
+
/** An annular sector with rounded corners (amicro's graph donut). */
|
|
71
|
+
function traceRoundedWedge(sink, center, inner, outer, start, end, radius) {
|
|
72
|
+
const sweep = end - start;
|
|
73
|
+
if (sweep <= .001) return;
|
|
74
|
+
const r = Math.max(0, Math.min(radius, (outer - inner) / 2, sweep * inner / 2));
|
|
75
|
+
if (r === 0) {
|
|
76
|
+
traceWedge(sink, center, inner, outer, start, end);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const { x: cx, y: cy } = center;
|
|
80
|
+
const at = (distance, angle) => [cx + distance * Math.cos(angle), cy + distance * Math.sin(angle)];
|
|
81
|
+
const [isx, isy] = at(inner, start + r / inner);
|
|
82
|
+
sink.moveTo(isx, isy);
|
|
83
|
+
sink.arc(cx, cy, inner, start + r / inner, end - r / inner);
|
|
84
|
+
sink.arcTo(...at(inner, end), ...at(outer, end), r);
|
|
85
|
+
sink.arcTo(...at(outer, end), ...at(outer, end - r / outer), r);
|
|
86
|
+
sink.arc(cx, cy, outer, end - r / outer, start + r / outer, true);
|
|
87
|
+
sink.arcTo(...at(outer, start), ...at(inner, start), r);
|
|
88
|
+
sink.arcTo(...at(inner, start), isx, isy, r);
|
|
89
|
+
sink.closePath();
|
|
90
|
+
}
|
|
91
|
+
/** A rectangle with separate top and bottom corner radii (a stacked segment). */
|
|
92
|
+
function traceRoundedRect(sink, x, y, width, height, radiusTop, radiusBottom = radiusTop) {
|
|
93
|
+
if (width <= 0 || height <= 0) return;
|
|
94
|
+
const top = Math.max(0, Math.min(radiusTop, width / 2, height / 2));
|
|
95
|
+
const bottom = Math.max(0, Math.min(radiusBottom, width / 2, height / 2));
|
|
96
|
+
sink.moveTo(x + top, y);
|
|
97
|
+
sink.lineTo(x + width - top, y);
|
|
98
|
+
sink.arcTo(x + width, y, x + width, y + top, top);
|
|
99
|
+
sink.lineTo(x + width, y + height - bottom);
|
|
100
|
+
sink.arcTo(x + width, y + height, x + width - bottom, y + height, bottom);
|
|
101
|
+
sink.lineTo(x + bottom, y + height);
|
|
102
|
+
sink.arcTo(x, y + height, x, y + height - bottom, bottom);
|
|
103
|
+
sink.lineTo(x, y + top);
|
|
104
|
+
sink.arcTo(x, y, x + top, y, top);
|
|
105
|
+
sink.closePath();
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Tangents for a monotone cubic spline (Fritsch–Carlson). Monotone means the
|
|
109
|
+
* curve never overshoots its data: a smooth line that invents a dip below zero
|
|
110
|
+
* between two positive days is lying.
|
|
111
|
+
*/
|
|
112
|
+
function monotoneTangents(points) {
|
|
113
|
+
const n = points.length;
|
|
114
|
+
if (n < 2) return points.map(() => 0);
|
|
115
|
+
const slopes = [];
|
|
116
|
+
for (let i = 0; i < n - 1; i++) {
|
|
117
|
+
const a = points[i];
|
|
118
|
+
const b = points[i + 1];
|
|
119
|
+
const dx = b.x - a.x;
|
|
120
|
+
slopes.push(dx === 0 ? 0 : (b.y - a.y) / dx);
|
|
121
|
+
}
|
|
122
|
+
const tangents = points.map((_, i) => {
|
|
123
|
+
if (i === 0) return slopes[0] ?? 0;
|
|
124
|
+
if (i === n - 1) return slopes[n - 2] ?? 0;
|
|
125
|
+
const left = slopes[i - 1] ?? 0;
|
|
126
|
+
const right = slopes[i] ?? 0;
|
|
127
|
+
return left * right <= 0 ? 0 : (left + right) / 2;
|
|
128
|
+
});
|
|
129
|
+
for (let i = 0; i < n - 1; i++) {
|
|
130
|
+
const slope = slopes[i] ?? 0;
|
|
131
|
+
if (slope === 0) {
|
|
132
|
+
tangents[i] = 0;
|
|
133
|
+
tangents[i + 1] = 0;
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
const a = (tangents[i] ?? 0) / slope;
|
|
137
|
+
const b = (tangents[i + 1] ?? 0) / slope;
|
|
138
|
+
const s = a * a + b * b;
|
|
139
|
+
if (s > 9) {
|
|
140
|
+
const t = 3 / Math.sqrt(s);
|
|
141
|
+
tangents[i] = t * a * slope;
|
|
142
|
+
tangents[i + 1] = t * b * slope;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return tangents;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Traces a monotone spline through `points`. With `baseline`, it closes the
|
|
149
|
+
* shape down to that y — the region under the line, ready to clip a fill.
|
|
150
|
+
*/
|
|
151
|
+
function traceSpline(sink, points, baseline) {
|
|
152
|
+
const first = points[0];
|
|
153
|
+
const last = points[points.length - 1];
|
|
154
|
+
if (!first || !last) return;
|
|
155
|
+
const tangents = monotoneTangents(points);
|
|
156
|
+
sink.moveTo(first.x, first.y);
|
|
157
|
+
for (let i = 0; i < points.length - 1; i++) {
|
|
158
|
+
const a = points[i];
|
|
159
|
+
const b = points[i + 1];
|
|
160
|
+
const third = (b.x - a.x) / 3;
|
|
161
|
+
sink.bezierCurveTo(a.x + third, a.y + third * (tangents[i] ?? 0), b.x - third, b.y - third * (tangents[i + 1] ?? 0), b.x, b.y);
|
|
162
|
+
}
|
|
163
|
+
if (baseline !== void 0) {
|
|
164
|
+
sink.lineTo(last.x, baseline);
|
|
165
|
+
sink.lineTo(first.x, baseline);
|
|
166
|
+
sink.closePath();
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
/** Traces straight segments through `points`, optionally closed to a baseline. */
|
|
170
|
+
function tracePolyline(sink, points, baseline) {
|
|
171
|
+
const first = points[0];
|
|
172
|
+
const last = points[points.length - 1];
|
|
173
|
+
if (!first || !last) return;
|
|
174
|
+
sink.moveTo(first.x, first.y);
|
|
175
|
+
for (const point of points.slice(1)) sink.lineTo(point.x, point.y);
|
|
176
|
+
if (baseline !== void 0) {
|
|
177
|
+
sink.lineTo(last.x, baseline);
|
|
178
|
+
sink.lineTo(first.x, baseline);
|
|
179
|
+
sink.closePath();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
/** Linear interpolation of a series at fractional index `at` (0..length−1). */
|
|
183
|
+
function valueAt(values, at) {
|
|
184
|
+
if (values.length === 0) return 0;
|
|
185
|
+
const clamped = Math.min(values.length - 1, Math.max(0, at));
|
|
186
|
+
const i0 = Math.floor(clamped);
|
|
187
|
+
const i1 = Math.min(i0 + 1, values.length - 1);
|
|
188
|
+
const a = values[i0] ?? 0;
|
|
189
|
+
return a + ((values[i1] ?? 0) - a) * (clamped - i0);
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* A round axis maximum just above `value`: 1, 2 or 5 × 10ⁿ, with 5% headroom
|
|
193
|
+
* (amicro's getAxisMax). Zero and negatives give 1.
|
|
194
|
+
*/
|
|
195
|
+
function niceMax(value) {
|
|
196
|
+
if (!(value > 0)) return 1;
|
|
197
|
+
const target = value * 1.05;
|
|
198
|
+
const power = 10 ** Math.floor(Math.log10(target));
|
|
199
|
+
const normalized = target / power;
|
|
200
|
+
return (normalized <= 1 ? 1 : normalized <= 2 ? 2 : normalized <= 5 ? 5 : 10) * power;
|
|
201
|
+
}
|
|
202
|
+
//#endregion
|
|
203
|
+
export { angleInWedge, makePath, monotoneTangents, niceMax, normalizeAngle, pieWedges, tracePolyline, traceRoundedRect, traceRoundedWedge, traceSpline, traceWedge, valueAt, wedgeAt };
|
|
204
|
+
|
|
205
|
+
//# sourceMappingURL=dither-geometry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dither-geometry.js","names":[],"sources":["../../../src/components/dither-canvas/dither-geometry.ts"],"sourcesContent":["// Ported from amicro \"Dither Charts\" (MIT, © 2026 Syed Subhan Uddin). See THIRD_PARTY_NOTICES.md.\n\n/*\n * Shape geometry for dither charts. Every tracer writes to a `PathSink` — the\n * subset of the path API that both CanvasRenderingContext2D and Path2D share —\n * so the same function builds a clip region, strokes an outline, or records\n * its commands in a test.\n */\n\nexport interface PathSink {\n moveTo(x: number, y: number): void;\n lineTo(x: number, y: number): void;\n arc(x: number, y: number, radius: number, start: number, end: number, ccw?: boolean): void;\n arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;\n bezierCurveTo(c1x: number, c1y: number, c2x: number, c2y: number, x: number, y: number): void;\n closePath(): void;\n}\n\nexport interface Point {\n x: number;\n y: number;\n}\n\n/**\n * Builds a Path2D from a tracer. Returns null where Path2D does not exist\n * (server rendering, some test DOMs), so callers simply skip the clip.\n */\nexport function makePath(trace: (sink: PathSink) => void): Path2D | null {\n if (typeof Path2D === \"undefined\") return null;\n const path = new Path2D();\n trace(path);\n return path;\n}\n\nconst TAU = Math.PI * 2;\n\n/** Normalises an angle into [0, 2π). */\nexport function normalizeAngle(angle: number): number {\n return ((angle % TAU) + TAU) % TAU;\n}\n\nexport interface Wedge {\n index: number;\n /** Fraction of the whole, 0..1. */\n share: number;\n start: number;\n end: number;\n mid: number;\n}\n\n/**\n * Splits a circle into wedges, clockwise from 12 o'clock by default, leaving\n * `gap` radians between neighbours (amicro's graph donut uses 0.07).\n * Negative and non-finite values count as zero.\n */\nexport function pieWedges(\n values: readonly number[],\n options: { start?: number; gap?: number } = {},\n): Wedge[] {\n const start = options.start ?? -Math.PI / 2;\n const gap = options.gap ?? 0;\n const clean = values.map((value) => (Number.isFinite(value) && value > 0 ? value : 0));\n const total = clean.reduce((sum, value) => sum + value, 0);\n let cursor = start;\n return clean.map((value, index) => {\n const share = total > 0 ? value / total : 0;\n const sweep = share * TAU;\n const half = sweep > gap ? gap / 2 : sweep / 2;\n const wedge = {\n index,\n share,\n start: cursor + half,\n end: cursor + sweep - half,\n mid: cursor + sweep / 2,\n };\n cursor += sweep;\n return wedge;\n });\n}\n\n/** True when `angle` lies within the wedge's sweep. */\nexport function angleInWedge(angle: number, start: number, end: number): boolean {\n if (end <= start) return false;\n return normalizeAngle(angle - start) <= end - start;\n}\n\n/**\n * The wedge under a point, or null — hit-testing for a donut from pointer\n * coordinates, so hover never needs to read pixels back.\n */\nexport function wedgeAt(\n wedges: readonly Wedge[],\n center: Point,\n inner: number,\n outer: number,\n point: Point,\n): number | null {\n const dx = point.x - center.x;\n const dy = point.y - center.y;\n const distance = Math.hypot(dx, dy);\n if (distance < inner || distance > outer) return null;\n const angle = Math.atan2(dy, dx);\n const hit = wedges.find(\n (wedge) => wedge.share > 0 && angleInWedge(angle, wedge.start, wedge.end),\n );\n return hit ? hit.index : null;\n}\n\n/** A plain annular sector (amicro's device donut). */\nexport function traceWedge(\n sink: PathSink,\n center: Point,\n inner: number,\n outer: number,\n start: number,\n end: number,\n): void {\n if (end - start <= 0.0001) return;\n sink.moveTo(center.x + outer * Math.cos(start), center.y + outer * Math.sin(start));\n sink.arc(center.x, center.y, outer, start, end);\n sink.lineTo(center.x + inner * Math.cos(end), center.y + inner * Math.sin(end));\n sink.arc(center.x, center.y, inner, end, start, true);\n sink.closePath();\n}\n\n/** An annular sector with rounded corners (amicro's graph donut). */\nexport function traceRoundedWedge(\n sink: PathSink,\n center: Point,\n inner: number,\n outer: number,\n start: number,\n end: number,\n radius: number,\n): void {\n const sweep = end - start;\n if (sweep <= 0.001) return;\n const r = Math.max(0, Math.min(radius, (outer - inner) / 2, (sweep * inner) / 2));\n if (r === 0) {\n traceWedge(sink, center, inner, outer, start, end);\n return;\n }\n const { x: cx, y: cy } = center;\n const at = (distance: number, angle: number): [number, number] => [\n cx + distance * Math.cos(angle),\n cy + distance * Math.sin(angle),\n ];\n const [isx, isy] = at(inner, start + r / inner);\n sink.moveTo(isx, isy);\n sink.arc(cx, cy, inner, start + r / inner, end - r / inner);\n sink.arcTo(...at(inner, end), ...at(outer, end), r);\n sink.arcTo(...at(outer, end), ...at(outer, end - r / outer), r);\n sink.arc(cx, cy, outer, end - r / outer, start + r / outer, true);\n sink.arcTo(...at(outer, start), ...at(inner, start), r);\n sink.arcTo(...at(inner, start), isx, isy, r);\n sink.closePath();\n}\n\n/** A rectangle with separate top and bottom corner radii (a stacked segment). */\nexport function traceRoundedRect(\n sink: PathSink,\n x: number,\n y: number,\n width: number,\n height: number,\n radiusTop: number,\n radiusBottom = radiusTop,\n): void {\n if (width <= 0 || height <= 0) return;\n const top = Math.max(0, Math.min(radiusTop, width / 2, height / 2));\n const bottom = Math.max(0, Math.min(radiusBottom, width / 2, height / 2));\n sink.moveTo(x + top, y);\n sink.lineTo(x + width - top, y);\n sink.arcTo(x + width, y, x + width, y + top, top);\n sink.lineTo(x + width, y + height - bottom);\n sink.arcTo(x + width, y + height, x + width - bottom, y + height, bottom);\n sink.lineTo(x + bottom, y + height);\n sink.arcTo(x, y + height, x, y + height - bottom, bottom);\n sink.lineTo(x, y + top);\n sink.arcTo(x, y, x + top, y, top);\n sink.closePath();\n}\n\n/**\n * Tangents for a monotone cubic spline (Fritsch–Carlson). Monotone means the\n * curve never overshoots its data: a smooth line that invents a dip below zero\n * between two positive days is lying.\n */\nexport function monotoneTangents(points: readonly Point[]): number[] {\n const n = points.length;\n if (n < 2) return points.map(() => 0);\n const slopes: number[] = [];\n for (let i = 0; i < n - 1; i++) {\n const a = points[i] as Point;\n const b = points[i + 1] as Point;\n const dx = b.x - a.x;\n slopes.push(dx === 0 ? 0 : (b.y - a.y) / dx);\n }\n const tangents = points.map((_, i) => {\n if (i === 0) return slopes[0] ?? 0;\n if (i === n - 1) return slopes[n - 2] ?? 0;\n const left = slopes[i - 1] ?? 0;\n const right = slopes[i] ?? 0;\n return left * right <= 0 ? 0 : (left + right) / 2;\n });\n for (let i = 0; i < n - 1; i++) {\n const slope = slopes[i] ?? 0;\n if (slope === 0) {\n tangents[i] = 0;\n tangents[i + 1] = 0;\n continue;\n }\n const a = (tangents[i] ?? 0) / slope;\n const b = (tangents[i + 1] ?? 0) / slope;\n const s = a * a + b * b;\n if (s > 9) {\n const t = 3 / Math.sqrt(s);\n tangents[i] = t * a * slope;\n tangents[i + 1] = t * b * slope;\n }\n }\n return tangents;\n}\n\n/**\n * Traces a monotone spline through `points`. With `baseline`, it closes the\n * shape down to that y — the region under the line, ready to clip a fill.\n */\nexport function traceSpline(sink: PathSink, points: readonly Point[], baseline?: number): void {\n const first = points[0];\n const last = points[points.length - 1];\n if (!first || !last) return;\n const tangents = monotoneTangents(points);\n sink.moveTo(first.x, first.y);\n for (let i = 0; i < points.length - 1; i++) {\n const a = points[i] as Point;\n const b = points[i + 1] as Point;\n const third = (b.x - a.x) / 3;\n sink.bezierCurveTo(\n a.x + third,\n a.y + third * (tangents[i] ?? 0),\n b.x - third,\n b.y - third * (tangents[i + 1] ?? 0),\n b.x,\n b.y,\n );\n }\n if (baseline !== undefined) {\n sink.lineTo(last.x, baseline);\n sink.lineTo(first.x, baseline);\n sink.closePath();\n }\n}\n\n/** Traces straight segments through `points`, optionally closed to a baseline. */\nexport function tracePolyline(\n sink: PathSink,\n points: readonly Point[],\n baseline?: number,\n): void {\n const first = points[0];\n const last = points[points.length - 1];\n if (!first || !last) return;\n sink.moveTo(first.x, first.y);\n for (const point of points.slice(1)) sink.lineTo(point.x, point.y);\n if (baseline !== undefined) {\n sink.lineTo(last.x, baseline);\n sink.lineTo(first.x, baseline);\n sink.closePath();\n }\n}\n\n/** Linear interpolation of a series at fractional index `at` (0..length−1). */\nexport function valueAt(values: readonly number[], at: number): number {\n if (values.length === 0) return 0;\n const clamped = Math.min(values.length - 1, Math.max(0, at));\n const i0 = Math.floor(clamped);\n const i1 = Math.min(i0 + 1, values.length - 1);\n const a = values[i0] ?? 0;\n const b = values[i1] ?? 0;\n return a + (b - a) * (clamped - i0);\n}\n\n/**\n * A round axis maximum just above `value`: 1, 2 or 5 × 10ⁿ, with 5% headroom\n * (amicro's getAxisMax). Zero and negatives give 1.\n */\nexport function niceMax(value: number): number {\n if (!(value > 0)) return 1;\n const target = value * 1.05;\n const power = 10 ** Math.floor(Math.log10(target));\n const normalized = target / power;\n const step = normalized <= 1 ? 1 : normalized <= 2 ? 2 : normalized <= 5 ? 5 : 10;\n return step * power;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ComponentPropsWithRef, FocusEvent, KeyboardEvent, PointerEvent, ReactNode } from "react";
|
|
2
|
+
//#region src/components/dither-canvas/dither-scrubber.d.ts
|
|
3
|
+
/** The index under a pointer: `clientX` across `rect`, rounded to a point. */
|
|
4
|
+
declare function indexFromPointer(clientX: number, rect: {
|
|
5
|
+
left: number;
|
|
6
|
+
width: number;
|
|
7
|
+
}, count: number): number;
|
|
8
|
+
/** The index a key moves to, or null when the key is not a slider key. */
|
|
9
|
+
declare function indexFromKey(key: string, current: number, count: number): number | null;
|
|
10
|
+
interface DitherScrubberOptions {
|
|
11
|
+
/** Number of points. */
|
|
12
|
+
count: number;
|
|
13
|
+
/** Controlled cursor index; null hides the cursor. */
|
|
14
|
+
index?: number | null;
|
|
15
|
+
defaultIndex?: number | null;
|
|
16
|
+
onIndexChange?: (index: number | null) => void;
|
|
17
|
+
}
|
|
18
|
+
interface DitherScrubberProps {
|
|
19
|
+
role: "slider";
|
|
20
|
+
tabIndex: number;
|
|
21
|
+
"aria-valuemin": number;
|
|
22
|
+
"aria-valuemax": number;
|
|
23
|
+
"aria-valuenow": number;
|
|
24
|
+
"aria-orientation": "horizontal";
|
|
25
|
+
onKeyDown: (event: KeyboardEvent<HTMLElement>) => void;
|
|
26
|
+
onPointerMove: (event: PointerEvent<HTMLElement>) => void;
|
|
27
|
+
onPointerLeave: (event: PointerEvent<HTMLElement>) => void;
|
|
28
|
+
onFocus: (event: FocusEvent<HTMLElement>) => void;
|
|
29
|
+
onBlur: (event: FocusEvent<HTMLElement>) => void;
|
|
30
|
+
}
|
|
31
|
+
interface DitherScrubber {
|
|
32
|
+
/** The cursor's point, or null when neither pointer nor focus is on the plot. */
|
|
33
|
+
index: number | null;
|
|
34
|
+
/** The point the slider reports: the cursor, or the latest point at rest. */
|
|
35
|
+
valueIndex: number;
|
|
36
|
+
setIndex: (index: number | null) => void;
|
|
37
|
+
/** Spread onto the plot overlay. Add aria-label and aria-valuetext yourself. */
|
|
38
|
+
sliderProps: DitherScrubberProps;
|
|
39
|
+
}
|
|
40
|
+
/** State and slider props for a keyboard-operable chart cursor. */
|
|
41
|
+
declare function useDitherScrubber({ count, index: controlled, defaultIndex, onIndexChange }: DitherScrubberOptions): DitherScrubber;
|
|
42
|
+
interface DitherCursorProps extends Omit<ComponentPropsWithRef<"div">, "children"> {
|
|
43
|
+
scrubber: DitherScrubber;
|
|
44
|
+
/** Names the slider, e.g. "Members by day". */
|
|
45
|
+
label: string;
|
|
46
|
+
/** What the slider announces for the current point, e.g. "Jul 3: 24". */
|
|
47
|
+
valueText: string;
|
|
48
|
+
/** Cursor position across the plot, 0..1. */
|
|
49
|
+
x: number;
|
|
50
|
+
/** Point position down the plot, 0..1 from the top; null draws no dot. */
|
|
51
|
+
y?: number | null;
|
|
52
|
+
/** Readout content, shown beside the cursor. */
|
|
53
|
+
readout?: ReactNode;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The scrubber's overlay: an invisible slider covering its positioned parent,
|
|
57
|
+
* plus the cursor line, point and readout while a point is active. All real
|
|
58
|
+
* DOM — the readout is text, not pixels. Place it after the chart's role="img"
|
|
59
|
+
* element, not inside it: a slider inside an image would be hidden.
|
|
60
|
+
*/
|
|
61
|
+
declare function DitherCursor({ scrubber, label, valueText, x, y, readout, className, ...props }: DitherCursorProps): import("react").JSX.Element;
|
|
62
|
+
//#endregion
|
|
63
|
+
export { DitherCursor, DitherCursorProps, DitherScrubber, DitherScrubberOptions, DitherScrubberProps, indexFromKey, indexFromPointer, useDitherScrubber };
|
|
64
|
+
//# sourceMappingURL=dither-scrubber.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dither-scrubber.d.ts","names":[],"sources":["../../../src/components/dither-canvas/dither-scrubber.tsx"],"mappings":";;;iBAyBgB,iBACd,iBACA;EAAQ;EAAc;GACtB;;iBAQc,aAAa,aAAa,iBAAiB;UAwB1C;;EAEf;;EAEA;EACA;EACA,iBAAiB;;UAGF;EACf;EACA;EACA;EACA;EACA;EACA;EACA,YAAY,OAAO,cAAc;EACjC,gBAAgB,OAAO,aAAa;EACpC,iBAAiB,OAAO,aAAa;EACrC,UAAU,OAAO,WAAW;EAC5B,SAAS,OAAO,WAAW;;UAGZ;;EAEf;;EAEA;EACA,WAAW;;EAEX,aAAa;;;iBAIC,oBACd,OACA,OAAO,YACP,cACA,iBACC,wBAAwB;UA6DV,0BAA0B,KAAK;EAC9C,UAAU;;EAEV;;EAEA;;EAEA;;EAEA;;EAEA,UAAU;;;;;;;;iBASI,eACd,UACA,OACA,WACA,GACA,GACA,SACA,cACG,SACF,oCAAiB,IAAA"}
|