@burdenoff/microfe-eventfullymanaged 2026.704.6 → 2026.704.8

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 (856) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +20 -0
  2. package/dist/eventfullymanaged/api/eventApi.js +88 -87
  3. package/dist/eventfullymanaged/api/eventApi.js.map +1 -1
  4. package/dist/eventfullymanaged/components/EventCharts.js +260 -0
  5. package/dist/eventfullymanaged/components/EventCharts.js.map +1 -0
  6. package/dist/eventfullymanaged/components/index.js +1 -0
  7. package/dist/eventfullymanaged/lib/format.js +27 -0
  8. package/dist/eventfullymanaged/lib/format.js.map +1 -0
  9. package/dist/eventfullymanaged/pages/dashboard/DashboardPage.js +222 -78
  10. package/dist/eventfullymanaged/pages/dashboard/DashboardPage.js.map +1 -1
  11. package/dist/eventfullymanaged/pages/events/EventDetailPage.js +691 -347
  12. package/dist/eventfullymanaged/pages/events/EventDetailPage.js.map +1 -1
  13. package/dist/eventfullymanaged/pages/events/EventFormPage.js +14 -0
  14. package/dist/eventfullymanaged/pages/events/EventFormPage.js.map +1 -1
  15. package/dist/eventfullymanaged/pages/exhibitors/ExhibitorsPage.js +240 -122
  16. package/dist/eventfullymanaged/pages/exhibitors/ExhibitorsPage.js.map +1 -1
  17. package/dist/eventfullymanaged/pages/leads/LeadCaptureDialog.js +60 -50
  18. package/dist/eventfullymanaged/pages/leads/LeadCaptureDialog.js.map +1 -1
  19. package/dist/eventfullymanaged/pages/modules/AnalyticsPage.js +318 -108
  20. package/dist/eventfullymanaged/pages/modules/AnalyticsPage.js.map +1 -1
  21. package/dist/eventfullymanaged/pages/modules/CommunicationPage.js +288 -204
  22. package/dist/eventfullymanaged/pages/modules/CommunicationPage.js.map +1 -1
  23. package/dist/eventfullymanaged/pages/modules/EventsPage.js +313 -98
  24. package/dist/eventfullymanaged/pages/modules/EventsPage.js.map +1 -1
  25. package/dist/eventfullymanaged/pages/modules/KioskPage.js +597 -397
  26. package/dist/eventfullymanaged/pages/modules/KioskPage.js.map +1 -1
  27. package/dist/eventfullymanaged/pages/modules/NetworkingPage.js +349 -148
  28. package/dist/eventfullymanaged/pages/modules/NetworkingPage.js.map +1 -1
  29. package/dist/eventfullymanaged/pages/modules/RegistrationPage.js +329 -215
  30. package/dist/eventfullymanaged/pages/modules/RegistrationPage.js.map +1 -1
  31. package/dist/eventfullymanaged/pages/modules/SponsorDetailsPage.js +147 -100
  32. package/dist/eventfullymanaged/pages/modules/SponsorDetailsPage.js.map +1 -1
  33. package/dist/eventfullymanaged/pages/registration/AttendeeFormPage.js +25 -2
  34. package/dist/eventfullymanaged/pages/registration/AttendeeFormPage.js.map +1 -1
  35. package/dist/eventfullymanaged/pages/registration/PromoCodeFormPage.js +134 -76
  36. package/dist/eventfullymanaged/pages/registration/PromoCodeFormPage.js.map +1 -1
  37. package/dist/eventfullymanaged/pages/registration/RegisterAttendeePage.js +661 -305
  38. package/dist/eventfullymanaged/pages/registration/RegisterAttendeePage.js.map +1 -1
  39. package/dist/eventfullymanaged/pages/speakers/SpeakersPage.js +198 -77
  40. package/dist/eventfullymanaged/pages/speakers/SpeakersPage.js.map +1 -1
  41. package/dist/eventfullymanaged/pages/sponsors/SponsorsListPage.js +254 -135
  42. package/dist/eventfullymanaged/pages/sponsors/SponsorsListPage.js.map +1 -1
  43. package/dist/eventfullymanaged/pages/venues/FloorPlansPage.js +335 -116
  44. package/dist/eventfullymanaged/pages/venues/FloorPlansPage.js.map +1 -1
  45. package/dist/eventfullymanaged/pages/venues/VenueDetailPage.js +73 -45
  46. package/dist/eventfullymanaged/pages/venues/VenueDetailPage.js.map +1 -1
  47. package/dist/eventfullymanaged/pages/venues/VenueFormPage.js +101 -100
  48. package/dist/eventfullymanaged/pages/venues/VenueFormPage.js.map +1 -1
  49. package/dist/eventfullymanaged/pages/venues/VenueListPage.js +147 -104
  50. package/dist/eventfullymanaged/pages/venues/VenueListPage.js.map +1 -1
  51. package/dist/node_modules/clsx/dist/clsx.js +18 -0
  52. package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
  53. package/dist/node_modules/d3-array/src/ascending.js +8 -0
  54. package/dist/node_modules/d3-array/src/ascending.js.map +1 -0
  55. package/dist/node_modules/d3-array/src/bisect.js +10 -0
  56. package/dist/node_modules/d3-array/src/bisect.js.map +1 -0
  57. package/dist/node_modules/d3-array/src/bisector.js +43 -0
  58. package/dist/node_modules/d3-array/src/bisector.js.map +1 -0
  59. package/dist/node_modules/d3-array/src/descending.js +8 -0
  60. package/dist/node_modules/d3-array/src/descending.js.map +1 -0
  61. package/dist/node_modules/d3-array/src/max.js +14 -0
  62. package/dist/node_modules/d3-array/src/max.js.map +1 -0
  63. package/dist/node_modules/d3-array/src/min.js +14 -0
  64. package/dist/node_modules/d3-array/src/min.js.map +1 -0
  65. package/dist/node_modules/d3-array/src/number.js +15 -0
  66. package/dist/node_modules/d3-array/src/number.js.map +1 -0
  67. package/dist/node_modules/d3-array/src/quantile.js +25 -0
  68. package/dist/node_modules/d3-array/src/quantile.js.map +1 -0
  69. package/dist/node_modules/d3-array/src/quickselect.js +26 -0
  70. package/dist/node_modules/d3-array/src/quickselect.js.map +1 -0
  71. package/dist/node_modules/d3-array/src/range.js +10 -0
  72. package/dist/node_modules/d3-array/src/range.js.map +1 -0
  73. package/dist/node_modules/d3-array/src/sort.js +17 -0
  74. package/dist/node_modules/d3-array/src/sort.js.map +1 -0
  75. package/dist/node_modules/d3-array/src/ticks.js +34 -0
  76. package/dist/node_modules/d3-array/src/ticks.js.map +1 -0
  77. package/dist/node_modules/d3-color/src/color.js +291 -0
  78. package/dist/node_modules/d3-color/src/color.js.map +1 -0
  79. package/dist/node_modules/d3-color/src/define.js +13 -0
  80. package/dist/node_modules/d3-color/src/define.js.map +1 -0
  81. package/dist/node_modules/d3-format/src/defaultLocale.js +15 -0
  82. package/dist/node_modules/d3-format/src/defaultLocale.js.map +1 -0
  83. package/dist/node_modules/d3-format/src/exponent.js +9 -0
  84. package/dist/node_modules/d3-format/src/exponent.js.map +1 -0
  85. package/dist/node_modules/d3-format/src/formatDecimal.js +13 -0
  86. package/dist/node_modules/d3-format/src/formatDecimal.js.map +1 -0
  87. package/dist/node_modules/d3-format/src/formatGroup.js +11 -0
  88. package/dist/node_modules/d3-format/src/formatGroup.js.map +1 -0
  89. package/dist/node_modules/d3-format/src/formatNumerals.js +12 -0
  90. package/dist/node_modules/d3-format/src/formatNumerals.js.map +1 -0
  91. package/dist/node_modules/d3-format/src/formatPrefixAuto.js +13 -0
  92. package/dist/node_modules/d3-format/src/formatPrefixAuto.js.map +1 -0
  93. package/dist/node_modules/d3-format/src/formatRounded.js +12 -0
  94. package/dist/node_modules/d3-format/src/formatRounded.js.map +1 -0
  95. package/dist/node_modules/d3-format/src/formatSpecifier.js +29 -0
  96. package/dist/node_modules/d3-format/src/formatSpecifier.js.map +1 -0
  97. package/dist/node_modules/d3-format/src/formatTrim.js +20 -0
  98. package/dist/node_modules/d3-format/src/formatTrim.js.map +1 -0
  99. package/dist/node_modules/d3-format/src/formatTypes.js +23 -0
  100. package/dist/node_modules/d3-format/src/formatTypes.js.map +1 -0
  101. package/dist/node_modules/d3-format/src/identity.js +8 -0
  102. package/dist/node_modules/d3-format/src/identity.js.map +1 -0
  103. package/dist/node_modules/d3-format/src/locale.js +86 -0
  104. package/dist/node_modules/d3-format/src/locale.js.map +1 -0
  105. package/dist/node_modules/d3-format/src/precisionFixed.js +9 -0
  106. package/dist/node_modules/d3-format/src/precisionFixed.js.map +1 -0
  107. package/dist/node_modules/d3-format/src/precisionPrefix.js +9 -0
  108. package/dist/node_modules/d3-format/src/precisionPrefix.js.map +1 -0
  109. package/dist/node_modules/d3-format/src/precisionRound.js +9 -0
  110. package/dist/node_modules/d3-format/src/precisionRound.js.map +1 -0
  111. package/dist/node_modules/d3-interpolate/src/array.js +15 -0
  112. package/dist/node_modules/d3-interpolate/src/array.js.map +1 -0
  113. package/dist/node_modules/d3-interpolate/src/basis.js +16 -0
  114. package/dist/node_modules/d3-interpolate/src/basis.js.map +1 -0
  115. package/dist/node_modules/d3-interpolate/src/basisClosed.js +13 -0
  116. package/dist/node_modules/d3-interpolate/src/basisClosed.js.map +1 -0
  117. package/dist/node_modules/d3-interpolate/src/color.js +25 -0
  118. package/dist/node_modules/d3-interpolate/src/color.js.map +1 -0
  119. package/dist/node_modules/d3-interpolate/src/constant.js +6 -0
  120. package/dist/node_modules/d3-interpolate/src/constant.js.map +1 -0
  121. package/dist/node_modules/d3-interpolate/src/date.js +11 -0
  122. package/dist/node_modules/d3-interpolate/src/date.js.map +1 -0
  123. package/dist/node_modules/d3-interpolate/src/number.js +10 -0
  124. package/dist/node_modules/d3-interpolate/src/number.js.map +1 -0
  125. package/dist/node_modules/d3-interpolate/src/numberArray.js +16 -0
  126. package/dist/node_modules/d3-interpolate/src/numberArray.js.map +1 -0
  127. package/dist/node_modules/d3-interpolate/src/object.js +14 -0
  128. package/dist/node_modules/d3-interpolate/src/object.js.map +1 -0
  129. package/dist/node_modules/d3-interpolate/src/piecewise.js +14 -0
  130. package/dist/node_modules/d3-interpolate/src/piecewise.js.map +1 -0
  131. package/dist/node_modules/d3-interpolate/src/rgb.js +19 -0
  132. package/dist/node_modules/d3-interpolate/src/rgb.js.map +1 -0
  133. package/dist/node_modules/d3-interpolate/src/round.js +10 -0
  134. package/dist/node_modules/d3-interpolate/src/round.js.map +1 -0
  135. package/dist/node_modules/d3-interpolate/src/string.js +28 -0
  136. package/dist/node_modules/d3-interpolate/src/string.js.map +1 -0
  137. package/dist/node_modules/d3-interpolate/src/value.js +18 -0
  138. package/dist/node_modules/d3-interpolate/src/value.js.map +1 -0
  139. package/dist/node_modules/d3-path/src/path.js +65 -0
  140. package/dist/node_modules/d3-path/src/path.js.map +1 -0
  141. package/dist/node_modules/d3-scale/src/band.js +52 -0
  142. package/dist/node_modules/d3-scale/src/band.js.map +1 -0
  143. package/dist/node_modules/d3-scale/src/constant.js +10 -0
  144. package/dist/node_modules/d3-scale/src/constant.js.map +1 -0
  145. package/dist/node_modules/d3-scale/src/continuous.js +73 -0
  146. package/dist/node_modules/d3-scale/src/continuous.js.map +1 -0
  147. package/dist/node_modules/d3-scale/src/diverging.js +82 -0
  148. package/dist/node_modules/d3-scale/src/diverging.js.map +1 -0
  149. package/dist/node_modules/d3-scale/src/identity.js +20 -0
  150. package/dist/node_modules/d3-scale/src/identity.js.map +1 -0
  151. package/dist/node_modules/d3-scale/src/init.js +29 -0
  152. package/dist/node_modules/d3-scale/src/init.js.map +1 -0
  153. package/dist/node_modules/d3-scale/src/linear.js +36 -0
  154. package/dist/node_modules/d3-scale/src/linear.js.map +1 -0
  155. package/dist/node_modules/d3-scale/src/log.js +77 -0
  156. package/dist/node_modules/d3-scale/src/log.js.map +1 -0
  157. package/dist/node_modules/d3-scale/src/nice.js +10 -0
  158. package/dist/node_modules/d3-scale/src/nice.js.map +1 -0
  159. package/dist/node_modules/d3-scale/src/number.js +8 -0
  160. package/dist/node_modules/d3-scale/src/number.js.map +1 -0
  161. package/dist/node_modules/d3-scale/src/ordinal.js +31 -0
  162. package/dist/node_modules/d3-scale/src/ordinal.js.map +1 -0
  163. package/dist/node_modules/d3-scale/src/pow.js +37 -0
  164. package/dist/node_modules/d3-scale/src/pow.js.map +1 -0
  165. package/dist/node_modules/d3-scale/src/quantile.js +37 -0
  166. package/dist/node_modules/d3-scale/src/quantile.js.map +1 -0
  167. package/dist/node_modules/d3-scale/src/quantize.js +33 -0
  168. package/dist/node_modules/d3-scale/src/quantize.js.map +1 -0
  169. package/dist/node_modules/d3-scale/src/radial.js +39 -0
  170. package/dist/node_modules/d3-scale/src/radial.js.map +1 -0
  171. package/dist/node_modules/d3-scale/src/sequential.js +67 -0
  172. package/dist/node_modules/d3-scale/src/sequential.js.map +1 -0
  173. package/dist/node_modules/d3-scale/src/sequentialQuantile.js +30 -0
  174. package/dist/node_modules/d3-scale/src/sequentialQuantile.js.map +1 -0
  175. package/dist/node_modules/d3-scale/src/symlog.js +30 -0
  176. package/dist/node_modules/d3-scale/src/symlog.js.map +1 -0
  177. package/dist/node_modules/d3-scale/src/threshold.js +25 -0
  178. package/dist/node_modules/d3-scale/src/threshold.js.map +1 -0
  179. package/dist/node_modules/d3-scale/src/tickFormat.js +31 -0
  180. package/dist/node_modules/d3-scale/src/tickFormat.js.map +1 -0
  181. package/dist/node_modules/d3-scale/src/time.js +47 -0
  182. package/dist/node_modules/d3-scale/src/time.js.map +1 -0
  183. package/dist/node_modules/d3-scale/src/utcTime.js +19 -0
  184. package/dist/node_modules/d3-scale/src/utcTime.js.map +1 -0
  185. package/dist/node_modules/d3-shape/src/area.js +55 -0
  186. package/dist/node_modules/d3-shape/src/area.js.map +1 -0
  187. package/dist/node_modules/d3-shape/src/array.js +8 -0
  188. package/dist/node_modules/d3-shape/src/array.js.map +1 -0
  189. package/dist/node_modules/d3-shape/src/constant.js +10 -0
  190. package/dist/node_modules/d3-shape/src/constant.js.map +1 -0
  191. package/dist/node_modules/d3-shape/src/curve/basis.js +49 -0
  192. package/dist/node_modules/d3-shape/src/curve/basis.js.map +1 -0
  193. package/dist/node_modules/d3-shape/src/curve/basisClosed.js +50 -0
  194. package/dist/node_modules/d3-shape/src/curve/basisClosed.js.map +1 -0
  195. package/dist/node_modules/d3-shape/src/curve/basisOpen.js +46 -0
  196. package/dist/node_modules/d3-shape/src/curve/basisOpen.js.map +1 -0
  197. package/dist/node_modules/d3-shape/src/curve/bump.js +40 -0
  198. package/dist/node_modules/d3-shape/src/curve/bump.js.map +1 -0
  199. package/dist/node_modules/d3-shape/src/curve/linear.js +36 -0
  200. package/dist/node_modules/d3-shape/src/curve/linear.js.map +1 -0
  201. package/dist/node_modules/d3-shape/src/curve/linearClosed.js +25 -0
  202. package/dist/node_modules/d3-shape/src/curve/linearClosed.js.map +1 -0
  203. package/dist/node_modules/d3-shape/src/curve/monotone.js +94 -0
  204. package/dist/node_modules/d3-shape/src/curve/monotone.js.map +1 -0
  205. package/dist/node_modules/d3-shape/src/curve/natural.js +39 -0
  206. package/dist/node_modules/d3-shape/src/curve/natural.js.map +1 -0
  207. package/dist/node_modules/d3-shape/src/curve/step.js +47 -0
  208. package/dist/node_modules/d3-shape/src/curve/step.js.map +1 -0
  209. package/dist/node_modules/d3-shape/src/line.js +30 -0
  210. package/dist/node_modules/d3-shape/src/line.js.map +1 -0
  211. package/dist/node_modules/d3-shape/src/math.js +8 -0
  212. package/dist/node_modules/d3-shape/src/math.js.map +1 -0
  213. package/dist/node_modules/d3-shape/src/noop.js +6 -0
  214. package/dist/node_modules/d3-shape/src/noop.js.map +1 -0
  215. package/dist/node_modules/d3-shape/src/offset/expand.js +15 -0
  216. package/dist/node_modules/d3-shape/src/offset/expand.js.map +1 -0
  217. package/dist/node_modules/d3-shape/src/offset/none.js +8 -0
  218. package/dist/node_modules/d3-shape/src/offset/none.js.map +1 -0
  219. package/dist/node_modules/d3-shape/src/offset/silhouette.js +15 -0
  220. package/dist/node_modules/d3-shape/src/offset/silhouette.js.map +1 -0
  221. package/dist/node_modules/d3-shape/src/offset/wiggle.js +21 -0
  222. package/dist/node_modules/d3-shape/src/offset/wiggle.js.map +1 -0
  223. package/dist/node_modules/d3-shape/src/order/none.js +9 -0
  224. package/dist/node_modules/d3-shape/src/order/none.js.map +1 -0
  225. package/dist/node_modules/d3-shape/src/path.js +19 -0
  226. package/dist/node_modules/d3-shape/src/path.js.map +1 -0
  227. package/dist/node_modules/d3-shape/src/point.js +11 -0
  228. package/dist/node_modules/d3-shape/src/point.js.map +1 -0
  229. package/dist/node_modules/d3-shape/src/stack.js +34 -0
  230. package/dist/node_modules/d3-shape/src/stack.js.map +1 -0
  231. package/dist/node_modules/d3-shape/src/symbol/circle.js +10 -0
  232. package/dist/node_modules/d3-shape/src/symbol/circle.js.map +1 -0
  233. package/dist/node_modules/d3-shape/src/symbol/cross.js +10 -0
  234. package/dist/node_modules/d3-shape/src/symbol/cross.js.map +1 -0
  235. package/dist/node_modules/d3-shape/src/symbol/diamond.js +10 -0
  236. package/dist/node_modules/d3-shape/src/symbol/diamond.js.map +1 -0
  237. package/dist/node_modules/d3-shape/src/symbol/square.js +10 -0
  238. package/dist/node_modules/d3-shape/src/symbol/square.js.map +1 -0
  239. package/dist/node_modules/d3-shape/src/symbol/star.js +15 -0
  240. package/dist/node_modules/d3-shape/src/symbol/star.js.map +1 -0
  241. package/dist/node_modules/d3-shape/src/symbol/triangle.js +10 -0
  242. package/dist/node_modules/d3-shape/src/symbol/triangle.js.map +1 -0
  243. package/dist/node_modules/d3-shape/src/symbol/wye.js +10 -0
  244. package/dist/node_modules/d3-shape/src/symbol/wye.js.map +1 -0
  245. package/dist/node_modules/d3-shape/src/symbol.js +23 -0
  246. package/dist/node_modules/d3-shape/src/symbol.js.map +1 -0
  247. package/dist/node_modules/d3-time/src/day.js +21 -0
  248. package/dist/node_modules/d3-time/src/day.js.map +1 -0
  249. package/dist/node_modules/d3-time/src/duration.js +6 -0
  250. package/dist/node_modules/d3-time/src/duration.js.map +1 -0
  251. package/dist/node_modules/d3-time/src/hour.js +19 -0
  252. package/dist/node_modules/d3-time/src/hour.js.map +1 -0
  253. package/dist/node_modules/d3-time/src/interval.js +28 -0
  254. package/dist/node_modules/d3-time/src/interval.js.map +1 -0
  255. package/dist/node_modules/d3-time/src/millisecond.js +14 -0
  256. package/dist/node_modules/d3-time/src/millisecond.js.map +1 -0
  257. package/dist/node_modules/d3-time/src/minute.js +19 -0
  258. package/dist/node_modules/d3-time/src/minute.js.map +1 -0
  259. package/dist/node_modules/d3-time/src/month.js +18 -0
  260. package/dist/node_modules/d3-time/src/month.js.map +1 -0
  261. package/dist/node_modules/d3-time/src/second.js +13 -0
  262. package/dist/node_modules/d3-time/src/second.js.map +1 -0
  263. package/dist/node_modules/d3-time/src/ticks.js +125 -0
  264. package/dist/node_modules/d3-time/src/ticks.js.map +1 -0
  265. package/dist/node_modules/d3-time/src/week.js +25 -0
  266. package/dist/node_modules/d3-time/src/week.js.map +1 -0
  267. package/dist/node_modules/d3-time/src/year.js +26 -0
  268. package/dist/node_modules/d3-time/src/year.js.map +1 -0
  269. package/dist/node_modules/d3-time-format/src/defaultLocale.js +62 -0
  270. package/dist/node_modules/d3-time-format/src/defaultLocale.js.map +1 -0
  271. package/dist/node_modules/d3-time-format/src/locale.js +490 -0
  272. package/dist/node_modules/d3-time-format/src/locale.js.map +1 -0
  273. package/dist/node_modules/decimal.js-light/decimal.js +378 -0
  274. package/dist/node_modules/decimal.js-light/decimal.js.map +1 -0
  275. package/dist/node_modules/eventemitter3/index.js +95 -0
  276. package/dist/node_modules/eventemitter3/index.js.map +1 -0
  277. package/dist/node_modules/fast-equals/dist/es/index.js +267 -0
  278. package/dist/node_modules/fast-equals/dist/es/index.js.map +1 -0
  279. package/dist/node_modules/internmap/src/index.js +40 -0
  280. package/dist/node_modules/internmap/src/index.js.map +1 -0
  281. package/dist/node_modules/lodash/_DataView.js +12 -0
  282. package/dist/node_modules/lodash/_DataView.js.map +1 -0
  283. package/dist/node_modules/lodash/_Hash.js +23 -0
  284. package/dist/node_modules/lodash/_Hash.js.map +1 -0
  285. package/dist/node_modules/lodash/_ListCache.js +23 -0
  286. package/dist/node_modules/lodash/_ListCache.js.map +1 -0
  287. package/dist/node_modules/lodash/_Map.js +12 -0
  288. package/dist/node_modules/lodash/_Map.js.map +1 -0
  289. package/dist/node_modules/lodash/_MapCache.js +23 -0
  290. package/dist/node_modules/lodash/_MapCache.js.map +1 -0
  291. package/dist/node_modules/lodash/_Promise.js +12 -0
  292. package/dist/node_modules/lodash/_Promise.js.map +1 -0
  293. package/dist/node_modules/lodash/_Set.js +12 -0
  294. package/dist/node_modules/lodash/_Set.js.map +1 -0
  295. package/dist/node_modules/lodash/_SetCache.js +18 -0
  296. package/dist/node_modules/lodash/_SetCache.js.map +1 -0
  297. package/dist/node_modules/lodash/_Stack.js +20 -0
  298. package/dist/node_modules/lodash/_Stack.js.map +1 -0
  299. package/dist/node_modules/lodash/_Symbol.js +11 -0
  300. package/dist/node_modules/lodash/_Symbol.js.map +1 -0
  301. package/dist/node_modules/lodash/_Uint8Array.js +11 -0
  302. package/dist/node_modules/lodash/_Uint8Array.js.map +1 -0
  303. package/dist/node_modules/lodash/_WeakMap.js +12 -0
  304. package/dist/node_modules/lodash/_WeakMap.js.map +1 -0
  305. package/dist/node_modules/lodash/_apply.js +19 -0
  306. package/dist/node_modules/lodash/_apply.js.map +1 -0
  307. package/dist/node_modules/lodash/_arrayEvery.js +14 -0
  308. package/dist/node_modules/lodash/_arrayEvery.js.map +1 -0
  309. package/dist/node_modules/lodash/_arrayFilter.js +17 -0
  310. package/dist/node_modules/lodash/_arrayFilter.js.map +1 -0
  311. package/dist/node_modules/lodash/_arrayIncludes.js +15 -0
  312. package/dist/node_modules/lodash/_arrayIncludes.js.map +1 -0
  313. package/dist/node_modules/lodash/_arrayIncludesWith.js +14 -0
  314. package/dist/node_modules/lodash/_arrayIncludesWith.js.map +1 -0
  315. package/dist/node_modules/lodash/_arrayLikeKeys.js +22 -0
  316. package/dist/node_modules/lodash/_arrayLikeKeys.js.map +1 -0
  317. package/dist/node_modules/lodash/_arrayMap.js +14 -0
  318. package/dist/node_modules/lodash/_arrayMap.js.map +1 -0
  319. package/dist/node_modules/lodash/_arrayPush.js +14 -0
  320. package/dist/node_modules/lodash/_arrayPush.js.map +1 -0
  321. package/dist/node_modules/lodash/_arraySome.js +14 -0
  322. package/dist/node_modules/lodash/_arraySome.js.map +1 -0
  323. package/dist/node_modules/lodash/_asciiToArray.js +13 -0
  324. package/dist/node_modules/lodash/_asciiToArray.js.map +1 -0
  325. package/dist/node_modules/lodash/_assocIndexOf.js +16 -0
  326. package/dist/node_modules/lodash/_assocIndexOf.js.map +1 -0
  327. package/dist/node_modules/lodash/_baseAssignValue.js +20 -0
  328. package/dist/node_modules/lodash/_baseAssignValue.js.map +1 -0
  329. package/dist/node_modules/lodash/_baseEach.js +13 -0
  330. package/dist/node_modules/lodash/_baseEach.js.map +1 -0
  331. package/dist/node_modules/lodash/_baseEvery.js +18 -0
  332. package/dist/node_modules/lodash/_baseEvery.js.map +1 -0
  333. package/dist/node_modules/lodash/_baseExtremum.js +19 -0
  334. package/dist/node_modules/lodash/_baseExtremum.js.map +1 -0
  335. package/dist/node_modules/lodash/_baseFindIndex.js +14 -0
  336. package/dist/node_modules/lodash/_baseFindIndex.js.map +1 -0
  337. package/dist/node_modules/lodash/_baseFlatten.js +21 -0
  338. package/dist/node_modules/lodash/_baseFlatten.js.map +1 -0
  339. package/dist/node_modules/lodash/_baseFor.js +11 -0
  340. package/dist/node_modules/lodash/_baseFor.js.map +1 -0
  341. package/dist/node_modules/lodash/_baseForOwn.js +16 -0
  342. package/dist/node_modules/lodash/_baseForOwn.js.map +1 -0
  343. package/dist/node_modules/lodash/_baseGet.js +18 -0
  344. package/dist/node_modules/lodash/_baseGet.js.map +1 -0
  345. package/dist/node_modules/lodash/_baseGetAllKeys.js +17 -0
  346. package/dist/node_modules/lodash/_baseGetAllKeys.js.map +1 -0
  347. package/dist/node_modules/lodash/_baseGetTag.js +17 -0
  348. package/dist/node_modules/lodash/_baseGetTag.js.map +1 -0
  349. package/dist/node_modules/lodash/_baseGt.js +13 -0
  350. package/dist/node_modules/lodash/_baseGt.js.map +1 -0
  351. package/dist/node_modules/lodash/_baseHasIn.js +13 -0
  352. package/dist/node_modules/lodash/_baseHasIn.js.map +1 -0
  353. package/dist/node_modules/lodash/_baseIndexOf.js +17 -0
  354. package/dist/node_modules/lodash/_baseIndexOf.js.map +1 -0
  355. package/dist/node_modules/lodash/_baseIsArguments.js +16 -0
  356. package/dist/node_modules/lodash/_baseIsArguments.js.map +1 -0
  357. package/dist/node_modules/lodash/_baseIsEqual.js +16 -0
  358. package/dist/node_modules/lodash/_baseIsEqual.js.map +1 -0
  359. package/dist/node_modules/lodash/_baseIsEqualDeep.js +37 -0
  360. package/dist/node_modules/lodash/_baseIsEqualDeep.js.map +1 -0
  361. package/dist/node_modules/lodash/_baseIsMatch.js +33 -0
  362. package/dist/node_modules/lodash/_baseIsMatch.js.map +1 -0
  363. package/dist/node_modules/lodash/_baseIsNaN.js +13 -0
  364. package/dist/node_modules/lodash/_baseIsNaN.js.map +1 -0
  365. package/dist/node_modules/lodash/_baseIsNative.js +18 -0
  366. package/dist/node_modules/lodash/_baseIsNative.js.map +1 -0
  367. package/dist/node_modules/lodash/_baseIsTypedArray.js +18 -0
  368. package/dist/node_modules/lodash/_baseIsTypedArray.js.map +1 -0
  369. package/dist/node_modules/lodash/_baseIteratee.js +19 -0
  370. package/dist/node_modules/lodash/_baseIteratee.js.map +1 -0
  371. package/dist/node_modules/lodash/_baseKeys.js +19 -0
  372. package/dist/node_modules/lodash/_baseKeys.js.map +1 -0
  373. package/dist/node_modules/lodash/_baseLt.js +13 -0
  374. package/dist/node_modules/lodash/_baseLt.js.map +1 -0
  375. package/dist/node_modules/lodash/_baseMap.js +19 -0
  376. package/dist/node_modules/lodash/_baseMap.js.map +1 -0
  377. package/dist/node_modules/lodash/_baseMatches.js +20 -0
  378. package/dist/node_modules/lodash/_baseMatches.js.map +1 -0
  379. package/dist/node_modules/lodash/_baseMatchesProperty.js +24 -0
  380. package/dist/node_modules/lodash/_baseMatchesProperty.js.map +1 -0
  381. package/dist/node_modules/lodash/_baseOrderBy.js +39 -0
  382. package/dist/node_modules/lodash/_baseOrderBy.js.map +1 -0
  383. package/dist/node_modules/lodash/_baseProperty.js +15 -0
  384. package/dist/node_modules/lodash/_baseProperty.js.map +1 -0
  385. package/dist/node_modules/lodash/_basePropertyDeep.js +17 -0
  386. package/dist/node_modules/lodash/_basePropertyDeep.js.map +1 -0
  387. package/dist/node_modules/lodash/_baseRange.js +15 -0
  388. package/dist/node_modules/lodash/_baseRange.js.map +1 -0
  389. package/dist/node_modules/lodash/_baseRest.js +17 -0
  390. package/dist/node_modules/lodash/_baseRest.js.map +1 -0
  391. package/dist/node_modules/lodash/_baseSetToString.js +21 -0
  392. package/dist/node_modules/lodash/_baseSetToString.js.map +1 -0
  393. package/dist/node_modules/lodash/_baseSlice.js +16 -0
  394. package/dist/node_modules/lodash/_baseSlice.js.map +1 -0
  395. package/dist/node_modules/lodash/_baseSome.js +18 -0
  396. package/dist/node_modules/lodash/_baseSome.js.map +1 -0
  397. package/dist/node_modules/lodash/_baseSortBy.js +15 -0
  398. package/dist/node_modules/lodash/_baseSortBy.js.map +1 -0
  399. package/dist/node_modules/lodash/_baseTimes.js +14 -0
  400. package/dist/node_modules/lodash/_baseTimes.js.map +1 -0
  401. package/dist/node_modules/lodash/_baseToString.js +22 -0
  402. package/dist/node_modules/lodash/_baseToString.js.map +1 -0
  403. package/dist/node_modules/lodash/_baseTrim.js +15 -0
  404. package/dist/node_modules/lodash/_baseTrim.js.map +1 -0
  405. package/dist/node_modules/lodash/_baseUnary.js +15 -0
  406. package/dist/node_modules/lodash/_baseUnary.js.map +1 -0
  407. package/dist/node_modules/lodash/_baseUniq.js +34 -0
  408. package/dist/node_modules/lodash/_baseUniq.js.map +1 -0
  409. package/dist/node_modules/lodash/_cacheHas.js +13 -0
  410. package/dist/node_modules/lodash/_cacheHas.js.map +1 -0
  411. package/dist/node_modules/lodash/_castPath.js +18 -0
  412. package/dist/node_modules/lodash/_castPath.js.map +1 -0
  413. package/dist/node_modules/lodash/_castSlice.js +16 -0
  414. package/dist/node_modules/lodash/_castSlice.js.map +1 -0
  415. package/dist/node_modules/lodash/_compareAscending.js +20 -0
  416. package/dist/node_modules/lodash/_compareAscending.js.map +1 -0
  417. package/dist/node_modules/lodash/_compareMultiple.js +19 -0
  418. package/dist/node_modules/lodash/_compareMultiple.js.map +1 -0
  419. package/dist/node_modules/lodash/_coreJsData.js +11 -0
  420. package/dist/node_modules/lodash/_coreJsData.js.map +1 -0
  421. package/dist/node_modules/lodash/_createBaseEach.js +20 -0
  422. package/dist/node_modules/lodash/_createBaseEach.js.map +1 -0
  423. package/dist/node_modules/lodash/_createBaseFor.js +19 -0
  424. package/dist/node_modules/lodash/_createBaseFor.js.map +1 -0
  425. package/dist/node_modules/lodash/_createCaseFirst.js +22 -0
  426. package/dist/node_modules/lodash/_createCaseFirst.js.map +1 -0
  427. package/dist/node_modules/lodash/_createFind.js +27 -0
  428. package/dist/node_modules/lodash/_createFind.js.map +1 -0
  429. package/dist/node_modules/lodash/_createRange.js +19 -0
  430. package/dist/node_modules/lodash/_createRange.js.map +1 -0
  431. package/dist/node_modules/lodash/_createSet.js +16 -0
  432. package/dist/node_modules/lodash/_createSet.js.map +1 -0
  433. package/dist/node_modules/lodash/_defineProperty.js +17 -0
  434. package/dist/node_modules/lodash/_defineProperty.js.map +1 -0
  435. package/dist/node_modules/lodash/_equalArrays.js +42 -0
  436. package/dist/node_modules/lodash/_equalArrays.js.map +1 -0
  437. package/dist/node_modules/lodash/_equalByTag.js +42 -0
  438. package/dist/node_modules/lodash/_equalByTag.js.map +1 -0
  439. package/dist/node_modules/lodash/_equalObjects.js +39 -0
  440. package/dist/node_modules/lodash/_equalObjects.js.map +1 -0
  441. package/dist/node_modules/lodash/_freeGlobal.js +10 -0
  442. package/dist/node_modules/lodash/_freeGlobal.js.map +1 -0
  443. package/dist/node_modules/lodash/_getAllKeys.js +17 -0
  444. package/dist/node_modules/lodash/_getAllKeys.js.map +1 -0
  445. package/dist/node_modules/lodash/_getMapData.js +16 -0
  446. package/dist/node_modules/lodash/_getMapData.js.map +1 -0
  447. package/dist/node_modules/lodash/_getMatchData.js +24 -0
  448. package/dist/node_modules/lodash/_getMatchData.js.map +1 -0
  449. package/dist/node_modules/lodash/_getNative.js +17 -0
  450. package/dist/node_modules/lodash/_getNative.js.map +1 -0
  451. package/dist/node_modules/lodash/_getPrototype.js +11 -0
  452. package/dist/node_modules/lodash/_getPrototype.js.map +1 -0
  453. package/dist/node_modules/lodash/_getRawTag.js +21 -0
  454. package/dist/node_modules/lodash/_getRawTag.js.map +1 -0
  455. package/dist/node_modules/lodash/_getSymbols.js +17 -0
  456. package/dist/node_modules/lodash/_getSymbols.js.map +1 -0
  457. package/dist/node_modules/lodash/_getTag.js +28 -0
  458. package/dist/node_modules/lodash/_getTag.js.map +1 -0
  459. package/dist/node_modules/lodash/_getValue.js +13 -0
  460. package/dist/node_modules/lodash/_getValue.js.map +1 -0
  461. package/dist/node_modules/lodash/_hasPath.js +26 -0
  462. package/dist/node_modules/lodash/_hasPath.js.map +1 -0
  463. package/dist/node_modules/lodash/_hasUnicode.js +14 -0
  464. package/dist/node_modules/lodash/_hasUnicode.js.map +1 -0
  465. package/dist/node_modules/lodash/_hashClear.js +15 -0
  466. package/dist/node_modules/lodash/_hashClear.js.map +1 -0
  467. package/dist/node_modules/lodash/_hashDelete.js +14 -0
  468. package/dist/node_modules/lodash/_hashDelete.js.map +1 -0
  469. package/dist/node_modules/lodash/_hashGet.js +20 -0
  470. package/dist/node_modules/lodash/_hashGet.js.map +1 -0
  471. package/dist/node_modules/lodash/_hashHas.js +16 -0
  472. package/dist/node_modules/lodash/_hashHas.js.map +1 -0
  473. package/dist/node_modules/lodash/_hashSet.js +16 -0
  474. package/dist/node_modules/lodash/_hashSet.js.map +1 -0
  475. package/dist/node_modules/lodash/_isFlattenable.js +17 -0
  476. package/dist/node_modules/lodash/_isFlattenable.js.map +1 -0
  477. package/dist/node_modules/lodash/_isIndex.js +15 -0
  478. package/dist/node_modules/lodash/_isIndex.js.map +1 -0
  479. package/dist/node_modules/lodash/_isIterateeCall.js +20 -0
  480. package/dist/node_modules/lodash/_isIterateeCall.js.map +1 -0
  481. package/dist/node_modules/lodash/_isKey.js +18 -0
  482. package/dist/node_modules/lodash/_isKey.js.map +1 -0
  483. package/dist/node_modules/lodash/_isKeyable.js +14 -0
  484. package/dist/node_modules/lodash/_isKeyable.js.map +1 -0
  485. package/dist/node_modules/lodash/_isMasked.js +18 -0
  486. package/dist/node_modules/lodash/_isMasked.js.map +1 -0
  487. package/dist/node_modules/lodash/_isPrototype.js +15 -0
  488. package/dist/node_modules/lodash/_isPrototype.js.map +1 -0
  489. package/dist/node_modules/lodash/_isStrictComparable.js +15 -0
  490. package/dist/node_modules/lodash/_isStrictComparable.js.map +1 -0
  491. package/dist/node_modules/lodash/_listCacheClear.js +13 -0
  492. package/dist/node_modules/lodash/_listCacheClear.js.map +1 -0
  493. package/dist/node_modules/lodash/_listCacheDelete.js +16 -0
  494. package/dist/node_modules/lodash/_listCacheDelete.js.map +1 -0
  495. package/dist/node_modules/lodash/_listCacheGet.js +16 -0
  496. package/dist/node_modules/lodash/_listCacheGet.js.map +1 -0
  497. package/dist/node_modules/lodash/_listCacheHas.js +15 -0
  498. package/dist/node_modules/lodash/_listCacheHas.js.map +1 -0
  499. package/dist/node_modules/lodash/_listCacheSet.js +16 -0
  500. package/dist/node_modules/lodash/_listCacheSet.js.map +1 -0
  501. package/dist/node_modules/lodash/_mapCacheClear.js +21 -0
  502. package/dist/node_modules/lodash/_mapCacheClear.js.map +1 -0
  503. package/dist/node_modules/lodash/_mapCacheDelete.js +16 -0
  504. package/dist/node_modules/lodash/_mapCacheDelete.js.map +1 -0
  505. package/dist/node_modules/lodash/_mapCacheGet.js +15 -0
  506. package/dist/node_modules/lodash/_mapCacheGet.js.map +1 -0
  507. package/dist/node_modules/lodash/_mapCacheHas.js +15 -0
  508. package/dist/node_modules/lodash/_mapCacheHas.js.map +1 -0
  509. package/dist/node_modules/lodash/_mapCacheSet.js +16 -0
  510. package/dist/node_modules/lodash/_mapCacheSet.js.map +1 -0
  511. package/dist/node_modules/lodash/_mapToArray.js +16 -0
  512. package/dist/node_modules/lodash/_mapToArray.js.map +1 -0
  513. package/dist/node_modules/lodash/_matchesStrictComparable.js +15 -0
  514. package/dist/node_modules/lodash/_matchesStrictComparable.js.map +1 -0
  515. package/dist/node_modules/lodash/_memoizeCapped.js +18 -0
  516. package/dist/node_modules/lodash/_memoizeCapped.js.map +1 -0
  517. package/dist/node_modules/lodash/_nativeCreate.js +11 -0
  518. package/dist/node_modules/lodash/_nativeCreate.js.map +1 -0
  519. package/dist/node_modules/lodash/_nativeKeys.js +11 -0
  520. package/dist/node_modules/lodash/_nativeKeys.js.map +1 -0
  521. package/dist/node_modules/lodash/_nodeUtil.js +16 -0
  522. package/dist/node_modules/lodash/_nodeUtil.js.map +1 -0
  523. package/dist/node_modules/lodash/_objectToString.js +14 -0
  524. package/dist/node_modules/lodash/_objectToString.js.map +1 -0
  525. package/dist/node_modules/lodash/_overArg.js +15 -0
  526. package/dist/node_modules/lodash/_overArg.js.map +1 -0
  527. package/dist/node_modules/lodash/_overRest.js +20 -0
  528. package/dist/node_modules/lodash/_overRest.js.map +1 -0
  529. package/dist/node_modules/lodash/_root.js +12 -0
  530. package/dist/node_modules/lodash/_root.js.map +1 -0
  531. package/dist/node_modules/lodash/_setCacheAdd.js +14 -0
  532. package/dist/node_modules/lodash/_setCacheAdd.js.map +1 -0
  533. package/dist/node_modules/lodash/_setCacheHas.js +13 -0
  534. package/dist/node_modules/lodash/_setCacheHas.js.map +1 -0
  535. package/dist/node_modules/lodash/_setToArray.js +16 -0
  536. package/dist/node_modules/lodash/_setToArray.js.map +1 -0
  537. package/dist/node_modules/lodash/_setToString.js +13 -0
  538. package/dist/node_modules/lodash/_setToString.js.map +1 -0
  539. package/dist/node_modules/lodash/_shortOut.js +21 -0
  540. package/dist/node_modules/lodash/_shortOut.js.map +1 -0
  541. package/dist/node_modules/lodash/_stackClear.js +15 -0
  542. package/dist/node_modules/lodash/_stackClear.js.map +1 -0
  543. package/dist/node_modules/lodash/_stackDelete.js +14 -0
  544. package/dist/node_modules/lodash/_stackDelete.js.map +1 -0
  545. package/dist/node_modules/lodash/_stackGet.js +13 -0
  546. package/dist/node_modules/lodash/_stackGet.js.map +1 -0
  547. package/dist/node_modules/lodash/_stackHas.js +13 -0
  548. package/dist/node_modules/lodash/_stackHas.js.map +1 -0
  549. package/dist/node_modules/lodash/_stackSet.js +23 -0
  550. package/dist/node_modules/lodash/_stackSet.js.map +1 -0
  551. package/dist/node_modules/lodash/_strictIndexOf.js +14 -0
  552. package/dist/node_modules/lodash/_strictIndexOf.js.map +1 -0
  553. package/dist/node_modules/lodash/_stringToArray.js +17 -0
  554. package/dist/node_modules/lodash/_stringToArray.js.map +1 -0
  555. package/dist/node_modules/lodash/_stringToPath.js +17 -0
  556. package/dist/node_modules/lodash/_stringToPath.js.map +1 -0
  557. package/dist/node_modules/lodash/_toKey.js +17 -0
  558. package/dist/node_modules/lodash/_toKey.js.map +1 -0
  559. package/dist/node_modules/lodash/_toSource.js +22 -0
  560. package/dist/node_modules/lodash/_toSource.js.map +1 -0
  561. package/dist/node_modules/lodash/_trimmedEndIndex.js +15 -0
  562. package/dist/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
  563. package/dist/node_modules/lodash/_unicodeToArray.js +24 -0
  564. package/dist/node_modules/lodash/_unicodeToArray.js.map +1 -0
  565. package/dist/node_modules/lodash/constant.js +15 -0
  566. package/dist/node_modules/lodash/constant.js.map +1 -0
  567. package/dist/node_modules/lodash/debounce.js +57 -0
  568. package/dist/node_modules/lodash/debounce.js.map +1 -0
  569. package/dist/node_modules/lodash/eq.js +13 -0
  570. package/dist/node_modules/lodash/eq.js.map +1 -0
  571. package/dist/node_modules/lodash/every.js +20 -0
  572. package/dist/node_modules/lodash/every.js.map +1 -0
  573. package/dist/node_modules/lodash/find.js +12 -0
  574. package/dist/node_modules/lodash/find.js.map +1 -0
  575. package/dist/node_modules/lodash/findIndex.js +20 -0
  576. package/dist/node_modules/lodash/findIndex.js.map +1 -0
  577. package/dist/node_modules/lodash/flatMap.js +16 -0
  578. package/dist/node_modules/lodash/flatMap.js.map +1 -0
  579. package/dist/node_modules/lodash/get.js +16 -0
  580. package/dist/node_modules/lodash/get.js.map +1 -0
  581. package/dist/node_modules/lodash/hasIn.js +16 -0
  582. package/dist/node_modules/lodash/hasIn.js.map +1 -0
  583. package/dist/node_modules/lodash/identity.js +13 -0
  584. package/dist/node_modules/lodash/identity.js.map +1 -0
  585. package/dist/node_modules/lodash/isArguments.js +17 -0
  586. package/dist/node_modules/lodash/isArguments.js.map +1 -0
  587. package/dist/node_modules/lodash/isArray.js +10 -0
  588. package/dist/node_modules/lodash/isArray.js.map +1 -0
  589. package/dist/node_modules/lodash/isArrayLike.js +16 -0
  590. package/dist/node_modules/lodash/isArrayLike.js.map +1 -0
  591. package/dist/node_modules/lodash/isBoolean.js +16 -0
  592. package/dist/node_modules/lodash/isBoolean.js.map +1 -0
  593. package/dist/node_modules/lodash/isBuffer.js +13 -0
  594. package/dist/node_modules/lodash/isBuffer.js.map +1 -0
  595. package/dist/node_modules/lodash/isEqual.js +15 -0
  596. package/dist/node_modules/lodash/isEqual.js.map +1 -0
  597. package/dist/node_modules/lodash/isFunction.js +18 -0
  598. package/dist/node_modules/lodash/isFunction.js.map +1 -0
  599. package/dist/node_modules/lodash/isLength.js +14 -0
  600. package/dist/node_modules/lodash/isLength.js.map +1 -0
  601. package/dist/node_modules/lodash/isNaN.js +15 -0
  602. package/dist/node_modules/lodash/isNaN.js.map +1 -0
  603. package/dist/node_modules/lodash/isNil.js +13 -0
  604. package/dist/node_modules/lodash/isNil.js.map +1 -0
  605. package/dist/node_modules/lodash/isNumber.js +16 -0
  606. package/dist/node_modules/lodash/isNumber.js.map +1 -0
  607. package/dist/node_modules/lodash/isObject.js +14 -0
  608. package/dist/node_modules/lodash/isObject.js.map +1 -0
  609. package/dist/node_modules/lodash/isObjectLike.js +13 -0
  610. package/dist/node_modules/lodash/isObjectLike.js.map +1 -0
  611. package/dist/node_modules/lodash/isPlainObject.js +21 -0
  612. package/dist/node_modules/lodash/isPlainObject.js.map +1 -0
  613. package/dist/node_modules/lodash/isString.js +17 -0
  614. package/dist/node_modules/lodash/isString.js.map +1 -0
  615. package/dist/node_modules/lodash/isSymbol.js +16 -0
  616. package/dist/node_modules/lodash/isSymbol.js.map +1 -0
  617. package/dist/node_modules/lodash/isTypedArray.js +14 -0
  618. package/dist/node_modules/lodash/isTypedArray.js.map +1 -0
  619. package/dist/node_modules/lodash/keys.js +17 -0
  620. package/dist/node_modules/lodash/keys.js.map +1 -0
  621. package/dist/node_modules/lodash/last.js +14 -0
  622. package/dist/node_modules/lodash/last.js.map +1 -0
  623. package/dist/node_modules/lodash/map.js +18 -0
  624. package/dist/node_modules/lodash/map.js.map +1 -0
  625. package/dist/node_modules/lodash/mapValues.js +20 -0
  626. package/dist/node_modules/lodash/mapValues.js.map +1 -0
  627. package/dist/node_modules/lodash/max.js +17 -0
  628. package/dist/node_modules/lodash/max.js.map +1 -0
  629. package/dist/node_modules/lodash/maxBy.js +17 -0
  630. package/dist/node_modules/lodash/maxBy.js.map +1 -0
  631. package/dist/node_modules/lodash/memoize.js +22 -0
  632. package/dist/node_modules/lodash/memoize.js.map +1 -0
  633. package/dist/node_modules/lodash/min.js +17 -0
  634. package/dist/node_modules/lodash/min.js.map +1 -0
  635. package/dist/node_modules/lodash/minBy.js +17 -0
  636. package/dist/node_modules/lodash/minBy.js.map +1 -0
  637. package/dist/node_modules/lodash/noop.js +11 -0
  638. package/dist/node_modules/lodash/noop.js.map +1 -0
  639. package/dist/node_modules/lodash/now.js +14 -0
  640. package/dist/node_modules/lodash/now.js.map +1 -0
  641. package/dist/node_modules/lodash/property.js +18 -0
  642. package/dist/node_modules/lodash/property.js.map +1 -0
  643. package/dist/node_modules/lodash/range.js +11 -0
  644. package/dist/node_modules/lodash/range.js.map +1 -0
  645. package/dist/node_modules/lodash/some.js +20 -0
  646. package/dist/node_modules/lodash/some.js.map +1 -0
  647. package/dist/node_modules/lodash/sortBy.js +19 -0
  648. package/dist/node_modules/lodash/sortBy.js.map +1 -0
  649. package/dist/node_modules/lodash/stubArray.js +13 -0
  650. package/dist/node_modules/lodash/stubArray.js.map +1 -0
  651. package/dist/node_modules/lodash/stubFalse.js +13 -0
  652. package/dist/node_modules/lodash/stubFalse.js.map +1 -0
  653. package/dist/node_modules/lodash/throttle.js +22 -0
  654. package/dist/node_modules/lodash/throttle.js.map +1 -0
  655. package/dist/node_modules/lodash/toFinite.js +15 -0
  656. package/dist/node_modules/lodash/toFinite.js.map +1 -0
  657. package/dist/node_modules/lodash/toInteger.js +16 -0
  658. package/dist/node_modules/lodash/toInteger.js.map +1 -0
  659. package/dist/node_modules/lodash/toNumber.js +26 -0
  660. package/dist/node_modules/lodash/toNumber.js.map +1 -0
  661. package/dist/node_modules/lodash/toString.js +15 -0
  662. package/dist/node_modules/lodash/toString.js.map +1 -0
  663. package/dist/node_modules/lodash/uniqBy.js +16 -0
  664. package/dist/node_modules/lodash/uniqBy.js.map +1 -0
  665. package/dist/node_modules/lodash/upperFirst.js +11 -0
  666. package/dist/node_modules/lodash/upperFirst.js.map +1 -0
  667. package/dist/node_modules/object-assign/index.js +41 -0
  668. package/dist/node_modules/object-assign/index.js.map +1 -0
  669. package/dist/node_modules/prop-types/checkPropTypes.js +46 -0
  670. package/dist/node_modules/prop-types/checkPropTypes.js.map +1 -0
  671. package/dist/node_modules/prop-types/factoryWithThrowingShims.js +49 -0
  672. package/dist/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -0
  673. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +272 -0
  674. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -0
  675. package/dist/node_modules/prop-types/index.js +16 -0
  676. package/dist/node_modules/prop-types/index.js.map +1 -0
  677. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js +10 -0
  678. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -0
  679. package/dist/node_modules/prop-types/lib/has.js +10 -0
  680. package/dist/node_modules/prop-types/lib/has.js.map +1 -0
  681. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +84 -0
  682. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  683. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +64 -0
  684. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  685. package/dist/node_modules/prop-types/node_modules/react-is/index.js +12 -0
  686. package/dist/node_modules/prop-types/node_modules/react-is/index.js.map +1 -0
  687. package/dist/node_modules/react-is/cjs/react-is.development.js +87 -0
  688. package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  689. package/dist/node_modules/react-is/cjs/react-is.production.min.js +65 -0
  690. package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  691. package/dist/node_modules/react-is/index.js +12 -0
  692. package/dist/node_modules/react-is/index.js.map +1 -0
  693. package/dist/node_modules/react-smooth/es6/Animate.js +374 -0
  694. package/dist/node_modules/react-smooth/es6/Animate.js.map +1 -0
  695. package/dist/node_modules/react-smooth/es6/AnimateManager.js +73 -0
  696. package/dist/node_modules/react-smooth/es6/AnimateManager.js.map +1 -0
  697. package/dist/node_modules/react-smooth/es6/configUpdate.js +173 -0
  698. package/dist/node_modules/react-smooth/es6/configUpdate.js.map +1 -0
  699. package/dist/node_modules/react-smooth/es6/easing.js +152 -0
  700. package/dist/node_modules/react-smooth/es6/easing.js.map +1 -0
  701. package/dist/node_modules/react-smooth/es6/index.js +9 -0
  702. package/dist/node_modules/react-smooth/es6/index.js.map +1 -0
  703. package/dist/node_modules/react-smooth/es6/setRafTimeout.js +14 -0
  704. package/dist/node_modules/react-smooth/es6/setRafTimeout.js.map +1 -0
  705. package/dist/node_modules/react-smooth/es6/util.js +92 -0
  706. package/dist/node_modules/react-smooth/es6/util.js.map +1 -0
  707. package/dist/node_modules/recharts/es6/cartesian/Area.js +435 -0
  708. package/dist/node_modules/recharts/es6/cartesian/Area.js.map +1 -0
  709. package/dist/node_modules/recharts/es6/cartesian/Bar.js +387 -0
  710. package/dist/node_modules/recharts/es6/cartesian/Bar.js.map +1 -0
  711. package/dist/node_modules/recharts/es6/cartesian/Brush.js +499 -0
  712. package/dist/node_modules/recharts/es6/cartesian/Brush.js.map +1 -0
  713. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js +338 -0
  714. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js.map +1 -0
  715. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js +243 -0
  716. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js.map +1 -0
  717. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js +173 -0
  718. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js.map +1 -0
  719. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js +178 -0
  720. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js.map +1 -0
  721. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js +254 -0
  722. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js.map +1 -0
  723. package/dist/node_modules/recharts/es6/cartesian/XAxis.js +144 -0
  724. package/dist/node_modules/recharts/es6/cartesian/XAxis.js.map +1 -0
  725. package/dist/node_modules/recharts/es6/cartesian/YAxis.js +143 -0
  726. package/dist/node_modules/recharts/es6/cartesian/YAxis.js.map +1 -0
  727. package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js +18 -0
  728. package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js.map +1 -0
  729. package/dist/node_modules/recharts/es6/cartesian/getTicks.js +121 -0
  730. package/dist/node_modules/recharts/es6/cartesian/getTicks.js.map +1 -0
  731. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js +101 -0
  732. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js.map +1 -0
  733. package/dist/node_modules/recharts/es6/chart/AreaChart.js +22 -0
  734. package/dist/node_modules/recharts/es6/chart/AreaChart.js.map +1 -0
  735. package/dist/node_modules/recharts/es6/chart/BarChart.js +24 -0
  736. package/dist/node_modules/recharts/es6/chart/BarChart.js.map +1 -0
  737. package/dist/node_modules/recharts/es6/chart/PieChart.js +34 -0
  738. package/dist/node_modules/recharts/es6/chart/PieChart.js.map +1 -0
  739. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js +1245 -0
  740. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js.map +1 -0
  741. package/dist/node_modules/recharts/es6/component/Cell.js +9 -0
  742. package/dist/node_modules/recharts/es6/component/Cell.js.map +1 -0
  743. package/dist/node_modules/recharts/es6/component/Cursor.js +93 -0
  744. package/dist/node_modules/recharts/es6/component/Cursor.js.map +1 -0
  745. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js +237 -0
  746. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js.map +1 -0
  747. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js +171 -0
  748. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js.map +1 -0
  749. package/dist/node_modules/recharts/es6/component/Label.js +353 -0
  750. package/dist/node_modules/recharts/es6/component/Label.js.map +1 -0
  751. package/dist/node_modules/recharts/es6/component/LabelList.js +166 -0
  752. package/dist/node_modules/recharts/es6/component/LabelList.js.map +1 -0
  753. package/dist/node_modules/recharts/es6/component/Legend.js +234 -0
  754. package/dist/node_modules/recharts/es6/component/Legend.js.map +1 -0
  755. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js +187 -0
  756. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js.map +1 -0
  757. package/dist/node_modules/recharts/es6/component/Text.js +225 -0
  758. package/dist/node_modules/recharts/es6/component/Text.js.map +1 -0
  759. package/dist/node_modules/recharts/es6/component/Tooltip.js +182 -0
  760. package/dist/node_modules/recharts/es6/component/Tooltip.js.map +1 -0
  761. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js +198 -0
  762. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js.map +1 -0
  763. package/dist/node_modules/recharts/es6/container/Layer.js +40 -0
  764. package/dist/node_modules/recharts/es6/container/Layer.js.map +1 -0
  765. package/dist/node_modules/recharts/es6/container/Surface.js +60 -0
  766. package/dist/node_modules/recharts/es6/container/Surface.js.map +1 -0
  767. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js +46 -0
  768. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js.map +1 -0
  769. package/dist/node_modules/recharts/es6/polar/Pie.js +435 -0
  770. package/dist/node_modules/recharts/es6/polar/Pie.js.map +1 -0
  771. package/dist/node_modules/recharts/es6/polar/PolarAngleAxis.js +215 -0
  772. package/dist/node_modules/recharts/es6/polar/PolarAngleAxis.js.map +1 -0
  773. package/dist/node_modules/recharts/es6/polar/PolarRadiusAxis.js +268 -0
  774. package/dist/node_modules/recharts/es6/polar/PolarRadiusAxis.js.map +1 -0
  775. package/dist/node_modules/recharts/es6/shape/Cross.js +112 -0
  776. package/dist/node_modules/recharts/es6/shape/Cross.js.map +1 -0
  777. package/dist/node_modules/recharts/es6/shape/Curve.js +136 -0
  778. package/dist/node_modules/recharts/es6/shape/Curve.js.map +1 -0
  779. package/dist/node_modules/recharts/es6/shape/Dot.js +27 -0
  780. package/dist/node_modules/recharts/es6/shape/Dot.js.map +1 -0
  781. package/dist/node_modules/recharts/es6/shape/Polygon.js +112 -0
  782. package/dist/node_modules/recharts/es6/shape/Polygon.js.map +1 -0
  783. package/dist/node_modules/recharts/es6/shape/Rectangle.js +205 -0
  784. package/dist/node_modules/recharts/es6/shape/Rectangle.js.map +1 -0
  785. package/dist/node_modules/recharts/es6/shape/Sector.js +192 -0
  786. package/dist/node_modules/recharts/es6/shape/Sector.js.map +1 -0
  787. package/dist/node_modules/recharts/es6/shape/Symbols.js +143 -0
  788. package/dist/node_modules/recharts/es6/shape/Symbols.js.map +1 -0
  789. package/dist/node_modules/recharts/es6/shape/Trapezoid.js +175 -0
  790. package/dist/node_modules/recharts/es6/shape/Trapezoid.js.map +1 -0
  791. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js +181 -0
  792. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js.map +1 -0
  793. package/dist/node_modules/recharts/es6/util/BarUtils.js +112 -0
  794. package/dist/node_modules/recharts/es6/util/BarUtils.js.map +1 -0
  795. package/dist/node_modules/recharts/es6/util/CartesianUtils.js +234 -0
  796. package/dist/node_modules/recharts/es6/util/CartesianUtils.js.map +1 -0
  797. package/dist/node_modules/recharts/es6/util/ChartUtils.js +554 -0
  798. package/dist/node_modules/recharts/es6/util/ChartUtils.js.map +1 -0
  799. package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js +70 -0
  800. package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js.map +1 -0
  801. package/dist/node_modules/recharts/es6/util/DOMUtils.js +108 -0
  802. package/dist/node_modules/recharts/es6/util/DOMUtils.js.map +1 -0
  803. package/dist/node_modules/recharts/es6/util/DataUtils.js +57 -0
  804. package/dist/node_modules/recharts/es6/util/DataUtils.js.map +1 -0
  805. package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js +58 -0
  806. package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js.map +1 -0
  807. package/dist/node_modules/recharts/es6/util/Events.js +7 -0
  808. package/dist/node_modules/recharts/es6/util/Events.js.map +1 -0
  809. package/dist/node_modules/recharts/es6/util/Global.js +21 -0
  810. package/dist/node_modules/recharts/es6/util/Global.js.map +1 -0
  811. package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js +9 -0
  812. package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js.map +1 -0
  813. package/dist/node_modules/recharts/es6/util/LogUtils.js +15 -0
  814. package/dist/node_modules/recharts/es6/util/LogUtils.js.map +1 -0
  815. package/dist/node_modules/recharts/es6/util/PolarUtils.js +198 -0
  816. package/dist/node_modules/recharts/es6/util/PolarUtils.js.map +1 -0
  817. package/dist/node_modules/recharts/es6/util/ReactUtils.js +137 -0
  818. package/dist/node_modules/recharts/es6/util/ReactUtils.js.map +1 -0
  819. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js +181 -0
  820. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js.map +1 -0
  821. package/dist/node_modules/recharts/es6/util/ShallowEqual.js +10 -0
  822. package/dist/node_modules/recharts/es6/util/ShallowEqual.js.map +1 -0
  823. package/dist/node_modules/recharts/es6/util/TickUtils.js +31 -0
  824. package/dist/node_modules/recharts/es6/util/TickUtils.js.map +1 -0
  825. package/dist/node_modules/recharts/es6/util/calculateViewBox.js +25 -0
  826. package/dist/node_modules/recharts/es6/util/calculateViewBox.js.map +1 -0
  827. package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js +23 -0
  828. package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js.map +1 -0
  829. package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js +16 -0
  830. package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js.map +1 -0
  831. package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js +17 -0
  832. package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js.map +1 -0
  833. package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js +12 -0
  834. package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js.map +1 -0
  835. package/dist/node_modules/recharts/es6/util/getLegendProps.js +88 -0
  836. package/dist/node_modules/recharts/es6/util/getLegendProps.js.map +1 -0
  837. package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js +13 -0
  838. package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js.map +1 -0
  839. package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js +12 -0
  840. package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js.map +1 -0
  841. package/dist/node_modules/recharts/es6/util/tooltip/translate.js +87 -0
  842. package/dist/node_modules/recharts/es6/util/tooltip/translate.js.map +1 -0
  843. package/dist/node_modules/recharts/es6/util/types.js +43 -0
  844. package/dist/node_modules/recharts/es6/util/types.js.map +1 -0
  845. package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js +132 -0
  846. package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js.map +1 -0
  847. package/dist/node_modules/recharts-scale/es6/index.js +1 -0
  848. package/dist/node_modules/recharts-scale/es6/util/arithmetic.js +32 -0
  849. package/dist/node_modules/recharts-scale/es6/util/arithmetic.js.map +1 -0
  850. package/dist/node_modules/recharts-scale/es6/util/utils.js +79 -0
  851. package/dist/node_modules/recharts-scale/es6/util/utils.js.map +1 -0
  852. package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +13 -0
  853. package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +1 -0
  854. package/dist/node_modules/victory-vendor/es/d3-scale.js +53 -0
  855. package/dist/node_modules/victory-vendor/es/d3-scale.js.map +1 -0
  856. package/package.json +1 -1
