@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,60 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
import { type HTMLAttributes } from "react";
|
|
3
|
+
declare const statusDotVariants: (props?: ({
|
|
4
|
+
status?: "info" | "success" | "warning" | "error" | "offline" | "online" | "neutral" | "busy" | "away" | null | undefined;
|
|
5
|
+
size?: "sm" | "md" | "lg" | "xs" | null | undefined;
|
|
6
|
+
ring?: boolean | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
type StatusDotStatus = NonNullable<VariantProps<typeof statusDotVariants>["status"]>;
|
|
9
|
+
type StatusDotSize = NonNullable<VariantProps<typeof statusDotVariants>["size"]>;
|
|
10
|
+
type StatusDotPosition = "top-right" | "bottom-right" | "none";
|
|
11
|
+
export interface StatusDotProps extends Omit<HTMLAttributes<HTMLSpanElement>, "children">, VariantProps<typeof statusDotVariants> {
|
|
12
|
+
/**
|
|
13
|
+
* Presence / semantic state the dot communicates. Drives the fill color and
|
|
14
|
+
* the default accessible name.
|
|
15
|
+
* @default "online"
|
|
16
|
+
*/
|
|
17
|
+
status?: StatusDotStatus;
|
|
18
|
+
/**
|
|
19
|
+
* Dot size preset.
|
|
20
|
+
* @default "md"
|
|
21
|
+
*/
|
|
22
|
+
size?: StatusDotSize;
|
|
23
|
+
/**
|
|
24
|
+
* Draws a surface-colored ring around the dot so it cuts out cleanly when
|
|
25
|
+
* overlaid on an avatar or icon.
|
|
26
|
+
* @default false
|
|
27
|
+
*/
|
|
28
|
+
ring?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Status text. Rendered next to the dot when `withLabel` is set; otherwise
|
|
31
|
+
* rendered as visually-hidden live-region content so screen readers
|
|
32
|
+
* announce both the initial status and later `status` changes.
|
|
33
|
+
* @default The English name of `status` (e.g. `"Online"`).
|
|
34
|
+
*/
|
|
35
|
+
label?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Renders `label` visibly next to the dot (in `text-fg-secondary`) instead
|
|
38
|
+
* of exposing it only to assistive technology.
|
|
39
|
+
* @default false
|
|
40
|
+
*/
|
|
41
|
+
withLabel?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Animates an expanding "ping" halo behind the dot to draw attention. The
|
|
44
|
+
* halo reuses the dot's fill; the hollow `offline` dot gets a matching
|
|
45
|
+
* outline halo instead (its fill is transparent). The animation only runs
|
|
46
|
+
* for users who have not requested reduced motion.
|
|
47
|
+
* @default false
|
|
48
|
+
*/
|
|
49
|
+
pulse?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Absolute corner anchor for overlaying the dot on an avatar or icon —
|
|
52
|
+
* place the component inside a `relative` wrapper. The "right" corners map
|
|
53
|
+
* to the inline end, so they mirror under RTL.
|
|
54
|
+
* @default "none"
|
|
55
|
+
*/
|
|
56
|
+
position?: StatusDotPosition;
|
|
57
|
+
}
|
|
58
|
+
export declare const StatusDot: import("react").ForwardRefExoticComponent<StatusDotProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
59
|
+
export { statusDotVariants };
|
|
60
|
+
//# sourceMappingURL=status-dot.d.ts.map
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cva } from "class-variance-authority";
|
|
3
|
+
import { forwardRef } from "react";
|
|
4
|
+
import { cn } from "../lib/cn.js";
|
|
5
|
+
const statusDotVariants = cva("relative inline-block shrink-0 rounded-full", {
|
|
6
|
+
variants: {
|
|
7
|
+
status: {
|
|
8
|
+
online: "bg-success",
|
|
9
|
+
// Hollow outline so "offline" reads as absence and stays distinguishable
|
|
10
|
+
// without relying on color alone. The gray is a glyph fill, not text.
|
|
11
|
+
offline: "border-2 border-fg-muted bg-transparent",
|
|
12
|
+
busy: "bg-error",
|
|
13
|
+
away: "bg-warning",
|
|
14
|
+
success: "bg-success",
|
|
15
|
+
warning: "bg-warning",
|
|
16
|
+
error: "bg-error",
|
|
17
|
+
info: "bg-info",
|
|
18
|
+
neutral: "bg-fg-muted",
|
|
19
|
+
},
|
|
20
|
+
size: {
|
|
21
|
+
xs: "size-1.5",
|
|
22
|
+
sm: "size-2",
|
|
23
|
+
md: "size-2.5",
|
|
24
|
+
lg: "size-3",
|
|
25
|
+
},
|
|
26
|
+
ring: {
|
|
27
|
+
// Surface-colored ring that cuts the dot out of whatever sits behind it
|
|
28
|
+
// (matches AvatarGroup's overlap ring) — for badge-on-avatar overlays.
|
|
29
|
+
true: "ring-2 ring-surface-base",
|
|
30
|
+
false: "",
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
defaultVariants: { status: "online", size: "md", ring: false },
|
|
34
|
+
});
|
|
35
|
+
/** Default English name per status; override via `label` for i18n. */
|
|
36
|
+
const DEFAULT_STATUS_LABELS = {
|
|
37
|
+
online: "Online",
|
|
38
|
+
offline: "Offline",
|
|
39
|
+
busy: "Busy",
|
|
40
|
+
away: "Away",
|
|
41
|
+
success: "Success",
|
|
42
|
+
warning: "Warning",
|
|
43
|
+
error: "Error",
|
|
44
|
+
info: "Info",
|
|
45
|
+
neutral: "Neutral",
|
|
46
|
+
};
|
|
47
|
+
// Corner anchors for badge-on-avatar composition. "right" maps to the inline
|
|
48
|
+
// end (`end-0`), so the dot mirrors automatically under RTL.
|
|
49
|
+
const POSITION_CLASSES = {
|
|
50
|
+
"top-right": "absolute top-0 end-0",
|
|
51
|
+
"bottom-right": "absolute bottom-0 end-0",
|
|
52
|
+
none: "",
|
|
53
|
+
};
|
|
54
|
+
const GAP_CLASSES = {
|
|
55
|
+
xs: "gap-1",
|
|
56
|
+
sm: "gap-1.5",
|
|
57
|
+
md: "gap-1.5",
|
|
58
|
+
lg: "gap-2",
|
|
59
|
+
};
|
|
60
|
+
const LABEL_SIZE_CLASSES = {
|
|
61
|
+
xs: "text-xs",
|
|
62
|
+
sm: "text-xs",
|
|
63
|
+
md: "text-sm",
|
|
64
|
+
lg: "text-base",
|
|
65
|
+
};
|
|
66
|
+
export const StatusDot = forwardRef(({ className, status, size, ring, label, withLabel = false, pulse = false, position = "none", ...props }, ref) => {
|
|
67
|
+
const resolvedStatus = status ?? "online";
|
|
68
|
+
const resolvedSize = size ?? "md";
|
|
69
|
+
const resolvedLabel = label ?? DEFAULT_STATUS_LABELS[resolvedStatus];
|
|
70
|
+
return (_jsxs("span", { ref: ref, "data-slot": "status-dot", "data-status": resolvedStatus, role: "status", className: cn("inline-flex items-center", GAP_CLASSES[resolvedSize], POSITION_CLASSES[position], className), ...props, children: [_jsx("span", { "aria-hidden": "true", "data-slot": "status-dot-indicator", className: statusDotVariants({ status: resolvedStatus, size: resolvedSize, ring }), children: pulse ? (_jsx("span", { "data-slot": "status-dot-ping", className: cn("absolute rounded-full opacity-75 motion-safe:animate-ping", resolvedStatus === "offline"
|
|
71
|
+
? "-inset-0.5 border-2 border-fg-muted"
|
|
72
|
+
: "inset-0 bg-inherit") })) : null }), withLabel ? (_jsx("span", { "data-slot": "status-dot-label", className: cn("text-fg-secondary", LABEL_SIZE_CLASSES[resolvedSize]), children: resolvedLabel })) : (_jsx("span", { "data-slot": "status-dot-sr-label", className: "sr-only", children: resolvedLabel }))] }));
|
|
73
|
+
});
|
|
74
|
+
StatusDot.displayName = "StatusDot";
|
|
75
|
+
export { statusDotVariants };
|
|
76
|
+
//# sourceMappingURL=status-dot.js.map
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
import { type ButtonHTMLAttributes, type HTMLAttributes, type OlHTMLAttributes } from "react";
|
|
3
|
+
type StepperOrientation = "horizontal" | "vertical";
|
|
4
|
+
/**
|
|
5
|
+
* Screen-reader-only step-state announcements. Pass any subset via the
|
|
6
|
+
* `labels` prop on {@link Stepper} to localize; omitted keys keep their
|
|
7
|
+
* English defaults.
|
|
8
|
+
*/
|
|
9
|
+
export interface StepperLabels {
|
|
10
|
+
/** Announced after a completed step. */
|
|
11
|
+
completed: string;
|
|
12
|
+
/** Announced after the active step. */
|
|
13
|
+
current: string;
|
|
14
|
+
/** Announced after a step that has not started yet. */
|
|
15
|
+
upcoming: string;
|
|
16
|
+
}
|
|
17
|
+
export interface StepperProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
|
|
18
|
+
/** Controlled active step index. When provided the stepper is fully controlled. */
|
|
19
|
+
value?: number;
|
|
20
|
+
/** Initial active step index for the uncontrolled case. Defaults to `0`. */
|
|
21
|
+
defaultValue?: number;
|
|
22
|
+
/** Called whenever a step should become active (controlled or not). */
|
|
23
|
+
onValueChange?: (value: number) => void;
|
|
24
|
+
/** Layout axis. Defaults to `"horizontal"`. */
|
|
25
|
+
orientation?: StepperOrientation;
|
|
26
|
+
/** Localize the sr-only step-state announcements. See {@link StepperLabels}. */
|
|
27
|
+
labels?: Partial<StepperLabels>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Root of a multi-step / wizard progress indicator. Owns the active step index
|
|
31
|
+
* (controlled via `value` + `onValueChange`, or uncontrolled via `defaultValue`)
|
|
32
|
+
* and broadcasts the orientation through context. Renders nothing itself beyond
|
|
33
|
+
* a layout wrapper — compose {@link StepperItem}s (and an inner ordered list)
|
|
34
|
+
* inside it. SSR-safe: state is derived synchronously with no effects.
|
|
35
|
+
*/
|
|
36
|
+
export declare const Stepper: import("react").ForwardRefExoticComponent<StepperProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
37
|
+
/**
|
|
38
|
+
* Ordered list landmark wrapping the steps. Pure layout — lays the items out
|
|
39
|
+
* along the stepper's axis. Optional (a consumer may bring their own `<ol>`),
|
|
40
|
+
* but provided for the common case so the steps read as an ordered list to AT.
|
|
41
|
+
*/
|
|
42
|
+
export declare const StepperList: import("react").ForwardRefExoticComponent<OlHTMLAttributes<HTMLOListElement> & import("react").RefAttributes<HTMLOListElement>>;
|
|
43
|
+
export interface StepperItemProps extends HTMLAttributes<HTMLLIElement> {
|
|
44
|
+
/**
|
|
45
|
+
* This step's zero-based index. Required so the item can derive its state
|
|
46
|
+
* (completed / active / upcoming) from the stepper's active value.
|
|
47
|
+
*/
|
|
48
|
+
step: number;
|
|
49
|
+
/** Mark the step done explicitly. Overrides the index-derived "completed". */
|
|
50
|
+
completed?: boolean;
|
|
51
|
+
/** Disable interaction + dim the step. */
|
|
52
|
+
disabled?: boolean;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* A single step. Computes its state relative to the active step — earlier steps
|
|
56
|
+
* are `completed`, the current one is `active`, later ones are `upcoming` — and
|
|
57
|
+
* exposes it (plus its index and disabled flag) to descendants through context.
|
|
58
|
+
* Renders an `<li>`; carries `aria-current="step"` on the active step and
|
|
59
|
+
* appends an sr-only state suffix ("completed" / "current" / "not started",
|
|
60
|
+
* localizable via the stepper's `labels` prop) — the visual state is otherwise
|
|
61
|
+
* color/icon-only, which screen readers cannot perceive.
|
|
62
|
+
*/
|
|
63
|
+
export declare const StepperItem: import("react").ForwardRefExoticComponent<StepperItemProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
64
|
+
declare const stepperIndicatorVariants: (props?: ({
|
|
65
|
+
state?: "active" | "completed" | "upcoming" | null | undefined;
|
|
66
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
67
|
+
export interface StepperIndicatorProps extends HTMLAttributes<HTMLSpanElement>, Omit<VariantProps<typeof stepperIndicatorVariants>, "state"> {
|
|
68
|
+
/** Override the auto-rendered content (step number / check). */
|
|
69
|
+
children?: HTMLAttributes<HTMLSpanElement>["children"];
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The numbered circle for a step. Shows a {@link Check} once the step is
|
|
73
|
+
* completed, the 1-based step number while it is active or upcoming, and styles
|
|
74
|
+
* itself from the item state (active = solid primary, completed = tinted, else
|
|
75
|
+
* muted). Pass `children` to render custom content (e.g. an icon).
|
|
76
|
+
*/
|
|
77
|
+
export declare const StepperIndicator: import("react").ForwardRefExoticComponent<StepperIndicatorProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
78
|
+
/**
|
|
79
|
+
* The connector line between two steps. Fills with `bg-primary` once the
|
|
80
|
+
* preceding step is complete and stays `bg-border` otherwise; orients itself
|
|
81
|
+
* along the stepper axis. Decorative — hidden from assistive tech.
|
|
82
|
+
*/
|
|
83
|
+
export declare const StepperSeparator: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
84
|
+
export interface StepperTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Optional clickable wrapper that activates its step on press. Inherits the
|
|
88
|
+
* item's `disabled` state, forwards keyboard/focus semantics as a real
|
|
89
|
+
* `<button>`, and is a no-op when the step is already active. Wrap the
|
|
90
|
+
* indicator + title/description in it to make a step navigable.
|
|
91
|
+
*/
|
|
92
|
+
export declare const StepperTrigger: import("react").ForwardRefExoticComponent<StepperTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
93
|
+
/** The short label for a step. Brightens to `text-fg` once active or completed. */
|
|
94
|
+
export declare const StepperTitle: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
95
|
+
/** Optional secondary line under a {@link StepperTitle}. */
|
|
96
|
+
export declare const StepperDescription: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
97
|
+
export { stepperIndicatorVariants };
|
|
98
|
+
//# sourceMappingURL=stepper.d.ts.map
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { Check } from "lucide-react";
|
|
5
|
+
import { createContext, forwardRef, useCallback, useContext, useMemo, useState, } from "react";
|
|
6
|
+
import { cn } from "../lib/cn.js";
|
|
7
|
+
const DEFAULT_LABELS = {
|
|
8
|
+
completed: "completed",
|
|
9
|
+
current: "current",
|
|
10
|
+
upcoming: "not started",
|
|
11
|
+
};
|
|
12
|
+
const StepperContext = createContext(null);
|
|
13
|
+
function useStepper(component) {
|
|
14
|
+
const context = useContext(StepperContext);
|
|
15
|
+
if (context === null) {
|
|
16
|
+
throw new Error(`<${component}> must be used within <Stepper>.`);
|
|
17
|
+
}
|
|
18
|
+
return context;
|
|
19
|
+
}
|
|
20
|
+
const StepperItemContext = createContext(null);
|
|
21
|
+
function useStepperItem(component) {
|
|
22
|
+
const context = useContext(StepperItemContext);
|
|
23
|
+
if (context === null) {
|
|
24
|
+
throw new Error(`<${component}> must be used within <StepperItem>.`);
|
|
25
|
+
}
|
|
26
|
+
return context;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Root of a multi-step / wizard progress indicator. Owns the active step index
|
|
30
|
+
* (controlled via `value` + `onValueChange`, or uncontrolled via `defaultValue`)
|
|
31
|
+
* and broadcasts the orientation through context. Renders nothing itself beyond
|
|
32
|
+
* a layout wrapper — compose {@link StepperItem}s (and an inner ordered list)
|
|
33
|
+
* inside it. SSR-safe: state is derived synchronously with no effects.
|
|
34
|
+
*/
|
|
35
|
+
export const Stepper = forwardRef(({ value: valueProp, defaultValue = 0, onValueChange, orientation = "horizontal", labels, className, children, ...props }, ref) => {
|
|
36
|
+
// Uncontrolled state lives here; a provided `value` makes it controlled.
|
|
37
|
+
// Plain useState (no effects) keeps the first paint correct on both the
|
|
38
|
+
// server and the client.
|
|
39
|
+
const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);
|
|
40
|
+
const isControlled = valueProp !== undefined;
|
|
41
|
+
const value = isControlled ? valueProp : uncontrolledValue;
|
|
42
|
+
const setValue = useCallback((next) => {
|
|
43
|
+
if (next === value) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (!isControlled) {
|
|
47
|
+
setUncontrolledValue(next);
|
|
48
|
+
}
|
|
49
|
+
onValueChange?.(next);
|
|
50
|
+
}, [value, isControlled, onValueChange]);
|
|
51
|
+
const mergedLabels = useMemo(() => ({ ...DEFAULT_LABELS, ...labels }), [labels]);
|
|
52
|
+
const contextValue = useMemo(() => ({ value, setValue, orientation, labels: mergedLabels }), [value, setValue, orientation, mergedLabels]);
|
|
53
|
+
return (_jsx(StepperContext.Provider, { value: contextValue, children: _jsx("div", { ref: ref, "data-slot": "stepper", "data-orientation": orientation, className: cn("group/stepper flex w-full", orientation === "vertical" ? "flex-col" : "flex-row", className), ...props, children: children }) }));
|
|
54
|
+
});
|
|
55
|
+
Stepper.displayName = "Stepper";
|
|
56
|
+
/* ------------------------------------------------------------------ *
|
|
57
|
+
* Stepper list
|
|
58
|
+
* ------------------------------------------------------------------ */
|
|
59
|
+
/**
|
|
60
|
+
* Ordered list landmark wrapping the steps. Pure layout — lays the items out
|
|
61
|
+
* along the stepper's axis. Optional (a consumer may bring their own `<ol>`),
|
|
62
|
+
* but provided for the common case so the steps read as an ordered list to AT.
|
|
63
|
+
*/
|
|
64
|
+
export const StepperList = forwardRef(({ className, ...props }, ref) => {
|
|
65
|
+
const { orientation } = useStepper("StepperList");
|
|
66
|
+
return (_jsx("ol", { ref: ref, "data-slot": "stepper-list", "data-orientation": orientation, className: cn("flex w-full", orientation === "vertical" ? "flex-col" : "flex-row items-center", className), ...props }));
|
|
67
|
+
});
|
|
68
|
+
StepperList.displayName = "StepperList";
|
|
69
|
+
/**
|
|
70
|
+
* A single step. Computes its state relative to the active step — earlier steps
|
|
71
|
+
* are `completed`, the current one is `active`, later ones are `upcoming` — and
|
|
72
|
+
* exposes it (plus its index and disabled flag) to descendants through context.
|
|
73
|
+
* Renders an `<li>`; carries `aria-current="step"` on the active step and
|
|
74
|
+
* appends an sr-only state suffix ("completed" / "current" / "not started",
|
|
75
|
+
* localizable via the stepper's `labels` prop) — the visual state is otherwise
|
|
76
|
+
* color/icon-only, which screen readers cannot perceive.
|
|
77
|
+
*/
|
|
78
|
+
export const StepperItem = forwardRef(({ step, completed, disabled = false, className, children, ...props }, ref) => {
|
|
79
|
+
const { value, orientation, labels } = useStepper("StepperItem");
|
|
80
|
+
const state = completed || step < value ? "completed" : step === value ? "active" : "upcoming";
|
|
81
|
+
const stateLabel = state === "completed"
|
|
82
|
+
? labels.completed
|
|
83
|
+
: state === "active"
|
|
84
|
+
? labels.current
|
|
85
|
+
: labels.upcoming;
|
|
86
|
+
const itemContext = useMemo(() => ({ step, state, disabled }), [step, state, disabled]);
|
|
87
|
+
return (_jsx(StepperItemContext.Provider, { value: itemContext, children: _jsxs("li", { ref: ref, "data-slot": "stepper-item", "data-state": state, "data-orientation": orientation, "data-disabled": disabled || undefined, "aria-current": state === "active" ? "step" : undefined, className: cn("group/step relative flex", orientation === "vertical" ? "flex-col" : "flex-row items-center not-last:flex-1", className), ...props, children: [children, _jsx("span", { "data-slot": "stepper-item-state", className: "sr-only", children: stateLabel })] }) }));
|
|
88
|
+
});
|
|
89
|
+
StepperItem.displayName = "StepperItem";
|
|
90
|
+
/* ------------------------------------------------------------------ *
|
|
91
|
+
* Stepper indicator
|
|
92
|
+
* ------------------------------------------------------------------ */
|
|
93
|
+
const stepperIndicatorVariants = cva(cn("inline-flex size-8 shrink-0 select-none items-center justify-center rounded-full text-sm font-medium", "transition-[background,color,border-color] duration-200 ease-[var(--ease-out-quart)] motion-reduce:transition-none", "[&_svg]:size-4 [&_svg]:shrink-0"), {
|
|
94
|
+
variants: {
|
|
95
|
+
state: {
|
|
96
|
+
completed: "bg-primary/15 text-primary-strong",
|
|
97
|
+
active: "bg-primary text-white shadow-xs",
|
|
98
|
+
upcoming: "border border-border bg-surface-overlay text-fg-tertiary",
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
defaultVariants: { state: "upcoming" },
|
|
102
|
+
});
|
|
103
|
+
/**
|
|
104
|
+
* The numbered circle for a step. Shows a {@link Check} once the step is
|
|
105
|
+
* completed, the 1-based step number while it is active or upcoming, and styles
|
|
106
|
+
* itself from the item state (active = solid primary, completed = tinted, else
|
|
107
|
+
* muted). Pass `children` to render custom content (e.g. an icon).
|
|
108
|
+
*/
|
|
109
|
+
export const StepperIndicator = forwardRef(({ className, children, ...props }, ref) => {
|
|
110
|
+
const { step, state } = useStepperItem("StepperIndicator");
|
|
111
|
+
return (_jsx("span", { ref: ref, "data-slot": "stepper-indicator", "data-state": state, className: cn(stepperIndicatorVariants({ state }), className), ...props, children: children ??
|
|
112
|
+
(state === "completed" ? (_jsx(Check, { "aria-hidden": "true", strokeWidth: 2.5 })) : (_jsx("span", { children: step + 1 }))) }));
|
|
113
|
+
});
|
|
114
|
+
StepperIndicator.displayName = "StepperIndicator";
|
|
115
|
+
/* ------------------------------------------------------------------ *
|
|
116
|
+
* Stepper separator
|
|
117
|
+
* ------------------------------------------------------------------ */
|
|
118
|
+
/**
|
|
119
|
+
* The connector line between two steps. Fills with `bg-primary` once the
|
|
120
|
+
* preceding step is complete and stays `bg-border` otherwise; orients itself
|
|
121
|
+
* along the stepper axis. Decorative — hidden from assistive tech.
|
|
122
|
+
*/
|
|
123
|
+
export const StepperSeparator = forwardRef(({ className, ...props }, ref) => {
|
|
124
|
+
const { orientation } = useStepper("StepperSeparator");
|
|
125
|
+
const { state } = useStepperItem("StepperSeparator");
|
|
126
|
+
const filled = state === "completed";
|
|
127
|
+
return (_jsx("div", { ref: ref, "data-slot": "stepper-separator", "data-state": filled ? "completed" : "incomplete", "aria-hidden": "true", className: cn("shrink-0 rounded-full transition-colors duration-200 ease-[var(--ease-out-quart)] motion-reduce:transition-none", filled ? "bg-primary" : "bg-border", orientation === "vertical" ? "mx-auto my-1 w-px flex-1" : "mx-2 h-px flex-1", className), ...props }));
|
|
128
|
+
});
|
|
129
|
+
StepperSeparator.displayName = "StepperSeparator";
|
|
130
|
+
/**
|
|
131
|
+
* Optional clickable wrapper that activates its step on press. Inherits the
|
|
132
|
+
* item's `disabled` state, forwards keyboard/focus semantics as a real
|
|
133
|
+
* `<button>`, and is a no-op when the step is already active. Wrap the
|
|
134
|
+
* indicator + title/description in it to make a step navigable.
|
|
135
|
+
*/
|
|
136
|
+
export const StepperTrigger = forwardRef(({ className, disabled, type, onClick, ...props }, ref) => {
|
|
137
|
+
const { setValue } = useStepper("StepperTrigger");
|
|
138
|
+
const { step, disabled: itemDisabled } = useStepperItem("StepperTrigger");
|
|
139
|
+
const isDisabled = disabled ?? itemDisabled;
|
|
140
|
+
return (_jsx("button", { ref: ref, type: type ?? "button", "data-slot": "stepper-trigger", disabled: isDisabled, className: cn("inline-flex items-center gap-3 rounded-lg text-left", "transition-opacity duration-150 ease-[var(--ease-out-quart)]", "outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface-base", "disabled:pointer-events-none disabled:opacity-50", "not-disabled:cursor-pointer", className), onClick: (event) => {
|
|
141
|
+
onClick?.(event);
|
|
142
|
+
if (event.defaultPrevented) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
setValue(step);
|
|
146
|
+
}, ...props }));
|
|
147
|
+
});
|
|
148
|
+
StepperTrigger.displayName = "StepperTrigger";
|
|
149
|
+
/* ------------------------------------------------------------------ *
|
|
150
|
+
* Stepper title / description
|
|
151
|
+
* ------------------------------------------------------------------ */
|
|
152
|
+
/** The short label for a step. Brightens to `text-fg` once active or completed. */
|
|
153
|
+
export const StepperTitle = forwardRef(({ className, ...props }, ref) => {
|
|
154
|
+
const { state } = useStepperItem("StepperTitle");
|
|
155
|
+
return (_jsx("div", { ref: ref, "data-slot": "stepper-title", className: cn("text-sm font-medium leading-none", state === "upcoming" ? "text-fg-tertiary" : "text-fg", className), ...props }));
|
|
156
|
+
});
|
|
157
|
+
StepperTitle.displayName = "StepperTitle";
|
|
158
|
+
/** Optional secondary line under a {@link StepperTitle}. */
|
|
159
|
+
export const StepperDescription = forwardRef(({ className, ...props }, ref) => {
|
|
160
|
+
return (_jsx("div", { ref: ref, "data-slot": "stepper-description", className: cn("mt-1 text-xs text-fg-secondary", className), ...props }));
|
|
161
|
+
});
|
|
162
|
+
StepperDescription.displayName = "StepperDescription";
|
|
163
|
+
export { stepperIndicatorVariants };
|
|
164
|
+
//# sourceMappingURL=stepper.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type HTMLAttributes } from "react";
|
|
2
|
+
export interface SunburstNode {
|
|
3
|
+
name: string;
|
|
4
|
+
value?: number;
|
|
5
|
+
children?: SunburstNode[];
|
|
6
|
+
}
|
|
7
|
+
export interface SunburstChartProps extends HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
data: SunburstNode[];
|
|
9
|
+
}
|
|
10
|
+
export declare function SunburstChart({ data, className, ...props }: SunburstChartProps): import("react").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=sunburst-chart.d.ts.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { cn } from "../lib/cn.js";
|
|
4
|
+
function polar(cx, cy, r, a) {
|
|
5
|
+
return [cx + r * Math.cos(a), cy + r * Math.sin(a)];
|
|
6
|
+
}
|
|
7
|
+
function arcPath(cx, cy, r0, r1, a0, a1) {
|
|
8
|
+
const large = a1 - a0 > Math.PI ? 1 : 0;
|
|
9
|
+
const [x0, y0] = polar(cx, cy, r1, a0);
|
|
10
|
+
const [x1, y1] = polar(cx, cy, r1, a1);
|
|
11
|
+
const [x2, y2] = polar(cx, cy, r0, a1);
|
|
12
|
+
const [x3, y3] = polar(cx, cy, r0, a0);
|
|
13
|
+
return `M ${x0} ${y0} A ${r1} ${r1} 0 ${large} 1 ${x1} ${y1} L ${x2} ${y2} A ${r0} ${r0} 0 ${large} 0 ${x3} ${y3} Z`;
|
|
14
|
+
}
|
|
15
|
+
export function SunburstChart({ data, className, ...props }) {
|
|
16
|
+
const slices = useMemo(() => {
|
|
17
|
+
const total = data.reduce((acc, node) => acc + (node.value ?? 0), 0) || 1;
|
|
18
|
+
let angle = -Math.PI / 2;
|
|
19
|
+
const out = [];
|
|
20
|
+
data.forEach((node, index) => {
|
|
21
|
+
const span = ((node.value ?? 0) / total) * Math.PI * 2;
|
|
22
|
+
out.push({
|
|
23
|
+
d: arcPath(100, 100, 36, 64, angle, angle + span),
|
|
24
|
+
color: `var(--cronus-chart-${(index % 5) + 1})`,
|
|
25
|
+
name: node.name,
|
|
26
|
+
});
|
|
27
|
+
const kids = node.children ?? [];
|
|
28
|
+
const kidTotal = kids.reduce((acc, child) => acc + (child.value ?? 0), 0) || 1;
|
|
29
|
+
let inner = angle;
|
|
30
|
+
for (const child of kids) {
|
|
31
|
+
const kidSpan = ((child.value ?? 0) / kidTotal) * span;
|
|
32
|
+
out.push({
|
|
33
|
+
d: arcPath(100, 100, 66, 94, inner, inner + kidSpan),
|
|
34
|
+
color: `var(--cronus-chart-${((index + 1) % 5) + 1})`,
|
|
35
|
+
name: child.name,
|
|
36
|
+
});
|
|
37
|
+
inner += kidSpan;
|
|
38
|
+
}
|
|
39
|
+
angle += span;
|
|
40
|
+
});
|
|
41
|
+
return out;
|
|
42
|
+
}, [data]);
|
|
43
|
+
return (_jsx("div", { "data-slot": "sunburst-chart", className: cn("h-64 w-full", className), ...props, children: _jsx("svg", { viewBox: "0 0 200 200", className: "mx-auto h-full", role: "img", "aria-label": "Sunburst chart", children: slices.map((slice) => (_jsx("path", { d: slice.d, fill: slice.color, children: _jsx("title", { children: slice.name }) }, `${slice.name}-${slice.d.slice(0, 24)}`))) }) }));
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=sunburst-chart.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import * as SwitchPrimitive from "@radix-ui/react-switch";
|
|
2
|
+
export declare const Switch: import("react").ForwardRefExoticComponent<Omit<SwitchPrimitive.SwitchProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
3
|
+
//# sourceMappingURL=switch.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as SwitchPrimitive from "@radix-ui/react-switch";
|
|
4
|
+
import { forwardRef } from "react";
|
|
5
|
+
import { cn } from "../lib/cn.js";
|
|
6
|
+
export const Switch = forwardRef(({ className, ...props }, ref) => {
|
|
7
|
+
return (_jsx(SwitchPrimitive.Root, { ref: ref, "data-slot": "switch", className: cn("peer inline-flex h-5 w-9 shrink-0 items-center rounded-full border border-transparent bg-fg-tertiary transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface-base disabled:opacity-50 disabled:pointer-events-none data-[state=checked]:bg-primary aria-invalid:border-error aria-invalid:ring-2 aria-invalid:ring-error/30", className), ...props, children: _jsx(SwitchPrimitive.Thumb, { className: "pointer-events-none block size-4 rounded-full bg-primary-foreground shadow-sm ring-0 transition-transform translate-x-0.5 data-[state=checked]:translate-x-[18px]" }) }));
|
|
8
|
+
});
|
|
9
|
+
Switch.displayName = "Switch";
|
|
10
|
+
//# sourceMappingURL=switch.js.map
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { type HTMLAttributes } from "react";
|
|
2
|
+
/** One entry in the table of contents, linking to a heading by its `id`. */
|
|
3
|
+
export interface TableOfContentsItem {
|
|
4
|
+
/** The `id` of the heading element this entry links to. */
|
|
5
|
+
id: string;
|
|
6
|
+
/** Visible link text. */
|
|
7
|
+
label: string;
|
|
8
|
+
/**
|
|
9
|
+
* Nesting level, `0`-based — each level indents the link one step further.
|
|
10
|
+
* Defaults to `0`.
|
|
11
|
+
*/
|
|
12
|
+
depth?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface TableOfContentsProps extends Omit<HTMLAttributes<HTMLElement>, "children"> {
|
|
15
|
+
/**
|
|
16
|
+
* The entries to render, in document order. When omitted, headings are
|
|
17
|
+
* auto-discovered from the DOM via {@link TableOfContentsProps.selector}.
|
|
18
|
+
*/
|
|
19
|
+
items?: TableOfContentsItem[];
|
|
20
|
+
/**
|
|
21
|
+
* CSS selector used to auto-discover headings when
|
|
22
|
+
* {@link TableOfContentsProps.items} is omitted. Only elements with an `id`
|
|
23
|
+
* participate; depth is derived from the heading level (the shallowest level
|
|
24
|
+
* found becomes depth 0). Defaults to `"h2, h3"`.
|
|
25
|
+
*/
|
|
26
|
+
selector?: string;
|
|
27
|
+
/**
|
|
28
|
+
* `id` of the element that scopes heading discovery. When that element is
|
|
29
|
+
* itself a scroll container (`overflow-y: auto | scroll`), it also becomes
|
|
30
|
+
* the scrollspy root and the target of click-to-scroll — otherwise the
|
|
31
|
+
* window scrolls. Defaults to the whole document.
|
|
32
|
+
*/
|
|
33
|
+
containerId?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Pixels between the top of the scroll root and the activation line — match
|
|
36
|
+
* your sticky-header height. Also subtracted when scrolling to a section on
|
|
37
|
+
* click. Defaults to `0`.
|
|
38
|
+
*/
|
|
39
|
+
offset?: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* A scrollspy "On this page" table of contents. Section headings are watched by
|
|
43
|
+
* a single `IntersectionObserver` whose root margin carves an activation band
|
|
44
|
+
* across the top quarter of the scroll root (the window, or the scrollable
|
|
45
|
+
* container named by `containerId`): the first observed heading inside the band
|
|
46
|
+
* is the active section, and when the band is empty — e.g. deep inside a long
|
|
47
|
+
* section body — the heading that last crossed above it stays active. Scroll
|
|
48
|
+
* position is never polled and no scroll listener is attached; React re-renders
|
|
49
|
+
* only when the active section actually changes.
|
|
50
|
+
*
|
|
51
|
+
* The active link gains `text-fg` + `aria-current="location"`, and a small
|
|
52
|
+
* indicator bar translates vertically to the active row — its `transform` /
|
|
53
|
+
* `height` are written straight to the DOM and animated by a CSS transition
|
|
54
|
+
* (`motion-reduce:transition-none`, so opted-out visitors get an instant cut).
|
|
55
|
+
* Clicking a link smooth-scrolls to its heading (instant under
|
|
56
|
+
* `prefers-reduced-motion`) and rewrites the URL hash without pushing a history
|
|
57
|
+
* entry per click.
|
|
58
|
+
*
|
|
59
|
+
* Entries come from {@link TableOfContentsProps.items}, or are auto-discovered
|
|
60
|
+
* once on mount from the headings matching {@link TableOfContentsProps.selector}
|
|
61
|
+
* — headings need an `id` to participate.
|
|
62
|
+
*/
|
|
63
|
+
export declare const TableOfContents: import("react").ForwardRefExoticComponent<TableOfContentsProps & import("react").RefAttributes<HTMLElement>>;
|
|
64
|
+
//# sourceMappingURL=table-of-contents.d.ts.map
|
|
Binary file
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type HTMLAttributes, type TdHTMLAttributes, type ThHTMLAttributes } from "react";
|
|
2
|
+
export declare const Table: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLTableElement> & import("react").RefAttributes<HTMLTableElement>>;
|
|
3
|
+
export declare const TableHeader: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & import("react").RefAttributes<HTMLTableSectionElement>>;
|
|
4
|
+
export declare const TableBody: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & import("react").RefAttributes<HTMLTableSectionElement>>;
|
|
5
|
+
export declare const TableFooter: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & import("react").RefAttributes<HTMLTableSectionElement>>;
|
|
6
|
+
export declare const TableRow: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLTableRowElement> & import("react").RefAttributes<HTMLTableRowElement>>;
|
|
7
|
+
export declare const TableHead: import("react").ForwardRefExoticComponent<ThHTMLAttributes<HTMLTableCellElement> & import("react").RefAttributes<HTMLTableCellElement>>;
|
|
8
|
+
export declare const TableCell: import("react").ForwardRefExoticComponent<TdHTMLAttributes<HTMLTableCellElement> & import("react").RefAttributes<HTMLTableCellElement>>;
|
|
9
|
+
export declare const TableCaption: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLTableCaptionElement> & import("react").RefAttributes<HTMLTableCaptionElement>>;
|
|
10
|
+
//# sourceMappingURL=table.d.ts.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, } from "react";
|
|
3
|
+
import { cn } from "../lib/cn.js";
|
|
4
|
+
export const Table = forwardRef(({ className, ...props }, ref) => {
|
|
5
|
+
return (_jsx("section", { "data-slot": "table-container",
|
|
6
|
+
// biome-ignore lint/a11y/noNoninteractiveTabindex: a scrollable region is intentionally focusable so keyboard users can scroll it.
|
|
7
|
+
tabIndex: 0, "aria-label": "Table", className: "relative w-full overflow-x-auto outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset", children: _jsx("table", { ref: ref, "data-slot": "table", className: cn("w-full caption-bottom text-sm text-fg", className), ...props }) }));
|
|
8
|
+
});
|
|
9
|
+
Table.displayName = "Table";
|
|
10
|
+
export const TableHeader = forwardRef(({ className, ...props }, ref) => {
|
|
11
|
+
return (_jsx("thead", { ref: ref, "data-slot": "table-header", className: cn("[&_tr]:border-b [&_tr]:border-border", className), ...props }));
|
|
12
|
+
});
|
|
13
|
+
TableHeader.displayName = "TableHeader";
|
|
14
|
+
export const TableBody = forwardRef(({ className, ...props }, ref) => {
|
|
15
|
+
return (_jsx("tbody", { ref: ref, "data-slot": "table-body", className: cn("[&_tr:last-child]:border-0", className), ...props }));
|
|
16
|
+
});
|
|
17
|
+
TableBody.displayName = "TableBody";
|
|
18
|
+
export const TableFooter = forwardRef(({ className, ...props }, ref) => {
|
|
19
|
+
return (_jsx("tfoot", { ref: ref, "data-slot": "table-footer", className: cn("border-t border-border bg-surface-inset/50 font-medium", className), ...props }));
|
|
20
|
+
});
|
|
21
|
+
TableFooter.displayName = "TableFooter";
|
|
22
|
+
export const TableRow = forwardRef(({ className, ...props }, ref) => {
|
|
23
|
+
return (_jsx("tr", { ref: ref, "data-slot": "table-row", className: cn("border-b border-border transition-colors hover:bg-surface-overlay/50 data-[state=selected]:bg-surface-overlay", className), ...props }));
|
|
24
|
+
});
|
|
25
|
+
TableRow.displayName = "TableRow";
|
|
26
|
+
export const TableHead = forwardRef(({ className, ...props }, ref) => {
|
|
27
|
+
return (_jsx("th", { ref: ref, "data-slot": "table-head", className: cn("h-10 px-3 text-left align-middle font-medium text-fg-secondary whitespace-nowrap", className), ...props }));
|
|
28
|
+
});
|
|
29
|
+
TableHead.displayName = "TableHead";
|
|
30
|
+
export const TableCell = forwardRef(({ className, ...props }, ref) => {
|
|
31
|
+
return (_jsx("td", { ref: ref, "data-slot": "table-cell", className: cn("p-3 align-middle whitespace-nowrap", className), ...props }));
|
|
32
|
+
});
|
|
33
|
+
TableCell.displayName = "TableCell";
|
|
34
|
+
export const TableCaption = forwardRef(({ className, ...props }, ref) => {
|
|
35
|
+
return (_jsx("caption", { ref: ref, "data-slot": "table-caption", className: cn("mt-4 text-sm text-fg-tertiary", className), ...props }));
|
|
36
|
+
});
|
|
37
|
+
TableCaption.displayName = "TableCaption";
|
|
38
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
2
|
+
export declare const Tabs: import("react").ForwardRefExoticComponent<Omit<TabsPrimitive.TabsProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
3
|
+
export declare const TabsList: import("react").ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
4
|
+
export declare const TabsTrigger: import("react").ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
5
|
+
export declare const TabsContent: import("react").ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
6
|
+
//# sourceMappingURL=tabs.d.ts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
4
|
+
import { forwardRef } from "react";
|
|
5
|
+
import { cn } from "../lib/cn.js";
|
|
6
|
+
export const Tabs = forwardRef(({ className, ...props }, ref) => {
|
|
7
|
+
return (_jsx(TabsPrimitive.Root, { ref: ref, "data-slot": "tabs", className: cn("flex flex-col gap-2", className), ...props }));
|
|
8
|
+
});
|
|
9
|
+
Tabs.displayName = "Tabs";
|
|
10
|
+
export const TabsList = forwardRef(({ className, ...props }, ref) => {
|
|
11
|
+
return (_jsx(TabsPrimitive.List, { ref: ref, "data-slot": "tabs-list", className: cn("inline-flex h-10 w-fit items-center justify-center gap-1 rounded-lg bg-surface-inset p-1 text-fg-secondary", className), ...props }));
|
|
12
|
+
});
|
|
13
|
+
TabsList.displayName = "TabsList";
|
|
14
|
+
export const TabsTrigger = forwardRef(({ className, ...props }, ref) => {
|
|
15
|
+
return (_jsx(TabsPrimitive.Trigger, { ref: ref, "data-slot": "tabs-trigger", className: cn("inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface-base disabled:opacity-50 disabled:pointer-events-none data-[state=active]:bg-surface-floating data-[state=active]:text-fg data-[state=active]:shadow-xs [&_svg]:size-4", className), ...props }));
|
|
16
|
+
});
|
|
17
|
+
TabsTrigger.displayName = "TabsTrigger";
|
|
18
|
+
export const TabsContent = forwardRef(({ className, ...props }, ref) => {
|
|
19
|
+
return (_jsx(TabsPrimitive.Content, { ref: ref, "data-slot": "tabs-content", className: cn("flex-1 outline-none", className), ...props }));
|
|
20
|
+
});
|
|
21
|
+
TabsContent.displayName = "TabsContent";
|
|
22
|
+
//# sourceMappingURL=tabs.js.map
|