@burdenoff/microfe-ecoimpacthub 2026.525.1 → 2026.704.1

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.
Files changed (871) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +20 -0
  2. package/dist/ecoimpacthub/EcoImpactHubRoot.js +99 -110
  3. package/dist/ecoimpacthub/EcoImpactHubRoot.js.map +1 -1
  4. package/dist/ecoimpacthub/EcoImpactHubRoutes.js +74 -49
  5. package/dist/ecoimpacthub/EcoImpactHubRoutes.js.map +1 -1
  6. package/dist/ecoimpacthub/components/DataTable.js +71 -0
  7. package/dist/ecoimpacthub/components/DataTable.js.map +1 -0
  8. package/dist/ecoimpacthub/components/EmptyState.js +35 -0
  9. package/dist/ecoimpacthub/components/EmptyState.js.map +1 -0
  10. package/dist/ecoimpacthub/components/FilterTabs.js +27 -0
  11. package/dist/ecoimpacthub/components/FilterTabs.js.map +1 -0
  12. package/dist/ecoimpacthub/components/MetricsCard.js +64 -0
  13. package/dist/ecoimpacthub/components/MetricsCard.js.map +1 -0
  14. package/dist/ecoimpacthub/components/MiniBar.js +22 -0
  15. package/dist/ecoimpacthub/components/MiniBar.js.map +1 -0
  16. package/dist/ecoimpacthub/components/PageLayout.js +38 -0
  17. package/dist/ecoimpacthub/components/PageLayout.js.map +1 -0
  18. package/dist/ecoimpacthub/components/Pagination.js +50 -0
  19. package/dist/ecoimpacthub/components/Pagination.js.map +1 -0
  20. package/dist/ecoimpacthub/components/StateViews.js +49 -0
  21. package/dist/ecoimpacthub/components/StateViews.js.map +1 -0
  22. package/dist/ecoimpacthub/components/StatusBadge.js +77 -0
  23. package/dist/ecoimpacthub/components/StatusBadge.js.map +1 -0
  24. package/dist/ecoimpacthub/components/Tabs.js +31 -0
  25. package/dist/ecoimpacthub/components/Tabs.js.map +1 -0
  26. package/dist/ecoimpacthub/context/EcoImpactHubContext.js +85 -0
  27. package/dist/ecoimpacthub/context/EcoImpactHubContext.js.map +1 -0
  28. package/dist/ecoimpacthub/context/index.js +1 -0
  29. package/dist/ecoimpacthub/hooks/index.js +2 -0
  30. package/dist/ecoimpacthub/hooks/useCursorPager.js +25 -0
  31. package/dist/ecoimpacthub/hooks/useCursorPager.js.map +1 -0
  32. package/dist/ecoimpacthub/hooks/useEcoImpactHubApi.js +450 -0
  33. package/dist/ecoimpacthub/hooks/useEcoImpactHubApi.js.map +1 -0
  34. package/dist/ecoimpacthub/index.js +5 -2
  35. package/dist/ecoimpacthub/pages/DashboardPage.js +353 -359
  36. package/dist/ecoimpacthub/pages/DashboardPage.js.map +1 -1
  37. package/dist/ecoimpacthub/pages/carbon/CarbonPage.js +1052 -0
  38. package/dist/ecoimpacthub/pages/carbon/CarbonPage.js.map +1 -0
  39. package/dist/ecoimpacthub/pages/habitat/HabitatProjectDetailPage.js +403 -0
  40. package/dist/ecoimpacthub/pages/habitat/HabitatProjectDetailPage.js.map +1 -0
  41. package/dist/ecoimpacthub/pages/habitat/HabitatProjectsPage.js +361 -0
  42. package/dist/ecoimpacthub/pages/habitat/HabitatProjectsPage.js.map +1 -0
  43. package/dist/ecoimpacthub/pages/monitoring/MonitoringPage.js +874 -0
  44. package/dist/ecoimpacthub/pages/monitoring/MonitoringPage.js.map +1 -0
  45. package/dist/ecoimpacthub/pages/observations/ObservationsPage.js +424 -0
  46. package/dist/ecoimpacthub/pages/observations/ObservationsPage.js.map +1 -0
  47. package/dist/ecoimpacthub/pages/reports/ReportDetailPage.js +324 -0
  48. package/dist/ecoimpacthub/pages/reports/ReportDetailPage.js.map +1 -0
  49. package/dist/ecoimpacthub/pages/reports/ReportsPage.js +295 -0
  50. package/dist/ecoimpacthub/pages/reports/ReportsPage.js.map +1 -0
  51. package/dist/ecoimpacthub/pages/sites/SiteDetailPage.js +772 -0
  52. package/dist/ecoimpacthub/pages/sites/SiteDetailPage.js.map +1 -0
  53. package/dist/ecoimpacthub/pages/sites/SitesPage.js +394 -0
  54. package/dist/ecoimpacthub/pages/sites/SitesPage.js.map +1 -0
  55. package/dist/ecoimpacthub/pages/species/SpeciesDetailPage.js +543 -0
  56. package/dist/ecoimpacthub/pages/species/SpeciesDetailPage.js.map +1 -0
  57. package/dist/ecoimpacthub/pages/species/SpeciesPage.js +339 -0
  58. package/dist/ecoimpacthub/pages/species/SpeciesPage.js.map +1 -0
  59. package/dist/ecoimpacthub/utils/cn.js +10 -0
  60. package/dist/ecoimpacthub/utils/cn.js.map +1 -0
  61. package/dist/ecoimpacthub/utils/formatters.js +57 -0
  62. package/dist/ecoimpacthub/utils/formatters.js.map +1 -0
  63. package/dist/ecoimpacthub/utils/navigation.js +2 -1
  64. package/dist/ecoimpacthub/utils/navigation.js.map +1 -1
  65. package/dist/index.js +6 -4
  66. package/dist/node_modules/clsx/dist/clsx.js +18 -0
  67. package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
  68. package/dist/node_modules/d3-array/src/ascending.js +8 -0
  69. package/dist/node_modules/d3-array/src/ascending.js.map +1 -0
  70. package/dist/node_modules/d3-array/src/bisect.js +10 -0
  71. package/dist/node_modules/d3-array/src/bisect.js.map +1 -0
  72. package/dist/node_modules/d3-array/src/bisector.js +43 -0
  73. package/dist/node_modules/d3-array/src/bisector.js.map +1 -0
  74. package/dist/node_modules/d3-array/src/descending.js +8 -0
  75. package/dist/node_modules/d3-array/src/descending.js.map +1 -0
  76. package/dist/node_modules/d3-array/src/max.js +14 -0
  77. package/dist/node_modules/d3-array/src/max.js.map +1 -0
  78. package/dist/node_modules/d3-array/src/min.js +14 -0
  79. package/dist/node_modules/d3-array/src/min.js.map +1 -0
  80. package/dist/node_modules/d3-array/src/number.js +15 -0
  81. package/dist/node_modules/d3-array/src/number.js.map +1 -0
  82. package/dist/node_modules/d3-array/src/quantile.js +25 -0
  83. package/dist/node_modules/d3-array/src/quantile.js.map +1 -0
  84. package/dist/node_modules/d3-array/src/quickselect.js +26 -0
  85. package/dist/node_modules/d3-array/src/quickselect.js.map +1 -0
  86. package/dist/node_modules/d3-array/src/range.js +10 -0
  87. package/dist/node_modules/d3-array/src/range.js.map +1 -0
  88. package/dist/node_modules/d3-array/src/sort.js +17 -0
  89. package/dist/node_modules/d3-array/src/sort.js.map +1 -0
  90. package/dist/node_modules/d3-array/src/ticks.js +34 -0
  91. package/dist/node_modules/d3-array/src/ticks.js.map +1 -0
  92. package/dist/node_modules/d3-color/src/color.js +291 -0
  93. package/dist/node_modules/d3-color/src/color.js.map +1 -0
  94. package/dist/node_modules/d3-color/src/define.js +13 -0
  95. package/dist/node_modules/d3-color/src/define.js.map +1 -0
  96. package/dist/node_modules/d3-format/src/defaultLocale.js +15 -0
  97. package/dist/node_modules/d3-format/src/defaultLocale.js.map +1 -0
  98. package/dist/node_modules/d3-format/src/exponent.js +9 -0
  99. package/dist/node_modules/d3-format/src/exponent.js.map +1 -0
  100. package/dist/node_modules/d3-format/src/formatDecimal.js +13 -0
  101. package/dist/node_modules/d3-format/src/formatDecimal.js.map +1 -0
  102. package/dist/node_modules/d3-format/src/formatGroup.js +11 -0
  103. package/dist/node_modules/d3-format/src/formatGroup.js.map +1 -0
  104. package/dist/node_modules/d3-format/src/formatNumerals.js +12 -0
  105. package/dist/node_modules/d3-format/src/formatNumerals.js.map +1 -0
  106. package/dist/node_modules/d3-format/src/formatPrefixAuto.js +13 -0
  107. package/dist/node_modules/d3-format/src/formatPrefixAuto.js.map +1 -0
  108. package/dist/node_modules/d3-format/src/formatRounded.js +12 -0
  109. package/dist/node_modules/d3-format/src/formatRounded.js.map +1 -0
  110. package/dist/node_modules/d3-format/src/formatSpecifier.js +29 -0
  111. package/dist/node_modules/d3-format/src/formatSpecifier.js.map +1 -0
  112. package/dist/node_modules/d3-format/src/formatTrim.js +20 -0
  113. package/dist/node_modules/d3-format/src/formatTrim.js.map +1 -0
  114. package/dist/node_modules/d3-format/src/formatTypes.js +23 -0
  115. package/dist/node_modules/d3-format/src/formatTypes.js.map +1 -0
  116. package/dist/node_modules/d3-format/src/identity.js +8 -0
  117. package/dist/node_modules/d3-format/src/identity.js.map +1 -0
  118. package/dist/node_modules/d3-format/src/locale.js +86 -0
  119. package/dist/node_modules/d3-format/src/locale.js.map +1 -0
  120. package/dist/node_modules/d3-format/src/precisionFixed.js +9 -0
  121. package/dist/node_modules/d3-format/src/precisionFixed.js.map +1 -0
  122. package/dist/node_modules/d3-format/src/precisionPrefix.js +9 -0
  123. package/dist/node_modules/d3-format/src/precisionPrefix.js.map +1 -0
  124. package/dist/node_modules/d3-format/src/precisionRound.js +9 -0
  125. package/dist/node_modules/d3-format/src/precisionRound.js.map +1 -0
  126. package/dist/node_modules/d3-interpolate/src/array.js +15 -0
  127. package/dist/node_modules/d3-interpolate/src/array.js.map +1 -0
  128. package/dist/node_modules/d3-interpolate/src/basis.js +16 -0
  129. package/dist/node_modules/d3-interpolate/src/basis.js.map +1 -0
  130. package/dist/node_modules/d3-interpolate/src/basisClosed.js +13 -0
  131. package/dist/node_modules/d3-interpolate/src/basisClosed.js.map +1 -0
  132. package/dist/node_modules/d3-interpolate/src/color.js +25 -0
  133. package/dist/node_modules/d3-interpolate/src/color.js.map +1 -0
  134. package/dist/node_modules/d3-interpolate/src/constant.js +6 -0
  135. package/dist/node_modules/d3-interpolate/src/constant.js.map +1 -0
  136. package/dist/node_modules/d3-interpolate/src/date.js +11 -0
  137. package/dist/node_modules/d3-interpolate/src/date.js.map +1 -0
  138. package/dist/node_modules/d3-interpolate/src/number.js +10 -0
  139. package/dist/node_modules/d3-interpolate/src/number.js.map +1 -0
  140. package/dist/node_modules/d3-interpolate/src/numberArray.js +16 -0
  141. package/dist/node_modules/d3-interpolate/src/numberArray.js.map +1 -0
  142. package/dist/node_modules/d3-interpolate/src/object.js +14 -0
  143. package/dist/node_modules/d3-interpolate/src/object.js.map +1 -0
  144. package/dist/node_modules/d3-interpolate/src/piecewise.js +14 -0
  145. package/dist/node_modules/d3-interpolate/src/piecewise.js.map +1 -0
  146. package/dist/node_modules/d3-interpolate/src/rgb.js +19 -0
  147. package/dist/node_modules/d3-interpolate/src/rgb.js.map +1 -0
  148. package/dist/node_modules/d3-interpolate/src/round.js +10 -0
  149. package/dist/node_modules/d3-interpolate/src/round.js.map +1 -0
  150. package/dist/node_modules/d3-interpolate/src/string.js +28 -0
  151. package/dist/node_modules/d3-interpolate/src/string.js.map +1 -0
  152. package/dist/node_modules/d3-interpolate/src/value.js +18 -0
  153. package/dist/node_modules/d3-interpolate/src/value.js.map +1 -0
  154. package/dist/node_modules/d3-path/src/path.js +65 -0
  155. package/dist/node_modules/d3-path/src/path.js.map +1 -0
  156. package/dist/node_modules/d3-scale/src/band.js +52 -0
  157. package/dist/node_modules/d3-scale/src/band.js.map +1 -0
  158. package/dist/node_modules/d3-scale/src/constant.js +10 -0
  159. package/dist/node_modules/d3-scale/src/constant.js.map +1 -0
  160. package/dist/node_modules/d3-scale/src/continuous.js +73 -0
  161. package/dist/node_modules/d3-scale/src/continuous.js.map +1 -0
  162. package/dist/node_modules/d3-scale/src/diverging.js +82 -0
  163. package/dist/node_modules/d3-scale/src/diverging.js.map +1 -0
  164. package/dist/node_modules/d3-scale/src/identity.js +20 -0
  165. package/dist/node_modules/d3-scale/src/identity.js.map +1 -0
  166. package/dist/node_modules/d3-scale/src/init.js +29 -0
  167. package/dist/node_modules/d3-scale/src/init.js.map +1 -0
  168. package/dist/node_modules/d3-scale/src/linear.js +36 -0
  169. package/dist/node_modules/d3-scale/src/linear.js.map +1 -0
  170. package/dist/node_modules/d3-scale/src/log.js +77 -0
  171. package/dist/node_modules/d3-scale/src/log.js.map +1 -0
  172. package/dist/node_modules/d3-scale/src/nice.js +10 -0
  173. package/dist/node_modules/d3-scale/src/nice.js.map +1 -0
  174. package/dist/node_modules/d3-scale/src/number.js +8 -0
  175. package/dist/node_modules/d3-scale/src/number.js.map +1 -0
  176. package/dist/node_modules/d3-scale/src/ordinal.js +31 -0
  177. package/dist/node_modules/d3-scale/src/ordinal.js.map +1 -0
  178. package/dist/node_modules/d3-scale/src/pow.js +37 -0
  179. package/dist/node_modules/d3-scale/src/pow.js.map +1 -0
  180. package/dist/node_modules/d3-scale/src/quantile.js +37 -0
  181. package/dist/node_modules/d3-scale/src/quantile.js.map +1 -0
  182. package/dist/node_modules/d3-scale/src/quantize.js +33 -0
  183. package/dist/node_modules/d3-scale/src/quantize.js.map +1 -0
  184. package/dist/node_modules/d3-scale/src/radial.js +39 -0
  185. package/dist/node_modules/d3-scale/src/radial.js.map +1 -0
  186. package/dist/node_modules/d3-scale/src/sequential.js +67 -0
  187. package/dist/node_modules/d3-scale/src/sequential.js.map +1 -0
  188. package/dist/node_modules/d3-scale/src/sequentialQuantile.js +30 -0
  189. package/dist/node_modules/d3-scale/src/sequentialQuantile.js.map +1 -0
  190. package/dist/node_modules/d3-scale/src/symlog.js +30 -0
  191. package/dist/node_modules/d3-scale/src/symlog.js.map +1 -0
  192. package/dist/node_modules/d3-scale/src/threshold.js +25 -0
  193. package/dist/node_modules/d3-scale/src/threshold.js.map +1 -0
  194. package/dist/node_modules/d3-scale/src/tickFormat.js +31 -0
  195. package/dist/node_modules/d3-scale/src/tickFormat.js.map +1 -0
  196. package/dist/node_modules/d3-scale/src/time.js +47 -0
  197. package/dist/node_modules/d3-scale/src/time.js.map +1 -0
  198. package/dist/node_modules/d3-scale/src/utcTime.js +19 -0
  199. package/dist/node_modules/d3-scale/src/utcTime.js.map +1 -0
  200. package/dist/node_modules/d3-shape/src/area.js +55 -0
  201. package/dist/node_modules/d3-shape/src/area.js.map +1 -0
  202. package/dist/node_modules/d3-shape/src/array.js +8 -0
  203. package/dist/node_modules/d3-shape/src/array.js.map +1 -0
  204. package/dist/node_modules/d3-shape/src/constant.js +10 -0
  205. package/dist/node_modules/d3-shape/src/constant.js.map +1 -0
  206. package/dist/node_modules/d3-shape/src/curve/basis.js +49 -0
  207. package/dist/node_modules/d3-shape/src/curve/basis.js.map +1 -0
  208. package/dist/node_modules/d3-shape/src/curve/basisClosed.js +50 -0
  209. package/dist/node_modules/d3-shape/src/curve/basisClosed.js.map +1 -0
  210. package/dist/node_modules/d3-shape/src/curve/basisOpen.js +46 -0
  211. package/dist/node_modules/d3-shape/src/curve/basisOpen.js.map +1 -0
  212. package/dist/node_modules/d3-shape/src/curve/bump.js +40 -0
  213. package/dist/node_modules/d3-shape/src/curve/bump.js.map +1 -0
  214. package/dist/node_modules/d3-shape/src/curve/linear.js +36 -0
  215. package/dist/node_modules/d3-shape/src/curve/linear.js.map +1 -0
  216. package/dist/node_modules/d3-shape/src/curve/linearClosed.js +25 -0
  217. package/dist/node_modules/d3-shape/src/curve/linearClosed.js.map +1 -0
  218. package/dist/node_modules/d3-shape/src/curve/monotone.js +94 -0
  219. package/dist/node_modules/d3-shape/src/curve/monotone.js.map +1 -0
  220. package/dist/node_modules/d3-shape/src/curve/natural.js +39 -0
  221. package/dist/node_modules/d3-shape/src/curve/natural.js.map +1 -0
  222. package/dist/node_modules/d3-shape/src/curve/step.js +47 -0
  223. package/dist/node_modules/d3-shape/src/curve/step.js.map +1 -0
  224. package/dist/node_modules/d3-shape/src/line.js +30 -0
  225. package/dist/node_modules/d3-shape/src/line.js.map +1 -0
  226. package/dist/node_modules/d3-shape/src/math.js +8 -0
  227. package/dist/node_modules/d3-shape/src/math.js.map +1 -0
  228. package/dist/node_modules/d3-shape/src/noop.js +6 -0
  229. package/dist/node_modules/d3-shape/src/noop.js.map +1 -0
  230. package/dist/node_modules/d3-shape/src/offset/expand.js +15 -0
  231. package/dist/node_modules/d3-shape/src/offset/expand.js.map +1 -0
  232. package/dist/node_modules/d3-shape/src/offset/none.js +8 -0
  233. package/dist/node_modules/d3-shape/src/offset/none.js.map +1 -0
  234. package/dist/node_modules/d3-shape/src/offset/silhouette.js +15 -0
  235. package/dist/node_modules/d3-shape/src/offset/silhouette.js.map +1 -0
  236. package/dist/node_modules/d3-shape/src/offset/wiggle.js +21 -0
  237. package/dist/node_modules/d3-shape/src/offset/wiggle.js.map +1 -0
  238. package/dist/node_modules/d3-shape/src/order/none.js +9 -0
  239. package/dist/node_modules/d3-shape/src/order/none.js.map +1 -0
  240. package/dist/node_modules/d3-shape/src/path.js +19 -0
  241. package/dist/node_modules/d3-shape/src/path.js.map +1 -0
  242. package/dist/node_modules/d3-shape/src/point.js +11 -0
  243. package/dist/node_modules/d3-shape/src/point.js.map +1 -0
  244. package/dist/node_modules/d3-shape/src/stack.js +34 -0
  245. package/dist/node_modules/d3-shape/src/stack.js.map +1 -0
  246. package/dist/node_modules/d3-shape/src/symbol/circle.js +10 -0
  247. package/dist/node_modules/d3-shape/src/symbol/circle.js.map +1 -0
  248. package/dist/node_modules/d3-shape/src/symbol/cross.js +10 -0
  249. package/dist/node_modules/d3-shape/src/symbol/cross.js.map +1 -0
  250. package/dist/node_modules/d3-shape/src/symbol/diamond.js +10 -0
  251. package/dist/node_modules/d3-shape/src/symbol/diamond.js.map +1 -0
  252. package/dist/node_modules/d3-shape/src/symbol/square.js +10 -0
  253. package/dist/node_modules/d3-shape/src/symbol/square.js.map +1 -0
  254. package/dist/node_modules/d3-shape/src/symbol/star.js +15 -0
  255. package/dist/node_modules/d3-shape/src/symbol/star.js.map +1 -0
  256. package/dist/node_modules/d3-shape/src/symbol/triangle.js +10 -0
  257. package/dist/node_modules/d3-shape/src/symbol/triangle.js.map +1 -0
  258. package/dist/node_modules/d3-shape/src/symbol/wye.js +10 -0
  259. package/dist/node_modules/d3-shape/src/symbol/wye.js.map +1 -0
  260. package/dist/node_modules/d3-shape/src/symbol.js +23 -0
  261. package/dist/node_modules/d3-shape/src/symbol.js.map +1 -0
  262. package/dist/node_modules/d3-time/src/day.js +21 -0
  263. package/dist/node_modules/d3-time/src/day.js.map +1 -0
  264. package/dist/node_modules/d3-time/src/duration.js +6 -0
  265. package/dist/node_modules/d3-time/src/duration.js.map +1 -0
  266. package/dist/node_modules/d3-time/src/hour.js +19 -0
  267. package/dist/node_modules/d3-time/src/hour.js.map +1 -0
  268. package/dist/node_modules/d3-time/src/interval.js +28 -0
  269. package/dist/node_modules/d3-time/src/interval.js.map +1 -0
  270. package/dist/node_modules/d3-time/src/millisecond.js +14 -0
  271. package/dist/node_modules/d3-time/src/millisecond.js.map +1 -0
  272. package/dist/node_modules/d3-time/src/minute.js +19 -0
  273. package/dist/node_modules/d3-time/src/minute.js.map +1 -0
  274. package/dist/node_modules/d3-time/src/month.js +18 -0
  275. package/dist/node_modules/d3-time/src/month.js.map +1 -0
  276. package/dist/node_modules/d3-time/src/second.js +13 -0
  277. package/dist/node_modules/d3-time/src/second.js.map +1 -0
  278. package/dist/node_modules/d3-time/src/ticks.js +125 -0
  279. package/dist/node_modules/d3-time/src/ticks.js.map +1 -0
  280. package/dist/node_modules/d3-time/src/week.js +25 -0
  281. package/dist/node_modules/d3-time/src/week.js.map +1 -0
  282. package/dist/node_modules/d3-time/src/year.js +26 -0
  283. package/dist/node_modules/d3-time/src/year.js.map +1 -0
  284. package/dist/node_modules/d3-time-format/src/defaultLocale.js +62 -0
  285. package/dist/node_modules/d3-time-format/src/defaultLocale.js.map +1 -0
  286. package/dist/node_modules/d3-time-format/src/locale.js +490 -0
  287. package/dist/node_modules/d3-time-format/src/locale.js.map +1 -0
  288. package/dist/node_modules/decimal.js-light/decimal.js +378 -0
  289. package/dist/node_modules/decimal.js-light/decimal.js.map +1 -0
  290. package/dist/node_modules/eventemitter3/index.js +95 -0
  291. package/dist/node_modules/eventemitter3/index.js.map +1 -0
  292. package/dist/node_modules/fast-equals/dist/es/index.js +267 -0
  293. package/dist/node_modules/fast-equals/dist/es/index.js.map +1 -0
  294. package/dist/node_modules/internmap/src/index.js +40 -0
  295. package/dist/node_modules/internmap/src/index.js.map +1 -0
  296. package/dist/node_modules/lodash/_DataView.js +12 -0
  297. package/dist/node_modules/lodash/_DataView.js.map +1 -0
  298. package/dist/node_modules/lodash/_Hash.js +23 -0
  299. package/dist/node_modules/lodash/_Hash.js.map +1 -0
  300. package/dist/node_modules/lodash/_ListCache.js +23 -0
  301. package/dist/node_modules/lodash/_ListCache.js.map +1 -0
  302. package/dist/node_modules/lodash/_Map.js +12 -0
  303. package/dist/node_modules/lodash/_Map.js.map +1 -0
  304. package/dist/node_modules/lodash/_MapCache.js +23 -0
  305. package/dist/node_modules/lodash/_MapCache.js.map +1 -0
  306. package/dist/node_modules/lodash/_Promise.js +12 -0
  307. package/dist/node_modules/lodash/_Promise.js.map +1 -0
  308. package/dist/node_modules/lodash/_Set.js +12 -0
  309. package/dist/node_modules/lodash/_Set.js.map +1 -0
  310. package/dist/node_modules/lodash/_SetCache.js +18 -0
  311. package/dist/node_modules/lodash/_SetCache.js.map +1 -0
  312. package/dist/node_modules/lodash/_Stack.js +20 -0
  313. package/dist/node_modules/lodash/_Stack.js.map +1 -0
  314. package/dist/node_modules/lodash/_Symbol.js +11 -0
  315. package/dist/node_modules/lodash/_Symbol.js.map +1 -0
  316. package/dist/node_modules/lodash/_Uint8Array.js +11 -0
  317. package/dist/node_modules/lodash/_Uint8Array.js.map +1 -0
  318. package/dist/node_modules/lodash/_WeakMap.js +12 -0
  319. package/dist/node_modules/lodash/_WeakMap.js.map +1 -0
  320. package/dist/node_modules/lodash/_apply.js +19 -0
  321. package/dist/node_modules/lodash/_apply.js.map +1 -0
  322. package/dist/node_modules/lodash/_arrayEvery.js +14 -0
  323. package/dist/node_modules/lodash/_arrayEvery.js.map +1 -0
  324. package/dist/node_modules/lodash/_arrayFilter.js +17 -0
  325. package/dist/node_modules/lodash/_arrayFilter.js.map +1 -0
  326. package/dist/node_modules/lodash/_arrayIncludes.js +15 -0
  327. package/dist/node_modules/lodash/_arrayIncludes.js.map +1 -0
  328. package/dist/node_modules/lodash/_arrayIncludesWith.js +14 -0
  329. package/dist/node_modules/lodash/_arrayIncludesWith.js.map +1 -0
  330. package/dist/node_modules/lodash/_arrayLikeKeys.js +22 -0
  331. package/dist/node_modules/lodash/_arrayLikeKeys.js.map +1 -0
  332. package/dist/node_modules/lodash/_arrayMap.js +14 -0
  333. package/dist/node_modules/lodash/_arrayMap.js.map +1 -0
  334. package/dist/node_modules/lodash/_arrayPush.js +14 -0
  335. package/dist/node_modules/lodash/_arrayPush.js.map +1 -0
  336. package/dist/node_modules/lodash/_arraySome.js +14 -0
  337. package/dist/node_modules/lodash/_arraySome.js.map +1 -0
  338. package/dist/node_modules/lodash/_asciiToArray.js +13 -0
  339. package/dist/node_modules/lodash/_asciiToArray.js.map +1 -0
  340. package/dist/node_modules/lodash/_assocIndexOf.js +16 -0
  341. package/dist/node_modules/lodash/_assocIndexOf.js.map +1 -0
  342. package/dist/node_modules/lodash/_baseAssignValue.js +20 -0
  343. package/dist/node_modules/lodash/_baseAssignValue.js.map +1 -0
  344. package/dist/node_modules/lodash/_baseEach.js +13 -0
  345. package/dist/node_modules/lodash/_baseEach.js.map +1 -0
  346. package/dist/node_modules/lodash/_baseEvery.js +18 -0
  347. package/dist/node_modules/lodash/_baseEvery.js.map +1 -0
  348. package/dist/node_modules/lodash/_baseExtremum.js +19 -0
  349. package/dist/node_modules/lodash/_baseExtremum.js.map +1 -0
  350. package/dist/node_modules/lodash/_baseFindIndex.js +14 -0
  351. package/dist/node_modules/lodash/_baseFindIndex.js.map +1 -0
  352. package/dist/node_modules/lodash/_baseFlatten.js +21 -0
  353. package/dist/node_modules/lodash/_baseFlatten.js.map +1 -0
  354. package/dist/node_modules/lodash/_baseFor.js +11 -0
  355. package/dist/node_modules/lodash/_baseFor.js.map +1 -0
  356. package/dist/node_modules/lodash/_baseForOwn.js +16 -0
  357. package/dist/node_modules/lodash/_baseForOwn.js.map +1 -0
  358. package/dist/node_modules/lodash/_baseGet.js +18 -0
  359. package/dist/node_modules/lodash/_baseGet.js.map +1 -0
  360. package/dist/node_modules/lodash/_baseGetAllKeys.js +17 -0
  361. package/dist/node_modules/lodash/_baseGetAllKeys.js.map +1 -0
  362. package/dist/node_modules/lodash/_baseGetTag.js +17 -0
  363. package/dist/node_modules/lodash/_baseGetTag.js.map +1 -0
  364. package/dist/node_modules/lodash/_baseGt.js +13 -0
  365. package/dist/node_modules/lodash/_baseGt.js.map +1 -0
  366. package/dist/node_modules/lodash/_baseHasIn.js +13 -0
  367. package/dist/node_modules/lodash/_baseHasIn.js.map +1 -0
  368. package/dist/node_modules/lodash/_baseIndexOf.js +17 -0
  369. package/dist/node_modules/lodash/_baseIndexOf.js.map +1 -0
  370. package/dist/node_modules/lodash/_baseIsArguments.js +16 -0
  371. package/dist/node_modules/lodash/_baseIsArguments.js.map +1 -0
  372. package/dist/node_modules/lodash/_baseIsEqual.js +16 -0
  373. package/dist/node_modules/lodash/_baseIsEqual.js.map +1 -0
  374. package/dist/node_modules/lodash/_baseIsEqualDeep.js +37 -0
  375. package/dist/node_modules/lodash/_baseIsEqualDeep.js.map +1 -0
  376. package/dist/node_modules/lodash/_baseIsMatch.js +33 -0
  377. package/dist/node_modules/lodash/_baseIsMatch.js.map +1 -0
  378. package/dist/node_modules/lodash/_baseIsNaN.js +13 -0
  379. package/dist/node_modules/lodash/_baseIsNaN.js.map +1 -0
  380. package/dist/node_modules/lodash/_baseIsNative.js +18 -0
  381. package/dist/node_modules/lodash/_baseIsNative.js.map +1 -0
  382. package/dist/node_modules/lodash/_baseIsTypedArray.js +18 -0
  383. package/dist/node_modules/lodash/_baseIsTypedArray.js.map +1 -0
  384. package/dist/node_modules/lodash/_baseIteratee.js +19 -0
  385. package/dist/node_modules/lodash/_baseIteratee.js.map +1 -0
  386. package/dist/node_modules/lodash/_baseKeys.js +19 -0
  387. package/dist/node_modules/lodash/_baseKeys.js.map +1 -0
  388. package/dist/node_modules/lodash/_baseLt.js +13 -0
  389. package/dist/node_modules/lodash/_baseLt.js.map +1 -0
  390. package/dist/node_modules/lodash/_baseMap.js +19 -0
  391. package/dist/node_modules/lodash/_baseMap.js.map +1 -0
  392. package/dist/node_modules/lodash/_baseMatches.js +20 -0
  393. package/dist/node_modules/lodash/_baseMatches.js.map +1 -0
  394. package/dist/node_modules/lodash/_baseMatchesProperty.js +24 -0
  395. package/dist/node_modules/lodash/_baseMatchesProperty.js.map +1 -0
  396. package/dist/node_modules/lodash/_baseOrderBy.js +39 -0
  397. package/dist/node_modules/lodash/_baseOrderBy.js.map +1 -0
  398. package/dist/node_modules/lodash/_baseProperty.js +15 -0
  399. package/dist/node_modules/lodash/_baseProperty.js.map +1 -0
  400. package/dist/node_modules/lodash/_basePropertyDeep.js +17 -0
  401. package/dist/node_modules/lodash/_basePropertyDeep.js.map +1 -0
  402. package/dist/node_modules/lodash/_baseRange.js +15 -0
  403. package/dist/node_modules/lodash/_baseRange.js.map +1 -0
  404. package/dist/node_modules/lodash/_baseRest.js +17 -0
  405. package/dist/node_modules/lodash/_baseRest.js.map +1 -0
  406. package/dist/node_modules/lodash/_baseSetToString.js +21 -0
  407. package/dist/node_modules/lodash/_baseSetToString.js.map +1 -0
  408. package/dist/node_modules/lodash/_baseSlice.js +16 -0
  409. package/dist/node_modules/lodash/_baseSlice.js.map +1 -0
  410. package/dist/node_modules/lodash/_baseSome.js +18 -0
  411. package/dist/node_modules/lodash/_baseSome.js.map +1 -0
  412. package/dist/node_modules/lodash/_baseSortBy.js +15 -0
  413. package/dist/node_modules/lodash/_baseSortBy.js.map +1 -0
  414. package/dist/node_modules/lodash/_baseTimes.js +14 -0
  415. package/dist/node_modules/lodash/_baseTimes.js.map +1 -0
  416. package/dist/node_modules/lodash/_baseToString.js +22 -0
  417. package/dist/node_modules/lodash/_baseToString.js.map +1 -0
  418. package/dist/node_modules/lodash/_baseTrim.js +15 -0
  419. package/dist/node_modules/lodash/_baseTrim.js.map +1 -0
  420. package/dist/node_modules/lodash/_baseUnary.js +15 -0
  421. package/dist/node_modules/lodash/_baseUnary.js.map +1 -0
  422. package/dist/node_modules/lodash/_baseUniq.js +34 -0
  423. package/dist/node_modules/lodash/_baseUniq.js.map +1 -0
  424. package/dist/node_modules/lodash/_cacheHas.js +13 -0
  425. package/dist/node_modules/lodash/_cacheHas.js.map +1 -0
  426. package/dist/node_modules/lodash/_castPath.js +18 -0
  427. package/dist/node_modules/lodash/_castPath.js.map +1 -0
  428. package/dist/node_modules/lodash/_castSlice.js +16 -0
  429. package/dist/node_modules/lodash/_castSlice.js.map +1 -0
  430. package/dist/node_modules/lodash/_compareAscending.js +20 -0
  431. package/dist/node_modules/lodash/_compareAscending.js.map +1 -0
  432. package/dist/node_modules/lodash/_compareMultiple.js +19 -0
  433. package/dist/node_modules/lodash/_compareMultiple.js.map +1 -0
  434. package/dist/node_modules/lodash/_coreJsData.js +11 -0
  435. package/dist/node_modules/lodash/_coreJsData.js.map +1 -0
  436. package/dist/node_modules/lodash/_createBaseEach.js +20 -0
  437. package/dist/node_modules/lodash/_createBaseEach.js.map +1 -0
  438. package/dist/node_modules/lodash/_createBaseFor.js +19 -0
  439. package/dist/node_modules/lodash/_createBaseFor.js.map +1 -0
  440. package/dist/node_modules/lodash/_createCaseFirst.js +22 -0
  441. package/dist/node_modules/lodash/_createCaseFirst.js.map +1 -0
  442. package/dist/node_modules/lodash/_createFind.js +27 -0
  443. package/dist/node_modules/lodash/_createFind.js.map +1 -0
  444. package/dist/node_modules/lodash/_createRange.js +19 -0
  445. package/dist/node_modules/lodash/_createRange.js.map +1 -0
  446. package/dist/node_modules/lodash/_createSet.js +16 -0
  447. package/dist/node_modules/lodash/_createSet.js.map +1 -0
  448. package/dist/node_modules/lodash/_defineProperty.js +17 -0
  449. package/dist/node_modules/lodash/_defineProperty.js.map +1 -0
  450. package/dist/node_modules/lodash/_equalArrays.js +42 -0
  451. package/dist/node_modules/lodash/_equalArrays.js.map +1 -0
  452. package/dist/node_modules/lodash/_equalByTag.js +42 -0
  453. package/dist/node_modules/lodash/_equalByTag.js.map +1 -0
  454. package/dist/node_modules/lodash/_equalObjects.js +39 -0
  455. package/dist/node_modules/lodash/_equalObjects.js.map +1 -0
  456. package/dist/node_modules/lodash/_freeGlobal.js +10 -0
  457. package/dist/node_modules/lodash/_freeGlobal.js.map +1 -0
  458. package/dist/node_modules/lodash/_getAllKeys.js +17 -0
  459. package/dist/node_modules/lodash/_getAllKeys.js.map +1 -0
  460. package/dist/node_modules/lodash/_getMapData.js +16 -0
  461. package/dist/node_modules/lodash/_getMapData.js.map +1 -0
  462. package/dist/node_modules/lodash/_getMatchData.js +24 -0
  463. package/dist/node_modules/lodash/_getMatchData.js.map +1 -0
  464. package/dist/node_modules/lodash/_getNative.js +17 -0
  465. package/dist/node_modules/lodash/_getNative.js.map +1 -0
  466. package/dist/node_modules/lodash/_getPrototype.js +11 -0
  467. package/dist/node_modules/lodash/_getPrototype.js.map +1 -0
  468. package/dist/node_modules/lodash/_getRawTag.js +21 -0
  469. package/dist/node_modules/lodash/_getRawTag.js.map +1 -0
  470. package/dist/node_modules/lodash/_getSymbols.js +17 -0
  471. package/dist/node_modules/lodash/_getSymbols.js.map +1 -0
  472. package/dist/node_modules/lodash/_getTag.js +28 -0
  473. package/dist/node_modules/lodash/_getTag.js.map +1 -0
  474. package/dist/node_modules/lodash/_getValue.js +13 -0
  475. package/dist/node_modules/lodash/_getValue.js.map +1 -0
  476. package/dist/node_modules/lodash/_hasPath.js +26 -0
  477. package/dist/node_modules/lodash/_hasPath.js.map +1 -0
  478. package/dist/node_modules/lodash/_hasUnicode.js +14 -0
  479. package/dist/node_modules/lodash/_hasUnicode.js.map +1 -0
  480. package/dist/node_modules/lodash/_hashClear.js +15 -0
  481. package/dist/node_modules/lodash/_hashClear.js.map +1 -0
  482. package/dist/node_modules/lodash/_hashDelete.js +14 -0
  483. package/dist/node_modules/lodash/_hashDelete.js.map +1 -0
  484. package/dist/node_modules/lodash/_hashGet.js +20 -0
  485. package/dist/node_modules/lodash/_hashGet.js.map +1 -0
  486. package/dist/node_modules/lodash/_hashHas.js +16 -0
  487. package/dist/node_modules/lodash/_hashHas.js.map +1 -0
  488. package/dist/node_modules/lodash/_hashSet.js +16 -0
  489. package/dist/node_modules/lodash/_hashSet.js.map +1 -0
  490. package/dist/node_modules/lodash/_isFlattenable.js +17 -0
  491. package/dist/node_modules/lodash/_isFlattenable.js.map +1 -0
  492. package/dist/node_modules/lodash/_isIndex.js +15 -0
  493. package/dist/node_modules/lodash/_isIndex.js.map +1 -0
  494. package/dist/node_modules/lodash/_isIterateeCall.js +20 -0
  495. package/dist/node_modules/lodash/_isIterateeCall.js.map +1 -0
  496. package/dist/node_modules/lodash/_isKey.js +18 -0
  497. package/dist/node_modules/lodash/_isKey.js.map +1 -0
  498. package/dist/node_modules/lodash/_isKeyable.js +14 -0
  499. package/dist/node_modules/lodash/_isKeyable.js.map +1 -0
  500. package/dist/node_modules/lodash/_isMasked.js +18 -0
  501. package/dist/node_modules/lodash/_isMasked.js.map +1 -0
  502. package/dist/node_modules/lodash/_isPrototype.js +15 -0
  503. package/dist/node_modules/lodash/_isPrototype.js.map +1 -0
  504. package/dist/node_modules/lodash/_isStrictComparable.js +15 -0
  505. package/dist/node_modules/lodash/_isStrictComparable.js.map +1 -0
  506. package/dist/node_modules/lodash/_listCacheClear.js +13 -0
  507. package/dist/node_modules/lodash/_listCacheClear.js.map +1 -0
  508. package/dist/node_modules/lodash/_listCacheDelete.js +16 -0
  509. package/dist/node_modules/lodash/_listCacheDelete.js.map +1 -0
  510. package/dist/node_modules/lodash/_listCacheGet.js +16 -0
  511. package/dist/node_modules/lodash/_listCacheGet.js.map +1 -0
  512. package/dist/node_modules/lodash/_listCacheHas.js +15 -0
  513. package/dist/node_modules/lodash/_listCacheHas.js.map +1 -0
  514. package/dist/node_modules/lodash/_listCacheSet.js +16 -0
  515. package/dist/node_modules/lodash/_listCacheSet.js.map +1 -0
  516. package/dist/node_modules/lodash/_mapCacheClear.js +21 -0
  517. package/dist/node_modules/lodash/_mapCacheClear.js.map +1 -0
  518. package/dist/node_modules/lodash/_mapCacheDelete.js +16 -0
  519. package/dist/node_modules/lodash/_mapCacheDelete.js.map +1 -0
  520. package/dist/node_modules/lodash/_mapCacheGet.js +15 -0
  521. package/dist/node_modules/lodash/_mapCacheGet.js.map +1 -0
  522. package/dist/node_modules/lodash/_mapCacheHas.js +15 -0
  523. package/dist/node_modules/lodash/_mapCacheHas.js.map +1 -0
  524. package/dist/node_modules/lodash/_mapCacheSet.js +16 -0
  525. package/dist/node_modules/lodash/_mapCacheSet.js.map +1 -0
  526. package/dist/node_modules/lodash/_mapToArray.js +16 -0
  527. package/dist/node_modules/lodash/_mapToArray.js.map +1 -0
  528. package/dist/node_modules/lodash/_matchesStrictComparable.js +15 -0
  529. package/dist/node_modules/lodash/_matchesStrictComparable.js.map +1 -0
  530. package/dist/node_modules/lodash/_memoizeCapped.js +18 -0
  531. package/dist/node_modules/lodash/_memoizeCapped.js.map +1 -0
  532. package/dist/node_modules/lodash/_nativeCreate.js +11 -0
  533. package/dist/node_modules/lodash/_nativeCreate.js.map +1 -0
  534. package/dist/node_modules/lodash/_nativeKeys.js +11 -0
  535. package/dist/node_modules/lodash/_nativeKeys.js.map +1 -0
  536. package/dist/node_modules/lodash/_nodeUtil.js +16 -0
  537. package/dist/node_modules/lodash/_nodeUtil.js.map +1 -0
  538. package/dist/node_modules/lodash/_objectToString.js +14 -0
  539. package/dist/node_modules/lodash/_objectToString.js.map +1 -0
  540. package/dist/node_modules/lodash/_overArg.js +15 -0
  541. package/dist/node_modules/lodash/_overArg.js.map +1 -0
  542. package/dist/node_modules/lodash/_overRest.js +20 -0
  543. package/dist/node_modules/lodash/_overRest.js.map +1 -0
  544. package/dist/node_modules/lodash/_root.js +12 -0
  545. package/dist/node_modules/lodash/_root.js.map +1 -0
  546. package/dist/node_modules/lodash/_setCacheAdd.js +14 -0
  547. package/dist/node_modules/lodash/_setCacheAdd.js.map +1 -0
  548. package/dist/node_modules/lodash/_setCacheHas.js +13 -0
  549. package/dist/node_modules/lodash/_setCacheHas.js.map +1 -0
  550. package/dist/node_modules/lodash/_setToArray.js +16 -0
  551. package/dist/node_modules/lodash/_setToArray.js.map +1 -0
  552. package/dist/node_modules/lodash/_setToString.js +13 -0
  553. package/dist/node_modules/lodash/_setToString.js.map +1 -0
  554. package/dist/node_modules/lodash/_shortOut.js +21 -0
  555. package/dist/node_modules/lodash/_shortOut.js.map +1 -0
  556. package/dist/node_modules/lodash/_stackClear.js +15 -0
  557. package/dist/node_modules/lodash/_stackClear.js.map +1 -0
  558. package/dist/node_modules/lodash/_stackDelete.js +14 -0
  559. package/dist/node_modules/lodash/_stackDelete.js.map +1 -0
  560. package/dist/node_modules/lodash/_stackGet.js +13 -0
  561. package/dist/node_modules/lodash/_stackGet.js.map +1 -0
  562. package/dist/node_modules/lodash/_stackHas.js +13 -0
  563. package/dist/node_modules/lodash/_stackHas.js.map +1 -0
  564. package/dist/node_modules/lodash/_stackSet.js +23 -0
  565. package/dist/node_modules/lodash/_stackSet.js.map +1 -0
  566. package/dist/node_modules/lodash/_strictIndexOf.js +14 -0
  567. package/dist/node_modules/lodash/_strictIndexOf.js.map +1 -0
  568. package/dist/node_modules/lodash/_stringToArray.js +17 -0
  569. package/dist/node_modules/lodash/_stringToArray.js.map +1 -0
  570. package/dist/node_modules/lodash/_stringToPath.js +17 -0
  571. package/dist/node_modules/lodash/_stringToPath.js.map +1 -0
  572. package/dist/node_modules/lodash/_toKey.js +17 -0
  573. package/dist/node_modules/lodash/_toKey.js.map +1 -0
  574. package/dist/node_modules/lodash/_toSource.js +22 -0
  575. package/dist/node_modules/lodash/_toSource.js.map +1 -0
  576. package/dist/node_modules/lodash/_trimmedEndIndex.js +15 -0
  577. package/dist/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
  578. package/dist/node_modules/lodash/_unicodeToArray.js +24 -0
  579. package/dist/node_modules/lodash/_unicodeToArray.js.map +1 -0
  580. package/dist/node_modules/lodash/constant.js +15 -0
  581. package/dist/node_modules/lodash/constant.js.map +1 -0
  582. package/dist/node_modules/lodash/debounce.js +57 -0
  583. package/dist/node_modules/lodash/debounce.js.map +1 -0
  584. package/dist/node_modules/lodash/eq.js +13 -0
  585. package/dist/node_modules/lodash/eq.js.map +1 -0
  586. package/dist/node_modules/lodash/every.js +20 -0
  587. package/dist/node_modules/lodash/every.js.map +1 -0
  588. package/dist/node_modules/lodash/find.js +12 -0
  589. package/dist/node_modules/lodash/find.js.map +1 -0
  590. package/dist/node_modules/lodash/findIndex.js +20 -0
  591. package/dist/node_modules/lodash/findIndex.js.map +1 -0
  592. package/dist/node_modules/lodash/flatMap.js +16 -0
  593. package/dist/node_modules/lodash/flatMap.js.map +1 -0
  594. package/dist/node_modules/lodash/get.js +16 -0
  595. package/dist/node_modules/lodash/get.js.map +1 -0
  596. package/dist/node_modules/lodash/hasIn.js +16 -0
  597. package/dist/node_modules/lodash/hasIn.js.map +1 -0
  598. package/dist/node_modules/lodash/identity.js +13 -0
  599. package/dist/node_modules/lodash/identity.js.map +1 -0
  600. package/dist/node_modules/lodash/isArguments.js +17 -0
  601. package/dist/node_modules/lodash/isArguments.js.map +1 -0
  602. package/dist/node_modules/lodash/isArray.js +10 -0
  603. package/dist/node_modules/lodash/isArray.js.map +1 -0
  604. package/dist/node_modules/lodash/isArrayLike.js +16 -0
  605. package/dist/node_modules/lodash/isArrayLike.js.map +1 -0
  606. package/dist/node_modules/lodash/isBoolean.js +16 -0
  607. package/dist/node_modules/lodash/isBoolean.js.map +1 -0
  608. package/dist/node_modules/lodash/isBuffer.js +13 -0
  609. package/dist/node_modules/lodash/isBuffer.js.map +1 -0
  610. package/dist/node_modules/lodash/isEqual.js +15 -0
  611. package/dist/node_modules/lodash/isEqual.js.map +1 -0
  612. package/dist/node_modules/lodash/isFunction.js +18 -0
  613. package/dist/node_modules/lodash/isFunction.js.map +1 -0
  614. package/dist/node_modules/lodash/isLength.js +14 -0
  615. package/dist/node_modules/lodash/isLength.js.map +1 -0
  616. package/dist/node_modules/lodash/isNaN.js +15 -0
  617. package/dist/node_modules/lodash/isNaN.js.map +1 -0
  618. package/dist/node_modules/lodash/isNil.js +13 -0
  619. package/dist/node_modules/lodash/isNil.js.map +1 -0
  620. package/dist/node_modules/lodash/isNumber.js +16 -0
  621. package/dist/node_modules/lodash/isNumber.js.map +1 -0
  622. package/dist/node_modules/lodash/isObject.js +14 -0
  623. package/dist/node_modules/lodash/isObject.js.map +1 -0
  624. package/dist/node_modules/lodash/isObjectLike.js +13 -0
  625. package/dist/node_modules/lodash/isObjectLike.js.map +1 -0
  626. package/dist/node_modules/lodash/isPlainObject.js +21 -0
  627. package/dist/node_modules/lodash/isPlainObject.js.map +1 -0
  628. package/dist/node_modules/lodash/isString.js +17 -0
  629. package/dist/node_modules/lodash/isString.js.map +1 -0
  630. package/dist/node_modules/lodash/isSymbol.js +16 -0
  631. package/dist/node_modules/lodash/isSymbol.js.map +1 -0
  632. package/dist/node_modules/lodash/isTypedArray.js +14 -0
  633. package/dist/node_modules/lodash/isTypedArray.js.map +1 -0
  634. package/dist/node_modules/lodash/keys.js +17 -0
  635. package/dist/node_modules/lodash/keys.js.map +1 -0
  636. package/dist/node_modules/lodash/last.js +14 -0
  637. package/dist/node_modules/lodash/last.js.map +1 -0
  638. package/dist/node_modules/lodash/map.js +18 -0
  639. package/dist/node_modules/lodash/map.js.map +1 -0
  640. package/dist/node_modules/lodash/mapValues.js +20 -0
  641. package/dist/node_modules/lodash/mapValues.js.map +1 -0
  642. package/dist/node_modules/lodash/max.js +17 -0
  643. package/dist/node_modules/lodash/max.js.map +1 -0
  644. package/dist/node_modules/lodash/memoize.js +22 -0
  645. package/dist/node_modules/lodash/memoize.js.map +1 -0
  646. package/dist/node_modules/lodash/min.js +17 -0
  647. package/dist/node_modules/lodash/min.js.map +1 -0
  648. package/dist/node_modules/lodash/noop.js +11 -0
  649. package/dist/node_modules/lodash/noop.js.map +1 -0
  650. package/dist/node_modules/lodash/now.js +14 -0
  651. package/dist/node_modules/lodash/now.js.map +1 -0
  652. package/dist/node_modules/lodash/property.js +18 -0
  653. package/dist/node_modules/lodash/property.js.map +1 -0
  654. package/dist/node_modules/lodash/range.js +11 -0
  655. package/dist/node_modules/lodash/range.js.map +1 -0
  656. package/dist/node_modules/lodash/some.js +20 -0
  657. package/dist/node_modules/lodash/some.js.map +1 -0
  658. package/dist/node_modules/lodash/sortBy.js +19 -0
  659. package/dist/node_modules/lodash/sortBy.js.map +1 -0
  660. package/dist/node_modules/lodash/stubArray.js +13 -0
  661. package/dist/node_modules/lodash/stubArray.js.map +1 -0
  662. package/dist/node_modules/lodash/stubFalse.js +13 -0
  663. package/dist/node_modules/lodash/stubFalse.js.map +1 -0
  664. package/dist/node_modules/lodash/throttle.js +22 -0
  665. package/dist/node_modules/lodash/throttle.js.map +1 -0
  666. package/dist/node_modules/lodash/toFinite.js +15 -0
  667. package/dist/node_modules/lodash/toFinite.js.map +1 -0
  668. package/dist/node_modules/lodash/toInteger.js +16 -0
  669. package/dist/node_modules/lodash/toInteger.js.map +1 -0
  670. package/dist/node_modules/lodash/toNumber.js +26 -0
  671. package/dist/node_modules/lodash/toNumber.js.map +1 -0
  672. package/dist/node_modules/lodash/toString.js +15 -0
  673. package/dist/node_modules/lodash/toString.js.map +1 -0
  674. package/dist/node_modules/lodash/uniqBy.js +16 -0
  675. package/dist/node_modules/lodash/uniqBy.js.map +1 -0
  676. package/dist/node_modules/lodash/upperFirst.js +11 -0
  677. package/dist/node_modules/lodash/upperFirst.js.map +1 -0
  678. package/dist/node_modules/object-assign/index.js +41 -0
  679. package/dist/node_modules/object-assign/index.js.map +1 -0
  680. package/dist/node_modules/prop-types/checkPropTypes.js +46 -0
  681. package/dist/node_modules/prop-types/checkPropTypes.js.map +1 -0
  682. package/dist/node_modules/prop-types/factoryWithThrowingShims.js +49 -0
  683. package/dist/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -0
  684. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +272 -0
  685. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -0
  686. package/dist/node_modules/prop-types/index.js +16 -0
  687. package/dist/node_modules/prop-types/index.js.map +1 -0
  688. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js +10 -0
  689. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -0
  690. package/dist/node_modules/prop-types/lib/has.js +10 -0
  691. package/dist/node_modules/prop-types/lib/has.js.map +1 -0
  692. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +84 -0
  693. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  694. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +64 -0
  695. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  696. package/dist/node_modules/prop-types/node_modules/react-is/index.js +12 -0
  697. package/dist/node_modules/prop-types/node_modules/react-is/index.js.map +1 -0
  698. package/dist/node_modules/react-is/cjs/react-is.development.js +87 -0
  699. package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  700. package/dist/node_modules/react-is/cjs/react-is.production.min.js +65 -0
  701. package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  702. package/dist/node_modules/react-is/index.js +12 -0
  703. package/dist/node_modules/react-is/index.js.map +1 -0
  704. package/dist/node_modules/react-smooth/es6/Animate.js +374 -0
  705. package/dist/node_modules/react-smooth/es6/Animate.js.map +1 -0
  706. package/dist/node_modules/react-smooth/es6/AnimateManager.js +73 -0
  707. package/dist/node_modules/react-smooth/es6/AnimateManager.js.map +1 -0
  708. package/dist/node_modules/react-smooth/es6/configUpdate.js +173 -0
  709. package/dist/node_modules/react-smooth/es6/configUpdate.js.map +1 -0
  710. package/dist/node_modules/react-smooth/es6/easing.js +152 -0
  711. package/dist/node_modules/react-smooth/es6/easing.js.map +1 -0
  712. package/dist/node_modules/react-smooth/es6/index.js +9 -0
  713. package/dist/node_modules/react-smooth/es6/index.js.map +1 -0
  714. package/dist/node_modules/react-smooth/es6/setRafTimeout.js +14 -0
  715. package/dist/node_modules/react-smooth/es6/setRafTimeout.js.map +1 -0
  716. package/dist/node_modules/react-smooth/es6/util.js +92 -0
  717. package/dist/node_modules/react-smooth/es6/util.js.map +1 -0
  718. package/dist/node_modules/recharts/es6/cartesian/Bar.js +387 -0
  719. package/dist/node_modules/recharts/es6/cartesian/Bar.js.map +1 -0
  720. package/dist/node_modules/recharts/es6/cartesian/Brush.js +499 -0
  721. package/dist/node_modules/recharts/es6/cartesian/Brush.js.map +1 -0
  722. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js +338 -0
  723. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js.map +1 -0
  724. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js +243 -0
  725. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js.map +1 -0
  726. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js +173 -0
  727. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js.map +1 -0
  728. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js +178 -0
  729. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js.map +1 -0
  730. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js +254 -0
  731. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js.map +1 -0
  732. package/dist/node_modules/recharts/es6/cartesian/XAxis.js +144 -0
  733. package/dist/node_modules/recharts/es6/cartesian/XAxis.js.map +1 -0
  734. package/dist/node_modules/recharts/es6/cartesian/YAxis.js +143 -0
  735. package/dist/node_modules/recharts/es6/cartesian/YAxis.js.map +1 -0
  736. package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js +18 -0
  737. package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js.map +1 -0
  738. package/dist/node_modules/recharts/es6/cartesian/getTicks.js +121 -0
  739. package/dist/node_modules/recharts/es6/cartesian/getTicks.js.map +1 -0
  740. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js +101 -0
  741. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js.map +1 -0
  742. package/dist/node_modules/recharts/es6/chart/BarChart.js +24 -0
  743. package/dist/node_modules/recharts/es6/chart/BarChart.js.map +1 -0
  744. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js +1245 -0
  745. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js.map +1 -0
  746. package/dist/node_modules/recharts/es6/component/Cell.js +9 -0
  747. package/dist/node_modules/recharts/es6/component/Cell.js.map +1 -0
  748. package/dist/node_modules/recharts/es6/component/Cursor.js +93 -0
  749. package/dist/node_modules/recharts/es6/component/Cursor.js.map +1 -0
  750. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js +237 -0
  751. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js.map +1 -0
  752. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js +171 -0
  753. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js.map +1 -0
  754. package/dist/node_modules/recharts/es6/component/Label.js +353 -0
  755. package/dist/node_modules/recharts/es6/component/Label.js.map +1 -0
  756. package/dist/node_modules/recharts/es6/component/LabelList.js +166 -0
  757. package/dist/node_modules/recharts/es6/component/LabelList.js.map +1 -0
  758. package/dist/node_modules/recharts/es6/component/Legend.js +234 -0
  759. package/dist/node_modules/recharts/es6/component/Legend.js.map +1 -0
  760. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js +187 -0
  761. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js.map +1 -0
  762. package/dist/node_modules/recharts/es6/component/Text.js +225 -0
  763. package/dist/node_modules/recharts/es6/component/Text.js.map +1 -0
  764. package/dist/node_modules/recharts/es6/component/Tooltip.js +182 -0
  765. package/dist/node_modules/recharts/es6/component/Tooltip.js.map +1 -0
  766. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js +198 -0
  767. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js.map +1 -0
  768. package/dist/node_modules/recharts/es6/container/Layer.js +40 -0
  769. package/dist/node_modules/recharts/es6/container/Layer.js.map +1 -0
  770. package/dist/node_modules/recharts/es6/container/Surface.js +60 -0
  771. package/dist/node_modules/recharts/es6/container/Surface.js.map +1 -0
  772. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js +46 -0
  773. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js.map +1 -0
  774. package/dist/node_modules/recharts/es6/shape/Cross.js +112 -0
  775. package/dist/node_modules/recharts/es6/shape/Cross.js.map +1 -0
  776. package/dist/node_modules/recharts/es6/shape/Curve.js +136 -0
  777. package/dist/node_modules/recharts/es6/shape/Curve.js.map +1 -0
  778. package/dist/node_modules/recharts/es6/shape/Dot.js +27 -0
  779. package/dist/node_modules/recharts/es6/shape/Dot.js.map +1 -0
  780. package/dist/node_modules/recharts/es6/shape/Rectangle.js +205 -0
  781. package/dist/node_modules/recharts/es6/shape/Rectangle.js.map +1 -0
  782. package/dist/node_modules/recharts/es6/shape/Sector.js +192 -0
  783. package/dist/node_modules/recharts/es6/shape/Sector.js.map +1 -0
  784. package/dist/node_modules/recharts/es6/shape/Symbols.js +143 -0
  785. package/dist/node_modules/recharts/es6/shape/Symbols.js.map +1 -0
  786. package/dist/node_modules/recharts/es6/shape/Trapezoid.js +175 -0
  787. package/dist/node_modules/recharts/es6/shape/Trapezoid.js.map +1 -0
  788. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js +181 -0
  789. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js.map +1 -0
  790. package/dist/node_modules/recharts/es6/util/BarUtils.js +112 -0
  791. package/dist/node_modules/recharts/es6/util/BarUtils.js.map +1 -0
  792. package/dist/node_modules/recharts/es6/util/CartesianUtils.js +234 -0
  793. package/dist/node_modules/recharts/es6/util/CartesianUtils.js.map +1 -0
  794. package/dist/node_modules/recharts/es6/util/ChartUtils.js +541 -0
  795. package/dist/node_modules/recharts/es6/util/ChartUtils.js.map +1 -0
  796. package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js +70 -0
  797. package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js.map +1 -0
  798. package/dist/node_modules/recharts/es6/util/DOMUtils.js +108 -0
  799. package/dist/node_modules/recharts/es6/util/DOMUtils.js.map +1 -0
  800. package/dist/node_modules/recharts/es6/util/DataUtils.js +57 -0
  801. package/dist/node_modules/recharts/es6/util/DataUtils.js.map +1 -0
  802. package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js +58 -0
  803. package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js.map +1 -0
  804. package/dist/node_modules/recharts/es6/util/Events.js +7 -0
  805. package/dist/node_modules/recharts/es6/util/Events.js.map +1 -0
  806. package/dist/node_modules/recharts/es6/util/Global.js +21 -0
  807. package/dist/node_modules/recharts/es6/util/Global.js.map +1 -0
  808. package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js +9 -0
  809. package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js.map +1 -0
  810. package/dist/node_modules/recharts/es6/util/LogUtils.js +15 -0
  811. package/dist/node_modules/recharts/es6/util/LogUtils.js.map +1 -0
  812. package/dist/node_modules/recharts/es6/util/PolarUtils.js +116 -0
  813. package/dist/node_modules/recharts/es6/util/PolarUtils.js.map +1 -0
  814. package/dist/node_modules/recharts/es6/util/ReactUtils.js +127 -0
  815. package/dist/node_modules/recharts/es6/util/ReactUtils.js.map +1 -0
  816. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js +181 -0
  817. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js.map +1 -0
  818. package/dist/node_modules/recharts/es6/util/ShallowEqual.js +10 -0
  819. package/dist/node_modules/recharts/es6/util/ShallowEqual.js.map +1 -0
  820. package/dist/node_modules/recharts/es6/util/TickUtils.js +31 -0
  821. package/dist/node_modules/recharts/es6/util/TickUtils.js.map +1 -0
  822. package/dist/node_modules/recharts/es6/util/calculateViewBox.js +25 -0
  823. package/dist/node_modules/recharts/es6/util/calculateViewBox.js.map +1 -0
  824. package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js +23 -0
  825. package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js.map +1 -0
  826. package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js +16 -0
  827. package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js.map +1 -0
  828. package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js +17 -0
  829. package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js.map +1 -0
  830. package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js +12 -0
  831. package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js.map +1 -0
  832. package/dist/node_modules/recharts/es6/util/getLegendProps.js +88 -0
  833. package/dist/node_modules/recharts/es6/util/getLegendProps.js.map +1 -0
  834. package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js +13 -0
  835. package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js.map +1 -0
  836. package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js +12 -0
  837. package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js.map +1 -0
  838. package/dist/node_modules/recharts/es6/util/tooltip/translate.js +87 -0
  839. package/dist/node_modules/recharts/es6/util/tooltip/translate.js.map +1 -0
  840. package/dist/node_modules/recharts/es6/util/types.js +43 -0
  841. package/dist/node_modules/recharts/es6/util/types.js.map +1 -0
  842. package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js +132 -0
  843. package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js.map +1 -0
  844. package/dist/node_modules/recharts-scale/es6/index.js +1 -0
  845. package/dist/node_modules/recharts-scale/es6/util/arithmetic.js +32 -0
  846. package/dist/node_modules/recharts-scale/es6/util/arithmetic.js.map +1 -0
  847. package/dist/node_modules/recharts-scale/es6/util/utils.js +79 -0
  848. package/dist/node_modules/recharts-scale/es6/util/utils.js.map +1 -0
  849. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +1716 -0
  850. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
  851. package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +13 -0
  852. package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +1 -0
  853. package/dist/node_modules/victory-vendor/es/d3-scale.js +53 -0
  854. package/dist/node_modules/victory-vendor/es/d3-scale.js.map +1 -0
  855. package/package.json +2 -2
  856. package/dist/ecoimpacthub/pages/ActionTrackerPage.js +0 -449
  857. package/dist/ecoimpacthub/pages/ActionTrackerPage.js.map +0 -1
  858. package/dist/ecoimpacthub/pages/ChallengesPage.js +0 -242
  859. package/dist/ecoimpacthub/pages/ChallengesPage.js.map +0 -1
  860. package/dist/ecoimpacthub/pages/CitizenSciencePage.js +0 -443
  861. package/dist/ecoimpacthub/pages/CitizenSciencePage.js.map +0 -1
  862. package/dist/ecoimpacthub/pages/CommunityPage.js +0 -377
  863. package/dist/ecoimpacthub/pages/CommunityPage.js.map +0 -1
  864. package/dist/ecoimpacthub/pages/LearningPage.js +0 -276
  865. package/dist/ecoimpacthub/pages/LearningPage.js.map +0 -1
  866. package/dist/ecoimpacthub/providers/EcoImpactHubProvider.js +0 -27
  867. package/dist/ecoimpacthub/providers/EcoImpactHubProvider.js.map +0 -1
  868. package/dist/ecoimpacthub/store/ecoimpacthubStore.js +0 -551
  869. package/dist/ecoimpacthub/store/ecoimpacthubStore.js.map +0 -1
  870. package/dist/ecoimpacthub/utils/i18n.js +0 -15
  871. package/dist/ecoimpacthub/utils/i18n.js.map +0 -1