@@ -1,15 +1,16 @@
1
1
  import { gql as e } from "../../../node_modules/graphql-tag/lib/index.js";
2
2
  import { useQuery as t } from "../../../node_modules/@apollo/client/react/hooks/useQuery.js";
3
3
  import { notify as n } from "../../lib/toast.js";
4
- import { useUpsertAnalyticsSnapshotMutation as r } from "../../api/eventApi.js";
5
- import { Pagination as i, usePagination as a } from "../../components/Pagination.js";
6
- import { describeError as o, mutationSucceeded as s } from "../../lib/mutationResult.js";
7
- import { useMemo as c, useState as l } from "react";
8
- import { jsx as u, jsxs as d } from "react/jsx-runtime";
9
- import { BarChart3 as f } from "lucide-react";
10
- import { Badge as p, Button as m, EmphasisPanel as h, GlassCard as g, GradientText as _, IllustratedEmptyState as v, Input as y, PagePurpose as b } from "@burdenoff/fe-libs/ui";
4
+ import { useDashboardSummaryQuery as r, useRegistrationsQuery as i, useUpsertAnalyticsSnapshotMutation as a } from "../../api/eventApi.js";
5
+ import { CHART_SERIES_COLORS as o, ChartLegend as s, EventAreaChart as c, EventBarChart as l, EventDonutChart as u } from "../../components/EventCharts.js";
6
+ import { Pagination as d, usePagination as f } from "../../components/Pagination.js";
7
+ import { describeError as p, mutationSucceeded as m } from "../../lib/mutationResult.js";
8
+ import { useMemo as h, useState as g } from "react";
9
+ import { jsx as _, jsxs as v } from "react/jsx-runtime";
10
+ import { BarChart3 as y, CalendarDays as b, ClipboardList as ee, MapPin as te, QrCode as ne, Sparkles as re, Ticket as x, Trophy as S, Users as C } from "lucide-react";
11
+ import { Badge as w, Button as T, EmphasisPanel as E, GlassCard as D, GradientText as O, IllustratedEmptyState as k, Input as A, PagePurpose as j, Skeleton as M } from "@burdenoff/fe-libs/ui";
11
12
  //#region src/eventfullymanaged/pages/modules/AnalyticsPage.tsx
