@epilot/spark-ui 1.0.0-alpha.2 → 1.0.0-alpha.4
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 +201 -0
- package/NOTICE +2 -0
- package/README.md +7 -1
- package/dist/chunk-aJGBMT86.cjs +29 -0
- package/dist/components/accordion.cjs +57 -0
- package/dist/components/accordion.cjs.map +1 -0
- package/dist/components/accordion.d.cts +45 -0
- package/dist/components/accordion.d.ts +45 -0
- package/dist/components/accordion.js +51 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/alert-dialog.cjs +137 -0
- package/dist/components/alert-dialog.cjs.map +1 -0
- package/dist/components/alert-dialog.d.cts +63 -0
- package/dist/components/alert-dialog.d.ts +63 -0
- package/dist/components/alert-dialog.js +123 -0
- package/dist/components/alert-dialog.js.map +1 -0
- package/dist/components/attachment.cjs +119 -0
- package/dist/components/attachment.cjs.map +1 -0
- package/dist/components/attachment.d.cts +67 -0
- package/dist/components/attachment.d.ts +67 -0
- package/dist/components/attachment.js +108 -0
- package/dist/components/attachment.js.map +1 -0
- package/dist/components/badge.cjs +20 -0
- package/dist/components/badge.cjs.map +1 -0
- package/dist/components/badge.d.cts +12 -0
- package/dist/components/badge.d.ts +12 -0
- package/dist/components/badge.js +17 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/bar-chart.cjs +520 -0
- package/dist/components/bar-chart.cjs.map +1 -0
- package/dist/components/bar-chart.d.cts +88 -0
- package/dist/components/bar-chart.d.ts +88 -0
- package/dist/components/bar-chart.js +518 -0
- package/dist/components/bar-chart.js.map +1 -0
- package/dist/components/battery-progress-row.cjs +140 -0
- package/dist/components/battery-progress-row.cjs.map +1 -0
- package/dist/components/battery-progress-row.d.cts +78 -0
- package/dist/components/battery-progress-row.d.ts +78 -0
- package/dist/components/battery-progress-row.js +129 -0
- package/dist/components/battery-progress-row.js.map +1 -0
- package/dist/components/breadcrumbs.cjs +65 -0
- package/dist/components/breadcrumbs.cjs.map +1 -0
- package/dist/components/breadcrumbs.d.cts +44 -0
- package/dist/components/breadcrumbs.d.ts +44 -0
- package/dist/components/breadcrumbs.js +58 -0
- package/dist/components/breadcrumbs.js.map +1 -0
- package/dist/components/bubble.cjs +84 -0
- package/dist/components/bubble.cjs.map +1 -0
- package/dist/components/bubble.d.cts +41 -0
- package/dist/components/bubble.d.ts +41 -0
- package/dist/components/bubble.js +78 -0
- package/dist/components/bubble.js.map +1 -0
- package/dist/components/button.cjs +54 -0
- package/dist/components/button.cjs.map +1 -0
- package/dist/components/button.d.cts +42 -0
- package/dist/components/button.d.ts +42 -0
- package/dist/components/button.js +50 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/calendar.cjs +58 -0
- package/dist/components/calendar.cjs.map +1 -0
- package/dist/components/calendar.d.cts +17 -0
- package/dist/components/calendar.d.ts +17 -0
- package/dist/components/calendar.js +55 -0
- package/dist/components/calendar.js.map +1 -0
- package/dist/components/callout.cjs +95 -0
- package/dist/components/callout.cjs.map +1 -0
- package/dist/components/callout.d.cts +39 -0
- package/dist/components/callout.d.ts +39 -0
- package/dist/components/callout.js +88 -0
- package/dist/components/callout.js.map +1 -0
- package/dist/components/card.cjs +86 -0
- package/dist/components/card.cjs.map +1 -0
- package/dist/components/card.d.cts +28 -0
- package/dist/components/card.d.ts +28 -0
- package/dist/components/card.js +76 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/chart.cjs +93 -0
- package/dist/components/chart.cjs.map +1 -0
- package/dist/components/chart.d.cts +83 -0
- package/dist/components/chart.d.ts +83 -0
- package/dist/components/chart.js +88 -0
- package/dist/components/chart.js.map +1 -0
- package/dist/components/checkbox.cjs +37 -0
- package/dist/components/checkbox.cjs.map +1 -0
- package/dist/components/checkbox.d.cts +22 -0
- package/dist/components/checkbox.d.ts +22 -0
- package/dist/components/checkbox.js +34 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/circular-gauge.cjs +74 -0
- package/dist/components/circular-gauge.cjs.map +1 -0
- package/dist/components/circular-gauge.d.cts +38 -0
- package/dist/components/circular-gauge.d.ts +38 -0
- package/dist/components/circular-gauge.js +71 -0
- package/dist/components/circular-gauge.js.map +1 -0
- package/dist/components/day-of-week-picker.cjs +123 -0
- package/dist/components/day-of-week-picker.cjs.map +1 -0
- package/dist/components/day-of-week-picker.d.cts +39 -0
- package/dist/components/day-of-week-picker.d.ts +39 -0
- package/dist/components/day-of-week-picker.js +119 -0
- package/dist/components/day-of-week-picker.js.map +1 -0
- package/dist/components/device-card.cjs +118 -0
- package/dist/components/device-card.cjs.map +1 -0
- package/dist/components/device-card.d.cts +71 -0
- package/dist/components/device-card.d.ts +71 -0
- package/dist/components/device-card.js +104 -0
- package/dist/components/device-card.js.map +1 -0
- package/dist/components/dialog.cjs +115 -0
- package/dist/components/dialog.cjs.map +1 -0
- package/dist/components/dialog.d.cts +45 -0
- package/dist/components/dialog.d.ts +45 -0
- package/dist/components/dialog.js +103 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/donut-chart.cjs +71 -0
- package/dist/components/donut-chart.cjs.map +1 -0
- package/dist/components/donut-chart.d.cts +22 -0
- package/dist/components/donut-chart.d.ts +22 -0
- package/dist/components/donut-chart.js +69 -0
- package/dist/components/donut-chart.js.map +1 -0
- package/dist/components/drawer.cjs +95 -0
- package/dist/components/drawer.cjs.map +1 -0
- package/dist/components/drawer.d.cts +46 -0
- package/dist/components/drawer.d.ts +46 -0
- package/dist/components/drawer.js +83 -0
- package/dist/components/drawer.js.map +1 -0
- package/dist/components/dropdown-menu.cjs +165 -0
- package/dist/components/dropdown-menu.cjs.map +1 -0
- package/dist/components/dropdown-menu.d.cts +93 -0
- package/dist/components/dropdown-menu.d.ts +93 -0
- package/dist/components/dropdown-menu.js +148 -0
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/empty-state.cjs +35 -0
- package/dist/components/empty-state.cjs.map +1 -0
- package/dist/components/empty-state.d.cts +22 -0
- package/dist/components/empty-state.d.ts +22 -0
- package/dist/components/empty-state.js +33 -0
- package/dist/components/empty-state.js.map +1 -0
- package/dist/components/energy-bar-chart.cjs +24 -0
- package/dist/components/energy-bar-chart.cjs.map +1 -0
- package/dist/components/energy-bar-chart.d.cts +43 -0
- package/dist/components/energy-bar-chart.d.ts +43 -0
- package/dist/components/energy-bar-chart.js +22 -0
- package/dist/components/energy-bar-chart.js.map +1 -0
- package/dist/components/energy-breakdown.cjs +81 -0
- package/dist/components/energy-breakdown.cjs.map +1 -0
- package/dist/components/energy-breakdown.d.cts +26 -0
- package/dist/components/energy-breakdown.d.ts +26 -0
- package/dist/components/energy-breakdown.js +79 -0
- package/dist/components/energy-breakdown.js.map +1 -0
- package/dist/components/energy-history-chart.cjs +64 -0
- package/dist/components/energy-history-chart.cjs.map +1 -0
- package/dist/components/energy-history-chart.d.cts +66 -0
- package/dist/components/energy-history-chart.d.ts +66 -0
- package/dist/components/energy-history-chart.js +62 -0
- package/dist/components/energy-history-chart.js.map +1 -0
- package/dist/components/feed-in-hero.cjs +56 -0
- package/dist/components/feed-in-hero.cjs.map +1 -0
- package/dist/components/feed-in-hero.d.cts +33 -0
- package/dist/components/feed-in-hero.d.ts +33 -0
- package/dist/components/feed-in-hero.js +51 -0
- package/dist/components/feed-in-hero.js.map +1 -0
- package/dist/components/field.cjs +257 -0
- package/dist/components/field.cjs.map +1 -0
- package/dist/components/field.d.cts +104 -0
- package/dist/components/field.d.ts +104 -0
- package/dist/components/field.js +243 -0
- package/dist/components/field.js.map +1 -0
- package/dist/components/icon.cjs +35 -0
- package/dist/components/icon.cjs.map +1 -0
- package/dist/components/icon.d.cts +27 -0
- package/dist/components/icon.d.ts +27 -0
- package/dist/components/icon.js +32 -0
- package/dist/components/icon.js.map +1 -0
- package/dist/components/info-block.cjs +75 -0
- package/dist/components/info-block.cjs.map +1 -0
- package/dist/components/info-block.d.cts +20 -0
- package/dist/components/info-block.d.ts +20 -0
- package/dist/components/info-block.js +65 -0
- package/dist/components/info-block.js.map +1 -0
- package/dist/components/input-group.cjs +164 -0
- package/dist/components/input-group.cjs.map +1 -0
- package/dist/components/input-group.d.cts +32 -0
- package/dist/components/input-group.d.ts +32 -0
- package/dist/components/input-group.js +158 -0
- package/dist/components/input-group.js.map +1 -0
- package/dist/components/input-otp.cjs +113 -0
- package/dist/components/input-otp.cjs.map +1 -0
- package/dist/components/input-otp.d.cts +22 -0
- package/dist/components/input-otp.d.ts +22 -0
- package/dist/components/input-otp.js +111 -0
- package/dist/components/input-otp.js.map +1 -0
- package/dist/components/input.cjs +112 -0
- package/dist/components/input.cjs.map +1 -0
- package/dist/components/input.d.cts +21 -0
- package/dist/components/input.d.ts +21 -0
- package/dist/components/input.js +109 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/label.cjs +18 -0
- package/dist/components/label.cjs.map +1 -0
- package/dist/components/label.d.cts +10 -0
- package/dist/components/label.d.ts +10 -0
- package/dist/components/label.js +15 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/layout.cjs +15 -0
- package/dist/components/layout.cjs.map +1 -0
- package/dist/components/layout.d.cts +12 -0
- package/dist/components/layout.d.ts +13 -0
- package/dist/components/layout.js +14 -0
- package/dist/components/layout.js.map +1 -0
- package/dist/components/line-chart.cjs +350 -0
- package/dist/components/line-chart.cjs.map +1 -0
- package/dist/components/line-chart.d.cts +78 -0
- package/dist/components/line-chart.d.ts +78 -0
- package/dist/components/line-chart.js +347 -0
- package/dist/components/line-chart.js.map +1 -0
- package/dist/components/list.cjs +132 -0
- package/dist/components/list.cjs.map +1 -0
- package/dist/components/list.d.cts +72 -0
- package/dist/components/list.d.ts +72 -0
- package/dist/components/list.js +122 -0
- package/dist/components/list.js.map +1 -0
- package/dist/components/marker.cjs +52 -0
- package/dist/components/marker.cjs.map +1 -0
- package/dist/components/marker.d.cts +29 -0
- package/dist/components/marker.d.ts +29 -0
- package/dist/components/marker.js +46 -0
- package/dist/components/marker.js.map +1 -0
- package/dist/components/message-scroller.cjs +73 -0
- package/dist/components/message-scroller.cjs.map +1 -0
- package/dist/components/message-scroller.d.cts +39 -0
- package/dist/components/message-scroller.d.ts +39 -0
- package/dist/components/message-scroller.js +62 -0
- package/dist/components/message-scroller.js.map +1 -0
- package/dist/components/message.cjs +60 -0
- package/dist/components/message.cjs.map +1 -0
- package/dist/components/message.d.cts +36 -0
- package/dist/components/message.d.ts +36 -0
- package/dist/components/message.js +52 -0
- package/dist/components/message.js.map +1 -0
- package/dist/components/metering-row.cjs +43 -0
- package/dist/components/metering-row.cjs.map +1 -0
- package/dist/components/metering-row.d.cts +32 -0
- package/dist/components/metering-row.d.ts +32 -0
- package/dist/components/metering-row.js +38 -0
- package/dist/components/metering-row.js.map +1 -0
- package/dist/components/money-saved-block.cjs +87 -0
- package/dist/components/money-saved-block.cjs.map +1 -0
- package/dist/components/money-saved-block.d.cts +57 -0
- package/dist/components/money-saved-block.d.ts +57 -0
- package/dist/components/money-saved-block.js +79 -0
- package/dist/components/money-saved-block.js.map +1 -0
- package/dist/components/number-flow.cjs +44 -0
- package/dist/components/number-flow.cjs.map +1 -0
- package/dist/components/number-flow.d.cts +4 -0
- package/dist/components/number-flow.d.ts +4 -0
- package/dist/components/number-flow.js +42 -0
- package/dist/components/number-flow.js.map +1 -0
- package/dist/components/on-off-button.cjs +36 -0
- package/dist/components/on-off-button.cjs.map +1 -0
- package/dist/components/on-off-button.d.cts +20 -0
- package/dist/components/on-off-button.d.ts +20 -0
- package/dist/components/on-off-button.js +34 -0
- package/dist/components/on-off-button.js.map +1 -0
- package/dist/components/onboarding-layout.cjs +68 -0
- package/dist/components/onboarding-layout.cjs.map +1 -0
- package/dist/components/onboarding-layout.d.cts +46 -0
- package/dist/components/onboarding-layout.d.ts +46 -0
- package/dist/components/onboarding-layout.js +60 -0
- package/dist/components/onboarding-layout.js.map +1 -0
- package/dist/components/page-header.cjs +50 -0
- package/dist/components/page-header.cjs.map +1 -0
- package/dist/components/page-header.d.cts +26 -0
- package/dist/components/page-header.d.ts +26 -0
- package/dist/components/page-header.js +44 -0
- package/dist/components/page-header.js.map +1 -0
- package/dist/components/page-spinner.cjs +19 -0
- package/dist/components/page-spinner.cjs.map +1 -0
- package/dist/components/page-spinner.d.cts +14 -0
- package/dist/components/page-spinner.d.ts +14 -0
- package/dist/components/page-spinner.js +17 -0
- package/dist/components/page-spinner.js.map +1 -0
- package/dist/components/period-tabs.cjs +79 -0
- package/dist/components/period-tabs.cjs.map +1 -0
- package/dist/components/period-tabs.d.cts +51 -0
- package/dist/components/period-tabs.d.ts +51 -0
- package/dist/components/period-tabs.js +73 -0
- package/dist/components/period-tabs.js.map +1 -0
- package/dist/components/popover.cjs +62 -0
- package/dist/components/popover.cjs.map +1 -0
- package/dist/components/popover.d.cts +29 -0
- package/dist/components/popover.d.ts +29 -0
- package/dist/components/popover.js +56 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/power-history-chart.cjs +335 -0
- package/dist/components/power-history-chart.cjs.map +1 -0
- package/dist/components/power-history-chart.d.cts +63 -0
- package/dist/components/power-history-chart.d.ts +63 -0
- package/dist/components/power-history-chart.js +332 -0
- package/dist/components/power-history-chart.js.map +1 -0
- package/dist/components/power-history.cjs +115 -0
- package/dist/components/power-history.cjs.map +1 -0
- package/dist/components/power-history.d.cts +42 -0
- package/dist/components/power-history.d.ts +43 -0
- package/dist/components/power-history.js +114 -0
- package/dist/components/power-history.js.map +1 -0
- package/dist/components/power-network.cjs +530 -0
- package/dist/components/power-network.cjs.map +1 -0
- package/dist/components/power-network.d.cts +77 -0
- package/dist/components/power-network.d.ts +77 -0
- package/dist/components/power-network.js +523 -0
- package/dist/components/power-network.js.map +1 -0
- package/dist/components/progress.cjs +34 -0
- package/dist/components/progress.cjs.map +1 -0
- package/dist/components/progress.d.cts +17 -0
- package/dist/components/progress.d.ts +17 -0
- package/dist/components/progress.js +31 -0
- package/dist/components/progress.js.map +1 -0
- package/dist/components/radio-card-group.cjs +69 -0
- package/dist/components/radio-card-group.cjs.map +1 -0
- package/dist/components/radio-card-group.d.cts +21 -0
- package/dist/components/radio-card-group.d.ts +21 -0
- package/dist/components/radio-card-group.js +65 -0
- package/dist/components/radio-card-group.js.map +1 -0
- package/dist/components/radio.cjs +34 -0
- package/dist/components/radio.cjs.map +1 -0
- package/dist/components/radio.d.cts +21 -0
- package/dist/components/radio.d.ts +21 -0
- package/dist/components/radio.js +30 -0
- package/dist/components/radio.js.map +1 -0
- package/dist/components/reparent.cjs +55 -0
- package/dist/components/reparent.cjs.map +1 -0
- package/dist/components/reparent.d.cts +29 -0
- package/dist/components/reparent.d.ts +29 -0
- package/dist/components/reparent.js +49 -0
- package/dist/components/reparent.js.map +1 -0
- package/dist/components/sankey-chart.cjs +188 -0
- package/dist/components/sankey-chart.cjs.map +1 -0
- package/dist/components/sankey-chart.d.cts +66 -0
- package/dist/components/sankey-chart.d.ts +66 -0
- package/dist/components/sankey-chart.js +185 -0
- package/dist/components/sankey-chart.js.map +1 -0
- package/dist/components/schedule-editor.cjs +82 -0
- package/dist/components/schedule-editor.cjs.map +1 -0
- package/dist/components/schedule-editor.d.cts +25 -0
- package/dist/components/schedule-editor.d.ts +25 -0
- package/dist/components/schedule-editor.js +72 -0
- package/dist/components/schedule-editor.js.map +1 -0
- package/dist/components/schedule-list.cjs +110 -0
- package/dist/components/schedule-list.cjs.map +1 -0
- package/dist/components/schedule-list.d.cts +29 -0
- package/dist/components/schedule-list.d.ts +29 -0
- package/dist/components/schedule-list.js +99 -0
- package/dist/components/schedule-list.js.map +1 -0
- package/dist/components/scroll-area.cjs +53 -0
- package/dist/components/scroll-area.cjs.map +1 -0
- package/dist/components/scroll-area.d.cts +26 -0
- package/dist/components/scroll-area.d.ts +26 -0
- package/dist/components/scroll-area.js +44 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/segmented-control.cjs +44 -0
- package/dist/components/segmented-control.cjs.map +1 -0
- package/dist/components/segmented-control.d.cts +33 -0
- package/dist/components/segmented-control.d.ts +33 -0
- package/dist/components/segmented-control.js +40 -0
- package/dist/components/segmented-control.js.map +1 -0
- package/dist/components/select.cjs +136 -0
- package/dist/components/select.cjs.map +1 -0
- package/dist/components/select.d.cts +63 -0
- package/dist/components/select.d.ts +63 -0
- package/dist/components/select.js +124 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.cjs +38 -0
- package/dist/components/separator.cjs.map +1 -0
- package/dist/components/separator.d.cts +13 -0
- package/dist/components/separator.d.ts +13 -0
- package/dist/components/separator.js +35 -0
- package/dist/components/separator.js.map +1 -0
- package/dist/components/series-legend.cjs +39 -0
- package/dist/components/series-legend.cjs.map +1 -0
- package/dist/components/series-legend.d.cts +31 -0
- package/dist/components/series-legend.d.ts +31 -0
- package/dist/components/series-legend.js +37 -0
- package/dist/components/series-legend.js.map +1 -0
- package/dist/components/sheet.cjs +102 -0
- package/dist/components/sheet.cjs.map +1 -0
- package/dist/components/sheet.d.cts +46 -0
- package/dist/components/sheet.d.ts +46 -0
- package/dist/components/sheet.js +90 -0
- package/dist/components/sheet.js.map +1 -0
- package/dist/components/skeleton.cjs +24 -0
- package/dist/components/skeleton.cjs.map +1 -0
- package/dist/components/skeleton.d.cts +24 -0
- package/dist/components/skeleton.d.ts +24 -0
- package/dist/components/skeleton.js +21 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/slider.cjs +276 -0
- package/dist/components/slider.cjs.map +1 -0
- package/dist/components/slider.d.cts +150 -0
- package/dist/components/slider.d.ts +150 -0
- package/dist/components/slider.js +266 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/smart-toggle-button.cjs +28 -0
- package/dist/components/smart-toggle-button.cjs.map +1 -0
- package/dist/components/smart-toggle-button.d.cts +18 -0
- package/dist/components/smart-toggle-button.d.ts +18 -0
- package/dist/components/smart-toggle-button.js +26 -0
- package/dist/components/smart-toggle-button.js.map +1 -0
- package/dist/components/solar-forecast-chart.cjs +106 -0
- package/dist/components/solar-forecast-chart.cjs.map +1 -0
- package/dist/components/solar-forecast-chart.d.cts +69 -0
- package/dist/components/solar-forecast-chart.d.ts +69 -0
- package/dist/components/solar-forecast-chart.js +100 -0
- package/dist/components/solar-forecast-chart.js.map +1 -0
- package/dist/components/sortable-list.cjs +69 -0
- package/dist/components/sortable-list.cjs.map +1 -0
- package/dist/components/sortable-list.d.cts +46 -0
- package/dist/components/sortable-list.d.ts +46 -0
- package/dist/components/sortable-list.js +67 -0
- package/dist/components/sortable-list.js.map +1 -0
- package/dist/components/spinner.cjs +42 -0
- package/dist/components/spinner.cjs.map +1 -0
- package/dist/components/spinner.d.cts +15 -0
- package/dist/components/spinner.d.ts +15 -0
- package/dist/components/spinner.js +39 -0
- package/dist/components/spinner.js.map +1 -0
- package/dist/components/stat-card.cjs +58 -0
- package/dist/components/stat-card.cjs.map +1 -0
- package/dist/components/stat-card.d.cts +36 -0
- package/dist/components/stat-card.d.ts +36 -0
- package/dist/components/stat-card.js +50 -0
- package/dist/components/stat-card.js.map +1 -0
- package/dist/components/stepper.cjs +79 -0
- package/dist/components/stepper.cjs.map +1 -0
- package/dist/components/stepper.d.cts +33 -0
- package/dist/components/stepper.d.ts +33 -0
- package/dist/components/stepper.js +76 -0
- package/dist/components/stepper.js.map +1 -0
- package/dist/components/switch.cjs +22 -0
- package/dist/components/switch.cjs.map +1 -0
- package/dist/components/switch.d.cts +28 -0
- package/dist/components/switch.d.ts +28 -0
- package/dist/components/switch.js +20 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/tabs.cjs +175 -0
- package/dist/components/tabs.cjs.map +1 -0
- package/dist/components/tabs.d.cts +45 -0
- package/dist/components/tabs.d.ts +45 -0
- package/dist/components/tabs.js +167 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/theme.cjs +6 -0
- package/dist/components/theme.d.cts +38 -0
- package/dist/components/theme.d.ts +38 -0
- package/dist/components/theme.js +4 -0
- package/dist/components/thumbnail.cjs +54 -0
- package/dist/components/thumbnail.cjs.map +1 -0
- package/dist/components/thumbnail.d.cts +34 -0
- package/dist/components/thumbnail.d.ts +34 -0
- package/dist/components/thumbnail.js +51 -0
- package/dist/components/thumbnail.js.map +1 -0
- package/dist/components/time-picker.cjs +55 -0
- package/dist/components/time-picker.cjs.map +1 -0
- package/dist/components/time-picker.d.cts +41 -0
- package/dist/components/time-picker.d.ts +41 -0
- package/dist/components/time-picker.js +51 -0
- package/dist/components/time-picker.js.map +1 -0
- package/dist/components/toast.cjs +99 -0
- package/dist/components/toast.cjs.map +1 -0
- package/dist/components/toast.d.cts +18 -0
- package/dist/components/toast.d.ts +18 -0
- package/dist/components/toast.js +95 -0
- package/dist/components/toast.js.map +1 -0
- package/dist/components/tooltip.cjs +75 -0
- package/dist/components/tooltip.cjs.map +1 -0
- package/dist/components/tooltip.d.cts +47 -0
- package/dist/components/tooltip.d.ts +47 -0
- package/dist/components/tooltip.js +67 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/components/typography.cjs +52 -0
- package/dist/components/typography.cjs.map +1 -0
- package/dist/components/typography.d.cts +32 -0
- package/dist/components/typography.d.ts +32 -0
- package/dist/components/typography.js +45 -0
- package/dist/components/typography.js.map +1 -0
- package/dist/hooks/use-container-width.cjs +22 -0
- package/dist/hooks/use-container-width.cjs.map +1 -0
- package/dist/hooks/use-container-width.d.cts +7 -0
- package/dist/hooks/use-container-width.d.ts +7 -0
- package/dist/hooks/use-container-width.js +20 -0
- package/dist/hooks/use-container-width.js.map +1 -0
- package/dist/icons/index.cjs +7 -0
- package/dist/icons/index.d.cts +4 -0
- package/dist/icons/index.d.ts +4 -0
- package/dist/icons/index.js +3 -0
- package/dist/icons/material-symbol.cjs +105 -0
- package/dist/icons/material-symbol.cjs.map +1 -0
- package/dist/icons/material-symbol.d.cts +23 -0
- package/dist/icons/material-symbol.d.ts +23 -0
- package/dist/icons/material-symbol.js +100 -0
- package/dist/icons/material-symbol.js.map +1 -0
- package/dist/input-box-variants-BMDdwvqg.cjs +40 -0
- package/dist/input-box-variants-BMDdwvqg.cjs.map +1 -0
- package/dist/input-box-variants-Dr1K7uYE.js +28 -0
- package/dist/input-box-variants-Dr1K7uYE.js.map +1 -0
- package/dist/number-flow-DMJouddg.d.cts +15 -0
- package/dist/number-flow-DSbucQ_K.d.ts +15 -0
- package/dist/styles/index.css +260 -0
- package/dist/styles/internal.css +5 -0
- package/dist/styles/material-symbol.css +22 -0
- package/dist/styles/spark-default.css +888 -0
- package/dist/styles/theme.css +620 -0
- package/dist/styles/utilities.css +557 -0
- package/dist/theme-C19BbKfO.js +574 -0
- package/dist/theme-C19BbKfO.js.map +1 -0
- package/dist/theme-CfFWrMEF.cjs +592 -0
- package/dist/theme-CfFWrMEF.cjs.map +1 -0
- package/dist/theme-types-DoROIXpi.d.ts +30 -0
- package/dist/theme-types-r20EJfEC.d.cts +30 -0
- package/dist/tones-DjgKOX3s.d.cts +8 -0
- package/dist/tones-DyCkL71h.d.ts +8 -0
- package/dist/utils/build-sankey-nodes.cjs +72 -0
- package/dist/utils/build-sankey-nodes.cjs.map +1 -0
- package/dist/utils/build-sankey-nodes.d.cts +27 -0
- package/dist/utils/build-sankey-nodes.d.ts +27 -0
- package/dist/utils/build-sankey-nodes.js +71 -0
- package/dist/utils/build-sankey-nodes.js.map +1 -0
- package/dist/utils/chars.cjs +18 -0
- package/dist/utils/chars.cjs.map +1 -0
- package/dist/utils/chars.d.cts +10 -0
- package/dist/utils/chars.d.ts +10 -0
- package/dist/utils/chars.js +14 -0
- package/dist/utils/chars.js.map +1 -0
- package/dist/utils/chart-scale.cjs +43 -0
- package/dist/utils/chart-scale.cjs.map +1 -0
- package/dist/utils/chart-scale.d.cts +22 -0
- package/dist/utils/chart-scale.d.ts +22 -0
- package/dist/utils/chart-scale.js +41 -0
- package/dist/utils/chart-scale.js.map +1 -0
- package/dist/utils/cn.cjs +10 -0
- package/dist/utils/cn.d.cts +4 -0
- package/dist/utils/cn.d.ts +4 -0
- package/dist/utils/cn.js +3 -0
- package/dist/utils/date-mask.cjs +45 -0
- package/dist/utils/date-mask.cjs.map +1 -0
- package/dist/utils/date-mask.d.cts +17 -0
- package/dist/utils/date-mask.d.ts +17 -0
- package/dist/utils/date-mask.js +41 -0
- package/dist/utils/date-mask.js.map +1 -0
- package/dist/utils/format.cjs +57 -0
- package/dist/utils/format.cjs.map +1 -0
- package/dist/utils/format.d.cts +23 -0
- package/dist/utils/format.d.ts +23 -0
- package/dist/utils/format.js +47 -0
- package/dist/utils/format.js.map +1 -0
- package/package.json +78 -63
- package/dist/index.cjs +0 -1631
- package/dist/index.cjs.map +0 -1
- package/dist/index.css +0 -1
- package/dist/index.d.cts +0 -299
- package/dist/index.d.ts +0 -299
- package/dist/index.js +0 -1518
- package/dist/index.js.map +0 -1
- package/dist/styles.js +0 -1
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/cn.ts","../src/components/accordion/accordion.tsx","../src/components/badge/badge.tsx","../src/components/button/button.tsx","../src/components/callout/callout.tsx","../src/components/card/card.tsx","../src/components/checkbox/checkbox.tsx","../src/components/dialog/dialog.tsx","../src/components/display-field/display-field.tsx","../src/components/drawer/drawer.tsx","../src/components/energy-flow/energy-flow.tsx","../src/components/input/input.tsx","../src/components/label/label.tsx","../src/components/line-chart/line-chart.tsx","../src/components/popover/popover.tsx","../src/components/progress/progress.tsx","../src/components/scroll-area/scroll-area.tsx","../src/components/select/select.tsx","../src/components/separator/separator.tsx","../src/components/sheet/sheet.tsx","../src/components/slider/slider.tsx","../src/components/switch/switch.tsx","../src/components/tabs/tabs.tsx"],"names":["React","React2","jsx","React3","jsxs","React5","DialogPrimitive","React6","React7","DrawerPrimitive","React8","Icon","Fragment","React9","useMemo","React10","React11","React12","React13","React14","Separator","React15","React16","cva","React17","CheckIcon","React18","React19"],"mappings":"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","file":"index.js","sourcesContent":["import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as AccordionPrimitive from '@radix-ui/react-accordion'\nimport * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\nconst ChevronDown = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M8 7.19992L4.93333 10.2666L4 9.33325L8 5.33325L12 9.33325L11.0667 10.2666L8 7.19992Z\"\n fill=\"currentColor\"\n fillOpacity=\"0.934\"\n />\n </svg>\n)\n\nconst Accordion = AccordionPrimitive.Root\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item\n className={cn('border-b border-gray', className)}\n ref={ref}\n {...props}\n />\n))\n\nAccordionItem.displayName = 'AccordionItem'\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n className={cn(\n 'flex flex-1 items-center justify-between rounded-md py-4 font-medium underline-offset-4 transition-all hover:underline focus-visible:ring [&[data-state=open]>svg]:rotate-180',\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n <ChevronDown\n className=\"h-4 w-4 shrink-0 transition-transform duration-200\"\n role=\"presentation\"\n />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n))\n\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n className=\"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n ref={ref}\n {...props}\n >\n <div className={cn(className)}>{children}</div>\n </AccordionPrimitive.Content>\n))\n\nAccordionContent.displayName = AccordionPrimitive.Content.displayName\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n","import * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\ninterface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {\n children?: React.ReactNode\n}\n\nconst Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(\n ({ className, children, ...props }, ref) => (\n <span\n className={cn(\n 'inline-flex h-5 min-w-5 items-center justify-center rounded-md bg-base-gray-soft px-1.5 text-center text-xs font-normal tabular-nums text-gray',\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </span>\n )\n)\n\nBadge.displayName = 'Badge'\n\nexport { Badge }\nexport type { BadgeProps }\n","import { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\nconst buttonVariants = cva(\n `inline-flex items-center justify-center gap-2 whitespace-nowrap cursor-pointer text-base font-medium transition-colors focus-visible:outline-hidden focus-visible:ring focus-visible:ring-offset-2 disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-6 [&_svg]:shrink-0`,\n {\n variants: {\n variant: {\n primary:\n 'bg-spark-10 text-accent-contrast focus-visible:bg-spark-9 disabled:bg-spark-a3 disabled:text-spark-a7 hover:bg-spark-9',\n secondary:\n 'bg-spark-a3 text-spark-a12 focus-visible:bg-spark-a4 disabled:bg-slate-a3 disabled:text-spark-a7 hover:bg-spark-a4',\n tertiary:\n 'bg-transparent text-spark-a11 focus-visible:bg-slate-a3 disabled:bg-transparent disabled:text-spark-a7 hover:bg-slate-a3',\n bare: 'rounded-none! text-gray outline-hidden!',\n icon: 'rounded-md text-spark-a11 focus-visible:bg-slate-a3 hover:bg-slate-a3',\n },\n shape: {\n default: 'rounded-[max(var(--spark-rounded-md),var(--spark-rounded-full))]',\n },\n size: {\n small: 'min-w-9 px-3 max-sm:h-10 md:h-9',\n default: 'h-11 min-w-10 px-3 max-sm:h-12',\n medium: 'h-12 min-w-12 px-4',\n },\n },\n defaultVariants: {\n shape: 'default',\n variant: 'primary',\n size: 'default',\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp: React.ElementType = asChild ? Slot : 'button'\n\n return (\n <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />\n )\n }\n) as React.FC<ButtonProps & { ref?: React.Ref<HTMLButtonElement> }>\n\nButton.displayName = 'Button'\n\nexport { Button, buttonVariants }\n","import * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\nconst InfoIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n fill=\"none\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M11 17H13V11H11V17ZM12 9C12.2833 9 12.5208 8.90417 12.7125 8.7125C12.9042 8.52083 13 8.28333 13 8C13 7.71667 12.9042 7.47917 12.7125 7.2875C12.5208 7.09583 12.2833 7 12 7C11.7167 7 11.4792 7.09583 11.2875 7.2875C11.0958 7.47917 11 7.71667 11 8C11 8.28333 11.0958 8.52083 11.2875 8.7125C11.4792 8.90417 11.7167 9 12 9ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22ZM12 20C14.2333 20 16.125 19.225 17.675 17.675C19.225 16.125 20 14.2333 20 12C20 9.76667 19.225 7.875 17.675 6.325C16.125 4.775 14.2333 4 12 4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20Z\"\n fill=\"currentColor\"\n />\n </svg>\n)\n\nconst PendingIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n fill=\"none\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22ZM12 20C14.2333 20 16.125 19.225 17.675 17.675C19.225 16.125 20 14.2333 20 12C20 9.76667 19.225 7.875 17.675 6.325C16.125 4.775 14.2333 4 12 4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20ZM12.5 7V12.25L16.5 14.65L15.75 15.85L11 13V7H12.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n)\n\nconst WarningIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n fill=\"none\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M1 21L12 2L23 21H1ZM4.45 19H19.55L12 6L4.45 19ZM12 18C12.2833 18 12.5208 17.9042 12.7125 17.7125C12.9042 17.5208 13 17.2833 13 17C13 16.7167 12.9042 16.4792 12.7125 16.2875C12.5208 16.0958 12.2833 16 12 16C11.7167 16 11.4792 16.0958 11.2875 16.2875C11.0958 16.4792 11 16.7167 11 17C11 17.2833 11.0958 17.5208 11.2875 17.7125C11.4792 17.9042 11.7167 18 12 18ZM11 15H13V10H11V15Z\"\n fill=\"currentColor\"\n />\n </svg>\n)\n\ntype CalloutType = 'error' | 'info' | 'pending' | 'success' | 'warning'\n\ninterface CalloutProps {\n text: string\n type?: CalloutType\n title?: string\n role?: 'alert' | 'status'\n className?: string\n}\n\nconst getIcon = (type: CalloutType) => {\n switch (type) {\n case 'pending':\n return <PendingIcon className=\"shrink-0 text-info-light\" role=\"presentation\" />\n case 'success':\n return <InfoIcon className=\"shrink-0 text-info-light\" role=\"presentation\" />\n case 'warning':\n return <WarningIcon className=\"shrink-0 text-orange-11\" role=\"presentation\" />\n case 'info':\n return <InfoIcon className=\"shrink-0 text-info-light\" role=\"presentation\" />\n default:\n return null\n }\n}\n\nconst getContainerClasses = (type: CalloutType) => {\n const baseClasses = 'flex items-center gap-3 rounded-2xl p-4 text-sm transition-colors duration-500'\n\n switch (type) {\n case 'error':\n return `${baseClasses} bg-base-error-soft text-error`\n case 'pending':\n case 'success':\n return `${baseClasses} bg-base-info-soft text-info`\n case 'warning':\n return `${baseClasses} bg-orange-a3 text-orange-12`\n case 'info':\n default:\n return `${baseClasses} bg-base-info-soft text-info`\n }\n}\n\nconst Callout = ({ text, type = 'info', title, role, className }: CalloutProps) => {\n const icon = getIcon(type)\n\n return (\n <div className={cn(getContainerClasses(type), className)} role={role}>\n {icon}\n <div className=\"flex flex-col gap-1\">\n {title && <span className=\"text-base font-bold\">{title}</span>}\n {text}\n </div>\n </div>\n )\n}\n\nCallout.displayName = 'Callout'\n\nexport { Callout }\nexport type { CalloutProps, CalloutType }\n","import * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\nconst Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n className={cn(\n 'relative flex w-full flex-col gap-1 rounded-2xl bg-base-gray-soft p-4',\n className\n )}\n ref={ref}\n {...props}\n />\n )\n)\n\nCard.displayName = 'Card'\n\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div className={cn('flex items-center gap-4', className)} ref={ref} {...props} />\n )\n)\n\nCardHeader.displayName = 'CardHeader'\n\nconst CardIcon = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n className={cn('flex shrink-0 items-center justify-center text-accent-active', className)}\n ref={ref}\n {...props}\n />\n )\n)\n\nCardIcon.displayName = 'CardIcon'\n\nconst CardTitle = React.forwardRef<HTMLHeadingElement, React.HTMLAttributes<HTMLHeadingElement>>(\n ({ className, ...props }, ref) => (\n <h3\n className={cn('text-base font-medium leading-5 text-gray', className)}\n ref={ref}\n {...props}\n />\n )\n)\n\nCardTitle.displayName = 'CardTitle'\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p className={cn('text-sm leading-5 text-gray-light', className)} ref={ref} {...props} />\n))\n\nCardDescription.displayName = 'CardDescription'\n\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => <div className={cn('', className)} ref={ref} {...props} />\n)\n\nCardContent.displayName = 'CardContent'\n\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n className={cn('flex items-center text-gray justify-end gap-2 pt-2', className)}\n ref={ref}\n {...props}\n />\n )\n)\n\nCardFooter.displayName = 'CardFooter'\n\nconst CardSkeleton = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n className={cn(\n 'relative flex w-full items-center gap-4 rounded-2xl bg-spark-a3 p-4 opacity-80',\n className\n )}\n ref={ref}\n {...props}\n >\n <div className=\"size-10 shrink-0 animate-pulse rounded-full bg-base-gray-soft\" />\n <div className=\"flex flex-1 flex-col gap-y-2\">\n <div className=\"h-5 w-1/3 max-w-32 animate-pulse rounded-md bg-base-gray-soft\" />\n <div className=\"h-4 w-1/2 max-w-48 animate-pulse rounded-md bg-base-gray-soft\" />\n </div>\n </div>\n )\n)\n\nCardSkeleton.displayName = 'CardSkeleton'\n\nexport {\n Card,\n CardHeader,\n CardIcon,\n CardTitle,\n CardDescription,\n CardContent,\n CardFooter,\n CardSkeleton,\n}\n","import * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\nconst CheckIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n fill=\"none\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n width=\"12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M4.77498 7.575L9.01248 3.3375C9.11248 3.2375 9.22915 3.1875 9.36248 3.1875C9.49582 3.1875 9.61248 3.2375 9.71248 3.3375C9.81248 3.4375 9.86248 3.55625 9.86248 3.69375C9.86248 3.83125 9.81248 3.95 9.71248 4.05L5.12498 8.65C5.02498 8.75 4.90832 8.8 4.77498 8.8C4.64165 8.8 4.52498 8.75 4.42498 8.65L2.27498 6.5C2.17498 6.4 2.12706 6.28125 2.13123 6.14375C2.1354 6.00625 2.18748 5.8875 2.28748 5.7875C2.38748 5.6875 2.50623 5.6375 2.64373 5.6375C2.78123 5.6375 2.89998 5.6875 2.99998 5.7875L4.77498 7.575Z\"\n fill=\"currentColor\"\n />\n </svg>\n)\n\ntype CheckboxProps = React.ComponentProps<typeof CheckboxPrimitive.Root> & {\n size?: 'default' | 'large'\n bordered?: boolean\n}\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n CheckboxProps\n>(({ className, size = 'default', bordered = false, ...props }, ref) => (\n <CheckboxPrimitive.Root\n className={cn(\n 'peer inline-flex shrink-0 cursor-pointer items-center justify-center rounded-sm transition-colors focus-visible:outline-hidden focus-visible:ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-base-accent-solid data-[state=unchecked]:bg-base-accent-soft',\n size === 'default' && 'h-4 w-4',\n size === 'large' && 'h-6 w-6',\n bordered ? 'border-2 border-accent-ui' : 'border-2 border-transparent',\n className\n )}\n ref={ref}\n {...props}\n >\n <CheckboxPrimitive.Indicator className=\"inline-flex items-center justify-center text-accent-contrast transition-none\">\n <CheckIcon className={cn(size === 'large' ? 'size-4' : 'size-3.5')} />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\n\nCheckbox.displayName = 'Checkbox'\n\nexport { Checkbox }\nexport type { CheckboxProps }\n","import * as DialogPrimitive from '@radix-ui/react-dialog'\nimport * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n className={cn(\n 'fixed inset-0 z-50 bg-black-a6 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 dark:bg-black-a8',\n className\n )}\n data-overlay=\"true\"\n ref={ref}\n {...props}\n />\n))\n\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst onInteractOutsideHandler = (event: CustomEvent) => {\n const target = event.target as HTMLElement\n const isOverlay = target.dataset.overlay === 'true'\n\n // Our dialogs contain interactive elements that are mounted outside of the drawer\n // Browser extensions like password managers or grammar checkers are also mounted outside\n // We still dismiss on a click/tap outside\n if (!isOverlay) event.preventDefault()\n}\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <>\n <DialogOverlay />\n <DialogPrimitive.Content\n className={cn(\n 'fixed left-[50%] top-[50%] z-50 grid w-[90%] min-w-80 max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 rounded-2xl bg-slate-2 p-6 text-gray shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-50% data-[state=closed]:slide-out-to-top-48% data-[state=open]:slide-in-from-top-48% dark:bg-gray-2 sm:w-1/2',\n className\n )}\n onInteractOutside={onInteractOutsideHandler}\n ref={ref}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </>\n))\n\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('', className)} {...props} />\n)\n\nDialogHeader.displayName = 'DialogHeader'\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)}\n {...props}\n />\n)\n\nDialogFooter.displayName = 'DialogFooter'\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n className={cn('text-lg font-bold text-gray', className)}\n ref={ref}\n {...props}\n />\n))\n\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n className={cn('text-md text-gray', className)}\n ref={ref}\n {...props}\n />\n))\n\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n","import * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\n/**\n * DisplayField - Root container for displaying read-only label-value pairs\n *\n * @example\n * <DisplayField>\n * <DisplayFieldLabel>Email</DisplayFieldLabel>\n * <DisplayFieldValue>john@example.com</DisplayFieldValue>\n * </DisplayField>\n */\nconst DisplayField = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n className={cn(\n 'relative flex min-h-12 w-full justify-between gap-2 rounded-2xl bg-base-gray-soft p-4',\n className\n )}\n ref={ref}\n {...props}\n />\n )\n)\n\nDisplayField.displayName = 'DisplayField'\n\n/**\n * DisplayFieldLabel - Label/title for the field (maps to \"Title\" pattern)\n */\nconst DisplayFieldLabel = React.forwardRef<HTMLSpanElement, React.HTMLAttributes<HTMLSpanElement>>(\n ({ className, ...props }, ref) => (\n <span\n className={cn('text-sm font-medium leading-5 text-gray-light wrap-break-word', className)}\n ref={ref}\n {...props}\n />\n )\n)\n\nDisplayFieldLabel.displayName = 'DisplayFieldLabel'\n\n/**\n * DisplayFieldValue - Primary value display (maps to \"Description\" pattern)\n */\nconst DisplayFieldValue = React.forwardRef<HTMLSpanElement, React.HTMLAttributes<HTMLSpanElement>>(\n ({ className, ...props }, ref) => (\n <span\n className={cn(\n 'min-h-5 w-full whitespace-pre-wrap text-base tabular-nums leading-5 text-gray',\n className\n )}\n ref={ref}\n {...props}\n />\n )\n)\n\nDisplayFieldValue.displayName = 'DisplayFieldValue'\n\n/**\n * DisplayFieldContent - Container for custom content within the field\n */\nconst DisplayFieldContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => <div className={cn('', className)} ref={ref} {...props} />\n)\n\nDisplayFieldContent.displayName = 'DisplayFieldContent'\n\n/**\n * DisplayFieldSkeleton - Loading placeholder with animated skeleton\n */\nconst DisplayFieldSkeleton = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n className={cn(\n 'relative flex h-20 w-full flex-col gap-y-2 rounded-2xl bg-base-gray-soft p-4 opacity-80',\n className\n )}\n ref={ref}\n {...props}\n >\n <div className=\"h-5 w-1/2 max-w-52 animate-pulse rounded-md bg-base-gray-soft\" />\n <div className=\"h-5 w-3/4 max-w-72 animate-pulse rounded-md bg-base-gray-soft\" />\n </div>\n )\n)\n\nDisplayFieldSkeleton.displayName = 'DisplayFieldSkeleton'\n\nexport {\n DisplayField,\n DisplayFieldLabel,\n DisplayFieldValue,\n DisplayFieldContent,\n DisplayFieldSkeleton,\n}\n","import * as React from 'react'\nimport { Drawer as DrawerPrimitive } from 'vaul'\n\nimport { cn } from '../../utils/cn'\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n <DrawerPrimitive.Root shouldScaleBackground={shouldScaleBackground} {...props} />\n)\n\nDrawer.displayName = 'Drawer'\n\nconst DrawerTrigger = DrawerPrimitive.Trigger\n\nconst DrawerPortal = DrawerPrimitive.Portal\n\nconst DrawerClose = DrawerPrimitive.Close\n\nconst DrawerOverlay = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Overlay\n className={cn('fixed inset-0 z-50 bg-black-a6 dark:bg-black-a8', className)}\n data-overlay=\"true\"\n ref={ref}\n {...props}\n />\n))\n\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName\n\nconst DrawerPill = ({ className }: { className?: string }) => (\n <div\n className={cn(\n 'mx-auto mt-2.5 h-1.5 w-16 shrink-0 rounded-[24px] bg-base-gray-soft',\n className\n )}\n />\n)\n\nconst DrawerContent = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content> & {\n pillClassName?: string\n }\n>(({ className, pillClassName, children, ...props }, ref) => (\n <DrawerPortal>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n className={cn(\n 'fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col gap-4 rounded-t-2xl bg-slate-2 text-gray dark:bg-gray-2',\n className\n )}\n ref={ref}\n {...props}\n >\n <DrawerPill className={pillClassName} />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n))\n\nDrawerContent.displayName = 'DrawerContent'\n\nconst DrawerHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col gap-1 px-6 py-3', className)} {...props} />\n)\n\nDrawerHeader.displayName = 'DrawerHeader'\n\nconst DrawerFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('mt-auto flex flex-col gap-2 text-gray', className)} {...props} />\n)\n\nDrawerFooter.displayName = 'DrawerFooter'\n\nconst DrawerTitle = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Title\n className={cn('text-lg font-bold text-gray', className)}\n ref={ref}\n {...props}\n />\n))\n\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName\n\nconst DrawerDescription = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Description\n className={cn('text-sm text-gray', className)}\n ref={ref}\n {...props}\n />\n))\n\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n}\n","import * as React from 'react'\nimport { useMemo } from 'react'\n\nimport { cn } from '../../utils/cn'\n\n/* -------------------------------------------------------------------------- */\n/* Types */\n/* -------------------------------------------------------------------------- */\n\nexport type EnergyNodeType = 'solar' | 'battery' | 'grid' | 'home' | 'ev' | 'heat-pump'\n\nexport interface EnergyFlowNode {\n type: EnergyNodeType\n /** Current power in kW */\n power: number\n /** Override the default label */\n label?: string\n /** Battery charge percentage 0–100 (battery nodes only) */\n batteryLevel?: number\n}\n\nexport interface EnergyFlowConnection {\n from: EnergyNodeType\n to: EnergyNodeType\n /** Power being transferred in kW */\n power: number\n}\n\nexport interface EnergyFlowChartProps {\n nodes: EnergyFlowNode[]\n flows?: EnergyFlowConnection[]\n className?: string\n formatPower?: (power: number) => string\n}\n\n/* -------------------------------------------------------------------------- */\n/* Constants */\n/* -------------------------------------------------------------------------- */\n\nconst POSITIONS: Record<EnergyNodeType, { x: number; y: number }> = {\n solar: { x: 120, y: 70 },\n grid: { x: 360, y: 70 },\n home: { x: 240, y: 190 },\n battery: { x: 100, y: 330 },\n 'heat-pump': { x: 240, y: 355 },\n ev: { x: 380, y: 330 },\n}\n\nconst NODE_RADIUS = 32\nconst HOME_RADIUS = 38\n\ninterface NodeStyle {\n label: string\n bg: string\n icon: string\n flow: string\n}\n\nconst STYLES: Record<EnergyNodeType, NodeStyle> = {\n solar: { label: 'Solar', bg: 'var(--orange-3)', icon: 'var(--orange-11)', flow: 'var(--orange-9)' },\n battery: { label: 'Battery', bg: 'var(--green-3)', icon: 'var(--green-11)', flow: 'var(--green-9)' },\n grid: { label: 'Grid', bg: 'var(--mauve-3)', icon: 'var(--mauve-11)', flow: 'var(--mauve-9)' },\n home: { label: 'Home', bg: 'var(--slate-3)', icon: 'var(--slate-11)', flow: 'var(--slate-9)' },\n ev: { label: 'EV Charger', bg: 'var(--blue-3)', icon: 'var(--blue-11)', flow: 'var(--blue-9)' },\n 'heat-pump': { label: 'Heat Pump', bg: 'var(--red-3)', icon: 'var(--red-11)', flow: 'var(--red-9)' },\n}\n\nconst defaultFormatPower = (power: number) => {\n const abs = Math.abs(power)\n if (abs >= 1) return `${abs.toFixed(1)} kW`\n return `${(abs * 1000).toFixed(0)} W`\n}\n\n/* -------------------------------------------------------------------------- */\n/* Helpers */\n/* -------------------------------------------------------------------------- */\n\nfunction getFlowPath(from: { x: number; y: number }, to: { x: number; y: number }) {\n const mx = (from.x + to.x) / 2\n return `M ${from.x} ${from.y} C ${mx} ${from.y}, ${mx} ${to.y}, ${to.x} ${to.y}`\n}\n\nfunction getAnimDuration(power: number) {\n const clamped = Math.max(0.1, Math.min(10, Math.abs(power)))\n return Math.max(1, 4 - clamped * 0.3)\n}\n\n/* -------------------------------------------------------------------------- */\n/* Node Icons */\n/* -------------------------------------------------------------------------- */\n\nfunction SolarIcon({ color }: { color: string }) {\n return (\n <g style={{ color }}>\n <rect fill=\"none\" height=\"18\" rx=\"1.5\" stroke=\"currentColor\" strokeWidth=\"1.8\" width=\"18\" x=\"-9\" y=\"-9\" />\n <line stroke=\"currentColor\" strokeWidth=\"1\" x1=\"-9\" x2=\"9\" y1=\"-3\" y2=\"-3\" />\n <line stroke=\"currentColor\" strokeWidth=\"1\" x1=\"-9\" x2=\"9\" y1=\"3\" y2=\"3\" />\n <line stroke=\"currentColor\" strokeWidth=\"1\" x1=\"-3\" x2=\"-3\" y1=\"-9\" y2=\"9\" />\n <line stroke=\"currentColor\" strokeWidth=\"1\" x1=\"3\" x2=\"3\" y1=\"-9\" y2=\"9\" />\n </g>\n )\n}\n\nfunction BatteryIcon({ color, level = 50 }: { color: string; level?: number }) {\n const h = Math.max(1, (Math.min(100, level) / 100) * 16)\n return (\n <g style={{ color }}>\n <rect fill=\"currentColor\" height=\"3\" rx=\"1\" width=\"6\" x=\"-3\" y=\"-13\" />\n <rect fill=\"none\" height=\"20\" rx=\"2.5\" stroke=\"currentColor\" strokeWidth=\"1.8\" width=\"14\" x=\"-7\" y=\"-10\" />\n <rect fill=\"currentColor\" height={h} opacity={0.5} rx=\"1\" width=\"9\" x=\"-4.5\" y={10 - h} />\n </g>\n )\n}\n\nfunction GridIcon({ color }: { color: string }) {\n return (\n <g style={{ color }}>\n <path d=\"M0 -12 L0 12 M-9 -5 L9 -5 M-7 1 L7 1 M-5 7 L5 7\" fill=\"none\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"2\" />\n </g>\n )\n}\n\nfunction HomeIcon({ color }: { color: string }) {\n return (\n <g style={{ color }}>\n <path d=\"M-12 2 L0 -11 L12 2\" fill=\"none\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2.2\" />\n <rect fill=\"none\" height=\"12\" rx=\"1.5\" stroke=\"currentColor\" strokeWidth=\"1.8\" width=\"18\" x=\"-9\" y=\"2\" />\n <rect fill=\"currentColor\" height=\"7\" opacity={0.35} rx=\"1\" width=\"6\" x=\"-3\" y=\"7\" />\n </g>\n )\n}\n\nfunction EvIcon({ color }: { color: string }) {\n return (\n <g style={{ color }}>\n <path d=\"M-11 3 L-9 -3 L-3 -8 L7 -8 L11 -1 L11 3 Z\" fill=\"none\" stroke=\"currentColor\" strokeLinejoin=\"round\" strokeWidth=\"1.8\" />\n <circle cx=\"-5\" cy=\"5\" fill=\"none\" r=\"3\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <circle cx=\"7\" cy=\"5\" fill=\"none\" r=\"3\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M1 -5 L-1 0 L2 0 L0 4\" fill=\"none\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"1.2\" />\n </g>\n )\n}\n\nfunction HeatPumpIcon({ color }: { color: string }) {\n return (\n <g style={{ color }}>\n <rect fill=\"none\" height=\"16\" rx=\"3\" stroke=\"currentColor\" strokeWidth=\"1.8\" width=\"22\" x=\"-11\" y=\"-8\" />\n <circle cx=\"0\" cy=\"0\" fill=\"none\" r=\"5\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M0 -4 C2 -2 2 2 0 4 C-2 2 -2 -2 0 -4\" fill=\"currentColor\" opacity={0.3} />\n <path d=\"M-4 0 C-2 -2 2 -2 4 0 C2 2 -2 2 -4 0\" fill=\"currentColor\" opacity={0.3} />\n </g>\n )\n}\n\nconst NODE_ICONS: Record<EnergyNodeType, React.FC<{ color: string; level?: number }>> = {\n solar: SolarIcon,\n battery: BatteryIcon,\n grid: GridIcon,\n home: HomeIcon,\n ev: EvIcon,\n 'heat-pump': HeatPumpIcon,\n}\n\n/* -------------------------------------------------------------------------- */\n/* Flow Connection */\n/* -------------------------------------------------------------------------- */\n\nfunction FlowConnection({\n from,\n to,\n color,\n power,\n}: {\n from: { x: number; y: number }\n to: { x: number; y: number }\n color: string\n power: number\n}) {\n const d = getFlowPath(from, to)\n const dur = getAnimDuration(power)\n const dots = 3\n\n return (\n <g>\n <path d={d} fill=\"none\" opacity={0.15} stroke={color} strokeWidth={2} />\n {Array.from({ length: dots }, (_, i) => (\n <circle fill={color} key={i} opacity={0.85} r={3.5}>\n <animateMotion begin={`${(i * dur) / dots}s`} dur={`${dur}s`} path={d} repeatCount=\"indefinite\" />\n </circle>\n ))}\n </g>\n )\n}\n\n/* -------------------------------------------------------------------------- */\n/* Flow Node */\n/* -------------------------------------------------------------------------- */\n\nfunction FlowNode({\n node,\n formatPower,\n}: {\n node: EnergyFlowNode\n formatPower: (power: number) => string\n}) {\n const pos = POSITIONS[node.type]\n const style = STYLES[node.type]\n const radius = node.type === 'home' ? HOME_RADIUS : NODE_RADIUS\n const Icon = NODE_ICONS[node.type]\n const label = node.label ?? style.label\n const inactive = node.power === 0\n\n return (\n <g transform={`translate(${pos.x}, ${pos.y})`}>\n <circle\n fill={style.bg}\n opacity={inactive ? 0.5 : 1}\n r={radius}\n stroke={style.flow}\n strokeWidth={2}\n />\n <g transform=\"translate(0, -2)\">\n <Icon color={style.icon} level={node.batteryLevel} />\n </g>\n <text\n fill={style.icon}\n fontSize=\"11\"\n fontWeight=\"600\"\n textAnchor=\"middle\"\n y={radius + 16}\n >\n {label}\n </text>\n <text\n fill={style.icon}\n fontSize=\"12\"\n fontWeight=\"500\"\n opacity={0.75}\n textAnchor=\"middle\"\n y={radius + 30}\n >\n {formatPower(node.power)}\n </text>\n {node.type === 'battery' && node.batteryLevel != null && (\n <>\n <rect\n fill={style.flow}\n height=\"16\"\n rx=\"8\"\n width=\"24\"\n x={radius - 24}\n y={-radius + 2}\n />\n <text\n fill=\"white\"\n fontSize=\"9\"\n fontWeight=\"700\"\n textAnchor=\"middle\"\n x={radius - 12}\n y={-radius + 13}\n >\n {Math.round(node.batteryLevel)}%\n </text>\n </>\n )}\n </g>\n )\n}\n\n/* -------------------------------------------------------------------------- */\n/* Main Component */\n/* -------------------------------------------------------------------------- */\n\nfunction EnergyFlowChart({\n nodes,\n flows = [],\n className,\n formatPower = defaultFormatPower,\n}: EnergyFlowChartProps) {\n const nodeMap = useMemo(() => new Map(nodes.map((n) => [n.type, n])), [nodes])\n\n const validFlows = useMemo(\n () => flows.filter((f) => nodeMap.has(f.from) && nodeMap.has(f.to) && f.power > 0),\n [flows, nodeMap]\n )\n\n return (\n <div className={cn('w-full', className)}>\n <svg\n aria-label=\"Energy flow diagram\"\n className=\"block h-auto w-full\"\n role=\"img\"\n viewBox=\"0 0 480 420\"\n >\n {validFlows.map((f, i) => (\n <FlowConnection\n color={STYLES[f.from].flow}\n from={POSITIONS[f.from]}\n key={`${f.from}-${f.to}-${i}`}\n power={f.power}\n to={POSITIONS[f.to]}\n />\n ))}\n {nodes.map((node) => (\n <FlowNode formatPower={formatPower} key={node.type} node={node} />\n ))}\n </svg>\n </div>\n )\n}\n\nEnergyFlowChart.displayName = 'EnergyFlowChart'\n\nexport { EnergyFlowChart }\n","import * as React from 'react'\nimport { useMemo } from 'react'\n\nimport { cn } from '../../utils/cn'\n\nlet hintIdCounter = 0\n\ninterface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n containerClassName?: string\n label?: string\n hint?: React.ReactNode\n icon?: React.ReactNode\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ containerClassName, label, value, className, onChange, readOnly, hint, icon, ...props }, ref) => {\n const hintId = useMemo(() => {\n if (!hint) return undefined\n\n return `input-hint-${++hintIdCounter}`\n }, [hint])\n\n const customClassName = {\n 'border-transparent': !label?.length,\n 'border-input-active':\n props['aria-invalid'] !== true &&\n (typeof value === 'string'\n ? value.length > 0\n : typeof value === 'number'\n ? true\n : false),\n 'text-error! !focus-visible:border-input-invalid border-input-invalid!':\n props['aria-invalid'] === true,\n }\n\n return (\n <div\n className={cn(\n 'relative flex w-full flex-col gap-y-1 rounded-2xl bg-input-base px-4 py-3',\n containerClassName\n )}\n >\n {label && (\n <label className=\"text-sm font-normal leading-5 text-gray-light\" htmlFor={label}>\n {label}\n </label>\n )}\n\n <div className=\"relative flex items-center justify-between gap-2\">\n <input\n aria-describedby={hintId}\n className={cn(\n 'flex h-10 w-full rounded-none border-b-2 border-input bg-transparent py-2 text-base leading-5 text-gray outline-hidden transition-colors duration-100 placeholder:text-gray-disabled focus:border-input-active read-only:focus:border-transparent focus-visible:border-input-active read-only:focus-visible:border-transparent disabled:cursor-not-allowed disabled:border-input-disabled disabled:text-gray-disabled [&:user-invalid]:border-input-invalid [&:user-invalid]:text-error [&:user-invalid]:focus-visible:border-input-invalid [&:user-valid]:border-input-active',\n customClassName,\n className\n )}\n id={label}\n onChange={onChange}\n readOnly={readOnly}\n ref={ref}\n value={value}\n {...props}\n />\n {icon ? icon : null}\n </div>\n {hint ? <div id={hintId}>{hint}</div> : null}\n </div>\n )\n }\n)\n\nInput.displayName = 'Input'\n\nexport { Input }\nexport type { InputProps }\n","import * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\ninterface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {}\n\nconst Label = React.forwardRef<HTMLLabelElement, LabelProps>(\n ({ className, ...props }, ref) => (\n <label\n className={cn('text-base font-normal leading-5 text-gray-light', className)}\n ref={ref}\n {...props}\n />\n )\n)\n\nLabel.displayName = 'Label'\n\nexport { Label }\nexport type { LabelProps }\n","import {\n curveLinear,\n curveMonotoneX,\n curveStep,\n curveStepAfter,\n curveStepBefore,\n} from '@visx/curve'\nimport { localPoint } from '@visx/event'\nimport { Group } from '@visx/group'\nimport { scaleLinear, scaleTime } from '@visx/scale'\nimport { LinePath } from '@visx/shape'\nimport { Tooltip, useTooltip } from '@visx/tooltip'\nimport { bisector, extent } from '@visx/vendor/d3-array'\nimport * as React from 'react'\nimport { useCallback, useMemo } from 'react'\n\nimport { cn } from '../../utils/cn'\n\nexport interface LineChartDatum {\n date: Date\n value: number\n}\n\nexport type LineChartCurve = 'monotone' | 'step' | 'step-after' | 'step-before' | 'linear'\n\nexport interface LineChartSeries {\n id: string\n data: LineChartDatum[]\n className?: string\n /** Curve interpolation type. Default: inherits from LineChartProps.curve */\n curve?: LineChartCurve\n /** Render as a dashed line */\n dashed?: boolean\n /** Custom dash pattern (e.g. \"8,4\" or \"4,2,1,2\"). Only applies when dashed is true. */\n dashPattern?: string\n}\n\nexport interface LineChartProps {\n series: LineChartSeries[]\n width: number\n height: number\n margin?: { top: number; right: number; bottom: number; left: number }\n /** Default curve for all series. Default: 'monotone' */\n curve?: LineChartCurve\n showGrid?: boolean\n showTooltip?: boolean\n className?: string\n xTickCount?: number\n yTickCount?: number\n formatDate?: (date: Date) => string\n formatValue?: (value: number) => string\n}\n\nconst DEFAULT_MARGIN = { top: 16, right: 16, bottom: 40, left: 48 }\n\nconst CURVE_MAP = {\n monotone: curveMonotoneX,\n step: curveStep,\n 'step-after': curveStepAfter,\n 'step-before': curveStepBefore,\n linear: curveLinear,\n} as const\n\nconst resolveCurve = (type: LineChartCurve) => CURVE_MAP[type]\n\nconst bisectDate = bisector<LineChartDatum, Date>((d) => d.date).left\n\nconst defaultFormatDate = (date: Date) =>\n date.toLocaleDateString(undefined, { month: 'short', day: 'numeric' })\n\nconst defaultFormatValue = (value: number) => value.toLocaleString()\n\nconst LINE_COLORS = [\n 'stroke-spark-9',\n 'stroke-green-9',\n 'stroke-blue-9',\n 'stroke-orange-9',\n 'stroke-red-9',\n]\n\nconst DOT_COLORS = ['fill-spark-9', 'fill-green-9', 'fill-blue-9', 'fill-orange-9', 'fill-red-9']\n\nconst TEXT_COLORS = [\n 'text-spark-a11',\n 'text-success-light',\n 'text-info-light',\n 'text-warning-light',\n 'text-error-light',\n]\n\nfunction LineChart({\n series,\n width,\n height,\n margin = DEFAULT_MARGIN,\n curve: defaultCurve = 'monotone',\n showGrid = true,\n showTooltip: enableTooltip = true,\n className,\n xTickCount = 5,\n yTickCount = 4,\n formatDate = defaultFormatDate,\n formatValue = defaultFormatValue,\n}: LineChartProps) {\n const { showTooltip, hideTooltip, tooltipData, tooltipLeft, tooltipTop, tooltipOpen } =\n useTooltip<{ datum: LineChartDatum; seriesIndex: number }>()\n\n const innerWidth = Math.max(0, width - margin.left - margin.right)\n const innerHeight = Math.max(0, height - margin.top - margin.bottom)\n\n const allData = useMemo(() => series.flatMap((s) => s.data), [series])\n\n const xScale = useMemo(\n () =>\n scaleTime({\n range: [0, innerWidth],\n domain: extent(allData, (d) => d.date) as [Date, Date],\n }),\n [allData, innerWidth]\n )\n\n const yScale = useMemo(\n () =>\n scaleLinear({\n range: [innerHeight, 0],\n domain: [0, Math.max(...allData.map((d) => d.value)) * 1.1],\n nice: true,\n }),\n [allData, innerHeight]\n )\n\n const xTicks = xScale.ticks(xTickCount)\n const yTicks = yScale.ticks(yTickCount)\n\n const handleTooltip = useCallback(\n (event: React.TouchEvent<SVGRectElement> | React.MouseEvent<SVGRectElement>) => {\n if (!enableTooltip) return\n\n const point = localPoint(event)\n if (!point) return\n\n const x0 = xScale.invert(point.x - margin.left)\n\n for (let i = 0; i < series.length; i++) {\n const s = series[i]\n if (!s) continue\n const index = bisectDate(s.data, x0, 1)\n const d0 = s.data[index - 1]\n const d1 = s.data[index]\n\n if (!d0) continue\n\n const d =\n d1 && x0.valueOf() - d0.date.valueOf() > d1.date.valueOf() - x0.valueOf() ? d1 : d0\n\n showTooltip({\n tooltipData: { datum: d, seriesIndex: i },\n tooltipLeft: xScale(d.date) + margin.left,\n tooltipTop: yScale(d.value) + margin.top,\n })\n break\n }\n },\n [enableTooltip, margin, series, showTooltip, xScale, yScale]\n )\n\n if (width < 10 || height < 10) return null\n\n return (\n <div className={cn('relative', className)}>\n <svg className=\"block\" height={height} width={width}>\n <Group left={margin.left} top={margin.top}>\n {/* Grid lines */}\n {showGrid &&\n yTicks.map((tick) => (\n <line\n className=\"stroke-slate-a4\"\n key={`grid-y-${tick}`}\n strokeDasharray=\"4,4\"\n x1={0}\n x2={innerWidth}\n y1={yScale(tick)}\n y2={yScale(tick)}\n />\n ))}\n\n {/* X axis */}\n <line\n className=\"stroke-slate-a6\"\n x1={0}\n x2={innerWidth}\n y1={innerHeight}\n y2={innerHeight}\n />\n\n {/* X axis labels */}\n {xTicks.map((tick) => (\n <text\n className=\"fill-slate-a11 text-xs\"\n dy=\"1em\"\n key={`x-${tick.valueOf()}`}\n textAnchor=\"middle\"\n x={xScale(tick)}\n y={innerHeight + 8}\n >\n {formatDate(tick)}\n </text>\n ))}\n\n {/* Y axis labels */}\n {yTicks.map((tick) => (\n <text\n className=\"fill-slate-a11 text-xs\"\n dx=\"-0.5em\"\n dy=\"0.32em\"\n key={`y-${tick}`}\n textAnchor=\"end\"\n x={-4}\n y={yScale(tick)}\n >\n {formatValue(tick)}\n </text>\n ))}\n\n {/* Lines */}\n {series.map((s, i) => (\n <LinePath\n className={cn(LINE_COLORS[i % LINE_COLORS.length], s.className)}\n curve={resolveCurve(s.curve ?? defaultCurve)}\n data={s.data}\n fill=\"none\"\n key={s.id}\n strokeDasharray={s.dashed ? (s.dashPattern ?? '6,4') : undefined}\n strokeWidth={2}\n x={(d) => xScale(d.date)}\n y={(d) => yScale(d.value)}\n />\n ))}\n\n {/* Tooltip hover target */}\n {enableTooltip && (\n <rect\n fill=\"transparent\"\n height={innerHeight}\n onMouseLeave={hideTooltip}\n onMouseMove={handleTooltip}\n onTouchEnd={hideTooltip}\n onTouchMove={handleTooltip}\n width={innerWidth}\n x={0}\n y={0}\n />\n )}\n\n {/* Tooltip dot */}\n {tooltipOpen && tooltipData && (\n <>\n <line\n className=\"stroke-slate-a6\"\n pointerEvents=\"none\"\n strokeDasharray=\"4,4\"\n x1={xScale(tooltipData.datum.date)}\n x2={xScale(tooltipData.datum.date)}\n y1={0}\n y2={innerHeight}\n />\n <circle\n className={cn(DOT_COLORS[tooltipData.seriesIndex % DOT_COLORS.length])}\n cx={xScale(tooltipData.datum.date)}\n cy={yScale(tooltipData.datum.value)}\n pointerEvents=\"none\"\n r={4}\n stroke=\"white\"\n strokeWidth={2}\n />\n </>\n )}\n </Group>\n </svg>\n\n {tooltipOpen && !!tooltipData && (\n <Tooltip\n left={tooltipLeft}\n style={{\n position: 'absolute',\n pointerEvents: 'none',\n background: 'transparent',\n border: 'none',\n boxShadow: 'none',\n padding: 0,\n }}\n top={tooltipTop}\n >\n <div className=\"rounded-lg bg-slate-2 px-3 py-2 text-sm shadow-md dark:bg-gray-2\">\n <div className=\"text-xs text-gray-light\">{formatDate(tooltipData.datum.date)}</div>\n <div\n className={cn(\n 'font-medium',\n TEXT_COLORS[tooltipData.seriesIndex % TEXT_COLORS.length]\n )}\n >\n {formatValue(tooltipData.datum.value)}\n </div>\n </div>\n </Tooltip>\n )}\n </div>\n )\n}\n\nLineChart.displayName = 'LineChart'\n\nexport { LineChart }\n","import * as PopoverPrimitive from '@radix-ui/react-popover'\nimport * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n align={align}\n className={cn(\n 'z-50 w-72 rounded-xl border bg-slate-2 p-4 shadow-xs outline-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-popover-content-transform-origin)',\n className\n )}\n ref={ref}\n sideOffset={sideOffset}\n {...props}\n />\n </PopoverPrimitive.Portal>\n))\n\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport { Popover, PopoverTrigger, PopoverContent }\n","import * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\nexport interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Current value */\n value: number\n /** Maximum value. Default: 100 */\n max?: number\n /** Height variant */\n size?: 'sm' | 'default' | 'lg'\n}\n\nconst sizeClasses = {\n sm: 'h-1',\n default: 'h-2',\n lg: 'h-3',\n} as const\n\nconst Progress = React.forwardRef<HTMLDivElement, ProgressProps>(\n ({ className, value, max = 100, size = 'default', ...props }, ref) => {\n const percentage = Math.min(100, Math.max(0, (value / max) * 100))\n\n return (\n <div\n aria-valuemax={max}\n aria-valuemin={0}\n aria-valuenow={value}\n className={cn(\n 'w-full overflow-hidden rounded-full bg-slate-a4',\n sizeClasses[size],\n className\n )}\n ref={ref}\n role=\"progressbar\"\n {...props}\n >\n <div\n className=\"h-full rounded-full bg-spark-9 transition-all duration-300\"\n style={{ width: `${percentage}%` }}\n />\n </div>\n )\n }\n)\n\nProgress.displayName = 'Progress'\n\nexport { Progress }\n","import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area'\nimport * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\ntype ScrollAreaProps = React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root> & {\n direction?: 'vertical' | 'horizontal' | 'both'\n}\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n ScrollAreaProps\n>(({ className, children, direction = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n className={cn('relative overflow-hidden', className)}\n ref={ref}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"size-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n {direction !== 'horizontal' && <ScrollBar orientation=\"vertical\" />}\n {direction !== 'vertical' && <ScrollBar orientation=\"horizontal\" />}\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n))\n\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n className={cn(\n 'flex touch-none select-none transition-colors',\n orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent p-px',\n orientation === 'horizontal' &&\n 'h-2.5 flex-col border-t border-t-transparent p-px empty:hidden',\n className\n )}\n orientation={orientation}\n ref={ref}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-[24px] bg-gray-8\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n))\n\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName\n\nexport { ScrollArea, ScrollBar }\n","import * as SelectPrimitive from '@radix-ui/react-select'\nimport * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\nconst ChevronDownIcon = (props: React.ComponentProps<'svg'>) => (\n <svg\n fill=\"none\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M12 14.975C11.8667 14.975 11.7417 14.9542 11.625 14.9125C11.5083 14.8708 11.4 14.8 11.3 14.7L6.7 10.1C6.51667 9.91667 6.425 9.68334 6.425 9.4C6.425 9.11667 6.51667 8.88334 6.7 8.7C6.88334 8.51667 7.11667 8.425 7.4 8.425C7.68334 8.425 7.91667 8.51667 8.1 8.7L12 12.6L15.9 8.7C16.0833 8.51667 16.3167 8.425 16.6 8.425C16.8833 8.425 17.1167 8.51667 17.3 8.7C17.4833 8.88334 17.575 9.11667 17.575 9.4C17.575 9.68334 17.4833 9.91667 17.3 10.1L12.7 14.7C12.6 14.8 12.4917 14.8708 12.375 14.9125C12.2583 14.9542 12.1333 14.975 12 14.975Z\"\n fill=\"currentColor\"\n />\n </svg>\n)\n\nconst Select = SelectPrimitive.Root\n\nconst SelectGroup = SelectPrimitive.Group\n\nconst SelectValue = SelectPrimitive.Value\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n className={cn(\n 'flex w-full items-center justify-between focus:outline-hidden focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1',\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </SelectPrimitive.Trigger>\n))\n\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\n\nconst SelectTriggerIcon = () => (\n <SelectPrimitive.Icon\n asChild\n className=\"not-sr-only in-data-[state=open]:rotate-180\"\n role=\"presentation\"\n >\n <ChevronDownIcon className=\"size-6 shrink-0 text-spark-a11\" />\n </SelectPrimitive.Icon>\n)\n\nSelectTriggerIcon.displayName = 'SelectTriggerIcon'\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n className={cn(\n 'absolute left-0 right-0 top-0 z-1 flex w-full cursor-default items-center justify-center py-1 transition-all max-sm:pointer-events-none',\n className\n )}\n ref={ref}\n {...props}\n >\n <ChevronDownIcon className=\"size-6 shrink-0 rotate-180\" />\n </SelectPrimitive.ScrollUpButton>\n))\n\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n className={cn(\n 'absolute bottom-0 left-0 right-0 z-1 flex w-full cursor-default items-center justify-center py-1 transition-all max-sm:pointer-events-none',\n className\n )}\n ref={ref}\n {...props}\n >\n <ChevronDownIcon className=\"size-6 shrink-0\" />\n </SelectPrimitive.ScrollDownButton>\n))\n\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n className={cn('py-1.5 pl-8 pr-2 text-sm font-semibold', className)}\n ref={ref}\n {...props}\n />\n))\n\nSelectLabel.displayName = SelectPrimitive.Label.displayName\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n className={cn(\n 'relative flex w-full cursor-default select-none items-center outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50',\n className\n )}\n ref={ref}\n {...props}\n >\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n))\n\nSelectItem.displayName = SelectPrimitive.Item.displayName\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n className={cn('-mx-1 my-1 h-px', className)}\n ref={ref}\n {...props}\n />\n))\n\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = 'popper', ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n className={cn(\n 'duration-250 relative z-50 max-h-96 w-[var(--radix-select-trigger-width)] min-w-[8rem] overflow-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-100 data-[state=open]:zoom-in-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-select-content-transform-origin)',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-0 data-[side=left]:-translate-x-0 data-[side=right]:translate-x-0 data-[side=top]:-translate-y-0',\n className\n )}\n position={position}\n ref={ref}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-0',\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-[var(--radix-select-trigger-width)]'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n))\n\nSelectContent.displayName = SelectPrimitive.Content.displayName\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectTriggerIcon,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n}\n","import * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\ninterface SeparatorProps extends React.HTMLAttributes<HTMLDivElement> {\n orientation?: 'horizontal' | 'vertical'\n decorative?: boolean\n}\n\nconst Separator = React.forwardRef<HTMLDivElement, SeparatorProps>(\n ({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (\n <div\n className={cn(\n 'shrink-0 bg-gray',\n orientation === 'horizontal' ? 'h-px w-full' : 'h-full w-px',\n className\n )}\n data-orientation={orientation}\n ref={ref}\n role={decorative ? 'none' : 'separator'}\n {...props}\n />\n )\n)\n\nSeparator.displayName = 'Separator'\n\nexport { Separator }\nexport type { SeparatorProps }\n","import * as SheetPrimitive from '@radix-ui/react-dialog'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\nconst XIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n className=\"size-6\"\n fill=\"none\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M12 13.4L7.1 18.3C6.91667 18.4833 6.68333 18.575 6.4 18.575C6.11667 18.575 5.88333 18.4833 5.7 18.3C5.51667 18.1167 5.425 17.8833 5.425 17.6C5.425 17.3167 5.51667 17.0833 5.7 16.9L10.6 12L5.7 7.09999C5.51667 6.91665 5.425 6.68332 5.425 6.39999C5.425 6.11665 5.51667 5.88332 5.7 5.69999C5.88333 5.51665 6.11667 5.42499 6.4 5.42499C6.68333 5.42499 6.91667 5.51665 7.1 5.69999L12 10.6L16.9 5.69999C17.0833 5.51665 17.3167 5.42499 17.6 5.42499C17.8833 5.42499 18.1167 5.51665 18.3 5.69999C18.4833 5.88332 18.575 6.11665 18.575 6.39999C18.575 6.68332 18.4833 6.91665 18.3 7.09999L13.4 12L18.3 16.9C18.4833 17.0833 18.575 17.3167 18.575 17.6C18.575 17.8833 18.4833 18.1167 18.3 18.3C18.1167 18.4833 17.8833 18.575 17.6 18.575C17.3167 18.575 17.0833 18.4833 16.9 18.3L12 13.4Z\"\n fill=\"currentColor\"\n />\n </svg>\n)\n\nconst Sheet = SheetPrimitive.Root\n\nconst SheetTrigger = SheetPrimitive.Trigger\n\nconst SheetClose = SheetPrimitive.Close\n\nconst SheetPortal = SheetPrimitive.Portal\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cn(\n 'fixed inset-0 z-50 bg-black-a6 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n className\n )}\n ref={ref}\n {...props}\n />\n))\n\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName\n\nconst sheetVariants = cva(\n 'fixed z-50 gap-4 bg-slate-2 shadow-lg transition ease-in-out p-safe-offset-6 data-[state=closed]:duration-300 data-[state=open]:duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out',\n {\n variants: {\n side: {\n top: 'inset-x-0 top-0 data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n bottom:\n 'inset-x-0 bottom-0 data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n left: 'inset-y-0 left-0 h-full w-3/4 data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\n right:\n 'inset-y-0 right-0 h-full w-3/4 data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n }\n)\n\ninterface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {\n closeLabel?: string\n closeClassName?: string\n}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({ side = 'right', className, children, closeLabel, closeClassName, ...props }, ref) => (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n className={cn('text-gray', sheetVariants({ side }), className)}\n ref={ref}\n {...props}\n >\n {closeLabel ? (\n <SheetPrimitive.Close\n className={cn(\n 'inline-flex w-fit items-center gap-1 rounded-sm p-1 text-sm font-bold text-spark-a11 transition-colors focus:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-0 disabled:pointer-events-none hover:text-spark-a12',\n closeClassName\n )}\n >\n <XIcon />\n <span>{closeLabel}</span>\n </SheetPrimitive.Close>\n ) : (\n <SheetPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 transition-opacity focus:outline-hidden focus:ring focus-visible:ring disabled:pointer-events-none data-[state=open]:bg-base-gray-soft hover:opacity-100\">\n <XIcon />\n </SheetPrimitive.Close>\n )}\n {children}\n </SheetPrimitive.Content>\n </SheetPortal>\n))\n\nSheetContent.displayName = SheetPrimitive.Content.displayName\n\nconst SheetHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col space-y-2 text-center sm:text-left', className)} {...props} />\n)\n\nSheetHeader.displayName = 'SheetHeader'\n\nconst SheetFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)}\n {...props}\n />\n)\n\nSheetFooter.displayName = 'SheetFooter'\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title\n className={cn('text-lg font-semibold text-gray', className)}\n ref={ref}\n {...props}\n />\n))\n\nSheetTitle.displayName = SheetPrimitive.Title.displayName\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n className={cn('text-sm text-gray-light', className)}\n ref={ref}\n {...props}\n />\n))\n\nSheetDescription.displayName = SheetPrimitive.Description.displayName\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n sheetVariants,\n}\n","import * as SliderPrimitive from '@radix-ui/react-slider'\nimport * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\ninterface SliderProps extends Omit<React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>, 'onChange'> {\n hint?: string\n}\n\nconst Slider = React.forwardRef<React.ElementRef<typeof SliderPrimitive.Root>, SliderProps>(\n ({ className, hint, min = 0, max = 100, ...props }, ref) => (\n <div className=\"flex flex-row items-center gap-2\">\n <span className=\"inline-flex gap-0.75 pr-2 text-sm text-gray-light\">\n {min}\n {hint ? <span>{hint}</span> : null}\n </span>\n <div className=\"flex-1\">\n <SliderPrimitive.Root\n className={cn('relative flex h-5 touch-none select-none items-center', className)}\n max={max}\n min={min}\n ref={ref}\n {...props}\n >\n <SliderPrimitive.Track className=\"relative h-[5px] w-full grow rounded-md bg-slate-a7\">\n <SliderPrimitive.Range className=\"absolute h-full rounded-md bg-base-accent-solid outline-hidden focus:outline-hidden\" />\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb className=\"block size-4 rounded-circle bg-base-accent-solid outline-hidden ring-4 ring-spark-a8 ring-offset-2 ring-offset-spark-3 focus:outline-hidden dark:ring-offset-white-contrast\" />\n </SliderPrimitive.Root>\n </div>\n <span className=\"inline-flex gap-0.75 pl-2 text-sm text-gray-light\">\n {max}\n {hint ? <span>{hint}</span> : null}\n </span>\n </div>\n )\n)\n\nSlider.displayName = 'Slider'\n\nexport { Slider }\nexport type { SliderProps }\n","import * as SwitchPrimitives from '@radix-ui/react-switch'\nimport * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\nconst CloseIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n fill=\"none\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n width=\"12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g opacity=\"0.6\">\n <path\n d=\"M6.00003 6.6999L3.55002 9.1499C3.45836 9.24157 3.34169 9.2874 3.20002 9.2874C3.05836 9.2874 2.94169 9.24157 2.85002 9.1499C2.75836 9.05824 2.71252 8.94157 2.71252 8.7999C2.71252 8.65824 2.75836 8.54157 2.85002 8.4499L5.30002 5.9999L2.85002 3.5499C2.75836 3.45824 2.71252 3.34157 2.71252 3.1999C2.71252 3.05824 2.75836 2.94157 2.85002 2.8499C2.94169 2.75824 3.05836 2.7124 3.20002 2.7124C3.34169 2.7124 3.45836 2.75824 3.55002 2.8499L6.00003 5.2999L8.45003 2.8499C8.54169 2.75824 8.65836 2.7124 8.80003 2.7124C8.94169 2.7124 9.05836 2.75824 9.15003 2.8499C9.24169 2.94157 9.28753 3.05824 9.28753 3.1999C9.28753 3.34157 9.24169 3.45824 9.15003 3.5499L6.70002 5.9999L9.15003 8.4499C9.24169 8.54157 9.28753 8.65824 9.28753 8.7999C9.28753 8.94157 9.24169 9.05824 9.15003 9.1499C9.05836 9.24157 8.94169 9.2874 8.80003 9.2874C8.65836 9.2874 8.54169 9.24157 8.45003 9.1499L6.00003 6.6999Z\"\n fill=\"currentColor\"\n />\n </g>\n </svg>\n)\n\nconst CheckIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n fill=\"none\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n width=\"12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M4.77498 7.575L9.01248 3.3375C9.11248 3.2375 9.22915 3.1875 9.36248 3.1875C9.49582 3.1875 9.61248 3.2375 9.71248 3.3375C9.81248 3.4375 9.86248 3.55625 9.86248 3.69375C9.86248 3.83125 9.81248 3.95 9.71248 4.05L5.12498 8.65C5.02498 8.75 4.90832 8.8 4.77498 8.8C4.64165 8.8 4.52498 8.75 4.42498 8.65L2.27498 6.5C2.17498 6.4 2.12706 6.28125 2.13123 6.14375C2.1354 6.00625 2.18748 5.8875 2.28748 5.7875C2.38748 5.6875 2.50623 5.6375 2.64373 5.6375C2.78123 5.6375 2.89998 5.6875 2.99998 5.7875L4.77498 7.575Z\"\n fill=\"currentColor\"\n />\n </svg>\n)\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n 'peer inline-flex h-6 w-10 shrink-0 cursor-pointer items-center rounded-circle border-2 border-transparent transition-colors focus-visible:outline-hidden focus-visible:ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-base-accent-solid data-[state=unchecked]:bg-base-accent-soft',\n className\n )}\n ref={ref}\n {...props}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n 'pointer-events-none inline-flex h-5 w-5 items-center justify-center rounded-circle bg-white-contrast shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0'\n )}\n >\n {props.checked ? (\n <CheckIcon className=\"text-accent-active dark:text-spark-8\" role=\"presentation\" />\n ) : (\n <CloseIcon className=\"text-gray-light dark:text-slate-8\" role=\"presentation\" />\n )}\n </SwitchPrimitives.Thumb>\n </SwitchPrimitives.Root>\n))\n\nSwitch.displayName = 'Switch'\n\nexport { Switch }\n","import * as TabsPrimitive from '@radix-ui/react-tabs'\nimport * as React from 'react'\n\nimport { cn } from '../../utils/cn'\n\nconst Tabs = TabsPrimitive.Root\n\n/* -------------------------------------------------------------------------- */\n/* TabsList */\n/* -------------------------------------------------------------------------- */\n\nexport interface TabsListProps\n extends React.ComponentPropsWithoutRef<typeof TabsPrimitive.List> {\n /** Visual variant. Default: \"default\" */\n variant?: 'default' | 'underline' | 'pill'\n}\n\nconst tabsListVariants: Record<string, string> = {\n default: 'inline-flex h-10 items-center justify-center gap-1',\n underline: 'inline-flex h-10 items-center gap-4 border-b border-gray',\n pill: 'inline-flex h-10 items-center gap-0 rounded-lg bg-slate-a3 p-1',\n}\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n TabsListProps\n>(({ className, variant = 'default', ...props }, ref) => (\n <TabsPrimitive.List\n className={cn(tabsListVariants[variant], className)}\n data-variant={variant}\n ref={ref}\n {...props}\n />\n))\n\nTabsList.displayName = TabsPrimitive.List.displayName\n\n/* -------------------------------------------------------------------------- */\n/* TabsTrigger */\n/* -------------------------------------------------------------------------- */\n\nconst tabsTriggerBase =\n 'inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-all duration-200 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-0 disabled:pointer-events-none disabled:opacity-50'\n\nconst tabsTriggerVariants: Record<string, string> = {\n default:\n 'rounded-sm px-3 py-1.5 text-gray-light data-[state=active]:text-accent-active',\n underline:\n 'relative px-1 pb-2.5 text-gray-light data-[state=active]:text-accent-active after:absolute after:bottom-0 after:left-0 after:h-0.5 after:w-full after:scale-x-0 after:bg-base-accent-solid after:transition-transform data-[state=active]:after:scale-x-100',\n pill:\n 'rounded-md px-4 py-1.5 text-gray-light data-[state=active]:bg-slate-1 data-[state=active]:text-accent-active data-[state=active]:shadow-sm',\n}\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n className={cn(\n tabsTriggerBase,\n // Auto-detect variant from parent via CSS — fallback to default styling.\n // The variant-specific classes are applied via group selectors.\n 'group-data-[variant=underline]:relative group-data-[variant=underline]:px-1 group-data-[variant=underline]:pb-2.5',\n tabsTriggerVariants.default,\n className\n )}\n ref={ref}\n {...props}\n >\n {props.children}\n </TabsPrimitive.Trigger>\n))\n\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName\n\n/* -------------------------------------------------------------------------- */\n/* TabsTriggerItem */\n/* -------------------------------------------------------------------------- */\n\n/** Variant-aware trigger — reads variant from the closest TabsList[data-variant]. */\nconst TabsTriggerUnderline = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n className={cn(tabsTriggerBase, tabsTriggerVariants.underline, className)}\n ref={ref}\n {...props}\n />\n))\n\nTabsTriggerUnderline.displayName = 'TabsTriggerUnderline'\n\nconst TabsTriggerPill = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n className={cn(tabsTriggerBase, tabsTriggerVariants.pill, className)}\n ref={ref}\n {...props}\n />\n))\n\nTabsTriggerPill.displayName = 'TabsTriggerPill'\n\n/* -------------------------------------------------------------------------- */\n/* TabsContent */\n/* -------------------------------------------------------------------------- */\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n className={cn(\n 'focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-0',\n className\n )}\n ref={ref}\n {...props}\n />\n))\n\nTabsContent.displayName = TabsPrimitive.Content.displayName\n\nexport { Tabs, TabsList, TabsTrigger, TabsTriggerUnderline, TabsTriggerPill, TabsContent }\n"]}
|
package/dist/styles.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|