@@ -0,0 +1,20 @@
1
+ //#region \0rolldown/runtime.js
2
+ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescriptor, r = Object.getOwnPropertyNames, i = Object.getPrototypeOf, a = Object.prototype.hasOwnProperty, o = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), s = (e, n) => {
3
+ let r = {};
4
+ for (var i in e) t(r, i, {
5
+ get: e[i],
6
+ enumerable: !0
7
+ });
8
+ return n || t(r, Symbol.toStringTag, { value: "Module" }), r;
9
+ }, c = (e, i, o, s) => {
10
+ if (i && typeof i == "object" || typeof i == "function") for (var c = r(i), l = 0, u = c.length, d; l < u; l++) d = c[l], !a.call(e, d) && d !== o && t(e, d, {
11
+ get: ((e) => i[e]).bind(null, d),
12
+ enumerable: !(s = n(i, d)) || s.enumerable
13
+ });
14
+ return e;
15
+ }, l = (n, r, a) => (a = n == null ? {} : e(i(n)), c(r || !n || !n.__esModule ? t(a, "default", {
16
+ value: n,
17
+ enumerable: !0
18
+ }) : a, n));
19
+ //#endregion
20
+ export { o as __commonJSMin, s as __exportAll, l as __toESM };
@@ -1,126 +1,115 @@
1
- import { EcoImpactHubProvider as e } from "./providers/EcoImpactHubProvider.js";
2
- import { tWithFallback as t } from "./utils/i18n.js";
1
+ import { joinPath as e } from "./utils/navigation.js";
2
+ import { EcoImpactHubProvider as t } from "./context/EcoImpactHubContext.js";
3
3
  import { EcoImpactHubRoutes as n } from "./EcoImpactHubRoutes.js";