12
- var x = e`
13
+ var N = e`
13
14
  query EventfullymanagedAnalyticsSnapshotsWithMetrics($limit: Int, $offset: Int) {
14
15
  analyticsSnapshots: eventfullyManagedAnalyticsSnapshots(limit: $limit, offset: $offset) {
15
16
  total
@@ -23,7 +24,7 @@ var x = e`
23
24
  }
24
25
  }
25
26
  }
26
- `, S = [
27
+ `, P = [
27
28
  {
28
29
  key: "totalEvents",
29
30
  label: "Events"
@@ -53,7 +54,7 @@ var x = e`
53
54
  label: "Upcoming Sessions"
54
55
  }
55
56
  ];
56
- function C(e) {
57
+ function F(e) {
57
58
  let t = e.toLowerCase();
58
59
  return [
59
60
  "active",
@@ -71,136 +72,345 @@ function C(e) {
71
72
  "scheduled"
72
73
  ].includes(t) ? "info" : "secondary";
73
74
  }
74
- function w(e) {
75
+ function I(e) {
75
76
  if (!e) return null;
76
77
  let t = new Date(e);
77
78
  return Number.isNaN(t.getTime()) ? null : t.toLocaleString();
78
79
  }
79
- function T() {
80
- let e = a({ pageSize: 10 }), { data: T, loading: E, refetch: D } = t(x, { variables: {
80
+ function ie(e) {
81
+ if (!e) return "—";
82
+ let t = new Date(e);
83
+ return Number.isNaN(t.getTime()) ? "—" : t.toLocaleDateString(void 0, {
84
+ month: "short",
85
+ day: "numeric"
86
+ });
87
+ }
88
+ function L(e) {
89
+ return e.replace(/[_-]+/g, " ").split(" ").filter(Boolean).map((e) => e.charAt(0).toUpperCase() + e.slice(1).toLowerCase()).join(" ");
90
+ }
91
+ function R({ icon: e, label: t, value: n }) {
92
+ return /* @__PURE__ */ v(D, {
93
+ treatment: "metric",
94
+ className: "p-4",
95
+ children: [/* @__PURE__ */ v("div", {
96
+ className: "flex items-center gap-2 text-text-secondary",
97
+ children: [/* @__PURE__ */ _(e, { className: "h-4 w-4 text-accent-primary" }), /* @__PURE__ */ _("p", {
98
+ className: "text-xs font-medium uppercase tracking-wide",
99
+ children: t
100
+ })]
101
+ }), /* @__PURE__ */ _("p", {
102
+ className: "mt-2 text-2xl font-bold tabular-nums text-text-primary",
103
+ children: n.toLocaleString()
104
+ })]
105
+ });
106
+ }
107
+ function z() {
108
+ let e = f({ pageSize: 8 }), { data: z, loading: B, refetch: V } = t(N, { variables: {
81
109
  limit: e.limit,
82
110
  offset: e.offset
83
- } }), [O, { loading: k }] = r(), [A, j] = l("overview"), M = c(() => T?.analyticsSnapshots.items ?? [], [T]), N = T?.analyticsSnapshots.total ?? 0;
84
- return /* @__PURE__ */ d("div", {
111
+ } }), H = r(), U = i({
112
+ limit: 200,
113
+ offset: 0
114
+ }), [W, { loading: G }] = a(), [K, q] = g("overview"), J = h(() => z?.analyticsSnapshots.items ?? [], [z]), Y = z?.analyticsSnapshots.total ?? 0, X = H.data?.dashboardSummary, Z = h(() => U.data?.registrations.items ?? [], [U.data]), Q = h(() => Z.filter((e) => !!e.checkedInAt).length, [Z]), ae = h(() => J.map((e) => {
115
+ let t = e.metrics?.generatedAt ?? e.createdAt ?? null, n = t ? new Date(t) : null, r = typeof e.metrics?.totalRegistrations == "number" ? e.metrics.totalRegistrations : null;
116
+ return n && !Number.isNaN(n.getTime()) && r !== null ? {
117
+ time: n.getTime(),
118
+ label: ie(t),
119
+ value: r
120
+ } : null;
121
+ }).filter((e) => e !== null).sort((e, t) => e.time - t.time).map(({ label: e, value: t }) => ({
122
+ label: e,
123
+ value: t
124
+ })), [J]), $ = h(() => {
125
+ let e = /* @__PURE__ */ new Map();
126
+ for (let t of Z) {
127
+ let n = (t.status || "unknown").toLowerCase();
128
+ e.set(n, (e.get(n) ?? 0) + 1);
129
+ }
130
+ return Array.from(e.entries()).sort((e, t) => t[1] - e[1]).map(([e, t], n) => ({
131
+ name: L(e),
132
+ value: t,
133
+ color: o[n % o.length]
134
+ }));
135
+ }, [Z]), oe = Z.length, se = h(() => X ? [
136
+ {
137
+ name: "Events",
138
+ value: X.totalEvents
139
+ },
140
+ {
141
+ name: "Regs",
142
+ value: X.totalRegistrations
143
+ },
144
+ {
145
+ name: "Attendees",
146
+ value: X.totalAttendees
147
+ },
148
+ {
149
+ name: "Check-ins",
150
+ value: Q
151
+ },
152
+ {
153
+ name: "Venues",
154
+ value: X.totalVenues
155
+ },
156
+ {
157
+ name: "Sponsors",
158
+ value: X.totalSponsors
159
+ },
160
+ {
161
+ name: "Sessions",
162
+ value: X.upcomingSessions
163
+ }
164
+ ] : [], [X, Q]), ce = async () => {
165
+ if (K.trim()) try {
166
+ let e = await W({ variables: { input: {
167
+ name: K,
168
+ title: K,
169
+ status: "created",
170
+ metadata: {}
171
+ } } });
172
+ if (!m(e, e.data?.upsertAnalyticsSnapshot?.id, "Could not generate snapshot")) return;
173
+ n.success("Snapshot generated"), await V();
174
+ } catch (e) {
175
+ n.error("Could not generate snapshot", p(e));
176
+ }
177
+ }, le = H.loading && !X;
178
+ return /* @__PURE__ */ v("div", {
85
179
  className: "space-y-6 p-6",
86
180
  children: [
87
- /* @__PURE__ */ u(b, { children: "Snapshots capture a point-in-time picture of how your events are performing — total events, registrations, attendees, venues, sponsors and upcoming sessions frozen at the moment you generate them. Use this page to take a daily or post-event snapshot so you can compare trends over time and report on outcomes." }),
88
- /* @__PURE__ */ d(h, { children: [
89
- /* @__PURE__ */ u("h1", {
181
+ /* @__PURE__ */ _(j, { children: "Analytics gives you the live pulse of your event operations — registrations over time, how those registrations break down by status, and totals across every entity you manage. Generate a snapshot to freeze today's numbers so you can compare trends over time and report on outcomes." }),
182
+ /* @__PURE__ */ _(E, { children: /* @__PURE__ */ v("div", {
183
+ className: "flex flex-col gap-4 sm:flex-row sm:items-end sm:justify-between",
184
+ children: [/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("h1", {
90
185
  className: "text-2xl font-bold text-text-primary",
91
- children: /* @__PURE__ */ u(_, { children: "Analytics" })
92
- }),
93
- /* @__PURE__ */ u("p", {
186
+ children: /* @__PURE__ */ _(O, { children: "Analytics" })
187
+ }), /* @__PURE__ */ _("p", {
94
188
  className: "mt-1 text-sm text-text-secondary",
95
- children: "Generate and track analytics snapshots from live event operations data."
96
- }),
97
- /* @__PURE__ */ d("div", {
98
- className: "mt-4 flex flex-col gap-3 sm:flex-row",
99
- children: [/* @__PURE__ */ u(y, {
100
- value: A,
101
- onChange: (e) => j(e.target.value),
189
+ children: "Real-time metrics from live event operations, plus point-in-time snapshots you control."
190
+ })] }), /* @__PURE__ */ v("div", {
191
+ className: "flex w-full flex-col gap-2 sm:w-auto sm:flex-row",
192
+ children: [/* @__PURE__ */ _(A, {
193
+ value: K,
194
+ onChange: (e) => q(e.target.value),
102
195
  placeholder: "daily-summary",
103
196
  "aria-label": "Snapshot name",
104
- className: "flex-1"
105
- }), /* @__PURE__ */ d(m, {
197
+ className: "sm:w-48"
198
+ }), /* @__PURE__ */ v(T, {
106
199
  type: "button",
107
- disabled: k,
108
- onClick: async () => {
109
- if (A.trim()) try {
110
- let e = await O({ variables: { input: {
111
- name: A,
112
- title: A,
113
- status: "created",
114
- metadata: {}
115
- } } });
116
- if (!s(e, e.data?.upsertAnalyticsSnapshot?.id, "Could not generate snapshot")) return;
117
- n.success("Snapshot generated"), await D();
118
- } catch (e) {
119
- n.error("Could not generate snapshot", o(e));
120
- }
121
- },
122
- children: [/* @__PURE__ */ u(f, { className: "h-4 w-4" }), k ? "Generating..." : "Generate Snapshot"]
200
+ disabled: G,
201
+ onClick: ce,
202
+ children: [/* @__PURE__ */ _(re, { className: "h-4 w-4" }), G ? "Generating..." : "Generate snapshot"]
123
203
  })]
124
- })
125
- ] }),
126
- /* @__PURE__ */ d("section", {
127
- className: "space-y-4",
128
- children: [
129
- /* @__PURE__ */ u("h2", {
130
- className: "text-lg font-semibold text-text-primary",
131
- children: E ? "Loading snapshots..." : `Snapshots (${N})`
132
- }),
133
- M.length === 0 ? /* @__PURE__ */ u(g, {
204
+ })]
205
+ }) }),
206
+ /* @__PURE__ */ v("div", {
207
+ className: "grid grid-cols-1 gap-6 xl:grid-cols-[minmax(0,1fr)_320px]",
208
+ children: [/* @__PURE__ */ v("div", {
209
+ className: "space-y-6",
210
+ children: [
211
+ le ? /* @__PURE__ */ _("div", {
212
+ className: "grid grid-cols-2 gap-4 sm:grid-cols-3 xl:grid-cols-4",
213
+ children: Array.from({ length: 7 }).map((e, t) => /* @__PURE__ */ _(M, { className: "h-[92px] rounded-card" }, t))
214
+ }) : X ? /* @__PURE__ */ v("div", {
215
+ className: "grid grid-cols-2 gap-4 sm:grid-cols-3 xl:grid-cols-4",
216
+ children: [
217
+ /* @__PURE__ */ _(R, {
218
+ icon: b,
219
+ label: "Events",
220
+ value: X.totalEvents
221
+ }),
222
+ /* @__PURE__ */ _(R, {
223
+ icon: ee,
224
+ label: "Registrations",
225
+ value: X.totalRegistrations
226
+ }),
227
+ /* @__PURE__ */ _(R, {
228
+ icon: C,
229
+ label: "Attendees",
230
+ value: X.totalAttendees
231
+ }),
232
+ /* @__PURE__ */ _(R, {
233
+ icon: ne,
234
+ label: "Check-ins",
235
+ value: Q
236
+ }),
237
+ /* @__PURE__ */ _(R, {
238
+ icon: te,
239
+ label: "Venues",
240
+ value: X.totalVenues
241
+ }),
242
+ /* @__PURE__ */ _(R, {
243
+ icon: S,
244
+ label: "Sponsors",
245
+ value: X.totalSponsors
246
+ }),
247
+ /* @__PURE__ */ _(R, {
248
+ icon: x,
249
+ label: "Upcoming Sessions",
250
+ value: X.upcomingSessions
251
+ })
252
+ ]
253
+ }) : null,
254
+ /* @__PURE__ */ v("div", {
255
+ className: "grid grid-cols-1 gap-6 lg:grid-cols-2",
256
+ children: [/* @__PURE__ */ v(D, {
257
+ treatment: "insight",
258
+ className: "p-5",
259
+ children: [/* @__PURE__ */ v("div", {
260
+ className: "flex items-center justify-between",
261
+ children: [/* @__PURE__ */ _("h2", {
262
+ className: "text-base font-semibold text-text-primary",
263
+ children: "Registrations over time"
264
+ }), /* @__PURE__ */ _("span", {
265
+ className: "text-xs text-text-muted",
266
+ children: "By snapshot"
267
+ })]
268
+ }), /* @__PURE__ */ _("div", {
269
+ className: "mt-4",
270
+ children: /* @__PURE__ */ _(c, {
271
+ data: ae,
272
+ emptyLabel: "Generate a few snapshots to chart the trend"
273
+ })
274
+ })]
275
+ }), /* @__PURE__ */ v(D, {
276
+ treatment: "insight",
277
+ className: "p-5",
278
+ children: [/* @__PURE__ */ _("h2", {
279
+ className: "text-base font-semibold text-text-primary",
280
+ children: "Registrations by status"
281
+ }), /* @__PURE__ */ v("div", {
282
+ className: "mt-4 flex flex-col items-center gap-4 sm:flex-row",
283
+ children: [/* @__PURE__ */ _("div", {
284
+ className: "w-full sm:w-1/2",
285
+ children: /* @__PURE__ */ _(u, {
286
+ data: $,
287
+ centerValue: oe.toLocaleString(),
288
+ centerLabel: "Registrations",
289
+ emptyLabel: "No registrations yet"
290
+ })
291
+ }), /* @__PURE__ */ _("div", {
292
+ className: "w-full sm:w-1/2",
293
+ children: /* @__PURE__ */ _(s, { items: $.map((e) => ({
294
+ label: e.name,
295
+ color: e.color ?? "var(--color-chart-1)",
296
+ value: e.value.toLocaleString()
297
+ })) })
298
+ })]
299
+ })]
300
+ })]
301
+ }),
302
+ /* @__PURE__ */ v(D, {
303
+ treatment: "insight",
304
+ className: "p-5",
305
+ children: [
306
+ /* @__PURE__ */ _("h2", {
307
+ className: "text-base font-semibold text-text-primary",
308
+ children: "Portfolio totals"
309
+ }),
310
+ /* @__PURE__ */ _("p", {
311
+ className: "mt-0.5 text-xs text-text-muted",
312
+ children: "Live counts across every entity you manage."
313
+ }),
314
+ /* @__PURE__ */ _("div", {
315
+ className: "mt-4",
316
+ children: /* @__PURE__ */ _(l, {
317
+ data: se,
318
+ emptyLabel: "No operational data yet"
319
+ })
320
+ })
321
+ ]
322
+ })
323
+ ]
324
+ }), /* @__PURE__ */ v("aside", {
325
+ className: "space-y-4",
326
+ children: [/* @__PURE__ */ v("div", {
327
+ className: "flex items-center justify-between",
328
+ children: [/* @__PURE__ */ v("h2", {
329
+ className: "text-base font-semibold text-text-primary",
330
+ children: ["Saved snapshots ", Y > 0 ? /* @__PURE__ */ v("span", {
331
+ className: "text-text-muted",
332
+ children: [
333
+ "(",
334
+ Y,
335
+ ")"
336
+ ]
337
+ }) : null]
338
+ }), /* @__PURE__ */ _(y, { className: "h-4 w-4 text-text-muted" })]
339
+ }), B && J.length === 0 ? /* @__PURE__ */ _("div", {
340
+ className: "space-y-3",
341
+ children: Array.from({ length: 3 }).map((e, t) => /* @__PURE__ */ _(M, { className: "h-24 rounded-card" }, t))
342
+ }) : J.length === 0 ? /* @__PURE__ */ _(D, {
134
343
  treatment: "plain",
135
344
  className: "border-border-seam",
136
- children: /* @__PURE__ */ u(v, {
345
+ children: /* @__PURE__ */ _(k, {
137
346
  illustration: "empty-data",
138
- title: "No analytics snapshots available yet.",
139
- description: "Generate your first snapshot to freeze the current event metrics.",
347
+ title: "No snapshots yet",
348
+ description: "Generate your first snapshot to freeze the current metrics.",
140
349
  className: "py-8"
141
350
  })
142
- }) : /* @__PURE__ */ u("div", {
143
- className: "space-y-4",
144
- children: M.map((e) => {
145
- let t = w(e.metrics?.generatedAt) ?? w(e.createdAt);
146
- return /* @__PURE__ */ d(g, {
351
+ }) : /* @__PURE__ */ v("div", {
352
+ className: "space-y-3",
353
+ children: [J.map((e) => {
354
+ let t = I(e.metrics?.generatedAt) ?? I(e.createdAt), n = P.map((t) => {
355
+ let n = e.metrics?.[t.key];
356
+ return {
357
+ label: t.label,
358
+ value: typeof n == "number" ? n : null
359
+ };
360
+ }).filter((e) => e.value !== null);
361
+ return /* @__PURE__ */ v(D, {
147
362
  treatment: "plain",
148
- className: "border-border-seam p-5",
149
- children: [/* @__PURE__ */ d("div", {
150
- className: "flex flex-wrap items-start justify-between gap-3",
151
- children: [/* @__PURE__ */ d("div", {
363
+ className: "border-border-seam p-4",
364
+ children: [/* @__PURE__ */ v("div", {
365
+ className: "flex items-start justify-between gap-2",
366
+ children: [/* @__PURE__ */ v("div", {
152
367
  className: "min-w-0",
153
- children: [/* @__PURE__ */ u("h3", {
154
- className: "truncate text-base font-semibold text-text-primary",
368
+ children: [/* @__PURE__ */ _("h3", {
369
+ className: "truncate text-sm font-semibold text-text-primary",
155
370
  children: e.title ?? e.name ?? `Snapshot ${e.id}`
156
- }), t ? /* @__PURE__ */ d("p", {
157
- className: "mt-0.5 text-xs text-text-secondary",
158
- children: ["Generated ", t]
371
+ }), t ? /* @__PURE__ */ _("p", {
372
+ className: "mt-0.5 text-xs text-text-muted",
373
+ children: t
159
374
  }) : null]
160
- }), e.status ? /* @__PURE__ */ u(p, {
161
- variant: C(e.status),
375
+ }), e.status ? /* @__PURE__ */ _(w, {
376
+ variant: F(e.status),
162
377
  className: "shrink-0 uppercase",
163
378
  children: e.status
164
379
  }) : null]
165
- }), e.metrics ? /* @__PURE__ */ u("div", {
166
- className: "mt-4 grid grid-cols-2 gap-3 sm:grid-cols-3 xl:grid-cols-7",
167
- children: S.map((t) => {
168
- let n = e.metrics?.[t.key], r = typeof n == "number" ? n : 0;
169
- return /* @__PURE__ */ d(g, {
170
- treatment: "metric",
171
- className: "p-3",
172
- children: [/* @__PURE__ */ u("p", {
173
- className: "text-xs uppercase tracking-wide text-text-secondary",
174
- children: t.label
175
- }), /* @__PURE__ */ u("p", {
176
- className: "mt-1 text-xl font-semibold tabular-nums text-text-primary",
177
- children: r.toLocaleString()
178
- })]
179
- }, t.key);
180
- })
181
- }) : /* @__PURE__ */ u("p", {
182
- className: "mt-3 text-sm text-text-secondary",
183
- children: "No metrics were captured for this snapshot."
380
+ }), n.length > 0 ? /* @__PURE__ */ _("dl", {
381
+ className: "mt-3 space-y-1.5",
382
+ children: n.map((e) => /* @__PURE__ */ v("div", {
383
+ className: "flex items-center justify-between text-xs",
384
+ children: [/* @__PURE__ */ _("dt", {
385
+ className: "text-text-secondary",
386
+ children: e.label
387
+ }), /* @__PURE__ */ _("dd", {
388
+ className: "font-semibold tabular-nums text-text-primary",
389
+ children: (e.value ?? 0).toLocaleString()
390
+ })]
391
+ }, e.label))
392
+ }) : /* @__PURE__ */ _("p", {
393
+ className: "mt-3 text-xs text-text-muted",
394
+ children: "No metrics captured."
184
395
  })]
185
396
  }, e.id);
186
- })
187
- }),
188
- /* @__PURE__ */ u(i, {
189
- offset: e.offset,
190
- limit: e.limit,
191
- loadedCount: M.length,
192
- total: N,
193
- onPrev: e.prevPage,
194
- onNext: e.nextPage,
195
- itemLabel: "snapshots",
196
- loading: E
197
- })
198
- ]
397
+ }), /* @__PURE__ */ _(d, {
398
+ offset: e.offset,
399
+ limit: e.limit,
400
+ loadedCount: J.length,
401
+ total: Y,
402
+ onPrev: e.prevPage,
403
+ onNext: e.nextPage,
404
+ itemLabel: "snapshots",
405
+ loading: B
406
+ })]
407
+ })]
408
+ })]
199
409
  })
200
410
  ]
201
411
  });
202
412
  }
203
413
  //#endregion
204
- export { T as default };
414
+ export { z as default };
205
415
 
206
416
  //# sourceMappingURL=AnalyticsPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnalyticsPage.js","names":[],"sources":["../../../../src/eventfullymanaged/pages/modules/AnalyticsPage.tsx"],"sourcesContent":["import { BarChart3 } from 'lucide-react';\nimport { gql } from '@apollo/client';\nimport { useQuery } from '@apollo/client/react';\nimport {\n Badge,\n Button,\n EmphasisPanel,\n GlassCard,\n GradientText,\n IllustratedEmptyState,\n Input,\n PagePurpose,\n} from '@burdenoff/fe-libs/ui';\nimport { useMemo, useState } from 'react';\n\nimport { useUpsertAnalyticsSnapshotMutation } from '../../api/eventApi';\nimport { Pagination, usePagination } from '../../components/Pagination';\nimport { describeError, mutationSucceeded } from '../../lib/mutationResult';\nimport { notify } from '../../lib/toast';\n\n/**\n * Snapshot metrics are computed server-side at generation time and returned on\n * the `metrics` JSON field of an analytics snapshot. The shared\n * `useAnalyticsSnapshotsQuery` hook does not select `metrics`, so this page owns\n * a dedicated query (distinct operation name) that pulls the metric payload in\n * addition to the identity fields.\n */\nconst ANALYTICS_SNAPSHOTS_WITH_METRICS_QUERY = gql`\n query EventfullymanagedAnalyticsSnapshotsWithMetrics($limit: Int, $offset: Int) {\n analyticsSnapshots: eventfullyManagedAnalyticsSnapshots(limit: $limit, offset: $offset) {\n total\n items {\n id\n name\n title\n status\n metrics\n createdAt\n }\n }\n }\n`;\n\ntype SnapshotMetrics = {\n totalEvents?: number | null;\n activeEvents?: number | null;\n totalRegistrations?: number | null;\n totalAttendees?: number | null;\n totalVenues?: number | null;\n totalSponsors?: number | null;\n upcomingSessions?: number | null;\n generatedAt?: string | null;\n};\n\ntype SnapshotRow = {\n id: string;\n name?: string | null;\n title?: string | null;\n status?: string | null;\n createdAt?: string | null;\n metrics?: SnapshotMetrics | null;\n};\n\ntype SnapshotsResponse = {\n analyticsSnapshots: { total: number; items: SnapshotRow[] };\n};\n\nconst METRIC_FIELDS: { key: keyof SnapshotMetrics; label: string }[] = [\n { key: 'totalEvents', label: 'Events' },\n { key: 'activeEvents', label: 'Active' },\n { key: 'totalRegistrations', label: 'Registrations' },\n { key: 'totalAttendees', label: 'Attendees' },\n { key: 'totalVenues', label: 'Venues' },\n { key: 'totalSponsors', label: 'Sponsors' },\n { key: 'upcomingSessions', label: 'Upcoming Sessions' },\n];\n\nfunction statusVariant(status: string): 'success' | 'warning' | 'secondary' | 'info' {\n const value = status.toLowerCase();\n if (['active', 'published', 'completed'].includes(value)) return 'success';\n if (['inactive', 'cancelled', 'archived', 'expired'].includes(value)) return 'warning';\n if (['draft', 'created', 'pending', 'scheduled'].includes(value)) return 'info';\n return 'secondary';\n}\n\nfunction formatGeneratedAt(value?: string | null): string | null {\n if (!value) return null;\n const parsed = new Date(value);\n return Number.isNaN(parsed.getTime()) ? null : parsed.toLocaleString();\n}\n\nexport default function AnalyticsPage() {\n const pagination = usePagination({ pageSize: 10 });\n const { data, loading, refetch } = useQuery<SnapshotsResponse, { limit: number; offset: number }>(\n ANALYTICS_SNAPSHOTS_WITH_METRICS_QUERY,\n { variables: { limit: pagination.limit, offset: pagination.offset } }\n );\n const [upsertSnapshot, { loading: creating }] = useUpsertAnalyticsSnapshotMutation();\n const [snapshotName, setSnapshotName] = useState('overview');\n\n const snapshots = useMemo(() => data?.analyticsSnapshots.items ?? [], [data]);\n const total = data?.analyticsSnapshots.total ?? 0;\n\n const onCreate = async () => {\n if (!snapshotName.trim()) return;\n try {\n const response = await upsertSnapshot({\n variables: {\n input: {\n name: snapshotName,\n title: snapshotName,\n status: 'created',\n metadata: {},\n },\n },\n });\n if (!mutationSucceeded(response, response.data?.upsertAnalyticsSnapshot?.id, 'Could not generate snapshot')) {\n return;\n }\n notify.success('Snapshot generated');\n await refetch();\n } catch (error) {\n notify.error('Could not generate snapshot', describeError(error));\n }\n };\n\n return (\n <div className=\"space-y-6 p-6\">\n <PagePurpose>\n Snapshots capture a point-in-time picture of how your events are performing — total events, registrations,\n attendees, venues, sponsors and upcoming sessions frozen at the moment you generate them. Use this page to take\n a daily or post-event snapshot so you can compare trends over time and report on outcomes.\n </PagePurpose>\n\n <EmphasisPanel>\n <h1 className=\"text-2xl font-bold text-text-primary\">\n <GradientText>Analytics</GradientText>\n </h1>\n <p className=\"mt-1 text-sm text-text-secondary\">\n Generate and track analytics snapshots from live event operations data.\n </p>\n <div className=\"mt-4 flex flex-col gap-3 sm:flex-row\">\n <Input\n value={snapshotName}\n onChange={(e) => setSnapshotName(e.target.value)}\n placeholder=\"daily-summary\"\n aria-label=\"Snapshot name\"\n className=\"flex-1\"\n />\n <Button type=\"button\" disabled={creating} onClick={onCreate}>\n <BarChart3 className=\"h-4 w-4\" />\n {creating ? 'Generating...' : 'Generate Snapshot'}\n </Button>\n </div>\n </EmphasisPanel>\n\n <section className=\"space-y-4\">\n <h2 className=\"text-lg font-semibold text-text-primary\">\n {loading ? 'Loading snapshots...' : `Snapshots (${total})`}\n </h2>\n\n {snapshots.length === 0 ? (\n <GlassCard treatment=\"plain\" className=\"border-border-seam\">\n <IllustratedEmptyState\n illustration=\"empty-data\"\n title=\"No analytics snapshots available yet.\"\n description=\"Generate your first snapshot to freeze the current event metrics.\"\n className=\"py-8\"\n />\n </GlassCard>\n ) : (\n <div className=\"space-y-4\">\n {snapshots.map((snapshot) => {\n const generatedAt =\n formatGeneratedAt(snapshot.metrics?.generatedAt) ?? formatGeneratedAt(snapshot.createdAt);\n return (\n <GlassCard key={snapshot.id} treatment=\"plain\" className=\"border-border-seam p-5\">\n <div className=\"flex flex-wrap items-start justify-between gap-3\">\n <div className=\"min-w-0\">\n <h3 className=\"truncate text-base font-semibold text-text-primary\">\n {snapshot.title ?? snapshot.name ?? `Snapshot ${snapshot.id}`}\n </h3>\n {generatedAt ? (\n <p className=\"mt-0.5 text-xs text-text-secondary\">Generated {generatedAt}</p>\n ) : null}\n </div>\n {snapshot.status ? (\n <Badge variant={statusVariant(snapshot.status)} className=\"shrink-0 uppercase\">\n {snapshot.status}\n </Badge>\n ) : null}\n </div>\n\n {snapshot.metrics ? (\n <div className=\"mt-4 grid grid-cols-2 gap-3 sm:grid-cols-3 xl:grid-cols-7\">\n {METRIC_FIELDS.map((field) => {\n const raw = snapshot.metrics?.[field.key];\n const value = typeof raw === 'number' ? raw : 0;\n return (\n <GlassCard key={field.key} treatment=\"metric\" className=\"p-3\">\n <p className=\"text-xs uppercase tracking-wide text-text-secondary\">{field.label}</p>\n <p className=\"mt-1 text-xl font-semibold tabular-nums text-text-primary\">\n {value.toLocaleString()}\n </p>\n </GlassCard>\n );\n })}\n </div>\n ) : (\n <p className=\"mt-3 text-sm text-text-secondary\">No metrics were captured for this snapshot.</p>\n )}\n </GlassCard>\n );\n })}\n </div>\n )}\n\n <Pagination\n offset={pagination.offset}\n limit={pagination.limit}\n loadedCount={snapshots.length}\n total={total}\n onPrev={pagination.prevPage}\n onNext={pagination.nextPage}\n itemLabel=\"snapshots\"\n loading={loading}\n />\n </section>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AnalyticsPage.js","names":[],"sources":["../../../../src/eventfullymanaged/pages/modules/AnalyticsPage.tsx"],"sourcesContent":["import { BarChart3, CalendarDays, ClipboardList, MapPin, QrCode, Sparkles, Ticket, Trophy, Users } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport { gql } from '@apollo/client';\nimport { useQuery } from '@apollo/client/react';\nimport {\n Badge,\n Button,\n EmphasisPanel,\n GlassCard,\n GradientText,\n IllustratedEmptyState,\n Input,\n PagePurpose,\n Skeleton,\n} from '@burdenoff/fe-libs/ui';\nimport { useMemo, useState } from 'react';\n\nimport {\n CHART_SERIES_COLORS,\n ChartLegend,\n EventAreaChart,\n EventBarChart,\n EventDonutChart,\n type AreaPoint,\n type BarDatum,\n type DonutSlice,\n} from '../../components/EventCharts';\nimport { Pagination, usePagination } from '../../components/Pagination';\nimport {\n useDashboardSummaryQuery,\n useRegistrationsQuery,\n useUpsertAnalyticsSnapshotMutation,\n} from '../../api/eventApi';\nimport { describeError, mutationSucceeded } from '../../lib/mutationResult';\nimport { notify } from '../../lib/toast';\n\n/**\n * Snapshot metrics are computed server-side at generation time and returned on\n * the `metrics` JSON field of an analytics snapshot. The shared\n * `useAnalyticsSnapshotsQuery` hook does not select `metrics`, so this page owns\n * a dedicated query (distinct operation name) that pulls the metric payload in\n * addition to the identity fields.\n */\nconst ANALYTICS_SNAPSHOTS_WITH_METRICS_QUERY = gql`\n query EventfullymanagedAnalyticsSnapshotsWithMetrics($limit: Int, $offset: Int) {\n analyticsSnapshots: eventfullyManagedAnalyticsSnapshots(limit: $limit, offset: $offset) {\n total\n items {\n id\n name\n title\n status\n metrics\n createdAt\n }\n }\n }\n`;\n\ntype SnapshotMetrics = {\n totalEvents?: number | null;\n activeEvents?: number | null;\n totalRegistrations?: number | null;\n totalAttendees?: number | null;\n totalVenues?: number | null;\n totalSponsors?: number | null;\n upcomingSessions?: number | null;\n generatedAt?: string | null;\n};\n\ntype SnapshotRow = {\n id: string;\n name?: string | null;\n title?: string | null;\n status?: string | null;\n createdAt?: string | null;\n metrics?: SnapshotMetrics | null;\n};\n\ntype SnapshotsResponse = {\n analyticsSnapshots: { total: number; items: SnapshotRow[] };\n};\n\nconst METRIC_FIELDS: { key: keyof SnapshotMetrics; label: string }[] = [\n { key: 'totalEvents', label: 'Events' },\n { key: 'activeEvents', label: 'Active' },\n { key: 'totalRegistrations', label: 'Registrations' },\n { key: 'totalAttendees', label: 'Attendees' },\n { key: 'totalVenues', label: 'Venues' },\n { key: 'totalSponsors', label: 'Sponsors' },\n { key: 'upcomingSessions', label: 'Upcoming Sessions' },\n];\n\nfunction statusVariant(status: string): 'success' | 'warning' | 'secondary' | 'info' {\n const value = status.toLowerCase();\n if (['active', 'published', 'completed'].includes(value)) return 'success';\n if (['inactive', 'cancelled', 'archived', 'expired'].includes(value)) return 'warning';\n if (['draft', 'created', 'pending', 'scheduled'].includes(value)) return 'info';\n return 'secondary';\n}\n\nfunction formatGeneratedAt(value?: string | null): string | null {\n if (!value) return null;\n const parsed = new Date(value);\n return Number.isNaN(parsed.getTime()) ? null : parsed.toLocaleString();\n}\n\nfunction shortDate(value?: string | null): string {\n if (!value) return '—';\n const parsed = new Date(value);\n if (Number.isNaN(parsed.getTime())) return '—';\n return parsed.toLocaleDateString(undefined, { month: 'short', day: 'numeric' });\n}\n\n/** Humanise a registration status token (e.g. `checked_in` → `Checked In`). */\nfunction humanizeStatus(status: string): string {\n return status\n .replace(/[_-]+/g, ' ')\n .split(' ')\n .filter(Boolean)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ');\n}\n\nfunction MetricTile({ icon: Icon, label, value }: { icon: LucideIcon; label: string; value: number }) {\n return (\n <GlassCard treatment=\"metric\" className=\"p-4\">\n <div className=\"flex items-center gap-2 text-text-secondary\">\n <Icon className=\"h-4 w-4 text-accent-primary\" />\n <p className=\"text-xs font-medium uppercase tracking-wide\">{label}</p>\n </div>\n <p className=\"mt-2 text-2xl font-bold tabular-nums text-text-primary\">{value.toLocaleString()}</p>\n </GlassCard>\n );\n}\n\nexport default function AnalyticsPage() {\n const pagination = usePagination({ pageSize: 8 });\n const { data, loading, refetch } = useQuery<SnapshotsResponse, { limit: number; offset: number }>(\n ANALYTICS_SNAPSHOTS_WITH_METRICS_QUERY,\n { variables: { limit: pagination.limit, offset: pagination.offset } }\n );\n const summaryQuery = useDashboardSummaryQuery();\n const registrationsQuery = useRegistrationsQuery({ limit: 200, offset: 0 });\n const [upsertSnapshot, { loading: creating }] = useUpsertAnalyticsSnapshotMutation();\n const [snapshotName, setSnapshotName] = useState('overview');\n\n const snapshots = useMemo(() => data?.analyticsSnapshots.items ?? [], [data]);\n const total = data?.analyticsSnapshots.total ?? 0;\n\n const summary = summaryQuery.data?.dashboardSummary;\n const registrations = useMemo(() => registrationsQuery.data?.registrations.items ?? [], [registrationsQuery.data]);\n\n // Check-ins are derived from the loaded registration sample (registrations\n // carrying a `checkedInAt`) — the dashboard summary does not expose them.\n const checkInCount = useMemo(() => registrations.filter((row) => Boolean(row.checkedInAt)).length, [registrations]);\n\n // Registrations over time: the totalRegistrations captured on each snapshot,\n // ordered oldest → newest. Purely real, snapshot-derived — never synthesised.\n const registrationsSeries = useMemo<AreaPoint[]>(() => {\n return snapshots\n .map((snapshot) => {\n const at = snapshot.metrics?.generatedAt ?? snapshot.createdAt ?? null;\n const parsed = at ? new Date(at) : null;\n const value =\n typeof snapshot.metrics?.totalRegistrations === 'number' ? snapshot.metrics.totalRegistrations : null;\n return parsed && !Number.isNaN(parsed.getTime()) && value !== null\n ? { time: parsed.getTime(), label: shortDate(at), value }\n : null;\n })\n .filter((point): point is { time: number; label: string; value: number } => point !== null)\n .sort((a, b) => a.time - b.time)\n .map(({ label, value }) => ({ label, value }));\n }, [snapshots]);\n\n // Registrations by status donut, computed from the real registration list.\n const statusBreakdown = useMemo<DonutSlice[]>(() => {\n const counts = new Map<string, number>();\n for (const row of registrations) {\n const key = (row.status || 'unknown').toLowerCase();\n counts.set(key, (counts.get(key) ?? 0) + 1);\n }\n return Array.from(counts.entries())\n .sort((a, b) => b[1] - a[1])\n .map(([key, count], index) => ({\n name: humanizeStatus(key),\n value: count,\n color: CHART_SERIES_COLORS[index % CHART_SERIES_COLORS.length],\n }));\n }, [registrations]);\n\n const registrationTotal = registrations.length;\n\n // Entity-count bar chart from the real dashboard summary + derived check-ins.\n const entityCounts = useMemo<BarDatum[]>(() => {\n if (!summary) return [];\n return [\n { name: 'Events', value: summary.totalEvents },\n { name: 'Regs', value: summary.totalRegistrations },\n { name: 'Attendees', value: summary.totalAttendees },\n { name: 'Check-ins', value: checkInCount },\n { name: 'Venues', value: summary.totalVenues },\n { name: 'Sponsors', value: summary.totalSponsors },\n { name: 'Sessions', value: summary.upcomingSessions },\n ];\n }, [summary, checkInCount]);\n\n const onCreate = async () => {\n if (!snapshotName.trim()) return;\n try {\n const response = await upsertSnapshot({\n variables: {\n input: {\n name: snapshotName,\n title: snapshotName,\n status: 'created',\n metadata: {},\n },\n },\n });\n if (!mutationSucceeded(response, response.data?.upsertAnalyticsSnapshot?.id, 'Could not generate snapshot')) {\n return;\n }\n notify.success('Snapshot generated');\n await refetch();\n } catch (error) {\n notify.error('Could not generate snapshot', describeError(error));\n }\n };\n\n const summaryLoading = summaryQuery.loading && !summary;\n\n return (\n <div className=\"space-y-6 p-6\">\n <PagePurpose>\n Analytics gives you the live pulse of your event operations — registrations over time, how those registrations\n break down by status, and totals across every entity you manage. Generate a snapshot to freeze today&apos;s\n numbers so you can compare trends over time and report on outcomes.\n </PagePurpose>\n\n <EmphasisPanel>\n <div className=\"flex flex-col gap-4 sm:flex-row sm:items-end sm:justify-between\">\n <div>\n <h1 className=\"text-2xl font-bold text-text-primary\">\n <GradientText>Analytics</GradientText>\n </h1>\n <p className=\"mt-1 text-sm text-text-secondary\">\n Real-time metrics from live event operations, plus point-in-time snapshots you control.\n </p>\n </div>\n <div className=\"flex w-full flex-col gap-2 sm:w-auto sm:flex-row\">\n <Input\n value={snapshotName}\n onChange={(e) => setSnapshotName(e.target.value)}\n placeholder=\"daily-summary\"\n aria-label=\"Snapshot name\"\n className=\"sm:w-48\"\n />\n <Button type=\"button\" disabled={creating} onClick={onCreate}>\n <Sparkles className=\"h-4 w-4\" />\n {creating ? 'Generating...' : 'Generate snapshot'}\n </Button>\n </div>\n </div>\n </EmphasisPanel>\n\n <div className=\"grid grid-cols-1 gap-6 xl:grid-cols-[minmax(0,1fr)_320px]\">\n <div className=\"space-y-6\">\n {/* Live metric tiles */}\n {summaryLoading ? (\n <div className=\"grid grid-cols-2 gap-4 sm:grid-cols-3 xl:grid-cols-4\">\n {Array.from({ length: 7 }).map((_, index) => (\n <Skeleton key={index} className=\"h-[92px] rounded-card\" />\n ))}\n </div>\n ) : summary ? (\n <div className=\"grid grid-cols-2 gap-4 sm:grid-cols-3 xl:grid-cols-4\">\n <MetricTile icon={CalendarDays} label=\"Events\" value={summary.totalEvents} />\n <MetricTile icon={ClipboardList} label=\"Registrations\" value={summary.totalRegistrations} />\n <MetricTile icon={Users} label=\"Attendees\" value={summary.totalAttendees} />\n <MetricTile icon={QrCode} label=\"Check-ins\" value={checkInCount} />\n <MetricTile icon={MapPin} label=\"Venues\" value={summary.totalVenues} />\n <MetricTile icon={Trophy} label=\"Sponsors\" value={summary.totalSponsors} />\n <MetricTile icon={Ticket} label=\"Upcoming Sessions\" value={summary.upcomingSessions} />\n </div>\n ) : null}\n\n {/* Registrations over time + by status */}\n <div className=\"grid grid-cols-1 gap-6 lg:grid-cols-2\">\n <GlassCard treatment=\"insight\" className=\"p-5\">\n <div className=\"flex items-center justify-between\">\n <h2 className=\"text-base font-semibold text-text-primary\">Registrations over time</h2>\n <span className=\"text-xs text-text-muted\">By snapshot</span>\n </div>\n <div className=\"mt-4\">\n <EventAreaChart data={registrationsSeries} emptyLabel=\"Generate a few snapshots to chart the trend\" />\n </div>\n </GlassCard>\n\n <GlassCard treatment=\"insight\" className=\"p-5\">\n <h2 className=\"text-base font-semibold text-text-primary\">Registrations by status</h2>\n <div className=\"mt-4 flex flex-col items-center gap-4 sm:flex-row\">\n <div className=\"w-full sm:w-1/2\">\n <EventDonutChart\n data={statusBreakdown}\n centerValue={registrationTotal.toLocaleString()}\n centerLabel=\"Registrations\"\n emptyLabel=\"No registrations yet\"\n />\n </div>\n <div className=\"w-full sm:w-1/2\">\n <ChartLegend\n items={statusBreakdown.map((slice) => ({\n label: slice.name,\n color: slice.color ?? 'var(--color-chart-1)',\n value: slice.value.toLocaleString(),\n }))}\n />\n </div>\n </div>\n </GlassCard>\n </div>\n\n {/* Entity totals */}\n <GlassCard treatment=\"insight\" className=\"p-5\">\n <h2 className=\"text-base font-semibold text-text-primary\">Portfolio totals</h2>\n <p className=\"mt-0.5 text-xs text-text-muted\">Live counts across every entity you manage.</p>\n <div className=\"mt-4\">\n <EventBarChart data={entityCounts} emptyLabel=\"No operational data yet\" />\n </div>\n </GlassCard>\n </div>\n\n {/* Saved snapshots rail */}\n <aside className=\"space-y-4\">\n <div className=\"flex items-center justify-between\">\n <h2 className=\"text-base font-semibold text-text-primary\">\n Saved snapshots {total > 0 ? <span className=\"text-text-muted\">({total})</span> : null}\n </h2>\n <BarChart3 className=\"h-4 w-4 text-text-muted\" />\n </div>\n\n {loading && snapshots.length === 0 ? (\n <div className=\"space-y-3\">\n {Array.from({ length: 3 }).map((_, index) => (\n <Skeleton key={index} className=\"h-24 rounded-card\" />\n ))}\n </div>\n ) : snapshots.length === 0 ? (\n <GlassCard treatment=\"plain\" className=\"border-border-seam\">\n <IllustratedEmptyState\n illustration=\"empty-data\"\n title=\"No snapshots yet\"\n description=\"Generate your first snapshot to freeze the current metrics.\"\n className=\"py-8\"\n />\n </GlassCard>\n ) : (\n <div className=\"space-y-3\">\n {snapshots.map((snapshot) => {\n const generatedAt =\n formatGeneratedAt(snapshot.metrics?.generatedAt) ?? formatGeneratedAt(snapshot.createdAt);\n const captured = METRIC_FIELDS.map((field) => {\n const raw = snapshot.metrics?.[field.key];\n return { label: field.label, value: typeof raw === 'number' ? raw : null };\n }).filter((entry) => entry.value !== null);\n return (\n <GlassCard key={snapshot.id} treatment=\"plain\" className=\"border-border-seam p-4\">\n <div className=\"flex items-start justify-between gap-2\">\n <div className=\"min-w-0\">\n <h3 className=\"truncate text-sm font-semibold text-text-primary\">\n {snapshot.title ?? snapshot.name ?? `Snapshot ${snapshot.id}`}\n </h3>\n {generatedAt ? <p className=\"mt-0.5 text-xs text-text-muted\">{generatedAt}</p> : null}\n </div>\n {snapshot.status ? (\n <Badge variant={statusVariant(snapshot.status)} className=\"shrink-0 uppercase\">\n {snapshot.status}\n </Badge>\n ) : null}\n </div>\n {captured.length > 0 ? (\n <dl className=\"mt-3 space-y-1.5\">\n {captured.map((entry) => (\n <div key={entry.label} className=\"flex items-center justify-between text-xs\">\n <dt className=\"text-text-secondary\">{entry.label}</dt>\n <dd className=\"font-semibold tabular-nums text-text-primary\">\n {(entry.value ?? 0).toLocaleString()}\n </dd>\n </div>\n ))}\n </dl>\n ) : (\n <p className=\"mt-3 text-xs text-text-muted\">No metrics captured.</p>\n )}\n </GlassCard>\n );\n })}\n\n <Pagination\n offset={pagination.offset}\n limit={pagination.limit}\n loadedCount={snapshots.length}\n total={total}\n onPrev={pagination.prevPage}\n onNext={pagination.nextPage}\n itemLabel=\"snapshots\"\n loading={loading}\n />\n </div>\n )}\n </aside>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}