@burdenoff/microfe-ecoimpacthub 2026.525.1 → 2026.704.2
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/dist/_virtual/_rolldown/runtime.js +20 -0
- package/dist/ecoimpacthub/EcoImpactHubRoot.js +99 -110
- package/dist/ecoimpacthub/EcoImpactHubRoot.js.map +1 -1
- package/dist/ecoimpacthub/EcoImpactHubRoutes.js +74 -49
- package/dist/ecoimpacthub/EcoImpactHubRoutes.js.map +1 -1
- package/dist/ecoimpacthub/components/DataTable.js +71 -0
- package/dist/ecoimpacthub/components/DataTable.js.map +1 -0
- package/dist/ecoimpacthub/components/EmptyState.js +35 -0
- package/dist/ecoimpacthub/components/EmptyState.js.map +1 -0
- package/dist/ecoimpacthub/components/FilterTabs.js +27 -0
- package/dist/ecoimpacthub/components/FilterTabs.js.map +1 -0
- package/dist/ecoimpacthub/components/MetricsCard.js +64 -0
- package/dist/ecoimpacthub/components/MetricsCard.js.map +1 -0
- package/dist/ecoimpacthub/components/MiniBar.js +22 -0
- package/dist/ecoimpacthub/components/MiniBar.js.map +1 -0
- package/dist/ecoimpacthub/components/PageLayout.js +38 -0
- package/dist/ecoimpacthub/components/PageLayout.js.map +1 -0
- package/dist/ecoimpacthub/components/Pagination.js +50 -0
- package/dist/ecoimpacthub/components/Pagination.js.map +1 -0
- package/dist/ecoimpacthub/components/StateViews.js +49 -0
- package/dist/ecoimpacthub/components/StateViews.js.map +1 -0
- package/dist/ecoimpacthub/components/StatusBadge.js +77 -0
- package/dist/ecoimpacthub/components/StatusBadge.js.map +1 -0
- package/dist/ecoimpacthub/components/Tabs.js +31 -0
- package/dist/ecoimpacthub/components/Tabs.js.map +1 -0
- package/dist/ecoimpacthub/context/EcoImpactHubContext.js +85 -0
- package/dist/ecoimpacthub/context/EcoImpactHubContext.js.map +1 -0
- package/dist/ecoimpacthub/context/index.js +1 -0
- package/dist/ecoimpacthub/hooks/index.js +2 -0
- package/dist/ecoimpacthub/hooks/useCursorPager.js +25 -0
- package/dist/ecoimpacthub/hooks/useCursorPager.js.map +1 -0
- package/dist/ecoimpacthub/hooks/useEcoImpactHubApi.js +450 -0
- package/dist/ecoimpacthub/hooks/useEcoImpactHubApi.js.map +1 -0
- package/dist/ecoimpacthub/index.js +5 -2
- package/dist/ecoimpacthub/pages/DashboardPage.js +353 -359
- package/dist/ecoimpacthub/pages/DashboardPage.js.map +1 -1
- package/dist/ecoimpacthub/pages/carbon/CarbonPage.js +1052 -0
- package/dist/ecoimpacthub/pages/carbon/CarbonPage.js.map +1 -0
- package/dist/ecoimpacthub/pages/habitat/HabitatProjectDetailPage.js +403 -0
- package/dist/ecoimpacthub/pages/habitat/HabitatProjectDetailPage.js.map +1 -0
- package/dist/ecoimpacthub/pages/habitat/HabitatProjectsPage.js +361 -0
- package/dist/ecoimpacthub/pages/habitat/HabitatProjectsPage.js.map +1 -0
- package/dist/ecoimpacthub/pages/monitoring/MonitoringPage.js +874 -0
- package/dist/ecoimpacthub/pages/monitoring/MonitoringPage.js.map +1 -0
- package/dist/ecoimpacthub/pages/observations/ObservationsPage.js +424 -0
- package/dist/ecoimpacthub/pages/observations/ObservationsPage.js.map +1 -0
- package/dist/ecoimpacthub/pages/reports/ReportDetailPage.js +324 -0
- package/dist/ecoimpacthub/pages/reports/ReportDetailPage.js.map +1 -0
- package/dist/ecoimpacthub/pages/reports/ReportsPage.js +295 -0
- package/dist/ecoimpacthub/pages/reports/ReportsPage.js.map +1 -0
- package/dist/ecoimpacthub/pages/sites/SiteDetailPage.js +772 -0
- package/dist/ecoimpacthub/pages/sites/SiteDetailPage.js.map +1 -0
- package/dist/ecoimpacthub/pages/sites/SitesPage.js +394 -0
- package/dist/ecoimpacthub/pages/sites/SitesPage.js.map +1 -0
- package/dist/ecoimpacthub/pages/species/SpeciesDetailPage.js +543 -0
- package/dist/ecoimpacthub/pages/species/SpeciesDetailPage.js.map +1 -0
- package/dist/ecoimpacthub/pages/species/SpeciesPage.js +339 -0
- package/dist/ecoimpacthub/pages/species/SpeciesPage.js.map +1 -0
- package/dist/ecoimpacthub/utils/cn.js +10 -0
- package/dist/ecoimpacthub/utils/cn.js.map +1 -0
- package/dist/ecoimpacthub/utils/formatters.js +57 -0
- package/dist/ecoimpacthub/utils/formatters.js.map +1 -0
- package/dist/ecoimpacthub/utils/navigation.js +2 -1
- package/dist/ecoimpacthub/utils/navigation.js.map +1 -1
- package/dist/index.js +6 -4
- package/dist/node_modules/clsx/dist/clsx.js +18 -0
- package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
- package/dist/node_modules/d3-array/src/ascending.js +8 -0
- package/dist/node_modules/d3-array/src/ascending.js.map +1 -0
- package/dist/node_modules/d3-array/src/bisect.js +10 -0
- package/dist/node_modules/d3-array/src/bisect.js.map +1 -0
- package/dist/node_modules/d3-array/src/bisector.js +43 -0
- package/dist/node_modules/d3-array/src/bisector.js.map +1 -0
- package/dist/node_modules/d3-array/src/descending.js +8 -0
- package/dist/node_modules/d3-array/src/descending.js.map +1 -0
- package/dist/node_modules/d3-array/src/max.js +14 -0
- package/dist/node_modules/d3-array/src/max.js.map +1 -0
- package/dist/node_modules/d3-array/src/min.js +14 -0
- package/dist/node_modules/d3-array/src/min.js.map +1 -0
- package/dist/node_modules/d3-array/src/number.js +15 -0
- package/dist/node_modules/d3-array/src/number.js.map +1 -0
- package/dist/node_modules/d3-array/src/quantile.js +25 -0
- package/dist/node_modules/d3-array/src/quantile.js.map +1 -0
- package/dist/node_modules/d3-array/src/quickselect.js +26 -0
- package/dist/node_modules/d3-array/src/quickselect.js.map +1 -0
- package/dist/node_modules/d3-array/src/range.js +10 -0
- package/dist/node_modules/d3-array/src/range.js.map +1 -0
- package/dist/node_modules/d3-array/src/sort.js +17 -0
- package/dist/node_modules/d3-array/src/sort.js.map +1 -0
- package/dist/node_modules/d3-array/src/ticks.js +34 -0
- package/dist/node_modules/d3-array/src/ticks.js.map +1 -0
- package/dist/node_modules/d3-color/src/color.js +291 -0
- package/dist/node_modules/d3-color/src/color.js.map +1 -0
- package/dist/node_modules/d3-color/src/define.js +13 -0
- package/dist/node_modules/d3-color/src/define.js.map +1 -0
- package/dist/node_modules/d3-format/src/defaultLocale.js +15 -0
- package/dist/node_modules/d3-format/src/defaultLocale.js.map +1 -0
- package/dist/node_modules/d3-format/src/exponent.js +9 -0
- package/dist/node_modules/d3-format/src/exponent.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatDecimal.js +13 -0
- package/dist/node_modules/d3-format/src/formatDecimal.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatGroup.js +11 -0
- package/dist/node_modules/d3-format/src/formatGroup.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatNumerals.js +12 -0
- package/dist/node_modules/d3-format/src/formatNumerals.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatPrefixAuto.js +13 -0
- package/dist/node_modules/d3-format/src/formatPrefixAuto.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatRounded.js +12 -0
- package/dist/node_modules/d3-format/src/formatRounded.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatSpecifier.js +29 -0
- package/dist/node_modules/d3-format/src/formatSpecifier.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatTrim.js +20 -0
- package/dist/node_modules/d3-format/src/formatTrim.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatTypes.js +23 -0
- package/dist/node_modules/d3-format/src/formatTypes.js.map +1 -0
- package/dist/node_modules/d3-format/src/identity.js +8 -0
- package/dist/node_modules/d3-format/src/identity.js.map +1 -0
- package/dist/node_modules/d3-format/src/locale.js +86 -0
- package/dist/node_modules/d3-format/src/locale.js.map +1 -0
- package/dist/node_modules/d3-format/src/precisionFixed.js +9 -0
- package/dist/node_modules/d3-format/src/precisionFixed.js.map +1 -0
- package/dist/node_modules/d3-format/src/precisionPrefix.js +9 -0
- package/dist/node_modules/d3-format/src/precisionPrefix.js.map +1 -0
- package/dist/node_modules/d3-format/src/precisionRound.js +9 -0
- package/dist/node_modules/d3-format/src/precisionRound.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/array.js +15 -0
- package/dist/node_modules/d3-interpolate/src/array.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/basis.js +16 -0
- package/dist/node_modules/d3-interpolate/src/basis.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/basisClosed.js +13 -0
- package/dist/node_modules/d3-interpolate/src/basisClosed.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/color.js +25 -0
- package/dist/node_modules/d3-interpolate/src/color.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/constant.js +6 -0
- package/dist/node_modules/d3-interpolate/src/constant.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/date.js +11 -0
- package/dist/node_modules/d3-interpolate/src/date.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/number.js +10 -0
- package/dist/node_modules/d3-interpolate/src/number.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/numberArray.js +16 -0
- package/dist/node_modules/d3-interpolate/src/numberArray.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/object.js +14 -0
- package/dist/node_modules/d3-interpolate/src/object.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/piecewise.js +14 -0
- package/dist/node_modules/d3-interpolate/src/piecewise.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/rgb.js +19 -0
- package/dist/node_modules/d3-interpolate/src/rgb.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/round.js +10 -0
- package/dist/node_modules/d3-interpolate/src/round.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/string.js +28 -0
- package/dist/node_modules/d3-interpolate/src/string.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/value.js +18 -0
- package/dist/node_modules/d3-interpolate/src/value.js.map +1 -0
- package/dist/node_modules/d3-path/src/path.js +65 -0
- package/dist/node_modules/d3-path/src/path.js.map +1 -0
- package/dist/node_modules/d3-scale/src/band.js +52 -0
- package/dist/node_modules/d3-scale/src/band.js.map +1 -0
- package/dist/node_modules/d3-scale/src/constant.js +10 -0
- package/dist/node_modules/d3-scale/src/constant.js.map +1 -0
- package/dist/node_modules/d3-scale/src/continuous.js +73 -0
- package/dist/node_modules/d3-scale/src/continuous.js.map +1 -0
- package/dist/node_modules/d3-scale/src/diverging.js +82 -0
- package/dist/node_modules/d3-scale/src/diverging.js.map +1 -0
- package/dist/node_modules/d3-scale/src/identity.js +20 -0
- package/dist/node_modules/d3-scale/src/identity.js.map +1 -0
- package/dist/node_modules/d3-scale/src/init.js +29 -0
- package/dist/node_modules/d3-scale/src/init.js.map +1 -0
- package/dist/node_modules/d3-scale/src/linear.js +36 -0
- package/dist/node_modules/d3-scale/src/linear.js.map +1 -0
- package/dist/node_modules/d3-scale/src/log.js +77 -0
- package/dist/node_modules/d3-scale/src/log.js.map +1 -0
- package/dist/node_modules/d3-scale/src/nice.js +10 -0
- package/dist/node_modules/d3-scale/src/nice.js.map +1 -0
- package/dist/node_modules/d3-scale/src/number.js +8 -0
- package/dist/node_modules/d3-scale/src/number.js.map +1 -0
- package/dist/node_modules/d3-scale/src/ordinal.js +31 -0
- package/dist/node_modules/d3-scale/src/ordinal.js.map +1 -0
- package/dist/node_modules/d3-scale/src/pow.js +37 -0
- package/dist/node_modules/d3-scale/src/pow.js.map +1 -0
- package/dist/node_modules/d3-scale/src/quantile.js +37 -0
- package/dist/node_modules/d3-scale/src/quantile.js.map +1 -0
- package/dist/node_modules/d3-scale/src/quantize.js +33 -0
- package/dist/node_modules/d3-scale/src/quantize.js.map +1 -0
- package/dist/node_modules/d3-scale/src/radial.js +39 -0
- package/dist/node_modules/d3-scale/src/radial.js.map +1 -0
- package/dist/node_modules/d3-scale/src/sequential.js +67 -0
- package/dist/node_modules/d3-scale/src/sequential.js.map +1 -0
- package/dist/node_modules/d3-scale/src/sequentialQuantile.js +30 -0
- package/dist/node_modules/d3-scale/src/sequentialQuantile.js.map +1 -0
- package/dist/node_modules/d3-scale/src/symlog.js +30 -0
- package/dist/node_modules/d3-scale/src/symlog.js.map +1 -0
- package/dist/node_modules/d3-scale/src/threshold.js +25 -0
- package/dist/node_modules/d3-scale/src/threshold.js.map +1 -0
- package/dist/node_modules/d3-scale/src/tickFormat.js +31 -0
- package/dist/node_modules/d3-scale/src/tickFormat.js.map +1 -0
- package/dist/node_modules/d3-scale/src/time.js +47 -0
- package/dist/node_modules/d3-scale/src/time.js.map +1 -0
- package/dist/node_modules/d3-scale/src/utcTime.js +19 -0
- package/dist/node_modules/d3-scale/src/utcTime.js.map +1 -0
- package/dist/node_modules/d3-shape/src/area.js +55 -0
- package/dist/node_modules/d3-shape/src/area.js.map +1 -0
- package/dist/node_modules/d3-shape/src/array.js +8 -0
- package/dist/node_modules/d3-shape/src/array.js.map +1 -0
- package/dist/node_modules/d3-shape/src/constant.js +10 -0
- package/dist/node_modules/d3-shape/src/constant.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/basis.js +49 -0
- package/dist/node_modules/d3-shape/src/curve/basis.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/basisClosed.js +50 -0
- package/dist/node_modules/d3-shape/src/curve/basisClosed.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/basisOpen.js +46 -0
- package/dist/node_modules/d3-shape/src/curve/basisOpen.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/bump.js +40 -0
- package/dist/node_modules/d3-shape/src/curve/bump.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/linear.js +36 -0
- package/dist/node_modules/d3-shape/src/curve/linear.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/linearClosed.js +25 -0
- package/dist/node_modules/d3-shape/src/curve/linearClosed.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/monotone.js +94 -0
- package/dist/node_modules/d3-shape/src/curve/monotone.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/natural.js +39 -0
- package/dist/node_modules/d3-shape/src/curve/natural.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/step.js +47 -0
- package/dist/node_modules/d3-shape/src/curve/step.js.map +1 -0
- package/dist/node_modules/d3-shape/src/line.js +30 -0
- package/dist/node_modules/d3-shape/src/line.js.map +1 -0
- package/dist/node_modules/d3-shape/src/math.js +8 -0
- package/dist/node_modules/d3-shape/src/math.js.map +1 -0
- package/dist/node_modules/d3-shape/src/noop.js +6 -0
- package/dist/node_modules/d3-shape/src/noop.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/expand.js +15 -0
- package/dist/node_modules/d3-shape/src/offset/expand.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/none.js +8 -0
- package/dist/node_modules/d3-shape/src/offset/none.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/silhouette.js +15 -0
- package/dist/node_modules/d3-shape/src/offset/silhouette.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/wiggle.js +21 -0
- package/dist/node_modules/d3-shape/src/offset/wiggle.js.map +1 -0
- package/dist/node_modules/d3-shape/src/order/none.js +9 -0
- package/dist/node_modules/d3-shape/src/order/none.js.map +1 -0
- package/dist/node_modules/d3-shape/src/path.js +19 -0
- package/dist/node_modules/d3-shape/src/path.js.map +1 -0
- package/dist/node_modules/d3-shape/src/point.js +11 -0
- package/dist/node_modules/d3-shape/src/point.js.map +1 -0
- package/dist/node_modules/d3-shape/src/stack.js +34 -0
- package/dist/node_modules/d3-shape/src/stack.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/circle.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/circle.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/cross.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/cross.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/diamond.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/diamond.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/square.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/square.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/star.js +15 -0
- package/dist/node_modules/d3-shape/src/symbol/star.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/triangle.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/triangle.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/wye.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/wye.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol.js +23 -0
- package/dist/node_modules/d3-shape/src/symbol.js.map +1 -0
- package/dist/node_modules/d3-time/src/day.js +21 -0
- package/dist/node_modules/d3-time/src/day.js.map +1 -0
- package/dist/node_modules/d3-time/src/duration.js +6 -0
- package/dist/node_modules/d3-time/src/duration.js.map +1 -0
- package/dist/node_modules/d3-time/src/hour.js +19 -0
- package/dist/node_modules/d3-time/src/hour.js.map +1 -0
- package/dist/node_modules/d3-time/src/interval.js +28 -0
- package/dist/node_modules/d3-time/src/interval.js.map +1 -0
- package/dist/node_modules/d3-time/src/millisecond.js +14 -0
- package/dist/node_modules/d3-time/src/millisecond.js.map +1 -0
- package/dist/node_modules/d3-time/src/minute.js +19 -0
- package/dist/node_modules/d3-time/src/minute.js.map +1 -0
- package/dist/node_modules/d3-time/src/month.js +18 -0
- package/dist/node_modules/d3-time/src/month.js.map +1 -0
- package/dist/node_modules/d3-time/src/second.js +13 -0
- package/dist/node_modules/d3-time/src/second.js.map +1 -0
- package/dist/node_modules/d3-time/src/ticks.js +125 -0
- package/dist/node_modules/d3-time/src/ticks.js.map +1 -0
- package/dist/node_modules/d3-time/src/week.js +25 -0
- package/dist/node_modules/d3-time/src/week.js.map +1 -0
- package/dist/node_modules/d3-time/src/year.js +26 -0
- package/dist/node_modules/d3-time/src/year.js.map +1 -0
- package/dist/node_modules/d3-time-format/src/defaultLocale.js +62 -0
- package/dist/node_modules/d3-time-format/src/defaultLocale.js.map +1 -0
- package/dist/node_modules/d3-time-format/src/locale.js +490 -0
- package/dist/node_modules/d3-time-format/src/locale.js.map +1 -0
- package/dist/node_modules/decimal.js-light/decimal.js +378 -0
- package/dist/node_modules/decimal.js-light/decimal.js.map +1 -0
- package/dist/node_modules/eventemitter3/index.js +95 -0
- package/dist/node_modules/eventemitter3/index.js.map +1 -0
- package/dist/node_modules/fast-equals/dist/es/index.js +267 -0
- package/dist/node_modules/fast-equals/dist/es/index.js.map +1 -0
- package/dist/node_modules/internmap/src/index.js +40 -0
- package/dist/node_modules/internmap/src/index.js.map +1 -0
- package/dist/node_modules/lodash/_DataView.js +12 -0
- package/dist/node_modules/lodash/_DataView.js.map +1 -0
- package/dist/node_modules/lodash/_Hash.js +23 -0
- package/dist/node_modules/lodash/_Hash.js.map +1 -0
- package/dist/node_modules/lodash/_ListCache.js +23 -0
- package/dist/node_modules/lodash/_ListCache.js.map +1 -0
- package/dist/node_modules/lodash/_Map.js +12 -0
- package/dist/node_modules/lodash/_Map.js.map +1 -0
- package/dist/node_modules/lodash/_MapCache.js +23 -0
- package/dist/node_modules/lodash/_MapCache.js.map +1 -0
- package/dist/node_modules/lodash/_Promise.js +12 -0
- package/dist/node_modules/lodash/_Promise.js.map +1 -0
- package/dist/node_modules/lodash/_Set.js +12 -0
- package/dist/node_modules/lodash/_Set.js.map +1 -0
- package/dist/node_modules/lodash/_SetCache.js +18 -0
- package/dist/node_modules/lodash/_SetCache.js.map +1 -0
- package/dist/node_modules/lodash/_Stack.js +20 -0
- package/dist/node_modules/lodash/_Stack.js.map +1 -0
- package/dist/node_modules/lodash/_Symbol.js +11 -0
- package/dist/node_modules/lodash/_Symbol.js.map +1 -0
- package/dist/node_modules/lodash/_Uint8Array.js +11 -0
- package/dist/node_modules/lodash/_Uint8Array.js.map +1 -0
- package/dist/node_modules/lodash/_WeakMap.js +12 -0
- package/dist/node_modules/lodash/_WeakMap.js.map +1 -0
- package/dist/node_modules/lodash/_apply.js +19 -0
- package/dist/node_modules/lodash/_apply.js.map +1 -0
- package/dist/node_modules/lodash/_arrayEvery.js +14 -0
- package/dist/node_modules/lodash/_arrayEvery.js.map +1 -0
- package/dist/node_modules/lodash/_arrayFilter.js +17 -0
- package/dist/node_modules/lodash/_arrayFilter.js.map +1 -0
- package/dist/node_modules/lodash/_arrayIncludes.js +15 -0
- package/dist/node_modules/lodash/_arrayIncludes.js.map +1 -0
- package/dist/node_modules/lodash/_arrayIncludesWith.js +14 -0
- package/dist/node_modules/lodash/_arrayIncludesWith.js.map +1 -0
- package/dist/node_modules/lodash/_arrayLikeKeys.js +22 -0
- package/dist/node_modules/lodash/_arrayLikeKeys.js.map +1 -0
- package/dist/node_modules/lodash/_arrayMap.js +14 -0
- package/dist/node_modules/lodash/_arrayMap.js.map +1 -0
- package/dist/node_modules/lodash/_arrayPush.js +14 -0
- package/dist/node_modules/lodash/_arrayPush.js.map +1 -0
- package/dist/node_modules/lodash/_arraySome.js +14 -0
- package/dist/node_modules/lodash/_arraySome.js.map +1 -0
- package/dist/node_modules/lodash/_asciiToArray.js +13 -0
- package/dist/node_modules/lodash/_asciiToArray.js.map +1 -0
- package/dist/node_modules/lodash/_assocIndexOf.js +16 -0
- package/dist/node_modules/lodash/_assocIndexOf.js.map +1 -0
- package/dist/node_modules/lodash/_baseAssignValue.js +20 -0
- package/dist/node_modules/lodash/_baseAssignValue.js.map +1 -0
- package/dist/node_modules/lodash/_baseEach.js +13 -0
- package/dist/node_modules/lodash/_baseEach.js.map +1 -0
- package/dist/node_modules/lodash/_baseEvery.js +18 -0
- package/dist/node_modules/lodash/_baseEvery.js.map +1 -0
- package/dist/node_modules/lodash/_baseExtremum.js +19 -0
- package/dist/node_modules/lodash/_baseExtremum.js.map +1 -0
- package/dist/node_modules/lodash/_baseFindIndex.js +14 -0
- package/dist/node_modules/lodash/_baseFindIndex.js.map +1 -0
- package/dist/node_modules/lodash/_baseFlatten.js +21 -0
- package/dist/node_modules/lodash/_baseFlatten.js.map +1 -0
- package/dist/node_modules/lodash/_baseFor.js +11 -0
- package/dist/node_modules/lodash/_baseFor.js.map +1 -0
- package/dist/node_modules/lodash/_baseForOwn.js +16 -0
- package/dist/node_modules/lodash/_baseForOwn.js.map +1 -0
- package/dist/node_modules/lodash/_baseGet.js +18 -0
- package/dist/node_modules/lodash/_baseGet.js.map +1 -0
- package/dist/node_modules/lodash/_baseGetAllKeys.js +17 -0
- package/dist/node_modules/lodash/_baseGetAllKeys.js.map +1 -0
- package/dist/node_modules/lodash/_baseGetTag.js +17 -0
- package/dist/node_modules/lodash/_baseGetTag.js.map +1 -0
- package/dist/node_modules/lodash/_baseGt.js +13 -0
- package/dist/node_modules/lodash/_baseGt.js.map +1 -0
- package/dist/node_modules/lodash/_baseHasIn.js +13 -0
- package/dist/node_modules/lodash/_baseHasIn.js.map +1 -0
- package/dist/node_modules/lodash/_baseIndexOf.js +17 -0
- package/dist/node_modules/lodash/_baseIndexOf.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsArguments.js +16 -0
- package/dist/node_modules/lodash/_baseIsArguments.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsEqual.js +16 -0
- package/dist/node_modules/lodash/_baseIsEqual.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsEqualDeep.js +37 -0
- package/dist/node_modules/lodash/_baseIsEqualDeep.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsMatch.js +33 -0
- package/dist/node_modules/lodash/_baseIsMatch.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsNaN.js +13 -0
- package/dist/node_modules/lodash/_baseIsNaN.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsNative.js +18 -0
- package/dist/node_modules/lodash/_baseIsNative.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsTypedArray.js +18 -0
- package/dist/node_modules/lodash/_baseIsTypedArray.js.map +1 -0
- package/dist/node_modules/lodash/_baseIteratee.js +19 -0
- package/dist/node_modules/lodash/_baseIteratee.js.map +1 -0
- package/dist/node_modules/lodash/_baseKeys.js +19 -0
- package/dist/node_modules/lodash/_baseKeys.js.map +1 -0
- package/dist/node_modules/lodash/_baseLt.js +13 -0
- package/dist/node_modules/lodash/_baseLt.js.map +1 -0
- package/dist/node_modules/lodash/_baseMap.js +19 -0
- package/dist/node_modules/lodash/_baseMap.js.map +1 -0
- package/dist/node_modules/lodash/_baseMatches.js +20 -0
- package/dist/node_modules/lodash/_baseMatches.js.map +1 -0
- package/dist/node_modules/lodash/_baseMatchesProperty.js +24 -0
- package/dist/node_modules/lodash/_baseMatchesProperty.js.map +1 -0
- package/dist/node_modules/lodash/_baseOrderBy.js +39 -0
- package/dist/node_modules/lodash/_baseOrderBy.js.map +1 -0
- package/dist/node_modules/lodash/_baseProperty.js +15 -0
- package/dist/node_modules/lodash/_baseProperty.js.map +1 -0
- package/dist/node_modules/lodash/_basePropertyDeep.js +17 -0
- package/dist/node_modules/lodash/_basePropertyDeep.js.map +1 -0
- package/dist/node_modules/lodash/_baseRange.js +15 -0
- package/dist/node_modules/lodash/_baseRange.js.map +1 -0
- package/dist/node_modules/lodash/_baseRest.js +17 -0
- package/dist/node_modules/lodash/_baseRest.js.map +1 -0
- package/dist/node_modules/lodash/_baseSetToString.js +21 -0
- package/dist/node_modules/lodash/_baseSetToString.js.map +1 -0
- package/dist/node_modules/lodash/_baseSlice.js +16 -0
- package/dist/node_modules/lodash/_baseSlice.js.map +1 -0
- package/dist/node_modules/lodash/_baseSome.js +18 -0
- package/dist/node_modules/lodash/_baseSome.js.map +1 -0
- package/dist/node_modules/lodash/_baseSortBy.js +15 -0
- package/dist/node_modules/lodash/_baseSortBy.js.map +1 -0
- package/dist/node_modules/lodash/_baseTimes.js +14 -0
- package/dist/node_modules/lodash/_baseTimes.js.map +1 -0
- package/dist/node_modules/lodash/_baseToString.js +22 -0
- package/dist/node_modules/lodash/_baseToString.js.map +1 -0
- package/dist/node_modules/lodash/_baseTrim.js +15 -0
- package/dist/node_modules/lodash/_baseTrim.js.map +1 -0
- package/dist/node_modules/lodash/_baseUnary.js +15 -0
- package/dist/node_modules/lodash/_baseUnary.js.map +1 -0
- package/dist/node_modules/lodash/_baseUniq.js +34 -0
- package/dist/node_modules/lodash/_baseUniq.js.map +1 -0
- package/dist/node_modules/lodash/_cacheHas.js +13 -0
- package/dist/node_modules/lodash/_cacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_castPath.js +18 -0
- package/dist/node_modules/lodash/_castPath.js.map +1 -0
- package/dist/node_modules/lodash/_castSlice.js +16 -0
- package/dist/node_modules/lodash/_castSlice.js.map +1 -0
- package/dist/node_modules/lodash/_compareAscending.js +20 -0
- package/dist/node_modules/lodash/_compareAscending.js.map +1 -0
- package/dist/node_modules/lodash/_compareMultiple.js +19 -0
- package/dist/node_modules/lodash/_compareMultiple.js.map +1 -0
- package/dist/node_modules/lodash/_coreJsData.js +11 -0
- package/dist/node_modules/lodash/_coreJsData.js.map +1 -0
- package/dist/node_modules/lodash/_createBaseEach.js +20 -0
- package/dist/node_modules/lodash/_createBaseEach.js.map +1 -0
- package/dist/node_modules/lodash/_createBaseFor.js +19 -0
- package/dist/node_modules/lodash/_createBaseFor.js.map +1 -0
- package/dist/node_modules/lodash/_createCaseFirst.js +22 -0
- package/dist/node_modules/lodash/_createCaseFirst.js.map +1 -0
- package/dist/node_modules/lodash/_createFind.js +27 -0
- package/dist/node_modules/lodash/_createFind.js.map +1 -0
- package/dist/node_modules/lodash/_createRange.js +19 -0
- package/dist/node_modules/lodash/_createRange.js.map +1 -0
- package/dist/node_modules/lodash/_createSet.js +16 -0
- package/dist/node_modules/lodash/_createSet.js.map +1 -0
- package/dist/node_modules/lodash/_defineProperty.js +17 -0
- package/dist/node_modules/lodash/_defineProperty.js.map +1 -0
- package/dist/node_modules/lodash/_equalArrays.js +42 -0
- package/dist/node_modules/lodash/_equalArrays.js.map +1 -0
- package/dist/node_modules/lodash/_equalByTag.js +42 -0
- package/dist/node_modules/lodash/_equalByTag.js.map +1 -0
- package/dist/node_modules/lodash/_equalObjects.js +39 -0
- package/dist/node_modules/lodash/_equalObjects.js.map +1 -0
- package/dist/node_modules/lodash/_freeGlobal.js +10 -0
- package/dist/node_modules/lodash/_freeGlobal.js.map +1 -0
- package/dist/node_modules/lodash/_getAllKeys.js +17 -0
- package/dist/node_modules/lodash/_getAllKeys.js.map +1 -0
- package/dist/node_modules/lodash/_getMapData.js +16 -0
- package/dist/node_modules/lodash/_getMapData.js.map +1 -0
- package/dist/node_modules/lodash/_getMatchData.js +24 -0
- package/dist/node_modules/lodash/_getMatchData.js.map +1 -0
- package/dist/node_modules/lodash/_getNative.js +17 -0
- package/dist/node_modules/lodash/_getNative.js.map +1 -0
- package/dist/node_modules/lodash/_getPrototype.js +11 -0
- package/dist/node_modules/lodash/_getPrototype.js.map +1 -0
- package/dist/node_modules/lodash/_getRawTag.js +21 -0
- package/dist/node_modules/lodash/_getRawTag.js.map +1 -0
- package/dist/node_modules/lodash/_getSymbols.js +17 -0
- package/dist/node_modules/lodash/_getSymbols.js.map +1 -0
- package/dist/node_modules/lodash/_getTag.js +28 -0
- package/dist/node_modules/lodash/_getTag.js.map +1 -0
- package/dist/node_modules/lodash/_getValue.js +13 -0
- package/dist/node_modules/lodash/_getValue.js.map +1 -0
- package/dist/node_modules/lodash/_hasPath.js +26 -0
- package/dist/node_modules/lodash/_hasPath.js.map +1 -0
- package/dist/node_modules/lodash/_hasUnicode.js +14 -0
- package/dist/node_modules/lodash/_hasUnicode.js.map +1 -0
- package/dist/node_modules/lodash/_hashClear.js +15 -0
- package/dist/node_modules/lodash/_hashClear.js.map +1 -0
- package/dist/node_modules/lodash/_hashDelete.js +14 -0
- package/dist/node_modules/lodash/_hashDelete.js.map +1 -0
- package/dist/node_modules/lodash/_hashGet.js +20 -0
- package/dist/node_modules/lodash/_hashGet.js.map +1 -0
- package/dist/node_modules/lodash/_hashHas.js +16 -0
- package/dist/node_modules/lodash/_hashHas.js.map +1 -0
- package/dist/node_modules/lodash/_hashSet.js +16 -0
- package/dist/node_modules/lodash/_hashSet.js.map +1 -0
- package/dist/node_modules/lodash/_isFlattenable.js +17 -0
- package/dist/node_modules/lodash/_isFlattenable.js.map +1 -0
- package/dist/node_modules/lodash/_isIndex.js +15 -0
- package/dist/node_modules/lodash/_isIndex.js.map +1 -0
- package/dist/node_modules/lodash/_isIterateeCall.js +20 -0
- package/dist/node_modules/lodash/_isIterateeCall.js.map +1 -0
- package/dist/node_modules/lodash/_isKey.js +18 -0
- package/dist/node_modules/lodash/_isKey.js.map +1 -0
- package/dist/node_modules/lodash/_isKeyable.js +14 -0
- package/dist/node_modules/lodash/_isKeyable.js.map +1 -0
- package/dist/node_modules/lodash/_isMasked.js +18 -0
- package/dist/node_modules/lodash/_isMasked.js.map +1 -0
- package/dist/node_modules/lodash/_isPrototype.js +15 -0
- package/dist/node_modules/lodash/_isPrototype.js.map +1 -0
- package/dist/node_modules/lodash/_isStrictComparable.js +15 -0
- package/dist/node_modules/lodash/_isStrictComparable.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheClear.js +13 -0
- package/dist/node_modules/lodash/_listCacheClear.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheDelete.js +16 -0
- package/dist/node_modules/lodash/_listCacheDelete.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheGet.js +16 -0
- package/dist/node_modules/lodash/_listCacheGet.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheHas.js +15 -0
- package/dist/node_modules/lodash/_listCacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheSet.js +16 -0
- package/dist/node_modules/lodash/_listCacheSet.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheClear.js +21 -0
- package/dist/node_modules/lodash/_mapCacheClear.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheDelete.js +16 -0
- package/dist/node_modules/lodash/_mapCacheDelete.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheGet.js +15 -0
- package/dist/node_modules/lodash/_mapCacheGet.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheHas.js +15 -0
- package/dist/node_modules/lodash/_mapCacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheSet.js +16 -0
- package/dist/node_modules/lodash/_mapCacheSet.js.map +1 -0
- package/dist/node_modules/lodash/_mapToArray.js +16 -0
- package/dist/node_modules/lodash/_mapToArray.js.map +1 -0
- package/dist/node_modules/lodash/_matchesStrictComparable.js +15 -0
- package/dist/node_modules/lodash/_matchesStrictComparable.js.map +1 -0
- package/dist/node_modules/lodash/_memoizeCapped.js +18 -0
- package/dist/node_modules/lodash/_memoizeCapped.js.map +1 -0
- package/dist/node_modules/lodash/_nativeCreate.js +11 -0
- package/dist/node_modules/lodash/_nativeCreate.js.map +1 -0
- package/dist/node_modules/lodash/_nativeKeys.js +11 -0
- package/dist/node_modules/lodash/_nativeKeys.js.map +1 -0
- package/dist/node_modules/lodash/_nodeUtil.js +16 -0
- package/dist/node_modules/lodash/_nodeUtil.js.map +1 -0
- package/dist/node_modules/lodash/_objectToString.js +14 -0
- package/dist/node_modules/lodash/_objectToString.js.map +1 -0
- package/dist/node_modules/lodash/_overArg.js +15 -0
- package/dist/node_modules/lodash/_overArg.js.map +1 -0
- package/dist/node_modules/lodash/_overRest.js +20 -0
- package/dist/node_modules/lodash/_overRest.js.map +1 -0
- package/dist/node_modules/lodash/_root.js +12 -0
- package/dist/node_modules/lodash/_root.js.map +1 -0
- package/dist/node_modules/lodash/_setCacheAdd.js +14 -0
- package/dist/node_modules/lodash/_setCacheAdd.js.map +1 -0
- package/dist/node_modules/lodash/_setCacheHas.js +13 -0
- package/dist/node_modules/lodash/_setCacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_setToArray.js +16 -0
- package/dist/node_modules/lodash/_setToArray.js.map +1 -0
- package/dist/node_modules/lodash/_setToString.js +13 -0
- package/dist/node_modules/lodash/_setToString.js.map +1 -0
- package/dist/node_modules/lodash/_shortOut.js +21 -0
- package/dist/node_modules/lodash/_shortOut.js.map +1 -0
- package/dist/node_modules/lodash/_stackClear.js +15 -0
- package/dist/node_modules/lodash/_stackClear.js.map +1 -0
- package/dist/node_modules/lodash/_stackDelete.js +14 -0
- package/dist/node_modules/lodash/_stackDelete.js.map +1 -0
- package/dist/node_modules/lodash/_stackGet.js +13 -0
- package/dist/node_modules/lodash/_stackGet.js.map +1 -0
- package/dist/node_modules/lodash/_stackHas.js +13 -0
- package/dist/node_modules/lodash/_stackHas.js.map +1 -0
- package/dist/node_modules/lodash/_stackSet.js +23 -0
- package/dist/node_modules/lodash/_stackSet.js.map +1 -0
- package/dist/node_modules/lodash/_strictIndexOf.js +14 -0
- package/dist/node_modules/lodash/_strictIndexOf.js.map +1 -0
- package/dist/node_modules/lodash/_stringToArray.js +17 -0
- package/dist/node_modules/lodash/_stringToArray.js.map +1 -0
- package/dist/node_modules/lodash/_stringToPath.js +17 -0
- package/dist/node_modules/lodash/_stringToPath.js.map +1 -0
- package/dist/node_modules/lodash/_toKey.js +17 -0
- package/dist/node_modules/lodash/_toKey.js.map +1 -0
- package/dist/node_modules/lodash/_toSource.js +22 -0
- package/dist/node_modules/lodash/_toSource.js.map +1 -0
- package/dist/node_modules/lodash/_trimmedEndIndex.js +15 -0
- package/dist/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
- package/dist/node_modules/lodash/_unicodeToArray.js +24 -0
- package/dist/node_modules/lodash/_unicodeToArray.js.map +1 -0
- package/dist/node_modules/lodash/constant.js +15 -0
- package/dist/node_modules/lodash/constant.js.map +1 -0
- package/dist/node_modules/lodash/debounce.js +57 -0
- package/dist/node_modules/lodash/debounce.js.map +1 -0
- package/dist/node_modules/lodash/eq.js +13 -0
- package/dist/node_modules/lodash/eq.js.map +1 -0
- package/dist/node_modules/lodash/every.js +20 -0
- package/dist/node_modules/lodash/every.js.map +1 -0
- package/dist/node_modules/lodash/find.js +12 -0
- package/dist/node_modules/lodash/find.js.map +1 -0
- package/dist/node_modules/lodash/findIndex.js +20 -0
- package/dist/node_modules/lodash/findIndex.js.map +1 -0
- package/dist/node_modules/lodash/flatMap.js +16 -0
- package/dist/node_modules/lodash/flatMap.js.map +1 -0
- package/dist/node_modules/lodash/get.js +16 -0
- package/dist/node_modules/lodash/get.js.map +1 -0
- package/dist/node_modules/lodash/hasIn.js +16 -0
- package/dist/node_modules/lodash/hasIn.js.map +1 -0
- package/dist/node_modules/lodash/identity.js +13 -0
- package/dist/node_modules/lodash/identity.js.map +1 -0
- package/dist/node_modules/lodash/isArguments.js +17 -0
- package/dist/node_modules/lodash/isArguments.js.map +1 -0
- package/dist/node_modules/lodash/isArray.js +10 -0
- package/dist/node_modules/lodash/isArray.js.map +1 -0
- package/dist/node_modules/lodash/isArrayLike.js +16 -0
- package/dist/node_modules/lodash/isArrayLike.js.map +1 -0
- package/dist/node_modules/lodash/isBoolean.js +16 -0
- package/dist/node_modules/lodash/isBoolean.js.map +1 -0
- package/dist/node_modules/lodash/isBuffer.js +13 -0
- package/dist/node_modules/lodash/isBuffer.js.map +1 -0
- package/dist/node_modules/lodash/isEqual.js +15 -0
- package/dist/node_modules/lodash/isEqual.js.map +1 -0
- package/dist/node_modules/lodash/isFunction.js +18 -0
- package/dist/node_modules/lodash/isFunction.js.map +1 -0
- package/dist/node_modules/lodash/isLength.js +14 -0
- package/dist/node_modules/lodash/isLength.js.map +1 -0
- package/dist/node_modules/lodash/isNaN.js +15 -0
- package/dist/node_modules/lodash/isNaN.js.map +1 -0
- package/dist/node_modules/lodash/isNil.js +13 -0
- package/dist/node_modules/lodash/isNil.js.map +1 -0
- package/dist/node_modules/lodash/isNumber.js +16 -0
- package/dist/node_modules/lodash/isNumber.js.map +1 -0
- package/dist/node_modules/lodash/isObject.js +14 -0
- package/dist/node_modules/lodash/isObject.js.map +1 -0
- package/dist/node_modules/lodash/isObjectLike.js +13 -0
- package/dist/node_modules/lodash/isObjectLike.js.map +1 -0
- package/dist/node_modules/lodash/isPlainObject.js +21 -0
- package/dist/node_modules/lodash/isPlainObject.js.map +1 -0
- package/dist/node_modules/lodash/isString.js +17 -0
- package/dist/node_modules/lodash/isString.js.map +1 -0
- package/dist/node_modules/lodash/isSymbol.js +16 -0
- package/dist/node_modules/lodash/isSymbol.js.map +1 -0
- package/dist/node_modules/lodash/isTypedArray.js +14 -0
- package/dist/node_modules/lodash/isTypedArray.js.map +1 -0
- package/dist/node_modules/lodash/keys.js +17 -0
- package/dist/node_modules/lodash/keys.js.map +1 -0
- package/dist/node_modules/lodash/last.js +14 -0
- package/dist/node_modules/lodash/last.js.map +1 -0
- package/dist/node_modules/lodash/map.js +18 -0
- package/dist/node_modules/lodash/map.js.map +1 -0
- package/dist/node_modules/lodash/mapValues.js +20 -0
- package/dist/node_modules/lodash/mapValues.js.map +1 -0
- package/dist/node_modules/lodash/max.js +17 -0
- package/dist/node_modules/lodash/max.js.map +1 -0
- package/dist/node_modules/lodash/memoize.js +22 -0
- package/dist/node_modules/lodash/memoize.js.map +1 -0
- package/dist/node_modules/lodash/min.js +17 -0
- package/dist/node_modules/lodash/min.js.map +1 -0
- package/dist/node_modules/lodash/noop.js +11 -0
- package/dist/node_modules/lodash/noop.js.map +1 -0
- package/dist/node_modules/lodash/now.js +14 -0
- package/dist/node_modules/lodash/now.js.map +1 -0
- package/dist/node_modules/lodash/property.js +18 -0
- package/dist/node_modules/lodash/property.js.map +1 -0
- package/dist/node_modules/lodash/range.js +11 -0
- package/dist/node_modules/lodash/range.js.map +1 -0
- package/dist/node_modules/lodash/some.js +20 -0
- package/dist/node_modules/lodash/some.js.map +1 -0
- package/dist/node_modules/lodash/sortBy.js +19 -0
- package/dist/node_modules/lodash/sortBy.js.map +1 -0
- package/dist/node_modules/lodash/stubArray.js +13 -0
- package/dist/node_modules/lodash/stubArray.js.map +1 -0
- package/dist/node_modules/lodash/stubFalse.js +13 -0
- package/dist/node_modules/lodash/stubFalse.js.map +1 -0
- package/dist/node_modules/lodash/throttle.js +22 -0
- package/dist/node_modules/lodash/throttle.js.map +1 -0
- package/dist/node_modules/lodash/toFinite.js +15 -0
- package/dist/node_modules/lodash/toFinite.js.map +1 -0
- package/dist/node_modules/lodash/toInteger.js +16 -0
- package/dist/node_modules/lodash/toInteger.js.map +1 -0
- package/dist/node_modules/lodash/toNumber.js +26 -0
- package/dist/node_modules/lodash/toNumber.js.map +1 -0
- package/dist/node_modules/lodash/toString.js +15 -0
- package/dist/node_modules/lodash/toString.js.map +1 -0
- package/dist/node_modules/lodash/uniqBy.js +16 -0
- package/dist/node_modules/lodash/uniqBy.js.map +1 -0
- package/dist/node_modules/lodash/upperFirst.js +11 -0
- package/dist/node_modules/lodash/upperFirst.js.map +1 -0
- package/dist/node_modules/object-assign/index.js +41 -0
- package/dist/node_modules/object-assign/index.js.map +1 -0
- package/dist/node_modules/prop-types/checkPropTypes.js +46 -0
- package/dist/node_modules/prop-types/checkPropTypes.js.map +1 -0
- package/dist/node_modules/prop-types/factoryWithThrowingShims.js +49 -0
- package/dist/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -0
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +272 -0
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -0
- package/dist/node_modules/prop-types/index.js +16 -0
- package/dist/node_modules/prop-types/index.js.map +1 -0
- package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js +10 -0
- package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -0
- package/dist/node_modules/prop-types/lib/has.js +10 -0
- package/dist/node_modules/prop-types/lib/has.js.map +1 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +84 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +1 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +64 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
- package/dist/node_modules/prop-types/node_modules/react-is/index.js +12 -0
- package/dist/node_modules/prop-types/node_modules/react-is/index.js.map +1 -0
- package/dist/node_modules/react-is/cjs/react-is.development.js +87 -0
- package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -0
- package/dist/node_modules/react-is/cjs/react-is.production.min.js +65 -0
- package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
- package/dist/node_modules/react-is/index.js +12 -0
- package/dist/node_modules/react-is/index.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/Animate.js +374 -0
- package/dist/node_modules/react-smooth/es6/Animate.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/AnimateManager.js +73 -0
- package/dist/node_modules/react-smooth/es6/AnimateManager.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/configUpdate.js +173 -0
- package/dist/node_modules/react-smooth/es6/configUpdate.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/easing.js +152 -0
- package/dist/node_modules/react-smooth/es6/easing.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/index.js +9 -0
- package/dist/node_modules/react-smooth/es6/index.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/setRafTimeout.js +14 -0
- package/dist/node_modules/react-smooth/es6/setRafTimeout.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/util.js +92 -0
- package/dist/node_modules/react-smooth/es6/util.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/Bar.js +387 -0
- package/dist/node_modules/recharts/es6/cartesian/Bar.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/Brush.js +499 -0
- package/dist/node_modules/recharts/es6/cartesian/Brush.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js +338 -0
- package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js +243 -0
- package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js +173 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js +178 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js +254 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/XAxis.js +144 -0
- package/dist/node_modules/recharts/es6/cartesian/XAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/YAxis.js +143 -0
- package/dist/node_modules/recharts/es6/cartesian/YAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js +18 -0
- package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/getTicks.js +121 -0
- package/dist/node_modules/recharts/es6/cartesian/getTicks.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js +101 -0
- package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/BarChart.js +24 -0
- package/dist/node_modules/recharts/es6/chart/BarChart.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js +1245 -0
- package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Cell.js +9 -0
- package/dist/node_modules/recharts/es6/component/Cell.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Cursor.js +93 -0
- package/dist/node_modules/recharts/es6/component/Cursor.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js +237 -0
- package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js +171 -0
- package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Label.js +353 -0
- package/dist/node_modules/recharts/es6/component/Label.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/LabelList.js +166 -0
- package/dist/node_modules/recharts/es6/component/LabelList.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Legend.js +234 -0
- package/dist/node_modules/recharts/es6/component/Legend.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js +187 -0
- package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Text.js +225 -0
- package/dist/node_modules/recharts/es6/component/Text.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Tooltip.js +182 -0
- package/dist/node_modules/recharts/es6/component/Tooltip.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js +198 -0
- package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js.map +1 -0
- package/dist/node_modules/recharts/es6/container/Layer.js +40 -0
- package/dist/node_modules/recharts/es6/container/Layer.js.map +1 -0
- package/dist/node_modules/recharts/es6/container/Surface.js +60 -0
- package/dist/node_modules/recharts/es6/container/Surface.js.map +1 -0
- package/dist/node_modules/recharts/es6/context/chartLayoutContext.js +46 -0
- package/dist/node_modules/recharts/es6/context/chartLayoutContext.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Cross.js +112 -0
- package/dist/node_modules/recharts/es6/shape/Cross.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Curve.js +136 -0
- package/dist/node_modules/recharts/es6/shape/Curve.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Dot.js +27 -0
- package/dist/node_modules/recharts/es6/shape/Dot.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Rectangle.js +205 -0
- package/dist/node_modules/recharts/es6/shape/Rectangle.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Sector.js +192 -0
- package/dist/node_modules/recharts/es6/shape/Sector.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Symbols.js +143 -0
- package/dist/node_modules/recharts/es6/shape/Symbols.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Trapezoid.js +175 -0
- package/dist/node_modules/recharts/es6/shape/Trapezoid.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js +181 -0
- package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/BarUtils.js +112 -0
- package/dist/node_modules/recharts/es6/util/BarUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/CartesianUtils.js +234 -0
- package/dist/node_modules/recharts/es6/util/CartesianUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ChartUtils.js +541 -0
- package/dist/node_modules/recharts/es6/util/ChartUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js +70 -0
- package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/DOMUtils.js +108 -0
- package/dist/node_modules/recharts/es6/util/DOMUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/DataUtils.js +57 -0
- package/dist/node_modules/recharts/es6/util/DataUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js +58 -0
- package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/Events.js +7 -0
- package/dist/node_modules/recharts/es6/util/Events.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/Global.js +21 -0
- package/dist/node_modules/recharts/es6/util/Global.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js +9 -0
- package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/LogUtils.js +15 -0
- package/dist/node_modules/recharts/es6/util/LogUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/PolarUtils.js +116 -0
- package/dist/node_modules/recharts/es6/util/PolarUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ReactUtils.js +127 -0
- package/dist/node_modules/recharts/es6/util/ReactUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js +181 -0
- package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ShallowEqual.js +10 -0
- package/dist/node_modules/recharts/es6/util/ShallowEqual.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/TickUtils.js +31 -0
- package/dist/node_modules/recharts/es6/util/TickUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/calculateViewBox.js +25 -0
- package/dist/node_modules/recharts/es6/util/calculateViewBox.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js +23 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js +16 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js +17 -0
- package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js +12 -0
- package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/getLegendProps.js +88 -0
- package/dist/node_modules/recharts/es6/util/getLegendProps.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js +13 -0
- package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js +12 -0
- package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/tooltip/translate.js +87 -0
- package/dist/node_modules/recharts/es6/util/tooltip/translate.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/types.js +43 -0
- package/dist/node_modules/recharts/es6/util/types.js.map +1 -0
- package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js +132 -0
- package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js.map +1 -0
- package/dist/node_modules/recharts-scale/es6/index.js +1 -0
- package/dist/node_modules/recharts-scale/es6/util/arithmetic.js +32 -0
- package/dist/node_modules/recharts-scale/es6/util/arithmetic.js.map +1 -0
- package/dist/node_modules/recharts-scale/es6/util/utils.js +79 -0
- package/dist/node_modules/recharts-scale/es6/util/utils.js.map +1 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +1716 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
- package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +13 -0
- package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +1 -0
- package/dist/node_modules/victory-vendor/es/d3-scale.js +53 -0
- package/dist/node_modules/victory-vendor/es/d3-scale.js.map +1 -0
- package/package.json +2 -2
- package/dist/ecoimpacthub/pages/ActionTrackerPage.js +0 -449
- package/dist/ecoimpacthub/pages/ActionTrackerPage.js.map +0 -1
- package/dist/ecoimpacthub/pages/ChallengesPage.js +0 -242
- package/dist/ecoimpacthub/pages/ChallengesPage.js.map +0 -1
- package/dist/ecoimpacthub/pages/CitizenSciencePage.js +0 -443
- package/dist/ecoimpacthub/pages/CitizenSciencePage.js.map +0 -1
- package/dist/ecoimpacthub/pages/CommunityPage.js +0 -377
- package/dist/ecoimpacthub/pages/CommunityPage.js.map +0 -1
- package/dist/ecoimpacthub/pages/LearningPage.js +0 -276
- package/dist/ecoimpacthub/pages/LearningPage.js.map +0 -1
- package/dist/ecoimpacthub/providers/EcoImpactHubProvider.js +0 -27
- package/dist/ecoimpacthub/providers/EcoImpactHubProvider.js.map +0 -1
- package/dist/ecoimpacthub/store/ecoimpacthubStore.js +0 -551
- package/dist/ecoimpacthub/store/ecoimpacthubStore.js.map +0 -1
- package/dist/ecoimpacthub/utils/i18n.js +0 -15
- package/dist/ecoimpacthub/utils/i18n.js.map +0 -1
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
import { useEcoImpactHub as e } from "../../context/EcoImpactHubContext.js";
|
|
2
|
+
import { PageLayout as t } from "../../components/PageLayout.js";
|
|
3
|
+
import { formatEnumLabel as n, formatRelativeTime as r } from "../../utils/formatters.js";
|
|
4
|
+
import { StatusBadge as i } from "../../components/StatusBadge.js";
|
|
5
|
+
import { ErrorView as a, LoadingView as o } from "../../components/StateViews.js";
|
|
6
|
+
import { EmptyState as s } from "../../components/EmptyState.js";
|
|
7
|
+
import "../../context/index.js";
|
|
8
|
+
import { useEcoCreateSpecies as c, useEcoSpecies as l } from "../../hooks/useEcoImpactHubApi.js";
|
|
9
|
+
import { useCursorPager as ee } from "../../hooks/useCursorPager.js";
|
|
10
|
+
import "../../hooks/index.js";
|
|
11
|
+
import { DataTable as te } from "../../components/DataTable.js";
|
|
12
|
+
import { Pagination as ne } from "../../components/Pagination.js";
|
|
13
|
+
import { FilterTabs as u } from "../../components/FilterTabs.js";
|
|
14
|
+
import { useMemo as d, useState as f } from "react";
|
|
15
|
+
import { Plus as p, Rabbit as m, Star as h } from "lucide-react";
|
|
16
|
+
import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
17
|
+
import { Button as y, Input as b, Label as x, ResponsiveDialog as S, ResponsiveDialogContent as C, ResponsiveDialogDescription as w, ResponsiveDialogFooter as re, ResponsiveDialogHeader as ie, ResponsiveDialogTitle as ae, Select as T, SelectContent as E, SelectItem as D, SelectTrigger as O, SelectValue as k, Textarea as A } from "@burdenoff/fe-libs/ui";
|
|
18
|
+
//#region src/ecoimpacthub/pages/species/SpeciesPage.tsx
|
|
19
|
+
var j = [
|
|
20
|
+
"MAMMAL",
|
|
21
|
+
"BIRD",
|
|
22
|
+
"REPTILE",
|
|
23
|
+
"AMPHIBIAN",
|
|
24
|
+
"FISH",
|
|
25
|
+
"INSECT",
|
|
26
|
+
"PLANT",
|
|
27
|
+
"FUNGI",
|
|
28
|
+
"OTHER"
|
|
29
|
+
], M = [
|
|
30
|
+
"LEAST_CONCERN",
|
|
31
|
+
"NEAR_THREATENED",
|
|
32
|
+
"VULNERABLE",
|
|
33
|
+
"ENDANGERED",
|
|
34
|
+
"CRITICALLY_ENDANGERED",
|
|
35
|
+
"EXTINCT_IN_WILD",
|
|
36
|
+
"DATA_DEFICIENT",
|
|
37
|
+
"NOT_EVALUATED"
|
|
38
|
+
], N = [{
|
|
39
|
+
value: "ALL",
|
|
40
|
+
label: "All species"
|
|
41
|
+
}, {
|
|
42
|
+
value: "PRIORITY",
|
|
43
|
+
label: "Priority only"
|
|
44
|
+
}], P = 25, F = {
|
|
45
|
+
commonName: "",
|
|
46
|
+
scientificName: "",
|
|
47
|
+
taxonGroup: "MAMMAL",
|
|
48
|
+
conservationStatus: "NOT_EVALUATED",
|
|
49
|
+
isPriority: !1,
|
|
50
|
+
description: ""
|
|
51
|
+
};
|
|
52
|
+
function I() {
|
|
53
|
+
let { navigateTo: I } = e(), [L, R] = f("ALL"), [z, B] = f("ALL"), [V, H] = f("ALL"), U = ee(), [W, G] = f(!1), [K, q] = f(F), [J, Y] = f(null), { data: X, isLoading: oe, isError: se, refetch: ce } = l({
|
|
54
|
+
taxonGroup: L === "ALL" ? void 0 : L,
|
|
55
|
+
conservationStatus: z === "ALL" ? void 0 : z,
|
|
56
|
+
priorityOnly: V === "PRIORITY" ? !0 : void 0,
|
|
57
|
+
pagination: {
|
|
58
|
+
limit: P,
|
|
59
|
+
cursor: U.cursor
|
|
60
|
+
}
|
|
61
|
+
}), Z = c(), Q = d(() => X?.items ?? [], [X]), le = [
|
|
62
|
+
{
|
|
63
|
+
key: "name",
|
|
64
|
+
header: "Species",
|
|
65
|
+
render: (e) => /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("p", {
|
|
66
|
+
className: "font-semibold text-text-primary",
|
|
67
|
+
children: e.commonName
|
|
68
|
+
}), e.scientificName && /* @__PURE__ */ _("p", {
|
|
69
|
+
className: "text-xs italic text-text-tertiary",
|
|
70
|
+
children: e.scientificName
|
|
71
|
+
})] })
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
key: "taxonGroup",
|
|
75
|
+
header: "Group",
|
|
76
|
+
hideOnMobile: !0,
|
|
77
|
+
render: (e) => /* @__PURE__ */ _("span", {
|
|
78
|
+
className: "text-text-secondary",
|
|
79
|
+
children: n(e.taxonGroup)
|
|
80
|
+
})
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
key: "conservationStatus",
|
|
84
|
+
header: "Conservation",
|
|
85
|
+
render: (e) => /* @__PURE__ */ _(i, { status: e.conservationStatus })
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
key: "priority",
|
|
89
|
+
header: "Priority",
|
|
90
|
+
align: "center",
|
|
91
|
+
render: (e) => e.isPriority ? /* @__PURE__ */ _("span", {
|
|
92
|
+
className: "inline-flex justify-center text-status-warning-text",
|
|
93
|
+
title: "Priority species",
|
|
94
|
+
children: /* @__PURE__ */ _(h, { className: "h-4 w-4 fill-current" })
|
|
95
|
+
}) : null
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
key: "updated",
|
|
99
|
+
header: "Updated",
|
|
100
|
+
align: "right",
|
|
101
|
+
hideOnMobile: !0,
|
|
102
|
+
render: (e) => /* @__PURE__ */ _("span", {
|
|
103
|
+
className: "text-text-tertiary",
|
|
104
|
+
children: r(e.updatedAt)
|
|
105
|
+
})
|
|
106
|
+
}
|
|
107
|
+
], $ = () => {
|
|
108
|
+
q(F), Y(null);
|
|
109
|
+
};
|
|
110
|
+
return /* @__PURE__ */ v(t, {
|
|
111
|
+
title: "Species",
|
|
112
|
+
description: "Tracked taxa — conservation status, priority focus & field observations.",
|
|
113
|
+
actions: /* @__PURE__ */ v(y, {
|
|
114
|
+
onClick: () => G(!0),
|
|
115
|
+
children: [/* @__PURE__ */ _(p, { className: "mr-1.5 h-4 w-4" }), " New species"]
|
|
116
|
+
}),
|
|
117
|
+
children: [
|
|
118
|
+
/* @__PURE__ */ v("div", {
|
|
119
|
+
className: "mb-5 flex flex-wrap items-center gap-3",
|
|
120
|
+
children: [
|
|
121
|
+
/* @__PURE__ */ _(u, {
|
|
122
|
+
options: N,
|
|
123
|
+
value: V,
|
|
124
|
+
onChange: (e) => {
|
|
125
|
+
H(e), U.reset();
|
|
126
|
+
}
|
|
127
|
+
}),
|
|
128
|
+
/* @__PURE__ */ v(T, {
|
|
129
|
+
value: L,
|
|
130
|
+
onValueChange: (e) => {
|
|
131
|
+
R(e), U.reset();
|
|
132
|
+
},
|
|
133
|
+
children: [/* @__PURE__ */ _(O, {
|
|
134
|
+
className: "w-44",
|
|
135
|
+
children: /* @__PURE__ */ _(k, { placeholder: "All groups" })
|
|
136
|
+
}), /* @__PURE__ */ v(E, { children: [/* @__PURE__ */ _(D, {
|
|
137
|
+
value: "ALL",
|
|
138
|
+
children: "All groups"
|
|
139
|
+
}), j.map((e) => /* @__PURE__ */ _(D, {
|
|
140
|
+
value: e,
|
|
141
|
+
children: n(e)
|
|
142
|
+
}, e))] })]
|
|
143
|
+
}),
|
|
144
|
+
/* @__PURE__ */ v(T, {
|
|
145
|
+
value: z,
|
|
146
|
+
onValueChange: (e) => {
|
|
147
|
+
B(e), U.reset();
|
|
148
|
+
},
|
|
149
|
+
children: [/* @__PURE__ */ _(O, {
|
|
150
|
+
className: "w-52",
|
|
151
|
+
children: /* @__PURE__ */ _(k, { placeholder: "All conservation" })
|
|
152
|
+
}), /* @__PURE__ */ v(E, { children: [/* @__PURE__ */ _(D, {
|
|
153
|
+
value: "ALL",
|
|
154
|
+
children: "All conservation"
|
|
155
|
+
}), M.map((e) => /* @__PURE__ */ _(D, {
|
|
156
|
+
value: e,
|
|
157
|
+
children: n(e)
|
|
158
|
+
}, e))] })]
|
|
159
|
+
})
|
|
160
|
+
]
|
|
161
|
+
}),
|
|
162
|
+
oe ? /* @__PURE__ */ _(o, { label: "Loading species…" }) : se ? /* @__PURE__ */ _(a, {
|
|
163
|
+
message: "Couldn't load species.",
|
|
164
|
+
onRetry: () => ce()
|
|
165
|
+
}) : Q.length === 0 ? /* @__PURE__ */ _(s, {
|
|
166
|
+
illustration: "empty-data",
|
|
167
|
+
icon: /* @__PURE__ */ _(m, { className: "h-10 w-10" }),
|
|
168
|
+
title: "No species yet",
|
|
169
|
+
description: L === "ALL" && z === "ALL" && V === "ALL" ? "Register your first species to start logging field observations." : "No species match these filters.",
|
|
170
|
+
action: /* @__PURE__ */ v(y, {
|
|
171
|
+
onClick: () => G(!0),
|
|
172
|
+
children: [/* @__PURE__ */ _(p, { className: "mr-1.5 h-4 w-4" }), " New species"]
|
|
173
|
+
})
|
|
174
|
+
}) : /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(te, {
|
|
175
|
+
columns: le,
|
|
176
|
+
rows: Q,
|
|
177
|
+
rowKey: (e) => e.id,
|
|
178
|
+
onRowClick: (e) => I(`species/${e.id}`)
|
|
179
|
+
}), /* @__PURE__ */ _(ne, {
|
|
180
|
+
page: U.page,
|
|
181
|
+
pageSize: P,
|
|
182
|
+
itemCount: Q.length,
|
|
183
|
+
hasMore: X?.pageInfo?.hasMore ?? !1,
|
|
184
|
+
onPageChange: (e) => U.onPageChange(e, X?.pageInfo?.cursor)
|
|
185
|
+
})] }),
|
|
186
|
+
/* @__PURE__ */ _(S, {
|
|
187
|
+
open: W,
|
|
188
|
+
onOpenChange: (e) => {
|
|
189
|
+
G(e), e || $();
|
|
190
|
+
},
|
|
191
|
+
children: /* @__PURE__ */ v(C, { children: [
|
|
192
|
+
/* @__PURE__ */ v(ie, { children: [/* @__PURE__ */ _(ae, { children: "New species" }), /* @__PURE__ */ _(w, { children: "Register a taxon to track its conservation status and field observations." })] }),
|
|
193
|
+
/* @__PURE__ */ v("div", {
|
|
194
|
+
className: "grid gap-4 py-2",
|
|
195
|
+
children: [
|
|
196
|
+
/* @__PURE__ */ v("div", {
|
|
197
|
+
className: "grid gap-2 sm:grid-cols-2",
|
|
198
|
+
children: [/* @__PURE__ */ v("div", {
|
|
199
|
+
className: "grid gap-1.5",
|
|
200
|
+
children: [/* @__PURE__ */ _(x, {
|
|
201
|
+
htmlFor: "commonName",
|
|
202
|
+
children: "Common name *"
|
|
203
|
+
}), /* @__PURE__ */ _(b, {
|
|
204
|
+
id: "commonName",
|
|
205
|
+
value: K.commonName,
|
|
206
|
+
onChange: (e) => q({
|
|
207
|
+
...K,
|
|
208
|
+
commonName: e.target.value
|
|
209
|
+
}),
|
|
210
|
+
placeholder: "Indian Pangolin"
|
|
211
|
+
})]
|
|
212
|
+
}), /* @__PURE__ */ v("div", {
|
|
213
|
+
className: "grid gap-1.5",
|
|
214
|
+
children: [/* @__PURE__ */ _(x, {
|
|
215
|
+
htmlFor: "scientificName",
|
|
216
|
+
children: "Scientific name"
|
|
217
|
+
}), /* @__PURE__ */ _(b, {
|
|
218
|
+
id: "scientificName",
|
|
219
|
+
value: K.scientificName,
|
|
220
|
+
onChange: (e) => q({
|
|
221
|
+
...K,
|
|
222
|
+
scientificName: e.target.value
|
|
223
|
+
}),
|
|
224
|
+
placeholder: "Manis crassicaudata"
|
|
225
|
+
})]
|
|
226
|
+
})]
|
|
227
|
+
}),
|
|
228
|
+
/* @__PURE__ */ v("div", {
|
|
229
|
+
className: "grid gap-2 sm:grid-cols-2",
|
|
230
|
+
children: [/* @__PURE__ */ v("div", {
|
|
231
|
+
className: "grid gap-1.5",
|
|
232
|
+
children: [/* @__PURE__ */ _(x, {
|
|
233
|
+
htmlFor: "taxonGroup",
|
|
234
|
+
children: "Taxon group"
|
|
235
|
+
}), /* @__PURE__ */ v(T, {
|
|
236
|
+
value: K.taxonGroup,
|
|
237
|
+
onValueChange: (e) => q({
|
|
238
|
+
...K,
|
|
239
|
+
taxonGroup: e
|
|
240
|
+
}),
|
|
241
|
+
children: [/* @__PURE__ */ _(O, {
|
|
242
|
+
id: "taxonGroup",
|
|
243
|
+
children: /* @__PURE__ */ _(k, {})
|
|
244
|
+
}), /* @__PURE__ */ _(E, { children: j.map((e) => /* @__PURE__ */ _(D, {
|
|
245
|
+
value: e,
|
|
246
|
+
children: n(e)
|
|
247
|
+
}, e)) })]
|
|
248
|
+
})]
|
|
249
|
+
}), /* @__PURE__ */ v("div", {
|
|
250
|
+
className: "grid gap-1.5",
|
|
251
|
+
children: [/* @__PURE__ */ _(x, {
|
|
252
|
+
htmlFor: "conservationStatus",
|
|
253
|
+
children: "Conservation status"
|
|
254
|
+
}), /* @__PURE__ */ v(T, {
|
|
255
|
+
value: K.conservationStatus,
|
|
256
|
+
onValueChange: (e) => q({
|
|
257
|
+
...K,
|
|
258
|
+
conservationStatus: e
|
|
259
|
+
}),
|
|
260
|
+
children: [/* @__PURE__ */ _(O, {
|
|
261
|
+
id: "conservationStatus",
|
|
262
|
+
children: /* @__PURE__ */ _(k, {})
|
|
263
|
+
}), /* @__PURE__ */ _(E, { children: M.map((e) => /* @__PURE__ */ _(D, {
|
|
264
|
+
value: e,
|
|
265
|
+
children: n(e)
|
|
266
|
+
}, e)) })]
|
|
267
|
+
})]
|
|
268
|
+
})]
|
|
269
|
+
}),
|
|
270
|
+
/* @__PURE__ */ v("label", {
|
|
271
|
+
className: "flex items-center gap-2 text-sm text-text-primary",
|
|
272
|
+
children: [/* @__PURE__ */ _("input", {
|
|
273
|
+
type: "checkbox",
|
|
274
|
+
checked: K.isPriority,
|
|
275
|
+
onChange: (e) => q({
|
|
276
|
+
...K,
|
|
277
|
+
isPriority: e.target.checked
|
|
278
|
+
}),
|
|
279
|
+
className: "h-4 w-4 rounded border-border-seam accent-action-primary-bg"
|
|
280
|
+
}), "Mark as priority species"]
|
|
281
|
+
}),
|
|
282
|
+
/* @__PURE__ */ v("div", {
|
|
283
|
+
className: "grid gap-1.5",
|
|
284
|
+
children: [/* @__PURE__ */ _(x, {
|
|
285
|
+
htmlFor: "description",
|
|
286
|
+
children: "Description"
|
|
287
|
+
}), /* @__PURE__ */ _(A, {
|
|
288
|
+
id: "description",
|
|
289
|
+
value: K.description,
|
|
290
|
+
onChange: (e) => q({
|
|
291
|
+
...K,
|
|
292
|
+
description: e.target.value
|
|
293
|
+
}),
|
|
294
|
+
placeholder: "Optional notes on habitat, range or identification.",
|
|
295
|
+
rows: 2
|
|
296
|
+
})]
|
|
297
|
+
}),
|
|
298
|
+
J && /* @__PURE__ */ _("p", {
|
|
299
|
+
className: "text-sm text-status-error-text",
|
|
300
|
+
children: J
|
|
301
|
+
})
|
|
302
|
+
]
|
|
303
|
+
}),
|
|
304
|
+
/* @__PURE__ */ v(re, { children: [/* @__PURE__ */ _(y, {
|
|
305
|
+
variant: "outline",
|
|
306
|
+
onClick: () => G(!1),
|
|
307
|
+
children: "Cancel"
|
|
308
|
+
}), /* @__PURE__ */ _(y, {
|
|
309
|
+
onClick: async () => {
|
|
310
|
+
if (!K.commonName.trim()) {
|
|
311
|
+
Y("Common name is required.");
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
try {
|
|
315
|
+
let e = await Z.mutateAsync({
|
|
316
|
+
commonName: K.commonName.trim(),
|
|
317
|
+
scientificName: K.scientificName.trim() || null,
|
|
318
|
+
taxonGroup: K.taxonGroup,
|
|
319
|
+
conservationStatus: K.conservationStatus,
|
|
320
|
+
isPriority: K.isPriority,
|
|
321
|
+
description: K.description.trim() || null
|
|
322
|
+
});
|
|
323
|
+
G(!1), $(), I(`species/${e.id}`);
|
|
324
|
+
} catch (e) {
|
|
325
|
+
Y(e instanceof Error ? e.message : "Failed to create species.");
|
|
326
|
+
}
|
|
327
|
+
},
|
|
328
|
+
disabled: Z.isPending,
|
|
329
|
+
children: Z.isPending ? "Creating…" : "Create species"
|
|
330
|
+
})] })
|
|
331
|
+
] })
|
|
332
|
+
})
|
|
333
|
+
]
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
//#endregion
|
|
337
|
+
export { I as SpeciesPage };
|
|
338
|
+
|
|
339
|
+
//# sourceMappingURL=SpeciesPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpeciesPage.js","names":[],"sources":["../../../../src/ecoimpacthub/pages/species/SpeciesPage.tsx"],"sourcesContent":["/**\n * Species — list, filter, and register tracked taxa.\n * @module ecoimpacthub/pages/species\n *\n * Reads `ecoListSpecies`; writes `ecoCreateSpecies`.\n */\n\nimport { useMemo, useState } from 'react';\nimport { Plus, Rabbit, Star } from 'lucide-react';\nimport {\n Button,\n Input,\n Label,\n Textarea,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n ResponsiveDialog,\n ResponsiveDialogContent,\n ResponsiveDialogHeader,\n ResponsiveDialogTitle,\n ResponsiveDialogDescription,\n ResponsiveDialogFooter,\n} from '@burdenoff/fe-libs/ui';\nimport { PageLayout } from '../../components/PageLayout';\nimport { StatusBadge } from '../../components/StatusBadge';\nimport { DataTable, type Column } from '../../components/DataTable';\nimport { FilterTabs, type FilterOption } from '../../components/FilterTabs';\nimport { LoadingView, ErrorView } from '../../components/StateViews';\nimport { EmptyState } from '../../components/EmptyState';\nimport { Pagination } from '../../components/Pagination';\nimport { useEcoImpactHub } from '../../context';\nimport { useEcoSpecies, useEcoCreateSpecies, useCursorPager } from '../../hooks';\nimport { formatEnumLabel, formatRelativeTime } from '../../utils/formatters';\nimport type { EcoSpecies, EcoTaxonGroup, EcoConservationStatus } from '../../types';\n\nconst TAXON_GROUPS: EcoTaxonGroup[] = [\n 'MAMMAL',\n 'BIRD',\n 'REPTILE',\n 'AMPHIBIAN',\n 'FISH',\n 'INSECT',\n 'PLANT',\n 'FUNGI',\n 'OTHER',\n];\n\nconst CONSERVATION_STATUSES: EcoConservationStatus[] = [\n 'LEAST_CONCERN',\n 'NEAR_THREATENED',\n 'VULNERABLE',\n 'ENDANGERED',\n 'CRITICALLY_ENDANGERED',\n 'EXTINCT_IN_WILD',\n 'DATA_DEFICIENT',\n 'NOT_EVALUATED',\n];\n\nconst PRIORITY_FILTERS: FilterOption<'ALL' | 'PRIORITY'>[] = [\n { value: 'ALL', label: 'All species' },\n { value: 'PRIORITY', label: 'Priority only' },\n];\n\nconst PAGE_SIZE = 25;\n\ninterface CreateFormState {\n commonName: string;\n scientificName: string;\n taxonGroup: EcoTaxonGroup;\n conservationStatus: EcoConservationStatus;\n isPriority: boolean;\n description: string;\n}\n\nconst EMPTY_FORM: CreateFormState = {\n commonName: '',\n scientificName: '',\n taxonGroup: 'MAMMAL',\n conservationStatus: 'NOT_EVALUATED',\n isPriority: false,\n description: '',\n};\n\nexport function SpeciesPage() {\n const { navigateTo } = useEcoImpactHub();\n const [taxonGroup, setTaxonGroup] = useState<EcoTaxonGroup | 'ALL'>('ALL');\n const [conservationStatus, setConservationStatus] = useState<EcoConservationStatus | 'ALL'>(\n 'ALL'\n );\n const [priority, setPriority] = useState<'ALL' | 'PRIORITY'>('ALL');\n const pager = useCursorPager();\n const [dialogOpen, setDialogOpen] = useState(false);\n const [form, setForm] = useState<CreateFormState>(EMPTY_FORM);\n const [formError, setFormError] = useState<string | null>(null);\n\n const { data, isLoading, isError, refetch } = useEcoSpecies({\n taxonGroup: taxonGroup === 'ALL' ? undefined : taxonGroup,\n conservationStatus: conservationStatus === 'ALL' ? undefined : conservationStatus,\n priorityOnly: priority === 'PRIORITY' ? true : undefined,\n pagination: { limit: PAGE_SIZE, cursor: pager.cursor },\n });\n const createSpecies = useEcoCreateSpecies();\n\n const rows = useMemo(() => data?.items ?? [], [data]);\n\n const columns: Column<EcoSpecies>[] = [\n {\n key: 'name',\n header: 'Species',\n render: (s) => (\n <div>\n <p className=\"font-semibold text-text-primary\">{s.commonName}</p>\n {s.scientificName && (\n <p className=\"text-xs italic text-text-tertiary\">{s.scientificName}</p>\n )}\n </div>\n ),\n },\n {\n key: 'taxonGroup',\n header: 'Group',\n hideOnMobile: true,\n render: (s) => <span className=\"text-text-secondary\">{formatEnumLabel(s.taxonGroup)}</span>,\n },\n {\n key: 'conservationStatus',\n header: 'Conservation',\n render: (s) => <StatusBadge status={s.conservationStatus} />,\n },\n {\n key: 'priority',\n header: 'Priority',\n align: 'center',\n render: (s) =>\n s.isPriority ? (\n <span\n className=\"inline-flex justify-center text-status-warning-text\"\n title=\"Priority species\"\n >\n <Star className=\"h-4 w-4 fill-current\" />\n </span>\n ) : null,\n },\n {\n key: 'updated',\n header: 'Updated',\n align: 'right',\n hideOnMobile: true,\n render: (s) => <span className=\"text-text-tertiary\">{formatRelativeTime(s.updatedAt)}</span>,\n },\n ];\n\n const resetForm = () => {\n setForm(EMPTY_FORM);\n setFormError(null);\n };\n\n const handleCreate = async () => {\n if (!form.commonName.trim()) {\n setFormError('Common name is required.');\n return;\n }\n try {\n const created = await createSpecies.mutateAsync({\n commonName: form.commonName.trim(),\n scientificName: form.scientificName.trim() || null,\n taxonGroup: form.taxonGroup,\n conservationStatus: form.conservationStatus,\n isPriority: form.isPriority,\n description: form.description.trim() || null,\n });\n setDialogOpen(false);\n resetForm();\n navigateTo(`species/${created.id}`);\n } catch (err) {\n setFormError(err instanceof Error ? err.message : 'Failed to create species.');\n }\n };\n\n return (\n <PageLayout\n title=\"Species\"\n description=\"Tracked taxa — conservation status, priority focus & field observations.\"\n actions={\n <Button onClick={() => setDialogOpen(true)}>\n <Plus className=\"mr-1.5 h-4 w-4\" /> New species\n </Button>\n }\n >\n <div className=\"mb-5 flex flex-wrap items-center gap-3\">\n <FilterTabs\n options={PRIORITY_FILTERS}\n value={priority}\n onChange={(v) => {\n setPriority(v);\n pager.reset();\n }}\n />\n <Select\n value={taxonGroup}\n onValueChange={(v) => {\n setTaxonGroup(v as EcoTaxonGroup | 'ALL');\n pager.reset();\n }}\n >\n <SelectTrigger className=\"w-44\">\n <SelectValue placeholder=\"All groups\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"ALL\">All groups</SelectItem>\n {TAXON_GROUPS.map((t) => (\n <SelectItem key={t} value={t}>\n {formatEnumLabel(t)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <Select\n value={conservationStatus}\n onValueChange={(v) => {\n setConservationStatus(v as EcoConservationStatus | 'ALL');\n pager.reset();\n }}\n >\n <SelectTrigger className=\"w-52\">\n <SelectValue placeholder=\"All conservation\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"ALL\">All conservation</SelectItem>\n {CONSERVATION_STATUSES.map((c) => (\n <SelectItem key={c} value={c}>\n {formatEnumLabel(c)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n\n {isLoading ? (\n <LoadingView label=\"Loading species…\" />\n ) : isError ? (\n <ErrorView message=\"Couldn't load species.\" onRetry={() => refetch()} />\n ) : rows.length === 0 ? (\n <EmptyState\n illustration=\"empty-data\"\n icon={<Rabbit className=\"h-10 w-10\" />}\n title=\"No species yet\"\n description={\n taxonGroup === 'ALL' && conservationStatus === 'ALL' && priority === 'ALL'\n ? 'Register your first species to start logging field observations.'\n : 'No species match these filters.'\n }\n action={\n <Button onClick={() => setDialogOpen(true)}>\n <Plus className=\"mr-1.5 h-4 w-4\" /> New species\n </Button>\n }\n />\n ) : (\n <>\n <DataTable\n columns={columns}\n rows={rows}\n rowKey={(s) => s.id}\n onRowClick={(s) => navigateTo(`species/${s.id}`)}\n />\n <Pagination\n page={pager.page}\n pageSize={PAGE_SIZE}\n itemCount={rows.length}\n hasMore={data?.pageInfo?.hasMore ?? false}\n onPageChange={(target) => pager.onPageChange(target, data?.pageInfo?.cursor)}\n />\n </>\n )}\n\n <ResponsiveDialog\n open={dialogOpen}\n onOpenChange={(open) => {\n setDialogOpen(open);\n if (!open) resetForm();\n }}\n >\n <ResponsiveDialogContent>\n <ResponsiveDialogHeader>\n <ResponsiveDialogTitle>New species</ResponsiveDialogTitle>\n <ResponsiveDialogDescription>\n Register a taxon to track its conservation status and field observations.\n </ResponsiveDialogDescription>\n </ResponsiveDialogHeader>\n\n <div className=\"grid gap-4 py-2\">\n <div className=\"grid gap-2 sm:grid-cols-2\">\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"commonName\">Common name *</Label>\n <Input\n id=\"commonName\"\n value={form.commonName}\n onChange={(e) => setForm({ ...form, commonName: e.target.value })}\n placeholder=\"Indian Pangolin\"\n />\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"scientificName\">Scientific name</Label>\n <Input\n id=\"scientificName\"\n value={form.scientificName}\n onChange={(e) => setForm({ ...form, scientificName: e.target.value })}\n placeholder=\"Manis crassicaudata\"\n />\n </div>\n </div>\n\n <div className=\"grid gap-2 sm:grid-cols-2\">\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"taxonGroup\">Taxon group</Label>\n <Select\n value={form.taxonGroup}\n onValueChange={(v) => setForm({ ...form, taxonGroup: v as EcoTaxonGroup })}\n >\n <SelectTrigger id=\"taxonGroup\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {TAXON_GROUPS.map((t) => (\n <SelectItem key={t} value={t}>\n {formatEnumLabel(t)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"conservationStatus\">Conservation status</Label>\n <Select\n value={form.conservationStatus}\n onValueChange={(v) =>\n setForm({ ...form, conservationStatus: v as EcoConservationStatus })\n }\n >\n <SelectTrigger id=\"conservationStatus\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {CONSERVATION_STATUSES.map((c) => (\n <SelectItem key={c} value={c}>\n {formatEnumLabel(c)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </div>\n\n <label className=\"flex items-center gap-2 text-sm text-text-primary\">\n <input\n type=\"checkbox\"\n checked={form.isPriority}\n onChange={(e) => setForm({ ...form, isPriority: e.target.checked })}\n className=\"h-4 w-4 rounded border-border-seam accent-action-primary-bg\"\n />\n Mark as priority species\n </label>\n\n <div className=\"grid gap-1.5\">\n <Label htmlFor=\"description\">Description</Label>\n <Textarea\n id=\"description\"\n value={form.description}\n onChange={(e) => setForm({ ...form, description: e.target.value })}\n placeholder=\"Optional notes on habitat, range or identification.\"\n rows={2}\n />\n </div>\n\n {formError && <p className=\"text-sm text-status-error-text\">{formError}</p>}\n </div>\n\n <ResponsiveDialogFooter>\n <Button variant=\"outline\" onClick={() => setDialogOpen(false)}>\n Cancel\n </Button>\n <Button onClick={handleCreate} disabled={createSpecies.isPending}>\n {createSpecies.isPending ? 'Creating…' : 'Create species'}\n </Button>\n </ResponsiveDialogFooter>\n </ResponsiveDialogContent>\n </ResponsiveDialog>\n </PageLayout>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import e from "../../node_modules/clsx/dist/clsx.js";
|
|
2
|
+
import { twMerge as t } from "../../node_modules/tailwind-merge/dist/bundle-mjs.js";
|
|
3
|
+
//#region src/ecoimpacthub/utils/cn.ts
|
|
4
|
+
function n(...n) {
|
|
5
|
+
return t(e(n));
|
|
6
|
+
}
|
|
7
|
+
//#endregion
|
|
8
|
+
export { n as cn };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=cn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cn.js","names":[],"sources":["../../../src/ecoimpacthub/utils/cn.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;;AAGA,SAAgB,EAAG,GAAG,GAAsB;AAC1C,QAAO,EAAQ,EAAK,EAAO,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
//#region src/ecoimpacthub/utils/formatters.ts
|
|
2
|
+
function e(e, t) {
|
|
3
|
+
if (!e) return "—";
|
|
4
|
+
let n = typeof e == "string" ? new Date(e) : e;
|
|
5
|
+
return Number.isNaN(n.getTime()) ? "—" : new Intl.DateTimeFormat(void 0, {
|
|
6
|
+
day: "numeric",
|
|
7
|
+
month: "short",
|
|
8
|
+
year: "numeric",
|
|
9
|
+
...t
|
|
10
|
+
}).format(n);
|
|
11
|
+
}
|
|
12
|
+
function t(e, t) {
|
|
13
|
+
if (!e) return "—";
|
|
14
|
+
let n = typeof e == "string" ? new Date(e) : e;
|
|
15
|
+
return Number.isNaN(n.getTime()) ? "—" : new Intl.DateTimeFormat(void 0, {
|
|
16
|
+
day: "numeric",
|
|
17
|
+
month: "short",
|
|
18
|
+
year: "numeric",
|
|
19
|
+
hour: "numeric",
|
|
20
|
+
minute: "2-digit",
|
|
21
|
+
...t
|
|
22
|
+
}).format(n);
|
|
23
|
+
}
|
|
24
|
+
function n(e) {
|
|
25
|
+
if (!e) return "—";
|
|
26
|
+
let t = typeof e == "string" ? new Date(e) : e;
|
|
27
|
+
if (Number.isNaN(t.getTime())) return "—";
|
|
28
|
+
let n = /* @__PURE__ */ new Date(), r = t.getTime() - n.getTime(), i = r >= 0, a = Math.floor(Math.abs(r) / 1e3), o = Math.floor(a / 60), s = Math.floor(o / 60), c = Math.floor(s / 24), l = Math.floor(c / 7), u = Math.floor(c / 30), d = Math.floor(c / 365), f = (e, t) => {
|
|
29
|
+
let n = `${e} ${t}${e === 1 ? "" : "s"}`;
|
|
30
|
+
return i ? `in ${n}` : `${n} ago`;
|
|
31
|
+
};
|
|
32
|
+
return a < 60 ? i ? "soon" : "just now" : o < 60 ? f(o, "min") : s < 24 ? f(s, "hour") : c < 7 ? f(c, "day") : l < 4 ? f(l, "week") : u < 12 ? f(u, "month") : f(d, "year");
|
|
33
|
+
}
|
|
34
|
+
function r(e, t) {
|
|
35
|
+
return e == null || Number.isNaN(e) ? "—" : new Intl.NumberFormat(void 0, t).format(e);
|
|
36
|
+
}
|
|
37
|
+
function i(e, t) {
|
|
38
|
+
if (e == null || Number.isNaN(e)) return "—";
|
|
39
|
+
let n = r(e, { maximumFractionDigits: 2 });
|
|
40
|
+
return t ? `${n} ${t}` : n;
|
|
41
|
+
}
|
|
42
|
+
function a(e, t = 0) {
|
|
43
|
+
return e == null || Number.isNaN(e) ? "—" : `${e.toFixed(t)}%`;
|
|
44
|
+
}
|
|
45
|
+
function o(e) {
|
|
46
|
+
return e == null || Number.isNaN(e) ? "—" : Math.abs(e) >= 1e3 ? `${r(e / 1e3, { maximumFractionDigits: 2 })} t CO₂e` : `${r(e, { maximumFractionDigits: 1 })} kg CO₂e`;
|
|
47
|
+
}
|
|
48
|
+
function s(e, t) {
|
|
49
|
+
return e == null || t == null ? "—" : `${e.toFixed(4)}, ${t.toFixed(4)}`;
|
|
50
|
+
}
|
|
51
|
+
function c(e) {
|
|
52
|
+
return e ? e.toLowerCase().replace(/_/g, " ").replace(/\b\w/g, (e) => e.toUpperCase()) : "—";
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
export { o as formatCo2e, s as formatCoords, e as formatDate, t as formatDateTime, c as formatEnumLabel, r as formatNumber, a as formatPercent, i as formatQuantity, n as formatRelativeTime };
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=formatters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatters.js","names":[],"sources":["../../../src/ecoimpacthub/utils/formatters.ts"],"sourcesContent":["/**\n * Formatting utilities for the EcoImpactHub microfrontend\n * @module ecoimpacthub/utils/formatters\n */\n\n/** Format a date string or Date into a human-readable date. */\nexport function formatDate(\n date: string | Date | null | undefined,\n options?: Partial<Intl.DateTimeFormatOptions>\n): string {\n if (!date) return '—';\n const d = typeof date === 'string' ? new Date(date) : date;\n if (Number.isNaN(d.getTime())) return '—';\n return new Intl.DateTimeFormat(undefined, {\n day: 'numeric',\n month: 'short',\n year: 'numeric',\n ...options,\n }).format(d);\n}\n\n/** Format a date-time into a date + time string. */\nexport function formatDateTime(\n date: string | Date | null | undefined,\n options?: Partial<Intl.DateTimeFormatOptions>\n): string {\n if (!date) return '—';\n const d = typeof date === 'string' ? new Date(date) : date;\n if (Number.isNaN(d.getTime())) return '—';\n return new Intl.DateTimeFormat(undefined, {\n day: 'numeric',\n month: 'short',\n year: 'numeric',\n hour: 'numeric',\n minute: '2-digit',\n ...options,\n }).format(d);\n}\n\n/** Format a date into a relative time string (e.g. \"2 hours ago\", \"in 3 days\"). */\nexport function formatRelativeTime(date: string | Date | null | undefined): string {\n if (!date) return '—';\n const d = typeof date === 'string' ? new Date(date) : date;\n if (Number.isNaN(d.getTime())) return '—';\n\n const now = new Date();\n const diffMs = d.getTime() - now.getTime();\n const future = diffMs >= 0;\n const absSeconds = Math.floor(Math.abs(diffMs) / 1000);\n const minutes = Math.floor(absSeconds / 60);\n const hours = Math.floor(minutes / 60);\n const days = Math.floor(hours / 24);\n const weeks = Math.floor(days / 7);\n const months = Math.floor(days / 30);\n const years = Math.floor(days / 365);\n\n const phrase = (value: number, unit: string): string => {\n const label = `${value} ${unit}${value !== 1 ? 's' : ''}`;\n return future ? `in ${label}` : `${label} ago`;\n };\n\n if (absSeconds < 60) return future ? 'soon' : 'just now';\n if (minutes < 60) return phrase(minutes, 'min');\n if (hours < 24) return phrase(hours, 'hour');\n if (days < 7) return phrase(days, 'day');\n if (weeks < 4) return phrase(weeks, 'week');\n if (months < 12) return phrase(months, 'month');\n return phrase(years, 'year');\n}\n\n/** Format a number with locale grouping. */\nexport function formatNumber(\n value: number | null | undefined,\n options?: Partial<Intl.NumberFormatOptions>\n): string {\n if (value == null || Number.isNaN(value)) return '—';\n return new Intl.NumberFormat(undefined, options).format(value);\n}\n\n/** Format a quantity with an optional unit suffix (e.g. \"1,200 kg\"). */\nexport function formatQuantity(value: number | null | undefined, unit?: string | null): string {\n if (value == null || Number.isNaN(value)) return '—';\n const num = formatNumber(value, { maximumFractionDigits: 2 });\n return unit ? `${num} ${unit}` : num;\n}\n\n/** Format a percentage (0–100) into a rounded \"%\" string. */\nexport function formatPercent(value: number | null | undefined, fractionDigits = 0): string {\n if (value == null || Number.isNaN(value)) return '—';\n return `${value.toFixed(fractionDigits)}%`;\n}\n\n/**\n * Format a mass of CO2e (kg) into a compact, human-scaled string:\n * < 1,000 kg → \"kg CO₂e\"; ≥ 1,000 kg → \"t CO₂e\" (tonnes).\n */\nexport function formatCo2e(kg: number | null | undefined): string {\n if (kg == null || Number.isNaN(kg)) return '—';\n if (Math.abs(kg) >= 1000) {\n return `${formatNumber(kg / 1000, { maximumFractionDigits: 2 })} t CO₂e`;\n }\n return `${formatNumber(kg, { maximumFractionDigits: 1 })} kg CO₂e`;\n}\n\n/** Format coordinates into a compact \"lat, lng\" string. */\nexport function formatCoords(\n lat: number | null | undefined,\n lng: number | null | undefined\n): string {\n if (lat == null || lng == null) return '—';\n return `${lat.toFixed(4)}, ${lng.toFixed(4)}`;\n}\n\n/** Turn an ENUM_LIKE_TOKEN into a human \"Enum Like Token\" label. */\nexport function formatEnumLabel(value: string | null | undefined): string {\n if (!value) return '—';\n return value\n .toLowerCase()\n .replace(/_/g, ' ')\n .replace(/\\b\\w/g, (char) => char.toUpperCase());\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
//#region src/ecoimpacthub/utils/navigation.ts
|
|
2
2
|
function e(e, t) {
|
|
3
|
-
|
|
3
|
+
let n = e.endsWith("/") ? e.slice(0, -1) : e;
|
|
4
|
+
return !t || t === "" ? n || "/" : n + (t.startsWith("/") ? t : `/${t}`);
|
|
4
5
|
}
|
|
5
6
|
//#endregion
|
|
6
7
|
export { e as joinPath };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","names":[],"sources":["../../../src/ecoimpacthub/utils/navigation.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"navigation.js","names":[],"sources":["../../../src/ecoimpacthub/utils/navigation.ts"],"sourcesContent":["/**\n * Navigation utilities for the EcoImpactHub microfrontend\n * @module ecoimpacthub/utils\n */\n\n/**\n * Join basePath with a relative path, correctly handling slashes.\n *\n * @example\n * joinPath('/ecoimpacthub', 'sites') // => '/ecoimpacthub/sites'\n * joinPath('/ecoimpacthub/', 'sites') // => '/ecoimpacthub/sites'\n * joinPath('/ecoimpacthub', '') // => '/ecoimpacthub'\n */\nexport function joinPath(basePath: string, relativePath: string): string {\n const cleanBase = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;\n if (!relativePath || relativePath === '') {\n return cleanBase || '/';\n }\n const cleanPath = relativePath.startsWith('/') ? relativePath : `/${relativePath}`;\n return cleanBase + cleanPath;\n}\n"],"mappings":";AAaA,SAAgB,EAAS,GAAkB,GAA8B;CACvE,IAAM,IAAY,EAAS,SAAS,IAAI,GAAG,EAAS,MAAM,GAAG,GAAG,GAAG;AAKnE,QAJI,CAAC,KAAgB,MAAiB,KAC7B,KAAa,MAGf,KADW,EAAa,WAAW,IAAI,GAAG,IAAe,IAAI"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { joinPath as e } from "./ecoimpacthub/utils/navigation.js";
|
|
2
|
+
import { EcoImpactHubProvider as t, useEcoImpactHub as n } from "./ecoimpacthub/context/EcoImpactHubContext.js";
|
|
3
|
+
import { cn as r } from "./ecoimpacthub/utils/cn.js";
|
|
4
|
+
import { formatCo2e as i, formatCoords as a, formatDate as o, formatDateTime as s, formatEnumLabel as c, formatNumber as l, formatPercent as u, formatQuantity as d, formatRelativeTime as f } from "./ecoimpacthub/utils/formatters.js";
|
|
5
|
+
import { EcoImpactHubRoot as p } from "./ecoimpacthub/EcoImpactHubRoot.js";
|
|
4
6
|
import "./ecoimpacthub/index.js";
|
|
5
|
-
export {
|
|
7
|
+
export { t as EcoImpactHubProvider, p as EcoImpactHubRoot, r as cn, i as formatCo2e, a as formatCoords, o as formatDate, s as formatDateTime, c as formatEnumLabel, l as formatNumber, u as formatPercent, d as formatQuantity, f as formatRelativeTime, e as joinPath, n as useEcoImpactHub };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region node_modules/clsx/dist/clsx.mjs
|
|
2
|
+
function e(t) {
|
|
3
|
+
var n, r, i = "";
|
|
4
|
+
if (typeof t == "string" || typeof t == "number") i += t;
|
|
5
|
+
else if (typeof t == "object") if (Array.isArray(t)) {
|
|
6
|
+
var a = t.length;
|
|
7
|
+
for (n = 0; n < a; n++) t[n] && (r = e(t[n])) && (i && (i += " "), i += r);
|
|
8
|
+
} else for (r in t) t[r] && (i && (i += " "), i += r);
|
|
9
|
+
return i;
|
|
10
|
+
}
|
|
11
|
+
function t() {
|
|
12
|
+
for (var t, n, r = 0, i = "", a = arguments.length; r < a; r++) (t = arguments[r]) && (n = e(t)) && (i && (i += " "), i += n);
|
|
13
|
+
return i;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { t as default };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=clsx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clsx.js","names":[],"sources":["../../../../node_modules/clsx/dist/clsx.mjs"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;"],"x_google_ignoreList":[0],"mappings":";AAAA,SAAS,EAAE,GAAE;CAAC,IAAI,GAAE,GAAE,IAAE;AAAG,KAAa,OAAO,KAAjB,YAA8B,OAAO,KAAjB,SAAmB,MAAG;UAAoB,OAAO,KAAjB,SAAmB,KAAG,MAAM,QAAQ,EAAE,EAAC;EAAC,IAAI,IAAE,EAAE;AAAO,OAAI,IAAE,GAAE,IAAE,GAAE,IAAI,GAAE,OAAK,IAAE,EAAE,EAAE,GAAG,MAAI,MAAI,KAAG,MAAK,KAAG;OAAQ,MAAI,KAAK,EAAE,GAAE,OAAK,MAAI,KAAG,MAAK,KAAG;AAAG,QAAO;;AAAE,SAAgB,IAAM;AAAC,MAAI,IAAI,GAAE,GAAE,IAAE,GAAE,IAAE,IAAG,IAAE,UAAU,QAAO,IAAE,GAAE,IAAI,EAAC,IAAE,UAAU,QAAM,IAAE,EAAE,EAAE,MAAI,MAAI,KAAG,MAAK,KAAG;AAAG,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ascending.js","names":[],"sources":["../../../../node_modules/d3-array/src/ascending.js"],"sourcesContent":["export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n"],"x_google_ignoreList":[0],"mappings":";AAAA,SAAwB,EAAU,GAAG,GAAG;AACtC,QAAO,KAAK,QAAQ,KAAK,OAAO,MAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import e from "./ascending.js";
|
|
2
|
+
import t from "./bisector.js";
|
|
3
|
+
import n from "./number.js";
|
|
4
|
+
//#region node_modules/d3-array/src/bisect.js
|
|
5
|
+
var r = t(e), i = r.right;
|
|
6
|
+
r.left, t(n).center;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { i as default };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=bisect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bisect.js","names":[],"sources":["../../../../node_modules/d3-array/src/bisect.js"],"sourcesContent":["import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n"],"x_google_ignoreList":[0],"mappings":";;;;AAIA,IAAM,IAAkB,EAAS,EAAU,EAC9B,IAAc,EAAgB;AACjB,EAAgB,MACd,EAAS,EAAO,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import e from "./ascending.js";
|
|
2
|
+
import t from "./descending.js";
|
|
3
|
+
//#region node_modules/d3-array/src/bisector.js
|
|
4
|
+
function n(n) {
|
|
5
|
+
let i, a, o;
|
|
6
|
+
n.length === 2 ? (i = n === e || n === t ? n : r, a = n, o = n) : (i = e, a = (t, r) => e(n(t), r), o = (e, t) => n(e) - t);
|
|
7
|
+
function s(e, t, n = 0, r = e.length) {
|
|
8
|
+
if (n < r) {
|
|
9
|
+
if (i(t, t) !== 0) return r;
|
|
10
|
+
do {
|
|
11
|
+
let i = n + r >>> 1;
|
|
12
|
+
a(e[i], t) < 0 ? n = i + 1 : r = i;
|
|
13
|
+
} while (n < r);
|
|
14
|
+
}
|
|
15
|
+
return n;
|
|
16
|
+
}
|
|
17
|
+
function c(e, t, n = 0, r = e.length) {
|
|
18
|
+
if (n < r) {
|
|
19
|
+
if (i(t, t) !== 0) return r;
|
|
20
|
+
do {
|
|
21
|
+
let i = n + r >>> 1;
|
|
22
|
+
a(e[i], t) <= 0 ? n = i + 1 : r = i;
|
|
23
|
+
} while (n < r);
|
|
24
|
+
}
|
|
25
|
+
return n;
|
|
26
|
+
}
|
|
27
|
+
function l(e, t, n = 0, r = e.length) {
|
|
28
|
+
let i = s(e, t, n, r - 1);
|
|
29
|
+
return i > n && o(e[i - 1], t) > -o(e[i], t) ? i - 1 : i;
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
left: s,
|
|
33
|
+
center: l,
|
|
34
|
+
right: c
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function r() {
|
|
38
|
+
return 0;
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
export { n as default };
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=bisector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bisector.js","names":[],"sources":["../../../../node_modules/d3-array/src/bisector.js"],"sourcesContent":["import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n"],"x_google_ignoreList":[0],"mappings":";;;AAGA,SAAwB,EAAS,GAAG;CAClC,IAAI,GAAU,GAAU;AAOxB,CAAI,EAAE,WAAW,KAKf,IAAW,MAAM,KAAa,MAAM,IAAa,IAAI,GACrD,IAAW,GACX,IAAQ,MANR,IAAW,GACX,KAAY,GAAG,MAAM,EAAU,EAAE,EAAE,EAAE,EAAE,EACvC,KAAS,GAAG,MAAM,EAAE,EAAE,GAAG;CAO3B,SAAS,EAAK,GAAG,GAAG,IAAK,GAAG,IAAK,EAAE,QAAQ;AACzC,MAAI,IAAK,GAAI;AACX,OAAI,EAAS,GAAG,EAAE,KAAK,EAAG,QAAO;AACjC,MAAG;IACD,IAAM,IAAO,IAAK,MAAQ;AAC1B,IAAI,EAAS,EAAE,IAAM,EAAE,GAAG,IAAG,IAAK,IAAM,IACnC,IAAK;YACH,IAAK;;AAEhB,SAAO;;CAGT,SAAS,EAAM,GAAG,GAAG,IAAK,GAAG,IAAK,EAAE,QAAQ;AAC1C,MAAI,IAAK,GAAI;AACX,OAAI,EAAS,GAAG,EAAE,KAAK,EAAG,QAAO;AACjC,MAAG;IACD,IAAM,IAAO,IAAK,MAAQ;AAC1B,IAAI,EAAS,EAAE,IAAM,EAAE,IAAI,IAAG,IAAK,IAAM,IACpC,IAAK;YACH,IAAK;;AAEhB,SAAO;;CAGT,SAAS,EAAO,GAAG,GAAG,IAAK,GAAG,IAAK,EAAE,QAAQ;EAC3C,IAAM,IAAI,EAAK,GAAG,GAAG,GAAI,IAAK,EAAE;AAChC,SAAO,IAAI,KAAM,EAAM,EAAE,IAAI,IAAI,EAAE,GAAG,CAAC,EAAM,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI;;AAGlE,QAAO;EAAC;EAAM;EAAQ;EAAM;;AAG9B,SAAS,IAAO;AACd,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descending.js","names":[],"sources":["../../../../node_modules/d3-array/src/descending.js"],"sourcesContent":["export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n"],"x_google_ignoreList":[0],"mappings":";AAAA,SAAwB,EAAW,GAAG,GAAG;AACvC,QAAO,KAAK,QAAQ,KAAK,OAAO,MAC5B,IAAI,IAAI,KACR,IAAI,IAAI,IACR,KAAK,IAAI,IACT"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region node_modules/d3-array/src/max.js
|
|
2
|
+
function e(e, t) {
|
|
3
|
+
let n;
|
|
4
|
+
if (t === void 0) for (let t of e) t != null && (n < t || n === void 0 && t >= t) && (n = t);
|
|
5
|
+
else {
|
|
6
|
+
let r = -1;
|
|
7
|
+
for (let i of e) (i = t(i, ++r, e)) != null && (n < i || n === void 0 && i >= i) && (n = i);
|
|
8
|
+
}
|
|
9
|
+
return n;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { e as default };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=max.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"max.js","names":[],"sources":["../../../../node_modules/d3-array/src/max.js"],"sourcesContent":["export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n"],"x_google_ignoreList":[0],"mappings":";AAAA,SAAwB,EAAI,GAAQ,GAAS;CAC3C,IAAI;AACJ,KAAI,MAAY,KAAA,QACT,IAAM,KAAS,EAClB,CAAI,KAAS,SACL,IAAM,KAAU,MAAQ,KAAA,KAAa,KAAS,OACpD,IAAM;MAGL;EACL,IAAI,IAAQ;AACZ,OAAK,IAAI,KAAS,EAChB,EAAK,IAAQ,EAAQ,GAAO,EAAE,GAAO,EAAO,KAAK,SACzC,IAAM,KAAU,MAAQ,KAAA,KAAa,KAAS,OACpD,IAAM;;AAIZ,QAAO"}
|