@cronus-ui/ui 0.6.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/LICENSE +21 -0
- package/README.md +262 -0
- package/dist/charts/animation.d.ts +11 -0
- package/dist/charts/animation.js +29 -0
- package/dist/charts/area-chart-loading.d.ts +34 -0
- package/dist/charts/area-chart-loading.js +22 -0
- package/dist/charts/area-chart.d.ts +48 -0
- package/dist/charts/area-chart.js +57 -0
- package/dist/charts/area-gradient-defs.d.ts +20 -0
- package/dist/charts/area-gradient-defs.js +15 -0
- package/dist/charts/area.d.ts +76 -0
- package/dist/charts/area.js +104 -0
- package/dist/charts/background.d.ts +27 -0
- package/dist/charts/background.js +68 -0
- package/dist/charts/bar-chart-loading.d.ts +17 -0
- package/dist/charts/bar-chart-loading.js +14 -0
- package/dist/charts/bar-chart.d.ts +55 -0
- package/dist/charts/bar-chart.js +432 -0
- package/dist/charts/bar-depth-geometry.d.ts +33 -0
- package/dist/charts/bar-depth-geometry.js +38 -0
- package/dist/charts/bar-depth.d.ts +157 -0
- package/dist/charts/bar-depth.js +586 -0
- package/dist/charts/bar-squares-layout.d.ts +28 -0
- package/dist/charts/bar-squares-layout.js +47 -0
- package/dist/charts/bar-squares.d.ts +49 -0
- package/dist/charts/bar-squares.js +207 -0
- package/dist/charts/bar-x-axis.d.ts +14 -0
- package/dist/charts/bar-x-axis.js +73 -0
- package/dist/charts/bar-y-axis.d.ts +12 -0
- package/dist/charts/bar-y-axis.js +64 -0
- package/dist/charts/bar.d.ts +41 -0
- package/dist/charts/bar.js +208 -0
- package/dist/charts/candlestick-chart.d.ts +46 -0
- package/dist/charts/candlestick-chart.js +203 -0
- package/dist/charts/candlestick.d.ts +24 -0
- package/dist/charts/candlestick.js +139 -0
- package/dist/charts/chart-brush-handle.d.ts +15 -0
- package/dist/charts/chart-brush-handle.js +47 -0
- package/dist/charts/chart-brush-layout.d.ts +27 -0
- package/dist/charts/chart-brush-layout.js +42 -0
- package/dist/charts/chart-brush-selection-overlay.d.ts +19 -0
- package/dist/charts/chart-brush-selection-overlay.js +44 -0
- package/dist/charts/chart-brush-track-overlay.d.ts +23 -0
- package/dist/charts/chart-brush-track-overlay.js +65 -0
- package/dist/charts/chart-brush.d.ts +32 -0
- package/dist/charts/chart-brush.js +116 -0
- package/dist/charts/chart-center-typography.d.ts +12 -0
- package/dist/charts/chart-center-typography.js +12 -0
- package/dist/charts/chart-child-passthrough.d.ts +17 -0
- package/dist/charts/chart-child-passthrough.js +74 -0
- package/dist/charts/chart-config-context.d.ts +26 -0
- package/dist/charts/chart-config-context.js +47 -0
- package/dist/charts/chart-context.d.ts +199 -0
- package/dist/charts/chart-context.js +201 -0
- package/dist/charts/chart-defs.d.ts +13 -0
- package/dist/charts/chart-defs.js +49 -0
- package/dist/charts/chart-formatters.d.ts +10 -0
- package/dist/charts/chart-formatters.js +28 -0
- package/dist/charts/chart-legend-hover.d.ts +13 -0
- package/dist/charts/chart-legend-hover.js +18 -0
- package/dist/charts/chart-legend.d.ts +55 -0
- package/dist/charts/chart-legend.js +30 -0
- package/dist/charts/chart-loading-label.d.ts +10 -0
- package/dist/charts/chart-loading-label.js +21 -0
- package/dist/charts/chart-phase.d.ts +31 -0
- package/dist/charts/chart-phase.js +21 -0
- package/dist/charts/chart-reveal-clip.d.ts +24 -0
- package/dist/charts/chart-reveal-clip.js +24 -0
- package/dist/charts/chart-scale.d.ts +12 -0
- package/dist/charts/chart-scale.js +17 -0
- package/dist/charts/chart-stat-flow.d.ts +36 -0
- package/dist/charts/chart-stat-flow.js +23 -0
- package/dist/charts/choropleth/choropleth-chart.d.ts +43 -0
- package/dist/charts/choropleth/choropleth-chart.js +218 -0
- package/dist/charts/choropleth/choropleth-context.d.ts +86 -0
- package/dist/charts/choropleth/choropleth-context.js +106 -0
- package/dist/charts/choropleth/choropleth-feature.d.ts +13 -0
- package/dist/charts/choropleth/choropleth-feature.js +125 -0
- package/dist/charts/choropleth/choropleth-graticule.d.ts +11 -0
- package/dist/charts/choropleth/choropleth-graticule.js +12 -0
- package/dist/charts/choropleth/choropleth-tooltip.d.ts +31 -0
- package/dist/charts/choropleth/choropleth-tooltip.js +50 -0
- package/dist/charts/choropleth/index.d.ts +7 -0
- package/dist/charts/choropleth/index.js +6 -0
- package/dist/charts/composed-chart.d.ts +36 -0
- package/dist/charts/composed-chart.js +152 -0
- package/dist/charts/dash-tail-stroke.d.ts +18 -0
- package/dist/charts/dash-tail-stroke.js +13 -0
- package/dist/charts/decimate-time-series.d.ts +10 -0
- package/dist/charts/decimate-time-series.js +112 -0
- package/dist/charts/fade-edges.d.ts +34 -0
- package/dist/charts/fade-edges.js +35 -0
- package/dist/charts/filter-data-by-x-domain.d.ts +5 -0
- package/dist/charts/filter-data-by-x-domain.js +42 -0
- package/dist/charts/funnel-chart.d.ts +91 -0
- package/dist/charts/funnel-chart.js +302 -0
- package/dist/charts/gauge-label-layout.d.ts +22 -0
- package/dist/charts/gauge-label-layout.js +44 -0
- package/dist/charts/gauge.d.ts +56 -0
- package/dist/charts/gauge.js +307 -0
- package/dist/charts/generate-chart-skeleton-data.d.ts +16 -0
- package/dist/charts/generate-chart-skeleton-data.js +25 -0
- package/dist/charts/grid.d.ts +58 -0
- package/dist/charts/grid.js +80 -0
- package/dist/charts/heatmap/generate-heatmap-skeleton-data.d.ts +4 -0
- package/dist/charts/heatmap/generate-heatmap-skeleton-data.js +12 -0
- package/dist/charts/heatmap/heatmap-animation.d.ts +41 -0
- package/dist/charts/heatmap/heatmap-animation.js +85 -0
- package/dist/charts/heatmap/heatmap-cells.d.ts +21 -0
- package/dist/charts/heatmap/heatmap-cells.js +265 -0
- package/dist/charts/heatmap/heatmap-chart-loading.d.ts +21 -0
- package/dist/charts/heatmap/heatmap-chart-loading.js +14 -0
- package/dist/charts/heatmap/heatmap-chart.d.ts +80 -0
- package/dist/charts/heatmap/heatmap-chart.js +275 -0
- package/dist/charts/heatmap/heatmap-colors.d.ts +70 -0
- package/dist/charts/heatmap/heatmap-colors.js +113 -0
- package/dist/charts/heatmap/heatmap-context.d.ts +109 -0
- package/dist/charts/heatmap/heatmap-context.js +69 -0
- package/dist/charts/heatmap/heatmap-legend-gradient.d.ts +20 -0
- package/dist/charts/heatmap/heatmap-legend-gradient.js +44 -0
- package/dist/charts/heatmap/heatmap-legend-swatch.d.ts +8 -0
- package/dist/charts/heatmap/heatmap-legend-swatch.js +26 -0
- package/dist/charts/heatmap/heatmap-legend.d.ts +41 -0
- package/dist/charts/heatmap/heatmap-legend.js +68 -0
- package/dist/charts/heatmap/heatmap-pattern-defs.d.ts +5 -0
- package/dist/charts/heatmap/heatmap-pattern-defs.js +25 -0
- package/dist/charts/heatmap/heatmap-resolve-separator.d.ts +8 -0
- package/dist/charts/heatmap/heatmap-resolve-separator.js +82 -0
- package/dist/charts/heatmap/heatmap-separator.d.ts +63 -0
- package/dist/charts/heatmap/heatmap-separator.js +71 -0
- package/dist/charts/heatmap/heatmap-tooltip.d.ts +30 -0
- package/dist/charts/heatmap/heatmap-tooltip.js +20 -0
- package/dist/charts/heatmap/heatmap-utils.d.ts +175 -0
- package/dist/charts/heatmap/heatmap-utils.js +595 -0
- package/dist/charts/heatmap/heatmap-x-axis.d.ts +7 -0
- package/dist/charts/heatmap/heatmap-x-axis.js +54 -0
- package/dist/charts/heatmap/heatmap-y-axis.d.ts +14 -0
- package/dist/charts/heatmap/heatmap-y-axis.js +37 -0
- package/dist/charts/heatmap/index.d.ts +15 -0
- package/dist/charts/heatmap/index.js +15 -0
- package/dist/charts/heatmap/use-delayed-tooltip-data.d.ts +3 -0
- package/dist/charts/heatmap/use-delayed-tooltip-data.js +53 -0
- package/dist/charts/highlight-segment-bounds.d.ts +18 -0
- package/dist/charts/highlight-segment-bounds.js +36 -0
- package/dist/charts/highlight-segment.d.ts +22 -0
- package/dist/charts/highlight-segment.js +14 -0
- package/dist/charts/index.d.ts +106 -0
- package/dist/charts/index.js +133 -0
- package/dist/charts/indicator-fade.d.ts +15 -0
- package/dist/charts/indicator-fade.js +42 -0
- package/dist/charts/legend/index.d.ts +8 -0
- package/dist/charts/legend/index.js +10 -0
- package/dist/charts/legend/legend-context.d.ts +48 -0
- package/dist/charts/legend/legend-context.js +34 -0
- package/dist/charts/legend/legend-item.d.ts +12 -0
- package/dist/charts/legend/legend-item.js +11 -0
- package/dist/charts/legend/legend-label.d.ts +9 -0
- package/dist/charts/legend/legend-label.js +10 -0
- package/dist/charts/legend/legend-marker.d.ts +9 -0
- package/dist/charts/legend/legend-marker.js +11 -0
- package/dist/charts/legend/legend-progress.d.ts +13 -0
- package/dist/charts/legend/legend-progress.js +15 -0
- package/dist/charts/legend/legend-value.d.ts +17 -0
- package/dist/charts/legend/legend-value.js +11 -0
- package/dist/charts/legend/legend.d.ts +23 -0
- package/dist/charts/legend/legend.js +43 -0
- package/dist/charts/line-chart-loading.d.ts +34 -0
- package/dist/charts/line-chart-loading.js +22 -0
- package/dist/charts/line-chart.d.ts +46 -0
- package/dist/charts/line-chart.js +91 -0
- package/dist/charts/line-loading-pulse.d.ts +20 -0
- package/dist/charts/line-loading-pulse.js +124 -0
- package/dist/charts/line-loading-timing.d.ts +10 -0
- package/dist/charts/line-loading-timing.js +10 -0
- package/dist/charts/line-series-terminal-marker.d.ts +16 -0
- package/dist/charts/line-series-terminal-marker.js +46 -0
- package/dist/charts/line.d.ts +64 -0
- package/dist/charts/line.js +96 -0
- package/dist/charts/live-line-chart.d.ts +35 -0
- package/dist/charts/live-line-chart.js +374 -0
- package/dist/charts/live-line.d.ts +39 -0
- package/dist/charts/live-line.js +78 -0
- package/dist/charts/live-x-axis.d.ts +12 -0
- package/dist/charts/live-x-axis.js +85 -0
- package/dist/charts/live-y-axis.d.ts +16 -0
- package/dist/charts/live-y-axis.js +137 -0
- package/dist/charts/loading-sweep.d.ts +66 -0
- package/dist/charts/loading-sweep.js +174 -0
- package/dist/charts/markers/chart-markers.d.ts +25 -0
- package/dist/charts/markers/chart-markers.js +87 -0
- package/dist/charts/markers/index.d.ts +3 -0
- package/dist/charts/markers/index.js +3 -0
- package/dist/charts/markers/marker-group.d.ts +88 -0
- package/dist/charts/markers/marker-group.js +171 -0
- package/dist/charts/motion-utils.d.ts +9 -0
- package/dist/charts/motion-utils.js +28 -0
- package/dist/charts/notch-gauge-shared.d.ts +49 -0
- package/dist/charts/notch-gauge-shared.js +103 -0
- package/dist/charts/path-stroke-utils.d.ts +20 -0
- package/dist/charts/path-stroke-utils.js +55 -0
- package/dist/charts/pattern-area.d.ts +21 -0
- package/dist/charts/pattern-area.js +19 -0
- package/dist/charts/pattern-preset.d.ts +26 -0
- package/dist/charts/pattern-preset.js +83 -0
- package/dist/charts/pie-center-shell.d.ts +24 -0
- package/dist/charts/pie-center-shell.js +109 -0
- package/dist/charts/pie-center.d.ts +46 -0
- package/dist/charts/pie-center.js +46 -0
- package/dist/charts/pie-chart.d.ts +50 -0
- package/dist/charts/pie-chart.js +248 -0
- package/dist/charts/pie-context.d.ts +74 -0
- package/dist/charts/pie-context.js +95 -0
- package/dist/charts/pie-slice.d.ts +28 -0
- package/dist/charts/pie-slice.js +180 -0
- package/dist/charts/profit-loss-legend-hover.d.ts +11 -0
- package/dist/charts/profit-loss-legend-hover.js +12 -0
- package/dist/charts/profit-loss-legend.d.ts +17 -0
- package/dist/charts/profit-loss-legend.js +18 -0
- package/dist/charts/profit-loss-line.d.ts +27 -0
- package/dist/charts/profit-loss-line.js +77 -0
- package/dist/charts/profit-loss-segments.d.ts +12 -0
- package/dist/charts/profit-loss-segments.js +86 -0
- package/dist/charts/projection-config.d.ts +11 -0
- package/dist/charts/projection-config.js +80 -0
- package/dist/charts/projection-line-end-marker.d.ts +15 -0
- package/dist/charts/projection-line-end-marker.js +27 -0
- package/dist/charts/projection-line.d.ts +40 -0
- package/dist/charts/projection-line.js +79 -0
- package/dist/charts/projection-utils.d.ts +46 -0
- package/dist/charts/projection-utils.js +253 -0
- package/dist/charts/radar-area.d.ts +17 -0
- package/dist/charts/radar-area.js +84 -0
- package/dist/charts/radar-axis.d.ts +14 -0
- package/dist/charts/radar-axis.js +24 -0
- package/dist/charts/radar-chart.d.ts +36 -0
- package/dist/charts/radar-chart.js +89 -0
- package/dist/charts/radar-context.d.ts +68 -0
- package/dist/charts/radar-context.js +87 -0
- package/dist/charts/radar-grid.d.ts +16 -0
- package/dist/charts/radar-grid.js +40 -0
- package/dist/charts/radar-labels.d.ts +16 -0
- package/dist/charts/radar-labels.js +29 -0
- package/dist/charts/reference-area-config.d.ts +10 -0
- package/dist/charts/reference-area-config.js +39 -0
- package/dist/charts/reference-area-geometry.d.ts +23 -0
- package/dist/charts/reference-area-geometry.js +68 -0
- package/dist/charts/reference-area-registration-context.d.ts +8 -0
- package/dist/charts/reference-area-registration-context.js +7 -0
- package/dist/charts/reference-area.d.ts +52 -0
- package/dist/charts/reference-area.js +101 -0
- package/dist/charts/ring-center.d.ts +46 -0
- package/dist/charts/ring-center.js +41 -0
- package/dist/charts/ring-chart.d.ts +41 -0
- package/dist/charts/ring-chart.js +212 -0
- package/dist/charts/ring-context.d.ts +66 -0
- package/dist/charts/ring-context.js +92 -0
- package/dist/charts/ring.d.ts +11 -0
- package/dist/charts/ring.js +104 -0
- package/dist/charts/sankey/index.d.ts +6 -0
- package/dist/charts/sankey/index.js +6 -0
- package/dist/charts/sankey/sankey-chart.d.ts +39 -0
- package/dist/charts/sankey/sankey-chart.js +117 -0
- package/dist/charts/sankey/sankey-context.d.ts +69 -0
- package/dist/charts/sankey/sankey-context.js +23 -0
- package/dist/charts/sankey/sankey-link.d.ts +26 -0
- package/dist/charts/sankey/sankey-link.js +155 -0
- package/dist/charts/sankey/sankey-node.d.ts +29 -0
- package/dist/charts/sankey/sankey-node.js +200 -0
- package/dist/charts/sankey/sankey-tooltip.d.ts +24 -0
- package/dist/charts/sankey/sankey-tooltip.js +70 -0
- package/dist/charts/scatter-chart-shell.d.ts +21 -0
- package/dist/charts/scatter-chart-shell.js +152 -0
- package/dist/charts/scatter-chart.d.ts +32 -0
- package/dist/charts/scatter-chart.js +56 -0
- package/dist/charts/scatter-svg.d.ts +6 -0
- package/dist/charts/scatter-svg.js +16 -0
- package/dist/charts/scatter.d.ts +21 -0
- package/dist/charts/scatter.js +30 -0
- package/dist/charts/segment.d.ts +26 -0
- package/dist/charts/segment.js +42 -0
- package/dist/charts/series-bar-layout.d.ts +18 -0
- package/dist/charts/series-bar-layout.js +31 -0
- package/dist/charts/series-bar.d.ts +20 -0
- package/dist/charts/series-bar.js +120 -0
- package/dist/charts/series-dash-tail-overlay.d.ts +17 -0
- package/dist/charts/series-dash-tail-overlay.js +39 -0
- package/dist/charts/series-highlight-layer.d.ts +23 -0
- package/dist/charts/series-highlight-layer.js +21 -0
- package/dist/charts/series-hover-dim.d.ts +29 -0
- package/dist/charts/series-hover-dim.js +26 -0
- package/dist/charts/series-markers.d.ts +14 -0
- package/dist/charts/series-markers.js +98 -0
- package/dist/charts/series-path-utils.d.ts +19 -0
- package/dist/charts/series-path-utils.js +60 -0
- package/dist/charts/series-point-marker.d.ts +48 -0
- package/dist/charts/series-point-marker.js +48 -0
- package/dist/charts/shimmering-text.d.ts +23 -0
- package/dist/charts/shimmering-text.js +31 -0
- package/dist/charts/static-chart-preview-context.d.ts +7 -0
- package/dist/charts/static-chart-preview-context.js +12 -0
- package/dist/charts/sunburst-breadcrumb.d.ts +16 -0
- package/dist/charts/sunburst-breadcrumb.js +26 -0
- package/dist/charts/sunburst-center.d.ts +5 -0
- package/dist/charts/sunburst-center.js +17 -0
- package/dist/charts/sunburst-chart.d.ts +30 -0
- package/dist/charts/sunburst-chart.js +263 -0
- package/dist/charts/sunburst-context.d.ts +61 -0
- package/dist/charts/sunburst-context.js +112 -0
- package/dist/charts/sunburst-data.d.ts +9 -0
- package/dist/charts/sunburst-data.js +2 -0
- package/dist/charts/sunburst-hint.d.ts +13 -0
- package/dist/charts/sunburst-hint.js +31 -0
- package/dist/charts/sunburst-labels.d.ts +9 -0
- package/dist/charts/sunburst-labels.js +63 -0
- package/dist/charts/sunburst-segment.d.ts +11 -0
- package/dist/charts/sunburst-segment.js +78 -0
- package/dist/charts/sunburst.d.ts +101 -0
- package/dist/charts/sunburst.js +396 -0
- package/dist/charts/time-series-chart-shell.d.ts +47 -0
- package/dist/charts/time-series-chart-shell.js +390 -0
- package/dist/charts/tooltip/chart-tooltip.d.ts +76 -0
- package/dist/charts/tooltip/chart-tooltip.js +150 -0
- package/dist/charts/tooltip/date-ticker.d.ts +11 -0
- package/dist/charts/tooltip/date-ticker.js +77 -0
- package/dist/charts/tooltip/index.d.ts +7 -0
- package/dist/charts/tooltip/index.js +7 -0
- package/dist/charts/tooltip/tooltip-box.d.ts +48 -0
- package/dist/charts/tooltip/tooltip-box.js +114 -0
- package/dist/charts/tooltip/tooltip-content.d.ts +18 -0
- package/dist/charts/tooltip/tooltip-content.js +9 -0
- package/dist/charts/tooltip/tooltip-dot.d.ts +28 -0
- package/dist/charts/tooltip/tooltip-dot.js +54 -0
- package/dist/charts/tooltip/tooltip-indicator.d.ts +45 -0
- package/dist/charts/tooltip/tooltip-indicator.js +65 -0
- package/dist/charts/use-animated-series-path.d.ts +19 -0
- package/dist/charts/use-animated-series-path.js +93 -0
- package/dist/charts/use-animated-y-domains.d.ts +14 -0
- package/dist/charts/use-animated-y-domains.js +150 -0
- package/dist/charts/use-chart-interaction.d.ts +41 -0
- package/dist/charts/use-chart-interaction.js +244 -0
- package/dist/charts/use-chart-phase-orchestrator.d.ts +23 -0
- package/dist/charts/use-chart-phase-orchestrator.js +139 -0
- package/dist/charts/use-enter-complete.d.ts +8 -0
- package/dist/charts/use-enter-complete.js +23 -0
- package/dist/charts/use-grid-shimmer.d.ts +16 -0
- package/dist/charts/use-grid-shimmer.js +63 -0
- package/dist/charts/use-highlight-segment.d.ts +14 -0
- package/dist/charts/use-highlight-segment.js +34 -0
- package/dist/charts/use-mount-progress.d.ts +4 -0
- package/dist/charts/use-mount-progress.js +22 -0
- package/dist/charts/use-scatter-chart-interaction.d.ts +35 -0
- package/dist/charts/use-scatter-chart-interaction.js +228 -0
- package/dist/charts/use-scheduled-tooltip.d.ts +9 -0
- package/dist/charts/use-scheduled-tooltip.js +76 -0
- package/dist/charts/visx-pattern.d.ts +19 -0
- package/dist/charts/visx-pattern.js +20 -0
- package/dist/charts/x-axis.d.ts +27 -0
- package/dist/charts/x-axis.js +415 -0
- package/dist/charts/y-axis-scales.d.ts +26 -0
- package/dist/charts/y-axis-scales.js +72 -0
- package/dist/charts/y-axis-ticks.d.ts +12 -0
- package/dist/charts/y-axis-ticks.js +24 -0
- package/dist/charts/y-axis.d.ts +22 -0
- package/dist/charts/y-axis.js +80 -0
- package/dist/charts/y-domain-utils.d.ts +27 -0
- package/dist/charts/y-domain-utils.js +88 -0
- package/dist/components/accordion.d.ts +6 -0
- package/dist/components/accordion.js +20 -0
- package/dist/components/alert-dialog.d.ts +18 -0
- package/dist/components/alert-dialog.js +41 -0
- package/dist/components/alert.d.ts +24 -0
- package/dist/components/alert.js +46 -0
- package/dist/components/animated-button.d.ts +5 -0
- package/dist/components/animated-button.js +16 -0
- package/dist/components/animated-list.d.ts +26 -0
- package/dist/components/animated-list.js +25 -0
- package/dist/components/animated-number.d.ts +67 -0
- package/dist/components/animated-number.js +131 -0
- package/dist/components/app-shell.d.ts +27 -0
- package/dist/components/app-shell.js +18 -0
- package/dist/components/area-chart.d.ts +11 -0
- package/dist/components/area-chart.js +12 -0
- package/dist/components/aspect-ratio.d.ts +16 -0
- package/dist/components/aspect-ratio.js +14 -0
- package/dist/components/aurora-background.d.ts +3 -0
- package/dist/components/aurora-background.js +8 -0
- package/dist/components/autocomplete.d.ts +55 -0
- package/dist/components/autocomplete.js +279 -0
- package/dist/components/avatar-group.d.ts +39 -0
- package/dist/components/avatar-group.js +50 -0
- package/dist/components/avatar.d.ts +5 -0
- package/dist/components/avatar.js +17 -0
- package/dist/components/badge.d.ts +10 -0
- package/dist/components/badge.js +35 -0
- package/dist/components/banner.d.ts +45 -0
- package/dist/components/banner.js +80 -0
- package/dist/components/bar-chart.d.ts +11 -0
- package/dist/components/bar-chart.js +9 -0
- package/dist/components/border-beam.d.ts +45 -0
- package/dist/components/border-beam.js +48 -0
- package/dist/components/breadcrumb.d.ts +12 -0
- package/dist/components/breadcrumb.js +35 -0
- package/dist/components/button-group.d.ts +7 -0
- package/dist/components/button-group.js +10 -0
- package/dist/components/button.d.ts +12 -0
- package/dist/components/button.js +39 -0
- package/dist/components/calendar.d.ts +7 -0
- package/dist/components/calendar.js +71 -0
- package/dist/components/candlestick-chart.d.ts +13 -0
- package/dist/components/candlestick-chart.js +66 -0
- package/dist/components/card-stack.d.ts +28 -0
- package/dist/components/card-stack.js +47 -0
- package/dist/components/card.d.ts +9 -0
- package/dist/components/card.js +32 -0
- package/dist/components/carousel.d.ts +82 -0
- package/dist/components/carousel.js +310 -0
- package/dist/components/chart.d.ts +100 -0
- package/dist/components/chart.js +210 -0
- package/dist/components/checkbox.d.ts +3 -0
- package/dist/components/checkbox.js +11 -0
- package/dist/components/chip.d.ts +80 -0
- package/dist/components/chip.js +186 -0
- package/dist/components/choropleth-chart.d.ts +12 -0
- package/dist/components/choropleth-chart.js +31 -0
- package/dist/components/click-spark.d.ts +19 -0
- package/dist/components/click-spark.js +51 -0
- package/dist/components/code-block.d.ts +13 -0
- package/dist/components/code-block.js +20 -0
- package/dist/components/code-tabs.d.ts +51 -0
- package/dist/components/code-tabs.js +150 -0
- package/dist/components/collapsible.d.ts +5 -0
- package/dist/components/collapsible.js +12 -0
- package/dist/components/color-picker.d.ts +30 -0
- package/dist/components/color-picker.js +300 -0
- package/dist/components/combobox.d.ts +33 -0
- package/dist/components/combobox.js +32 -0
- package/dist/components/command.d.ts +87 -0
- package/dist/components/command.js +44 -0
- package/dist/components/comparison-slider.d.ts +17 -0
- package/dist/components/comparison-slider.js +81 -0
- package/dist/components/composed-chart.d.ts +13 -0
- package/dist/components/composed-chart.js +22 -0
- package/dist/components/confetti.d.ts +21 -0
- package/dist/components/confetti.js +111 -0
- package/dist/components/confirmation-dialog.d.ts +46 -0
- package/dist/components/confirmation-dialog.js +102 -0
- package/dist/components/context-menu.d.ts +28 -0
- package/dist/components/context-menu.js +52 -0
- package/dist/components/copy-button.d.ts +13 -0
- package/dist/components/copy-button.js +72 -0
- package/dist/components/countdown.d.ts +58 -0
- package/dist/components/countdown.js +106 -0
- package/dist/components/credit-card-input.d.ts +62 -0
- package/dist/components/credit-card-input.js +211 -0
- package/dist/components/currency-input.d.ts +86 -0
- package/dist/components/currency-input.js +215 -0
- package/dist/components/data-table.d.ts +232 -0
- package/dist/components/data-table.js +359 -0
- package/dist/components/date-picker.d.ts +66 -0
- package/dist/components/date-picker.js +55 -0
- package/dist/components/date-range-picker.d.ts +59 -0
- package/dist/components/date-range-picker.js +59 -0
- package/dist/components/description-list.d.ts +84 -0
- package/dist/components/description-list.js +138 -0
- package/dist/components/dialog.d.ts +26 -0
- package/dist/components/dialog.js +35 -0
- package/dist/components/dock.d.ts +34 -0
- package/dist/components/dock.js +61 -0
- package/dist/components/dot-pattern.d.ts +24 -0
- package/dist/components/dot-pattern.js +19 -0
- package/dist/components/drawer.d.ts +22 -0
- package/dist/components/drawer.js +37 -0
- package/dist/components/dropdown-menu.d.ts +32 -0
- package/dist/components/dropdown-menu.js +56 -0
- package/dist/components/dynamic-island.d.ts +26 -0
- package/dist/components/dynamic-island.js +31 -0
- package/dist/components/empty.d.ts +7 -0
- package/dist/components/empty.js +24 -0
- package/dist/components/expandable-tabs.d.ts +24 -0
- package/dist/components/expandable-tabs.js +30 -0
- package/dist/components/fab.d.ts +35 -0
- package/dist/components/fab.js +36 -0
- package/dist/components/field.d.ts +6 -0
- package/dist/components/field.js +22 -0
- package/dist/components/file-dropzone.d.ts +28 -0
- package/dist/components/file-dropzone.js +59 -0
- package/dist/components/flickering-grid.d.ts +25 -0
- package/dist/components/flickering-grid.js +30 -0
- package/dist/components/flip-card.d.ts +70 -0
- package/dist/components/flip-card.js +117 -0
- package/dist/components/floating-label-input.d.ts +34 -0
- package/dist/components/floating-label-input.js +25 -0
- package/dist/components/form.d.ts +25 -0
- package/dist/components/form.js +68 -0
- package/dist/components/frame.d.ts +12 -0
- package/dist/components/frame.js +10 -0
- package/dist/components/funnel-chart.d.ts +11 -0
- package/dist/components/funnel-chart.js +16 -0
- package/dist/components/gauge-chart.d.ts +8 -0
- package/dist/components/gauge-chart.js +10 -0
- package/dist/components/glare-hover.d.ts +15 -0
- package/dist/components/glare-hover.js +64 -0
- package/dist/components/glass-card.d.ts +3 -0
- package/dist/components/glass-card.js +8 -0
- package/dist/components/gradient-border.d.ts +7 -0
- package/dist/components/gradient-border.js +8 -0
- package/dist/components/gradient-text.d.ts +6 -0
- package/dist/components/gradient-text.js +10 -0
- package/dist/components/grid-pattern.d.ts +23 -0
- package/dist/components/grid-pattern.js +18 -0
- package/dist/components/heatmap-chart.d.ts +6 -0
- package/dist/components/heatmap-chart.js +8 -0
- package/dist/components/heatmap.d.ts +28 -0
- package/dist/components/heatmap.js +41 -0
- package/dist/components/highlighter.d.ts +20 -0
- package/dist/components/highlighter.js +19 -0
- package/dist/components/hover-card.d.ts +5 -0
- package/dist/components/hover-card.js +12 -0
- package/dist/components/image-zoom.d.ts +47 -0
- package/dist/components/image-zoom.js +125 -0
- package/dist/components/input-group.d.ts +10 -0
- package/dist/components/input-group.js +12 -0
- package/dist/components/input-otp.d.ts +18 -0
- package/dist/components/input-otp.js +38 -0
- package/dist/components/input.d.ts +6 -0
- package/dist/components/input.js +8 -0
- package/dist/components/json-viewer.d.ts +43 -0
- package/dist/components/json-viewer.js +313 -0
- package/dist/components/kanban.d.ts +31 -0
- package/dist/components/kanban.js +143 -0
- package/dist/components/kbd.d.ts +3 -0
- package/dist/components/kbd.js +8 -0
- package/dist/components/label.d.ts +3 -0
- package/dist/components/label.js +9 -0
- package/dist/components/light-rays.d.ts +19 -0
- package/dist/components/light-rays.js +20 -0
- package/dist/components/lightbox.d.ts +24 -0
- package/dist/components/lightbox.js +68 -0
- package/dist/components/line-chart.d.ts +10 -0
- package/dist/components/line-chart.js +9 -0
- package/dist/components/live-line-chart.d.ts +12 -0
- package/dist/components/live-line-chart.js +42 -0
- package/dist/components/logo-carousel.d.ts +27 -0
- package/dist/components/logo-carousel.js +101 -0
- package/dist/components/magnetic.d.ts +44 -0
- package/dist/components/magnetic.js +172 -0
- package/dist/components/marquee.d.ts +71 -0
- package/dist/components/marquee.js +141 -0
- package/dist/components/masonry.d.ts +16 -0
- package/dist/components/masonry.js +84 -0
- package/dist/components/menubar.d.ts +33 -0
- package/dist/components/menubar.js +56 -0
- package/dist/components/meteors.d.ts +20 -0
- package/dist/components/meteors.js +39 -0
- package/dist/components/metric.d.ts +9 -0
- package/dist/components/metric.js +35 -0
- package/dist/components/mode-toggle.d.ts +32 -0
- package/dist/components/mode-toggle.js +40 -0
- package/dist/components/morphing-popover.d.ts +91 -0
- package/dist/components/morphing-popover.js +194 -0
- package/dist/components/motion-presets.d.ts +9 -0
- package/dist/components/motion-presets.js +20 -0
- package/dist/components/multi-select.d.ts +54 -0
- package/dist/components/multi-select.js +0 -0
- package/dist/components/navigation-menu.d.ts +12 -0
- package/dist/components/navigation-menu.js +42 -0
- package/dist/components/noise.d.ts +19 -0
- package/dist/components/noise.js +18 -0
- package/dist/components/notification-center.d.ts +68 -0
- package/dist/components/notification-center.js +57 -0
- package/dist/components/number-input.d.ts +45 -0
- package/dist/components/number-input.js +148 -0
- package/dist/components/orbit.d.ts +77 -0
- package/dist/components/orbit.js +100 -0
- package/dist/components/pagination.d.ts +16 -0
- package/dist/components/pagination.js +34 -0
- package/dist/components/particles.d.ts +18 -0
- package/dist/components/particles.js +92 -0
- package/dist/components/password-input.d.ts +16 -0
- package/dist/components/password-input.js +49 -0
- package/dist/components/phone-input.d.ts +67 -0
- package/dist/components/phone-input.js +225 -0
- package/dist/components/pie-chart.d.ts +12 -0
- package/dist/components/pie-chart.js +13 -0
- package/dist/components/pill-nav.d.ts +25 -0
- package/dist/components/pill-nav.js +66 -0
- package/dist/components/popover.d.ts +7 -0
- package/dist/components/popover.js +15 -0
- package/dist/components/profit-loss-chart.d.ts +10 -0
- package/dist/components/profit-loss-chart.js +8 -0
- package/dist/components/progress.d.ts +10 -0
- package/dist/components/progress.js +17 -0
- package/dist/components/progressive-blur.d.ts +24 -0
- package/dist/components/progressive-blur.js +43 -0
- package/dist/components/radar-chart.d.ts +9 -0
- package/dist/components/radar-chart.js +9 -0
- package/dist/components/radio-group.d.ts +4 -0
- package/dist/components/radio-group.js +15 -0
- package/dist/components/rating.d.ts +29 -0
- package/dist/components/rating.js +94 -0
- package/dist/components/resizable.d.ts +57 -0
- package/dist/components/resizable.js +73 -0
- package/dist/components/retro-grid.d.ts +25 -0
- package/dist/components/retro-grid.js +26 -0
- package/dist/components/reveal.d.ts +9 -0
- package/dist/components/reveal.js +14 -0
- package/dist/components/rich-text-editor.d.ts +28 -0
- package/dist/components/rich-text-editor.js +83 -0
- package/dist/components/ring-chart.d.ts +13 -0
- package/dist/components/ring-chart.js +16 -0
- package/dist/components/ripple.d.ts +25 -0
- package/dist/components/ripple.js +26 -0
- package/dist/components/sankey-chart.d.ts +16 -0
- package/dist/components/sankey-chart.js +8 -0
- package/dist/components/scatter-chart.d.ts +12 -0
- package/dist/components/scatter-chart.js +9 -0
- package/dist/components/scheduler.d.ts +50 -0
- package/dist/components/scheduler.js +93 -0
- package/dist/components/scramble-text.d.ts +39 -0
- package/dist/components/scramble-text.js +78 -0
- package/dist/components/scroll-area.d.ts +13 -0
- package/dist/components/scroll-area.js +14 -0
- package/dist/components/scroll-progress.d.ts +19 -0
- package/dist/components/scroll-progress.js +67 -0
- package/dist/components/segmented-control.d.ts +48 -0
- package/dist/components/segmented-control.js +222 -0
- package/dist/components/select.d.ts +12 -0
- package/dist/components/select.js +43 -0
- package/dist/components/separator.d.ts +3 -0
- package/dist/components/separator.js +9 -0
- package/dist/components/sheet.d.ts +25 -0
- package/dist/components/sheet.js +47 -0
- package/dist/components/shimmer.d.ts +3 -0
- package/dist/components/shimmer.js +8 -0
- package/dist/components/shiny-text.d.ts +20 -0
- package/dist/components/shiny-text.js +24 -0
- package/dist/components/sidebar.d.ts +92 -0
- package/dist/components/sidebar.js +290 -0
- package/dist/components/signature-pad.d.ts +44 -0
- package/dist/components/signature-pad.js +317 -0
- package/dist/components/skeleton.d.ts +3 -0
- package/dist/components/skeleton.js +8 -0
- package/dist/components/slider.d.ts +10 -0
- package/dist/components/slider.js +27 -0
- package/dist/components/sonner.d.ts +9 -0
- package/dist/components/sonner.js +17 -0
- package/dist/components/sparkles-text.d.ts +19 -0
- package/dist/components/sparkles-text.js +36 -0
- package/dist/components/sparkline.d.ts +22 -0
- package/dist/components/sparkline.js +100 -0
- package/dist/components/spinner.d.ts +10 -0
- package/dist/components/spinner.js +20 -0
- package/dist/components/spinning-text.d.ts +29 -0
- package/dist/components/spinning-text.js +40 -0
- package/dist/components/split-button.d.ts +71 -0
- package/dist/components/split-button.js +30 -0
- package/dist/components/spotlight-card.d.ts +11 -0
- package/dist/components/spotlight-card.js +63 -0
- package/dist/components/star-border.d.ts +19 -0
- package/dist/components/star-border.js +18 -0
- package/dist/components/status-dot.d.ts +60 -0
- package/dist/components/status-dot.js +76 -0
- package/dist/components/stepper.d.ts +98 -0
- package/dist/components/stepper.js +164 -0
- package/dist/components/sunburst-chart.d.ts +11 -0
- package/dist/components/sunburst-chart.js +45 -0
- package/dist/components/switch.d.ts +3 -0
- package/dist/components/switch.js +10 -0
- package/dist/components/table-of-contents.d.ts +64 -0
- package/dist/components/table-of-contents.js +0 -0
- package/dist/components/table.d.ts +10 -0
- package/dist/components/table.js +38 -0
- package/dist/components/tabs.d.ts +6 -0
- package/dist/components/tabs.js +22 -0
- package/dist/components/tags-input.d.ts +39 -0
- package/dist/components/tags-input.js +86 -0
- package/dist/components/terminal.d.ts +86 -0
- package/dist/components/terminal.js +182 -0
- package/dist/components/text-effect.d.ts +71 -0
- package/dist/components/text-effect.js +166 -0
- package/dist/components/textarea.d.ts +6 -0
- package/dist/components/textarea.js +8 -0
- package/dist/components/tilt-card.d.ts +30 -0
- package/dist/components/tilt-card.js +84 -0
- package/dist/components/time-picker.d.ts +58 -0
- package/dist/components/time-picker.js +245 -0
- package/dist/components/timeline.d.ts +81 -0
- package/dist/components/timeline.js +165 -0
- package/dist/components/toggle-group.d.ts +12 -0
- package/dist/components/toggle-group.js +23 -0
- package/dist/components/toggle.d.ts +12 -0
- package/dist/components/toggle.js +25 -0
- package/dist/components/toolbar.d.ts +14 -0
- package/dist/components/toolbar.js +89 -0
- package/dist/components/tooltip.d.ts +29 -0
- package/dist/components/tooltip.js +48 -0
- package/dist/components/tree-view.d.ts +45 -0
- package/dist/components/tree-view.js +197 -0
- package/dist/components/typing-text.d.ts +49 -0
- package/dist/components/typing-text.js +90 -0
- package/dist/components/usage-meter.d.ts +30 -0
- package/dist/components/usage-meter.js +90 -0
- package/dist/components/video-player.d.ts +48 -0
- package/dist/components/video-player.js +216 -0
- package/dist/components/word-rotate.d.ts +40 -0
- package/dist/components/word-rotate.js +34 -0
- package/dist/index.d.ts +306 -0
- package/dist/index.js +179 -0
- package/dist/lib/cn.d.ts +7 -0
- package/dist/lib/cn.js +10 -0
- package/dist/lib/demo-saas.d.ts +171 -0
- package/dist/lib/demo-saas.js +210 -0
- package/dist/lib/demo-store.d.ts +157 -0
- package/dist/lib/demo-store.js +353 -0
- package/dist/testing/index.d.ts +76 -0
- package/dist/testing/index.js +116 -0
- package/package.json +941 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { type ButtonHTMLAttributes, type HTMLAttributes, type ReactNode } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Snap alignment for items inside the viewport. `"start"` lines each slide up
|
|
4
|
+
* with the left edge (the default, classic gallery feel); `"center"` parks the
|
|
5
|
+
* active slide in the middle of the viewport (good for peek-a-boo layouts where
|
|
6
|
+
* neighbours are partially visible).
|
|
7
|
+
*/
|
|
8
|
+
export type CarouselAlign = "start" | "center";
|
|
9
|
+
export interface CarouselOptions {
|
|
10
|
+
/** Where each slide snaps relative to the viewport. Defaults to `"start"`. */
|
|
11
|
+
align?: CarouselAlign;
|
|
12
|
+
/**
|
|
13
|
+
* When the user scrolls past the last slide (or before the first), wrap around
|
|
14
|
+
* to the other end instead of stopping. The prev/next buttons stay enabled at
|
|
15
|
+
* the edges so they can perform the wrap. Defaults to `false`.
|
|
16
|
+
*/
|
|
17
|
+
loop?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface CarouselProps extends Omit<HTMLAttributes<HTMLDivElement>, "onScroll"> {
|
|
20
|
+
/** Tuning for snap alignment and looping. */
|
|
21
|
+
opts?: CarouselOptions;
|
|
22
|
+
children?: ReactNode;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Root of the carousel. Owns the shared scroll state — selected index, whether
|
|
26
|
+
* the viewport can scroll further in each direction, and the live slide count —
|
|
27
|
+
* and exposes imperative scroll helpers through context. Dependency-free: the
|
|
28
|
+
* actual sliding is native CSS scroll-snap on {@link CarouselContent}, so touch
|
|
29
|
+
* drag, momentum and `prefers-reduced-motion` all come for free from the
|
|
30
|
+
* browser (the OS reduce-motion setting overrides `scroll-smooth`, so no extra
|
|
31
|
+
* work is needed to honour it).
|
|
32
|
+
*
|
|
33
|
+
* Renders a `role="region"` / `aria-roledescription="carousel"` wrapper and
|
|
34
|
+
* wires ArrowLeft / ArrowRight on the region to scroll prev / next.
|
|
35
|
+
*/
|
|
36
|
+
export declare const Carousel: import("react").ForwardRefExoticComponent<CarouselProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
37
|
+
export interface CarouselContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
38
|
+
children?: ReactNode;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The scroll viewport: a horizontal flex row with native scroll-snap. Holds the
|
|
42
|
+
* {@link CarouselItem}s, owns the rAF-throttled `scroll` listener and a
|
|
43
|
+
* {@link ResizeObserver} that keep the root's `selectedIndex` /
|
|
44
|
+
* `canScrollPrev` / `canScrollNext` / item count in sync. The scrollbar is
|
|
45
|
+
* visually hidden (drag/touch still work). Uses the shadcn `-ml-4` gutter trick
|
|
46
|
+
* paired with `pl-4` on each item to produce an even inter-item gap.
|
|
47
|
+
*/
|
|
48
|
+
export declare const CarouselContent: import("react").ForwardRefExoticComponent<CarouselContentProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
49
|
+
export interface CarouselItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
50
|
+
children?: ReactNode;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* A single slide. Defaults to full-width (`basis-full`); override `basis-*` via
|
|
54
|
+
* `className` for multi-item views (e.g. `md:basis-1/2`, `lg:basis-1/3`). The
|
|
55
|
+
* `pl-4` left padding pairs with the viewport's `-ml-4` to make an even gap.
|
|
56
|
+
*/
|
|
57
|
+
export declare const CarouselItem: import("react").ForwardRefExoticComponent<CarouselItemProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
58
|
+
export interface CarouselPreviousProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Outline icon button that scrolls to the previous slide. Disabled at the start
|
|
62
|
+
* (unless `opts.loop`). Renders inline by default; absolutely position it from
|
|
63
|
+
* the consumer via `className` (e.g. `absolute left-2 top-1/2 -translate-y-1/2`).
|
|
64
|
+
*/
|
|
65
|
+
export declare const CarouselPrevious: import("react").ForwardRefExoticComponent<CarouselPreviousProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
66
|
+
export interface CarouselNextProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Outline icon button that scrolls to the next slide. Disabled at the end
|
|
70
|
+
* (unless `opts.loop`). Renders inline by default; absolutely position it from
|
|
71
|
+
* the consumer via `className` (e.g. `absolute right-2 top-1/2 -translate-y-1/2`).
|
|
72
|
+
*/
|
|
73
|
+
export declare const CarouselNext: import("react").ForwardRefExoticComponent<CarouselNextProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
74
|
+
export interface CarouselDotsProps extends HTMLAttributes<HTMLDivElement> {
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* One dot per slide; the active dot is filled (`bg-fg`) while the rest are muted
|
|
78
|
+
* (`bg-border`). Clicking a dot scrolls to that slide. Each dot is a labelled
|
|
79
|
+
* button ("Go to slide N") and the active one carries `aria-current`.
|
|
80
|
+
*/
|
|
81
|
+
export declare const CarouselDots: import("react").ForwardRefExoticComponent<CarouselDotsProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
82
|
+
//# sourceMappingURL=carousel.d.ts.map
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { ChevronLeft, ChevronRight } from "lucide-react";
|
|
4
|
+
import { createContext, forwardRef, useCallback, useContext, useEffect, useId, useMemo, useRef, useState, } from "react";
|
|
5
|
+
import { cn } from "../lib/cn.js";
|
|
6
|
+
import { Button } from "./button.js";
|
|
7
|
+
const CarouselContext = createContext(null);
|
|
8
|
+
function useCarousel(component) {
|
|
9
|
+
const context = useContext(CarouselContext);
|
|
10
|
+
if (context === null) {
|
|
11
|
+
throw new Error(`<${component}> must be used within <Carousel>.`);
|
|
12
|
+
}
|
|
13
|
+
return context;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Reads the per-item width (including the inter-item gap) from the viewport's
|
|
17
|
+
* first real child. Falls back to the viewport's own client width when the
|
|
18
|
+
* viewport is empty so callers never divide by zero.
|
|
19
|
+
*/
|
|
20
|
+
function getStep(viewport) {
|
|
21
|
+
const first = viewport.firstElementChild;
|
|
22
|
+
if (!first)
|
|
23
|
+
return viewport.clientWidth || 1;
|
|
24
|
+
const second = first.nextElementSibling;
|
|
25
|
+
// Distance between two adjacent item left-edges captures width + flex gap.
|
|
26
|
+
// `Math.abs` keeps the step positive in RTL, where the delta is negative.
|
|
27
|
+
if (second)
|
|
28
|
+
return Math.max(1, Math.abs(second.offsetLeft - first.offsetLeft));
|
|
29
|
+
return Math.max(1, first.offsetWidth);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Root of the carousel. Owns the shared scroll state — selected index, whether
|
|
33
|
+
* the viewport can scroll further in each direction, and the live slide count —
|
|
34
|
+
* and exposes imperative scroll helpers through context. Dependency-free: the
|
|
35
|
+
* actual sliding is native CSS scroll-snap on {@link CarouselContent}, so touch
|
|
36
|
+
* drag, momentum and `prefers-reduced-motion` all come for free from the
|
|
37
|
+
* browser (the OS reduce-motion setting overrides `scroll-smooth`, so no extra
|
|
38
|
+
* work is needed to honour it).
|
|
39
|
+
*
|
|
40
|
+
* Renders a `role="region"` / `aria-roledescription="carousel"` wrapper and
|
|
41
|
+
* wires ArrowLeft / ArrowRight on the region to scroll prev / next.
|
|
42
|
+
*/
|
|
43
|
+
export const Carousel = forwardRef(({ opts, className, children, onKeyDown, ...props }, ref) => {
|
|
44
|
+
const viewportRef = useRef(null);
|
|
45
|
+
const carouselId = useId();
|
|
46
|
+
// Synchronously-tracked navigation target. Driven by prev/next (incremented
|
|
47
|
+
// before the smooth scroll settles) and re-synced by manual swipes via
|
|
48
|
+
// setTargetIndex, so rapid taps advance more than one slide.
|
|
49
|
+
const targetIndexRef = useRef(0);
|
|
50
|
+
// While a programmatic scroll (button/dot/keyboard) is in flight, ignore the
|
|
51
|
+
// scroll observer's target re-sync — otherwise a rapid burst of taps reads a
|
|
52
|
+
// mid-animation index and never accumulates past one slide.
|
|
53
|
+
const navigatingRef = useRef(false);
|
|
54
|
+
const navTimerRef = useRef(null);
|
|
55
|
+
const resolvedOpts = useMemo(() => ({ align: opts?.align ?? "start", loop: opts?.loop ?? false }), [opts?.align, opts?.loop]);
|
|
56
|
+
const [selectedIndex, setSelectedIndex] = useState(0);
|
|
57
|
+
const [itemCount, setItemCount] = useState(0);
|
|
58
|
+
const [canScrollPrev, setCanScrollPrev] = useState(false);
|
|
59
|
+
const [canScrollNext, setCanScrollNext] = useState(false);
|
|
60
|
+
// Looping keeps both buttons live so the edge taps can wrap around.
|
|
61
|
+
const exposedCanScrollPrev = resolvedOpts.loop ? itemCount > 1 : canScrollPrev;
|
|
62
|
+
const exposedCanScrollNext = resolvedOpts.loop ? itemCount > 1 : canScrollNext;
|
|
63
|
+
const scrollTo = useCallback((index) => {
|
|
64
|
+
const viewport = viewportRef.current;
|
|
65
|
+
if (!viewport)
|
|
66
|
+
return;
|
|
67
|
+
// Mark a programmatic scroll so the observer's re-sync is suppressed until
|
|
68
|
+
// the smooth scroll settles (the timer outlasts the animation).
|
|
69
|
+
navigatingRef.current = true;
|
|
70
|
+
if (navTimerRef.current)
|
|
71
|
+
clearTimeout(navTimerRef.current);
|
|
72
|
+
navTimerRef.current = setTimeout(() => {
|
|
73
|
+
navigatingRef.current = false;
|
|
74
|
+
}, 500);
|
|
75
|
+
const rtl = getComputedStyle(viewport).direction === "rtl";
|
|
76
|
+
const child = viewport.children.item(index);
|
|
77
|
+
if (child) {
|
|
78
|
+
// Park the slide at the snap point: its centre under the viewport
|
|
79
|
+
// centre for center-align, or its left edge for start-align.
|
|
80
|
+
const raw = resolvedOpts.align === "center"
|
|
81
|
+
? child.offsetLeft + child.offsetWidth / 2 - viewport.clientWidth / 2
|
|
82
|
+
: child.offsetLeft;
|
|
83
|
+
const left = Math.max(0, raw);
|
|
84
|
+
// In RTL the reachable scroll range is 0..-maxScroll, so flip the sign.
|
|
85
|
+
viewport.scrollTo({ left: rtl ? -left : left, behavior: "smooth" });
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
// No child at that index (empty viewport): fall back to a step scroll.
|
|
89
|
+
const left = index * getStep(viewport);
|
|
90
|
+
viewport.scrollTo({ left: rtl ? -left : left, behavior: "smooth" });
|
|
91
|
+
}, [resolvedOpts.align]);
|
|
92
|
+
const scrollPrev = useCallback(() => {
|
|
93
|
+
// Step from the synchronous target (not lagging React state) so rapid taps
|
|
94
|
+
// queue up multiple slides instead of all reading the same mid-scroll spot.
|
|
95
|
+
const prev = targetIndexRef.current - 1;
|
|
96
|
+
targetIndexRef.current =
|
|
97
|
+
resolvedOpts.loop && prev < 0 ? Math.max(0, itemCount - 1) : Math.max(0, prev);
|
|
98
|
+
scrollTo(targetIndexRef.current);
|
|
99
|
+
}, [resolvedOpts.loop, itemCount, scrollTo]);
|
|
100
|
+
const scrollNext = useCallback(() => {
|
|
101
|
+
const last = itemCount - 1;
|
|
102
|
+
const next = targetIndexRef.current + 1;
|
|
103
|
+
targetIndexRef.current = resolvedOpts.loop && next > last ? 0 : Math.min(last, next);
|
|
104
|
+
scrollTo(targetIndexRef.current);
|
|
105
|
+
}, [resolvedOpts.loop, itemCount, scrollTo]);
|
|
106
|
+
// Lets CarouselContent re-anchor the target after a manual swipe/scroll —
|
|
107
|
+
// but only when no programmatic scroll is in flight, so rapid button taps
|
|
108
|
+
// (which the observer would otherwise reset mid-animation) still accumulate.
|
|
109
|
+
const setTargetIndex = useCallback((index) => {
|
|
110
|
+
if (navigatingRef.current)
|
|
111
|
+
return;
|
|
112
|
+
targetIndexRef.current = index;
|
|
113
|
+
}, []);
|
|
114
|
+
useEffect(() => () => {
|
|
115
|
+
if (navTimerRef.current)
|
|
116
|
+
clearTimeout(navTimerRef.current);
|
|
117
|
+
}, []);
|
|
118
|
+
const handleKeyDown = useCallback((event) => {
|
|
119
|
+
onKeyDown?.(event);
|
|
120
|
+
if (event.defaultPrevented)
|
|
121
|
+
return;
|
|
122
|
+
if (event.key === "ArrowLeft") {
|
|
123
|
+
event.preventDefault();
|
|
124
|
+
scrollPrev();
|
|
125
|
+
}
|
|
126
|
+
else if (event.key === "ArrowRight") {
|
|
127
|
+
event.preventDefault();
|
|
128
|
+
scrollNext();
|
|
129
|
+
}
|
|
130
|
+
}, [onKeyDown, scrollPrev, scrollNext]);
|
|
131
|
+
const contextValue = useMemo(() => ({
|
|
132
|
+
viewportRef,
|
|
133
|
+
selectedIndex,
|
|
134
|
+
itemCount,
|
|
135
|
+
canScrollPrev: exposedCanScrollPrev,
|
|
136
|
+
canScrollNext: exposedCanScrollNext,
|
|
137
|
+
scrollPrev,
|
|
138
|
+
scrollNext,
|
|
139
|
+
scrollTo,
|
|
140
|
+
setItemCount,
|
|
141
|
+
setTargetIndex,
|
|
142
|
+
opts: resolvedOpts,
|
|
143
|
+
carouselId,
|
|
144
|
+
}), [
|
|
145
|
+
selectedIndex,
|
|
146
|
+
itemCount,
|
|
147
|
+
exposedCanScrollPrev,
|
|
148
|
+
exposedCanScrollNext,
|
|
149
|
+
scrollPrev,
|
|
150
|
+
scrollNext,
|
|
151
|
+
scrollTo,
|
|
152
|
+
setTargetIndex,
|
|
153
|
+
resolvedOpts,
|
|
154
|
+
carouselId,
|
|
155
|
+
]);
|
|
156
|
+
// Internal setters used by CarouselContent's scroll/resize observers.
|
|
157
|
+
const internals = useMemo(() => ({ setSelectedIndex, setCanScrollPrev, setCanScrollNext }), []);
|
|
158
|
+
return (_jsx(CarouselContext.Provider, { value: contextValue, children: _jsx(CarouselInternalsContext.Provider, { value: internals, children: _jsx("div", { ref: ref, "data-slot": "carousel", role: "region", "aria-roledescription": "carousel", onKeyDown: handleKeyDown, className: cn("relative outline-none", className), ...props, children: children }) }) }));
|
|
159
|
+
});
|
|
160
|
+
Carousel.displayName = "Carousel";
|
|
161
|
+
const CarouselInternalsContext = createContext(null);
|
|
162
|
+
/**
|
|
163
|
+
* The scroll viewport: a horizontal flex row with native scroll-snap. Holds the
|
|
164
|
+
* {@link CarouselItem}s, owns the rAF-throttled `scroll` listener and a
|
|
165
|
+
* {@link ResizeObserver} that keep the root's `selectedIndex` /
|
|
166
|
+
* `canScrollPrev` / `canScrollNext` / item count in sync. The scrollbar is
|
|
167
|
+
* visually hidden (drag/touch still work). Uses the shadcn `-ml-4` gutter trick
|
|
168
|
+
* paired with `pl-4` on each item to produce an even inter-item gap.
|
|
169
|
+
*/
|
|
170
|
+
export const CarouselContent = forwardRef(({ className, children, ...props }, forwardedRef) => {
|
|
171
|
+
const { viewportRef, setItemCount, setTargetIndex, opts, carouselId } = useCarousel("CarouselContent");
|
|
172
|
+
const internals = useContext(CarouselInternalsContext);
|
|
173
|
+
const setRefs = useCallback((node) => {
|
|
174
|
+
viewportRef.current = node;
|
|
175
|
+
if (typeof forwardedRef === "function") {
|
|
176
|
+
forwardedRef(node);
|
|
177
|
+
}
|
|
178
|
+
else if (forwardedRef) {
|
|
179
|
+
forwardedRef.current = node;
|
|
180
|
+
}
|
|
181
|
+
}, [viewportRef, forwardedRef]);
|
|
182
|
+
const update = useCallback(() => {
|
|
183
|
+
const viewport = viewportRef.current;
|
|
184
|
+
if (!viewport || !internals)
|
|
185
|
+
return;
|
|
186
|
+
const count = viewport.children.length;
|
|
187
|
+
setItemCount(count);
|
|
188
|
+
const { scrollLeft, scrollWidth, clientWidth } = viewport;
|
|
189
|
+
const maxScroll = scrollWidth - clientWidth;
|
|
190
|
+
// RTL scrollLeft is negative-going; compare snap targets in positive space.
|
|
191
|
+
const pos = Math.abs(scrollLeft);
|
|
192
|
+
// Clamped snap target for a slide: its centre (center align) or left edge
|
|
193
|
+
// (start align), bounded to the reachable [0, maxScroll] range so the last
|
|
194
|
+
// slide — whose ideal target may exceed maxScroll — stays selectable.
|
|
195
|
+
const snapTarget = (child) => {
|
|
196
|
+
const raw = opts.align === "center"
|
|
197
|
+
? child.offsetLeft + child.offsetWidth / 2 - clientWidth / 2
|
|
198
|
+
: child.offsetLeft;
|
|
199
|
+
return Math.max(0, Math.min(maxScroll, raw));
|
|
200
|
+
};
|
|
201
|
+
// Argmin: pick the slide whose actual snap target is nearest the current
|
|
202
|
+
// (RTL-normalized) scroll position.
|
|
203
|
+
let index = 0;
|
|
204
|
+
let best = Number.POSITIVE_INFINITY;
|
|
205
|
+
for (let i = 0; i < count; i++) {
|
|
206
|
+
const child = viewport.children.item(i);
|
|
207
|
+
if (!child)
|
|
208
|
+
continue;
|
|
209
|
+
const distance = Math.abs(pos - snapTarget(child));
|
|
210
|
+
if (distance < best) {
|
|
211
|
+
best = distance;
|
|
212
|
+
index = i;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
internals.setSelectedIndex(index);
|
|
216
|
+
// Re-anchor the navigation target so a manual swipe then a button press
|
|
217
|
+
// steps from the slide the user actually landed on.
|
|
218
|
+
setTargetIndex(index);
|
|
219
|
+
// 1px slack absorbs sub-pixel rounding at the extremes.
|
|
220
|
+
internals.setCanScrollPrev(pos > 1);
|
|
221
|
+
internals.setCanScrollNext(pos < maxScroll - 1);
|
|
222
|
+
}, [viewportRef, internals, setItemCount, setTargetIndex, opts.align]);
|
|
223
|
+
useEffect(() => {
|
|
224
|
+
const viewport = viewportRef.current;
|
|
225
|
+
if (!viewport)
|
|
226
|
+
return;
|
|
227
|
+
let frame = 0;
|
|
228
|
+
const onScroll = () => {
|
|
229
|
+
if (frame)
|
|
230
|
+
return;
|
|
231
|
+
frame = requestAnimationFrame(() => {
|
|
232
|
+
frame = 0;
|
|
233
|
+
update();
|
|
234
|
+
});
|
|
235
|
+
};
|
|
236
|
+
// Mirror live DOM changes (slides added/removed) into the index + count.
|
|
237
|
+
const mutationObserver = new MutationObserver(() => update());
|
|
238
|
+
mutationObserver.observe(viewport, { childList: true });
|
|
239
|
+
const resizeObserver = new ResizeObserver(() => update());
|
|
240
|
+
resizeObserver.observe(viewport);
|
|
241
|
+
viewport.addEventListener("scroll", onScroll, { passive: true });
|
|
242
|
+
// Initial sync once layout is measured.
|
|
243
|
+
update();
|
|
244
|
+
return () => {
|
|
245
|
+
if (frame)
|
|
246
|
+
cancelAnimationFrame(frame);
|
|
247
|
+
viewport.removeEventListener("scroll", onScroll);
|
|
248
|
+
mutationObserver.disconnect();
|
|
249
|
+
resizeObserver.disconnect();
|
|
250
|
+
};
|
|
251
|
+
}, [viewportRef, update]);
|
|
252
|
+
return (_jsx("div", { ref: setRefs, id: `${carouselId}-viewport`, "data-slot": "carousel-content",
|
|
253
|
+
// biome-ignore lint/a11y/noNoninteractiveTabindex: the slides viewport is intentionally focusable so keyboard users can scroll/arrow through the slides.
|
|
254
|
+
tabIndex: 0, className: cn("-ml-4 flex overflow-x-auto scroll-smooth snap-x snap-mandatory outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface-base",
|
|
255
|
+
// Hide the scrollbar across engines; drag + touch still work.
|
|
256
|
+
"[scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden", className), ...props, children: children }));
|
|
257
|
+
});
|
|
258
|
+
CarouselContent.displayName = "CarouselContent";
|
|
259
|
+
/**
|
|
260
|
+
* A single slide. Defaults to full-width (`basis-full`); override `basis-*` via
|
|
261
|
+
* `className` for multi-item views (e.g. `md:basis-1/2`, `lg:basis-1/3`). The
|
|
262
|
+
* `pl-4` left padding pairs with the viewport's `-ml-4` to make an even gap.
|
|
263
|
+
*/
|
|
264
|
+
export const CarouselItem = forwardRef(({ className, ...props }, ref) => {
|
|
265
|
+
const { opts } = useCarousel("CarouselItem");
|
|
266
|
+
return (_jsx("div", { ref: ref, "data-slot": "carousel-item", role: "group", "aria-roledescription": "slide", className: cn("min-w-0 shrink-0 grow-0 basis-full pl-4", opts.align === "center" ? "snap-center" : "snap-start", className), ...props }));
|
|
267
|
+
});
|
|
268
|
+
CarouselItem.displayName = "CarouselItem";
|
|
269
|
+
/**
|
|
270
|
+
* Outline icon button that scrolls to the previous slide. Disabled at the start
|
|
271
|
+
* (unless `opts.loop`). Renders inline by default; absolutely position it from
|
|
272
|
+
* the consumer via `className` (e.g. `absolute left-2 top-1/2 -translate-y-1/2`).
|
|
273
|
+
*/
|
|
274
|
+
export const CarouselPrevious = forwardRef(({ className, onClick, disabled, children, ...props }, ref) => {
|
|
275
|
+
const { scrollPrev, canScrollPrev, carouselId } = useCarousel("CarouselPrevious");
|
|
276
|
+
return (_jsx(Button, { ref: ref, "data-slot": "carousel-previous", variant: "outline", size: "icon", "aria-label": "Previous slide", "aria-controls": `${carouselId}-viewport`, disabled: disabled ?? !canScrollPrev, onClick: (event) => {
|
|
277
|
+
onClick?.(event);
|
|
278
|
+
if (!event.defaultPrevented)
|
|
279
|
+
scrollPrev();
|
|
280
|
+
}, className: cn("rounded-full", className), ...props, children: children ?? _jsx(ChevronLeft, {}) }));
|
|
281
|
+
});
|
|
282
|
+
CarouselPrevious.displayName = "CarouselPrevious";
|
|
283
|
+
/**
|
|
284
|
+
* Outline icon button that scrolls to the next slide. Disabled at the end
|
|
285
|
+
* (unless `opts.loop`). Renders inline by default; absolutely position it from
|
|
286
|
+
* the consumer via `className` (e.g. `absolute right-2 top-1/2 -translate-y-1/2`).
|
|
287
|
+
*/
|
|
288
|
+
export const CarouselNext = forwardRef(({ className, onClick, disabled, children, ...props }, ref) => {
|
|
289
|
+
const { scrollNext, canScrollNext, carouselId } = useCarousel("CarouselNext");
|
|
290
|
+
return (_jsx(Button, { ref: ref, "data-slot": "carousel-next", variant: "outline", size: "icon", "aria-label": "Next slide", "aria-controls": `${carouselId}-viewport`, disabled: disabled ?? !canScrollNext, onClick: (event) => {
|
|
291
|
+
onClick?.(event);
|
|
292
|
+
if (!event.defaultPrevented)
|
|
293
|
+
scrollNext();
|
|
294
|
+
}, className: cn("rounded-full", className), ...props, children: children ?? _jsx(ChevronRight, {}) }));
|
|
295
|
+
});
|
|
296
|
+
CarouselNext.displayName = "CarouselNext";
|
|
297
|
+
/**
|
|
298
|
+
* One dot per slide; the active dot is filled (`bg-fg`) while the rest are muted
|
|
299
|
+
* (`bg-border`). Clicking a dot scrolls to that slide. Each dot is a labelled
|
|
300
|
+
* button ("Go to slide N") and the active one carries `aria-current`.
|
|
301
|
+
*/
|
|
302
|
+
export const CarouselDots = forwardRef(({ className, ...props }, ref) => {
|
|
303
|
+
const { itemCount, selectedIndex, scrollTo } = useCarousel("CarouselDots");
|
|
304
|
+
return (_jsx("div", { ref: ref, "data-slot": "carousel-dots", className: cn("flex items-center justify-center gap-2", className), ...props, children: Array.from({ length: itemCount }, (_, index) => {
|
|
305
|
+
const active = index === selectedIndex;
|
|
306
|
+
return (_jsx("button", { type: "button", "data-slot": "carousel-dot", "data-active": active || undefined, "aria-label": `Go to slide ${index + 1}`, "aria-current": active || undefined, onClick: () => scrollTo(index), className: cn("size-2 rounded-full transition-colors", "outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface-base", active ? "bg-fg" : "bg-border hover:bg-fg-muted") }, index));
|
|
307
|
+
}) }));
|
|
308
|
+
});
|
|
309
|
+
CarouselDots.displayName = "CarouselDots";
|
|
310
|
+
//# sourceMappingURL=carousel.js.map
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import * as RechartsPrimitive from "recharts";
|
|
2
|
+
declare const THEMES: {
|
|
3
|
+
readonly light: "";
|
|
4
|
+
readonly dark: ".dark";
|
|
5
|
+
};
|
|
6
|
+
export type ChartConfig = {
|
|
7
|
+
[k in string]: {
|
|
8
|
+
label?: React.ReactNode;
|
|
9
|
+
icon?: React.ComponentType;
|
|
10
|
+
} & ({
|
|
11
|
+
color?: string;
|
|
12
|
+
theme?: never;
|
|
13
|
+
} | {
|
|
14
|
+
color?: never;
|
|
15
|
+
theme: Record<keyof typeof THEMES, string>;
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
/** One series in a ready-made chart (AreaChart, LineChart, …). */
|
|
19
|
+
export interface ChartSeries {
|
|
20
|
+
key: string;
|
|
21
|
+
label: string;
|
|
22
|
+
color?: string;
|
|
23
|
+
}
|
|
24
|
+
/** Map series to a ChartConfig using chart-1..5 when color is omitted. */
|
|
25
|
+
export declare function chartSeriesConfig(series: readonly ChartSeries[]): ChartConfig;
|
|
26
|
+
declare const ChartContainer: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
|
|
27
|
+
config: ChartConfig;
|
|
28
|
+
children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
|
|
29
|
+
}, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
30
|
+
declare function isSafeChartColor(value: string): boolean;
|
|
31
|
+
declare const ChartStyle: ({ id, config }: {
|
|
32
|
+
id: string;
|
|
33
|
+
config: ChartConfig;
|
|
34
|
+
}) => import("react").JSX.Element | null;
|
|
35
|
+
declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
|
|
36
|
+
interface TooltipPayloadItem {
|
|
37
|
+
value?: number | string;
|
|
38
|
+
name?: number | string;
|
|
39
|
+
dataKey?: number | string;
|
|
40
|
+
color?: string;
|
|
41
|
+
payload?: any;
|
|
42
|
+
}
|
|
43
|
+
interface ChartTooltipContentProps extends React.ComponentProps<"div"> {
|
|
44
|
+
active?: boolean;
|
|
45
|
+
payload?: TooltipPayloadItem[];
|
|
46
|
+
label?: React.ReactNode;
|
|
47
|
+
labelKey?: string;
|
|
48
|
+
nameKey?: string;
|
|
49
|
+
hideLabel?: boolean;
|
|
50
|
+
hideIndicator?: boolean;
|
|
51
|
+
indicator?: "line" | "dot" | "dashed";
|
|
52
|
+
/** Format a numeric series value (default: en-US grouping). */
|
|
53
|
+
formatValue?: (value: number, name: string) => string;
|
|
54
|
+
}
|
|
55
|
+
declare const ChartTooltipContent: import("react").ForwardRefExoticComponent<Omit<ChartTooltipContentProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
56
|
+
/**
|
|
57
|
+
* Vertical crosshair + optional axis pill for cartesian tooltips.
|
|
58
|
+
* Pass as `cursor={<ChartCursor labelKey="date" />}` on ChartTooltip.
|
|
59
|
+
*/
|
|
60
|
+
export interface ChartCursorProps {
|
|
61
|
+
x?: number;
|
|
62
|
+
y?: number;
|
|
63
|
+
width?: number;
|
|
64
|
+
height?: number;
|
|
65
|
+
top?: number;
|
|
66
|
+
left?: number;
|
|
67
|
+
points?: {
|
|
68
|
+
x: number;
|
|
69
|
+
y: number;
|
|
70
|
+
}[];
|
|
71
|
+
payload?: TooltipPayloadItem[];
|
|
72
|
+
/** Field on the datum shown in the axis pill. */
|
|
73
|
+
labelKey?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Draw the hovered label as a pill on the x-axis.
|
|
76
|
+
* Turn off when the axis already prints that tick — otherwise the pill
|
|
77
|
+
* stacks on the label (e.g. "Aug 6" over "Aug 7").
|
|
78
|
+
* @default true
|
|
79
|
+
*/
|
|
80
|
+
showAxisLabel?: boolean;
|
|
81
|
+
}
|
|
82
|
+
declare function ChartCursor({ x, points, height, top, payload, labelKey, showAxisLabel, }: ChartCursorProps): import("react").JSX.Element | null;
|
|
83
|
+
declare namespace ChartCursor {
|
|
84
|
+
var displayName: string;
|
|
85
|
+
}
|
|
86
|
+
declare const ChartLegend: import("react").MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
|
|
87
|
+
interface LegendPayloadItem {
|
|
88
|
+
value?: number | string;
|
|
89
|
+
dataKey?: number | string;
|
|
90
|
+
color?: string;
|
|
91
|
+
}
|
|
92
|
+
interface ChartLegendContentProps extends React.ComponentProps<"div"> {
|
|
93
|
+
payload?: LegendPayloadItem[];
|
|
94
|
+
verticalAlign?: "top" | "bottom" | "middle";
|
|
95
|
+
hideIcon?: boolean;
|
|
96
|
+
nameKey?: string;
|
|
97
|
+
}
|
|
98
|
+
declare const ChartLegendContent: import("react").ForwardRefExoticComponent<Omit<ChartLegendContentProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
99
|
+
export { ChartContainer, ChartCursor, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, isSafeChartColor, };
|
|
100
|
+
//# sourceMappingURL=chart.d.ts.map
|