4
- import { joinPath as r } from "./utils/navigation.js";
5
- import { useEffect as i } from "react";
6
- import { BookOpen as a, FileText as o, LayoutDashboard as s, Leaf as c, Microscope as l, Target as u, Trophy as d, User as f, Users as p } from "lucide-react";
7
- import { FeatureFlagProvider as m } from "@burdenoff/fe-libs/shared/feature-flags";
8
- import { useI18n as h } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
9
- import { jsx as g } from "react/jsx-runtime";
4
+ import { useCallback as r, useEffect as i } from "react";
5
+ import { QueryClient as a, QueryClientProvider as o } from "@tanstack/react-query";
6
+ import { FeatureFlagProvider as s } from "@burdenoff/fe-libs/shared/feature-flags";
7
+ import { useI18n as c } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
8
+ import { Binoculars as l, Factory as u, FileText as d, Gauge as f, LayoutDashboard as p, MapPin as m, PawPrint as h, Trees as g } from "lucide-react";
9
+ import { jsx as _ } from "react/jsx-runtime";
10
10
  //#region src/ecoimpacthub/EcoImpactHubRoot.tsx
11
- var _ = (_) => {
12
- let { registerNavItems: v, registerFooterItems: y, basePath: b = "/" } = _, { t: x } = h(), S = (e, n) => t(x, e, n);
11
+ var v = new a({ defaultOptions: { queries: {
12
+ staleTime: 300 * 1e3,
13
+ retry: 1,
14
+ refetchOnWindowFocus: !1
15
+ } } }), y = (a) => {
16
+ let { registerNavItems: y, registerFooterItems: b, basePath: x = "/" } = a, { t: S } = c(), C = r((e, t) => {
17
+ let n = S(e);
18
+ return n === e ? t : n;
19
+ }, [S]);
13
20
  return i(() => {
14
- if (v) return v({
15
- id: "ecoimpacthub",
16
- label: S("ecoimpacthub.nav.root", "EcoImpactHub"),
17
- path: b,
18
- icon: /* @__PURE__ */ g(c, { size: 20 }),
19
- order: 80,
20
- group: "products",
21
- children: [
22
- {
23
- id: "ecoimpacthub-dashboard",
24
- label: S("ecoimpacthub.nav.dashboard", "Dashboard"),
25
- path: b,
26
- icon: /* @__PURE__ */ g(s, { size: 16 }),
27
- order: 0
28
- },
29
- {
30
- id: "ecoimpacthub-action-tracker",
31
- label: S("ecoimpacthub.nav.actionTracker", "Action Tracker"),
32
- path: r(b, "action-tracker"),
33
- icon: /* @__PURE__ */ g(u, { size: 16 }),
34
- order: 1
35
- },
36
- {
37
- id: "ecoimpacthub-challenges",
38
- label: S("ecoimpacthub.nav.challenges", "Challenges"),
39
- path: r(b, "challenges"),
40
- icon: /* @__PURE__ */ g(d, { size: 16 }),
41
- order: 2
42
- },
43
- {
44
- id: "ecoimpacthub-citizen-science",
45
- label: S("ecoimpacthub.nav.citizenScience", "Citizen Science"),
46
- path: r(b, "citizen-science"),
47
- icon: /* @__PURE__ */ g(l, { size: 16 }),
48
- order: 3
49
- },
50
- {
51
- id: "ecoimpacthub-community",
52
- label: S("ecoimpacthub.nav.community", "Community"),
53
- path: r(b, "community"),
54
- icon: /* @__PURE__ */ g(p, { size: 16 }),
55
- order: 4
56
- },
57
- {
58
- id: "ecoimpacthub-learning",
59
- label: S("ecoimpacthub.nav.learning", "Learning"),
60
- path: r(b, "learning"),
61
- icon: /* @__PURE__ */ g(a, { size: 16 }),
62
- order: 5
63
- },
64
- {
65
- id: "ecoimpacthub-profile",
66
- label: S("ecoimpacthub.nav.profile", "Profile"),
67
- path: r(b, "profile"),
68
- icon: /* @__PURE__ */ g(f, { size: 16 }),
69
- order: 6
70
- },
71
- {
72
- id: "ecoimpacthub-home",
73
- label: S("ecoimpacthub.nav.home", "Home"),
74
- path: r(b, "home"),
75
- icon: /* @__PURE__ */ g(c, { size: 16 }),
76
- order: 7
77
- },
78
- {
79
- id: "ecoimpacthub-privacy",
80
- label: S("ecoimpacthub.nav.privacy", "Privacy"),
81
- path: r(b, "privacy"),
82
- icon: /* @__PURE__ */ g(o, { size: 16 }),
83
- order: 8
84
- },
85
- {
86
- id: "ecoimpacthub-terms",
87
- label: S("ecoimpacthub.nav.terms", "Terms"),
88
- path: r(b, "terms"),
89
- icon: /* @__PURE__ */ g(o, { size: 16 }),
90
- order: 9
91
- },
92
- {
93
- id: "ecoimpacthub-cookies",
94
- label: S("ecoimpacthub.nav.cookies", "Cookies"),
95
- path: r(b, "cookies"),
96
- icon: /* @__PURE__ */ g(o, { size: 16 }),
97
- order: 10
98
- }
99
- ]
100
- });
21
+ if (y) return y([
22
+ {
23
+ id: "ecoimpacthub-dashboard",
24
+ label: C("ecoimpacthub.nav.dashboard", "Dashboard"),
25
+ path: e(x, ""),
26
+ icon: /* @__PURE__ */ _(p, { size: 20 }),
27
+ order: 0,
28
+ group: "products"
29
+ },
30
+ {
31
+ id: "ecoimpacthub-sites",
32
+ label: C("ecoimpacthub.nav.sites", "Sites"),
33
+ path: e(x, "sites"),
34
+ icon: /* @__PURE__ */ _(m, { size: 20 }),
35
+ order: 1,
36
+ group: "products"
37
+ },
38
+ {
39
+ id: "ecoimpacthub-monitoring",
40
+ label: C("ecoimpacthub.nav.monitoring", "Monitoring"),
41
+ path: e(x, "monitoring"),
42
+ icon: /* @__PURE__ */ _(f, { size: 20 }),
43
+ order: 2,
44
+ group: "products"
45
+ },
46
+ {
47
+ id: "ecoimpacthub-species",
48
+ label: C("ecoimpacthub.nav.species", "Species"),
49
+ path: e(x, "species"),
50
+ icon: /* @__PURE__ */ _(h, { size: 20 }),
51
+ order: 3,
52
+ group: "products"
53
+ },
54
+ {
55
+ id: "ecoimpacthub-observations",
56
+ label: C("ecoimpacthub.nav.observations", "Observations"),
57
+ path: e(x, "observations"),
58
+ icon: /* @__PURE__ */ _(l, { size: 20 }),
59
+ order: 4,
60
+ group: "products"
61
+ },
62
+ {
63
+ id: "ecoimpacthub-habitat",
64
+ label: C("ecoimpacthub.nav.habitat", "Habitat"),
65
+ path: e(x, "habitat"),
66
+ icon: /* @__PURE__ */ _(g, { size: 20 }),
67
+ order: 5,
68
+ group: "products"
69
+ },
70
+ {
71
+ id: "ecoimpacthub-carbon",
72
+ label: C("ecoimpacthub.nav.carbon", "Carbon"),
73
+ path: e(x, "carbon"),
74
+ icon: /* @__PURE__ */ _(u, { size: 20 }),
75
+ order: 6,
76
+ group: "products"
77
+ },
78
+ {
79
+ id: "ecoimpacthub-reports",
80
+ label: C("ecoimpacthub.nav.reports", "Reports"),
81
+ path: e(x, "reports"),
82
+ icon: /* @__PURE__ */ _(d, { size: 20 }),
83
+ order: 7,
84
+ group: "products"
85
+ }
86
+ ]);
101
87
  }, [
102
- v,
103
- b,
104
- x
88
+ y,
89
+ x,
90
+ C
105
91
  ]), i(() => {
106
- if (y) return y([{
92
+ if (b) return b([{
107
93
  id: "ecoimpacthub-status",
108
- label: S("ecoimpacthub.footer.ready", "EcoImpactHub Ready"),
94
+ label: C("ecoimpacthub.footer.ready", "EcoImpactHub Ready"),
109
95
  type: "status",
110
96
  section: "left",
111
97
  order: 10
112
98
  }]);
113
- }, [y, x]), /* @__PURE__ */ g(m, {
114
- workspaceId: null,
115
- gateway: "global",
116
- defaultEnabled: !0,
117
- children: /* @__PURE__ */ g(e, {
118
- ..._,
119
- children: /* @__PURE__ */ g(n, {})
99
+ }, [b, C]), /* @__PURE__ */ _(o, {
100
+ client: v,
101
+ children: /* @__PURE__ */ _(s, {
102
+ workspaceId: null,
103
+ gateway: "global",
104
+ defaultEnabled: !0,
105
+ children: /* @__PURE__ */ _(t, {
106
+ ...a,
107
+ children: /* @__PURE__ */ _(n, {})
108
+ })
120
109
  })
121
110
  });
122
111
  };
123
112
  //#endregion
124
- export { _ as EcoImpactHubRoot };
113
+ export { y as EcoImpactHubRoot };
125
114
 
126
115
  //# sourceMappingURL=EcoImpactHubRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EcoImpactHubRoot.js","names":[],"sources":["../../src/ecoimpacthub/EcoImpactHubRoot.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { useEffect } from 'react';\nimport {\n LayoutDashboard,\n Leaf,\n Trophy,\n Microscope,\n Users,\n BookOpen,\n Target,\n User,\n FileText,\n} from 'lucide-react';\nimport { FeatureFlagProvider } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { EcoImpactHubRoutes } from './EcoImpactHubRoutes';\nimport { EcoImpactHubProvider } from './providers/EcoImpactHubProvider';\nimport type { NavItem, EcoImpactHubRootProps } from './types';\nimport { tWithFallback } from './utils/i18n';\nimport { joinPath } from './utils/navigation';\n\nexport const EcoImpactHubRoot: FC<EcoImpactHubRootProps> = (props) => {\n const { registerNavItems, registerFooterItems, basePath = '/' } = props;\n const { t } = useI18n();\n const translate = (key: string, fallback: string) => tWithFallback(t, key, fallback);\n\n useEffect(() => {\n if (!registerNavItems) return;\n const navItem: NavItem = {\n id: 'ecoimpacthub',\n label: translate('ecoimpacthub.nav.root', 'EcoImpactHub'),\n path: basePath,\n icon: <Leaf size={20} />,\n order: 80,\n group: 'products',\n children: [\n {\n id: 'ecoimpacthub-dashboard',\n label: translate('ecoimpacthub.nav.dashboard', 'Dashboard'),\n path: basePath,\n icon: <LayoutDashboard size={16} />,\n order: 0,\n },\n {\n id: 'ecoimpacthub-action-tracker',\n label: translate('ecoimpacthub.nav.actionTracker', 'Action Tracker'),\n path: joinPath(basePath, 'action-tracker'),\n icon: <Target size={16} />,\n order: 1,\n },\n {\n id: 'ecoimpacthub-challenges',\n label: translate('ecoimpacthub.nav.challenges', 'Challenges'),\n path: joinPath(basePath, 'challenges'),\n icon: <Trophy size={16} />,\n order: 2,\n },\n {\n id: 'ecoimpacthub-citizen-science',\n label: translate('ecoimpacthub.nav.citizenScience', 'Citizen Science'),\n path: joinPath(basePath, 'citizen-science'),\n icon: <Microscope size={16} />,\n order: 3,\n },\n {\n id: 'ecoimpacthub-community',\n label: translate('ecoimpacthub.nav.community', 'Community'),\n path: joinPath(basePath, 'community'),\n icon: <Users size={16} />,\n order: 4,\n },\n {\n id: 'ecoimpacthub-learning',\n label: translate('ecoimpacthub.nav.learning', 'Learning'),\n path: joinPath(basePath, 'learning'),\n icon: <BookOpen size={16} />,\n order: 5,\n },\n {\n id: 'ecoimpacthub-profile',\n label: translate('ecoimpacthub.nav.profile', 'Profile'),\n path: joinPath(basePath, 'profile'),\n icon: <User size={16} />,\n order: 6,\n },\n {\n id: 'ecoimpacthub-home',\n label: translate('ecoimpacthub.nav.home', 'Home'),\n path: joinPath(basePath, 'home'),\n icon: <Leaf size={16} />,\n order: 7,\n },\n {\n id: 'ecoimpacthub-privacy',\n label: translate('ecoimpacthub.nav.privacy', 'Privacy'),\n path: joinPath(basePath, 'privacy'),\n icon: <FileText size={16} />,\n order: 8,\n },\n {\n id: 'ecoimpacthub-terms',\n label: translate('ecoimpacthub.nav.terms', 'Terms'),\n path: joinPath(basePath, 'terms'),\n icon: <FileText size={16} />,\n order: 9,\n },\n {\n id: 'ecoimpacthub-cookies',\n label: translate('ecoimpacthub.nav.cookies', 'Cookies'),\n path: joinPath(basePath, 'cookies'),\n icon: <FileText size={16} />,\n order: 10,\n },\n ],\n };\n return registerNavItems(navItem);\n }, [registerNavItems, basePath, t]);\n\n useEffect(() => {\n if (!registerFooterItems) return;\n return registerFooterItems([\n {\n id: 'ecoimpacthub-status',\n label: translate('ecoimpacthub.footer.ready', 'EcoImpactHub Ready'),\n type: 'status',\n section: 'left',\n order: 10,\n },\n ]);\n }, [registerFooterItems, t]);\n\n return (\n <FeatureFlagProvider workspaceId={null} gateway=\"global\" defaultEnabled={true}>\n <EcoImpactHubProvider {...props}>\n <EcoImpactHubRoutes />\n </EcoImpactHubProvider>\n </FeatureFlagProvider>\n );\n};\n"],"mappings":";;;;;;;;;;AAqBA,IAAa,KAA+C,MAAU;CACpE,IAAM,EAAE,qBAAkB,wBAAqB,cAAW,QAAQ,GAC5D,EAAE,SAAM,GAAS,EACjB,KAAa,GAAa,MAAqB,EAAc,GAAG,GAAK,EAAS;AA2GpF,QAzGA,QAAgB;AACT,QAwFL,QAAO,EAvFkB;GACvB,IAAI;GACJ,OAAO,EAAU,yBAAyB,eAAe;GACzD,MAAM;GACN,MAAM,kBAAC,GAAD,EAAM,MAAM,IAAM,CAAA;GACxB,OAAO;GACP,OAAO;GACP,UAAU;IACR;KACE,IAAI;KACJ,OAAO,EAAU,8BAA8B,YAAY;KAC3D,MAAM;KACN,MAAM,kBAAC,GAAD,EAAiB,MAAM,IAAM,CAAA;KACnC,OAAO;KACR;IACD;KACE,IAAI;KACJ,OAAO,EAAU,kCAAkC,iBAAiB;KACpE,MAAM,EAAS,GAAU,iBAAiB;KAC1C,MAAM,kBAAC,GAAD,EAAQ,MAAM,IAAM,CAAA;KAC1B,OAAO;KACR;IACD;KACE,IAAI;KACJ,OAAO,EAAU,+BAA+B,aAAa;KAC7D,MAAM,EAAS,GAAU,aAAa;KACtC,MAAM,kBAAC,GAAD,EAAQ,MAAM,IAAM,CAAA;KAC1B,OAAO;KACR;IACD;KACE,IAAI;KACJ,OAAO,EAAU,mCAAmC,kBAAkB;KACtE,MAAM,EAAS,GAAU,kBAAkB;KAC3C,MAAM,kBAAC,GAAD,EAAY,MAAM,IAAM,CAAA;KAC9B,OAAO;KACR;IACD;KACE,IAAI;KACJ,OAAO,EAAU,8BAA8B,YAAY;KAC3D,MAAM,EAAS,GAAU,YAAY;KACrC,MAAM,kBAAC,GAAD,EAAO,MAAM,IAAM,CAAA;KACzB,OAAO;KACR;IACD;KACE,IAAI;KACJ,OAAO,EAAU,6BAA6B,WAAW;KACzD,MAAM,EAAS,GAAU,WAAW;KACpC,MAAM,kBAAC,GAAD,EAAU,MAAM,IAAM,CAAA;KAC5B,OAAO;KACR;IACD;KACE,IAAI;KACJ,OAAO,EAAU,4BAA4B,UAAU;KACvD,MAAM,EAAS,GAAU,UAAU;KACnC,MAAM,kBAAC,GAAD,EAAM,MAAM,IAAM,CAAA;KACxB,OAAO;KACR;IACD;KACE,IAAI;KACJ,OAAO,EAAU,yBAAyB,OAAO;KACjD,MAAM,EAAS,GAAU,OAAO;KAChC,MAAM,kBAAC,GAAD,EAAM,MAAM,IAAM,CAAA;KACxB,OAAO;KACR;IACD;KACE,IAAI;KACJ,OAAO,EAAU,4BAA4B,UAAU;KACvD,MAAM,EAAS,GAAU,UAAU;KACnC,MAAM,kBAAC,GAAD,EAAU,MAAM,IAAM,CAAA;KAC5B,OAAO;KACR;IACD;KACE,IAAI;KACJ,OAAO,EAAU,0BAA0B,QAAQ;KACnD,MAAM,EAAS,GAAU,QAAQ;KACjC,MAAM,kBAAC,GAAD,EAAU,MAAM,IAAM,CAAA;KAC5B,OAAO;KACR;IACD;KACE,IAAI;KACJ,OAAO,EAAU,4BAA4B,UAAU;KACvD,MAAM,EAAS,GAAU,UAAU;KACnC,MAAM,kBAAC,GAAD,EAAU,MAAM,IAAM,CAAA;KAC5B,OAAO;KACR;IACF;GACF,CAC+B;IAC/B;EAAC;EAAkB;EAAU;EAAE,CAAC,EAEnC,QAAgB;AACT,QACL,QAAO,EAAoB,CACzB;GACE,IAAI;GACJ,OAAO,EAAU,6BAA6B,qBAAqB;GACnE,MAAM;GACN,SAAS;GACT,OAAO;GACR,CACF,CAAC;IACD,CAAC,GAAqB,EAAE,CAAC,EAG1B,kBAAC,GAAD;EAAqB,aAAa;EAAM,SAAQ;EAAS,gBAAgB;YACvE,kBAAC,GAAD;GAAsB,GAAI;aACxB,kBAAC,GAAD,EAAsB,CAAA;GACD,CAAA;EACH,CAAA"}
1
+ {"version":3,"file":"EcoImpactHubRoot.js","names":[],"sources":["../../src/ecoimpacthub/EcoImpactHubRoot.tsx"],"sourcesContent":["/**\n * EcoImpactHub Root Component\n * @module ecoimpacthub\n *\n * Host-contract entry point. Registers the product's sidebar nav (eight sections\n * that map 1:1 to the wspace-ecoimpacthub-svc `eco*` backend) and mounts the\n * routed pages inside the shared QueryClient + FeatureFlag providers.\n */\n\nimport type { FC } from 'react';\nimport { useCallback, useEffect } from 'react';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport { FeatureFlagProvider } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport {\n LayoutDashboard,\n MapPin,\n Gauge,\n PawPrint,\n Binoculars,\n Trees,\n Factory,\n FileText,\n} from 'lucide-react';\nimport { EcoImpactHubProvider } from './context/EcoImpactHubContext';\nimport { EcoImpactHubRoutes } from './EcoImpactHubRoutes';\nimport { joinPath } from './utils/navigation';\nimport type { EcoImpactHubRootProps, NavItem } from './types';\n\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 5 * 60 * 1000,\n retry: 1,\n refetchOnWindowFocus: false,\n },\n },\n});\n\nexport const EcoImpactHubRoot: FC<EcoImpactHubRootProps> = (props) => {\n const { registerNavItems, registerFooterItems, basePath = '/' } = props;\n const { t: translate } = useI18n();\n const t = useCallback(\n (key: string, fallback: string): string => {\n const value = translate(key);\n return value === key ? fallback : value;\n },\n [translate]\n );\n\n // Register navigation items with the shell on mount. Ids/paths/orders match\n // the app-shell static NavRegistration block so the two are a single,\n // consistent source of truth.\n useEffect(() => {\n if (!registerNavItems) return;\n\n const navItems: NavItem[] = [\n {\n id: 'ecoimpacthub-dashboard',\n label: t('ecoimpacthub.nav.dashboard', 'Dashboard'),\n path: joinPath(basePath, ''),\n icon: <LayoutDashboard size={20} />,\n order: 0,\n group: 'products',\n },\n {\n id: 'ecoimpacthub-sites',\n label: t('ecoimpacthub.nav.sites', 'Sites'),\n path: joinPath(basePath, 'sites'),\n icon: <MapPin size={20} />,\n order: 1,\n group: 'products',\n },\n {\n id: 'ecoimpacthub-monitoring',\n label: t('ecoimpacthub.nav.monitoring', 'Monitoring'),\n path: joinPath(basePath, 'monitoring'),\n icon: <Gauge size={20} />,\n order: 2,\n group: 'products',\n },\n {\n id: 'ecoimpacthub-species',\n label: t('ecoimpacthub.nav.species', 'Species'),\n path: joinPath(basePath, 'species'),\n icon: <PawPrint size={20} />,\n order: 3,\n group: 'products',\n },\n {\n id: 'ecoimpacthub-observations',\n label: t('ecoimpacthub.nav.observations', 'Observations'),\n path: joinPath(basePath, 'observations'),\n icon: <Binoculars size={20} />,\n order: 4,\n group: 'products',\n },\n {\n id: 'ecoimpacthub-habitat',\n label: t('ecoimpacthub.nav.habitat', 'Habitat'),\n path: joinPath(basePath, 'habitat'),\n icon: <Trees size={20} />,\n order: 5,\n group: 'products',\n },\n {\n id: 'ecoimpacthub-carbon',\n label: t('ecoimpacthub.nav.carbon', 'Carbon'),\n path: joinPath(basePath, 'carbon'),\n icon: <Factory size={20} />,\n order: 6,\n group: 'products',\n },\n {\n id: 'ecoimpacthub-reports',\n label: t('ecoimpacthub.nav.reports', 'Reports'),\n path: joinPath(basePath, 'reports'),\n icon: <FileText size={20} />,\n order: 7,\n group: 'products',\n },\n ];\n\n return registerNavItems(navItems);\n }, [registerNavItems, basePath, t]);\n\n useEffect(() => {\n if (!registerFooterItems) return;\n return registerFooterItems([\n {\n id: 'ecoimpacthub-status',\n label: t('ecoimpacthub.footer.ready', 'EcoImpactHub Ready'),\n type: 'status',\n section: 'left',\n order: 10,\n },\n ]);\n }, [registerFooterItems, t]);\n\n return (\n <QueryClientProvider client={queryClient}>\n <FeatureFlagProvider workspaceId={null} gateway=\"global\" defaultEnabled={true}>\n <EcoImpactHubProvider {...props}>\n <EcoImpactHubRoutes />\n </EcoImpactHubProvider>\n </FeatureFlagProvider>\n </QueryClientProvider>\n );\n};\n"],"mappings":";;;;;;;;;;AA6BA,IAAM,IAAc,IAAI,EAAY,EAClC,gBAAgB,EACd,SAAS;CACP,WAAW,MAAS;CACpB,OAAO;CACP,sBAAsB;CACvB,EACF,EACF,CAAC,EAEW,KAA+C,MAAU;CACpE,IAAM,EAAE,qBAAkB,wBAAqB,cAAW,QAAQ,GAC5D,EAAE,GAAG,MAAc,GAAS,EAC5B,IAAI,GACP,GAAa,MAA6B;EACzC,IAAM,IAAQ,EAAU,EAAI;AAC5B,SAAO,MAAU,IAAM,IAAW;IAEpC,CAAC,EAAU,CACZ;AA2FD,QAtFA,QAAgB;AACT,QAqEL,QAAO,EAnEqB;GAC1B;IACE,IAAI;IACJ,OAAO,EAAE,8BAA8B,YAAY;IACnD,MAAM,EAAS,GAAU,GAAG;IAC5B,MAAM,kBAAC,GAAD,EAAiB,MAAM,IAAM,CAAA;IACnC,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,0BAA0B,QAAQ;IAC3C,MAAM,EAAS,GAAU,QAAQ;IACjC,MAAM,kBAAC,GAAD,EAAQ,MAAM,IAAM,CAAA;IAC1B,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,+BAA+B,aAAa;IACrD,MAAM,EAAS,GAAU,aAAa;IACtC,MAAM,kBAAC,GAAD,EAAO,MAAM,IAAM,CAAA;IACzB,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,4BAA4B,UAAU;IAC/C,MAAM,EAAS,GAAU,UAAU;IACnC,MAAM,kBAAC,GAAD,EAAU,MAAM,IAAM,CAAA;IAC5B,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,iCAAiC,eAAe;IACzD,MAAM,EAAS,GAAU,eAAe;IACxC,MAAM,kBAAC,GAAD,EAAY,MAAM,IAAM,CAAA;IAC9B,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,4BAA4B,UAAU;IAC/C,MAAM,EAAS,GAAU,UAAU;IACnC,MAAM,kBAAC,GAAD,EAAO,MAAM,IAAM,CAAA;IACzB,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,2BAA2B,SAAS;IAC7C,MAAM,EAAS,GAAU,SAAS;IAClC,MAAM,kBAAC,GAAD,EAAS,MAAM,IAAM,CAAA;IAC3B,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,4BAA4B,UAAU;IAC/C,MAAM,EAAS,GAAU,UAAU;IACnC,MAAM,kBAAC,GAAD,EAAU,MAAM,IAAM,CAAA;IAC5B,OAAO;IACP,OAAO;IACR;GACF,CAEgC;IAChC;EAAC;EAAkB;EAAU;EAAE,CAAC,EAEnC,QAAgB;AACT,QACL,QAAO,EAAoB,CACzB;GACE,IAAI;GACJ,OAAO,EAAE,6BAA6B,qBAAqB;GAC3D,MAAM;GACN,SAAS;GACT,OAAO;GACR,CACF,CAAC;IACD,CAAC,GAAqB,EAAE,CAAC,EAG1B,kBAAC,GAAD;EAAqB,QAAQ;YAC3B,kBAAC,GAAD;GAAqB,aAAa;GAAM,SAAQ;GAAS,gBAAgB;aACvE,kBAAC,GAAD;IAAsB,GAAI;cACxB,kBAAC,GAAD,EAAsB,CAAA;IACD,CAAA;GACH,CAAA;EACF,CAAA"}
@@ -1,55 +1,80 @@
1
- import { DashboardPage as e } from "./pages/DashboardPage.js";
2
- import { Suspense as t, lazy as n } from "react";
3
- import { Loader2 as r } from "lucide-react";
4
- import { Navigate as i, Route as a, Routes as o } from "react-router-dom";
5
- import { jsx as s, jsxs as c } from "react/jsx-runtime";
1
+ import { useEcoImpactHub as e } from "./context/EcoImpactHubContext.js";
2
+ import { DashboardPage as t } from "./pages/DashboardPage.js";
3
+ import { Suspense as n, lazy as r } from "react";
4
+ import { Navigate as i, Route as a, Routes as o, useLocation as s } from "react-router-dom";
5
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
6
+ import { Spinner as u } from "@burdenoff/fe-libs/ui";
6
7
  //#region src/ecoimpacthub/EcoImpactHubRoutes.tsx
7
- var l = n(() => import("./pages/ChallengesPage.js").then((e) => ({ default: e.ChallengesPage }))), u = n(() => import("./pages/CitizenSciencePage.js").then((e) => ({ default: e.CitizenSciencePage }))), d = n(() => import("./pages/CommunityPage.js").then((e) => ({ default: e.CommunityPage }))), f = n(() => import("./pages/ActionTrackerPage.js").then((e) => ({ default: e.ActionTrackerPage }))), p = n(() => import("./pages/LearningPage.js").then((e) => ({ default: e.LearningPage })));
8
- function m() {
9
- return /* @__PURE__ */ s("div", {
10
- className: "flex min-h-[320px] items-center justify-center",
11
- children: /* @__PURE__ */ s(r, { className: "h-8 w-8 animate-spin text-primary" })
12
- });
13
- }
14
- function h() {
15
- return /* @__PURE__ */ s(t, {
16
- fallback: /* @__PURE__ */ s(m, {}),
17
- children: /* @__PURE__ */ c(o, { children: [
18
- /* @__PURE__ */ s(a, {
19
- index: !0,
20
- element: /* @__PURE__ */ s(e, {})
21
- }),
22
- /* @__PURE__ */ s(a, {
23
- path: "challenges",
24
- element: /* @__PURE__ */ s(l, {})
25
- }),
26
- /* @__PURE__ */ s(a, {
27
- path: "citizen-science",
28
- element: /* @__PURE__ */ s(u, {})
29
- }),
30
- /* @__PURE__ */ s(a, {
31
- path: "community",
32
- element: /* @__PURE__ */ s(d, {})
33
- }),
34
- /* @__PURE__ */ s(a, {
35
- path: "action-tracker",
36
- element: /* @__PURE__ */ s(f, {})
37
- }),
38
- /* @__PURE__ */ s(a, {
39
- path: "learning",
40
- element: /* @__PURE__ */ s(p, {})
41
- }),
42
- /* @__PURE__ */ s(a, {
43
- path: "*",
44
- element: /* @__PURE__ */ s(i, {
45
- to: "",
46
- replace: !0
8
+ var d = r(() => import("./pages/sites/SitesPage.js").then((e) => ({ default: e.SitesPage }))), f = r(() => import("./pages/sites/SiteDetailPage.js").then((e) => ({ default: e.SiteDetailPage }))), p = r(() => import("./pages/monitoring/MonitoringPage.js").then((e) => ({ default: e.MonitoringPage }))), m = r(() => import("./pages/species/SpeciesPage.js").then((e) => ({ default: e.SpeciesPage }))), h = r(() => import("./pages/species/SpeciesDetailPage.js").then((e) => ({ default: e.SpeciesDetailPage }))), g = r(() => import("./pages/observations/ObservationsPage.js").then((e) => ({ default: e.ObservationsPage }))), _ = r(() => import("./pages/habitat/HabitatProjectsPage.js").then((e) => ({ default: e.HabitatProjectsPage }))), v = r(() => import("./pages/habitat/HabitatProjectDetailPage.js").then((e) => ({ default: e.HabitatProjectDetailPage }))), y = r(() => import("./pages/carbon/CarbonPage.js").then((e) => ({ default: e.CarbonPage }))), b = r(() => import("./pages/reports/ReportsPage.js").then((e) => ({ default: e.ReportsPage }))), x = r(() => import("./pages/reports/ReportDetailPage.js").then((e) => ({ default: e.ReportDetailPage }))), S = () => /* @__PURE__ */ c("div", {
9
+ className: "flex min-h-[400px] items-center justify-center",
10
+ children: /* @__PURE__ */ c(u, { size: "lg" })
11
+ }), C = () => {
12
+ let { basePath: r, isStandalone: u } = e(), C = s(), w = r === "/" ? "" : (r ?? "").replace(/\/$/, "");
13
+ return w && !u && !(C.pathname === w || C.pathname.startsWith(w + "/")) ? null : /* @__PURE__ */ c("div", {
14
+ className: "flex min-h-full flex-col",
15
+ children: /* @__PURE__ */ c(n, {
16
+ fallback: /* @__PURE__ */ c(S, {}),
17
+ children: /* @__PURE__ */ l(o, { children: [
18
+ /* @__PURE__ */ c(a, {
19
+ index: !0,
20
+ element: /* @__PURE__ */ c(t, {})
21
+ }),
22
+ /* @__PURE__ */ c(a, {
23
+ path: "sites",
24
+ element: /* @__PURE__ */ c(d, {})
25
+ }),
26
+ /* @__PURE__ */ c(a, {
27
+ path: "sites/:id",
28
+ element: /* @__PURE__ */ c(f, {})
29
+ }),
30
+ /* @__PURE__ */ c(a, {
31
+ path: "monitoring",
32
+ element: /* @__PURE__ */ c(p, {})
33
+ }),
34
+ /* @__PURE__ */ c(a, {
35
+ path: "species",
36
+ element: /* @__PURE__ */ c(m, {})
37
+ }),
38
+ /* @__PURE__ */ c(a, {
39
+ path: "species/:id",
40
+ element: /* @__PURE__ */ c(h, {})
41
+ }),
42
+ /* @__PURE__ */ c(a, {
43
+ path: "observations",
44
+ element: /* @__PURE__ */ c(g, {})
45
+ }),
46
+ /* @__PURE__ */ c(a, {
47
+ path: "habitat",
48
+ element: /* @__PURE__ */ c(_, {})
49
+ }),
50
+ /* @__PURE__ */ c(a, {
51
+ path: "habitat/:id",
52
+ element: /* @__PURE__ */ c(v, {})
53
+ }),
54
+ /* @__PURE__ */ c(a, {
55
+ path: "carbon",
56
+ element: /* @__PURE__ */ c(y, {})
57
+ }),
58
+ /* @__PURE__ */ c(a, {
59
+ path: "reports",
60
+ element: /* @__PURE__ */ c(b, {})
61
+ }),
62
+ /* @__PURE__ */ c(a, {
63
+ path: "reports/:id",
64
+ element: /* @__PURE__ */ c(x, {})
65
+ }),
66
+ /* @__PURE__ */ c(a, {
67
+ path: "*",
68
+ element: /* @__PURE__ */ c(i, {
69
+ to: "",
70
+ replace: !0
71
+ })
47
72
  })
48
- })
49
- ] })
73
+ ] })
74
+ })
50
75
  });
51
- }
76
+ };
52
77
  //#endregion
53
- export { h as EcoImpactHubRoutes };
78
+ export { C as EcoImpactHubRoutes };
54
79
 
55
80
  //# sourceMappingURL=EcoImpactHubRoutes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EcoImpactHubRoutes.js","names":[],"sources":["../../src/ecoimpacthub/EcoImpactHubRoutes.tsx"],"sourcesContent":["import { lazy, Suspense } from 'react';\nimport { Navigate, Route, Routes } from 'react-router-dom';\nimport { Loader2 } from 'lucide-react';\nimport { DashboardPage as IndexPage } from './pages/DashboardPage';\n\nconst ChallengesPage = lazy(() =>\n import('./pages/ChallengesPage').then((m) => ({ default: m.ChallengesPage }))\n);\nconst CitizenSciencePage = lazy(() =>\n import('./pages/CitizenSciencePage').then((m) => ({ default: m.CitizenSciencePage }))\n);\nconst CommunityPage = lazy(() =>\n import('./pages/CommunityPage').then((m) => ({ default: m.CommunityPage }))\n);\nconst ActionTrackerPage = lazy(() =>\n import('./pages/ActionTrackerPage').then((m) => ({ default: m.ActionTrackerPage }))\n);\nconst LearningPage = lazy(() =>\n import('./pages/LearningPage').then((m) => ({ default: m.LearningPage }))\n);\n\nfunction PageLoader() {\n return (\n <div className=\"flex min-h-[320px] items-center justify-center\">\n <Loader2 className=\"h-8 w-8 animate-spin text-primary\" />\n </div>\n );\n}\n\nexport function EcoImpactHubRoutes() {\n return (\n <Suspense fallback={<PageLoader />}>\n <Routes>\n <Route index element={<IndexPage />} />\n <Route path=\"challenges\" element={<ChallengesPage />} />\n <Route path=\"citizen-science\" element={<CitizenSciencePage />} />\n <Route path=\"community\" element={<CommunityPage />} />\n <Route path=\"action-tracker\" element={<ActionTrackerPage />} />\n <Route path=\"learning\" element={<LearningPage />} />\n <Route path=\"*\" element={<Navigate to=\"\" replace />} />\n </Routes>\n </Suspense>\n );\n}\n"],"mappings":";;;;;;AAKA,IAAM,IAAiB,QACrB,OAAO,6BAA0B,MAAM,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAC9E,EACK,IAAqB,QACzB,OAAO,iCAA8B,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CACtF,EACK,IAAgB,QACpB,OAAO,4BAAyB,MAAM,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,CAC5E,EACK,IAAoB,QACxB,OAAO,gCAA6B,MAAM,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CACpF,EACK,IAAe,QACnB,OAAO,2BAAwB,MAAM,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAC1E;AAED,SAAS,IAAa;AACpB,QACE,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD,EAAS,WAAU,qCAAsC,CAAA;EACrD,CAAA;;AAIV,SAAgB,IAAqB;AACnC,QACE,kBAAC,GAAD;EAAU,UAAU,kBAAC,GAAD,EAAc,CAAA;YAChC,kBAAC,GAAD,EAAA,UAAA;GACE,kBAAC,GAAD;IAAO,OAAA;IAAM,SAAS,kBAAC,GAAD,EAAa,CAAA;IAAI,CAAA;GACvC,kBAAC,GAAD;IAAO,MAAK;IAAa,SAAS,kBAAC,GAAD,EAAkB,CAAA;IAAI,CAAA;GACxD,kBAAC,GAAD;IAAO,MAAK;IAAkB,SAAS,kBAAC,GAAD,EAAsB,CAAA;IAAI,CAAA;GACjE,kBAAC,GAAD;IAAO,MAAK;IAAY,SAAS,kBAAC,GAAD,EAAiB,CAAA;IAAI,CAAA;GACtD,kBAAC,GAAD;IAAO,MAAK;IAAiB,SAAS,kBAAC,GAAD,EAAqB,CAAA;IAAI,CAAA;GAC/D,kBAAC,GAAD;IAAO,MAAK;IAAW,SAAS,kBAAC,GAAD,EAAgB,CAAA;IAAI,CAAA;GACpD,kBAAC,GAAD;IAAO,MAAK;IAAI,SAAS,kBAAC,GAAD;KAAU,IAAG;KAAG,SAAA;KAAU,CAAA;IAAI,CAAA;GAChD,EAAA,CAAA;EACA,CAAA"}
1
+ {"version":3,"file":"EcoImpactHubRoutes.js","names":[],"sources":["../../src/ecoimpacthub/EcoImpactHubRoutes.tsx"],"sourcesContent":["/**\n * EcoImpactHub Routes\n * @module ecoimpacthub\n *\n * Domain routes. The dashboard is eager-loaded (primary landing); all other\n * pages are lazy-loaded. Every route maps to a real `eco*` backend capability.\n */\n\nimport { type FC, lazy, Suspense } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router-dom';\nimport { Spinner } from '@burdenoff/fe-libs/ui';\nimport { useEcoImpactHub } from './context/EcoImpactHubContext';\n\n// Eager — primary landing\nimport { DashboardPage } from './pages/DashboardPage';\n\n// Sites (Environmental Monitoring)\nconst SitesPage = lazy(() =>\n import('./pages/sites/SitesPage').then((m) => ({ default: m.SitesPage }))\n);\nconst SiteDetailPage = lazy(() =>\n import('./pages/sites/SiteDetailPage').then((m) => ({ default: m.SiteDetailPage }))\n);\n\n// Monitoring (sensors / measurements / thresholds)\nconst MonitoringPage = lazy(() =>\n import('./pages/monitoring/MonitoringPage').then((m) => ({ default: m.MonitoringPage }))\n);\n\n// Species (Conservation)\nconst SpeciesPage = lazy(() =>\n import('./pages/species/SpeciesPage').then((m) => ({ default: m.SpeciesPage }))\n);\nconst SpeciesDetailPage = lazy(() =>\n import('./pages/species/SpeciesDetailPage').then((m) => ({ default: m.SpeciesDetailPage }))\n);\n\n// Observations (citizen science / field data)\nconst ObservationsPage = lazy(() =>\n import('./pages/observations/ObservationsPage').then((m) => ({ default: m.ObservationsPage }))\n);\n\n// Habitat projects & restoration\nconst HabitatProjectsPage = lazy(() =>\n import('./pages/habitat/HabitatProjectsPage').then((m) => ({ default: m.HabitatProjectsPage }))\n);\nconst HabitatProjectDetailPage = lazy(() =>\n import('./pages/habitat/HabitatProjectDetailPage').then((m) => ({\n default: m.HabitatProjectDetailPage,\n }))\n);\n\n// Carbon ledger / emission factors / reduction targets (Sustainability)\nconst CarbonPage = lazy(() =>\n import('./pages/carbon/CarbonPage').then((m) => ({ default: m.CarbonPage }))\n);\n\n// ESG Reports\nconst ReportsPage = lazy(() =>\n import('./pages/reports/ReportsPage').then((m) => ({ default: m.ReportsPage }))\n);\nconst ReportDetailPage = lazy(() =>\n import('./pages/reports/ReportDetailPage').then((m) => ({ default: m.ReportDetailPage }))\n);\n\nconst PageLoader: FC = () => (\n <div className=\"flex min-h-[400px] items-center justify-center\">\n <Spinner size=\"lg\" />\n </div>\n);\n\nexport const EcoImpactHubRoutes: FC = () => {\n const { basePath, isStandalone } = useEcoImpactHub();\n const location = useLocation();\n\n const normalizedBasePath = basePath === '/' ? '' : (basePath ?? '').replace(/\\/$/, '');\n\n // Guard: only render if the current path matches basePath (integrated mode).\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex min-h-full flex-col\">\n <Suspense fallback={<PageLoader />}>\n <Routes>\n <Route index element={<DashboardPage />} />\n\n <Route path=\"sites\" element={<SitesPage />} />\n <Route path=\"sites/:id\" element={<SiteDetailPage />} />\n\n <Route path=\"monitoring\" element={<MonitoringPage />} />\n\n <Route path=\"species\" element={<SpeciesPage />} />\n <Route path=\"species/:id\" element={<SpeciesDetailPage />} />\n\n <Route path=\"observations\" element={<ObservationsPage />} />\n\n <Route path=\"habitat\" element={<HabitatProjectsPage />} />\n <Route path=\"habitat/:id\" element={<HabitatProjectDetailPage />} />\n\n <Route path=\"carbon\" element={<CarbonPage />} />\n\n <Route path=\"reports\" element={<ReportsPage />} />\n <Route path=\"reports/:id\" element={<ReportDetailPage />} />\n\n <Route path=\"*\" element={<Navigate to=\"\" replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":";;;;;;;AAiBA,IAAM,IAAY,QAChB,OAAO,8BAA2B,MAAM,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAC1E,EACK,IAAiB,QACrB,OAAO,mCAAgC,MAAM,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CACpF,EAGK,IAAiB,QACrB,OAAO,wCAAqC,MAAM,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CACzF,EAGK,IAAc,QAClB,OAAO,kCAA+B,MAAM,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAChF,EACK,IAAoB,QACxB,OAAO,wCAAqC,MAAM,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAC5F,EAGK,IAAmB,QACvB,OAAO,4CAAyC,MAAM,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAC/F,EAGK,IAAsB,QAC1B,OAAO,0CAAuC,MAAM,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAChG,EACK,IAA2B,QAC/B,OAAO,+CAA4C,MAAM,OAAO,EAC9D,SAAS,EAAE,0BACZ,EAAE,CACJ,EAGK,IAAa,QACjB,OAAO,gCAA6B,MAAM,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAC7E,EAGK,IAAc,QAClB,OAAO,kCAA+B,MAAM,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAChF,EACK,IAAmB,QACvB,OAAO,uCAAoC,MAAM,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAC1F,EAEK,UACJ,kBAAC,OAAD;CAAK,WAAU;WACb,kBAAC,GAAD,EAAS,MAAK,MAAO,CAAA;CACjB,CAAA,EAGK,UAA+B;CAC1C,IAAM,EAAE,aAAU,oBAAiB,GAAiB,EAC9C,IAAW,GAAa,EAExB,IAAqB,MAAa,MAAM,MAAM,KAAY,IAAI,QAAQ,OAAO,GAAG;AAYtF,QATI,KAAsB,CAAC,KAIrB,EAFF,EAAS,aAAa,KACtB,EAAS,SAAS,WAAW,IAAqB,IAAI,IAE/C,OAKT,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD;GAAU,UAAU,kBAAC,GAAD,EAAc,CAAA;aAChC,kBAAC,GAAD,EAAA,UAAA;IACE,kBAAC,GAAD;KAAO,OAAA;KAAM,SAAS,kBAAC,GAAD,EAAiB,CAAA;KAAI,CAAA;IAE3C,kBAAC,GAAD;KAAO,MAAK;KAAQ,SAAS,kBAAC,GAAD,EAAa,CAAA;KAAI,CAAA;IAC9C,kBAAC,GAAD;KAAO,MAAK;KAAY,SAAS,kBAAC,GAAD,EAAkB,CAAA;KAAI,CAAA;IAEvD,kBAAC,GAAD;KAAO,MAAK;KAAa,SAAS,kBAAC,GAAD,EAAkB,CAAA;KAAI,CAAA;IAExD,kBAAC,GAAD;KAAO,MAAK;KAAU,SAAS,kBAAC,GAAD,EAAe,CAAA;KAAI,CAAA;IAClD,kBAAC,GAAD;KAAO,MAAK;KAAc,SAAS,kBAAC,GAAD,EAAqB,CAAA;KAAI,CAAA;IAE5D,kBAAC,GAAD;KAAO,MAAK;KAAe,SAAS,kBAAC,GAAD,EAAoB,CAAA;KAAI,CAAA;IAE5D,kBAAC,GAAD;KAAO,MAAK;KAAU,SAAS,kBAAC,GAAD,EAAuB,CAAA;KAAI,CAAA;IAC1D,kBAAC,GAAD;KAAO,MAAK;KAAc,SAAS,kBAAC,GAAD,EAA4B,CAAA;KAAI,CAAA;IAEnE,kBAAC,GAAD;KAAO,MAAK;KAAS,SAAS,kBAAC,GAAD,EAAc,CAAA;KAAI,CAAA;IAEhD,kBAAC,GAAD;KAAO,MAAK;KAAU,SAAS,kBAAC,GAAD,EAAe,CAAA;KAAI,CAAA;IAClD,kBAAC,GAAD;KAAO,MAAK;KAAc,SAAS,kBAAC,GAAD,EAAoB,CAAA;KAAI,CAAA;IAE3D,kBAAC,GAAD;KAAO,MAAK;KAAI,SAAS,kBAAC,GAAD;MAAU,IAAG;MAAG,SAAA;MAAU,CAAA;KAAI,CAAA;IAChD,EAAA,CAAA;GACA,CAAA;EACP,CAAA"}
@@ -0,0 +1,71 @@
1
+ import { cn as e } from "../utils/cn.js";
2
+ import { useMemo as t, useState as n } from "react";
3
+ import { ChevronDown as r, ChevronUp as i, ChevronsUpDown as a } from "lucide-react";
4
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
5
+ import { GlassCard as c } from "@burdenoff/fe-libs/ui";
6
+ //#region src/ecoimpacthub/components/DataTable.tsx
7
+ var l = {
8
+ left: "text-left",
9
+ right: "text-right",
10
+ center: "text-center"
11
+ };
12
+ function u({ columns: u, rows: d, rowKey: f, onRowClick: p, className: m, defaultSort: h }) {
13
+ let [g, _] = n(h ?? null), v = t(() => {
14
+ if (!g) return d;
15
+ let e = u.find((e) => e.key === g.key);
16
+ if (!e?.sortValue) return d;
17
+ let t = g.dir === "asc" ? 1 : -1;
18
+ return [...d].sort((n, r) => {
19
+ let i = e.sortValue(n), a = e.sortValue(r);
20
+ return i < a ? -1 * t : i > a ? 1 * t : 0;
21
+ });
22
+ }, [
23
+ d,
24
+ g,
25
+ u
26
+ ]), y = (e) => {
27
+ _((t) => t?.key === e ? {
28
+ key: e,
29
+ dir: t.dir === "asc" ? "desc" : "asc"
30
+ } : {
31
+ key: e,
32
+ dir: "asc"
33
+ });
34
+ };
35
+ return /* @__PURE__ */ o(c, {
36
+ treatment: "plain",
37
+ className: e("overflow-hidden", m),
38
+ children: /* @__PURE__ */ o("div", {
39
+ className: "overflow-x-auto",
40
+ children: /* @__PURE__ */ s("table", {
41
+ className: "w-full border-collapse text-sm",
42
+ children: [/* @__PURE__ */ o("thead", { children: /* @__PURE__ */ o("tr", {
43
+ className: "border-b border-border-seam",
44
+ children: u.map((t) => {
45
+ let n = !!t.sortValue, c = g?.key === t.key;
46
+ return /* @__PURE__ */ o("th", {
47
+ onClick: n ? () => y(t.key) : void 0,
48
+ "aria-sort": c ? g?.dir === "asc" ? "ascending" : "descending" : void 0,
49
+ className: e("px-4 py-3 font-medium text-text-secondary whitespace-nowrap", l[t.align ?? "left"], t.hideOnMobile && "hidden md:table-cell", n && "cursor-pointer select-none hover:text-text-primary"),
50
+ children: /* @__PURE__ */ s("span", {
51
+ className: e("inline-flex items-center gap-1", t.align === "right" && "flex-row-reverse"),
52
+ children: [t.header, n && (c ? g?.dir === "asc" ? /* @__PURE__ */ o(i, { className: "h-3.5 w-3.5 text-accent" }) : /* @__PURE__ */ o(r, { className: "h-3.5 w-3.5 text-accent" }) : /* @__PURE__ */ o(a, { className: "h-3.5 w-3.5 opacity-40" }))]
53
+ })
54
+ }, t.key);
55
+ })
56
+ }) }), /* @__PURE__ */ o("tbody", { children: v.map((t) => /* @__PURE__ */ o("tr", {
57
+ onClick: p ? () => p(t) : void 0,
58
+ className: e("group border-b border-border-seam/60 last:border-0", p && "cursor-pointer transition-colors hover:bg-bg-sunken/60"),
59
+ children: u.map((n) => /* @__PURE__ */ o("td", {
60
+ className: e("px-4 py-3 text-text-primary align-middle", l[n.align ?? "left"], n.hideOnMobile && "hidden md:table-cell", n.className),
61
+ children: n.render(t)
62
+ }, n.key))
63
+ }, f(t))) })]
64
+ })
65
+ })
66
+ });
67
+ }
68
+ //#endregion
69
+ export { u as DataTable };
70
+
71
+ //# sourceMappingURL=DataTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTable.js","names":[],"sources":["../../../src/ecoimpacthub/components/DataTable.tsx"],"sourcesContent":["/**\n * DataTable — a lightweight, semantic-token table for list pages.\n * @module ecoimpacthub/components\n *\n * Deliberately minimal (no external table lib). Renders a responsive,\n * horizontally-scrollable table wrapped in a GlassCard. Columns declare a\n * header, a render fn, optional alignment, and optionally a `sortValue` to make\n * the column click-sortable.\n */\n\nimport { useMemo, useState, type ReactNode } from 'react';\nimport { ChevronUp, ChevronDown, ChevronsUpDown } from 'lucide-react';\nimport { GlassCard } from '@burdenoff/fe-libs/ui';\nimport { cn } from '../utils/cn';\n\nexport interface Column<T> {\n key: string;\n header: ReactNode;\n render: (row: T) => ReactNode;\n align?: 'left' | 'right' | 'center';\n className?: string;\n /** Hide below the `md` breakpoint for a mobile-friendly layout. */\n hideOnMobile?: boolean;\n /** Provide to make this column click-sortable (returns a comparable value). */\n sortValue?: (row: T) => string | number;\n}\n\ninterface DataTableProps<T> {\n columns: Column<T>[];\n rows: T[];\n rowKey: (row: T) => string;\n onRowClick?: (row: T) => void;\n className?: string;\n /** Default sort: a column key + direction. */\n defaultSort?: { key: string; dir: 'asc' | 'desc' };\n}\n\nconst alignClass = {\n left: 'text-left',\n right: 'text-right',\n center: 'text-center',\n} as const;\n\nexport function DataTable<T>({\n columns,\n rows,\n rowKey,\n onRowClick,\n className,\n defaultSort,\n}: DataTableProps<T>) {\n const [sort, setSort] = useState<{ key: string; dir: 'asc' | 'desc' } | null>(\n defaultSort ?? null\n );\n\n const sortedRows = useMemo(() => {\n if (!sort) return rows;\n const col = columns.find((c) => c.key === sort.key);\n if (!col?.sortValue) return rows;\n const dir = sort.dir === 'asc' ? 1 : -1;\n return [...rows].sort((a, b) => {\n const va = col.sortValue!(a);\n const vb = col.sortValue!(b);\n if (va < vb) return -1 * dir;\n if (va > vb) return 1 * dir;\n return 0;\n });\n }, [rows, sort, columns]);\n\n const toggleSort = (key: string) => {\n setSort((prev) =>\n prev?.key === key ? { key, dir: prev.dir === 'asc' ? 'desc' : 'asc' } : { key, dir: 'asc' }\n );\n };\n\n return (\n <GlassCard treatment=\"plain\" className={cn('overflow-hidden', className)}>\n <div className=\"overflow-x-auto\">\n <table className=\"w-full border-collapse text-sm\">\n <thead>\n <tr className=\"border-b border-border-seam\">\n {columns.map((col) => {\n const sortable = Boolean(col.sortValue);\n const active = sort?.key === col.key;\n return (\n <th\n key={col.key}\n onClick={sortable ? () => toggleSort(col.key) : undefined}\n aria-sort={\n active ? (sort?.dir === 'asc' ? 'ascending' : 'descending') : undefined\n }\n className={cn(\n 'px-4 py-3 font-medium text-text-secondary whitespace-nowrap',\n alignClass[col.align ?? 'left'],\n col.hideOnMobile && 'hidden md:table-cell',\n sortable && 'cursor-pointer select-none hover:text-text-primary'\n )}\n >\n <span\n className={cn(\n 'inline-flex items-center gap-1',\n col.align === 'right' && 'flex-row-reverse'\n )}\n >\n {col.header}\n {sortable &&\n (active ? (\n sort?.dir === 'asc' ? (\n <ChevronUp className=\"h-3.5 w-3.5 text-accent\" />\n ) : (\n <ChevronDown className=\"h-3.5 w-3.5 text-accent\" />\n )\n ) : (\n <ChevronsUpDown className=\"h-3.5 w-3.5 opacity-40\" />\n ))}\n </span>\n </th>\n );\n })}\n </tr>\n </thead>\n <tbody>\n {sortedRows.map((row) => (\n <tr\n key={rowKey(row)}\n onClick={onRowClick ? () => onRowClick(row) : undefined}\n className={cn(\n 'group border-b border-border-seam/60 last:border-0',\n onRowClick && 'cursor-pointer transition-colors hover:bg-bg-sunken/60'\n )}\n >\n {columns.map((col) => (\n <td\n key={col.key}\n className={cn(\n 'px-4 py-3 text-text-primary align-middle',\n alignClass[col.align ?? 'left'],\n col.hideOnMobile && 'hidden md:table-cell',\n col.className\n )}\n >\n {col.render(row)}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </GlassCard>\n );\n}\n"],"mappings":";;;;;;AAqCA,IAAM,IAAa;CACjB,MAAM;CACN,OAAO;CACP,QAAQ;CACT;AAED,SAAgB,EAAa,EAC3B,YACA,SACA,WACA,eACA,cACA,kBACoB;CACpB,IAAM,CAAC,GAAM,KAAW,EACtB,KAAe,KAChB,EAEK,IAAa,QAAc;AAC/B,MAAI,CAAC,EAAM,QAAO;EAClB,IAAM,IAAM,EAAQ,MAAM,MAAM,EAAE,QAAQ,EAAK,IAAI;AACnD,MAAI,CAAC,GAAK,UAAW,QAAO;EAC5B,IAAM,IAAM,EAAK,QAAQ,QAAQ,IAAI;AACrC,SAAO,CAAC,GAAG,EAAK,CAAC,MAAM,GAAG,MAAM;GAC9B,IAAM,IAAK,EAAI,UAAW,EAAE,EACtB,IAAK,EAAI,UAAW,EAAE;AAG5B,UAFI,IAAK,IAAW,KAAK,IACrB,IAAK,IAAW,IAAI,IACjB;IACP;IACD;EAAC;EAAM;EAAM;EAAQ,CAAC,EAEnB,KAAc,MAAgB;AAClC,KAAS,MACP,GAAM,QAAQ,IAAM;GAAE;GAAK,KAAK,EAAK,QAAQ,QAAQ,SAAS;GAAO,GAAG;GAAE;GAAK,KAAK;GAAO,CAC5F;;AAGH,QACE,kBAAC,GAAD;EAAW,WAAU;EAAQ,WAAW,EAAG,mBAAmB,EAAU;YACtE,kBAAC,OAAD;GAAK,WAAU;aACb,kBAAC,SAAD;IAAO,WAAU;cAAjB,CACE,kBAAC,SAAD,EAAA,UACE,kBAAC,MAAD;KAAI,WAAU;eACX,EAAQ,KAAK,MAAQ;MACpB,IAAM,IAAW,EAAQ,EAAI,WACvB,IAAS,GAAM,QAAQ,EAAI;AACjC,aACE,kBAAC,MAAD;OAEE,SAAS,UAAiB,EAAW,EAAI,IAAI,GAAG,KAAA;OAChD,aACE,IAAU,GAAM,QAAQ,QAAQ,cAAc,eAAgB,KAAA;OAEhE,WAAW,EACT,+DACA,EAAW,EAAI,SAAS,SACxB,EAAI,gBAAgB,wBACpB,KAAY,qDACb;iBAED,kBAAC,QAAD;QACE,WAAW,EACT,kCACA,EAAI,UAAU,WAAW,mBAC1B;kBAJH,CAMG,EAAI,QACJ,MACE,IACC,GAAM,QAAQ,QACZ,kBAAC,GAAD,EAAW,WAAU,2BAA4B,CAAA,GAEjD,kBAAC,GAAD,EAAa,WAAU,2BAA4B,CAAA,GAGrD,kBAAC,GAAD,EAAgB,WAAU,0BAA2B,CAAA,EAEpD;;OACJ,EA9BE,EAAI,IA8BN;OAEP;KACC,CAAA,EACC,CAAA,EACR,kBAAC,SAAD,EAAA,UACG,EAAW,KAAK,MACf,kBAAC,MAAD;KAEE,SAAS,UAAmB,EAAW,EAAI,GAAG,KAAA;KAC9C,WAAW,EACT,sDACA,KAAc,yDACf;eAEA,EAAQ,KAAK,MACZ,kBAAC,MAAD;MAEE,WAAW,EACT,4CACA,EAAW,EAAI,SAAS,SACxB,EAAI,gBAAgB,wBACpB,EAAI,UACL;gBAEA,EAAI,OAAO,EAAI;MACb,EATE,EAAI,IASN,CACL;KACC,EApBE,EAAO,EAAI,CAoBb,CACL,EACI,CAAA,CACF;;GACJ,CAAA;EACI,CAAA"}
@@ -0,0 +1,35 @@
1
+ import { cn as e } from "../utils/cn.js";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ import { IllustratedEmptyState as r } from "@burdenoff/fe-libs/ui";
4
+ //#region src/ecoimpacthub/components/EmptyState.tsx
5
+ var i = ({ icon: i, illustration: a, title: o, description: s, action: c, className: l }) => a ? /* @__PURE__ */ t(r, {
6
+ illustration: a,
7
+ title: o,
8
+ description: s,
9
+ action: c,
10
+ className: l
11
+ }) : /* @__PURE__ */ n("div", {
12
+ className: e("flex flex-col items-center justify-center py-12 px-4 text-center", l),
13
+ children: [
14
+ i && /* @__PURE__ */ t("div", {
15
+ className: "mb-4 text-text-secondary opacity-50",
16
+ children: i
17
+ }),
18
+ /* @__PURE__ */ t("h3", {
19
+ className: "text-lg font-medium text-text-primary",
20
+ children: o
21
+ }),
22
+ s && /* @__PURE__ */ t("p", {
23
+ className: "mt-2 text-sm text-text-secondary max-w-sm",
24
+ children: s
25
+ }),
26
+ c && /* @__PURE__ */ t("div", {
27
+ className: "mt-6",
28
+ children: c
29
+ })
30
+ ]
31
+ });
32
+ //#endregion
33
+ export { i as EmptyState };
34
+
35
+ //# sourceMappingURL=EmptyState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.js","names":[],"sources":["../../../src/ecoimpacthub/components/EmptyState.tsx"],"sourcesContent":["/**\n * Empty State Component\n * @module ecoimpacthub/components\n *\n * Boff UI 2.0 zero-state. When an `illustration` name is provided it renders the\n * fe-libs {@link IllustratedEmptyState} (on-brand glass illustration); otherwise\n * it falls back to the icon-based layout.\n */\n\nimport type { FC, ReactNode } from 'react';\nimport { IllustratedEmptyState } from '@burdenoff/fe-libs/ui';\nimport { cn } from '../utils/cn';\n\ninterface EmptyStateProps {\n icon?: ReactNode;\n /**\n * On-brand illustration name → `/illustrations/<name>.webp`. Standard names:\n * empty-data, empty-search, empty-files, empty-people, empty-notifications,\n * onboarding, empty-generic.\n */\n illustration?: string;\n title: string;\n description?: string;\n action?: ReactNode;\n className?: string;\n}\n\nexport const EmptyState: FC<EmptyStateProps> = ({\n icon,\n illustration,\n title,\n description,\n action,\n className,\n}) => {\n if (illustration) {\n return (\n <IllustratedEmptyState\n illustration={illustration}\n title={title}\n description={description}\n action={action}\n className={className}\n />\n );\n }\n\n return (\n <div\n className={cn('flex flex-col items-center justify-center py-12 px-4 text-center', className)}\n >\n {icon && <div className=\"mb-4 text-text-secondary opacity-50\">{icon}</div>}\n <h3 className=\"text-lg font-medium text-text-primary\">{title}</h3>\n {description && <p className=\"mt-2 text-sm text-text-secondary max-w-sm\">{description}</p>}\n {action && <div className=\"mt-6\">{action}</div>}\n </div>\n );\n};\n"],"mappings":";;;;AA2BA,IAAa,KAAmC,EAC9C,SACA,iBACA,UACA,gBACA,WACA,mBAEI,IAEA,kBAAC,GAAD;CACgB;CACP;CACM;CACL;CACG;CACX,CAAA,GAKJ,kBAAC,OAAD;CACE,WAAW,EAAG,oEAAoE,EAAU;WAD9F;EAGG,KAAQ,kBAAC,OAAD;GAAK,WAAU;aAAuC;GAAW,CAAA;EAC1E,kBAAC,MAAD;GAAI,WAAU;aAAyC;GAAW,CAAA;EACjE,KAAe,kBAAC,KAAD;GAAG,WAAU;aAA6C;GAAgB,CAAA;EACzF,KAAU,kBAAC,OAAD;GAAK,WAAU;aAAQ;GAAa,CAAA;EAC3C"}