@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
@@ -4,31 +4,176 @@ import { useCreateFloorPlanMutation as n, useDeleteFloorPlanMutation as r, useUp
4
4
  import { ActionMenu as o } from "../../components/ActionMenu.js";
5
5
  import { describeError as s, mutationSucceeded as c } from "../../lib/mutationResult.js";
6
6
  import { ImageUploadField as l } from "../../components/ImageUploadField.js";
7
- import { useState as u } from "react";
8
- import { useParams as d } from "react-router-dom";
9
- import { jsx as f, jsxs as p } from "react/jsx-runtime";
10
- import { ArrowLeft as m, Plus as h, SquareStack as g } from "lucide-react";
11
- import { Button as _, EmphasisPanel as v, GlassCard as y, IllustratedEmptyState as b, Input as x, PagePurpose as S } from "@burdenoff/fe-libs/ui";
7
+ import { useMemo as u, useState as d } from "react";
8
+ import { useParams as f } from "react-router-dom";
9
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
10
+ import { ArrowLeft as h, LayoutGrid as g, Map as _, Plus as v, SquareStack as y } from "lucide-react";
11
+ import { Badge as b, Button as x, GlassCard as S, GradientText as C, IllustratedEmptyState as w, Input as T, Skeleton as E } from "@burdenoff/fe-libs/ui";
12
12
  //#region src/eventfullymanaged/pages/venues/FloorPlansPage.tsx
13
- var C = "/EventfullyManaged/FloorPlans";
14
- function w() {
15
- let { id: w = "" } = d(), { navigate: T } = e(), { data: E, loading: D, refetch: O } = a(w), [k, { loading: A }] = n(), [j] = i(), [M] = r(), [N, P] = u(""), [F, I] = u(""), L = E?.venue, R = E?.floorPlans?.items ?? [], z = async () => {
16
- if (!(!N.trim() || !w)) try {
17
- let e = await k({ variables: { input: {
18
- venueId: w,
19
- name: N.trim(),
20
- imageUrl: F,
13
+ var D = "/EventfullyManaged/FloorPlans";
14
+ function O(e) {
15
+ if (typeof e == "number" && Number.isFinite(e)) return e;
16
+ if (typeof e == "string" && e.trim() !== "" && Number.isFinite(Number(e))) return Number(e);
17
+ }
18
+ function k(e) {
19
+ return typeof e == "string" && e.trim() !== "" ? e : void 0;
20
+ }
21
+ function A(e) {
22
+ if (!e) return [];
23
+ let t = e;
24
+ if (!Array.isArray(t) && typeof t == "object") {
25
+ let e = t;
26
+ Array.isArray(e.zones) ? t = e.zones : Array.isArray(e.areas) ? t = e.areas : Array.isArray(e.booths) && (t = e.booths);
27
+ }
28
+ let n = Array.isArray(t) ? t.map((e, t) => [String(t), e]) : typeof t == "object" && t ? Object.entries(t) : [], r = [];
29
+ for (let [e, t] of n) {
30
+ if (typeof t != "object" || !t) continue;
31
+ let n = t, i = k(n.label) ?? k(n.name) ?? k(n.title) ?? k(n.id) ?? e, a = O(n.x), o = O(n.y), s = O(n.w) ?? O(n.width), c = O(n.h) ?? O(n.height), l;
32
+ if (a !== void 0 && o !== void 0 && s !== void 0 && c !== void 0) {
33
+ let e = a <= 1 && o <= 1 && s <= 1 && c <= 1 ? 100 : 1;
34
+ (e === 100 || a <= 100 && o <= 100 && s <= 100 && c <= 100) && (l = {
35
+ x: a * e,
36
+ y: o * e,
37
+ w: s * e,
38
+ h: c * e
39
+ });
40
+ }
41
+ r.push({
42
+ key: `${e}-${i}`,
43
+ label: i,
44
+ type: k(n.type) ?? k(n.kind),
45
+ capacity: O(n.capacity) ?? O(n.seats),
46
+ rect: l
47
+ });
48
+ }
49
+ return r;
50
+ }
51
+ function j(e, t) {
52
+ let n = [];
53
+ t.length > 0 && n.push({
54
+ label: "Zones",
55
+ value: t.length.toLocaleString()
56
+ });
57
+ let r = t.filter((e) => (e.type ?? "").toLowerCase().includes("booth")).length;
58
+ r > 0 && n.push({
59
+ label: "Booths",
60
+ value: r.toLocaleString()
61
+ });
62
+ let i = t.reduce((e, t) => e + (t.capacity ?? 0), 0), a = e.dimensions ?? {}, o = O(a.capacity) ?? O(a.totalCapacity), s = i > 0 ? i : o;
63
+ s !== void 0 && s > 0 && n.push({
64
+ label: "Total capacity",
65
+ value: s.toLocaleString()
66
+ });
67
+ let c = O(a.width), l = O(a.height);
68
+ if (c !== void 0 && l !== void 0) {
69
+ let e = k(a.unit) ?? "m";
70
+ n.push({
71
+ label: "Dimensions",
72
+ value: `${c} × ${l} ${e}`
73
+ });
74
+ }
75
+ return n;
76
+ }
77
+ function M({ plan: e, zones: t, onAttachImage: n }) {
78
+ let r = t.filter((e) => e.rect);
79
+ return /* @__PURE__ */ m(S, {
80
+ treatment: "plain",
81
+ className: "overflow-hidden border-border-seam p-0",
82
+ children: [
83
+ /* @__PURE__ */ m("div", {
84
+ className: "flex items-center justify-between gap-2 border-b border-border-seam px-5 py-3",
85
+ children: [/* @__PURE__ */ m("div", {
86
+ className: "flex min-w-0 items-center gap-2 text-text-primary",
87
+ children: [/* @__PURE__ */ p(_, { className: "h-4 w-4 shrink-0 text-action-primary-bg" }), /* @__PURE__ */ p("h2", {
88
+ className: "truncate text-base font-semibold",
89
+ children: e.name
90
+ })]
91
+ }), t.length > 0 ? /* @__PURE__ */ m(b, {
92
+ variant: "secondary",
93
+ className: "shrink-0",
94
+ children: [
95
+ t.length,
96
+ " ",
97
+ t.length === 1 ? "zone" : "zones"
98
+ ]
99
+ }) : null]
100
+ }),
101
+ e.imageUrl ? /* @__PURE__ */ m("div", {
102
+ className: "relative bg-bg-sunken",
103
+ children: [/* @__PURE__ */ p("img", {
104
+ src: e.imageUrl,
105
+ alt: `${e.name} floor plan`,
106
+ className: "mx-auto max-h-[32rem] w-full object-contain"
107
+ }), r.map((e) => /* @__PURE__ */ p("div", {
108
+ className: "absolute flex items-center justify-center rounded-md border border-accent-primary/70 bg-action-primary-bg/15 text-[10px] font-medium text-accent-primary",
109
+ style: {
110
+ left: `${e.rect?.x}%`,
111
+ top: `${e.rect?.y}%`,
112
+ width: `${e.rect?.w}%`,
113
+ height: `${e.rect?.h}%`
114
+ },
115
+ title: e.label,
116
+ children: /* @__PURE__ */ p("span", {
117
+ className: "truncate px-1",
118
+ children: e.label
119
+ })
120
+ }, e.key))]
121
+ }) : /* @__PURE__ */ p("div", {
122
+ className: "p-6",
123
+ children: /* @__PURE__ */ m("div", {
124
+ className: "rounded-card border border-dashed border-border-default bg-bg-sunken p-6",
125
+ children: [/* @__PURE__ */ p("p", {
126
+ className: "mb-3 text-center text-sm text-text-secondary",
127
+ children: "No image attached yet. Upload the hall map for this plan."
128
+ }), /* @__PURE__ */ p(l, {
129
+ label: "Upload floor plan image",
130
+ folderPath: D,
131
+ value: null,
132
+ onUploaded: (t) => n(e, t),
133
+ hint: "Stored securely in Files and shown here once attached."
134
+ })]
135
+ })
136
+ }),
137
+ t.length > 0 ? /* @__PURE__ */ m("div", {
138
+ className: "border-t border-border-seam px-5 py-4",
139
+ children: [/* @__PURE__ */ m("div", {
140
+ className: "mb-2 flex items-center gap-2 text-sm font-medium text-text-primary",
141
+ children: [/* @__PURE__ */ p(g, { className: "h-4 w-4 text-text-muted" }), "Labeled zones"]
142
+ }), /* @__PURE__ */ p("div", {
143
+ className: "flex flex-wrap gap-2",
144
+ children: t.map((e) => /* @__PURE__ */ m(b, {
145
+ variant: "outline",
146
+ className: "gap-1.5",
147
+ children: [e.label, e.capacity ? /* @__PURE__ */ m("span", {
148
+ className: "text-text-muted",
149
+ children: ["· ", e.capacity]
150
+ }) : null]
151
+ }, e.key))
152
+ })]
153
+ }) : null
154
+ ]
155
+ });
156
+ }
157
+ function N() {
158
+ let { id: g = "" } = f(), { navigate: _ } = e(), { data: b, loading: O, refetch: k } = a(g), [N, { loading: P }] = n(), [F] = i(), [I] = r(), [L, R] = d(""), [z, B] = d(""), [V, H] = d(null), [U, W] = d(!1), G = b?.venue, K = u(() => b?.floorPlans?.items ?? [], [b]), q = u(() => K.find((e) => e.id === V) ?? K[0] ?? null, [K, V]), J = u(() => A(q?.interactiveAreas), [q]), Y = u(() => q ? j(q, J) : [], [q, J]), X = async () => {
159
+ if (!(!L.trim() || !g)) try {
160
+ let e = await N({ variables: { input: {
161
+ venueId: g,
162
+ name: L.trim(),
163
+ imageUrl: z,
21
164
  dimensions: {},
22
165
  interactiveAreas: {}
23
166
  } } });
24
167
  if (!c(e, e.data?.createFloorPlan?.id, "Could not create floor plan")) return;
25
- P(""), I(""), t.success("Floor plan created"), await O();
168
+ R(""), B(""), W(!1);
169
+ let n = e.data?.createFloorPlan?.id;
170
+ n && H(n), t.success("Floor plan created"), await k();
26
171
  } catch (e) {
27
172
  t.error("Could not create floor plan", s(e));
28
173
  }
29
- }, B = async (e, n) => {
174
+ }, Z = async (e, n) => {
30
175
  try {
31
- let t = await j({ variables: {
176
+ let t = await F({ variables: {
32
177
  id: e.id,
33
178
  input: {
34
179
  venueId: e.venueId,
@@ -39,119 +184,193 @@ function w() {
39
184
  }
40
185
  } });
41
186
  if (!c(t, t.data?.updateFloorPlan?.id, "Could not attach image")) return;
42
- await O();
187
+ await k();
43
188
  } catch (e) {
44
189
  t.error("Could not attach image", s(e));
45
190
  }
46
- }, V = async (e) => {
47
- let n = await M({ variables: { id: e.id } });
191
+ }, Q = async (e) => {
192
+ let n = await I({ variables: { id: e.id } });
48
193
  if (n.error) throw t.error("Could not delete floor plan", n.error.message), n.error;
49
194
  if (!n.data?.deleteFloorPlan) throw t.error("Could not delete floor plan", "The server did not confirm the change."), Error("delete-unconfirmed");
50
- t.success("Floor plan deleted", e.name), await O();
195
+ V === e.id && H(null), t.success("Floor plan deleted", e.name), await k();
51
196
  };
52
- return /* @__PURE__ */ p("div", {
197
+ return /* @__PURE__ */ m("div", {
53
198
  className: "space-y-6 p-6",
54
- children: [
55
- /* @__PURE__ */ p("div", {
199
+ children: [/* @__PURE__ */ m("div", {
200
+ className: "flex flex-col gap-4 sm:flex-row sm:items-end sm:justify-between",
201
+ children: [/* @__PURE__ */ m("div", {
56
202
  className: "space-y-3",
57
- children: [/* @__PURE__ */ p(_, {
58
- type: "button",
59
- variant: "ghost",
60
- size: "sm",
61
- onClick: () => T(`/venues/${w}`),
62
- children: [/* @__PURE__ */ f(m, { className: "h-4 w-4" }), "Back to Venue"]
63
- }), /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("h1", {
64
- className: "text-2xl font-bold text-text-primary",
65
- children: "Floor Plans"
66
- }), /* @__PURE__ */ f("p", {
67
- className: "mt-1 text-sm text-text-secondary",
68
- children: L?.name ?? "Venue"
69
- })] })]
70
- }),
71
- /* @__PURE__ */ f(S, { children: "Floor plans are the maps of your venue — the hall layout, booth positions, stage and entrances. Add one per space so you can lay out exhibitors, plan attendee flow, and give everyone a clear picture of the room on the day." }),
72
- /* @__PURE__ */ p(v, { children: [/* @__PURE__ */ f("h2", {
73
- className: "mb-3 text-sm font-semibold text-text-primary",
74
- children: "Create floor plan"
75
- }), /* @__PURE__ */ p("div", {
76
- className: "space-y-4",
77
- children: [/* @__PURE__ */ p("div", {
78
- className: "flex flex-col gap-3 sm:flex-row",
79
- children: [/* @__PURE__ */ f(x, {
80
- type: "text",
81
- value: N,
82
- onChange: (e) => P(e.target.value),
83
- placeholder: "Main Hall Layout",
84
- "aria-label": "Floor plan name",
85
- className: "flex-1"
86
- }), /* @__PURE__ */ p(_, {
203
+ children: [
204
+ /* @__PURE__ */ m(x, {
87
205
  type: "button",
88
- onClick: z,
89
- disabled: A,
90
- children: [/* @__PURE__ */ f(h, { className: "h-4 w-4" }), A ? "Creating..." : "Create"]
91
- })]
92
- }), /* @__PURE__ */ f(l, {
93
- label: "Upload floor plan image",
94
- folderPath: C,
95
- value: F || null,
96
- onUploaded: I,
97
- hint: "Optional. Attach the hall map now, or add it later from the list below."
98
- })]
99
- })] }),
100
- D ? /* @__PURE__ */ f(y, {
101
- treatment: "plain",
102
- className: "border-border-seam p-8 text-center text-sm text-text-secondary",
103
- children: "Loading floor plans..."
104
- }) : R.length === 0 ? /* @__PURE__ */ f(y, {
105
- treatment: "plain",
106
- className: "border-border-seam",
107
- children: /* @__PURE__ */ f(b, {
108
- illustration: "empty-files",
109
- title: "No floor plans found.",
110
- description: "Create one to start mapping your venue."
206
+ variant: "ghost",
207
+ size: "sm",
208
+ onClick: () => _(`/venues/${g}`),
209
+ children: [/* @__PURE__ */ p(h, { className: "h-4 w-4" }), "Back to Venue"]
210
+ }),
211
+ /* @__PURE__ */ p(C, {
212
+ as: "h1",
213
+ className: "text-2xl font-bold",
214
+ children: G?.name ? `${G.name} — Floor Plans` : "Floor Plans"
215
+ }),
216
+ /* @__PURE__ */ p("p", {
217
+ className: "text-sm text-text-secondary",
218
+ children: "Map the hall layout, booth positions, stage and entrances so exhibitors and attendees can navigate on the day."
219
+ })
220
+ ]
221
+ }), /* @__PURE__ */ m(x, {
222
+ type: "button",
223
+ onClick: () => W((e) => !e),
224
+ children: [/* @__PURE__ */ p(v, { className: "h-4 w-4" }), "Add floor plan"]
225
+ })]
226
+ }), O ? /* @__PURE__ */ m("div", {
227
+ className: "grid grid-cols-1 gap-6 lg:grid-cols-3",
228
+ children: [/* @__PURE__ */ p(E, { className: "h-96 rounded-card lg:col-span-2" }), /* @__PURE__ */ p(E, { className: "h-96 rounded-card" })]
229
+ }) : K.length === 0 && !U ? /* @__PURE__ */ p(S, {
230
+ treatment: "plain",
231
+ className: "border-border-seam",
232
+ children: /* @__PURE__ */ p(w, {
233
+ illustration: "empty-files",
234
+ title: "No floor plans yet.",
235
+ description: "Add one to start mapping this venue — upload the hall map and label its zones.",
236
+ action: /* @__PURE__ */ m(x, {
237
+ type: "button",
238
+ onClick: () => W(!0),
239
+ children: [/* @__PURE__ */ p(v, { className: "h-4 w-4" }), "Add floor plan"]
111
240
  })
112
- }) : /* @__PURE__ */ f("div", {
113
- className: "grid grid-cols-1 gap-4 md:grid-cols-2",
114
- children: R.map((e) => /* @__PURE__ */ p(y, {
115
- treatment: "metric",
116
- className: "space-y-3 p-4",
117
- children: [
118
- /* @__PURE__ */ p("div", {
119
- className: "flex items-center justify-between gap-2 text-text-primary",
120
- children: [/* @__PURE__ */ p("div", {
121
- className: "flex min-w-0 items-center gap-2",
122
- children: [/* @__PURE__ */ f(g, { className: "h-4 w-4 shrink-0 text-action-primary-bg" }), /* @__PURE__ */ f("h3", {
123
- className: "truncate font-semibold",
124
- children: e.name
125
- })]
126
- }), /* @__PURE__ */ f(o, {
127
- ariaLabel: `Floor plan actions for ${e.name}`,
128
- entityName: e.name,
129
- deleteLabel: "Delete floor plan",
130
- onDelete: () => V(e)
131
- })]
132
- }),
133
- e.imageUrl ? /* @__PURE__ */ f("img", {
134
- src: e.imageUrl,
135
- alt: `${e.name} floor plan`,
136
- className: "w-full rounded-card border border-border-seam object-cover"
137
- }) : /* @__PURE__ */ f(l, {
138
- label: "Upload image",
139
- folderPath: C,
140
- value: null,
141
- onUploaded: (t) => B(e, t),
142
- hint: "Add the hall map for this floor plan."
143
- }),
144
- /* @__PURE__ */ f("p", {
145
- className: "text-sm text-text-secondary",
146
- children: e.dimensions ? "Dimensions configured" : "No dimensions configured"
147
- })
148
- ]
149
- }, e.id))
150
241
  })
151
- ]
242
+ }) : /* @__PURE__ */ m("div", {
243
+ className: "grid grid-cols-1 gap-6 lg:grid-cols-3",
244
+ children: [/* @__PURE__ */ p("div", {
245
+ className: "lg:col-span-2",
246
+ children: q ? /* @__PURE__ */ p(M, {
247
+ plan: q,
248
+ zones: J,
249
+ onAttachImage: Z
250
+ }) : /* @__PURE__ */ p(S, {
251
+ treatment: "plain",
252
+ className: "flex h-full items-center justify-center border-border-seam p-10",
253
+ children: /* @__PURE__ */ p("p", {
254
+ className: "text-sm text-text-secondary",
255
+ children: "Add a floor plan to preview it here."
256
+ })
257
+ })
258
+ }), /* @__PURE__ */ m("div", {
259
+ className: "space-y-6",
260
+ children: [
261
+ /* @__PURE__ */ m(S, {
262
+ treatment: "plain",
263
+ className: "border-border-seam p-5",
264
+ children: [/* @__PURE__ */ p("h2", {
265
+ className: "text-sm font-semibold text-text-primary",
266
+ children: "Available Floor Plans"
267
+ }), /* @__PURE__ */ p("ul", {
268
+ className: "mt-3 space-y-2",
269
+ role: "list",
270
+ children: K.length === 0 ? /* @__PURE__ */ p("li", {
271
+ className: "text-sm text-text-secondary",
272
+ children: "None yet — create one below."
273
+ }) : K.map((e) => {
274
+ let t = q?.id === e.id;
275
+ return /* @__PURE__ */ p("li", { children: /* @__PURE__ */ m("div", {
276
+ className: `flex items-center gap-3 rounded-card border p-3 transition-colors ${t ? "border-accent-primary bg-action-primary-bg/10" : "border-border-seam hover:border-border-strong"}`,
277
+ children: [/* @__PURE__ */ m("button", {
278
+ type: "button",
279
+ onClick: () => H(e.id),
280
+ className: "flex min-w-0 flex-1 items-center gap-3 text-left focus-visible:outline-none",
281
+ "aria-pressed": t,
282
+ children: [/* @__PURE__ */ p("span", {
283
+ className: `flex h-9 w-9 shrink-0 items-center justify-center rounded-md ${t ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-sunken text-text-secondary"}`,
284
+ children: /* @__PURE__ */ p(y, { className: "h-4 w-4" })
285
+ }), /* @__PURE__ */ m("span", {
286
+ className: "min-w-0",
287
+ children: [/* @__PURE__ */ p("span", {
288
+ className: "block truncate text-sm font-medium text-text-primary",
289
+ children: e.name
290
+ }), /* @__PURE__ */ p("span", {
291
+ className: "block text-xs text-text-muted",
292
+ children: e.imageUrl ? "Map attached" : "No image yet"
293
+ })]
294
+ })]
295
+ }), /* @__PURE__ */ p(o, {
296
+ ariaLabel: `Floor plan actions for ${e.name}`,
297
+ entityName: e.name,
298
+ deleteLabel: "Delete floor plan",
299
+ onDelete: () => Q(e)
300
+ })]
301
+ }) }, e.id);
302
+ })
303
+ })]
304
+ }),
305
+ q ? /* @__PURE__ */ m(S, {
306
+ treatment: "metric",
307
+ className: "p-5",
308
+ children: [/* @__PURE__ */ p("h2", {
309
+ className: "text-sm font-semibold text-text-primary",
310
+ children: "Plan Details"
311
+ }), Y.length > 0 ? /* @__PURE__ */ p("dl", {
312
+ className: "mt-3 space-y-2",
313
+ children: Y.map((e) => /* @__PURE__ */ m("div", {
314
+ className: "flex items-center justify-between text-sm",
315
+ children: [/* @__PURE__ */ p("dt", {
316
+ className: "text-text-secondary",
317
+ children: e.label
318
+ }), /* @__PURE__ */ p("dd", {
319
+ className: "font-semibold tabular-nums text-text-primary",
320
+ children: e.value
321
+ })]
322
+ }, e.label))
323
+ }) : /* @__PURE__ */ p("p", {
324
+ className: "mt-3 text-sm text-text-secondary",
325
+ children: "No zones or dimensions captured for this plan yet."
326
+ })]
327
+ }) : null,
328
+ U || K.length === 0 ? /* @__PURE__ */ m(S, {
329
+ treatment: "plain",
330
+ className: "border-border-seam p-5",
331
+ children: [/* @__PURE__ */ p("h2", {
332
+ className: "mb-3 text-sm font-semibold text-text-primary",
333
+ children: "Add a floor plan"
334
+ }), /* @__PURE__ */ m("div", {
335
+ className: "space-y-4",
336
+ children: [
337
+ /* @__PURE__ */ p(T, {
338
+ type: "text",
339
+ value: L,
340
+ onChange: (e) => R(e.target.value),
341
+ placeholder: "Main Hall Layout",
342
+ "aria-label": "Floor plan name"
343
+ }),
344
+ /* @__PURE__ */ p(l, {
345
+ label: "Upload floor plan image",
346
+ folderPath: D,
347
+ value: z || null,
348
+ onUploaded: B,
349
+ hint: "Optional now — you can attach it later from the viewer."
350
+ }),
351
+ /* @__PURE__ */ m("div", {
352
+ className: "flex justify-end gap-2",
353
+ children: [K.length > 0 ? /* @__PURE__ */ p(x, {
354
+ type: "button",
355
+ variant: "ghost",
356
+ onClick: () => W(!1),
357
+ children: "Cancel"
358
+ }) : null, /* @__PURE__ */ m(x, {
359
+ type: "button",
360
+ onClick: X,
361
+ disabled: P || !L.trim(),
362
+ children: [/* @__PURE__ */ p(v, { className: "h-4 w-4" }), P ? "Creating…" : "Create"]
363
+ })]
364
+ })
365
+ ]
366
+ })]
367
+ }) : null
368
+ ]
369
+ })]
370
+ })]
152
371
  });
153
372
  }
154
373
  //#endregion
155
- export { w as default };
374
+ export { N as default };
156
375
 
157
376
  //# sourceMappingURL=FloorPlansPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FloorPlansPage.js","names":[],"sources":["../../../../src/eventfullymanaged/pages/venues/FloorPlansPage.tsx"],"sourcesContent":["import { ArrowLeft, Plus, SquareStack } from 'lucide-react';\nimport { Button, EmphasisPanel, GlassCard, IllustratedEmptyState, Input, PagePurpose } from '@burdenoff/fe-libs/ui';\nimport { useState } from 'react';\nimport { useParams } from 'react-router-dom';\n\nimport {\n useCreateFloorPlanMutation,\n useDeleteFloorPlanMutation,\n useUpdateFloorPlanMutation,\n useVenueQuery,\n} from '../../api/eventApi';\nimport { ActionMenu } from '../../components/ActionMenu';\nimport { ImageUploadField } from '../../components/ImageUploadField';\nimport { useEventfullyManaged } from '../../context/EventfullyManagedContext';\nimport { describeError, mutationSucceeded } from '../../lib/mutationResult';\nimport { notify } from '../../lib/toast';\n\ntype FloorPlan = {\n id: string;\n venueId: string;\n name: string;\n imageUrl?: string | null;\n dimensions?: Record<string, unknown> | null;\n interactiveAreas?: Record<string, unknown> | null;\n};\n\nconst FLOOR_PLAN_FOLDER = '/EventfullyManaged/FloorPlans';\n\nexport default function FloorPlansPage() {\n const { id = '' } = useParams<{ id: string }>();\n const { navigate } = useEventfullyManaged();\n const { data, loading, refetch } = useVenueQuery(id);\n const [createFloorPlan, { loading: creating }] = useCreateFloorPlanMutation();\n const [updateFloorPlan] = useUpdateFloorPlanMutation();\n const [deleteFloorPlan] = useDeleteFloorPlanMutation();\n const [name, setName] = useState('');\n const [imageUrl, setImageUrl] = useState('');\n\n const venue = data?.venue;\n const floorPlans = (data?.floorPlans?.items ?? []) as FloorPlan[];\n\n const handleCreate = async () => {\n if (!name.trim() || !id) {\n return;\n }\n try {\n const response = await createFloorPlan({\n variables: {\n input: {\n venueId: id,\n name: name.trim(),\n imageUrl,\n dimensions: {},\n interactiveAreas: {},\n },\n },\n });\n if (!mutationSucceeded(response, response.data?.createFloorPlan?.id, 'Could not create floor plan')) {\n return;\n }\n setName('');\n setImageUrl('');\n notify.success('Floor plan created');\n await refetch();\n } catch (error) {\n notify.error('Could not create floor plan', describeError(error));\n }\n };\n\n const handleAttachImage = async (plan: FloorPlan, url: string) => {\n try {\n const response = await updateFloorPlan({\n variables: {\n id: plan.id,\n input: {\n venueId: plan.venueId,\n name: plan.name,\n imageUrl: url,\n dimensions: plan.dimensions ?? {},\n interactiveAreas: plan.interactiveAreas ?? {},\n },\n },\n });\n if (!mutationSucceeded(response, response.data?.updateFloorPlan?.id, 'Could not attach image')) {\n return;\n }\n await refetch();\n } catch (error) {\n notify.error('Could not attach image', describeError(error));\n }\n };\n\n const handleDelete = async (plan: FloorPlan) => {\n const response = await deleteFloorPlan({ variables: { id: plan.id } });\n if (response.error) {\n notify.error('Could not delete floor plan', response.error.message);\n throw response.error;\n }\n if (!response.data?.deleteFloorPlan) {\n notify.error('Could not delete floor plan', 'The server did not confirm the change.');\n throw new Error('delete-unconfirmed');\n }\n notify.success('Floor plan deleted', plan.name);\n await refetch();\n };\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"space-y-3\">\n <Button type=\"button\" variant=\"ghost\" size=\"sm\" onClick={() => navigate(`/venues/${id}`)}>\n <ArrowLeft className=\"h-4 w-4\" />\n Back to Venue\n </Button>\n <div>\n <h1 className=\"text-2xl font-bold text-text-primary\">Floor Plans</h1>\n <p className=\"mt-1 text-sm text-text-secondary\">{venue?.name ?? 'Venue'}</p>\n </div>\n </div>\n\n <PagePurpose>\n Floor plans are the maps of your venue — the hall layout, booth positions, stage and entrances. Add one per\n space so you can lay out exhibitors, plan attendee flow, and give everyone a clear picture of the room on the\n day.\n </PagePurpose>\n\n <EmphasisPanel>\n <h2 className=\"mb-3 text-sm font-semibold text-text-primary\">Create floor plan</h2>\n <div className=\"space-y-4\">\n <div className=\"flex flex-col gap-3 sm:flex-row\">\n <Input\n type=\"text\"\n value={name}\n onChange={(event) => setName(event.target.value)}\n placeholder=\"Main Hall Layout\"\n aria-label=\"Floor plan name\"\n className=\"flex-1\"\n />\n <Button type=\"button\" onClick={handleCreate} disabled={creating}>\n <Plus className=\"h-4 w-4\" />\n {creating ? 'Creating...' : 'Create'}\n </Button>\n </div>\n <ImageUploadField\n label=\"Upload floor plan image\"\n folderPath={FLOOR_PLAN_FOLDER}\n value={imageUrl || null}\n onUploaded={setImageUrl}\n hint=\"Optional. Attach the hall map now, or add it later from the list below.\"\n />\n </div>\n </EmphasisPanel>\n\n {loading ? (\n <GlassCard treatment=\"plain\" className=\"border-border-seam p-8 text-center text-sm text-text-secondary\">\n Loading floor plans...\n </GlassCard>\n ) : floorPlans.length === 0 ? (\n <GlassCard treatment=\"plain\" className=\"border-border-seam\">\n <IllustratedEmptyState\n illustration=\"empty-files\"\n title=\"No floor plans found.\"\n description=\"Create one to start mapping your venue.\"\n />\n </GlassCard>\n ) : (\n <div className=\"grid grid-cols-1 gap-4 md:grid-cols-2\">\n {floorPlans.map((plan) => (\n <GlassCard key={plan.id} treatment=\"metric\" className=\"space-y-3 p-4\">\n <div className=\"flex items-center justify-between gap-2 text-text-primary\">\n <div className=\"flex min-w-0 items-center gap-2\">\n <SquareStack className=\"h-4 w-4 shrink-0 text-action-primary-bg\" />\n <h3 className=\"truncate font-semibold\">{plan.name}</h3>\n </div>\n <ActionMenu\n ariaLabel={`Floor plan actions for ${plan.name}`}\n entityName={plan.name}\n deleteLabel=\"Delete floor plan\"\n onDelete={() => handleDelete(plan)}\n />\n </div>\n {plan.imageUrl ? (\n <img\n src={plan.imageUrl}\n alt={`${plan.name} floor plan`}\n className=\"w-full rounded-card border border-border-seam object-cover\"\n />\n ) : (\n <ImageUploadField\n label=\"Upload image\"\n folderPath={FLOOR_PLAN_FOLDER}\n value={null}\n onUploaded={(url) => handleAttachImage(plan, url)}\n hint=\"Add the hall map for this floor plan.\"\n />\n )}\n <p className=\"text-sm text-text-secondary\">\n {plan.dimensions ? 'Dimensions configured' : 'No dimensions configured'}\n </p>\n </GlassCard>\n ))}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FloorPlansPage.js","names":[],"sources":["../../../../src/eventfullymanaged/pages/venues/FloorPlansPage.tsx"],"sourcesContent":["import { ArrowLeft, LayoutGrid, Map as MapIcon, Plus, SquareStack } from 'lucide-react';\nimport { Badge, Button, GlassCard, GradientText, IllustratedEmptyState, Input, Skeleton } from '@burdenoff/fe-libs/ui';\nimport { useMemo, useState } from 'react';\nimport { useParams } from 'react-router-dom';\n\nimport {\n useCreateFloorPlanMutation,\n useDeleteFloorPlanMutation,\n useUpdateFloorPlanMutation,\n useVenueQuery,\n} from '../../api/eventApi';\nimport { ActionMenu } from '../../components/ActionMenu';\nimport { ImageUploadField } from '../../components/ImageUploadField';\nimport { useEventfullyManaged } from '../../context/EventfullyManagedContext';\nimport { describeError, mutationSucceeded } from '../../lib/mutationResult';\nimport { notify } from '../../lib/toast';\n\ntype Json = Record<string, unknown> | null | undefined;\n\ntype FloorPlan = {\n id: string;\n venueId: string;\n name: string;\n imageUrl?: string | null;\n dimensions?: Json;\n interactiveAreas?: Json;\n};\n\ntype Zone = {\n key: string;\n label: string;\n type?: string;\n capacity?: number;\n rect?: { x: number; y: number; w: number; h: number };\n};\n\nconst FLOOR_PLAN_FOLDER = '/EventfullyManaged/FloorPlans';\n\nfunction asNumber(value: unknown): number | undefined {\n if (typeof value === 'number' && Number.isFinite(value)) {\n return value;\n }\n if (typeof value === 'string' && value.trim() !== '' && Number.isFinite(Number(value))) {\n return Number(value);\n }\n return undefined;\n}\n\nfunction asString(value: unknown): string | undefined {\n return typeof value === 'string' && value.trim() !== '' ? value : undefined;\n}\n\n// interactiveAreas is free-form JSON persisted verbatim by the backend. Parse it\n// defensively so the viewer renders whatever real shape a plan happens to hold —\n// an array of areas, a `{ zones: [...] }` / `{ areas: [...] }` wrapper, or a\n// keyed object — without ever fabricating booth data that isn't there.\nfunction extractZones(interactiveAreas: Json): Zone[] {\n if (!interactiveAreas) {\n return [];\n }\n let raw: unknown = interactiveAreas;\n if (!Array.isArray(raw) && typeof raw === 'object') {\n const obj = raw as Record<string, unknown>;\n if (Array.isArray(obj.zones)) {\n raw = obj.zones;\n } else if (Array.isArray(obj.areas)) {\n raw = obj.areas;\n } else if (Array.isArray(obj.booths)) {\n raw = obj.booths;\n }\n }\n\n const entries: Array<[string, unknown]> = Array.isArray(raw)\n ? raw.map((item, index) => [String(index), item])\n : typeof raw === 'object' && raw !== null\n ? Object.entries(raw as Record<string, unknown>)\n : [];\n\n const zones: Zone[] = [];\n for (const [key, value] of entries) {\n if (value === null || typeof value !== 'object') {\n continue;\n }\n const item = value as Record<string, unknown>;\n const label = asString(item.label) ?? asString(item.name) ?? asString(item.title) ?? asString(item.id) ?? key;\n const x = asNumber(item.x);\n const y = asNumber(item.y);\n const w = asNumber(item.w) ?? asNumber(item.width);\n const h = asNumber(item.h) ?? asNumber(item.height);\n let rect: Zone['rect'];\n if (x !== undefined && y !== undefined && w !== undefined && h !== undefined) {\n // Normalise fractional (0–1) or percentage (0–100) coordinates to percent.\n const scale = x <= 1 && y <= 1 && w <= 1 && h <= 1 ? 100 : 1;\n if (scale === 100 || (x <= 100 && y <= 100 && w <= 100 && h <= 100)) {\n rect = { x: x * scale, y: y * scale, w: w * scale, h: h * scale };\n }\n }\n zones.push({\n key: `${key}-${label}`,\n label,\n type: asString(item.type) ?? asString(item.kind),\n capacity: asNumber(item.capacity) ?? asNumber(item.seats),\n rect,\n });\n }\n return zones;\n}\n\ntype PlanMetric = { label: string; value: string };\n\nfunction buildMetrics(plan: FloorPlan, zones: Zone[]): PlanMetric[] {\n const metrics: PlanMetric[] = [];\n if (zones.length > 0) {\n metrics.push({ label: 'Zones', value: zones.length.toLocaleString() });\n }\n\n const boothCount = zones.filter((zone) => (zone.type ?? '').toLowerCase().includes('booth')).length;\n if (boothCount > 0) {\n metrics.push({ label: 'Booths', value: boothCount.toLocaleString() });\n }\n\n const zoneCapacity = zones.reduce((sum, zone) => sum + (zone.capacity ?? 0), 0);\n const dims = (plan.dimensions ?? {}) as Record<string, unknown>;\n const declaredCapacity = asNumber(dims.capacity) ?? asNumber(dims.totalCapacity);\n const capacity = zoneCapacity > 0 ? zoneCapacity : declaredCapacity;\n if (capacity !== undefined && capacity > 0) {\n metrics.push({ label: 'Total capacity', value: capacity.toLocaleString() });\n }\n\n const width = asNumber(dims.width);\n const height = asNumber(dims.height);\n if (width !== undefined && height !== undefined) {\n const unit = asString(dims.unit) ?? 'm';\n metrics.push({ label: 'Dimensions', value: `${width} × ${height} ${unit}` });\n }\n\n return metrics;\n}\n\nfunction FloorPlanViewer({\n plan,\n zones,\n onAttachImage,\n}: {\n plan: FloorPlan;\n zones: Zone[];\n onAttachImage: (plan: FloorPlan, url: string) => void;\n}) {\n const overlayZones = zones.filter((zone) => zone.rect);\n return (\n <GlassCard treatment=\"plain\" className=\"overflow-hidden border-border-seam p-0\">\n <div className=\"flex items-center justify-between gap-2 border-b border-border-seam px-5 py-3\">\n <div className=\"flex min-w-0 items-center gap-2 text-text-primary\">\n <MapIcon className=\"h-4 w-4 shrink-0 text-action-primary-bg\" />\n <h2 className=\"truncate text-base font-semibold\">{plan.name}</h2>\n </div>\n {zones.length > 0 ? (\n <Badge variant=\"secondary\" className=\"shrink-0\">\n {zones.length} {zones.length === 1 ? 'zone' : 'zones'}\n </Badge>\n ) : null}\n </div>\n\n {plan.imageUrl ? (\n <div className=\"relative bg-bg-sunken\">\n <img\n src={plan.imageUrl}\n alt={`${plan.name} floor plan`}\n className=\"mx-auto max-h-[32rem] w-full object-contain\"\n />\n {overlayZones.map((zone) => (\n <div\n key={zone.key}\n className=\"absolute flex items-center justify-center rounded-md border border-accent-primary/70 bg-action-primary-bg/15 text-[10px] font-medium text-accent-primary\"\n style={{\n left: `${zone.rect?.x}%`,\n top: `${zone.rect?.y}%`,\n width: `${zone.rect?.w}%`,\n height: `${zone.rect?.h}%`,\n }}\n title={zone.label}\n >\n <span className=\"truncate px-1\">{zone.label}</span>\n </div>\n ))}\n </div>\n ) : (\n <div className=\"p-6\">\n <div className=\"rounded-card border border-dashed border-border-default bg-bg-sunken p-6\">\n <p className=\"mb-3 text-center text-sm text-text-secondary\">\n No image attached yet. Upload the hall map for this plan.\n </p>\n <ImageUploadField\n label=\"Upload floor plan image\"\n folderPath={FLOOR_PLAN_FOLDER}\n value={null}\n onUploaded={(url) => onAttachImage(plan, url)}\n hint=\"Stored securely in Files and shown here once attached.\"\n />\n </div>\n </div>\n )}\n\n {zones.length > 0 ? (\n <div className=\"border-t border-border-seam px-5 py-4\">\n <div className=\"mb-2 flex items-center gap-2 text-sm font-medium text-text-primary\">\n <LayoutGrid className=\"h-4 w-4 text-text-muted\" />\n Labeled zones\n </div>\n <div className=\"flex flex-wrap gap-2\">\n {zones.map((zone) => (\n <Badge key={zone.key} variant=\"outline\" className=\"gap-1.5\">\n {zone.label}\n {zone.capacity ? <span className=\"text-text-muted\">· {zone.capacity}</span> : null}\n </Badge>\n ))}\n </div>\n </div>\n ) : null}\n </GlassCard>\n );\n}\n\nexport default function FloorPlansPage() {\n const { id = '' } = useParams<{ id: string }>();\n const { navigate } = useEventfullyManaged();\n const { data, loading, refetch } = useVenueQuery(id);\n const [createFloorPlan, { loading: creating }] = useCreateFloorPlanMutation();\n const [updateFloorPlan] = useUpdateFloorPlanMutation();\n const [deleteFloorPlan] = useDeleteFloorPlanMutation();\n const [name, setName] = useState('');\n const [imageUrl, setImageUrl] = useState('');\n const [selectedId, setSelectedId] = useState<string | null>(null);\n const [showCreate, setShowCreate] = useState(false);\n\n const venue = data?.venue;\n const floorPlans = useMemo(() => (data?.floorPlans?.items ?? []) as FloorPlan[], [data]);\n\n const selectedPlan = useMemo(\n () => floorPlans.find((plan) => plan.id === selectedId) ?? floorPlans[0] ?? null,\n [floorPlans, selectedId]\n );\n const selectedZones = useMemo(() => extractZones(selectedPlan?.interactiveAreas), [selectedPlan]);\n const metrics = useMemo(\n () => (selectedPlan ? buildMetrics(selectedPlan, selectedZones) : []),\n [selectedPlan, selectedZones]\n );\n\n const handleCreate = async () => {\n if (!name.trim() || !id) {\n return;\n }\n try {\n const response = await createFloorPlan({\n variables: {\n input: { venueId: id, name: name.trim(), imageUrl, dimensions: {}, interactiveAreas: {} },\n },\n });\n if (!mutationSucceeded(response, response.data?.createFloorPlan?.id, 'Could not create floor plan')) {\n return;\n }\n setName('');\n setImageUrl('');\n setShowCreate(false);\n const createdId = response.data?.createFloorPlan?.id;\n if (createdId) {\n setSelectedId(createdId);\n }\n notify.success('Floor plan created');\n await refetch();\n } catch (error) {\n notify.error('Could not create floor plan', describeError(error));\n }\n };\n\n const handleAttachImage = async (plan: FloorPlan, url: string) => {\n try {\n const response = await updateFloorPlan({\n variables: {\n id: plan.id,\n input: {\n venueId: plan.venueId,\n name: plan.name,\n imageUrl: url,\n dimensions: plan.dimensions ?? {},\n interactiveAreas: plan.interactiveAreas ?? {},\n },\n },\n });\n if (!mutationSucceeded(response, response.data?.updateFloorPlan?.id, 'Could not attach image')) {\n return;\n }\n await refetch();\n } catch (error) {\n notify.error('Could not attach image', describeError(error));\n }\n };\n\n const handleDelete = async (plan: FloorPlan) => {\n const response = await deleteFloorPlan({ variables: { id: plan.id } });\n if (response.error) {\n notify.error('Could not delete floor plan', response.error.message);\n throw response.error;\n }\n if (!response.data?.deleteFloorPlan) {\n notify.error('Could not delete floor plan', 'The server did not confirm the change.');\n throw new Error('delete-unconfirmed');\n }\n if (selectedId === plan.id) {\n setSelectedId(null);\n }\n notify.success('Floor plan deleted', plan.name);\n await refetch();\n };\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex flex-col gap-4 sm:flex-row sm:items-end sm:justify-between\">\n <div className=\"space-y-3\">\n <Button type=\"button\" variant=\"ghost\" size=\"sm\" onClick={() => navigate(`/venues/${id}`)}>\n <ArrowLeft className=\"h-4 w-4\" />\n Back to Venue\n </Button>\n <GradientText as=\"h1\" className=\"text-2xl font-bold\">\n {venue?.name ? `${venue.name} — Floor Plans` : 'Floor Plans'}\n </GradientText>\n <p className=\"text-sm text-text-secondary\">\n Map the hall layout, booth positions, stage and entrances so exhibitors and attendees can navigate on the\n day.\n </p>\n </div>\n <Button type=\"button\" onClick={() => setShowCreate((value) => !value)}>\n <Plus className=\"h-4 w-4\" />\n Add floor plan\n </Button>\n </div>\n\n {loading ? (\n <div className=\"grid grid-cols-1 gap-6 lg:grid-cols-3\">\n <Skeleton className=\"h-96 rounded-card lg:col-span-2\" />\n <Skeleton className=\"h-96 rounded-card\" />\n </div>\n ) : floorPlans.length === 0 && !showCreate ? (\n <GlassCard treatment=\"plain\" className=\"border-border-seam\">\n <IllustratedEmptyState\n illustration=\"empty-files\"\n title=\"No floor plans yet.\"\n description=\"Add one to start mapping this venue — upload the hall map and label its zones.\"\n action={\n <Button type=\"button\" onClick={() => setShowCreate(true)}>\n <Plus className=\"h-4 w-4\" />\n Add floor plan\n </Button>\n }\n />\n </GlassCard>\n ) : (\n <div className=\"grid grid-cols-1 gap-6 lg:grid-cols-3\">\n <div className=\"lg:col-span-2\">\n {selectedPlan ? (\n <FloorPlanViewer plan={selectedPlan} zones={selectedZones} onAttachImage={handleAttachImage} />\n ) : (\n <GlassCard treatment=\"plain\" className=\"flex h-full items-center justify-center border-border-seam p-10\">\n <p className=\"text-sm text-text-secondary\">Add a floor plan to preview it here.</p>\n </GlassCard>\n )}\n </div>\n\n <div className=\"space-y-6\">\n <GlassCard treatment=\"plain\" className=\"border-border-seam p-5\">\n <h2 className=\"text-sm font-semibold text-text-primary\">Available Floor Plans</h2>\n <ul className=\"mt-3 space-y-2\" role=\"list\">\n {floorPlans.length === 0 ? (\n <li className=\"text-sm text-text-secondary\">None yet — create one below.</li>\n ) : (\n floorPlans.map((plan) => {\n const active = selectedPlan?.id === plan.id;\n return (\n <li key={plan.id}>\n <div\n className={`flex items-center gap-3 rounded-card border p-3 transition-colors ${\n active\n ? 'border-accent-primary bg-action-primary-bg/10'\n : 'border-border-seam hover:border-border-strong'\n }`}\n >\n <button\n type=\"button\"\n onClick={() => setSelectedId(plan.id)}\n className=\"flex min-w-0 flex-1 items-center gap-3 text-left focus-visible:outline-none\"\n aria-pressed={active}\n >\n <span\n className={`flex h-9 w-9 shrink-0 items-center justify-center rounded-md ${\n active\n ? 'bg-action-primary-bg text-action-primary-text'\n : 'bg-bg-sunken text-text-secondary'\n }`}\n >\n <SquareStack className=\"h-4 w-4\" />\n </span>\n <span className=\"min-w-0\">\n <span className=\"block truncate text-sm font-medium text-text-primary\">{plan.name}</span>\n <span className=\"block text-xs text-text-muted\">\n {plan.imageUrl ? 'Map attached' : 'No image yet'}\n </span>\n </span>\n </button>\n <ActionMenu\n ariaLabel={`Floor plan actions for ${plan.name}`}\n entityName={plan.name}\n deleteLabel=\"Delete floor plan\"\n onDelete={() => handleDelete(plan)}\n />\n </div>\n </li>\n );\n })\n )}\n </ul>\n </GlassCard>\n\n {selectedPlan ? (\n <GlassCard treatment=\"metric\" className=\"p-5\">\n <h2 className=\"text-sm font-semibold text-text-primary\">Plan Details</h2>\n {metrics.length > 0 ? (\n <dl className=\"mt-3 space-y-2\">\n {metrics.map((metric) => (\n <div key={metric.label} className=\"flex items-center justify-between text-sm\">\n <dt className=\"text-text-secondary\">{metric.label}</dt>\n <dd className=\"font-semibold tabular-nums text-text-primary\">{metric.value}</dd>\n </div>\n ))}\n </dl>\n ) : (\n <p className=\"mt-3 text-sm text-text-secondary\">No zones or dimensions captured for this plan yet.</p>\n )}\n </GlassCard>\n ) : null}\n\n {showCreate || floorPlans.length === 0 ? (\n <GlassCard treatment=\"plain\" className=\"border-border-seam p-5\">\n <h2 className=\"mb-3 text-sm font-semibold text-text-primary\">Add a floor plan</h2>\n <div className=\"space-y-4\">\n <Input\n type=\"text\"\n value={name}\n onChange={(event) => setName(event.target.value)}\n placeholder=\"Main Hall Layout\"\n aria-label=\"Floor plan name\"\n />\n <ImageUploadField\n label=\"Upload floor plan image\"\n folderPath={FLOOR_PLAN_FOLDER}\n value={imageUrl || null}\n onUploaded={setImageUrl}\n hint=\"Optional now — you can attach it later from the viewer.\"\n />\n <div className=\"flex justify-end gap-2\">\n {floorPlans.length > 0 ? (\n <Button type=\"button\" variant=\"ghost\" onClick={() => setShowCreate(false)}>\n Cancel\n </Button>\n ) : null}\n <Button type=\"button\" onClick={handleCreate} disabled={creating || !name.trim()}>\n <Plus className=\"h-4 w-4\" />\n {creating ? 'Creating…' : 'Create'}\n </Button>\n </div>\n </div>\n </GlassCard>\n ) : null}\n </div>\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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"}