your-ai-workflow-firebase-os 2.0.3 → 2.0.6

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 (4111) hide show
  1. package/README.md +20 -3
  2. package/dist/AddressField-C-p92i8S.cjs +1 -0
  3. package/dist/AddressField-ECIN8cDm.js +383 -0
  4. package/dist/Assets-6gmOu6r8.cjs +1 -0
  5. package/dist/Assets-BYpBWkpV.js +307 -0
  6. package/dist/Attachments-B_v13LGJ.cjs +1 -0
  7. package/dist/Attachments-QHPoCZ_P.js +46 -0
  8. package/dist/Billing-BLXxWsNp.js +380 -0
  9. package/dist/Billing-BgFC-xkx.cjs +1 -0
  10. package/dist/BookingCalendar-Bcz9WMDg.cjs +1 -0
  11. package/dist/BookingCalendar-CZF34za5.js +365 -0
  12. package/dist/Button-0T_Mb-hN.js +48 -0
  13. package/dist/Button-DmAuz_s2.cjs +1 -0
  14. package/dist/ConfirmModal-BgIpdb9X.cjs +1 -0
  15. package/dist/ConfirmModal-DQ4eqdN3.js +113 -0
  16. package/dist/ContactPopup-BaLsRYBV.js +1904 -0
  17. package/dist/ContactPopup-CZB0Qc77.cjs +1 -0
  18. package/dist/CopyLink-B4Gn1Itq.cjs +1 -0
  19. package/dist/CopyLink-BLfgIMfn.js +43 -0
  20. package/dist/DashboardNav-BRshTXkW.cjs +1 -0
  21. package/dist/DashboardNav-D0bOAFps.js +1201 -0
  22. package/dist/EmailAdmin-BKO3HpCX.cjs +1 -0
  23. package/dist/EmailAdmin-NhQ51nzl.js +385 -0
  24. package/dist/EventCard-BdqGGw_P.js +130 -0
  25. package/dist/EventCard-_F0rbWsX.cjs +1 -0
  26. package/dist/FileViewerPopup-BSclhjol.cjs +3 -0
  27. package/dist/FileViewerPopup-Na6RJcJg.js +1173 -0
  28. package/dist/FormNote-Bm1N_kax.cjs +1 -0
  29. package/dist/FormNote-DiYKaSjl.js +72 -0
  30. package/dist/FormsAdmin-Br-svtO9.cjs +1 -0
  31. package/dist/FormsAdmin-mt7N4X9r.js +868 -0
  32. package/dist/Inbox-CR-1BoZy.js +1036 -0
  33. package/dist/Inbox-nRlip3vG.cjs +3 -0
  34. package/dist/Loader-CJQWcbtO.js +32 -0
  35. package/dist/Loader-F9EUDm9h.cjs +1 -0
  36. package/dist/ManagePlanButton--8r7rRuS.js +29 -0
  37. package/dist/ManagePlanButton-Dtxx3ePd.cjs +1 -0
  38. package/dist/MyBookings-CFBumIP9.js +120 -0
  39. package/dist/MyBookings-C_sPmVPn.cjs +1 -0
  40. package/dist/PageTitle-BTgDn1ET.js +1777 -0
  41. package/dist/PageTitle-BZdZKsWY.cjs +6 -0
  42. package/dist/PagesAdmin-BC_pwZ5U.js +6134 -0
  43. package/dist/PagesAdmin-By4cGYDl.cjs +1 -0
  44. package/dist/PagesAdmin-CNxHtCGU.js +3 -0
  45. package/dist/PagesAdmin-Dxk2G6RU.cjs +41 -0
  46. package/dist/PaymentsAdmin-68u5SC2h.js +1386 -0
  47. package/dist/PaymentsAdmin-Cx4B7Erk.cjs +2 -0
  48. package/dist/PhoneInputField-B6GoEA8U.js +131 -0
  49. package/dist/PhoneInputField-CUk0LXqk.cjs +1 -0
  50. package/dist/PhoneInputField-CuMINkex.cjs +1 -0
  51. package/dist/Popup-DEcrdiBi.cjs +1 -0
  52. package/dist/Popup-TtEmDXKB.js +142 -0
  53. package/dist/ProviderMark-Bwt1x7Za.js +109 -0
  54. package/dist/ProviderMark-Xj-B4h59.cjs +1 -0
  55. package/dist/PublishApp-BaD2ISuN.cjs +2 -0
  56. package/dist/PublishApp-Bnttp6Bv.js +595 -0
  57. package/dist/Said-CggcOp6P.js +113 -0
  58. package/dist/Said-_Rq-SCJ2.cjs +1 -0
  59. package/dist/ScheduleAdmin-BFE06xj6.cjs +1 -0
  60. package/dist/ScheduleAdmin-dlYXcgrC.js +1840 -0
  61. package/dist/SchedulePicker-CMsyEcq7.js +114 -0
  62. package/dist/SchedulePicker-DzAFAl1F.cjs +1 -0
  63. package/dist/Setup-BI-XvYAT.cjs +1524 -0
  64. package/dist/Setup-BRAP-sTt.js +852 -0
  65. package/dist/SetupPayments-BPSBG83R.js +411 -0
  66. package/dist/SetupPayments-CfHBZod8.cjs +1 -0
  67. package/dist/SignInAdmin-BIdqwNSI.js +821 -0
  68. package/dist/SignInAdmin-DAx1qO2m.cjs +4 -0
  69. package/dist/SupportBar-CK7dJQyH.js +232 -0
  70. package/dist/SupportBar-oTRCzEzy.cjs +1 -0
  71. package/dist/SystemTabContent-B2A0IhwV.cjs +1 -0
  72. package/dist/SystemTabContent-BJtHcB_J.js +37 -0
  73. package/dist/TemplateDrive-9AHPZJGs.cjs +1 -0
  74. package/dist/TemplateDrive-CRRYMGtI.js +1266 -0
  75. package/dist/ThemeAdmin-BJZCmziz.cjs +3 -0
  76. package/dist/ThemeAdmin-DGJqNrBm.js +269 -0
  77. package/dist/ThemeAdmin-DdD0xOzc.cjs +1 -0
  78. package/dist/ThemeAdmin-wr1-gyEe.js +2 -0
  79. package/dist/TimeZoneField-B3tZxNTw.js +10551 -0
  80. package/dist/TimeZoneField-CTOzXNgo.cjs +11 -0
  81. package/dist/TransactionsAdmin-Cq9Ut0l2.js +716 -0
  82. package/dist/TransactionsAdmin-D986gvyu.cjs +1 -0
  83. package/dist/Trouble-CPTsrJaT.js +241 -0
  84. package/dist/Trouble-l43nRx5y.cjs +1 -0
  85. package/dist/Users-BfhxHb1w.cjs +1 -0
  86. package/dist/Users-DZ28SA_R.js +1241 -0
  87. package/dist/VideoPlayer-Co74Mknr.cjs +1 -0
  88. package/dist/VideoPlayer-DmcNOGPC.js +644 -0
  89. package/dist/a-arrow-down-BlsgaPSP.js +25 -0
  90. package/dist/a-arrow-down-D4QInbG1.cjs +1 -0
  91. package/dist/a-arrow-up-B3RVbP7V.cjs +1 -0
  92. package/dist/a-arrow-up-Bm9Cq-v1.js +25 -0
  93. package/dist/a-large-small-CUsuhq5J.js +25 -0
  94. package/dist/a-large-small-NvLbprgh.cjs +1 -0
  95. package/dist/accessibility-D31E0emY.cjs +1 -0
  96. package/dist/accessibility-DHRXxTGg.js +31 -0
  97. package/dist/activity-B6vYMBCo.js +11 -0
  98. package/dist/activity-D6zgLVEf.cjs +1 -0
  99. package/dist/ad-CbKeKNix.cjs +1 -0
  100. package/dist/ad-CwKhyE8V.js +29 -0
  101. package/dist/aiModels-CS3aJBvW.js +229 -0
  102. package/dist/aiModels-DkbT7oOK.cjs +1 -0
  103. package/dist/air-vent-BCrdCsDG.js +25 -0
  104. package/dist/air-vent-D_gFj_Q5.cjs +1 -0
  105. package/dist/airplay-C1EsZRj4.cjs +1 -0
  106. package/dist/airplay-Cern8F7m.js +14 -0
  107. package/dist/alarm-clock-DoOsptNM.js +35 -0
  108. package/dist/alarm-clock-check-BdLWHGPl.cjs +1 -0
  109. package/dist/alarm-clock-check-DxL_onCW.js +36 -0
  110. package/dist/alarm-clock-fDHFTyR8.cjs +1 -0
  111. package/dist/alarm-clock-minus-1kvaEN1V.cjs +1 -0
  112. package/dist/alarm-clock-minus-6IcpuEdG.js +36 -0
  113. package/dist/alarm-clock-off-DHaLZSe4.js +33 -0
  114. package/dist/alarm-clock-off-DiQLgrL7.cjs +1 -0
  115. package/dist/alarm-clock-plus-D9EW95MQ.cjs +1 -0
  116. package/dist/alarm-clock-plus-D_QmAKtU.js +40 -0
  117. package/dist/alarm-smoke-BPMuNZmF.cjs +1 -0
  118. package/dist/alarm-smoke-C7424gGr.js +29 -0
  119. package/dist/align-center-horizontal-5cOati6R.cjs +1 -0
  120. package/dist/align-center-horizontal-BpuPvQ8C.js +29 -0
  121. package/dist/align-center-vertical-CbSgclwi.js +29 -0
  122. package/dist/align-center-vertical-DDz-YLwe.cjs +1 -0
  123. package/dist/align-end-horizontal-Bm7jHqfk.cjs +1 -0
  124. package/dist/align-end-horizontal-CUPmn3Ps.js +29 -0
  125. package/dist/align-end-vertical-B-dbek1Z.js +29 -0
  126. package/dist/align-end-vertical-DU0Ea9Ps.cjs +1 -0
  127. package/dist/align-horizontal-distribute-center-Dylp-ovE.js +41 -0
  128. package/dist/align-horizontal-distribute-center-p-GvjLlw.cjs +1 -0
  129. package/dist/align-horizontal-distribute-end-DJwUe5Dt.js +33 -0
  130. package/dist/align-horizontal-distribute-end-qV6hv8V7.cjs +1 -0
  131. package/dist/align-horizontal-distribute-start-ch328clg.cjs +1 -0
  132. package/dist/align-horizontal-distribute-start-o4rlbLkH.js +33 -0
  133. package/dist/align-horizontal-justify-center-COy15VBA.js +29 -0
  134. package/dist/align-horizontal-justify-center-CljVerwP.cjs +1 -0
  135. package/dist/align-horizontal-justify-end-Dchju5RO.js +29 -0
  136. package/dist/align-horizontal-justify-end-OeccVRsb.cjs +1 -0
  137. package/dist/align-horizontal-justify-start-C7Kj4W6K.js +29 -0
  138. package/dist/align-horizontal-justify-start-H-dFmtqH.cjs +1 -0
  139. package/dist/align-horizontal-space-around-B8fVZ3Ly.js +25 -0
  140. package/dist/align-horizontal-space-around-DDXWHlPA.cjs +1 -0
  141. package/dist/align-horizontal-space-between-C3gxbBV6.js +33 -0
  142. package/dist/align-horizontal-space-between-ZYoCUap3.cjs +1 -0
  143. package/dist/align-start-horizontal-CszTuIHa.cjs +1 -0
  144. package/dist/align-start-horizontal-DzAOeiaH.js +29 -0
  145. package/dist/align-start-vertical-CG3u_VDu.js +29 -0
  146. package/dist/align-start-vertical-XoNVWVbC.cjs +1 -0
  147. package/dist/align-vertical-distribute-center-BrtwegtY.js +41 -0
  148. package/dist/align-vertical-distribute-center-D_mJOzLY.cjs +1 -0
  149. package/dist/align-vertical-distribute-end-Bg8ptT2R.js +33 -0
  150. package/dist/align-vertical-distribute-end-CvHX0PkW.cjs +1 -0
  151. package/dist/align-vertical-distribute-start-BFAhGSSB.cjs +1 -0
  152. package/dist/align-vertical-distribute-start-DmKXTKfn.js +33 -0
  153. package/dist/align-vertical-justify-center-BzjVIrh6.js +29 -0
  154. package/dist/align-vertical-justify-center-C3fS3qLx.cjs +1 -0
  155. package/dist/align-vertical-justify-end-B5DQ51AQ.js +29 -0
  156. package/dist/align-vertical-justify-end-CcoKLXPD.cjs +1 -0
  157. package/dist/align-vertical-justify-start-B12c_l2S.cjs +1 -0
  158. package/dist/align-vertical-justify-start-B8wvFGUY.js +29 -0
  159. package/dist/align-vertical-space-around-CtcHhm00.js +25 -0
  160. package/dist/align-vertical-space-around-LAtAKKlZ.cjs +1 -0
  161. package/dist/align-vertical-space-between-DQGv_FLm.cjs +1 -0
  162. package/dist/align-vertical-space-between-zdtOSUku.js +33 -0
  163. package/dist/ambulance-CVafOT8q.cjs +1 -0
  164. package/dist/ambulance-CanMJX93.js +41 -0
  165. package/dist/ampersand-CANOF9I7.cjs +1 -0
  166. package/dist/ampersand-DgQBiMVO.js +14 -0
  167. package/dist/ampersands-Bd0Di4s7.js +14 -0
  168. package/dist/ampersands-Da7elkBd.cjs +1 -0
  169. package/dist/amphora-BwPlO7gJ.js +33 -0
  170. package/dist/amphora-CAzmibBi.cjs +1 -0
  171. package/dist/anchor-C1DlbI0m.js +27 -0
  172. package/dist/anchor-JCpyhOa5.cjs +1 -0
  173. package/dist/angle-B1lZW177.js +14 -0
  174. package/dist/angle-CGHhI27_.cjs +1 -0
  175. package/dist/antenna-DJdQfhcZ.cjs +1 -0
  176. package/dist/antenna-DMQvsyH4.js +33 -0
  177. package/dist/anvil--PdTgBX9.js +29 -0
  178. package/dist/anvil-GZbLwD5z.cjs +1 -0
  179. package/dist/aperture-CbPvS2qT.js +39 -0
  180. package/dist/aperture-cvr9P8kM.cjs +1 -0
  181. package/dist/app-window-BkCJgN8i.js +29 -0
  182. package/dist/app-window-mac-BpBo5Fho.cjs +1 -0
  183. package/dist/app-window-mac-UIw1Vob8.js +29 -0
  184. package/dist/app-window-wjmwmXPo.cjs +1 -0
  185. package/dist/appIcons-CTr2atr2.js +3313 -0
  186. package/dist/appIcons-D73kSIOv.cjs +130 -0
  187. package/dist/apple-3lJ0oMFv.cjs +1 -0
  188. package/dist/apple-fPj2Hux0.js +14 -0
  189. package/dist/archive-C16uxBry.cjs +1 -0
  190. package/dist/archive-Dc3IU_jF.js +25 -0
  191. package/dist/archive-restore-BOLtEFg4.cjs +1 -0
  192. package/dist/archive-restore-z_0pN0YT.js +33 -0
  193. package/dist/archive-x-BbuASwSR.cjs +1 -0
  194. package/dist/archive-x-D-dY1KBV.js +29 -0
  195. package/dist/armchair-D7tOeJUZ.cjs +1 -0
  196. package/dist/armchair-e3n2K7Xm.js +25 -0
  197. package/dist/arrivalRoads-BTWS6OPI.cjs +0 -0
  198. package/dist/arrivalRoads-DzVlIoGe.js +0 -0
  199. package/dist/arrow-big-down-B31I3IbF.cjs +1 -0
  200. package/dist/arrow-big-down-C4n-T_lM.js +11 -0
  201. package/dist/arrow-big-down-dash-CdQ2Etg_.js +14 -0
  202. package/dist/arrow-big-down-dash-D0uxeHwf.cjs +1 -0
  203. package/dist/arrow-big-left-3hTJV-ml.cjs +1 -0
  204. package/dist/arrow-big-left-DmayD7GG.js +11 -0
  205. package/dist/arrow-big-left-dash-BjxVrYUE.js +14 -0
  206. package/dist/arrow-big-left-dash-DgMWFYVk.cjs +1 -0
  207. package/dist/arrow-big-right-B-RriAhS.js +11 -0
  208. package/dist/arrow-big-right-dash-V6E5Gyur.js +14 -0
  209. package/dist/arrow-big-right-dash-on4U-jGj.cjs +1 -0
  210. package/dist/arrow-big-right-mXW3wabC.cjs +1 -0
  211. package/dist/arrow-big-up-BSFMyMyg.js +11 -0
  212. package/dist/arrow-big-up-CQ5CfVug.cjs +1 -0
  213. package/dist/arrow-big-up-dash-MFOMuT9s.cjs +1 -0
  214. package/dist/arrow-big-up-dash-zb9Jw5Zv.js +14 -0
  215. package/dist/arrow-down-0-1-CpvP544X.js +34 -0
  216. package/dist/arrow-down-0-1-nEv_8uVu.cjs +1 -0
  217. package/dist/arrow-down-1-0-DvEO8FKz.cjs +1 -0
  218. package/dist/arrow-down-1-0-UIQRbtY9.js +34 -0
  219. package/dist/arrow-down-DoONxfg3.js +14 -0
  220. package/dist/arrow-down-VpwipLl1.cjs +1 -0
  221. package/dist/arrow-down-a-z-44C66lST.js +30 -0
  222. package/dist/arrow-down-a-z-yjRcKRR0.cjs +1 -0
  223. package/dist/arrow-down-from-line-8Z47ok97.js +21 -0
  224. package/dist/arrow-down-from-line-Cpk5DUPh.cjs +1 -0
  225. package/dist/arrow-down-left-C8_8GQsF.cjs +1 -0
  226. package/dist/arrow-down-left-Dr5QsXz_.js +14 -0
  227. package/dist/arrow-down-narrow-wide-BvA_OU3d.js +29 -0
  228. package/dist/arrow-down-narrow-wide-PRGTnRCh.cjs +1 -0
  229. package/dist/arrow-down-right-CFzfVChS.js +14 -0
  230. package/dist/arrow-down-right-QwgNQgi3.cjs +1 -0
  231. package/dist/arrow-down-to-dot-Bx1UluzW.cjs +1 -0
  232. package/dist/arrow-down-to-dot-xGEDsqGS.js +23 -0
  233. package/dist/arrow-down-to-line-BFQZJut1.js +21 -0
  234. package/dist/arrow-down-to-line-Cy-H3WyD.cjs +1 -0
  235. package/dist/arrow-down-up-Bc2pqe5f.cjs +1 -0
  236. package/dist/arrow-down-up-Iig5qPOQ.js +25 -0
  237. package/dist/arrow-down-wide-narrow-CRgFPCld.js +30 -0
  238. package/dist/arrow-down-wide-narrow-CfbmV4eL.cjs +1 -0
  239. package/dist/arrow-down-z-a-BBULFIQ_.js +30 -0
  240. package/dist/arrow-down-z-a-czUzAfyi.cjs +1 -0
  241. package/dist/arrow-left-BLo3Q9ke.cjs +1 -0
  242. package/dist/arrow-left-C39sNUA7.cjs +1 -0
  243. package/dist/arrow-left-DdRja6es.js +17 -0
  244. package/dist/arrow-left-DuQtYeit.js +14 -0
  245. package/dist/arrow-left-from-line-BnAsY7Yi.cjs +1 -0
  246. package/dist/arrow-left-from-line-Da5EPXpu.js +21 -0
  247. package/dist/arrow-left-right-CqTYq10y.cjs +1 -0
  248. package/dist/arrow-left-right-gv-ftJL6.js +25 -0
  249. package/dist/arrow-left-to-line-Bh_iou55.cjs +1 -0
  250. package/dist/arrow-left-to-line-bcBAi3HM.js +21 -0
  251. package/dist/arrow-right-B7A_DTY5.cjs +1 -0
  252. package/dist/arrow-right-C6OLl8Zh.js +17 -0
  253. package/dist/arrow-right-CGvbxks5.cjs +1 -0
  254. package/dist/arrow-right-from-line-CBqnIuBs.cjs +1 -0
  255. package/dist/arrow-right-from-line-CVkzTCP2.js +21 -0
  256. package/dist/arrow-right-left-DgPeXfir.js +25 -0
  257. package/dist/arrow-right-left-oJosH49u.cjs +1 -0
  258. package/dist/arrow-right-mr2ynTVR.js +14 -0
  259. package/dist/arrow-right-to-line-BL2xa010.cjs +1 -0
  260. package/dist/arrow-right-to-line-D1nUpg2J.js +21 -0
  261. package/dist/arrow-up-0-1-CQ4WAFQe.cjs +1 -0
  262. package/dist/arrow-up-0-1-D0gOwUEq.js +34 -0
  263. package/dist/arrow-up-1-0-B35L-5bF.cjs +1 -0
  264. package/dist/arrow-up-1-0-bvts43cM.js +34 -0
  265. package/dist/arrow-up-Bjs5hQBY.js +14 -0
  266. package/dist/arrow-up-DExIT8GR.cjs +1 -0
  267. package/dist/arrow-up-a-z-4_YG65is.cjs +1 -0
  268. package/dist/arrow-up-a-z-DJ74YLrg.js +30 -0
  269. package/dist/arrow-up-down-Lx79XNYq.cjs +1 -0
  270. package/dist/arrow-up-down-UZFRG0QV.js +25 -0
  271. package/dist/arrow-up-from-dot-ClqiwVfr.cjs +1 -0
  272. package/dist/arrow-up-from-dot-Cy89eCsj.js +23 -0
  273. package/dist/arrow-up-from-line-BgWzCwUh.cjs +1 -0
  274. package/dist/arrow-up-from-line-DFH4iDAQ.js +21 -0
  275. package/dist/arrow-up-left-CTAvaU7A.js +14 -0
  276. package/dist/arrow-up-left-uRZR1rO6.cjs +1 -0
  277. package/dist/arrow-up-narrow-wide-B1ozkoAc.js +30 -0
  278. package/dist/arrow-up-narrow-wide-XSAHwniO.cjs +1 -0
  279. package/dist/arrow-up-right-BOo9b3m-.cjs +1 -0
  280. package/dist/arrow-up-right-DDWe-rmM.js +14 -0
  281. package/dist/arrow-up-to-line-CiIQ_kZE.cjs +1 -0
  282. package/dist/arrow-up-to-line-DyPIzOPT.js +21 -0
  283. package/dist/arrow-up-wide-narrow-8TmIUkX8.js +29 -0
  284. package/dist/arrow-up-wide-narrow-DuNm1IcS.cjs +1 -0
  285. package/dist/arrow-up-z-a-BXPFmUxW.cjs +1 -0
  286. package/dist/arrow-up-z-a-kuDajOy0.js +30 -0
  287. package/dist/arrows-up-from-line-CM_wUYRc.cjs +1 -0
  288. package/dist/arrows-up-from-line-DNwDp5hR.js +29 -0
  289. package/dist/asterisk-Bv-aUqlg.cjs +1 -0
  290. package/dist/asterisk-CPgy9i66.js +21 -0
  291. package/dist/astroid-B-1lEpM0.js +11 -0
  292. package/dist/astroid-DQryTD7k.cjs +1 -0
  293. package/dist/at-sign--avX355p.cjs +1 -0
  294. package/dist/at-sign-DkciSWxd.js +16 -0
  295. package/dist/atom-CWKZw3p5.js +23 -0
  296. package/dist/atom-Dzh4tOhK.cjs +1 -0
  297. package/dist/audio-lines-D4gVMAyY.js +33 -0
  298. package/dist/audio-lines-aDT-I5NL.cjs +1 -0
  299. package/dist/audio-lines-off-C0_izkSj.js +45 -0
  300. package/dist/audio-lines-off-DY2Q0KW1.cjs +1 -0
  301. package/dist/audio-lines-x-CQx9i13K.cjs +1 -0
  302. package/dist/audio-lines-x-Di81bNtm.js +41 -0
  303. package/dist/audio-waveform-CMizrGad.cjs +1 -0
  304. package/dist/audio-waveform-ClKeDAvI.js +11 -0
  305. package/dist/award-DXtThk4Y.js +16 -0
  306. package/dist/award-GwtCq-fI.cjs +1 -0
  307. package/dist/axe-B76xH6Vc.cjs +1 -0
  308. package/dist/axe-BQ9OuwRf.js +14 -0
  309. package/dist/axis-3d-BuDfDjTR.cjs +1 -0
  310. package/dist/axis-3d-Dci5a9Dd.js +26 -0
  311. package/dist/baby-B3HDICgC.cjs +1 -0
  312. package/dist/baby-Cl8k7PpH.js +25 -0
  313. package/dist/backpack-BvQfHSg5.js +29 -0
  314. package/dist/backpack-DvqGOFVs.cjs +1 -0
  315. package/dist/badge-456C8u7O.cjs +1 -0
  316. package/dist/badge-CxPdoVNe.js +11 -0
  317. package/dist/badge-alert-C09sh3OF.cjs +1 -0
  318. package/dist/badge-alert-CN1J8vXx.js +27 -0
  319. package/dist/badge-cent-Bs5SfIWV.js +21 -0
  320. package/dist/badge-cent-Wlli3J7z.cjs +1 -0
  321. package/dist/badge-check-D2T5PAAt.js +15 -0
  322. package/dist/badge-check-D7Epkzhq.cjs +1 -0
  323. package/dist/badge-dollar-sign-3tFWTwki.js +21 -0
  324. package/dist/badge-dollar-sign-avggsTUf.cjs +1 -0
  325. package/dist/badge-euro-CD3KByO5.cjs +1 -0
  326. package/dist/badge-euro-DnazdR2w.js +21 -0
  327. package/dist/badge-indian-rupee-CObGSSkw.js +25 -0
  328. package/dist/badge-indian-rupee-DZqJPk17.cjs +1 -0
  329. package/dist/badge-info-CcGC8BBu.cjs +1 -0
  330. package/dist/badge-info-D7U-UVqP.js +27 -0
  331. package/dist/badge-japanese-yen-B2MoU02R.js +29 -0
  332. package/dist/badge-japanese-yen-GLZj53A8.cjs +1 -0
  333. package/dist/badge-minus-C1aYGUzY.cjs +1 -0
  334. package/dist/badge-minus-bKIFFArs.js +17 -0
  335. package/dist/badge-percent-UgrILd39.js +25 -0
  336. package/dist/badge-percent-jEVu32wP.cjs +1 -0
  337. package/dist/badge-plus-D1OO89Ru.js +27 -0
  338. package/dist/badge-plus-DmfRRv67.cjs +1 -0
  339. package/dist/badge-pound-sterling-C3yfx_qA.js +25 -0
  340. package/dist/badge-pound-sterling-LUpyvOWj.cjs +1 -0
  341. package/dist/badge-question-mark-CWIxDbxt.cjs +1 -0
  342. package/dist/badge-question-mark-DvHqwMIn.js +25 -0
  343. package/dist/badge-russian-ruble-BvQQilBS.js +21 -0
  344. package/dist/badge-russian-ruble-Cg5ao0Nr.cjs +1 -0
  345. package/dist/badge-swiss-franc-AdPhqa6Y.cjs +1 -0
  346. package/dist/badge-swiss-franc-BM6X3O7l.js +25 -0
  347. package/dist/badge-turkish-lira-BIp7-M22.js +21 -0
  348. package/dist/badge-turkish-lira-CS2e1_cn.cjs +1 -0
  349. package/dist/badge-x-CQv9F41R.js +27 -0
  350. package/dist/badge-x-DiLwpuYz.cjs +1 -0
  351. package/dist/baggage-claim-C1JOfUH5.js +37 -0
  352. package/dist/baggage-claim-CzglqIwx.cjs +1 -0
  353. package/dist/bake-BZiGmXnj.cjs +38 -0
  354. package/dist/bake-Divn5BK-.js +10289 -0
  355. package/dist/balloon-3ws_YcbG.js +21 -0
  356. package/dist/balloon-CPlEaDNX.cjs +1 -0
  357. package/dist/ban-BAli5Bwp.js +16 -0
  358. package/dist/ban-BCV8FvK8.cjs +1 -0
  359. package/dist/banana-CJcH1yII.js +14 -0
  360. package/dist/banana-ConGEYau.cjs +1 -0
  361. package/dist/bandage-BWS0zSMN.js +41 -0
  362. package/dist/bandage-BdVPfrV2.cjs +1 -0
  363. package/dist/banknote-CKSygGFz.js +27 -0
  364. package/dist/banknote-DshEhxfA.cjs +1 -0
  365. package/dist/banknote-arrow-down-CWpguYSx.js +35 -0
  366. package/dist/banknote-arrow-down-DRWvQCk6.cjs +1 -0
  367. package/dist/banknote-arrow-up-C1RPPkrm.js +35 -0
  368. package/dist/banknote-arrow-up-RKdpt0z-.cjs +1 -0
  369. package/dist/banknote-check-Ba1W_iYg.cjs +1 -0
  370. package/dist/banknote-check-CFtTiBce.js +31 -0
  371. package/dist/banknote-x-B1gShiIG.js +35 -0
  372. package/dist/banknote-x-BKnIPPRE.cjs +1 -0
  373. package/dist/barcode-DeFRHX1-.cjs +1 -0
  374. package/dist/barcode-ODVEP3a2.js +29 -0
  375. package/dist/barrel-CVtpeOe5.js +29 -0
  376. package/dist/barrel-hjR3C3Cu.cjs +1 -0
  377. package/dist/baseline--CjgaQv_.js +21 -0
  378. package/dist/baseline-sG8W6ROQ.cjs +1 -0
  379. package/dist/bath-CNe0M_sJ.js +29 -0
  380. package/dist/bath-PRJ50O9M.cjs +1 -0
  381. package/dist/battery-DOMPTLRz.cjs +1 -0
  382. package/dist/battery-charging-CM6YRvOK.cjs +1 -0
  383. package/dist/battery-charging-CnHsJ0Io.js +25 -0
  384. package/dist/battery-full-BCE9kx9p.cjs +1 -0
  385. package/dist/battery-full-DabuZgbw.js +33 -0
  386. package/dist/battery-kzPYp53n.js +18 -0
  387. package/dist/battery-low-CId3XaBz.cjs +1 -0
  388. package/dist/battery-low-DMa4cGSi.js +25 -0
  389. package/dist/battery-medium-Cody4bbh.cjs +1 -0
  390. package/dist/battery-medium-jriRC3f1.js +29 -0
  391. package/dist/battery-plus-DMo6gl0O.cjs +1 -0
  392. package/dist/battery-plus-DXj6nA0c.js +29 -0
  393. package/dist/battery-warning-DfO9rJDZ.cjs +1 -0
  394. package/dist/battery-warning-tXXooe6_.js +29 -0
  395. package/dist/beaker-BQ0rxBvi.js +21 -0
  396. package/dist/beaker-CKssd0WF.cjs +1 -0
  397. package/dist/bean-CeLW4jIb.cjs +1 -0
  398. package/dist/bean-DA8kvnc-.js +14 -0
  399. package/dist/bean-off-5fvCrHmw.cjs +1 -0
  400. package/dist/bean-off-BJ-5tAmX.js +28 -0
  401. package/dist/bed-BXZGECxQ.cjs +1 -0
  402. package/dist/bed-Wr56R1HN.js +25 -0
  403. package/dist/bed-double-BOtDRnkT.js +25 -0
  404. package/dist/bed-double-DSTO7cwn.cjs +1 -0
  405. package/dist/bed-single-BdQQsn0m.js +21 -0
  406. package/dist/bed-single-pdh1mpvt.cjs +1 -0
  407. package/dist/beef-DgkmqAp4.js +23 -0
  408. package/dist/beef-HPS7GapR.cjs +1 -0
  409. package/dist/beef-off-D0yqGlTv.cjs +1 -0
  410. package/dist/beef-off-XRqB1QOL.js +33 -0
  411. package/dist/beer-C-WBal9G.js +29 -0
  412. package/dist/beer-DXDus2Xk.cjs +1 -0
  413. package/dist/beer-off-B2EZlNRM.cjs +1 -0
  414. package/dist/beer-off-Ch65HGMl.js +41 -0
  415. package/dist/bell-BbZArWQp.cjs +1 -0
  416. package/dist/bell-D4LdYV9X.js +14 -0
  417. package/dist/bell-check-B4pzAtcg.cjs +1 -0
  418. package/dist/bell-check-D6cCs0Bx.js +25 -0
  419. package/dist/bell-dot-2fetT04z.js +23 -0
  420. package/dist/bell-dot-DDc6zkRq.cjs +1 -0
  421. package/dist/bell-electric-4F1Qk_JS.cjs +1 -0
  422. package/dist/bell-electric-DjA8Q65m.js +41 -0
  423. package/dist/bell-minus-CZXkSVHe.cjs +1 -0
  424. package/dist/bell-minus-D5MCILZh.js +21 -0
  425. package/dist/bell-off-BOKyYX9x.js +25 -0
  426. package/dist/bell-off-WsDeKHtc.cjs +1 -0
  427. package/dist/bell-plus-Bx0CJ1tV.cjs +1 -0
  428. package/dist/bell-plus-DR9O-oP8.js +25 -0
  429. package/dist/bell-ring-CkrlZlxy.js +25 -0
  430. package/dist/bell-ring-CtvzCx8Q.cjs +1 -0
  431. package/dist/between-horizontal-end-Cnam8cMu.js +30 -0
  432. package/dist/between-horizontal-end-CoqT-6UE.cjs +1 -0
  433. package/dist/between-horizontal-start-B-CTp65Z.cjs +1 -0
  434. package/dist/between-horizontal-start-DiGOujax.js +30 -0
  435. package/dist/between-vertical-end-Bv4-JwPS.js +29 -0
  436. package/dist/between-vertical-end-DBis3RQ-.cjs +1 -0
  437. package/dist/between-vertical-start-Cmw_7nM1.cjs +1 -0
  438. package/dist/between-vertical-start-D78IgfCn.js +29 -0
  439. package/dist/biceps-flexed-CrfAt6SR.cjs +1 -0
  440. package/dist/biceps-flexed-DngNkE07.js +21 -0
  441. package/dist/bike-BgQ8-BYD.cjs +1 -0
  442. package/dist/bike-zW--mXtf.js +31 -0
  443. package/dist/binary-0LF3qO-y.cjs +1 -0
  444. package/dist/binary-DpJd99h9.js +41 -0
  445. package/dist/binoculars-CUBRFEn-.cjs +1 -0
  446. package/dist/binoculars-sqA7cvzt.js +33 -0
  447. package/dist/biohazard-Bwa9nwxK.cjs +1 -0
  448. package/dist/biohazard-DCXKyjwr.js +51 -0
  449. package/dist/bird-Bko9Jlra.js +33 -0
  450. package/dist/bird-CTbMCRYj.cjs +1 -0
  451. package/dist/birdhouse-7HFhkhV7.cjs +1 -0
  452. package/dist/birdhouse-bZqGSg2b.js +35 -0
  453. package/dist/bitcoin--Aku98bf.js +11 -0
  454. package/dist/bitcoin-DPJcdsBo.cjs +1 -0
  455. package/dist/blend-BaI6ohCZ.js +18 -0
  456. package/dist/blend-BbEOWcLH.cjs +1 -0
  457. package/dist/blender-Cr37f0MU.cjs +1 -0
  458. package/dist/blender-DgY_SkGc.js +33 -0
  459. package/dist/blinds-CNlYE3Vd.cjs +1 -0
  460. package/dist/blinds-DRylRfJR.js +39 -0
  461. package/dist/blocks-CHDAg8c6.cjs +1 -0
  462. package/dist/blocks-nD4xcnfm.js +18 -0
  463. package/dist/bluetooth-B-hXvmNJ.cjs +1 -0
  464. package/dist/bluetooth-DNiQF9Gw.js +11 -0
  465. package/dist/bluetooth-connected-Br9i_g2M.js +27 -0
  466. package/dist/bluetooth-connected-DhZv0Cn9.cjs +1 -0
  467. package/dist/bluetooth-off-CKR6nepE.cjs +1 -0
  468. package/dist/bluetooth-off-DTSmBsXv.js +21 -0
  469. package/dist/bluetooth-searching-DEDSj1gY.cjs +1 -0
  470. package/dist/bluetooth-searching-Qy-AeY-K.js +21 -0
  471. package/dist/bold-C4-9BCv3.js +11 -0
  472. package/dist/bold-DZfCq1ZR.cjs +1 -0
  473. package/dist/bolt-CgRzUgJx.js +16 -0
  474. package/dist/bolt-X7kQUmKK.cjs +1 -0
  475. package/dist/bomb-CM3bfo6d.js +23 -0
  476. package/dist/bomb-sbXzZH8x.cjs +1 -0
  477. package/dist/bone-BIq6fNg5.js +11 -0
  478. package/dist/bone-CEeJvdP0.cjs +1 -0
  479. package/dist/bone-fracture-CGfiHvYU.cjs +1 -0
  480. package/dist/bone-fracture-DZxj_QrR.js +33 -0
  481. package/dist/book-BkkuPFXs.cjs +1 -0
  482. package/dist/book-CDDJyQxR.js +11 -0
  483. package/dist/book-a-B7cL9Hoe.js +21 -0
  484. package/dist/book-a-CGw9A8IM.cjs +1 -0
  485. package/dist/book-alert-RRsjh28C.cjs +1 -0
  486. package/dist/book-alert-Vd_Qfv05.js +21 -0
  487. package/dist/book-audio-COufqGIA.js +25 -0
  488. package/dist/book-audio-DGa01Jvn.cjs +1 -0
  489. package/dist/book-bookmark-BJIrFSA5.cjs +1 -0
  490. package/dist/book-bookmark-DtTdXs0h.js +15 -0
  491. package/dist/book-check-CEg9FHbQ.js +14 -0
  492. package/dist/book-check-CrrQ2vMR.cjs +1 -0
  493. package/dist/book-copy-B38FPyNY.cjs +1 -0
  494. package/dist/book-copy-DMtD2jIB.js +21 -0
  495. package/dist/book-dashed-AmLYsrHx.cjs +1 -0
  496. package/dist/book-dashed-BzE1M6wC.js +54 -0
  497. package/dist/book-down-B_nNYsnz.js +21 -0
  498. package/dist/book-down-Cn_DBL0g.cjs +1 -0
  499. package/dist/book-headphones-B46Dv7E0.cjs +1 -0
  500. package/dist/book-headphones-Dw73gymG.js +29 -0
  501. package/dist/book-heart-Bxd2rj8B.js +14 -0
  502. package/dist/book-heart-D96aa3U2.cjs +1 -0
  503. package/dist/book-image-DMkuCbVZ.cjs +1 -0
  504. package/dist/book-image-DbTsEiER.js +23 -0
  505. package/dist/book-key-BvKBtK90.cjs +1 -0
  506. package/dist/book-key-CqejZB5H.js +31 -0
  507. package/dist/book-lock-B2YIi571.cjs +1 -0
  508. package/dist/book-lock-CIheLIgO.js +29 -0
  509. package/dist/book-minus-DYMf3sVn.cjs +1 -0
  510. package/dist/book-minus-DqGYNnSJ.js +14 -0
  511. package/dist/book-open-C6mvfAPD.js +14 -0
  512. package/dist/book-open-bONVNvnR.cjs +1 -0
  513. package/dist/book-open-check-DrvQe8mw.cjs +1 -0
  514. package/dist/book-open-check-Xow2enXV.js +21 -0
  515. package/dist/book-open-text-B_3BMUzw.cjs +1 -0
  516. package/dist/book-open-text-Uw9NQEpB.js +33 -0
  517. package/dist/book-plus-BoChXxI1.cjs +1 -0
  518. package/dist/book-plus-DIdghGxh.js +21 -0
  519. package/dist/book-search-B4CrwHJ0.cjs +1 -0
  520. package/dist/book-search-D7VcZrtH.js +27 -0
  521. package/dist/book-text-BLSlYjGz.cjs +1 -0
  522. package/dist/book-text-RduWs-bH.js +21 -0
  523. package/dist/book-type-BTzMW7A-.js +25 -0
  524. package/dist/book-type-CyfVMg_R.cjs +1 -0
  525. package/dist/book-up-2-BeJWX7eP.cjs +1 -0
  526. package/dist/book-up-2-BkuBDh-p.js +29 -0
  527. package/dist/book-up-2-xkv0UZ.cjs +1 -0
  528. package/dist/book-up-rR44KjGz.js +21 -0
  529. package/dist/book-user-BCtcN1l4.js +23 -0
  530. package/dist/book-user-CS-HEiJT.cjs +1 -0
  531. package/dist/book-x-Bd8PToBR.js +21 -0
  532. package/dist/book-x-BkQyKTAY.cjs +1 -0
  533. package/dist/bookingHold-DX9zPdMr.js +42 -0
  534. package/dist/bookingHold-DhS-tuuC.cjs +1 -0
  535. package/dist/bookingPages-BIR3m28i.cjs +1 -0
  536. package/dist/bookingPages-Cfv4Fbfh.js +103 -0
  537. package/dist/bookmark-DEIlWo7V.js +11 -0
  538. package/dist/bookmark-DMRZNrGM.cjs +1 -0
  539. package/dist/bookmark-check-AOooCo8Q.cjs +1 -0
  540. package/dist/bookmark-check-DHzSsTD3.js +14 -0
  541. package/dist/bookmark-minus-B4W0pxII.cjs +1 -0
  542. package/dist/bookmark-minus-DGdUbRoc.js +14 -0
  543. package/dist/bookmark-off-BhgRVSPd.cjs +1 -0
  544. package/dist/bookmark-off-C5zSTWMM.js +21 -0
  545. package/dist/bookmark-plus-D337oswG.js +21 -0
  546. package/dist/bookmark-plus-DAkcAuXW.cjs +1 -0
  547. package/dist/bookmark-x-BmUvxT89.js +21 -0
  548. package/dist/bookmark-x-BqWm3UWP.cjs +1 -0
  549. package/dist/boom-box-B0B_q1b8.cjs +1 -0
  550. package/dist/boom-box-CHFW_rm2.js +45 -0
  551. package/dist/bot-BuEnLc0u.cjs +1 -0
  552. package/dist/bot-Dc_WEAHD.js +37 -0
  553. package/dist/bot-message-square-DHfzV1_j.js +33 -0
  554. package/dist/bot-message-square-S9hu3lrZ.cjs +1 -0
  555. package/dist/bot-off-BYrUBtBU.cjs +1 -0
  556. package/dist/bot-off-DzBkvhN8.js +37 -0
  557. package/dist/bottle-wine-BRJYfGyz.cjs +1 -0
  558. package/dist/bottle-wine-D3TGDsii.js +14 -0
  559. package/dist/bow-arrow-BmZrB31p.js +29 -0
  560. package/dist/bow-arrow-DmsnzFn5.cjs +1 -0
  561. package/dist/box-BT_jjByS.cjs +1 -0
  562. package/dist/box-BfkMW3B7.js +21 -0
  563. package/dist/boxes-ByR6uNp7.cjs +1 -0
  564. package/dist/boxes-CpGWLEM7.cjs +1 -0
  565. package/dist/boxes-DcQnzrdY.js +60 -0
  566. package/dist/boxes-OrbLmLd0.js +57 -0
  567. package/dist/braces-Cu9RVavm.js +15 -0
  568. package/dist/braces-DnHNili8.cjs +1 -0
  569. package/dist/brackets-BXSIused.js +14 -0
  570. package/dist/brackets-C-JOFJkB.cjs +1 -0
  571. package/dist/brain-D5OXGB9h.js +41 -0
  572. package/dist/brain-YNv9PPp-.cjs +1 -0
  573. package/dist/brain-circuit-CvjyjAU0.cjs +1 -0
  574. package/dist/brain-circuit-XHlFia4J.js +69 -0
  575. package/dist/brain-cog-Dk9CYx81.js +71 -0
  576. package/dist/brain-cog-DoiWqPqK.cjs +1 -0
  577. package/dist/brick-wall-0Nv6xQOr.js +45 -0
  578. package/dist/brick-wall-OLqY85Am.cjs +1 -0
  579. package/dist/brick-wall-fire-Cl9Fss7-.js +37 -0
  580. package/dist/brick-wall-fire-Cm3XaCJJ.cjs +1 -0
  581. package/dist/brick-wall-shield-BoWoetBr.js +41 -0
  582. package/dist/brick-wall-shield-D2MMCMGG.cjs +1 -0
  583. package/dist/bridge-Cn--2gMt.cjs +1 -0
  584. package/dist/bridge-vcKcPk5n.js +33 -0
  585. package/dist/briefcase-5OBcpF1B.cjs +1 -0
  586. package/dist/briefcase-ChigaPLc.js +18 -0
  587. package/dist/briefcase-business-CAtxjSe_.js +29 -0
  588. package/dist/briefcase-business-D6PTvPDT.cjs +1 -0
  589. package/dist/briefcase-conveyor-belt-BzW3ZYRK.cjs +1 -0
  590. package/dist/briefcase-conveyor-belt-CzJSN9KS.js +41 -0
  591. package/dist/briefcase-medical-DqtNTi-_.js +37 -0
  592. package/dist/briefcase-medical-_I7MyZ22.cjs +1 -0
  593. package/dist/bring-to-front-BiLmRuAW.cjs +1 -0
  594. package/dist/bring-to-front-Cuwtjf3-.js +25 -0
  595. package/dist/broccoli-BKUKVF4D.cjs +1 -0
  596. package/dist/broccoli-DMzhAf12.js +25 -0
  597. package/dist/broom-B6BUQl-9.js +25 -0
  598. package/dist/broom-BUUzqa1T.cjs +1 -0
  599. package/dist/broom-sparkles-Ba4NkEra.cjs +1 -0
  600. package/dist/broom-sparkles-UIBalQQ6.js +49 -0
  601. package/dist/brush-BZI6iE8o.js +21 -0
  602. package/dist/brush-TROb4koj.cjs +1 -0
  603. package/dist/brush-cleaning-CIEIKuD2.js +25 -0
  604. package/dist/brush-cleaning-Lp0cEKz8.cjs +1 -0
  605. package/dist/bubbles-5CTO2eqI.cjs +1 -0
  606. package/dist/bubbles-B0j2AFGQ.js +31 -0
  607. package/dist/bug-D4iqLaSQ.cjs +1 -0
  608. package/dist/bug-SnwODrE_.js +53 -0
  609. package/dist/bug-off-DD7BfRZA.js +57 -0
  610. package/dist/bug-off-DlUnSofM.cjs +1 -0
  611. package/dist/bug-play-Dd7XC8JG.cjs +1 -0
  612. package/dist/bug-play-T7kVxYE_.js +45 -0
  613. package/dist/building-DGY_xWeY.cjs +1 -0
  614. package/dist/building-Dq4VPRn0.js +57 -0
  615. package/dist/building-complex-Coeviskh.cjs +1 -0
  616. package/dist/building-complex-Daqn-FW6.js +30 -0
  617. package/dist/building-complex-plus-DRdsJyJ2.js +41 -0
  618. package/dist/building-complex-plus-bxco4-At.cjs +1 -0
  619. package/dist/bus-Bxm42zR4.cjs +1 -0
  620. package/dist/bus-CJWacPIv.js +41 -0
  621. package/dist/bus-front-Bvp1hPlp.cjs +1 -0
  622. package/dist/bus-front-CmpKzTpz.js +49 -0
  623. package/dist/cable-B31Cd7xi.cjs +1 -0
  624. package/dist/cable-C0WxD9SG.js +37 -0
  625. package/dist/cable-car-DydOhvHC.cjs +1 -0
  626. package/dist/cable-car-ZD1Yam5Z.js +45 -0
  627. package/dist/cake-BDdL5qGj.js +45 -0
  628. package/dist/cake-Bw6yZTMi.cjs +1 -0
  629. package/dist/cake-slice-CiEeyXQE.cjs +1 -0
  630. package/dist/cake-slice-DJc2JsDP.js +27 -0
  631. package/dist/calculator-BAJNQQhm.js +59 -0
  632. package/dist/calculator-BiBowm4l.cjs +1 -0
  633. package/dist/calendar-1-DHy5arl9.js +33 -0
  634. package/dist/calendar-1-d3ydWu30.cjs +1 -0
  635. package/dist/calendar-CqTjb6O4.js +29 -0
  636. package/dist/calendar-DpP5cdwI.cjs +1 -0
  637. package/dist/calendar-arrow-down-BAVG8i_x.js +33 -0
  638. package/dist/calendar-arrow-down-CcgndKib.cjs +1 -0
  639. package/dist/calendar-arrow-up-BAQtKsot.cjs +1 -0
  640. package/dist/calendar-arrow-up-ChtXjvVs.js +33 -0
  641. package/dist/calendar-check-2-B3N8C5ZE.js +53 -0
  642. package/dist/calendar-check-2-DxKl4OVR.cjs +1 -0
  643. package/dist/calendar-check-CNfBOLHM.cjs +1 -0
  644. package/dist/calendar-check-CtrouOSR.js +33 -0
  645. package/dist/calendar-chevrons-right-B0Lhd29o.js +33 -0
  646. package/dist/calendar-chevrons-right-Bp6WIcpG.cjs +1 -0
  647. package/dist/calendar-clock-COSt5ayM.js +35 -0
  648. package/dist/calendar-clock-CrYtc9Ft.js +38 -0
  649. package/dist/calendar-clock-D59cGNoL.cjs +1 -0
  650. package/dist/calendar-clock-mFfX2HqY.cjs +1 -0
  651. package/dist/calendar-cog-ApQ8dHB7.js +63 -0
  652. package/dist/calendar-cog-abDDgeI3.cjs +1 -0
  653. package/dist/calendar-days-CLmL4VIk.cjs +1 -0
  654. package/dist/calendar-days-CsiHIyPW.js +53 -0
  655. package/dist/calendar-fold-BDnZlKFa.js +25 -0
  656. package/dist/calendar-fold-CBcYDNsW.cjs +1 -0
  657. package/dist/calendar-heart-D8dfTrZ-.js +29 -0
  658. package/dist/calendar-heart-Dp97M4qe.cjs +1 -0
  659. package/dist/calendar-minus-2-DBbcYXPA.js +33 -0
  660. package/dist/calendar-minus-2-DXEyJR5c.cjs +1 -0
  661. package/dist/calendar-minus-9n2LcHZG.js +29 -0
  662. package/dist/calendar-minus-BduP-y2g.cjs +1 -0
  663. package/dist/calendar-off-BcN-xewV.js +33 -0
  664. package/dist/calendar-off-CAszuG2u.cjs +1 -0
  665. package/dist/calendar-plus-2-DRGJ0HrX.js +37 -0
  666. package/dist/calendar-plus-2-Dzx3khQn.cjs +1 -0
  667. package/dist/calendar-plus-VnnLPUe8.cjs +1 -0
  668. package/dist/calendar-plus-j-5oqj4m.js +33 -0
  669. package/dist/calendar-range-De1JMlEJ.js +45 -0
  670. package/dist/calendar-range-X0cFFR9e.cjs +1 -0
  671. package/dist/calendar-search-DNLoNXBj.cjs +1 -0
  672. package/dist/calendar-search-uANNIl6t.js +35 -0
  673. package/dist/calendar-sync-B3ZtKuh3.cjs +1 -0
  674. package/dist/calendar-sync-Ba-5NjtL.js +41 -0
  675. package/dist/calendar-x-2-CwnDdUa2.cjs +1 -0
  676. package/dist/calendar-x-2-DYf1s0Ts.js +33 -0
  677. package/dist/calendar-x-9MfpO1fA.cjs +1 -0
  678. package/dist/calendar-x-B9JMgSnl.js +37 -0
  679. package/dist/calendars-XcheNMTx.cjs +1 -0
  680. package/dist/calendars-aO-NHZ6Z.js +37 -0
  681. package/dist/camera-D0-CID7x.js +16 -0
  682. package/dist/camera-T2-fpEad.cjs +1 -0
  683. package/dist/camera-off-Buj7e6ZK.js +25 -0
  684. package/dist/camera-off-CUG9Np8m.cjs +1 -0
  685. package/dist/can-DpWybGK-.js +25 -0
  686. package/dist/can-DrAyvcKZ.cjs +1 -0
  687. package/dist/can-soda-BCro006f.js +33 -0
  688. package/dist/can-soda-C-llvHlD.cjs +1 -0
  689. package/dist/candy-BRo6zUW_.js +29 -0
  690. package/dist/candy-Bg_Aw5hk.cjs +1 -0
  691. package/dist/candy-cane-4HIm-YrY.cjs +1 -0
  692. package/dist/candy-cane-Damp7ahR.js +29 -0
  693. package/dist/candy-off-BCLWtgm0.cjs +1 -0
  694. package/dist/candy-off-CNRpVvR3.js +37 -0
  695. package/dist/cannabis-off-B3Bfg7Ks.cjs +1 -0
  696. package/dist/cannabis-off-yqZ-sNdS.js +33 -0
  697. package/dist/cannabis-tDMcLPc_.cjs +1 -0
  698. package/dist/cannabis-tUkFG35_.js +14 -0
  699. package/dist/captions-BaPOI8hS.cjs +1 -0
  700. package/dist/captions-BwCKTLg7.js +20 -0
  701. package/dist/captions-off-BcnWCBkv.js +33 -0
  702. package/dist/captions-off-CWS4PpOz.cjs +1 -0
  703. package/dist/car-DoXiAa9P.js +29 -0
  704. package/dist/car-HbPPEVom.cjs +1 -0
  705. package/dist/car-battery-CVlJZy9M.cjs +1 -0
  706. package/dist/car-battery-CcBlVGIH.js +37 -0
  707. package/dist/car-front-Dd_NQ8F9.cjs +1 -0
  708. package/dist/car-front-ZIgXRV2l.js +37 -0
  709. package/dist/car-taxi-front-BKb1spwD.js +41 -0
  710. package/dist/car-taxi-front-CTd0KC4z.cjs +1 -0
  711. package/dist/caravan-B8a-zGd8.cjs +1 -0
  712. package/dist/caravan-D2rQ7PTD.js +27 -0
  713. package/dist/card-sim-BBqWm1cT.cjs +1 -0
  714. package/dist/card-sim-DAu2iCny.js +29 -0
  715. package/dist/carrot-nxA-z1hh.cjs +1 -0
  716. package/dist/carrot-tEzpXxsR.js +21 -0
  717. package/dist/carton-B1l62PCs.cjs +1 -0
  718. package/dist/carton-Cp3FMJo8.js +14 -0
  719. package/dist/carton-off-Bgo5eoY5.js +33 -0
  720. package/dist/carton-off-DmFX_fQm.cjs +1 -0
  721. package/dist/case-lower-CHpf6n2f.js +29 -0
  722. package/dist/case-lower-mJgkgLcL.cjs +1 -0
  723. package/dist/case-sensitive-BVwIC4Ap.cjs +1 -0
  724. package/dist/case-sensitive-CnOq1v0D.js +27 -0
  725. package/dist/case-upper-BJq70Fl7.cjs +1 -0
  726. package/dist/case-upper-BXUcThH-.js +21 -0
  727. package/dist/cassette-tape-CqcJspps.cjs +1 -0
  728. package/dist/cassette-tape-DmTWwhKZ.js +37 -0
  729. package/dist/cast-BM6qifpt.js +28 -0
  730. package/dist/cast-CKXgnDiA.cjs +1 -0
  731. package/dist/castle-C2A5OeHp.js +41 -0
  732. package/dist/castle-Dpz2QHKF.cjs +1 -0
  733. package/dist/cat-D76g6pIL.js +25 -0
  734. package/dist/cat-DnB8k7H-.cjs +1 -0
  735. package/dist/cctv-DqoWX69c.js +29 -0
  736. package/dist/cctv-DvW78OFV.cjs +1 -0
  737. package/dist/cctv-off-ApZnGQEO.js +33 -0
  738. package/dist/cctv-off-m129WGdU.cjs +1 -0
  739. package/dist/chart-area-BIKbe3xC.cjs +1 -0
  740. package/dist/chart-area-DymBu1Zy.js +15 -0
  741. package/dist/chart-bar-BM5UOdTG.js +26 -0
  742. package/dist/chart-bar-DQpgdJzQ.cjs +1 -0
  743. package/dist/chart-bar-big--ViR-RZ-.js +30 -0
  744. package/dist/chart-bar-big-DThRCoAk.cjs +1 -0
  745. package/dist/chart-bar-decreasing-DtCTtPQl.cjs +1 -0
  746. package/dist/chart-bar-decreasing-sQp8G-7P.js +25 -0
  747. package/dist/chart-bar-increasing-Bu0K3eTS.js +25 -0
  748. package/dist/chart-bar-increasing-C9VGP7Tz.cjs +1 -0
  749. package/dist/chart-bar-stacked-BGcwPwSN.cjs +1 -0
  750. package/dist/chart-bar-stacked-CRIyaU95.js +37 -0
  751. package/dist/chart-candlestick-CcI269qC.js +46 -0
  752. package/dist/chart-candlestick-EnCevnto.cjs +1 -0
  753. package/dist/chart-column-CHgCwPbd.js +26 -0
  754. package/dist/chart-column-CYThbZiE.cjs +1 -0
  755. package/dist/chart-column-big-YAqx4q31.js +30 -0
  756. package/dist/chart-column-big-yDhEIpAl.cjs +1 -0
  757. package/dist/chart-column-decreasing-BN3yS5Oj.cjs +1 -0
  758. package/dist/chart-column-decreasing-bVF9MFtM.js +25 -0
  759. package/dist/chart-column-increasing-BBfv0Sn_.js +26 -0
  760. package/dist/chart-column-increasing-G6FCHYQ0.cjs +1 -0
  761. package/dist/chart-column-stacked-BZ5BurFU.cjs +1 -0
  762. package/dist/chart-column-stacked-BpwmuHjb.js +37 -0
  763. package/dist/chart-gantt-B37EKAcb.cjs +1 -0
  764. package/dist/chart-gantt-nRwgcZin.js +25 -0
  765. package/dist/chart-line-BREALoK-.cjs +1 -0
  766. package/dist/chart-line-C-4UaCXc.js +15 -0
  767. package/dist/chart-network--TpOSQdm.js +43 -0
  768. package/dist/chart-network-HKDmwwgC.cjs +1 -0
  769. package/dist/chart-no-axes-column-483x0hRT.cjs +1 -0
  770. package/dist/chart-no-axes-column-BGmTz8Mb.js +22 -0
  771. package/dist/chart-no-axes-column-decreasing-BVXBucrR.cjs +1 -0
  772. package/dist/chart-no-axes-column-decreasing-C92BwFBi.js +21 -0
  773. package/dist/chart-no-axes-column-increasing-C9g2eF4X.cjs +1 -0
  774. package/dist/chart-no-axes-column-increasing-Dnh53IVE.js +22 -0
  775. package/dist/chart-no-axes-combined-Ba8UJ69K.cjs +1 -0
  776. package/dist/chart-no-axes-combined-DQ_jYNJp.js +33 -0
  777. package/dist/chart-no-axes-gantt-BW19Kfcs.cjs +1 -0
  778. package/dist/chart-no-axes-gantt-D5d40eCi.js +22 -0
  779. package/dist/chart-pie-CwgU9z4w.js +15 -0
  780. package/dist/chart-pie-LQoj1WDV.cjs +1 -0
  781. package/dist/chart-scatter-BNdJmqmA.cjs +1 -0
  782. package/dist/chart-scatter-CbVtQ1MA.js +49 -0
  783. package/dist/chart-spline-BOfJ3mdv.js +14 -0
  784. package/dist/chart-spline-DDrzZhON.cjs +1 -0
  785. package/dist/check-Dgx_xRxR.cjs +1 -0
  786. package/dist/check-DwLUo5PS.js +11 -0
  787. package/dist/check-check-C6mJiT9t.cjs +1 -0
  788. package/dist/check-check-DFG_n_pd.js +14 -0
  789. package/dist/check-line-C6wdkrHV.js +21 -0
  790. package/dist/check-line-CTHhpzXO.cjs +1 -0
  791. package/dist/chef-hat-Biq3l5Gj.js +14 -0
  792. package/dist/chef-hat-DDE4aHIR.cjs +1 -0
  793. package/dist/cherry-DK8nz6wu.js +25 -0
  794. package/dist/cherry-Dr7Ij3AS.cjs +1 -0
  795. package/dist/chess-bishop-B8IdSq4y.cjs +1 -0
  796. package/dist/chess-bishop-CfTAzCPK.js +25 -0
  797. package/dist/chess-king-Cd51RsU4.js +25 -0
  798. package/dist/chess-king-DzpYCq1Y.cjs +1 -0
  799. package/dist/chess-knight-COy17Isp.cjs +1 -0
  800. package/dist/chess-knight-HTPfqGxB.js +29 -0
  801. package/dist/chess-pawn-4VkWabYu.cjs +1 -0
  802. package/dist/chess-pawn-CX9OBWwq.js +31 -0
  803. package/dist/chess-queen-Cz5-ReCL.js +47 -0
  804. package/dist/chess-queen-Dk9HNF8k.cjs +1 -0
  805. package/dist/chess-rook-Cl0EK_Wl.cjs +1 -0
  806. package/dist/chess-rook-sgquz9LB.js +37 -0
  807. package/dist/chevron-down--L02LTgc.cjs +1 -0
  808. package/dist/chevron-down--LwXEv9w.js +143 -0
  809. package/dist/chevron-down-CUnLRFIg.js +11 -0
  810. package/dist/chevron-down-lyDK1rfL.cjs +1 -0
  811. package/dist/chevron-first-BDd4bd0d.js +14 -0
  812. package/dist/chevron-first-XEhq-O9H.cjs +1 -0
  813. package/dist/chevron-last-BXqS25-r.js +14 -0
  814. package/dist/chevron-last-DaEZk2Ry.cjs +1 -0
  815. package/dist/chevron-left-BeYN5TVa.cjs +1 -0
  816. package/dist/chevron-left-By8iIdje.js +14 -0
  817. package/dist/chevron-left-CPaXUmlS.js +11 -0
  818. package/dist/chevron-left-DHTPst5Z.cjs +1 -0
  819. package/dist/chevron-right-CVJWbNjt.js +11 -0
  820. package/dist/chevron-right-CsaO4mK_.cjs +1 -0
  821. package/dist/chevron-up-DlsxmxSi.js +11 -0
  822. package/dist/chevron-up-ffKgaAIx.cjs +1 -0
  823. package/dist/chevrons-down-CGiNDhQf.cjs +1 -0
  824. package/dist/chevrons-down-DHk-0HyD.js +14 -0
  825. package/dist/chevrons-down-up-Bje1Qe1m.js +14 -0
  826. package/dist/chevrons-down-up-PGDmrWuD.cjs +1 -0
  827. package/dist/chevrons-left-CYMT4ahg.cjs +1 -0
  828. package/dist/chevrons-left-kFqRNZT_.js +14 -0
  829. package/dist/chevrons-left-right-De3K8bdF.cjs +1 -0
  830. package/dist/chevrons-left-right-ellipsis-Ba4T2ErC.cjs +1 -0
  831. package/dist/chevrons-left-right-ellipsis-CabTmPBF.js +29 -0
  832. package/dist/chevrons-left-right-wRcC3UFT.js +14 -0
  833. package/dist/chevrons-right-BA-D7htH.js +14 -0
  834. package/dist/chevrons-right-DNAjOycS.cjs +1 -0
  835. package/dist/chevrons-right-left-008rn4Ma.js +14 -0
  836. package/dist/chevrons-right-left-BvbOo54Q.cjs +1 -0
  837. package/dist/chevrons-up-D1Pe5EoB.js +14 -0
  838. package/dist/chevrons-up-DntGimJE.cjs +1 -0
  839. package/dist/chevrons-up-down-3g8v9JLT.js +14 -0
  840. package/dist/chevrons-up-down-Ddwl5WDv.cjs +1 -0
  841. package/dist/church-C7FlcKwI.js +29 -0
  842. package/dist/church-rqvZ75Vn.cjs +1 -0
  843. package/dist/cigarette-BP63uQp_.cjs +1 -0
  844. package/dist/cigarette-DUXdqvHV.js +29 -0
  845. package/dist/cigarette-off-BRpadh6X.js +33 -0
  846. package/dist/cigarette-off-Uf0-sI-R.cjs +1 -0
  847. package/dist/circle-Cf_F21hP.js +13 -0
  848. package/dist/circle-DpTjMv2l.cjs +1 -0
  849. package/dist/circle-alert-CeZY2b_M.cjs +1 -0
  850. package/dist/circle-alert-DVM2oa9E.js +30 -0
  851. package/dist/circle-arrow-down-B0vIYfcx.js +24 -0
  852. package/dist/circle-arrow-down-ORXNmUYU.cjs +1 -0
  853. package/dist/circle-arrow-left-CQXCVPz1.cjs +1 -0
  854. package/dist/circle-arrow-left-DzNR9G7p.js +24 -0
  855. package/dist/circle-arrow-out-down-left-B_R9FFgq.cjs +1 -0
  856. package/dist/circle-arrow-out-down-left-jths4v-c.js +22 -0
  857. package/dist/circle-arrow-out-down-right-BewiPrmT.cjs +1 -0
  858. package/dist/circle-arrow-out-down-right-L0_xzJbx.js +22 -0
  859. package/dist/circle-arrow-out-up-left-DQBux9pd.js +22 -0
  860. package/dist/circle-arrow-out-up-left-JjFKQ3B2.cjs +1 -0
  861. package/dist/circle-arrow-out-up-right-BzyskzKz.js +22 -0
  862. package/dist/circle-arrow-out-up-right-DeAF2V0T.cjs +1 -0
  863. package/dist/circle-arrow-right-C5sD65d8.js +24 -0
  864. package/dist/circle-arrow-right-DV6GWXfM.cjs +1 -0
  865. package/dist/circle-arrow-up--yOht_jl.js +24 -0
  866. package/dist/circle-arrow-up-N37mx3lZ.cjs +1 -0
  867. package/dist/circle-check-9ZLa9KWn.cjs +1 -0
  868. package/dist/circle-check-BEjn1U1G.js +17 -0
  869. package/dist/circle-check-big-A63zKIwk.cjs +1 -0
  870. package/dist/circle-check-big-CpVRgW8P.js +15 -0
  871. package/dist/circle-chevron-down-BpeCcqq-.cjs +1 -0
  872. package/dist/circle-chevron-down-Waf03dtJ.js +17 -0
  873. package/dist/circle-chevron-left-Dxl9SSkL.cjs +1 -0
  874. package/dist/circle-chevron-left-vr-dVLK7.js +17 -0
  875. package/dist/circle-chevron-right-EcjtMJTn.js +17 -0
  876. package/dist/circle-chevron-right-mbmCaqNv.cjs +1 -0
  877. package/dist/circle-chevron-up-B1lXka5O.js +17 -0
  878. package/dist/circle-chevron-up-C2efygig.cjs +1 -0
  879. package/dist/circle-dashed-CnZCcOIH.js +41 -0
  880. package/dist/circle-dashed-THMdMDPO.cjs +1 -0
  881. package/dist/circle-dashed-check-C7bf3IK7.cjs +1 -0
  882. package/dist/circle-dashed-check-WHjJcs2i.js +45 -0
  883. package/dist/circle-divide-BqqkYYPO.js +37 -0
  884. package/dist/circle-divide-DNnrB7wP.cjs +1 -0
  885. package/dist/circle-dollar-sign-CBgViyJC.cjs +1 -0
  886. package/dist/circle-dollar-sign-D0MN6MBs.js +23 -0
  887. package/dist/circle-dot-9KAA3Nr5.js +18 -0
  888. package/dist/circle-dot-BAdBVFG6.cjs +1 -0
  889. package/dist/circle-dot-dashed-BXJYh7cq.cjs +1 -0
  890. package/dist/circle-dot-dashed-C4S6RvP-.js +47 -0
  891. package/dist/circle-ellipsis-B4rBuy1M.js +27 -0
  892. package/dist/circle-ellipsis-BmDvvV5-.cjs +1 -0
  893. package/dist/circle-equal-C-ps8buP.js +23 -0
  894. package/dist/circle-equal-CxT-dPFO.cjs +1 -0
  895. package/dist/circle-euro-BNOgWLup.js +23 -0
  896. package/dist/circle-euro-XBAr0ErH.cjs +1 -0
  897. package/dist/circle-fading-arrow-up-DMjeZPE7.js +37 -0
  898. package/dist/circle-fading-arrow-up-LjwcZcSy.cjs +1 -0
  899. package/dist/circle-fading-plus-D1a2VDi7.cjs +1 -0
  900. package/dist/circle-fading-plus-D5xsdi3d.js +37 -0
  901. package/dist/circle-gauge-C0l4hXRY.cjs +1 -0
  902. package/dist/circle-gauge-O_vm7l5S.js +24 -0
  903. package/dist/circle-minus-B7i3f3n4.js +17 -0
  904. package/dist/circle-minus-CXIqVWPk.cjs +1 -0
  905. package/dist/circle-off-CxpkU_Jw.cjs +1 -0
  906. package/dist/circle-off-t9z4jGIa.js +21 -0
  907. package/dist/circle-parking-BpTiepws.cjs +1 -0
  908. package/dist/circle-parking-DTIi31dh.js +17 -0
  909. package/dist/circle-parking-off-CIFUjN5N.js +34 -0
  910. package/dist/circle-parking-off-DhD_x0u8.cjs +1 -0
  911. package/dist/circle-pause-8djkDdWx.cjs +1 -0
  912. package/dist/circle-pause-D7RHzH-y.js +30 -0
  913. package/dist/circle-percent-BfALdgyP.cjs +1 -0
  914. package/dist/circle-percent-OJvcVde7.js +28 -0
  915. package/dist/circle-pile-7bUxqlWv.js +45 -0
  916. package/dist/circle-pile-C5STGFrX.cjs +1 -0
  917. package/dist/circle-play-C3T-s66C.js +17 -0
  918. package/dist/circle-play-Dyp_nT8u.cjs +1 -0
  919. package/dist/circle-plus-B5ZkYJUb.js +24 -0
  920. package/dist/circle-plus-ehcC2nRA.cjs +1 -0
  921. package/dist/circle-pound-sterling-BD9NOOow.cjs +1 -0
  922. package/dist/circle-pound-sterling-C4neH-kY.js +27 -0
  923. package/dist/circle-power-DS9-Whoj.cjs +1 -0
  924. package/dist/circle-power-DkJ8VGXy.js +24 -0
  925. package/dist/circle-question-mark-d-LUEfn-.cjs +1 -0
  926. package/dist/circle-question-mark-qe5gOWYq.js +24 -0
  927. package/dist/circle-slash-2-C13Xk4nJ.js +17 -0
  928. package/dist/circle-slash-2-CDXOqKtL.cjs +1 -0
  929. package/dist/circle-slash-BQbUYZOX.cjs +1 -0
  930. package/dist/circle-slash-fxbnuy5T.js +19 -0
  931. package/dist/circle-small-CVpRbbNO.cjs +1 -0
  932. package/dist/circle-small-jENrn7kv.js +13 -0
  933. package/dist/circle-star-BBPFioE3.cjs +1 -0
  934. package/dist/circle-star-BWkikoaX.js +16 -0
  935. package/dist/circle-stop-C9-fgKXh.cjs +1 -0
  936. package/dist/circle-stop-DUSHmmqE.js +21 -0
  937. package/dist/circle-user-CQLs_4wI.js +26 -0
  938. package/dist/circle-user-round-Bp_4P6Hm.cjs +1 -0
  939. package/dist/circle-user-round-BqOZBSh6.js +26 -0
  940. package/dist/circle-user-yVCdChhd.cjs +1 -0
  941. package/dist/circle-x-7T-wVXm5.cjs +1 -0
  942. package/dist/circle-x-BEUTkzGf.js +24 -0
  943. package/dist/circuit-board-C4BsRE4a.js +37 -0
  944. package/dist/circuit-board-qM5LWTin.cjs +1 -0
  945. package/dist/citrus-Bbm4467E.js +25 -0
  946. package/dist/citrus-DJeemOm4.cjs +1 -0
  947. package/dist/clapperboard-C8opJ3oo.cjs +1 -0
  948. package/dist/clapperboard-CcRRVcao.js +25 -0
  949. package/dist/clef-alto-DaDLPUjV.js +21 -0
  950. package/dist/clef-alto-DnA7MG5_.cjs +1 -0
  951. package/dist/clef-bass-BTt_I55h.cjs +1 -0
  952. package/dist/clef-bass-DqlxrC5N.js +27 -0
  953. package/dist/clef-treble-CZHAV9Jk.cjs +1 -0
  954. package/dist/clef-treble-EJVb2bsm.js +11 -0
  955. package/dist/clipboard-Ce5NbdHW.js +19 -0
  956. package/dist/clipboard-CqYQuUYV.cjs +1 -0
  957. package/dist/clipboard-check-3F72O6Ac.js +26 -0
  958. package/dist/clipboard-check-qMFIT5_S.cjs +1 -0
  959. package/dist/clipboard-clock-BhGqUZcB.cjs +1 -0
  960. package/dist/clipboard-clock-CR5XKnlJ.js +35 -0
  961. package/dist/clipboard-copy-DcuG6GFL.cjs +1 -0
  962. package/dist/clipboard-copy-fK-7Q9cR.js +34 -0
  963. package/dist/clipboard-list-C_XbPfi3.cjs +1 -0
  964. package/dist/clipboard-list-lgdVYViX.js +38 -0
  965. package/dist/clipboard-minus-CRg8yjZN.cjs +1 -0
  966. package/dist/clipboard-minus-DrZeBNb5.js +26 -0
  967. package/dist/clipboard-paste-B_BzjTT9.js +33 -0
  968. package/dist/clipboard-paste-CpJ0-nxX.cjs +1 -0
  969. package/dist/clipboard-pen-CpxEugwJ.js +30 -0
  970. package/dist/clipboard-pen-line-3ohB4jcJ.js +34 -0
  971. package/dist/clipboard-pen-line-mW9npQh0.cjs +1 -0
  972. package/dist/clipboard-pen-vQ-MF6ZC.cjs +1 -0
  973. package/dist/clipboard-plus-BAl_4h51.js +30 -0
  974. package/dist/clipboard-plus-ChNrIl4d.cjs +1 -0
  975. package/dist/clipboard-type-CtVj5OqR.js +34 -0
  976. package/dist/clipboard-type-DACDFFM-.cjs +1 -0
  977. package/dist/clipboard-x-D48bzNGD.js +30 -0
  978. package/dist/clipboard-x-DU-EpkAj.cjs +1 -0
  979. package/dist/clock--zMLeb6p.js +16 -0
  980. package/dist/clock-1-CBNCrdpF.cjs +1 -0
  981. package/dist/clock-1-mWuqRQma.js +16 -0
  982. package/dist/clock-10-AKiHRG62.cjs +1 -0
  983. package/dist/clock-10-ocW07nZY.js +16 -0
  984. package/dist/clock-11-B_uKSmck.js +16 -0
  985. package/dist/clock-11-CyXC6mTx.cjs +1 -0
  986. package/dist/clock-12-143XvGBz.cjs +1 -0
  987. package/dist/clock-12-cfmcMxWQ.js +16 -0
  988. package/dist/clock-2-ZBnYDlPY.js +16 -0
  989. package/dist/clock-2-oLlzTqup.cjs +1 -0
  990. package/dist/clock-3-BlQfQSoX.cjs +1 -0
  991. package/dist/clock-3-CRMlgaBG.js +16 -0
  992. package/dist/clock-4-DMBvzRT_.js +16 -0
  993. package/dist/clock-4-YqvhTy0O.cjs +1 -0
  994. package/dist/clock-5-Bmb42HUD.cjs +1 -0
  995. package/dist/clock-5-CA7r8JGs.js +16 -0
  996. package/dist/clock-6-DY3vEg2o.cjs +1 -0
  997. package/dist/clock-6-_0BBTKE1.js +16 -0
  998. package/dist/clock-7-B5nNTF1D.js +16 -0
  999. package/dist/clock-7-CSRwVChm.cjs +1 -0
  1000. package/dist/clock-8-B4iTVA-U.cjs +1 -0
  1001. package/dist/clock-8-DrIomWEN.js +16 -0
  1002. package/dist/clock-9-DMj8ZOS-.js +16 -0
  1003. package/dist/clock-9-UEdrNCF7.cjs +1 -0
  1004. package/dist/clock-DD4C8Q3l.cjs +1 -0
  1005. package/dist/clock-alert-CnCGKBPA.js +25 -0
  1006. package/dist/clock-alert-DoH8k6RE.cjs +1 -0
  1007. package/dist/clock-arrow-down-B58gmp15.js +25 -0
  1008. package/dist/clock-arrow-down-BPpuKTis.cjs +1 -0
  1009. package/dist/clock-arrow-left-BsKYhD1v.js +25 -0
  1010. package/dist/clock-arrow-left-CA2q51hs.cjs +1 -0
  1011. package/dist/clock-arrow-right-BBH3OZzL.cjs +1 -0
  1012. package/dist/clock-arrow-right-l-EC_ggM.js +25 -0
  1013. package/dist/clock-arrow-up-DRX2Ljws.js +25 -0
  1014. package/dist/clock-arrow-up-DZX1eME2.cjs +1 -0
  1015. package/dist/clock-check-BoEPqTKK.cjs +1 -0
  1016. package/dist/clock-check-YJQZYx9A.js +21 -0
  1017. package/dist/clock-fading-FOGYnwM4.js +33 -0
  1018. package/dist/clock-fading-sVPkHYqX.cjs +1 -0
  1019. package/dist/clock-plus-Cg4t_TIO.cjs +1 -0
  1020. package/dist/clock-plus-eIoHAA51.js +25 -0
  1021. package/dist/closed-caption-AymMAOSK.cjs +1 -0
  1022. package/dist/closed-caption-SeonkmKc.js +25 -0
  1023. package/dist/cloud-Cn5l7X8A.cjs +1 -0
  1024. package/dist/cloud-CnsvTIJB.js +11 -0
  1025. package/dist/cloud-alert-Jb9Dxepy.cjs +1 -0
  1026. package/dist/cloud-alert-XEN0EeL_.js +21 -0
  1027. package/dist/cloud-backup-BoaQstNV.cjs +1 -0
  1028. package/dist/cloud-backup-Cjk71uMW.js +21 -0
  1029. package/dist/cloud-check-DWb3nqXD.js +14 -0
  1030. package/dist/cloud-check-DbksF7x-.cjs +1 -0
  1031. package/dist/cloud-cog-BkD1aD_F.cjs +1 -0
  1032. package/dist/cloud-cog-DKC86bgG.js +45 -0
  1033. package/dist/cloud-download-CzIac3z7.js +22 -0
  1034. package/dist/cloud-download-DTIfCDOC.cjs +1 -0
  1035. package/dist/cloud-drizzle-B0qUjooy.cjs +1 -0
  1036. package/dist/cloud-drizzle-DuRwRHAZ.js +37 -0
  1037. package/dist/cloud-fog-D0JJphWD.js +21 -0
  1038. package/dist/cloud-fog-k3NCLBep.cjs +1 -0
  1039. package/dist/cloud-hail-HDnJqU2v.cjs +1 -0
  1040. package/dist/cloud-hail-ljt54oEP.js +37 -0
  1041. package/dist/cloud-lightning-BCnG02Ol.cjs +1 -0
  1042. package/dist/cloud-lightning-DHXh2o43.js +14 -0
  1043. package/dist/cloud-moon-DpzM4L0x.js +14 -0
  1044. package/dist/cloud-moon-abCgjB3S.cjs +1 -0
  1045. package/dist/cloud-moon-rain-DwgeB5A4.js +25 -0
  1046. package/dist/cloud-moon-rain-jfIO4ZF6.cjs +1 -0
  1047. package/dist/cloud-off-CU36vW9Z.js +21 -0
  1048. package/dist/cloud-off-DXagW7CP.cjs +1 -0
  1049. package/dist/cloud-rain-BHzNPeOz.cjs +1 -0
  1050. package/dist/cloud-rain-CPXphTjg.js +25 -0
  1051. package/dist/cloud-rain-wind-BaARuOVx.js +25 -0
  1052. package/dist/cloud-rain-wind-CTaGobcB.cjs +1 -0
  1053. package/dist/cloud-snow-BUSKAOS8.cjs +1 -0
  1054. package/dist/cloud-snow-CBcMtVex.js +37 -0
  1055. package/dist/cloud-sun-Bmvqz6TV.cjs +1 -0
  1056. package/dist/cloud-sun-DU4xn54F.js +33 -0
  1057. package/dist/cloud-sun-rain-CLWmJRNZ.js +41 -0
  1058. package/dist/cloud-sun-rain-_I62KfkP.cjs +1 -0
  1059. package/dist/cloud-sync-BySvNMr-.cjs +1 -0
  1060. package/dist/cloud-sync-C0pY-DWy.js +29 -0
  1061. package/dist/cloud-upload-BI796kd0.js +22 -0
  1062. package/dist/cloud-upload-kzufZDyA.cjs +1 -0
  1063. package/dist/cloudy-BC-w-dfq.js +14 -0
  1064. package/dist/cloudy-Djk35IR7.cjs +1 -0
  1065. package/dist/clover-C5UimlH0.js +21 -0
  1066. package/dist/clover-DLekFNj5.cjs +1 -0
  1067. package/dist/club-BFm8MSIy.js +14 -0
  1068. package/dist/club-DImBT5or.cjs +1 -0
  1069. package/dist/code-CjaFOYGc.js +14 -0
  1070. package/dist/code-Ky7UL0a6.cjs +1 -0
  1071. package/dist/code-xml-g2iozb-_.js +22 -0
  1072. package/dist/code-xml-ucrhhit_.cjs +1 -0
  1073. package/dist/coffee-C1QoCwI_.cjs +1 -0
  1074. package/dist/coffee-qQowvZMq.js +25 -0
  1075. package/dist/cog-CvwYRAxh.cjs +1 -0
  1076. package/dist/cog-GcNUCwa4.js +69 -0
  1077. package/dist/coins-BKQukWTL.cjs +1 -0
  1078. package/dist/coins-Cz7Np510.js +27 -0
  1079. package/dist/columns-2-CDA12ygO.js +19 -0
  1080. package/dist/columns-2-rgjuPjEW.cjs +1 -0
  1081. package/dist/columns-3-BAufsGew.js +26 -0
  1082. package/dist/columns-3-Cny6Ogl-.cjs +1 -0
  1083. package/dist/columns-3-cog-DRaBpedK.js +60 -0
  1084. package/dist/columns-3-cog-sGVSCbhR.cjs +1 -0
  1085. package/dist/columns-4-DX68natI.cjs +1 -0
  1086. package/dist/columns-4-GL65lYZX.js +29 -0
  1087. package/dist/combine-BKQ9wjc4.cjs +1 -0
  1088. package/dist/combine-XqBdahiy.js +41 -0
  1089. package/dist/command-CGCgpesJ.js +11 -0
  1090. package/dist/command-pHE6Rwok.cjs +1 -0
  1091. package/dist/compass-B8dlgPkM.cjs +1 -0
  1092. package/dist/compass-CGil8wqY.js +16 -0
  1093. package/dist/component-0578jqvp.js +25 -0
  1094. package/dist/component-nlMLcSfM.cjs +1 -0
  1095. package/dist/components/AdminNotifications.d.ts +40 -0
  1096. package/dist/components/Basket.d.ts +2 -2
  1097. package/dist/components/Checkout.d.ts +15 -2
  1098. package/dist/components/ContactPopup.d.ts +2 -0
  1099. package/dist/components/OwnFile.d.ts +111 -0
  1100. package/dist/components/Plans.d.ts +5 -1
  1101. package/dist/components/SupportBar.d.ts +4 -1
  1102. package/dist/components/TutorialVideo.d.ts +15 -0
  1103. package/dist/components/fields/Fields.d.ts +2 -2
  1104. package/dist/components/fields/IconPicker.d.ts +9 -3
  1105. package/dist/components/media/Picture.d.ts +2 -1
  1106. package/dist/components/media/VideoPlayer.d.ts +1 -1
  1107. package/dist/components/media/mediaKind.d.ts +13 -1
  1108. package/dist/components/schedule/CalendarCard.d.ts +6 -0
  1109. package/dist/components/schedule/CalendarView.d.ts +3 -2
  1110. package/dist/computer-0ezSBp8r.js +37 -0
  1111. package/dist/computer-DweBy_ve.cjs +1 -0
  1112. package/dist/concierge-bell-BtXTniFv.js +25 -0
  1113. package/dist/concierge-bell-DLQ3kMk4.cjs +1 -0
  1114. package/dist/cone-CdUcln_r.js +17 -0
  1115. package/dist/cone-tGrspg70.cjs +1 -0
  1116. package/dist/construction-DlpONhwg.cjs +1 -0
  1117. package/dist/construction-ptNkPaxL.js +45 -0
  1118. package/dist/contact-Cc-M554n.cjs +1 -0
  1119. package/dist/contact-DNmHXmjz.js +35 -0
  1120. package/dist/contact-round-B2yA-pHP.cjs +1 -0
  1121. package/dist/contact-round-BJuL8FnL.js +36 -0
  1122. package/dist/container-CQ_3FQHL.cjs +1 -0
  1123. package/dist/container-DeUpXqQY.js +29 -0
  1124. package/dist/contentFallback-CIGGmPvO.js +244 -0
  1125. package/dist/contentFallback-TOS9Tqe_.cjs +6 -0
  1126. package/dist/contrast-DZyDig22.js +16 -0
  1127. package/dist/contrast-Lzd48mmf.cjs +1 -0
  1128. package/dist/cookie-CkW1oVet.js +45 -0
  1129. package/dist/cookie-D8OftdyH.cjs +1 -0
  1130. package/dist/cooking-pot-CgDikQjT.js +25 -0
  1131. package/dist/cooking-pot-D1mU81Xt.cjs +1 -0
  1132. package/dist/copy-3_nIfcg8.js +19 -0
  1133. package/dist/copy-BX3lizC7.cjs +1 -0
  1134. package/dist/copy-check-BsqYusE6.js +26 -0
  1135. package/dist/copy-check-CeQPUtSP.cjs +1 -0
  1136. package/dist/copy-minus-BSlQCcPN.js +29 -0
  1137. package/dist/copy-minus-CFrDp3FW.cjs +1 -0
  1138. package/dist/copy-plus-Cfr7H2uG.cjs +1 -0
  1139. package/dist/copy-plus-DPoKQrf_.js +36 -0
  1140. package/dist/copy-slash-DVaRH7fO.cjs +1 -0
  1141. package/dist/copy-slash-qAVsK31E.js +29 -0
  1142. package/dist/copy-x-6oyG5ORq.js +29 -0
  1143. package/dist/copy-x-kgU76JQl.cjs +1 -0
  1144. package/dist/copyleft-16RVchh3.cjs +1 -0
  1145. package/dist/copyleft-BZtgZYyP.js +16 -0
  1146. package/dist/copyright-C47albpV.cjs +1 -0
  1147. package/dist/copyright-DOXjl6aV.js +16 -0
  1148. package/dist/corner-down-left-CV_TnXu6.js +14 -0
  1149. package/dist/corner-down-left-DgWAeJFL.cjs +1 -0
  1150. package/dist/corner-down-right-CcG9ASMP.cjs +1 -0
  1151. package/dist/corner-down-right-DMCnGAKX.js +14 -0
  1152. package/dist/corner-left-down-3CkeB8tI.cjs +1 -0
  1153. package/dist/corner-left-down-C64D7-PR.js +14 -0
  1154. package/dist/corner-left-up-Coif8p6k.js +14 -0
  1155. package/dist/corner-left-up-DPL-zqjS.cjs +1 -0
  1156. package/dist/corner-right-down-CPlMz6wg.cjs +1 -0
  1157. package/dist/corner-right-down-DNo7n2TY.js +14 -0
  1158. package/dist/corner-right-up-C6vO1a7B.js +14 -0
  1159. package/dist/corner-right-up-DH50eUIe.cjs +1 -0
  1160. package/dist/corner-up-left-DTFiKalQ.cjs +1 -0
  1161. package/dist/corner-up-left-DlfzVM8N.js +14 -0
  1162. package/dist/corner-up-right-BxEBo4s2.js +14 -0
  1163. package/dist/corner-up-right-CimOdYRz.cjs +1 -0
  1164. package/dist/cpu-BTAHMKbh.cjs +1 -0
  1165. package/dist/cpu-C9kI_l9n.js +73 -0
  1166. package/dist/creative-commons-BuiNJKDq.js +23 -0
  1167. package/dist/creative-commons-CNaGg1j-.cjs +1 -0
  1168. package/dist/credit-card-DdnxPiy1.cjs +1 -0
  1169. package/dist/credit-card-DsFd8A_V.js +28 -0
  1170. package/dist/credit-card-check-BXLAVLjX.cjs +1 -0
  1171. package/dist/credit-card-check-DukErP2C.js +25 -0
  1172. package/dist/credit-card-minus-DA73XUJa.cjs +1 -0
  1173. package/dist/credit-card-minus-R3DE0Uc3.js +25 -0
  1174. package/dist/credit-card-plus-DFYvGDSb.js +29 -0
  1175. package/dist/credit-card-plus-DipnzA9v.cjs +1 -0
  1176. package/dist/credit-card-reader-ByRB9tyM.cjs +1 -0
  1177. package/dist/credit-card-reader-FGGpRxp5.js +25 -0
  1178. package/dist/credit-card-x-CSW65sE6.js +29 -0
  1179. package/dist/credit-card-x-kf5uShkO.cjs +1 -0
  1180. package/dist/croissant-2LRbLhsR.js +29 -0
  1181. package/dist/croissant-BdUjRDbr.cjs +1 -0
  1182. package/dist/crop-Cr6pJOYM.cjs +1 -0
  1183. package/dist/crop-hAKZmVJD.js +14 -0
  1184. package/dist/cross-DcxsW1an.js +11 -0
  1185. package/dist/cross-_z5EHHpJ.cjs +1 -0
  1186. package/dist/crosshair-BauWoJNU.js +43 -0
  1187. package/dist/crosshair-HO4wv2X0.cjs +1 -0
  1188. package/dist/crown-BFtNARyv.cjs +1 -0
  1189. package/dist/crown-BcJHpJiE.js +14 -0
  1190. package/dist/cuboid-D06iNmsH.cjs +1 -0
  1191. package/dist/cuboid-DieISgV4.js +21 -0
  1192. package/dist/cup-soda-Bzo5NGeH.js +25 -0
  1193. package/dist/cup-soda-CcVj1q-M.cjs +1 -0
  1194. package/dist/cupcake-D-KBNqY6.cjs +1 -0
  1195. package/dist/cupcake-HnjQ8gbk.js +39 -0
  1196. package/dist/currency-CztzTlrs.js +43 -0
  1197. package/dist/currency-D60iV9Wv.cjs +1 -0
  1198. package/dist/cylinder-CBp9X9gk.js +17 -0
  1199. package/dist/cylinder-Cbw7zhQ_.cjs +1 -0
  1200. package/dist/dam-BXm5foBw.js +37 -0
  1201. package/dist/dam-MnnbRD7E.cjs +1 -0
  1202. package/dist/database-CqltkO_j.cjs +1 -0
  1203. package/dist/database-DnXDWRvV.js +24 -0
  1204. package/dist/database-arrow-down-BFVjWw4b.cjs +1 -0
  1205. package/dist/database-arrow-down-BtHDa35A.js +36 -0
  1206. package/dist/database-arrow-up-BuDM3VLh.cjs +1 -0
  1207. package/dist/database-arrow-up-CAWd1G9J.js +36 -0
  1208. package/dist/database-backup-DRejsVEb.cjs +1 -0
  1209. package/dist/database-backup-DqVwFk9D.js +36 -0
  1210. package/dist/database-check-DhCfvWkF.cjs +1 -0
  1211. package/dist/database-check-DnHHHhV6.js +32 -0
  1212. package/dist/database-minus-BdO6P7Bg.js +32 -0
  1213. package/dist/database-minus-D-VyRIWH.cjs +1 -0
  1214. package/dist/database-plus-Dpk4cLKo.cjs +1 -0
  1215. package/dist/database-plus-FzAmmG65.js +36 -0
  1216. package/dist/database-search-BERAnixG.js +38 -0
  1217. package/dist/database-search-BEYhUGt8.cjs +1 -0
  1218. package/dist/database-x-BreXld1A.js +40 -0
  1219. package/dist/database-x-BuuvE8EW.cjs +1 -0
  1220. package/dist/database-zap-DBbAGzQZ.js +32 -0
  1221. package/dist/database-zap-R0v--Hxa.cjs +1 -0
  1222. package/dist/decimals-arrow-left-DEC_F7KD.cjs +1 -0
  1223. package/dist/decimals-arrow-left-DdSSe_tD.js +29 -0
  1224. package/dist/decimals-arrow-right-BvfXUcYl.js +37 -0
  1225. package/dist/decimals-arrow-right-CDz09nAY.cjs +1 -0
  1226. package/dist/delete-Ba99VW0b.js +21 -0
  1227. package/dist/delete-CmGrcgxg.cjs +1 -0
  1228. package/dist/dessert-DUyidaL-.cjs +1 -0
  1229. package/dist/dessert-DaG-zuAI.js +23 -0
  1230. package/dist/diameter-Byg-sZ2s.js +33 -0
  1231. package/dist/diameter-DLfzJRgW.cjs +1 -0
  1232. package/dist/diamond-B7a4mcut.js +11 -0
  1233. package/dist/diamond-DIrLOe86.cjs +1 -0
  1234. package/dist/diamond-minus-CrBwcJ1N.js +14 -0
  1235. package/dist/diamond-minus-jmQzhChP.cjs +1 -0
  1236. package/dist/diamond-percent-BQKOAhwl.cjs +1 -0
  1237. package/dist/diamond-percent-qmDEjAdD.js +26 -0
  1238. package/dist/diamond-plus-DgwS0dfE.js +21 -0
  1239. package/dist/diamond-plus-gWgV_MzY.cjs +1 -0
  1240. package/dist/dice-1-CeiLHewM.js +19 -0
  1241. package/dist/dice-1-MiiAmGsz.cjs +1 -0
  1242. package/dist/dice-2-8nlfxxBV.js +26 -0
  1243. package/dist/dice-2-CQCl4wib.cjs +1 -0
  1244. package/dist/dice-3-DPjP-wq9.js +30 -0
  1245. package/dist/dice-3-rw5qYsu4.cjs +1 -0
  1246. package/dist/dice-4-B2YJT7Xk.js +34 -0
  1247. package/dist/dice-4-Badm9502.cjs +1 -0
  1248. package/dist/dice-5-BVQnX9nn.js +38 -0
  1249. package/dist/dice-5-CDz2u6TH.cjs +1 -0
  1250. package/dist/dice-6-BO24Xzzh.js +42 -0
  1251. package/dist/dice-6-DvGZPlq3.cjs +1 -0
  1252. package/dist/dices-C5yfqJjn.js +38 -0
  1253. package/dist/dices-CYZy4Kq1.cjs +1 -0
  1254. package/dist/diff-Bt1OwFw5.js +21 -0
  1255. package/dist/diff-CPkZjY3Z.cjs +1 -0
  1256. package/dist/disc-2-DrSKRdOa.js +25 -0
  1257. package/dist/disc-2-zwnZ_D9B.cjs +1 -0
  1258. package/dist/disc-3-NZjxxUPr.js +29 -0
  1259. package/dist/disc-3-QDoOlbGa.cjs +1 -0
  1260. package/dist/disc-CABGy0Zd.js +18 -0
  1261. package/dist/disc-aKwnXPMk.cjs +1 -0
  1262. package/dist/disc-album-B2xOtG4K.cjs +1 -0
  1263. package/dist/disc-album-cgBH1_Oa.js +27 -0
  1264. package/dist/divide-CkPNvkcS.js +28 -0
  1265. package/dist/divide-oeSNXUFE.cjs +1 -0
  1266. package/dist/dna-BOXc-4cf.cjs +1 -0
  1267. package/dist/dna-BV3866J0.js +53 -0
  1268. package/dist/dna-off-BkbUO_CD.cjs +1 -0
  1269. package/dist/dna-off-C_R95UiE.js +49 -0
  1270. package/dist/dock-C8VAWd3B.cjs +1 -0
  1271. package/dist/dock-Cg31RGXT.js +25 -0
  1272. package/dist/dog-5ZuqVmJN.js +29 -0
  1273. package/dist/dog-D8Ga35t4.cjs +1 -0
  1274. package/dist/dollar-sign-B4pDUObZ.cjs +1 -0
  1275. package/dist/dollar-sign-CCmEH1iV.js +17 -0
  1276. package/dist/dome-Cy9BLU6L.js +33 -0
  1277. package/dist/dome-Z-Mq-otx.cjs +1 -0
  1278. package/dist/donut-DBK-H181.cjs +1 -0
  1279. package/dist/donut-DPlnPSsl.js +16 -0
  1280. package/dist/door-closed-CO-Qtfaw.js +21 -0
  1281. package/dist/door-closed-locked-Bf-jWFY4.js +33 -0
  1282. package/dist/door-closed-locked-CN3Cw5GV.cjs +1 -0
  1283. package/dist/door-closed-package-Bf8P4zwi.js +33 -0
  1284. package/dist/door-closed-package-C91gz0Ce.cjs +1 -0
  1285. package/dist/door-closed-xvmX2sLq.cjs +1 -0
  1286. package/dist/door-open-CnuhTllw.cjs +1 -0
  1287. package/dist/door-open-QUTf7K0l.js +29 -0
  1288. package/dist/door-stairwell-BOhSlLVB.cjs +1 -0
  1289. package/dist/door-stairwell-myL-s5os.js +29 -0
  1290. package/dist/dot-BZaB0B9e.cjs +1 -0
  1291. package/dist/dot-CtHZHCHQ.js +13 -0
  1292. package/dist/download-C4Dnx5SS.cjs +1 -0
  1293. package/dist/download-CGiWbfpO.js +21 -0
  1294. package/dist/drafting-compass-BayKmv9p.js +31 -0
  1295. package/dist/drafting-compass-C5A4dDrN.cjs +1 -0
  1296. package/dist/drama-Cv4N4xiD.js +41 -0
  1297. package/dist/drama-V-ppkDPR.cjs +1 -0
  1298. package/dist/drill-CThAGg72.js +33 -0
  1299. package/dist/drill-KLtkGkvO.cjs +1 -0
  1300. package/dist/drone-CcPHCald.cjs +1 -0
  1301. package/dist/drone-PhjxPZDk.js +49 -0
  1302. package/dist/droplet-CNTgXOCt.cjs +1 -0
  1303. package/dist/droplet-i86YRVwN.js +11 -0
  1304. package/dist/droplet-off-CDtXX-yy.js +21 -0
  1305. package/dist/droplet-off-D0pEzb8M.cjs +1 -0
  1306. package/dist/droplets-CYoYWjAN.cjs +1 -0
  1307. package/dist/droplets-DspcwyQ-.js +14 -0
  1308. package/dist/drum-Cg2jDrbP.cjs +1 -0
  1309. package/dist/drum-nxJi6Tc4.js +40 -0
  1310. package/dist/drumstick-CPW_Cqr4.js +14 -0
  1311. package/dist/drumstick-CzeikEz3.cjs +1 -0
  1312. package/dist/dumbbell-CMDs5D2B.cjs +1 -0
  1313. package/dist/dumbbell-CwpvMFoI.js +29 -0
  1314. package/dist/ear-BYx2x7se.js +14 -0
  1315. package/dist/ear-CWkkHWp8.cjs +1 -0
  1316. package/dist/ear-off-D0cta5E4.cjs +1 -0
  1317. package/dist/ear-off-DquEJhLM.js +32 -0
  1318. package/dist/earth-Copu8dC0.js +28 -0
  1319. package/dist/earth-lock-C288Rrzn.cjs +1 -0
  1320. package/dist/earth-lock-Cw_gJABj.js +37 -0
  1321. package/dist/earth-tLICWwSr.cjs +1 -0
  1322. package/dist/eclipse-BNkeaEg9.js +16 -0
  1323. package/dist/eclipse-CBg9_jIT.cjs +1 -0
  1324. package/dist/egg-BoJ_WiE9.cjs +1 -0
  1325. package/dist/egg-D3Y60tDF.js +11 -0
  1326. package/dist/egg-fried-CQoq31G_.js +16 -0
  1327. package/dist/egg-fried-CYiCWx9S.cjs +1 -0
  1328. package/dist/egg-off-CzDKqAHy.js +21 -0
  1329. package/dist/egg-off-DK7C-oiK.cjs +1 -0
  1330. package/dist/eject-2YPNR6nK.cjs +1 -0
  1331. package/dist/eject-DTf5dV1j.js +18 -0
  1332. package/dist/ellipse-BWHLHlHM.js +14 -0
  1333. package/dist/ellipse-PzuvZJDb.cjs +1 -0
  1334. package/dist/ellipsis-XObiG-fW.js +28 -0
  1335. package/dist/ellipsis-aDaZzAaC.cjs +1 -0
  1336. package/dist/ellipsis-vertical-BcTYlLul.js +28 -0
  1337. package/dist/ellipsis-vertical-COykjJw7.cjs +1 -0
  1338. package/dist/email-B3K0WVDx.js +58 -0
  1339. package/dist/email-D67MGRax.cjs +1 -0
  1340. package/dist/engine-DQ8SP2fQ.cjs +1 -0
  1341. package/dist/engine-rQrc5Pw3.js +29 -0
  1342. package/dist/equal-CzjTKZ7m.js +20 -0
  1343. package/dist/equal-D8p8SVLy.cjs +1 -0
  1344. package/dist/equal-approximately-C1o8N0K3.js +14 -0
  1345. package/dist/equal-approximately-YZLbVnpR.cjs +1 -0
  1346. package/dist/equal-approximately-not-CYDIXw15.js +24 -0
  1347. package/dist/equal-approximately-not-y7WbgZq-.cjs +1 -0
  1348. package/dist/equal-not-CCyTvbGg.cjs +1 -0
  1349. package/dist/equal-not-D7ShEYQw.js +30 -0
  1350. package/dist/eraser-DnkLXAbJ.cjs +1 -0
  1351. package/dist/eraser-JqfwA14b.js +14 -0
  1352. package/dist/ethernet-port-DNc9d7A3.js +29 -0
  1353. package/dist/ethernet-port-DvqNdrAS.cjs +1 -0
  1354. package/dist/euro-Chz8dtvp.js +21 -0
  1355. package/dist/euro-D7paWZQh.cjs +1 -0
  1356. package/dist/ev-charger-Bhwco5Rg.js +29 -0
  1357. package/dist/ev-charger-DniUpSy4.cjs +1 -0
  1358. package/dist/expand-5F0B-y3o.js +41 -0
  1359. package/dist/expand-VhA2bPPA.cjs +1 -0
  1360. package/dist/external-link-DPvt21nZ.cjs +1 -0
  1361. package/dist/external-link-DxgHKC5-.js +21 -0
  1362. package/dist/eye-BDRYWWPK.js +16 -0
  1363. package/dist/eye-BUDmsn3T.cjs +1 -0
  1364. package/dist/eye-DBR-sZWU.js +19 -0
  1365. package/dist/eye-DU2g57PD.cjs +1 -0
  1366. package/dist/eye-closed-0XDpWfR4.cjs +1 -0
  1367. package/dist/eye-closed-DgRULh8h.js +29 -0
  1368. package/dist/eye-dashed-CK0QmjQn.cjs +1 -0
  1369. package/dist/eye-dashed-DZjI_eMa.js +47 -0
  1370. package/dist/eye-off-Bo3jzdMm.cjs +1 -0
  1371. package/dist/eye-off-CgKkn1b3.js +28 -0
  1372. package/dist/eye-off-DpaVyEy-.js +25 -0
  1373. package/dist/eye-off-zYG7T389.cjs +1 -0
  1374. package/dist/face-angry-Bv-p8nJR.cjs +1 -0
  1375. package/dist/face-angry-JO9luABe.js +36 -0
  1376. package/dist/face-expressionless-Bh93mibq.js +28 -0
  1377. package/dist/face-expressionless-BqfHi5Ty.cjs +1 -0
  1378. package/dist/face-grinning-CCmTeePG.js +28 -0
  1379. package/dist/face-grinning-Tg4xKWeW.cjs +1 -0
  1380. package/dist/face-neutral-3LNXbur9.js +28 -0
  1381. package/dist/face-neutral-r7VF2_w8.cjs +1 -0
  1382. package/dist/face-slightly-frowning-D55Kyxyd.cjs +1 -0
  1383. package/dist/face-slightly-frowning-D_LxpRr1.js +28 -0
  1384. package/dist/face-slightly-smiling-D4KmvYkE.js +28 -0
  1385. package/dist/face-slightly-smiling-DGY4_U-O.cjs +1 -0
  1386. package/dist/face-slightly-smiling-plus-Bx8lOTfp.cjs +1 -0
  1387. package/dist/face-slightly-smiling-plus-CzL9w6zk.js +34 -0
  1388. package/dist/factory-Cz7WGSrx.cjs +1 -0
  1389. package/dist/factory-DuffNSnL.js +25 -0
  1390. package/dist/fan-9vFYV-Lr.cjs +1 -0
  1391. package/dist/fan-B2uY_9Ey.js +14 -0
  1392. package/dist/fast-forward-CUqbFVoQ.cjs +1 -0
  1393. package/dist/fast-forward-Dw1YPonc.js +14 -0
  1394. package/dist/faucet-BTcXJi9s.cjs +1 -0
  1395. package/dist/faucet-DPABsqJE.js +39 -0
  1396. package/dist/feather-Cs2JExCz.js +21 -0
  1397. package/dist/feather-DyAki5YB.cjs +1 -0
  1398. package/dist/fence-4Rb1sjDl.js +37 -0
  1399. package/dist/fence-r8pAzXDp.cjs +1 -0
  1400. package/dist/ferris-wheel-Awdiih32.js +47 -0
  1401. package/dist/ferris-wheel-KywIGGut.cjs +1 -0
  1402. package/dist/file--mrK3OG0.js +14 -0
  1403. package/dist/file-CgEfRSeP.cjs +1 -0
  1404. package/dist/file-archive-D41WZXeO.js +35 -0
  1405. package/dist/file-archive-lk-UKO_p.cjs +1 -0
  1406. package/dist/file-axis-3d-Do-UZtMz.cjs +1 -0
  1407. package/dist/file-axis-3d-XA8G2uzl.js +26 -0
  1408. package/dist/file-badge-D2KkBw6g.js +28 -0
  1409. package/dist/file-badge-gQgR2yVu.cjs +1 -0
  1410. package/dist/file-box-BGcDdxHS.js +29 -0
  1411. package/dist/file-box-BlmbhP41.cjs +1 -0
  1412. package/dist/file-braces-CaHWiWPk.cjs +1 -0
  1413. package/dist/file-braces-DtAdMQfn.js +26 -0
  1414. package/dist/file-braces-corner-BQ1Bdksz.js +26 -0
  1415. package/dist/file-braces-corner-CuBqwg9I.cjs +1 -0
  1416. package/dist/file-chart-column-C9cwTmRe.js +30 -0
  1417. package/dist/file-chart-column-cq6OXAAd.cjs +1 -0
  1418. package/dist/file-chart-column-increasing-B-VHzXc0.cjs +1 -0
  1419. package/dist/file-chart-column-increasing-CIM5nRGV.js +30 -0
  1420. package/dist/file-chart-line-BVLWc9zv.js +22 -0
  1421. package/dist/file-chart-line-I7ujwlqi.cjs +1 -0
  1422. package/dist/file-chart-pie-C8x7owpJ.cjs +1 -0
  1423. package/dist/file-chart-pie-CJ8OAM1I.js +26 -0
  1424. package/dist/file-check-DsUxdU99.js +21 -0
  1425. package/dist/file-check-corner-CftGZ_0n.cjs +1 -0
  1426. package/dist/file-check-corner-DOzNvAWd.js +22 -0
  1427. package/dist/file-check-fdXU_uaj.cjs +1 -0
  1428. package/dist/file-clock-BUU32jnb.js +27 -0
  1429. package/dist/file-clock-Dle6Ck1W.cjs +1 -0
  1430. package/dist/file-code-BssuHX3o.cjs +1 -0
  1431. package/dist/file-code-DHKzXihw.js +25 -0
  1432. package/dist/file-code-corner-BS_ZMJqs.cjs +1 -0
  1433. package/dist/file-code-corner-CmFSOzkQ.js +26 -0
  1434. package/dist/file-cog-Clgv6Kvv.cjs +1 -0
  1435. package/dist/file-cog-DKqLiYeb.js +60 -0
  1436. package/dist/file-diff-BKJhg0zD.js +25 -0
  1437. package/dist/file-diff-C-M0IBUu.cjs +1 -0
  1438. package/dist/file-digit-BYM9WTOW.js +33 -0
  1439. package/dist/file-digit-DQ3Uxw8s.cjs +1 -0
  1440. package/dist/file-down-BUyX-BR6.js +25 -0
  1441. package/dist/file-down-D0kFr40W.cjs +1 -0
  1442. package/dist/file-exclamation-point-BziVUJDf.cjs +1 -0
  1443. package/dist/file-exclamation-point-DB7W3wd4.js +22 -0
  1444. package/dist/file-headphone-Dty_bK6S.cjs +1 -0
  1445. package/dist/file-headphone-Sru3k6Qr.js +22 -0
  1446. package/dist/file-heart-BEbQvrUO.js +21 -0
  1447. package/dist/file-heart-RF_aLU1F.cjs +1 -0
  1448. package/dist/file-image-l7BLfeLP.js +27 -0
  1449. package/dist/file-image-zmmifIk1.cjs +1 -0
  1450. package/dist/file-input-Bo0-e48U.cjs +1 -0
  1451. package/dist/file-input-CEgfgpaA.js +25 -0
  1452. package/dist/file-key-DWCe5PDv.cjs +1 -0
  1453. package/dist/file-key-EdiuBvsp.js +32 -0
  1454. package/dist/file-lock-BZD0bupO.js +30 -0
  1455. package/dist/file-lock-cMi4E1Bl.cjs +1 -0
  1456. package/dist/file-minus-DFcCyVM0.cjs +1 -0
  1457. package/dist/file-minus-DdkidpzG.js +21 -0
  1458. package/dist/file-minus-corner-BAtg4rgy.js +22 -0
  1459. package/dist/file-minus-corner-DLED14zl.cjs +1 -0
  1460. package/dist/file-music-D6pBBMds.js +27 -0
  1461. package/dist/file-music-DmeYarmo.cjs +1 -0
  1462. package/dist/file-output-BN1hPGxP.js +25 -0
  1463. package/dist/file-output-CHIlF_EO.cjs +1 -0
  1464. package/dist/file-pen-DtmiLSmu.js +22 -0
  1465. package/dist/file-pen-U2xFCndI.cjs +1 -0
  1466. package/dist/file-pen-line-BTyNlsHt.cjs +1 -0
  1467. package/dist/file-pen-line-DdVkBI2T.js +26 -0
  1468. package/dist/file-play-7fnPvHt1.js +22 -0
  1469. package/dist/file-play-I4gEhdt3.cjs +1 -0
  1470. package/dist/file-plus-DZsrUx7U.cjs +1 -0
  1471. package/dist/file-plus-MtRUkouu.js +25 -0
  1472. package/dist/file-plus-corner-CZnbFPcd.js +26 -0
  1473. package/dist/file-plus-corner-DGd99AGs.cjs +1 -0
  1474. package/dist/file-question-mark-CpNxjobg.cjs +1 -0
  1475. package/dist/file-question-mark-_AXBfSRG.js +22 -0
  1476. package/dist/file-scan-Dp3eyM36.cjs +1 -0
  1477. package/dist/file-scan-pVEFXUQq.js +33 -0
  1478. package/dist/file-search-B0qr2Qa4.js +27 -0
  1479. package/dist/file-search-Djb0g-8D.cjs +1 -0
  1480. package/dist/file-search-corner-BK9eGcMN.js +28 -0
  1481. package/dist/file-search-corner-wMFAW2QZ.cjs +1 -0
  1482. package/dist/file-signal-BeJy3Up2.js +30 -0
  1483. package/dist/file-signal-CysHCTVz.cjs +1 -0
  1484. package/dist/file-sliders-BiDyvv6K.js +33 -0
  1485. package/dist/file-sliders-C6vopuG4.cjs +1 -0
  1486. package/dist/file-spreadsheet-BrbSgXQy.js +33 -0
  1487. package/dist/file-spreadsheet-ZOSrRDNx.cjs +1 -0
  1488. package/dist/file-stack-CvT2wvcn.js +21 -0
  1489. package/dist/file-stack-T_SEYogu.cjs +1 -0
  1490. package/dist/file-symlink-CAEBznLc.js +21 -0
  1491. package/dist/file-symlink-D5fCb75Y.cjs +1 -0
  1492. package/dist/file-terminal-CmS-A9wj.js +25 -0
  1493. package/dist/file-terminal-DGoqAaqI.cjs +1 -0
  1494. package/dist/file-text-CDdbVr_B.js +29 -0
  1495. package/dist/file-text-DFE7E3xt.cjs +1 -0
  1496. package/dist/file-type-BAQVhd13.cjs +1 -0
  1497. package/dist/file-type-Cd8hcp9e.js +29 -0
  1498. package/dist/file-type-corner-CdmHOq0d.js +30 -0
  1499. package/dist/file-type-corner-e44zUu54.cjs +1 -0
  1500. package/dist/file-up-C2SlxnBq.js +25 -0
  1501. package/dist/file-up-CWCIYfUv.cjs +1 -0
  1502. package/dist/file-user-CVQK9BMD.js +27 -0
  1503. package/dist/file-user-SPyxbLIQ.cjs +1 -0
  1504. package/dist/file-video-camera-6ZyYrmjn.cjs +1 -0
  1505. package/dist/file-video-camera-nx0f5zES.js +30 -0
  1506. package/dist/file-volume-CZCvN_tZ.cjs +1 -0
  1507. package/dist/file-volume-NhsiqgFu.js +25 -0
  1508. package/dist/file-x-CCyp_ayh.cjs +1 -0
  1509. package/dist/file-x-DnPyvea6.js +25 -0
  1510. package/dist/file-x-corner-C0PaLb-p.cjs +1 -0
  1511. package/dist/file-x-corner-D38jERjN.js +26 -0
  1512. package/dist/fileBytes-BDKyALRi.cjs +1 -0
  1513. package/dist/fileBytes-CAHZNgJF.js +146 -0
  1514. package/dist/files-DzckgAE-.cjs +1 -0
  1515. package/dist/files-oBzK7w_w.js +21 -0
  1516. package/dist/film-Cb5WnWs8.cjs +1 -0
  1517. package/dist/film-Dww4SB55.js +45 -0
  1518. package/dist/fingerprint-pattern-CE5XOUZS.cjs +1 -0
  1519. package/dist/fingerprint-pattern-CMAF5KiZ.js +46 -0
  1520. package/dist/fire-extinguisher-DFInqMel.js +33 -0
  1521. package/dist/fire-extinguisher-wyq8WSdE.cjs +1 -0
  1522. package/dist/fish-CGuJWWXm.js +33 -0
  1523. package/dist/fish-DrwoDLzT.cjs +1 -0
  1524. package/dist/fish-off-BwRaSbfA.js +21 -0
  1525. package/dist/fish-off-RgT_EMS4.cjs +1 -0
  1526. package/dist/fish-symbol-Bm_jJLlo.cjs +1 -0
  1527. package/dist/fish-symbol-DK_WwjtA.js +11 -0
  1528. package/dist/fishing-hook-BkQ8BZGj.cjs +1 -0
  1529. package/dist/fishing-hook-DH81C50j.js +23 -0
  1530. package/dist/fishing-rod-RW3inu7a.cjs +1 -0
  1531. package/dist/fishing-rod-XWHpfuUD.js +23 -0
  1532. package/dist/flag-BlzRiSOI.js +11 -0
  1533. package/dist/flag-DeuclMjT.cjs +1 -0
  1534. package/dist/flag-off-BDrWf7qB.cjs +1 -0
  1535. package/dist/flag-off-Q9wiaZ7E.js +25 -0
  1536. package/dist/flag-triangle-left-BEOrPprF.js +11 -0
  1537. package/dist/flag-triangle-left-CIN6cwp5.cjs +1 -0
  1538. package/dist/flag-triangle-right-CmugD4Mk.cjs +1 -0
  1539. package/dist/flag-triangle-right-DxOJ2IBt.js +11 -0
  1540. package/dist/flame-Dkk4zHL4.cjs +1 -0
  1541. package/dist/flame-Hx09pAUX.js +11 -0
  1542. package/dist/flame-kindling-CUH-aFWo.cjs +1 -0
  1543. package/dist/flame-kindling-DavMz76n.js +21 -0
  1544. package/dist/flashlight-BBfrdxxb.js +21 -0
  1545. package/dist/flashlight-DBMW7lxt.cjs +1 -0
  1546. package/dist/flashlight-off-3WFbu_d3.cjs +1 -0
  1547. package/dist/flashlight-off-CYB0Fm8v.js +29 -0
  1548. package/dist/flask-conical-BFbdXq2e.js +21 -0
  1549. package/dist/flask-conical-CCoUH8R8.cjs +1 -0
  1550. package/dist/flask-conical-off-CRJxRl-r.js +33 -0
  1551. package/dist/flask-conical-off-DG5-XxRs.cjs +1 -0
  1552. package/dist/flask-round-BXFo2U5L.js +21 -0
  1553. package/dist/flask-round-BYg_yomK.cjs +1 -0
  1554. package/dist/flower-2-DFfR1LrL.js +31 -0
  1555. package/dist/flower-2-tQey8Kg4.cjs +1 -0
  1556. package/dist/flower-A6JWppjY.cjs +1 -0
  1557. package/dist/flower-CNepPTTw.js +51 -0
  1558. package/dist/focus-BDrzilE9.js +31 -0
  1559. package/dist/focus-BOn6Mc0c.cjs +1 -0
  1560. package/dist/fold-horizontal-BGYPCJQf.js +41 -0
  1561. package/dist/fold-horizontal-Sjui6G4g.cjs +1 -0
  1562. package/dist/fold-vertical-BfMmAxDN.js +41 -0
  1563. package/dist/fold-vertical-CI0i0WM-.cjs +1 -0
  1564. package/dist/folder-CNDRhC3I.cjs +1 -0
  1565. package/dist/folder-D3CeknT8.js +11 -0
  1566. package/dist/folder-archive-D4YIZ1z1.cjs +1 -0
  1567. package/dist/folder-archive-PmmSPa1b.js +27 -0
  1568. package/dist/folder-bookmark-BKHhs0Jt.js +14 -0
  1569. package/dist/folder-bookmark-BzQ8oZ6e.cjs +1 -0
  1570. package/dist/folder-check-Dc4wSvHP.js +14 -0
  1571. package/dist/folder-check-U0wbS62v.cjs +1 -0
  1572. package/dist/folder-clock-CByvxOEI.js +23 -0
  1573. package/dist/folder-clock-CaXxNF3H.cjs +1 -0
  1574. package/dist/folder-closed-DlhSsW90.js +14 -0
  1575. package/dist/folder-closed-qrk_j9TU.cjs +1 -0
  1576. package/dist/folder-code-DKM4R6dw.js +21 -0
  1577. package/dist/folder-code-DftcLUfL.cjs +1 -0
  1578. package/dist/folder-cog-BSKb3rYT.cjs +1 -0
  1579. package/dist/folder-cog-CR6U_UCW.js +52 -0
  1580. package/dist/folder-dot-CkCSUAA3.js +16 -0
  1581. package/dist/folder-dot-DQfOhE2d.cjs +1 -0
  1582. package/dist/folder-down-CR1t_Hbj.js +21 -0
  1583. package/dist/folder-down-GR_ZL6SZ.cjs +1 -0
  1584. package/dist/folder-git-2-B1mHOTXR.cjs +1 -0
  1585. package/dist/folder-git-2-CfO0UKLc.js +29 -0
  1586. package/dist/folder-git-CXion4OH.js +27 -0
  1587. package/dist/folder-git-Diq0k7cF.cjs +1 -0
  1588. package/dist/folder-heart-B0_6cbrH.cjs +1 -0
  1589. package/dist/folder-heart-DfPjnPOc.js +14 -0
  1590. package/dist/folder-input-CMrsNSqg.js +21 -0
  1591. package/dist/folder-input-CiDOyS8L.cjs +1 -0
  1592. package/dist/folder-kanban-Gr5GRoQH.js +25 -0
  1593. package/dist/folder-kanban-zCh8OGOP.cjs +1 -0
  1594. package/dist/folder-key-Cy7yH4sh.cjs +1 -0
  1595. package/dist/folder-key-DaDqLgF7.js +27 -0
  1596. package/dist/folder-lock-7gGEFK4e.js +25 -0
  1597. package/dist/folder-lock-x1F21GyR.cjs +1 -0
  1598. package/dist/folder-minus-C2hkeG0H.js +14 -0
  1599. package/dist/folder-minus-Cf1F7oSa.cjs +1 -0
  1600. package/dist/folder-open-CEFRFwzZ.js +11 -0
  1601. package/dist/folder-open-N4y2qL8w.cjs +1 -0
  1602. package/dist/folder-open-dot-Bxr65q6t.cjs +1 -0
  1603. package/dist/folder-open-dot-CN6MAz0R.js +16 -0
  1604. package/dist/folder-output-CUJ8Sz8x.js +21 -0
  1605. package/dist/folder-output-DwjfPZhz.cjs +1 -0
  1606. package/dist/folder-pen-BDpPmYLe.cjs +1 -0
  1607. package/dist/folder-pen-DZWXVKMP.js +15 -0
  1608. package/dist/folder-plus-QI3FUjV4.cjs +1 -0
  1609. package/dist/folder-plus-jlZ1phtb.js +21 -0
  1610. package/dist/folder-root-D7e9CXc6.cjs +1 -0
  1611. package/dist/folder-root-_pNJ_aHO.js +23 -0
  1612. package/dist/folder-search-2-BJ7vNTfU.js +23 -0
  1613. package/dist/folder-search-2-DGRInbui.cjs +1 -0
  1614. package/dist/folder-search-DGiHvo20.js +23 -0
  1615. package/dist/folder-search-fgqBUnao.cjs +1 -0
  1616. package/dist/folder-symlink-Dn_s1Z9-.cjs +1 -0
  1617. package/dist/folder-symlink-rUTBnf5H.js +14 -0
  1618. package/dist/folder-sync-CYXnqWNO.js +29 -0
  1619. package/dist/folder-sync-C_ZZwai2.cjs +1 -0
  1620. package/dist/folder-tree-BF-DjOzS.cjs +1 -0
  1621. package/dist/folder-tree-CHUmPbZh.js +25 -0
  1622. package/dist/folder-up-Coevc1xM.cjs +1 -0
  1623. package/dist/folder-up-Doj8nxjw.js +21 -0
  1624. package/dist/folder-x-CeVQMBrc.cjs +1 -0
  1625. package/dist/folder-x-DjkQIcV0.js +21 -0
  1626. package/dist/folders-Bg0eVV22.js +14 -0
  1627. package/dist/folders-DpalQMQH.cjs +1 -0
  1628. package/dist/footprints-B0ZA9_Zu.js +25 -0
  1629. package/dist/footprints-ykbNCatS.cjs +1 -0
  1630. package/dist/forklift-C8gpYVkr.js +41 -0
  1631. package/dist/forklift-ZIHuk-ur.cjs +1 -0
  1632. package/dist/form-B4n5Vimp.js +33 -0
  1633. package/dist/form-Ba_Fvc4P.cjs +1 -0
  1634. package/dist/forms-C2-JKVmM.js +75 -0
  1635. package/dist/forward-BrOiCAUd.cjs +1 -0
  1636. package/dist/forward-DAgQTFsI.js +14 -0
  1637. package/dist/frame-DSFsqlSO.js +37 -0
  1638. package/dist/frame-DtaPUvQA.cjs +1 -0
  1639. package/dist/fuel-DT2b8j0a.cjs +1 -0
  1640. package/dist/fuel-q5LS4sWL.js +25 -0
  1641. package/dist/fullscreen-Bn4PE1GY.js +33 -0
  1642. package/dist/fullscreen-nYWSu-dL.cjs +1 -0
  1643. package/dist/funnel-CO4A0d_G.js +12 -0
  1644. package/dist/funnel-DJwekyYn.cjs +1 -0
  1645. package/dist/funnel-plus-DYaXlcpe.cjs +1 -0
  1646. package/dist/funnel-plus-j088fhfp.js +21 -0
  1647. package/dist/funnel-x-BHAkZY2e.js +22 -0
  1648. package/dist/funnel-x-CyLNkWwX.cjs +1 -0
  1649. package/dist/galaxy-9dWRB2c4.cjs +1 -0
  1650. package/dist/galaxy-CuqHq8s-.js +32 -0
  1651. package/dist/gallery-horizontal-Bs6pKy_Z.cjs +1 -0
  1652. package/dist/gallery-horizontal-Czdvd_Ab.js +25 -0
  1653. package/dist/gallery-horizontal-end-CfRmWnYU.cjs +1 -0
  1654. package/dist/gallery-horizontal-end-cgs5YzVy.js +25 -0
  1655. package/dist/gallery-thumbnails-D3wrCmU3.cjs +1 -0
  1656. package/dist/gallery-thumbnails-DSfGJGTR.js +33 -0
  1657. package/dist/gallery-vertical-Bletv7RQ.js +25 -0
  1658. package/dist/gallery-vertical-CvrS84bi.cjs +1 -0
  1659. package/dist/gallery-vertical-end-6dngBhIb.js +25 -0
  1660. package/dist/gallery-vertical-end-DIoplsy0.cjs +1 -0
  1661. package/dist/gamepad-2-D2vDG4Oh.js +41 -0
  1662. package/dist/gamepad-2-Dj0yWRk-.cjs +1 -0
  1663. package/dist/gamepad-DM6CFmjN.js +45 -0
  1664. package/dist/gamepad-DmNPlqzO.cjs +1 -0
  1665. package/dist/gamepad-directional-B0pqk_qi.js +25 -0
  1666. package/dist/gamepad-directional-C6SqJiBT.cjs +1 -0
  1667. package/dist/gap-horizontal-BgW2JmbB.js +33 -0
  1668. package/dist/gap-horizontal-CHCtaGsO.cjs +1 -0
  1669. package/dist/gap-vertical-CPQh2mf1.js +33 -0
  1670. package/dist/gap-vertical-DYaHuEaz.cjs +1 -0
  1671. package/dist/gauge-B47gBbvn.js +14 -0
  1672. package/dist/gauge-CD4o4MO4.cjs +1 -0
  1673. package/dist/gavel-BK77qzL3.js +29 -0
  1674. package/dist/gavel-DJwY3Ps_.cjs +1 -0
  1675. package/dist/gem-B-_YTGyh.cjs +1 -0
  1676. package/dist/gem-makIJOAm.js +21 -0
  1677. package/dist/georgian-lari-Bb0Kr0uS.js +25 -0
  1678. package/dist/georgian-lari-vrd43rXJ.cjs +1 -0
  1679. package/dist/germ-B47Ykxnz.js +59 -0
  1680. package/dist/germ-DWaHO7Ax.cjs +1 -0
  1681. package/dist/germ-off-B-r2Z8SS.js +61 -0
  1682. package/dist/germ-off-BwXtsiM4.cjs +1 -0
  1683. package/dist/ghost-CcI3KsCa.js +21 -0
  1684. package/dist/ghost-mqaryK41.cjs +1 -0
  1685. package/dist/gift-D62BE-xt.js +29 -0
  1686. package/dist/gift-rsJo7HZJ.cjs +1 -0
  1687. package/dist/git-branch-CsNF5D_G.cjs +1 -0
  1688. package/dist/git-branch-DY2xuXu5.js +25 -0
  1689. package/dist/git-branch-minus-BO_YDg1T.js +29 -0
  1690. package/dist/git-branch-minus-BXWt412S.cjs +1 -0
  1691. package/dist/git-branch-plus-fRY_KPlJ.cjs +1 -0
  1692. package/dist/git-branch-plus-hZfcKXGh.js +33 -0
  1693. package/dist/git-commit-horizontal-Cg1AlBkC.js +30 -0
  1694. package/dist/git-commit-horizontal-DMhU3D5M.cjs +1 -0
  1695. package/dist/git-commit-vertical-D4GdTitg.cjs +1 -0
  1696. package/dist/git-commit-vertical-QayPC5-d.js +23 -0
  1697. package/dist/git-compare-BvXPoqU4.js +29 -0
  1698. package/dist/git-compare-QWNjLB-q.cjs +1 -0
  1699. package/dist/git-compare-arrows-BcVvNOuP.js +37 -0
  1700. package/dist/git-compare-arrows-DlJCzv_Z.cjs +1 -0
  1701. package/dist/git-fork-BXpY0YQD.js +35 -0
  1702. package/dist/git-fork-Cccc1uhW.cjs +1 -0
  1703. package/dist/git-graph-B8rp6cQJ.js +39 -0
  1704. package/dist/git-graph-ZcypMExZ.cjs +1 -0
  1705. package/dist/git-merge-BDzXZwd5.js +25 -0
  1706. package/dist/git-merge-BiJ46Cm2.cjs +1 -0
  1707. package/dist/git-merge-conflict-COuptHrq.js +31 -0
  1708. package/dist/git-merge-conflict-Cu4fl4Gx.cjs +1 -0
  1709. package/dist/git-pull-request-CLUObeLs.js +32 -0
  1710. package/dist/git-pull-request-DUMsVo56.cjs +1 -0
  1711. package/dist/git-pull-request-arrow-Cbi4ETPp.cjs +1 -0
  1712. package/dist/git-pull-request-arrow-DxohfbF0.js +33 -0
  1713. package/dist/git-pull-request-closed-CIo-Exfg.cjs +1 -0
  1714. package/dist/git-pull-request-closed-DA0F8Qg7.js +37 -0
  1715. package/dist/git-pull-request-create-B4-Fq6x4.js +31 -0
  1716. package/dist/git-pull-request-create-CKAlmz1s.cjs +1 -0
  1717. package/dist/git-pull-request-create-arrow-C0gMG1p1.cjs +1 -0
  1718. package/dist/git-pull-request-create-arrow-DjJVvpcD.js +35 -0
  1719. package/dist/git-pull-request-draft-CB80qQHA.cjs +1 -0
  1720. package/dist/git-pull-request-draft-CVstGgDt.js +36 -0
  1721. package/dist/glass-water-D1n6IsqC.js +14 -0
  1722. package/dist/glass-water-OCsdlA1y.cjs +1 -0
  1723. package/dist/glasses-B3zMxhyc.cjs +1 -0
  1724. package/dist/glasses-C1X-w6L3.js +33 -0
  1725. package/dist/globe-BhkhPUmi.js +23 -0
  1726. package/dist/globe-check-DXzjN_2W.cjs +1 -0
  1727. package/dist/globe-check-DY6qjQvn.js +14 -0
  1728. package/dist/globe-code-BabPxpDw.js +25 -0
  1729. package/dist/globe-code-ORt1nchD.cjs +1 -0
  1730. package/dist/globe-lock-CzacoFnq.js +29 -0
  1731. package/dist/globe-lock-bQKgZJyZ.cjs +1 -0
  1732. package/dist/globe-off-DloLutf-.cjs +1 -0
  1733. package/dist/globe-off-Dp75EWmR.js +37 -0
  1734. package/dist/globe-x-Buv_xF1Y.cjs +1 -0
  1735. package/dist/globe-x-DeWTsnYx.js +21 -0
  1736. package/dist/globe-z_G_EF3L.cjs +1 -0
  1737. package/dist/goal-B-I6wnM-.js +21 -0
  1738. package/dist/goal-qLsOxWAV.cjs +1 -0
  1739. package/dist/gpu-7Oz0xk3O.cjs +1 -0
  1740. package/dist/gpu-DkIBkIV3.js +33 -0
  1741. package/dist/graduation-cap-FvGshm5j.cjs +1 -0
  1742. package/dist/graduation-cap-I2kR8BUw.js +21 -0
  1743. package/dist/grape-DyVdQ4DX.cjs +1 -0
  1744. package/dist/grape-zd-xNeAf.js +61 -0
  1745. package/dist/grid-2x2-D-FRgM6N.cjs +1 -0
  1746. package/dist/grid-2x2-DFmjVxg3.js +26 -0
  1747. package/dist/grid-2x2-check-BkwPGUN2.cjs +1 -0
  1748. package/dist/grid-2x2-check-ChGZjZzx.js +15 -0
  1749. package/dist/grid-2x2-plus-Cqv2A1v_.cjs +1 -0
  1750. package/dist/grid-2x2-plus-DX3jvs-T.js +22 -0
  1751. package/dist/grid-2x2-x-CUszPiGV.js +22 -0
  1752. package/dist/grid-2x2-x-DxaFLgAQ.cjs +1 -0
  1753. package/dist/grid-3x2-BEHUouzz.cjs +1 -0
  1754. package/dist/grid-3x2-C6eNA-NV.js +29 -0
  1755. package/dist/grid-3x3-CXOq_LIu.js +34 -0
  1756. package/dist/grid-3x3-DH9JdtNp.cjs +1 -0
  1757. package/dist/grip-6d3YzJBu.cjs +1 -0
  1758. package/dist/grip-D1WTEtgS.js +63 -0
  1759. package/dist/grip-horizontal-BeePRvLl.cjs +1 -0
  1760. package/dist/grip-horizontal-D-A2ncyK.js +45 -0
  1761. package/dist/grip-vertical-BaHYfSic.js +45 -0
  1762. package/dist/grip-vertical-DFzO24Cz.cjs +1 -0
  1763. package/dist/group-B42u-DWR.js +41 -0
  1764. package/dist/group-DafDfvSP.cjs +1 -0
  1765. package/dist/guitar-Cv0iRCIF.js +25 -0
  1766. package/dist/guitar-Vgb_Y3Te.cjs +1 -0
  1767. package/dist/ham-1dYC45cl.cjs +1 -0
  1768. package/dist/ham-CPrb1NMo.js +25 -0
  1769. package/dist/hamburger-DoehiHDW.cjs +1 -0
  1770. package/dist/hamburger-z6YK7Yz7.js +25 -0
  1771. package/dist/hammer-6ue6Nwsp.js +21 -0
  1772. package/dist/hammer-Ci5bjqv9.cjs +1 -0
  1773. package/dist/hand-2apiqwwv.js +25 -0
  1774. package/dist/hand-CC8G-MOk.cjs +1 -0
  1775. package/dist/hand-coins-CNVZSJbj.js +33 -0
  1776. package/dist/hand-coins-eEjQ4pyL.cjs +1 -0
  1777. package/dist/hand-fist-D0f-zICA.cjs +1 -0
  1778. package/dist/hand-fist-Db2zcDIp.js +25 -0
  1779. package/dist/hand-grab-Bavwb8BF.cjs +1 -0
  1780. package/dist/hand-grab-CDW7YcZA.js +30 -0
  1781. package/dist/hand-heart-C--fmQBD.cjs +1 -0
  1782. package/dist/hand-heart-DBV_Mmzn.js +25 -0
  1783. package/dist/hand-helping-BlHUZJix.cjs +1 -0
  1784. package/dist/hand-helping-zsYHJWdm.js +22 -0
  1785. package/dist/hand-metal-D_ojGFlA.js +25 -0
  1786. package/dist/hand-metal-a-RHGeXU.cjs +1 -0
  1787. package/dist/hand-platter-B747q077.js +33 -0
  1788. package/dist/hand-platter-CUDYkMXA.cjs +1 -0
  1789. package/dist/handbag-BCasi-Ri.cjs +1 -0
  1790. package/dist/handbag-DhzPwtdP.js +14 -0
  1791. package/dist/handshake-BY8YldvQ.cjs +1 -0
  1792. package/dist/handshake-wd3XdBNB.js +29 -0
  1793. package/dist/hard-drive-AReXRx0Z.js +25 -0
  1794. package/dist/hard-drive-COYz9vAr.cjs +1 -0
  1795. package/dist/hard-drive-download-CZoz7tYR.js +33 -0
  1796. package/dist/hard-drive-download-kG3IYlOx.cjs +1 -0
  1797. package/dist/hard-drive-upload-DUfby15_.cjs +1 -0
  1798. package/dist/hard-drive-upload-efNc4KCy.js +33 -0
  1799. package/dist/hard-hat-CJWYrfqK.cjs +1 -0
  1800. package/dist/hard-hat-DvVQ7cWB.js +29 -0
  1801. package/dist/hash-BMWkNiHK.js +37 -0
  1802. package/dist/hash-CR80WAH6.cjs +1 -0
  1803. package/dist/hat-glasses-3pvuIK__.js +33 -0
  1804. package/dist/hat-glasses-DtnvEd_b.cjs +1 -0
  1805. package/dist/haze-BLvl0AZ2.cjs +1 -0
  1806. package/dist/haze-DUss1Bmz.js +41 -0
  1807. package/dist/hd-BvK4F-TY.js +33 -0
  1808. package/dist/hd-fQ50Tgsc.cjs +1 -0
  1809. package/dist/hdmi-port-Bt-KN25o.js +14 -0
  1810. package/dist/hdmi-port-Cb86G3S3.cjs +1 -0
  1811. package/dist/heading-1-CcxUuKA4.cjs +1 -0
  1812. package/dist/heading-1-Dt_z3dGc.js +25 -0
  1813. package/dist/heading-2-B0ujxdmb.cjs +1 -0
  1814. package/dist/heading-2-CXqpNdtc.js +25 -0
  1815. package/dist/heading-3-BNyIw4d0.cjs +1 -0
  1816. package/dist/heading-3-Du_Ofu4a.js +29 -0
  1817. package/dist/heading-4-3aOeBAbU.js +29 -0
  1818. package/dist/heading-4-YYRgYDGR.cjs +1 -0
  1819. package/dist/heading-5-BwCeH8tg.js +29 -0
  1820. package/dist/heading-5-CqJWuM2f.cjs +1 -0
  1821. package/dist/heading-6-Bbseyz50.cjs +1 -0
  1822. package/dist/heading-6-C9F-2CCW.js +31 -0
  1823. package/dist/heading-D6uz_imW.js +21 -0
  1824. package/dist/heading-Qxiim0p-.cjs +1 -0
  1825. package/dist/headphone-off-B88fNQBx.cjs +1 -0
  1826. package/dist/headphone-off-DoeLxQX_.js +29 -0
  1827. package/dist/headphones-D-7hBm8o.cjs +1 -0
  1828. package/dist/headphones-DrQ2zpzu.js +11 -0
  1829. package/dist/headset-CdvM_3HB.js +14 -0
  1830. package/dist/headset-CvS7UE1n.cjs +1 -0
  1831. package/dist/heart-DS0vgFZ9.cjs +1 -0
  1832. package/dist/heart-NN3Hw8Hs.js +11 -0
  1833. package/dist/heart-crack-B7UxZIaq.cjs +1 -0
  1834. package/dist/heart-crack-CR2kL7T4.js +14 -0
  1835. package/dist/heart-handshake-BJJ-VqZ4.js +11 -0
  1836. package/dist/heart-handshake-C7OfA0at.cjs +1 -0
  1837. package/dist/heart-minus-Bw7W--Dp.js +14 -0
  1838. package/dist/heart-minus-nM3w40fF.cjs +1 -0
  1839. package/dist/heart-off-Cm8uFVZX.cjs +1 -0
  1840. package/dist/heart-off-Cyot4S0W.js +21 -0
  1841. package/dist/heart-plus-BlYQGODh.js +21 -0
  1842. package/dist/heart-plus-CmBV1-HR.cjs +1 -0
  1843. package/dist/heart-pulse-BsojJSex.cjs +1 -0
  1844. package/dist/heart-pulse-CrXpvjpp.js +14 -0
  1845. package/dist/heart-x-Bbj29ZOy.cjs +1 -0
  1846. package/dist/heart-x-CPU7EvDG.js +21 -0
  1847. package/dist/heater-CGY7SdlS.js +49 -0
  1848. package/dist/heater-DtF82k3B.cjs +1 -0
  1849. package/dist/helicopter-CxRp_Y1o.js +41 -0
  1850. package/dist/helicopter-De_aZ91W.cjs +1 -0
  1851. package/dist/hexagon-DfE6kIFR.js +11 -0
  1852. package/dist/hexagon-DynYhrfe.cjs +1 -0
  1853. package/dist/highlighter-CXbUjUXu.js +14 -0
  1854. package/dist/highlighter-YL5cnGYO.cjs +1 -0
  1855. package/dist/hop-C4ksaaEK.js +41 -0
  1856. package/dist/hop-CzcXOIYF.cjs +1 -0
  1857. package/dist/hop-off-BiY3j1t5.js +45 -0
  1858. package/dist/hop-off-DOF7ChLB.cjs +1 -0
  1859. package/dist/hospital-CZ9s9sK4.js +29 -0
  1860. package/dist/hospital-D5uwsd2i.cjs +1 -0
  1861. package/dist/hotel-Boyz_0qF.js +53 -0
  1862. package/dist/hotel-DgI1xDH1.cjs +1 -0
  1863. package/dist/hourglass-BCkQjkKd.js +25 -0
  1864. package/dist/hourglass-Dn4_0mq4.cjs +1 -0
  1865. package/dist/hourglass-cog-CRHbzQvl.js +63 -0
  1866. package/dist/hourglass-cog-CU9PzmnW.cjs +1 -0
  1867. package/dist/house-5azmILAz.js +15 -0
  1868. package/dist/house-DS7N2E3n.cjs +1 -0
  1869. package/dist/house-heart-Bshmq1uR.js +14 -0
  1870. package/dist/house-heart-ClBivuhN.cjs +1 -0
  1871. package/dist/house-plug-DVJ9EYD1.cjs +1 -0
  1872. package/dist/house-plug-WkaikHB_.js +25 -0
  1873. package/dist/house-plus-C5E33Ksg.js +25 -0
  1874. package/dist/house-plus-D2uSG5L7.cjs +1 -0
  1875. package/dist/house-wifi-CZuWigPT.cjs +1 -0
  1876. package/dist/house-wifi-TIy4-zyP.js +25 -0
  1877. package/dist/houses-BKWWJFNc.js +21 -0
  1878. package/dist/houses-BKjZGcn9.cjs +1 -0
  1879. package/dist/ice-cream-bowl-D6pZeHPA.cjs +1 -0
  1880. package/dist/ice-cream-bowl-DlwD1xH4.js +22 -0
  1881. package/dist/ice-cream-cone-Cztjsoin.cjs +1 -0
  1882. package/dist/ice-cream-cone-DeqXIwEv.js +22 -0
  1883. package/dist/iconLoaders-CPvXs8Nr.js +1853 -0
  1884. package/dist/iconLoaders-Q5A1B4F3.cjs +1 -0
  1885. package/dist/iconNames-DEdRA_U7.cjs +2115 -0
  1886. package/dist/iconNames-UjytS1Xp.js +4 -0
  1887. package/dist/id-card-BGM3Lcwh.js +35 -0
  1888. package/dist/id-card-DyEyxC27.cjs +1 -0
  1889. package/dist/id-card-lanyard-B-A9Kp1Q.cjs +1 -0
  1890. package/dist/id-card-lanyard-BX9oeQcz.js +31 -0
  1891. package/dist/image-D-RsNjuN.js +28 -0
  1892. package/dist/image-EJte0FeU.cjs +1 -0
  1893. package/dist/image-down-BP7A0n3v.cjs +1 -0
  1894. package/dist/image-down-BcMkxG3A.js +27 -0
  1895. package/dist/image-minus-CEr49LJd.js +30 -0
  1896. package/dist/image-minus-CzRPW0Tl.cjs +1 -0
  1897. package/dist/image-off-BEO2OFet.cjs +1 -0
  1898. package/dist/image-off-CdySht5G.js +42 -0
  1899. package/dist/image-play-CzfBm9cq.cjs +1 -0
  1900. package/dist/image-play-mA6G87lM.js +27 -0
  1901. package/dist/image-plus-DU13hlkl.cjs +1 -0
  1902. package/dist/image-plus-sga6dNL2.js +31 -0
  1903. package/dist/image-up-9Y1QxkAc.js +27 -0
  1904. package/dist/image-up-DdTKB4ZI.cjs +1 -0
  1905. package/dist/image-upscale-BBT57iA7.js +45 -0
  1906. package/dist/image-upscale-DMZ7tC0e.cjs +1 -0
  1907. package/dist/images-C9V3uuj-.js +32 -0
  1908. package/dist/images-LT318Za7.cjs +1 -0
  1909. package/dist/import-CStniXYV.js +21 -0
  1910. package/dist/import-Nu94mznj.cjs +1 -0
  1911. package/dist/inbox-C3zBeV6a.js +14 -0
  1912. package/dist/inbox-krIFe31p.cjs +1 -0
  1913. package/dist/indian-rupee-Bonp9ZaU.js +29 -0
  1914. package/dist/indian-rupee-CuRHXm43.cjs +1 -0
  1915. package/dist/infinity-1G9rsoIY.cjs +1 -0
  1916. package/dist/infinity-BFbwp6Wf.js +11 -0
  1917. package/dist/info-BoJKxZAW.js +23 -0
  1918. package/dist/info-DksnSKQQ.cjs +1 -0
  1919. package/dist/inspection-panel-CH_wxUCN.cjs +1 -0
  1920. package/dist/inspection-panel-tvkeJgmz.js +33 -0
  1921. package/dist/italic-BLR1t6W7.js +30 -0
  1922. package/dist/italic-_TitGqXI.cjs +1 -0
  1923. package/dist/iteration-ccw-CRCxbtvX.js +14 -0
  1924. package/dist/iteration-ccw-DvhN4tld.cjs +1 -0
  1925. package/dist/iteration-cw-CU8rRAJr.js +14 -0
  1926. package/dist/iteration-cw-DUlTWo0Q.cjs +1 -0
  1927. package/dist/iv-bag-Bolhn-Co.cjs +1 -0
  1928. package/dist/iv-bag-ChQDMy4g.js +21 -0
  1929. package/dist/japanese-yen-ColaaahA.cjs +1 -0
  1930. package/dist/japanese-yen-Dhk4-3e2.js +21 -0
  1931. package/dist/joystick-B_G72oQ5.cjs +1 -0
  1932. package/dist/joystick-D-FWFyX4.js +27 -0
  1933. package/dist/kanban-42qa7HXO.js +21 -0
  1934. package/dist/kanban-D_GKgKVA.cjs +1 -0
  1935. package/dist/kayak-C86quHIR.cjs +1 -0
  1936. package/dist/kayak-CQl2kXkl.js +25 -0
  1937. package/dist/key-kJbHkRtJ.cjs +1 -0
  1938. package/dist/key-round-B8oq1Xfl.js +17 -0
  1939. package/dist/key-round-PWLzIw0a.cjs +1 -0
  1940. package/dist/key-square-CSYCIynQ.cjs +1 -0
  1941. package/dist/key-square-W4WNgFjq.js +21 -0
  1942. package/dist/key-yXGTEDL1.js +23 -0
  1943. package/dist/keyboard-C0g8n-9k.js +49 -0
  1944. package/dist/keyboard-D3svPxDE.cjs +1 -0
  1945. package/dist/keyboard-music-Cl7spOYf.cjs +1 -0
  1946. package/dist/keyboard-music-CxEjaheI.js +49 -0
  1947. package/dist/keyboard-off-Of8KmSFk.cjs +1 -0
  1948. package/dist/keyboard-off-eG7rltQc.js +49 -0
  1949. package/dist/lambda-BE45OkbW.cjs +1 -0
  1950. package/dist/lambda-CqjRWI78.js +14 -0
  1951. package/dist/lamp-BheYdyL7.js +21 -0
  1952. package/dist/lamp-KswcbH5c.cjs +1 -0
  1953. package/dist/lamp-ceiling-B3GMptf9.cjs +1 -0
  1954. package/dist/lamp-ceiling-U_T1rZYP.js +21 -0
  1955. package/dist/lamp-desk-CMBtRwDp.cjs +1 -0
  1956. package/dist/lamp-desk-Cw8B7O0R.js +25 -0
  1957. package/dist/lamp-floor-BZuoIAok.js +21 -0
  1958. package/dist/lamp-floor-CQUgruZI.cjs +1 -0
  1959. package/dist/lamp-wall-down-BP8dBdaI.cjs +1 -0
  1960. package/dist/lamp-wall-down-XD74V2sm.js +21 -0
  1961. package/dist/lamp-wall-up-IyBijaLC.cjs +1 -0
  1962. package/dist/lamp-wall-up-kCNmHrfy.js +21 -0
  1963. package/dist/land-plot-BptuJAoj.js +25 -0
  1964. package/dist/land-plot-DlkIeWx5.cjs +1 -0
  1965. package/dist/landmark-CUpmUz1B.cjs +1 -0
  1966. package/dist/landmark-CX7_yh0R.js +33 -0
  1967. package/dist/languages-BoXr7qqK.js +33 -0
  1968. package/dist/languages-DhOyvlyr.cjs +1 -0
  1969. package/dist/laptop-BtE3OqIp.js +14 -0
  1970. package/dist/laptop-dfGhS5WC.cjs +1 -0
  1971. package/dist/laptop-minimal-DD9xLG29.cjs +1 -0
  1972. package/dist/laptop-minimal-DpTlaRia.js +23 -0
  1973. package/dist/laptop-minimal-check-C6ZkWpLh.cjs +1 -0
  1974. package/dist/laptop-minimal-check-zzxIziM5.js +25 -0
  1975. package/dist/lasso-DGHwErD7.cjs +1 -0
  1976. package/dist/lasso-DzDBZC0D.js +23 -0
  1977. package/dist/lasso-select-2ivu3wKy.js +29 -0
  1978. package/dist/lasso-select-5MoFKHb4.cjs +1 -0
  1979. package/dist/layer-arrow-down-6NgNw-wH.js +25 -0
  1980. package/dist/layer-arrow-down-WGgtFz8m.cjs +1 -0
  1981. package/dist/layer-arrow-up-B-l7LzKS.cjs +1 -0
  1982. package/dist/layer-arrow-up-B0MvYUXs.js +21 -0
  1983. package/dist/layers-2-B7z-jiML.cjs +1 -0
  1984. package/dist/layers-2-DSyL3Zsr.js +14 -0
  1985. package/dist/layers-D6p2zXe-.js +22 -0
  1986. package/dist/layers-DfCB2x9B.cjs +1 -0
  1987. package/dist/layers-arrow-down-BFX_769J.cjs +1 -0
  1988. package/dist/layers-arrow-down-BhPpKMzF.js +29 -0
  1989. package/dist/layers-arrow-up-BQgY87fF.js +25 -0
  1990. package/dist/layers-arrow-up-Btu2yriM.cjs +1 -0
  1991. package/dist/layers-minus-CH8iSuuh.js +29 -0
  1992. package/dist/layers-minus-xPwTVfOE.cjs +1 -0
  1993. package/dist/layers-plus-a3gb8M4s.cjs +1 -0
  1994. package/dist/layers-plus-r8fscLSq.js +29 -0
  1995. package/dist/layout-arrow-down-BdJ6dZr5.js +33 -0
  1996. package/dist/layout-arrow-down-CMq_eRVD.cjs +1 -0
  1997. package/dist/layout-arrow-right-B-agfMFP.cjs +1 -0
  1998. package/dist/layout-arrow-right-BL_YoqLS.js +33 -0
  1999. package/dist/layout-dashboard-De-6Xmum.js +41 -0
  2000. package/dist/layout-dashboard-WZjZGr-u.cjs +1 -0
  2001. package/dist/layout-freeform-Db5ggiI1.js +33 -0
  2002. package/dist/layout-freeform-q2XLYNP5.cjs +1 -0
  2003. package/dist/layout-grid-9Dh_9S4u.js +41 -0
  2004. package/dist/layout-grid-CUNBiG6W.cjs +1 -0
  2005. package/dist/layout-list-BAiKTyz_.cjs +1 -0
  2006. package/dist/layout-list-Cc7YsmmV.js +41 -0
  2007. package/dist/layout-panel-left-BwNEBXfz.cjs +1 -0
  2008. package/dist/layout-panel-left-CqEtUnP_.js +33 -0
  2009. package/dist/layout-panel-top-D-xcO-lC.cjs +1 -0
  2010. package/dist/layout-panel-top-DXuwWMwK.js +33 -0
  2011. package/dist/layout-template-Dtymndmk.cjs +1 -0
  2012. package/dist/layout-template-ltL4YVv3.js +33 -0
  2013. package/dist/leaf-CmKeHW6r.js +14 -0
  2014. package/dist/leaf-yr_2cT54.cjs +1 -0
  2015. package/dist/leafy-green-BeO5RjPs.cjs +1 -0
  2016. package/dist/leafy-green-CYT5cxpg.js +14 -0
  2017. package/dist/lectern-BqrgZv7o.cjs +1 -0
  2018. package/dist/lectern-ByWTakSj.js +25 -0
  2019. package/dist/lens-concave-D7RULwgu.cjs +1 -0
  2020. package/dist/lens-concave-NNbNgoTp.js +11 -0
  2021. package/dist/lens-convex-CPBHwMfR.js +11 -0
  2022. package/dist/lens-convex-DG4Wb0zd.cjs +1 -0
  2023. package/dist/lib/ConfigContext.d.ts +20 -1
  2024. package/dist/lib/access.d.ts +16 -3
  2025. package/dist/lib/accountCurrency.d.ts +49 -0
  2026. package/dist/lib/bookingHold.d.ts +99 -0
  2027. package/dist/lib/bookingPrice.d.ts +22 -0
  2028. package/dist/lib/bookingReturn.d.ts +84 -0
  2029. package/dist/lib/bookingState.d.ts +21 -0
  2030. package/dist/lib/contentFallback.d.ts +12 -0
  2031. package/dist/lib/customPayments.d.ts +15 -2
  2032. package/dist/lib/email.d.ts +2 -2
  2033. package/dist/lib/iconLoaders.d.ts +35 -0
  2034. package/dist/lib/iconNames.d.ts +14 -0
  2035. package/dist/lib/iconSearch.d.ts +4 -4
  2036. package/dist/lib/lazyChunk.d.ts +10 -0
  2037. package/dist/lib/menuIcon.d.ts +38 -1
  2038. package/dist/lib/money.d.ts +6 -3
  2039. package/dist/lib/orderEntry.d.ts +8 -0
  2040. package/dist/lib/ownFiles.d.ts +116 -0
  2041. package/dist/lib/paidSessions.d.ts +38 -0
  2042. package/dist/lib/paymentProducts.d.ts +17 -1
  2043. package/dist/lib/payments.d.ts +47 -9
  2044. package/dist/lib/pictureLine.d.ts +56 -0
  2045. package/dist/lib/planRoles.d.ts +5 -1
  2046. package/dist/lib/plans.d.ts +9 -1
  2047. package/dist/lib/publicCopy.d.ts +15 -1
  2048. package/dist/lib/recordArgs.d.ts +12 -0
  2049. package/dist/lib/registrationFields.d.ts +13 -1
  2050. package/dist/lib/schedule.d.ts +60 -5
  2051. package/dist/lib/scheduleData.d.ts +42 -1
  2052. package/dist/lib/sentInPlace.d.ts +30 -0
  2053. package/dist/lib/stock.d.ts +23 -2
  2054. package/dist/lib/trouble.d.ts +14 -1
  2055. package/dist/lib/videos.d.ts +51 -0
  2056. package/dist/library-Bo2Vh8Jv.cjs +1 -0
  2057. package/dist/library-big-BJ3Yi1O3.cjs +1 -0
  2058. package/dist/library-big-BfC8E2p_.js +25 -0
  2059. package/dist/library-oxAMMg_z.js +25 -0
  2060. package/dist/life-buoy-DpMJrwKO.cjs +1 -0
  2061. package/dist/life-buoy-MF8fyRly.js +37 -0
  2062. package/dist/ligature-BV0q884W.cjs +1 -0
  2063. package/dist/ligature-DKuhrt_P.js +29 -0
  2064. package/dist/lightbulb-B5CG0hUS.cjs +1 -0
  2065. package/dist/lightbulb-DCmSF3ZL.js +21 -0
  2066. package/dist/lightbulb-off-BMi7m6oH.js +29 -0
  2067. package/dist/lightbulb-off-DATx8jXP.cjs +1 -0
  2068. package/dist/lighthouse-DIP-iXtm.cjs +1 -0
  2069. package/dist/lighthouse-DK4rUBJN.js +57 -0
  2070. package/dist/line-dot-right-horizontal-BRIUfpKU.js +16 -0
  2071. package/dist/line-dot-right-horizontal-DzT82CyN.cjs +1 -0
  2072. package/dist/line-squiggle-BeCa7tQV.js +11 -0
  2073. package/dist/line-squiggle-D3zhgWAt.cjs +1 -0
  2074. package/dist/line-style-BSQw0Mpv.cjs +1 -0
  2075. package/dist/line-style-CCSVLAci.js +33 -0
  2076. package/dist/link-2-BNbnZssn.cjs +1 -0
  2077. package/dist/link-2-C7A-6PW6.cjs +1 -0
  2078. package/dist/link-2-CtDUJiNU.js +27 -0
  2079. package/dist/link-2-D_UiSLl2.js +24 -0
  2080. package/dist/link-2-off-ChV-PFGq.js +31 -0
  2081. package/dist/link-2-off-DhwQCJar.cjs +1 -0
  2082. package/dist/link-XlwdaH5o.js +14 -0
  2083. package/dist/link-pk14FEHO.cjs +1 -0
  2084. package/dist/list-C2CIT9zh.cjs +1 -0
  2085. package/dist/list-DnfKqvub.js +33 -0
  2086. package/dist/list-check-49d7ip1I.cjs +1 -0
  2087. package/dist/list-check-DtaM-JLk.js +25 -0
  2088. package/dist/list-checks-BUH3iKuO.cjs +1 -0
  2089. package/dist/list-checks-DI7gpdn9.js +29 -0
  2090. package/dist/list-chevrons-down-up-CyjLrdDf.cjs +1 -0
  2091. package/dist/list-chevrons-down-up-DdE-AwOt.js +29 -0
  2092. package/dist/list-chevrons-up-down-0aU15D-F.cjs +1 -0
  2093. package/dist/list-chevrons-up-down-CpTRtWfl.js +29 -0
  2094. package/dist/list-clock-3ftJhhKD.cjs +1 -0
  2095. package/dist/list-clock-Bt31-1AP.js +31 -0
  2096. package/dist/list-collapse-BX1f7rSe.js +29 -0
  2097. package/dist/list-collapse-l_-Dv6of.cjs +1 -0
  2098. package/dist/list-end-D5G3jKL2.js +29 -0
  2099. package/dist/list-end-DMUtrf3T.cjs +1 -0
  2100. package/dist/list-filter-CPR-gs50.cjs +1 -0
  2101. package/dist/list-filter-Dhq-Jj8E.js +21 -0
  2102. package/dist/list-filter-plus-ByfBp4pC.js +29 -0
  2103. package/dist/list-filter-plus-Bzn_vE_5.cjs +1 -0
  2104. package/dist/list-indent-decrease-BI6fB9QI.cjs +1 -0
  2105. package/dist/list-indent-decrease-DeCk1hkJ.js +26 -0
  2106. package/dist/list-indent-increase-BEVIIIet.cjs +1 -0
  2107. package/dist/list-indent-increase-DOD5t5y1.js +26 -0
  2108. package/dist/list-minus-BL-JoMUi.js +25 -0
  2109. package/dist/list-minus-CKPWqopA.cjs +1 -0
  2110. package/dist/list-music-CSi1yNVl.js +31 -0
  2111. package/dist/list-music-xwn5GCVQ.cjs +1 -0
  2112. package/dist/list-ordered-BHsHSwoV.cjs +1 -0
  2113. package/dist/list-ordered-CgZpJCY5.js +33 -0
  2114. package/dist/list-plus-CUXQY7qg.cjs +1 -0
  2115. package/dist/list-plus-ClWccUnm.js +29 -0
  2116. package/dist/list-restart-8meKUfuv.js +29 -0
  2117. package/dist/list-restart-wxxDBIG1.cjs +1 -0
  2118. package/dist/list-sort-ascending--o4RVowP.cjs +1 -0
  2119. package/dist/list-sort-ascending-Jg29bJ7w.js +21 -0
  2120. package/dist/list-sort-descending-Di7yadqP.js +21 -0
  2121. package/dist/list-sort-descending-DuVfYia3.cjs +1 -0
  2122. package/dist/list-start-BNeGy0Db.js +29 -0
  2123. package/dist/list-start-gTO_hmS2.cjs +1 -0
  2124. package/dist/list-todo-BdE5a_g1.cjs +1 -0
  2125. package/dist/list-todo-D0YhEHEq.js +33 -0
  2126. package/dist/list-tree-CduXqWHm.js +29 -0
  2127. package/dist/list-tree-Cz4gO-_a.cjs +1 -0
  2128. package/dist/list-video-BOipXXXg.js +25 -0
  2129. package/dist/list-video-BtbrssP1.cjs +1 -0
  2130. package/dist/list-x-BMb3qz6U.cjs +1 -0
  2131. package/dist/list-x-Cf3Z23rO.js +29 -0
  2132. package/dist/loader-AfvOzIE3.cjs +1 -0
  2133. package/dist/loader-SwIB3UIv.js +41 -0
  2134. package/dist/loader-circle-CPJpRvTj.js +12 -0
  2135. package/dist/loader-circle-nx0dDJN1.cjs +1 -0
  2136. package/dist/loader-pinwheel-BDU6yqUV.cjs +1 -0
  2137. package/dist/loader-pinwheel-BSVv0rRD.js +27 -0
  2138. package/dist/locate-Ctnire1K.cjs +1 -0
  2139. package/dist/locate-DIHdCsKe.js +43 -0
  2140. package/dist/locate-fixed-CEED0oEh.cjs +1 -0
  2141. package/dist/locate-fixed-fQx8lkYz.js +49 -0
  2142. package/dist/locate-off-CS2yklC8.js +37 -0
  2143. package/dist/locate-off-DnjKP0pt.cjs +1 -0
  2144. package/dist/lock-CeHdSreq.js +22 -0
  2145. package/dist/lock-DhdreZr5.cjs +1 -0
  2146. package/dist/lock-YJu79O32.js +19 -0
  2147. package/dist/lock-keyhole-DBAoRzEi.js +27 -0
  2148. package/dist/lock-keyhole-lyjwPr15.cjs +1 -0
  2149. package/dist/lock-keyhole-open-DJMXqgyS.cjs +1 -0
  2150. package/dist/lock-keyhole-open-DK4dowPj.js +28 -0
  2151. package/dist/lock-open-CBEwjbTK.cjs +1 -0
  2152. package/dist/lock-open-DNyQpN1w.js +20 -0
  2153. package/dist/lock-xMnTQLRt.cjs +1 -0
  2154. package/dist/log-in-BJKiWMV2.js +21 -0
  2155. package/dist/log-in-CFJfO03u.cjs +1 -0
  2156. package/dist/log-out-BM92r9-v.cjs +1 -0
  2157. package/dist/log-out-yC2yHKgM.js +21 -0
  2158. package/dist/logs-BewnvUeg.cjs +1 -0
  2159. package/dist/logs-DMvuKUdO.js +45 -0
  2160. package/dist/lollipop-5cRYRtZg.cjs +1 -0
  2161. package/dist/lollipop-CXyQNDPW.js +23 -0
  2162. package/dist/luggage-Cysfo16v.cjs +1 -0
  2163. package/dist/luggage-kJp5eYwH.js +33 -0
  2164. package/dist/magnet-Cc0j1Km5.js +21 -0
  2165. package/dist/magnet-DapdUnqy.cjs +1 -0
  2166. package/dist/mail-BhqGPV2u.cjs +1 -0
  2167. package/dist/mail-badge-CPqucTYm.cjs +1 -0
  2168. package/dist/mail-badge-LBAMEPrz.js +27 -0
  2169. package/dist/mail-check-BSgoaxBL.js +21 -0
  2170. package/dist/mail-check-C6vJiM8-.cjs +1 -0
  2171. package/dist/mail-check-D_LNQw3l.cjs +1 -0
  2172. package/dist/mail-check-DlwCj48-.js +36 -0
  2173. package/dist/mail-clock-Bm4PFvBG.cjs +1 -0
  2174. package/dist/mail-clock-DVzOw3hR.js +31 -0
  2175. package/dist/mail-iqP12nB0.js +18 -0
  2176. package/dist/mail-minus-B4Yn085z.cjs +1 -0
  2177. package/dist/mail-minus-CtTHzssK.js +21 -0
  2178. package/dist/mail-open-B5tmPACq.cjs +1 -0
  2179. package/dist/mail-open-CMk5p4uz.js +14 -0
  2180. package/dist/mail-pen-D-OMsy0S.cjs +1 -0
  2181. package/dist/mail-pen-MGcCAIrj.js +21 -0
  2182. package/dist/mail-plus-Df-qf_Dk.js +25 -0
  2183. package/dist/mail-plus-G-2iBn32.cjs +1 -0
  2184. package/dist/mail-question-mark-DtV-x4Af.cjs +1 -0
  2185. package/dist/mail-question-mark-ce-TE9oW.js +26 -0
  2186. package/dist/mail-search-B7qkUGKd.cjs +1 -0
  2187. package/dist/mail-search-D9OvOBsr.js +31 -0
  2188. package/dist/mail-warning-BPxHZ21k.js +25 -0
  2189. package/dist/mail-warning-BzeO0981.cjs +1 -0
  2190. package/dist/mail-x-CP_j0VjN.js +25 -0
  2191. package/dist/mail-x-Dy_QTmOa.cjs +1 -0
  2192. package/dist/mailbox-DqAE9nHW.cjs +1 -0
  2193. package/dist/mailbox-jiVjRW_L.js +28 -0
  2194. package/dist/mails-D2sMwWn1.js +25 -0
  2195. package/dist/mails-kIc7VPye.cjs +1 -0
  2196. package/dist/map-B5aLtIJ7.js +21 -0
  2197. package/dist/map-DXSRPSJP.cjs +1 -0
  2198. package/dist/map-minus-BduTilrs.js +25 -0
  2199. package/dist/map-minus-C-yuwB_N.cjs +1 -0
  2200. package/dist/map-pin-CRy8-b4v.cjs +1 -0
  2201. package/dist/map-pin-Cn2Kmz5d.js +16 -0
  2202. package/dist/map-pin-check-1K_mdSPq.js +23 -0
  2203. package/dist/map-pin-check-BpW7mSFD.cjs +1 -0
  2204. package/dist/map-pin-check-inside-BcNqpqxJ.cjs +1 -0
  2205. package/dist/map-pin-check-inside-OnKF6aI4.js +14 -0
  2206. package/dist/map-pin-house-BT5AgYxc.js +27 -0
  2207. package/dist/map-pin-house-GiQf5G7h.cjs +1 -0
  2208. package/dist/map-pin-minus-D0elV6tk.cjs +1 -0
  2209. package/dist/map-pin-minus-DNiFkAVp.js +23 -0
  2210. package/dist/map-pin-minus-inside-CGY8HUPM.js +14 -0
  2211. package/dist/map-pin-minus-inside-CaQI19Ib.cjs +1 -0
  2212. package/dist/map-pin-off-C9P8lCpj.js +29 -0
  2213. package/dist/map-pin-off-CuaE0rcR.cjs +1 -0
  2214. package/dist/map-pin-pen-D_WtrA05.cjs +1 -0
  2215. package/dist/map-pin-pen-DfZy6QML.js +24 -0
  2216. package/dist/map-pin-plus-6Vm2jUta.js +27 -0
  2217. package/dist/map-pin-plus-BJwY2HhZ.cjs +1 -0
  2218. package/dist/map-pin-plus-inside-D16Dmtkd.js +21 -0
  2219. package/dist/map-pin-plus-inside-JOTLactx.cjs +1 -0
  2220. package/dist/map-pin-search-CvrPVUVu.js +29 -0
  2221. package/dist/map-pin-search-Dx_xQ-PH.cjs +1 -0
  2222. package/dist/map-pin-x-Cow5tcYZ.js +27 -0
  2223. package/dist/map-pin-x-DK5Zt23a.cjs +1 -0
  2224. package/dist/map-pin-x-inside-CCuRk3Wh.cjs +1 -0
  2225. package/dist/map-pin-x-inside-D9Ql8E1s.js +21 -0
  2226. package/dist/map-pinned-CHMwwUdj.cjs +1 -0
  2227. package/dist/map-pinned-Cd4WzOSf.js +23 -0
  2228. package/dist/map-plus-CMAMThBW.cjs +1 -0
  2229. package/dist/map-plus-g78ZVwdo.js +29 -0
  2230. package/dist/mars-B-lC0CAm.js +23 -0
  2231. package/dist/mars-DsfR7050.cjs +1 -0
  2232. package/dist/mars-stroke-BnNB1LZh.js +27 -0
  2233. package/dist/mars-stroke-WVDa0CUE.cjs +1 -0
  2234. package/dist/martini-ZWI8bG26.cjs +1 -0
  2235. package/dist/martini-uFAgMe4-.js +21 -0
  2236. package/dist/maximize-2-BLP927SZ.cjs +1 -0
  2237. package/dist/maximize-2-CV25PPx9.js +25 -0
  2238. package/dist/maximize-CCJ5E7IN.js +25 -0
  2239. package/dist/maximize-CWMevT-6.cjs +1 -0
  2240. package/dist/medal-BuA29O2b.js +35 -0
  2241. package/dist/medal-InC79Dae.cjs +1 -0
  2242. package/dist/mediaKind-CQdnes55.cjs +1 -0
  2243. package/dist/mediaKind-Cbo-tOy3.js +254 -0
  2244. package/dist/megaphone-DWoVYJSN.cjs +1 -0
  2245. package/dist/megaphone-SZwXUt2m.js +21 -0
  2246. package/dist/megaphone-off-BsYeyP7d.cjs +1 -0
  2247. package/dist/megaphone-off-DyYibi1t.js +29 -0
  2248. package/dist/memory-stick-C3d413aO.cjs +1 -0
  2249. package/dist/memory-stick-COotKHrC.js +57 -0
  2250. package/dist/menu-CJ7UvpR6.cjs +1 -0
  2251. package/dist/menu-DJPjpD8t.js +21 -0
  2252. package/dist/merge-0x4NUq2r.cjs +1 -0
  2253. package/dist/merge-WvbCzUvy.js +21 -0
  2254. package/dist/message-circle-GRGPIS6Y.js +11 -0
  2255. package/dist/message-circle-check-DYhDd47H.js +14 -0
  2256. package/dist/message-circle-check-W1fj8iw4.cjs +1 -0
  2257. package/dist/message-circle-code-DTEvhdda.js +21 -0
  2258. package/dist/message-circle-code-DWRqWvZN.cjs +1 -0
  2259. package/dist/message-circle-dashed-BC1j5LTK.cjs +1 -0
  2260. package/dist/message-circle-dashed-DBLpcb1B.js +41 -0
  2261. package/dist/message-circle-dashed-check-C5wnimC5.js +45 -0
  2262. package/dist/message-circle-dashed-check-nSRU7KTd.cjs +1 -0
  2263. package/dist/message-circle-heart-BZz2rmrH.js +14 -0
  2264. package/dist/message-circle-heart-DF007AXB.cjs +1 -0
  2265. package/dist/message-circle-iGdNGpEK.cjs +1 -0
  2266. package/dist/message-circle-more-CeL54ZYu.cjs +1 -0
  2267. package/dist/message-circle-more-SyRfKole.js +25 -0
  2268. package/dist/message-circle-off-BUYuE93Q.cjs +1 -0
  2269. package/dist/message-circle-off-DN0dM3HV.js +21 -0
  2270. package/dist/message-circle-plus-CyVrYNXQ.js +21 -0
  2271. package/dist/message-circle-plus-D9AOHUH1.cjs +1 -0
  2272. package/dist/message-circle-question-mark-0HLRNxrK.cjs +1 -0
  2273. package/dist/message-circle-question-mark-BWbtffv9.js +22 -0
  2274. package/dist/message-circle-reply-DLs_hPRK.js +21 -0
  2275. package/dist/message-circle-reply-d_V1rxQf.cjs +1 -0
  2276. package/dist/message-circle-warning-CU2t0u_D.cjs +1 -0
  2277. package/dist/message-circle-warning-CsoxMW-2.js +21 -0
  2278. package/dist/message-circle-x-BFHvWJHZ.js +21 -0
  2279. package/dist/message-circle-x-DuUU15YB.cjs +1 -0
  2280. package/dist/message-square-BIM89dTx.js +11 -0
  2281. package/dist/message-square-DI6rbIvy.cjs +1 -0
  2282. package/dist/message-square-check-BhOyU8e6.js +14 -0
  2283. package/dist/message-square-check-DAXmuFx7.cjs +1 -0
  2284. package/dist/message-square-code-DNMNHNak.js +21 -0
  2285. package/dist/message-square-code-JaK15eHY.cjs +1 -0
  2286. package/dist/message-square-dashed-BOVKWxo3.cjs +1 -0
  2287. package/dist/message-square-dashed-CXjzpJXl.js +49 -0
  2288. package/dist/message-square-diff-BOlGp62h.cjs +1 -0
  2289. package/dist/message-square-diff-CZS_Nnqv.js +25 -0
  2290. package/dist/message-square-dot-Dy3KEMXu.js +16 -0
  2291. package/dist/message-square-dot-_QtjB2ZJ.cjs +1 -0
  2292. package/dist/message-square-heart-C-lcZ5E-.cjs +1 -0
  2293. package/dist/message-square-heart-Kgpfua_t.js +14 -0
  2294. package/dist/message-square-lock-CbmDA7tW.js +25 -0
  2295. package/dist/message-square-lock-VispJEr0.cjs +1 -0
  2296. package/dist/message-square-more-DltvYllB.cjs +1 -0
  2297. package/dist/message-square-more-cDhHGj5o.js +25 -0
  2298. package/dist/message-square-off-DQVZ4P2x.cjs +1 -0
  2299. package/dist/message-square-off-cRKfZwDA.js +21 -0
  2300. package/dist/message-square-plus-CBXCDlMs.cjs +1 -0
  2301. package/dist/message-square-plus-DLaMFEeJ.js +21 -0
  2302. package/dist/message-square-quote-Cpz6rOec.js +21 -0
  2303. package/dist/message-square-quote-Q2FL8FWB.cjs +1 -0
  2304. package/dist/message-square-reply-B4TQLvYb.js +21 -0
  2305. package/dist/message-square-reply-DUlfSlbg.cjs +1 -0
  2306. package/dist/message-square-share-BzGhxwXr.cjs +1 -0
  2307. package/dist/message-square-share-DHTnyNlE.js +21 -0
  2308. package/dist/message-square-text-4tpZcWdW.js +25 -0
  2309. package/dist/message-square-text-BW5qpRA6.cjs +1 -0
  2310. package/dist/message-square-warning-BM9U_42R.js +21 -0
  2311. package/dist/message-square-warning-Bbsli7JD.cjs +1 -0
  2312. package/dist/message-square-x-BZ5fEpm1.js +21 -0
  2313. package/dist/message-square-x-BrWdXpXs.cjs +1 -0
  2314. package/dist/messages-circle-CiGeiq8q.cjs +1 -0
  2315. package/dist/messages-circle-r5rqAIhW.js +14 -0
  2316. package/dist/messages-square-CbDyLWJH.js +14 -0
  2317. package/dist/messages-square-D5gzPfp9.cjs +1 -0
  2318. package/dist/metronome-DlZ6_XDV.cjs +1 -0
  2319. package/dist/metronome-kRbS2ZXX.js +27 -0
  2320. package/dist/mic-BFbdADAz.cjs +1 -0
  2321. package/dist/mic-BS_1_2JB.js +25 -0
  2322. package/dist/mic-audio-lines-B26k83X9.js +49 -0
  2323. package/dist/mic-audio-lines-BRZ75w8Z.cjs +1 -0
  2324. package/dist/mic-off-DI1hDE0G.js +33 -0
  2325. package/dist/mic-off-DySa1E6s.cjs +1 -0
  2326. package/dist/mic-signal-BoVgfevb.cjs +1 -0
  2327. package/dist/mic-signal-gixorM6q.js +42 -0
  2328. package/dist/mic-vocal-BxQOFIDJ.js +24 -0
  2329. package/dist/mic-vocal-C-zBEfqb.cjs +1 -0
  2330. package/dist/microchip-BSAcuCDD.cjs +1 -0
  2331. package/dist/microchip-CTf3Lha7.js +53 -0
  2332. package/dist/microscope-ApT80M5-.cjs +1 -0
  2333. package/dist/microscope-ypWa3mrA.js +33 -0
  2334. package/dist/microwave-BArIw04a.js +37 -0
  2335. package/dist/microwave-BN0lv5je.cjs +1 -0
  2336. package/dist/midi-port-DWUcTSx9.cjs +1 -0
  2337. package/dist/midi-port-TkidF5A6.js +39 -0
  2338. package/dist/milestone-B3P7c9ul.cjs +1 -0
  2339. package/dist/milestone-DISUYLmc.js +21 -0
  2340. package/dist/milk-BIYvzq9S.cjs +1 -0
  2341. package/dist/milk-off-CGTenlsg.js +28 -0
  2342. package/dist/milk-off-gGxGxnsF.cjs +1 -0
  2343. package/dist/milk-skF_Z4W-.js +21 -0
  2344. package/dist/minimize-2-CespW4e7.cjs +1 -0
  2345. package/dist/minimize-2-qlo6-fNO.js +25 -0
  2346. package/dist/minimize-CGdoVpye.js +25 -0
  2347. package/dist/minimize-CJaohhfT.cjs +1 -0
  2348. package/dist/minus-C3AOwFgU.js +11 -0
  2349. package/dist/minus-DMJvZ0f4.cjs +1 -0
  2350. package/dist/mirror-rectangular-BuvRRA0A.cjs +1 -0
  2351. package/dist/mirror-rectangular-Cw7qr2LT.js +25 -0
  2352. package/dist/mirror-round-CI4vwAIp.js +31 -0
  2353. package/dist/mirror-round-CQmldsnm.cjs +1 -0
  2354. package/dist/monitor-CEvwtiI9.js +31 -0
  2355. package/dist/monitor-DAXV9-s2.cjs +1 -0
  2356. package/dist/monitor-check-BF3oPtr2.js +29 -0
  2357. package/dist/monitor-check-CO8FlrE3.cjs +1 -0
  2358. package/dist/monitor-cloud-BfjBI4Pz.cjs +1 -0
  2359. package/dist/monitor-cloud-bcq9ObKd.js +29 -0
  2360. package/dist/monitor-cog-B9EcIVJi.cjs +1 -0
  2361. package/dist/monitor-cog-iitve_Zi.js +59 -0
  2362. package/dist/monitor-dot-7oBv2Gkw.js +27 -0
  2363. package/dist/monitor-dot-DCdnWQYZ.cjs +1 -0
  2364. package/dist/monitor-down-7ycT-SjP.js +33 -0
  2365. package/dist/monitor-down-nN11gtei.cjs +1 -0
  2366. package/dist/monitor-off-ChExDyLS.cjs +1 -0
  2367. package/dist/monitor-off-IKK4veOC.js +29 -0
  2368. package/dist/monitor-pause-D1pRBJzS.cjs +1 -0
  2369. package/dist/monitor-pause-DjK0sINN.js +33 -0
  2370. package/dist/monitor-pc--AwdLRnY.cjs +1 -0
  2371. package/dist/monitor-pc-C0gJYyMU.js +41 -0
  2372. package/dist/monitor-play-14SkbQiS.js +29 -0
  2373. package/dist/monitor-play-DgEdoPTq.cjs +1 -0
  2374. package/dist/monitor-smartphone-ByLs7Qxk.js +29 -0
  2375. package/dist/monitor-smartphone-n4XHIk6y.cjs +1 -0
  2376. package/dist/monitor-speaker-B82gg0N3.cjs +1 -0
  2377. package/dist/monitor-speaker-CNZsOOr1.js +35 -0
  2378. package/dist/monitor-stop-B8-Br2Sk.js +33 -0
  2379. package/dist/monitor-stop-CQLZi214.cjs +1 -0
  2380. package/dist/monitor-up-CA584rSo.cjs +1 -0
  2381. package/dist/monitor-up-xoiicAQO.js +33 -0
  2382. package/dist/monitor-x-oBEkU9cs.js +33 -0
  2383. package/dist/monitor-x-zy7aOhWd.cjs +1 -0
  2384. package/dist/moon-CPyWePsu.js +11 -0
  2385. package/dist/moon-NHHrlNjC.cjs +1 -0
  2386. package/dist/moon-star-BOlI_jdF.cjs +1 -0
  2387. package/dist/moon-star-DB7o_Sgq.js +21 -0
  2388. package/dist/mop-B1_VLarr.js +21 -0
  2389. package/dist/mop-MHeNeMPW.cjs +1 -0
  2390. package/dist/mop-sparkles-B3yRoTT5.js +49 -0
  2391. package/dist/mop-sparkles-Bt6COnFi.cjs +1 -0
  2392. package/dist/mosque-6iyZD9mW.js +33 -0
  2393. package/dist/mosque-DL9QDxh2.cjs +1 -0
  2394. package/dist/motorbike-CACueYTn.js +33 -0
  2395. package/dist/motorbike-DcF7SORR.cjs +1 -0
  2396. package/dist/mountain-B7dtPJJY.js +11 -0
  2397. package/dist/mountain-Cid7Bn8N.cjs +1 -0
  2398. package/dist/mountain-snow-B0J2XEZU.js +14 -0
  2399. package/dist/mountain-snow-Lz1bTKrg.cjs +1 -0
  2400. package/dist/mouse-DOEblNna.cjs +1 -0
  2401. package/dist/mouse-IuyRSeoo.js +18 -0
  2402. package/dist/mouse-left-DE7WjUh0.cjs +1 -0
  2403. package/dist/mouse-left-DQyL9Efq.js +23 -0
  2404. package/dist/mouse-off-CAQ89GR1.js +25 -0
  2405. package/dist/mouse-off-DTltUE9F.cjs +1 -0
  2406. package/dist/mouse-pointer-2-C9JRvVa6.cjs +1 -0
  2407. package/dist/mouse-pointer-2-hRQUjUPP.js +11 -0
  2408. package/dist/mouse-pointer-2-off-DP6jf5qc.cjs +1 -0
  2409. package/dist/mouse-pointer-2-off-Ds5xSrRk.js +21 -0
  2410. package/dist/mouse-pointer-BQGtbbm-.cjs +1 -0
  2411. package/dist/mouse-pointer-DVzxaSNQ.js +14 -0
  2412. package/dist/mouse-pointer-ban-B81-t7JV.cjs +1 -0
  2413. package/dist/mouse-pointer-ban-CmwH8DV5.js +23 -0
  2414. package/dist/mouse-pointer-click-BRElQ4bc.js +29 -0
  2415. package/dist/mouse-pointer-click-jkfNCeqG.cjs +1 -0
  2416. package/dist/mouse-right-Cv-hkjFm.js +23 -0
  2417. package/dist/mouse-right-Dx0cEPvi.cjs +1 -0
  2418. package/dist/mouth-CoKIQeKI.js +14 -0
  2419. package/dist/mouth-DoJ4FVoR.cjs +1 -0
  2420. package/dist/mouth-off-D3ohXmTy.js +29 -0
  2421. package/dist/mouth-off-hi-bG-Ah.cjs +1 -0
  2422. package/dist/move-3d-BsxVH6ro.js +26 -0
  2423. package/dist/move-3d-pf9Ru3F8.cjs +1 -0
  2424. package/dist/move-BS56h6qa.js +33 -0
  2425. package/dist/move-BTZxQveq.cjs +1 -0
  2426. package/dist/move-diagonal-2-1YaQhOES.cjs +1 -0
  2427. package/dist/move-diagonal-2-9GCivDO2.js +21 -0
  2428. package/dist/move-diagonal-CRk1mCTi.cjs +1 -0
  2429. package/dist/move-diagonal-DluuWlqV.js +21 -0
  2430. package/dist/move-down-BiFgQwHP.cjs +1 -0
  2431. package/dist/move-down-BkXGDrCN.js +14 -0
  2432. package/dist/move-down-left-B1v1ToDX.cjs +1 -0
  2433. package/dist/move-down-left-DY4hNHD5.js +14 -0
  2434. package/dist/move-down-right-Dp_u6JVB.cjs +1 -0
  2435. package/dist/move-down-right-l2YihhAm.js +14 -0
  2436. package/dist/move-horizontal-CB8ivIHy.cjs +1 -0
  2437. package/dist/move-horizontal-DIvnokiT.js +21 -0
  2438. package/dist/move-left-BDmXqkWl.cjs +1 -0
  2439. package/dist/move-left-CXy6npjm.js +14 -0
  2440. package/dist/move-right-DUGeLo7h.cjs +1 -0
  2441. package/dist/move-right-ZbhSA730.js +14 -0
  2442. package/dist/move-up-DE63lQAn.js +14 -0
  2443. package/dist/move-up-DYs5SamG.cjs +1 -0
  2444. package/dist/move-up-left-CySqJZT2.js +14 -0
  2445. package/dist/move-up-left-wwPem3He.cjs +1 -0
  2446. package/dist/move-up-right-BkFvQHor.cjs +1 -0
  2447. package/dist/move-up-right-WRsv_Ujl.js +14 -0
  2448. package/dist/move-vertical-CJNTsFTs.js +21 -0
  2449. package/dist/move-vertical-DOS2an-Q.cjs +1 -0
  2450. package/dist/music-2-BRsFykgc.cjs +1 -0
  2451. package/dist/music-2-D4Qu7zZG.js +16 -0
  2452. package/dist/music-3-BGGFtpl4.js +16 -0
  2453. package/dist/music-3-CYZhI8iF.cjs +1 -0
  2454. package/dist/music-4-1e--cBad.js +29 -0
  2455. package/dist/music-4-Ddp1crX0.cjs +1 -0
  2456. package/dist/music-Bbypi36i.js +25 -0
  2457. package/dist/music-CE6StUFI.cjs +1 -0
  2458. package/dist/navigation-2-BkVAK6_Y.js +11 -0
  2459. package/dist/navigation-2-DZ3UJfst.cjs +1 -0
  2460. package/dist/navigation-2-off-DzgziNP2.js +24 -0
  2461. package/dist/navigation-2-off-LDVYhph6.cjs +1 -0
  2462. package/dist/navigation-CIYi5k4U.js +11 -0
  2463. package/dist/navigation-off-BQ75npG0.cjs +1 -0
  2464. package/dist/navigation-off-CkCwWYyt.js +24 -0
  2465. package/dist/navigation-z6ZPkDwj.cjs +1 -0
  2466. package/dist/nepali-rupee-BHalxgRX.js +29 -0
  2467. package/dist/nepali-rupee-C5C5iOq1.cjs +1 -0
  2468. package/dist/network-CH6PjwY9.cjs +1 -0
  2469. package/dist/network-Co8cnKfz.js +41 -0
  2470. package/dist/newspaper-BSEChnfi.js +29 -0
  2471. package/dist/newspaper-DEpEUSoF.cjs +1 -0
  2472. package/dist/nfc-CI5uo2IZ.cjs +1 -0
  2473. package/dist/nfc-jqWNFfB1.js +25 -0
  2474. package/dist/non-binary-BLxuK_i1.cjs +1 -0
  2475. package/dist/non-binary-DDsfbDdj.js +27 -0
  2476. package/dist/notebook-Bw9h1Dsr.js +37 -0
  2477. package/dist/notebook-Ckxgn2xZ.cjs +1 -0
  2478. package/dist/notebook-dot-C4wJouQK.js +39 -0
  2479. package/dist/notebook-dot-y0F6krtt.cjs +1 -0
  2480. package/dist/notebook-pen-BgQmGBt4.cjs +1 -0
  2481. package/dist/notebook-pen-DJHlZP7W.js +33 -0
  2482. package/dist/notebook-tabs-BSKt_NJs.js +49 -0
  2483. package/dist/notebook-tabs-BaH0uLQR.cjs +1 -0
  2484. package/dist/notebook-text-C-7RCmkK.cjs +1 -0
  2485. package/dist/notebook-text-CAjQJMlW.js +45 -0
  2486. package/dist/notepad-text-B1G3L5KF.js +41 -0
  2487. package/dist/notepad-text-Bn41KcGO.cjs +1 -0
  2488. package/dist/notepad-text-dashed-BMCM6pfC.js +61 -0
  2489. package/dist/notepad-text-dashed-BVJV7_NZ.cjs +1 -0
  2490. package/dist/notices-CsXjfPFG.js +29 -0
  2491. package/dist/notices-DrHwCNVZ.cjs +1 -0
  2492. package/dist/nut-C0o2IFrp.cjs +1 -0
  2493. package/dist/nut-Dhjf2oFq.js +21 -0
  2494. package/dist/nut-off-BUELMpaT.cjs +1 -0
  2495. package/dist/nut-off-DUKJmD9m.js +32 -0
  2496. package/dist/octagon-BedVxdWi.js +11 -0
  2497. package/dist/octagon-alert-CSCvKVDR.cjs +1 -0
  2498. package/dist/octagon-alert-DtxrLcfM.js +22 -0
  2499. package/dist/octagon-minus-C72NIK95.cjs +1 -0
  2500. package/dist/octagon-minus-DRD-p7lD.js +14 -0
  2501. package/dist/octagon-pause-BXiEZ-t-.cjs +1 -0
  2502. package/dist/octagon-pause-D--uzG_Y.js +22 -0
  2503. package/dist/octagon-wg_CLDbN.cjs +1 -0
  2504. package/dist/octagon-x-BOrGdIn2.cjs +1 -0
  2505. package/dist/octagon-x-V1hOlZIZ.js +22 -0
  2506. package/dist/omega-04s19rxY.cjs +1 -0
  2507. package/dist/omega-Bje9pSc8.js +11 -0
  2508. package/dist/option-CZ0KH1C-.cjs +1 -0
  2509. package/dist/option-CvH3hT7m.js +14 -0
  2510. package/dist/orbit-B_9CNvwM.js +35 -0
  2511. package/dist/orbit-BjDBB9X3.cjs +1 -0
  2512. package/dist/origami-CPnvg0kM.cjs +1 -0
  2513. package/dist/origami-CSwFXhlz.js +21 -0
  2514. package/dist/package-2-DuiHfv7P.cjs +1 -0
  2515. package/dist/package-2-MdE2k_DF.js +21 -0
  2516. package/dist/package-BkzcxDC5.cjs +1 -0
  2517. package/dist/package-D7x0dRKd.js +25 -0
  2518. package/dist/package-check-BjnIHoqX.cjs +1 -0
  2519. package/dist/package-check-CefB6fTK.js +29 -0
  2520. package/dist/package-minus-BWcq00h5.cjs +1 -0
  2521. package/dist/package-minus-j22s4c7c.js +29 -0
  2522. package/dist/package-open-CBPlnuZm.cjs +1 -0
  2523. package/dist/package-open-DfcQi0vg.js +25 -0
  2524. package/dist/package-plus-B_AZdH9_.js +33 -0
  2525. package/dist/package-plus-qIUIkhpQ.cjs +1 -0
  2526. package/dist/package-search-BIEHCARG.cjs +1 -0
  2527. package/dist/package-search-Cez_F8cK.js +35 -0
  2528. package/dist/package-x-5wTdq9Qq.cjs +1 -0
  2529. package/dist/package-x-DeA1fb-2.js +33 -0
  2530. package/dist/pageFiles-BefswDSQ.cjs +1 -0
  2531. package/dist/pageFiles-CH_pjeTL.js +45 -0
  2532. package/dist/pages/BookingPage.d.ts +10 -2
  2533. package/dist/pages/FormsAdmin.d.ts +11 -1
  2534. package/dist/pages/Inbox.d.ts +23 -1
  2535. package/dist/pages/PagesAdmin.d.ts +197 -10
  2536. package/dist/pages/ScheduleAdmin.d.ts +0 -14
  2537. package/dist/pages/TransactionsAdmin.d.ts +4 -0
  2538. package/dist/paidSessions-C4yHpeXi.cjs +1 -0
  2539. package/dist/paidSessions-Dk2PIgrC.js +766 -0
  2540. package/dist/paint-bucket-Cm2sKplT.cjs +1 -0
  2541. package/dist/paint-bucket-CxwGf2Gh.js +25 -0
  2542. package/dist/paint-roller-BK3a1EVc.js +29 -0
  2543. package/dist/paint-roller-BtSVQYVE.cjs +1 -0
  2544. package/dist/paintbrush-Di1frtVO.cjs +1 -0
  2545. package/dist/paintbrush-vertical-B7Zcg08t.cjs +1 -0
  2546. package/dist/paintbrush-vertical-CJWklFJ-.js +26 -0
  2547. package/dist/paintbrush-y2Jd_ecB.js +21 -0
  2548. package/dist/palette-DhqCyrHT.js +41 -0
  2549. package/dist/palette-Dwth4y2C.cjs +1 -0
  2550. package/dist/panda-DJAGhSvM.js +33 -0
  2551. package/dist/panda-DLpihv7s.cjs +1 -0
  2552. package/dist/panel-bottom-C-egV2mB.cjs +1 -0
  2553. package/dist/panel-bottom-CscezNtT.js +18 -0
  2554. package/dist/panel-bottom-close-CQddinqc.cjs +1 -0
  2555. package/dist/panel-bottom-close-DeedzPmu.js +25 -0
  2556. package/dist/panel-bottom-dashed-D4q5hdoA.cjs +1 -0
  2557. package/dist/panel-bottom-dashed-DNpRmPjP.js +34 -0
  2558. package/dist/panel-bottom-open-DCxDLuK-.cjs +1 -0
  2559. package/dist/panel-bottom-open-kbndQqtJ.js +25 -0
  2560. package/dist/panel-left-BqFknBjY.js +19 -0
  2561. package/dist/panel-left-DzhqMWkh.cjs +1 -0
  2562. package/dist/panel-left-close-B7YeafhF.js +26 -0
  2563. package/dist/panel-left-close-DAzP2ofi.cjs +1 -0
  2564. package/dist/panel-left-dashed-Cfd9IAGs.cjs +1 -0
  2565. package/dist/panel-left-dashed-lTdxVX8m.js +34 -0
  2566. package/dist/panel-left-open-Cim1glit.cjs +1 -0
  2567. package/dist/panel-left-open-bhFtrfKm.js +26 -0
  2568. package/dist/panel-left-right-dashed-BaygthPv.js +49 -0
  2569. package/dist/panel-left-right-dashed-DQZ1RJCK.cjs +1 -0
  2570. package/dist/panel-right-Dt7QgtHo.js +18 -0
  2571. package/dist/panel-right-GBNd_W9A.cjs +1 -0
  2572. package/dist/panel-right-close-CXl0P8NQ.cjs +1 -0
  2573. package/dist/panel-right-close-CnPVYN-F.js +25 -0
  2574. package/dist/panel-right-dashed-CPmKEHwi.js +34 -0
  2575. package/dist/panel-right-dashed-DrGkDLlP.cjs +1 -0
  2576. package/dist/panel-right-open-DueUBx-1.cjs +1 -0
  2577. package/dist/panel-right-open-KLIXoHao.js +25 -0
  2578. package/dist/panel-top-DDoSqkNU.cjs +1 -0
  2579. package/dist/panel-top-DgqqtypV.js +18 -0
  2580. package/dist/panel-top-bottom-dashed-B9bq8VRb.cjs +1 -0
  2581. package/dist/panel-top-bottom-dashed-BsvNfhzP.js +49 -0
  2582. package/dist/panel-top-close-D1lX95GO.js +25 -0
  2583. package/dist/panel-top-close-n3JrgSlK.cjs +1 -0
  2584. package/dist/panel-top-dashed-BT9COmhs.cjs +1 -0
  2585. package/dist/panel-top-dashed-BpVuR5WF.js +34 -0
  2586. package/dist/panel-top-open-BihIRbcp.cjs +1 -0
  2587. package/dist/panel-top-open-DRQRzrik.js +25 -0
  2588. package/dist/panels-left-bottom-C8YEduvO.js +25 -0
  2589. package/dist/panels-left-bottom-DB0jp-pX.cjs +1 -0
  2590. package/dist/panels-right-bottom-C9Me3GpH.js +25 -0
  2591. package/dist/panels-right-bottom-DcmzGSnU.cjs +1 -0
  2592. package/dist/panels-top-left-BRLrr8fn.js +26 -0
  2593. package/dist/panels-top-left-D9iZc3D2.cjs +1 -0
  2594. package/dist/paper-bag-CCSep6OA.cjs +1 -0
  2595. package/dist/paper-bag-Cc0mkNPN.js +14 -0
  2596. package/dist/paperclip-C9wlh99z.cjs +1 -0
  2597. package/dist/paperclip-CzGeF215.js +11 -0
  2598. package/dist/parasol-BDn36qI4.cjs +1 -0
  2599. package/dist/parasol-BTg2BZj7.js +21 -0
  2600. package/dist/parentheses-cWYrQlG0.js +14 -0
  2601. package/dist/parentheses-o6i36ztV.cjs +1 -0
  2602. package/dist/park-BJKR7UpK.cjs +1 -0
  2603. package/dist/park-BQUlWaUK.js +43 -0
  2604. package/dist/parking-meter-C352JeD0.js +29 -0
  2605. package/dist/parking-meter-D1S8FvUD.cjs +1 -0
  2606. package/dist/party-popper-DLCZWBeW.cjs +1 -0
  2607. package/dist/party-popper-DkvM9CG3.js +45 -0
  2608. package/dist/pause-BvxUpxOH.cjs +1 -0
  2609. package/dist/pause-CAszU99N.js +22 -0
  2610. package/dist/paw-print-CHIZCdwq.cjs +1 -0
  2611. package/dist/paw-print-Dr_yezLk.js +31 -0
  2612. package/dist/pc-case-5eWjkcjj.cjs +1 -0
  2613. package/dist/pc-case-t-CiU5Vy.js +29 -0
  2614. package/dist/pen-BqKOg8qT.js +12 -0
  2615. package/dist/pen-Fg1ya__n.cjs +1 -0
  2616. package/dist/pen-line-C62UiWL7.js +15 -0
  2617. package/dist/pen-line-D6v3Doal.cjs +1 -0
  2618. package/dist/pen-off-BfQTWlB7.cjs +1 -0
  2619. package/dist/pen-off-DuLdm6_C.js +21 -0
  2620. package/dist/pen-tool-BhKRXg7J.js +27 -0
  2621. package/dist/pen-tool-D6rP0umg.cjs +1 -0
  2622. package/dist/pencil-BCXEcS0Z.js +14 -0
  2623. package/dist/pencil-CLQlJdep.js +17 -0
  2624. package/dist/pencil-Ca8JSmp0.cjs +1 -0
  2625. package/dist/pencil-line-BqfAF4k9.cjs +1 -0
  2626. package/dist/pencil-line-DgW4UOcA.js +21 -0
  2627. package/dist/pencil-lncAvrEV.cjs +1 -0
  2628. package/dist/pencil-off-CuglISMx.js +25 -0
  2629. package/dist/pencil-off-DYb-CHM-.cjs +1 -0
  2630. package/dist/pencil-ruler-8cQ3q6e1.cjs +1 -0
  2631. package/dist/pencil-ruler-BwdngC4j.js +33 -0
  2632. package/dist/pencil-sparkles-CpxXakqI.cjs +1 -0
  2633. package/dist/pencil-sparkles-Dt0vtpyC.js +41 -0
  2634. package/dist/pentagon-BIXk1phe.js +11 -0
  2635. package/dist/pentagon-DKYakaTx.cjs +1 -0
  2636. package/dist/people-CKnmPBLd.js +105 -0
  2637. package/dist/people-nuv9nwBg.cjs +1 -0
  2638. package/dist/percent-Bky4G7mA.cjs +1 -0
  2639. package/dist/percent-CqkqDlYT.js +28 -0
  2640. package/dist/person-standing-0mvAFiWJ.js +27 -0
  2641. package/dist/person-standing-BLdbL3w5.cjs +1 -0
  2642. package/dist/phi-CUO2RHQ8.cjs +1 -0
  2643. package/dist/phi-DPqFVrhO.js +16 -0
  2644. package/dist/philippine-peso-B8LrLfK0.js +21 -0
  2645. package/dist/philippine-peso-CxOrdY1g.cjs +1 -0
  2646. package/dist/phone-DM0IRpB2.js +11 -0
  2647. package/dist/phone-JRA891w8.cjs +1 -0
  2648. package/dist/phone-call-BVoDJXql.js +21 -0
  2649. package/dist/phone-call-D5QQ0zpc.cjs +1 -0
  2650. package/dist/phone-forwarded-Cpp-Bfjk.cjs +1 -0
  2651. package/dist/phone-forwarded-DzE1WZbk.js +21 -0
  2652. package/dist/phone-incoming-BvepQ5fu.cjs +1 -0
  2653. package/dist/phone-incoming-D4JRh4Xu.js +21 -0
  2654. package/dist/phone-missed-CojVCgNb.js +21 -0
  2655. package/dist/phone-missed-c5JCw9Gy.cjs +1 -0
  2656. package/dist/phone-off-BmtNdNxC.cjs +1 -0
  2657. package/dist/phone-off-Fe3LCZ_l.js +21 -0
  2658. package/dist/phone-outgoing-CFn4r7bU.js +21 -0
  2659. package/dist/phone-outgoing-PX1ANi4P.cjs +1 -0
  2660. package/dist/pi-CxgZJNoo.cjs +1 -0
  2661. package/dist/pi-naZ_l5xb.js +24 -0
  2662. package/dist/piano-CJ99ypdw.cjs +1 -0
  2663. package/dist/piano-nP7sfcoa.js +33 -0
  2664. package/dist/pickaxe-CA3-3WUH.cjs +1 -0
  2665. package/dist/pickaxe-M7GHCo-n.js +25 -0
  2666. package/dist/picture-in-picture-2-Bh1-vt2N.cjs +1 -0
  2667. package/dist/picture-in-picture-2-e9YopeAo.js +18 -0
  2668. package/dist/picture-in-picture-C4R5sGAD.js +33 -0
  2669. package/dist/picture-in-picture-jeJb0-ru.cjs +1 -0
  2670. package/dist/piggy-bank-CbLAerze.js +21 -0
  2671. package/dist/piggy-bank-DrIAfeUf.cjs +1 -0
  2672. package/dist/pilcrow-BUBVIHov.js +21 -0
  2673. package/dist/pilcrow-C29xj18I.cjs +1 -0
  2674. package/dist/pilcrow-left-BexhddSl.js +29 -0
  2675. package/dist/pilcrow-left-DTHLRU03.cjs +1 -0
  2676. package/dist/pilcrow-right-Ce9CgR2T.js +29 -0
  2677. package/dist/pilcrow-right-CeSaQTsq.cjs +1 -0
  2678. package/dist/pill-BfOscqEq.js +14 -0
  2679. package/dist/pill-DR4hKR5L.cjs +1 -0
  2680. package/dist/pill-bottle-CSvB7dwI.cjs +1 -0
  2681. package/dist/pill-bottle-DLwUOxgI.js +25 -0
  2682. package/dist/pin-BBUA8hna.cjs +1 -0
  2683. package/dist/pin-Bm1VjJ38.js +14 -0
  2684. package/dist/pin-off-BORA-44e.js +25 -0
  2685. package/dist/pin-off-CxaLwxTP.cjs +1 -0
  2686. package/dist/pipette-BuAWZgef.js +21 -0
  2687. package/dist/pipette-Wp0t_SHb.cjs +1 -0
  2688. package/dist/pizza-CAAiEewt.cjs +1 -0
  2689. package/dist/pizza-DIEeIn3N.js +29 -0
  2690. package/dist/plane-BK1nBQ9W.js +11 -0
  2691. package/dist/plane-BOfa7W9Q.cjs +1 -0
  2692. package/dist/plane-landing-Cc0CW718.js +14 -0
  2693. package/dist/plane-landing-DuqRUo-y.cjs +1 -0
  2694. package/dist/plane-takeoff-BAiMAFqB.js +14 -0
  2695. package/dist/plane-takeoff-Bb4DMnaS.cjs +1 -0
  2696. package/dist/plant-pot-1A3KgqFn.cjs +1 -0
  2697. package/dist/plant-pot-B0oZYXCk.js +21 -0
  2698. package/dist/play-BLteqVKE.js +11 -0
  2699. package/dist/play-Dz8IkYbS.cjs +1 -0
  2700. package/dist/play-off-Dz6ZFxMp.cjs +1 -0
  2701. package/dist/play-off-Nudq9fwz.js +21 -0
  2702. package/dist/playing-card-BtNc9oFo.js +18 -0
  2703. package/dist/playing-card-CRNPD0ex.cjs +1 -0
  2704. package/dist/playing-cards-CBzi2-fz.js +25 -0
  2705. package/dist/playing-cards-Cirpv077.cjs +1 -0
  2706. package/dist/playing-cards-fan-Co_NMJEs.js +21 -0
  2707. package/dist/playing-cards-fan-IU62IxAH.cjs +1 -0
  2708. package/dist/plug-2-CBszVjxB.js +29 -0
  2709. package/dist/plug-2-CL6inE7R.cjs +1 -0
  2710. package/dist/plug-CVukbJE9.js +25 -0
  2711. package/dist/plug-DcuHolia.cjs +1 -0
  2712. package/dist/plug-zap-BFz0BYZW.js +30 -0
  2713. package/dist/plug-zap-KMxj_UEb.cjs +1 -0
  2714. package/dist/plus-0Y4odqz2.js +14 -0
  2715. package/dist/plus-BKrt0Qx5.js +17 -0
  2716. package/dist/plus-CanxiA9x.cjs +1 -0
  2717. package/dist/plus-zsWFCu4F.cjs +1 -0
  2718. package/dist/pocket-knife-C4i3Ngr-.cjs +1 -0
  2719. package/dist/pocket-knife-PaPG_2mH.js +29 -0
  2720. package/dist/podium-D-ZtDli2.js +21 -0
  2721. package/dist/podium-D_UOEBsf.cjs +1 -0
  2722. package/dist/pointer-CS9r_V5i.js +29 -0
  2723. package/dist/pointer-ja4xI7dJ.cjs +1 -0
  2724. package/dist/pointer-off-CG6nhaoj.js +33 -0
  2725. package/dist/pointer-off-DDWUJHwU.cjs +1 -0
  2726. package/dist/popcorn-BvGAsC_R.cjs +1 -0
  2727. package/dist/popcorn-C3H8YuIq.js +25 -0
  2728. package/dist/popsicle-B7m6Ax8B.cjs +1 -0
  2729. package/dist/popsicle-Dk1bHJOB.js +14 -0
  2730. package/dist/pound-sterling-B0BmkxvO.js +25 -0
  2731. package/dist/pound-sterling-D2hRMe8T.cjs +1 -0
  2732. package/dist/power-B8n8svsa.js +14 -0
  2733. package/dist/power-Bdzro4Fs.cjs +1 -0
  2734. package/dist/power-BrOGO3tj.js +17 -0
  2735. package/dist/power-Bs_nchQG.cjs +1 -0
  2736. package/dist/power-off-_gqO41yJ.js +25 -0
  2737. package/dist/power-off-mZl4fwEz.cjs +1 -0
  2738. package/dist/presentation-DQ-igFG0.js +21 -0
  2739. package/dist/presentation-K1VtYxz5.cjs +1 -0
  2740. package/dist/printer-6JTG-LCn.cjs +1 -0
  2741. package/dist/printer-BYd1crDp.js +25 -0
  2742. package/dist/printer-check-D-DxP3BD.cjs +1 -0
  2743. package/dist/printer-check-D6heLw8w.js +25 -0
  2744. package/dist/printer-x-B5056uis.js +29 -0
  2745. package/dist/printer-x-Bfvs55iY.cjs +1 -0
  2746. package/dist/projector-BQ_W0y8i.js +35 -0
  2747. package/dist/projector-CSKhCNCF.cjs +1 -0
  2748. package/dist/proportions-Bwyj96L8.cjs +1 -0
  2749. package/dist/proportions-D1bGT16d.js +25 -0
  2750. package/dist/publishSteps-JlBx5gD0.cjs +1 -0
  2751. package/dist/publishSteps-XHWoQ-u_.js +88 -0
  2752. package/dist/puzzle-B6HOg0tD.cjs +1 -0
  2753. package/dist/puzzle-i7QQPn7c.js +11 -0
  2754. package/dist/pyramid-YbU61GnB.cjs +1 -0
  2755. package/dist/pyramid-_EqJgxIJ.js +14 -0
  2756. package/dist/qr-code-BMOiEWQd.cjs +1 -0
  2757. package/dist/qr-code-CYX5BvJl.js +69 -0
  2758. package/dist/quote-Di-IcZat.cjs +1 -0
  2759. package/dist/quote-ignJT_3M.js +14 -0
  2760. package/dist/rabbit-BUSuJdtT.js +29 -0
  2761. package/dist/rabbit-DusNonPM.cjs +1 -0
  2762. package/dist/radar-BzKTPtvC.js +43 -0
  2763. package/dist/radar-DijL5J1V.cjs +1 -0
  2764. package/dist/radiation-2asl_DTK.js +25 -0
  2765. package/dist/radiation-DeumQ32s.cjs +1 -0
  2766. package/dist/radical-Csqzn6HM.js +11 -0
  2767. package/dist/radical-rUtUK4pD.cjs +1 -0
  2768. package/dist/radio-C6CEqGCk.cjs +1 -0
  2769. package/dist/radio-DoOBtr0i.js +31 -0
  2770. package/dist/radio-off-B4G7ALG5.cjs +1 -0
  2771. package/dist/radio-off-nK2hHn07.js +33 -0
  2772. package/dist/radio-receiver-CFvPWb5G.js +29 -0
  2773. package/dist/radio-receiver-CGrseK1b.cjs +1 -0
  2774. package/dist/radio-tower-CKm-6fik.js +39 -0
  2775. package/dist/radio-tower-Ui51GziX.cjs +1 -0
  2776. package/dist/radius-BZMwoBSM.cjs +1 -0
  2777. package/dist/radius-BhmivZE1.js +29 -0
  2778. package/dist/rainbow-fDXMBX7K.js +21 -0
  2779. package/dist/rainbow-wS5nJI56.cjs +1 -0
  2780. package/dist/rat-C7fiSjJf.js +29 -0
  2781. package/dist/rat-CIHCoyeP.cjs +1 -0
  2782. package/dist/ratio-CUQx5aLB.js +22 -0
  2783. package/dist/ratio-D7BZj15N.cjs +1 -0
  2784. package/dist/receipt-DQXvv1Te.js +21 -0
  2785. package/dist/receipt-DuCyDQ2w.cjs +1 -0
  2786. package/dist/receipt-cent-BIoNovwl.js +21 -0
  2787. package/dist/receipt-cent-BiLu5UZJ.cjs +1 -0
  2788. package/dist/receipt-euro-GymIh6zB.js +21 -0
  2789. package/dist/receipt-euro-_HDOiGHM.cjs +1 -0
  2790. package/dist/receipt-indian-rupee-B5JmKijq.cjs +1 -0
  2791. package/dist/receipt-indian-rupee-QZayxtWR.js +25 -0
  2792. package/dist/receipt-japanese-yen-DFjKqnTA.cjs +1 -0
  2793. package/dist/receipt-japanese-yen-Dfj4a92p.js +29 -0
  2794. package/dist/receipt-pound-sterling-BCO0xr1j.js +25 -0
  2795. package/dist/receipt-pound-sterling-Cq96GBnz.cjs +1 -0
  2796. package/dist/receipt-russian-ruble-Cd4uPsWN.js +21 -0
  2797. package/dist/receipt-russian-ruble-CvFCFD5s.cjs +1 -0
  2798. package/dist/receipt-swiss-franc-DEtP0P2N.cjs +1 -0
  2799. package/dist/receipt-swiss-franc-HbSNbUrT.js +25 -0
  2800. package/dist/receipt-text-B04x3BA7.js +25 -0
  2801. package/dist/receipt-text-BUa3un0l.cjs +1 -0
  2802. package/dist/receipt-turkish-lira-CnaP3En6.cjs +1 -0
  2803. package/dist/receipt-turkish-lira-DXTyZh5h.js +21 -0
  2804. package/dist/recordLock-DDOtn4GQ.js +61 -0
  2805. package/dist/recordLock-xxCAgjOM.cjs +1 -0
  2806. package/dist/recordsKey-B7RHk2yz.cjs +1 -0
  2807. package/dist/recordsKey-CztT3AeU.js +141 -0
  2808. package/dist/rectangle-circle-BZn2TiET.cjs +1 -0
  2809. package/dist/rectangle-circle-Bv537iG3.js +16 -0
  2810. package/dist/rectangle-ellipsis-BITV0Kwq.js +30 -0
  2811. package/dist/rectangle-ellipsis-CySveJl5.cjs +1 -0
  2812. package/dist/rectangle-goggles-BmLJAYVJ.js +11 -0
  2813. package/dist/rectangle-goggles-DcU9WdQT.cjs +1 -0
  2814. package/dist/rectangle-horizontal-BwmU8-sA.cjs +1 -0
  2815. package/dist/rectangle-horizontal-SR16Gzjb.js +15 -0
  2816. package/dist/rectangle-vertical-BapIsBt6.js +15 -0
  2817. package/dist/rectangle-vertical-CwHpiSZo.cjs +1 -0
  2818. package/dist/recycle-B-mJZjl2.cjs +1 -0
  2819. package/dist/recycle-wzO_KUP0.js +33 -0
  2820. package/dist/redo-2-ByJBWslN.js +14 -0
  2821. package/dist/redo-2-Cao_PpCc.cjs +1 -0
  2822. package/dist/redo-CBP_UV-T.js +14 -0
  2823. package/dist/redo-dot-BOMMi6Fv.cjs +1 -0
  2824. package/dist/redo-dot-D3QVc2Tp.js +23 -0
  2825. package/dist/redo-qCEdsMHa.cjs +1 -0
  2826. package/dist/refresh-ccw-D7Fucxlm.js +25 -0
  2827. package/dist/refresh-ccw-Dgdb82aJ.cjs +1 -0
  2828. package/dist/refresh-ccw-dot-CqOqUpxF.cjs +1 -0
  2829. package/dist/refresh-ccw-dot-_mQiy5tp.js +31 -0
  2830. package/dist/refresh-cw-BfJAdRgH.cjs +1 -0
  2831. package/dist/refresh-cw-FcMswK5o.js +25 -0
  2832. package/dist/refresh-cw-off-C55QhGxw.cjs +1 -0
  2833. package/dist/refresh-cw-off-DYyzV8tD.js +37 -0
  2834. package/dist/refrigerator-BhYNz1l-.js +21 -0
  2835. package/dist/refrigerator-C2VaRnfR.cjs +1 -0
  2836. package/dist/regex-CZDec1mC.js +25 -0
  2837. package/dist/regex-Chbqs7Mi.cjs +1 -0
  2838. package/dist/registrationFields-DCW1Lro5.js +196 -0
  2839. package/dist/registrationFields-DcdosjpV.cjs +1 -0
  2840. package/dist/remove-formatting-Cbl2TJxI.js +29 -0
  2841. package/dist/remove-formatting-Cf_DTz8p.cjs +1 -0
  2842. package/dist/renderer.cjs.js +1 -1
  2843. package/dist/renderer.es.js +1 -1
  2844. package/dist/repeat-1-CKzGtJRY.cjs +1 -0
  2845. package/dist/repeat-1-DgCnEz6S.js +29 -0
  2846. package/dist/repeat-2-D3GUHd4A.js +25 -0
  2847. package/dist/repeat-2-DZSqBFM0.cjs +1 -0
  2848. package/dist/repeat-BLYgotKi.js +25 -0
  2849. package/dist/repeat-Px-UAIwU.cjs +1 -0
  2850. package/dist/repeat-off-Bz84XuVJ.js +37 -0
  2851. package/dist/repeat-off-CU0o7DAW.cjs +1 -0
  2852. package/dist/replace-ByLvLflG.cjs +1 -0
  2853. package/dist/replace-C5sFTSBo.js +41 -0
  2854. package/dist/replace-all-DMVHdR6E.js +49 -0
  2855. package/dist/replace-all-Poi5JBOj.cjs +1 -0
  2856. package/dist/reply-BZwt63TK.js +14 -0
  2857. package/dist/reply-X3TswMz9.cjs +1 -0
  2858. package/dist/reply-all-BQVIaU0c.js +21 -0
  2859. package/dist/reply-all-CMaEzuyS.cjs +1 -0
  2860. package/dist/rewind-D6IxGCF3.cjs +1 -0
  2861. package/dist/rewind-DUI8zwAu.js +14 -0
  2862. package/dist/ribbon-C6zLPFsH.cjs +1 -0
  2863. package/dist/ribbon-CGdObI0x.js +29 -0
  2864. package/dist/road-BK9hNwUg.js +25 -0
  2865. package/dist/road-Chju_VHq.cjs +1 -0
  2866. package/dist/robot-arm-BJXC7_LJ.js +35 -0
  2867. package/dist/robot-arm-CSTeSeaP.cjs +1 -0
  2868. package/dist/robot-vacuum-Bkcdklrc.cjs +1 -0
  2869. package/dist/robot-vacuum-Cler3fa9.js +43 -0
  2870. package/dist/rocket-CfjK7t8E.js +25 -0
  2871. package/dist/rocket-DL3mAet5.cjs +1 -0
  2872. package/dist/rocking-chair-BRaPwhTe.js +25 -0
  2873. package/dist/rocking-chair-uCj6blLd.cjs +1 -0
  2874. package/dist/roles-DwtkKzCK.cjs +1 -0
  2875. package/dist/roles-Zb1WnOvq.js +147 -0
  2876. package/dist/roller-coaster-DrvIuNVb.cjs +1 -0
  2877. package/dist/roller-coaster-b5FgrHMN.js +37 -0
  2878. package/dist/rose-CiUKL1U6.cjs +1 -0
  2879. package/dist/rose-DM7uYMmH.js +31 -0
  2880. package/dist/rotate-3d-Dv-Se3Fl.js +22 -0
  2881. package/dist/rotate-3d-DyJJyr51.cjs +1 -0
  2882. package/dist/rotate-ccw-DOdu3tYe.cjs +1 -0
  2883. package/dist/rotate-ccw-M_pNcnDZ.js +14 -0
  2884. package/dist/rotate-ccw-clock-90T2Rxc4.js +22 -0
  2885. package/dist/rotate-ccw-clock-DMRIVwZh.cjs +1 -0
  2886. package/dist/rotate-ccw-key-DcmvGn4E.js +31 -0
  2887. package/dist/rotate-ccw-key-hHSQjVvr.cjs +1 -0
  2888. package/dist/rotate-ccw-square-CzBgGegT.cjs +1 -0
  2889. package/dist/rotate-ccw-square-DJaOcRFP.js +21 -0
  2890. package/dist/rotate-cw-Bk0BdJ63.cjs +1 -0
  2891. package/dist/rotate-cw-CqcpgD_T.js +14 -0
  2892. package/dist/rotate-cw-clock-Bbl5OhpK.js +21 -0
  2893. package/dist/rotate-cw-clock-Bs16AdRk.cjs +1 -0
  2894. package/dist/rotate-cw-fading-clock-BX_-2TZc.cjs +1 -0
  2895. package/dist/rotate-cw-fading-clock-EAqn9MZe.js +49 -0
  2896. package/dist/rotate-cw-square-DLb-Kk2y.js +21 -0
  2897. package/dist/rotate-cw-square-DMKF96sa.cjs +1 -0
  2898. package/dist/route-1PcXSc0L.cjs +1 -0
  2899. package/dist/route-CJbhaBml.js +25 -0
  2900. package/dist/route-off-De0fQUUR.cjs +1 -0
  2901. package/dist/route-off-DpY2gL1o.js +41 -0
  2902. package/dist/router-0DWbx23e.cjs +1 -0
  2903. package/dist/router-CR-DGS6T.js +37 -0
  2904. package/dist/rows-2-Bl-WhpsC.js +19 -0
  2905. package/dist/rows-2-Dhz4Tcht.cjs +1 -0
  2906. package/dist/rows-3-CNQPe5G6.cjs +1 -0
  2907. package/dist/rows-3-DrjUzvKk.js +26 -0
  2908. package/dist/rows-4-B-8tYjfV.cjs +1 -0
  2909. package/dist/rows-4-D-v_sfTE.js +29 -0
  2910. package/dist/rss-BNExpBK_.js +23 -0
  2911. package/dist/rss-ByjPgGQp.cjs +1 -0
  2912. package/dist/ruler-38HWsAuw.cjs +1 -0
  2913. package/dist/ruler-dimension-line-BaX1oUFo.cjs +1 -0
  2914. package/dist/ruler-dimension-line-QIfeSaBx.js +45 -0
  2915. package/dist/ruler-tUHdnr15.js +29 -0
  2916. package/dist/russian-ruble-C78u_4Oh.cjs +1 -0
  2917. package/dist/russian-ruble-Ct3X6IG5.js +14 -0
  2918. package/dist/sailboat-B7AjlP-S.js +21 -0
  2919. package/dist/sailboat-BMOjgGr8.cjs +1 -0
  2920. package/dist/salad-CG7bKFEG.js +29 -0
  2921. package/dist/salad-DLseMzwB.cjs +1 -0
  2922. package/dist/sandwich-CNiyuzjH.cjs +1 -0
  2923. package/dist/sandwich-cJhcCusw.js +33 -0
  2924. package/dist/satellite-BhsBlU8X.js +29 -0
  2925. package/dist/satellite-DT-1Y0jq.cjs +1 -0
  2926. package/dist/satellite-dish-CDqAACW2.js +25 -0
  2927. package/dist/satellite-dish-DuZm9UoX.cjs +1 -0
  2928. package/dist/saudi-riyal-Jib7zRG-.js +25 -0
  2929. package/dist/saudi-riyal-VVBM6UHg.cjs +1 -0
  2930. package/dist/save-Cs8yvzQB.js +21 -0
  2931. package/dist/save-D2yV0o5p.cjs +1 -0
  2932. package/dist/save-all-B18OMl3Z.js +25 -0
  2933. package/dist/save-all-BcHwVlQU.cjs +1 -0
  2934. package/dist/save-check-B73_2H_G.cjs +1 -0
  2935. package/dist/save-check-BA3i23CS.js +25 -0
  2936. package/dist/save-off-BQh5XC3x.cjs +1 -0
  2937. package/dist/save-off-cG-7fhYO.js +33 -0
  2938. package/dist/save-pen-B1_lG5s4.js +25 -0
  2939. package/dist/save-pen-BzycWo6U.cjs +1 -0
  2940. package/dist/save-plus-Dax-_6tm.cjs +1 -0
  2941. package/dist/save-plus-Di6UbUEx.js +29 -0
  2942. package/dist/scale-3d-CB-p2cKD.js +30 -0
  2943. package/dist/scale-3d-yG0bsvVX.cjs +1 -0
  2944. package/dist/scale-BRfkVBe0.js +29 -0
  2945. package/dist/scale-Cx8KD0xJ.cjs +1 -0
  2946. package/dist/scaling-CjdEnvfe.cjs +1 -0
  2947. package/dist/scaling-CjlQ6w2a.js +25 -0
  2948. package/dist/scan-CCqGO2Lq.js +25 -0
  2949. package/dist/scan-DiUcFPIb.cjs +1 -0
  2950. package/dist/scan-barcode-DJhZvsT4.cjs +1 -0
  2951. package/dist/scan-barcode-KvIFmauv.js +37 -0
  2952. package/dist/scan-box-DLIyvIKG.js +37 -0
  2953. package/dist/scan-box-r6TWqMgc.cjs +1 -0
  2954. package/dist/scan-eye-1OqoVrg_.js +35 -0
  2955. package/dist/scan-eye-ObmWVjGm.cjs +1 -0
  2956. package/dist/scan-face-BvWDdKHe.cjs +1 -0
  2957. package/dist/scan-face-CYT8HlVo.js +37 -0
  2958. package/dist/scan-heart-B0DJKzI5.cjs +1 -0
  2959. package/dist/scan-heart-ofXdCJ4C.js +29 -0
  2960. package/dist/scan-line-KMu8jDce.cjs +1 -0
  2961. package/dist/scan-line-TDB3e0Gj.js +29 -0
  2962. package/dist/scan-qr-code-DFcPudLP.cjs +1 -0
  2963. package/dist/scan-qr-code-Do666lC0.js +45 -0
  2964. package/dist/scan-search-Dw68Kq4J.js +35 -0
  2965. package/dist/scan-search-pgaLe4yZ.cjs +1 -0
  2966. package/dist/scan-square-DKp46sgu.js +33 -0
  2967. package/dist/scan-square-DzVg7ch_.cjs +1 -0
  2968. package/dist/scan-text-5Gkc1WMv.js +37 -0
  2969. package/dist/scan-text-BjgE6MeM.cjs +1 -0
  2970. package/dist/schedule-BAea6q8_.cjs +2 -0
  2971. package/dist/schedule-C13m_kiO.js +1113 -0
  2972. package/dist/scheduleData-BqMwIStn.js +847 -0
  2973. package/dist/scheduleData-UAGIcBIt.cjs +1 -0
  2974. package/dist/school-BigVWiAW.cjs +1 -0
  2975. package/dist/school-aXnQyWXH.js +35 -0
  2976. package/dist/scissors-C04Y_1MP.js +33 -0
  2977. package/dist/scissors-CyRDb8ZH.cjs +1 -0
  2978. package/dist/scissors-line-dashed-COTQ16gx.cjs +1 -0
  2979. package/dist/scissors-line-dashed-Zpe6iAe9.js +41 -0
  2980. package/dist/scooter-BIkvI8yA.cjs +1 -0
  2981. package/dist/scooter-n0lEuArT.js +29 -0
  2982. package/dist/screen-share-BWxR-yxL.js +29 -0
  2983. package/dist/screen-share-i-94fcOF.cjs +1 -0
  2984. package/dist/screen-share-off-CScsrLHD.cjs +1 -0
  2985. package/dist/screen-share-off-wrXiCbeA.js +29 -0
  2986. package/dist/scroll-1BiFIlT4.cjs +1 -0
  2987. package/dist/scroll-bZOjL0kr.js +14 -0
  2988. package/dist/scroll-text-A9eFmCH2.js +25 -0
  2989. package/dist/scroll-text-DSSJ1ZXs.cjs +1 -0
  2990. package/dist/search-DLUgHSEh.js +16 -0
  2991. package/dist/search-D_SDGa8A.cjs +1 -0
  2992. package/dist/search-alert--9OtHiMl.js +27 -0
  2993. package/dist/search-alert-Dt2wRdqW.cjs +1 -0
  2994. package/dist/search-check-Bpd2BQnM.js +23 -0
  2995. package/dist/search-check-ByZaB0gH.cjs +1 -0
  2996. package/dist/search-code-CP_4loXd.cjs +1 -0
  2997. package/dist/search-code-_ZL6vlYb.js +27 -0
  2998. package/dist/search-slash-D6E3Z8_S.cjs +1 -0
  2999. package/dist/search-slash-m5yefkb5.js +23 -0
  3000. package/dist/search-x-BFln8Iew.js +27 -0
  3001. package/dist/search-x-Co_QQLM2.cjs +1 -0
  3002. package/dist/section-BZplTh55.js +14 -0
  3003. package/dist/section-C2sB9uG0.cjs +1 -0
  3004. package/dist/send-BPxVmXRD.js +14 -0
  3005. package/dist/send-CDGoqskc.cjs +1 -0
  3006. package/dist/send-CWJXtO05.cjs +1 -0
  3007. package/dist/send-D-Vm6vU4.js +17 -0
  3008. package/dist/send-horizontal-ZEikG1z1.js +15 -0
  3009. package/dist/send-horizontal-s7E05qQT.cjs +1 -0
  3010. package/dist/send-to-back-BiX6Uuph.cjs +1 -0
  3011. package/dist/send-to-back-Bm-SFa66.js +33 -0
  3012. package/dist/separator-horizontal-BDh2SwA4.js +21 -0
  3013. package/dist/separator-horizontal-DpX6BVyi.cjs +1 -0
  3014. package/dist/separator-vertical-DrW45zVO.cjs +1 -0
  3015. package/dist/separator-vertical-KCIcbjmU.js +21 -0
  3016. package/dist/server/ai.d.ts +14 -1
  3017. package/dist/server/auth.d.ts +9 -1
  3018. package/dist/server/bookingPay.d.ts +119 -0
  3019. package/dist/server/checks.d.ts +26 -1
  3020. package/dist/server/email.d.ts +3 -1
  3021. package/dist/server/firestore.d.ts +9 -3
  3022. package/dist/server/index.d.ts +132 -0
  3023. package/dist/server/prices.d.ts +25 -0
  3024. package/dist/server/sold.d.ts +13 -2
  3025. package/dist/server/stripeClient.d.ts +29 -2
  3026. package/dist/server-CAHtcdaD.cjs +1 -0
  3027. package/dist/server-DXdIqPVf.js +41 -0
  3028. package/dist/server-cog-3OhVIfBX.cjs +1 -0
  3029. package/dist/server-cog-BJx0DAJg.js +57 -0
  3030. package/dist/server-crash--DgCYlSo.cjs +1 -0
  3031. package/dist/server-crash-CwFC_k-J.js +29 -0
  3032. package/dist/server-off-BB7rRebe.js +33 -0
  3033. package/dist/server-off-BWUC8CaZ.cjs +1 -0
  3034. package/dist/server-plus-Bg4ciCFK.cjs +1 -0
  3035. package/dist/server-plus-y2zNCUoL.js +33 -0
  3036. package/dist/server.cjs.js +6 -6
  3037. package/dist/server.es.js +1776 -1004
  3038. package/dist/serviceStatus-CO-KFQbc.js +125 -0
  3039. package/dist/serviceStatus-aUPGb9Jb.cjs +1 -0
  3040. package/dist/settings-2-BjkgdDXf.js +29 -0
  3041. package/dist/settings-2-Dh0eyPt4.cjs +1 -0
  3042. package/dist/settings-DNdbpzh2.js +16 -0
  3043. package/dist/settings-Q2MNSkKn.cjs +1 -0
  3044. package/dist/shapes-D32X-6Nq.js +27 -0
  3045. package/dist/shapes-DkpdXDvj.cjs +1 -0
  3046. package/dist/share-2-BeSzMnRU.js +41 -0
  3047. package/dist/share-2-Ca5UrRB_.cjs +1 -0
  3048. package/dist/share-BQztmW4O.cjs +1 -0
  3049. package/dist/share-Dtqpi_1e.js +21 -0
  3050. package/dist/sheet-M5YfXR5W.js +46 -0
  3051. package/dist/sheet-efKq4z0h.cjs +1 -0
  3052. package/dist/shell-DLmFWIh2.cjs +1 -0
  3053. package/dist/shell-bPQ4BaFW.js +11 -0
  3054. package/dist/shelving-unit-3E2z7CL_.js +37 -0
  3055. package/dist/shelving-unit-BZcNRQd_.cjs +1 -0
  3056. package/dist/shield-BnacIxTA.js +11 -0
  3057. package/dist/shield-BoP9C-mW.cjs +1 -0
  3058. package/dist/shield-alert-2b2WnmzZ.cjs +1 -0
  3059. package/dist/shield-alert-BPxvJDik.js +21 -0
  3060. package/dist/shield-ban-C2cHvBIt.cjs +1 -0
  3061. package/dist/shield-ban-C4v4t6S7.js +14 -0
  3062. package/dist/shield-check-BK8t2D5p.js +14 -0
  3063. package/dist/shield-check-Bsd5oaif.cjs +1 -0
  3064. package/dist/shield-check-DRQNdYcW.js +17 -0
  3065. package/dist/shield-check-fZlOudrY.cjs +1 -0
  3066. package/dist/shield-cog-C6Kyakih.js +51 -0
  3067. package/dist/shield-cog-corner-B-eHqm2R.js +51 -0
  3068. package/dist/shield-cog-corner-BWLGXw9x.cjs +1 -0
  3069. package/dist/shield-cog-vSVSUt6y.cjs +1 -0
  3070. package/dist/shield-ellipsis-B-lnxayB.cjs +1 -0
  3071. package/dist/shield-ellipsis-DhLYneLB.js +25 -0
  3072. package/dist/shield-half-DVVh13AX.cjs +1 -0
  3073. package/dist/shield-half-DsmJAheg.js +14 -0
  3074. package/dist/shield-keyhole-5haO7qTW.js +23 -0
  3075. package/dist/shield-keyhole-BPXJ4Eqg.cjs +1 -0
  3076. package/dist/shield-lock-BJT1R-A0.cjs +1 -0
  3077. package/dist/shield-lock-DzVlR9G8.js +25 -0
  3078. package/dist/shield-minus-Bsl8LNGP.js +14 -0
  3079. package/dist/shield-minus-fm5vRo9D.cjs +1 -0
  3080. package/dist/shield-off-CCD4n3oI.cjs +1 -0
  3081. package/dist/shield-off-CYssabH9.js +21 -0
  3082. package/dist/shield-plus-CpEt21TL.js +21 -0
  3083. package/dist/shield-plus-DmLDRpBY.cjs +1 -0
  3084. package/dist/shield-question-mark-BCPff0GL.js +22 -0
  3085. package/dist/shield-question-mark-BmHozb5R.cjs +1 -0
  3086. package/dist/shield-user-BOoP05td.js +23 -0
  3087. package/dist/shield-user-BQj_qQIH.cjs +1 -0
  3088. package/dist/shield-x-BTt81S4V.cjs +1 -0
  3089. package/dist/shield-x-BrC2vj9Q.js +22 -0
  3090. package/dist/ship-BtWWrSIY.cjs +1 -0
  3091. package/dist/ship-C790OV7s.js +29 -0
  3092. package/dist/ship-cargo-CcX7l2SE.js +29 -0
  3093. package/dist/ship-cargo-DcC10LnQ.cjs +1 -0
  3094. package/dist/ship-wheel-CqY78_Fi.cjs +1 -0
  3095. package/dist/ship-wheel-D9YnZKeV.js +53 -0
  3096. package/dist/shirt-DoW_1cFY.js +11 -0
  3097. package/dist/shirt-kSFj2Q8v.cjs +1 -0
  3098. package/dist/shopping-bag-CExID1MW.js +21 -0
  3099. package/dist/shopping-bag-YeI5hoV1.cjs +1 -0
  3100. package/dist/shopping-basket-CZmggS4d.cjs +1 -0
  3101. package/dist/shopping-basket-D8a0rQPE.js +37 -0
  3102. package/dist/shopping-cart-QQvMtfSS.js +29 -0
  3103. package/dist/shopping-cart-cfA2CnLG.cjs +1 -0
  3104. package/dist/shopping-cart-minus-CqvpeLRK.js +37 -0
  3105. package/dist/shopping-cart-minus-D7KlD3pb.cjs +1 -0
  3106. package/dist/shopping-cart-plus-CAlFv_Cv.cjs +1 -0
  3107. package/dist/shopping-cart-plus-DAoTGmWj.js +41 -0
  3108. package/dist/shovel-0OMejQYS.js +21 -0
  3109. package/dist/shovel-CCxGnr3y.cjs +1 -0
  3110. package/dist/shower-head-Bx3rxdzS.js +49 -0
  3111. package/dist/shower-head-C5jCDPj0.cjs +1 -0
  3112. package/dist/shredder-BJ_Y65Ql.js +37 -0
  3113. package/dist/shredder-CTiTeNQ0.cjs +1 -0
  3114. package/dist/shrimp-DYXPzB-W.js +29 -0
  3115. package/dist/shrimp-off-BuT3Us26.js +37 -0
  3116. package/dist/shrimp-off-R3lGOrM4.cjs +1 -0
  3117. package/dist/shrimp-omu9au2B.cjs +1 -0
  3118. package/dist/shrink-CBWJVwnq.cjs +1 -0
  3119. package/dist/shrink-DBeEBiVm.js +25 -0
  3120. package/dist/shrub-CX2M01RS.cjs +1 -0
  3121. package/dist/shrub-Cqk5cQ8I.js +21 -0
  3122. package/dist/shuffle-BuNK3a7I.cjs +1 -0
  3123. package/dist/shuffle-XEGo7lEF.js +29 -0
  3124. package/dist/sigma-Cado4-2o.js +11 -0
  3125. package/dist/sigma-SMQHKtc3.cjs +1 -0
  3126. package/dist/signal-DIvongn_.cjs +1 -0
  3127. package/dist/signal-RdNg3c_J.js +29 -0
  3128. package/dist/signal-high-C3zM0RgV.js +25 -0
  3129. package/dist/signal-high-CLj_wQUW.cjs +1 -0
  3130. package/dist/signal-low-CHqt21YH.js +14 -0
  3131. package/dist/signal-low-C_rQY7Rp.cjs +1 -0
  3132. package/dist/signal-medium-B3YkvYfx.js +21 -0
  3133. package/dist/signal-medium-Z9GnjUES.cjs +1 -0
  3134. package/dist/signal-zero-B1lQV8vY.js +11 -0
  3135. package/dist/signal-zero-DZgYRpfX.cjs +1 -0
  3136. package/dist/signature-C6be96MW.js +14 -0
  3137. package/dist/signature-Cux-7h1E.cjs +1 -0
  3138. package/dist/signpost-Bd7mlzS6.cjs +1 -0
  3139. package/dist/signpost-ClQKgH_b.js +21 -0
  3140. package/dist/signpost-big-BTocds7N.cjs +1 -0
  3141. package/dist/signpost-big-COAsnTDI.js +25 -0
  3142. package/dist/siren-Cehd1v1Z.cjs +1 -0
  3143. package/dist/siren-zCXmgDlV.js +41 -0
  3144. package/dist/skip-back-46Ff24TA.cjs +1 -0
  3145. package/dist/skip-back-CzxoJ4vw.js +14 -0
  3146. package/dist/skip-forward-BPFXcKVx.js +14 -0
  3147. package/dist/skip-forward-DstQzd2i.cjs +1 -0
  3148. package/dist/skull-CLmN13KM.cjs +1 -0
  3149. package/dist/skull-CQicsvIy.js +29 -0
  3150. package/dist/slash-Bh6s45h4.cjs +1 -0
  3151. package/dist/slash-OlDwF1t5.js +11 -0
  3152. package/dist/slice-BnINw4bq.js +11 -0
  3153. package/dist/slice-L2UjjX8o.cjs +1 -0
  3154. package/dist/sliders-horizontal-HAEA2Fes.cjs +1 -0
  3155. package/dist/sliders-horizontal-uMfworhd.js +45 -0
  3156. package/dist/sliders-vertical-B6mm2KF8.cjs +1 -0
  3157. package/dist/sliders-vertical-dVUCSbNg.js +46 -0
  3158. package/dist/smartphone-BQpOMHz3.cjs +1 -0
  3159. package/dist/smartphone-DGHBaUno.js +19 -0
  3160. package/dist/smartphone-charging--6_fjJpw.cjs +1 -0
  3161. package/dist/smartphone-charging-CHC3Klv1.js +19 -0
  3162. package/dist/smartphone-nfc-BkBgN6vH.cjs +1 -0
  3163. package/dist/smartphone-nfc-CIFCGUUC.js +29 -0
  3164. package/dist/snail-Dm9oWTZ7.js +31 -0
  3165. package/dist/snail-zy-bKOMB.cjs +1 -0
  3166. package/dist/snowflake-CtFMKfUP.js +57 -0
  3167. package/dist/snowflake-Dgf1w4oO.cjs +1 -0
  3168. package/dist/soap-dispenser-droplet-B4jhKmds.js +25 -0
  3169. package/dist/soap-dispenser-droplet-BeBBbaMw.cjs +1 -0
  3170. package/dist/sofa-DPfG59Aw.cjs +1 -0
  3171. package/dist/sofa-DX1ErYEg.js +29 -0
  3172. package/dist/solar-panel-4F8TCaT8.cjs +1 -0
  3173. package/dist/solar-panel-DBtDew6L.js +37 -0
  3174. package/dist/soup-BCRQvVoW.js +33 -0
  3175. package/dist/soup-Cc1etsv4.cjs +1 -0
  3176. package/dist/space-CPzBPneF.js +11 -0
  3177. package/dist/space-Dl1_K_9V.cjs +1 -0
  3178. package/dist/spade-BQJz_cJz.js +14 -0
  3179. package/dist/spade-v4sBMUN6.cjs +1 -0
  3180. package/dist/sparkle-CRUVmKNV.cjs +1 -0
  3181. package/dist/sparkle-DAy21dSK.js +11 -0
  3182. package/dist/sparkles-BVCh1UXw.cjs +1 -0
  3183. package/dist/sparkles-CCEa_E4W.js +28 -0
  3184. package/dist/speaker-BkZATgAI.cjs +1 -0
  3185. package/dist/speaker-CrqFLMth.js +31 -0
  3186. package/dist/speech-Ceg0cI-G.js +21 -0
  3187. package/dist/speech-VRhMkU66.cjs +1 -0
  3188. package/dist/spell-check-2-CJpdBm_J.cjs +1 -0
  3189. package/dist/spell-check-2-Dg-AnwpK.js +21 -0
  3190. package/dist/spell-check-EmCJV_G6.js +21 -0
  3191. package/dist/spell-check-hBKmp9qu.cjs +1 -0
  3192. package/dist/spline-CcJmecgf.js +25 -0
  3193. package/dist/spline-D6AKeOCQ.cjs +1 -0
  3194. package/dist/spline-pointer-Cf1Fobvz.cjs +1 -0
  3195. package/dist/spline-pointer-DJFELVGp.js +29 -0
  3196. package/dist/split-Bo3iCDuJ.js +25 -0
  3197. package/dist/split-CX3p2QW6.cjs +1 -0
  3198. package/dist/spool-3Qt7FF3k.js +14 -0
  3199. package/dist/spool-C7yzEL0S.cjs +1 -0
  3200. package/dist/sport-shoe-D_vgMFiQ.cjs +1 -0
  3201. package/dist/sport-shoe-qE2iKha8.js +21 -0
  3202. package/dist/spotlight-CUpyj2t_.cjs +1 -0
  3203. package/dist/spotlight-hTOKUSMe.js +29 -0
  3204. package/dist/spray-can-Dn_OVJR0.js +52 -0
  3205. package/dist/spray-can-fmd6pR2x.cjs +1 -0
  3206. package/dist/sprout-D3G5Z6wT.cjs +1 -0
  3207. package/dist/sprout-Dwvl5RV7.js +21 -0
  3208. package/dist/square-BJnOHHF6.cjs +1 -0
  3209. package/dist/square-CQOad28P.js +15 -0
  3210. package/dist/square-activity-DYYlEUWG.js +19 -0
  3211. package/dist/square-activity-vw8_7832.cjs +1 -0
  3212. package/dist/square-arrow-down-BfTP3Otg.cjs +1 -0
  3213. package/dist/square-arrow-down-CUAdKRsF.js +26 -0
  3214. package/dist/square-arrow-down-left-B15xfpYz.cjs +1 -0
  3215. package/dist/square-arrow-down-left-BlyECJmg.js +26 -0
  3216. package/dist/square-arrow-down-right-BYMfv2TY.js +26 -0
  3217. package/dist/square-arrow-down-right-C_YeJeMl.cjs +1 -0
  3218. package/dist/square-arrow-left-BllnN3Vk.cjs +1 -0
  3219. package/dist/square-arrow-left-q4c6G58v.js +26 -0
  3220. package/dist/square-arrow-out-down-left-C8pu8sXQ.js +22 -0
  3221. package/dist/square-arrow-out-down-left-ND10pttA.cjs +1 -0
  3222. package/dist/square-arrow-out-down-right-Bg3129Nd.cjs +1 -0
  3223. package/dist/square-arrow-out-down-right-D3TUrL8C.js +22 -0
  3224. package/dist/square-arrow-out-up-left-DcfUsVpz.js +22 -0
  3225. package/dist/square-arrow-out-up-left-_Lz4gDj5.cjs +1 -0
  3226. package/dist/square-arrow-out-up-right-CBQtBeW1.js +22 -0
  3227. package/dist/square-arrow-out-up-right-CQgPIkIR.cjs +1 -0
  3228. package/dist/square-arrow-right-ODkGj4wb.js +26 -0
  3229. package/dist/square-arrow-right-T0MEiJqX.cjs +1 -0
  3230. package/dist/square-arrow-right-enter-C4t3HzCs.cjs +1 -0
  3231. package/dist/square-arrow-right-enter-nNTSGQ5R.js +21 -0
  3232. package/dist/square-arrow-right-exit-5DkCRDq7.cjs +1 -0
  3233. package/dist/square-arrow-right-exit-DWoMVMM2.js +21 -0
  3234. package/dist/square-arrow-up-CNrqQ3o-.cjs +1 -0
  3235. package/dist/square-arrow-up-D7zPwoNX.js +26 -0
  3236. package/dist/square-arrow-up-left-BcuvtYkI.js +26 -0
  3237. package/dist/square-arrow-up-left-CVq0Gu-i.cjs +1 -0
  3238. package/dist/square-arrow-up-right-BlowN3vs.cjs +1 -0
  3239. package/dist/square-arrow-up-right-DGNdeNsi.js +26 -0
  3240. package/dist/square-asterisk-CMvH9uQ9.cjs +1 -0
  3241. package/dist/square-asterisk-DFOiXLH_.js +30 -0
  3242. package/dist/square-bookmark-BLRz0AqE.js +19 -0
  3243. package/dist/square-bookmark-w-h4UTB3.cjs +1 -0
  3244. package/dist/square-bottom-dashed-scissors-ZtM2cxTg.js +46 -0
  3245. package/dist/square-bottom-dashed-scissors-_mixRu2C.cjs +1 -0
  3246. package/dist/square-centerline-dashed-horizontal-B8sqbJ9-.js +34 -0
  3247. package/dist/square-centerline-dashed-horizontal-CZ9oU6vW.cjs +1 -0
  3248. package/dist/square-centerline-dashed-vertical-UlaLFFkL.cjs +1 -0
  3249. package/dist/square-centerline-dashed-vertical-Z3Vtmys6.js +34 -0
  3250. package/dist/square-chart-gantt-BSU1pz62.js +30 -0
  3251. package/dist/square-chart-gantt-C1hlJ7mU.cjs +1 -0
  3252. package/dist/square-check-Dz5LGtus.js +19 -0
  3253. package/dist/square-check-big-CwLwgHCB.js +15 -0
  3254. package/dist/square-check-big-D8_td4EV.cjs +1 -0
  3255. package/dist/square-check-wKcJtimI.cjs +1 -0
  3256. package/dist/square-chevron-down-BGm9kC6M.cjs +1 -0
  3257. package/dist/square-chevron-down-CaJEp-tR.js +19 -0
  3258. package/dist/square-chevron-left-4e4vpwgu.js +19 -0
  3259. package/dist/square-chevron-left-guABgVBu.cjs +1 -0
  3260. package/dist/square-chevron-right-CJyP-7WG.cjs +1 -0
  3261. package/dist/square-chevron-right-DsgspXbo.js +19 -0
  3262. package/dist/square-chevron-up-BT53f3Gb.js +19 -0
  3263. package/dist/square-chevron-up-CZkTM-GB.cjs +1 -0
  3264. package/dist/square-code-B0l_3MSv.js +26 -0
  3265. package/dist/square-code-EgLTjVN6.cjs +1 -0
  3266. package/dist/square-dashed-B99i1srJ.js +58 -0
  3267. package/dist/square-dashed-H3vx9bo0.cjs +1 -0
  3268. package/dist/square-dashed-bottom-DyabSoiN.js +21 -0
  3269. package/dist/square-dashed-bottom-code-6xevOPXz.cjs +1 -0
  3270. package/dist/square-dashed-bottom-code-DthGOlDz.js +29 -0
  3271. package/dist/square-dashed-bottom-yalrslHS.cjs +1 -0
  3272. package/dist/square-dashed-kanban-BjXxFh-2.cjs +1 -0
  3273. package/dist/square-dashed-kanban-CVM-ii36.js +70 -0
  3274. package/dist/square-dashed-mouse-pointer-CuGC_vJg.js +50 -0
  3275. package/dist/square-dashed-mouse-pointer-D-Izirpa.cjs +1 -0
  3276. package/dist/square-dashed-plus-A7g7gO6c.js +65 -0
  3277. package/dist/square-dashed-plus-DihHziEw.cjs +1 -0
  3278. package/dist/square-dashed-text-BcF79VUf.cjs +1 -0
  3279. package/dist/square-dashed-text-DaKjqo7I.js +70 -0
  3280. package/dist/square-dashed-top-solid-BdPm-idG.js +45 -0
  3281. package/dist/square-dashed-top-solid-DM-6Ua1a.cjs +1 -0
  3282. package/dist/square-dashed-x-CWFEvFRd.js +65 -0
  3283. package/dist/square-dashed-x-DXvREXKP.cjs +1 -0
  3284. package/dist/square-dashed-x-corner-D9ONY9BW.cjs +1 -0
  3285. package/dist/square-dashed-x-corner-j751GHAw.js +53 -0
  3286. package/dist/square-dimensions-BLB7S8wc.js +25 -0
  3287. package/dist/square-dimensions-DVuC5HO3.cjs +1 -0
  3288. package/dist/square-divide-2k-k0enT.cjs +1 -0
  3289. package/dist/square-divide-BlKFaVq4.js +40 -0
  3290. package/dist/square-dot-Bl9YKXWk.js +21 -0
  3291. package/dist/square-dot-DknsmeXW.cjs +1 -0
  3292. package/dist/square-equal-B_vd3XE7.cjs +1 -0
  3293. package/dist/square-equal-ocbheWLF.js +26 -0
  3294. package/dist/square-exclamation-point-B1Ca2Z53.cjs +1 -0
  3295. package/dist/square-exclamation-point-C-QolYgK.js +31 -0
  3296. package/dist/square-function-CfCrxem7.js +27 -0
  3297. package/dist/square-function-DmztvGg1.cjs +1 -0
  3298. package/dist/square-kanban-ByBn2YLG.js +30 -0
  3299. package/dist/square-kanban-CrqBH4B-.cjs +1 -0
  3300. package/dist/square-library-CHHNI1WS.js +30 -0
  3301. package/dist/square-library-FxF3swCi.cjs +1 -0
  3302. package/dist/square-m-B24u2jUi.cjs +1 -0
  3303. package/dist/square-m-BgkTvn9F.js +19 -0
  3304. package/dist/square-menu-B5zZzlTc.js +30 -0
  3305. package/dist/square-menu-C1ok7_iV.cjs +1 -0
  3306. package/dist/square-minus-BSLmYGqe.cjs +1 -0
  3307. package/dist/square-minus-Cip3OvQW.js +19 -0
  3308. package/dist/square-mouse-pointer-BES1ivs6.cjs +1 -0
  3309. package/dist/square-mouse-pointer-DuEiBJ4I.js +15 -0
  3310. package/dist/square-off-BZ7CLE4e.js +21 -0
  3311. package/dist/square-off-CC-wPjq7.cjs +1 -0
  3312. package/dist/square-parking-DHsjs_cu.cjs +1 -0
  3313. package/dist/square-parking-off-BwLhOP9G.js +30 -0
  3314. package/dist/square-parking-off-DrDjmZs3.cjs +1 -0
  3315. package/dist/square-parking-qfQvtSt1.js +19 -0
  3316. package/dist/square-pause-0a1adbqI.cjs +1 -0
  3317. package/dist/square-pause-eLEXHwDG.js +31 -0
  3318. package/dist/square-pen-CrPjK02p.cjs +1 -0
  3319. package/dist/square-pen-OjCAqfL1.js +19 -0
  3320. package/dist/square-percent-ByymuYJ4.js +30 -0
  3321. package/dist/square-percent-TciYspKP.cjs +1 -0
  3322. package/dist/square-pi-DGek4z-E.js +30 -0
  3323. package/dist/square-pi-DTW-j2EW.cjs +1 -0
  3324. package/dist/square-pilcrow-7wiUEv7d.cjs +1 -0
  3325. package/dist/square-pilcrow-BkIdxDgU.js +30 -0
  3326. package/dist/square-play-CyXN-EFQ.js +19 -0
  3327. package/dist/square-play-DeAS9lAF.cjs +1 -0
  3328. package/dist/square-plus-BiFzgYmy.cjs +1 -0
  3329. package/dist/square-plus-uMmugCe2.js +26 -0
  3330. package/dist/square-power-B0zdR9wh.cjs +1 -0
  3331. package/dist/square-power-Bc4rcrff.js +26 -0
  3332. package/dist/square-radical-Cp4D7cnN.cjs +1 -0
  3333. package/dist/square-radical-DbM-DDwy.js +18 -0
  3334. package/dist/square-round-corner-B2FOv-Xt.cjs +1 -0
  3335. package/dist/square-round-corner-Dk9fQ4bt.js +14 -0
  3336. package/dist/square-scissors-C81_fr1o.cjs +1 -0
  3337. package/dist/square-scissors-sPROOjBQ.js +42 -0
  3338. package/dist/square-sigma-BABEFlnh.js +19 -0
  3339. package/dist/square-sigma-CEK74Yuh.cjs +1 -0
  3340. package/dist/square-slash-BVK1kmlz.js +22 -0
  3341. package/dist/square-slash-Dos5d5JN.cjs +1 -0
  3342. package/dist/square-split-horizontal-BDxZ6jKT.js +22 -0
  3343. package/dist/square-split-horizontal-mKE2iO0L.cjs +1 -0
  3344. package/dist/square-split-vertical-BoAP_TxJ.cjs +1 -0
  3345. package/dist/square-split-vertical-Q8LQFNaH.js +22 -0
  3346. package/dist/square-square-C_qPxtcu.js +22 -0
  3347. package/dist/square-square-D3FQbScM.cjs +1 -0
  3348. package/dist/square-stack-Chip4BQI.cjs +1 -0
  3349. package/dist/square-stack-fjpexSMR.js +25 -0
  3350. package/dist/square-star-BTzo3vVT.js +18 -0
  3351. package/dist/square-star-Cs3wP12U.cjs +1 -0
  3352. package/dist/square-stop-CDLYj3rK.js +22 -0
  3353. package/dist/square-stop-CbUFhJQU.cjs +1 -0
  3354. package/dist/square-terminal-BeHS5FxM.js +27 -0
  3355. package/dist/square-terminal-DXBO4BhB.cjs +1 -0
  3356. package/dist/square-text-DB81JGKk.js +29 -0
  3357. package/dist/square-text-DjStlXip.cjs +1 -0
  3358. package/dist/square-user-BddfVDXF.js +28 -0
  3359. package/dist/square-user-Djyb5OFu.cjs +1 -0
  3360. package/dist/square-user-round-BFZZl184.cjs +1 -0
  3361. package/dist/square-user-round-DDMlCCq2.js +28 -0
  3362. package/dist/square-x-BveHzT96.js +27 -0
  3363. package/dist/square-x-DuGUElUH.cjs +1 -0
  3364. package/dist/squares-exclude-9Ia5Wgx1.js +14 -0
  3365. package/dist/squares-exclude-CCj0d3vg.cjs +1 -0
  3366. package/dist/squares-intersect-BNfx45QQ.js +53 -0
  3367. package/dist/squares-intersect-DdlIOfHm.cjs +1 -0
  3368. package/dist/squares-subtract-CM8QXeUG.cjs +1 -0
  3369. package/dist/squares-subtract-DBPy3wky.js +33 -0
  3370. package/dist/squares-unite-Beiwspav.cjs +1 -0
  3371. package/dist/squares-unite-yW-xjK1N.js +11 -0
  3372. package/dist/squircle-6uy4melM.js +11 -0
  3373. package/dist/squircle-C2_-x_7z.cjs +1 -0
  3374. package/dist/squircle-dashed-113dgKfC.js +41 -0
  3375. package/dist/squircle-dashed-yQVaU2HX.cjs +1 -0
  3376. package/dist/squirrel-DGQ270P7.cjs +1 -0
  3377. package/dist/squirrel-eEahlwvi.js +25 -0
  3378. package/dist/stamp-DGcgNB3u.cjs +1 -0
  3379. package/dist/stamp-QvztIKSo.js +21 -0
  3380. package/dist/star-CU7CcJHD.cjs +1 -0
  3381. package/dist/star-Dq5-pGjB.js +11 -0
  3382. package/dist/star-check-BCE2R7Es.cjs +1 -0
  3383. package/dist/star-check-Bh8wFTe1.js +14 -0
  3384. package/dist/star-half-CGa5zY_0.cjs +1 -0
  3385. package/dist/star-half-DMUOseat.js +11 -0
  3386. package/dist/star-minus-Bz8JMlMi.js +14 -0
  3387. package/dist/star-minus-o3U0WjFU.cjs +1 -0
  3388. package/dist/star-off-C9_jmUd5.cjs +1 -0
  3389. package/dist/star-off-DTa43eKr.js +21 -0
  3390. package/dist/star-plus-7Gje6Dh5.cjs +1 -0
  3391. package/dist/star-plus-Cl6vzHcE.js +21 -0
  3392. package/dist/star-x-B5WjF_3C.cjs +1 -0
  3393. package/dist/star-x-BXvF_vxG.js +21 -0
  3394. package/dist/step-back-DIL933Sz.cjs +1 -0
  3395. package/dist/step-back-DiRVcctW.js +14 -0
  3396. package/dist/step-forward-DI6_JCgC.js +14 -0
  3397. package/dist/step-forward-ayPy3ty-.cjs +1 -0
  3398. package/dist/stethoscope-DanjfLW2.cjs +1 -0
  3399. package/dist/stethoscope-u2G8V4JL.js +31 -0
  3400. package/dist/sticker-CK63h3v-.js +29 -0
  3401. package/dist/sticker-DG7DDuLH.cjs +1 -0
  3402. package/dist/sticky-note-C6oOF2u8.cjs +1 -0
  3403. package/dist/sticky-note-NaV18aXr.js +14 -0
  3404. package/dist/sticky-note-check-CDrvXlNw.js +21 -0
  3405. package/dist/sticky-note-check-Y0mzbbU9.cjs +1 -0
  3406. package/dist/sticky-note-minus-D3ItfmJ0.cjs +1 -0
  3407. package/dist/sticky-note-minus-jPJsHAQ-.js +21 -0
  3408. package/dist/sticky-note-off-BGoIEh_l.cjs +1 -0
  3409. package/dist/sticky-note-off-CcDRHML7.js +25 -0
  3410. package/dist/sticky-note-plus-CHceqGRd.cjs +1 -0
  3411. package/dist/sticky-note-plus-DJkmmJ-s.js +25 -0
  3412. package/dist/sticky-note-x-BMr7bLCp.js +25 -0
  3413. package/dist/sticky-note-x-Bn1Bixhg.cjs +1 -0
  3414. package/dist/sticky-notes--02Q_O5s.js +25 -0
  3415. package/dist/sticky-notes-D3zQ8ET3.cjs +1 -0
  3416. package/dist/stone-BAtIOB-X.cjs +1 -0
  3417. package/dist/stone-PQ8qX5f0.js +21 -0
  3418. package/dist/store-9sVl3FgM.cjs +1 -0
  3419. package/dist/store-BEupeW-w.js +21 -0
  3420. package/dist/stretch-horizontal-BB12Rahc.cjs +1 -0
  3421. package/dist/stretch-horizontal-a0L02LAU.js +22 -0
  3422. package/dist/stretch-vertical-D77F11gJ.cjs +1 -0
  3423. package/dist/stretch-vertical-DD7T1xnU.js +22 -0
  3424. package/dist/strikethrough-D1o2gQjx.js +24 -0
  3425. package/dist/strikethrough-FgbCaKU3.cjs +1 -0
  3426. package/dist/subscript-Qo2TBJPU.js +21 -0
  3427. package/dist/subscript-lvAE19Gp.cjs +1 -0
  3428. package/dist/summary-B7cY-4V2.js +29 -0
  3429. package/dist/summary-BwQDMx7m.cjs +1 -0
  3430. package/dist/sun-C41QshSb.js +47 -0
  3431. package/dist/sun-CZ4W3rUZ.cjs +1 -0
  3432. package/dist/sun-dim-B9zjifc6.cjs +1 -0
  3433. package/dist/sun-dim-BoihzAKh.js +47 -0
  3434. package/dist/sun-medium-C1yDwUfa.js +47 -0
  3435. package/dist/sun-medium-grr3lZTP.cjs +1 -0
  3436. package/dist/sun-moon-B5lZLKC7.js +29 -0
  3437. package/dist/sun-moon-BXJyX2qD.cjs +1 -0
  3438. package/dist/sun-snow-BRuANYkw.cjs +1 -0
  3439. package/dist/sun-snow-DByU3bhu.js +53 -0
  3440. package/dist/sunrise-DTPrT0CX.cjs +1 -0
  3441. package/dist/sunrise-GTYuSx_e.js +41 -0
  3442. package/dist/sunset-DFx1bWWR.cjs +1 -0
  3443. package/dist/sunset-LB82VKch.js +41 -0
  3444. package/dist/superscript-C4WD00Td.cjs +1 -0
  3445. package/dist/superscript-C4iQuoLx.js +21 -0
  3446. package/dist/swatch-book-9KYBwmFu.cjs +1 -0
  3447. package/dist/swatch-book-o_jqnztm.js +25 -0
  3448. package/dist/swiss-franc-BHm6xfEo.js +21 -0
  3449. package/dist/swiss-franc-Bu9R8DWg.cjs +1 -0
  3450. package/dist/switch-camera-BBCuEWz_.cjs +1 -0
  3451. package/dist/switch-camera-CUgm6a8x.js +31 -0
  3452. package/dist/sword-C1W7ZxPX.js +25 -0
  3453. package/dist/sword-DA4ydr7t.cjs +1 -0
  3454. package/dist/swords-CebtQWc4.js +41 -0
  3455. package/dist/swords-DrDhwiUY.cjs +1 -0
  3456. package/dist/syringe-C3-G0NCF.js +33 -0
  3457. package/dist/syringe-DSn547bo.cjs +1 -0
  3458. package/dist/tabAudience-B5m1co1L.cjs +1 -0
  3459. package/dist/tabAudience-DtTBYIJB.js +34 -0
  3460. package/dist/table-2-B3wJJV3b.cjs +1 -0
  3461. package/dist/table-2-iOQay1g3.js +25 -0
  3462. package/dist/table-B4veOuIx.cjs +1 -0
  3463. package/dist/table-D_faPkIn.js +29 -0
  3464. package/dist/table-cells-merge-DRSJSkH7.js +33 -0
  3465. package/dist/table-cells-merge-w3zR5Rwr.cjs +1 -0
  3466. package/dist/table-cells-split-BcxVkae1.cjs +1 -0
  3467. package/dist/table-cells-split-CeDJPalc.js +29 -0
  3468. package/dist/table-columns-split-2sBrjkPi.js +53 -0
  3469. package/dist/table-columns-split-DsF0-ecV.cjs +1 -0
  3470. package/dist/table-of-contents-CLXDAtjZ.js +33 -0
  3471. package/dist/table-of-contents-CogjqGwJ.cjs +1 -0
  3472. package/dist/table-properties-B496ihJk.cjs +1 -0
  3473. package/dist/table-properties-BlMOB2vA.js +29 -0
  3474. package/dist/table-rows-split-D0-T9orA.js +53 -0
  3475. package/dist/table-rows-split-Dfltlg4n.cjs +1 -0
  3476. package/dist/tablet-BZs8Wvmk.js +22 -0
  3477. package/dist/tablet-YK_OH6DD.cjs +1 -0
  3478. package/dist/tablet-smartphone-BnKJAsyN.js +25 -0
  3479. package/dist/tablet-smartphone-CRlHcnHD.cjs +1 -0
  3480. package/dist/tablets-B3XJHwQM.js +29 -0
  3481. package/dist/tablets-HTyeqfA2.cjs +1 -0
  3482. package/dist/tag-B8jXc114.js +17 -0
  3483. package/dist/tag-CsdSd6gj.cjs +1 -0
  3484. package/dist/tag-plus-DkpjFmE6.js +28 -0
  3485. package/dist/tag-plus-pHgtTGGr.cjs +1 -0
  3486. package/dist/tag-x-BC0w_42s.cjs +1 -0
  3487. package/dist/tag-x-CmASH25a.js +28 -0
  3488. package/dist/tags-BynTDYU_.js +24 -0
  3489. package/dist/tags-Sa7TaQLY.cjs +1 -0
  3490. package/dist/tally-1-BWF998Bw.cjs +1 -0
  3491. package/dist/tally-1-C21sbPgz.js +11 -0
  3492. package/dist/tally-2-DUBrGR3H.js +14 -0
  3493. package/dist/tally-2-mJHnhiTP.cjs +1 -0
  3494. package/dist/tally-3-DHZDYS6O.js +21 -0
  3495. package/dist/tally-3-qvko9QdP.cjs +1 -0
  3496. package/dist/tally-4-hZ_z6-e3.cjs +1 -0
  3497. package/dist/tally-4-xVaLMIk8.js +25 -0
  3498. package/dist/tally-5-D0imrV6V.cjs +1 -0
  3499. package/dist/tally-5-Sg9V3O0B.js +29 -0
  3500. package/dist/tangent-CafmimQr.js +29 -0
  3501. package/dist/tangent-sXUO_QGD.cjs +1 -0
  3502. package/dist/target-B0knJQ7T.cjs +1 -0
  3503. package/dist/target-BDPfdGwx.js +27 -0
  3504. package/dist/telescope-CmFKbeVA.js +39 -0
  3505. package/dist/telescope-zPBnC14e.cjs +1 -0
  3506. package/dist/tent-BM159TkJ.cjs +1 -0
  3507. package/dist/tent-b70AlKr8.js +25 -0
  3508. package/dist/tent-tree-DROFvD3l.js +39 -0
  3509. package/dist/tent-tree-Fyxfev-y.cjs +1 -0
  3510. package/dist/terminal-BwSpC7dt.js +14 -0
  3511. package/dist/terminal-DmrISEoi.cjs +1 -0
  3512. package/dist/test-tube-BBNlKAfI.cjs +1 -0
  3513. package/dist/test-tube-diagonal-DUAlmjqL.cjs +1 -0
  3514. package/dist/test-tube-diagonal-NPZ56RIG.js +22 -0
  3515. package/dist/test-tube-zp-xBSyd.js +21 -0
  3516. package/dist/test-tubes-GSuI2uHI.cjs +1 -0
  3517. package/dist/test-tubes-H6-Y0M2N.js +33 -0
  3518. package/dist/text-align-center-CD1wCnd_.cjs +1 -0
  3519. package/dist/text-align-center-CLMAFnTB.js +22 -0
  3520. package/dist/text-align-end-BPKMdEmI.cjs +1 -0
  3521. package/dist/text-align-end-ezGVYzbm.js +22 -0
  3522. package/dist/text-align-justify-B8PM25Ff.js +22 -0
  3523. package/dist/text-align-justify-maZ-xODd.cjs +1 -0
  3524. package/dist/text-align-start-BFOYrpqa.cjs +1 -0
  3525. package/dist/text-align-start-CVtJQXHw.js +22 -0
  3526. package/dist/text-cursor-BYJ7Leji.js +21 -0
  3527. package/dist/text-cursor-CvyBQy7-.cjs +1 -0
  3528. package/dist/text-cursor-input-C5yOQMxE.js +29 -0
  3529. package/dist/text-cursor-input-_kdJiXNe.cjs +1 -0
  3530. package/dist/text-initial-CPM1Znax.js +30 -0
  3531. package/dist/text-initial-Lw7Hkilo.cjs +1 -0
  3532. package/dist/text-quote-B8Cb2khQ.cjs +1 -0
  3533. package/dist/text-quote-vQpjAUNs.js +25 -0
  3534. package/dist/text-search-BMtQH6j4.cjs +1 -0
  3535. package/dist/text-search-Bu_yXlfc.js +31 -0
  3536. package/dist/text-wrap-DaPjlCVH.cjs +1 -0
  3537. package/dist/text-wrap-NdQOIvRL.js +26 -0
  3538. package/dist/theater-CVm-rnNe.js +45 -0
  3539. package/dist/theater-yUZaQrcA.cjs +1 -0
  3540. package/dist/thermometer-CYPYEaml.cjs +1 -0
  3541. package/dist/thermometer-CfUF6VDi.js +11 -0
  3542. package/dist/thermometer-snowflake-BXGhP8kd.cjs +1 -0
  3543. package/dist/thermometer-snowflake-CwgvFBGL.js +41 -0
  3544. package/dist/thermometer-sun-Bw-wmXWJ.js +33 -0
  3545. package/dist/thermometer-sun-CP1-wlyO.cjs +1 -0
  3546. package/dist/thumbs-down-oUIZRoXm.js +14 -0
  3547. package/dist/thumbs-down-uyVbsUvQ.cjs +1 -0
  3548. package/dist/thumbs-up-Bi_HGGHI.cjs +1 -0
  3549. package/dist/thumbs-up-bTw-mNFe.js +14 -0
  3550. package/dist/tic-tac-toe-BESa2U4m.js +45 -0
  3551. package/dist/tic-tac-toe-BeMiqhW1.cjs +1 -0
  3552. package/dist/ticket-CqHujwB-.cjs +1 -0
  3553. package/dist/ticket-DuN8k5ql.js +25 -0
  3554. package/dist/ticket-check-DHKNYtYD.cjs +1 -0
  3555. package/dist/ticket-check-DyYJkMTB.js +14 -0
  3556. package/dist/ticket-minus-DDl_Xtxl.js +14 -0
  3557. package/dist/ticket-minus-K_gp8Zzn.cjs +1 -0
  3558. package/dist/ticket-percent-CD8dpQ9S.js +25 -0
  3559. package/dist/ticket-percent-DO4SKnGa.cjs +1 -0
  3560. package/dist/ticket-plus-1ag3_QAX.cjs +1 -0
  3561. package/dist/ticket-plus-YMBNDipH.js +21 -0
  3562. package/dist/ticket-slash-CId4GVZR.cjs +1 -0
  3563. package/dist/ticket-slash-fOv1s6VQ.js +14 -0
  3564. package/dist/ticket-x-CuqcioIP.cjs +1 -0
  3565. package/dist/ticket-x-lwKu0_Af.js +21 -0
  3566. package/dist/tickets-DTdj-XYS.cjs +1 -0
  3567. package/dist/tickets-DXrfHhk_.js +33 -0
  3568. package/dist/tickets-plane-gVyPhNro.cjs +1 -0
  3569. package/dist/tickets-plane-tWUaWCxd.js +41 -0
  3570. package/dist/timeline-BiiAw5CC.cjs +1 -0
  3571. package/dist/timeline-CD9GqO5n.js +41 -0
  3572. package/dist/timer-BvTvlI1-.cjs +1 -0
  3573. package/dist/timer-DZKi-fFQ.js +29 -0
  3574. package/dist/timer-off--F6vfY5p.cjs +1 -0
  3575. package/dist/timer-off-mf0-H8pr.js +29 -0
  3576. package/dist/timer-reset-Cu0T348b.js +25 -0
  3577. package/dist/timer-reset-lHkzTx_F.cjs +1 -0
  3578. package/dist/toggle-left-CpsrUC5k.js +20 -0
  3579. package/dist/toggle-left-lCrKPcL6.cjs +1 -0
  3580. package/dist/toggle-right-C06p2ZK5.cjs +1 -0
  3581. package/dist/toggle-right-DBEFU0Fp.js +20 -0
  3582. package/dist/toilet-C0fvxWqx.cjs +1 -0
  3583. package/dist/toilet-D7gEjBaS.js +14 -0
  3584. package/dist/tool-case-BCIsKVj9.cjs +1 -0
  3585. package/dist/tool-case-BwQblEyF.js +25 -0
  3586. package/dist/toolbox-B3XzAEOE.cjs +1 -0
  3587. package/dist/toolbox-DE5Uup5_.js +29 -0
  3588. package/dist/toothbrush-CW9JjW8j.js +14 -0
  3589. package/dist/toothbrush-JzFlxeQA.cjs +1 -0
  3590. package/dist/toothbrush-sparkles-DrIMGibM.js +45 -0
  3591. package/dist/toothbrush-sparkles-w4xgszTo.cjs +1 -0
  3592. package/dist/tornado-BbsibCeq.cjs +1 -0
  3593. package/dist/tornado-CYqswz6-.js +29 -0
  3594. package/dist/torus-B3ZsT_yJ.js +20 -0
  3595. package/dist/torus-bLE6UZAs.cjs +1 -0
  3596. package/dist/touchpad-BCl-Cqm7.cjs +1 -0
  3597. package/dist/touchpad-XEIn5C3c.js +25 -0
  3598. package/dist/touchpad-off-CZswvX5K.cjs +1 -0
  3599. package/dist/touchpad-off-DflePR0f.js +33 -0
  3600. package/dist/towel-rack-DmZuijSR.js +21 -0
  3601. package/dist/towel-rack-uhmuFjek.cjs +1 -0
  3602. package/dist/tower-control-BW2mNELF.js +37 -0
  3603. package/dist/tower-control-CKaCXLYt.cjs +1 -0
  3604. package/dist/toy-brick-CNMMJv6u.js +25 -0
  3605. package/dist/toy-brick-CoHFJgF7.cjs +1 -0
  3606. package/dist/tractor-IVMnKA_m.js +49 -0
  3607. package/dist/tractor-WZa_7T_0.cjs +1 -0
  3608. package/dist/traffic-cone-Dw8oubGM.js +25 -0
  3609. package/dist/traffic-cone-cY2-I1Tz.cjs +1 -0
  3610. package/dist/trailer-Bzr6ezZY.cjs +1 -0
  3611. package/dist/trailer-Ctg5rTPO.js +35 -0
  3612. package/dist/train-front-B_Naa9fb.cjs +1 -0
  3613. package/dist/train-front-BpVuQEjL.js +33 -0
  3614. package/dist/train-front-tunnel-CgXR3lDp.js +37 -0
  3615. package/dist/train-front-tunnel-IKcQwLVI.cjs +1 -0
  3616. package/dist/train-track-Bq_Zx3g1.cjs +1 -0
  3617. package/dist/train-track-Dc1c-1lY.js +37 -0
  3618. package/dist/tram-front-DBHsjBFV.cjs +1 -0
  3619. package/dist/tram-front-Dz7Nh-vL.js +42 -0
  3620. package/dist/transactions-C67T1CC4.cjs +1 -0
  3621. package/dist/transactions-Df3U_shE.js +343 -0
  3622. package/dist/transgender-C4iJO8wn.js +43 -0
  3623. package/dist/transgender-CxUNFNtc.cjs +1 -0
  3624. package/dist/trash-6Wj66gJi.js +33 -0
  3625. package/dist/trash-B8mfiwpW.cjs +1 -0
  3626. package/dist/trash-D-CpYHCs.cjs +1 -0
  3627. package/dist/trash-NM1uYI3F.js +30 -0
  3628. package/dist/trash-off-BpIZABpq.cjs +1 -0
  3629. package/dist/trash-off-C5kMFkez.js +41 -0
  3630. package/dist/tree-deciduous-CEF5h2mI.cjs +1 -0
  3631. package/dist/tree-deciduous-PGuXwBhP.js +14 -0
  3632. package/dist/tree-palm-BhGwdFSP.js +26 -0
  3633. package/dist/tree-palm-sqKgNBvl.cjs +1 -0
  3634. package/dist/tree-pine-3S9jX7aP.cjs +1 -0
  3635. package/dist/tree-pine-CGBVL9kH.js +14 -0
  3636. package/dist/trees-CwH0gV5k.js +25 -0
  3637. package/dist/trees-Dp6saMSk.cjs +1 -0
  3638. package/dist/trending-down-CeOUex6A.cjs +1 -0
  3639. package/dist/trending-down-SntrIUMY.js +14 -0
  3640. package/dist/trending-up-BliLdAea.js +14 -0
  3641. package/dist/trending-up-CBUyFRFU.cjs +1 -0
  3642. package/dist/trending-up-down-Dd8DA_jN.cjs +1 -0
  3643. package/dist/trending-up-down-QW5h9Kdy.js +25 -0
  3644. package/dist/triangle-alert-DnrFjRXq.cjs +1 -0
  3645. package/dist/triangle-alert-DqH5dznf.js +22 -0
  3646. package/dist/triangle-dashed-IU455jZM.js +45 -0
  3647. package/dist/triangle-dashed-ZOMQv9jX.cjs +1 -0
  3648. package/dist/triangle-hpdQrxTi.cjs +1 -0
  3649. package/dist/triangle-ofzsiR_p.js +11 -0
  3650. package/dist/triangle-right-Bc7cLt8P.cjs +1 -0
  3651. package/dist/triangle-right-CHGLRfNK.js +11 -0
  3652. package/dist/triangles-centerline-dashed-horizontal-0OmnO0r7.cjs +1 -0
  3653. package/dist/triangles-centerline-dashed-horizontal-BL1_ikLu.js +34 -0
  3654. package/dist/triangles-centerline-dashed-vertical-BTPSXOP1.js +34 -0
  3655. package/dist/triangles-centerline-dashed-vertical-BgAzPeow.cjs +1 -0
  3656. package/dist/trophy-C4aH_7rR.cjs +1 -0
  3657. package/dist/trophy-C7mO3m0U.js +33 -0
  3658. package/dist/truck-BtGToLha.js +33 -0
  3659. package/dist/truck-DNG9qOBk.cjs +1 -0
  3660. package/dist/truck-electric-D5Frf1rN.js +41 -0
  3661. package/dist/truck-electric-DDJKPzad.cjs +1 -0
  3662. package/dist/tube-lotion-IIQUeQWf.js +21 -0
  3663. package/dist/tube-lotion-wIUhD5l9.cjs +1 -0
  3664. package/dist/turkish-lira-DuUID20y.cjs +1 -0
  3665. package/dist/turkish-lira-kVk52FTO.js +21 -0
  3666. package/dist/turntable-Cr8qtLZb.cjs +1 -0
  3667. package/dist/turntable-D7y90Iw0.js +31 -0
  3668. package/dist/turtle-CGIoYX76.cjs +1 -0
  3669. package/dist/turtle-DsAr405o.js +25 -0
  3670. package/dist/tv-BhEMO_4Y.cjs +1 -0
  3671. package/dist/tv-DmF7rBSO.js +18 -0
  3672. package/dist/tv-minimal-BU1OKLdD.js +19 -0
  3673. package/dist/tv-minimal-DGpmjX6R.cjs +1 -0
  3674. package/dist/tv-minimal-play-DdpqaKCS.js +25 -0
  3675. package/dist/tv-minimal-play-NdHBNttz.cjs +1 -0
  3676. package/dist/type-BZLUzCR0.cjs +1 -0
  3677. package/dist/type-CEohffBf.js +21 -0
  3678. package/dist/type-outline-Bg1fEftA.js +11 -0
  3679. package/dist/type-outline-ob35kL3F.cjs +1 -0
  3680. package/dist/umbrella-BkOvAVlC.cjs +1 -0
  3681. package/dist/umbrella-dKVFVDhM.js +21 -0
  3682. package/dist/umbrella-off-6RjlwM_B.js +29 -0
  3683. package/dist/umbrella-off-OAaHG1WA.cjs +1 -0
  3684. package/dist/underline-BkBdeXpe.cjs +1 -0
  3685. package/dist/underline-CRRuACJ3.js +17 -0
  3686. package/dist/undo-2-D9-Zic0H.js +14 -0
  3687. package/dist/undo-2-rGgQhYNt.cjs +1 -0
  3688. package/dist/undo-LpOdr38u.js +14 -0
  3689. package/dist/undo-SDWQ_JpW.cjs +1 -0
  3690. package/dist/undo-dot-DAwkfMD-.js +23 -0
  3691. package/dist/undo-dot-VDx53W6X.cjs +1 -0
  3692. package/dist/unfold-horizontal-BiD7TOE6.cjs +1 -0
  3693. package/dist/unfold-horizontal-CBontQAq.js +41 -0
  3694. package/dist/unfold-vertical-BgACg230.cjs +1 -0
  3695. package/dist/unfold-vertical-ByCrTpU1.js +41 -0
  3696. package/dist/ungroup-B78jeujo.js +22 -0
  3697. package/dist/ungroup-Bd0WipKa.cjs +1 -0
  3698. package/dist/university-4fIkX6IH.js +40 -0
  3699. package/dist/university-f4EfTmbL.cjs +1 -0
  3700. package/dist/unlink-2-BvzAIi6f.js +11 -0
  3701. package/dist/unlink-2-NyH0i3ik.cjs +1 -0
  3702. package/dist/unlink-BVIiMTx_.cjs +1 -0
  3703. package/dist/unlink-BbDIEr8_.js +45 -0
  3704. package/dist/unplug-Bk3Ty4vw.js +33 -0
  3705. package/dist/unplug-BqgjNjvv.cjs +1 -0
  3706. package/dist/upload-C5PoO5qj.js +21 -0
  3707. package/dist/upload-D6yX32u2.cjs +1 -0
  3708. package/dist/usb-BB54xvBP.cjs +1 -0
  3709. package/dist/usb-CS0qNgrH.js +41 -0
  3710. package/dist/usb-c-port-CgiFyxbq.cjs +1 -0
  3711. package/dist/usb-c-port-ufB_lc1b.js +18 -0
  3712. package/dist/user-DttDRIbj.js +16 -0
  3713. package/dist/user-RxxGlJl-.cjs +1 -0
  3714. package/dist/user-check-DOgR2RLL.js +23 -0
  3715. package/dist/user-check-dCRPwrue.cjs +1 -0
  3716. package/dist/user-cog-BOvpXoXJ.js +57 -0
  3717. package/dist/user-cog-CSrCu-If.cjs +1 -0
  3718. package/dist/user-group-CXTgI5zl.js +39 -0
  3719. package/dist/user-group-DC6_SF-S.cjs +1 -0
  3720. package/dist/user-key-C1EjzmNB.js +33 -0
  3721. package/dist/user-key-Dkq-JeT-.cjs +1 -0
  3722. package/dist/user-lock-B0eVthAA.js +31 -0
  3723. package/dist/user-lock-CnTATl_Q.cjs +1 -0
  3724. package/dist/user-minus-C3hvjTim.js +26 -0
  3725. package/dist/user-minus-SFeLBSnQ.cjs +1 -0
  3726. package/dist/user-pen-CK2Ocsro.cjs +1 -0
  3727. package/dist/user-pen-_Vb4-UUB.js +23 -0
  3728. package/dist/user-plus-CCd2jrmI.js +33 -0
  3729. package/dist/user-plus-bozPEfQD.cjs +1 -0
  3730. package/dist/user-round-BMDi_9PF.cjs +1 -0
  3731. package/dist/user-round-BXAihGcZ.js +20 -0
  3732. package/dist/user-round-DUV_u2Tg.cjs +1 -0
  3733. package/dist/user-round-EEo7VoHy.js +17 -0
  3734. package/dist/user-round-arrow-left-CBBSDWir.cjs +1 -0
  3735. package/dist/user-round-arrow-left-DExrX5bR.js +27 -0
  3736. package/dist/user-round-check-BhsBysrR.cjs +1 -0
  3737. package/dist/user-round-check-CRCWoquj.js +24 -0
  3738. package/dist/user-round-cog-BN3poeoH.js +58 -0
  3739. package/dist/user-round-cog-DlYMGHZ4.cjs +1 -0
  3740. package/dist/user-round-group-CSgDLHYM.js +39 -0
  3741. package/dist/user-round-group-wyMtg4Zb.cjs +1 -0
  3742. package/dist/user-round-key-B-2aeOKT.cjs +1 -0
  3743. package/dist/user-round-key-B571KdKO.js +33 -0
  3744. package/dist/user-round-minus-BlTFUYxb.cjs +1 -0
  3745. package/dist/user-round-minus-CHJ0dA_8.js +24 -0
  3746. package/dist/user-round-pen-DVeWwoFp.cjs +1 -0
  3747. package/dist/user-round-pen-Djg67GnS.js +23 -0
  3748. package/dist/user-round-plus-BqtLSBaH.js +28 -0
  3749. package/dist/user-round-plus-aXaBdwND.cjs +1 -0
  3750. package/dist/user-round-search-CUmFHdaF.js +29 -0
  3751. package/dist/user-round-search-CyRKWR74.cjs +1 -0
  3752. package/dist/user-round-x-FSEGD-bk.cjs +1 -0
  3753. package/dist/user-round-x-K6TjrvBX.js +28 -0
  3754. package/dist/user-search-DblIsUY0.js +29 -0
  3755. package/dist/user-search-S4eWpk3N.cjs +1 -0
  3756. package/dist/user-shield-CztbgbEX.js +23 -0
  3757. package/dist/user-shield-_nq3sS-V.cjs +1 -0
  3758. package/dist/user-star-BILRZSc-.js +23 -0
  3759. package/dist/user-star-c0LMhRfa.cjs +1 -0
  3760. package/dist/user-x-DU6oXh3k.js +33 -0
  3761. package/dist/user-x-DoX6Hjda.cjs +1 -0
  3762. package/dist/users-CmHd3vG7.cjs +1 -0
  3763. package/dist/users-DOQZ--od.js +27 -0
  3764. package/dist/users-round-BZaHnjcw.js +24 -0
  3765. package/dist/users-round-TY42hlml.cjs +1 -0
  3766. package/dist/utensils-CZyjmxpq.cjs +1 -0
  3767. package/dist/utensils-CeL_OeR8.js +22 -0
  3768. package/dist/utensils-crossed-BLm69xZz.js +26 -0
  3769. package/dist/utensils-crossed-Dy2TIBVU.cjs +1 -0
  3770. package/dist/utility-pole-DAhHN2ez.cjs +1 -0
  3771. package/dist/utility-pole-DGc45R77.js +37 -0
  3772. package/dist/van-B-uWvX95.js +33 -0
  3773. package/dist/van-CpdL3wFg.cjs +1 -0
  3774. package/dist/variable-BlaUYaTG.cjs +1 -0
  3775. package/dist/variable-C0v8Zd5A.js +31 -0
  3776. package/dist/vault-DB1JCwVu.js +67 -0
  3777. package/dist/vault-Dke1lV08.cjs +1 -0
  3778. package/dist/vector-polygon-D-bSmCq1.js +49 -0
  3779. package/dist/vector-polygon-dzgrw1Pk.cjs +1 -0
  3780. package/dist/vector-square-CFsxsgAS.cjs +1 -0
  3781. package/dist/vector-square-vxkOnWJy.js +49 -0
  3782. package/dist/vegan-B1JBCQnQ.js +21 -0
  3783. package/dist/vegan-BWSaWjop.cjs +1 -0
  3784. package/dist/venetian-mask-Bg2nENZF.js +21 -0
  3785. package/dist/venetian-mask-DR4r5k3Z.cjs +1 -0
  3786. package/dist/venus-BzGERU-Y.js +23 -0
  3787. package/dist/venus-CdavqYU1.cjs +1 -0
  3788. package/dist/venus-and-mars-Dt1qqm97.js +31 -0
  3789. package/dist/venus-and-mars-wsgG9JB3.cjs +1 -0
  3790. package/dist/vibrate-CIsjuy9Y.js +25 -0
  3791. package/dist/vibrate-DeYnpany.cjs +1 -0
  3792. package/dist/vibrate-off-9SZN2ili.js +32 -0
  3793. package/dist/vibrate-off-C1761f3x.cjs +1 -0
  3794. package/dist/video-D0-N0CxG.js +18 -0
  3795. package/dist/video-DaqmXhJa.cjs +1 -0
  3796. package/dist/video-off-DahWMmiS.js +21 -0
  3797. package/dist/video-off-DhZzTDZ2.cjs +1 -0
  3798. package/dist/videotape-B29nNfNs.cjs +1 -0
  3799. package/dist/videotape-D8qxOTGH.js +37 -0
  3800. package/dist/view-3TGQYOKt.cjs +1 -0
  3801. package/dist/view-80pmwK5R.js +27 -0
  3802. package/dist/virus-94K78MUQ.cjs +1 -0
  3803. package/dist/virus-CCPpE-F9.js +91 -0
  3804. package/dist/virus-off-B_9tP7Zi.cjs +1 -0
  3805. package/dist/virus-off-CuAvSGxj.js +89 -0
  3806. package/dist/vite/appIcons.d.ts +6 -0
  3807. package/dist/vite/canonical.d.ts +1 -1
  3808. package/dist/vite/discover.d.ts +46 -5
  3809. package/dist/vite/pageRecords.d.ts +137 -0
  3810. package/dist/vite/runtimeChecks.d.ts +122 -0
  3811. package/dist/vite/validate.d.ts +103 -3
  3812. package/dist/vite.cjs.js +39 -9
  3813. package/dist/vite.es.js +111 -75
  3814. package/dist/voicemail-CRqFN4aE.js +28 -0
  3815. package/dist/voicemail-CjApN8RB.cjs +1 -0
  3816. package/dist/volleyball-C4g2OT9U.cjs +1 -0
  3817. package/dist/volleyball-KsB5xmP1.js +35 -0
  3818. package/dist/volume-1-9yHoGUjs.js +14 -0
  3819. package/dist/volume-1-C6X3iTmZ.cjs +1 -0
  3820. package/dist/volume-2-C9-1f04T.js +21 -0
  3821. package/dist/volume-2-CUsgO6JU.cjs +1 -0
  3822. package/dist/volume-B_96y9hV.cjs +1 -0
  3823. package/dist/volume-DkZha5fd.js +11 -0
  3824. package/dist/volume-off-DQwFdqC3.cjs +1 -0
  3825. package/dist/volume-off-bzTUWoJw.js +29 -0
  3826. package/dist/volume-x-C7Y00tmb.js +21 -0
  3827. package/dist/volume-x-mbsPUaDW.cjs +1 -0
  3828. package/dist/vote-QbEa4Lk6.js +21 -0
  3829. package/dist/vote-X-ZDTJVZ.cjs +1 -0
  3830. package/dist/wallet-DNdu5MYO.js +14 -0
  3831. package/dist/wallet-DqycjZhG.cjs +1 -0
  3832. package/dist/wallet-cards-Bh98L_dY.cjs +1 -0
  3833. package/dist/wallet-cards-Dl-UPy2e.js +25 -0
  3834. package/dist/wallet-minimal-KMhlXzKJ.js +15 -0
  3835. package/dist/wallet-minimal-QcdKfduH.cjs +1 -0
  3836. package/dist/wallpaper-IavThPhD.cjs +1 -0
  3837. package/dist/wallpaper-oXoqfqYn.js +35 -0
  3838. package/dist/wand-BUexwIH4.js +45 -0
  3839. package/dist/wand-Cv8kcKg4.cjs +1 -0
  3840. package/dist/wand-sparkles-BX8uOcuM.cjs +1 -0
  3841. package/dist/wand-sparkles-CAWGfuUH.js +42 -0
  3842. package/dist/warehouse-B6n8s10B.cjs +1 -0
  3843. package/dist/warehouse-Dp_WbuGP.js +25 -0
  3844. package/dist/washing-machine-C0wpFczi.cjs +1 -0
  3845. package/dist/washing-machine-gICDJGnz.js +35 -0
  3846. package/dist/watch-Cx7uoA-7.cjs +1 -0
  3847. package/dist/watch-DEfegr0G.js +27 -0
  3848. package/dist/waves-arrow-down-CdlmMwtn.cjs +1 -0
  3849. package/dist/waves-arrow-down-CoGSW9n1.js +25 -0
  3850. package/dist/waves-arrow-up-CBEwuQgJ.js +25 -0
  3851. package/dist/waves-arrow-up-D8wkFgze.cjs +1 -0
  3852. package/dist/waves-horizontal-Cadi8vUL.js +22 -0
  3853. package/dist/waves-horizontal-DMLVp6Pc.cjs +1 -0
  3854. package/dist/waves-ladder-CMGwC6iR.js +29 -0
  3855. package/dist/waves-ladder-DYKrZ2XJ.cjs +1 -0
  3856. package/dist/waves-vertical-CBzXBMER.js +21 -0
  3857. package/dist/waves-vertical-CnbS8CIZ.cjs +1 -0
  3858. package/dist/waypoints-7T7inbp6.js +45 -0
  3859. package/dist/waypoints-B2T46aqe.cjs +1 -0
  3860. package/dist/webcam-D6FyeSMd.cjs +1 -0
  3861. package/dist/webcam-off-BAj8iEoP.js +37 -0
  3862. package/dist/webcam-off-DQ_8B1oG.cjs +1 -0
  3863. package/dist/webcam-xLRJ-Mri.js +29 -0
  3864. package/dist/webhook-DJ3cvqiN.js +21 -0
  3865. package/dist/webhook-off-D1Gb2NOc.js +37 -0
  3866. package/dist/webhook-off-D25z-A3s.cjs +1 -0
  3867. package/dist/webhook-rvrB246v.cjs +1 -0
  3868. package/dist/weight-B0tzSE_I.cjs +1 -0
  3869. package/dist/weight-FMajIxN7.js +16 -0
  3870. package/dist/weight-tilde-C3e6wFmG.js +23 -0
  3871. package/dist/weight-tilde-gKmP8gLl.cjs +1 -0
  3872. package/dist/wheat-CG7Ly9Qy.js +41 -0
  3873. package/dist/wheat-XM_dBWTu.cjs +1 -0
  3874. package/dist/wheat-off-D3GV882r.js +52 -0
  3875. package/dist/wheat-off-DH1EIXIb.cjs +1 -0
  3876. package/dist/whistle-BvEw1iy1.js +14 -0
  3877. package/dist/whistle-Dhwi0XGU.cjs +1 -0
  3878. package/dist/whole-word-B6dIs-aa.js +33 -0
  3879. package/dist/whole-word-fBMdxIpO.cjs +1 -0
  3880. package/dist/wifi-BlscvHA6.cjs +1 -0
  3881. package/dist/wifi-DkCOVsmU.js +25 -0
  3882. package/dist/wifi-cog-DoEK5poR.js +59 -0
  3883. package/dist/wifi-cog-nkV0VlAd.cjs +1 -0
  3884. package/dist/wifi-high-Cmpuy_Nh.js +21 -0
  3885. package/dist/wifi-high-DCtuxwTf.cjs +1 -0
  3886. package/dist/wifi-low-CkeDeOHU.js +14 -0
  3887. package/dist/wifi-low-U-zzB1Co.cjs +1 -0
  3888. package/dist/wifi-off-Bf1nXaIZ.cjs +1 -0
  3889. package/dist/wifi-off-CgODclCn.js +37 -0
  3890. package/dist/wifi-pen-CabOEH3x.js +25 -0
  3891. package/dist/wifi-pen-K3YOlUbK.cjs +1 -0
  3892. package/dist/wifi-sync-Bz9kYlCl.cjs +1 -0
  3893. package/dist/wifi-sync-CM1RcWEh.js +37 -0
  3894. package/dist/wifi-zero-DsVjpmLw.cjs +1 -0
  3895. package/dist/wifi-zero-VilgCDUE.js +11 -0
  3896. package/dist/wind-CWX3yb1X.js +21 -0
  3897. package/dist/wind-Co3d1ynX.cjs +1 -0
  3898. package/dist/wind-arrow-down-CuAn8-rt.cjs +1 -0
  3899. package/dist/wind-arrow-down-DVzRLGg_.js +25 -0
  3900. package/dist/wine-QYje3qTW.js +25 -0
  3901. package/dist/wine-hyKWwgX0.cjs +1 -0
  3902. package/dist/wine-off-CfL5mEye.js +32 -0
  3903. package/dist/wine-off-IYnk1Xrn.cjs +1 -0
  3904. package/dist/workflow-DVtNQ85q.js +29 -0
  3905. package/dist/workflow-DaP9RdoO.cjs +1 -0
  3906. package/dist/worm-CXW0Y-Na.js +21 -0
  3907. package/dist/worm-Du7nKods.cjs +1 -0
  3908. package/dist/wrench-DwN4B6lk.js +11 -0
  3909. package/dist/wrench-aDMIp0pu.cjs +1 -0
  3910. package/dist/wrench-off-2hcl6pUN.js +21 -0
  3911. package/dist/wrench-off-kcCy34va.cjs +1 -0
  3912. package/dist/x-B9bZiwMI.cjs +1 -0
  3913. package/dist/x-CeNGPGs2.js +14 -0
  3914. package/dist/x-Ci8c5p6T.cjs +1 -0
  3915. package/dist/x-hax8aKt8.js +41 -0
  3916. package/dist/x-line-top-B92-aDec.js +21 -0
  3917. package/dist/x-line-top-Dwb_NL6w.cjs +1 -0
  3918. package/dist/your-ai-workflow-firebase-os.cjs.js +14 -14
  3919. package/dist/your-ai-workflow-firebase-os.css +1 -1
  3920. package/dist/your-ai-workflow-firebase-os.es.js +6740 -6096
  3921. package/dist/zap-5qu3N67-.js +11 -0
  3922. package/dist/zap-Dy_sEOZj.cjs +1 -0
  3923. package/dist/zap-off-Bl6odAXJ.js +25 -0
  3924. package/dist/zap-off-DBMfeJ7R.cjs +1 -0
  3925. package/dist/zodiac-aquarius-CA6NVljG.js +14 -0
  3926. package/dist/zodiac-aquarius-Dilvpxut.cjs +1 -0
  3927. package/dist/zodiac-aries-CIvVn7KP.js +14 -0
  3928. package/dist/zodiac-aries-Dl-DQO4j.cjs +1 -0
  3929. package/dist/zodiac-cancer-0rdde4am.cjs +1 -0
  3930. package/dist/zodiac-cancer-DBgWe4LU.js +29 -0
  3931. package/dist/zodiac-capricorn-DeJZWSyR.js +23 -0
  3932. package/dist/zodiac-capricorn-ImoPeMEl.cjs +1 -0
  3933. package/dist/zodiac-gemini-C6UXyFVk.cjs +1 -0
  3934. package/dist/zodiac-gemini-DiPi5oDs.js +25 -0
  3935. package/dist/zodiac-leo-B7teI9jc.js +16 -0
  3936. package/dist/zodiac-leo-DNb38d8Y.cjs +1 -0
  3937. package/dist/zodiac-libra-B6g2n8YF.cjs +1 -0
  3938. package/dist/zodiac-libra-I4qHYGdg.js +14 -0
  3939. package/dist/zodiac-ophiuchus-C-ZJZIYq.js +14 -0
  3940. package/dist/zodiac-ophiuchus-DC8vyrkd.cjs +1 -0
  3941. package/dist/zodiac-pisces-BAUMr9ZM.js +21 -0
  3942. package/dist/zodiac-pisces-UD9fGI8i.cjs +1 -0
  3943. package/dist/zodiac-sagittarius-DBH2QxWH.js +21 -0
  3944. package/dist/zodiac-sagittarius-LhjNSQOI.cjs +1 -0
  3945. package/dist/zodiac-scorpio-Bc28HZN2.js +25 -0
  3946. package/dist/zodiac-scorpio-CtECo4tw.cjs +1 -0
  3947. package/dist/zodiac-taurus-BBSvxsXu.cjs +1 -0
  3948. package/dist/zodiac-taurus-fw_Qs-HM.js +16 -0
  3949. package/dist/zodiac-virgo-CBuwAgUM.js +25 -0
  3950. package/dist/zodiac-virgo-CasZZMea.cjs +1 -0
  3951. package/dist/zoom-in-CbSpkXKe.cjs +1 -0
  3952. package/dist/zoom-in-pWwb0SRI.js +36 -0
  3953. package/dist/zoom-out-ByJbCQ88.js +29 -0
  3954. package/dist/zoom-out-dXthJ6kL.cjs +1 -0
  3955. package/package.json +1 -1
  3956. package/scripts/postinstall.js +39 -7
  3957. package/src/index.css +21 -1
  3958. package/dist/AddressField-9Sqn8TvC.js +0 -368
  3959. package/dist/AddressField-B7wtV8yA.cjs +0 -1
  3960. package/dist/Assets-DBMwZ3bN.cjs +0 -1
  3961. package/dist/Assets-DT-NU_WO.js +0 -296
  3962. package/dist/Attachments-Bl9_dfsu.js +0 -46
  3963. package/dist/Attachments-UVK9SRXf.cjs +0 -1
  3964. package/dist/Billing-0RIHayHy.cjs +0 -1
  3965. package/dist/Billing-FNE2r3_d.js +0 -379
  3966. package/dist/BookingCalendar-BP5kiv3d.cjs +0 -1
  3967. package/dist/BookingCalendar-DZ2fEFja.js +0 -309
  3968. package/dist/Button-4lzOE31p.js +0 -48
  3969. package/dist/Button-5DlB2MCi.cjs +0 -1
  3970. package/dist/CalendarView-BimoXy_k.cjs +0 -1
  3971. package/dist/CalendarView-D-ykjpvI.js +0 -664
  3972. package/dist/ConfirmModal-Di9GR-vV.cjs +0 -1
  3973. package/dist/ConfirmModal-gKQEpd4d.js +0 -113
  3974. package/dist/ContactPopup-BXnHrRwl.js +0 -1114
  3975. package/dist/ContactPopup-lxmRMoIa.cjs +0 -1
  3976. package/dist/CopyLink-BpEQWmfI.cjs +0 -1
  3977. package/dist/CopyLink-CBAVfcm1.js +0 -43
  3978. package/dist/DashboardNav-CXa_ci-_.cjs +0 -1
  3979. package/dist/DashboardNav-Dmn7PVSp.js +0 -886
  3980. package/dist/EmailAdmin-CjN_rvxT.js +0 -318
  3981. package/dist/EmailAdmin-lAEBdY1s.cjs +0 -1
  3982. package/dist/EventCard-46EquygT.cjs +0 -1
  3983. package/dist/EventCard-B6xD-mk3.js +0 -97
  3984. package/dist/FileViewerPopup-CX-J75TM.js +0 -1283
  3985. package/dist/FileViewerPopup-D8-MmIoS.cjs +0 -3
  3986. package/dist/FormNote-BivRNA3J.js +0 -50
  3987. package/dist/FormNote-BtdTGpml.cjs +0 -1
  3988. package/dist/FormsAdmin-B5PBCG2W.js +0 -812
  3989. package/dist/FormsAdmin-BQCULvi5.cjs +0 -1
  3990. package/dist/Inbox-BPk2ZkE5.js +0 -779
  3991. package/dist/Inbox-DNrcBx0o.cjs +0 -3
  3992. package/dist/Loader-Bu89fsbB.cjs +0 -1
  3993. package/dist/Loader-D4gwgBOq.js +0 -32
  3994. package/dist/ManagePlanButton-B0dwqZBd.cjs +0 -1
  3995. package/dist/ManagePlanButton-BSrOHYze.js +0 -29
  3996. package/dist/MyBookings-6qr0GgzO.cjs +0 -1
  3997. package/dist/MyBookings-BQjGM2LQ.js +0 -113
  3998. package/dist/PageTitle-CZhgmmDT.cjs +0 -3
  3999. package/dist/PageTitle-D93YCiN8.js +0 -1606
  4000. package/dist/PagesAdmin-BcHIcqM5.cjs +0 -34
  4001. package/dist/PagesAdmin-D69P9nRb.js +0 -5802
  4002. package/dist/PagesAdmin-DNwZOKjA.cjs +0 -1
  4003. package/dist/PagesAdmin-HUITEcHx.js +0 -3
  4004. package/dist/PaymentsAdmin-C2iCI9qC.js +0 -1291
  4005. package/dist/PaymentsAdmin-CoXi2vCm.cjs +0 -2
  4006. package/dist/PhoneInputField-BEwYZMB7.cjs +0 -1
  4007. package/dist/PhoneInputField-BG0L2djE.js +0 -130
  4008. package/dist/PhoneInputField-DfOtCIH_.js +0 -2
  4009. package/dist/PhoneInputField-jhWvto8C.cjs +0 -1
  4010. package/dist/Popup-DHYGFl2-.cjs +0 -1
  4011. package/dist/Popup-xROLytgr.js +0 -142
  4012. package/dist/ProviderMark-BBfaM5Yl.js +0 -52
  4013. package/dist/ProviderMark-xLkUN3Fx.cjs +0 -1
  4014. package/dist/PublishApp-Bm-6r3Td.js +0 -595
  4015. package/dist/PublishApp-D4XJUkJa.cjs +0 -2
  4016. package/dist/Said-CoC15awL.js +0 -94
  4017. package/dist/Said-IqCNofdh.cjs +0 -1
  4018. package/dist/ScheduleAdmin-BKfQkrR8.js +0 -1853
  4019. package/dist/ScheduleAdmin-DwK36GAZ.cjs +0 -1
  4020. package/dist/SchedulePicker--urIH2Eb.js +0 -112
  4021. package/dist/SchedulePicker-nmqzUnUH.cjs +0 -1
  4022. package/dist/Setup-CHLgd-ag.js +0 -849
  4023. package/dist/Setup-CaDranTm.cjs +0 -1374
  4024. package/dist/SetupPayments-CVIwh1eQ.js +0 -411
  4025. package/dist/SetupPayments-HNXWA25X.cjs +0 -1
  4026. package/dist/SignInAdmin-C94-A-0w.cjs +0 -4
  4027. package/dist/SignInAdmin-Yxgv_8U4.js +0 -766
  4028. package/dist/SupportBar-CDT0HwdP.cjs +0 -1
  4029. package/dist/SupportBar-CN_JGC-9.js +0 -117
  4030. package/dist/SystemTabContent-L3vGGF3P.cjs +0 -1
  4031. package/dist/SystemTabContent-QdxxLILE.js +0 -35
  4032. package/dist/TemplateDrive-DV8zNjYe.cjs +0 -1
  4033. package/dist/TemplateDrive-NJY_AAvV.js +0 -1197
  4034. package/dist/ThemeAdmin-BzFjJkLg.js +0 -269
  4035. package/dist/ThemeAdmin-DVnPNxe7.cjs +0 -1
  4036. package/dist/ThemeAdmin-DY7Vc4Sj.cjs +0 -3
  4037. package/dist/ThemeAdmin-DnC-D2N3.js +0 -2
  4038. package/dist/TimeZoneField-DkI1Bkcz.js +0 -11098
  4039. package/dist/TimeZoneField-qs7NPR30.cjs +0 -12
  4040. package/dist/TransactionsAdmin-BsZ-oQWi.js +0 -582
  4041. package/dist/TransactionsAdmin-CTSTiPld.cjs +0 -1
  4042. package/dist/Trouble-9es_AI4F.cjs +0 -1
  4043. package/dist/Trouble-oWt9fMsm.js +0 -164
  4044. package/dist/Users-CTitWXyd.cjs +0 -1
  4045. package/dist/Users-DJjQTWJF.js +0 -1207
  4046. package/dist/aiModels-DIP9fn8T.cjs +0 -1
  4047. package/dist/aiModels-DnDhNGup.js +0 -229
  4048. package/dist/arrivalRoads-BJ-35vkk.js +0 -228
  4049. package/dist/arrivalRoads-qoU-B4jt.cjs +0 -4
  4050. package/dist/bake-n2wyFw0B.cjs +0 -38
  4051. package/dist/bake-naZeMu98.js +0 -10289
  4052. package/dist/bookingPages-C7a3srPG.js +0 -102
  4053. package/dist/bookingPages-DvbFbD9X.cjs +0 -1
  4054. package/dist/chunk-NnHqS4_Y.js +0 -20
  4055. package/dist/contentFallback-C9MZjdq7.cjs +0 -1
  4056. package/dist/contentFallback-CEDY0Pwp.js +0 -96
  4057. package/dist/email-BfnZnMwD.cjs +0 -1
  4058. package/dist/email-Ddj8Dlu6.js +0 -58
  4059. package/dist/fileBytes-BJPaiX9Y.cjs +0 -1
  4060. package/dist/fileBytes-bjgvCfWu.js +0 -146
  4061. package/dist/forms-Bvx9HTM6.js +0 -75
  4062. package/dist/lucide-react-BwV6L6Is.cjs +0 -1
  4063. package/dist/lucide-react-CA7GD7Nv.js +0 -53982
  4064. package/dist/mediaKind-D0MWyv6b.cjs +0 -1
  4065. package/dist/mediaKind-DmKMsjeY.js +0 -188
  4066. package/dist/notices-B7iIrIEg.js +0 -29
  4067. package/dist/notices-upMg8UVh.cjs +0 -1
  4068. package/dist/pageFiles--Ih60ITP.js +0 -45
  4069. package/dist/pageFiles-UtBmlOcD.cjs +0 -1
  4070. package/dist/people-2jZE_pdI.js +0 -102
  4071. package/dist/people-BpVvIr9-.cjs +0 -1
  4072. package/dist/publishSteps-C1cDFzzB.js +0 -88
  4073. package/dist/publishSteps-SSm8afDw.cjs +0 -1
  4074. package/dist/recordLock-DHVvI9bP.js +0 -61
  4075. package/dist/recordLock-DWeIxiwh.cjs +0 -1
  4076. package/dist/recordsKey-B7QrxdeU.cjs +0 -1
  4077. package/dist/recordsKey-D5-wC0Aw.js +0 -141
  4078. package/dist/registrationFields-CLeR2lQJ.js +0 -181
  4079. package/dist/registrationFields-v4pOoRdn.cjs +0 -1
  4080. package/dist/roles-D6VaHWfV.js +0 -147
  4081. package/dist/roles-DQUFFBQe.cjs +0 -1
  4082. package/dist/scheduleData-ATN8w5hI.js +0 -727
  4083. package/dist/scheduleData-Cltj0ABZ.cjs +0 -1
  4084. package/dist/serviceStatus-TQyZO_Y_.cjs +0 -1
  4085. package/dist/serviceStatus-vS8AI7SZ.js +0 -125
  4086. package/dist/tabAudience-BqpN6dsR.cjs +0 -1
  4087. package/dist/tabAudience-CRyMvv0v.js +0 -34
  4088. package/dist/transactions-BqMQDRx3.js +0 -343
  4089. package/dist/transactions-CufFrdAM.cjs +0 -1
  4090. package/dist/validate-CmC_tLK-.js +0 -1670
  4091. package/dist/validate-DZMwqSrb.cjs +0 -103
  4092. package/dist/verifiedAccount-DRbRFJ6H.js +0 -190
  4093. package/dist/verifiedAccount-DScyKk96.cjs +0 -1
  4094. /package/dist/{AccessNotice-CN7kc70o.cjs → AccessNotice-CehnvtRY.cjs} +0 -0
  4095. /package/dist/{AccessNotice-BZ5Gt1nP.js → AccessNotice-Dhre5Qex.js} +0 -0
  4096. /package/dist/{address-C2bHNxJU.js → address-4GXKgkSk.js} +0 -0
  4097. /package/dist/{address-Bsb8COq2.cjs → address-D88ICQCR.cjs} +0 -0
  4098. /package/dist/{contentKey-Bwry4lDa.js → contentKey-B4YB4hFp.js} +0 -0
  4099. /package/dist/{contentKey-DJGYYnAE.cjs → contentKey-Byv0H-9B.cjs} +0 -0
  4100. /package/dist/{dist-DUPvBnOA.js → dist-DPI0YYsh.js} +0 -0
  4101. /package/dist/{dist-E4jTFPs7.cjs → dist-DkkbMBc2.cjs} +0 -0
  4102. /package/dist/{openOnArrival-S2K6v-lB.js → openOnArrival-BZQ0ZSxu.js} +0 -0
  4103. /package/dist/{openOnArrival-Buwqb86D.cjs → openOnArrival-D818M7et.cjs} +0 -0
  4104. /package/dist/{pdf-jLjjhvjp.cjs → pdf-BrUSh1On.cjs} +0 -0
  4105. /package/dist/{pdf-DRXcPGkr.js → pdf-D7ee9vOg.js} +0 -0
  4106. /package/dist/{pdf.worker.min-CfKZezeM.js → pdf.worker.min-4sh6fHw-.js} +0 -0
  4107. /package/dist/{pdf.worker.min-bLgNWd7w.cjs → pdf.worker.min-DtZTneq4.cjs} +0 -0
  4108. /package/dist/{personName-CbzN_i57.cjs → personName-BF0PB6CN.cjs} +0 -0
  4109. /package/dist/{personName-CFw3pxuu.js → personName-D4vuT4HG.js} +0 -0
  4110. /package/dist/{useIsPhone-o63tNneA.cjs → useIsPhone-CVlG9oSr.cjs} +0 -0
  4111. /package/dist/{useIsPhone-BVGx_X3e.js → useIsPhone-DIylubAF.js} +0 -0
@@ -1,25 +1,25 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-CiTBaPhY.cjs`),t=require(`./forms-CmNeTETW.cjs`),n=require(`./PageTitle-CZhgmmDT.cjs`),r=require(`./TimeZoneField-qs7NPR30.cjs`),i=require(`./DashboardNav-CXa_ci-_.cjs`),a=require(`./Trouble-9es_AI4F.cjs`),o=require(`./verifiedAccount-DScyKk96.cjs`),s=require(`./lucide-react-BwV6L6Is.cjs`),c=require(`./contentFallback-C9MZjdq7.cjs`),l=require(`./Popup-DHYGFl2-.cjs`),u=require(`./ContactPopup-lxmRMoIa.cjs`),d=require(`./Button-5DlB2MCi.cjs`),f=require(`./Loader-Bu89fsbB.cjs`),p=require(`./mediaKind-D0MWyv6b.cjs`),m=require(`./BookingCalendar-BP5kiv3d.cjs`),h=require(`./scheduleData-Cltj0ABZ.cjs`),g=require(`./address-Bsb8COq2.cjs`),_=require(`./registrationFields-v4pOoRdn.cjs`),v=require(`./roles-DQUFFBQe.cjs`),y=require(`./TemplateDrive-DV8zNjYe.cjs`),b=require(`./notices-upMg8UVh.cjs`),x=require(`./transactions-CufFrdAM.cjs`),S=require(`./tabAudience-BqpN6dsR.cjs`),C=require(`./FileViewerPopup-D8-MmIoS.cjs`),w=require(`./ProviderMark-xLkUN3Fx.cjs`),T=require(`./FormNote-BtdTGpml.cjs`),E=require(`./ConfirmModal-Di9GR-vV.cjs`),D=require(`./recordsKey-B7QrxdeU.cjs`),O=require(`./arrivalRoads-qoU-B4jt.cjs`),k=require(`./email-BfnZnMwD.cjs`),A=require(`./bookingPages-DvbFbD9X.cjs`),j=require(`./pageFiles-UtBmlOcD.cjs`),M=require(`./recordLock-DWeIxiwh.cjs`),N=require(`./Said-IqCNofdh.cjs`),P=require(`./AccessNotice-CN7kc70o.cjs`),F=require(`./Setup-CaDranTm.cjs`),I=require(`./ManagePlanButton-B0dwqZBd.cjs`),L=require(`./people-BpVvIr9-.cjs`),R=require(`./EventCard-46EquygT.cjs`),z=require(`./PhoneInputField-jhWvto8C.cjs`);let B=require(`react`);B=e.a(B,1);let V=require(`react/jsx-runtime`),H=require(`firebase/auth`),U=require(`firebase/firestore`),W=require(`firebase/storage`),G=require(`react-router-dom`),ee=require(`react-dom`);var te=Object.assign({"./contactForm.config.ts":t.o,"./supportForm.config.ts":t.i}),ne={};for(let e in te){let t=te[e];if(!t)continue;let n=null;for(let e in t)if(e.endsWith(`FormConfig`)||e.endsWith(`Config`)){n=t[e];break}if(!n&&t?.default&&(n=t.default),!n)continue;let r=e.replace(`./`,``).replace(`.config.ts`,``).replace(/Form$/,``).toLowerCase(),i={...n,systemName:n.systemName||r};ne[r]=i,i.systemName&&(ne[i.systemName]=i,ne[i.systemName.toLowerCase()]=i)}if(typeof window<`u`){let e=window.__FBOS_FORMS__||{};window.__FBOS_FORMS__={...ne,...e}}var re=Object.assign({}),ie={};for(let e in re){let t=re[e];if(!t)continue;let n=null;for(let e in t)if(e.endsWith(`Config`)){n=t[e];break}if(!n&&t?.default&&(n=t.default),!n)continue;let r=e.replace(`./`,``).replace(`.config.ts`,``).replace(/Registration$/,``).toLowerCase();ie[r]=n}if(typeof window<`u`){let e=window.__FBOS_REGISTRATION__||{};window.__FBOS_REGISTRATION__={...ie,...e}}var ae=Object.assign({}),K=Object.assign({}),q={};for(let e in ae){let t=ae[e];if(!t)continue;let n=null;for(let e in t)if(e.endsWith(`TabConfig`)||e.endsWith(`Config`)){n=t[e];break}if(!n&&t?.default&&(n=t.default),!n)continue;let r=e.replace(`./`,``).replace(`.config.ts`,``).replace(/Tab$/,``).toLowerCase(),i={config:{...n,pageId:n.pageId||r,tabName:n.tabName||n.title||r},isPublic:!1};q[r]=i,i.config.pageId&&(q[i.config.pageId]=i,q[i.config.pageId.toLowerCase()]=i)}for(let e in K){let t=K[e];if(!t)continue;let n=null;for(let e in t)if(e.endsWith(`PageConfig`)||e.endsWith(`Config`)){n=t[e];break}if(!n&&t?.default&&(n=t.default),!n)continue;let r=e.replace(`./`,``).replace(`.config.ts`,``).replace(/Page$/,``).toLowerCase(),i={config:{...n,pageId:n.pageId||r,pageName:n.pageName||n.title||r},isPublic:!0};q[r]=i,i.config.pageId&&(q[i.config.pageId]=i,q[i.config.pageId.toLowerCase()]=i)}if(typeof window<`u`){let e=window.__FBOS_PAGES__||{};window.__FBOS_PAGES__={...q,...e}}var J=`[data-picture]`,oe=`[data-fbos-own]`,Y=/url\(\s*['"]?\s*(?:https?:|data:image|\/|[\w./-]+\.(?:png|jpe?g|webp|avif|gif|svg))/i,se={img:`This page draws a picture with a plain <img>, so it holds no space while it loads, arrives in pieces down the screen, and downloads the full-size photograph however small the box is.`,background:`This page draws a picture as a background, so it holds no space while it loads, says nothing to somebody who cannot see it, and downloads the full-size photograph however small the box is.`},ce=`Paste this to your assistant: "Every picture on this page must use <Picture src={…} alt="…" className="…" /> imported from the app, not a plain <img> or a background image."`,le=e=>`${se[e]} ${ce}`,ue=e=>!!e.closest(`${J}, ${oe}`);function de(e){let t=new Set;for(let n of e.querySelectorAll(`img`))if(!ue(n)){t.add(`img`);break}for(let n of e.querySelectorAll(`[style*="background"]`)){let e=n.getAttribute(`style`)||``;if(Y.test(e)){t.add(`background`);break}}return t}function fe(e,t,n=()=>``){if(typeof MutationObserver>`u`)return()=>{};let r=new Set,i=0,a=()=>{let i=n();for(let n of de(e)){let e=`${i}#${n}`;r.has(e)||(r.add(e),t(n,le(n)))}},o=e=>e.some(e=>e.type===`childList`||e.attributeName===`src`||(e.target.getAttribute?.(`style`)||``).includes(`url(`)),s=()=>{i||=requestAnimationFrame(()=>{i=0,a()})};a();let c=new MutationObserver(e=>{o(e)&&s()});return c.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`style`,`src`]}),()=>{c.disconnect(),i&&cancelAnimationFrame(i)}}var pe=()=>{document.querySelectorAll(`.fbos-content-slot style, .fbos-home-slot style`).forEach(e=>{e.disabled&&e.media===`not all`||(e.disabled=!0,e.media=`not all`,typeof console<`u`&&console.warn(`FirebaseOS: a <style> tag inside a content file is global CSS and was disabled — style with theme classes (bg-background, text-foreground, glass-panel, btn-primary) instead.`))})},X=e=>{for(let t=e;t;t=t.parentElement){if(t.classList.contains(`fbos-content-slot`)||t.classList.contains(`fbos-home-slot`))return!1;if(getComputedStyle(t).position===`fixed`)return!0}return!1},me=()=>{if(typeof window>`u`)return;let e=window.innerHeight*.6;document.querySelectorAll(`.fbos-content-slot *, .fbos-home-slot *`).forEach(t=>{if(!t.clientHeight||t.clientHeight<e||t.scrollHeight<=t.clientHeight+2)return;let n=getComputedStyle(t);n.overflowY!==`visible`&&(n.webkitLineClamp&&n.webkitLineClamp!==`none`||X(t)||(t.style.setProperty(`max-height`,`none`,`important`),t.style.setProperty(`height`,`auto`,`important`),t.scrollHeight>t.clientHeight+2&&t.style.setProperty(`overflow-y`,`visible`,`important`),typeof console<`u`&&console.warn(`FirebaseOS: a box in a content file was as tall as the screen and hid the rest of the page, which left the bottom unreachable on a phone — it was allowed to grow. Let the page be as long as it needs: no h-screen, max-h-screen or overflow-hidden around the whole page.`)))})},he=`.fbos-content-slot, .fbos-home-slot`,ge=()=>!!document.querySelector(he),_e=e=>{let t=e.nodeType===Node.ELEMENT_NODE?e:e.parentElement;return t?!!t.closest?.(he)||!!t.matches?.(he)||!!t.querySelector?.(he):!1},Z=e=>e.some(e=>_e(e.target)||Array.from(e.addedNodes).some(_e)),ve=()=>{(0,B.useEffect)(()=>{if(typeof document>`u`||typeof MutationObserver>`u`)return;let e=()=>{ge()&&(pe(),me())},t=null,n=()=>{if(t!==null)return;let n=()=>{t=null,e()};t=typeof requestAnimationFrame==`function`?requestAnimationFrame(n):setTimeout(n,0)},r=()=>{t!==null&&(typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(t),clearTimeout(t),t=null)},i=n;e();let a=new MutationObserver(e=>{Z(e)&&n()});return a.observe(document.body,{childList:!0,subtree:!0}),window.addEventListener(`resize`,i),window.addEventListener(`orientationchange`,i),()=>{r(),a.disconnect(),window.removeEventListener(`resize`,i),window.removeEventListener(`orientationchange`,i)}},[])},Q=`fbos_hand_drawn_pictures`,ye=e=>{try{return(sessionStorage.getItem(Q)||``).split(`|`).includes(e)}catch{return!1}},be=e=>{try{let t=(sessionStorage.getItem(Q)||``).split(`|`).filter(Boolean);sessionStorage.setItem(Q,[...new Set([...t,e])].join(`|`))}catch{}},xe=e=>{(0,B.useEffect)(()=>{if(!e||typeof document>`u`)return;let t=()=>typeof location>`u`?``:location.pathname;return fe(document.body,(e,n)=>{let i=`${t()}#${e}`;ye(i)||(be(i),a.a(r.Sa(n)))},t)},[e])};function Se(){let{isAdmin:e}=r.dr();return xe(!!e),null}var Ce=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAATRlWElmTU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAABqAAAAcgE7AAIAAAAJAAAA3IdpAAQAAAABAAAA5gAAAAAAAABgAAAAAQAAAGAAAAABQ2FudmEgZG9jPURBRzBuT2dSOVZFIHVzZXI9VUFHTW5pX05rRHcgYnJhbmQ9QkFHTW50Vy1oYkEgdGVtcGxhdGU9VGVhbCBNb2Rlcm4gR2FtaW5nIFlvdVR1YmUgQ2hhbm5lbCBMb2dvAEFudG9uaW5hAAAABpAAAAcAAAAEMDIxMJEBAAcAAAAEAQIDAKAAAAcAAAAEMDEwMKABAAMAAAABAAEAAKACAAQAAAABAAAAgKADAAQAAAABAAAAgAAAAAB8OpdMAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAGZmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+ODAwPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6RXhpZlZlcnNpb24+MDIxMDwvZXhpZjpFeGlmVmVyc2lvbj4KICAgICAgICAgPGV4aWY6Rmxhc2hQaXhWZXJzaW9uPjAxMDA8L2V4aWY6Rmxhc2hQaXhWZXJzaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+ODAwPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q29tcG9uZW50c0NvbmZpZ3VyYXRpb24+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpPjE8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaT4yPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGk+MzwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpPjA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L2V4aWY6Q29tcG9uZW50c0NvbmZpZ3VyYXRpb24+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+Q2FudmEgZG9jPURBRzBuT2dSOVZFIHVzZXI9VUFHTW5pX05rRHcgYnJhbmQ9QkFHTW50Vy1oYkEgdGVtcGxhdGU9VGVhbCBNb2Rlcm4gR2FtaW5nIFlvdVR1YmUgQ2hhbm5lbCBMb2dvPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjk2PC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj45NjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPGRjOnRpdGxlPgogICAgICAgICAgICA8cmRmOkFsdD4KICAgICAgICAgICAgICAgPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij5Mb2dvcyBmb3IgWWFpVyAtIDE8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6QWx0PgogICAgICAgICA8L2RjOnRpdGxlPgogICAgICAgICA8ZGM6Y3JlYXRvcj4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGk+QW50b25pbmE8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L2RjOmNyZWF0b3I+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgrOj7XjAAA76UlEQVR4Ae19B2CV1fn+e0d2CBlAGGFv2UNRRASROgqiImqL0ta21tX+Wru0rYLW1lpr1Wq11lZbtdZdrVAHDlTUCgjKlhkgJIEEQhKy7/g/z3u+c+93b24CWPQvgRPOd+Z31vO+73nP+C4eabsmGV3Lhu0A2wU2z/GPgzsQtiMs432wFbClsB87thhuOewe2BLYvbCNsG3OeNpIj9LRjz6wQ2GHwQ6B7Q9LkEkESbCfxoTwkiWOjfCvgl0BuxZ2K+wRTxRHKgF4MfgDYMfDngZ7AmxPWHL952HqUclm2A9hF8G+D/sJbBj2iDJHEgGwraNgp8GeDTscNg32i2Dq0AhKhldgX3T8cI6ZwzECBSjkath3YSlyyWVfZNuA9r0FexVsN9hj5lOOwIl476+wZbBfZMBba9tutP0hWE5Vx8xBjsAZyEcxeiRwe2vgu9MC6M/LsGfCHjMtjMAUxL8K6x64tugnIVBxbZOGitrBWHfnRyPwDGwQti0CnqhP7OuTsCNhj0hzMCC3loedzoG9FXY/bKJBOhriqtH3X8Jyr+ILbVoD81DSbCenw8PNlKMB5IPp42qMBZe2n7sheC2Z1tJc78w7yHxzMRDZoPTqW4D7FSiAmzkwHJ9jBiPAXcc/w/4MlruPn4tJBF6iOFdjDhZw+wqBp0kaj2n+XngOMO8d9QTB8wjuIbwH+5kbN9huv6vi1gCf68rXmjcZGzlBzvcZiXO1BnpraYlLawOx1It+BPvAZ90Xgn4IwCcGfJY83ayMITIrfL+MSCuTNXeGJfztRB1pGdpEKYniEpXapuL+iN6QEHj28JmYOAJIxO3NQY8HvEzWOgRwqjayo0wKL5Benepk598xx09t3vLEYB5cbOJczetoMzHcN7gMtuSz6JFDAPHAz42pKzHgp8bkmSSTIuE7pFu/Gil7AuCPiETGeSAVmsXERTTL0VxhjC8jvoQ2E16JnlwIyxPHw2pAAPMcbZzlRoFvDnpHh8sFUE+KaUSxfKhpXWVM+LfScXi9VGJjJ9w7JtNBBGKJIgpu1GcLcce4/Ta9Tbpb0atZsDyCPmzGHy1prnrdwJeJBT0Wcgs4X6iQNICfhl2d48K3Sf4JDVL1FNQKnIJF6CVaRQKednO1x/WOG1aP8140zpbNGLffVVXb8/ZGl3hGch7sB4erexi9sEqAeShxjaPMWeDdsFvQDeDcvku2Iy/jpF/4Duk1plZ2PYfyOh9c42L5PUoIUZhtOdGc0bREPpM/mmLfb2Mur66dA7v0cPRLCcByfTzwLYHeT/pp3dVS6GknvcKPysBB1Z4d8wEiz+4PzoSbA9Uc6Ng88enxqdGKY1Oi8W3Gtx09OQuWu6n/k/HMkqd8rQFvOZ2gE3BTWy+pKSjyZPgLwq+XTOlW2vjBgrCEBpq0iGBI0LDmwERA1aRoeiRexX80noXGpkVlh9sX60/QlCM/aj26wBVW0f/SFb8B3wh7N8fHA89Ti5oCv6dACqQmVOLJkYLwovKftSttXPoY4AH4OpNE2uKezxlpQHMThwHV5INfkzjbw2+D+h7fZiLz0zJktQKGwpHUaD6Ty+ZnqA2aQejTY7A8VyE8n8p45klYFUGCz/mdwLtFvBt01lAX9AKNfPyJ3FuW93BQGqmZKgh03T4Tdj8NgIyJ+OCJ5Wib4sS6pgoTw3SbJ/7d2JRozdH80bg24/s7evIN2E/VSd8Ame7bLvu85VLsbZROCj5FfUXBfm9+Vg+PL1TjqQrUegPhzp79wXpvWsjrzeiULn/d0eVHgXD91eRGL/7omj+338ZZ151GABDvoaXX5DEEpBFIZTSe9NBvPU7IxrnjnayaW7O1/QfPVigB3v80XYUOsCbZcj2Bd3M8ub0+5PV0xPX6+txyT0ZwnyfN1y/8963DT9sX2MblnnMN2w57YihMwwyBup9RorWxdC3nW5+JYxma4kiElqWBLcvUGl+HjW1jLi+i8jj5jUPtlz8Cfq9CT07A70kO+TzlwV0A3q/AJwF4X3Cvp2NTlSfN2y/8fMkVnSsDO+/GBzXOOtCAH4XeEkPiptjZ24EZmayPc7kBWzUBW0xYQ5qPUQjiwby2JIT1PSMhLPyajUkqNRgbKVBj29gjBf15EHYCbMmh9M2fL35PKTT6ggA0eyh3dcEunnYh8USB93kaQh5PAz68qQqId1PNi7ehgp4U+zqoKrpZpR1g60ZjDCjMQ2NCFlYDJomA8dblu2gE/sIe520lBMbBoE7mNEm2JPN+lDBaUg5ZQJs0fdCru2AvhnUG7cD99FuRX960y0uub6ccD7HfROArPVWhHE9NcL83z5MdfnbXiIuD4cbzPB6fgkOYDNzOk/O1Guu6Q9E2hR0xrtBpVgOemxgsfCQEUyTyYM/KEgpfa0katE4E+qYps+09eV7wAuzjB9s1z+Vdi9M517cL5XsyAT79vkCVtwHAN4LzU8MeT5a0k1f2fb/bJ/VPvgoA8jnABmsOpobUNZUybI31GfDdzyi3G/BJExbccJigM2T+zGUZG9KMSInmIeHQMAefxrrDNsbk4tMdY8Jt5rkTPTke9qCmAm9Fk9+bFPR5fe03eT1NcANeb3XA7/UGvd7skMcbTK31NaWKb3Pj/J+j0HyvB5o8rfgxCRhr/L7YsAdpkBTG+mPye/FBrgeW79Pl+yxTy0asShhKGcYxrB/w0jUhEh/TuPdgiNHsQRjSM0SJRE3j0/jV0Vjjs8Rp49uMy6+ReNH0oIy/Xa4H2j253u+tClWD67M92SGfl9wfSPN4U0L58mzpWROD4dqZBNMMq5n/dcCBhv2zgw10mlWuUQ6nGt40HO1xxDrLYIwHEzu520wTiPNg3o/hcNbi5nK2BXlAEJQcphxbPScSk5t1slVGVtj0Nut+DT37B+ybB+qh34BvRL4Xc316sNZbk9EOrF/nTQ13lErv2uSKwIbrwKU+AzQ5lENpuI9g888QBlx6nRgngLARzmb4jd/AbYA0MQZ0I9pZB8JKCIYItEwAbN9Q3UDrQql6nnVwRMDWmXaxJBZAt80Zbu7dAjsZtrG13vmtyE8NQwAH23vr0mq9mYF6ryfF6wW24Ze2X3NBKBwYrWIbXKZgOy5FsiEAxtPwaQlCI2IeRqO3EBJ26yewLMO45GTDrygPhKCGUoDFq+ZnCCGqIFoioASJlwRugNk2U6tTGArUQk0dbeuJS7hyEeyjrXXLX405PzXcHuB7vF6I/MxQJsCv86bjBzW2Vb/Zrjqw4yqKfgM2QXKsmwgQq4TBp0oHVsmBdRsHcMXDBX6E0xGnYBsxzifB5h+JgWlhgs88DqZ0YomA9ZEIkB8EY9/VOC3HvNhmIXcPt/H/FM6zsLXNk0yMH1u93iAUvnAabMCjnO8FUfBrxsUVv8Hlg3BfDxS6WOAtIRBw4ycUBnwOL4eexjwJgBl6PDnHA5yIFq/cbsA3Ih9AA2QvvhSjVAiH+RWVKTMCPoOmQHViicDoBPqK6g7RNhiCYLucl00mp3wbx/Q2Y4agJ7NhuUmU0Pip7XsBPiUAxX4o2ODzhXM8xeHlafuDRd+w3G/W/kYr1/mfwDvgG+IwIBnonUG30kCBYP0E3iEC9RmwVeQrIThh19xPWKw00B5Y8K2rpZJEnKlCw6YVKjBQQBRa+kzbolOBltqWH99D5zgN1CfqpD8WfK/PE0r3pqakej7YecuZIQkO8Ea43yzLCHaEKHQJhwGNmw5AGc4wO1UiiwKvYBAEinPHpR8cH1IRT65nGuMIKbkf5AYkNcxXaCz41kUUk5QIVMI4KwONt1OBedn1ClJpbIx1TWwbevJ3k3hk/HSiPkECGM5PDnp92PL1Jvmx9Q+sq4KFXzFAc71O8I2163LlegXeEgZAR9gMqCUADiqNwo8kRwIowA7QDuAEL4z3CXqYluwLcGIIATGhhERg4DdQsx2oR99HPKVQC1PBUSQFrsTQUReIikkEaPwU+14Ab8H3J2d53i798ZhAuAmav9moUUIAAdgNHEMMJAULvksPQCwH3UAfRwAAQjkcAKkUcLjecD8JggSEed8hBOV8loTyiGEIXuVtvk7D4plAwoMTjTb9NARh4jWrvmRzacB52FTrutPahJ+HRPwMf1l8b/wEH0qgj5yPowCfPyieksYPzwO4WPcDZC93+wA0d/0iUsBIAzP3c7fPAGd0Ag4iCYBu1KgMUM40REACCKkkQIXkfnC96v/gXKqAVCgZJscr6CjOCz+h5ZWUqCQgt7MeK+qduklkusmEN9Rv28J22bxsqbbMJrZVNwkd+xpscwIIBht9aUmp3kZfo88fzvJsrl+Y1xisnBQF29nupQRQ60gF17RgCMFIAQM8nhS9SgSKDkCii8EmEQBGWgs8NX3QId7BFBDG+gNWs7MMB2wF3wRZDPLi4ZSpfpKJVsXynbo1jyEIzghROtCMaI/b8B3GW9ed1ib8M9CLX8BWunvj94RSvcEQjv48qd7k5GTPhl1Pn4SB6MSlnxe/r0juV0XQ7u07kkCnB0oE5ND9fAJIP0CjawwHk8YAry5Aiyp65HqIfC2D4OM9h3BIHpwC1MCxkoAokny8KIcuyyQX05C4zNYyYTRpJoVtYr3WGJBtrAnZtDbrdkfPpsDi6n7U+FOTPF6Ifq/f1+QLQRrva9ryJQO+Ef0E31pOAz6uCpQ4CL6RChECsESAFMNJdGksGCQEwGaXfBD7HnB/2ENC4M4DuRiwKBF5mKpiX4tAUSQCAmnOC4zfbPgwwYJPgtBc6pKejPSBh/+Q1U0KGhkhDWRQv3W15rb0mInOxBJAIwgAKwFfsjfDs6365U5N4ZoxyvWW0y0BUBpE/FEisFOFEgE52QHPDCwHksYhAMv9JAJHASTMCj64H8dPCprO786ryuUU9UCOf+R8W57RFYioSVOuBxGaMKUQiYH5KWWoPdBP425XNMammpg2+ZyMXuXC7rW984eCOAOGBJBQsndL3cIRGMrciHiPAG7B55QQlQgKPsOqDxBAWIQ44ORCtyFE3MmLiH9IgRA4X0En1+OdkE7UzltEA0XwPeVngOwFEeAt0EK0Lp4UMlbrA/HZ5aOVAgZsA62JY/kMJ4pjWps2XdA7TPGywPbS78GaKwwJQAla0bT5JDPnRxW+GMAd8H2eJABH4EkMZkWgREBCIGpKCAkIQEU/4ALwFPsE0sz7JJom0yYHeIXeAT3iB2gGbIcoCDyISonORQjcOzCinq0BUWiA7eH7AbzFDSZDACQQQ7Sm+i/Cs3P7ITJ58E9AzGSYsCxc/UvZW7P1cDXtdBQUJYBkYBgKJnuqZWdqU6h6hBHlVsQTYMfqFJAkEBcAPioJrD5gpACJgWCagVfuIxcTHKczXMh5VdnzGQkAQECEeM9YJPMF7bguBPEel3MEicoiCU6JQKUA6kM6UziRKJCkZJTHvHySVPhHEww3IRd1DbdhHkeCwGeMdd35Pj//kG7nyPj+cySArlfW7pb5H/3kcFY+EYXxuFgHwh/A+itV0mVT3bMFWA30UDHO5Z5V8NRviIAKYAR8r0MEESnA5SEBAhzYsYkAytqSEY+7JMEQKFoJIST1dfVQKAExrOJD4GF0mUjOBxhJqX4JhRoBnB/xydLYVCeNGBVto0MUShiUAiQqAGkBp2sKNvBz6mgOPmukIRHgp8b9qeoyTNMUSLh9rmmH+vB7eXE3agIh3uRObPp0migNAdOTrWXvSE1DeeKMny6WXxT1gN3C1zmyOuXvrv94IMIpMZo9iQBZuPNHzlNpQMAV/KgUsGkEIxT0SEa7VAmiA40NEPXQ6AoGdJCf3X+2+P044wPd+UF/zz60TJ64/20FWcdb8QMQILLGQKNc8aNLZMLkkVJfb84Dqitr5BfXzZXikiLMMJQ0BJ2EBk5XaUDiItjke8ZT9NBPQ2Iw5Wgw4SMsl513u4waMEUaGgPih6R74tVfydsrHkuY+1AiB3c9W6aN+J00NTWiJcmyfc8SeW7FN9C25pKmXWq+dM0eAWYJSJIvSTbtXtSsqhR/FgiE34I0f79Z5uYR6YjixyRKAF6MozJ7dVPJYA6mzumIMqByTneABzBmN5BSAMtBWgySSgXoBJQMoYBPsrIz5VePnic/uftMSUlKQSeSpXBthaz5oER6DcqT3rDd++XJnO+fKn0GdsWeD+tyJAvcQGNYRo3FLwzN+ZJ079VV+vTrLoOO6y5L//uhFBeV4l4S9A/UpsDThSXA5s/xE3zHMN5KAhvXklu2d7v07jZIenQZKj27DJLjjzunpayHFD+w85kAdbDktx8qXdsPBkfvTgg+Cy3IHSuZIAJwjjQ01Uph2eKYunLSe8u3x78tpw/8VUz8IQZOsPmBZYDKtbc+WNU/dmAN+Mr9gDu6FWwIADsHGHpYgE+lMAQg2+dkyryHpsvICd3ltPMHyndvnYx++AFaijz622WyY6PZhGpsCEtux1T5+rWTTbksB3VQIKUkI/6750pKih8cQ3EvsnLFVvnnI89JcnIK8hvQFXAF2kCvICPMvyjg1o8YSLADmY83vCH76xohxQKQAmHp222MpKW0S/iaH4TdKbuf2vzs/pKekpMwHxmpR97xOnWFwNWNwaBsLn89YV5G9u00CYwFpsD47tm/RXZX8SNgY9KScmT22BelABLitP7Xw95skw7VHW5fAMukS3n9qnbBcENBhKvQaOMn95Pb4HLg1WUaw3Q5Pfgl2OSR7NwMuenhaTJ6Ynctu6aqUZYsLFIJkZSUJBW7G+Rvty5RyidIDZheT50+WMZPHSxNmA4pBZrqQ3L69HEydvxATB8Q5AA0EAjKX+59TGqqa3VQ7ArDcD6JAX/aRvWhboLuPJVANKjt9Xli52GTwrx8xys7StdKSdkm1AMFFWB1zO4hPToPs9li3LEDLpBffX2l3Dj7Q5k3e6VcOOHOmHQbyM7oIR2zBmK1wz0Or1TXl0px5XKbHOOSWHp3PFl1JdzPlm173pemYFQPaQzWyNrS59A2KrQCKXCDnDbgppgyDjIwAPnSmBeqSVq4vH5tByyPcs2g8ulwGQdWud+Ar37E2emBEiCE1RvBn/vwl2XkKQVa//7KRrn18kXy3oIdkpScjNL8kpaWIotf3CpvPb9VklE1Vwa4dShfgxTIys5Q3aBDp2yZfcUZ2kHObsnQSF55cbH8d/EKSUlNVaAigDshA3WU09kAA6h5MuyQg5FWwnLMVGFyUrrRgighctdtfQ86itEdkpP8MrjXKaaIuOfo/jMkOSkNimMaODZZBnc/HaK7Q1wuivQxkp6c7fTXL6WVH2MKKGuWjxG5mb0lP2uwEguGRzbtWhSTLwiF+I0NN8qr6+eCsczO6OkDbvw0RNAZBfMDbyjnmFL3NW3rBEggXzkMzjyqQ0LgHWJAvPmzA+ZT0NoD/Hl/mwaxHwX/N5e/JUtf3Slp6Sl4x0gKPVUEl3Mq2FOCFQAGOQDiGTC8o5z7tXFSW90k5399ovSEfhCAAkkQSnfuk0f+9JzqGmyXtQZQKJRBzJMNDdLYCLENZZMKZxMKrQ/UgXN4GZb9IXEYo2QCLjPKF0mMPqMc2nwrMQ1w5UlDThvS+1QTcD2z0jvJgIIJEoA4JyFTYcvJ7Cr9ujYnlj4dJ6gkY128Zbt1z1uukmK9PfNOlDQQC7JKbWMFlMX/xmZwQos23SyvfjIP5bmJ4JCmgwwUpYD5MWaemkAZCMAMlj5bIQQVwSCKIMDLyUuXmwD+iJO7adPI+Qr+wmIFP7b1HkgDjxRtqpQn714hV9xyEhQ+LLVgz5lzvBRv2ytnX3QCwCQw+PQUU/Zjf35RSnaUiR/LQa7zqdWrdg8vgS/o0V3Gjz9ZBg0aKtnt85QAKqv2yeat6+S9pa/Jx2vfB0DQIzhSMASLSuS4oedCn4AyjHBVzV75aN3rmsY86wvfR1yFpCZlYR0ekl5dRkpWRifE7WaymgHdT5Gcdl0wTWEQ1Jgl2/Ce0+WjLf9y4sBdILaeHcaBkKjLeJQot5bHKnWRzPD07TRZaZvMsmvvWqmo2eZOjvEv2niTkvbUgfPMdDDgBqSHISHmxuRrJdALaYv9OGbFxyCVndBChGMtG61c50pjOAjlLDcvS276+zkyYnwc5yv4RlM35fFJTiNbeSU1LVlefny9nHhmLxl2UhdpqA1LVk66XHsbTiuxnOPyMQWif8k7G+SV59+VFEwdoTCXT+aPnI7TC7nsm9+WWRdeJDnZ7VWScHmJwyyOgUyecIZ8deY18uqbz8mdD/5UqvbvVW4hAaRg/vnBZfdJfm5n4i/rN6+Wq24eq2KX7Svft0MKS1aB8yeiLU2SndlZ+nQdJR9tfAWFGzOq33SUx7HiNAYFGJUHUPmArpOVg+sa92nG7IzumP8HACDO/z6prCuUXVWrnFJinSRfmkMsAZV4W6H9h/RCbGw+d+hNEAFHd+rAuQ4R3KjJB0kEyrVejmdTqCaPBfEv4ir4DNM4w4+4AMDPzsuQm/8+Iwr+vga59dtvytKFFPt2mYZ3WIa1GFwtB9KjqSEkf/vNB1K3HwMD7qTopj5g9AL8FM3+Rnn47hcgHXhWYNrEdw0H++T6n18vV3/3csnMwHoYCmSklY6nHuUTzOlnXCjXXX0v5jmIfQoWp6imAKaNJuxTgIGbKIYcw15y0FdvWgQQlJb0c5jjek2yWSQ9NVsG9zgV4p9c7ZPd+zZiCmhC+UHJa9dD+nQeH8mr8z9WB2w3l8xFFcuc9XskS8STj+VhbmYfSIsgysNKIcH6P5LZ5Xlz4zxZ+MlNqhOoYqg6wUFNB4YAWFYg3NDeDqIdzUjYRnBwUENep0y55ZGZAL+7NqNyT7386tuvy9LXiiQl3e9qWrQEC5GJ4VTgk3VLS+XFh1dB0TOvKEDwUvH79+OLZQ2WfsnYpyYoEeMQ086inVJVWQ/F0CNVEPmPPv6wXHfDNXL9vKvlX/OfgG5gRHNtXVAmjf+yjB91hjSFW955i5TveFaBAJqw+iDtAWcZ1JPzOAkY/xtlt/HSAasDrhJInAuW/Fr21RRrOi7XyfAevH9pTJ9OExxJgRFAWZvLFtmkZm7vDhMkBQol66mqKwWxJF4pNHsRESSC10AEAiI0RHCDTBlwM+p249HsTTA92QQmFG7KpNuaIRUTpB/d8WUZcVIPzcq4P/3iXXnvP4Vx4LdWkklLSvHJsw8sl40r94gvyYBMxW/T2l3y9ENvgkhs48m6xnDAyXkPPvCg/Ojaa+X119+Q7197ufzm3hvlpbeekwWLnpIbf3+l3PNndN7gpe7448/SSciWcyB3a/FHUravCAMIRRdAF3QaIh3aG4If1X8auNkox9V15bJy6wLZuWe1cngQSuHAblOwAZapQPbsyPnf6AcNTTVY1rX8C/B98yfp+HL+L973seyvj+ocB2ov098AEazd9aKRBCDaLw26QQbnn9vaq1lM9IakDpuBgbTIMMNDP2dtE+ekACPGPHnf+7Jn134tmIDM+NYw6TEgG2t4TMKaw7xtStFskXhToimPIr+irEbe+vd68fPGGgzdt19eKXt2V0FsU3OILYUjRE5KSU2RJUv/Kz//+XUgiICcPelcmTH1Yjnj5PNkWJ+xsujd+bJrdwlA4Xoe/3lf5z7Yp8Sv2Thd0cpaeFDHqamrkI3bl0D840QCdbZLz4EeMBblJcmQXlOUCP0+v2wp+QAbR3tk7faF2q4gOLBDVh/p0WGMtEvtJJ2w/uf0QFDLazZLefWGhLWmJ+dKt5zRJi86uGX3WwnztRY5otul0q/DaSqx/FCgl+14AhtOC1t7RQnAb4QlT1Is5M6w0+ExqiueS7cP39ki11/ytNz66CzJ65wpg8Z0knmPniE3zVkou3fUQYFLhrqHOV3XUoazbRmWAKgQ6gkcauVGj9swbKSt0w7kNMhF3SYs+yZPOl1mX3KJ9O07EOtxzCNIDoAG62oaZHvRVsnIaAfJxn1ur+4ucnOHc6sW566wBf/KTa/LKSNmaSoXEf0KxsnuikIoj32gHEJRw+HUR5tf1PS121+Vmvp9uGKdgTMEnwzsOgW1JkkG5v9GLHN43YJLupYOgLrmjJT26d2gCwUx9TSAAN5uoVWJo0d2myPnj3gQEisZ9ePHhHf8U/618hst1ueUoiKWkhI0DqNPhwjUz8MVGwYbYeS4pEpO88nK/26Xn1/6nJSXGknQd2iezHtkquR3T8fSqBF5zdmb+2lWASyTa2dbNgBRImMDHMNwJN3mY92mLVz+TZ9xjtz621tl+Ijh2C9IVu4j0ZDyMzNTZGC/QZKelqnv2GK1/dHAAX3rti4GqLXIhztL6H73TkNlZL+zcbZBvQQ7epASa7e/puWUV22Rwl3LUD+WqxD5vTuNl975J0fmf45va0pd306n6uETlcqK2m3YLFp9wPbZDG7wqbga8C87EPh8XbnTT+WbgJnhZVOtj37GO2kEBeAQvJQ0v6z8YLv84tLn5ZZHz5UOkAR9QARzH52qkmDX9loocyQw1sFy+MQo4l29Cq5lcmXPOE2OPhA2xMKXmMj2GAIMQtwXdC+QK67+DkD3Yc8giEH2ygdL3pMPli6WOgDWOb9ARg8/WXp064d3MSKHZGxjPFJcvlF2lq2X3p1H4UwiIH26jJH8nIFYywexR2HEf3lloZZO4lxZOF+OKzhdGrFbV5A3SnLSe+n0RCW2FsvCHXs/SNgSKn19Ok7EVBVSPWL7nqVYKRjGSviCKzIe/OVF5HyCH90+dmVP6PVDx0HzQbYcaAXZgu64GgeuxVaM2rC5yJGM9fwqJYIXQAQzDBEMyVVJMG/Oq1K6Db8/pkTAei1RoUwSgW7rsGKWSXCjhmFjjRxhfksEFKdjjh8lediDqK2BNMJq4oUX/iW/vPU6aQjWavtw3CKdc7vKX+5eKDntucEZLbt1n8lonuB67CRSCvTrOloa0YaMtFwsAbFL2RSUJIj5jzYZ8W/LXLvjFWzxVmNqSFElMMWHjSRMZ9wn2F3V8qZO+7Ru0hmnhNwr8GNLefOuN22Rrbpu8A9B7LvL1K7i5rWfbAgTHWglBAJBsGAJiLoATD/doosGJ+OX4ld/sAOS4AUpLzFU25tE8OiXJL9nOs7yGzQfO8f8XGPzUkYI17/0WwDExROAwu6qxxCeaQvbk5MXe+q2+N1FOGGrl1Rs8KQkpaKDYenXZ4jkZnNn0E1cBtqWKMKmukdoFfQAinRKMh0LzNHk2P31VbK68FV3Vtm1b4PsKF+uiqLKLPSBxof8W8ve1b7HvOAEeuSdIBkgLFQg9Y34pcbyllcK9v2R3b6WYM4/KLFvi6BrCCDFl8SW4uzNkQAO4IYIDNcTuIgEIPcyTJAAIM5DZPUSEsHzUSI4LldufuxM6TEwSzdaDPgkAF7JgnXeJTHEE4CRFaZ8JTy8YSQF9YWQ7Clz3Y5BF6ZMOVM3hOoba6Bw1cuIQSfID668BWKae/5RQ787HE1p2bexaKns21+moNtcvCiytWQZNoA22yh1OV6rti0AAcTsXKCvIcz/b8XkdQd4/MtdRa4UyrBKKN8fW647L4lvdMFlEfBj5/yDF/tOmXV0vcqQOA6IzvfkeHIqrRn8COcqcOZenYKpXN2EWz1hWbVku/zskuekrNhIgl6Dc+W87wxVrZZ58ZvCEHNwnXcMIRhJoNqI0yojbYy0sMAbAsQcCS1v2dKlsmdPFQD2qg5w+mlnyV/++IzMve4uueNXj8o9tz0jfXv1hQh3w239B0sGzOeRfdUlsrV4OZQ7aJeqz2DAoFZ8tHk+iNKW6TQczprtL0sdCNHmJWDVWM8XVXwYzeTy8RSxV4fxujrhkpXczxO/lkxWSjc5c/AdmCp4N1NkuWr7hzbnu8quoh+fBGAH3uOrsqJdOdtyHQEHdHqTlsCRWhAXjvjJzQQVRICdhNVLt8nPLn1G9wmWv7NNHrzlLcG3xigB+aBsGKLByZ1DCFwjY72oV8S4CcSrYvzoQyWGEqDVE0w7OPjbdxTKA3+6H0DgziB0gCDuCPbDUvDcabNk8ilTMO9nyOIPFknFvjIsD3FvCdhRaXPzP8P8xSNNA+cZ0xxQxq/ZskhwKqxl8BJIXWO9rNz8svNOrFNasU6K92B3EysT7hkkY2OjZN9qrBhKYzM6ofz2x2H9PxKA+hTQ1lYKfKWyfoc8v+qb0hSqk4+KnjpkhS+uERUM8ypOyBtOLSfnRSxBBvUSCG726NVtZMR5lhK3XbnhcE45gRc4+W4Slohrlm2T75/3mFTtrZeKPTXY5eM+vBHsKmUgEo1eQZEekH17q2XzJ7ukHodC3Aiq2FuJuil5KH8APNvCtqkLBQw7hM88+08AvEe+Nueb0rNHfx08KOfYFq6W5xc8Lg/94w654do/SvX+Xlr3ztItKMMY1r2jZAOUyP1IEyku26ytd5KbOR9vWiibd16iB028FVVY8rGU7P2kWT5GcLyWbnpcD4R4RM29gtVFLyTMy8gAdJeXV83V99jPzbtanipsIbwQ8uf3JmG6WHtI2r593+Xuot/z0+PCQ17ccfEle5s2XWfv5vGKl734qX6G0fmIH3vM3OjgVinf4UmXOffn2T9PC3m4gy0Yyik1DgEoIVCCGHA51XBex8dpRkpgAHk4EwhCeVSpwakjKmWMZDDhuvoaSc9Mk379+kvHDvk4FKqTzYXrZcuOdbo0TII4UUJCSRzcAE72SEgkQh7MsEWUCowL6NmBibHtdbvkZu5Akvq5Ncz2t2Yo2o3EYX5utVnya+2tzz3tGtT4Rz+kcSjFl10cxpqau9aG8wGcc/auX+sgngNg/GwoOqQbNmYgISt0sPmdn97Q1W1cdJ4iQrPbwTYDrgol8hIY5XKAo+DaqUWnGjPlqD6CfFYCqAsAklOSpL6hVlZ89AFyE1zuCeA/qMV5P8mrETtqBnD2y4JrXF4WMWmJgLFx1uWBkNkvNZ058LO1efzAb39uObaxJuo3wcykLiXhOh5bYDbAQIJ/MeAQ/QBekcdYKJR8OOJcBxVEwC1fHHYi3bmxA6lg9GBkjo4hX1TO4cCTg9RFXWZZaF0DepQYSCRcKdA6xML3HUt9wY8J2vyQBNvN/JAqaKPhWNZq2+FwLeU+jNXVTah1jtYX2tYDg2T+qxl/ALcvOyYNLvkESi8GDx8OYsA4epZ7NYzsGKko6AwgxLmagHMqwAYRFxUeAMZpwCEZuDROflMCngTRcDUBM4pnPPgIUzxRKjiSwnC/Qwj6niEq1S1YpoLLVrJ8Qmus9RtXG+Sk0c889qneo+GxF50sYkf9AUj9zhmn7PXs8ZWAG3ONqOVUAIuxUSnAnKAJM1aIBOfxz3A/xT4UPRABMxF8frBhXqBLEwUiwv0qBcixBMvhcAWbhMB4B3gHfEsolnCsFLCuEqSLCFin+bP1sxkGbKcjTIgzB0qPy37kBrej6SQCaHa4i52b3KURisumYKh+iApDy/3Aj1O9BVCBJ2AYSH5RQtADuH3Dr4FSUlJ084U6QBO2S0NYnnGetopgDHdGpgCCbyWBAd6IcYJvCMAuQc3Sk4RBUY85HsuxJuwtcFuWAsdyfRM+ueJ2cDI0cG082o8LL+gD9vBxJGwhNr1iyMYcVdPAGnRcO+w7Meen7b2h1PD62me61of2nsplnzHGjQQxUIaB4CpVACqsvcZPHi4nnDJYdpXswVWuWmjxTTLy+H4yYeow2bdvP5Z5uB8HYuFcr2CSu+HXcITjY8MGdOYj4HiP+Ugojg1AiRszapyMG3OiLgeravbprEVlbdjg42X0sAmys2SLtoWEceKoqTKg92gpKtkMxZTTnyE8gk9dgJJicN8TsYt4qpSWFWJV0PJmjDM46qQmZ8qJQ2fq+1U1za96p6W0l3GDL5S+Xcbh1lCJDO99tr5XXdc8r7vcz8H/F9SxhPXgQ13cyIMa3z6pYBXEM/6iA83B1507AqZgmU0f3cgB/zXgY82cDhny2we/J9/7xUVSU1stefkZctdjP5QrfzJLahEGryoH4j+aQFncBHJc7HhpGOXELvVYhyEI1uMGn23jMiw9HVfRb/i93P27u+XCmZdJA06/OLU0hutlxtlz5Jc/fRD3AbJUWgQRN3n8eXLHDU/gYkhvgIUzDH+KDB94inTK66ngkeivmX2nXHnx7zAkViJweFo37TM7yQ9nPy7jhpzfLCM3ja6a8Q/57nmPyFkn/BjXxrvJd778hIzpP7NZ3s85gh1cbuvEFjRu+oEAeqRMgR4ou1Uhw0AbLqV4NuBjJW3iHEIIgdvQR3n2n6/Iv59cJBddNlWOnzBY5lw5Tbp0z5ZfXf+AbCvcgQMOnNJhw4ebHrV11YYYIKZrG2r0qxfuInLdz3U9OS8AwuDyrl7DUAIdrldJAH8D7vwfP/Yk6dK5q6zfUCxTTp0m2bixQ+IgZwewj9CA6cFOOezo4qULdNdv2KATEQrLyOMmykO3vS3XXGoAz8nqLL27D5VlaxZKXUP0KDYqDVlKc8M6GptAsCDKeMPbxLw/8Pzi2+WmR06Q6toy5APRx+XlXsrnbIpRH6cANd5wQ1qoybsnPCjrK3txXXO1DjgJwAFeCcGCTq2cHIuwfmsPIsCnGHLrjX/CIU2l3PnwT+RrV02T+U+/K//+10LJL8iWG2+/Up574x55bP7v5PzZZ4AgaqRbz07yh7/MlVEnDMHJWqX07F0gd//p1zJ4aD8ZMnyw3Pa7X8vMC2fKP5/4h1x51dWGiNgmnMYRwGlnzZSS0p3y4MN3Sd8+vWTsqJOV+93cS3D4x927dRuWSXlFtYwdfpp2+uSx01RvGDH4FMlIzwb4QyQnK1M+BAHwfsH5U78v992wTO6/4WOZM/1mnDRmYFs5Va656AH58oSr5f++8nf55RVv4nuBDip5uM1NIGd/6Tdy1Xl/k6G9p8hlZ/8ZYxiSob1Ol+kn/QwbY9gzMXOotqFX/vFy1dn/khsvXiVXnPG89Og4FpIpQy6d+IhMOu4HmoffFF428SkZVmAkzLBuF8gl456WvIx+mv4pH+T+SvuumQJABNCQsCHU/h0rAcxqwCEEcL+JpzTg0swQAonB6w/Lxg2b5Xc3/0V69u0MPaBefjP3PsSH5Pb7fyqXfmu6rFm1QfWF2+/7oZxzwVR8G+CXGTMnSrfu2MHDOX5OXjuZcf5k6ZifJ53yO8isi86SH+DS596Kctm0eQNgZDtAipAQ3bv1lAnjJ8kbby2QZ178m5SWlsmXcf3bgE+9xopw4/JKWPm+YlmzYakMGzQeH3TkyzjcEv7virdxvt8OU8EEOa7vOEiggHy8/i258Kwfyw/m3CmV1eWyc9dGmXPODXL5BXfq7uG4YefK5TP/IN06DsAh0QpIMT1P0U/ELpt2j5wz4Qeyasvrsqtis+okHGRdFUUVKRBxE65/d5fvnfOi9Ow0VraU/hfgj5FrzpyPa2FdpEO7viCA/1OCGt17tpzYbxZ+LOJKFiXH9/6m9O4wUWoa/ycdYqEW5jy8oTrqALDYfe2QMnAxuAYbuRxwx6rfEf8uXcASAudvfvHz72dflYryGln85jJZuW61DB81QE47c4zcdtMD8q1vXCuzz7tKVi7fLF+Zc67eAq7DYSS3fUlE3Jmrr+feOKcDzvsid//h9zL7WxfLi/OfhfjmjiPEf7hOJk2cKu3b89zfI1NOO1t2lZXI+BNOx83dXoij/mINfUaz57tLViyUzh17yBmnzpYuyPvYC7fL9uJPZOrJX1Xlb2vRWtkPZfLcKdfI2x/+R66/60z55QMz5bnX7pUp4y6Vzh36KgGu3fKuXHfvBHno39fqdNOIH5E4+6T/k+kTrpR/vnaTvPPxo7hRXCgPv3S1grhw+R/liTd/rNKLU0oABDCm/wX4jjBP7l1wjjzy5mVy30vT9bLJ8J4zZMmmR6Av4KPUDsfjS6GJuEu4Vbq0Hy4FOWPwaflIWVPyvNQ3RRjYdvZgXW5pvunO7A35cG2irjpU7dsfmpj1y3UQgWs5YIYIDOdHuT+WEOw0QBCp7FFEE0Ae/WZk4SNMTG8bN25BWU2ydz84Ct/3Z2W3UwIgU5Cj66QGu3ngUy7lQHSsF9OqrFuHUzWIb7PEo+QJ4HOtFDlj6rn6McjFF3xTbp/7sPTtPQhfB2XKxPFnmn45FGAmAMoDE/Hh6kU6/351xrWyu7xIlq1cKO+vWCCnjMXXTZAMy9e+ASnVhJs/7aV49+bIGO0o/UTFfxqkBaeHbfhqyExFJotZRYSkdG+xnIQVQXpqe01IwifxNDxHiDf8iLQeCnR55RZN2lO9BXpLrWRBAqzb+TIYA4rrcT8Sflk8/6Pr0YMQfjPoOj1kWlPc8uFSfD0JwisRt94dDwLAbTRfRiipZn+4XUp3/GJkJv5nMC7bCAZcSoII5xsgCIZq7qoYckow8aRwAsvTwfVr10sZLo1e8b1LZPSoYTJr1jkyeeoJsuyDDyG2i8E9+F8OTx0vI4cMkzlfvwR7CORXo8ixDFrTBtYPkoISOWTwCDl+9Gj5x1N/lWlfHS0zvjpWLrl8shQVF8uXv/RVyAQqVNwGxstwreU29Zbta6R411bpXdBNlq16DYPcIO8tX6DiOz0tHeJ/ka5q1m9ZIqef9BUZM+QMGdxnvMw47WrZXrpeSsu3oI08FGLZUZOSlC4vvXeP3P3kV6V/wWiZeercSGJcVrQPLQERbdj5tmSltZOzx/5cuuUOkzNH/RxXz7Nk6673wCjbZMee5TKm90z8PlCRrN7xvBTtXS6jelyAuwUlkAjvRcr/FJ75eCdGY/WmeCvChghw97VOQrnewf8JhcONZseORGDnfzstRInATAMOMYAImoAq7+nzFGH7DlwQ+eEtMnBwH1n4zpPyp4dvlY9XrJO7fn+PbNm6Wf4z/1X5yuxp8spLL+E7w1wcA+PwBsRGLZl36Uh4RhJhzc75H39nnH6Opj8//x+ydft62bxtnaza+J4sXPS8DB8yUvr2HKYrALbBgq8EAQKow329j9a+A609KG8vMVy0cdtHsmnbKtlbuVc+2Woubdz/xLWyr6pMfnvty/KH698FR2fJfU9eLftrK/SKGdviNmxvI1YmawvfkleXPCRnnXilDOwxAePQoHqPW/FjXp4Urt2xUF7+8B750qgfyS8u+limjvyxvPbxvbJqu7lnuKZoPggtKOuLX8aU0SDrihdoeNPu16WuyXx36G7DQfq5ufFcfF7Pd/vtyUrHLzVVBarxP4Vl4/8IzJIHS7otwJCfSIol96B2dfnU/X7GUzbT1ThzYaJv/966GbSzqEQpnWfivaGlD4Vmv7+6RpYuWS41OIfnUXFaeqqMG3cCxH2TLF+xQrp26YLf/9mJIsPStWsX2bZ9G5aN+7V0FecgiIKCXrg0kiSF2z+BGAZh4o/KYbvMbOmKZeHO0h3g6BRp3y5XCos+UZHODptpICzZWR0wXXTWuZ/LRabk5/XA5dJU3BHYqGHmz0jLgmI4XsX3+q1LcDNoF9rsk64d+0st7gPureRKiidpydKlQ3+p3L8bXw+X4U5ihnTOw/+wWrNHw13yBuJKWTE+HtmrwHfO6S9V+NUvuxHUoyMuuLbrLeVVW3GfcIWWyQe/LMrL7IWvg3fgAkolVgf4D3wy+uDj0hLcMN4TyXeInreRfzJsDAV7ruoYzuT/GZgeylMiSPH2CD+y87hv1AV3/54TsIE4HnATbwnAiEV+OAruB7hU2qzhN/QBgEXSSQJ4vP+mwOHCZiO4hCDwnh25w2wbU9snp5DwHPAAMt+hAkWpwOtTmgIpb4gAUgkSgncSOHlRyvH+gjWWADilRQ1bZPSDaFyb9n0bvftLfA+91d5d4WBlv1A4KRjyJ2cGs/GjH73Tp/0bGXepUobB1z+CoH4zLbjnZ7NiwKDjWhevalmdgC7Dybh7lcT7VwDP3AmEiIaI46UNWn6gxq+OuGVMUPRCJw+ctE6jixA8Xri04JuL7MzPr3Q5+5sPSbnsSwQ+MsIYqaWUZSKOlifvpCXUHr1pvlCYRLB1bzhcA/8eHBJN7/jbMtxvf5aDrvMw52NYBZ1E4ABDgHXfHhxnCMK45MbENko8kfwsI1KmITbuPtoVgWmDAZqczDkVOgr6Y4hFuRthxjCvW8LZWJOGJM1Fl+ao4v5/oMMJNw+8Fd5guENSfignKRCqBhEEK3NDu/GbDLkpAx/CINVYANyEECEGDLglBo1TIiFREOjmVonCISaTnwRG0A2BMU4tYmy9BNTkgatAWzgJL/xKDATUEAR9NBZ8E4p/HlXg85ryg/EjYMPezkUFoYqiwnAGCEGJANKgbHeZTOv9xie47/cCB9+CEAGCoFiwFHRHOiiQJAq7Yoh1VaQjDwFXLd9VRkzZcXUq1Aq+5XBDFATf/LUMfhRq67OuHYI27z6LHia+xYoE7ybZhP8bvFe4oigQdkuDQIWE0rw97wHX1REcSwhmt43c7YhrB/QIR7tBTeCPSAwtk8RgyqbEYNluYrPinoRjOdwSAxqg4PNprPXFhpEYSbf5TNxR8cT+qtzRWk+9mThGKZW14V04p7PSgISQgd2cCzp+uBK/A/gU51wFQ8EiBATEAGaIwxAEQVTujoBqwTXEYub9aN7m5RiyigCv9RjuNsDDH+F6CzRdQhsf1mhNMT6Tz8YeJe4T6Cd3/1o03hypC9OSEKw0yIA0KMKVsUZ86p/r7387hrdSgVZCIKgGdvO00sFwr+FUghxrLXdH093EgRJt2QpwPMcb4NmLKNCGMKJxxhd9un1HJfhVGIFfcxRaM96uMiZMa4nALQ2ksFBmNS7ZhJ+DfYBDHxHPugoA/C7QDJxRUN3E4fbbicMCbqWLzRMr6mOBZx6bbjsVJYioz7TVgm5d+8ZR496LnnJ3q1WDxfkkb6EUyjAZL52kIxZg2zHM+AIWq4YK7MTk4q80/P6KStk8E8EclsYtlOaDbAaaz9asvhrJEVuOgZAFREFzw2pKtiXYPMa1IXeeWL957yh5bkY/vwFLHaBV45klT3GHBnB3VFwnySR9oVg+9FQIvv9Wcxx2EXIvCEot15OOQZKTahwnYJMP6EbgdnByQ2j98S6zxsbZkKnOHXL7D9iYtpaBFySePphOAbWwdx5yrpGnPWWyFuFT9T03IZiCxshfJfUJAHA+w62CHn8MZgpAVS2DEg+sQxX2zWbAMyFaWtRnXogPR4o5GjzPoJP2hswB+6sEYHPNAhHQn4gQGH8XDlOrpOhdwN+VYWMMKURDsWEbb90o0NEY63NDauOi+aOgRn3M5Q65/baEo8otQW/Hwe442F4DrXncIIeZaxw8LSEwwk4N9FMq/FraXRCQ+scRdCHt8jLjQZmWwYqCzoKi+aK+2HhTXWyqiTuqnhyAi2GfOpReuwjAvjbXemIIwUTOUudZSb4PwFweyXgYPC2BzqJjoY0NxacehqYcqUX8CQ03lwcPoQdkXYd958WxcZQQWJ6VCvjPXMJ3Ss/2VbJzIaLHMM1t7P0Ad5zbHwu0TYkHNRGs8Xniw7aso9Jdil5Pga0+1N67CMC+Gk8IjI8lBsYkS7tBTVL7Brz5DMeaOFrSxNYBS5yaKDZRXGztR1mIvyk7GXbtp+l3AgKwxSQiBKbNtRngpuImZhMPG1JtZCLobRrdA8PXUo6W4t2lH3V+3qi5AJZ3/T6VcePl9scV1iIxAJXk72Cb9/64Fw4h2BqwraUdQhVtNyvnfM79h91YydCCy5WDtfyU2HsTVAmg9b9aFRBE/Zg98BjccNhRT1BgCwQg7ni+RiL4w6ERwDGQMW6fltB/nwCrzzzKDXq8n5VzS/mPsJ+2U8feO7ix4yGPs3cD3/9Hk4gI2LC7YI+B+dmMAaTsFwP8A9HdTceI4LAzAc/2yXRHjPkuWmou/n823HC0SBl+wfK9Iwb1uIbOQJjXkY8WsA53P8sxdnr6GjeuR1RwJFrL754O9+C09fI4ZqOPKKRbaWwHpPEySVsH7XD1728YqzzYNmewayh7YA/XQLW1cvZibA7rKesXkYKGolGvHiOCZkzA09XhX0TAPos2JaFQara8wdLWuPhQ+1OMMbgKNvo5MwJHi+mFjvKTZfOx/tFFDOzzX2F7wR71ZgJG4BXYQ+WeIzU/j29PPupRjxsA7nKdDfs67JEK7IHaTd3nDNhjppURICHwehOvN9fBHmhQv+jp/Dybd/RPhz1mDnEEhiH/bbBbYL/oQMe3j1/n3ArLVc8x8z+OQDbe57byo7DUmuMH+4sS3oW2PQk7E7Y97BfeHFGnS85odoQ7EfYs2PGwfWGTYf9/mCAq5QeY78C+BPseLIngiDFHIgG4B5eXUfvDngBLYuC5Qy/YXNjPwlSg0ELYVbAEewnseljqKkekOdIJIH7QfYjIh+3jsr3g7wLL+Haw6bB208X2304h+PkyqYWthOWWNaeb7bCczzfBFsKWwpLz24SxA9AmOnOATpA4KDE4XZAA4vvOHx8gAXCDhhxNojhmjo1A2x6B/weHltTZ2fDa8AAAAABJRU5ErkJggg==`,we=`mem_notifications`,Te=`case_notifications`,Ee=e=>e===`admin`||e===`internal`,De=new Map;async function Oe(e){let t=De.get(e);if(typeof t==`boolean`)return t;try{let t=await(0,U.getDoc)((0,U.doc)(r.ka,`user_profiles`,e)),n=o.p(String(t.data()?.role||``));return De.set(e,n),n}catch{return!0}}async function ke(e,t){return await Oe(e)?t===e||Oe(t):!1}async function Ae(e){let{toUid:t,toRole:n,title:i,body:a,link:o}=e||{};if(!i||!t&&!n){console.warn(`notify(): needs a title and either toUid (one person) or toRole (an audience).`,e);return}let s=r.Oa.currentUser;if(!s){console.warn(`notify(): nobody is signed in, so there is no one to send as.`);return}let c=String(n||``),l=[];if(t){if(l=await ke(s.uid,String(t))?[]:[y.E(String(t))],l[0]===`uid:`){console.warn(`notify(): toUid is the recipient’s uid — that one is empty, so the notification would reach nobody.`,e);return}}else if(!Ee(c)){let t=y.D(c);if(t===`role:`){console.warn(`notify(): '${c}' is not an audience — pass 'admin', 'internal', or the role as you named it on the Users screen.`,e);return}l=[t]}let u={title:i,body:a||``,link:o||``,uid:s.uid,fromName:s.displayName||s.email||``};if(l.length){try{await(0,U.addDoc)((0,U.collection)(r.ka,Te),{access:l,editors:l,...u,createdAt:Date.now()})}catch(e){console.warn(`notify(): the notification was not saved. Sending to a role — or to somebody who is not on your team — is kept in case_notifications, which needs the security rules re-pasted from the Setup screen. A sender who is signed out, unverified or deactivated is refused whatever the rules say.`,e)}return}try{await(0,U.addDoc)((0,U.collection)(r.ka,we),{...t?{toUid:t}:{toRole:n},...u,createdAt:(0,U.serverTimestamp)()})}catch(e){console.warn(`notify(): the notification was not saved. If the sender is not on your team, re-paste your Firestore rules from /setup — sending from outside the team needs the mem_notifications line added in 1.14.21. A sender who is signed out, unverified or deactivated is refused whatever the rules say.`,e)}}var je=e=>{let t=String(e??``).trim();return t.startsWith(`/`)?(t.split(/[?#]/)[0].replace(/\/+$/,``)||`/`).toLowerCase():``},Me=(e,t)=>je(t?.route?String(t.route).startsWith(`/`)?t.route:`/`+t.route:`/`+e);function Ne(e,{picks:t,records:n,files:r=i.S()}){let a=je(e);if(!a||a===`/`)return null;for(let[e,n]of Object.entries(i.n)){let r=je(n.path);if(a===r||a.startsWith(r+`/`))return i.y(t[e])??n.icon??null}let o={};for(let[e,t]of r)t?.isPublic||(o[e]={...t?.config||{},...n[e]||{}});for(let[e,t]of Object.entries(n)){let r=String(t?.fileId||``);r&&r!==e&&!n[r]?(o[e]={...o[r]||{},...t},delete o[r]):o[e]||(o[e]=t)}for(let[e,t]of Object.entries(o))if(Me(e,t)===a)return i.y(t?.iconName)??s.Ct;return null}var Pe=()=>{try{let e=localStorage.getItem(`fbos_nav_tabs`),t=e?JSON.parse(e):null;return t&&typeof t==`object`?t:{}}catch{return{}}};function Fe(){let e=i.u(),[t,n]=(0,B.useState)(Pe);return(0,B.useEffect)(()=>r.ya(`sys_tabs`,()=>(0,U.collection)(r.ka,`sys_tabs`),e=>{let t={};for(let n of e.docs||[])t[n.id]=n.data();n(t)},()=>{}),[]),n=>Ne(n,{picks:e,records:t})}function Ie(e,t,n){if(t?.own===!0)return null;let i=t?.start?r.Nt(new Date(String(t.start)),n):``,a=r.mt({scheduleName:t?.scheduleName,memberName:t?.memberName}),o=String(t?.cancelReason||``).trim(),s={id:`b_${e}`,groupKey:t?.entryId?`${t.entryId}__${String(t.start||``)}`:``,type:`booking`,link:`/my-bookings`};return t?.cancelled===!0?String(t.cancelledSide||``)===`booker`?null:{...s,title:`Booking cancelled`,subtitle:[a,i,o].filter(Boolean).join(` · `),time:typeof t.cancelledAt==`number`&&t.cancelledAt>0?t.cancelledAt:t.createdAt}:t?.pending!==!0&&typeof t?.acceptedAt==`number`&&t.acceptedAt>0?{...s,title:`Booking confirmed`,subtitle:[a,i].filter(Boolean).join(` · `),time:t.acceptedAt}:null}function Le(e,t){let n=new Map;for(let t of e){let e=t.data()||{};if(e.own===!0)continue;let r=e.entryId?`${e.entryId}__${String(e.start||``)}`:t.id,i=n.get(r);i?i.push({id:t.id,data:e}):n.set(r,[{id:t.id,data:e}])}let r=[];for(let e of n.values()){let n=e.find(e=>e.data.cancelled===!0&&String(e.data.cancelledSide||``)!==`booker`&&String(e.data.cancelReason||``).trim())||e.find(e=>e.data.cancelled===!0);if(n){let e=Ie(n.id,n.data,t);e&&r.push(e);continue}if(e.every(e=>Ie(e.id,e.data,t)?.title===`Booking confirmed`)){let n=e.reduce((e,t)=>t.data.acceptedAt>e.data.acceptedAt?t:e),i=Ie(n.id,n.data,t);i&&r.push(i)}}return r}function Re(e){return{id:`c_${e.id}`,type:`message`,title:String(e.title||`Notification`),subtitle:String(e.body||e.fromName||``),time:e.createdAt,link:typeof e.link==`string`&&e.link.startsWith(`/`)?e.link:void 0}}function ze(e){return{id:`p_${e.id}`,type:`payment`,title:`New payment`,subtitle:r.gi(e),time:e.at,link:`/transactions?open=${encodeURIComponent(e.id)}`}}function Be(e){return{id:`p_${e.id}`,type:`payment`,title:`Order placed`,subtitle:r.gi(e,!1),time:e.at,link:`/billing?open=${encodeURIComponent(e.id)}`}}var Ve={user:s.g,booking:s.fn,submission:s.lt,request:s.en,verify:s.ut,role:s.M,finish:s.Dt,message:s.hn,payment:s.tt};function He({n:e}){let t=Fe();return(0,B.createElement)(!e.standing&&t(e.link)||Ve[e.type]||s.en,{className:`w-4 h-4`})}function Ue(){let[e,t]=(0,B.useState)(!1),[n,i]=(0,B.useState)([]),a=(0,B.useRef)(null),c=(0,B.useRef)(null),[l,u]=(0,B.useState)(null),d=(0,G.useNavigate)(),{user:f,userRole:p,roleConfirmed:m,profile:g,requestedRole:S}=r.dr(),C=p===`admin`,w=r.$r();v.l();let T=o.n(f,g),E=o.p(p),D=y.F(Te,{mine:!0,max:8}),O=r.pi(),k=r._i(`sales`,f?.uid,C&&m&&O.configured),A=r._i(`mine`,f?.uid,O.configured);(0,B.useEffect)(()=>{function e(e){a.current&&!a.current.contains(e.target)&&t(!1)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]);let j=(0,B.useRef)({users:[],submissions:[],requests:[],direct:[],rolewide:[],bookings:[],booked:[],bookedByEmail:[],notices:[],sentToMe:[],sales:[],orders:[]}),M=(0,B.useRef)(!1);(0,B.useEffect)(()=>{M.current=!1},[f?.uid]);let N=(e,t)=>{j.current[e]=t;let n=j.current,r=new Set,a=[...n.users,...n.submissions,...n.requests,...n.direct,...n.rolewide,...n.bookings,...n.booked,...n.bookedByEmail,...n.notices,...n.sentToMe,...n.sales,...n.orders].filter(e=>r.has(e.id)?!1:(r.add(e.id),!0));a.sort((e,t)=>{let n=e.time?.toDate?e.time.toDate().getTime():new Date(e.time).getTime();return((t.time?.toDate?t.time.toDate().getTime():new Date(t.time).getTime())||0)-(n||0)}),i(a.slice(0,8))},P=(e,t)=>{M.current||(M.current=!0,console.warn(`AdminNotifications: this account could not read one of the notification feeds, so that part of the bell is empty. Most of them are the team's alone, and every one of them asks for a verified address.`,t)),N(e,[])};(0,B.useEffect)(()=>{let e=[];if(m){if(C){let t=(0,U.query)((0,U.collection)(r.ka,`user_profiles`),(0,U.orderBy)(`createdAt`,`desc`),(0,U.limit)(5));e.push((0,U.onSnapshot)(t,e=>{N(`users`,e.docs.map(e=>{let t=e.data();return{id:`u_${e.id}`,type:`user`,title:`New user registered`,subtitle:t.email||t.phone||`Unknown`,time:t.createdAt,link:`/users/${e.id}`}}))},e=>P(`users`,e)));let n=(0,U.query)((0,U.collection)(r.ka,`user_submissions`),(0,U.orderBy)(`submittedAt`,`desc`),(0,U.limit)(5));e.push((0,U.onSnapshot)(n,e=>{N(`submissions`,e.docs.filter(e=>e.data()?.formId!==`booking`&&!r.kt(e.data()||{})&&!x.a(e.data()||{})).map(e=>{let t=e.data();return{id:`s_${e.id}`,type:`submission`,title:`New form submission`,subtitle:t.name||t.email||`Anonymous`,time:t.submittedAt,link:`/inbox?open=${encodeURIComponent(`anyone:${e.id}`)}`}}))},e=>P(`submissions`,e)));let i=(0,U.query)((0,U.collection)(r.ka,`user_requests`),(0,U.orderBy)(`submittedAt`,`desc`),(0,U.limit)(5));e.push((0,U.onSnapshot)(i,e=>{N(`requests`,e.docs.map(e=>{let t=e.data();return{id:`r_${e.id}`,type:`request`,title:`New support request`,subtitle:t.name||t.submitterName||t.contactEmail||t.email||`Anonymous`,time:t.submittedAt,link:`/inbox?open=${encodeURIComponent(`signedIn:${e.id}`)}`}}))},e=>P(`requests`,e)))}else N(`users`,[]),N(`submissions`,[]),N(`requests`,[]);if(f?.uid&&(C||E)){let t=e=>{let t=e.data()||{};if(t.own===!0)return null;let n=t.cancelled===!0,i=String(t.cancelledSide||``)!==`booker`&&String(t.cancelledByUid||``)===(f?.uid||``);if(n&&i)return null;let a=t.start?r.Nt(new Date(String(t.start)),r.Dt()):``,o=r.jt({name:t.name}),s=String(t.cancelReason||``).trim();return{id:`b_${e.id}`,groupKey:t.entryId?`${t.entryId}__${String(t.start||``)}`:``,type:`booking`,title:n?`Booking cancelled`:t.pending===!0?`Booking to accept`:`New booking`,subtitle:[o,a,n?s:``].filter(Boolean).join(` · `),time:n&&typeof t.cancelledAt==`number`&&t.cancelledAt>0?t.cancelledAt:t.createdAt,link:`/schedule?open=${encodeURIComponent(e.id)}`}},n=e=>{let t=new Set,n=[];for(let r of e)if(r){if(r.groupKey){if(t.has(r.groupKey))continue;t.add(r.groupKey)}n.push(r)}return n},i=f.uid,a=C?(0,U.query)((0,U.collection)(r.ka,r.k),(0,U.orderBy)(`createdAt`,`desc`),(0,U.limit)(5)):(0,U.query)((0,U.collection)(r.ka,r.k),(0,U.where)(`end`,`>=`,new Date().toISOString())),o=e=>C||String(e.data()?.memberId||``)===i;e.push((0,U.onSnapshot)(a,e=>N(`bookings`,n(e.docs.filter(o).map(t))),e=>P(`bookings`,e)))}else N(`bookings`,[]);if(f?.uid){let t=r.Dt();e.push(h.T(f.uid,e=>N(`booked`,Le(e,t)),e=>P(`booked`,e)));let n=String(f.email||``).trim().toLowerCase();n?e.push(h.w(n,e=>N(`bookedByEmail`,Le(e,t)),e=>P(`bookedByEmail`,e))):N(`bookedByEmail`,[])}else N(`booked`,[]),N(`bookedByEmail`,[]);if(f?.uid){let t=(0,U.query)((0,U.collection)(r.ka,b.t),(0,U.where)(`uid`,`==`,f.uid)),n=e=>{let t=e.data()||{};return{id:`n_${e.id}`,type:`message`,title:String(t.title||`Notification`),subtitle:String(t.body||``),time:t.createdAt,link:typeof t.link==`string`&&t.link.startsWith(`/`)?t.link:void 0}};e.push((0,U.onSnapshot)(t,e=>{N(`notices`,e.docs.filter(e=>(e.data()||{}).kind===`notice`).map(n))},e=>P(`notices`,e)))}else N(`notices`,[]);if(f?.uid&&(C||E)){let t=e=>{let t=e.data();return{id:`m_${e.id}`,type:`message`,title:t.title||`Notification`,subtitle:t.body||t.fromName||``,time:t.createdAt,link:typeof t.link==`string`&&t.link.startsWith(`/`)?t.link:void 0}},n=(0,U.query)((0,U.collection)(r.ka,we),(0,U.where)(`toUid`,`==`,f.uid));e.push((0,U.onSnapshot)(n,e=>N(`direct`,e.docs.map(t)),e=>P(`direct`,e)));let i=C?[`admin`,`internal`]:[`internal`],a=(0,U.query)((0,U.collection)(r.ka,we),(0,U.where)(`toRole`,`in`,i));e.push((0,U.onSnapshot)(a,e=>N(`rolewide`,e.docs.map(t)),e=>P(`rolewide`,e)))}else N(`direct`,[]),N(`rolewide`,[]);return()=>e.forEach(e=>e())}},[C,E,f?.uid,f?.email,m]),(0,B.useEffect)(()=>{let e=f?.uid?y.k(f.uid,p):[];N(`sentToMe`,e.length?D.records.filter(t=>y.w(t,e)).map(Re):[])},[D.records,f?.uid,p]),(0,B.useEffect)(()=>{N(`sales`,k.map(ze))},[k]),(0,B.useEffect)(()=>{N(`orders`,A.map(Be))},[A]);let[F,I]=(0,B.useState)(()=>typeof window<`u`?parseInt(localStorage.getItem(`admin_notifications_last_read`)||`0`,10):0),L=()=>{let n=!e;if(t(n),n){let e=c.current?.getBoundingClientRect();u(typeof window<`u`&&window.innerWidth<640&&e?e.bottom+8:null);let t=Date.now();I(t),typeof window<`u`&&localStorage.setItem(`admin_notifications_last_read`,t.toString())}},R=[];!w.loading&&_.v(g,p,w.finishRegistration,f?.uid)&&R.push({id:`finish-registration`,type:`finish`,title:`Finish registration`,subtitle:`There is still something we need from you.`,time:null,standing:!0,link:`/your-details`}),f&&S&&R.push({id:`role-request`,type:`role`,title:r.Or,subtitle:r.Dr,time:null,standing:!0,urgent:!0,link:`/profile`}),T&&R.push({id:`verify-email`,type:`verify`,title:`Verify your email`,subtitle:`Open the link we sent to ${T} and you can sign in with it too. Nothing is waiting on it.`,time:null,standing:!0,link:`/verify`});let z=R.length?[...R,...n]:n,H=z.some(e=>{if(e.standing||!e.time)return!0;let t=e.time?.toDate?e.time.toDate().getTime():new Date(e.time).getTime();return t>F||isNaN(t)}),W=e=>{t(!1),e.link?d(e.link):e.type===`user`?d(`/users`):e.type===`booking`?d(E?`/schedule`:`/my-bookings`):e.type===`submission`||e.type===`request`?d(`/inbox`):e.type===`verify`||e.type===`role`?d(`/profile`):e.type===`finish`?d(`/your-details`):e.type===`payment`&&d(C?`/transactions`:`/billing`)},ee=e=>{if(!e)return``;let t=e.toDate?e.toDate():new Date(e),n=Date.now()-t.getTime();if(isNaN(n))return``;let r=Math.floor(n/6e4);if(r<1)return`now`;if(r<60)return`${r}m`;let i=Math.floor(r/60);if(i<24)return`${i}h`;let a=Math.floor(i/24);return a<7?`${a}d`:new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`numeric`}).format(t)};return(0,V.jsxs)(`div`,{className:`relative z-50 flex-shrink-0`,ref:a,children:[(0,V.jsxs)(`button`,{ref:c,onClick:L,className:`w-9 h-9 rounded-xl border border-[var(--panel-border)] transition-all relative text-foreground/60 hover:bg-foreground/5 hover:text-foreground flex items-center justify-center shadow-sm cursor-pointer`,"aria-label":`Notifications`,children:[(0,V.jsx)(s.hn,{className:`w-4 h-4`}),H&&(0,V.jsx)(`span`,{className:`absolute top-1.5 right-1.5 w-2 h-2 bg-[var(--notification-icon-color)] rounded-full animate-pulse`})]}),(0,V.jsx)(r.cr,{children:e&&(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:-5,scale:.98},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,scale:.98,y:-5},className:`${l===null?`absolute top-full mt-2 right-0`:`fixed right-4`} w-[min(320px,calc(100vw-2rem))] md:w-[400px] glass-popover border border-[var(--panel-border)] rounded-2xl z-50 flex flex-col origin-top-right overflow-hidden`,style:l===null?void 0:{top:l},children:[(0,V.jsxs)(`div`,{className:`px-4 border-b border-[var(--panel-border)]/50 pb-3 pt-4 flex items-center justify-between`,children:[(0,V.jsx)(`span`,{className:`font-bold text-[14px] text-foreground tracking-wide`,children:`Notifications`}),(C||E)&&(0,V.jsx)(`span`,{className:`text-[10px] font-bold uppercase tracking-widest text-accent bg-accent/10 px-2 py-0.5 rounded-md`,children:C?`Admin`:`Team`})]}),(0,V.jsx)(`div`,{className:`max-h-[350px] overflow-y-auto w-full p-2 flex flex-col gap-1`,children:z.length===0?(0,V.jsx)(`div`,{className:`p-6 text-center text-foreground/40 text-[13px] font-medium`,children:`No recent activity.`}):z.map(e=>(0,V.jsxs)(`button`,{onClick:()=>W(e),className:`w-full flex items-start gap-3 p-3 rounded-xl hover:bg-foreground/5 transition-all text-left group border border-transparent hover:border-[var(--panel-border)]`,children:[(0,V.jsx)(`div`,{className:`mt-0.5 w-8 h-8 rounded-full flex items-center justify-center shrink-0 ${e.urgent?`bg-red-500/10 text-red-500`:`bg-foreground/5 text-notification-icon`}`,children:(0,V.jsx)(He,{n:e})}),(0,V.jsxs)(`div`,{className:`flex flex-col flex-1 min-w-0`,children:[(0,V.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,V.jsx)(`span`,{className:`text-[13px] font-semibold text-foreground group-hover:text-accent transition-colors truncate flex-1 min-w-0`,children:e.title}),(0,V.jsx)(`span`,{className:`text-[10px] font-mono tracking-wide text-foreground/40 shrink-0`,children:ee(e.time)})]}),(0,V.jsx)(`span`,{className:`text-[12px] text-foreground/60 ${e.standing?`leading-snug`:`truncate`}`,children:e.subtitle})]})]},e.id))})]})})]})}var We=[{id:`contact`,hidden:!1}],Ge={route:`/support`,template:`popup_form`,form:`support`,tabName:`Support`,iconName:``},Ke={"/contact":s.lt},qe=e=>e&&Ke[e]||s.Ct,Je=`text-[13px] md:text-[14px] font-bold tracking-wide text-foreground/50 hover:text-accent transition-all cursor-pointer flex items-center gap-1.5`;function Ye({pages:e}){let[t,n]=(0,B.useState)(null),[a,o]=(0,B.useState)(!1),{rowRef:c,measureRef:l,visible:u}=i.s({count:e.length,listKey:e.map(e=>e.label+(e.submenu?` ▾`:``)).join(`|`),shown:!0,gap:28,moreButtonWidth:50}),d=e.slice(0,u),f=e.slice(u);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{ref:l,"aria-hidden":`true`,className:`flex items-center gap-7 whitespace-nowrap px-1`,style:{position:`fixed`,top:-9999,left:0,visibility:`hidden`,height:0,pointerEvents:`none`},children:e.map((e,t)=>(0,V.jsxs)(`span`,{"data-measure":!0,className:`text-[13px] md:text-[14px] font-bold tracking-wide flex items-center gap-1.5 shrink-0`,children:[e.label,e.submenu&&(0,V.jsx)(s.on,{className:`w-3 h-3`})]},t))}),(0,V.jsxs)(`div`,{className:`flex items-center gap-7 w-full min-w-0 justify-end relative`,ref:c,children:[d.map((e,i)=>(0,V.jsxs)(`div`,{className:`relative shrink-0`,onMouseEnter:()=>n(e.label),onMouseLeave:()=>n(null),children:[e.path?(0,V.jsxs)(G.Link,{to:e.path,className:Je,children:[e.label,e.submenu&&(0,V.jsx)(s.on,{className:`w-3 h-3`})]}):(0,V.jsxs)(`button`,{onClick:e.action,className:Je,children:[e.label,e.submenu&&(0,V.jsx)(s.on,{className:`w-3 h-3`})]}),e.submenu&&t===e.label&&(0,V.jsx)(`div`,{className:`absolute top-[100%] left-0 pt-2 z-50`,children:(0,V.jsx)(r.sr.div,{initial:{opacity:0,y:5},animate:{opacity:1,y:0},className:`min-w-[180px] max-h-[300px] overflow-y-auto styled-scrollbars bg-background/95 backdrop-blur-xl border border-[var(--panel-border)] rounded-2xl shadow-xl flex flex-col py-2`,children:e.submenu.map((e,t)=>e.path?(0,V.jsx)(G.Link,{to:e.path,className:`px-5 py-3 text-[13px] font-medium text-foreground/70 hover:text-foreground hover:bg-foreground/5 transition-colors`,children:e.label},t):(0,V.jsx)(`button`,{onClick:e.action,className:`px-5 py-3 text-left w-full text-[13px] font-medium text-foreground/70 hover:text-foreground hover:bg-foreground/5 transition-colors`,children:e.label},t))})})]},`${e.path||`no-path`}-${i}`)),f.length>0&&(0,V.jsxs)(`div`,{className:`relative flex items-center shrink-0`,onMouseEnter:()=>o(!0),children:[(0,V.jsx)(`button`,{onClick:()=>o(e=>!e),"aria-label":`More pages`,"aria-expanded":a,className:`p-1 rounded-lg transition-colors flex items-center ${a?`bg-foreground/5 text-accent`:`text-foreground/50 hover:bg-foreground/5 hover:text-accent`}`,children:(0,V.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,className:`w-5 h-5`,children:[(0,V.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1`}),(0,V.jsx)(`circle`,{cx:`12`,cy:`5`,r:`1`}),(0,V.jsx)(`circle`,{cx:`12`,cy:`19`,r:`1`})]})}),(0,V.jsx)(r.cr,{children:a&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>o(!1)}),(0,V.jsx)(r.sr.div,{initial:{opacity:0,y:5,scale:.98},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:5,scale:.98},className:`absolute top-[100%] pt-1 right-0 min-w-[200px] max-h-[350px] overflow-y-auto styled-scrollbars glass-popover border border-[var(--panel-border)] rounded-2xl flex flex-col py-2 z-50 origin-top-right`,children:f.map((e,t)=>e.path?(0,V.jsx)(G.Link,{to:e.path,onClick:()=>o(!1),className:`px-5 py-3 text-[13px] font-bold tracking-wide text-foreground/70 hover:text-foreground hover:bg-foreground/5 transition-colors`,children:e.label},t):(0,V.jsx)(`button`,{onClick:()=>{e.action&&e.action(),o(!1)},className:`px-5 py-3 text-left w-full text-[13px] font-bold tracking-wide text-foreground/70 hover:text-foreground hover:bg-foreground/5 transition-colors`,children:e.label},t))})]})})]})]})]})}function Xe({pages:e,onNavigate:t}){return(0,V.jsx)(V.Fragment,{children:e.map((e,n)=>{let r=qe(e.path);return e.path?(0,V.jsxs)(G.Link,{to:e.path,onClick:t,className:`flex items-center gap-3 px-3 py-2.5 rounded-xl hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all min-w-0`,children:[(0,V.jsx)(r,{className:`w-4 h-4 text-accent/70 shrink-0`}),` `,(0,V.jsx)(`span`,{className:`text-[14px] font-semibold truncate`,children:e.label})]},`${e.path}-${n}`):(0,V.jsxs)(`button`,{onClick:()=>{e.action&&e.action(),t?.()},className:`flex items-center gap-3 px-3 py-2.5 rounded-xl hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all w-full text-left min-w-0`,children:[(0,V.jsx)(r,{className:`w-4 h-4 text-accent/70 shrink-0`}),` `,(0,V.jsx)(`span`,{className:`text-[14px] font-semibold truncate`,children:e.label})]},`${e.label}-${n}`)})})}function Ze({pages:e,phone:t,onNavigate:n}){return t?(0,V.jsx)(Xe,{pages:e,onNavigate:n}):(0,V.jsx)(Ye,{pages:e})}var Qe=(0,B.createContext)({wide:!1,setWide:()=>{},cap:0,setCap:()=>{}});function $e({children:e}){let[t,n]=(0,B.useState)(!1),[r,i]=(0,B.useState)(0);return(0,V.jsx)(Qe.Provider,{value:{wide:t,setWide:n,cap:r,setCap:i},children:e})}var et=()=>(0,B.useContext)(Qe).wide,tt=()=>{let{wide:e,cap:t}=(0,B.useContext)(Qe);return e?t:0};function nt(e=!0){let{setWide:t,setCap:n}=(0,B.useContext)(Qe);(0,B.useLayoutEffect)(()=>{if(e)return t(!0),()=>t(!1)},[e,t]),(0,B.useLayoutEffect)(()=>{if(e)return st()},[e]),(0,B.useLayoutEffect)(()=>{if(e)return ot(n)},[e,n])}var rt=.5,it=400;function at(e,t){if(!e||!t||typeof window>`u`)return 0;let n=getComputedStyle(t),r=(parseFloat(n.paddingLeft)||0)+(parseFloat(n.paddingRight)||0),i=window.innerHeight*rt,a=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT);for(let e=0,t=a.nextNode();t&&e<it;t=a.nextNode(),e++){let e=t,n=getComputedStyle(e);if(n.position===`fixed`||n.display===`none`)continue;let a=parseFloat(n.maxWidth);if(!Number.isFinite(a)||a<960)continue;let o=e.getBoundingClientRect();if(o.width<=0||o.height<=0)continue;if(o.top>i)break;let s=e.parentElement?.getBoundingClientRect();if(!s)continue;let c=o.left-s.left,l=s.right-o.right;if(Math.abs(c-l)>2)continue;let u=a-(parseFloat(n.paddingLeft)||0)-(parseFloat(n.paddingRight)||0)-(parseFloat(n.borderLeftWidth)||0)-(parseFloat(n.borderRightWidth)||0);return Math.round(u+r)}return 0}function ot(e){if(typeof document>`u`)return()=>{};let t=0,n=()=>{t=0,e(at(document.querySelector(`.fbos-home-slot, .fbos-page-canvas`),document.querySelector(`.firebase-os > nav, .firebase-os nav`)))},r=()=>{t||=requestAnimationFrame(n)};n();let i=[300,1e3,2500].map(e=>setTimeout(r,e)),a=document.querySelector(`.fbos-home-slot, .fbos-page-canvas`),o=a&&typeof MutationObserver<`u`?new MutationObserver(r):null;return o?.observe(a,{childList:!0,subtree:!0}),window.addEventListener(`resize`,r),()=>{i.forEach(clearTimeout),t&&cancelAnimationFrame(t),o?.disconnect(),window.removeEventListener(`resize`,r),e(0)}}function st(){if(typeof document>`u`)return()=>{};let e=document.documentElement,t=document.querySelector(`.firebase-os > nav, .firebase-os nav`);if(!t)return()=>{};let n=()=>e.style.setProperty(`--menu-h`,`${Math.round(t.getBoundingClientRect().height)}px`);n();let r=typeof ResizeObserver<`u`?new ResizeObserver(n):null;return r?.observe(t),window.addEventListener(`resize`,n),()=>{r?.disconnect(),window.removeEventListener(`resize`,n),e.style.removeProperty(`--menu-h`)}}function ct({onNavigate:e}){let{user:t}=r.dr(),{bought:n}=r.di(t?.uid);return n?(0,V.jsxs)(G.Link,{to:`/billing`,onClick:e,className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,V.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,V.jsx)(s.tt,{className:`w-3 h-3 text-accent`})}),`Billing`]}):null}function lt({onNavigate:e}){return(0,V.jsx)(V.Fragment,{children:i.r().map(t=>{let n=t.icon;return(0,V.jsxs)(G.Link,{to:t.path,onClick:e,"data-own-tab":t.id,className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,V.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,V.jsx)(n,{className:`w-3 h-3 text-accent`})}),(0,V.jsx)(`span`,{className:`truncate min-w-0`,children:t.label})]},t.id)})})}var ut={contact:{label:`Contact`,path:`/contact`}},dt=`fbos_public_menu`,ft=()=>{try{let e=localStorage.getItem(dt),t=e?JSON.parse(e):null;return t&&typeof t==`object`?t:{}}catch{return{}}},pt=e=>{try{localStorage.setItem(dt,JSON.stringify({...ft(),...e}))}catch{}},mt=new Set([`setup`,`templates`,`guide`]),ht=1.6,gt=`logo-shape:`,_t={shape:`unknown`,ratio:0},vt=e=>({shape:e>=ht?`wide`:`square`,ratio:e}),yt=e=>{if(!e)return _t;try{let t=localStorage.getItem(gt+e);if(t===`wide`)return{shape:`wide`,ratio:0};if(t===`square`)return{shape:`square`,ratio:0};let n=Number(t);return t&&Number.isFinite(n)&&n>0?vt(n):_t}catch{return _t}};function bt(e){let[t,n]=(0,B.useState)(null),r=t&&t.url===e?t.measure:yt(e);return(0,B.useEffect)(()=>{if(!e||yt(e).shape!==`unknown`||typeof Image>`u`)return;let t=new Image;return t.onload=()=>{let r=Math.round(t.naturalWidth/Math.max(1,t.naturalHeight)*100)/100;try{localStorage.setItem(gt+e,String(r))}catch{}n({url:e,measure:vt(r)})},t.onerror=()=>n({url:e,measure:{shape:`square`,ratio:0}}),t.src=e,()=>{t.onload=null,t.onerror=null}},[e]),r}function xt({customMenu:e,standalone:t}){let{user:n,userRole:c,signOut:l,roleResolved:d,profileReady:f,profile:p}=r.dr(),m=!!n&&d!==!1&&f!==!1,h=o.h(c),[g,_]=(0,B.useState)(!1),[v,y]=(0,B.useState)(!1),[b,x]=(0,B.useState)(!1),[S,C]=(0,B.useState)(!1),w=String(p?.displayName||``).trim()||n?.displayName||n?.email?.split(`@`)[0]||`User`,T=w.charAt(0).toUpperCase()+w.slice(1),{theme:E,toggleTheme:D,activeConfig:O,canSwitchTheme:k}=i.w(),A=r.Na().components?.Menu||Ze,j=async()=>{await l(),_(!1)},[M,N]=(0,B.useState)(()=>ft().info??{...ut}),[P,F]=(0,B.useState)(()=>ft().order??We),[I,L]=(0,B.useState)(Ge.tabName);(0,B.useEffect)(()=>{if(!r.ka)return;let e=(0,U.onSnapshot)((0,U.collection)(r.ka,`sys_pages`),e=>{let t={...ut};for(let[e,n]of i.S()){if(!n.isPublic)continue;let r=n.config||{};if(r.enabled===!1)continue;let a=r.route?r.route.startsWith(`/`)?r.route:`/`+r.route:`/`+e;t[e]={label:r.pageName||r.pageTitle||r.title||e,path:a,iconName:r.iconName||``,offMenu:i.b(r)}}e.forEach(e=>{let n=e.data(),r=String(n.fileId||``),i=r&&t[r]||t[e.id];if(r&&r!==e.id&&delete t[r],n.enabled===!1)return;let a=n.pageName||n.title||ut[e.id]?.label||e.id,o=n.route||(e.id===`home`?`/`:`/`+e.id);t[e.id]={label:a,path:o,iconName:n.iconName||t[e.id]?.iconName||``,offMenu:i?.offMenu}});for(let e of mt)delete t[e];N(t),pt({info:t})},e=>{a.a(e)}),t=(0,U.onSnapshot)((0,U.doc)(r.ka,`sys_configs`,`page_order`),e=>{let t=e.exists()&&Array.isArray(e.data().order)?i.c(e.data().order):We;F(t),pt({order:t})},()=>{}),n=(0,U.onSnapshot)((0,U.doc)(r.ka,`sys_tabs`,`support`),e=>{e.exists()&&e.data().pageName&&L(e.data().pageName)},()=>{});return()=>{e(),t(),n()}},[]);let R=(()=>{let e=new Set(P.filter(e=>e.hidden).map(e=>e.id)),t=new Set,n=[];return P.forEach(e=>{if(e.hidden||e.id===`home`)return;let r=M[e.id];r&&(n.push({label:r.label,path:r.path,iconName:r.iconName}),t.add(e.id))}),Object.entries(M).forEach(([r,i])=>{!t.has(r)&&!e.has(r)&&!i.offMenu&&r!==`home`&&i.path!==`/`&&i.path!==`/support`&&n.push({label:i.label,path:i.path,iconName:i.iconName})}),n})(),z=e||R,H=t?[]:z.filter(e=>e.path&&i.y(e.iconName)),W=H.length?z.filter(e=>!H.includes(e)):z,[ee,te]=(0,B.useState)(()=>typeof window<`u`&&window.innerWidth<640);(0,B.useEffect)(()=>{if(typeof window>`u`)return;let e=()=>{let e=window.innerWidth<640;te(t=>(t!==e&&_(!1),e))};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]);let ne=!t&&!n&&!ee,re=et(),ie=tt(),{shape:ae,ratio:K}=bt(O?.logoUrl),q=ae===`square`&&!!O?.logoUrl&&K>1.05;return(0,V.jsxs)(`nav`,{className:`flex items-center justify-between w-full ${re?`px-4 pt-4 pb-3 md:px-8 md:pt-10 md:pb-6`:`max-w-7xl px-4 py-4 md:px-8 md:py-10`} mx-auto z-40 relative`,style:ie?{maxWidth:ie}:void 0,children:[(0,V.jsx)(`div`,{className:`flex items-center min-w-0 z-50`,children:(0,V.jsx)(G.Link,{to:`/`,className:`flex items-center gap-2 md:gap-2.5 lg:gap-3 group cursor-pointer z-50 min-w-0`,"aria-label":ae===`wide`?O?.appName||`Home`:void 0,children:ae===`wide`&&O?.logoUrl?(0,V.jsx)(`img`,{src:O.logoUrl,alt:O?.appName||``,"data-wide-logo":!0,draggable:!1,className:`h-6 md:h-7 lg:h-7 w-auto max-w-[140px] md:max-w-[180px] lg:max-w-[200px] object-contain object-left transition-opacity duration-300 group-active:opacity-80`}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{"data-logo-tile":q?`wide`:`square`,"data-logo-ratio":q?String(K):void 0,style:q?{aspectRatio:String(K)}:void 0,className:`h-8 md:h-9 ${q?`w-auto`:`w-8 md:w-9 group-hover:rotate-180`} rounded-lg glass-panel flex items-center justify-center glow-hover shadow-lg transition-transform duration-500 group-active:scale-95 overflow-hidden shrink-0`,children:O?.logoUrl?(0,V.jsx)(r.Nn,{src:O.logoUrl,alt:`Logo`,fit:`contain`,priority:!0,className:`w-full h-full`,imgClassName:`max-md:p-0.5`}):(0,V.jsx)(`img`,{src:Ce,alt:``,"aria-hidden":`true`,draggable:!1,"data-brand-mark":!0,className:`w-full h-full object-cover`})}),(0,V.jsx)(`span`,{className:`font-display font-bold text-[17px] md:text-[19px] lg:text-[22px] tracking-tight text-gradient transition-all duration-300 drop-shadow-sm truncate`,children:O?.appName||``})]})})}),(0,V.jsx)(r.cr,{children:v&&(0,V.jsx)(u.t,{formId:`contact`,onClose:()=>y(!1)})}),(0,V.jsx)(r.cr,{children:b&&(0,V.jsx)(u.t,{formId:`support`,onClose:()=>x(!1)})}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2.5 md:gap-4 z-50 relative ml-auto flex-1 min-w-0 justify-end`,children:[ne&&(0,V.jsx)(`div`,{className:`flex items-center flex-1 min-w-0 justify-end mr-6`,children:(0,V.jsx)(A,{pages:W,phone:!1})}),H.length>0&&(0,V.jsx)(`div`,{className:`flex items-center gap-1.5 sm:gap-2 shrink-0`,children:H.map((e,t)=>{let n=i.y(e.iconName)||s.Ct;return(0,V.jsx)(G.Link,{to:e.path,"aria-label":e.label,title:e.label,className:`w-9 h-9 rounded-xl border border-[var(--panel-border)] hover:bg-foreground/5 transition-all text-foreground/60 hover:text-foreground flex items-center justify-center shadow-sm shrink-0 cursor-pointer`,children:(0,V.jsx)(n,{className:`w-4 h-4`})},`${e.path}-${t}`)})}),!t&&!n&&(0,V.jsxs)(V.Fragment,{children:[k&&(0,V.jsx)(`button`,{onClick:D,className:`w-9 h-9 rounded-xl border border-[var(--panel-border)] hover:bg-foreground/5 transition-all text-foreground/60 hover:text-foreground flex items-center justify-center shadow-sm shrink-0 cursor-pointer`,"aria-label":`Toggle Theme`,children:E===`dark`?(0,V.jsx)(s.E,{className:`w-4 h-4`}):(0,V.jsx)(s.rt,{className:`w-4 h-4`})}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2.5 shrink-0`,children:[!ee&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(G.Link,{to:`/login`,className:`flex text-[14px] font-bold tracking-wide text-foreground/80 hover:text-accent transition-colors px-3 py-1.5 shrink-0`,children:`Sign In`}),(0,V.jsx)(G.Link,{to:`/register`,className:`flex text-[13px] md:text-[14px] font-bold tracking-wide px-4 py-1.5 md:px-5 md:py-2 rounded-xl btn-primary transition-all duration-300 hover:shadow-lg hover:-translate-y-0.5 active:scale-95 items-center justify-center ml-2 shrink-0`,children:`Get Started`})]}),ee&&(0,V.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,V.jsx)(`button`,{onClick:()=>_(g===`guest`?!1:`guest`),"aria-label":`Open menu`,"aria-expanded":g===`guest`,className:`w-9 h-9 rounded-xl glass-panel glow-hover border transition-all flex items-center justify-center ${g===`guest`?`border-accent bg-foreground/5`:`border-[var(--panel-border)] hover:bg-foreground/5`}`,children:(0,V.jsx)(s.ot,{className:`w-5 h-5 text-accent/80`})}),(0,V.jsx)(r.cr,{children:g===`guest`&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>_(!1)}),(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:-10,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,scale:.95},className:`absolute top-full right-0 mt-3 w-[220px] p-2 glass-popover border border-[var(--panel-border)] rounded-2xl z-50 flex flex-col gap-1 origin-top-right`,children:[(0,V.jsx)(A,{pages:W,phone:!0,onNavigate:()=>_(!1)}),(0,V.jsx)(`div`,{className:`pt-2 mt-1 border-t border-[var(--panel-border)]/50 flex flex-col gap-1`,children:(0,V.jsxs)(G.Link,{to:`/login`,onClick:()=>_(!1),className:`flex items-center gap-3 px-3 py-2.5 rounded-xl hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all w-full`,children:[(0,V.jsx)(s.pt,{className:`w-4 h-4 text-accent/70`}),` `,(0,V.jsx)(`span`,{className:`text-[14px] font-semibold`,children:`Sign In`})]})})]})]})})]})]})]}),!t&&m&&n&&(0,V.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,V.jsx)(Ue,{}),k&&(0,V.jsx)(`button`,{onClick:D,className:`w-9 h-9 rounded-xl border border-[var(--panel-border)] hover:bg-foreground/5 transition-all text-foreground/60 hover:text-foreground flex items-center justify-center shadow-sm shrink-0 cursor-pointer`,"aria-label":`Toggle Theme`,children:E===`dark`?(0,V.jsx)(s.E,{className:`w-4 h-4`}):(0,V.jsx)(s.rt,{className:`w-4 h-4`})}),(0,V.jsxs)(`div`,{className:`relative z-50 flex-shrink-0`,children:[(0,V.jsxs)(`button`,{onClick:()=>_(g===`user`?!1:`user`),className:`flex items-center gap-2 group p-0.5 sm:p-1 sm:pr-2.5 rounded-full hover:bg-foreground/5 transition-all duration-300 cursor-pointer sm:border ${g===`user`?`sm:border-accent/50 sm:bg-foreground/5`:`sm:border-[var(--panel-border)] sm:hover:border-accent/30`}`,children:[(0,V.jsx)(`div`,{className:`w-8 h-8 md:w-9 md:h-9 rounded-full bg-accent/10 flex items-center justify-center overflow-hidden border sm:border-0 transition-colors shrink-0 text-accent ${g===`user`?`border-accent/50`:`border-[var(--panel-border)] group-hover:border-accent/30`}`,children:n.photoURL&&!S?(0,V.jsx)(r.Nn,{src:n.photoURL,alt:`Profile`,className:`w-full h-full`,onError:()=>C(!0)}):(0,V.jsx)(s.g,{className:`w-4 h-4 md:w-5 md:h-5 text-accent`})}),(0,V.jsx)(`div`,{className:`max-sm:hidden sm:flex text-left mr-1 items-center min-w-[70px] max-w-[160px]`,children:(0,V.jsx)(`span`,{className:`text-[12px] font-extrabold leading-tight text-foreground truncate w-full`,children:T})})]}),(0,V.jsx)(r.cr,{children:g===`user`&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>_(!1)}),(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:-5,scale:.98},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,scale:.98,y:-5},className:`absolute top-full mt-2 right-0 w-[280px] md:w-[320px] max-h-[calc(100svh-6rem)] overflow-y-auto overscroll-contain glass-popover border border-[var(--panel-border)] rounded-2xl p-2 z-50 flex flex-col origin-top-right`,children:[(0,V.jsxs)(`div`,{className:`p-3 border-b border-[var(--panel-border)]/50 mb-1 flex flex-col gap-1.5`,children:[(0,V.jsx)(`span`,{className:`font-bold text-[15px] text-foreground truncate`,children:T}),(0,V.jsx)(`span`,{className:`text-[12px] text-foreground/50 truncate font-mono`,children:n.email})]}),(0,V.jsxs)(`div`,{className:`py-1`,children:[(0,V.jsxs)(G.Link,{to:`/dashboard`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,V.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,V.jsx)(s.St,{className:`w-3 h-3 text-accent`})}),`Dashboard`]}),(0,V.jsx)(lt,{onNavigate:()=>_(!1)}),h&&(0,V.jsxs)(G.Link,{to:`/assets`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,V.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,V.jsx)(s.kt,{className:`w-3 h-3 text-accent`})}),`Assets`]}),c===`admin`&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(G.Link,{to:`/users`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,V.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,V.jsx)(s.h,{className:`w-3 h-3 text-accent`})}),`Users`]}),(0,V.jsxs)(G.Link,{to:`/inbox`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,V.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,V.jsx)(s.Tt,{className:`w-3 h-3 text-accent`})}),`Inbox`]}),(0,V.jsxs)(G.Link,{to:`/pages`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,V.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,V.jsx)(s.Ct,{className:`w-3 h-3 text-accent`})}),`Pages`]}),(0,V.jsxs)(G.Link,{to:`/publish`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,V.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,V.jsx)(s.R,{className:`w-3 h-3 text-accent`})}),`Publish App`]}),(0,V.jsxs)(G.Link,{to:`/setup`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,V.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,V.jsx)(s.s,{className:`w-3 h-3 text-accent`})}),`Setup`]})]}),c!==`admin`&&(0,V.jsxs)(G.Link,{to:`/support`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3 text-left`,children:[(0,V.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,V.jsx)(s.en,{className:`w-3 h-3 text-accent`})}),I]}),(0,V.jsx)(ct,{onNavigate:()=>_(!1)}),(0,V.jsxs)(G.Link,{to:`/profile`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,V.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,V.jsx)(s.g,{className:`w-3 h-3 text-accent`})}),`Profile Settings`]})]}),(0,V.jsx)(`div`,{className:`pt-1 mt-1 border-t border-[var(--panel-border)]/50`,children:(0,V.jsxs)(`button`,{onClick:j,className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-bold tracking-wide hover:bg-red-500/10 hover:text-red-500 text-foreground/70 transition-all gap-3`,children:[(0,V.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-red-500/5 flex items-center justify-center shrink-0 text-red-500`,children:(0,V.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,className:`w-3 h-3`,children:[(0,V.jsx)(`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`}),(0,V.jsx)(`polyline`,{points:`16 17 21 12 16 7`}),(0,V.jsx)(`line`,{x1:`21`,y1:`12`,x2:`9`,y2:`12`})]})}),`Sign Out`]})})]})]})})]})]}),t&&(0,V.jsx)(V.Fragment,{children:k&&(0,V.jsx)(`button`,{onClick:D,className:`w-9 h-9 rounded-xl border border-[var(--panel-border)] hover:bg-foreground/5 transition-all text-foreground/60 hover:text-foreground flex items-center justify-center shadow-sm shrink-0 cursor-pointer`,"aria-label":`Toggle Theme`,children:E===`dark`?(0,V.jsx)(s.E,{className:`w-4 h-4`}):(0,V.jsx)(s.rt,{className:`w-4 h-4`})})})]})]})}var St=`https://www.youtube.com/watch?v=Xl271wWblkY`;function Ct(){let[e,t]=(0,B.useState)(null),[n,i]=(0,B.useState)(!1);return(0,V.jsxs)(`main`,{className:`flex-1 flex flex-col items-center justify-center w-full px-4 md:px-8 mb-16 md:mb-24 z-10 relative`,children:[(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-center mb-8 md:mb-12`,children:[(0,V.jsxs)(r.sr.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},transition:{delay:.2},className:`inline-flex items-center gap-2 md:gap-3 px-5 md:px-6 py-2 md:py-2.5 mb-8 md:mb-10 text-[13px] md:text-[15px] font-semibold tracking-wide uppercase rounded-full glass-panel text-foreground glow-hover cursor-pointer`,children:[(0,V.jsx)(s.Yt,{className:`w-4 h-4 text-accent`}),` Build your whole app without code`]}),(0,V.jsx)(r.sr.h1,{className:`text-4xl sm:text-5xl md:text-6xl lg:text-[4.5rem] font-extrabold tracking-tight mb-6 md:mb-8 text-gradient animate-float leading-[1.1] md:leading-[1.15] px-2`,children:`Your AI Firebase`}),(0,V.jsx)(`p`,{className:`text-[14px] sm:text-[15px] md:text-lg lg:text-xl text-foreground/60 max-w-3xl mx-auto font-medium leading-[1.6] md:leading-[1.7] mb-10 md:mb-14 px-6 md:px-4`,children:`Everything your next app needs is already built — sign-ins, pages, payments, bookings, emails and files. Say what you want in plain words and watch it appear. No code, no servers, nothing to set up.`}),(0,V.jsxs)(r.sr.div,{className:`flex flex-col sm:flex-row items-center justify-center gap-4 sm:gap-6 w-full max-w-2xl mx-auto px-6`,initial:{opacity:0},animate:{opacity:1},transition:{delay:.5},children:[(0,V.jsx)(G.Link,{to:`/login`,style:{borderRadius:`var(--btn-radius, 0.75rem)`},className:`w-full sm:w-auto px-6 md:px-8 py-3 md:py-3.5 font-semibold tracking-wide btn-primary text-[15px] shadow-xl transition-all duration-300 hover:-translate-y-1 active:scale-95 flex items-center justify-center`,children:`Sign In to Build`}),(0,V.jsxs)(`button`,{type:`button`,onClick:()=>i(!0),style:{borderRadius:`var(--btn-radius, 0.75rem)`},className:`group w-full sm:w-auto px-6 md:px-8 py-3 md:py-3.5 font-semibold tracking-wide btn-secondary text-[15px] transition-all duration-300 flex items-center justify-center gap-2.5 hover:-translate-y-1 active:scale-95 cursor-pointer`,children:[(0,V.jsx)(`span`,{className:`w-6 h-6 rounded-full bg-accent/15 text-accent flex items-center justify-center group-hover:bg-accent/25 transition-colors`,children:(0,V.jsx)(s.q,{className:`w-3 h-3 fill-current`})}),`Watch Tutorial`]})]})]}),(0,V.jsx)(l.t,{open:n,onClose:()=>i(!1),title:`Watch the tutorial`,sub:`From an empty project to a finished app.`,size:`lg`,children:n&&(0,V.jsx)(C.a,{src:St,title:`Watch the tutorial`,autoPlay:!0})}),(0,V.jsx)(r.cr,{children:e&&(0,V.jsx)(u.t,{onClose:()=>t(null),formId:e})})]})}var wt=[.16,1,.3,1],Tt={hidden:{opacity:0,y:10},shown:{opacity:1,y:0,transition:{duration:.35,ease:wt,delayChildren:.08,staggerChildren:.05}}},Et={hidden:{opacity:0,y:8},shown:{opacity:1,y:0,transition:{duration:.35,ease:wt}}};function Dt({width:e=`max-w-[480px]`,className:t,children:n}){let i=r.or();return(0,V.jsxs)(r.sr.div,{initial:i?!1:`hidden`,animate:`shown`,variants:Tt,className:r.ir(`w-full p-6 sm:p-8 md:p-10 rounded-3xl glass-panel relative shadow-[0_8px_32px_rgba(0,0,0,0.08)]`,e,t),children:[(0,V.jsx)(`div`,{className:`absolute -inset-[1px] bg-gradient-to-br from-[var(--primary-glow)] to-transparent opacity-30 blur-[20px] rounded-3xl -z-10`}),n]})}function Ot({className:e,children:t}){return(0,V.jsx)(r.sr.div,{variants:Et,className:e,children:t})}function kt({show:e,className:t,children:n}){let i=r.or();return(0,V.jsx)(r.sr.div,{className:t,initial:i?!1:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.25,ease:wt},children:n},e)}function At({title:e,line:t,as:n=`h3`,align:i=`center`,className:a}){return(0,V.jsxs)(Ot,{className:r.ir(`mb-6 sm:mb-7`,i===`center`?`text-center`:`text-left`,a),children:[(0,V.jsx)(n,{className:`text-[22px] sm:text-2xl font-semibold tracking-tight text-foreground leading-snug`,children:e}),t&&(0,V.jsx)(`p`,{className:`mt-1.5 text-[14px] text-foreground/60 leading-relaxed`,children:t})]})}function jt({className:e,children:t}){return(0,V.jsx)(Ot,{className:r.ir(`mt-6 pt-5 border-t border-[var(--panel-border)] text-center`,e),children:t})}var Mt=`text-[14px] text-foreground/60`,Nt=`text-accent font-semibold hover:underline ml-1`;function Pt(){return(0,V.jsxs)(`div`,{"aria-busy":`true`,className:`flex flex-col gap-3.5`,children:[(0,V.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),(0,V.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),(0,V.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl opacity-60`})]})}function Ft({problem:e,onUse:t,signInHref:n}){let i=t&&e.tryInstead&&e.tryInstead!==`password`?e.tryInstead:null,a=i?w.t[i]:null;return(0,V.jsxs)(T.t,{className:`mb-4`,children:[e.text,e.tryInstead===`password`&&n&&(0,V.jsx)(G.Link,{to:n,className:`mt-2 block font-bold text-accent hover:underline`,children:`Go to the sign-in page`}),i&&a&&t&&(0,V.jsxs)(`button`,{type:`button`,onClick:()=>t(i),className:`mt-2.5 w-full flex items-center justify-center gap-2 py-2 rounded-lg text-[13px] font-bold text-foreground bg-foreground/[0.06] hover:bg-foreground/10 transition-colors cursor-pointer`,children:[(0,V.jsx)(a,{className:`w-4 h-4 shrink-0`}),r.Hr(i)?.button??`Use that instead`]})]})}function It({value:e,onChange:t,label:n=`The code we texted you`,autoFocus:r}){return(0,V.jsx)(u.d,{name:`code`,label:n,inputMode:`numeric`,autoComplete:`one-time-code`,placeholder:`123456`,className:`max-sm:h-11 tracking-[0.3em] font-bold`,value:e,onChange:e=>t(e.target.value),autoFocus:r,required:!0})}function Lt({step:e,onSignedIn:t,onCancel:n}){let[i,a]=(0,B.useState)(!0),[o,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(``),[f,p]=(0,B.useState)(``),[m,h]=(0,B.useState)(null),g=(0,B.useRef)(null),_=(0,B.useRef)(!1),v=async e=>{h(await r.Sr(e,`sms2fa`,`That code could not be checked. Ask for a new one.`))},y=async()=>{h(null),a(!0);try{u(await e.send(g.current))}catch(e){await v(e)}finally{a(!1)}};return(0,B.useEffect)(()=>{_.current||(_.current=!0,y())},[]),(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2},children:[(0,V.jsx)(`div`,{ref:g}),m&&(0,V.jsx)(Ft,{problem:m}),(0,V.jsxs)(`div`,{className:`text-center mb-5`,children:[(0,V.jsx)(`p`,{className:`text-[15px] font-semibold text-foreground mb-1`,children:`One more step`}),(0,V.jsx)(`p`,{className:`text-[13.5px] text-foreground/60 leading-relaxed`,children:e.phone?(0,V.jsxs)(V.Fragment,{children:[`We texted a code to `,(0,V.jsx)(`span`,{className:`font-semibold text-foreground/80`,children:e.phone}),`. Type it in and you are in.`]}):(0,V.jsx)(V.Fragment,{children:`We texted you a code. Type it in and you are in.`})})]}),(0,V.jsxs)(`form`,{onSubmit:async n=>{n.preventDefault(),h(null),c(!0);try{await e.finish(l,f.trim()),t()}catch(e){await v(e),c(!1)}},className:`flex flex-col gap-4`,children:[(0,V.jsx)(It,{value:f,onChange:p,autoFocus:!0}),(0,V.jsxs)(d.t,{type:`submit`,className:`w-full py-3 text-[15px] font-semibold`,isLoading:o||i,disabled:i||o||!l,children:[`Sign me in `,(0,V.jsx)(s.yn,{className:`ml-2 w-4 h-4 shrink-0`})]})]}),(0,V.jsx)(`button`,{type:`button`,onClick:y,disabled:i||o,className:`mt-3 w-full text-[13px] font-bold text-accent hover:underline disabled:opacity-40 disabled:no-underline cursor-pointer disabled:cursor-default`,children:`Send it again`}),n&&(0,V.jsxs)(`button`,{type:`button`,onClick:n,className:`mt-2 w-full inline-flex items-center justify-center gap-1.5 text-[13px] font-bold text-foreground/50 hover:text-accent transition-colors cursor-pointer`,children:[(0,V.jsx)(s.bn,{className:`w-3.5 h-3.5 shrink-0`}),`Another way in`]})]})}var Rt=`password`,zt=e=>!!e?.providerData?.some(e=>e?.providerId===Rt),Bt=e=>{let t=r.Oa?.currentUser;return t&&(!e||t.uid===e.uid)?t:e};function Vt(e){let t=Bt(e);if(!t)return[];try{return(0,H.multiFactor)(t).enrolledFactors??[]}catch{return[]}}var Ht=e=>Vt(e).length>0;function Ut(e){let t=Vt(e)[0];return t?.phoneNumber||t?.displayName||``}var Wt=e=>!!e&&zt(e)&&!Ht(e),Gt=(e,t)=>t&&Wt(e),Kt=`firebase-os:two-step-not-now`;function qt(e){if(e)try{sessionStorage.setItem(`${Kt}:${e}`,`1`)}catch{}}function Jt(e){if(!e)return!1;try{return sessionStorage.getItem(`${Kt}:${e}`)===`1`}catch{return!1}}var Yt=(e,t,n)=>Gt(e,t)&&!(n&&Jt(e?.uid)),Xt=(e,t)=>!!e&&(Ht(e)||t&&zt(e)),Zt=()=>{if(!r.Oa)throw Error(`Firebase is not initialized. Check your configuration.`);return r.Oa},Qt=`Phone`,$t=e=>(0,H.multiFactor)(Bt(e)??e);async function en(e,t,n){let i=await $t(e).getSession();return r.Tr(n,e=>new H.PhoneAuthProvider(Zt()).verifyPhoneNumber({phoneNumber:t,session:i},e))}async function tn(e,t,n){let r=H.PhoneAuthProvider.credential(t,n);await $t(e).enroll(H.PhoneMultiFactorGenerator.assertion(r),Qt)}async function nn(e){let t=$t(e);for(let e of[...t.enrolledFactors??[]])await t.unenroll(e)}function rn(e){if(e?.code!==`auth/multi-factor-auth-required`)return null;let t;try{t=(0,H.getMultiFactorResolver)(Zt(),e)}catch{return null}let n=t.hints?.[0];return{phone:n?.phoneNumber||n?.displayName||``,send:e=>r.Tr(e,e=>new H.PhoneAuthProvider(Zt()).verifyPhoneNumber({multiFactorHint:n,session:t.session},e)),finish:async(e,n)=>{let r=H.PhoneAuthProvider.credential(e,n);await t.resolveSignIn(H.PhoneMultiFactorGenerator.assertion(r))}}}var an=r.Da(()=>Promise.resolve().then(()=>require(`./PhoneInputField-BEwYZMB7.cjs`))),on=e=>r.Gr(e).filter(e=>e.id!==`password`),sn=e=>{let t=e.inSentence.replace(/^an?\s+/i,``);return t.charAt(0).toUpperCase()+t.slice(1)};function cn({settings:e,onSignedIn:t,disabled:n,returnTo:i=`/login`,onPanelChange:a,signInHref:o,sentTo:c}){let l=on(e),f=c&&l.some(e=>e.id===`emailLink`)?c:``,[p,m]=(0,B.useState)(null),[h,g]=(0,B.useState)(null),[_,v]=(0,B.useState)(f?`emailLink`:null),[y,b]=(0,B.useState)(f),[x,S]=(0,B.useState)(f),[C,T]=(0,B.useState)(``),[E,D]=(0,B.useState)(``),[O,k]=(0,B.useState)(null),[A,j]=(0,B.useState)(null),M=(0,B.useRef)(null),N=p!==null||n,P=_!==null||A!==null;(0,B.useEffect)(()=>{a?.(P)},[P]);let F=async(e,t)=>{let n=rn(e);if(n){j(n);return}g(await r.Sr(e,t,`That did not work. Try again, or use another way in.`))};(0,B.useEffect)(()=>{let e=r.wr();e&&F(e.err,e.id)},[]);let I=async()=>{t()},L=async e=>{if(g(null),!r.vr(e)){v(e),D(``),k(null),S(``);return}m(e);try{await r.Cr(e)===`done`&&await I()}catch(t){await F(t,e)}finally{m(null)}},R=async e=>{e.preventDefault(),g(null),m(`emailLink`);try{await r.br(y.trim(),i),S(y.trim())}catch(e){await F(e,`emailLink`)}finally{m(null)}},z=async()=>{g(null),m(`phone`);try{D(``),k(await r.xr(C.trim(),M.current))}catch(e){await F(e,`phone`)}finally{m(null)}},H=async e=>{e.preventDefault(),await z()},U=async e=>{e.preventDefault(),g(null),m(`phone`);try{await O.confirm(E.trim()),await I()}catch(e){await F(e,`phone`)}finally{m(null)}},W=()=>{v(null),g(null),k(null),j(null),S(``),D(``)},G=()=>(0,V.jsxs)(`button`,{type:`button`,onClick:W,className:`mt-3 w-full inline-flex items-center justify-center gap-1.5 text-[13px] font-bold text-foreground/50 hover:text-accent transition-colors cursor-pointer`,children:[(0,V.jsx)(s.bn,{className:`w-3.5 h-3.5 shrink-0`}),`Another way in`]}),ee=l.length===1&&!e.on.password;return(0,V.jsxs)(`div`,{children:[h&&(0,V.jsx)(Ft,{problem:h,onUse:L,signInHref:o}),(0,V.jsx)(`div`,{ref:M}),A?(0,V.jsx)(Lt,{step:A,onSignedIn:t,onCancel:ee&&!_?void 0:W}):_?(0,V.jsx)(r.sr.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2},children:(e=>e===`emailLink`?x?(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`rounded-2xl border border-[var(--panel-border)] bg-foreground/[0.02] px-5 py-6 sm:py-7 text-center`,children:[(0,V.jsx)(`div`,{className:`w-12 h-12 mx-auto mb-4 rounded-2xl flex items-center justify-center bg-accent/10 text-accent ring-1 ring-inset ring-accent/20`,children:(0,V.jsx)(s.ft,{className:`w-[22px] h-[22px]`})}),(0,V.jsx)(`p`,{className:`text-[16px] sm:text-[17px] font-extrabold tracking-tight text-foreground`,children:`Check your email`}),(0,V.jsx)(`p`,{className:`mt-1.5 text-[13px] text-foreground/50 font-medium`,children:`We sent a sign-in link to`}),(0,V.jsx)(`p`,{className:`mt-1 text-[14px] font-bold text-foreground break-all leading-snug`,children:x}),(0,V.jsx)(`p`,{className:`mt-3.5 text-[12.5px] text-foreground/50 font-medium leading-relaxed`,children:`Open it and you are in — there is no password to think of.`})]}),(0,V.jsxs)(`div`,{className:`mt-4 flex items-center justify-center gap-3 text-[13px] font-bold`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:()=>S(``),className:`text-accent hover:underline cursor-pointer`,children:`Send it again`}),!ee&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`w-[1px] h-3.5 bg-[var(--panel-border)]`}),(0,V.jsxs)(`button`,{type:`button`,onClick:W,className:`inline-flex items-center gap-1.5 text-foreground/50 hover:text-accent transition-colors cursor-pointer`,children:[(0,V.jsx)(s.bn,{className:`w-3.5 h-3.5 shrink-0`}),`Another way in`]})]})]})]}):(0,V.jsxs)(`form`,{onSubmit:R,className:`space-y-3`,children:[(0,V.jsx)(u.d,{name:`linkEmail`,label:`Your email`,type:`email`,placeholder:`name@example.com`,className:`max-sm:h-11`,value:y,onChange:e=>b(e.target.value),autoFocus:!ee,required:!0}),(0,V.jsxs)(d.t,{type:`submit`,className:`w-full py-2.5 sm:py-3 text-[15px] font-bold tracking-wide rounded-xl`,isLoading:p===`emailLink`,children:[`Email me a link `,(0,V.jsx)(s.yn,{className:`ml-2 w-4 h-4 shrink-0`})]}),!ee&&(0,V.jsx)(G,{})]}):e===`phone`?(0,V.jsxs)(`div`,{children:[O?(0,V.jsxs)(`form`,{onSubmit:U,className:`space-y-3`,children:[(0,V.jsx)(It,{value:E,onChange:D,autoFocus:!0}),(0,V.jsxs)(d.t,{type:`submit`,className:`w-full py-2.5 sm:py-3 text-[15px] font-bold tracking-wide rounded-xl`,isLoading:p===`phone`,children:[`Sign me in `,(0,V.jsx)(s.yn,{className:`ml-2 w-4 h-4 shrink-0`})]}),(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-3 text-[13px] font-bold`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:z,disabled:p===`phone`,className:`text-accent hover:underline disabled:opacity-40 disabled:no-underline cursor-pointer disabled:cursor-default`,children:`Send it again`}),(0,V.jsx)(`span`,{className:`w-[1px] h-3.5 bg-[var(--panel-border)]`}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>{k(null),D(``),g(null)},className:`text-foreground/50 hover:text-accent transition-colors cursor-pointer`,children:`Use a different number`})]})]}):(0,V.jsxs)(`form`,{onSubmit:H,className:`space-y-3`,children:[(0,V.jsx)(B.Suspense,{fallback:(0,V.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),children:(0,V.jsx)(an,{field:{label:`Your phone number`,required:!0,placeholder:`7700 900123`},value:C,onChange:T})}),(0,V.jsxs)(d.t,{type:`submit`,className:`w-full py-2.5 sm:py-3 text-[15px] font-bold tracking-wide rounded-xl`,isLoading:p===`phone`,children:[`Text me a code `,(0,V.jsx)(s.yn,{className:`ml-2 w-4 h-4 shrink-0`})]})]}),!ee&&(0,V.jsx)(G,{})]}):null)(_)}):l.length>3?(0,V.jsx)(`div`,{className:`flex flex-wrap justify-center gap-2 sm:gap-2.5`,children:l.map(e=>{let t=w.t[e.id];return(0,V.jsxs)(d.t,{variant:`secondary`,onClick:()=>L(e.id),title:e.button,"aria-label":e.button,isLoading:p===e.id,disabled:N,className:`w-[88px] h-[68px] !px-1.5 text-[11px] font-bold tracking-tight rounded-xl transition-all hover:-translate-y-0.5 [&>span]:flex-col [&>span]:gap-1.5 [&>span]:w-full`,children:[(0,V.jsx)(t,{className:`w-[22px] h-[22px] shrink-0`}),(0,V.jsx)(`span`,{className:`w-full truncate text-center leading-none`,children:sn(e)})]},e.id)})}):(0,V.jsx)(`div`,{className:`space-y-3`,children:l.map(e=>{let t=w.t[e.id];return(0,V.jsxs)(d.t,{variant:`secondary`,onClick:()=>L(e.id),isLoading:p===e.id,disabled:N,className:`w-full py-2.5 sm:py-3 text-[15px] sm:text-base font-bold tracking-wide rounded-xl transition-all hover:-translate-y-0.5`,children:[(0,V.jsx)(t,{className:`w-5 h-5 shrink-0`}),e.button]},e.id)})})]})}function ln({email:e,onSignedIn:t,onStartOver:n}){let[i,a]=(0,B.useState)(e),[o,c]=(0,B.useState)(!1),[l,f]=(0,B.useState)(null),[p,m]=(0,B.useState)(null);return p?(0,V.jsx)(Lt,{step:p,onSignedIn:t,onCancel:n}):(0,V.jsxs)(`div`,{children:[l&&(0,V.jsx)(Ft,{problem:l}),(0,V.jsx)(`p`,{className:`text-[13.5px] text-foreground/60 font-medium leading-relaxed mb-4`,children:`Nearly there. This link did not bring your address with it, so tell us the one you asked us to send it to and you are in.`}),(0,V.jsxs)(`form`,{onSubmit:async e=>{e.preventDefault(),f(null),c(!0);try{await r._r(i.trim()),t()}catch(e){let t=rn(e);if(t){m(t);return}f(await r.Sr(e,`emailLink`,`That link did not work. Ask for a new one.`,{email:i.trim()})),c(!1)}},className:`space-y-3`,children:[(0,V.jsx)(u.d,{name:`linkEmail`,label:`Your email`,type:`email`,placeholder:`name@example.com`,className:`max-sm:h-11`,value:i,onChange:e=>a(e.target.value),autoFocus:!0,required:!0}),(0,V.jsxs)(d.t,{type:`submit`,className:`w-full py-2.5 sm:py-3 text-[15px] font-bold tracking-wide rounded-xl`,isLoading:o,children:[`Sign me in `,(0,V.jsx)(s.yn,{className:`ml-2 w-4 h-4 shrink-0`})]}),n&&(0,V.jsxs)(`button`,{type:`button`,onClick:n,className:`mt-3 w-full inline-flex items-center justify-center gap-1.5 text-[13px] font-bold text-foreground/50 hover:text-accent transition-colors cursor-pointer`,children:[(0,V.jsx)(s.bn,{className:`w-3.5 h-3.5 shrink-0`}),`Ask for a new link, or sign in another way`]})]})]})}var un=`Signing you in…`;function dn({note:e=`One moment.`}){return(0,V.jsxs)(`div`,{"aria-busy":`true`,className:`py-6 flex flex-col items-center gap-4 text-center`,children:[(0,V.jsx)(f.t,{}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`p`,{className:`text-[14px] font-medium text-foreground`,children:un}),(0,V.jsx)(`p`,{className:`mt-1 text-[13px] text-foreground/55`,children:e})]})]})}function fn(){let[e,t]=(0,B.useState)(!1),n=(0,G.useNavigate)();return{settling:e,signedIn:()=>{r.hr();let e=r.Oa?.currentUser;if(e&&!o.t(e)){n(`/verify`,{replace:!0});return}t(!0)}}}var pn=[{id:`length`,label:`At least 8 characters`,ok:e=>e.length>=8},{id:`case`,label:`An uppercase and a lowercase letter`,ok:e=>/[a-z]/.test(e)&&/[A-Z]/.test(e)},{id:`number`,label:`A number`,ok:e=>/[0-9]/.test(e)}],mn=new Set(`password1.password12.password123.password1234.passw0rd1.p@ssword1.p@ssw0rd1.test1234.test12345.testing123.test123456.qwerty123.qwerty1234.abcd1234.abc12345.welcome1.welcome123.admin123.admin1234.letmein123.iloveyou1.monkey123.football1.changeme1.secret123.summer2024.summer2025`.split(`.`)),hn=e=>e.toLowerCase().replace(/[\s._-]/g,``),gn=e=>mn.has(hn(e||``)),_n=e=>pn.map(t=>({rule:t,met:t.ok(e||``)}));function vn(e){let t=e||``;if(!t)return`Choose a password.`;let n=pn.find(e=>!e.ok(t));return n?`Your password needs ${n.label.toLowerCase()}.`:gn(t)?`That password is one of the first anyone would guess. Please pick another.`:``}function yn(e,t){return t?e===t?``:`Both passwords must be the same.`:`Type your password a second time.`}function bn({value:e,className:t=``}){return(0,V.jsx)(`ul`,{className:`flex flex-col gap-1 ml-1 ${t}`,"aria-label":`Password requirements`,children:_n(e).map(({rule:e,met:t})=>(0,V.jsxs)(`li`,{className:`flex items-center gap-2 text-[12.5px] font-medium transition-colors ${t?`text-emerald-500`:`text-foreground/45`}`,children:[t?(0,V.jsx)(s.sn,{className:`w-3.5 h-3.5 shrink-0`}):(0,V.jsx)(`span`,{className:`w-3.5 flex justify-center shrink-0`,children:(0,V.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-foreground/25`})}),e.label]},e.id))})}var xn=`again`,Sn=e=>`This account is half-made: nothing has been saved to it, and nothing can be until ${e||`the address on it`} is proved. Letting it go frees that address and takes you back to the form, where you fill in your details again with the address you want — and the next link goes to that one.`,Cn=(e=window.location.pathname)=>`${e.replace(/\/+$/,``).replace(/\/[^/]*$/,``)}/register?${xn}=1`;async function wn(e){let t=e||r.Oa.currentUser;if(t){r.ti(t.uid);try{await(0,H.deleteUser)(t)}catch{await(0,H.signOut)(r.Oa).catch(()=>{})}}window.location.assign(Cn())}function Tn({as:e}={}){let[t,n]=(0,B.useState)(!1),[i,a]=(0,B.useState)(null),[o,s]=(0,B.useState)(``),[c,l]=(0,B.useState)(``),[f,p]=(0,B.useState)(``),[m,h]=(0,B.useState)(``),[g,_]=(0,B.useState)(!1),v=(0,G.useNavigate)(),[y]=(0,G.useSearchParams)(),{registerUser:b}=r.dr(),x=r.$r(),{settling:S,signedIn:C}=fn(),w=y.has(xn),E=(()=>{let e=new URLSearchParams(y);e.delete(`as`);let t=e.toString();return`/register${t?`?${t}`:``}`})(),D=async e=>{e.preventDefault(),n(!0),a(null);let t=new FormData(e.currentTarget),i=t.get(`email`),s=t.get(`firstName`),l=t.get(`lastName`),u=vn(o),d=u?``:yn(o,c);if(p(u),h(d),u||d){a(u||d),n(!1);return}try{await b(i,o,s,l),v(`/verify`)}catch(e){e?.code===`auth/email-already-in-use`?a((0,V.jsxs)(`span`,{children:[(await r.Sr(e,`password`,``,{email:i})).text,` `,(0,V.jsx)(G.Link,{to:`/login?email=${encodeURIComponent(i)}`,className:`font-bold`,children:`Sign in`})]})):e?.code===`auth/weak-password`?a(vn(o)||`Please choose a stronger password.`):a((await r.Sr(e,`password`,`That did not work. Check your details and try again.`,{email:i})).text)}finally{n(!1)}},O=r.qr(x),k=on(x),A=S?`signing`:x.loading?`loading`:`form`;return(0,V.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mt-6 mb-8 md:mt-0 md:mb-0 md:pt-8 md:pb-32`,children:(0,V.jsxs)(Dt,{width:`max-w-[500px]`,children:[(0,V.jsx)(At,{title:e?r.Fr(e.id,e.name):`Create an account`,line:e?r.Er:`Join Your AI Firebase and start building today.`}),i&&(0,V.jsx)(T.t,{className:`mb-5`,children:i}),!i&&w&&(0,V.jsx)(T.t,{tone:`note`,className:`mb-5`,children:`Start again with the address you want. Nothing was saved to the one you began with, and the next link goes wherever you type here.`}),(0,V.jsx)(Ot,{children:(0,V.jsx)(kt,{show:A,children:S?(0,V.jsx)(dn,{}):x.loading?(0,V.jsx)(Pt,{}):(0,V.jsxs)(V.Fragment,{children:[O&&!g&&(0,V.jsxs)(`form`,{className:`flex flex-col gap-5`,onSubmit:D,children:[(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-5`,children:[(0,V.jsx)(u.d,{name:`firstName`,label:`First Name`,type:`text`,placeholder:`John`,className:`max-sm:h-11`,required:!0}),(0,V.jsx)(u.d,{name:`lastName`,label:`Last Name`,type:`text`,placeholder:`Doe`,className:`max-sm:h-11`,required:!0})]}),(0,V.jsx)(u.d,{name:`email`,label:`Email`,type:`email`,placeholder:`name@example.com`,className:`max-sm:h-11`,required:!0}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,V.jsx)(u.d,{name:`password`,label:`Password`,type:`password`,placeholder:`••••••••`,className:`max-sm:h-11`,autoComplete:`new-password`,value:o,onChange:e=>{s(e.target.value),f&&p(``),m&&e.target.value===c&&h(``)},onBlur:()=>p(o?vn(o):``),error:f,required:!0}),o&&(0,V.jsx)(bn,{value:o})]}),o&&(0,V.jsx)(u.d,{name:`confirmPassword`,label:`Confirm password`,type:`password`,placeholder:`••••••••`,className:`max-sm:h-11`,autoComplete:`new-password`,value:c,onChange:e=>{l(e.target.value),m&&h(``)},onBlur:()=>h(c?yn(o,c):``),error:m,required:!0}),(0,V.jsx)(`div`,{className:`pt-1`,children:(0,V.jsx)(d.t,{type:`submit`,className:`w-full py-3 text-[15px] font-semibold`,isLoading:t,children:`Create Account`})})]}),O&&k.length>0&&!g&&(0,V.jsxs)(`div`,{className:`flex items-center gap-3 my-6`,children:[(0,V.jsx)(`span`,{className:`h-[1px] flex-1 bg-[var(--panel-border)]`}),(0,V.jsx)(`span`,{className:`text-[13px] font-medium text-foreground/40`,children:`or`}),(0,V.jsx)(`span`,{className:`h-[1px] flex-1 bg-[var(--panel-border)]`})]}),k.length>0&&(0,V.jsx)(cn,{settings:x,onSignedIn:C,disabled:t,returnTo:`/login`,onPanelChange:_,signInHref:`/login`})]})})}),(0,V.jsxs)(jt,{className:`space-y-2`,children:[e&&(0,V.jsxs)(`p`,{className:`text-[14px] text-foreground/60`,children:[`Registering as something else? `,(0,V.jsx)(G.Link,{to:E,className:`text-accent font-semibold hover:underline ml-1`,children:`Choose again`})]}),(0,V.jsxs)(`p`,{className:Mt,children:[`Already have an account? `,(0,V.jsx)(G.Link,{to:`/login`,className:Nt,children:`Sign in`})]})]})]})})}var En=`member`;function Dn(e,t){let n=new URLSearchParams(e);return n.set(`as`,t),`/register?${n.toString()}`}function On({choices:e,search:t=``}){let i=e.length>3;return(0,V.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mt-6 mb-8 md:mt-0 md:mb-0 md:pt-8 md:pb-32`,children:(0,V.jsxs)(Dt,{width:i?`max-w-[640px]`:`max-w-[500px]`,children:[(0,V.jsx)(At,{title:`Create an account`,line:`What are you registering as?`}),(0,V.jsxs)(Ot,{children:[(0,V.jsx)(`div`,{role:`list`,"aria-label":`Register as`,className:`grid gap-3 ${i?`grid-cols-1 sm:grid-cols-2`:`grid-cols-1`}`,children:e.map((a,o)=>{let c=i&&e.length%2==1&&o===e.length-1;return(0,V.jsxs)(G.Link,{role:`listitem`,to:Dn(t,a.id),className:`group flex items-center gap-3.5 min-w-0 px-4 py-3.5 rounded-2xl border border-[var(--panel-border)] bg-foreground/[0.02] hover:border-accent/50 hover:bg-foreground/[0.03] active:scale-[0.99] transition-all duration-300 ${c?`sm:col-span-2`:``}`,children:[(0,V.jsx)(n.c,{name:v.u(a.id),className:`w-[18px] h-[18px] shrink-0 text-accent`}),(0,V.jsx)(`span`,{className:`flex-1 min-w-0 text-[14.5px] font-semibold text-foreground leading-snug tracking-tight`,children:r.Fr(a.id,a.name)}),(0,V.jsx)(s.yn,{className:`w-4 h-4 shrink-0 text-foreground/30 group-hover:text-accent group-hover:translate-x-0.5 transition-all`})]},a.id)})}),(0,V.jsx)(`p`,{className:`mt-4 text-[13px] text-foreground/50 text-center leading-relaxed`,children:r.Er})]}),(0,V.jsxs)(jt,{className:`space-y-2`,children:[(0,V.jsxs)(`p`,{className:Mt,children:[`Just want an account?`,(0,V.jsx)(G.Link,{to:Dn(t,En),className:Nt,children:`Register as a member`})]}),(0,V.jsxs)(`p`,{className:Mt,children:[`Already have an account?`,(0,V.jsx)(G.Link,{to:`/login`,className:Nt,children:`Sign in`})]})]})]})})}function kn({settings:e}){let t=v.l(),[n]=(0,G.useSearchParams)(),i=n.get(`as`),a=r.Xr(e,t),o=i?r.Yr(e,i,t):null,s=n.has(`preview`)?``:o?.id??``;return(0,B.useEffect)(()=>{e.loading||(s?r.Ir(s):r.Nr())},[e.loading,s]),e.loading?(0,V.jsx)(Tn,{}):o?(0,V.jsx)(Tn,{as:o}):a.length&&!i?(0,V.jsx)(On,{choices:a,search:n.toString()}):(0,V.jsx)(Tn,{})}function An(){let e=r.$r();return!e.loading&&!e.registerAs.on?(r.Nr(),(0,V.jsx)(Tn,{})):(0,V.jsx)(kn,{settings:e})}function jn(){let[e,t]=(0,B.useState)(!1),[n,i]=(0,B.useState)(null),[a]=(0,G.useSearchParams)(),o=(0,G.useNavigate)(),[s]=(0,B.useState)(a.get(`email`)||``),[c]=(0,B.useState)(()=>a.get(`sent`)===`1`&&!!a.get(`email`)),[l]=(0,B.useState)(()=>a.get(`from`)||``),f=r.$r(),{loading:p}=r.dr(),[m,h]=(0,B.useState)(()=>r.gr()?`finishing`:`no`),[g,_]=(0,B.useState)(null),[v,y]=(0,B.useState)(!1),b=()=>{h(`no`),_(null),i(null),o(`/login`,{replace:!0})},{settling:x,signedIn:S}=fn();(0,B.useEffect)(()=>{if(m!==`finishing`||p)return;let e=r.yr();if(!e){h(`asking`);return}let t=!1;return r._r(e).then(()=>{t||S()}).catch(e=>{if(t)return;let n=rn(e);if(n){_(n);return}h(`asking`)}),()=>{t=!0}},[m,p]);let C=async e=>{e.preventDefault(),t(!0),i(null);let n=new FormData(e.currentTarget),a=n.get(`email`),o=n.get(`password`);try{if(!r.Oa)throw Error(`Firebase is not initialized. Check your configuration.`);await(0,H.signInWithEmailAndPassword)(r.Oa,a,o),S()}catch(e){let n=rn(e);if(n){_(n),t(!1);return}e?.code===`auth/invalid-credential`||e?.code===`auth/user-not-found`||e?.code===`auth/wrong-password`||e?.code===`auth/invalid-login-credentials`?i((0,V.jsxs)(`span`,{children:[`That email and password do not match.`,` `,(0,V.jsx)(G.Link,{to:`/reset-password`,children:`Reset password?`}),E.length>0&&(0,V.jsx)(V.Fragment,{children:` If you first came in with one of the buttons below, use that button instead.`})]})):i((await r.Sr(e,`password`,`That did not work. Check your details and try again.`,{email:a})).text),t(!1)}},w=r.qr(f),E=on(f),D=c&&E.some(e=>e.id===`emailLink`)?s:``,O=x||m===`finishing`&&!g,k=O?`signing`:g?`step`:m===`asking`?`asking`:f.loading?`loading`:`form`;return(0,V.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mt-6 mb-8 md:mt-0 md:mb-0 md:pt-8 md:pb-32`,children:(0,V.jsxs)(Dt,{width:`max-w-[480px]`,children:[(0,V.jsx)(At,{title:`Welcome back`,line:`Sign in to Your AI Firebase.`}),n&&(0,V.jsx)(T.t,{className:`mb-5`,children:n}),!n&&c&&!D&&m===`no`&&!x&&(0,V.jsxs)(T.t,{tone:`done`,className:`mb-5`,children:[`We have emailed a sign-in link to `,s,`. Open it on this device and you go straight to your order — or sign in below.`]}),(0,V.jsx)(Ot,{children:(0,V.jsx)(kt,{show:k,children:O?(0,V.jsx)(dn,{note:m===`finishing`?`One moment — your link checks out.`:void 0}):g?(0,V.jsx)(Lt,{step:g,onSignedIn:S}):m===`asking`?(0,V.jsx)(ln,{email:s,onSignedIn:S,onStartOver:b}):f.loading?(0,V.jsx)(Pt,{}):(0,V.jsxs)(V.Fragment,{children:[w&&!v&&(0,V.jsxs)(`form`,{className:`flex flex-col gap-5`,onSubmit:C,children:[(0,V.jsx)(u.d,{name:`email`,label:`Email`,type:`email`,defaultValue:s,placeholder:`name@example.com`,className:`max-sm:h-11`,required:!0}),(0,V.jsxs)(`div`,{className:`flex flex-col w-full`,children:[(0,V.jsxs)(`div`,{className:`flex justify-between items-baseline mb-1.5 mx-1`,children:[(0,V.jsx)(`label`,{className:`text-[13px] font-medium text-foreground/50 select-none`,children:`Password`}),(0,V.jsx)(G.Link,{to:`/reset-password`,className:`text-[13px] font-semibold text-accent hover:underline`,children:`Forgot Password?`})]}),(0,V.jsx)(u.d,{name:`password`,type:`password`,placeholder:`••••••••`,className:`max-sm:h-11`,required:!0})]}),(0,V.jsx)(`div`,{className:`pt-1`,children:(0,V.jsx)(d.t,{type:`submit`,className:`w-full py-3 text-[15px] font-semibold`,isLoading:e,children:`Sign In`})})]}),w&&E.length>0&&!v&&(0,V.jsxs)(`div`,{className:`flex items-center gap-3 my-6`,children:[(0,V.jsx)(`span`,{className:`h-[1px] flex-1 bg-[var(--panel-border)]`}),(0,V.jsx)(`span`,{className:`text-[13px] font-medium text-foreground/40`,children:`or`}),(0,V.jsx)(`span`,{className:`h-[1px] flex-1 bg-[var(--panel-border)]`})]}),E.length>0&&(0,V.jsx)(cn,{settings:f,onSignedIn:S,disabled:e,returnTo:l?`/login?from=${encodeURIComponent(l)}`:`/login`,onPanelChange:y,sentTo:D})]})})}),(0,V.jsx)(jt,{children:(0,V.jsxs)(`p`,{className:Mt,children:[`New here? `,(0,V.jsx)(G.Link,{to:`/register`,className:Nt,children:`Create account`})]})})]})})}var Mn=()=>{if(!r.Oa)throw Error(`Firebase is not initialized. Check your configuration.`);return r.Oa},Nn=`/confirm-email`,Pn=`address`,Fn=`firebase-os:address-link`;async function In(e,t){let n=new URL(Nn,window.location.origin);n.searchParams.set(`for`,t),n.searchParams.set(Pn,e),await(0,H.sendSignInLinkToEmail)(Mn(),e,{url:n.toString(),handleCodeInApp:!0})}function Ln(e=window.location.href){let t;try{t=new URL(e).searchParams}catch{return null}let n=String(t.get(`for`)||``).trim(),r=String(t.get(`address`)||``).trim();if(!n||!r)return null;try{if(!(0,H.isSignInWithEmailLink)(Mn(),e))return null}catch{return null}return{uid:n,address:r,url:e}}function Rn(e){try{localStorage.setItem(Fn,JSON.stringify(e))}catch{}}function zn(){try{let e=localStorage.getItem(Fn);if(!e)return null;let t=JSON.parse(e);return t?.uid&&t?.address&&t?.url?t:null}catch{return null}}var Bn=e=>!!e&&zn()?.uid===e;function Vn(){try{localStorage.removeItem(Fn)}catch{}}async function Hn(e){let t=r.Oa?.currentUser??null;if(!t)return`signInFirst`;if(t.uid!==e.uid)return`wrongAccount`;if((t.email||``).toLowerCase()===e.address.toLowerCase()&&t.emailVerified)return`confirmed`;try{await(0,H.linkWithCredential)(t,H.EmailAuthProvider.credentialWithLink(e.address,e.url))}catch(e){let t=e?.code||``;return t===`auth/provider-already-linked`?`confirmed`:t===`auth/email-already-in-use`||t===`auth/credential-already-in-use`?`takenElsewhere`:t===`auth/invalid-action-code`||t===`auth/expired-action-code`||t===`auth/invalid-email`||t===`auth/argument-error`?`spent`:(console.warn(`The address could not be added to this sign-in.`,e),`failed`)}try{await t.getIdToken(!0)}catch{}try{await t.reload()}catch{}return`confirmed`}function Un(){let{user:e,profile:t,refreshUser:n,signOut:i}=r.dr(),a=(0,G.useNavigate)(),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(!1),[f,p]=(0,B.useState)(``),[m,h]=(0,B.useState)(!1),[g,v]=(0,B.useState)(!1),y=!o.t(e),b=y?e?.email||``:o.n(e,t),x=(()=>{let t=(e?.providerData||[]).map(e=>e?.providerId).filter(Boolean);if(!t.length||t.includes(`password`))return``;let n=r.Lr.find(e=>e.providerId&&e.providerId!==`password`&&t.includes(e.providerId));return n&&n.id!==`phone`?n.label:``})(),S=y&&!b;(0,B.useEffect)(()=>{if(!y||!e||S)return;let t=!1;return r.ei(e).then(e=>{!t&&e===`failed`&&p(`We could not send the link just now. Press Resend below to try again.`)}),()=>{t=!0}},[y,S,e?.uid]);let C=()=>a(_.m(t)?`/dashboard?${_.n}=1`:`/dashboard`,{replace:!0}),w=async()=>{c(!0),p(``);let e=!1;try{if(!r.Oa.currentUser)return;if(await r.Oa.currentUser.reload(),!y){await n();let e=o.n(r.Oa.currentUser,t);p(e?`Not yet — open the link we sent to ${e}, and it is done. Nothing else is waiting on it.`:`Your email is confirmed.`);return}if(!r.Oa.currentUser.emailVerified){p(`Not yet — open the link in the email first, then press this. Check your spam folder if it has not arrived.`);return}await r.Oa.currentUser.getIdToken(!0),await n(),e=!0,a(`/dashboard?${_.n}=1`)}catch{p(`We could not check just now. Make sure you are online and try again.`)}finally{e||c(!1)}},D=async()=>{if(e&&!S){u(!0),p(``);try{y?(await(0,H.sendEmailVerification)(e),r.ni(e.uid)):await In(b,e.uid),p(`Verification email sent! Please check your inbox.`)}catch(e){e?.code===`auth/too-many-requests`?p(`Failed to resend: please wait a minute before trying again.`):p(`Failed to resend. ${(await r.Sr(e,`password`,`Check your connection and try again in a moment.`)).text}`)}finally{u(!1)}}},O=f.includes(`Failed`)||f.includes(`could not`)||f.includes(`not verified`)||f.includes(`wrong`)||f.startsWith(`Not yet`);return(0,V.jsxs)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mb-16`,children:[(0,V.jsxs)(Dt,{width:`max-w-[480px]`,className:`text-center`,children:[(0,V.jsx)(At,{as:`h1`,className:`mb-6 sm:mb-8`,title:S?`No address to verify`:`Verify your email`,line:S?(0,V.jsxs)(V.Fragment,{children:[x||`The way you signed in`,` did not give us an email address, so there is nothing here to send a link to and nothing to verify. An address is the one thing this app cannot do without: everything behind this screen is shut until it has one.`,x?(0,V.jsxs)(V.Fragment,{children:[` If this app is yours, it is one tick in your `,x,` setup — the setting that asks for the person's email address — and everybody who signs in after it arrives with one.`]}):(0,V.jsx)(V.Fragment,{children:` If this app is yours, the way in you used has to be set to ask for an email address.`}),` `,`Until then, sign in with an email address instead.`]}):y?(0,V.jsxs)(V.Fragment,{children:[x&&(0,V.jsxs)(V.Fragment,{children:[x,` signed you in, but it did not confirm your address — so we are checking it is yours. `]}),`We've sent a verification link to `,(0,V.jsx)(`span`,{className:`font-semibold text-foreground`,children:b}),`. Please check your inbox (and spam folder) to verify your account and access your dashboard.`]}):(0,V.jsxs)(V.Fragment,{children:[`We've sent a link to `,(0,V.jsx)(`span`,{className:`font-semibold text-foreground`,children:b}),`. Opening it adds the address to your sign-in, so you can use it to sign in as well as your phone — and you stay signed in here either way. Nothing is waiting on it: you can do this whenever you like.`]})}),(0,V.jsxs)(Ot,{className:`flex flex-col gap-3 max-w-[360px] mx-auto`,children:[f&&(0,V.jsx)(T.t,{tone:O?`error`:`done`,children:f}),S?(0,V.jsx)(d.t,{variant:`primary`,onClick:()=>i(),className:`w-full py-3 text-[14px] font-semibold`,children:`Sign out`}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(d.t,{variant:`primary`,onClick:w,isLoading:s,className:`w-full py-3 text-[14px] font-semibold`,children:`I've verified my email`}),(0,V.jsx)(d.t,{variant:`ghost`,onClick:D,isLoading:l,className:`w-full py-2.5 text-[14px] font-medium`,children:`Resend verification link`}),(0,V.jsx)(d.t,{variant:`ghost`,onClick:()=>y?h(!0):a(`/profile`),className:`w-full py-2 text-[13px] font-medium`,children:`Change my email address`}),!y&&(0,V.jsx)(d.t,{variant:`ghost`,onClick:C,className:`w-full py-2 text-[13px] font-medium`,children:`Skip for now`})]})]})]}),(0,V.jsx)(E.t,{isOpen:m,title:`Start again with another address?`,message:Sn(b),confirmText:`Yes, start again`,cancelText:`Keep this address`,isProcessing:g,onCancel:()=>h(!1),onConfirm:async()=>{v(!0),await wn(r.Oa.currentUser||e)}})]})}var Wn={confirmed:{title:`Email confirmed`,body:`Your address is on your account now, and you can sign in with it as well as your phone.`},signInFirst:{title:`Nearly there`,body:`You opened this link in a browser you are not signed in on. Sign in and it finishes by itself — you will not need the link again.`},wrongAccount:{title:`That is a different account`,body:`This link adds an address to another account. Sign out here and sign back in as the person who asked for it — the link is kept, and it finishes by itself once they are in.`},takenElsewhere:{title:`That address is already in use`,body:`Another account here already has it. Give a different address on your profile, or sign in with the account that has this one.`},spent:{title:`That link has expired`,body:`Links can only be opened once, and they do not last for ever. Ask for a new one and it will come straight through.`},failed:{title:`That did not work`,body:`Check your connection and try again. If it keeps happening, ask for a new link.`}},Gn=e=>({title:`Email verified`,body:`${e} is confirmed. You can sign in with it now as well as your phone.`,link:`/profile`});function Kn(){let{user:e,loading:t,refreshUser:n,signOut:i}=r.dr(),a=(0,G.useNavigate)(),[o,s]=(0,B.useState)(null),c=(0,B.useRef)(null),l=(0,B.useRef)(!1);(0,B.useEffect)(()=>{if(t||l.current)return;let r=Ln()??zn();if(!r){s(`spent`),l.current=!0;return}if(c.current=r,!e){Rn(r),s(`signInFirst`);return}l.current=!0;let i=!1;return Hn(r).then(async e=>{i||(e===`confirmed`&&(Vn(),await b.n(r.uid,Gn(r.address)),await n().catch(()=>{})),e===`wrongAccount`?Rn(r):e!==`signInFirst`&&Vn(),s(e))}),()=>{i=!0}},[t,e?.uid]);let u=o?Wn[o]:null,p=o===`confirmed`;return(0,V.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mt-6 mb-8 md:mt-0 md:mb-0 md:pt-8 md:pb-32`,children:(0,V.jsx)(Dt,{width:`max-w-[480px]`,className:`text-center`,children:(0,V.jsx)(kt,{show:o??`working`,children:u?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(At,{as:`h1`,className:`mb-6 sm:mb-8`,title:u.title,line:u.body}),(0,V.jsxs)(Ot,{className:`flex flex-col gap-3 max-w-[360px] mx-auto`,children:[o===`signInFirst`?(0,V.jsx)(d.t,{variant:`primary`,onClick:()=>a(`/login?from=${encodeURIComponent(Nn)}`),className:`w-full py-3 text-[14px] font-semibold`,children:`Sign in to finish`}):o===`wrongAccount`?(0,V.jsx)(d.t,{variant:`primary`,onClick:()=>i(),className:`w-full py-3 text-[14px] font-semibold`,children:`Sign out`}):(0,V.jsx)(d.t,{variant:`primary`,onClick:()=>a(e?`/dashboard`:`/`),className:`w-full py-3 text-[14px] font-semibold`,children:p?`Carry on`:`Back to the app`}),o===`takenElsewhere`&&e&&(0,V.jsx)(d.t,{variant:`ghost`,onClick:()=>a(`/profile`),className:`w-full py-2.5 text-[14px] font-medium`,children:`Use a different address`}),o===`spent`&&e&&(0,V.jsx)(d.t,{variant:`ghost`,onClick:()=>a(`/verify`),className:`w-full py-2.5 text-[14px] font-medium`,children:`Send me a new link`}),o===`failed`&&(0,V.jsx)(d.t,{variant:`ghost`,onClick:()=>window.location.reload(),className:`w-full py-2.5 text-[14px] font-medium`,children:`Try again`})]})]}):(0,V.jsxs)(`div`,{"aria-busy":`true`,className:`py-6 flex flex-col items-center gap-4`,children:[(0,V.jsx)(f.t,{}),(0,V.jsx)(`p`,{className:`text-[14px] font-medium text-foreground/70`,children:`Confirming your email…`})]})})})})}var qn=`user_phoneclaims`,Jn=`That number is already set up on another account. A phone number can only be used once here — use a different one, or take it off the other account first.`;async function Yn(e){let t=String(e||``).replace(/[^\d+]/g,``);if(!t)return null;let n=globalThis.crypto?.subtle;if(!n)return null;try{let e=await n.digest(`SHA-256`,new TextEncoder().encode(t));return Array.from(new Uint8Array(e)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}catch{return null}}async function Xn(e){let t=await Yn(e);if(!t)return!0;try{return await(0,U.getDoc)((0,U.doc)(r.ka,qn,t)),!0}catch(e){return e?.code!==`permission-denied`}}var Zn=`phoneClaim`;async function Qn(e,t){let n=await Yn(e);if(!n||!t)return!0;try{await(0,U.setDoc)((0,U.doc)(r.ka,qn,n),{uid:t,createdAt:Date.now()})}catch(e){return e?.code!==`permission-denied`}try{await(0,U.setDoc)((0,U.doc)(r.ka,`user_profiles`,t),{[Zn]:n},{merge:!0})}catch{}return!0}async function $n(e,t){let n=String(t??``).trim();if(n){try{await(0,U.deleteDoc)((0,U.doc)(r.ka,qn,n))}catch{}if(e)try{await(0,U.setDoc)((0,U.doc)(r.ka,`user_profiles`,e),{[Zn]:``},{merge:!0})}catch{}}}var er=r.Da(()=>Promise.resolve().then(()=>require(`./PhoneInputField-BEwYZMB7.cjs`)));function tr({onDone:e,doneWords:t=`Turn it on`}){let{user:n,refreshUser:i}=r.dr(),[a,o]=(0,B.useState)(``),[c,l]=(0,B.useState)(``),[u,f]=(0,B.useState)(``),[p,m]=(0,B.useState)(!1),[h,g]=(0,B.useState)(null),_=(0,B.useRef)(null),v=async(e,t)=>{g(await r.Sr(e,`sms2fa`,t))},y=async()=>{if(n){g(null),m(!0);try{if(f(``),!await Xn(a.trim())){g({text:Jn});return}l(await en(n,a.trim(),_.current))}catch(e){await v(e,`That code could not be sent. Check the number and try again.`)}finally{m(!1)}}};return(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{ref:_}),h&&(0,V.jsx)(Ft,{problem:h}),c?(0,V.jsxs)(r.sr.form,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2},onSubmit:async t=>{if(t.preventDefault(),!n)return;g(null),m(!0);let r=!Ht(n);try{if(await tn(n,c,u.trim()),!await Qn(a.trim(),n.uid)){r&&await nn(n).catch(()=>{}),await i(),g({text:Jn}),l(``),f(``);return}await i(),e()}catch(e){await v(e,`That code could not be checked. Ask for a new one.`)}finally{m(!1)}},className:`space-y-3`,children:[(0,V.jsxs)(`p`,{className:`text-[13px] text-foreground/60 font-medium leading-relaxed`,children:[`We texted a code to `,(0,V.jsx)(`span`,{className:`font-bold text-foreground/80`,children:a}),`.`]}),(0,V.jsx)(It,{value:u,onChange:f,autoFocus:!0}),(0,V.jsxs)(d.t,{type:`submit`,isLoading:p,className:`w-full py-2.5 sm:py-3 text-[15px] font-bold tracking-wide rounded-xl`,children:[t,` `,(0,V.jsx)(s.sn,{className:`ml-2 w-4 h-4 shrink-0`})]}),(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-3 text-[13px] font-bold`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:y,disabled:p,className:`text-accent hover:underline disabled:opacity-40 disabled:no-underline cursor-pointer disabled:cursor-default`,children:`Send it again`}),(0,V.jsx)(`span`,{className:`w-[1px] h-3.5 bg-[var(--panel-border)]`}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>{l(``),f(``),g(null)},className:`text-foreground/50 hover:text-accent transition-colors cursor-pointer`,children:`Use a different number`})]})]}):(0,V.jsxs)(`form`,{onSubmit:async e=>{e.preventDefault(),await y()},className:`space-y-3`,children:[(0,V.jsx)(B.Suspense,{fallback:(0,V.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),children:(0,V.jsx)(er,{field:{label:`Your phone number`,required:!0,placeholder:`7700 900123`},value:a,onChange:o})}),(0,V.jsxs)(d.t,{type:`submit`,isLoading:p,className:`w-full py-2.5 sm:py-3 text-[15px] font-bold tracking-wide rounded-xl`,children:[`Text me a code `,(0,V.jsx)(s.yn,{className:`ml-2 w-4 h-4 shrink-0`})]})]})]})}function nr(){let{user:e,signOut:t}=r.dr(),n=r.$r(),i=(0,G.useNavigate)(),a=n.twoStepOptional;return(0,V.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mt-6 mb-8 md:mt-0 md:mb-0 md:pt-8 md:pb-32`,children:(0,V.jsxs)(Dt,{width:`max-w-[480px]`,children:[(0,V.jsx)(At,{title:a?`Make your account safer`:`One more step`,line:a?`Give us a number and we will text you a code when you sign in, as well as asking for your password. You can do this later if you would rather.`:`This app asks for a code by text as well as your password. Give us a number once, and from now on we will text you a code when you sign in.`}),(0,V.jsx)(Ot,{children:(0,V.jsx)(tr,{onDone:()=>i(`/dashboard`,{replace:!0}),doneWords:`Turn it on`})}),a&&(0,V.jsx)(Ot,{children:(0,V.jsx)(d.t,{variant:`secondary`,onClick:()=>{e?.uid&&qt(e.uid),i(`/dashboard`,{replace:!0})},className:`mt-3 w-full py-2.5 text-[14px] font-semibold`,children:`Not now`})}),(0,V.jsx)(jt,{children:(0,V.jsx)(d.t,{variant:`ghost`,onClick:()=>t(),className:`w-full py-2 text-[13px] font-semibold`,children:`Sign out`})})]})})}var rr=r.Da(()=>Promise.resolve().then(()=>require(`./PhoneInputField-BEwYZMB7.cjs`))),ir=r.Da(()=>Promise.resolve().then(()=>require(`./AddressField-B7wtV8yA.cjs`))),ar=`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`;function or({field:e,value:t}){return(0,V.jsxs)(`div`,{className:`flex flex-col w-full relative`,children:[(0,V.jsxs)(`label`,{className:`${ar} flex items-center gap-1.5`,children:[e.label,(0,V.jsx)(s.mt,{className:`w-3 h-3 text-foreground/35 shrink-0`})]}),(0,V.jsx)(`div`,{"aria-label":e.label,"aria-readonly":`true`,className:`flex items-center h-12 w-full px-4 text-[15px] text-foreground/55 glass-panel opacity-70 cursor-not-allowed truncate`,style:{borderRadius:`var(--input-radius, 0.75rem)`},children:t}),(0,V.jsx)(`p`,{className:`text-[11px] text-foreground/40 mt-1.5 px-2 font-medium`,children:`Given when you registered, and fixed from then on.`})]})}function sr({fields:e,values:t,errors:n={},profile:i=null,disabled:a=!1,onChange:o,onCommit:s}){let c=(e,t)=>{for(let[n,r]of Object.entries(g.r(e,t)))o(n,r)},l=e=>!e.currentTarget.contains(e.relatedTarget),d=e=>s?.(e);return e.length?(0,V.jsx)(V.Fragment,{children:e.map(e=>{let s=t[e.key],f=n[e.key];return _.p(i,e)?(0,V.jsx)(or,{field:e,value:_.a(i,e)},e.key):e.type===`tel`?(0,V.jsx)(`div`,{className:`w-full`,onBlur:t=>{l(t)&&d(e.key)},children:(0,V.jsx)(B.Suspense,{fallback:(0,V.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),children:(0,V.jsx)(rr,{field:e,value:String(s||``),onChange:t=>o(e.key,t)})})},e.key):e.type===`address`?(0,V.jsx)(`div`,{className:`w-full`,onBlur:t=>{l(t)&&d(e.key)},children:(0,V.jsx)(B.Suspense,{fallback:(0,V.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),children:(0,V.jsx)(ir,{id:`reg-${e.key}`,label:e.label,required:e.required,disabled:a,placeholder:e.placeholder,error:f,value:g.i(e.key,t),onChange:t=>c(e.key,t)})})},e.key):e.type===`textarea`?(0,V.jsx)(u.u,{id:`reg-${e.key}`,label:e.label,"aria-label":e.label,disabled:a,placeholder:e.placeholder,value:String(s||``),onChange:t=>o(e.key,t.target.value),onBlur:()=>d(e.key),error:f},e.key):e.type===`select`?(0,V.jsxs)(`div`,{className:`w-full`,children:[(0,V.jsx)(r.nr,{label:e.label,ariaLabel:e.label,direction:`auto`,disabled:a,value:String(s||``),options:[{value:``,label:(0,V.jsx)(`span`,{className:`text-foreground/40`,children:`Select an option...`})},...(e.options||[]).map(e=>({value:e,label:e}))],onChange:t=>{o(e.key,t),d(e.key)}}),f&&(0,V.jsx)(`p`,{className:`text-xs text-red-500 font-medium mt-1`,children:f})]},e.key):e.type===`checkbox`?(0,V.jsxs)(`div`,{className:`w-full`,children:[(0,V.jsxs)(`label`,{className:`flex items-center gap-3 w-full cursor-pointer group py-2`,children:[(0,V.jsxs)(`div`,{className:`relative flex items-center justify-center w-5 h-5 rounded border border-foreground/20 bg-background/50 group-hover:border-accent transition-colors shrink-0`,children:[(0,V.jsx)(`input`,{type:`checkbox`,"aria-label":e.label,disabled:a,checked:s===!0,onChange:t=>{o(e.key,t.target.checked),d(e.key)},className:`absolute opacity-0 w-full h-full cursor-pointer`}),s===!0&&(0,V.jsx)(`span`,{className:`w-2.5 h-2.5 bg-accent rounded-sm shrink-0`})]}),(0,V.jsx)(`span`,{className:`text-[14px] font-medium text-foreground/80 leading-snug group-hover:text-foreground transition-colors`,children:e.label})]}),f&&(0,V.jsx)(`p`,{className:`text-xs text-red-500 font-medium`,children:f})]},e.key):(0,V.jsx)(u.d,{label:e.label,"aria-label":e.label,type:e.type===`number`?`number`:e.type,disabled:a,placeholder:e.placeholder,error:f,className:`max-sm:h-11`,value:String(s??``),onChange:t=>o(e.key,t.target.value),onBlur:()=>d(e.key)},e.key)})}):null}var cr=e=>/^[^@\s]+@[^@\s.]+\.[^@\s]+$/.test(e.trim());function lr(){let{user:e,userRole:t,profile:n,signOut:i,refreshUser:a}=r.dr(),c=r.$r(),l=(0,G.useNavigate)(),f=c.finishRegistration,p=o.h(t)?[]:_.c(n,f),[m,h]=(0,B.useState)(()=>_.o(p,n)),[g,v]=(0,B.useState)({}),[y,b]=(0,B.useState)(``),[x,S]=(0,B.useState)(!1),[C,w]=(0,B.useState)(!1);(0,B.useEffect)(()=>{h(_.o(p,n))},[p.map(e=>e.key).join(`|`)]);let E=_.g(n),D=E.includes(`name`),O=E.includes(`email`),[k,A]=(0,B.useState)(``),[j,M]=(0,B.useState)(``),[N,P]=(0,B.useState)(``),[F,I]=(0,B.useState)(``),L=r.Pr(n),R=E.length+p.filter(e=>!_.f(n,e)).length,z=E.length+_.h(p,n).length>0?R===1?`There is one thing we still need before you go on.`:`There are a few things we still need before you go on.`:R===0?`Just check these over before you go on.`:R===1?`One question before you go on — it is not required.`:`A few questions before you go on — none of them is required.`,W=(e=!1)=>l(e?`/verify`:_.m(n)?`/dashboard?${_.n}=1`:`/dashboard`,{replace:!0}),ee=async t=>{if(t.preventDefault(),!e)return;b(``);let i=D&&!k.trim()?`Please tell us what to call you.`:``,o=O?j.trim()?cr(j)?``:`That does not look like an email address.`:`Please give us an email address.`:``;P(i),I(o);let s=_.i(p,m);if(v(s),i||o||Object.keys(s).length){b(`There is something to check below.`);return}S(!0);try{let t={};D&&(t.displayName=k.trim()),O&&(t.email=j.trim()),await(0,U.setDoc)((0,U.doc)(r.ka,`user_profiles`,e.uid),{..._.s(p,m,n),...t,..._.u()},{merge:!0}),D&&r.Oa.currentUser&&(0,H.updateProfile)(r.Oa.currentUser,{displayName:k.trim()}).then(()=>a()).catch(()=>{});let i=!1;O&&r.Oa.currentUser&&(i=await In(j.trim(),r.Oa.currentUser.uid).then(()=>!0).catch(e=>(console.warn(`The confirmation link could not be sent to the new address.`,e),!0))),W(i)}catch(e){b(e?.code===`permission-denied`?`That could not be saved. Check that your email address is verified and that your account is still switched on.`:`That could not be saved. Check your connection and try again.`)}finally{S(!1)}},te=async()=>{e&&(w(!0),_.S(e.uid),await(0,U.setDoc)((0,U.doc)(r.ka,`user_profiles`,e.uid),_.u(),{merge:!0}).catch(()=>{}),W())},ne=x||C;return(0,V.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mt-6 mb-8 md:mt-0 md:mb-0 md:pt-8 md:pb-32`,children:(0,V.jsxs)(Dt,{width:`max-w-[500px]`,children:[(0,V.jsx)(At,{title:(0,V.jsx)(ur,{request:L}),line:!c.loading&&(0,V.jsxs)(V.Fragment,{children:[z,L&&` Your registration goes to an admin for approval. Until then everything works as usual.`]})}),y&&(0,V.jsx)(T.t,{className:`mb-5`,children:y}),c.loading?(0,V.jsx)(Pt,{}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`form`,{className:`flex flex-col gap-5`,onSubmit:ee,noValidate:!0,children:[(D||O||p.length>0)&&(0,V.jsxs)(Ot,{className:`flex flex-col gap-5`,children:[D&&(0,V.jsx)(u.d,{name:`displayName`,label:`Your name`,type:`text`,placeholder:`Alex Taylor`,className:`max-sm:h-11`,value:k,onChange:e=>{A(e.target.value),N&&P(``)},error:N,autoFocus:!0,required:!0}),O&&(0,V.jsx)(u.d,{name:`email`,label:`Your email`,type:`email`,placeholder:`name@example.com`,className:`max-sm:h-11`,value:j,onChange:e=>{M(e.target.value),F&&I(``)},error:F,autoFocus:!D,required:!0}),(0,V.jsx)(sr,{fields:p,values:m,errors:g,profile:n,disabled:ne,onChange:(e,t)=>{h(n=>({...n,[e]:t})),v(t=>t[e]?{...t,[e]:``}:t)}})]}),(0,V.jsx)(Ot,{className:`pt-1`,children:(0,V.jsxs)(d.t,{type:`submit`,isLoading:x,disabled:C,className:`w-full py-3 text-[15px] font-semibold`,children:[`Finish registration `,(0,V.jsx)(s.yn,{className:`w-4 h-4 shrink-0`})]})})]}),f.skippable&&E.length===0&&(0,V.jsx)(Ot,{children:(0,V.jsx)(d.t,{variant:`secondary`,onClick:te,isLoading:C,disabled:x,className:`mt-3 w-full py-2.5 text-[14px] font-semibold`,children:`Skip for now`})})]}),(0,V.jsx)(jt,{children:(0,V.jsx)(d.t,{variant:`ghost`,onClick:()=>i(),className:`w-full py-2 text-[13px] font-semibold`,children:`Sign out`})})]})})}function ur({request:e}){return e?(0,V.jsx)(dr,{request:e}):(0,V.jsx)(V.Fragment,{children:_.l(null,``)})}function dr({request:e}){let t=v.l();return(0,V.jsx)(V.Fragment,{children:_.l(e,r.ha(e.role,t))})}function fr(){let{user:e,profile:t,refreshUser:n}=r.dr(),i=r.$r(),[a,o]=(0,B.useState)(!1),[c,l]=(0,B.useState)(!1),[u,d]=(0,B.useState)(null),[f,p]=(0,B.useState)(!1),m=i.on.sms2fa;if(i.loading||!Xt(e,m))return null;let h=Ht(e),g=Ut(e);return(0,V.jsxs)(`div`,{className:`glass-panel w-full p-5 sm:p-8 rounded-3xl border border-[var(--panel-border)] shadow-2xl`,children:[(0,V.jsxs)(`div`,{className:`flex items-start gap-3 sm:gap-4`,children:[(0,V.jsx)(`div`,{className:`w-9 h-9 shrink-0 rounded-xl glass-panel border border-[var(--panel-border)] flex items-center justify-center`,children:(0,V.jsx)(s.j,{className:`w-[18px] h-[18px] text-accent`})}),(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsx)(`h3`,{className:`text-[16px] font-bold text-foreground mb-1`,children:`Two-step sign-in`}),(0,V.jsx)(`p`,{className:`text-[13px] text-foreground/50 font-medium leading-relaxed`,children:h?`We text you a code when you sign in, as well as asking for your password.`:m?`This app asks for a code by text as well as your password. Add the number that should get it.`:`Add a phone number and we will text you a code when you sign in, as well as asking for your password.`})]})]}),(0,V.jsxs)(`div`,{className:`mt-5`,children:[u&&(0,V.jsx)(Ft,{problem:u}),f&&!u&&(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:-6},animate:{opacity:1,y:0},className:`mb-4 p-3 rounded-xl border border-accent/20 bg-accent/10 text-accent flex items-center gap-2`,children:[(0,V.jsx)(s.sn,{className:`w-4 h-4 shrink-0`}),(0,V.jsx)(`span`,{className:`text-[13.5px] font-semibold tracking-wide`,children:`Two-step sign-in is on. We will text that number next time you sign in.`})]}),h?(0,V.jsxs)(`div`,{className:`flex flex-col sm:flex-row sm:items-center gap-3 justify-between rounded-2xl border border-[var(--panel-border)]/60 p-3.5`,children:[(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsx)(`p`,{className:`text-[11px] font-bold uppercase tracking-[0.2em] text-foreground/40 mb-1`,children:`Your number`}),(0,V.jsx)(`p`,{className:`text-[15px] font-bold text-foreground truncate`,children:g||`Set up`})]}),(0,V.jsxs)(`button`,{type:`button`,onClick:()=>o(!0),className:`inline-flex items-center justify-center gap-1.5 h-9 px-3 rounded-xl border border-[var(--panel-border)] text-[13px] font-bold text-foreground/60 hover:text-red-500 hover:border-red-500/40 transition-colors cursor-pointer shrink-0`,children:[(0,V.jsx)(s.C,{className:`w-3.5 h-3.5 shrink-0`}),`Take it off`]})]}):(0,V.jsx)(tr,{onDone:()=>{p(!0),d(null)}})]}),(0,V.jsx)(E.t,{isOpen:a,title:`Take two-step sign-in off?`,message:m?`This app asks for a texted code, so you will be asked for a number again straight away. That is how you change the number you gave.`:`You will sign in with your password alone from then on.`,confirmText:`Take it off`,isProcessing:c,onConfirm:async()=>{if(e){d(null),l(!0);try{await nn(e),await $n(e.uid,t?.[Zn]),await n(),p(!1),o(!1)}catch(e){d(await r.Sr(e,`sms2fa`,`That could not be taken off. Try again.`)),o(!1)}finally{l(!1)}}},onCancel:()=>o(!1)})]})}function pr(){let{user:e,profile:t}=r.dr(),n=_.c(t,r.$r().finishRegistration),[i,a]=(0,B.useState)(()=>_.o(n,t)),[o,c]=(0,B.useState)({}),[l,u]=(0,B.useState)(``),[d,f]=(0,B.useState)(!1),[p,m]=(0,B.useState)(null),h=(0,B.useRef)(i),g=e=>{h.current=e,a(e)};if((0,B.useEffect)(()=>{g(_.o(n,t))},[n.map(e=>`${e.key}:${String(t?.[e.key]??``)}`).join(`|`)]),!n.length)return null;let v=e=>Object.entries(e).every(([e,n])=>(t?.[e]??``)===n);return(0,V.jsxs)(`div`,{className:`glass-panel w-full p-5 sm:p-8 rounded-3xl border border-[var(--panel-border)] shadow-2xl`,children:[(0,V.jsxs)(`div`,{className:`flex items-start gap-3 sm:gap-4`,children:[(0,V.jsx)(`div`,{className:`w-9 h-9 shrink-0 rounded-xl glass-panel border border-[var(--panel-border)] flex items-center justify-center`,children:(0,V.jsx)(s.Dt,{className:`w-[18px] h-[18px] text-accent`})}),(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3 mb-1`,children:[(0,V.jsx)(`h3`,{className:`text-[16px] font-bold text-foreground`,children:`Your details`}),(0,V.jsx)(r.m,{saving:d,savedAt:p})]}),(0,V.jsx)(`p`,{className:`text-[13px] text-foreground/50 font-medium leading-relaxed`,children:`Change what you like — each one saves itself. Anything with a padlock was fixed when you gave it.`})]})]}),(0,V.jsxs)(`div`,{className:`mt-5 flex flex-col gap-4`,children:[l&&(0,V.jsx)(T.t,{children:l}),(0,V.jsx)(sr,{fields:n,values:i,errors:o,profile:t,onChange:(e,t)=>{g({...h.current,[e]:t}),c(t=>t[e]?{...t,[e]:``}:t)},onCommit:async i=>{let a=n.find(e=>e.key===i);if(!e||!a||_.p(t,a))return;let o=_.r(a,h.current[i]);if(c(e=>e[i]===o?e:{...e,[i]:o}),o)return;let s=_.s([a],h.current,t);if(!(!Object.keys(s).length||v(s))){u(``),f(!0);try{await(0,U.setDoc)((0,U.doc)(r.ka,`user_profiles`,e.uid),s,{merge:!0}),m(Date.now())}catch(e){u(e?.code===`permission-denied`?`That could not be saved. Check that your account is still switched on.`:`That could not be saved. Check your connection and try again.`)}finally{f(!1)}}}})]})]})}var mr=20,hr=()=>{try{let e=localStorage.getItem(`fbos_nav_tabs`);if(!e)return null;let t=JSON.parse(e);return t&&typeof t==`object`?Object.entries(t):null}catch{return null}},gr=async()=>(await(0,U.getDocs)((0,U.collection)(r.ka,`sys_tabs`))).docs.map(e=>[e.id,e.data()]);function _r(){let{user:e,profile:t,refreshUser:a,isInternal:c}=r.dr(),[l,f]=(0,B.useState)(e?.displayName||``),[m,h]=(0,B.useState)(e?.email||t?.email||``),[g,_]=(0,B.useState)(e?.photoURL||``),[v,y]=(0,B.useState)(!1),[b,x]=(0,B.useState)(null),[S,C]=(0,B.useState)(``),[w,T]=(0,B.useState)(``),[E,D]=(0,B.useState)(``),[O,k]=(0,B.useState)(!1),[A,j]=(0,B.useState)(!1),[M,N]=(0,B.useState)(!1),[P,F]=(0,B.useState)(null),[I,L]=(0,B.useState)(``),R=B.default.useRef(null);B.default.useEffect(()=>{f(e?.displayName||t?.displayName||``)},[e?.uid,e?.displayName,t?.displayName]),B.default.useEffect(()=>{h(e?.email||t?.email||``)},[e?.uid,e?.email,t?.email]),B.default.useEffect(()=>{_(e?.photoURL||``)},[e?.uid,e?.photoURL]);let z=async t=>{if(e)try{if(!c)return;let n=[`mem_files`,`admin_files`],i=hr()??await gr();for(let[e,t]of i){let r=(t.tabName||e).toLowerCase().replace(/[^a-z0-9]+/g,`_`),i=o.x(t.pageType),a=o.T(t)===`shared`;a&&i===`internal`&&n.push(`mem_${r}_records`),a&&i===`admin`&&n.push(`admin_${r}_records`)}n.length>mr&&(n.length=mr);for(let i of n)try{let n=await(0,U.getDocs)((0,U.query)((0,U.collection)(r.ka,i),(0,U.where)(`uid`,`==`,e.uid)));if(n.empty)continue;let a=(0,U.writeBatch)(r.ka);n.docs.forEach(e=>a.update(e.ref,{creatorAvatar:t})),await a.commit()}catch{}}catch(e){console.error(`Error propagating avatar to records:`,e)}},G=async t=>{if(!e)return;let n=await p.g(t,{maxSide:512});if(n.size>2*1024*1024){x({text:`File too large. Please select an image under 2MB.`,type:`error`});return}j(!0),k(!1);try{let t=`user_avatars/${e.uid}/file.png`,i=(0,W.ref)(r.ja,t);await(0,W.uploadBytes)(i,n,r.Yn(t,{ownerId:e.uid}));let o=await(0,W.getDownloadURL)(i);_(o);let s=(0,U.doc)(r.ka,`user_profiles`,e.uid);await Promise.all([(0,H.updateProfile)(e,{photoURL:o}),(0,U.updateDoc)(s,{avatar:o}),z(o)]),await a(),x({text:`Avatar successfully updated!`,type:`success`})}catch(e){console.error(e),x({text:`Failed to upload photo.`,type:`error`})}finally{j(!1)}},ee=e=>{let t=e.target.files?.[0];t&&G(t)},{over:te,dropProps:ne}=r.Fn({accept:`image/*`,disabled:A,onFiles:([e])=>G(e),onReject:()=>x({text:`That is not a picture. Drop a JPG or a PNG.`,type:`error`})}),re=async()=>{if(e){j(!0),k(!1);try{let t=(0,W.ref)(r.ja,`user_avatars/${e.uid}/file.png`);_(``),j(!1);let n=(0,U.doc)(r.ka,`user_profiles`,e.uid);await Promise.all([(0,W.deleteObject)(t).catch(e=>console.error(e)),(0,H.updateProfile)(e,{photoURL:``}),(0,U.updateDoc)(n,{avatar:``}),z(``)]),await a(),x({text:`Avatar removed.`,type:`success`})}catch(e){console.error(e),x({text:`Failed to delete photo.`,type:`error`}),j(!1)}}},ie=()=>e?.displayName||t?.displayName||``,ae=async()=>{if(!e)return;let t=l.trim();if(!t){f(ie());return}if(t!==l&&f(t),!(t===ie()||t===R.current)){R.current=t,N(!0),L(``);try{await(0,H.updateProfile)(e,{displayName:t}),await(0,U.updateDoc)((0,U.doc)(r.ka,`user_profiles`,e.uid),{displayName:t}).catch(()=>{}),await a(),F(Date.now())}catch(e){console.error(e),R.current=null,L(`Not saved`)}finally{N(!1)}}};return(0,V.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-5 sm:mb-8`,children:[(0,V.jsx)(n.t,{children:`Profile Settings`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,V.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),`/profile`]})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-4 sm:gap-6 flex-1 fbos-fade-in pb-20`,children:[(0,V.jsx)(`div`,{className:`flex justify-start`,children:(0,V.jsx)(i.t,{})}),(0,V.jsx)(r.cr,{children:b&&(0,V.jsxs)(r.sr.div,{initial:{opacity:0,scale:.98,y:-10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.98,y:-10},className:`p-4 mb-6 rounded-2xl border flex flex-col sm:flex-row sm:items-center gap-3 ${b.type===`error`?`bg-red-500/10 border-red-500/20 text-red-400`:`bg-accent/10 border-accent/20 text-accent`}`,children:[b.type===`success`?(0,V.jsx)(s.tn,{className:`w-5 h-5 shrink-0`}):(0,V.jsx)(s.nn,{className:`w-5 h-5 shrink-0`}),(0,V.jsx)(`span`,{className:`text-[14px] font-semibold tracking-wide leading-relaxed`,children:b.text})]})}),(0,V.jsx)(`form`,{onSubmit:async t=>{if(t.preventDefault(),e){y(!0),x(null);try{await ae();let t=null;if(m!==e.email)if(await(0,U.updateDoc)((0,U.doc)(r.ka,`user_profiles`,e.uid),{email:m}).catch(()=>{}),!e.email)await In(m,e.uid),t=`added`;else{let n=await(0,H.fetchSignInMethodsForEmail)(r.Oa,m).catch(()=>[]);if(n&&n.length>0)throw Object.assign(Error(`email-already-in-use`),{code:`auth/email-already-in-use`});await(0,H.verifyBeforeUpdateEmail)(e,m),t=`moved`}if(S){let t=vn(S);if(t)throw Error(t);let n=yn(S,w);if(n)throw D(n),Error(n);await(0,H.updatePassword)(e,S),C(``),T(``),D(``)}await a(),x(t===`added`?{text:`Saved. We have emailed a link to ${m} — open it and the address is on your sign-in, so you can use it to sign in as well as your phone. You stay signed in here either way.`,type:`success`}:t===`moved`?{text:`Saved. A link is on its way to your new address. Opening it moves your sign-in to it — and because that changes the account itself, you will be signed out here and will need to sign in again with the new address.`,type:`success`}:{text:`Profile successfully updated.`,type:`success`})}catch(e){console.error(e),e?.code===`auth/requires-recent-login`?x({text:`For security, please sign out and sign back in before changing your email or password.`,type:`error`}):e?.code===`auth/email-already-in-use`?x({text:`That email address already belongs to another account here. Use a different one, or sign in with the account that has it.`,type:`error`}):!e?.code&&e?.message?x({text:e.message,type:`error`}):x({text:(await r.Sr(e,`password`,`That could not be saved. Check your connection and try again.`,{email:m})).text,type:`error`})}finally{y(!1)}}},className:`w-full flex flex-col`,children:(0,V.jsxs)(`div`,{className:`glass-panel w-full p-5 sm:p-8 md:p-12 rounded-3xl border border-[var(--panel-border)] shadow-2xl space-y-8 md:min-h-[500px] fbos-tab-fill`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-4 sm:gap-5 pb-6 border-b border-[var(--panel-border)]/50`,children:[(0,V.jsxs)(`div`,{...ne,className:`relative shrink-0 group/avatar rounded-full transition-shadow ${te?`ring-2 ring-accent ring-offset-2 ring-offset-background`:``}`,children:[(0,V.jsxs)(`div`,{className:`w-16 h-16 sm:w-20 sm:h-20 rounded-full glass-panel border-2 border-[var(--panel-border)] shadow-lg bg-accent/10 flex items-center justify-center relative overflow-hidden`,children:[A&&(0,V.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-accent/5 backdrop-blur-sm z-10`,children:(0,V.jsx)(s.ht,{className:`w-6 h-6 text-accent animate-spin`})}),g&&!O?(0,V.jsx)(r.Nn,{src:g,alt:`Avatar`,className:`w-full h-full`,onError:()=>k(!0)}):(0,V.jsx)(s.g,{className:`w-7 h-7 sm:w-8 sm:h-8 text-accent`})]}),!A&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`label`,{title:g?`Change photo`:`Upload photo`,className:`absolute inset-0 rounded-full bg-background/60 backdrop-blur-[2px] opacity-0 group-hover/avatar:opacity-100 focus-within:opacity-100 flex items-center justify-center cursor-pointer transition-opacity z-20`,children:[(0,V.jsx)(s.cn,{className:`w-4 h-4 text-foreground`}),(0,V.jsx)(`input`,{type:`file`,accept:`image/*`,"aria-label":`Upload photo`,onChange:ee,className:`hidden`})]}),g&&(0,V.jsx)(`button`,{type:`button`,onClick:re,title:`Remove photo`,"aria-label":`Remove photo`,className:`hidden group-hover/avatar:flex absolute -top-1 -right-1 w-6 h-6 rounded-full bg-background border border-[var(--panel-border)] text-foreground/50 hover:text-red-500 hover:border-red-500/40 items-center justify-center shadow-sm cursor-pointer z-30`,children:(0,V.jsx)(s.C,{className:`w-3 h-3`})})]})]}),(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsx)(`h3`,{className:`font-bold text-lg sm:text-xl text-foreground mb-1 truncate`,children:l||`User`}),(0,V.jsx)(`p`,{className:`text-[13px] text-foreground/40 mt-1 font-medium break-words`,children:e?.email})]})]}),(0,V.jsxs)(`div`,{className:`space-y-6`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,V.jsx)(`h3`,{className:`text-[16px] font-bold text-foreground`,children:`Account Details`}),(0,V.jsx)(r.m,{saving:M,savedAt:P,error:I})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-5 md:gap-6`,children:[(0,V.jsx)(u.d,{name:`name`,value:l,onChange:e=>f(e.target.value),onBlur:ae,label:`Display Name`,placeholder:`John Doe`}),(0,V.jsxs)(`div`,{className:`flex flex-col`,children:[(0,V.jsx)(u.d,{name:`email`,type:`email`,value:m,onChange:e=>h(e.target.value),label:`Email Address`,placeholder:`name@example.com`,required:!0}),(0,V.jsx)(`p`,{className:`text-[11px] text-foreground/40 mt-1.5 px-2 font-medium`,children:`Press Save Changes for this one — we email a link to the new address first.`})]})]})]}),(0,V.jsxs)(`div`,{className:`pt-6 border-t border-[var(--panel-border)]/50`,children:[(0,V.jsx)(`h3`,{className:`text-[15px] font-bold text-foreground mb-4 flex items-center gap-2`,children:`Change Password`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-5 md:gap-6`,children:[(0,V.jsx)(u.d,{name:`password`,type:`password`,label:`New Password`,autoComplete:`new-password`,value:S,onChange:e=>{C(e.target.value),E&&e.target.value===w&&D(``)},placeholder:`At least 8 characters`}),(0,V.jsx)(u.d,{name:`confirmPassword`,type:`password`,label:`Confirm New Password`,autoComplete:`new-password`,value:w,onChange:e=>{T(e.target.value),E&&D(``)},onBlur:()=>D(w?yn(S,w):``),error:E,placeholder:`Type it a second time`})]}),S&&(0,V.jsx)(bn,{value:S,className:`mt-3`})]}),(0,V.jsx)(`div`,{className:`pt-6 md:pt-8 border-t border-[var(--panel-border)]/50 flex justify-start w-full`,children:(0,V.jsx)(d.t,{type:`submit`,isLoading:v,className:`w-full sm:w-auto sm:px-12 py-3 md:py-2.5 text-[14px] md:text-[15px] font-bold tracking-wide rounded-xl hover:-translate-y-0.5`,children:`Save Changes`})})]})}),(0,V.jsx)(fr,{}),(0,V.jsx)(pr,{})]})]})}function vr(){let[e,t]=(0,B.useState)(!1),[n,i]=(0,B.useState)(null),[a,o]=(0,B.useState)(0),[c,l]=(0,B.useState)(0);return(0,B.useEffect)(()=>{let e;return a>0&&(e=setInterval(()=>o(e=>e-1),1e3)),()=>clearInterval(e)},[a]),(0,V.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mb-16 mt-6 md:mt-0 md:mb-0 md:pt-8 md:pb-32`,children:(0,V.jsxs)(Dt,{width:`max-w-[480px]`,className:`text-center`,children:[(0,V.jsx)(At,{title:`Reset Password`,line:`Enter your email to receive a recovery link.`}),n&&(0,V.jsx)(T.t,{tone:`done`,className:`mb-5 max-w-[360px] mx-auto`,children:n}),(0,V.jsx)(Ot,{children:(0,V.jsxs)(`form`,{className:`flex flex-col gap-5 text-left max-w-[360px] mx-auto`,onSubmit:async e=>{e.preventDefault(),t(!0),i(null);let n=new FormData(e.currentTarget).get(`email`);try{await(0,H.sendPasswordResetEmail)(r.Oa,n)}catch(e){console.error(e)}finally{i(`If an account exists, a reset link has been sent. Check your inbox and spam folder.`);let e=c+1;l(e),o(e===1?60:120),t(!1)}},children:[(0,V.jsx)(u.d,{name:`email`,label:`Work Email`,type:`email`,placeholder:`name@company.com`,required:!0}),(0,V.jsx)(`div`,{className:`pt-1`,children:(0,V.jsx)(d.t,{type:`submit`,className:`w-full py-3 text-[14px] font-semibold ${a>0?`opacity-60 shadow-none cursor-not-allowed pointer-events-none`:``}`,isLoading:e,disabled:a>0,children:a>0?`Resend link in ${(e=>`${Math.floor(e/60)}:${(e%60).toString().padStart(2,`0`)}`)(a)}`:c>0?`Resend reset password link`:`Send Reset Link`})})]})}),(0,V.jsx)(jt,{children:(0,V.jsxs)(G.Link,{to:`/login`,className:`inline-flex items-center gap-2 text-[14px] text-foreground/60 font-medium hover:text-accent transition-colors`,children:[(0,V.jsx)(s.bn,{className:`w-4 h-4`}),`Back to Sign In`]})})]})})}var yr=new Set;function br(){let{pathname:e,search:t}=(0,G.useLocation)();return(0,B.useEffect)(()=>{if(e===`/payment-complete`)return;let n=new URLSearchParams(t).get(`session_id`)||``;!n.startsWith(`cs_`)||yr.has(n)||(yr.add(n),r.ai(n))},[e,t]),null}var xr={public:0,user:1,internal:2,admin:3},Sr=e=>({user:`user_`,internal:`mem_`,admin:`admin_`})[e]||`pub_`,Cr=e=>e.config?.pageType?o.C(e.config):Sr(e.audience||`public`),wr=e=>({id:e.id,title:e.title,path:e.path});function Tr(e){let t=new Map;for(let n of e)for(let i of r.Wi(n.config)){if(!i.pageId)continue;let a=r.oa(i.pageId,e);if(!a||a.id===n.id)continue;let o={row:n,prefix:Cr(n)},s={row:a,prefix:Cr(a)};if(o.prefix===s.prefix)continue;let c=xr[s.row.audience||`public`]>xr[o.row.audience||`public`]?s:o,l=c===o?s:o;if(c.prefix===`user_`||c.prefix===`case_`)continue;let u=D.r(c.row.config||{tabName:c.row.title},c.prefix,c.row.id),d=O.d(u);d&&t.set(`${u}${d}${l.row.id}`,{keeper:wr(c.row),reader:wr(l.row),from:u,to:d})}return[...t.values()].sort((e,t)=>e.from.localeCompare(t.from)||e.reader.id.localeCompare(t.reader.id))}var Er=(e,t)=>e.filter(e=>e.reader.id===t),Dr=e=>{let t=String(e??``).trim();return t?t.startsWith(`/`)?t:`/${t}`:``};function Or(e,t){let n=String(t?.contentKey||t?.pageId||``).trim(),i=n?r.oa(n,e):void 0;if(i)return i;let a=Dr(t?.route);return a?e.find(e=>e.path===a):void 0}function kr(e,t){let{records:n,copies:r,kept:i,error:a}=t,o=`${e.keeper.title}`;return a?`${o} could not be copied for this page: ${a}`:n===null||r===null?``:n===0&&r===0?`Nothing to show yet: ${o} is empty, so ${e.to} is too. Add something on ${e.keeper.path} and it appears here.`:r===0?i?`None of ${o}'s ${n} are in ${e.to} yet. Open ${e.keeper.path} and leave it a moment — the copy is made there.`:`${o} has ${n}, and none of them reach this page: nothing is keeping ${e.to}. The file behind ${e.keeper.path} needs its usePublicCopy(actions.collection) line back — that one line is the whole link.`:r<n?`${r} of ${o}'s ${n} are in ${e.to}. The rest follow while ${e.keeper.path} is open.`:`${r} from ${o} ${r===1?`is`:`are`} in ${e.to}, ready for this page. If none of them are drawn above, it is this page's own file that is not showing what it was given — not the link.`}var Ar=`public_copies`,jr=e=>Array.isArray(e)?e.map(e=>String(e??``)).filter(Boolean).sort():[];function Mr(e){let t=e&&typeof e.copies==`object`&&e.copies?e.copies:null;if(!t)return{};let n={};for(let[e,r]of Object.entries(t))/^[a-z][a-z0-9_]*$/.test(e)&&(n[e]={leaveOut:jr(r?.leaveOut)});return n}function Nr(e,t){let n={};for(let[r,i]of Object.entries(e)){let e=t[r];e&&e.leaveOut.join(`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-CiTBaPhY.cjs`),t=require(`./forms-CmNeTETW.cjs`),n=require(`./PageTitle-BZdZKsWY.cjs`),r=require(`./TimeZoneField-CTOzXNgo.cjs`),i=require(`./DashboardNav-BRshTXkW.cjs`),a=require(`./Trouble-l43nRx5y.cjs`),o=require(`./schedule-BAea6q8_.cjs`),s=require(`./chevron-down-lyDK1rfL.cjs`),c=require(`./TemplateDrive-9AHPZJGs.cjs`),l=require(`./arrow-left-C39sNUA7.cjs`),u=require(`./arrow-right-CGvbxks5.cjs`),d=require(`./mail-check-D_LNQw3l.cjs`),f=require(`./scheduleData-UAGIcBIt.cjs`),p=require(`./calendar-clock-D59cGNoL.cjs`),m=require(`./BookingCalendar-Bcz9WMDg.cjs`),h=require(`./EventCard-_F0rbWsX.cjs`),g=require(`./ContactPopup-CZB0Qc77.cjs`),_=require(`./chevron-left-DHTPst5Z.cjs`),v=require(`./FileViewerPopup-BSclhjol.cjs`),y=require(`./VideoPlayer-Co74Mknr.cjs`),b=require(`./ProviderMark-Xj-B4h59.cjs`),x=require(`./FormNote-Bm1N_kax.cjs`),S=require(`./arrivalRoads-BTWS6OPI.cjs`),C=require(`./x-Ci8c5p6T.cjs`),w=require(`./lock-xMnTQLRt.cjs`),T=require(`./plus-zsWFCu4F.cjs`),E=require(`./send-CWJXtO05.cjs`),D=require(`./shield-check-Bsd5oaif.cjs`),O=require(`./Said-_Rq-SCJ2.cjs`),k=require(`./trash-D-CpYHCs.cjs`),A=require(`./user-round-DUV_u2Tg.cjs`),j=require(`./contentFallback-TOS9Tqe_.cjs`),M=require(`./Popup-DEcrdiBi.cjs`),N=require(`./Button-DmAuz_s2.cjs`),P=require(`./Loader-F9EUDm9h.cjs`),ee=require(`./mediaKind-CQdnes55.cjs`),F=require(`./bookingHold-DhS-tuuC.cjs`),I=require(`./address-D88ICQCR.cjs`),L=require(`./registrationFields-DcdosjpV.cjs`),te=require(`./roles-DwtkKzCK.cjs`),R=require(`./notices-DrHwCNVZ.cjs`),z=require(`./transactions-C67T1CC4.cjs`),B=require(`./tabAudience-B5m1co1L.cjs`),ne=require(`./ConfirmModal-BgIpdb9X.cjs`),re=require(`./recordsKey-B7RHk2yz.cjs`),V=require(`./email-D67MGRax.cjs`),H=require(`./bookingPages-BIR3m28i.cjs`),ie=require(`./pageFiles-BefswDSQ.cjs`),ae=require(`./recordLock-xxCAgjOM.cjs`),oe=require(`./AccessNotice-CehnvtRY.cjs`),U=require(`./Setup-BI-XvYAT.cjs`),W=require(`./ManagePlanButton-Dtxx3ePd.cjs`),G=require(`./people-nuv9nwBg.cjs`),se=require(`./PhoneInputField-CUk0LXqk.cjs`);let K=require(`react`);K=e.a(K,1);let q=require(`react/jsx-runtime`),J=require(`firebase/auth`),Y=require(`firebase/firestore`),ce=require(`firebase/storage`),X=require(`react-router-dom`),le=require(`react-dom`);var ue=Object.assign({"./contactForm.config.ts":t.o,"./supportForm.config.ts":t.i}),de={};for(let e in ue){let t=ue[e];if(!t)continue;let n=null;for(let e in t)if(e.endsWith(`FormConfig`)||e.endsWith(`Config`)){n=t[e];break}if(!n&&t?.default&&(n=t.default),!n)continue;let r=e.replace(`./`,``).replace(`.config.ts`,``).replace(/Form$/,``).toLowerCase(),i={...n,systemName:n.systemName||r};de[r]=i,i.systemName&&(de[i.systemName]=i,de[i.systemName.toLowerCase()]=i)}if(typeof window<`u`){let e=window.__FBOS_FORMS__||{};window.__FBOS_FORMS__={...de,...e}}var fe=Object.assign({}),pe={};for(let e in fe){let t=fe[e];if(!t)continue;let n=null;for(let e in t)if(e.endsWith(`Config`)){n=t[e];break}if(!n&&t?.default&&(n=t.default),!n)continue;let r=e.replace(`./`,``).replace(`.config.ts`,``).replace(/Registration$/,``).toLowerCase();pe[r]=n}if(typeof window<`u`){let e=window.__FBOS_REGISTRATION__||{};window.__FBOS_REGISTRATION__={...pe,...e}}var me=Object.assign({}),he=Object.assign({}),Z={};for(let e in me){let t=me[e];if(!t)continue;let n=null;for(let e in t)if(e.endsWith(`TabConfig`)||e.endsWith(`Config`)){n=t[e];break}if(!n&&t?.default&&(n=t.default),!n)continue;let r=e.replace(`./`,``).replace(`.config.ts`,``).replace(/Tab$/,``).toLowerCase(),i={config:{...n,pageId:n.pageId||r,tabName:n.tabName||n.title||r},isPublic:!1};Z[r]=i,i.config.pageId&&(Z[i.config.pageId]=i,Z[i.config.pageId.toLowerCase()]=i)}for(let e in he){let t=he[e];if(!t)continue;let n=null;for(let e in t)if(e.endsWith(`PageConfig`)||e.endsWith(`Config`)){n=t[e];break}if(!n&&t?.default&&(n=t.default),!n)continue;let r=e.replace(`./`,``).replace(`.config.ts`,``).replace(/Page$/,``).toLowerCase(),i={config:{...n,pageId:n.pageId||r,pageName:n.pageName||n.title||r},isPublic:!0};Z[r]=i,i.config.pageId&&(Z[i.config.pageId]=i,Z[i.config.pageId.toLowerCase()]=i)}if(typeof window<`u`){let e=window.__FBOS_PAGES__||{};window.__FBOS_PAGES__={...Z,...e}}var ge=`[data-picture]`,_e=`[data-fbos-own]`,ve=/url\(\s*['"]?\s*(?:https?:|data:image|\/|[\w./-]+\.(?:png|jpe?g|webp|avif|gif|svg))/i,ye={img:`This page draws a picture with a plain <img>, so it holds no space while it loads, arrives in pieces down the screen, and downloads the full-size photograph however small the box is.`,background:`This page draws a picture as a background, so it holds no space while it loads, says nothing to somebody who cannot see it, and downloads the full-size photograph however small the box is.`},be=`Paste this to your assistant: "Every picture on this page must use <Picture src={…} alt="…" className="…" /> imported from the app, not a plain <img> or a background image."`,Q=e=>`${ye[e]} ${be}`,xe=e=>!!e.closest(`${ge}, ${_e}`);function Se(e){let t=new Set;for(let n of e.querySelectorAll(`img`))if(!xe(n)){t.add(`img`);break}for(let n of e.querySelectorAll(`[style*="background"]`)){let e=n.getAttribute(`style`)||``;if(ve.test(e)){t.add(`background`);break}}return t}function Ce(e,t,n=()=>``){if(typeof MutationObserver>`u`)return()=>{};let r=new Set,i=0,a=()=>{let i=n();for(let n of Se(e)){let e=`${i}#${n}`;r.has(e)||(r.add(e),t(n,Q(n)))}},o=e=>e.some(e=>e.type===`childList`||e.attributeName===`src`||(e.target.getAttribute?.(`style`)||``).includes(`url(`)),s=()=>{i||=requestAnimationFrame(()=>{i=0,a()})};a();let c=new MutationObserver(e=>{o(e)&&s()});return c.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`style`,`src`]}),()=>{c.disconnect(),i&&cancelAnimationFrame(i)}}var we=()=>{document.querySelectorAll(`.fbos-content-slot style, .fbos-home-slot style`).forEach(e=>{e.disabled&&e.media===`not all`||(e.disabled=!0,e.media=`not all`,typeof console<`u`&&console.warn(`FirebaseOS: a <style> tag inside a content file is global CSS and was disabled — style with theme classes (bg-background, text-foreground, glass-panel, btn-primary) instead.`))})},Te=e=>{for(let t=e;t;t=t.parentElement){if(t.classList.contains(`fbos-content-slot`)||t.classList.contains(`fbos-home-slot`))return!1;if(getComputedStyle(t).position===`fixed`)return!0}return!1},Ee=()=>{if(typeof window>`u`)return;let e=window.innerHeight*.6;document.querySelectorAll(`.fbos-content-slot *, .fbos-home-slot *`).forEach(t=>{if(!t.clientHeight||t.clientHeight<e||t.scrollHeight<=t.clientHeight+2)return;let n=getComputedStyle(t);n.overflowY!==`visible`&&(n.webkitLineClamp&&n.webkitLineClamp!==`none`||Te(t)||(t.style.setProperty(`max-height`,`none`,`important`),t.style.setProperty(`height`,`auto`,`important`),t.scrollHeight>t.clientHeight+2&&t.style.setProperty(`overflow-y`,`visible`,`important`),typeof console<`u`&&console.warn(`FirebaseOS: a box in a content file was as tall as the screen and hid the rest of the page, which left the bottom unreachable on a phone — it was allowed to grow. Let the page be as long as it needs: no h-screen, max-h-screen or overflow-hidden around the whole page.`)))})},De=`.fbos-content-slot, .fbos-home-slot`,Oe=()=>!!document.querySelector(De),ke=e=>{let t=e.nodeType===Node.ELEMENT_NODE?e:e.parentElement;return t?!!t.closest?.(De)||!!t.matches?.(De)||!!t.querySelector?.(De):!1},Ae=e=>e.some(e=>ke(e.target)||Array.from(e.addedNodes).some(ke)),je=()=>{(0,K.useEffect)(()=>{if(typeof document>`u`||typeof MutationObserver>`u`)return;let e=()=>{Oe()&&(we(),Ee())},t=null,n=()=>{if(t!==null)return;let n=()=>{t=null,e()};t=typeof requestAnimationFrame==`function`?requestAnimationFrame(n):setTimeout(n,0)},r=()=>{t!==null&&(typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(t),clearTimeout(t),t=null)},i=n;e();let a=new MutationObserver(e=>{Ae(e)&&n()});return a.observe(document.body,{childList:!0,subtree:!0}),window.addEventListener(`resize`,i),window.addEventListener(`orientationchange`,i),()=>{r(),a.disconnect(),window.removeEventListener(`resize`,i),window.removeEventListener(`orientationchange`,i)}},[])},Me=`fbos_hand_drawn_pictures`,Ne=e=>{try{return(sessionStorage.getItem(Me)||``).split(`|`).includes(e)}catch{return!1}},Pe=e=>{try{let t=(sessionStorage.getItem(Me)||``).split(`|`).filter(Boolean);sessionStorage.setItem(Me,[...new Set([...t,e])].join(`|`))}catch{}},Fe=e=>{(0,K.useEffect)(()=>{if(!e||typeof document>`u`)return;let t=()=>typeof location>`u`?``:location.pathname;return Ce(document.body,(e,n)=>{let i=`${t()}#${e}`;Ne(i)||(Pe(i),a.s(r.ti(n)))},t)},[e])};function Ie(){let{isAdmin:e}=r.It();return Fe(!!e),null}var Le={name:`camera`,size:24,node:[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]};Le.node;var Re=s.n(Le),ze={name:`circle-alert`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]],aliases:[`alert-circle`]};ze.node;var Be=s.n(ze),Ve={name:`circle-check`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 9-5.5 5.5L8 12`,key:`xofnsj`}]],aliases:[`check-circle-2`]};Ve.node;var He=s.n(Ve),Ue={name:`circle-question-mark`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`help-circle`,`circle-help`]};Ue.node;var We=s.n(Ue),Ge={name:`circle-x`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]],aliases:[`x-circle`]};Ge.node;var Ke=s.n(Ge),qe={name:`clock`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]};qe.node;var Je=s.n(qe),Ye={name:`database`,size:24,node:[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]};Ye.node;var Xe=s.n(Ye),Ze={name:`file-exclamation-point`,size:24,node:[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`file-warning`]};Ze.node;var Qe=s.n(Ze),$e={name:`grip-vertical`,size:24,node:[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]};$e.node;var et=s.n($e),tt={name:`layout-list`,size:24,node:[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}],[`path`,{d:`M14 4h7`,key:`3xa0d5`}],[`path`,{d:`M14 9h7`,key:`1icrd9`}],[`path`,{d:`M14 15h7`,key:`1mj8o2`}],[`path`,{d:`M14 20h7`,key:`11slyb`}]]};tt.node;var nt=s.n(tt),rt={name:`mail-warning`,size:24,node:[[`path`,{d:`M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5`,key:`e61zoh`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`,key:`1ocrg3`}],[`path`,{d:`M20 14v4`,key:`1hm744`}],[`path`,{d:`M20 22v.01`,key:`12bgn6`}]]};rt.node;var it=s.n(rt),at={name:`menu`,size:24,node:[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]};at.node;var ot=s.n(at),st={name:`minus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]};st.node;var ct=s.n(st),lt={name:`moon`,size:24,node:[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]};lt.node;var ut=s.n(lt),dt={name:`shield-alert`,size:24,node:[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]};dt.node;var ft=s.n(dt),pt={name:`sun`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]};pt.node;var mt=s.n(pt),ht={name:`upload`,size:24,node:[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]};ht.node;var gt=s.n(ht),_t={name:`user`,size:24,node:[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]};_t.node;var vt=s.n(_t),yt={name:`wrench`,size:24,node:[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]};yt.node;var bt=s.n(yt),xt=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAATRlWElmTU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAABqAAAAcgE7AAIAAAAJAAAA3IdpAAQAAAABAAAA5gAAAAAAAABgAAAAAQAAAGAAAAABQ2FudmEgZG9jPURBRzBuT2dSOVZFIHVzZXI9VUFHTW5pX05rRHcgYnJhbmQ9QkFHTW50Vy1oYkEgdGVtcGxhdGU9VGVhbCBNb2Rlcm4gR2FtaW5nIFlvdVR1YmUgQ2hhbm5lbCBMb2dvAEFudG9uaW5hAAAABpAAAAcAAAAEMDIxMJEBAAcAAAAEAQIDAKAAAAcAAAAEMDEwMKABAAMAAAABAAEAAKACAAQAAAABAAAAgKADAAQAAAABAAAAgAAAAAB8OpdMAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAGZmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+ODAwPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6RXhpZlZlcnNpb24+MDIxMDwvZXhpZjpFeGlmVmVyc2lvbj4KICAgICAgICAgPGV4aWY6Rmxhc2hQaXhWZXJzaW9uPjAxMDA8L2V4aWY6Rmxhc2hQaXhWZXJzaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+ODAwPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q29tcG9uZW50c0NvbmZpZ3VyYXRpb24+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpPjE8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaT4yPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGk+MzwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpPjA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L2V4aWY6Q29tcG9uZW50c0NvbmZpZ3VyYXRpb24+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+Q2FudmEgZG9jPURBRzBuT2dSOVZFIHVzZXI9VUFHTW5pX05rRHcgYnJhbmQ9QkFHTW50Vy1oYkEgdGVtcGxhdGU9VGVhbCBNb2Rlcm4gR2FtaW5nIFlvdVR1YmUgQ2hhbm5lbCBMb2dvPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjk2PC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj45NjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPGRjOnRpdGxlPgogICAgICAgICAgICA8cmRmOkFsdD4KICAgICAgICAgICAgICAgPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij5Mb2dvcyBmb3IgWWFpVyAtIDE8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6QWx0PgogICAgICAgICA8L2RjOnRpdGxlPgogICAgICAgICA8ZGM6Y3JlYXRvcj4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGk+QW50b25pbmE8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L2RjOmNyZWF0b3I+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgrOj7XjAAA76UlEQVR4Ae19B2CV1fn+e0d2CBlAGGFv2UNRRASROgqiImqL0ta21tX+Wru0rYLW1lpr1Wq11lZbtdZdrVAHDlTUCgjKlhkgJIEEQhKy7/g/z3u+c+93b24CWPQvgRPOd+Z31vO+73nP+C4eabsmGV3Lhu0A2wU2z/GPgzsQtiMs432wFbClsB87thhuOewe2BLYvbCNsG3OeNpIj9LRjz6wQ2GHwQ6B7Q9LkEkESbCfxoTwkiWOjfCvgl0BuxZ2K+wRTxRHKgF4MfgDYMfDngZ7AmxPWHL952HqUclm2A9hF8G+D/sJbBj2iDJHEgGwraNgp8GeDTscNg32i2Dq0AhKhldgX3T8cI6ZwzECBSjkath3YSlyyWVfZNuA9r0FexVsN9hj5lOOwIl476+wZbBfZMBba9tutP0hWE5Vx8xBjsAZyEcxeiRwe2vgu9MC6M/LsGfCHjMtjMAUxL8K6x64tugnIVBxbZOGitrBWHfnRyPwDGwQti0CnqhP7OuTsCNhj0hzMCC3loedzoG9FXY/bKJBOhriqtH3X8Jyr+ILbVoD81DSbCenw8PNlKMB5IPp42qMBZe2n7sheC2Z1tJc78w7yHxzMRDZoPTqW4D7FSiAmzkwHJ9jBiPAXcc/w/4MlruPn4tJBF6iOFdjDhZw+wqBp0kaj2n+XngOMO8d9QTB8wjuIbwH+5kbN9huv6vi1gCf68rXmjcZGzlBzvcZiXO1BnpraYlLawOx1It+BPvAZ90Xgn4IwCcGfJY83ayMITIrfL+MSCuTNXeGJfztRB1pGdpEKYniEpXapuL+iN6QEHj28JmYOAJIxO3NQY8HvEzWOgRwqjayo0wKL5Benepk598xx09t3vLEYB5cbOJczetoMzHcN7gMtuSz6JFDAPHAz42pKzHgp8bkmSSTIuE7pFu/Gil7AuCPiETGeSAVmsXERTTL0VxhjC8jvoQ2E16JnlwIyxPHw2pAAPMcbZzlRoFvDnpHh8sFUE+KaUSxfKhpXWVM+LfScXi9VGJjJ9w7JtNBBGKJIgpu1GcLcce4/Ta9Tbpb0atZsDyCPmzGHy1prnrdwJeJBT0Wcgs4X6iQNICfhl2d48K3Sf4JDVL1FNQKnIJF6CVaRQKednO1x/WOG1aP8140zpbNGLffVVXb8/ZGl3hGch7sB4erexi9sEqAeShxjaPMWeDdsFvQDeDcvku2Iy/jpF/4Duk1plZ2PYfyOh9c42L5PUoIUZhtOdGc0bREPpM/mmLfb2Mur66dA7v0cPRLCcByfTzwLYHeT/pp3dVS6GknvcKPysBB1Z4d8wEiz+4PzoSbA9Uc6Ng88enxqdGKY1Oi8W3Gtx09OQuWu6n/k/HMkqd8rQFvOZ2gE3BTWy+pKSjyZPgLwq+XTOlW2vjBgrCEBpq0iGBI0LDmwERA1aRoeiRexX80noXGpkVlh9sX60/QlCM/aj26wBVW0f/SFb8B3wh7N8fHA89Ti5oCv6dACqQmVOLJkYLwovKftSttXPoY4AH4OpNE2uKezxlpQHMThwHV5INfkzjbw2+D+h7fZiLz0zJktQKGwpHUaD6Ty+ZnqA2aQejTY7A8VyE8n8p45klYFUGCz/mdwLtFvBt01lAX9AKNfPyJ3FuW93BQGqmZKgh03T4Tdj8NgIyJ+OCJ5Wib4sS6pgoTw3SbJ/7d2JRozdH80bg24/s7evIN2E/VSd8Ame7bLvu85VLsbZROCj5FfUXBfm9+Vg+PL1TjqQrUegPhzp79wXpvWsjrzeiULn/d0eVHgXD91eRGL/7omj+338ZZ151GABDvoaXX5DEEpBFIZTSe9NBvPU7IxrnjnayaW7O1/QfPVigB3v80XYUOsCbZcj2Bd3M8ub0+5PV0xPX6+txyT0ZwnyfN1y/8963DT9sX2MblnnMN2w57YihMwwyBup9RorWxdC3nW5+JYxma4kiElqWBLcvUGl+HjW1jLi+i8jj5jUPtlz8Cfq9CT07A70kO+TzlwV0A3q/AJwF4X3Cvp2NTlSfN2y/8fMkVnSsDO+/GBzXOOtCAH4XeEkPiptjZ24EZmayPc7kBWzUBW0xYQ5qPUQjiwby2JIT1PSMhLPyajUkqNRgbKVBj29gjBf15EHYCbMmh9M2fL35PKTT6ggA0eyh3dcEunnYh8USB93kaQh5PAz68qQqId1PNi7ehgp4U+zqoKrpZpR1g60ZjDCjMQ2NCFlYDJomA8dblu2gE/sIe520lBMbBoE7mNEm2JPN+lDBaUg5ZQJs0fdCru2AvhnUG7cD99FuRX960y0uub6ccD7HfROArPVWhHE9NcL83z5MdfnbXiIuD4cbzPB6fgkOYDNzOk/O1Guu6Q9E2hR0xrtBpVgOemxgsfCQEUyTyYM/KEgpfa0katE4E+qYps+09eV7wAuzjB9s1z+Vdi9M517cL5XsyAT79vkCVtwHAN4LzU8MeT5a0k1f2fb/bJ/VPvgoA8jnABmsOpobUNZUybI31GfDdzyi3G/BJExbccJigM2T+zGUZG9KMSInmIeHQMAefxrrDNsbk4tMdY8Jt5rkTPTke9qCmAm9Fk9+bFPR5fe03eT1NcANeb3XA7/UGvd7skMcbTK31NaWKb3Pj/J+j0HyvB5o8rfgxCRhr/L7YsAdpkBTG+mPye/FBrgeW79Pl+yxTy0asShhKGcYxrB/w0jUhEh/TuPdgiNHsQRjSM0SJRE3j0/jV0Vjjs8Rp49uMy6+ReNH0oIy/Xa4H2j253u+tClWD67M92SGfl9wfSPN4U0L58mzpWROD4dqZBNMMq5n/dcCBhv2zgw10mlWuUQ6nGt40HO1xxDrLYIwHEzu520wTiPNg3o/hcNbi5nK2BXlAEJQcphxbPScSk5t1slVGVtj0Nut+DT37B+ybB+qh34BvRL4Xc316sNZbk9EOrF/nTQ13lErv2uSKwIbrwKU+AzQ5lENpuI9g888QBlx6nRgngLARzmb4jd/AbYA0MQZ0I9pZB8JKCIYItEwAbN9Q3UDrQql6nnVwRMDWmXaxJBZAt80Zbu7dAjsZtrG13vmtyE8NQwAH23vr0mq9mYF6ryfF6wW24Ze2X3NBKBwYrWIbXKZgOy5FsiEAxtPwaQlCI2IeRqO3EBJ26yewLMO45GTDrygPhKCGUoDFq+ZnCCGqIFoioASJlwRugNk2U6tTGArUQk0dbeuJS7hyEeyjrXXLX405PzXcHuB7vF6I/MxQJsCv86bjBzW2Vb/Zrjqw4yqKfgM2QXKsmwgQq4TBp0oHVsmBdRsHcMXDBX6E0xGnYBsxzifB5h+JgWlhgs88DqZ0YomA9ZEIkB8EY9/VOC3HvNhmIXcPt/H/FM6zsLXNk0yMH1u93iAUvnAabMCjnO8FUfBrxsUVv8Hlg3BfDxS6WOAtIRBw4ycUBnwOL4eexjwJgBl6PDnHA5yIFq/cbsA3Ih9AA2QvvhSjVAiH+RWVKTMCPoOmQHViicDoBPqK6g7RNhiCYLucl00mp3wbx/Q2Y4agJ7NhuUmU0Pip7XsBPiUAxX4o2ODzhXM8xeHlafuDRd+w3G/W/kYr1/mfwDvgG+IwIBnonUG30kCBYP0E3iEC9RmwVeQrIThh19xPWKw00B5Y8K2rpZJEnKlCw6YVKjBQQBRa+kzbolOBltqWH99D5zgN1CfqpD8WfK/PE0r3pqakej7YecuZIQkO8Ea43yzLCHaEKHQJhwGNmw5AGc4wO1UiiwKvYBAEinPHpR8cH1IRT65nGuMIKbkf5AYkNcxXaCz41kUUk5QIVMI4KwONt1OBedn1ClJpbIx1TWwbevJ3k3hk/HSiPkECGM5PDnp92PL1Jvmx9Q+sq4KFXzFAc71O8I2163LlegXeEgZAR9gMqCUADiqNwo8kRwIowA7QDuAEL4z3CXqYluwLcGIIATGhhERg4DdQsx2oR99HPKVQC1PBUSQFrsTQUReIikkEaPwU+14Ab8H3J2d53i798ZhAuAmav9moUUIAAdgNHEMMJAULvksPQCwH3UAfRwAAQjkcAKkUcLjecD8JggSEed8hBOV8loTyiGEIXuVtvk7D4plAwoMTjTb9NARh4jWrvmRzacB52FTrutPahJ+HRPwMf1l8b/wEH0qgj5yPowCfPyieksYPzwO4WPcDZC93+wA0d/0iUsBIAzP3c7fPAGd0Ag4iCYBu1KgMUM40REACCKkkQIXkfnC96v/gXKqAVCgZJscr6CjOCz+h5ZWUqCQgt7MeK+qduklkusmEN9Rv28J22bxsqbbMJrZVNwkd+xpscwIIBht9aUmp3kZfo88fzvJsrl+Y1xisnBQF29nupQRQ60gF17RgCMFIAQM8nhS9SgSKDkCii8EmEQBGWgs8NX3QId7BFBDG+gNWs7MMB2wF3wRZDPLi4ZSpfpKJVsXynbo1jyEIzghROtCMaI/b8B3GW9ed1ib8M9CLX8BWunvj94RSvcEQjv48qd7k5GTPhl1Pn4SB6MSlnxe/r0juV0XQ7u07kkCnB0oE5ND9fAJIP0CjawwHk8YAry5Aiyp65HqIfC2D4OM9h3BIHpwC1MCxkoAokny8KIcuyyQX05C4zNYyYTRpJoVtYr3WGJBtrAnZtDbrdkfPpsDi6n7U+FOTPF6Ifq/f1+QLQRrva9ryJQO+Ef0E31pOAz6uCpQ4CL6RChECsESAFMNJdGksGCQEwGaXfBD7HnB/2ENC4M4DuRiwKBF5mKpiX4tAUSQCAmnOC4zfbPgwwYJPgtBc6pKejPSBh/+Q1U0KGhkhDWRQv3W15rb0mInOxBJAIwgAKwFfsjfDs6365U5N4ZoxyvWW0y0BUBpE/FEisFOFEgE52QHPDCwHksYhAMv9JAJHASTMCj64H8dPCprO786ryuUU9UCOf+R8W57RFYioSVOuBxGaMKUQiYH5KWWoPdBP425XNMammpg2+ZyMXuXC7rW984eCOAOGBJBQsndL3cIRGMrciHiPAG7B55QQlQgKPsOqDxBAWIQ44ORCtyFE3MmLiH9IgRA4X0En1+OdkE7UzltEA0XwPeVngOwFEeAt0EK0Lp4UMlbrA/HZ5aOVAgZsA62JY/kMJ4pjWps2XdA7TPGywPbS78GaKwwJQAla0bT5JDPnRxW+GMAd8H2eJABH4EkMZkWgREBCIGpKCAkIQEU/4ALwFPsE0sz7JJom0yYHeIXeAT3iB2gGbIcoCDyISonORQjcOzCinq0BUWiA7eH7AbzFDSZDACQQQ7Sm+i/Cs3P7ITJ58E9AzGSYsCxc/UvZW7P1cDXtdBQUJYBkYBgKJnuqZWdqU6h6hBHlVsQTYMfqFJAkEBcAPioJrD5gpACJgWCagVfuIxcTHKczXMh5VdnzGQkAQECEeM9YJPMF7bguBPEel3MEicoiCU6JQKUA6kM6UziRKJCkZJTHvHySVPhHEww3IRd1DbdhHkeCwGeMdd35Pj//kG7nyPj+cySArlfW7pb5H/3kcFY+EYXxuFgHwh/A+itV0mVT3bMFWA30UDHO5Z5V8NRviIAKYAR8r0MEESnA5SEBAhzYsYkAytqSEY+7JMEQKFoJIST1dfVQKAExrOJD4GF0mUjOBxhJqX4JhRoBnB/xydLYVCeNGBVto0MUShiUAiQqAGkBp2sKNvBz6mgOPmukIRHgp8b9qeoyTNMUSLh9rmmH+vB7eXE3agIh3uRObPp0migNAdOTrWXvSE1DeeKMny6WXxT1gN3C1zmyOuXvrv94IMIpMZo9iQBZuPNHzlNpQMAV/KgUsGkEIxT0SEa7VAmiA40NEPXQ6AoGdJCf3X+2+P044wPd+UF/zz60TJ64/20FWcdb8QMQILLGQKNc8aNLZMLkkVJfb84Dqitr5BfXzZXikiLMMJQ0BJ2EBk5XaUDiItjke8ZT9NBPQ2Iw5Wgw4SMsl513u4waMEUaGgPih6R74tVfydsrHkuY+1AiB3c9W6aN+J00NTWiJcmyfc8SeW7FN9C25pKmXWq+dM0eAWYJSJIvSTbtXtSsqhR/FgiE34I0f79Z5uYR6YjixyRKAF6MozJ7dVPJYA6mzumIMqByTneABzBmN5BSAMtBWgySSgXoBJQMoYBPsrIz5VePnic/uftMSUlKQSeSpXBthaz5oER6DcqT3rDd++XJnO+fKn0GdsWeD+tyJAvcQGNYRo3FLwzN+ZJ079VV+vTrLoOO6y5L//uhFBeV4l4S9A/UpsDThSXA5s/xE3zHMN5KAhvXklu2d7v07jZIenQZKj27DJLjjzunpayHFD+w85kAdbDktx8qXdsPBkfvTgg+Cy3IHSuZIAJwjjQ01Uph2eKYunLSe8u3x78tpw/8VUz8IQZOsPmBZYDKtbc+WNU/dmAN+Mr9gDu6FWwIADsHGHpYgE+lMAQg2+dkyryHpsvICd3ltPMHyndvnYx++AFaijz622WyY6PZhGpsCEtux1T5+rWTTbksB3VQIKUkI/6750pKih8cQ3EvsnLFVvnnI89JcnIK8hvQFXAF2kCvICPMvyjg1o8YSLADmY83vCH76xohxQKQAmHp222MpKW0S/iaH4TdKbuf2vzs/pKekpMwHxmpR97xOnWFwNWNwaBsLn89YV5G9u00CYwFpsD47tm/RXZX8SNgY9KScmT22BelABLitP7Xw95skw7VHW5fAMukS3n9qnbBcENBhKvQaOMn95Pb4HLg1WUaw3Q5Pfgl2OSR7NwMuenhaTJ6Ynctu6aqUZYsLFIJkZSUJBW7G+Rvty5RyidIDZheT50+WMZPHSxNmA4pBZrqQ3L69HEydvxATB8Q5AA0EAjKX+59TGqqa3VQ7ArDcD6JAX/aRvWhboLuPJVANKjt9Xli52GTwrx8xys7StdKSdkm1AMFFWB1zO4hPToPs9li3LEDLpBffX2l3Dj7Q5k3e6VcOOHOmHQbyM7oIR2zBmK1wz0Or1TXl0px5XKbHOOSWHp3PFl1JdzPlm173pemYFQPaQzWyNrS59A2KrQCKXCDnDbgppgyDjIwAPnSmBeqSVq4vH5tByyPcs2g8ulwGQdWud+Ar37E2emBEiCE1RvBn/vwl2XkKQVa//7KRrn18kXy3oIdkpScjNL8kpaWIotf3CpvPb9VklE1Vwa4dShfgxTIys5Q3aBDp2yZfcUZ2kHObsnQSF55cbH8d/EKSUlNVaAigDshA3WU09kAA6h5MuyQg5FWwnLMVGFyUrrRgighctdtfQ86itEdkpP8MrjXKaaIuOfo/jMkOSkNimMaODZZBnc/HaK7Q1wuivQxkp6c7fTXL6WVH2MKKGuWjxG5mb0lP2uwEguGRzbtWhSTLwiF+I0NN8qr6+eCsczO6OkDbvw0RNAZBfMDbyjnmFL3NW3rBEggXzkMzjyqQ0LgHWJAvPmzA+ZT0NoD/Hl/mwaxHwX/N5e/JUtf3Slp6Sl4x0gKPVUEl3Mq2FOCFQAGOQDiGTC8o5z7tXFSW90k5399ovSEfhCAAkkQSnfuk0f+9JzqGmyXtQZQKJRBzJMNDdLYCLENZZMKZxMKrQ/UgXN4GZb9IXEYo2QCLjPKF0mMPqMc2nwrMQ1w5UlDThvS+1QTcD2z0jvJgIIJEoA4JyFTYcvJ7Cr9ujYnlj4dJ6gkY128Zbt1z1uukmK9PfNOlDQQC7JKbWMFlMX/xmZwQos23SyvfjIP5bmJ4JCmgwwUpYD5MWaemkAZCMAMlj5bIQQVwSCKIMDLyUuXmwD+iJO7adPI+Qr+wmIFP7b1HkgDjxRtqpQn714hV9xyEhQ+LLVgz5lzvBRv2ytnX3QCwCQw+PQUU/Zjf35RSnaUiR/LQa7zqdWrdg8vgS/o0V3Gjz9ZBg0aKtnt85QAKqv2yeat6+S9pa/Jx2vfB0DQIzhSMASLSuS4oedCn4AyjHBVzV75aN3rmsY86wvfR1yFpCZlYR0ekl5dRkpWRifE7WaymgHdT5Gcdl0wTWEQ1Jgl2/Ce0+WjLf9y4sBdILaeHcaBkKjLeJQot5bHKnWRzPD07TRZaZvMsmvvWqmo2eZOjvEv2niTkvbUgfPMdDDgBqSHISHmxuRrJdALaYv9OGbFxyCVndBChGMtG61c50pjOAjlLDcvS276+zkyYnwc5yv4RlM35fFJTiNbeSU1LVlefny9nHhmLxl2UhdpqA1LVk66XHsbTiuxnOPyMQWif8k7G+SV59+VFEwdoTCXT+aPnI7TC7nsm9+WWRdeJDnZ7VWScHmJwyyOgUyecIZ8deY18uqbz8mdD/5UqvbvVW4hAaRg/vnBZfdJfm5n4i/rN6+Wq24eq2KX7Svft0MKS1aB8yeiLU2SndlZ+nQdJR9tfAWFGzOq33SUx7HiNAYFGJUHUPmArpOVg+sa92nG7IzumP8HACDO/z6prCuUXVWrnFJinSRfmkMsAZV4W6H9h/RCbGw+d+hNEAFHd+rAuQ4R3KjJB0kEyrVejmdTqCaPBfEv4ir4DNM4w4+4AMDPzsuQm/8+Iwr+vga59dtvytKFFPt2mYZ3WIa1GFwtB9KjqSEkf/vNB1K3HwMD7qTopj5g9AL8FM3+Rnn47hcgHXhWYNrEdw0H++T6n18vV3/3csnMwHoYCmSklY6nHuUTzOlnXCjXXX0v5jmIfQoWp6imAKaNJuxTgIGbKIYcw15y0FdvWgQQlJb0c5jjek2yWSQ9NVsG9zgV4p9c7ZPd+zZiCmhC+UHJa9dD+nQeH8mr8z9WB2w3l8xFFcuc9XskS8STj+VhbmYfSIsgysNKIcH6P5LZ5Xlz4zxZ+MlNqhOoYqg6wUFNB4YAWFYg3NDeDqIdzUjYRnBwUENep0y55ZGZAL+7NqNyT7386tuvy9LXiiQl3e9qWrQEC5GJ4VTgk3VLS+XFh1dB0TOvKEDwUvH79+OLZQ2WfsnYpyYoEeMQ086inVJVWQ/F0CNVEPmPPv6wXHfDNXL9vKvlX/OfgG5gRHNtXVAmjf+yjB91hjSFW955i5TveFaBAJqw+iDtAWcZ1JPzOAkY/xtlt/HSAasDrhJInAuW/Fr21RRrOi7XyfAevH9pTJ9OExxJgRFAWZvLFtmkZm7vDhMkBQol66mqKwWxJF4pNHsRESSC10AEAiI0RHCDTBlwM+p249HsTTA92QQmFG7KpNuaIRUTpB/d8WUZcVIPzcq4P/3iXXnvP4Vx4LdWkklLSvHJsw8sl40r94gvyYBMxW/T2l3y9ENvgkhs48m6xnDAyXkPPvCg/Ojaa+X119+Q7197ufzm3hvlpbeekwWLnpIbf3+l3PNndN7gpe7448/SSciWcyB3a/FHUravCAMIRRdAF3QaIh3aG4If1X8auNkox9V15bJy6wLZuWe1cngQSuHAblOwAZapQPbsyPnf6AcNTTVY1rX8C/B98yfp+HL+L973seyvj+ocB2ov098AEazd9aKRBCDaLw26QQbnn9vaq1lM9IakDpuBgbTIMMNDP2dtE+ekACPGPHnf+7Jn134tmIDM+NYw6TEgG2t4TMKaw7xtStFskXhToimPIr+irEbe+vd68fPGGgzdt19eKXt2V0FsU3OILYUjRE5KSU2RJUv/Kz//+XUgiICcPelcmTH1Yjnj5PNkWJ+xsujd+bJrdwlA4Xoe/3lf5z7Yp8Sv2Thd0cpaeFDHqamrkI3bl0D840QCdbZLz4EeMBblJcmQXlOUCP0+v2wp+QAbR3tk7faF2q4gOLBDVh/p0WGMtEvtJJ2w/uf0QFDLazZLefWGhLWmJ+dKt5zRJi86uGX3WwnztRY5otul0q/DaSqx/FCgl+14AhtOC1t7RQnAb4QlT1Is5M6w0+ExqiueS7cP39ki11/ytNz66CzJ65wpg8Z0knmPniE3zVkou3fUQYFLhrqHOV3XUoazbRmWAKgQ6gkcauVGj9swbKSt0w7kNMhF3SYs+yZPOl1mX3KJ9O07EOtxzCNIDoAG62oaZHvRVsnIaAfJxn1ur+4ucnOHc6sW566wBf/KTa/LKSNmaSoXEf0KxsnuikIoj32gHEJRw+HUR5tf1PS121+Vmvp9uGKdgTMEnwzsOgW1JkkG5v9GLHN43YJLupYOgLrmjJT26d2gCwUx9TSAAN5uoVWJo0d2myPnj3gQEisZ9ePHhHf8U/618hst1ueUoiKWkhI0DqNPhwjUz8MVGwYbYeS4pEpO88nK/26Xn1/6nJSXGknQd2iezHtkquR3T8fSqBF5zdmb+2lWASyTa2dbNgBRImMDHMNwJN3mY92mLVz+TZ9xjtz621tl+Ijh2C9IVu4j0ZDyMzNTZGC/QZKelqnv2GK1/dHAAX3rti4GqLXIhztL6H73TkNlZL+zcbZBvQQ7epASa7e/puWUV22Rwl3LUD+WqxD5vTuNl975J0fmf45va0pd306n6uETlcqK2m3YLFp9wPbZDG7wqbga8C87EPh8XbnTT+WbgJnhZVOtj37GO2kEBeAQvJQ0v6z8YLv84tLn5ZZHz5UOkAR9QARzH52qkmDX9loocyQw1sFy+MQo4l29Cq5lcmXPOE2OPhA2xMKXmMj2GAIMQtwXdC+QK67+DkD3Yc8giEH2ygdL3pMPli6WOgDWOb9ARg8/WXp064d3MSKHZGxjPFJcvlF2lq2X3p1H4UwiIH26jJH8nIFYywexR2HEf3lloZZO4lxZOF+OKzhdGrFbV5A3SnLSe+n0RCW2FsvCHXs/SNgSKn19Ok7EVBVSPWL7nqVYKRjGSviCKzIe/OVF5HyCH90+dmVP6PVDx0HzQbYcaAXZgu64GgeuxVaM2rC5yJGM9fwqJYIXQAQzDBEMyVVJMG/Oq1K6Db8/pkTAei1RoUwSgW7rsGKWSXCjhmFjjRxhfksEFKdjjh8lediDqK2BNMJq4oUX/iW/vPU6aQjWavtw3CKdc7vKX+5eKDntucEZLbt1n8lonuB67CRSCvTrOloa0YaMtFwsAbFL2RSUJIj5jzYZ8W/LXLvjFWzxVmNqSFElMMWHjSRMZ9wn2F3V8qZO+7Ru0hmnhNwr8GNLefOuN22Rrbpu8A9B7LvL1K7i5rWfbAgTHWglBAJBsGAJiLoATD/doosGJ+OX4ld/sAOS4AUpLzFU25tE8OiXJL9nOs7yGzQfO8f8XGPzUkYI17/0WwDExROAwu6qxxCeaQvbk5MXe+q2+N1FOGGrl1Rs8KQkpaKDYenXZ4jkZnNn0E1cBtqWKMKmukdoFfQAinRKMh0LzNHk2P31VbK68FV3Vtm1b4PsKF+uiqLKLPSBxof8W8ve1b7HvOAEeuSdIBkgLFQg9Y34pcbyllcK9v2R3b6WYM4/KLFvi6BrCCDFl8SW4uzNkQAO4IYIDNcTuIgEIPcyTJAAIM5DZPUSEsHzUSI4LldufuxM6TEwSzdaDPgkAF7JgnXeJTHEE4CRFaZ8JTy8YSQF9YWQ7Clz3Y5BF6ZMOVM3hOoba6Bw1cuIQSfID668BWKae/5RQ787HE1p2bexaKns21+moNtcvCiytWQZNoA22yh1OV6rti0AAcTsXKCvIcz/b8XkdQd4/MtdRa4UyrBKKN8fW647L4lvdMFlEfBj5/yDF/tOmXV0vcqQOA6IzvfkeHIqrRn8COcqcOZenYKpXN2EWz1hWbVku/zskuekrNhIgl6Dc+W87wxVrZZ58ZvCEHNwnXcMIRhJoNqI0yojbYy0sMAbAsQcCS1v2dKlsmdPFQD2qg5w+mlnyV/++IzMve4uueNXj8o9tz0jfXv1hQh3w239B0sGzOeRfdUlsrV4OZQ7aJeqz2DAoFZ8tHk+iNKW6TQczprtL0sdCNHmJWDVWM8XVXwYzeTy8RSxV4fxujrhkpXczxO/lkxWSjc5c/AdmCp4N1NkuWr7hzbnu8quoh+fBGAH3uOrsqJdOdtyHQEHdHqTlsCRWhAXjvjJzQQVRICdhNVLt8nPLn1G9wmWv7NNHrzlLcG3xigB+aBsGKLByZ1DCFwjY72oV8S4CcSrYvzoQyWGEqDVE0w7OPjbdxTKA3+6H0DgziB0gCDuCPbDUvDcabNk8ilTMO9nyOIPFknFvjIsD3FvCdhRaXPzP8P8xSNNA+cZ0xxQxq/ZskhwKqxl8BJIXWO9rNz8svNOrFNasU6K92B3EysT7hkkY2OjZN9qrBhKYzM6ofz2x2H9PxKA+hTQ1lYKfKWyfoc8v+qb0hSqk4+KnjpkhS+uERUM8ypOyBtOLSfnRSxBBvUSCG726NVtZMR5lhK3XbnhcE45gRc4+W4Slohrlm2T75/3mFTtrZeKPTXY5eM+vBHsKmUgEo1eQZEekH17q2XzJ7ukHodC3Aiq2FuJuil5KH8APNvCtqkLBQw7hM88+08AvEe+Nueb0rNHfx08KOfYFq6W5xc8Lg/94w654do/SvX+Xlr3ztItKMMY1r2jZAOUyP1IEyku26ytd5KbOR9vWiibd16iB028FVVY8rGU7P2kWT5GcLyWbnpcD4R4RM29gtVFLyTMy8gAdJeXV83V99jPzbtanipsIbwQ8uf3JmG6WHtI2r593+Xuot/z0+PCQ17ccfEle5s2XWfv5vGKl734qX6G0fmIH3vM3OjgVinf4UmXOffn2T9PC3m4gy0Yyik1DgEoIVCCGHA51XBex8dpRkpgAHk4EwhCeVSpwakjKmWMZDDhuvoaSc9Mk379+kvHDvk4FKqTzYXrZcuOdbo0TII4UUJCSRzcAE72SEgkQh7MsEWUCowL6NmBibHtdbvkZu5Akvq5Ncz2t2Yo2o3EYX5utVnya+2tzz3tGtT4Rz+kcSjFl10cxpqau9aG8wGcc/auX+sgngNg/GwoOqQbNmYgISt0sPmdn97Q1W1cdJ4iQrPbwTYDrgol8hIY5XKAo+DaqUWnGjPlqD6CfFYCqAsAklOSpL6hVlZ89AFyE1zuCeA/qMV5P8mrETtqBnD2y4JrXF4WMWmJgLFx1uWBkNkvNZ058LO1efzAb39uObaxJuo3wcykLiXhOh5bYDbAQIJ/MeAQ/QBekcdYKJR8OOJcBxVEwC1fHHYi3bmxA6lg9GBkjo4hX1TO4cCTg9RFXWZZaF0DepQYSCRcKdA6xML3HUt9wY8J2vyQBNvN/JAqaKPhWNZq2+FwLeU+jNXVTah1jtYX2tYDg2T+qxl/ALcvOyYNLvkESi8GDx8OYsA4epZ7NYzsGKko6AwgxLmagHMqwAYRFxUeAMZpwCEZuDROflMCngTRcDUBM4pnPPgIUzxRKjiSwnC/Qwj6niEq1S1YpoLLVrJ8Qmus9RtXG+Sk0c889qneo+GxF50sYkf9AUj9zhmn7PXs8ZWAG3ONqOVUAIuxUSnAnKAJM1aIBOfxz3A/xT4UPRABMxF8frBhXqBLEwUiwv0qBcixBMvhcAWbhMB4B3gHfEsolnCsFLCuEqSLCFin+bP1sxkGbKcjTIgzB0qPy37kBrej6SQCaHa4i52b3KURisumYKh+iApDy/3Aj1O9BVCBJ2AYSH5RQtADuH3Dr4FSUlJ084U6QBO2S0NYnnGetopgDHdGpgCCbyWBAd6IcYJvCMAuQc3Sk4RBUY85HsuxJuwtcFuWAsdyfRM+ueJ2cDI0cG082o8LL+gD9vBxJGwhNr1iyMYcVdPAGnRcO+w7Meen7b2h1PD62me61of2nsplnzHGjQQxUIaB4CpVACqsvcZPHi4nnDJYdpXswVWuWmjxTTLy+H4yYeow2bdvP5Z5uB8HYuFcr2CSu+HXcITjY8MGdOYj4HiP+Ugojg1AiRszapyMG3OiLgeravbprEVlbdjg42X0sAmys2SLtoWEceKoqTKg92gpKtkMxZTTnyE8gk9dgJJicN8TsYt4qpSWFWJV0PJmjDM46qQmZ8qJQ2fq+1U1za96p6W0l3GDL5S+Xcbh1lCJDO99tr5XXdc8r7vcz8H/F9SxhPXgQ13cyIMa3z6pYBXEM/6iA83B1507AqZgmU0f3cgB/zXgY82cDhny2we/J9/7xUVSU1stefkZctdjP5QrfzJLahEGryoH4j+aQFncBHJc7HhpGOXELvVYhyEI1uMGn23jMiw9HVfRb/i93P27u+XCmZdJA06/OLU0hutlxtlz5Jc/fRD3AbJUWgQRN3n8eXLHDU/gYkhvgIUzDH+KDB94inTK66ngkeivmX2nXHnx7zAkViJweFo37TM7yQ9nPy7jhpzfLCM3ja6a8Q/57nmPyFkn/BjXxrvJd778hIzpP7NZ3s85gh1cbuvEFjRu+oEAeqRMgR4ou1Uhw0AbLqV4NuBjJW3iHEIIgdvQR3n2n6/Iv59cJBddNlWOnzBY5lw5Tbp0z5ZfXf+AbCvcgQMOnNJhw4ebHrV11YYYIKZrG2r0qxfuInLdz3U9OS8AwuDyrl7DUAIdrldJAH8D7vwfP/Yk6dK5q6zfUCxTTp0m2bixQ+IgZwewj9CA6cFOOezo4qULdNdv2KATEQrLyOMmykO3vS3XXGoAz8nqLL27D5VlaxZKXUP0KDYqDVlKc8M6GptAsCDKeMPbxLw/8Pzi2+WmR06Q6toy5APRx+XlXsrnbIpRH6cANd5wQ1qoybsnPCjrK3txXXO1DjgJwAFeCcGCTq2cHIuwfmsPIsCnGHLrjX/CIU2l3PnwT+RrV02T+U+/K//+10LJL8iWG2+/Up574x55bP7v5PzZZ4AgaqRbz07yh7/MlVEnDMHJWqX07F0gd//p1zJ4aD8ZMnyw3Pa7X8vMC2fKP5/4h1x51dWGiNgmnMYRwGlnzZSS0p3y4MN3Sd8+vWTsqJOV+93cS3D4x927dRuWSXlFtYwdfpp2+uSx01RvGDH4FMlIzwb4QyQnK1M+BAHwfsH5U78v992wTO6/4WOZM/1mnDRmYFs5Va656AH58oSr5f++8nf55RVv4nuBDip5uM1NIGd/6Tdy1Xl/k6G9p8hlZ/8ZYxiSob1Ol+kn/QwbY9gzMXOotqFX/vFy1dn/khsvXiVXnPG89Og4FpIpQy6d+IhMOu4HmoffFF428SkZVmAkzLBuF8gl456WvIx+mv4pH+T+SvuumQJABNCQsCHU/h0rAcxqwCEEcL+JpzTg0swQAonB6w/Lxg2b5Xc3/0V69u0MPaBefjP3PsSH5Pb7fyqXfmu6rFm1QfWF2+/7oZxzwVR8G+CXGTMnSrfu2MHDOX5OXjuZcf5k6ZifJ53yO8isi86SH+DS596Kctm0eQNgZDtAipAQ3bv1lAnjJ8kbby2QZ178m5SWlsmXcf3bgE+9xopw4/JKWPm+YlmzYakMGzQeH3TkyzjcEv7virdxvt8OU8EEOa7vOEiggHy8/i258Kwfyw/m3CmV1eWyc9dGmXPODXL5BXfq7uG4YefK5TP/IN06DsAh0QpIMT1P0U/ELpt2j5wz4Qeyasvrsqtis+okHGRdFUUVKRBxE65/d5fvnfOi9Ow0VraU/hfgj5FrzpyPa2FdpEO7viCA/1OCGt17tpzYbxZ+LOJKFiXH9/6m9O4wUWoa/ycdYqEW5jy8oTrqALDYfe2QMnAxuAYbuRxwx6rfEf8uXcASAudvfvHz72dflYryGln85jJZuW61DB81QE47c4zcdtMD8q1vXCuzz7tKVi7fLF+Zc67eAq7DYSS3fUlE3Jmrr+feOKcDzvsid//h9zL7WxfLi/OfhfjmjiPEf7hOJk2cKu3b89zfI1NOO1t2lZXI+BNOx83dXoij/mINfUaz57tLViyUzh17yBmnzpYuyPvYC7fL9uJPZOrJX1Xlb2vRWtkPZfLcKdfI2x/+R66/60z55QMz5bnX7pUp4y6Vzh36KgGu3fKuXHfvBHno39fqdNOIH5E4+6T/k+kTrpR/vnaTvPPxo7hRXCgPv3S1grhw+R/liTd/rNKLU0oABDCm/wX4jjBP7l1wjjzy5mVy30vT9bLJ8J4zZMmmR6Av4KPUDsfjS6GJuEu4Vbq0Hy4FOWPwaflIWVPyvNQ3RRjYdvZgXW5pvunO7A35cG2irjpU7dsfmpj1y3UQgWs5YIYIDOdHuT+WEOw0QBCp7FFEE0Ae/WZk4SNMTG8bN25BWU2ydz84Ct/3Z2W3UwIgU5Cj66QGu3ngUy7lQHSsF9OqrFuHUzWIb7PEo+QJ4HOtFDlj6rn6McjFF3xTbp/7sPTtPQhfB2XKxPFnmn45FGAmAMoDE/Hh6kU6/351xrWyu7xIlq1cKO+vWCCnjMXXTZAMy9e+ASnVhJs/7aV49+bIGO0o/UTFfxqkBaeHbfhqyExFJotZRYSkdG+xnIQVQXpqe01IwifxNDxHiDf8iLQeCnR55RZN2lO9BXpLrWRBAqzb+TIYA4rrcT8Sflk8/6Pr0YMQfjPoOj1kWlPc8uFSfD0JwisRt94dDwLAbTRfRiipZn+4XUp3/GJkJv5nMC7bCAZcSoII5xsgCIZq7qoYckow8aRwAsvTwfVr10sZLo1e8b1LZPSoYTJr1jkyeeoJsuyDDyG2i8E9+F8OTx0vI4cMkzlfvwR7CORXo8ixDFrTBtYPkoISOWTwCDl+9Gj5x1N/lWlfHS0zvjpWLrl8shQVF8uXv/RVyAQqVNwGxstwreU29Zbta6R411bpXdBNlq16DYPcIO8tX6DiOz0tHeJ/ka5q1m9ZIqef9BUZM+QMGdxnvMw47WrZXrpeSsu3oI08FGLZUZOSlC4vvXeP3P3kV6V/wWiZeercSGJcVrQPLQERbdj5tmSltZOzx/5cuuUOkzNH/RxXz7Nk6673wCjbZMee5TKm90z8PlCRrN7xvBTtXS6jelyAuwUlkAjvRcr/FJ75eCdGY/WmeCvChghw97VOQrnewf8JhcONZseORGDnfzstRInATAMOMYAImoAq7+nzFGH7DlwQ+eEtMnBwH1n4zpPyp4dvlY9XrJO7fn+PbNm6Wf4z/1X5yuxp8spLL+E7w1wcA+PwBsRGLZl36Uh4RhJhzc75H39nnH6Opj8//x+ydft62bxtnaza+J4sXPS8DB8yUvr2HKYrALbBgq8EAQKow329j9a+A609KG8vMVy0cdtHsmnbKtlbuVc+2Woubdz/xLWyr6pMfnvty/KH698FR2fJfU9eLftrK/SKGdviNmxvI1YmawvfkleXPCRnnXilDOwxAePQoHqPW/FjXp4Urt2xUF7+8B750qgfyS8u+limjvyxvPbxvbJqu7lnuKZoPggtKOuLX8aU0SDrihdoeNPu16WuyXx36G7DQfq5ufFcfF7Pd/vtyUrHLzVVBarxP4Vl4/8IzJIHS7otwJCfSIol96B2dfnU/X7GUzbT1ThzYaJv/966GbSzqEQpnWfivaGlD4Vmv7+6RpYuWS41OIfnUXFaeqqMG3cCxH2TLF+xQrp26YLf/9mJIsPStWsX2bZ9G5aN+7V0FecgiIKCXrg0kiSF2z+BGAZh4o/KYbvMbOmKZeHO0h3g6BRp3y5XCos+UZHODptpICzZWR0wXXTWuZ/LRabk5/XA5dJU3BHYqGHmz0jLgmI4XsX3+q1LcDNoF9rsk64d+0st7gPureRKiidpydKlQ3+p3L8bXw+X4U5ihnTOw/+wWrNHw13yBuJKWTE+HtmrwHfO6S9V+NUvuxHUoyMuuLbrLeVVW3GfcIWWyQe/LMrL7IWvg3fgAkolVgf4D3wy+uDj0hLcMN4TyXeInreRfzJsDAV7ruoYzuT/GZgeylMiSPH2CD+y87hv1AV3/54TsIE4HnATbwnAiEV+OAruB7hU2qzhN/QBgEXSSQJ4vP+mwOHCZiO4hCDwnh25w2wbU9snp5DwHPAAMt+hAkWpwOtTmgIpb4gAUgkSgncSOHlRyvH+gjWWADilRQ1bZPSDaFyb9n0bvftLfA+91d5d4WBlv1A4KRjyJ2cGs/GjH73Tp/0bGXepUobB1z+CoH4zLbjnZ7NiwKDjWhevalmdgC7Dybh7lcT7VwDP3AmEiIaI46UNWn6gxq+OuGVMUPRCJw+ctE6jixA8Xri04JuL7MzPr3Q5+5sPSbnsSwQ+MsIYqaWUZSKOlifvpCXUHr1pvlCYRLB1bzhcA/8eHBJN7/jbMtxvf5aDrvMw52NYBZ1E4ABDgHXfHhxnCMK45MbENko8kfwsI1KmITbuPtoVgWmDAZqczDkVOgr6Y4hFuRthxjCvW8LZWJOGJM1Fl+ao4v5/oMMJNw+8Fd5guENSfignKRCqBhEEK3NDu/GbDLkpAx/CINVYANyEECEGDLglBo1TIiFREOjmVonCISaTnwRG0A2BMU4tYmy9BNTkgatAWzgJL/xKDATUEAR9NBZ8E4p/HlXg85ryg/EjYMPezkUFoYqiwnAGCEGJANKgbHeZTOv9xie47/cCB9+CEAGCoFiwFHRHOiiQJAq7Yoh1VaQjDwFXLd9VRkzZcXUq1Aq+5XBDFATf/LUMfhRq67OuHYI27z6LHia+xYoE7ybZhP8bvFe4oigQdkuDQIWE0rw97wHX1REcSwhmt43c7YhrB/QIR7tBTeCPSAwtk8RgyqbEYNluYrPinoRjOdwSAxqg4PNprPXFhpEYSbf5TNxR8cT+qtzRWk+9mThGKZW14V04p7PSgISQgd2cCzp+uBK/A/gU51wFQ8EiBATEAGaIwxAEQVTujoBqwTXEYub9aN7m5RiyigCv9RjuNsDDH+F6CzRdQhsf1mhNMT6Tz8YeJe4T6Cd3/1o03hypC9OSEKw0yIA0KMKVsUZ86p/r7387hrdSgVZCIKgGdvO00sFwr+FUghxrLXdH093EgRJt2QpwPMcb4NmLKNCGMKJxxhd9un1HJfhVGIFfcxRaM96uMiZMa4nALQ2ksFBmNS7ZhJ+DfYBDHxHPugoA/C7QDJxRUN3E4fbbicMCbqWLzRMr6mOBZx6bbjsVJYioz7TVgm5d+8ZR496LnnJ3q1WDxfkkb6EUyjAZL52kIxZg2zHM+AIWq4YK7MTk4q80/P6KStk8E8EclsYtlOaDbAaaz9asvhrJEVuOgZAFREFzw2pKtiXYPMa1IXeeWL957yh5bkY/vwFLHaBV45klT3GHBnB3VFwnySR9oVg+9FQIvv9Wcxx2EXIvCEot15OOQZKTahwnYJMP6EbgdnByQ2j98S6zxsbZkKnOHXL7D9iYtpaBFySePphOAbWwdx5yrpGnPWWyFuFT9T03IZiCxshfJfUJAHA+w62CHn8MZgpAVS2DEg+sQxX2zWbAMyFaWtRnXogPR4o5GjzPoJP2hswB+6sEYHPNAhHQn4gQGH8XDlOrpOhdwN+VYWMMKURDsWEbb90o0NEY63NDauOi+aOgRn3M5Q65/baEo8otQW/Hwe442F4DrXncIIeZaxw8LSEwwk4N9FMq/FraXRCQ+scRdCHt8jLjQZmWwYqCzoKi+aK+2HhTXWyqiTuqnhyAi2GfOpReuwjAvjbXemIIwUTOUudZSb4PwFweyXgYPC2BzqJjoY0NxacehqYcqUX8CQ03lwcPoQdkXYd958WxcZQQWJ6VCvjPXMJ3Ss/2VbJzIaLHMM1t7P0Ad5zbHwu0TYkHNRGs8Xniw7aso9Jdil5Pga0+1N67CMC+Gk8IjI8lBsYkS7tBTVL7Brz5DMeaOFrSxNYBS5yaKDZRXGztR1mIvyk7GXbtp+l3AgKwxSQiBKbNtRngpuImZhMPG1JtZCLobRrdA8PXUo6W4t2lH3V+3qi5AJZ3/T6VcePl9scV1iIxAJXk72Cb9/64Fw4h2BqwraUdQhVtNyvnfM79h91YydCCy5WDtfyU2HsTVAmg9b9aFRBE/Zg98BjccNhRT1BgCwQg7ni+RiL4w6ERwDGQMW6fltB/nwCrzzzKDXq8n5VzS/mPsJ+2U8feO7ix4yGPs3cD3/9Hk4gI2LC7YI+B+dmMAaTsFwP8A9HdTceI4LAzAc/2yXRHjPkuWmou/n823HC0SBl+wfK9Iwb1uIbOQJjXkY8WsA53P8sxdnr6GjeuR1RwJFrL754O9+C09fI4ZqOPKKRbaWwHpPEySVsH7XD1728YqzzYNmewayh7YA/XQLW1cvZibA7rKesXkYKGolGvHiOCZkzA09XhX0TAPos2JaFQara8wdLWuPhQ+1OMMbgKNvo5MwJHi+mFjvKTZfOx/tFFDOzzX2F7wR71ZgJG4BXYQ+WeIzU/j29PPupRjxsA7nKdDfs67JEK7IHaTd3nDNhjppURICHwehOvN9fBHmhQv+jp/Dybd/RPhz1mDnEEhiH/bbBbYL/oQMe3j1/n3ArLVc8x8z+OQDbe57byo7DUmuMH+4sS3oW2PQk7E7Y97BfeHFGnS85odoQ7EfYs2PGwfWGTYf9/mCAq5QeY78C+BPseLIngiDFHIgG4B5eXUfvDngBLYuC5Qy/YXNjPwlSg0ELYVbAEewnseljqKkekOdIJIH7QfYjIh+3jsr3g7wLL+Haw6bB208X2304h+PkyqYWthOWWNaeb7bCczzfBFsKWwpLz24SxA9AmOnOATpA4KDE4XZAA4vvOHx8gAXCDhhxNojhmjo1A2x6B/weHltTZ2fDa8AAAAABJRU5ErkJggg==`,St=`mem_notifications`,Ct=`case_notifications`,wt=e=>e===`admin`||e===`internal`,Tt=new Map;async function Et(e){let t=Tt.get(e);if(typeof t==`boolean`)return t;try{let t=await(0,Y.getDoc)((0,Y.doc)(r.ui,`user_profiles`,e)),n=o.Sn(String(t.data()?.role||``));return Tt.set(e,n),n}catch{return!0}}async function Dt(e,t){return await Et(e)?t===e||Et(t):!1}async function Ot(e){let{toUid:t,toRole:n,title:i,body:a,link:o}=e||{};if(!i||!t&&!n){console.warn(`notify(): needs a title and either toUid (one person) or toRole (an audience).`,e);return}let s=r.li.currentUser;if(!s){console.warn(`notify(): nobody is signed in, so there is no one to send as.`);return}let l=String(n||``),u=[];if(t){if(u=await Dt(s.uid,String(t))?[]:[c.E(String(t))],u[0]===`uid:`){console.warn(`notify(): toUid is the recipient’s uid — that one is empty, so the notification would reach nobody.`,e);return}}else if(!wt(l)){let t=c.D(l);if(t===`role:`){console.warn(`notify(): '${l}' is not an audience — pass 'admin', 'internal', or the role as you named it on the Users screen.`,e);return}u=[t]}let d={title:i,body:a||``,link:o||``,uid:s.uid,fromName:s.displayName||s.email||``};if(u.length){try{await(0,Y.addDoc)((0,Y.collection)(r.ui,Ct),{access:u,editors:u,...d,createdAt:Date.now()})}catch(e){console.warn(`notify(): the notification was not saved. Sending to a role — or to somebody who is not on your team — is kept in case_notifications, which needs the security rules re-pasted from the Setup screen. A sender who is signed out, unverified or deactivated is refused whatever the rules say.`,e)}return}try{await(0,Y.addDoc)((0,Y.collection)(r.ui,St),{...t?{toUid:t}:{toRole:n},...d,createdAt:(0,Y.serverTimestamp)()})}catch(e){console.warn(`notify(): the notification was not saved. If the sender is not on your team, re-paste your Firestore rules from /setup — sending from outside the team needs the mem_notifications line added in 1.14.21. A sender who is signed out, unverified or deactivated is refused whatever the rules say.`,e)}}var kt=e=>{let t=String(e??``).trim();return t.startsWith(`/`)?(t.split(/[?#]/)[0].replace(/\/+$/,``)||`/`).toLowerCase():``},At=(e,t)=>kt(t?.route?String(t.route).startsWith(`/`)?t.route:`/`+t.route:`/`+e);function jt(e,{picks:t,records:r,files:a=i.x()}){let o=kt(e);if(!o||o===`/`)return null;for(let[e,r]of Object.entries(i.n)){let i=kt(r.path);if(o===i||o.startsWith(i+`/`))return n.p(t[e])??r.icon??null}let s={};for(let[e,t]of a)t?.isPublic||(s[e]={...t?.config||{},...r[e]||{}});for(let[e,t]of Object.entries(r)){let n=String(t?.fileId||``);n&&n!==e&&!r[n]?(s[e]={...s[n]||{},...t},delete s[n]):s[e]||(s[e]=t)}for(let[e,t]of Object.entries(s))if(At(e,t)===o)return n.p(t?.iconName)??n.g;return null}var Mt=()=>{try{let e=localStorage.getItem(`fbos_nav_tabs`),t=e?JSON.parse(e):null;return t&&typeof t==`object`?t:{}}catch{return{}}};function Nt(){let e=i.u(),[t,n]=(0,K.useState)(Mt);return(0,K.useEffect)(()=>r.Zr(`sys_tabs`,()=>(0,Y.collection)(r.ui,`sys_tabs`),e=>{let t={};for(let n of e.docs||[])t[n.id]=n.data();n(t)},()=>{}),[]),n=>jt(n,{picks:e,records:t})}function Pt(e,t,n){if(t?.own===!0)return null;let r=t?.start?o.ot(new Date(String(t.start)),n):``,i=o.B({scheduleName:t?.scheduleName,memberName:t?.memberName}),a=String(t?.cancelReason||``).trim(),s={id:`b_${e}`,groupKey:t?.entryId?`${t.entryId}__${String(t.start||``)}`:``,type:`booking`,link:`/my-bookings`};return t?.cancelled===!0?String(t.cancelledSide||``)===`booker`?null:{...s,title:`Booking cancelled`,subtitle:[i,r,a].filter(Boolean).join(` · `),time:typeof t.cancelledAt==`number`&&t.cancelledAt>0?t.cancelledAt:t.createdAt}:t?.pending!==!0&&typeof t?.acceptedAt==`number`&&t.acceptedAt>0?{...s,title:`Booking confirmed`,subtitle:[i,r].filter(Boolean).join(` · `),time:t.acceptedAt}:null}function Ft(e,t){let n=new Map;for(let t of e){let e=t.data()||{};if(e.own===!0)continue;let r=e.entryId?`${e.entryId}__${String(e.start||``)}`:t.id,i=n.get(r);i?i.push({id:t.id,data:e}):n.set(r,[{id:t.id,data:e}])}let r=[];for(let e of n.values()){let n=e.find(e=>e.data.cancelled===!0&&String(e.data.cancelledSide||``)!==`booker`&&String(e.data.cancelReason||``).trim())||e.find(e=>e.data.cancelled===!0);if(n){let e=Pt(n.id,n.data,t);e&&r.push(e);continue}if(e.every(e=>Pt(e.id,e.data,t)?.title===`Booking confirmed`)){let n=e.reduce((e,t)=>t.data.acceptedAt>e.data.acceptedAt?t:e),i=Pt(n.id,n.data,t);i&&r.push(i)}}return r}function It(e){return{id:`c_${e.id}`,type:`message`,title:String(e.title||`Notification`),subtitle:String(e.body||e.fromName||``),time:e.createdAt,link:typeof e.link==`string`&&e.link.startsWith(`/`)?e.link:void 0}}function Lt(e){return{id:`p_${e.id}`,type:`payment`,title:`New payment`,subtitle:r.Hn(e),time:e.at,link:`/transactions?open=${encodeURIComponent(e.id)}`}}function Rt(e){return{id:`p_${e.id}`,type:`payment`,title:`Order placed`,subtitle:r.Hn(e,!1),time:e.at,link:`/billing?open=${encodeURIComponent(e.id)}`}}var zt=5*6e4,Bt=6e4,Vt=e=>e?.pending===!0&&e?.cancelled!==!0&&!!e?.paymentSession&&Number(e?.holdUntil)>0;function Ht(e,t,n){let r=Number(e?.holdUntil);return t?F.c(t)===r?F.u(t)?!1:F.m(t)?!0:F.l(t,n)?`ask`:!1:!0:F.l({holdUntil:r},n)}var Ut={user:vt,booking:p.t,submission:n.h,request:We,verify:it,role:ft,finish:b.n,message:d.n,payment:i.D};function Wt({n:e}){let t=Nt();return(0,K.createElement)(!e.standing&&t(e.link)||Ut[e.type]||We,{className:`w-4 h-4`})}function Gt(){let[e,t]=(0,K.useState)(!1),[n,i]=(0,K.useState)([]),a=(0,K.useRef)(null),s=(0,K.useRef)(null),[l,u]=(0,K.useState)(null),p=(0,X.useNavigate)(),{user:m,userRole:h,roleConfirmed:g,profile:_,requestedRole:v}=r.It(),y=h===`admin`,b=r.wn();te.l();let x=o.dn(m,_),S=o.Sn(h),C=c.F(Ct,{mine:!0,max:8}),w=r.zn(),T=r.Un(`sales`,m?.uid,y&&g&&w.configured),E=r.Un(`mine`,m?.uid,w.configured);(0,K.useEffect)(()=>{function e(e){a.current&&!a.current.contains(e.target)&&t(!1)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]);let D=(0,K.useRef)({users:[],submissions:[],requests:[],direct:[],rolewide:[],bookings:[],booked:[],bookedByEmail:[],notices:[],sentToMe:[],sales:[],orders:[]}),O=(0,K.useRef)(!1);(0,K.useEffect)(()=>{O.current=!1},[m?.uid]);let k=(e,t)=>{D.current[e]=t;let n=D.current,r=new Set,a=[...n.users,...n.submissions,...n.requests,...n.direct,...n.rolewide,...n.bookings,...n.booked,...n.bookedByEmail,...n.notices,...n.sentToMe,...n.sales,...n.orders].filter(e=>r.has(e.id)?!1:(r.add(e.id),!0));a.sort((e,t)=>{let n=e.time?.toDate?e.time.toDate().getTime():new Date(e.time).getTime();return((t.time?.toDate?t.time.toDate().getTime():new Date(t.time).getTime())||0)-(n||0)}),i(a.slice(0,8))},A=(e,t)=>{O.current||(O.current=!0,console.warn(`AdminNotifications: this account could not read one of the notification feeds, so that part of the bell is empty. Most of them are the team's alone, and every one of them asks for a verified address.`,t)),k(e,[])};(0,K.useEffect)(()=>{let e=[];if(!g)return;if(y){let t=(0,Y.query)((0,Y.collection)(r.ui,`user_profiles`),(0,Y.orderBy)(`createdAt`,`desc`),(0,Y.limit)(5));e.push((0,Y.onSnapshot)(t,e=>{k(`users`,e.docs.map(e=>{let t=e.data();return{id:`u_${e.id}`,type:`user`,title:`New user registered`,subtitle:t.email||t.phone||`Unknown`,time:t.createdAt,link:`/users/${e.id}`}}))},e=>A(`users`,e)));let n=(0,Y.query)((0,Y.collection)(r.ui,`user_submissions`),(0,Y.orderBy)(`submittedAt`,`desc`),(0,Y.limit)(5));e.push((0,Y.onSnapshot)(n,e=>{k(`submissions`,e.docs.filter(e=>e.data()?.formId!==`booking`&&!o.nt(e.data()||{})&&!z.a(e.data()||{})).map(e=>{let t=e.data();return{id:`s_${e.id}`,type:`submission`,title:`New form submission`,subtitle:t.name||t.email||`Anonymous`,time:t.submittedAt,link:`/inbox?open=${encodeURIComponent(`anyone:${e.id}`)}`}}))},e=>A(`submissions`,e)));let i=(0,Y.query)((0,Y.collection)(r.ui,`user_requests`),(0,Y.orderBy)(`submittedAt`,`desc`),(0,Y.limit)(5));e.push((0,Y.onSnapshot)(i,e=>{k(`requests`,e.docs.map(e=>{let t=e.data();return{id:`r_${e.id}`,type:`request`,title:`New support request`,subtitle:t.name||t.submitterName||t.contactEmail||t.email||`Anonymous`,time:t.submittedAt,link:`/inbox?open=${encodeURIComponent(`signedIn:${e.id}`)}`}}))},e=>A(`requests`,e)))}else k(`users`,[]),k(`submissions`,[]),k(`requests`,[]);let t=new Map,n=new Map,i;if(e.push(()=>{t.forEach(e=>e()),t.clear(),clearTimeout(i)}),m?.uid&&(y||S)){let a=new Map,s=(e,t)=>`${e}|${String(t?.paymentSession||``)}`,c=!1;e.push(()=>{c=!0});let l=(e,t,n)=>{let i=Ht(t,n,Date.now());if(i!==`ask`)return i;let o=s(e,t),l=a.get(o);if(l===`paid`)return!1;if(l===`free`)return!0;if(l===`asking`)return null;if(l===`askingAgain`||typeof l==`number`&&Date.now()<l)return!1;let u=l!==void 0;return a.set(o,u?`askingAgain`:`asking`),r.An(e).then(async t=>{typeof t==`string`?a.set(o,Date.now()+Bt):t.state===`paid`||t.state===`free`?(a.set(o,t.state),await f.s({[e]:t.pass},t.state===`paid`?`paid`:`letGo`)):t.state===`gone`?a.set(o,`free`):a.set(o,Date.now()+zt)}).catch(()=>a.set(o,Date.now()+Bt)).then(()=>{c||v()}),u?!1:null},u=e=>{let t=e.data()||{};if(t.own===!0)return null;if(Vt(t)){let r=n.get(e.id);if(r===void 0)return null;let i=r===`unread`?!1:l(e.id,t,r);if(i===null)return null;if(i)return{id:`b_${e.id}`,groupKey:t.entryId?`${t.entryId}__${String(t.start||``)}`:``,type:`booking`,title:f.j,subtitle:[o.it({name:t.name}),t.start?o.ot(new Date(String(t.start)),o.et()):``].filter(Boolean).join(` · `),time:t.createdAt,silent:!0,link:`/schedule?open=${encodeURIComponent(e.id)}`}}let r=t.cancelled===!0,i=String(t.cancelledSide||``)!==`booker`&&String(t.cancelledByUid||``)===(m?.uid||``);if(r&&i)return null;let a=t.start?o.ot(new Date(String(t.start)),o.et()):``,s=o.it({name:t.name}),c=String(t.cancelReason||``).trim();return{id:`b_${e.id}`,groupKey:t.entryId?`${t.entryId}__${String(t.start||``)}`:``,type:`booking`,title:r?`Booking cancelled`:t.pending===!0?`Booking to accept`:`New booking`,subtitle:[s,a,r?c:``].filter(Boolean).join(` · `),time:r&&typeof t.cancelledAt==`number`&&t.cancelledAt>0?t.cancelledAt:t.createdAt,link:`/schedule?open=${encodeURIComponent(e.id)}`}},d=e=>{let t=new Set,n=[];for(let r of e)if(r){if(r.groupKey){if(t.has(r.groupKey))continue;t.add(r.groupKey)}n.push(r)}return n},p=m.uid,h=y?(0,Y.query)((0,Y.collection)(r.ui,o.t),(0,Y.orderBy)(`createdAt`,`desc`),(0,Y.limit)(5)):(0,Y.query)((0,Y.collection)(r.ui,o.t),(0,Y.where)(`end`,`>=`,new Date().toISOString())),g=e=>y||String(e.data()?.memberId||``)===p,_=[],v=()=>{k(`bookings`,d(_.map(u))),clearTimeout(i);let e=Date.now(),t=_.reduce((t,r)=>{let i=r.data()||{},o=n.get(r.id);if(!Vt(i)||o===void 0||o===`unread`||F.u(o))return t;let c=Ht(i,o,e);if(c===`ask`){let n=a.get(s(r.id,i));return typeof n==`number`&&n>e?Math.min(t,n):t}if(c)return t;let l=o?F.c(o):Number(i.holdUntil);return l>e?Math.min(t,l):t},1/0);t!==1/0&&(i=setTimeout(v,Math.min(t-e+1e3,F.r)))};e.push((0,Y.onSnapshot)(h,e=>{_=e.docs.filter(g);let i=new Set(_.filter(e=>Vt(e.data()||{})).map(e=>e.id));for(let[e,r]of t)i.has(e)||(r(),t.delete(e),n.delete(e));for(let e of i)t.has(e)||t.set(e,(0,Y.onSnapshot)((0,Y.doc)(r.ui,o.x,e),t=>{n.set(e,t.exists()?t.data()||{}:null),v()},()=>{n.set(e,`unread`),v()}));v()},e=>A(`bookings`,e)))}else k(`bookings`,[]);if(m?.uid){let t=o.et();e.push(f.D(m.uid,e=>k(`booked`,Ft(e,t)),e=>A(`booked`,e)));let n=String(m.email||``).trim().toLowerCase();n?e.push(f.E(n,e=>k(`bookedByEmail`,Ft(e,t)),e=>A(`bookedByEmail`,e))):k(`bookedByEmail`,[])}else k(`booked`,[]),k(`bookedByEmail`,[]);if(m?.uid){let t=(0,Y.query)((0,Y.collection)(r.ui,R.t),(0,Y.where)(`uid`,`==`,m.uid)),n=e=>{let t=e.data()||{};return{id:`n_${e.id}`,type:`message`,title:String(t.title||`Notification`),subtitle:String(t.body||``),time:t.createdAt,link:typeof t.link==`string`&&t.link.startsWith(`/`)?t.link:void 0}};e.push((0,Y.onSnapshot)(t,e=>{k(`notices`,e.docs.filter(e=>(e.data()||{}).kind===`notice`).map(n))},e=>A(`notices`,e)))}else k(`notices`,[]);if(m?.uid&&(y||S)){let t=e=>{let t=e.data();return{id:`m_${e.id}`,type:`message`,title:t.title||`Notification`,subtitle:t.body||t.fromName||``,time:t.createdAt,link:typeof t.link==`string`&&t.link.startsWith(`/`)?t.link:void 0}},n=(0,Y.query)((0,Y.collection)(r.ui,St),(0,Y.where)(`toUid`,`==`,m.uid));e.push((0,Y.onSnapshot)(n,e=>k(`direct`,e.docs.map(t)),e=>A(`direct`,e)));let i=y?[`admin`,`internal`]:[`internal`],a=(0,Y.query)((0,Y.collection)(r.ui,St),(0,Y.orderBy)(`createdAt`,`desc`),(0,Y.limit)(100));e.push((0,Y.onSnapshot)(a,e=>k(`rolewide`,e.docs.filter(e=>i.includes((e.data()||{}).toRole)).map(t)),e=>A(`rolewide`,e)))}else k(`direct`,[]),k(`rolewide`,[]);return()=>e.forEach(e=>e())},[y,S,m?.uid,m?.email,g]),(0,K.useEffect)(()=>{let e=m?.uid?c.k(m.uid,h):[];k(`sentToMe`,e.length?C.records.filter(t=>c.w(t,e)).map(It):[])},[C.records,m?.uid,h]),(0,K.useEffect)(()=>{k(`sales`,T.map(Lt))},[T]),(0,K.useEffect)(()=>{k(`orders`,E.map(Rt))},[E]);let[j,M]=(0,K.useState)(()=>typeof window<`u`?parseInt(localStorage.getItem(`admin_notifications_last_read`)||`0`,10):0),N=()=>{let n=!e;if(t(n),n){let e=s.current?.getBoundingClientRect();u(typeof window<`u`&&window.innerWidth<640&&e?e.bottom+8:null);let t=Date.now();M(t),typeof window<`u`&&localStorage.setItem(`admin_notifications_last_read`,t.toString())}},P=[];!b.loading&&L.y(_,h,b.finishRegistration,m?.uid)&&P.push({id:`finish-registration`,type:`finish`,title:`Finish registration`,subtitle:`There is still something we need from you.`,time:null,standing:!0,link:`/your-details`}),m&&v&&P.push({id:`role-request`,type:`role`,title:r.$t,subtitle:r.Qt,time:null,standing:!0,urgent:!0,link:`/profile`}),x&&P.push({id:`verify-email`,type:`verify`,title:`Verify your email`,subtitle:`Open the link we sent to ${x} and you can sign in with it too. Nothing is waiting on it.`,time:null,standing:!0,link:`/verify`});let ee=P.length?[...P,...n]:n,I=ee.some(e=>{if(e.standing)return!0;if(e.silent)return!1;if(!e.time)return!0;let t=e.time?.toDate?e.time.toDate().getTime():new Date(e.time).getTime();return t>j||isNaN(t)}),B=e=>{t(!1),e.link?p(e.link):e.type===`user`?p(`/users`):e.type===`booking`?p(S?`/schedule`:`/my-bookings`):e.type===`submission`||e.type===`request`?p(`/inbox`):e.type===`verify`||e.type===`role`?p(`/profile`):e.type===`finish`?p(`/your-details`):e.type===`payment`&&p(y?`/transactions`:`/billing`)},ne=e=>{if(!e)return``;let t=e.toDate?e.toDate():new Date(e),n=Date.now()-t.getTime();if(isNaN(n))return``;let r=Math.floor(n/6e4);if(r<1)return`now`;if(r<60)return`${r}m`;let i=Math.floor(r/60);if(i<24)return`${i}h`;let a=Math.floor(i/24);return a<7?`${a}d`:new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`numeric`}).format(t)};return(0,q.jsxs)(`div`,{className:`relative z-50 flex-shrink-0`,ref:a,children:[(0,q.jsxs)(`button`,{ref:s,onClick:N,className:`w-9 h-9 rounded-xl border border-[var(--panel-border)] transition-all relative text-foreground/60 hover:bg-foreground/5 hover:text-foreground flex items-center justify-center shadow-sm cursor-pointer`,"aria-label":`Notifications`,children:[(0,q.jsx)(d.n,{className:`w-4 h-4`}),I&&(0,q.jsx)(`span`,{className:`absolute top-1.5 right-1.5 w-2 h-2 bg-[var(--notification-icon-color)] rounded-full animate-pulse`})]}),(0,q.jsx)(r.it,{children:e&&(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:-5,scale:.98},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,scale:.98,y:-5},className:`${l===null?`absolute top-full mt-2 right-0`:`fixed right-4`} w-[min(320px,calc(100vw-2rem))] md:w-[400px] glass-popover border border-[var(--panel-border)] rounded-2xl z-50 flex flex-col origin-top-right overflow-hidden`,style:l===null?void 0:{top:l},children:[(0,q.jsxs)(`div`,{className:`px-4 border-b border-[var(--panel-border)]/50 pb-3 pt-4 flex items-center justify-between`,children:[(0,q.jsx)(`span`,{className:`font-bold text-[14px] text-foreground tracking-wide`,children:`Notifications`}),(y||S)&&(0,q.jsx)(`span`,{className:`text-[10px] font-bold uppercase tracking-widest text-accent bg-accent/10 px-2 py-0.5 rounded-md`,children:y?`Admin`:`Team`})]}),(0,q.jsx)(`div`,{className:`max-h-[350px] overflow-y-auto w-full p-2 flex flex-col gap-1`,children:ee.length===0?(0,q.jsx)(`div`,{className:`p-6 text-center text-foreground/40 text-[13px] font-medium`,children:`No recent activity.`}):ee.map(e=>(0,q.jsxs)(`button`,{onClick:()=>B(e),className:`w-full flex items-start gap-3 p-3 rounded-xl hover:bg-foreground/5 transition-all text-left group border border-transparent hover:border-[var(--panel-border)]`,children:[(0,q.jsx)(`div`,{className:`mt-0.5 w-8 h-8 rounded-full flex items-center justify-center shrink-0 ${e.urgent?`bg-red-500/10 text-red-500`:`bg-foreground/5 text-notification-icon`}`,children:(0,q.jsx)(Wt,{n:e})}),(0,q.jsxs)(`div`,{className:`flex flex-col flex-1 min-w-0`,children:[(0,q.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,q.jsx)(`span`,{className:`text-[13px] font-semibold text-foreground group-hover:text-accent transition-colors truncate flex-1 min-w-0`,children:e.title}),(0,q.jsx)(`span`,{className:`text-[10px] font-mono tracking-wide text-foreground/40 shrink-0`,children:ne(e.time)})]}),(0,q.jsx)(`span`,{className:`text-[12px] text-foreground/60 ${e.standing?`leading-snug`:`truncate`}`,children:e.subtitle})]})]},e.id))})]})})]})}var Kt=[{id:`contact`,hidden:!1}],qt={route:`/support`,template:`popup_form`,form:`support`,tabName:`Support`,iconName:``},Jt={"/contact":n.h},Yt=e=>e&&Jt[e]||n.g,Xt=`text-[13px] md:text-[14px] font-bold tracking-wide text-foreground/50 hover:text-accent transition-all cursor-pointer flex items-center gap-1.5`;function Zt({pages:e}){let[t,n]=(0,K.useState)(null),[a,o]=(0,K.useState)(!1),{rowRef:c,measureRef:l,visible:u}=i.s({count:e.length,listKey:e.map(e=>e.label+(e.submenu?` ▾`:``)).join(`|`),shown:!0,gap:28,moreButtonWidth:50}),d=e.slice(0,u),f=e.slice(u);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{ref:l,"aria-hidden":`true`,className:`flex items-center gap-7 whitespace-nowrap px-1`,style:{position:`fixed`,top:-9999,left:0,visibility:`hidden`,height:0,pointerEvents:`none`},children:e.map((e,t)=>(0,q.jsxs)(`span`,{"data-measure":!0,className:`text-[13px] md:text-[14px] font-bold tracking-wide flex items-center gap-1.5 shrink-0`,children:[e.label,e.submenu&&(0,q.jsx)(s.t,{className:`w-3 h-3`})]},t))}),(0,q.jsxs)(`div`,{className:`flex items-center gap-7 w-full min-w-0 justify-end relative`,ref:c,children:[d.map((e,i)=>(0,q.jsxs)(`div`,{className:`relative shrink-0`,onMouseEnter:()=>n(e.label),onMouseLeave:()=>n(null),children:[e.path?(0,q.jsxs)(X.Link,{to:e.path,className:Xt,children:[e.label,e.submenu&&(0,q.jsx)(s.t,{className:`w-3 h-3`})]}):(0,q.jsxs)(`button`,{onClick:e.action,className:Xt,children:[e.label,e.submenu&&(0,q.jsx)(s.t,{className:`w-3 h-3`})]}),e.submenu&&t===e.label&&(0,q.jsx)(`div`,{className:`absolute top-[100%] left-0 pt-2 z-50`,children:(0,q.jsx)(r.rt.div,{initial:{opacity:0,y:5},animate:{opacity:1,y:0},className:`min-w-[180px] max-h-[300px] overflow-y-auto styled-scrollbars bg-background/95 backdrop-blur-xl border border-[var(--panel-border)] rounded-2xl shadow-xl flex flex-col py-2`,children:e.submenu.map((e,t)=>e.path?(0,q.jsx)(X.Link,{to:e.path,className:`px-5 py-3 text-[13px] font-medium text-foreground/70 hover:text-foreground hover:bg-foreground/5 transition-colors`,children:e.label},t):(0,q.jsx)(`button`,{onClick:e.action,className:`px-5 py-3 text-left w-full text-[13px] font-medium text-foreground/70 hover:text-foreground hover:bg-foreground/5 transition-colors`,children:e.label},t))})})]},`${e.path||`no-path`}-${i}`)),f.length>0&&(0,q.jsxs)(`div`,{className:`relative flex items-center shrink-0`,onMouseEnter:()=>o(!0),children:[(0,q.jsx)(`button`,{onClick:()=>o(e=>!e),"aria-label":`More pages`,"aria-expanded":a,className:`p-1 rounded-lg transition-colors flex items-center ${a?`bg-foreground/5 text-accent`:`text-foreground/50 hover:bg-foreground/5 hover:text-accent`}`,children:(0,q.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,className:`w-5 h-5`,children:[(0,q.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1`}),(0,q.jsx)(`circle`,{cx:`12`,cy:`5`,r:`1`}),(0,q.jsx)(`circle`,{cx:`12`,cy:`19`,r:`1`})]})}),(0,q.jsx)(r.it,{children:a&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>o(!1)}),(0,q.jsx)(r.rt.div,{initial:{opacity:0,y:5,scale:.98},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:5,scale:.98},className:`absolute top-[100%] pt-1 right-0 min-w-[200px] max-h-[350px] overflow-y-auto styled-scrollbars glass-popover border border-[var(--panel-border)] rounded-2xl flex flex-col py-2 z-50 origin-top-right`,children:f.map((e,t)=>e.path?(0,q.jsx)(X.Link,{to:e.path,onClick:()=>o(!1),className:`px-5 py-3 text-[13px] font-bold tracking-wide text-foreground/70 hover:text-foreground hover:bg-foreground/5 transition-colors`,children:e.label},t):(0,q.jsx)(`button`,{onClick:()=>{e.action&&e.action(),o(!1)},className:`px-5 py-3 text-left w-full text-[13px] font-bold tracking-wide text-foreground/70 hover:text-foreground hover:bg-foreground/5 transition-colors`,children:e.label},t))})]})})]})]})]})}function Qt({pages:e,onNavigate:t}){return(0,q.jsx)(q.Fragment,{children:e.map((e,n)=>{let r=Yt(e.path);return e.path?(0,q.jsxs)(X.Link,{to:e.path,onClick:t,className:`flex items-center gap-3 px-3 py-2.5 rounded-xl hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all min-w-0`,children:[(0,q.jsx)(r,{className:`w-4 h-4 text-accent/70 shrink-0`}),` `,(0,q.jsx)(`span`,{className:`text-[14px] font-semibold truncate`,children:e.label})]},`${e.path}-${n}`):(0,q.jsxs)(`button`,{onClick:()=>{e.action&&e.action(),t?.()},className:`flex items-center gap-3 px-3 py-2.5 rounded-xl hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all w-full text-left min-w-0`,children:[(0,q.jsx)(r,{className:`w-4 h-4 text-accent/70 shrink-0`}),` `,(0,q.jsx)(`span`,{className:`text-[14px] font-semibold truncate`,children:e.label})]},`${e.label}-${n}`)})})}function $t({pages:e,phone:t,onNavigate:n}){return t?(0,q.jsx)(Qt,{pages:e,onNavigate:n}):(0,q.jsx)(Zt,{pages:e})}var en=e=>{if(!r.oi(e))return!1;let t=String(e?.message??e??``);return/\.(tsx|ts|jsx)\b|\/src\//.test(t)?!1:/https?:\/\/|\/assets\//.test(t)?!0:j.u()},tn=e=>{if(e?.didNotArrive===!0||r.oi(e))return!0;let t=String(e?.message??e??``);return/Minified React error #306\b|lazy element type must resolve/i.test(t)},nn=e=>!!e&&typeof e==`object`&&e.$$typeof===Symbol.for(`react.lazy`),rn=class extends K.default.Component{state={failed:!1,passOn:null,reloading:!1};static getDerivedStateFromError(e){return{failed:!0,passOn:e,reloading:en(e)&&r.ai()>0}}componentDidCatch(e){this.passesOn(e)||this.state.reloading&&r.ci(this.props.reload)||(this.state.reloading&&this.setState({reloading:!1}),j.o(this.props.which,e))}passesOn(e){return this.props.neverPutAside?!0:!!this.props.onlyMissing&&!tn(e)}render(){if(this.state.failed&&this.passesOn(this.state.passOn)){let e=this.state.passOn;throw queueMicrotask(()=>j.o(this.props.which,e,`threw`)),e}return this.state.reloading?null:this.state.failed?this.props.fallback:this.props.children}};function an(e){let t=r.mi().components?.Menu;return t?(0,q.jsx)(rn,{which:`menu`,fallback:(0,q.jsx)($t,{...e}),children:(0,q.jsx)(K.Suspense,{fallback:null,children:(0,q.jsx)(t,{...e})})}):(0,q.jsx)($t,{...e})}var on=()=>document.querySelector(`[aria-modal="true"]`)!==null,sn=e=>{let t=new MutationObserver(e);return t.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`aria-modal`]}),()=>t.disconnect()};function cn({isAdmin:e}){let t=j.d(e),i=a.i(),o=(0,K.useSyncExternalStore)(sn,on,()=>!1),[s,c]=(0,K.useState)(!1);if(!t.length||o)return null;let l=r.ri(j.s(t));return(0,q.jsx)(`div`,{role:`status`,className:`fixed left-1/2 -translate-x-1/2 z-30 w-[calc(100%-2rem)] max-w-md transition-[bottom] duration-300 ${i?`bottom-40`:`bottom-[4.5rem]`}`,children:(0,q.jsxs)(`div`,{className:`glass-popover rounded-2xl px-4 py-3 flex items-center gap-3`,children:[(0,q.jsx)(Qe,{className:`w-4 h-4 shrink-0 text-accent`}),(0,q.jsxs)(`p`,{className:`text-[13px] font-semibold text-foreground/80 leading-snug flex-1 min-w-0`,children:[l.short.replace(j.i,``).trim(),(0,q.jsxs)(`span`,{className:`max-sm:hidden`,children:[` `,j.i]})]}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{navigator.clipboard?.writeText(l.message).catch(()=>{}),c(!0),setTimeout(()=>{c(!1),j.l(t)},1500)},"aria-label":s?`Copied`:`Copy the fix`,className:`shrink-0 inline-flex items-center justify-center gap-1.5 h-8 w-8 px-0 sm:w-auto sm:px-3 rounded-[var(--btn-radius,0.75rem)] text-[12px] font-semibold border ${s?`copy-btn-done border-[var(--panel-border)] text-foreground/60`:`copy-btn cursor-pointer`}`,children:[s?(0,q.jsx)(r.jt,{className:`copy-icon w-3.5 h-3.5`}):(0,q.jsx)(n._,{className:`copy-icon w-3.5 h-3.5`}),(0,q.jsx)(`span`,{className:`max-sm:hidden`,children:s?`Copied`:`Copy the fix`})]}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>j.l(t),"aria-label":`Hide this`,className:`shrink-0 text-[13px] font-bold text-foreground/40 hover:text-foreground/70 transition-colors`,children:`✕`})]})})}var ln=(0,K.createContext)({wide:!1,setWide:()=>{},cap:0,setCap:()=>{}});function un({children:e}){let[t,n]=(0,K.useState)(!1),[r,i]=(0,K.useState)(0);return(0,q.jsx)(ln.Provider,{value:{wide:t,setWide:n,cap:r,setCap:i},children:e})}var dn=()=>(0,K.useContext)(ln).wide,fn=()=>{let{wide:e,cap:t}=(0,K.useContext)(ln);return e?t:0};function pn(e=!0){let{setWide:t,setCap:n}=(0,K.useContext)(ln);(0,K.useLayoutEffect)(()=>{if(e)return t(!0),()=>t(!1)},[e,t]),(0,K.useLayoutEffect)(()=>{if(e)return vn()},[e]),(0,K.useLayoutEffect)(()=>{if(e)return _n(n)},[e,n])}var mn=.5,hn=400;function gn(e,t){if(!e||!t||typeof window>`u`)return 0;let n=getComputedStyle(t),r=(parseFloat(n.paddingLeft)||0)+(parseFloat(n.paddingRight)||0),i=window.innerHeight*mn,a=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT);for(let e=0,t=a.nextNode();t&&e<hn;t=a.nextNode(),e++){let e=t,n=getComputedStyle(e);if(n.position===`fixed`||n.display===`none`)continue;let a=parseFloat(n.maxWidth);if(!Number.isFinite(a)||a<960)continue;let o=e.getBoundingClientRect();if(o.width<=0||o.height<=0)continue;if(o.top>i)break;let s=e.parentElement?.getBoundingClientRect();if(!s)continue;let c=o.left-s.left,l=s.right-o.right;if(Math.abs(c-l)>2)continue;let u=a-(parseFloat(n.paddingLeft)||0)-(parseFloat(n.paddingRight)||0)-(parseFloat(n.borderLeftWidth)||0)-(parseFloat(n.borderRightWidth)||0);return Math.round(u+r)}return 0}function _n(e){if(typeof document>`u`)return()=>{};let t=0,n=()=>{t=0,e(gn(document.querySelector(`.fbos-home-slot, .fbos-page-canvas`),document.querySelector(`.firebase-os > nav, .firebase-os nav`)))},r=()=>{t||=requestAnimationFrame(n)};n();let i=[300,1e3,2500].map(e=>setTimeout(r,e)),a=document.querySelector(`.fbos-home-slot, .fbos-page-canvas`),o=a&&typeof MutationObserver<`u`?new MutationObserver(r):null;return o?.observe(a,{childList:!0,subtree:!0}),window.addEventListener(`resize`,r),()=>{i.forEach(clearTimeout),t&&cancelAnimationFrame(t),o?.disconnect(),window.removeEventListener(`resize`,r),e(0)}}function vn(){if(typeof document>`u`)return()=>{};let e=document.documentElement,t=document.querySelector(`.firebase-os > nav, .firebase-os nav`);if(!t)return()=>{};let n=()=>e.style.setProperty(`--menu-h`,`${Math.round(t.getBoundingClientRect().height)}px`);n();let r=typeof ResizeObserver<`u`?new ResizeObserver(n):null;return r?.observe(t),window.addEventListener(`resize`,n),()=>{r?.disconnect(),window.removeEventListener(`resize`,n),e.style.removeProperty(`--menu-h`)}}function yn({onNavigate:e}){let{user:t}=r.It(),{bought:n}=r.Ln(t?.uid);return n?(0,q.jsxs)(X.Link,{to:`/billing`,onClick:e,className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,q.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,q.jsx)(i.D,{className:`w-3 h-3 text-accent`})}),`Billing`]}):null}function bn({onNavigate:e}){return(0,q.jsx)(q.Fragment,{children:i.r().map(t=>{let n=t.icon;return(0,q.jsxs)(X.Link,{to:t.path,onClick:e,"data-own-tab":t.id,className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,q.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,q.jsx)(n,{className:`w-3 h-3 text-accent`})}),(0,q.jsx)(`span`,{className:`truncate min-w-0`,children:t.label})]},t.id)})})}var xn={contact:{label:`Contact`,path:`/contact`}},Sn=`fbos_public_menu`,Cn=()=>{try{let e=localStorage.getItem(Sn),t=e?JSON.parse(e):null;return t&&typeof t==`object`?t:{}}catch{return{}}},wn=e=>{try{localStorage.setItem(Sn,JSON.stringify({...Cn(),...e}))}catch{}},Tn=new Set([`setup`,`templates`,`guide`]),En=1.6,Dn=`logo-shape:`,On={shape:`unknown`,ratio:0},kn=e=>({shape:e>=En?`wide`:`square`,ratio:e}),An=e=>{if(!e)return On;try{let t=localStorage.getItem(Dn+e);if(t===`wide`)return{shape:`wide`,ratio:0};if(t===`square`)return{shape:`square`,ratio:0};let n=Number(t);return t&&Number.isFinite(n)&&n>0?kn(n):On}catch{return On}};function jn(e){let[t,n]=(0,K.useState)(null),r=t&&t.url===e?t.measure:An(e);return(0,K.useEffect)(()=>{if(!e||An(e).shape!==`unknown`||typeof Image>`u`)return;let t=new Image;return t.onload=()=>{let r=Math.round(t.naturalWidth/Math.max(1,t.naturalHeight)*100)/100;try{localStorage.setItem(Dn+e,String(r))}catch{}n({url:e,measure:kn(r)})},t.onerror=()=>n({url:e,measure:{shape:`square`,ratio:0}}),t.src=e,()=>{t.onload=null,t.onerror=null}},[e]),r}function Mn({customMenu:e,standalone:t}){let{user:s,userRole:c,signOut:l,roleResolved:u,profileReady:d,profile:f}=r.It(),p=!!s&&u!==!1&&d!==!1,m=o.wn(c),[h,_]=(0,K.useState)(!1),[v,y]=(0,K.useState)(!1),[b,x]=(0,K.useState)(!1),[C,w]=(0,K.useState)(!1),T=String(f?.displayName||``).trim()||s?.displayName||s?.email?.split(`@`)[0]||`User`,E=T.charAt(0).toUpperCase()+T.slice(1),{theme:D,toggleTheme:O,activeConfig:k,canSwitchTheme:A}=i.N(),j=an,M=async()=>{await l(),_(!1)},[N,P]=(0,K.useState)(()=>Cn().info??{...xn}),[ee,F]=(0,K.useState)(()=>Cn().order??Kt),[I,L]=(0,K.useState)(qt.tabName);(0,K.useEffect)(()=>{if(!r.ui)return;let e=(0,Y.onSnapshot)((0,Y.collection)(r.ui,`sys_pages`),e=>{let t={...xn};for(let[e,n]of i.x()){if(!n.isPublic)continue;let r=n.config||{};if(r.enabled===!1)continue;let a=r.route?r.route.startsWith(`/`)?r.route:`/`+r.route:`/`+e;t[e]={label:r.pageName||r.pageTitle||r.title||e,path:a,iconName:r.iconName||``,offMenu:i.y(r)}}e.forEach(e=>{let n=e.data(),r=String(n.fileId||``),i=r&&t[r]||t[e.id];if(r&&r!==e.id&&delete t[r],n.enabled===!1)return;let a=n.pageName||n.title||xn[e.id]?.label||e.id,o=n.route||(e.id===`home`?`/`:`/`+e.id);t[e.id]={label:a,path:o,iconName:n.iconName||t[e.id]?.iconName||``,offMenu:i?.offMenu}});for(let e of Tn)delete t[e];P(t),wn({info:t})},e=>{a.s(e)}),t=(0,Y.onSnapshot)((0,Y.doc)(r.ui,`sys_configs`,`page_order`),e=>{let t=e.exists()&&Array.isArray(e.data().order)?i.c(e.data().order):Kt;F(t),wn({order:t})},()=>{}),n=(0,Y.onSnapshot)((0,Y.doc)(r.ui,`sys_tabs`,`support`),e=>{e.exists()&&e.data().pageName&&L(e.data().pageName)},()=>{});return()=>{e(),t(),n()}},[]);let te=(()=>{let e=new Set(ee.filter(e=>e.hidden).map(e=>e.id)),t=new Set,n=[];return ee.forEach(e=>{if(e.hidden||e.id===`home`)return;let r=N[e.id];r&&(n.push({label:r.label,path:r.path,iconName:r.iconName}),t.add(e.id))}),Object.entries(N).forEach(([r,i])=>{!t.has(r)&&!e.has(r)&&!i.offMenu&&r!==`home`&&i.path!==`/`&&i.path!==`/support`&&n.push({label:i.label,path:i.path,iconName:i.iconName})}),n})(),R=e||te,z=t?[]:R.filter(e=>e.path&&n.p(e.iconName)),B=!t&&R.some(e=>n.d(e.iconName));(0,K.useEffect)(()=>{B&&n.m()},[B]);let ne=z.length?R.filter(e=>!z.includes(e)):R,[re,V]=(0,K.useState)(()=>typeof window<`u`&&window.innerWidth<640);(0,K.useEffect)(()=>{if(typeof window>`u`)return;let e=()=>{let e=window.innerWidth<640;V(t=>(t!==e&&_(!1),e))};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]);let H=!t&&!s&&!re,ie=dn(),ae=fn(),{shape:oe,ratio:U}=jn(k?.logoUrl),W=oe===`square`&&!!k?.logoUrl&&U>1.05;return(0,q.jsxs)(`nav`,{className:`flex items-center justify-between w-full ${ie?`px-4 pt-4 pb-3 md:px-8 md:pt-10 md:pb-6`:`max-w-7xl px-4 py-4 md:px-8 md:py-10`} mx-auto z-40 relative`,style:ae?{maxWidth:ae}:void 0,children:[(0,q.jsx)(`div`,{className:`flex items-center min-w-0 z-50`,children:(0,q.jsx)(X.Link,{to:`/`,className:`flex items-center gap-2 md:gap-2.5 lg:gap-3 group cursor-pointer z-50 min-w-0`,"aria-label":oe===`wide`?k?.appName||`Home`:void 0,children:oe===`wide`&&k?.logoUrl?(0,q.jsx)(`img`,{src:k.logoUrl,alt:k?.appName||``,"data-wide-logo":!0,draggable:!1,className:`h-6 md:h-7 lg:h-7 w-auto max-w-[140px] md:max-w-[180px] lg:max-w-[200px] object-contain object-left transition-opacity duration-300 group-active:opacity-80`}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{"data-logo-tile":W?`wide`:`square`,"data-logo-ratio":W?String(U):void 0,style:W?{aspectRatio:String(U)}:void 0,className:`h-8 md:h-9 ${W?`w-auto`:`w-8 md:w-9 group-hover:rotate-180`} rounded-lg glass-panel flex items-center justify-center glow-hover shadow-lg transition-transform duration-500 group-active:scale-95 overflow-hidden shrink-0`,children:k?.logoUrl?(0,q.jsx)(r.k,{src:k.logoUrl,alt:`Logo`,fit:`contain`,priority:!0,className:`w-full h-full`,imgClassName:`max-md:p-0.5`}):(0,q.jsx)(`img`,{src:xt,alt:``,"aria-hidden":`true`,draggable:!1,"data-brand-mark":!0,className:`w-full h-full object-cover`})}),(0,q.jsx)(`span`,{className:`font-display font-bold text-[17px] md:text-[19px] lg:text-[22px] tracking-tight text-gradient transition-all duration-300 drop-shadow-sm truncate`,children:k?.appName||``})]})})}),(0,q.jsx)(r.it,{children:v&&(0,q.jsx)(g.t,{formId:`contact`,onClose:()=>y(!1)})}),(0,q.jsx)(r.it,{children:b&&(0,q.jsx)(g.t,{formId:`support`,onClose:()=>x(!1)})}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2.5 md:gap-4 z-50 relative ml-auto flex-1 min-w-0 justify-end`,children:[H&&(0,q.jsx)(`div`,{className:`flex items-center flex-1 min-w-0 justify-end mr-6`,children:(0,q.jsx)(j,{pages:ne,phone:!1})}),z.length>0&&(0,q.jsx)(`div`,{className:`flex items-center gap-1.5 sm:gap-2 shrink-0`,children:z.map((e,t)=>{let r=n.p(e.iconName)||n.g;return(0,q.jsx)(X.Link,{to:e.path,"aria-label":e.label,title:e.label,className:`w-9 h-9 rounded-xl border border-[var(--panel-border)] hover:bg-foreground/5 transition-all text-foreground/60 hover:text-foreground flex items-center justify-center shadow-sm shrink-0 cursor-pointer`,children:(0,q.jsx)(r,{className:`w-4 h-4`})},`${e.path}-${t}`)})}),!t&&!s&&(0,q.jsxs)(q.Fragment,{children:[A&&(0,q.jsx)(`button`,{onClick:O,className:`w-9 h-9 rounded-xl border border-[var(--panel-border)] hover:bg-foreground/5 transition-all text-foreground/60 hover:text-foreground flex items-center justify-center shadow-sm shrink-0 cursor-pointer`,"aria-label":`Toggle Theme`,children:D===`dark`?(0,q.jsx)(mt,{className:`w-4 h-4`}):(0,q.jsx)(ut,{className:`w-4 h-4`})}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2.5 shrink-0`,children:[!re&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(X.Link,{to:`/login`,className:`flex text-[14px] font-bold tracking-wide text-foreground/80 hover:text-accent transition-colors px-3 py-1.5 shrink-0`,children:`Sign In`}),(0,q.jsx)(X.Link,{to:`/register`,className:`flex text-[13px] md:text-[14px] font-bold tracking-wide px-4 py-1.5 md:px-5 md:py-2 rounded-xl btn-primary transition-all duration-300 hover:shadow-lg hover:-translate-y-0.5 active:scale-95 items-center justify-center ml-2 shrink-0`,children:`Get Started`})]}),re&&(0,q.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,q.jsx)(`button`,{onClick:()=>_(h===`guest`?!1:`guest`),"aria-label":`Open menu`,"aria-expanded":h===`guest`,className:`w-9 h-9 rounded-xl glass-panel glow-hover border transition-all flex items-center justify-center ${h===`guest`?`border-accent bg-foreground/5`:`border-[var(--panel-border)] hover:bg-foreground/5`}`,children:(0,q.jsx)(ot,{className:`w-5 h-5 text-accent/80`})}),(0,q.jsx)(r.it,{children:h===`guest`&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>_(!1)}),(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:-10,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,scale:.95},className:`absolute top-full right-0 mt-3 w-[220px] p-2 glass-popover border border-[var(--panel-border)] rounded-2xl z-50 flex flex-col gap-1 origin-top-right`,children:[(0,q.jsx)(j,{pages:ne,phone:!0,onNavigate:()=>_(!1)}),(0,q.jsx)(`div`,{className:`pt-2 mt-1 border-t border-[var(--panel-border)]/50 flex flex-col gap-1`,children:(0,q.jsxs)(X.Link,{to:`/login`,onClick:()=>_(!1),className:`flex items-center gap-3 px-3 py-2.5 rounded-xl hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all w-full`,children:[(0,q.jsx)(a.o,{className:`w-4 h-4 text-accent/70`}),` `,(0,q.jsx)(`span`,{className:`text-[14px] font-semibold`,children:`Sign In`})]})})]})]})})]})]})]}),!t&&p&&s&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,q.jsx)(Gt,{}),A&&(0,q.jsx)(`button`,{onClick:O,className:`w-9 h-9 rounded-xl border border-[var(--panel-border)] hover:bg-foreground/5 transition-all text-foreground/60 hover:text-foreground flex items-center justify-center shadow-sm shrink-0 cursor-pointer`,"aria-label":`Toggle Theme`,children:D===`dark`?(0,q.jsx)(mt,{className:`w-4 h-4`}):(0,q.jsx)(ut,{className:`w-4 h-4`})}),(0,q.jsxs)(`div`,{className:`relative z-50 flex-shrink-0`,children:[(0,q.jsxs)(`button`,{onClick:()=>_(h===`user`?!1:`user`),className:`flex items-center gap-2 group p-0.5 sm:p-1 sm:pr-2.5 rounded-full hover:bg-foreground/5 transition-all duration-300 cursor-pointer sm:border ${h===`user`?`sm:border-accent/50 sm:bg-foreground/5`:`sm:border-[var(--panel-border)] sm:hover:border-accent/30`}`,children:[(0,q.jsx)(`div`,{className:`w-8 h-8 md:w-9 md:h-9 rounded-full bg-accent/10 flex items-center justify-center overflow-hidden border sm:border-0 transition-colors shrink-0 text-accent ${h===`user`?`border-accent/50`:`border-[var(--panel-border)] group-hover:border-accent/30`}`,children:s.photoURL&&!C?(0,q.jsx)(r.k,{src:s.photoURL,alt:`Profile`,className:`w-full h-full`,onError:()=>w(!0)}):(0,q.jsx)(vt,{className:`w-4 h-4 md:w-5 md:h-5 text-accent`})}),(0,q.jsx)(`div`,{className:`max-sm:hidden sm:flex text-left mr-1 items-center min-w-[70px] max-w-[160px]`,children:(0,q.jsx)(`span`,{className:`text-[12px] font-extrabold leading-tight text-foreground truncate w-full`,children:E})})]}),(0,q.jsx)(r.it,{children:h===`user`&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>_(!1)}),(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:-5,scale:.98},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,scale:.98,y:-5},className:`absolute top-full mt-2 right-0 w-[280px] md:w-[320px] max-h-[calc(100svh-6rem)] overflow-y-auto overscroll-contain glass-popover border border-[var(--panel-border)] rounded-2xl p-2 z-50 flex flex-col origin-top-right`,children:[(0,q.jsxs)(`div`,{className:`p-3 border-b border-[var(--panel-border)]/50 mb-1 flex flex-col gap-1.5`,children:[(0,q.jsx)(`span`,{className:`font-bold text-[15px] text-foreground truncate`,children:E}),(0,q.jsx)(`span`,{className:`text-[12px] text-foreground/50 truncate font-mono`,children:s.email})]}),(0,q.jsxs)(`div`,{className:`py-1`,children:[(0,q.jsxs)(X.Link,{to:`/dashboard`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,q.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,q.jsx)(S._,{className:`w-3 h-3 text-accent`})}),`Dashboard`]}),(0,q.jsx)(bn,{onNavigate:()=>_(!1)}),m&&(0,q.jsxs)(X.Link,{to:`/assets`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,q.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,q.jsx)(i.k,{className:`w-3 h-3 text-accent`})}),`Assets`]}),c===`admin`&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(X.Link,{to:`/users`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,q.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,q.jsx)(i.S,{className:`w-3 h-3 text-accent`})}),`Users`]}),(0,q.jsxs)(X.Link,{to:`/inbox`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,q.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,q.jsx)(i.O,{className:`w-3 h-3 text-accent`})}),`Inbox`]}),(0,q.jsxs)(X.Link,{to:`/pages`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,q.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,q.jsx)(n.g,{className:`w-3 h-3 text-accent`})}),`Pages`]}),(0,q.jsxs)(X.Link,{to:`/publish`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,q.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,q.jsx)(i.w,{className:`w-3 h-3 text-accent`})}),`Publish App`]}),(0,q.jsxs)(X.Link,{to:`/setup`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,q.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,q.jsx)(bt,{className:`w-3 h-3 text-accent`})}),`Setup`]})]}),c!==`admin`&&(0,q.jsxs)(X.Link,{to:`/support`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3 text-left`,children:[(0,q.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,q.jsx)(We,{className:`w-3 h-3 text-accent`})}),I]}),(0,q.jsx)(yn,{onNavigate:()=>_(!1)}),(0,q.jsxs)(X.Link,{to:`/profile`,onClick:()=>_(!1),className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-semibold tracking-wide hover:bg-foreground/5 text-foreground/80 hover:text-foreground transition-all gap-3`,children:[(0,q.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,q.jsx)(vt,{className:`w-3 h-3 text-accent`})}),`Profile Settings`]})]}),(0,q.jsx)(`div`,{className:`pt-1 mt-1 border-t border-[var(--panel-border)]/50`,children:(0,q.jsxs)(`button`,{onClick:M,className:`flex items-center w-full px-3 py-2.5 rounded-xl text-[13px] font-bold tracking-wide hover:bg-red-500/10 hover:text-red-500 text-foreground/70 transition-all gap-3`,children:[(0,q.jsx)(`span`,{className:`w-5 h-5 rounded-md bg-red-500/5 flex items-center justify-center shrink-0 text-red-500`,children:(0,q.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,className:`w-3 h-3`,children:[(0,q.jsx)(`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`}),(0,q.jsx)(`polyline`,{points:`16 17 21 12 16 7`}),(0,q.jsx)(`line`,{x1:`21`,y1:`12`,x2:`9`,y2:`12`})]})}),`Sign Out`]})})]})]})})]})]}),t&&(0,q.jsx)(q.Fragment,{children:A&&(0,q.jsx)(`button`,{onClick:O,className:`w-9 h-9 rounded-xl border border-[var(--panel-border)] hover:bg-foreground/5 transition-all text-foreground/60 hover:text-foreground flex items-center justify-center shadow-sm shrink-0 cursor-pointer`,"aria-label":`Toggle Theme`,children:D===`dark`?(0,q.jsx)(mt,{className:`w-4 h-4`}):(0,q.jsx)(ut,{className:`w-4 h-4`})})})]})]})}var Nn=`https://www.youtube.com/watch?v=Xl271wWblkY`;function Pn(){let[e,t]=(0,K.useState)(null),[n,i]=(0,K.useState)(!1);return(0,q.jsxs)(`main`,{className:`flex-1 flex flex-col items-center justify-center w-full px-4 md:px-8 mb-16 md:mb-24 z-10 relative`,children:[(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-center mb-8 md:mb-12`,children:[(0,q.jsxs)(r.rt.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},transition:{delay:.2},className:`inline-flex items-center gap-2 md:gap-3 px-5 md:px-6 py-2 md:py-2.5 mb-8 md:mb-10 text-[13px] md:text-[15px] font-semibold tracking-wide uppercase rounded-full glass-panel text-foreground glow-hover cursor-pointer`,children:[(0,q.jsx)(c.B,{className:`w-4 h-4 text-accent`}),` Build your whole app without code`]}),(0,q.jsx)(r.rt.h1,{className:`text-4xl sm:text-5xl md:text-6xl lg:text-[4.5rem] font-extrabold tracking-tight mb-6 md:mb-8 text-gradient animate-float leading-[1.1] md:leading-[1.15] px-2`,children:`Your AI Firebase`}),(0,q.jsx)(`p`,{className:`text-[14px] sm:text-[15px] md:text-lg lg:text-xl text-foreground/60 max-w-3xl mx-auto font-medium leading-[1.6] md:leading-[1.7] mb-10 md:mb-14 px-6 md:px-4`,children:`Everything your next app needs is already built — sign-ins, pages, payments, bookings, emails and files. Say what you want in plain words and watch it appear. No code, no servers, nothing to set up.`}),(0,q.jsxs)(r.rt.div,{className:`flex flex-col sm:flex-row items-center justify-center gap-4 sm:gap-6 w-full max-w-2xl mx-auto px-6`,initial:{opacity:0},animate:{opacity:1},transition:{delay:.5},children:[(0,q.jsx)(X.Link,{to:`/login`,style:{borderRadius:`var(--btn-radius, 0.75rem)`},className:`w-full sm:w-auto px-6 md:px-8 py-3 md:py-3.5 font-semibold tracking-wide btn-primary text-[15px] shadow-xl transition-all duration-300 hover:-translate-y-1 active:scale-95 flex items-center justify-center`,children:`Sign In to Build`}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>i(!0),style:{borderRadius:`var(--btn-radius, 0.75rem)`},className:`group w-full sm:w-auto px-6 md:px-8 py-3 md:py-3.5 font-semibold tracking-wide btn-secondary text-[15px] transition-all duration-300 flex items-center justify-center gap-2.5 hover:-translate-y-1 active:scale-95 cursor-pointer`,children:[(0,q.jsx)(`span`,{className:`w-6 h-6 rounded-full bg-accent/15 text-accent flex items-center justify-center group-hover:bg-accent/25 transition-colors`,children:(0,q.jsx)(y.r,{className:`w-3 h-3 fill-current`})}),`Watch Tutorial`]})]})]}),(0,q.jsx)(M.t,{open:n,onClose:()=>i(!1),title:`Watch the tutorial`,sub:`From an empty project to a finished app.`,size:`lg`,children:n&&(0,q.jsx)(y.t,{src:Nn,title:`Watch the tutorial`,autoPlay:!0})}),(0,q.jsx)(r.it,{children:e&&(0,q.jsx)(g.t,{onClose:()=>t(null),formId:e})})]})}var Fn=[.16,1,.3,1],In={hidden:{opacity:0,y:10},shown:{opacity:1,y:0,transition:{duration:.35,ease:Fn,delayChildren:.08,staggerChildren:.05}}},Ln={hidden:{opacity:0,y:8},shown:{opacity:1,y:0,transition:{duration:.35,ease:Fn}}};function Rn({width:e=`max-w-[480px]`,className:t,children:n}){let i=r.nt();return(0,q.jsxs)(r.rt.div,{initial:i?!1:`hidden`,animate:`shown`,variants:In,className:r.et(`w-full p-6 sm:p-8 md:p-10 rounded-3xl glass-panel relative shadow-[0_8px_32px_rgba(0,0,0,0.08)]`,e,t),children:[(0,q.jsx)(`div`,{className:`absolute -inset-[1px] bg-gradient-to-br from-[var(--primary-glow)] to-transparent opacity-30 blur-[20px] rounded-3xl -z-10`}),n]})}function zn({className:e,children:t}){return(0,q.jsx)(r.rt.div,{variants:Ln,className:e,children:t})}function Bn({show:e,className:t,children:n}){let i=r.nt();return(0,q.jsx)(r.rt.div,{className:t,initial:i?!1:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.25,ease:Fn},children:n},e)}function Vn({title:e,line:t,as:n=`h3`,align:i=`center`,className:a}){return(0,q.jsxs)(zn,{className:r.et(`mb-6 sm:mb-7`,i===`center`?`text-center`:`text-left`,a),children:[(0,q.jsx)(n,{className:`text-[22px] sm:text-2xl font-semibold tracking-tight text-foreground leading-snug`,children:e}),t&&(0,q.jsx)(`p`,{className:`mt-1.5 text-[14px] text-foreground/60 leading-relaxed`,children:t})]})}function Hn({className:e,children:t}){return(0,q.jsx)(zn,{className:r.et(`mt-6 pt-5 border-t border-[var(--panel-border)] text-center`,e),children:t})}var Un=`text-[14px] text-foreground/60`,Wn=`text-accent font-semibold hover:underline ml-1`;function Gn(){return(0,q.jsxs)(`div`,{"aria-busy":`true`,className:`flex flex-col gap-3.5`,children:[(0,q.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),(0,q.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),(0,q.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl opacity-60`})]})}function Kn({problem:e,onUse:t,signInHref:n}){let i=t&&e.tryInstead&&e.tryInstead!==`password`?e.tryInstead:null,a=i?b.t[i]:null;return(0,q.jsxs)(x.t,{className:`mb-4`,children:[e.text,e.tryInstead===`password`&&n&&(0,q.jsx)(X.Link,{to:n,className:`mt-2 block font-bold text-accent hover:underline`,children:`Go to the sign-in page`}),i&&a&&t&&(0,q.jsxs)(`button`,{type:`button`,onClick:()=>t(i),className:`mt-2.5 w-full flex items-center justify-center gap-2 py-2 rounded-lg text-[13px] font-bold text-foreground bg-foreground/[0.06] hover:bg-foreground/10 transition-colors cursor-pointer`,children:[(0,q.jsx)(a,{className:`w-4 h-4 shrink-0`}),r.pn(i)?.button??`Use that instead`]})]})}function qn({value:e,onChange:t,label:n=`The code we texted you`,autoFocus:r}){return(0,q.jsx)(g.y,{name:`code`,label:n,inputMode:`numeric`,autoComplete:`one-time-code`,placeholder:`123456`,className:`max-sm:h-11 tracking-[0.3em] font-bold`,value:e,onChange:e=>t(e.target.value),autoFocus:r,required:!0})}function Jn({step:e,onSignedIn:t,onCancel:n}){let[i,a]=(0,K.useState)(!0),[o,s]=(0,K.useState)(!1),[c,d]=(0,K.useState)(``),[f,p]=(0,K.useState)(``),[m,h]=(0,K.useState)(null),g=(0,K.useRef)(null),_=(0,K.useRef)(!1),v=async e=>{h(await r.qt(e,`sms2fa`,`That code could not be checked. Ask for a new one.`))},y=async()=>{h(null),a(!0);try{d(await e.send(g.current))}catch(e){await v(e)}finally{a(!1)}};return(0,K.useEffect)(()=>{_.current||(_.current=!0,y())},[]),(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2},children:[(0,q.jsx)(`div`,{ref:g}),m&&(0,q.jsx)(Kn,{problem:m}),(0,q.jsxs)(`div`,{className:`text-center mb-5`,children:[(0,q.jsx)(`p`,{className:`text-[15px] font-semibold text-foreground mb-1`,children:`One more step`}),(0,q.jsx)(`p`,{className:`text-[13.5px] text-foreground/60 leading-relaxed`,children:e.phone?(0,q.jsxs)(q.Fragment,{children:[`We texted a code to `,(0,q.jsx)(`span`,{className:`font-semibold text-foreground/80`,children:e.phone}),`. Type it in and you are in.`]}):(0,q.jsx)(q.Fragment,{children:`We texted you a code. Type it in and you are in.`})})]}),(0,q.jsxs)(`form`,{onSubmit:async n=>{n.preventDefault(),h(null),s(!0);try{await e.finish(c,f.trim()),t()}catch(e){await v(e),s(!1)}},className:`flex flex-col gap-4`,children:[(0,q.jsx)(qn,{value:f,onChange:p,autoFocus:!0}),(0,q.jsxs)(N.t,{type:`submit`,className:`w-full py-3 text-[15px] font-semibold`,isLoading:o||i,disabled:i||o||!c,children:[`Sign me in `,(0,q.jsx)(u.t,{className:`ml-2 w-4 h-4 shrink-0`})]})]}),(0,q.jsx)(`button`,{type:`button`,onClick:y,disabled:i||o,className:`mt-3 w-full text-[13px] font-bold text-accent hover:underline disabled:opacity-40 disabled:no-underline cursor-pointer disabled:cursor-default`,children:`Send it again`}),n&&(0,q.jsxs)(`button`,{type:`button`,onClick:n,className:`mt-2 w-full inline-flex items-center justify-center gap-1.5 text-[13px] font-bold text-foreground/50 hover:text-accent transition-colors cursor-pointer`,children:[(0,q.jsx)(l.t,{className:`w-3.5 h-3.5 shrink-0`}),`Another way in`]})]})}var Yn=`password`,Xn=e=>!!e?.providerData?.some(e=>e?.providerId===Yn),Zn=e=>{let t=r.li?.currentUser;return t&&(!e||t.uid===e.uid)?t:e};function Qn(e){let t=Zn(e);if(!t)return[];try{return(0,J.multiFactor)(t).enrolledFactors??[]}catch{return[]}}var $n=e=>Qn(e).length>0;function er(e){let t=Qn(e)[0];return t?.phoneNumber||t?.displayName||``}var tr=e=>!!e&&Xn(e)&&!$n(e),nr=(e,t)=>t&&tr(e),rr=`firebase-os:two-step-not-now`;function ir(e){if(e)try{sessionStorage.setItem(`${rr}:${e}`,`1`)}catch{}}function ar(e){if(!e)return!1;try{return sessionStorage.getItem(`${rr}:${e}`)===`1`}catch{return!1}}var or=(e,t,n)=>nr(e,t)&&!(n&&ar(e?.uid)),sr=(e,t)=>!!e&&($n(e)||t&&Xn(e)),cr=()=>{if(!r.li)throw Error(`Firebase is not initialized. Check your configuration.`);return r.li},lr=`Phone`,ur=e=>(0,J.multiFactor)(Zn(e)??e);async function dr(e,t,n){let i=await ur(e).getSession();return r.Xt(n,e=>new J.PhoneAuthProvider(cr()).verifyPhoneNumber({phoneNumber:t,session:i},e))}async function fr(e,t,n){let r=J.PhoneAuthProvider.credential(t,n);await ur(e).enroll(J.PhoneMultiFactorGenerator.assertion(r),lr)}async function pr(e){let t=ur(e);for(let e of[...t.enrolledFactors??[]])await t.unenroll(e)}function mr(e){if(e?.code!==`auth/multi-factor-auth-required`)return null;let t;try{t=(0,J.getMultiFactorResolver)(cr(),e)}catch{return null}let n=t.hints?.[0];return{phone:n?.phoneNumber||n?.displayName||``,send:e=>r.Xt(e,e=>new J.PhoneAuthProvider(cr()).verifyPhoneNumber({multiFactorHint:n,session:t.session},e)),finish:async(e,n)=>{let r=J.PhoneAuthProvider.credential(e,n);await t.resolveSignIn(J.PhoneMultiFactorGenerator.assertion(r))}}}var hr=r.si(()=>Promise.resolve().then(()=>require(`./PhoneInputField-CuMINkex.cjs`))),gr=e=>r.gn(e).filter(e=>e.id!==`password`),_r=e=>{let t=e.inSentence.replace(/^an?\s+/i,``);return t.charAt(0).toUpperCase()+t.slice(1)};function vr({settings:e,onSignedIn:t,disabled:n,returnTo:i=`/login`,onPanelChange:a,signInHref:o,sentTo:s}){let c=gr(e),f=s&&c.some(e=>e.id===`emailLink`)?s:``,[p,m]=(0,K.useState)(null),[h,_]=(0,K.useState)(null),[v,y]=(0,K.useState)(f?`emailLink`:null),[x,S]=(0,K.useState)(f),[C,w]=(0,K.useState)(f),[T,E]=(0,K.useState)(``),[D,O]=(0,K.useState)(``),[k,A]=(0,K.useState)(null),[j,M]=(0,K.useState)(null),P=(0,K.useRef)(null),ee=p!==null||n,F=v!==null||j!==null;(0,K.useEffect)(()=>{a?.(F)},[F]);let I=async(e,t)=>{let n=mr(e);if(n){M(n);return}_(await r.qt(e,t,`That did not work. Try again, or use another way in.`))};(0,K.useEffect)(()=>{let e=r.Yt();e&&I(e.err,e.id)},[]);let L=async()=>{t()},te=async e=>{if(_(null),!r.Ut(e)){y(e),O(``),A(null),w(``);return}m(e);try{await r.Jt(e)===`done`&&await L()}catch(t){await I(t,e)}finally{m(null)}},R=async e=>{e.preventDefault(),_(null),m(`emailLink`);try{await r.Gt(x.trim(),i),w(x.trim())}catch(e){await I(e,`emailLink`)}finally{m(null)}},z=async()=>{_(null),m(`phone`);try{O(``),A(await r.Kt(T.trim(),P.current))}catch(e){await I(e,`phone`)}finally{m(null)}},B=async e=>{e.preventDefault(),await z()},ne=async e=>{e.preventDefault(),_(null),m(`phone`);try{await k.confirm(D.trim()),await L()}catch(e){await I(e,`phone`)}finally{m(null)}},re=()=>{y(null),_(null),A(null),M(null),w(``),O(``)},V=()=>(0,q.jsxs)(`button`,{type:`button`,onClick:re,className:`mt-3 w-full inline-flex items-center justify-center gap-1.5 text-[13px] font-bold text-foreground/50 hover:text-accent transition-colors cursor-pointer`,children:[(0,q.jsx)(l.t,{className:`w-3.5 h-3.5 shrink-0`}),`Another way in`]}),H=c.length===1&&!e.on.password;return(0,q.jsxs)(`div`,{children:[h&&(0,q.jsx)(Kn,{problem:h,onUse:te,signInHref:o}),(0,q.jsx)(`div`,{ref:P}),j?(0,q.jsx)(Jn,{step:j,onSignedIn:t,onCancel:H&&!v?void 0:re}):v?(0,q.jsx)(r.rt.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2},children:(e=>e===`emailLink`?C?(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`rounded-2xl border border-[var(--panel-border)] bg-foreground/[0.02] px-5 py-6 sm:py-7 text-center`,children:[(0,q.jsx)(`div`,{className:`w-12 h-12 mx-auto mb-4 rounded-2xl flex items-center justify-center bg-accent/10 text-accent ring-1 ring-inset ring-accent/20`,children:(0,q.jsx)(d.t,{className:`w-[22px] h-[22px]`})}),(0,q.jsx)(`p`,{className:`text-[16px] sm:text-[17px] font-extrabold tracking-tight text-foreground`,children:`Check your email`}),(0,q.jsx)(`p`,{className:`mt-1.5 text-[13px] text-foreground/50 font-medium`,children:`We sent a sign-in link to`}),(0,q.jsx)(`p`,{className:`mt-1 text-[14px] font-bold text-foreground break-all leading-snug`,children:C}),(0,q.jsx)(`p`,{className:`mt-3.5 text-[12.5px] text-foreground/50 font-medium leading-relaxed`,children:`Open it and you are in — there is no password to think of.`})]}),(0,q.jsxs)(`div`,{className:`mt-4 flex items-center justify-center gap-3 text-[13px] font-bold`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>w(``),className:`text-accent hover:underline cursor-pointer`,children:`Send it again`}),!H&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`w-[1px] h-3.5 bg-[var(--panel-border)]`}),(0,q.jsxs)(`button`,{type:`button`,onClick:re,className:`inline-flex items-center gap-1.5 text-foreground/50 hover:text-accent transition-colors cursor-pointer`,children:[(0,q.jsx)(l.t,{className:`w-3.5 h-3.5 shrink-0`}),`Another way in`]})]})]})]}):(0,q.jsxs)(`form`,{onSubmit:R,className:`space-y-3`,children:[(0,q.jsx)(g.y,{name:`linkEmail`,label:`Your email`,type:`email`,placeholder:`name@example.com`,className:`max-sm:h-11`,value:x,onChange:e=>S(e.target.value),autoFocus:!H,required:!0}),(0,q.jsxs)(N.t,{type:`submit`,className:`w-full py-2.5 sm:py-3 text-[15px] font-bold tracking-wide rounded-xl`,isLoading:p===`emailLink`,children:[`Email me a link `,(0,q.jsx)(u.t,{className:`ml-2 w-4 h-4 shrink-0`})]}),!H&&(0,q.jsx)(V,{})]}):e===`phone`?(0,q.jsxs)(`div`,{children:[k?(0,q.jsxs)(`form`,{onSubmit:ne,className:`space-y-3`,children:[(0,q.jsx)(qn,{value:D,onChange:O,autoFocus:!0}),(0,q.jsxs)(N.t,{type:`submit`,className:`w-full py-2.5 sm:py-3 text-[15px] font-bold tracking-wide rounded-xl`,isLoading:p===`phone`,children:[`Sign me in `,(0,q.jsx)(u.t,{className:`ml-2 w-4 h-4 shrink-0`})]}),(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-3 text-[13px] font-bold`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:z,disabled:p===`phone`,className:`text-accent hover:underline disabled:opacity-40 disabled:no-underline cursor-pointer disabled:cursor-default`,children:`Send it again`}),(0,q.jsx)(`span`,{className:`w-[1px] h-3.5 bg-[var(--panel-border)]`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>{A(null),O(``),_(null)},className:`text-foreground/50 hover:text-accent transition-colors cursor-pointer`,children:`Use a different number`})]})]}):(0,q.jsxs)(`form`,{onSubmit:B,className:`space-y-3`,children:[(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),children:(0,q.jsx)(hr,{field:{label:`Your phone number`,required:!0,placeholder:`7700 900123`},value:T,onChange:E})}),(0,q.jsxs)(N.t,{type:`submit`,className:`w-full py-2.5 sm:py-3 text-[15px] font-bold tracking-wide rounded-xl`,isLoading:p===`phone`,children:[`Text me a code `,(0,q.jsx)(u.t,{className:`ml-2 w-4 h-4 shrink-0`})]})]}),!H&&(0,q.jsx)(V,{})]}):null)(v)}):c.length>3?(0,q.jsx)(`div`,{className:`flex flex-wrap justify-center gap-2 sm:gap-2.5`,children:c.map(e=>{let t=b.t[e.id];return(0,q.jsxs)(N.t,{variant:`secondary`,onClick:()=>te(e.id),title:e.button,"aria-label":e.button,isLoading:p===e.id,disabled:ee,className:`w-[88px] h-[68px] !px-1.5 text-[11px] font-bold tracking-tight rounded-xl transition-all hover:-translate-y-0.5 [&>span]:flex-col [&>span]:gap-1.5 [&>span]:w-full`,children:[(0,q.jsx)(t,{className:`w-[22px] h-[22px] shrink-0`}),(0,q.jsx)(`span`,{className:`w-full truncate text-center leading-none`,children:_r(e)})]},e.id)})}):(0,q.jsx)(`div`,{className:`space-y-3`,children:c.map(e=>{let t=b.t[e.id];return(0,q.jsxs)(N.t,{variant:`secondary`,onClick:()=>te(e.id),isLoading:p===e.id,disabled:ee,className:`w-full py-2.5 sm:py-3 text-[15px] sm:text-base font-bold tracking-wide rounded-xl transition-all hover:-translate-y-0.5`,children:[(0,q.jsx)(t,{className:`w-5 h-5 shrink-0`}),e.button]},e.id)})})]})}function yr({email:e,onSignedIn:t,onStartOver:n}){let[i,a]=(0,K.useState)(e),[o,s]=(0,K.useState)(!1),[c,d]=(0,K.useState)(null),[f,p]=(0,K.useState)(null);return f?(0,q.jsx)(Jn,{step:f,onSignedIn:t,onCancel:n}):(0,q.jsxs)(`div`,{children:[c&&(0,q.jsx)(Kn,{problem:c}),(0,q.jsx)(`p`,{className:`text-[13.5px] text-foreground/60 font-medium leading-relaxed mb-4`,children:`Nearly there. This link did not bring your address with it, so tell us the one you asked us to send it to and you are in.`}),(0,q.jsxs)(`form`,{onSubmit:async e=>{e.preventDefault(),d(null),s(!0);try{await r.Ht(i.trim()),t()}catch(e){let t=mr(e);if(t){p(t);return}d(await r.qt(e,`emailLink`,`That link did not work. Ask for a new one.`,{email:i.trim()})),s(!1)}},className:`space-y-3`,children:[(0,q.jsx)(g.y,{name:`linkEmail`,label:`Your email`,type:`email`,placeholder:`name@example.com`,className:`max-sm:h-11`,value:i,onChange:e=>a(e.target.value),autoFocus:!0,required:!0}),(0,q.jsxs)(N.t,{type:`submit`,className:`w-full py-2.5 sm:py-3 text-[15px] font-bold tracking-wide rounded-xl`,isLoading:o,children:[`Sign me in `,(0,q.jsx)(u.t,{className:`ml-2 w-4 h-4 shrink-0`})]}),n&&(0,q.jsxs)(`button`,{type:`button`,onClick:n,className:`mt-3 w-full inline-flex items-center justify-center gap-1.5 text-[13px] font-bold text-foreground/50 hover:text-accent transition-colors cursor-pointer`,children:[(0,q.jsx)(l.t,{className:`w-3.5 h-3.5 shrink-0`}),`Ask for a new link, or sign in another way`]})]})]})}var br=`Signing you in…`;function xr({note:e=`One moment.`}){return(0,q.jsxs)(`div`,{"aria-busy":`true`,className:`py-6 flex flex-col items-center gap-4 text-center`,children:[(0,q.jsx)(P.t,{}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`p`,{className:`text-[14px] font-medium text-foreground`,children:br}),(0,q.jsx)(`p`,{className:`mt-1 text-[13px] text-foreground/55`,children:e})]})]})}function Sr(){let[e,t]=(0,K.useState)(!1),n=(0,X.useNavigate)();return{settling:e,signedIn:()=>{r.Bt();let e=r.li?.currentUser;if(e&&!o.un(e)){n(`/verify`,{replace:!0});return}t(!0)}}}var Cr=[{id:`length`,label:`At least 8 characters`,ok:e=>e.length>=8},{id:`case`,label:`An uppercase and a lowercase letter`,ok:e=>/[a-z]/.test(e)&&/[A-Z]/.test(e)},{id:`number`,label:`A number`,ok:e=>/[0-9]/.test(e)}],wr=new Set(`password1.password12.password123.password1234.passw0rd1.p@ssword1.p@ssw0rd1.test1234.test12345.testing123.test123456.qwerty123.qwerty1234.abcd1234.abc12345.welcome1.welcome123.admin123.admin1234.letmein123.iloveyou1.monkey123.football1.changeme1.secret123.summer2024.summer2025`.split(`.`)),Tr=e=>e.toLowerCase().replace(/[\s._-]/g,``),Er=e=>wr.has(Tr(e||``)),Dr=e=>Cr.map(t=>({rule:t,met:t.ok(e||``)}));function Or(e){let t=e||``;if(!t)return`Choose a password.`;let n=Cr.find(e=>!e.ok(t));return n?`Your password needs ${n.label.toLowerCase()}.`:Er(t)?`That password is one of the first anyone would guess. Please pick another.`:``}function kr(e,t){return t?e===t?``:`Both passwords must be the same.`:`Type your password a second time.`}function Ar({value:e,className:t=``}){return(0,q.jsx)(`ul`,{className:`flex flex-col gap-1 ml-1 ${t}`,"aria-label":`Password requirements`,children:Dr(e).map(({rule:e,met:t})=>(0,q.jsxs)(`li`,{className:`flex items-center gap-2 text-[12.5px] font-medium transition-colors ${t?`text-emerald-500`:`text-foreground/45`}`,children:[t?(0,q.jsx)(r.jt,{className:`w-3.5 h-3.5 shrink-0`}):(0,q.jsx)(`span`,{className:`w-3.5 flex justify-center shrink-0`,children:(0,q.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-foreground/25`})}),e.label]},e.id))})}var jr=`again`,Mr=e=>`This account is half-made: nothing has been saved to it, and nothing can be until ${e||`the address on it`} is proved. Letting it go frees that address and takes you back to the form, where you fill in your details again with the address you want — and the next link goes to that one.`,Nr=(e=window.location.pathname)=>`${e.replace(/\/+$/,``).replace(/\/[^/]*$/,``)}/register?${jr}=1`;async function Pr(e){let t=e||r.li.currentUser;if(t){r.En(t.uid);try{await(0,J.deleteUser)(t)}catch{await(0,J.signOut)(r.li).catch(()=>{})}}window.location.assign(Nr())}function Fr({as:e}={}){let[t,n]=(0,K.useState)(!1),[i,a]=(0,K.useState)(null),[o,s]=(0,K.useState)(``),[c,l]=(0,K.useState)(``),[u,d]=(0,K.useState)(``),[f,p]=(0,K.useState)(``),[m,h]=(0,K.useState)(!1),_=(0,X.useNavigate)(),[v]=(0,X.useSearchParams)(),{registerUser:y}=r.It(),b=r.wn(),{settling:S,signedIn:C}=Sr(),w=v.has(jr),T=(()=>{let e=new URLSearchParams(v);e.delete(`as`);let t=e.toString();return`/register${t?`?${t}`:``}`})(),E=async e=>{e.preventDefault(),n(!0),a(null);let t=new FormData(e.currentTarget),i=t.get(`email`),s=t.get(`firstName`),l=t.get(`lastName`),u=Or(o),f=u?``:kr(o,c);if(d(u),p(f),u||f){a(u||f),n(!1);return}try{await y(i,o,s,l),_(`/verify`)}catch(e){e?.code===`auth/email-already-in-use`?a((0,q.jsxs)(`span`,{children:[(await r.qt(e,`password`,``,{email:i})).text,` `,(0,q.jsx)(X.Link,{to:`/login?email=${encodeURIComponent(i)}`,className:`font-bold`,children:`Sign in`})]})):e?.code===`auth/weak-password`?a(Or(o)||`Please choose a stronger password.`):a((await r.qt(e,`password`,`That did not work. Check your details and try again.`,{email:i})).text)}finally{n(!1)}},D=r.vn(b),O=gr(b),k=S?`signing`:b.loading?`loading`:`form`;return(0,q.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mt-6 mb-8 md:mt-0 md:mb-0 md:pt-8 md:pb-32`,children:(0,q.jsxs)(Rn,{width:`max-w-[500px]`,children:[(0,q.jsx)(Vn,{title:e?r.on(e.id,e.name):`Create an account`,line:e?r.Zt:`Join Your AI Firebase and start building today.`}),i&&(0,q.jsx)(x.t,{className:`mb-5`,children:i}),!i&&w&&(0,q.jsx)(x.t,{tone:`note`,className:`mb-5`,children:`Start again with the address you want. Nothing was saved to the one you began with, and the next link goes wherever you type here.`}),(0,q.jsx)(zn,{children:(0,q.jsx)(Bn,{show:k,children:S?(0,q.jsx)(xr,{}):b.loading?(0,q.jsx)(Gn,{}):(0,q.jsxs)(q.Fragment,{children:[D&&!m&&(0,q.jsxs)(`form`,{className:`flex flex-col gap-5`,onSubmit:E,children:[(0,q.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-5`,children:[(0,q.jsx)(g.y,{name:`firstName`,label:`First Name`,type:`text`,placeholder:`John`,className:`max-sm:h-11`,required:!0}),(0,q.jsx)(g.y,{name:`lastName`,label:`Last Name`,type:`text`,placeholder:`Doe`,className:`max-sm:h-11`,required:!0})]}),(0,q.jsx)(g.y,{name:`email`,label:`Email`,type:`email`,placeholder:`name@example.com`,className:`max-sm:h-11`,required:!0}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,q.jsx)(g.y,{name:`password`,label:`Password`,type:`password`,placeholder:`••••••••`,className:`max-sm:h-11`,autoComplete:`new-password`,value:o,onChange:e=>{s(e.target.value),u&&d(``),f&&e.target.value===c&&p(``)},onBlur:()=>d(o?Or(o):``),error:u,required:!0}),o&&(0,q.jsx)(Ar,{value:o})]}),o&&(0,q.jsx)(g.y,{name:`confirmPassword`,label:`Confirm password`,type:`password`,placeholder:`••••••••`,className:`max-sm:h-11`,autoComplete:`new-password`,value:c,onChange:e=>{l(e.target.value),f&&p(``)},onBlur:()=>p(c?kr(o,c):``),error:f,required:!0}),(0,q.jsx)(`div`,{className:`pt-1`,children:(0,q.jsx)(N.t,{type:`submit`,className:`w-full py-3 text-[15px] font-semibold`,isLoading:t,children:`Create Account`})})]}),D&&O.length>0&&!m&&(0,q.jsxs)(`div`,{className:`flex items-center gap-3 my-6`,children:[(0,q.jsx)(`span`,{className:`h-[1px] flex-1 bg-[var(--panel-border)]`}),(0,q.jsx)(`span`,{className:`text-[13px] font-medium text-foreground/40`,children:`or`}),(0,q.jsx)(`span`,{className:`h-[1px] flex-1 bg-[var(--panel-border)]`})]}),O.length>0&&(0,q.jsx)(vr,{settings:b,onSignedIn:C,disabled:t,returnTo:`/login`,onPanelChange:h,signInHref:`/login`})]})})}),(0,q.jsxs)(Hn,{className:`space-y-2`,children:[e&&(0,q.jsxs)(`p`,{className:`text-[14px] text-foreground/60`,children:[`Registering as something else? `,(0,q.jsx)(X.Link,{to:T,className:`text-accent font-semibold hover:underline ml-1`,children:`Choose again`})]}),(0,q.jsxs)(`p`,{className:Un,children:[`Already have an account? `,(0,q.jsx)(X.Link,{to:`/login`,className:Wn,children:`Sign in`})]})]})]})})}var Ir=`member`;function Lr(e,t){let n=new URLSearchParams(e);return n.set(`as`,t),`/register?${n.toString()}`}function Rr({choices:e,search:t=``}){let i=e.length>3;return(0,q.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mt-6 mb-8 md:mt-0 md:mb-0 md:pt-8 md:pb-32`,children:(0,q.jsxs)(Rn,{width:i?`max-w-[640px]`:`max-w-[500px]`,children:[(0,q.jsx)(Vn,{title:`Create an account`,line:`What are you registering as?`}),(0,q.jsxs)(zn,{children:[(0,q.jsx)(`div`,{role:`list`,"aria-label":`Register as`,className:`grid gap-3 ${i?`grid-cols-1 sm:grid-cols-2`:`grid-cols-1`}`,children:e.map((a,o)=>{let s=i&&e.length%2==1&&o===e.length-1;return(0,q.jsxs)(X.Link,{role:`listitem`,to:Lr(t,a.id),className:`group flex items-center gap-3.5 min-w-0 px-4 py-3.5 rounded-2xl border border-[var(--panel-border)] bg-foreground/[0.02] hover:border-accent/50 hover:bg-foreground/[0.03] active:scale-[0.99] transition-all duration-300 ${s?`sm:col-span-2`:``}`,children:[(0,q.jsx)(n.c,{name:te.u(a.id),className:`w-[18px] h-[18px] shrink-0 text-accent`}),(0,q.jsx)(`span`,{className:`flex-1 min-w-0 text-[14.5px] font-semibold text-foreground leading-snug tracking-tight`,children:r.on(a.id,a.name)}),(0,q.jsx)(u.t,{className:`w-4 h-4 shrink-0 text-foreground/30 group-hover:text-accent group-hover:translate-x-0.5 transition-all`})]},a.id)})}),(0,q.jsx)(`p`,{className:`mt-4 text-[13px] text-foreground/50 text-center leading-relaxed`,children:r.Zt})]}),(0,q.jsxs)(Hn,{className:`space-y-2`,children:[(0,q.jsxs)(`p`,{className:Un,children:[`Just want an account?`,(0,q.jsx)(X.Link,{to:Lr(t,Ir),className:Wn,children:`Register as a member`})]}),(0,q.jsxs)(`p`,{className:Un,children:[`Already have an account?`,(0,q.jsx)(X.Link,{to:`/login`,className:Wn,children:`Sign in`})]})]})]})})}function zr({settings:e}){let t=te.l(),[n]=(0,X.useSearchParams)(),i=n.get(`as`),a=r.xn(e,t),o=i?r.bn(e,i,t):null,s=n.has(`preview`)?``:o?.id??``;return(0,K.useEffect)(()=>{e.loading||(s?r.sn(s):r.in())},[e.loading,s]),e.loading?(0,q.jsx)(Fr,{}):o?(0,q.jsx)(Fr,{as:o}):a.length&&!i?(0,q.jsx)(Rr,{choices:a,search:n.toString()}):(0,q.jsx)(Fr,{})}function Br(){let e=r.wn();return!e.loading&&!e.registerAs.on?(r.in(),(0,q.jsx)(Fr,{})):(0,q.jsx)(zr,{settings:e})}function Vr(){let[e,t]=(0,K.useState)(!1),[n,i]=(0,K.useState)(null),[a]=(0,X.useSearchParams)(),o=(0,X.useNavigate)(),[s]=(0,K.useState)(a.get(`email`)||``),[c]=(0,K.useState)(()=>a.get(`sent`)===`1`&&!!a.get(`email`)),[l]=(0,K.useState)(()=>a.get(`from`)||``),u=r.wn(),{loading:d}=r.It(),[f,p]=(0,K.useState)(()=>r.Vt()?`finishing`:`no`),[m,h]=(0,K.useState)(null),[_,v]=(0,K.useState)(!1),y=()=>{p(`no`),h(null),i(null),o(`/login`,{replace:!0})},{settling:b,signedIn:S}=Sr();(0,K.useEffect)(()=>{if(f!==`finishing`||d)return;let e=r.Wt();if(!e){p(`asking`);return}let t=!1;return r.Ht(e).then(()=>{t||S()}).catch(e=>{if(t)return;let n=mr(e);if(n){h(n);return}p(`asking`)}),()=>{t=!0}},[f,d]);let C=async e=>{e.preventDefault(),t(!0),i(null);let n=new FormData(e.currentTarget),a=n.get(`email`),o=n.get(`password`);try{if(!r.li)throw Error(`Firebase is not initialized. Check your configuration.`);await(0,J.signInWithEmailAndPassword)(r.li,a,o),S()}catch(e){let n=mr(e);if(n){h(n),t(!1);return}e?.code===`auth/invalid-credential`||e?.code===`auth/user-not-found`||e?.code===`auth/wrong-password`||e?.code===`auth/invalid-login-credentials`?i((0,q.jsxs)(`span`,{children:[`That email and password do not match.`,` `,(0,q.jsx)(X.Link,{to:`/reset-password`,children:`Reset password?`}),T.length>0&&(0,q.jsx)(q.Fragment,{children:` If you first came in with one of the buttons below, use that button instead.`})]})):i((await r.qt(e,`password`,`That did not work. Check your details and try again.`,{email:a})).text),t(!1)}},w=r.vn(u),T=gr(u),E=c&&T.some(e=>e.id===`emailLink`)?s:``,D=b||f===`finishing`&&!m,O=D?`signing`:m?`step`:f===`asking`?`asking`:u.loading?`loading`:`form`;return(0,q.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mt-6 mb-8 md:mt-0 md:mb-0 md:pt-8 md:pb-32`,children:(0,q.jsxs)(Rn,{width:`max-w-[480px]`,children:[(0,q.jsx)(Vn,{title:`Welcome back`,line:`Sign in to Your AI Firebase.`}),n&&(0,q.jsx)(x.t,{className:`mb-5`,children:n}),!n&&c&&!E&&f===`no`&&!b&&(0,q.jsxs)(x.t,{tone:`done`,className:`mb-5`,children:[`We have emailed a sign-in link to `,s,`. Open it on this device and you go straight to your order — or sign in below.`]}),(0,q.jsx)(zn,{children:(0,q.jsx)(Bn,{show:O,children:D?(0,q.jsx)(xr,{note:f===`finishing`?`One moment — your link checks out.`:void 0}):m?(0,q.jsx)(Jn,{step:m,onSignedIn:S}):f===`asking`?(0,q.jsx)(yr,{email:s,onSignedIn:S,onStartOver:y}):u.loading?(0,q.jsx)(Gn,{}):(0,q.jsxs)(q.Fragment,{children:[w&&!_&&(0,q.jsxs)(`form`,{className:`flex flex-col gap-5`,onSubmit:C,children:[(0,q.jsx)(g.y,{name:`email`,label:`Email`,type:`email`,defaultValue:s,placeholder:`name@example.com`,className:`max-sm:h-11`,required:!0}),(0,q.jsxs)(`div`,{className:`flex flex-col w-full`,children:[(0,q.jsxs)(`div`,{className:`flex justify-between items-baseline mb-1.5 mx-1`,children:[(0,q.jsx)(`label`,{className:`text-[13px] font-medium text-foreground/50 select-none`,children:`Password`}),(0,q.jsx)(X.Link,{to:`/reset-password`,className:`text-[13px] font-semibold text-accent hover:underline`,children:`Forgot Password?`})]}),(0,q.jsx)(g.y,{name:`password`,type:`password`,placeholder:`••••••••`,className:`max-sm:h-11`,required:!0})]}),(0,q.jsx)(`div`,{className:`pt-1`,children:(0,q.jsx)(N.t,{type:`submit`,className:`w-full py-3 text-[15px] font-semibold`,isLoading:e,children:`Sign In`})})]}),w&&T.length>0&&!_&&(0,q.jsxs)(`div`,{className:`flex items-center gap-3 my-6`,children:[(0,q.jsx)(`span`,{className:`h-[1px] flex-1 bg-[var(--panel-border)]`}),(0,q.jsx)(`span`,{className:`text-[13px] font-medium text-foreground/40`,children:`or`}),(0,q.jsx)(`span`,{className:`h-[1px] flex-1 bg-[var(--panel-border)]`})]}),T.length>0&&(0,q.jsx)(vr,{settings:u,onSignedIn:S,disabled:e,returnTo:l?`/login?from=${encodeURIComponent(l)}`:`/login`,onPanelChange:v,sentTo:E})]})})}),(0,q.jsx)(Hn,{children:(0,q.jsxs)(`p`,{className:Un,children:[`New here? `,(0,q.jsx)(X.Link,{to:`/register`,className:Wn,children:`Create account`})]})})]})})}var Hr=()=>{if(!r.li)throw Error(`Firebase is not initialized. Check your configuration.`);return r.li},Ur=`/confirm-email`,Wr=`address`,Gr=`firebase-os:address-link`;async function Kr(e,t){let n=new URL(Ur,window.location.origin);n.searchParams.set(`for`,t),n.searchParams.set(Wr,e),await(0,J.sendSignInLinkToEmail)(Hr(),e,{url:n.toString(),handleCodeInApp:!0})}function qr(e=window.location.href){let t;try{t=new URL(e).searchParams}catch{return null}let n=String(t.get(`for`)||``).trim(),r=String(t.get(`address`)||``).trim();if(!n||!r)return null;try{if(!(0,J.isSignInWithEmailLink)(Hr(),e))return null}catch{return null}return{uid:n,address:r,url:e}}function Jr(e){try{localStorage.setItem(Gr,JSON.stringify(e))}catch{}}function Yr(){try{let e=localStorage.getItem(Gr);if(!e)return null;let t=JSON.parse(e);return t?.uid&&t?.address&&t?.url?t:null}catch{return null}}var Xr=e=>!!e&&Yr()?.uid===e;function Zr(){try{localStorage.removeItem(Gr)}catch{}}async function Qr(e){let t=r.li?.currentUser??null;if(!t)return`signInFirst`;if(t.uid!==e.uid)return`wrongAccount`;if((t.email||``).toLowerCase()===e.address.toLowerCase()&&t.emailVerified)return`confirmed`;try{await(0,J.linkWithCredential)(t,J.EmailAuthProvider.credentialWithLink(e.address,e.url))}catch(e){let t=e?.code||``;return t===`auth/provider-already-linked`?`confirmed`:t===`auth/email-already-in-use`||t===`auth/credential-already-in-use`?`takenElsewhere`:t===`auth/invalid-action-code`||t===`auth/expired-action-code`||t===`auth/invalid-email`||t===`auth/argument-error`?`spent`:(console.warn(`The address could not be added to this sign-in.`,e),`failed`)}try{await t.getIdToken(!0)}catch{}try{await t.reload()}catch{}return`confirmed`}function $r(){let{user:e,profile:t,refreshUser:n,signOut:i}=r.It(),a=(0,X.useNavigate)(),[s,c]=(0,K.useState)(!1),[l,u]=(0,K.useState)(!1),[d,f]=(0,K.useState)(``),[p,m]=(0,K.useState)(!1),[h,g]=(0,K.useState)(!1),_=!o.un(e),v=_?e?.email||``:o.dn(e,t),y=(()=>{let t=(e?.providerData||[]).map(e=>e?.providerId).filter(Boolean);if(!t.length||t.includes(`password`))return``;let n=r.cn.find(e=>e.providerId&&e.providerId!==`password`&&t.includes(e.providerId));return n&&n.id!==`phone`?n.label:``})(),b=_&&!v;(0,K.useEffect)(()=>{if(!_||!e||b)return;let t=!1;return r.Tn(e).then(e=>{!t&&e===`failed`&&f(`We could not send the link just now. Press Resend below to try again.`)}),()=>{t=!0}},[_,b,e?.uid]);let S=()=>a(L.h(t)?`/dashboard?${L.n}=1`:`/dashboard`,{replace:!0}),C=async()=>{c(!0),f(``);let e=!1;try{if(!r.li.currentUser)return;if(await r.li.currentUser.reload(),!_){await n();let e=o.dn(r.li.currentUser,t);f(e?`Not yet — open the link we sent to ${e}, and it is done. Nothing else is waiting on it.`:`Your email is confirmed.`);return}if(!r.li.currentUser.emailVerified){f(`Not yet — open the link in the email first, then press this. Check your spam folder if it has not arrived.`);return}await r.li.currentUser.getIdToken(!0),await n(),e=!0,a(`/dashboard?${L.n}=1`)}catch{f(`We could not check just now. Make sure you are online and try again.`)}finally{e||c(!1)}},w=async()=>{if(e&&!b){u(!0),f(``);try{_?(await(0,J.sendEmailVerification)(e),r.Dn(e.uid)):await Kr(v,e.uid),f(`Verification email sent! Please check your inbox.`)}catch(e){e?.code===`auth/too-many-requests`?f(`Failed to resend: please wait a minute before trying again.`):f(`Failed to resend. ${(await r.qt(e,`password`,`Check your connection and try again in a moment.`)).text}`)}finally{u(!1)}}},T=d.includes(`Failed`)||d.includes(`could not`)||d.includes(`not verified`)||d.includes(`wrong`)||d.startsWith(`Not yet`);return(0,q.jsxs)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mb-16`,children:[(0,q.jsxs)(Rn,{width:`max-w-[480px]`,className:`text-center`,children:[(0,q.jsx)(Vn,{as:`h1`,className:`mb-6 sm:mb-8`,title:b?`No address to verify`:`Verify your email`,line:b?(0,q.jsxs)(q.Fragment,{children:[y||`The way you signed in`,` did not give us an email address, so there is nothing here to send a link to and nothing to verify. An address is the one thing this app cannot do without: everything behind this screen is shut until it has one.`,y?(0,q.jsxs)(q.Fragment,{children:[` If this app is yours, it is one tick in your `,y,` setup — the setting that asks for the person's email address — and everybody who signs in after it arrives with one.`]}):(0,q.jsx)(q.Fragment,{children:` If this app is yours, the way in you used has to be set to ask for an email address.`}),` `,`Until then, sign in with an email address instead.`]}):_?(0,q.jsxs)(q.Fragment,{children:[y&&(0,q.jsxs)(q.Fragment,{children:[y,` signed you in, but it did not confirm your address — so we are checking it is yours. `]}),`We've sent a verification link to `,(0,q.jsx)(`span`,{className:`font-semibold text-foreground`,children:v}),`. Please check your inbox (and spam folder) to verify your account and access your dashboard.`]}):(0,q.jsxs)(q.Fragment,{children:[`We've sent a link to `,(0,q.jsx)(`span`,{className:`font-semibold text-foreground`,children:v}),`. Opening it adds the address to your sign-in, so you can use it to sign in as well as your phone — and you stay signed in here either way. Nothing is waiting on it: you can do this whenever you like.`]})}),(0,q.jsxs)(zn,{className:`flex flex-col gap-3 max-w-[360px] mx-auto`,children:[d&&(0,q.jsx)(x.t,{tone:T?`error`:`done`,children:d}),b?(0,q.jsx)(N.t,{variant:`primary`,onClick:()=>i(),className:`w-full py-3 text-[14px] font-semibold`,children:`Sign out`}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(N.t,{variant:`primary`,onClick:C,isLoading:s,className:`w-full py-3 text-[14px] font-semibold`,children:`I've verified my email`}),(0,q.jsx)(N.t,{variant:`ghost`,onClick:w,isLoading:l,className:`w-full py-2.5 text-[14px] font-medium`,children:`Resend verification link`}),(0,q.jsx)(N.t,{variant:`ghost`,onClick:()=>_?m(!0):a(`/profile`),className:`w-full py-2 text-[13px] font-medium`,children:`Change my email address`}),!_&&(0,q.jsx)(N.t,{variant:`ghost`,onClick:S,className:`w-full py-2 text-[13px] font-medium`,children:`Skip for now`})]})]})]}),(0,q.jsx)(ne.t,{isOpen:p,title:`Start again with another address?`,message:Mr(v),confirmText:`Yes, start again`,cancelText:`Keep this address`,isProcessing:h,onCancel:()=>m(!1),onConfirm:async()=>{g(!0),await Pr(r.li.currentUser||e)}})]})}var ei={confirmed:{title:`Email confirmed`,body:`Your address is on your account now, and you can sign in with it as well as your phone.`},signInFirst:{title:`Nearly there`,body:`You opened this link in a browser you are not signed in on. Sign in and it finishes by itself — you will not need the link again.`},wrongAccount:{title:`That is a different account`,body:`This link adds an address to another account. Sign out here and sign back in as the person who asked for it — the link is kept, and it finishes by itself once they are in.`},takenElsewhere:{title:`That address is already in use`,body:`Another account here already has it. Give a different address on your profile, or sign in with the account that has this one.`},spent:{title:`That link has expired`,body:`Links can only be opened once, and they do not last for ever. Ask for a new one and it will come straight through.`},failed:{title:`That did not work`,body:`Check your connection and try again. If it keeps happening, ask for a new link.`}},ti=e=>({title:`Email verified`,body:`${e} is confirmed. You can sign in with it now as well as your phone.`,link:`/profile`});function ni(){let{user:e,loading:t,refreshUser:n,signOut:i}=r.It(),a=(0,X.useNavigate)(),[o,s]=(0,K.useState)(null),c=(0,K.useRef)(null),l=(0,K.useRef)(!1);(0,K.useEffect)(()=>{if(t||l.current)return;let r=qr()??Yr();if(!r){s(`spent`),l.current=!0;return}if(c.current=r,!e){Jr(r),s(`signInFirst`);return}l.current=!0;let i=!1;return Qr(r).then(async e=>{i||(e===`confirmed`&&(Zr(),await R.n(r.uid,ti(r.address)),await n().catch(()=>{})),e===`wrongAccount`?Jr(r):e!==`signInFirst`&&Zr(),s(e))}),()=>{i=!0}},[t,e?.uid]);let u=o?ei[o]:null,d=o===`confirmed`;return(0,q.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mt-6 mb-8 md:mt-0 md:mb-0 md:pt-8 md:pb-32`,children:(0,q.jsx)(Rn,{width:`max-w-[480px]`,className:`text-center`,children:(0,q.jsx)(Bn,{show:o??`working`,children:u?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Vn,{as:`h1`,className:`mb-6 sm:mb-8`,title:u.title,line:u.body}),(0,q.jsxs)(zn,{className:`flex flex-col gap-3 max-w-[360px] mx-auto`,children:[o===`signInFirst`?(0,q.jsx)(N.t,{variant:`primary`,onClick:()=>a(`/login?from=${encodeURIComponent(Ur)}`),className:`w-full py-3 text-[14px] font-semibold`,children:`Sign in to finish`}):o===`wrongAccount`?(0,q.jsx)(N.t,{variant:`primary`,onClick:()=>i(),className:`w-full py-3 text-[14px] font-semibold`,children:`Sign out`}):(0,q.jsx)(N.t,{variant:`primary`,onClick:()=>a(e?`/dashboard`:`/`),className:`w-full py-3 text-[14px] font-semibold`,children:d?`Carry on`:`Back to the app`}),o===`takenElsewhere`&&e&&(0,q.jsx)(N.t,{variant:`ghost`,onClick:()=>a(`/profile`),className:`w-full py-2.5 text-[14px] font-medium`,children:`Use a different address`}),o===`spent`&&e&&(0,q.jsx)(N.t,{variant:`ghost`,onClick:()=>a(`/verify`),className:`w-full py-2.5 text-[14px] font-medium`,children:`Send me a new link`}),o===`failed`&&(0,q.jsx)(N.t,{variant:`ghost`,onClick:()=>window.location.reload(),className:`w-full py-2.5 text-[14px] font-medium`,children:`Try again`})]})]}):(0,q.jsxs)(`div`,{"aria-busy":`true`,className:`py-6 flex flex-col items-center gap-4`,children:[(0,q.jsx)(P.t,{}),(0,q.jsx)(`p`,{className:`text-[14px] font-medium text-foreground/70`,children:`Confirming your email…`})]})})})})}var ri=`user_phoneclaims`,ii=`That number is already set up on another account. A phone number can only be used once here — use a different one, or take it off the other account first.`;async function ai(e){let t=String(e||``).replace(/[^\d+]/g,``);if(!t)return null;let n=globalThis.crypto?.subtle;if(!n)return null;try{let e=await n.digest(`SHA-256`,new TextEncoder().encode(t));return Array.from(new Uint8Array(e)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}catch{return null}}async function oi(e){let t=await ai(e);if(!t)return!0;try{return await(0,Y.getDoc)((0,Y.doc)(r.ui,ri,t)),!0}catch(e){return e?.code!==`permission-denied`}}var si=`phoneClaim`;async function ci(e,t){let n=await ai(e);if(!n||!t)return!0;try{await(0,Y.setDoc)((0,Y.doc)(r.ui,ri,n),{uid:t,createdAt:Date.now()})}catch(e){return e?.code!==`permission-denied`}try{await(0,Y.setDoc)((0,Y.doc)(r.ui,`user_profiles`,t),{[si]:n},{merge:!0})}catch{}return!0}async function li(e,t){let n=String(t??``).trim();if(n){try{await(0,Y.deleteDoc)((0,Y.doc)(r.ui,ri,n))}catch{}if(e)try{await(0,Y.setDoc)((0,Y.doc)(r.ui,`user_profiles`,e),{[si]:``},{merge:!0})}catch{}}}var ui=r.si(()=>Promise.resolve().then(()=>require(`./PhoneInputField-CuMINkex.cjs`)));function di({onDone:e,doneWords:t=`Turn it on`}){let{user:n,refreshUser:i}=r.It(),[a,o]=(0,K.useState)(``),[s,c]=(0,K.useState)(``),[l,d]=(0,K.useState)(``),[f,p]=(0,K.useState)(!1),[m,h]=(0,K.useState)(null),g=(0,K.useRef)(null),_=async(e,t)=>{h(await r.qt(e,`sms2fa`,t))},v=async()=>{if(n){h(null),p(!0);try{if(d(``),!await oi(a.trim())){h({text:ii});return}c(await dr(n,a.trim(),g.current))}catch(e){await _(e,`That code could not be sent. Check the number and try again.`)}finally{p(!1)}}};return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{ref:g}),m&&(0,q.jsx)(Kn,{problem:m}),s?(0,q.jsxs)(r.rt.form,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2},onSubmit:async t=>{if(t.preventDefault(),!n)return;h(null),p(!0);let r=!$n(n);try{if(await fr(n,s,l.trim()),!await ci(a.trim(),n.uid)){r&&await pr(n).catch(()=>{}),await i(),h({text:ii}),c(``),d(``);return}await i(),e()}catch(e){await _(e,`That code could not be checked. Ask for a new one.`)}finally{p(!1)}},className:`space-y-3`,children:[(0,q.jsxs)(`p`,{className:`text-[13px] text-foreground/60 font-medium leading-relaxed`,children:[`We texted a code to `,(0,q.jsx)(`span`,{className:`font-bold text-foreground/80`,children:a}),`.`]}),(0,q.jsx)(qn,{value:l,onChange:d,autoFocus:!0}),(0,q.jsxs)(N.t,{type:`submit`,isLoading:f,className:`w-full py-2.5 sm:py-3 text-[15px] font-bold tracking-wide rounded-xl`,children:[t,` `,(0,q.jsx)(r.jt,{className:`ml-2 w-4 h-4 shrink-0`})]}),(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-3 text-[13px] font-bold`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:v,disabled:f,className:`text-accent hover:underline disabled:opacity-40 disabled:no-underline cursor-pointer disabled:cursor-default`,children:`Send it again`}),(0,q.jsx)(`span`,{className:`w-[1px] h-3.5 bg-[var(--panel-border)]`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>{c(``),d(``),h(null)},className:`text-foreground/50 hover:text-accent transition-colors cursor-pointer`,children:`Use a different number`})]})]}):(0,q.jsxs)(`form`,{onSubmit:async e=>{e.preventDefault(),await v()},className:`space-y-3`,children:[(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),children:(0,q.jsx)(ui,{field:{label:`Your phone number`,required:!0,placeholder:`7700 900123`},value:a,onChange:o})}),(0,q.jsxs)(N.t,{type:`submit`,isLoading:f,className:`w-full py-2.5 sm:py-3 text-[15px] font-bold tracking-wide rounded-xl`,children:[`Text me a code `,(0,q.jsx)(u.t,{className:`ml-2 w-4 h-4 shrink-0`})]})]})]})}function fi(){let{user:e,signOut:t}=r.It(),n=r.wn(),i=(0,X.useNavigate)(),a=n.twoStepOptional;return(0,q.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mt-6 mb-8 md:mt-0 md:mb-0 md:pt-8 md:pb-32`,children:(0,q.jsxs)(Rn,{width:`max-w-[480px]`,children:[(0,q.jsx)(Vn,{title:a?`Make your account safer`:`One more step`,line:a?`Give us a number and we will text you a code when you sign in, as well as asking for your password. You can do this later if you would rather.`:`This app asks for a code by text as well as your password. Give us a number once, and from now on we will text you a code when you sign in.`}),(0,q.jsx)(zn,{children:(0,q.jsx)(di,{onDone:()=>i(`/dashboard`,{replace:!0}),doneWords:`Turn it on`})}),a&&(0,q.jsx)(zn,{children:(0,q.jsx)(N.t,{variant:`secondary`,onClick:()=>{e?.uid&&ir(e.uid),i(`/dashboard`,{replace:!0})},className:`mt-3 w-full py-2.5 text-[14px] font-semibold`,children:`Not now`})}),(0,q.jsx)(Hn,{children:(0,q.jsx)(N.t,{variant:`ghost`,onClick:()=>t(),className:`w-full py-2 text-[13px] font-semibold`,children:`Sign out`})})]})})}var pi=r.si(()=>Promise.resolve().then(()=>require(`./PhoneInputField-CuMINkex.cjs`))),mi=r.si(()=>Promise.resolve().then(()=>require(`./AddressField-C-p92i8S.cjs`))),hi=`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`;function gi({field:e,value:t}){return(0,q.jsxs)(`div`,{className:`flex flex-col w-full relative`,children:[(0,q.jsxs)(`label`,{className:`${hi} flex items-center gap-1.5`,children:[e.label,(0,q.jsx)(w.t,{className:`w-3 h-3 text-foreground/35 shrink-0`})]}),(0,q.jsx)(`div`,{"aria-label":e.label,"aria-readonly":`true`,className:`flex items-center h-12 w-full px-4 text-[15px] text-foreground/55 glass-panel opacity-70 cursor-not-allowed truncate`,style:{borderRadius:`var(--input-radius, 0.75rem)`},children:t}),(0,q.jsx)(`p`,{className:`text-[11px] text-foreground/40 mt-1.5 px-2 font-medium`,children:`Given when you registered, and fixed from then on.`})]})}function _i({fields:e,values:t,errors:n={},profile:i=null,disabled:a=!1,onChange:o,onCommit:s}){let c=(e,t)=>{for(let[n,r]of Object.entries(I.r(e,t)))o(n,r)},l=e=>!e.currentTarget.contains(e.relatedTarget),u=e=>s?.(e);return e.length?(0,q.jsx)(q.Fragment,{children:e.map(e=>{let s=t[e.key],d=n[e.key];return L.m(i,e)?(0,q.jsx)(gi,{field:e,value:L.a(i,e)},e.key):e.type===`tel`?(0,q.jsx)(`div`,{className:`w-full`,onBlur:t=>{l(t)&&u(e.key)},children:(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),children:(0,q.jsx)(pi,{field:e,value:String(s||``),onChange:t=>o(e.key,t)})})},e.key):e.type===`address`?(0,q.jsx)(`div`,{className:`w-full`,onBlur:t=>{l(t)&&u(e.key)},children:(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),children:(0,q.jsx)(mi,{id:`reg-${e.key}`,label:e.label,required:e.required,disabled:a,placeholder:e.placeholder,error:d,value:I.i(e.key,t),onChange:t=>c(e.key,t)})})},e.key):e.type===`textarea`?(0,q.jsx)(g.v,{id:`reg-${e.key}`,label:e.label,"aria-label":e.label,disabled:a,placeholder:e.placeholder,value:String(s||``),onChange:t=>o(e.key,t.target.value),onBlur:()=>u(e.key),error:d},e.key):e.type===`select`?(0,q.jsxs)(`div`,{className:`w-full`,children:[(0,q.jsx)(r.Q,{label:e.label,ariaLabel:e.label,direction:`auto`,disabled:a,value:String(s||``),options:[{value:``,label:(0,q.jsx)(`span`,{className:`text-foreground/40`,children:`Select an option...`})},...(e.options||[]).map(t=>({value:t,label:L.c(e,t)}))],onChange:t=>{o(e.key,t),u(e.key)}}),d&&(0,q.jsx)(`p`,{className:`text-xs text-red-500 font-medium mt-1`,children:d})]},e.key):e.type===`checkbox`?(0,q.jsxs)(`div`,{className:`w-full`,children:[(0,q.jsxs)(`label`,{className:`flex items-center gap-3 w-full cursor-pointer group py-2`,children:[(0,q.jsxs)(`div`,{className:`relative flex items-center justify-center w-5 h-5 rounded border border-foreground/20 bg-background/50 group-hover:border-accent transition-colors shrink-0`,children:[(0,q.jsx)(`input`,{type:`checkbox`,"aria-label":e.label,disabled:a,checked:s===!0,onChange:t=>{o(e.key,t.target.checked),u(e.key)},className:`absolute opacity-0 w-full h-full cursor-pointer`}),s===!0&&(0,q.jsx)(`span`,{className:`w-2.5 h-2.5 bg-accent rounded-sm shrink-0`})]}),(0,q.jsx)(`span`,{className:`text-[14px] font-medium text-foreground/80 leading-snug group-hover:text-foreground transition-colors`,children:e.label})]}),d&&(0,q.jsx)(`p`,{className:`text-xs text-red-500 font-medium`,children:d})]},e.key):(0,q.jsx)(g.y,{label:e.label,"aria-label":e.label,type:e.type===`number`?`number`:e.type,disabled:a,placeholder:e.placeholder,error:d,className:`max-sm:h-11`,value:String(s??``),onChange:t=>o(e.key,t.target.value),onBlur:()=>u(e.key)},e.key)})}):null}var vi=e=>/^[^@\s]+@[^@\s.]+\.[^@\s]+$/.test(e.trim());function yi(){let{user:e,userRole:t,profile:n,signOut:i,refreshUser:a}=r.It(),s=r.wn(),c=(0,X.useNavigate)(),l=s.finishRegistration,d=o.wn(t)?[]:L.l(n,l),[f,p]=(0,K.useState)(()=>L.o(d,n)),[m,h]=(0,K.useState)({}),[_,v]=(0,K.useState)(``),[y,b]=(0,K.useState)(!1),[S,C]=(0,K.useState)(!1);(0,K.useEffect)(()=>{p(L.o(d,n))},[d.map(e=>e.key).join(`|`)]);let w=L._(n),T=w.includes(`name`),E=w.includes(`email`),[D,O]=(0,K.useState)(``),[k,A]=(0,K.useState)(``),[j,M]=(0,K.useState)(``),[P,ee]=(0,K.useState)(``),F=r.an(n),I=w.length+d.filter(e=>!L.p(n,e)).length,te=w.length+L.g(d,n).length>0?I===1?`There is one thing we still need before you go on.`:`There are a few things we still need before you go on.`:I===0?`Just check these over before you go on.`:I===1?`One question before you go on — it is not required.`:`A few questions before you go on — none of them is required.`,R=(e=!1)=>c(e?`/verify`:L.h(n)?`/dashboard?${L.n}=1`:`/dashboard`,{replace:!0}),z=async t=>{if(t.preventDefault(),!e)return;v(``);let i=T&&!D.trim()?`Please tell us what to call you.`:``,o=E?k.trim()?vi(k)?``:`That does not look like an email address.`:`Please give us an email address.`:``;M(i),ee(o);let s=L.i(d,f);if(h(s),i||o||Object.keys(s).length){v(`There is something to check below.`);return}b(!0);try{let t={};T&&(t.displayName=D.trim()),E&&(t.email=k.trim()),await(0,Y.setDoc)((0,Y.doc)(r.ui,`user_profiles`,e.uid),{...L.s(d,f,n),...t,...L.d()},{merge:!0}),T&&r.li.currentUser&&(0,J.updateProfile)(r.li.currentUser,{displayName:D.trim()}).then(()=>a()).catch(()=>{});let i=!1;E&&r.li.currentUser&&(i=await Kr(k.trim(),r.li.currentUser.uid).then(()=>!0).catch(e=>(console.warn(`The confirmation link could not be sent to the new address.`,e),!0))),R(i)}catch(e){v(e?.code===`permission-denied`?`That could not be saved. Check that your email address is verified and that your account is still switched on.`:`That could not be saved. Check your connection and try again.`)}finally{b(!1)}},B=async()=>{e&&(C(!0),L.C(e.uid),await(0,Y.setDoc)((0,Y.doc)(r.ui,`user_profiles`,e.uid),L.d(),{merge:!0}).catch(()=>{}),R())},ne=y||S;return(0,q.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mt-6 mb-8 md:mt-0 md:mb-0 md:pt-8 md:pb-32`,children:(0,q.jsxs)(Rn,{width:`max-w-[500px]`,children:[(0,q.jsx)(Vn,{title:(0,q.jsx)(bi,{request:F}),line:!s.loading&&(0,q.jsxs)(q.Fragment,{children:[te,F&&` Your registration goes to an admin for approval. Until then everything works as usual.`]})}),_&&(0,q.jsx)(x.t,{className:`mb-5`,children:_}),s.loading?(0,q.jsx)(Gn,{}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`form`,{className:`flex flex-col gap-5`,onSubmit:z,noValidate:!0,children:[(T||E||d.length>0)&&(0,q.jsxs)(zn,{className:`flex flex-col gap-5`,children:[T&&(0,q.jsx)(g.y,{name:`displayName`,label:`Your name`,type:`text`,placeholder:`Alex Taylor`,className:`max-sm:h-11`,value:D,onChange:e=>{O(e.target.value),j&&M(``)},error:j,autoFocus:!0,required:!0}),E&&(0,q.jsx)(g.y,{name:`email`,label:`Your email`,type:`email`,placeholder:`name@example.com`,className:`max-sm:h-11`,value:k,onChange:e=>{A(e.target.value),P&&ee(``)},error:P,autoFocus:!T,required:!0}),(0,q.jsx)(_i,{fields:d,values:f,errors:m,profile:n,disabled:ne,onChange:(e,t)=>{p(n=>({...n,[e]:t})),h(t=>t[e]?{...t,[e]:``}:t)}})]}),(0,q.jsx)(zn,{className:`pt-1`,children:(0,q.jsxs)(N.t,{type:`submit`,isLoading:y,disabled:S,className:`w-full py-3 text-[15px] font-semibold`,children:[`Finish registration `,(0,q.jsx)(u.t,{className:`w-4 h-4 shrink-0`})]})})]}),l.skippable&&w.length===0&&(0,q.jsx)(zn,{children:(0,q.jsx)(N.t,{variant:`secondary`,onClick:B,isLoading:S,disabled:y,className:`mt-3 w-full py-2.5 text-[14px] font-semibold`,children:`Skip for now`})})]}),(0,q.jsx)(Hn,{children:(0,q.jsx)(N.t,{variant:`ghost`,onClick:()=>i(),className:`w-full py-2 text-[13px] font-semibold`,children:`Sign out`})})]})})}function bi({request:e}){return e?(0,q.jsx)(xi,{request:e}):(0,q.jsx)(q.Fragment,{children:L.u(null,``)})}function xi({request:e}){let t=te.l();return(0,q.jsx)(q.Fragment,{children:L.u(e,r.qr(e.role,t))})}function Si(){let{user:e,profile:t,refreshUser:n}=r.It(),i=r.wn(),[a,o]=(0,K.useState)(!1),[s,c]=(0,K.useState)(!1),[l,u]=(0,K.useState)(null),[d,f]=(0,K.useState)(!1),p=i.on.sms2fa;if(i.loading||!sr(e,p))return null;let m=$n(e),h=er(e);return(0,q.jsxs)(`div`,{className:`glass-panel w-full p-5 sm:p-8 rounded-3xl border border-[var(--panel-border)] shadow-2xl`,children:[(0,q.jsxs)(`div`,{className:`flex items-start gap-3 sm:gap-4`,children:[(0,q.jsx)(`div`,{className:`w-9 h-9 shrink-0 rounded-xl glass-panel border border-[var(--panel-border)] flex items-center justify-center`,children:(0,q.jsx)(D.t,{className:`w-[18px] h-[18px] text-accent`})}),(0,q.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,q.jsx)(`h3`,{className:`text-[16px] font-bold text-foreground mb-1`,children:`Two-step sign-in`}),(0,q.jsx)(`p`,{className:`text-[13px] text-foreground/50 font-medium leading-relaxed`,children:m?`We text you a code when you sign in, as well as asking for your password.`:p?`This app asks for a code by text as well as your password. Add the number that should get it.`:`Add a phone number and we will text you a code when you sign in, as well as asking for your password.`})]})]}),(0,q.jsxs)(`div`,{className:`mt-5`,children:[l&&(0,q.jsx)(Kn,{problem:l}),d&&!l&&(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:-6},animate:{opacity:1,y:0},className:`mb-4 p-3 rounded-xl border border-accent/20 bg-accent/10 text-accent flex items-center gap-2`,children:[(0,q.jsx)(r.jt,{className:`w-4 h-4 shrink-0`}),(0,q.jsx)(`span`,{className:`text-[13.5px] font-semibold tracking-wide`,children:`Two-step sign-in is on. We will text that number next time you sign in.`})]}),m?(0,q.jsxs)(`div`,{className:`flex flex-col sm:flex-row sm:items-center gap-3 justify-between rounded-2xl border border-[var(--panel-border)]/60 p-3.5`,children:[(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`p`,{className:`text-[11px] font-bold uppercase tracking-[0.2em] text-foreground/40 mb-1`,children:`Your number`}),(0,q.jsx)(`p`,{className:`text-[15px] font-bold text-foreground truncate`,children:h||`Set up`})]}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>o(!0),className:`inline-flex items-center justify-center gap-1.5 h-9 px-3 rounded-xl border border-[var(--panel-border)] text-[13px] font-bold text-foreground/60 hover:text-red-500 hover:border-red-500/40 transition-colors cursor-pointer shrink-0`,children:[(0,q.jsx)(k.t,{className:`w-3.5 h-3.5 shrink-0`}),`Take it off`]})]}):(0,q.jsx)(di,{onDone:()=>{f(!0),u(null)}})]}),(0,q.jsx)(ne.t,{isOpen:a,title:`Take two-step sign-in off?`,message:p?`This app asks for a texted code, so you will be asked for a number again straight away. That is how you change the number you gave.`:`You will sign in with your password alone from then on.`,confirmText:`Take it off`,isProcessing:s,onConfirm:async()=>{if(e){u(null),c(!0);try{await pr(e),await li(e.uid,t?.[si]),await n(),f(!1),o(!1)}catch(e){u(await r.qt(e,`sms2fa`,`That could not be taken off. Try again.`)),o(!1)}finally{c(!1)}}},onCancel:()=>o(!1)})]})}function Ci(){let{user:e,profile:t}=r.It(),n=L.l(t,r.wn().finishRegistration),[i,a]=(0,K.useState)(()=>L.o(n,t)),[o,s]=(0,K.useState)({}),[c,l]=(0,K.useState)(``),[u,d]=(0,K.useState)(!1),[f,p]=(0,K.useState)(null),m=(0,K.useRef)(i),h=e=>{m.current=e,a(e)};if((0,K.useEffect)(()=>{h(L.o(n,t))},[n.map(e=>`${e.key}:${String(t?.[e.key]??``)}`).join(`|`)]),!n.length)return null;let g=e=>Object.entries(e).every(([e,n])=>(t?.[e]??``)===n);return(0,q.jsxs)(`div`,{className:`glass-panel w-full p-5 sm:p-8 rounded-3xl border border-[var(--panel-border)] shadow-2xl`,children:[(0,q.jsxs)(`div`,{className:`flex items-start gap-3 sm:gap-4`,children:[(0,q.jsx)(`div`,{className:`w-9 h-9 shrink-0 rounded-xl glass-panel border border-[var(--panel-border)] flex items-center justify-center`,children:(0,q.jsx)(b.n,{className:`w-[18px] h-[18px] text-accent`})}),(0,q.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 mb-1`,children:[(0,q.jsx)(`h3`,{className:`text-[16px] font-bold text-foreground`,children:`Your details`}),(0,q.jsx)(r.m,{saving:u,savedAt:f})]}),(0,q.jsx)(`p`,{className:`text-[13px] text-foreground/50 font-medium leading-relaxed`,children:`Change what you like — each one saves itself. Anything with a padlock was fixed when you gave it.`})]})]}),(0,q.jsxs)(`div`,{className:`mt-5 flex flex-col gap-4`,children:[c&&(0,q.jsx)(x.t,{children:c}),(0,q.jsx)(_i,{fields:n,values:i,errors:o,profile:t,onChange:(e,t)=>{h({...m.current,[e]:t}),s(t=>t[e]?{...t,[e]:``}:t)},onCommit:async i=>{let a=n.find(e=>e.key===i);if(!e||!a||L.m(t,a))return;let o=L.r(a,m.current[i]);if(s(e=>e[i]===o?e:{...e,[i]:o}),o)return;let c=L.s([a],m.current,t);if(!(!Object.keys(c).length||g(c))){l(``),d(!0);try{await(0,Y.setDoc)((0,Y.doc)(r.ui,`user_profiles`,e.uid),c,{merge:!0}),p(Date.now())}catch(e){l(e?.code===`permission-denied`?`That could not be saved. Check that your account is still switched on.`:`That could not be saved. Check your connection and try again.`)}finally{d(!1)}}}})]})]})}var wi=20,Ti=()=>{try{let e=localStorage.getItem(`fbos_nav_tabs`);if(!e)return null;let t=JSON.parse(e);return t&&typeof t==`object`?Object.entries(t):null}catch{return null}},Ei=async()=>(await(0,Y.getDocs)((0,Y.collection)(r.ui,`sys_tabs`))).docs.map(e=>[e.id,e.data()]);function Di(){let{user:e,profile:t,refreshUser:a,isInternal:s}=r.It(),[c,l]=(0,K.useState)(e?.displayName||``),[u,d]=(0,K.useState)(e?.email||t?.email||``),[f,p]=(0,K.useState)(e?.photoURL||``),[m,h]=(0,K.useState)(``),[_,v]=(0,K.useState)(``),[y,b]=(0,K.useState)(``),[S,w]=(0,K.useState)(!1),[T,D]=(0,K.useState)(!1),[O,A]=(0,K.useState)(null),[j,M]=(0,K.useState)(``),[N,P]=(0,K.useState)(!1),[F,I]=(0,K.useState)(null),[L,te]=(0,K.useState)(``),R=K.default.useRef(null),[z,B]=(0,K.useState)(!1),[ne,re]=(0,K.useState)(null),[V,H]=(0,K.useState)(``),[ie,ae]=(0,K.useState)(!1),[oe,U]=(0,K.useState)(null),[W,G]=(0,K.useState)(``);K.default.useEffect(()=>{l(e?.displayName||t?.displayName||``)},[e?.uid,e?.displayName,t?.displayName]),K.default.useEffect(()=>{d(e?.email||t?.email||``)},[e?.uid,e?.email,t?.email]),K.default.useEffect(()=>{p(e?.photoURL||``)},[e?.uid,e?.photoURL]);let se=async t=>{if(e)try{if(!s)return;let n=[`mem_files`,`admin_files`],i=Ti()??await Ei();for(let[e,t]of i){let r=(t.tabName||e).toLowerCase().replace(/[^a-z0-9]+/g,`_`),i=o.An(t.pageType),a=o.Pn(t)===`shared`;a&&i===`internal`&&n.push(`mem_${r}_records`),a&&i===`admin`&&n.push(`admin_${r}_records`)}n.length>wi&&(n.length=wi);for(let i of n)try{let n=await(0,Y.getDocs)((0,Y.query)((0,Y.collection)(r.ui,i),(0,Y.where)(`uid`,`==`,e.uid)));if(n.empty)continue;let a=(0,Y.writeBatch)(r.ui);n.docs.forEach(e=>a.update(e.ref,{creatorAvatar:t})),await a.commit()}catch{}}catch(e){console.error(`Error propagating avatar to records:`,e)}},X=async t=>{if(!e)return;let n=await ee.g(t,{maxSide:512});if(n.size>2*1024*1024){M(`Over 2MB`);return}D(!0),w(!1),M(``);try{let t=`user_avatars/${e.uid}/file.png`,i=(0,ce.ref)(r.fi,t);await(0,ce.uploadBytes)(i,n,r.G(t,{ownerId:e.uid}));let o=await(0,ce.getDownloadURL)(i);p(o);let s=(0,Y.doc)(r.ui,`user_profiles`,e.uid);await Promise.all([(0,J.updateProfile)(e,{photoURL:o}),(0,Y.updateDoc)(s,{avatar:o}),se(o)]),await a(),A(Date.now())}catch(e){console.error(e),M(`Not saved`)}finally{D(!1)}},le=e=>{let t=e.target.files?.[0];t&&X(t)},{over:ue,dropProps:de}=r.j({accept:`image/*`,disabled:T,onFiles:([e])=>X(e),onReject:()=>M(`Not a picture`)}),fe=async()=>{if(e){D(!0),w(!1),M(``);try{let t=(0,ce.ref)(r.fi,`user_avatars/${e.uid}/file.png`);p(``),D(!1);let n=(0,Y.doc)(r.ui,`user_profiles`,e.uid);await Promise.all([(0,ce.deleteObject)(t).catch(e=>console.error(e)),(0,J.updateProfile)(e,{photoURL:``}),(0,Y.updateDoc)(n,{avatar:``}),se(``)]),await a(),A(Date.now())}catch(e){console.error(e),M(`Not removed`),D(!1)}}},pe=()=>e?.displayName||t?.displayName||``,me=async()=>{if(!e)return;let t=c.trim();if(!t){l(pe());return}if(t!==c&&l(t),!(t===pe()||t===R.current)){R.current=t,P(!0),te(``);try{await(0,J.updateProfile)(e,{displayName:t}),await(0,Y.updateDoc)((0,Y.doc)(r.ui,`user_profiles`,e.uid),{displayName:t}).catch(()=>{}),await a(),I(Date.now())}catch(e){console.error(e),R.current=null,te(`Not saved`)}finally{P(!1)}}},he=u.trim(),Z=!!he&&he!==(e?.email||``),ge=async()=>{if(!e||!Z||ie)return;let t=he;if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)){U({text:`That does not look like an email address yet.`,tone:`error`});return}ae(!0),U(null);try{if(await(0,Y.updateDoc)((0,Y.doc)(r.ui,`user_profiles`,e.uid),{email:t}).catch(()=>{}),!e.email)await Kr(t,e.uid),U({text:`We have emailed a link to ${t} — open it and the address is on your sign-in, so you can use it to sign in as well as your phone. You stay signed in here either way.`,tone:`done`});else{let n=await(0,J.fetchSignInMethodsForEmail)(r.li,t).catch(()=>[]);if(n&&n.length>0)throw Object.assign(Error(`email-already-in-use`),{code:`auth/email-already-in-use`});await(0,J.verifyBeforeUpdateEmail)(e,t),U({text:`A link is on its way to your new address. Opening it moves your sign-in to it — and because that changes the account itself, you will be signed out here and will need to sign in again with the new address.`,tone:`done`})}G(t),await a()}catch(e){console.error(e),e?.code===`auth/requires-recent-login`?U({text:`For your safety, sign out and sign back in, then change your address here.`,tone:`error`}):e?.code===`auth/email-already-in-use`?U({text:`That email address already belongs to another account here. Use a different one, or sign in with the account that has it.`,tone:`error`}):U({text:(await r.qt(e,`password`,`The link could not be sent. Check your connection and try again.`,{email:t})).text,tone:`error`})}finally{ae(!1)}},_e=async()=>{if(!e||z||!m||!_||Or(m))return;let t=kr(m,_);if(t){b(t);return}B(!0),H(``);try{await(0,J.updatePassword)(e,m),h(``),v(``),b(``),re(Date.now())}catch(e){console.error(e),H(e?.code===`auth/requires-recent-login`?`For your safety, sign out and sign back in, then set your new password here. It has not been changed.`:(await r.qt(e,`password`,`Your password could not be changed. Check your connection and try again.`)).text)}finally{B(!1)}},ve=e=>{e.currentTarget.contains(e.relatedTarget)||_e()},ye=e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())};return(0,q.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-5 sm:mb-8`,children:[(0,q.jsx)(n.t,{children:`Profile Settings`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,q.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),`/profile`]})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-4 sm:gap-6 flex-1 fbos-fade-in pb-20`,children:[(0,q.jsx)(`div`,{className:`flex justify-start`,children:(0,q.jsx)(i.t,{})}),(0,q.jsx)(`div`,{className:`w-full flex flex-col`,children:(0,q.jsxs)(`div`,{className:`glass-panel w-full p-5 sm:p-8 md:p-12 rounded-3xl border border-[var(--panel-border)] shadow-2xl space-y-8 md:min-h-[500px] fbos-tab-fill`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-4 sm:gap-5 pb-6 border-b border-[var(--panel-border)]/50`,children:[(0,q.jsxs)(`div`,{...de,className:`relative shrink-0 group/avatar rounded-full transition-shadow ${ue?`ring-2 ring-accent ring-offset-2 ring-offset-background`:``}`,children:[(0,q.jsxs)(`div`,{className:`w-16 h-16 sm:w-20 sm:h-20 rounded-full glass-panel border-2 border-[var(--panel-border)] shadow-lg bg-accent/10 flex items-center justify-center relative overflow-hidden`,children:[T&&(0,q.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-accent/5 backdrop-blur-sm z-10`,children:(0,q.jsx)(C.r,{className:`w-6 h-6 text-accent animate-spin`})}),f&&!S?(0,q.jsx)(r.k,{src:f,alt:`Avatar`,className:`w-full h-full`,onError:()=>w(!0)}):(0,q.jsx)(vt,{className:`w-7 h-7 sm:w-8 sm:h-8 text-accent`})]}),!T&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{title:f?`Change photo`:`Upload photo`,className:`absolute inset-0 rounded-full bg-background/60 backdrop-blur-[2px] opacity-0 group-hover/avatar:opacity-100 focus-within:opacity-100 flex items-center justify-center cursor-pointer transition-opacity z-20`,children:[(0,q.jsx)(Re,{className:`w-4 h-4 text-foreground`}),(0,q.jsx)(`input`,{type:`file`,accept:`image/*`,"aria-label":`Upload photo`,onChange:le,className:`hidden`})]}),f&&(0,q.jsx)(`button`,{type:`button`,onClick:fe,title:`Remove photo`,"aria-label":`Remove photo`,className:`hidden group-hover/avatar:flex absolute -top-1 -right-1 w-6 h-6 rounded-full bg-background border border-[var(--panel-border)] text-foreground/50 hover:text-red-500 hover:border-red-500/40 items-center justify-center shadow-sm cursor-pointer z-30`,children:(0,q.jsx)(k.t,{className:`w-3 h-3`})})]})]}),(0,q.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,q.jsx)(`h3`,{className:`font-bold text-lg sm:text-xl text-foreground mb-1 truncate`,children:c||`User`}),(0,q.jsx)(`p`,{className:`text-[13px] text-foreground/40 mt-1 font-medium break-words`,children:e?.email})]}),(0,q.jsx)(r.m,{saving:T,savedAt:O,error:j})]}),(0,q.jsxs)(`div`,{className:`space-y-6`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsx)(`h3`,{className:`text-[16px] font-bold text-foreground`,children:`Account Details`}),(0,q.jsx)(r.m,{saving:N,savedAt:F,error:L})]}),(0,q.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-5 md:gap-6`,children:[(0,q.jsx)(g.y,{name:`name`,value:c,onChange:e=>l(e.target.value),onBlur:me,onKeyDown:ye,label:`Display Name`,placeholder:`John Doe`}),(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,q.jsx)(g.y,{name:`email`,type:`email`,value:u,onChange:e=>{d(e.target.value),oe?.tone===`error`&&U(null)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),ge())},label:`Email Address`,placeholder:`name@example.com`}),(0,q.jsxs)(`div`,{className:`mt-1.5 px-2 flex items-center justify-between gap-3 min-h-8 sm:min-h-9`,children:[(0,q.jsx)(`p`,{className:`text-[11px] text-foreground/40 font-medium leading-snug`,children:Z?`Nothing changes until you open the link we email to it.`:`A new address is confirmed by a link we email to it.`}),Z&&(0,q.jsx)(r.o,{icon:E.t,onClick:()=>void ge(),busy:ie,children:W===he||!e?.email&&he===t?.email?`Send again`:`Send link`})]}),oe&&(0,q.jsx)(x.t,{tone:oe.tone,className:`mt-2`,children:oe.text})]})]})]}),(0,q.jsxs)(`div`,{className:`pt-6 border-t border-[var(--panel-border)]/50`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 mb-4`,children:[(0,q.jsx)(`h3`,{className:`text-[15px] font-bold text-foreground`,children:`Change Password`}),(0,q.jsx)(r.m,{saving:z,savedAt:ne,error:V?`Not changed`:``})]}),(0,q.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-5 md:gap-6`,onBlur:ve,children:[(0,q.jsx)(g.y,{name:`password`,type:`password`,label:`New Password`,autoComplete:`new-password`,value:m,onChange:e=>{h(e.target.value),y&&e.target.value===_&&b(``),V&&H(``)},onKeyDown:ye,placeholder:`At least 8 characters`}),(0,q.jsx)(g.y,{name:`confirmPassword`,type:`password`,label:`Confirm New Password`,autoComplete:`new-password`,value:_,onChange:e=>{v(e.target.value),y&&b(``),V&&H(``)},onBlur:()=>b(_?kr(m,_):``),onKeyDown:ye,error:y,placeholder:`Type it a second time`})]}),m&&(0,q.jsx)(Ar,{value:m,className:`mt-3`}),V&&(0,q.jsx)(x.t,{className:`mt-3`,children:V})]})]})}),(0,q.jsx)(Si,{}),(0,q.jsx)(Ci,{})]})]})}function Oi(){let[e,t]=(0,K.useState)(!1),[n,i]=(0,K.useState)(null),[a,o]=(0,K.useState)(0),[s,c]=(0,K.useState)(0);return(0,K.useEffect)(()=>{let e;return a>0&&(e=setInterval(()=>o(e=>e-1),1e3)),()=>clearInterval(e)},[a]),(0,q.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mb-16 mt-6 md:mt-0 md:mb-0 md:pt-8 md:pb-32`,children:(0,q.jsxs)(Rn,{width:`max-w-[480px]`,className:`text-center`,children:[(0,q.jsx)(Vn,{title:`Reset Password`,line:`Enter your email to receive a recovery link.`}),n&&(0,q.jsx)(x.t,{tone:`done`,className:`mb-5 max-w-[360px] mx-auto`,children:n}),(0,q.jsx)(zn,{children:(0,q.jsxs)(`form`,{className:`flex flex-col gap-5 text-left max-w-[360px] mx-auto`,onSubmit:async e=>{e.preventDefault(),t(!0),i(null);let n=new FormData(e.currentTarget).get(`email`);try{await(0,J.sendPasswordResetEmail)(r.li,n)}catch(e){console.error(e)}finally{i(`If an account exists, a reset link has been sent. Check your inbox and spam folder.`);let e=s+1;c(e),o(e===1?60:120),t(!1)}},children:[(0,q.jsx)(g.y,{name:`email`,label:`Work Email`,type:`email`,placeholder:`name@company.com`,required:!0}),(0,q.jsx)(`div`,{className:`pt-1`,children:(0,q.jsx)(N.t,{type:`submit`,className:`w-full py-3 text-[14px] font-semibold ${a>0?`opacity-60 shadow-none cursor-not-allowed pointer-events-none`:``}`,isLoading:e,disabled:a>0,children:a>0?`Resend link in ${(e=>`${Math.floor(e/60)}:${(e%60).toString().padStart(2,`0`)}`)(a)}`:s>0?`Resend reset password link`:`Send Reset Link`})})]})}),(0,q.jsx)(Hn,{children:(0,q.jsxs)(X.Link,{to:`/login`,className:`inline-flex items-center gap-2 text-[14px] text-foreground/60 font-medium hover:text-accent transition-colors`,children:[(0,q.jsx)(l.t,{className:`w-4 h-4`}),`Back to Sign In`]})})]})})}var ki=new Set,Ai=new Set;function ji(){let{pathname:e,search:t}=(0,X.useLocation)();return(0,K.useEffect)(()=>{if(e===`/payment-complete`)return;let n=new URLSearchParams(t),i=e.startsWith(`/book/`);n.get(`booking_back`)===`1`&&!i&&g.s().then(e=>{!e||Ai.has(e.pending.sessionId)||(Ai.add(e.pending.sessionId),O.n(e.outcome===`letGo`?`${g.i.letGo} Pick a time again whenever you are ready.`:g.i[e.outcome],{for:7e3}))}).catch(()=>{});let a=n.get(`session_id`)||``;!a.startsWith(`cs_`)||ki.has(a)||(ki.add(a),r.jn(a).then(async e=>{let{booked:t,held:n}=await g.o(a,e);if(!t||i)return;let r=e.customerEmail?` A receipt is on its way to ${e.customerEmail}.`:``;O.n(e.paid?n?`Paid — ${t.when} is held for you while it is confirmed.${r}`:`${g.a}${r}`:`Thank you — ${t.when} is held for you while your payment clears.`,{for:9e3})}).catch(()=>{}))},[e,t]),null}var Mi=`public_copies`,Ni=e=>Array.isArray(e)?e.map(e=>String(e??``)).filter(Boolean).sort():[];function Pi(e){let t=e&&typeof e.copies==`object`&&e.copies?e.copies:null;if(!t)return{};let n={};for(let[e,r]of Object.entries(t))/^[a-z][a-z0-9_]*$/.test(e)&&(n[e]={leaveOut:Ni(r?.leaveOut)});return n}function Fi(e,t){let n={};for(let[r,i]of Object.entries(e)){let e=t[r];e&&e.leaveOut.join(`
2
2
  `)===i.leaveOut.join(`
3
- `)||(n[r]=i)}return n}function Pr(){let[e,t]=(0,B.useState)(null);return(0,B.useEffect)(()=>(0,U.onSnapshot)((0,U.doc)(r.ka,`sys_configs`,Ar),e=>t(Mr(e.exists()?e.data():null)),()=>t({})),[]),e}async function Fr(e){if(Object.keys(e).length)try{await(0,U.setDoc)((0,U.doc)(r.ka,`sys_configs`,Ar),{copies:e},{merge:!0})}catch{}}function Ir({from:e,leaveOut:t}){return O.f(e,{leaveOut:t}),null}function Lr(){let{userRole:e}=r.dr();return o.p(e)?(0,V.jsx)(Rr,{}):null}function Rr(){let e=D.u(),t=Pr(),{pathname:n}=(0,G.useLocation)(),r=(0,B.useMemo)(()=>e?Tr(e):[],[e]);if((0,B.useEffect)(()=>{if(!t||!r.length)return;let e={};for(let t of r){let n=O.c(t.from);n&&(e[t.from]={leaveOut:[...n].sort()})}let n=Nr(e,t);Object.keys(n).length&&Fr(n)},[r,t,n]),!t)return null;let i=new Map;for(let e of r)t[e.from]&&i.set(e.from,t[e.from].leaveOut);return(0,V.jsx)(V.Fragment,{children:[...i].map(([e,t])=>(0,V.jsx)(Ir,{from:e,leaveOut:t},e))})}var zr=r.Da(()=>Promise.resolve().then(()=>require(`./PhoneInputField-BEwYZMB7.cjs`))),Br=`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`,Vr=`text-[12px] font-semibold text-red-500 mt-1 ml-1`;function Hr({children:e}){return(0,V.jsx)(`div`,{className:`flex flex-col w-full min-w-0`,children:e})}function Ur({question:e,value:t,error:n,onChange:i}){let a=e.label.trim(),o=e.required?`${a} *`:a;return e.type===`textarea`?(0,V.jsx)(Hr,{children:(0,V.jsx)(u.u,{id:`q_${e.name}`,label:o,value:t,placeholder:e.placeholder,onChange:e=>i(e.target.value),error:n})}):e.type===`checkbox`?(0,V.jsxs)(Hr,{children:[(0,V.jsxs)(`label`,{className:`flex items-center gap-3 w-full cursor-pointer group py-1.5`,children:[(0,V.jsxs)(`span`,{className:`relative flex items-center justify-center w-5 h-5 rounded border border-foreground/20 bg-background/50 group-hover:border-accent transition-colors shrink-0`,children:[(0,V.jsx)(`input`,{type:`checkbox`,checked:t===`Yes`,onChange:e=>i(e.target.checked?`Yes`:``),className:`absolute opacity-0 w-full h-full cursor-pointer`}),t===`Yes`&&(0,V.jsx)(`span`,{className:`w-2.5 h-2.5 bg-accent rounded-sm shrink-0`})]}),(0,V.jsx)(`span`,{className:`text-[14px] font-medium text-foreground/80 leading-snug group-hover:text-foreground transition-colors`,children:o})]}),n&&(0,V.jsx)(`p`,{className:Vr,children:n})]}):e.type===`select`?(0,V.jsxs)(Hr,{children:[(0,V.jsx)(r.nr,{label:o,direction:`auto`,value:t,options:[{value:``,label:(0,V.jsx)(`span`,{className:`text-foreground/40`,children:e.placeholder||`Choose one…`})},...e.options.filter(Boolean).map(e=>({value:e,label:e}))],onChange:i}),n&&(0,V.jsx)(`p`,{className:Vr,children:n})]}):e.type===`tel`?(0,V.jsxs)(Hr,{children:[(0,V.jsx)(B.Suspense,{fallback:(0,V.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),children:(0,V.jsx)(zr,{field:{label:o,required:!1,placeholder:e.placeholder},value:t,onChange:i})}),n&&(0,V.jsx)(`p`,{className:Vr,children:n})]}):e.type===`file`?(0,V.jsx)(Hr,{children:(0,V.jsx)(u.i,{field:{label:o,placeholder:e.placeholder},value:t,error:n,onChange:e=>i(e(t))})}):e.type===`date`?(0,V.jsxs)(Hr,{children:[(0,V.jsx)(`label`,{className:Br,htmlFor:`q_${e.name}`,children:o}),(0,V.jsxs)(`div`,{className:`relative flex items-center lift-focus`,children:[(0,V.jsx)(`input`,{id:`q_${e.name}`,type:`date`,value:t,onChange:e=>i(e.target.value),className:`date-field block h-12 w-full text-[15px] pl-4 pr-11 py-2 transition-all duration-300 focus:outline-none focus:border-accent glow-focus glass-panel ${t?`text-foreground`:`text-foreground/40`}`,style:{borderRadius:`var(--input-radius, 0.75rem)`}}),(0,V.jsx)(s.ln,{className:`w-4 h-4 text-foreground/50 absolute right-4 pointer-events-none`,"aria-hidden":!0})]}),n&&(0,V.jsx)(`p`,{className:Vr,children:n})]}):(0,V.jsx)(Hr,{children:(0,V.jsx)(u.d,{label:o,type:e.type,value:t,error:n,placeholder:e.placeholder,onChange:e=>i(e.target.value)})})}function Wr({questions:e,answers:t,errors:n,onChange:i}){return(0,V.jsx)(V.Fragment,{children:r.et(e).map(e=>(0,V.jsx)(Ur,{question:e,value:t[e.name]||``,error:n[e.name],onChange:t=>i(e.name,t)},e.name))})}var Gr=/^[^\s@,;]+@[^\s@,;.]+(\.[^\s@,;.]+)*\.[a-z]{2,}$/i;function Kr(e){if(!e||e.kind!==`once`)return null;let t=r.Ui(e),n=t.reduce((e,t)=>e+(r.qi(t.amount)||0),0),i=e.name.trim()||t.map(e=>e.name.trim()).filter(Boolean).join(` and `)||r.Ji(e);return n>0?{amount:n,name:i}:null}var qr=(e,t=`usd`)=>{try{return new Intl.NumberFormat(void 0,{style:`currency`,currency:t.toUpperCase()}).format(e)}catch{return`${e} ${t.toUpperCase()}`}};function Jr(e){let[t,n]=(0,B.useState)({id:``,product:null});return(0,B.useEffect)(()=>{if(!e)return;let t=!1;return(0,U.getDoc)((0,U.doc)(r.ka,r.Ei,e)).then(i=>{t||n({id:e,product:i.exists()?r.ea(i.id,i.data()):null})}).catch(()=>{t||n({id:e,product:null})}),()=>{t=!0}},[e]),e?t.id===e?{loading:!1,product:t.product}:{loading:!0,product:null}:{loading:!1,product:null}}function Yr({icon:e,accent:t,children:n}){return(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 h-7 px-3 rounded-full border text-[12.5px] font-semibold whitespace-nowrap ${t?`border-accent/40 bg-accent/10 text-accent`:`border-[var(--panel-border)]/70 text-foreground/65`}`,children:[e&&(0,V.jsx)(e,{className:`w-3.5 h-3.5 text-accent shrink-0`,"aria-hidden":!0}),n]})}function Xr({children:e,wide:t,form:n}){return(0,V.jsx)(`main`,{className:`flex-1 w-full mx-auto px-4 py-8 md:py-12 z-10 flex flex-col justify-center transition-[max-width] duration-500 ease-out ${t?`max-w-4xl`:n?`max-w-2xl`:`max-w-xl`}`,children:(0,V.jsx)(r.sr.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.4},className:`w-full rounded-3xl glass-panel border border-[var(--panel-border)] p-5 sm:p-8 md:p-10 shadow-[0_8px_32px_rgba(0,0,0,0.08)]`,children:e})})}function Zr({children:e}){return(0,V.jsx)(`h1`,{ref:n.n([e]),className:`text-2xl sm:text-3xl font-bold tracking-tight text-gradient leading-tight whitespace-nowrap data-[fold]:whitespace-normal data-[fold]:text-balance`,children:e})}function Qr({icon:e,title:t,children:n}){return(0,V.jsxs)(`div`,{className:`flex flex-col items-center text-center py-8 gap-4`,children:[(0,V.jsx)(`div`,{className:`w-14 h-14 ${u.r}`,children:(0,V.jsx)(e,{className:`w-6 h-6`})}),(0,V.jsx)(`h1`,{className:`text-2xl md:text-3xl font-bold text-foreground tracking-tight`,children:t}),n&&(0,V.jsx)(`div`,{className:`text-[14px] md:text-[15px] text-foreground/60 leading-relaxed max-w-md`,children:n}),(0,V.jsx)(G.Link,{to:`/`,className:`text-[13px] font-bold text-accent hover:underline mt-2`,children:`Back to the site`})]})}function $r({sessionId:e,schedule:t}){let[n,i]=(0,B.useState)(null);if((0,B.useEffect)(()=>{let t=!1;return r.ai(e).then(e=>{t||i(e)}),()=>{t=!0}},[e]),!n)return(0,V.jsx)(Qr,{icon:s.ht,title:`Confirming your payment…`,children:`One moment — checking with the payment provider.`});let a=n.metadata?.when||``;return n.paid?(0,V.jsx)(Qr,{icon:s.pn,title:`Paid — your time is held`,children:(0,V.jsxs)(`p`,{children:[a?`${a} — `:``,r.pn(t),`. Held for you while it is confirmed.`,n.customerEmail?` A receipt is on its way to ${n.customerEmail}.`:``]})}):(0,V.jsx)(Qr,{icon:s.Zt,title:`Not confirmed yet`,children:(0,V.jsx)(`p`,{children:n.error||`The payment provider has not confirmed this payment yet. Your time is held; if a receipt arrives by email, the booking is yours.`})})}function ei(){let{id:e=``}=(0,G.useParams)(),[t]=(0,G.useSearchParams)(),{activeConfig:n}=i.w(),{loading:a,schedule:o}=h.y(e),{loading:c,product:l}=Jr(o?.paymentId||``),f=Kr(l),p=r.pi(),[g,_]=(0,B.useState)(()=>r.Dt()),[v]=(0,B.useState)(()=>new Date),y=h.x(o?[o.memberId]:[],v),b=(0,B.useMemo)(()=>o&&r.ct(o)?[o]:[],[o]),[x,S]=(0,B.useState)(null),[C,w]=(0,B.useState)(()=>r.Oa.currentUser?.displayName||``),[T,E]=(0,B.useState)(()=>r.Oa.currentUser?.email||``),[D,O]=(0,B.useState)({}),[A,j]=(0,B.useState)({}),[M,N]=(0,B.useState)(!1),[P,F]=(0,B.useState)(``),[I,L]=(0,B.useState)(``),[R,z]=(0,B.useState)(``),H=t.get(`session_id`)||``,U=t.get(`cancelled`)===`1`;if(a)return(0,V.jsx)(Xr,{children:(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-3 py-16 text-foreground/50`,children:[(0,V.jsx)(s.ht,{className:`w-4 h-4 animate-spin text-accent`}),(0,V.jsx)(`span`,{className:`text-[13px] font-medium`,children:`Loading…`})]})});if(!o)return(0,V.jsx)(Xr,{children:(0,V.jsx)(Qr,{icon:s.un,title:`This booking link is no longer open`,children:`It may have been taken down. Ask whoever sent it for a new one.`})});if(H)return(0,V.jsx)(Xr,{children:(0,V.jsx)($r,{sessionId:H,schedule:o})});if(I)return(0,V.jsx)(Xr,{children:(0,V.jsx)(Qr,{icon:s.Zt,title:`Your time is held`,children:(0,V.jsxs)(`p`,{children:[I,` — held for you while `,o.memberName.trim()||`the person you booked with`,` confirms it.`,R?` We have sent the details to ${R}, and will write again the moment it is confirmed.`:``]})})});if(!r.ct(o))return(0,V.jsx)(Xr,{children:(0,V.jsx)(Qr,{icon:s.un,title:r.pn(o),children:`This is not taking bookings at the moment.`})});let W=!!o.paymentId&&!c&&(!f||!p.loading&&!p.configured),ee=async()=>{if(!x||M)return;let e={...r.dt(o.questions,D)};if(C.trim()||(e._name=`Your name, please.`),Gr.test(T.trim())||(e._email=`That does not look like an email address — check for a typo, e.g. jane@example.com`),j(e),Object.keys(e).length)return;N(!0),F(``);let t=r.xt(x,o.memberName,g),n=await h.i(x);if(n){F(n),S(null),N(!1);return}let i=null;if(f){let e=await r.oi({amount:f.amount,productName:`${r.pn(o)} — ${t}`,metadata:{bookingId:r.vn(x.memberId,x.start),scheduleId:o.id,page:r._t(o.id),when:t,emailReceipt:o.confirmBooker?`yes`:`no`,notifyOwner:o.notifyOwner?`yes`:`no`},successPath:r._t(o.id),cancelPath:`${r._t(o.id)}?cancelled=1`});if(typeof e==`string`){await h.s(x),F(e),N(!1);return}i=e}let a=r.vn(x.memberId,x.start),s=await h.O(x,{memberName:o.memberName,scheduleId:o.id,scheduleName:r.cn(o),paymentId:o.paymentId,paymentSession:i?.sessionId||``,timeZone:g,name:C.trim(),email:T.trim(),answers:r.lt(o.questions,D),formId:r.A,entryId:``});if(s){await h.s(x),F(s),N(!1);return}if(i){r.ii.goTo(i.url);return}if(o.notifyOwner&&k.n(`heads_up`,{title:`New booking`,summary:`${C.trim()} booked ${r.pn(o)} — ${t}`,details:{Name:C.trim(),Email:T.trim(),When:t,...r.ut(o.questions,D)}}).catch(()=>{}),o.confirmBooker&&r.Oa.currentUser){let e=T.trim();k.r(`booking_requested`,`mem_bookings`,a,{when:t,memberName:o.memberName,scheduleName:r.pn(o),details:{When:t,With:o.memberName,What:r.pn(o)}}).then(t=>{t||z(e)}).catch(()=>{})}L(t),N(!1)},te=!W&&!x,ne=!W&&!!x,re=r.$(o.questions,`name`),ie=r.$(o.questions,`email`);return(0,V.jsxs)(Xr,{wide:te,form:ne,children:[U&&(0,V.jsx)(`p`,{className:`mb-5 px-4 py-3 rounded-xl bg-amber-500/10 border border-amber-500/20 text-[13px] font-medium text-foreground/80`,children:`Nothing was charged. Pick a time again to book.`}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-4 mb-5 sm:mb-6`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3.5 min-w-0`,children:[(0,V.jsx)(`div`,{className:`w-11 h-11 ${u.r}`,children:(0,V.jsx)(s.fn,{className:`w-5 h-5`})}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-0.5 min-w-0 flex-1`,children:[n?.appName&&(0,V.jsx)(`span`,{className:`text-[10.5px] font-bold uppercase tracking-[0.18em] text-foreground/40 truncate`,children:n.appName}),(0,V.jsx)(Zr,{children:r.pn(o)})]})]}),(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[!o.memberName.trim()&&(0,V.jsx)(Yr,{icon:s._,children:`with your host`}),(0,V.jsx)(Yr,{icon:s.Zt,children:r.yn(o.slotMinutes)}),f&&(0,V.jsx)(Yr,{accent:!0,children:qr(f.amount)})]}),r.sn(o)&&(0,V.jsx)(`p`,{className:`text-[13.5px] sm:text-[14px] text-foreground/60 font-medium leading-relaxed max-w-2xl whitespace-pre-line`,children:r.sn(o)})]}),(0,V.jsx)(`div`,{className:`h-px bg-[var(--panel-border)]/60 mb-5 sm:mb-6`}),W?(0,V.jsx)(`p`,{className:`text-[14px] font-medium text-foreground/60`,children:`This booking cannot be paid for right now — please try again later.`}):x?(0,V.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,V.jsx)(u.n,{slot:x,timeZone:g,onChange:()=>S(null)}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,V.jsx)(u.d,{label:re.label,value:C,onChange:e=>w(e.target.value),error:A._name,placeholder:re.placeholder}),(0,V.jsx)(u.d,{label:ie.label,type:`email`,value:T,onChange:e=>E(e.target.value),error:A._email,placeholder:ie.placeholder}),(0,V.jsx)(Wr,{questions:o.questions,answers:D,errors:A,onChange:(e,t)=>{O(n=>({...n,[e]:t})),j(t=>t[e]?{...t,[e]:``}:t)}})]}),P&&(0,V.jsx)(`p`,{role:`alert`,className:`text-[13px] font-semibold text-red-500`,children:P}),(0,V.jsx)(`div`,{className:`h-px bg-[var(--panel-border)]/60`}),(0,V.jsx)(m.u,{timeZone:g,onTimeZone:_,action:(0,V.jsx)(d.t,{variant:`primary`,onClick:ee,disabled:M||c,className:`max-sm:w-full h-11 px-6 text-[13.5px] font-bold shrink-0`,children:M?f?`Opening checkout…`:`Booking…`:f?`Book and pay ${qr(f.amount)}`:`Confirm booking`})})]}):(0,V.jsxs)(V.Fragment,{children:[P&&(0,V.jsx)(`p`,{role:`alert`,className:`mb-3 text-[13px] font-semibold text-red-500`,children:P}),(0,V.jsx)(m.n,{members:b,value:x,onChange:S,taken:y,timeZone:g,onTimeZone:_})]})]})}var ti=`rounded-2xl flex items-center justify-center shrink-0 border border-[var(--panel-border)]/50 bg-accent/10 text-accent`,ni=`rounded-2xl border border-[var(--panel-border)]/60 bg-foreground/[0.015]`;function ri(e){let[t,n]=(0,B.useState)(new Map),i=e.join(`,`);return(0,B.useEffect)(()=>{let e=i?i.split(`,`):[];if(!e.length)return;let t=!1;return Promise.all(e.map(async e=>{try{let t=await(0,U.getDoc)((0,U.doc)(r.ka,r.Ei,e));return t.exists()?r.ea(e,t.data()):null}catch{return null}})).then(e=>{if(t)return;let r=new Map;e.forEach(e=>{e&&r.set(e.id,e)}),n(r)}),()=>{t=!0}},[i]),t}function ii({children:e}){return(0,V.jsx)(`main`,{className:`flex-1 w-full max-w-2xl mx-auto px-4 py-8 md:py-12 z-10 flex flex-col justify-center`,children:(0,V.jsx)(r.sr.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.4},className:`w-full rounded-3xl glass-panel border border-[var(--panel-border)] p-5 sm:p-8 md:p-10 shadow-[0_8px_32px_rgba(0,0,0,0.08)]`,children:e})})}function ai({icon:e,title:t,children:n}){return(0,V.jsxs)(`div`,{className:`flex flex-col items-center text-center py-8 gap-4`,children:[(0,V.jsx)(`div`,{className:`w-14 h-14 ${ti}`,children:(0,V.jsx)(e,{className:`w-6 h-6`})}),(0,V.jsx)(`h1`,{className:`text-2xl md:text-3xl font-bold text-foreground tracking-tight`,children:t}),n&&(0,V.jsx)(`div`,{className:`text-[14px] md:text-[15px] text-foreground/60 leading-relaxed max-w-md`,children:n}),(0,V.jsx)(G.Link,{to:`/`,className:`text-[13px] font-bold text-accent hover:underline mt-2`,children:`Back to the site`})]})}function oi({icon:e,accent:t,children:n}){return(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 h-6 px-2.5 rounded-full border text-[11.5px] font-semibold whitespace-nowrap ${t?`border-accent/40 bg-accent/10 text-accent`:`border-[var(--panel-border)]/70 text-foreground/60`}`,children:[e&&(0,V.jsx)(e,{className:`w-3 h-3 text-accent shrink-0`,"aria-hidden":!0}),n]})}function si({schedule:e,price:t}){let n=r.sn(e),i=r.bn(e.slotMinutes);return(0,V.jsxs)(G.Link,{to:r._t(e.id),className:`${ni} group relative overflow-hidden flex items-center gap-3.5 sm:gap-4 p-3 sm:p-4 transition-all duration-300
4
- hover:border-accent/50 hover:shadow-[0_10px_30px_-12px_rgba(0,0,0,0.28)] hover:-translate-y-[2px] active:translate-y-0 active:scale-[0.995]`,children:[(0,V.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-300 bg-gradient-to-r from-accent/[0.09] via-accent/[0.03] to-transparent`}),(0,V.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-0 top-0 bottom-0 w-[3px] bg-accent origin-center scale-y-0 group-hover:scale-y-100 transition-transform duration-300`}),(0,V.jsxs)(`span`,{"aria-hidden":!0,className:`relative shrink-0 w-[52px] h-[52px] rounded-2xl border border-[var(--panel-border)]/60 bg-accent/[0.07] text-accent
5
- flex flex-col items-center justify-center leading-none gap-0.5 transition-colors duration-300 group-hover:bg-accent/[0.13] group-hover:border-accent/30`,children:[(0,V.jsx)(`span`,{className:`text-[17px] font-extrabold tracking-tight tabular-nums`,children:i.value}),(0,V.jsx)(`span`,{className:`text-[9.5px] font-bold uppercase tracking-[0.08em] opacity-70`,children:i.unit})]}),(0,V.jsxs)(`span`,{className:`relative flex-1 min-w-0 flex flex-col gap-1`,children:[(0,V.jsx)(`span`,{className:`text-[14.5px] sm:text-[15px] font-bold text-foreground tracking-tight leading-snug break-words`,children:r.pn(e)}),(0,V.jsxs)(`span`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,V.jsx)(oi,{icon:s.Zt,children:r.yn(e.slotMinutes)}),t&&(0,V.jsx)(oi,{accent:!0,children:qr(t.amount)})]}),n&&(0,V.jsx)(`span`,{className:`text-[12.5px] font-medium text-foreground/55 leading-relaxed line-clamp-2 mt-0.5`,children:n})]}),(0,V.jsx)(`span`,{"aria-hidden":!0,className:`relative shrink-0 w-8 h-8 rounded-full border border-[var(--panel-border)]/70 flex items-center justify-center
6
- text-foreground/35 transition-all duration-300 group-hover:border-accent/50 group-hover:bg-accent group-hover:text-[var(--button-fg,#fff)]`,children:(0,V.jsx)(s.yn,{className:`w-4 h-4 transition-transform duration-300 group-hover:translate-x-[1px]`})})]})}function ci({page:e}){let t=`w-24 h-24 sm:w-28 sm:h-28`;return(0,V.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,V.jsx)(`span`,{"aria-hidden":!0,className:`absolute -inset-3 rounded-[2rem] bg-accent/15 blur-2xl`}),e.photo?(0,V.jsx)(r.Nn,{src:e.photo,alt:``,priority:!0,className:`${t} rounded-2xl border border-[var(--panel-border)] shadow-[0_10px_30px_rgba(0,0,0,0.12)]`}):(0,V.jsx)(`div`,{className:`relative ${t} ${ti}`,children:(0,V.jsx)(s._,{className:`w-9 h-9`})})]})}function li(){let{id:e=``}=(0,G.useParams)(),{activeConfig:t}=i.w(),{loading:n,pages:r}=A.i(),{loading:a,schedules:o}=h._(),c=r.find(t=>t.id===e)||null,l=(0,B.useMemo)(()=>c?A.o(c,o):[],[c,o]),u=ri((0,B.useMemo)(()=>[...new Set(l.map(e=>e.paymentId).filter(Boolean))],[l]));if(n||a)return(0,V.jsx)(ii,{children:(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-3 py-16 text-foreground/50`,children:[(0,V.jsx)(s.ht,{className:`w-4 h-4 animate-spin text-accent`}),(0,V.jsx)(`span`,{className:`text-[13px] font-medium`,children:`Loading…`})]})});if(!c||!c.enabled)return(0,V.jsx)(ii,{children:(0,V.jsx)(ai,{icon:s.un,title:`This page is no longer open`,children:`It may have been taken down. Ask whoever sent it for a new link.`})});if(!l.length){let e=A.d(c,o).length;return(0,V.jsx)(ii,{children:(0,V.jsx)(ai,{icon:s.un,title:A.s(c),children:e?`Nothing here is taking bookings at the moment. Please check back later.`:`There is nothing to book here at the moment. Please check back later.`})})}let d=c.intro.trim();return(0,V.jsxs)(ii,{children:[(0,V.jsxs)(`div`,{className:`flex flex-col items-center text-center gap-4`,children:[(0,V.jsx)(ci,{page:c}),(0,V.jsxs)(`div`,{className:`flex flex-col items-center gap-1.5 w-full min-w-0`,children:[t?.appName&&(0,V.jsx)(`span`,{className:`text-[10.5px] font-bold uppercase tracking-[0.18em] text-foreground/40 truncate max-w-full`,children:t.appName}),(0,V.jsx)(`h1`,{className:`text-[26px] sm:text-4xl font-extrabold tracking-tight text-gradient leading-[1.1] break-words`,children:A.s(c)}),d&&(0,V.jsx)(`p`,{className:`mt-1.5 max-w-md text-[13.5px] sm:text-[14.5px] text-foreground/60 font-medium leading-relaxed whitespace-pre-line`,children:d})]})]}),(0,V.jsx)(`div`,{className:`h-px bg-[var(--panel-border)]/60 my-5 sm:my-7`}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-1`,children:[(0,V.jsx)(`p`,{className:`text-[11px] font-bold uppercase tracking-[0.16em] text-foreground/40`,children:l.length===1?`Book a time`:`Pick what to book`}),l.length>1&&(0,V.jsxs)(`span`,{className:`text-[11px] font-semibold text-foreground/35 tabular-nums`,children:[l.length,` meetings`]})]}),l.map(e=>(0,V.jsx)(si,{schedule:e,price:Kr(u.get(e.paymentId)||null)},e.id))]})]})}function ui({children:e,className:t,variant:n=`primary`,pendingLabel:i=`Opening checkout…`,disabled:a=!1,...s}){let{loading:c,configured:l}=r.pi(),{userRole:u}=r.dr(),[f,p]=(0,B.useState)(!1),[m,h]=(0,B.useState)(null);return c?null:l?(0,V.jsxs)(`span`,{className:`inline-flex flex-col items-stretch gap-2`,children:[(0,V.jsx)(d.t,{variant:n,className:t,onClick:async()=>{if(f||a)return;p(!0),h(null);let e=await r.ui(s);e&&(h(e),p(!1))},disabled:f||a,children:f?i:e??`Pay`}),m&&(0,V.jsx)(`span`,{role:`alert`,className:`text-[13px] font-semibold text-red-400 leading-snug`,children:m})]}):o.h(u)?(0,V.jsx)(`span`,{className:`text-[12.5px] font-medium text-foreground/50 leading-snug`,children:`Only admins see this: payments are not on yet, so this button is hidden. Connect Stripe and switch payments on at /payments and it appears here.`}):null}function di(){let{id:e=``}=(0,G.useParams)(),{activeConfig:t}=i.w(),n=r.pi(),[a,o]=(0,B.useState)({loading:!0,product:null});(0,B.useEffect)(()=>{let t=!1;return(0,U.getDoc)((0,U.doc)(r.ka,r.Ei,e)).then(e=>{t||o({loading:!1,product:e.exists()?r.ea(e.id,e.data()):null})}).catch(()=>{t||o({loading:!1,product:null})}),()=>{t=!0}},[e]);let c=a.product,l=c?.customPath.trim()||``;if(l)return(0,V.jsx)(G.Navigate,{to:l.startsWith(`/`)?l:`/${l}`,replace:!0});let u=c?r.Ui(c).filter(e=>r.qi(e.amount)):[],d=c?.name.trim()||u[0]?.name.trim()||`Pay`;return(0,V.jsx)(`main`,{className:`flex-1 w-full max-w-3xl mx-auto px-4 pt-2 pb-16 md:pt-4 z-10 flex flex-col`,children:(0,V.jsx)(r.sr.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.4},className:`w-full rounded-3xl glass-panel border border-[var(--panel-border)] p-5 sm:p-8 md:p-10 shadow-[0_8px_32px_rgba(0,0,0,0.08)]`,children:a.loading?(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-3 py-16 text-foreground/50`,children:[(0,V.jsx)(s.ht,{className:`w-4 h-4 animate-spin text-accent`}),(0,V.jsx)(`span`,{className:`text-[13px] font-medium`,children:`Loading…`})]}):!c||c.kind!==`once`||!u.length?(0,V.jsxs)(`div`,{className:`flex flex-col items-center text-center py-8 gap-4`,children:[(0,V.jsx)(`div`,{className:`w-14 h-14 rounded-2xl glass-panel border border-[var(--panel-border)] flex items-center justify-center shadow-xl`,children:(0,V.jsx)(s.A,{className:`w-7 h-7 text-accent`})}),(0,V.jsx)(`h1`,{className:`text-2xl md:text-3xl font-bold text-foreground tracking-tight`,children:`This payment link is no longer open`}),(0,V.jsx)(`p`,{className:`text-[14px] text-foreground/60 max-w-md`,children:`Ask whoever sent it for a new one.`}),(0,V.jsx)(G.Link,{to:`/`,className:`text-[13px] font-bold text-accent hover:underline mt-2`,children:`Back to the site`})]}):(0,V.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[t?.appName&&(0,V.jsx)(`span`,{className:`text-[11px] font-bold uppercase tracking-[0.2em] text-foreground/40`,children:t.appName}),(0,V.jsx)(`h1`,{className:`text-2xl sm:text-3xl md:text-4xl font-bold text-foreground tracking-tight`,children:d}),c.description.trim()&&(0,V.jsx)(`p`,{className:`text-[14px] md:text-[15px] text-foreground/60 leading-relaxed mt-1 max-w-2xl whitespace-pre-line`,children:c.description.trim()})]}),!n.loading&&!n.configured&&(0,V.jsx)(`p`,{className:`text-[14px] font-medium text-foreground/60`,children:`Payments are not open right now — please try again later.`}),(0,V.jsx)(`div`,{className:`flex flex-col divide-y divide-[var(--panel-border)]/60 rounded-2xl border border-[var(--panel-border)]/60`,children:u.map((e,t)=>(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-4 py-3.5`,children:[(0,V.jsxs)(`div`,{className:`min-w-0 flex flex-col`,children:[(0,V.jsx)(`span`,{className:`text-[15px] font-semibold text-foreground truncate`,children:e.name.trim()||d}),(0,V.jsx)(`span`,{className:`text-[13px] font-medium text-foreground/50`,children:qr(r.qi(e.amount)||0)})]}),(0,V.jsxs)(ui,{amount:r.qi(e.amount)||0,productName:e.name.trim()||d,metadata:{productId:c.id,page:r.rn(c.id),emailReceipt:c.emailReceipt?`yes`:`no`,notifyOwner:c.notifyOwner?`yes`:`no`},successPath:`/payment-complete`,cancelPath:r.rn(c.id),className:`px-5 py-2.5 text-[14px] font-bold`,children:[`Pay `,qr(r.qi(e.amount)||0)]})]},t))})]})})})}var fi=`src/your-ai-workflow-firebase-os`;function pi(){let e=new Set;for(let[t,n]of i.S()){let r=n?.config?.route,i=typeof r==`string`&&r.trim()?r.startsWith(`/`)?r:`/`+r:`/`+t.toLowerCase();e.add(i)}return[...e].sort()}var mi=e=>(e||``).split(/[^a-zA-Z0-9]+/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(``);function hi(e){let t=e?.contentKey||e?.tabName||e?.pageName||e?.pageId||`Page`;return`${fi}/microcomponents/${mi(String(t))||`Page`}Content.tsx`}var gi=`This is a repair, not a redesign: whatever you have already written for this page stays exactly as it is — the same sections, the same words, the same pictures with the same links, the same layout and styling. What is wrong is the wiring above, so change only that, and nothing about how the page looks or what it says.`;function _i(e,t){let n=t.replace(/^.*\//,``).replace(/\.tsx$/,``),r=n.replace(/Content$/,``).replace(/([a-z0-9])([A-Z])/g,`$1_$2`).toLowerCase();return[`My app has a page at ${e} and it is still empty after you said it was done. The ONLY thing that fills this page is one file: ${t}, with a default export, registered in ${fi}/microcomponents/registry.ts.`,`Check these in order and fix whatever is wrong, without asking me questions:`,`1. The file exists at exactly that path and name — not another folder, not another spelling. If you put it somewhere else, move it there.`,`2. It has a default export. A named-only export is silently ignored.`,`3. ${fi}/microcomponents/registry.ts contains these two lines: import ${n} from './${n}'; and registerMicrocomponent('${r}', ${n}); — registerMicrocomponent is imported there from 'your-ai-workflow-firebase-os'. Add them if they are missing, and never remove another page's lines.`,`4. You created nothing else for this page — no config file, no route, no page, and no edit to src/App.tsx or src/main.tsx. Undo any of those you made.`,gi,`Then tell me, in one sentence, which of these was wrong.`].join(`
7
- `)}function vi(e){return[`The page at ${e} shows "Page Not Found". The app only finds a page when its config file is picked up, so check these in order and fix whatever is wrong, without asking me questions.`,`1. The page's config file sits directly in ${fi}/configs/ and its name ends with Tab.config.ts (a page for signed-in users, my team or admins) or Page.config.ts (a page for anyone). Not in a subfolder, not any other name.`,`2. It exports one const whose name ends with Config, and its route is the single string '${e}'. A page has exactly one web address — remove any other addresses you registered for it.`,`3. ${fi}/configs/pagesRegistry.ts exists and src/main.tsx contains the line import './your-ai-workflow-firebase-os/configs/pagesRegistry'. If either is missing, run npm install so the package's postinstall script restores them.`,`4. Put src/App.tsx back to the version the package wrote: it only mounts <FirebaseOS />. Never add routes, a router or the customRoutes prop.`,`5. If the page is for my team, its config says pageType: 'internal'. Any form on it is a *Form.config.ts file shown through <ContactPopup formId="..." />, never a form you wrote by hand.`,gi,`Then rebuild and tell me, in one sentence, which of these was wrong.`].join(`
8
- `)}var yi={sides:!1,top:!1},bi=4,xi=8,Si=24,Ci=`button, input, select, textarea`,wi=(e,t,n)=>{for(let r=e instanceof Element?e:e.parentElement;r&&r!==t;r=r.parentElement){if(r.getAttribute(`aria-hidden`)===`true`||getComputedStyle(r).position===`fixed`)return!1;let e=r.getBoundingClientRect();if(e.width>=1&&(e.left<n.left-1||e.right>n.right+1))return!1}return!0};function Ti(e){let t={...yi},n=e.getBoundingClientRect();if(n.width<1)return t;let r=(r,i)=>{if(r.width<1||r.height<1||r.left<n.left-1||r.right>n.right+1)return;let a=r.left-n.left<bi||n.right-r.right<bi,o=r.top>=n.top-1&&r.top-n.top<xi;!(a&&!t.sides)&&!(o&&!t.top)||wi(i,e,n)&&(a&&(t.sides=!0),o&&(t.top=!0))},i=e.ownerDocument,a=i.createRange();if(typeof a.getBoundingClientRect==`function`){let n=i.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(let e=n.nextNode();e;e=n.nextNode())if(e.nodeValue?.trim()&&(a.selectNodeContents(e),r(a.getBoundingClientRect(),e),t.sides&&t.top))return t}for(let n of e.querySelectorAll(Ci))if(r(n.getBoundingClientRect(),n),t.sides&&t.top)return t;if(!t.top)for(let r of e.querySelectorAll(`img`)){let i=r.getBoundingClientRect();if(!(i.width<1||i.height<1)&&!(i.top<n.top-1||i.top-n.top>=Si)&&!(i.left<=n.left+1&&i.right>=n.right-1)&&!(!wi(r,e,n)||Mi(r,e,n))){t.top=!0;break}}if(!t.sides)for(let r of e.querySelectorAll(`div, section, article, aside, ul, ol, li, a, label`)){if(!Di(r))continue;let i=r.getBoundingClientRect();if(!(i.width<1||i.height<1||i.width>=n.width-1&&!Ei(r))&&!(i.left<n.left-1||i.right>n.right+1)&&!(i.left-n.left>=bi&&n.right-i.right>=bi)&&wi(r,e,n)){t.sides=!0;break}}return t}var Ei=e=>{let t=getComputedStyle(e),n=e.style;return(parseFloat(t.borderTopLeftRadius)||parseFloat(t.borderRadius)||parseFloat(n?.borderTopLeftRadius||n?.borderRadius||``)||0)>0},Di=e=>{let t=getComputedStyle(e);return(parseFloat(t.borderLeftWidth||t.borderWidth)||0)>0&&!ji(t.borderLeftColor||t.borderColor)?!0:Ei(e)&&!ji(t.backgroundColor)},Oi=28,ki=200,Ai=72,ji=e=>!e||e===`transparent`||/^rgba\([^)]*,\s*0\s*\)$/.test(e),Mi=(e,t,n)=>{let r=t.ownerDocument,i=[r.body,r.documentElement].map(e=>getComputedStyle(e).backgroundColor);for(let r=e instanceof Element?e:e.parentElement;r&&r!==t;r=r.parentElement){let e=r.getBoundingClientRect();if(e.left>n.left+1||e.right<n.right-1||e.height>=n.height*.9)continue;let t=getComputedStyle(r);if(t.backgroundImage&&t.backgroundImage!==`none`||!ji(t.backgroundColor)&&!i.includes(t.backgroundColor))return!0}return!1};function Ni(e){let t=e.getBoundingClientRect();if(t.width<1)return 0;let n=e.ownerDocument,r=n.createRange();if(typeof r.getBoundingClientRect!=`function`)return 0;let i=1/0,a=null,o=e=>e.width>=1&&e.height>=1&&e.left>=t.left-1&&e.right<=t.right+1&&e.top>=t.top-1&&e.top-t.top<ki,s=n.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(let n=s.nextNode();n;n=s.nextNode()){if(!n.nodeValue?.trim()||!n.parentElement)continue;r.selectNodeContents(n);let s=r.getBoundingClientRect();if(!(!o(s)||!wi(n,e,t))&&(i=Math.min(i,s.top-t.top),!a)){let e=parseFloat(getComputedStyle(n.parentElement).fontSize)||0;e>=Oi&&(a={size:e,at:n})}}if(!a||Mi(a.at,e,t))return 0;for(let n of e.querySelectorAll(Ci)){let r=n.getBoundingClientRect();o(r)&&wi(n,e,t)&&(i=Math.min(i,r.top-t.top))}let c=Math.min(Ai,Math.round(a.size));return Math.max(0,Math.round(c-Math.max(0,i)))}var Pi={...yi,room:0},Fi=[300,1e3,2500];function Ii(e,t){let[n,r]=(0,B.useState)({page:t,given:Pi});return(0,B.useEffect)(()=>{let n=e.current;if(!n||typeof window>`u`)return;let i=Pi,a=!1,o,s=()=>{let e=Ti(n),o={sides:i.sides||e.sides,top:i.top||e.top,room:Math.max(i.room,Ni(n))};(o.sides!==i.sides||o.top!==i.top||o.room!==i.room)&&(i=o,r({page:t,given:i})),a&&i.sides&&i.top&&p()},c=()=>{clearTimeout(o),o=setTimeout(s,200)},l=requestAnimationFrame(s),u=Fi.map((e,t)=>setTimeout(()=>{a=t===Fi.length-1,s()},e)),d=new MutationObserver(c);d.observe(n,{childList:!0,subtree:!0});let f=typeof ResizeObserver>`u`?null:new ResizeObserver(c);f?.observe(n);function p(){cancelAnimationFrame(l),u.forEach(clearTimeout),clearTimeout(o),d.disconnect(),f?.disconnect()}return p},[e,t]),n.page===t?n.given:Pi}function Li(e){let[t,n]=(0,B.useState)(null);return(0,B.useEffect)(()=>{if(e)return(0,U.onSnapshot)((0,U.collection)(r.ka,e),t=>{!t.metadata.fromCache&&!t.metadata.hasPendingWrites&&n({name:e,size:t.size})},()=>{})},[e]),t&&t.name===e?t.size:null}function Ri({job:e,kept:t}){let n=kr(e,{records:Li(e.from),copies:Li(e.to),kept:t});return n?(0,V.jsx)(`aside`,{className:`w-full px-4 md:px-8 pb-6 text-xs text-foreground/60`,"aria-label":`What this page is shown from ${e.keeper.title}`,children:(0,V.jsxs)(`div`,{className:`max-w-3xl rounded-2xl border border-[var(--panel-border)] bg-[var(--panel-bg)] px-4 py-3 flex flex-col gap-1.5`,children:[(0,V.jsx)(`span`,{className:`uppercase tracking-[0.18em] text-foreground/40`,children:`Only your team sees this`}),(0,V.jsx)(`p`,{className:`leading-relaxed`,children:n})]})}):null}function zi({config:e}){let{userRole:t}=r.dr();return o.p(t)?(0,V.jsx)(Bi,{config:e}):null}function Bi({config:e}){let t=D.u(),n=Pr();if(!t||!n)return null;let r=Or(t,e);if(!r)return null;let i=Er(Tr(t),r.id);return i.length?(0,V.jsx)(`div`,{className:`w-full mt-auto pt-6`,children:i.map(e=>(0,V.jsx)(Ri,{job:e,kept:!!n[e.from]},`${e.from}${e.reader.id}`))}):null}function Vi({config:e,customContent:t}){let{config:a}=i.w(),{userRole:s}=r.dr();nt(!!t);let l=(0,B.useRef)(null),d=Ii(l,t);return(0,B.useEffect)(()=>{document.title=e.pageName||e.pageTitle||a.appName||`Your AI Firebase`},[e.pageName,e.pageTitle,a.appName]),t?(0,V.jsx)(y.p,{value:{prefix:`pub_`},children:(0,V.jsxs)(`main`,{ref:l,className:r.ir(`fbos-content-slot fbos-page-canvas flex-1 w-full z-10 flex flex-col relative`,d.sides&&`px-4 md:px-8`,d.top&&`pt-6 md:pt-10`),style:d.room?{paddingTop:d.room}:void 0,"data-gutter-given":[d.sides&&`sides`,d.top&&`top`,d.room&&`title`].filter(Boolean).join(` `)||void 0,children:[(0,V.jsx)(c.r,{size:`part`,children:(0,V.jsx)(t,{config:e})}),(0,V.jsx)(zi,{config:e})]})}):(0,V.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col relative min-h-screen`,children:[(0,V.jsx)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-4 md:mb-6 min-w-0`,children:(0,V.jsx)(n.t,{children:e.pageTitle||e.pageName||`New Page`})}),(0,V.jsx)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`glass-panel border border-[var(--panel-border)] rounded-3xl shadow-2xl relative flex flex-col flex-1 bg-background/50 h-full min-h-[400px]`,children:e.form?(0,V.jsx)(`div`,{className:`fbos-content-slot flex-1 flex flex-col items-center justify-start p-4 md:p-8`,children:(0,V.jsx)(c.r,{size:`part`,children:(0,V.jsx)(u.t,{isInline:!0,formId:e.form})})}):(0,V.jsxs)(`div`,{className:`flex-1 flex flex-col items-center justify-center m-4 md:m-8 gap-6`,children:[(0,V.jsxs)(`div`,{className:`w-full glass-panel border border-[var(--panel-border)]/50 border-dashed rounded-2xl p-8 py-16 text-center opacity-70`,children:[(0,V.jsx)(`p`,{className:`text-[15px] font-bold mb-1.5 text-foreground/70`,children:`This page is empty`}),(0,V.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/50 max-w-sm leading-relaxed mx-auto`,children:`Open the Pages screen, say what you would like on it, and copy the sentence there into your assistant's chat.`})]}),o.h(s)&&(0,V.jsx)(`div`,{className:`w-full max-w-lg`,children:(0,V.jsx)(n.o,{compact:!0,title:`Already asked, and it is still empty? Paste this`,prompt:_i(e.route||`/`,hi(e))})})]})})]})}var Hi=(...e)=>{for(let t of e)if(t&&typeof t==`object`&&!Array.isArray(t))return t;return null};function Ui(e,t){let n=Hi(e,t);if(!n)throw Error(`saveRecord needs the record to save — actions.saveRecord({ name: …, price: … }). The collection is the page’s own and is never passed.`);return n}function Wi(e,t,n){let r=Hi(t,n);if(!r)throw Error(`updateRecord needs the record’s id and the change — actions.updateRecord(id, { stock: 4 }). The collection is the page’s own and is never passed.`);return{id:String((r===n?t:e)??``),data:r}}function Gi(e,t){return String((typeof t==`string`&&t?t:e)??``)}function Ki(e){return(e||[]).map(e=>{let t=e.data()||{};return{...t,createdAt:t.createdAt?.toMillis?t.createdAt.toMillis():t.createdAt,id:e.id}})}function qi(e){if(!e||!(`id`in e))return e;let{id:t,...n}=e;return n}var Ji=e=>({creatorName:e?.displayName||e?.email?.split(`@`)[0]||``,creatorAvatar:e?.photoURL||``}),Yi=e=>{let{creatorName:t,creatorAvatar:n}=Ji(e);return{editedUid:e?.uid||``,editedName:t,editedAvatar:n,editedAt:Date.now()}},Xi=(e,t)=>{if(e?.creatorName)return{name:e.creatorName,avatar:e.creatorAvatar||``};if(e?.uid&&t?.uid&&e.uid===t.uid){let e=Ji(t);return e.creatorName?{name:e.creatorName,avatar:e.creatorAvatar}:null}return null},Zi=e=>typeof e==`number`&&Number.isFinite(e),Qi=(e,t)=>t&&Array.isArray(e?.variants)&&e.variants.find(e=>e&&String(e.id??``)===String(t))||null;function $i(e){let t=[];for(let n of e)if(!(!n||!n.id)){Zi(n.stock)&&Zi(n.stockSetAt)&&t.push({record:String(n.id),variant:``,since:n.stockSetAt});for(let e of Array.isArray(n.variants)?n.variants:[]){let r=String(e?.id??``);r&&Zi(e?.stock)&&Zi(e?.stockSetAt)&&t.push({record:String(n.id),variant:r,since:e.stockSetAt})}}return t.sort((e,t)=>(e.record+`|`+e.variant).localeCompare(t.record+`|`+t.variant))}function ea(e,t,n){if(!t)return null;let r=Qi(t,n),i=r?r.stock:n?void 0:t.stock;return Zi(i)?Math.max(0,i-ta(e,t,n)):null}function ta(e,t,n){if(!t?.id)return 0;let r=Qi(t,n);if(!(r?Zi(r.stockSetAt):!n&&Zi(t.stockSetAt)))return 0;let i=e[String(t.id)]?.[r?String(r.id):``];return Zi(i)&&i>0?i:0}function na(e,t,n=Date.now()){if(!e||typeof e!=`object`)return e;let r={...e};if(Zi(e.stock)&&(r.stockSetAt=!t||t.stock!==e.stock||!Zi(t.stockSetAt)?n:t.stockSetAt),Array.isArray(e.variants)){let i=Array.isArray(t?.variants)?t.variants:[];r.variants=e.variants.map(e=>{if(!e||typeof e!=`object`||!Zi(e.stock))return e;let t=i.find(t=>t&&String(t.id??``)===String(e.id??``));return!t||t.stock!==e.stock||!Zi(t.stockSetAt)?{...e,stockSetAt:n}:Zi(e.stockSetAt)?e:{...e,stockSetAt:t.stockSetAt}})}return r}var ra=60*1e3,ia=`What is left in stock could not be checked just now — the counts shown are as last set.`,aa={fetch:(e,t)=>fetch(e,t)};async function oa(e){if(!e.length)return{sold:{},error:``};try{let t=await aa.fetch(`/api/payments/sold`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({wants:e})});if(!t.ok)return{sold:{},error:ia};let n=await t.json();return{sold:n&&typeof n.sold==`object`&&n.sold?n.sold:{},error:``}}catch{return{sold:{},error:ia}}}function sa(e){let t=(0,B.useMemo)(()=>$i(Array.isArray(e)?e:[]),[e]),n=(0,B.useMemo)(()=>JSON.stringify(t),[t]),[r,i]=(0,B.useState)({}),[a,o]=(0,B.useState)(!1),s=t.length>0&&!a,[c,l]=(0,B.useState)(``),[u,d]=(0,B.useState)(0),f=(0,B.useRef)(t);return f.current=t,(0,B.useEffect)(()=>{if(!t.length)return;let e=!0,n=async()=>{let t=await oa(f.current);e&&(t.error||(i(t.sold),d(Date.now())),l(t.error),o(!0))};n();let r=setInterval(()=>{document.visibilityState!==`hidden`&&n()},ra),a=()=>{document.visibilityState===`visible`&&n()};return document.addEventListener(`visibilitychange`,a),()=>{e=!1,clearInterval(r),document.removeEventListener(`visibilitychange`,a)}},[n]),(0,B.useMemo)(()=>({loading:s,error:c,asOf:u,left:(e,t)=>ea(r,e,t),sold:(e,t)=>ta(r,e,t)}),[r,s,c,u])}function ca({config:e,customContent:t}){let{user:a,userRole:l}=r.dr(),{config:u}=i.w(),[f,m]=(0,B.useState)([]),[h,g]=(0,B.useState)(!0),[_,v]=(0,B.useState)(!1),[b,x]=(0,B.useState)(``),[S,C]=(0,B.useState)(``),[w,T]=(0,B.useState)(!1),[k,A]=(0,B.useState)(``),[P,F]=(0,B.useState)(null),I=(0,B.useRef)(null),[L,R]=(0,B.useState)(null),[z,H]=(0,B.useState)(null),W=e=>{if(H(e),e){let t=e.fileType||``;ne(t.startsWith(`image/`)||t.startsWith(`video/`)||t===`application/pdf`)}},G=z,[te,ne]=(0,B.useState)(!0),[re,ie]=(0,B.useState)(!1),[ae,K]=(0,B.useState)(null),[q,J]=(0,B.useState)(``),[oe,Y]=(0,B.useState)(``),[se,ce]=(0,B.useState)([]),le=(0,B.useRef)(null),ue=D.o(e,`user_page`),de=o.C({...e,pageType:`user`}),fe=!de.startsWith(`user_`),pe=y.c(de),X=pe?D.t(e,de):`${de}${ue}_records`,me=y.f(),he=y.o({on:!fe&&!pe}),ge=he.uid||a?.uid||``,_e=y.F(X),Z=pe?_e.records:f,ve=pe?_e.loading:h,Q=e=>pe?y.C(e,me):!0,ye=l===`admin`,be=e=>Q(e)&&M.s(e,l),xe=(0,B.useRef)(!1);(0,B.useEffect)(()=>{!ye||ve||xe.current||!Z.length||(xe.current=!0,M.r(X,Z,e,!0).catch(e=>console.warn(`Could not catch the delete lock up:`,e)).finally(()=>{xe.current=!1}))},[ye,ve,Z,e?.deleteBy,X]);let Se=he.everyone?`${a?.uid}|everyone`:he.uid||a?.uid||``,Ce=(0,B.useRef)(Se),we=e=>y.d(de,X,e),[Te,Ee]=(0,B.useState)(()=>pe?y.u(X):``),De=()=>Ee(y.u(X));(0,B.useEffect)(()=>{document.title=e.tabTitle||e.tabName||u.appName||`Your AI Firebase`},[e.tabTitle,e.tabName,u.appName]),(0,B.useEffect)(()=>{if(!a||pe)return;try{let e=O.o(X,Se);e?(m(e),g(!1)):(m(e=>e.length?[]:e),g(!0)),Ce.current=Se}catch{}let e=e=>Ki(e),t=(0,U.onSnapshot)(fe||he.everyone?(0,U.query)((0,U.collection)(r.ka,X),(0,U.limit)(150)):(0,U.query)((0,U.collection)(r.ka,X),(0,U.where)(`uid`,`==`,he.uid||a.uid),(0,U.limit)(150)),t=>{let n=e(t.docs);n.sort((e,t)=>(t.createdAt||0)-(e.createdAt||0)),m(n),g(!1),Ce.current=Se,O.s(X,Se,n)},e=>{console.warn(`${X}: this account cannot read its records here (${e?.code||`permission-denied`}). Signed-in pages need a verified email address; the records themselves are only ever the signer's own.`),m(e=>e.length?[]:e),g(!1)});return()=>t()},[a,X,fe,pe,he.uid,he.everyone,Se]),(0,B.useEffect)(()=>{!h&&a&&!pe&&Ce.current===Se&&O.s(X,Se,f)},[f,h,X,a,pe,Se]);let Oe=async(t,n)=>{let i={uid:ge,recordType:`record`,...M.o(e),...t};if(!pe){let e=(0,U.doc)((0,U.collection)(r.ka,X)),t={...i,createdAt:(0,U.serverTimestamp)()};return await(0,U.setDoc)(e,t),O.l(X,e.id,t),e.id}let o=n||Te||y.u(X);return await(0,U.setDoc)((0,U.doc)(r.ka,X,o),y.l({...Ji(a),...i},a.uid)),n||De(),o},ke=async t=>{if(t.preventDefault(),!(!a||!b.trim())){T(!0);try{let t=await Oe({name:b.trim(),note:S.trim()});pe||m(n=>[{id:t,name:b.trim(),note:S.trim(),uid:a.uid,recordType:`record`,...M.o(e),createdAt:Date.now()},...n]),x(``),C(``),v(!1)}catch(e){console.error(`Error saving record:`,e)}T(!1)}},Ae=y.b({upload:async(t,n)=>{if(!a)throw Error(`Sign in again before uploading.`);let r=await p.g(t),i=pe?I.current&&Te||y.u(X):``,o=`${we(i)}/${y.h(r.name)}`,s=await y.y(o,r,{customMetadata:{ownerId:a.uid},onProgress:n.progress,signal:n.signal});if(I.current)I.current(r,s,{uid:a.uid,storagePath:o,recordId:i});else{let t=await Oe({name:r.name,note:`${r.type||`File`} · ${Xe(r.size)}`,recordType:`file`,fileName:r.name,fileType:r.type||`unknown`,fileSize:r.size,downloadURL:s,storagePath:o},i);pe||m(n=>[{id:t,name:r.name,note:`${r.type||`File`} · ${Xe(r.size)}`,uid:a.uid,recordType:`file`,fileName:r.name,fileType:r.type,fileSize:r.size,downloadURL:s,storagePath:o,...M.o(e),createdAt:Date.now()},...n])}},onFailed:e=>A(`${e.name}: ${e.error||`That upload did not work.`}`),onSettled:()=>Ae.clear()}),je=Ae.busy,Me=e=>{let t=Array.from(e.target.files||[]);e.target.value=``,!(!t.length||!a)&&(A(``),Ae.add(t))},Ne=async()=>{if(L){ie(!0);try{let e=Z.find(e=>e.id===L);if(!M.s(e,l)){N.n(`Nothing on this page can be deleted.`),R(null),ie(!1);return}await(0,U.deleteDoc)((0,U.doc)(r.ka,X,L)),await j.o(e,Z,we(L)),pe||m(e=>e.filter(e=>e.id!==L)),R(null)}catch(e){console.error(`Error deleting record:`,e)}ie(!1)}},[Pe,Fe]=(0,B.useState)(null),[Ie,Le]=(0,B.useState)(``),[Re,ze]=(0,B.useState)(!1),[Be,Ve]=(0,B.useState)(null),He=(0,B.useRef)([]),Ue=e=>{if(e.recordType===`file`){Fe(e.id),Le(e.name);return}K(e.id),J(e.name),Y(e.note||``);let t=[`name`,`note`,`uid`,`recordType`,`fileName`,`fileType`,`fileSize`,`downloadURL`,`storagePath`,`createdAt`],n=Object.entries(e).filter(([e])=>!t.includes(e)&&e!==`id`).map(([e,t])=>({key:e,value:String(t??``)}));ce(n),He.current=n.map(e=>e.key)},We=async()=>{if(!Pe||!Ie.trim()){Fe(null);return}let e=Z.find(e=>e.id===Pe);if(e&&e.name===Ie.trim()){Fe(null);return}ze(!0);try{await(0,U.updateDoc)((0,U.doc)(r.ka,X,Pe),{name:Ie.trim()}),m(e=>e.map(e=>e.id===Pe?{...e,name:Ie.trim()}:e))}catch(e){console.error(`Error renaming file:`,e)}ze(!1),Fe(null)},Ge=async()=>{await Ke(),K(null)},Ke=async()=>{if(!ae||!q.trim())return;T(!0);let e={};se.forEach(({key:t,value:n})=>{t.trim()&&(e[t.trim()]=n)});let t=se.map(e=>e.key.trim()).filter(Boolean),n=He.current.filter(e=>!t.includes(e));n.forEach(t=>{e[t]=(0,U.deleteField)()});try{await(0,U.updateDoc)((0,U.doc)(r.ka,X,ae),{name:q.trim(),note:oe.trim(),...e}),m(e=>e.map(e=>{if(e.id!==ae)return e;let t={...e,name:q.trim(),note:oe.trim()};return n.forEach(e=>{delete t[e]}),se.forEach(({key:e,value:n})=>{e.trim()&&(t[e.trim()]=n)}),t})),He.current=t}catch(e){console.error(`Error saving record:`,e)}T(!1)},qe=(e,t)=>e?e.startsWith(`image/`)?t?(0,V.jsx)(`div`,{className:`w-9 h-9 rounded-xl bg-cover bg-center shrink-0`,style:{backgroundImage:`url(${t})`}}):(0,V.jsx)(s.Et,{className:`w-4 h-4`}):e.startsWith(`video/`)||e.startsWith(`audio/`)?(0,V.jsx)(s.m,{className:`w-4 h-4`}):e.includes(`pdf`)||e.includes(`word`)||e.includes(`text`)?(0,V.jsx)(s.It,{className:`w-4 h-4`}):e.includes(`zip`)||e.includes(`rar`)||e.includes(`archive`)?(0,V.jsx)(s.Cn,{className:`w-4 h-4`}):e.includes(`html`)||e.includes(`csv`)||e.includes(`json`)?(0,V.jsx)(s.Yt,{className:`w-4 h-4`}):(0,V.jsx)(s.Ft,{className:`w-4 h-4`}):(0,V.jsx)(s.It,{className:`w-4 h-4`}),Je=e=>e?e.startsWith(`image/`)?`bg-emerald-500/10 text-emerald-500`:e.startsWith(`video/`)||e.startsWith(`audio/`)?`bg-accent/10 text-accent`:e.includes(`pdf`)||e.includes(`word`)||e.includes(`text`)?`bg-blue-500/10 text-blue-500`:e.includes(`zip`)||e.includes(`rar`)||e.includes(`archive`)?`bg-yellow-500/10 text-yellow-500`:e.includes(`html`)||e.includes(`csv`)||e.includes(`json`)?`bg-emerald-500/10 text-emerald-500`:`bg-foreground/5 text-foreground/40`:`bg-foreground/5 text-foreground/40`,Ye=e=>{if(!e)return`FILE`;let t={"application/pdf":`PDF`,"application/zip":`ZIP`,"application/x-zip-compressed":`ZIP`,"application/x-rar-compressed":`RAR`,"application/x-7z-compressed":`7Z`,"application/json":`JSON`,"application/xml":`XML`,"application/javascript":`JS`,"application/typescript":`TS`,"application/msword":`DOC`,"application/vnd.openxmlformats-officedocument.wordprocessingml.document":`DOCX`,"application/vnd.ms-excel":`XLS`,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":`XLSX`,"application/vnd.ms-powerpoint":`PPT`,"application/vnd.openxmlformats-officedocument.presentationml.presentation":`PPTX`,"application/rtf":`RTF`,"application/x-tar":`TAR`,"application/gzip":`GZ`,"text/plain":`TXT`,"text/html":`HTML`,"text/css":`CSS`,"text/csv":`CSV`,"text/markdown":`MD`},n=e.toLowerCase();if(t[n])return t[n];let r=n.split(`/`);return r[r.length-1].replace(/^x-/,``).replace(/^vnd\..*\./,``).toUpperCase().slice(0,10)},Xe=e=>{if(!e)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**+r).toFixed(2))+` `+n[r]},Ze=e=>{if(!e)return``;let t=e.toMillis?e.toMillis():e;return new Date(t).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})},Qe=(()=>{let t=(e.buttonStorageIcon||`upload`).trim(),n=t.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``);return s.t[n]?s.t[n]:s.t[t]?s.t[t]:s.y||s.G})(),$e=e.buttonStyle!==`secondary`,et=e.buttonStorageStyle===`primary`;return(0,V.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,V.jsx)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-6 flex items-center justify-between`,children:(0,V.jsxs)(`div`,{children:[(0,V.jsx)(n.t,{children:e.tabTitle||e.tabName||`User Page`}),e.route&&(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,V.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),e.route]})]})}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 pb-16`,children:[(0,V.jsx)(i.t,{}),(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},className:t?`flex flex-col flex-1 relative`:`flex flex-col glass-panel border border-[var(--panel-border)] rounded-3xl overflow-hidden flex-1 shadow-2xl bg-background`,children:[(0,V.jsx)(`input`,{type:`file`,multiple:!0,ref:le,onChange:Me,className:`hidden`}),!t&&(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3 sm:gap-4 p-4 sm:p-6 md:px-8 md:py-6 border-b border-[var(--panel-border)]/50 bg-background/50 shrink-0`,children:[(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsx)(`h2`,{className:`text-xl font-bold text-foreground tracking-tight truncate`,children:e.tabTitle||e.tabName||`Dashboard`}),(0,V.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/50 mt-1`,children:ve?`Loading…`:`${Z.length} ${Z.length===1?`item`:`items`}`}),(k||pe&&_e.error)&&(0,V.jsx)(`p`,{className:`text-[12px] font-semibold text-red-500 mt-1 truncate`,role:`alert`,children:k||_e.error}),he.someoneElse&&e.storage!==!1&&(0,V.jsx)(`p`,{className:`text-[12px] font-medium text-foreground/50 mt-1 max-sm:hidden`,children:`You are looking at somebody else’s page. Anything you add here is theirs, but a file would stay yours — so uploads are off until you switch back to your own.`})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,V.jsx)(y.a,{viewing:he}),e.storage!==!1&&!he.someoneElse&&(0,V.jsx)(V.Fragment,{children:(0,V.jsxs)(r.sr.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>le.current?.click(),title:je?Ae.done?`${Ae.done} of ${Ae.total} uploaded…`:`Uploading ${Ae.total===1?`your file`:`${Ae.total} files`}…`:e.buttonStorageText||`Upload files`,className:`h-10 flex items-center justify-center gap-2 rounded-xl transition-all duration-300 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed ${e.buttonStorageText?`px-4`:`w-10`} ${et?`btn-primary`:`btn-secondary`}`,children:[je?(0,V.jsx)(s.ht,{className:`w-4 h-4 animate-spin`}):(0,V.jsx)(Qe,{className:`w-4 h-4`}),e.buttonStorageText&&(0,V.jsx)(`span`,{className:`text-[13px] font-bold`,children:e.buttonStorageText})]})}),e.showButton!==!1&&(0,V.jsx)(r.sr.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>v(!0),title:`Add New`,className:`h-10 flex items-center justify-center gap-2 rounded-xl transition-all duration-300 cursor-pointer ${e.buttonText&&e.buttonText!==`+`?`px-5`:`w-10`} ${$e?`btn-primary`:`btn-secondary`}`,children:e.buttonText===`+`||!e.buttonText?(0,V.jsx)(s.G,{className:`w-4 h-4`}):(0,V.jsx)(`span`,{className:`text-[13px] font-bold`,children:e.buttonText})})]})]}),(0,V.jsxs)(`div`,{className:t?`flex-1 flex flex-col relative min-h-[400px]`:`p-6 md:p-8 flex-1 overflow-y-auto relative min-h-[400px]`,children:[ve&&(0,V.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-background/50 backdrop-blur-sm`,children:(0,V.jsx)(s.ht,{className:`w-8 h-8 text-accent animate-spin`})}),t?(0,V.jsx)(y.p,{value:{prefix:de,collection:pe?X:``,recordId:pe?ae||Te:``},children:(0,V.jsx)(`div`,{className:`fbos-content-slot fbos-tab-fill`,children:(0,V.jsx)(c.r,{size:`part`,children:(0,V.jsx)(t,{config:e,actions:{records:Z,loading:ve,error:pe?_e.error:``,collection:X,user:a,...y.s(X,me,pe,Te),saveRecord:async(t,n)=>{let r=qi(Ui(t,n)),i=await Oe(na(r));return pe||m(t=>[{uid:ge,recordType:`record`,...M.o(e),createdAt:Date.now(),...r,id:i},...t.filter(e=>e.id!==i)]),i},updateRecord:async(e,t,n)=>{let{id:i,data:o}=Wi(e,t,n),s=qi(o),c={...Yi(a),...na(s,Z.find(e=>e.id===i))};pe||m(e=>e.map(e=>e.id===i?{...e,...c}:e)),await(0,U.updateDoc)((0,U.doc)(r.ka,X,i),c);let l=Z.find(e=>e.id===i);l&&O.l(X,i,{...l,...c})},deleteRecord:async(e,t)=>{let n=Gi(e,t),i=Z.find(e=>e.id===n);if(!M.s(i,l)){N.n(`Nothing on this page can be deleted.`);return}await(0,U.deleteDoc)((0,U.doc)(r.ka,X,n)),O.u(X,n),await j.o(i,Z,we(n))},startEdit:e=>Ue(e),confirmDelete:e=>R(e),uploadFile:()=>{he.someoneElse||le.current?.click()},openAddForm:()=>v(!0),setAddForm:e=>F(()=>e),setFileHandler:e=>{I.current=e}}})})})}):(0,V.jsxs)(V.Fragment,{children:[!ve&&Z.length===0&&(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`flex-1 flex flex-col items-center justify-center border border-[var(--panel-border)]/50 border-dashed rounded-2xl p-8 py-20 text-center min-h-[350px]`,children:[(0,V.jsx)(`div`,{className:`w-16 h-16 rounded-2xl bg-accent/5 border border-accent/10 flex items-center justify-center mb-5`,children:(0,V.jsx)(s.G,{className:`w-6 h-6 text-accent/40`})}),(0,V.jsx)(`p`,{className:`text-[15px] font-bold mb-1.5 text-foreground/50`,children:`No items yet`}),(0,V.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/35 max-w-xs leading-relaxed`,children:`Use the buttons above to add records or upload files to get started`})]}),!ve&&Z.length>0&&(0,V.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:(0,V.jsx)(r.cr,{children:Z.map((e,t)=>{let n=ae===e.id,i=Q(e),o=pe?Xi(e,a):null;return(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,scale:.95},transition:{delay:t*.03,duration:.25},onClick:()=>i&&Ue(e),className:`group flex flex-col bg-background border rounded-2xl p-5 transition-all relative ${i?`cursor-pointer`:``} ${n?`border-accent/40 shadow-lg ring-1 ring-accent/20`:`border-[var(--panel-border)] hover:border-accent/30 hover:shadow-lg`}`,children:[(0,V.jsxs)(`div`,{className:`absolute top-3 right-3 flex items-center gap-0.5 opacity-100 md:opacity-0 md:group-hover:opacity-100 transition-all z-10`,children:[e.recordType===`file`&&e.downloadURL&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`button`,{onClick:t=>{t.stopPropagation(),navigator.clipboard.writeText(e.downloadURL),Ve(e.id),setTimeout(()=>Ve(null),2e3)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-emerald-500 hover:bg-emerald-500/10 transition-all cursor-pointer`,title:`Copy Link`,children:Be===e.id?(0,V.jsx)(s.sn,{className:`w-3.5 h-3.5 text-emerald-500`}):(0,V.jsx)(s._t,{className:`w-3.5 h-3.5`})}),(0,V.jsx)(`a`,{href:e.downloadURL,target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),className:`p-1.5 rounded-lg text-foreground/25 hover:text-blue-500 hover:bg-blue-500/10 transition-all`,title:`Download`,children:(0,V.jsx)(s.Gt,{className:`w-3.5 h-3.5`})})]}),i&&(0,V.jsx)(`button`,{onClick:t=>{t.stopPropagation(),Ue(e)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-accent hover:bg-accent/10 transition-all cursor-pointer`,title:`Edit`,children:(0,V.jsx)(s.Z,{className:`w-3.5 h-3.5`})}),i&&be(e)&&(0,V.jsx)(`button`,{onClick:t=>{t.stopPropagation(),R(e.id)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-red-500 hover:bg-red-500/10 transition-all cursor-pointer`,title:`Delete`,children:(0,V.jsx)(s.C,{className:`w-3.5 h-3.5`})})]}),(0,V.jsxs)(`div`,{className:`flex items-start gap-3 mb-3`,children:[(0,V.jsx)(`div`,{onClick:t=>{t.stopPropagation(),e.recordType===`file`&&W(e)},className:`w-9 h-9 rounded-xl flex items-center justify-center shrink-0 ${e.recordType===`file`?`cursor-pointer hover:scale-105 transition-transform ${Je(e.fileType)}`:`bg-accent/10 text-accent`}`,children:e.recordType===`file`?qe(e.fileType,e.downloadURL):(0,V.jsx)(`div`,{className:`w-2 h-2 rounded-full bg-current`})}),(0,V.jsxs)(`div`,{className:`flex flex-col min-w-0 flex-1 relative`,children:[Pe===e.id?(0,V.jsx)(`input`,{autoFocus:!0,type:`text`,value:Ie,onChange:e=>Le(e.target.value),onBlur:()=>We(),onKeyDown:e=>{e.key===`Enter`&&We(),e.key===`Escape`&&Fe(null)},onClick:e=>e.stopPropagation(),className:`no-glow text-[14px] font-bold text-foreground bg-transparent border-b border-accent/30 outline-none pb-0.5 w-full pr-12`}):(0,V.jsx)(`span`,{className:`text-[14px] font-bold text-foreground truncate pr-12`,children:e.name}),e.recordType===`file`&&(0,V.jsx)(`div`,{className:`absolute inset-0 z-0 cursor-pointer`,onClick:()=>W(e)}),(0,V.jsx)(`span`,{className:`text-[11px] text-foreground/35 font-bold uppercase tracking-wider mt-0.5`,children:Ze(e.createdAt)})]})]}),e.note&&(0,V.jsx)(`p`,{className:`text-[13px] text-foreground/55 font-medium leading-relaxed line-clamp-3 mb-1`,children:e.note}),Object.entries(e).filter(([e])=>![`name`,`note`,`uid`,`recordType`,`fileName`,`fileType`,`fileSize`,`downloadURL`,`createdAt`,`creatorName`,`creatorEmail`,`creatorAvatar`].includes(e)&&e!==`id`).slice(0,3).map(([e,t])=>(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 mt-1`,children:[(0,V.jsxs)(`span`,{className:`text-[10px] font-bold text-foreground/30 uppercase tracking-wider shrink-0`,children:[e,`:`]}),(0,V.jsx)(`span`,{className:`text-[11px] font-semibold text-foreground/60 truncate`,children:String(t)})]},e)),o&&(0,V.jsxs)(`div`,{className:`flex items-center gap-2 mt-2 pt-2 border-t border-[var(--panel-border)]/30`,children:[o.avatar?(0,V.jsx)(r.Nn,{src:o.avatar,alt:``,className:`w-5 h-5 rounded-full shrink-0`}):(0,V.jsx)(`div`,{className:`w-5 h-5 rounded-full bg-accent/15 text-accent flex items-center justify-center text-[8px] font-extrabold shrink-0`,children:o.name.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)}),(0,V.jsx)(`span`,{className:`text-[11px] font-semibold text-foreground/40 truncate`,children:o.name})]})]},e.id)})})})]})]})]})]}),(0,V.jsx)(r.cr,{children:_&&(0,V.jsxs)(`div`,{className:`fixed inset-0 z-[120] flex items-center justify-center p-4`,children:[(0,V.jsx)(r.sr.div,{onClick:()=>!w&&v(!1),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/60 backdrop-blur-sm cursor-pointer`}),(0,V.jsx)(r.sr.div,{initial:{opacity:0,scale:.97,y:6},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:6},transition:{duration:.2},className:`w-full max-w-[360px] border-[var(--panel-border)] border rounded-2xl relative z-10 glass-panel shadow-2xl bg-background overflow-hidden`,children:P?B.default.createElement(P,{onSave:async e=>{T(!0);try{await Oe(e),v(!1)}catch(e){console.error(`Error saving record:`,e)}T(!1)},onClose:()=>!w&&v(!1),saving:w}):(0,V.jsxs)(`form`,{onSubmit:ke,className:`p-5 flex flex-col gap-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between mb-1`,children:[(0,V.jsx)(`span`,{className:`text-[14px] font-bold text-foreground`,children:`New Record`}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>!w&&v(!1),className:`text-foreground/30 hover:text-foreground/60 transition-colors cursor-pointer p-0.5`,children:(0,V.jsx)(s.o,{className:`w-4 h-4`})})]}),(0,V.jsx)(`input`,{autoFocus:!0,type:`text`,required:!0,value:b,onChange:e=>x(e.target.value),placeholder:`Name *`,disabled:w,className:`w-full bg-foreground/[0.03] border border-[var(--panel-border)] px-3.5 py-2.5 text-[13px] font-semibold text-foreground outline-none focus:border-accent transition-colors placeholder:text-foreground/30`,style:{borderRadius:`var(--input-radius, 0.75rem)`}}),(0,V.jsx)(r.rr,{value:S,onChange:e=>C(e.target.value),placeholder:`Note (optional)`,disabled:w,rows:2,className:`w-full bg-foreground/[0.03] border border-[var(--panel-border)] px-3.5 py-2.5 text-[13px] font-medium text-foreground outline-none focus:border-accent transition-colors placeholder:text-foreground/30 resize-none`,style:{borderRadius:`var(--input-radius, 0.75rem)`}}),(0,V.jsx)(`div`,{className:`flex justify-end pt-1`,children:(0,V.jsx)(d.t,{type:`submit`,isLoading:w,className:`px-5 py-2 text-[12px] font-bold shadow-md`,children:w?`Saving…`:`Save`})})]})})]})}),typeof window<`u`&&(0,ee.createPortal)((0,V.jsx)(r.cr,{children:G&&(0,V.jsxs)(`div`,{className:`fixed inset-0 z-[9999] flex items-center justify-center p-4 md:p-12`,children:[(0,V.jsx)(r.sr.div,{onClick:()=>W(null),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/95 backdrop-blur-xl cursor-pointer`}),(0,V.jsx)(`button`,{onClick:()=>W(null),className:`absolute top-6 right-6 z-[160] w-12 h-12 bg-foreground/10 hover:bg-foreground/20 text-foreground rounded-full flex items-center justify-center backdrop-blur-md transition-all cursor-pointer outline-none`,children:(0,V.jsx)(s.o,{className:`w-5 h-5`})}),(0,V.jsxs)(r.sr.div,{initial:{opacity:0,scale:.95,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:10},className:`relative z-10 w-full max-w-6xl max-h-[85vh] flex flex-col pointer-events-auto shadow-2xl rounded-3xl overflow-hidden glass-panel border border-[var(--panel-border)]`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between p-6 bg-background/80 backdrop-blur-md border-b border-[var(--panel-border)] shrink-0 shadow-sm z-20`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col min-w-0 pr-4`,children:[(0,V.jsx)(`span`,{className:`text-xl font-bold text-foreground truncate`,children:G.fileName||G.name}),(0,V.jsxs)(`span`,{className:`text-[12px] text-foreground/70 font-bold uppercase tracking-wider mt-1`,children:[Ye(G.fileType),` • `,Xe(G.fileSize||0)]})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,V.jsx)(`button`,{onClick:()=>{navigator.clipboard.writeText(G.downloadURL),Ve(`preview`),setTimeout(()=>Ve(null),2e3)},className:`p-2.5 bg-foreground/5 hover:bg-foreground/10 text-foreground/70 transition-colors rounded-xl shadow-sm hover:text-emerald-500 cursor-pointer`,title:`Copy Link`,children:Be===`preview`?(0,V.jsx)(s.sn,{className:`w-4 h-4 text-emerald-500`}):(0,V.jsx)(s._t,{className:`w-4 h-4`})}),(0,V.jsx)(`button`,{onClick:()=>{W(null),Fe(G.id),Le(G.name)},className:`p-2.5 bg-foreground/5 hover:bg-foreground/10 text-foreground/70 hover:text-accent transition-colors rounded-xl shadow-sm cursor-pointer`,title:`Rename`,children:(0,V.jsx)(s.Z,{className:`w-4 h-4`})}),(0,V.jsx)(`button`,{onClick:()=>{W(null),R(G.id)},className:`p-2.5 bg-red-500/10 hover:bg-red-500/20 text-red-500 transition-colors rounded-xl shadow-sm cursor-pointer`,title:`Delete`,children:(0,V.jsx)(s.C,{className:`w-4 h-4`})}),(0,V.jsx)(`a`,{href:G.downloadURL,download:!0,target:`_blank`,rel:`noreferrer`,className:`p-2.5 btn-primary transition-colors rounded-xl shadow-lg ml-1`,title:`Download`,children:(0,V.jsx)(s.Gt,{className:`w-4 h-4`})})]})]}),(0,V.jsx)(`div`,{className:`flex-1 w-full relative bg-foreground/[0.02] min-h-[50vh] md:min-h-[600px]`,onClick:()=>W(null),children:(0,V.jsxs)(`div`,{className:`absolute inset-x-4 inset-y-8 md:inset-x-12 md:inset-y-12 flex items-center justify-center`,children:[te&&(0,V.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center rounded-lg z-50 pointer-events-none`,children:(0,V.jsx)(`div`,{className:`w-12 h-12 rounded-full bg-background/80 backdrop-blur-md shadow-xl flex items-center justify-center border border-[var(--panel-border)]/50`,children:(0,V.jsx)(s.ht,{className:`w-5 h-5 text-accent animate-spin`})})}),G.fileType?.startsWith(`image/`)?(0,V.jsx)(`img`,{onLoad:()=>ne(!1),onError:()=>ne(!1),src:G.downloadURL,alt:G.fileName||G.name,className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-auto h-auto max-w-full max-h-full object-contain drop-shadow-[0_0_40px_rgba(0,0,0,0.5)] rounded-lg pointer-events-auto transition-opacity duration-500 ${te?`opacity-0`:`opacity-100`}`,onClick:e=>e.stopPropagation()}):G.fileType?.startsWith(`video/`)?(0,V.jsx)(`video`,{onLoadedData:()=>ne(!1),onError:()=>ne(!1),src:G.downloadURL,controls:!0,autoPlay:!0,className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-auto h-auto max-w-full max-h-full outline-none bg-black/40 rounded-lg pointer-events-auto drop-shadow-[0_0_40px_rgba(0,0,0,0.5)] transition-opacity duration-500 ${te?`opacity-0`:`opacity-100`}`,onClick:e=>e.stopPropagation()}):G.fileType===`application/pdf`?(0,V.jsx)(`iframe`,{onLoad:()=>ne(!1),src:G.downloadURL,className:`w-full h-full border-none rounded-lg relative z-10 transition-opacity duration-500 ${te?`opacity-0`:`opacity-100`}`,style:{backgroundColor:`white`},title:`PDF Preview`,onClick:e=>e.stopPropagation()}):(0,V.jsxs)(`div`,{className:`w-full h-full flex flex-col items-center justify-center text-foreground/40 text-center relative z-10`,onClick:e=>{e.stopPropagation(),ne(!1)},children:[(0,V.jsx)(s.It,{className:`w-24 h-24 mb-6 opacity-40 drop-shadow-sm`}),(0,V.jsx)(`span`,{className:`text-[20px] font-extrabold text-foreground`,children:`Preview Unavailable`}),(0,V.jsx)(`span`,{className:`text-[14px] mt-2 text-foreground/60 font-medium max-w-xs`,children:`This file format cannot be previewed. Please download it instead.`})]})]})})]})]})}),document.body),(0,V.jsx)(r.cr,{children:ae&&(0,V.jsxs)(`div`,{className:`fixed inset-0 z-[120] flex items-center justify-center p-4`,children:[(0,V.jsx)(r.sr.div,{onClick:()=>Ge(),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/60 backdrop-blur-sm cursor-pointer`}),(0,V.jsx)(r.sr.div,{initial:{opacity:0,scale:.97,y:6},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:6},transition:{duration:.2},className:`w-full max-w-[440px] border-[var(--panel-border)] border rounded-2xl relative z-10 glass-panel shadow-2xl bg-background overflow-hidden`,children:(0,V.jsxs)(`div`,{className:`p-5 flex flex-col gap-3 max-h-[80vh] overflow-y-auto`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between mb-2 mt-2 px-1`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`text-[14px] font-bold text-foreground`,children:`Edit Record`}),w&&(0,V.jsx)(s.ht,{className:`w-3 h-3 animate-spin text-foreground/40`})]}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>Ge(),className:`text-foreground/30 hover:text-foreground/60 transition-colors cursor-pointer`,children:(0,V.jsx)(s.o,{className:`w-4 h-4`})})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-0 max-h-[70vh] overflow-y-auto no-scrollbar px-1`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,V.jsx)(`input`,{readOnly:!0,value:`NAME`,className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none pt-3 pb-0.5`}),(0,V.jsx)(`input`,{autoFocus:!0,required:!0,value:q,onChange:e=>J(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>Ke(),placeholder:`Name *`,className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pb-1 caret-foreground/50`}),(0,V.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`})]}),(0,V.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,V.jsx)(`input`,{readOnly:!0,value:`NOTE`,className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none pt-3 pb-0.5`}),(0,V.jsx)(r.rr,{value:oe,onChange:e=>Y(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),e.target.blur())},onBlur:()=>Ke(),placeholder:`Add a note...`,rows:1,className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pb-1 caret-foreground/50 resize-none overflow-hidden`}),(0,V.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`})]}),se.map((e,t)=>(0,V.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,V.jsx)(`input`,{placeholder:`FIELD NAME`,value:e.key,onChange:e=>{let n=[...se];n[t].key=e.target.value,ce(n)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>Ke(),className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none placeholder:text-foreground/15 pt-3 pb-0.5 caret-foreground/40`}),(0,V.jsx)(`input`,{placeholder:`Field value...`,value:e.value,onChange:e=>{let n=[...se];n[t].value=e.target.value,ce(n)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>Ke(),className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pt-1.5 pb-1 caret-foreground/50`}),(0,V.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>ce(se.filter((e,n)=>n!==t)),className:`absolute top-3 right-0 p-1 text-foreground/0 group-hover/field:text-foreground/20 hover:!text-red-400 transition-colors cursor-pointer`,children:(0,V.jsx)(s.o,{className:`w-3 h-3`})})]},t)),(0,V.jsxs)(`button`,{type:`button`,onClick:()=>ce([...se,{key:``,value:``}]),className:`flex items-center gap-1.5 text-[11px] font-medium text-foreground/25 hover:text-foreground/40 transition-colors cursor-pointer mt-4 mb-4`,children:[(0,V.jsx)(s.G,{className:`w-3 h-3`}),` Add Field`]})]})]})})]})}),(0,V.jsx)(E.t,{isOpen:!!L,onCancel:()=>R(null),onConfirm:Ne,title:`Delete Record`,message:(0,V.jsxs)(V.Fragment,{children:[`Are you sure you want to delete `,(0,V.jsx)(`strong`,{className:`text-foreground font-extrabold break-words mx-1`,children:Z.find(e=>e.id===L)?.name}),` This action cannot be undone.`]}),confirmText:`Delete`,isProcessing:re})]})}function la({config:e,customContent:t}){let{user:a}=r.dr(),{config:o}=i.w(),[l,u]=(0,B.useState)([]),[f,m]=(0,B.useState)(!0),[h,g]=(0,B.useState)(!1),[_,v]=(0,B.useState)(``),[b,x]=(0,B.useState)(``),[S,C]=(0,B.useState)(!1),[w,T]=(0,B.useState)(``),[k,A]=(0,B.useState)(null),M=(0,B.useRef)(null),[N,P]=(0,B.useState)(null),[F,I]=(0,B.useState)(null),L=e=>{if(I(e),e){let t=e.fileType||``;H(t.startsWith(`image/`)||t.startsWith(`video/`)||t===`application/pdf`)}},R=F,[z,H]=(0,B.useState)(!0),[W,G]=(0,B.useState)(!1),[te,ne]=(0,B.useState)(null),[re,ie]=(0,B.useState)(``),[ae,K]=(0,B.useState)(``),[q,J]=(0,B.useState)([]),oe=(0,B.useRef)(null),[Y,se]=(0,B.useState)(null),ce=(0,B.useRef)([]),le=`admin_${D.o(e,`admin_page`)}_records`,ue=j.i(`admin_`);(0,B.useEffect)(()=>{document.title=e.tabTitle||e.tabName||o.appName||`Your AI Firebase`},[e.tabTitle,e.tabName,o.appName]);let de=()=>({name:a.displayName||a.email?.split(`@`)[0]||`Admin`,email:a.email||``,avatar:a.photoURL||``}),fe=a?.uid;(0,B.useEffect)(()=>{if(!fe)return;try{let e=O.o(le,fe);e?(u(e),m(!1)):m(!0)}catch{}let e=e=>Ki(e),t=(0,U.onSnapshot)((0,U.query)((0,U.collection)(r.ka,le),(0,U.orderBy)(`createdAt`,`desc`),(0,U.limit)(150)),t=>{let n=e(t.docs);u(n),m(!1),O.s(le,fe,n)},e=>{console.warn(`${le}: this account cannot read the records here (${e?.code||`permission-denied`}). An admins page needs a verified address and an account marked Admin on the Users screen.`),u(e=>e.length?[]:e),m(!1)});return()=>t()},[fe,le]);let pe=async e=>{if(e.preventDefault(),!(!a||!_.trim())){C(!0);try{let e=de();await(0,U.addDoc)((0,U.collection)(r.ka,le),{name:_.trim(),note:b.trim(),uid:a.uid,recordType:`record`,creatorName:e.name,creatorEmail:e.email,creatorAvatar:e.avatar,createdAt:(0,U.serverTimestamp)()}),v(``),x(``),g(!1)}catch(e){console.error(`Error saving admin record:`,e)}C(!1)}},X=y.b({upload:async(e,t)=>{if(!a)throw Error(`Sign in again before uploading.`);let n=await p.g(e),i=`${ue}/${y.h(n.name)}`,o=await y.y(i,n,{customMetadata:{ownerId:a.uid},onProgress:t.progress,signal:t.signal});if(M.current)M.current(n,o,{uid:a.uid,storagePath:i});else{let e=de();await(0,U.addDoc)((0,U.collection)(r.ka,le),{name:n.name,note:`${n.type||`File`} · ${Oe(n.size)}`,uid:a.uid,recordType:`file`,fileName:n.name,fileType:n.type||`unknown`,fileSize:n.size,downloadURL:o,storagePath:i,creatorName:e.name,creatorEmail:e.email,creatorAvatar:e.avatar,createdAt:(0,U.serverTimestamp)()})}},onFailed:e=>T(`${e.name}: ${e.error||`That upload did not work.`}`),onSettled:()=>X.clear()}),me=X.busy,he=e=>{let t=Array.from(e.target.files||[]);e.target.value=``,!(!t.length||!a)&&(T(``),X.add(t))},ge=async()=>{if(N){G(!0);try{let e=l.find(e=>e.id===N);await(0,U.deleteDoc)((0,U.doc)(r.ka,le,N)),await j.o(e,l,ue),P(null)}catch(e){console.error(`Error deleting admin record:`,e)}G(!1)}},[_e,Z]=(0,B.useState)(null),[ve,Q]=(0,B.useState)(``),[ye,be]=(0,B.useState)(!1),xe=e=>{if(e.recordType===`file`){Z(e.id),Q(e.name);return}ne(e.id),ie(e.name),K(e.note||``);let t=[`name`,`note`,`uid`,`recordType`,`fileName`,`fileType`,`fileSize`,`downloadURL`,`storagePath`,`createdAt`,`creatorName`,`creatorEmail`,`creatorAvatar`],n=Object.entries(e).filter(([e])=>!t.includes(e)&&e!==`id`).map(([e,t])=>({key:e,value:String(t??``)}));J(n),ce.current=n.map(e=>e.key)},Se=async()=>{if(!_e||!ve.trim()){Z(null);return}let e=l.find(e=>e.id===_e);if(e&&e.name===ve.trim()){Z(null);return}be(!0);try{await(0,U.updateDoc)((0,U.doc)(r.ka,le,_e),{name:ve.trim()}),u(e=>e.map(e=>e.id===_e?{...e,name:ve.trim()}:e))}catch(e){console.error(`Error renaming file:`,e)}be(!1),Z(null)},Ce=async()=>{if(!te||!re.trim()){ne(null);return}C(!0);let e={};q.forEach(({key:t,value:n})=>{t.trim()&&(e[t.trim()]=n)});let t=q.map(e=>e.key.trim()).filter(Boolean),n=ce.current.filter(e=>!t.includes(e));n.forEach(t=>{e[t]=(0,U.deleteField)()});try{await(0,U.updateDoc)((0,U.doc)(r.ka,le,te),{name:re.trim(),note:ae.trim(),...e}),u(e=>e.map(e=>{if(e.id!==te)return e;let t={...e,name:re.trim(),note:ae.trim()};return n.forEach(e=>{delete t[e]}),q.forEach(({key:e,value:n})=>{e.trim()&&(t[e.trim()]=n)}),t})),ce.current=t}catch(e){console.error(`Error updating record:`,e)}C(!1),ne(null)},we=async()=>{if(!te||!re.trim())return;let e={};q.forEach(({key:t,value:n})=>{t.trim()&&(e[t.trim()]=n)});let t=q.map(e=>e.key.trim()).filter(Boolean),n=ce.current.filter(e=>!t.includes(e));n.forEach(t=>{e[t]=(0,U.deleteField)()});try{await(0,U.updateDoc)((0,U.doc)(r.ka,le,te),{name:re.trim(),note:ae.trim(),...e}),u(e=>e.map(e=>{if(e.id!==te)return e;let t={...e,name:re.trim(),note:ae.trim()};return n.forEach(e=>{delete t[e]}),q.forEach(({key:e,value:n})=>{e.trim()&&(t[e.trim()]=n)}),t})),ce.current=t}catch(e){console.error(`Error silently saving record:`,e)}},Te=(e,t)=>e?e.startsWith(`image/`)?t?(0,V.jsx)(`div`,{className:`w-9 h-9 rounded-xl bg-cover bg-center shrink-0`,style:{backgroundImage:`url(${t})`}}):(0,V.jsx)(s.Et,{className:`w-4 h-4`}):e.startsWith(`video/`)||e.startsWith(`audio/`)?(0,V.jsx)(s.m,{className:`w-4 h-4`}):e.includes(`pdf`)||e.includes(`word`)||e.includes(`text`)?(0,V.jsx)(s.It,{className:`w-4 h-4`}):e.includes(`zip`)||e.includes(`rar`)||e.includes(`archive`)?(0,V.jsx)(s.Cn,{className:`w-4 h-4`}):e.includes(`html`)||e.includes(`csv`)||e.includes(`json`)?(0,V.jsx)(s.Yt,{className:`w-4 h-4`}):(0,V.jsx)(s.Ft,{className:`w-4 h-4`}):(0,V.jsx)(s.It,{className:`w-4 h-4`}),Ee=e=>e?e.startsWith(`image/`)?`bg-emerald-500/10 text-emerald-500`:e.startsWith(`video/`)||e.startsWith(`audio/`)?`bg-accent/10 text-accent`:e.includes(`pdf`)||e.includes(`word`)||e.includes(`text`)?`bg-blue-500/10 text-blue-500`:e.includes(`zip`)||e.includes(`rar`)||e.includes(`archive`)?`bg-yellow-500/10 text-yellow-500`:e.includes(`html`)||e.includes(`csv`)||e.includes(`json`)?`bg-emerald-500/10 text-emerald-500`:`bg-foreground/5 text-foreground/40`:`bg-foreground/5 text-foreground/40`,De=e=>{if(!e)return`FILE`;let t={"application/pdf":`PDF`,"application/zip":`ZIP`,"application/x-zip-compressed":`ZIP`,"application/x-rar-compressed":`RAR`,"application/x-7z-compressed":`7Z`,"application/json":`JSON`,"application/xml":`XML`,"application/javascript":`JS`,"application/typescript":`TS`,"application/msword":`DOC`,"application/vnd.openxmlformats-officedocument.wordprocessingml.document":`DOCX`,"application/vnd.ms-excel":`XLS`,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":`XLSX`,"application/vnd.ms-powerpoint":`PPT`,"application/vnd.openxmlformats-officedocument.presentationml.presentation":`PPTX`,"application/rtf":`RTF`,"application/x-tar":`TAR`,"application/gzip":`GZ`,"text/plain":`TXT`,"text/html":`HTML`,"text/css":`CSS`,"text/csv":`CSV`,"text/markdown":`MD`},n=e.toLowerCase();if(t[n])return t[n];let r=n.split(`/`);return r[r.length-1].replace(/^x-/,``).replace(/^vnd\..*\./,``).toUpperCase().slice(0,10)},Oe=e=>{if(!e)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**+r).toFixed(2))+` `+n[r]},ke=e=>{if(!e)return``;let t=e.toMillis?e.toMillis():e;return new Date(t).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})},Ae=(()=>{let t=(e.buttonStorageIcon||`upload`).trim(),n=t.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``);return s.t[n]?s.t[n]:s.t[t]?s.t[t]:s.y||s.G})(),je=e.buttonStyle!==`secondary`,Me=e.buttonStorageStyle===`primary`,Ne=e=>e.uid===a?.uid,Pe=({record:e})=>{let t=e.creatorName||e.creatorEmail?.split(`@`)[0]||`Admin`,n=e.creatorEmail||``,i=e.creatorAvatar||``,a=t.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,V.jsxs)(`div`,{className:`flex items-center gap-2 mt-2 pt-2 border-t border-[var(--panel-border)]/30`,children:[i?(0,V.jsx)(r.Nn,{src:i,alt:``,className:`w-5 h-5 rounded-full shrink-0`}):(0,V.jsx)(`div`,{className:`w-5 h-5 rounded-full bg-accent/15 text-accent flex items-center justify-center text-[8px] font-extrabold shrink-0`,children:a}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0 flex-1`,children:[(0,V.jsx)(`span`,{className:`text-[11px] font-semibold text-foreground/40 truncate`,children:t}),n&&(0,V.jsxs)(`span`,{className:`text-[10px] text-foreground/25 truncate`,children:[`· `,n]})]})]})};return(0,V.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,V.jsx)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-6 flex items-center justify-between`,children:(0,V.jsxs)(`div`,{children:[(0,V.jsx)(n.t,{children:e.tabTitle||e.tabName||`Admin Page`}),e.route&&(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,V.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),e.route]})]})}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 pb-16`,children:[(0,V.jsx)(i.t,{}),(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},className:t?`flex flex-col flex-1 relative`:`flex flex-col glass-panel border border-[var(--panel-border)] rounded-3xl overflow-hidden flex-1 shadow-2xl bg-background`,children:[(0,V.jsx)(`input`,{type:`file`,multiple:!0,ref:oe,onChange:he,className:`hidden`}),!t&&(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3 sm:gap-4 p-4 sm:p-6 md:px-8 md:py-6 border-b border-[var(--panel-border)]/50 bg-background/50 shrink-0`,children:[(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsx)(`h2`,{className:`text-xl font-bold text-foreground tracking-tight truncate`,children:e.tabTitle||e.tabName||`Dashboard`}),(0,V.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/50 mt-1`,children:f?`Loading…`:`${l.length} ${l.length===1?`item`:`items`}`}),w&&(0,V.jsx)(`p`,{className:`text-[12px] font-semibold text-red-500 mt-1 truncate`,role:`alert`,children:w})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[e.storage!==!1&&(0,V.jsx)(V.Fragment,{children:(0,V.jsxs)(r.sr.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>oe.current?.click(),title:me?X.done?`${X.done} of ${X.total} uploaded…`:`Uploading ${X.total===1?`your file`:`${X.total} files`}…`:e.buttonStorageText||`Upload files`,className:`h-10 flex items-center justify-center gap-2 rounded-xl transition-all duration-300 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed ${e.buttonStorageText?`px-4`:`w-10`} ${Me?`btn-primary`:`btn-secondary`}`,children:[me?(0,V.jsx)(s.ht,{className:`w-4 h-4 animate-spin`}):(0,V.jsx)(Ae,{className:`w-4 h-4`}),e.buttonStorageText&&(0,V.jsx)(`span`,{className:`text-[13px] font-bold`,children:e.buttonStorageText})]})}),e.showButton!==!1&&(0,V.jsx)(r.sr.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>g(!0),title:`Add New`,className:`h-10 flex items-center justify-center gap-2 rounded-xl transition-all duration-300 cursor-pointer ${e.buttonText&&e.buttonText!==`+`?`px-5`:`w-10`} ${je?`btn-primary`:`btn-secondary`}`,children:e.buttonText===`+`||!e.buttonText?(0,V.jsx)(s.G,{className:`w-4 h-4`}):(0,V.jsx)(`span`,{className:`text-[13px] font-bold`,children:e.buttonText})})]})]}),(0,V.jsxs)(`div`,{className:t?`flex-1 flex flex-col relative min-h-[400px]`:`p-6 md:p-8 flex-1 overflow-y-auto relative min-h-[400px]`,children:[f&&(0,V.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-background/50 backdrop-blur-sm`,children:(0,V.jsx)(s.ht,{className:`w-8 h-8 text-accent animate-spin`})}),t?(0,V.jsx)(y.p,{value:{prefix:`admin_`,collection:le},children:(0,V.jsx)(`div`,{className:`fbos-content-slot fbos-tab-fill`,children:(0,V.jsx)(c.r,{size:`part`,children:(0,V.jsx)(t,{config:e,actions:{records:l,loading:f,collection:le,user:a,saveRecord:async(e,t)=>{let n=(0,U.doc)((0,U.collection)(r.ka,le)),i=de(),o=qi(Ui(e,t)),s={uid:a.uid,recordType:`record`,creatorName:i.name,creatorEmail:i.email,creatorAvatar:i.avatar,createdAt:Date.now(),...o,id:n.id};u(e=>[s,...e.filter(e=>e.id!==s.id)]);let c={uid:a.uid,recordType:`record`,creatorName:i.name,creatorEmail:i.email,creatorAvatar:i.avatar,createdAt:(0,U.serverTimestamp)(),...o};return await(0,U.setDoc)(n,c),O.l(le,n.id,c),n.id},updateRecord:async(e,t,n)=>{let{id:i,data:o}=Wi(e,t,n),s=qi(o),c={...Yi(a),...s};u(e=>e.map(e=>e.id===i?{...e,...c}:e)),await(0,U.updateDoc)((0,U.doc)(r.ka,le,i),c);let d=l.find(e=>e.id===i);d&&O.l(le,i,{...d,...c})},deleteRecord:async(e,t)=>{let n=Gi(e,t),i=l.find(e=>e.id===n);await(0,U.deleteDoc)((0,U.doc)(r.ka,le,n)),O.u(le,n),await j.o(i,l,ue)},startEdit:e=>xe(e),confirmDelete:e=>P(e),uploadFile:()=>oe.current?.click(),openAddForm:()=>g(!0),setAddForm:e=>A(()=>e),setFileHandler:e=>{M.current=e}}})})})}):(0,V.jsxs)(V.Fragment,{children:[!f&&l.length===0&&(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`flex-1 flex flex-col items-center justify-center border border-[var(--panel-border)]/50 border-dashed rounded-2xl p-8 py-20 text-center min-h-[350px]`,children:[(0,V.jsx)(`div`,{className:`w-16 h-16 rounded-2xl bg-accent/5 border border-accent/10 flex items-center justify-center mb-5`,children:(0,V.jsx)(s.G,{className:`w-6 h-6 text-accent/40`})}),(0,V.jsx)(`p`,{className:`text-[15px] font-bold mb-1.5 text-foreground/50`,children:`No items yet`}),(0,V.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/35 max-w-xs leading-relaxed`,children:`Use the buttons above to add records or upload files. All admins can view and contribute.`})]}),!f&&l.length>0&&(0,V.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:(0,V.jsx)(r.cr,{children:l.map((e,t)=>{let n=te===e.id,i=Ne(e);return(0,V.jsxs)(r.sr.div,{initial:!1,animate:{opacity:1,y:0},exit:{opacity:0,scale:.95},onClick:()=>xe(e),className:`group flex flex-col bg-background border rounded-2xl p-5 transition-all relative cursor-pointer ${n?`border-accent/40 shadow-lg ring-1 ring-accent/20`:`border-[var(--panel-border)] hover:border-accent/30 hover:shadow-lg`}`,children:[(0,V.jsxs)(`div`,{className:`absolute top-3 right-3 flex items-center gap-0.5 opacity-100 md:opacity-0 md:group-hover:opacity-100 transition-all z-10`,children:[e.recordType===`file`&&e.downloadURL&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`button`,{onClick:t=>{t.stopPropagation(),navigator.clipboard.writeText(e.downloadURL),se(e.id),setTimeout(()=>se(null),2e3)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-emerald-500 hover:bg-emerald-500/10 transition-all cursor-pointer`,title:`Copy Link`,children:Y===e.id?(0,V.jsx)(s.sn,{className:`w-3.5 h-3.5 text-emerald-500`}):(0,V.jsx)(s._t,{className:`w-3.5 h-3.5`})}),(0,V.jsx)(`a`,{href:e.downloadURL,target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),className:`p-1.5 rounded-lg text-foreground/25 hover:text-blue-500 hover:bg-blue-500/10 transition-all`,title:`Download`,children:(0,V.jsx)(s.Gt,{className:`w-3.5 h-3.5`})})]}),i&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`button`,{onClick:t=>{t.stopPropagation(),xe(e)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-accent hover:bg-accent/10 transition-all cursor-pointer`,title:`Edit`,children:(0,V.jsx)(s.Z,{className:`w-3.5 h-3.5`})}),(0,V.jsx)(`button`,{onClick:t=>{t.stopPropagation(),P(e.id)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-red-500 hover:bg-red-500/10 transition-all cursor-pointer`,title:`Delete`,children:(0,V.jsx)(s.C,{className:`w-3.5 h-3.5`})})]})]}),(0,V.jsxs)(`div`,{className:`flex items-start gap-3 mb-2`,children:[(0,V.jsx)(`div`,{onClick:t=>{t.stopPropagation(),e.recordType===`file`&&L(e)},className:`w-9 h-9 rounded-xl flex items-center justify-center shrink-0 ${e.recordType===`file`?`cursor-pointer hover:scale-105 transition-transform ${Ee(e.fileType)}`:`bg-accent/10 text-accent`}`,children:e.recordType===`file`?Te(e.fileType,e.downloadURL):(0,V.jsx)(`div`,{className:`w-2 h-2 rounded-full bg-current`})}),(0,V.jsxs)(`div`,{className:`flex flex-col min-w-0 flex-1 relative`,children:[_e===e.id?(0,V.jsx)(`input`,{autoFocus:!0,type:`text`,value:ve,onChange:e=>Q(e.target.value),onBlur:()=>Se(),onKeyDown:e=>{e.key===`Enter`&&Se(),e.key===`Escape`&&Z(null)},onClick:e=>e.stopPropagation(),className:`no-glow text-[14px] font-bold text-foreground bg-transparent border-b border-accent/30 outline-none pb-0.5 w-full pr-12`}):(0,V.jsx)(`span`,{className:`text-[14px] font-bold text-foreground truncate pr-12`,children:e.name}),e.recordType===`file`&&(0,V.jsx)(`div`,{className:`absolute inset-0 z-0 cursor-pointer`,onClick:()=>L(e)}),(0,V.jsx)(`span`,{className:`text-[11px] text-foreground/35 font-bold uppercase tracking-wider mt-0.5`,children:ke(e.createdAt)})]})]}),e.note&&(0,V.jsx)(`p`,{className:`text-[13px] text-foreground/55 font-medium leading-relaxed line-clamp-3 mb-1`,children:e.note}),Object.entries(e).filter(([e])=>![`name`,`note`,`uid`,`recordType`,`fileName`,`fileType`,`fileSize`,`downloadURL`,`createdAt`,`creatorName`,`creatorEmail`,`creatorAvatar`].includes(e)&&e!==`id`).slice(0,3).map(([e,t])=>(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 mt-1`,children:[(0,V.jsxs)(`span`,{className:`text-[10px] font-bold text-foreground/30 uppercase tracking-wider shrink-0`,children:[e,`:`]}),(0,V.jsx)(`span`,{className:`text-[11px] font-semibold text-foreground/60 truncate`,children:String(t)})]},e)),(0,V.jsx)(Pe,{record:e})]},e.id)})})})]})]})]})]}),(0,V.jsx)(r.cr,{children:h&&(0,V.jsxs)(`div`,{className:`fixed inset-0 z-[120] flex items-center justify-center p-4`,children:[(0,V.jsx)(r.sr.div,{onClick:()=>!S&&g(!1),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/60 backdrop-blur-sm cursor-pointer`}),(0,V.jsx)(r.sr.div,{initial:{opacity:0,scale:.97,y:6},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:6},transition:{duration:.2},className:`w-full max-w-[360px] border-[var(--panel-border)] border rounded-2xl relative z-10 glass-panel shadow-2xl bg-background overflow-hidden`,children:k?B.default.createElement(k,{onSave:async e=>{C(!0);try{let t=de();await(0,U.addDoc)((0,U.collection)(r.ka,le),{uid:a.uid,recordType:`record`,creatorName:t.name,creatorEmail:t.email,creatorAvatar:t.avatar,createdAt:(0,U.serverTimestamp)(),...e}),g(!1)}catch(e){console.error(`Error saving record:`,e)}C(!1)},onClose:()=>!S&&g(!1),saving:S}):(0,V.jsxs)(`form`,{onSubmit:pe,className:`p-5 flex flex-col gap-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between mb-1`,children:[(0,V.jsx)(`span`,{className:`text-[14px] font-bold text-foreground`,children:`New Record`}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>!S&&g(!1),className:`text-foreground/30 hover:text-foreground/60 transition-colors cursor-pointer p-0.5`,children:(0,V.jsx)(s.o,{className:`w-4 h-4`})})]}),(0,V.jsx)(`input`,{autoFocus:!0,type:`text`,required:!0,value:_,onChange:e=>v(e.target.value),placeholder:`Name *`,disabled:S,className:`w-full bg-foreground/[0.03] border border-[var(--panel-border)] px-3.5 py-2.5 text-[13px] font-semibold text-foreground outline-none focus:border-accent transition-colors placeholder:text-foreground/30`,style:{borderRadius:`var(--input-radius, 0.75rem)`}}),(0,V.jsx)(r.rr,{value:b,onChange:e=>x(e.target.value),placeholder:`Note (optional)`,disabled:S,rows:2,className:`w-full bg-foreground/[0.03] border border-[var(--panel-border)] px-3.5 py-2.5 text-[13px] font-medium text-foreground outline-none focus:border-accent transition-colors placeholder:text-foreground/30 resize-none`,style:{borderRadius:`var(--input-radius, 0.75rem)`}}),(0,V.jsx)(`div`,{className:`flex justify-end pt-1`,children:(0,V.jsx)(d.t,{type:`submit`,isLoading:S,className:`px-5 py-2 text-[12px] font-bold shadow-md`,children:S?`Saving…`:`Save`})})]})})]})}),typeof window<`u`&&(0,ee.createPortal)((0,V.jsx)(r.cr,{children:R&&(0,V.jsxs)(`div`,{className:`fixed inset-0 z-[9999] flex items-center justify-center p-4 md:p-12`,children:[(0,V.jsx)(r.sr.div,{onClick:()=>L(null),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/95 backdrop-blur-xl cursor-pointer`}),(0,V.jsx)(`button`,{onClick:()=>L(null),className:`absolute top-6 right-6 z-[160] w-12 h-12 bg-foreground/10 hover:bg-foreground/20 text-foreground rounded-full flex items-center justify-center backdrop-blur-md transition-all cursor-pointer outline-none`,children:(0,V.jsx)(s.o,{className:`w-5 h-5`})}),(0,V.jsxs)(r.sr.div,{initial:{opacity:0,scale:.95,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:10},className:`relative z-10 w-full max-w-6xl max-h-[85vh] flex flex-col pointer-events-auto shadow-2xl rounded-3xl overflow-hidden glass-panel border border-[var(--panel-border)]`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between p-6 bg-background/80 backdrop-blur-md border-b border-[var(--panel-border)] shrink-0 shadow-sm z-20`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col min-w-0 pr-4`,children:[(0,V.jsx)(`span`,{className:`text-xl font-bold text-foreground truncate`,children:R.fileName||R.name}),(0,V.jsxs)(`span`,{className:`text-[12px] text-foreground/70 font-bold uppercase tracking-wider mt-1`,children:[De(R.fileType),` • `,Oe(R.fileSize||0)]})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,V.jsx)(`button`,{onClick:()=>{navigator.clipboard.writeText(R.downloadURL),se(`preview`),setTimeout(()=>se(null),2e3)},className:`p-2.5 bg-foreground/5 hover:bg-foreground/10 text-foreground/70 transition-colors rounded-xl shadow-sm hover:text-emerald-500 cursor-pointer`,title:`Copy Link`,children:Y===`preview`?(0,V.jsx)(s.sn,{className:`w-4 h-4 text-emerald-500`}):(0,V.jsx)(s._t,{className:`w-4 h-4`})}),(0,V.jsx)(`button`,{onClick:()=>{L(null),Z(R.id),Q(R.name)},className:`p-2.5 bg-foreground/5 hover:bg-foreground/10 text-foreground/70 hover:text-accent transition-colors rounded-xl shadow-sm cursor-pointer`,title:`Rename`,children:(0,V.jsx)(s.Z,{className:`w-4 h-4`})}),(0,V.jsx)(`button`,{onClick:()=>{L(null),P(R.id)},className:`p-2.5 bg-red-500/10 hover:bg-red-500/20 text-red-500 transition-colors rounded-xl shadow-sm cursor-pointer`,title:`Delete`,children:(0,V.jsx)(s.C,{className:`w-4 h-4`})}),(0,V.jsx)(`a`,{href:R.downloadURL,download:!0,target:`_blank`,rel:`noreferrer`,className:`p-2.5 btn-primary transition-colors rounded-xl shadow-lg ml-1`,title:`Download`,children:(0,V.jsx)(s.Gt,{className:`w-4 h-4`})})]})]}),(0,V.jsx)(`div`,{className:`flex-1 w-full relative bg-foreground/[0.02] min-h-[50vh] md:min-h-[600px]`,onClick:()=>L(null),children:(0,V.jsxs)(`div`,{className:`absolute inset-x-4 inset-y-8 md:inset-x-12 md:inset-y-12 flex items-center justify-center`,children:[z&&(0,V.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center rounded-lg z-50 pointer-events-none`,children:(0,V.jsx)(`div`,{className:`w-12 h-12 rounded-full bg-background/80 backdrop-blur-md shadow-xl flex items-center justify-center border border-[var(--panel-border)]/50`,children:(0,V.jsx)(s.ht,{className:`w-5 h-5 text-accent animate-spin`})})}),R.fileType?.startsWith(`image/`)?(0,V.jsx)(`img`,{onLoad:()=>H(!1),onError:()=>H(!1),src:R.downloadURL,alt:R.fileName||R.name,className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-auto h-auto max-w-full max-h-full object-contain drop-shadow-[0_0_40px_rgba(0,0,0,0.5)] rounded-lg pointer-events-auto transition-opacity duration-500 ${z?`opacity-0`:`opacity-100`}`,onClick:e=>e.stopPropagation()}):R.fileType?.startsWith(`video/`)?(0,V.jsx)(`video`,{onLoadedData:()=>H(!1),onError:()=>H(!1),src:R.downloadURL,controls:!0,autoPlay:!0,className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-auto h-auto max-w-full max-h-full outline-none bg-black/40 rounded-lg pointer-events-auto drop-shadow-[0_0_40px_rgba(0,0,0,0.5)] transition-opacity duration-500 ${z?`opacity-0`:`opacity-100`}`,onClick:e=>e.stopPropagation()}):R.fileType===`application/pdf`?(0,V.jsx)(`iframe`,{onLoad:()=>H(!1),src:R.downloadURL,className:`w-full h-full border-none rounded-lg relative z-10 transition-opacity duration-500 ${z?`opacity-0`:`opacity-100`}`,style:{backgroundColor:`white`},title:`PDF Preview`,onClick:e=>e.stopPropagation()}):(0,V.jsxs)(`div`,{className:`w-full h-full flex flex-col items-center justify-center text-foreground/40 text-center relative z-10`,onClick:e=>{e.stopPropagation(),H(!1)},children:[(0,V.jsx)(s.It,{className:`w-24 h-24 mb-6 opacity-40 drop-shadow-sm`}),(0,V.jsx)(`span`,{className:`text-[20px] font-extrabold text-foreground`,children:`Preview Unavailable`}),(0,V.jsx)(`span`,{className:`text-[14px] mt-2 text-foreground/60 font-medium max-w-xs`,children:`This file format cannot be previewed. Please download it instead.`})]})]})})]})]})}),document.body),(0,V.jsx)(r.cr,{children:te&&(0,V.jsxs)(`div`,{className:`fixed inset-0 z-[120] flex items-center justify-center p-4`,children:[(0,V.jsx)(r.sr.div,{onClick:()=>Ce(),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/60 backdrop-blur-sm cursor-pointer`}),(0,V.jsx)(r.sr.div,{initial:{opacity:0,scale:.97,y:6},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:6},transition:{duration:.2},className:`w-full max-w-[440px] border-[var(--panel-border)] border rounded-2xl relative z-10 glass-panel shadow-2xl bg-background overflow-hidden`,children:(0,V.jsxs)(`div`,{className:`p-5 flex flex-col gap-3 max-h-[80vh] overflow-y-auto`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between mb-2 mt-2 px-1`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`text-[14px] font-bold text-foreground`,children:`Edit Record`}),S&&(0,V.jsx)(s.ht,{className:`w-3 h-3 animate-spin text-foreground/40`})]}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>Ce(),className:`text-foreground/30 hover:text-foreground/60 transition-colors cursor-pointer`,children:(0,V.jsx)(s.o,{className:`w-4 h-4`})})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-0 max-h-[70vh] overflow-y-auto no-scrollbar px-1`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,V.jsx)(`input`,{readOnly:!0,value:`NAME`,className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none pt-3 pb-0.5`}),(0,V.jsx)(`input`,{autoFocus:!0,required:!0,value:re,onChange:e=>ie(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>we(),placeholder:`Name *`,className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pb-1 caret-foreground/50`}),(0,V.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`})]}),(0,V.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,V.jsx)(`input`,{readOnly:!0,value:`NOTE`,className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none pt-3 pb-0.5`}),(0,V.jsx)(r.rr,{value:ae,onChange:e=>K(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),e.target.blur())},onBlur:()=>we(),placeholder:`Add a note...`,rows:1,className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pb-1 caret-foreground/50 resize-none overflow-hidden`}),(0,V.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`})]}),q.map((e,t)=>(0,V.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,V.jsx)(`input`,{placeholder:`FIELD NAME`,value:e.key,onChange:e=>{let n=[...q];n[t].key=e.target.value,J(n)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>we(),className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none placeholder:text-foreground/15 pt-3 pb-0.5 caret-foreground/40`}),(0,V.jsx)(`input`,{placeholder:`Field value...`,value:e.value,onChange:e=>{let n=[...q];n[t].value=e.target.value,J(n)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>we(),className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pt-1.5 pb-1 caret-foreground/50`}),(0,V.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>J(q.filter((e,n)=>n!==t)),className:`absolute top-3 right-0 p-1 text-foreground/0 group-hover/field:text-foreground/20 hover:!text-red-400 transition-colors cursor-pointer`,children:(0,V.jsx)(s.o,{className:`w-3 h-3`})})]},t)),(0,V.jsxs)(`button`,{type:`button`,onClick:()=>J([...q,{key:``,value:``}]),className:`flex items-center gap-1.5 text-[11px] font-medium text-foreground/25 hover:text-foreground/40 transition-colors cursor-pointer mt-4 mb-4`,children:[(0,V.jsx)(s.G,{className:`w-3 h-3`}),` Add Field`]})]})]})})]})}),(0,V.jsx)(E.t,{isOpen:!!N,onCancel:()=>P(null),onConfirm:ge,title:`Delete Record`,message:(0,V.jsxs)(V.Fragment,{children:[`Are you sure you want to delete `,(0,V.jsx)(`strong`,{className:`text-foreground font-extrabold break-words mx-1`,children:l.find(e=>e.id===N)?.name}),` This action cannot be undone.`]}),confirmText:`Delete`,isProcessing:W})]})}function ua({config:e,customContent:t}){let{user:a,userRole:l}=r.dr(),{config:u}=i.w(),[f,m]=(0,B.useState)([]),[h,g]=(0,B.useState)(!0),[_,v]=(0,B.useState)(!1),[b,x]=(0,B.useState)(``),[S,C]=(0,B.useState)(``),[w,T]=(0,B.useState)(!1),[k,A]=(0,B.useState)(``),[P,F]=(0,B.useState)(null),I=(0,B.useRef)(null),[L,R]=(0,B.useState)(null),[z,H]=(0,B.useState)(null),W=e=>{if(H(e),e){let t=e.fileType||``;ne(t.startsWith(`image/`)||t.startsWith(`video/`)||t===`application/pdf`)}},G=z,[te,ne]=(0,B.useState)(!0),[re,ie]=(0,B.useState)(!1),[ae,K]=(0,B.useState)(null),[q,J]=(0,B.useState)(``),[oe,Y]=(0,B.useState)(``),[se,ce]=(0,B.useState)([]),le=(0,B.useRef)(null),[ue,de]=(0,B.useState)(null),fe=(0,B.useRef)([]),pe=D.o(e,`internal_page`),X=o.C({...e,pageType:`internal`}),me=X.startsWith(`user_`),he=y.c(X),ge=he?D.t(e,X):`${X}${pe}_records`,_e=y.f(),Z=y.o({on:me}),ve=Z.uid||a?.uid||``,Q=y.F(ge),ye=he?Q.records:f,be=he?Q.loading:h,xe=e=>he?y.C(e,_e):e.uid===a?.uid||Z.someoneElse,Se=l===`admin`,Ce=e=>xe(e)&&M.s(e,l),we=(0,B.useRef)(!1);(0,B.useEffect)(()=>{!Se||be||we.current||!ye.length||(we.current=!0,M.r(ge,ye,e,!0).catch(e=>console.warn(`Could not catch the delete lock up:`,e)).finally(()=>{we.current=!1}))},[Se,be,ye,e?.deleteBy,ge]);let Te=e=>y.d(X,ge,e),[Ee,De]=(0,B.useState)(()=>he?y.u(ge):``),Oe=()=>De(y.u(ge));(0,B.useEffect)(()=>{document.title=e.tabTitle||e.tabName||u.appName||`Your AI Firebase`},[e.tabTitle,e.tabName,u.appName]);let ke=a?.uid,Ae=Z.uid||ke||``,je=Z.everyone?`${ke}|everyone`:Ae;(0,B.useEffect)(()=>{if(!ke||he)return;try{let e=O.o(ge,je);e?(m(e),g(!1)):(m(e=>e.length?[]:e),g(!0))}catch{}let e=e=>Ki(e),t=(0,U.onSnapshot)(me&&!Z.everyone?(0,U.query)((0,U.collection)(r.ka,ge),(0,U.where)(`uid`,`==`,Ae),(0,U.limit)(150)):(0,U.query)((0,U.collection)(r.ka,ge),(0,U.orderBy)(`createdAt`,`desc`),(0,U.limit)(150)),t=>{let n=e(t.docs);me&&!Z.everyone&&n.sort((e,t)=>(t.createdAt||0)-(e.createdAt||0)),m(n),g(!1),O.s(ge,je,n)},e=>{console.warn(`${ge}: this account cannot read the records here (${e?.code||`permission-denied`}). A team page needs a verified address and an account marked Internal or Admin on the Users screen.`),m(e=>e.length?[]:e),g(!1)});return()=>t()},[ke,Ae,je,ge,me,he,Z.everyone]);let Me=()=>({name:a.displayName||a.email?.split(`@`)[0]||`Member`,email:a.email||``,avatar:a.photoURL||``}),Ne=async(t,n)=>{let i=Me(),o={uid:ve,recordType:`record`,creatorName:i.name,creatorEmail:i.email,creatorAvatar:i.avatar,...M.o(e),...t};if(!he){let e=(0,U.doc)((0,U.collection)(r.ka,ge)),t={...o,createdAt:(0,U.serverTimestamp)()};return await(0,U.setDoc)(e,t),O.l(ge,e.id,t),e.id}let s=n||Ee||y.u(ge);return await(0,U.setDoc)((0,U.doc)(r.ka,ge,s),y.l(o,a.uid)),n||Oe(),s},Pe=async e=>{if(e.preventDefault(),!(!a||!b.trim())){T(!0);try{await Ne({name:b.trim(),note:S.trim()}),x(``),C(``),v(!1)}catch(e){console.error(`Error saving shared record:`,e)}T(!1)}},Fe=y.b({upload:async(e,t)=>{if(!a)throw Error(`Sign in again before uploading.`);let n=await p.g(e),r=he?I.current&&Ee||y.u(ge):``,i=`${Te(r)}/${y.h(n.name)}`,o=await y.y(i,n,{customMetadata:{ownerId:a.uid},onProgress:t.progress,signal:t.signal});I.current?I.current(n,o,{uid:a.uid,storagePath:i,recordId:r}):await Ne({name:n.name,note:`${n.type||`File`} · ${Qe(n.size)}`,recordType:`file`,fileName:n.name,fileType:n.type||`unknown`,fileSize:n.size,downloadURL:o,storagePath:i},r)},onFailed:e=>A(`${e.name}: ${e.error||`That upload did not work.`}`),onSettled:()=>Fe.clear()}),Ie=Fe.busy,Le=e=>{let t=Array.from(e.target.files||[]);e.target.value=``,!(!t.length||!a)&&(A(``),Fe.add(t))},Re=async()=>{if(L){ie(!0);try{let e=ye.find(e=>e.id===L);if(!M.s(e,l)){N.n(`Nothing on this page can be deleted.`),R(null),ie(!1);return}await(0,U.deleteDoc)((0,U.doc)(r.ka,ge,L)),await j.o(e,ye,Te(L)),R(null)}catch(e){console.error(`Error deleting shared record:`,e)}ie(!1)}},[ze,Be]=(0,B.useState)(null),[Ve,He]=(0,B.useState)(``),[Ue,We]=(0,B.useState)(!1),Ge=e=>{if(e.recordType===`file`){Be(e.id),He(e.name);return}K(e.id),J(e.name),Y(e.note||``);let t=[`name`,`note`,`uid`,`recordType`,`fileName`,`fileType`,`fileSize`,`downloadURL`,`storagePath`,`createdAt`,`creatorName`,`creatorEmail`,`creatorAvatar`],n=Object.entries(e).filter(([e])=>!t.includes(e)&&e!==`id`).map(([e,t])=>({key:e,value:String(t??``)}));ce(n),fe.current=n.map(e=>e.key)},Ke=async()=>{if(!ze||!Ve.trim()){Be(null);return}let e=ye.find(e=>e.id===ze);if(e&&e.name===Ve.trim()){Be(null);return}We(!0);try{await(0,U.updateDoc)((0,U.doc)(r.ka,ge,ze),{name:Ve.trim()}),m(e=>e.map(e=>e.id===ze?{...e,name:Ve.trim()}:e))}catch(e){console.error(`Error renaming file:`,e)}We(!1),Be(null)},qe=async()=>{await Je(),K(null)},Je=async()=>{if(!ae||!q.trim())return;T(!0);let e={};se.forEach(({key:t,value:n})=>{t.trim()&&(e[t.trim()]=n)});let t=se.map(e=>e.key.trim()).filter(Boolean),n=fe.current.filter(e=>!t.includes(e));n.forEach(t=>{e[t]=(0,U.deleteField)()});try{await(0,U.updateDoc)((0,U.doc)(r.ka,ge,ae),{name:q.trim(),note:oe.trim(),...e}),m(e=>e.map(e=>{if(e.id!==ae)return e;let t={...e,name:q.trim(),note:oe.trim()};return n.forEach(e=>{delete t[e]}),se.forEach(({key:e,value:n})=>{e.trim()&&(t[e.trim()]=n)}),t})),fe.current=t}catch(e){console.error(`Error saving record:`,e)}T(!1)},Ye=(e,t)=>e?e.startsWith(`image/`)?t?(0,V.jsx)(`div`,{className:`w-9 h-9 rounded-xl bg-cover bg-center shrink-0`,style:{backgroundImage:`url(${t})`}}):(0,V.jsx)(s.Et,{className:`w-4 h-4`}):e.startsWith(`video/`)||e.startsWith(`audio/`)?(0,V.jsx)(s.m,{className:`w-4 h-4`}):e.includes(`pdf`)||e.includes(`word`)||e.includes(`text`)?(0,V.jsx)(s.It,{className:`w-4 h-4`}):e.includes(`zip`)||e.includes(`rar`)||e.includes(`archive`)?(0,V.jsx)(s.Cn,{className:`w-4 h-4`}):e.includes(`html`)||e.includes(`csv`)||e.includes(`json`)?(0,V.jsx)(s.Yt,{className:`w-4 h-4`}):(0,V.jsx)(s.Ft,{className:`w-4 h-4`}):(0,V.jsx)(s.It,{className:`w-4 h-4`}),Xe=e=>e?e.startsWith(`image/`)?`bg-emerald-500/10 text-emerald-500`:e.startsWith(`video/`)||e.startsWith(`audio/`)?`bg-accent/10 text-accent`:e.includes(`pdf`)||e.includes(`word`)||e.includes(`text`)?`bg-blue-500/10 text-blue-500`:e.includes(`zip`)||e.includes(`rar`)||e.includes(`archive`)?`bg-yellow-500/10 text-yellow-500`:e.includes(`html`)||e.includes(`csv`)||e.includes(`json`)?`bg-emerald-500/10 text-emerald-500`:`bg-foreground/5 text-foreground/40`:`bg-foreground/5 text-foreground/40`,Ze=e=>{if(!e)return`FILE`;let t={"application/pdf":`PDF`,"application/zip":`ZIP`,"application/x-zip-compressed":`ZIP`,"application/x-rar-compressed":`RAR`,"application/x-7z-compressed":`7Z`,"application/json":`JSON`,"application/xml":`XML`,"application/javascript":`JS`,"application/typescript":`TS`,"application/msword":`DOC`,"application/vnd.openxmlformats-officedocument.wordprocessingml.document":`DOCX`,"application/vnd.ms-excel":`XLS`,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":`XLSX`,"application/vnd.ms-powerpoint":`PPT`,"application/vnd.openxmlformats-officedocument.presentationml.presentation":`PPTX`,"application/rtf":`RTF`,"application/x-tar":`TAR`,"application/gzip":`GZ`,"text/plain":`TXT`,"text/html":`HTML`,"text/css":`CSS`,"text/csv":`CSV`,"text/markdown":`MD`},n=e.toLowerCase();if(t[n])return t[n];let r=n.split(`/`);return r[r.length-1].replace(/^x-/,``).replace(/^vnd\..*\./,``).toUpperCase().slice(0,10)},Qe=e=>{if(!e)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**+r).toFixed(2))+` `+n[r]},$e=e=>{if(!e)return``;let t=e.toMillis?e.toMillis():e;return new Date(t).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})},et=(()=>{let t=(e.buttonStorageIcon||`upload`).trim(),n=t.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``);return s.t[n]?s.t[n]:s.t[t]?s.t[t]:s.y||s.G})(),tt=e.buttonStyle!==`secondary`,nt=e.buttonStorageStyle===`primary`,rt=({record:e})=>{let t=e.creatorName||e.creatorEmail?.split(`@`)[0]||`Member`,n=e.creatorEmail||``,i=e.creatorAvatar||``,a=t.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,V.jsxs)(`div`,{className:`flex items-center gap-2 mt-2 pt-2 border-t border-[var(--panel-border)]/30`,children:[i?(0,V.jsx)(r.Nn,{src:i,alt:``,className:`w-5 h-5 rounded-full shrink-0`}):(0,V.jsx)(`div`,{className:`w-5 h-5 rounded-full bg-accent/15 text-accent flex items-center justify-center text-[8px] font-extrabold shrink-0`,children:a}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0 flex-1`,children:[(0,V.jsx)(`span`,{className:`text-[11px] font-semibold text-foreground/40 truncate`,children:t}),n&&(0,V.jsxs)(`span`,{className:`text-[10px] text-foreground/25 truncate`,children:[`· `,n]})]})]})};return(0,V.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,V.jsx)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-6 flex items-center justify-between`,children:(0,V.jsxs)(`div`,{children:[(0,V.jsx)(n.t,{children:e.tabTitle||e.tabName||`Internal Page`}),e.route&&(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,V.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),e.route]})]})}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 pb-16`,children:[(0,V.jsx)(i.t,{}),(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},className:t?`flex flex-col flex-1 relative`:`flex flex-col glass-panel border border-[var(--panel-border)] rounded-3xl overflow-hidden flex-1 shadow-2xl bg-background`,children:[(0,V.jsx)(`input`,{type:`file`,multiple:!0,ref:le,onChange:Le,className:`hidden`}),!t&&(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3 sm:gap-4 p-4 sm:p-6 md:px-8 md:py-6 border-b border-[var(--panel-border)]/50 bg-background/50 shrink-0`,children:[(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsx)(`h2`,{className:`text-xl font-bold text-foreground tracking-tight truncate`,children:e.tabTitle||e.tabName||`Dashboard`}),(0,V.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/50 mt-1`,children:be?`Loading…`:`${ye.length} ${ye.length===1?`item`:`items`} · Internal`}),(k||he&&Q.error)&&(0,V.jsx)(`p`,{className:`text-[12px] font-semibold text-red-500 mt-1 truncate`,role:`alert`,children:k||Q.error}),Z.someoneElse&&e.storage!==!1&&(0,V.jsx)(`p`,{className:`text-[12px] font-medium text-foreground/50 mt-1 max-sm:hidden`,children:`You are looking at somebody else’s page. Anything you add here is theirs, but a file would stay yours — so uploads are off until you switch back to your own.`})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,V.jsx)(y.a,{viewing:Z}),e.storage!==!1&&!Z.someoneElse&&(0,V.jsx)(V.Fragment,{children:(0,V.jsxs)(r.sr.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>le.current?.click(),title:Ie?Fe.done?`${Fe.done} of ${Fe.total} uploaded…`:`Uploading ${Fe.total===1?`your file`:`${Fe.total} files`}…`:e.buttonStorageText||`Upload files`,className:`h-10 flex items-center justify-center gap-2 rounded-xl transition-all duration-300 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed ${e.buttonStorageText?`px-4`:`w-10`} ${nt?`btn-primary`:`btn-secondary`}`,children:[Ie?(0,V.jsx)(s.ht,{className:`w-4 h-4 animate-spin`}):(0,V.jsx)(et,{className:`w-4 h-4`}),e.buttonStorageText&&(0,V.jsx)(`span`,{className:`text-[13px] font-bold`,children:e.buttonStorageText})]})}),e.showButton!==!1&&(0,V.jsx)(r.sr.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>v(!0),title:`Add New`,className:`h-10 flex items-center justify-center gap-2 rounded-xl transition-all duration-300 cursor-pointer ${e.buttonText&&e.buttonText!==`+`?`px-5`:`w-10`} ${tt?`btn-primary`:`btn-secondary`}`,children:e.buttonText===`+`||!e.buttonText?(0,V.jsx)(s.G,{className:`w-4 h-4`}):(0,V.jsx)(`span`,{className:`text-[13px] font-bold`,children:e.buttonText})})]})]}),(0,V.jsxs)(`div`,{className:t?`flex-1 flex flex-col relative min-h-[400px]`:`p-6 md:p-8 flex-1 overflow-y-auto relative min-h-[400px]`,children:[be&&(0,V.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-background/50 backdrop-blur-sm`,children:(0,V.jsx)(s.ht,{className:`w-8 h-8 text-accent animate-spin`})}),t?(0,V.jsx)(y.p,{value:{prefix:X,collection:he?ge:``,recordId:he?ae||Ee:``},children:(0,V.jsx)(`div`,{className:`fbos-content-slot fbos-tab-fill`,children:(0,V.jsx)(c.r,{size:`part`,children:(0,V.jsx)(t,{config:e,actions:{records:ye,loading:be,error:he?Q.error:``,collection:ge,user:a,...y.s(ge,_e,he,Ee),saveRecord:async(t,n)=>{let r=Me(),i=qi(Ui(t,n)),a=await Ne(na(i));return he||m(t=>[{uid:ve,recordType:`record`,creatorName:r.name,creatorEmail:r.email,creatorAvatar:r.avatar,...M.o(e),createdAt:Date.now(),...i,id:a},...t.filter(e=>e.id!==a)]),a},updateRecord:async(e,t,n)=>{let{id:i,data:o}=Wi(e,t,n),s=qi(o),c={...Yi(a),...na(s,ye.find(e=>e.id===i))};he||m(e=>e.map(e=>e.id===i?{...e,...c}:e)),await(0,U.updateDoc)((0,U.doc)(r.ka,ge,i),c);let l=ye.find(e=>e.id===i);l&&O.l(ge,i,{...l,...c})},deleteRecord:async(e,t)=>{let n=Gi(e,t),i=ye.find(e=>e.id===n);if(!M.s(i,l)){N.n(`Nothing on this page can be deleted.`);return}await(0,U.deleteDoc)((0,U.doc)(r.ka,ge,n)),O.u(ge,n),await j.o(i,ye,Te(n))},startEdit:e=>Ge(e),confirmDelete:e=>R(e),uploadFile:()=>{Z.someoneElse||le.current?.click()},openAddForm:()=>v(!0),setAddForm:e=>F(()=>e),setFileHandler:e=>{I.current=e}}})})})}):(0,V.jsxs)(V.Fragment,{children:[!be&&ye.length===0&&(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`flex-1 flex flex-col items-center justify-center border border-[var(--panel-border)]/50 border-dashed rounded-2xl p-8 py-20 text-center min-h-[350px]`,children:[(0,V.jsx)(`div`,{className:`w-16 h-16 rounded-2xl bg-accent/5 border border-accent/10 flex items-center justify-center mb-5`,children:(0,V.jsx)(s.G,{className:`w-6 h-6 text-accent/40`})}),(0,V.jsx)(`p`,{className:`text-[15px] font-bold mb-1.5 text-foreground/50`,children:`No items yet`}),(0,V.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/35 max-w-xs leading-relaxed`,children:`Use the buttons above to add records or upload files. All team members can view and contribute.`})]}),!be&&ye.length>0&&(0,V.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:(0,V.jsx)(r.cr,{children:ye.map(e=>{let t=ae===e.id,n=xe(e);return(0,V.jsxs)(r.sr.div,{initial:!1,animate:{opacity:1,y:0},exit:{opacity:0,scale:.95},onClick:()=>n?Ge(e):null,className:`group flex flex-col bg-background border rounded-2xl p-5 transition-all relative ${n?`cursor-pointer`:``} ${t?`border-accent/40 shadow-lg ring-1 ring-accent/20`:`border-[var(--panel-border)] hover:border-accent/30 hover:shadow-lg`}`,children:[(0,V.jsxs)(`div`,{className:`absolute top-3 right-3 flex items-center gap-0.5 opacity-100 md:opacity-0 md:group-hover:opacity-100 transition-all z-10`,children:[e.recordType===`file`&&e.downloadURL&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`button`,{onClick:t=>{t.stopPropagation(),navigator.clipboard.writeText(e.downloadURL),de(e.id),setTimeout(()=>de(null),2e3)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-emerald-500 hover:bg-emerald-500/10 transition-all cursor-pointer`,title:`Copy Link`,children:ue===e.id?(0,V.jsx)(s.sn,{className:`w-3.5 h-3.5 text-emerald-500`}):(0,V.jsx)(s._t,{className:`w-3.5 h-3.5`})}),(0,V.jsx)(`a`,{href:e.downloadURL,target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),className:`p-1.5 rounded-lg text-foreground/25 hover:text-blue-500 hover:bg-blue-500/10 transition-all`,title:`Download`,children:(0,V.jsx)(s.Gt,{className:`w-3.5 h-3.5`})})]}),n&&(0,V.jsx)(`button`,{onClick:t=>{t.stopPropagation(),Ge(e)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-accent hover:bg-accent/10 transition-all cursor-pointer`,title:`Edit`,children:(0,V.jsx)(s.Z,{className:`w-3.5 h-3.5`})}),n&&Ce(e)&&(0,V.jsx)(`button`,{onClick:t=>{t.stopPropagation(),R(e.id)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-red-500 hover:bg-red-500/10 transition-all cursor-pointer`,title:`Delete`,children:(0,V.jsx)(s.C,{className:`w-3.5 h-3.5`})})]}),(0,V.jsxs)(`div`,{className:`flex items-start gap-3 mb-2`,children:[(0,V.jsx)(`div`,{onClick:t=>{t.stopPropagation(),e.recordType===`file`&&W(e)},className:`w-9 h-9 rounded-xl flex items-center justify-center shrink-0 ${e.recordType===`file`?`cursor-pointer hover:scale-105 transition-transform ${Xe(e.fileType)}`:`bg-accent/10 text-accent`}`,children:e.recordType===`file`?Ye(e.fileType,e.downloadURL):(0,V.jsx)(`div`,{className:`w-2 h-2 rounded-full bg-current`})}),(0,V.jsxs)(`div`,{className:`flex flex-col min-w-0 flex-1 relative`,children:[ze===e.id?(0,V.jsx)(`input`,{autoFocus:!0,type:`text`,value:Ve,onChange:e=>He(e.target.value),onBlur:()=>Ke(),onKeyDown:e=>{e.key===`Enter`&&Ke(),e.key===`Escape`&&Be(null)},onClick:e=>e.stopPropagation(),className:`no-glow text-[14px] font-bold text-foreground bg-transparent border-b border-accent/30 outline-none pb-0.5 w-full pr-12`}):(0,V.jsx)(`span`,{className:`text-[14px] font-bold text-foreground truncate pr-12`,children:e.name}),e.recordType===`file`&&(0,V.jsx)(`div`,{className:`absolute inset-0 z-0 cursor-pointer`,onClick:()=>W(e)}),(0,V.jsx)(`span`,{className:`text-[11px] text-foreground/35 font-bold uppercase tracking-wider mt-0.5`,children:$e(e.createdAt)})]})]}),e.note&&(0,V.jsx)(`p`,{className:`text-[13px] text-foreground/55 font-medium leading-relaxed line-clamp-3 mb-1`,children:e.note}),Object.entries(e).filter(([e])=>![`name`,`note`,`uid`,`recordType`,`fileName`,`fileType`,`fileSize`,`downloadURL`,`createdAt`,`creatorName`,`creatorEmail`,`creatorAvatar`].includes(e)&&e!==`id`).slice(0,3).map(([e,t])=>(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 mt-1`,children:[(0,V.jsxs)(`span`,{className:`text-[10px] font-bold text-foreground/30 uppercase tracking-wider shrink-0`,children:[e,`:`]}),(0,V.jsx)(`span`,{className:`text-[11px] font-semibold text-foreground/60 truncate`,children:String(t)})]},e)),(0,V.jsx)(rt,{record:e})]},e.id)})})})]})]})]})]}),(0,V.jsx)(r.cr,{children:_&&(0,V.jsxs)(`div`,{className:`fixed inset-0 z-[120] flex items-center justify-center p-4`,children:[(0,V.jsx)(r.sr.div,{onClick:()=>!w&&v(!1),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/60 backdrop-blur-sm cursor-pointer`}),(0,V.jsx)(r.sr.div,{initial:{opacity:0,scale:.97,y:6},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:6},transition:{duration:.2},className:`w-full max-w-[360px] border-[var(--panel-border)] border rounded-2xl relative z-10 glass-panel shadow-2xl bg-background overflow-hidden`,children:P?B.default.createElement(P,{onSave:async e=>{T(!0);try{await Ne(e),v(!1)}catch(e){console.error(`Error saving record:`,e)}T(!1)},onClose:()=>!w&&v(!1),saving:w}):(0,V.jsxs)(`form`,{onSubmit:Pe,className:`p-5 flex flex-col gap-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between mb-1`,children:[(0,V.jsx)(`span`,{className:`text-[14px] font-bold text-foreground`,children:`New Record`}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>!w&&v(!1),className:`text-foreground/30 hover:text-foreground/60 transition-colors cursor-pointer p-0.5`,children:(0,V.jsx)(s.o,{className:`w-4 h-4`})})]}),(0,V.jsx)(`input`,{autoFocus:!0,type:`text`,required:!0,value:b,onChange:e=>x(e.target.value),placeholder:`Name *`,disabled:w,className:`w-full bg-foreground/[0.03] border border-[var(--panel-border)] px-3.5 py-2.5 text-[13px] font-semibold text-foreground outline-none focus:border-accent transition-colors placeholder:text-foreground/30`,style:{borderRadius:`var(--input-radius, 0.75rem)`}}),(0,V.jsx)(r.rr,{value:S,onChange:e=>C(e.target.value),placeholder:`Note (optional)`,disabled:w,rows:2,className:`w-full bg-foreground/[0.03] border border-[var(--panel-border)] px-3.5 py-2.5 text-[13px] font-medium text-foreground outline-none focus:border-accent transition-colors placeholder:text-foreground/30 resize-none`,style:{borderRadius:`var(--input-radius, 0.75rem)`}}),(0,V.jsx)(`div`,{className:`flex justify-end pt-1`,children:(0,V.jsx)(d.t,{type:`submit`,isLoading:w,className:`px-5 py-2 text-[12px] font-bold shadow-md`,children:w?`Saving…`:`Save`})})]})})]})}),typeof window<`u`&&(0,ee.createPortal)((0,V.jsx)(r.cr,{children:G&&(0,V.jsxs)(`div`,{className:`fixed inset-0 z-[9999] flex items-center justify-center p-4 md:p-12`,children:[(0,V.jsx)(r.sr.div,{onClick:()=>W(null),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/95 backdrop-blur-xl cursor-pointer`}),(0,V.jsx)(`button`,{onClick:()=>W(null),className:`absolute top-6 right-6 z-[160] w-12 h-12 bg-foreground/10 hover:bg-foreground/20 text-foreground rounded-full flex items-center justify-center backdrop-blur-md transition-all cursor-pointer outline-none`,children:(0,V.jsx)(s.o,{className:`w-5 h-5`})}),(0,V.jsxs)(r.sr.div,{initial:{opacity:0,scale:.95,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:10},className:`relative z-10 w-full max-w-6xl max-h-[85vh] flex flex-col pointer-events-auto shadow-2xl rounded-3xl overflow-hidden glass-panel border border-[var(--panel-border)]`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between p-6 bg-background/80 backdrop-blur-md border-b border-[var(--panel-border)] shrink-0 shadow-sm z-20`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col min-w-0 pr-4`,children:[(0,V.jsx)(`span`,{className:`text-xl font-bold text-foreground truncate`,children:G.fileName||G.name}),(0,V.jsxs)(`span`,{className:`text-[12px] text-foreground/70 font-bold uppercase tracking-wider mt-1`,children:[Ze(G.fileType),` • `,Qe(G.fileSize||0)]})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,V.jsx)(`button`,{onClick:()=>{navigator.clipboard.writeText(G.downloadURL),de(`preview`),setTimeout(()=>de(null),2e3)},className:`p-2.5 bg-foreground/5 hover:bg-foreground/10 text-foreground/70 transition-colors rounded-xl shadow-sm hover:text-emerald-500 cursor-pointer`,title:`Copy Link`,children:ue===`preview`?(0,V.jsx)(s.sn,{className:`w-4 h-4 text-emerald-500`}):(0,V.jsx)(s._t,{className:`w-4 h-4`})}),(0,V.jsx)(`button`,{onClick:()=>{W(null),Be(G.id),He(G.name)},className:`p-2.5 bg-foreground/5 hover:bg-foreground/10 text-foreground/70 hover:text-accent transition-colors rounded-xl shadow-sm cursor-pointer`,title:`Rename`,children:(0,V.jsx)(s.Z,{className:`w-4 h-4`})}),(0,V.jsx)(`button`,{onClick:()=>{W(null),R(G.id)},className:`p-2.5 bg-red-500/10 hover:bg-red-500/20 text-red-500 transition-colors rounded-xl shadow-sm cursor-pointer`,title:`Delete`,children:(0,V.jsx)(s.C,{className:`w-4 h-4`})}),(0,V.jsx)(`a`,{href:G.downloadURL,download:!0,target:`_blank`,rel:`noreferrer`,className:`p-2.5 btn-primary transition-colors rounded-xl shadow-lg ml-1`,title:`Download`,children:(0,V.jsx)(s.Gt,{className:`w-4 h-4`})})]})]}),(0,V.jsx)(`div`,{className:`flex-1 w-full relative bg-foreground/[0.02] min-h-[50vh] md:min-h-[600px]`,onClick:()=>W(null),children:(0,V.jsxs)(`div`,{className:`absolute inset-x-4 inset-y-8 md:inset-x-12 md:inset-y-12 flex items-center justify-center`,children:[te&&(0,V.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center rounded-lg z-50 pointer-events-none`,children:(0,V.jsx)(`div`,{className:`w-12 h-12 rounded-full bg-background/80 backdrop-blur-md shadow-xl flex items-center justify-center border border-[var(--panel-border)]/50`,children:(0,V.jsx)(s.ht,{className:`w-5 h-5 text-accent animate-spin`})})}),G.fileType?.startsWith(`image/`)?(0,V.jsx)(`img`,{onLoad:()=>ne(!1),onError:()=>ne(!1),src:G.downloadURL,alt:G.fileName||G.name,className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-auto h-auto max-w-full max-h-full object-contain drop-shadow-[0_0_40px_rgba(0,0,0,0.5)] rounded-lg pointer-events-auto transition-opacity duration-500 ${te?`opacity-0`:`opacity-100`}`,onClick:e=>e.stopPropagation()}):G.fileType?.startsWith(`video/`)?(0,V.jsx)(`video`,{onLoadedData:()=>ne(!1),onError:()=>ne(!1),src:G.downloadURL,controls:!0,autoPlay:!0,className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-auto h-auto max-w-full max-h-full outline-none bg-black/40 rounded-lg pointer-events-auto drop-shadow-[0_0_40px_rgba(0,0,0,0.5)] transition-opacity duration-500 ${te?`opacity-0`:`opacity-100`}`,onClick:e=>e.stopPropagation()}):G.fileType===`application/pdf`?(0,V.jsx)(`iframe`,{onLoad:()=>ne(!1),src:G.downloadURL,className:`w-full h-full border-none rounded-lg relative z-10 transition-opacity duration-500 ${te?`opacity-0`:`opacity-100`}`,style:{backgroundColor:`white`},title:`PDF Preview`,onClick:e=>e.stopPropagation()}):(0,V.jsxs)(`div`,{className:`w-full h-full flex flex-col items-center justify-center text-foreground/40 text-center relative z-10`,onClick:e=>{e.stopPropagation(),ne(!1)},children:[(0,V.jsx)(s.It,{className:`w-24 h-24 mb-6 opacity-40 drop-shadow-sm`}),(0,V.jsx)(`span`,{className:`text-[20px] font-extrabold text-foreground`,children:`Preview Unavailable`}),(0,V.jsx)(`span`,{className:`text-[14px] mt-2 text-foreground/60 font-medium max-w-xs`,children:`This file format cannot be previewed. Please download it instead.`})]})]})})]})]})}),document.body),(0,V.jsx)(r.cr,{children:ae&&(0,V.jsxs)(`div`,{className:`fixed inset-0 z-[120] flex items-center justify-center p-4`,children:[(0,V.jsx)(r.sr.div,{onClick:()=>qe(),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/60 backdrop-blur-sm cursor-pointer`}),(0,V.jsx)(r.sr.div,{initial:{opacity:0,scale:.97,y:6},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:6},transition:{duration:.2},className:`w-full max-w-[440px] border-[var(--panel-border)] border rounded-2xl relative z-10 glass-panel shadow-2xl bg-background overflow-hidden`,children:(0,V.jsxs)(`div`,{className:`p-5 flex flex-col gap-3 max-h-[80vh] overflow-y-auto`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between mb-2 mt-2 px-1`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`text-[14px] font-bold text-foreground`,children:`Edit Record`}),w&&(0,V.jsx)(s.ht,{className:`w-3 h-3 animate-spin text-foreground/40`})]}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>qe(),className:`text-foreground/30 hover:text-foreground/60 transition-colors cursor-pointer`,children:(0,V.jsx)(s.o,{className:`w-4 h-4`})})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-0 max-h-[70vh] overflow-y-auto no-scrollbar px-1`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,V.jsx)(`input`,{readOnly:!0,value:`NAME`,className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none pt-3 pb-0.5`}),(0,V.jsx)(`input`,{autoFocus:!0,required:!0,value:q,onChange:e=>J(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>Je(),placeholder:`Name *`,className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pb-1 caret-foreground/50`}),(0,V.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`})]}),(0,V.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,V.jsx)(`input`,{readOnly:!0,value:`NOTE`,className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none pt-3 pb-0.5`}),(0,V.jsx)(r.rr,{value:oe,onChange:e=>Y(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),e.target.blur())},onBlur:()=>Je(),placeholder:`Add a note...`,rows:1,className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pb-1 caret-foreground/50 resize-none overflow-hidden`}),(0,V.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`})]}),se.map((e,t)=>(0,V.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,V.jsx)(`input`,{placeholder:`FIELD NAME`,value:e.key,onChange:e=>{let n=[...se];n[t].key=e.target.value,ce(n)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>Je(),className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none placeholder:text-foreground/15 pt-3 pb-0.5 caret-foreground/40`}),(0,V.jsx)(`input`,{placeholder:`Field value...`,value:e.value,onChange:e=>{let n=[...se];n[t].value=e.target.value,ce(n)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>Je(),className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pt-1.5 pb-1 caret-foreground/50`}),(0,V.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>ce(se.filter((e,n)=>n!==t)),className:`absolute top-3 right-0 p-1 text-foreground/0 group-hover/field:text-foreground/20 hover:!text-red-400 transition-colors cursor-pointer`,children:(0,V.jsx)(s.o,{className:`w-3 h-3`})})]},t)),(0,V.jsxs)(`button`,{type:`button`,onClick:()=>ce([...se,{key:``,value:``}]),className:`flex items-center gap-1.5 text-[11px] font-medium text-foreground/25 hover:text-foreground/40 transition-colors cursor-pointer mt-4 mb-4`,children:[(0,V.jsx)(s.G,{className:`w-3 h-3`}),` Add Field`]})]})]})})]})}),(0,V.jsx)(E.t,{isOpen:!!L,onCancel:()=>R(null),onConfirm:Re,title:`Delete Record`,message:(0,V.jsxs)(V.Fragment,{children:[`Are you sure you want to delete `,(0,V.jsx)(`strong`,{className:`text-foreground font-extrabold break-words mx-1`,children:ye.find(e=>e.id===L)?.name}),` This action cannot be undone.`]}),confirmText:`Delete`,isProcessing:re})]})}var da=5,fa=3,pa=8,ma=250,ha=56,ga=14,_a=8,va=`button, a, input, textarea, select, label, [role="button"], [role="listbox"], [role="option"], [contenteditable="true"], [data-no-drag]`,ya=!1,ba=()=>{ya||typeof window>`u`||(ya=!0,window.addEventListener(`touchmove`,()=>{},{passive:!1}))};function xa(e){let[t,n]=(0,B.useState)(null),r=(0,B.useRef)(e);(0,B.useEffect)(()=>{r.current=e}),(0,B.useEffect)(ba,[]);let i=(0,B.useRef)(null),a=(0,B.useCallback)(e=>{let t=i.current;t&&(i.current=null,t.cleanup(),t.active&&(n(null),e===`drop`?r.current.onDrop(t.key):r.current.onCancel?.(t.key)))},[]);(0,B.useEffect)(()=>()=>a(`cancel`),[a]);let o=(0,B.useCallback)((e,t)=>{if(r.current.disabled||i.current||t.pointerType===`mouse`&&t.button!==0)return;let o=t.target,s=!!o.closest?.(`[data-drag-handle]`),c=s?null:o.closest?.(va);if(c&&!c.hasAttribute(`data-drag-ok`))return;let l=t.currentTarget,u=t.pointerType===`touch`,d=s?fa:u?pa:da,f=()=>{let e=i.current;if(!(!e||e.active)){e.active=!0,e.hold&&=(clearTimeout(e.hold),null);try{navigator.vibrate?.(8)}catch{}r.current.onStart?.(e.key),n({key:e.key,x:e.x,y:e.y,offsetX:e.startX-e.rect.left,offsetY:e.startY-e.rect.top,width:e.rect.width,height:e.rect.height}),r.current.onMove({x:e.x,y:e.y,at:e.at},e.key),e.frame=requestAnimationFrame(p)}},p=e=>{let t=i.current;if(!t||!t.active)return;t.at=e;let n=!1;t.y<ha?(window.scrollBy(0,-ga),n=!0):t.y>window.innerHeight-ha&&(window.scrollBy(0,ga),n=!0);let a=r.current.scroller?.();if(a){let e=a.getBoundingClientRect(),r=a.scrollLeft;t.x<e.left+ha?a.scrollLeft-=_a:t.x>e.right-ha&&(a.scrollLeft+=_a),a.scrollLeft!==r&&(n=!0)}n&&r.current.onMove({x:t.x,y:t.y,at:e},t.key),t.frame=requestAnimationFrame(p)},m=e=>{let t=i.current;if(!(!t||e.pointerId!==t.pointerId)){if(t.x=e.clientX,t.y=e.clientY,t.at=e.timeStamp,!t.active){if(!(Math.hypot(t.x-t.startX,t.y-t.startY)>d))return;if(u&&!s){a(`cancel`);return}f();return}n(e=>e&&{...e,x:t.x,y:t.y}),r.current.onMove({x:t.x,y:t.y,at:t.at},t.key)}},h=e=>{let t=i.current;if(!(!t||e.pointerId!==t.pointerId)){if(t.active){let e=e=>{e.stopPropagation(),e.preventDefault()};window.addEventListener(`click`,e,{capture:!0,once:!0}),setTimeout(()=>window.removeEventListener(`click`,e,{capture:!0}),80)}a(`drop`)}},g=e=>{i.current&&e.pointerId===i.current.pointerId&&a(`cancel`)},_=e=>{e.key===`Escape`&&i.current?.active&&(e.preventDefault(),a(`cancel`))},v=e=>{i.current?.active&&e.cancelable&&e.preventDefault()},y=e=>{u&&e.preventDefault()},b=e=>e.preventDefault(),x=document.body.style.userSelect,S={key:e,pointerId:t.pointerId,startX:t.clientX,startY:t.clientY,x:t.clientX,y:t.clientY,at:t.timeStamp,rect:l.getBoundingClientRect(),active:!1,hold:u&&!s?setTimeout(f,ma):null,frame:null,cleanup:()=>{S.hold&&clearTimeout(S.hold),S.frame!=null&&cancelAnimationFrame(S.frame),window.removeEventListener(`pointermove`,m),window.removeEventListener(`pointerup`,h),window.removeEventListener(`pointercancel`,g),window.removeEventListener(`keydown`,_,!0),window.removeEventListener(`touchmove`,v),window.removeEventListener(`contextmenu`,y,!0),window.removeEventListener(`dragstart`,b,!0),document.body.style.userSelect=x}};i.current=S,document.body.style.userSelect=`none`,window.addEventListener(`pointermove`,m),window.addEventListener(`pointerup`,h),window.addEventListener(`pointercancel`,g),window.addEventListener(`keydown`,_,!0),window.addEventListener(`touchmove`,v,{passive:!1}),window.addEventListener(`contextmenu`,y,!0),window.addEventListener(`dragstart`,b,!0)},[a]);return{dragging:t,bind:(0,B.useCallback)(e=>({"data-drag-key":e,onPointerDown:t=>o(e,t),style:{WebkitTouchCallout:`none`,WebkitUserSelect:`none`,userSelect:`none`}}),[o])}}var Sa={"data-drag-handle":``,style:{touchAction:`none`,cursor:`grab`}},Ca=()=>[{id:`todo`,title:`To Do`,createdAt:Date.now()-2e3},{id:`in_progress`,title:`In Progress`,createdAt:Date.now()-1e3},{id:`review`,title:`Review`,createdAt:Date.now()}],wa=()=>`item_${Date.now()}`,Ta=(e,t)=>({id:e,categoryId:t.categoryId,name:t.name||t.text||`Unnamed Item`,fields:t.fields||(t.value?[{key:`Label`,value:t.value}]:[]),order:t.order||0,uid:t.uid,creatorName:t.creatorName,creatorAvatar:t.creatorAvatar,access:t.access,editors:t.editors}),Ea=[{text:`text-red-400`,bgCircle:`bg-red-400`,bgCard:`bg-red-500/[0.08]`,borderCard:`border-red-500/30`,bgLight:`bg-red-500/15`,bgHover:`hover:bg-red-500`,bgAlt:`bg-red-500/[0.04]`,name:`Red`},{text:`text-orange-400`,bgCircle:`bg-orange-400`,bgCard:`bg-orange-500/[0.08]`,borderCard:`border-orange-500/30`,bgLight:`bg-orange-500/15`,bgHover:`hover:bg-orange-500`,bgAlt:`bg-orange-500/[0.04]`,name:`Orange`},{text:`text-yellow-400`,bgCircle:`bg-yellow-400`,bgCard:`bg-yellow-500/[0.08]`,borderCard:`border-yellow-500/30`,bgLight:`bg-yellow-500/15`,bgHover:`hover:bg-yellow-500`,bgAlt:`bg-yellow-500/[0.04]`,name:`Yellow`},{text:`text-green-400`,bgCircle:`bg-green-400`,bgCard:`bg-green-500/[0.08]`,borderCard:`border-green-500/30`,bgLight:`bg-green-500/15`,bgHover:`hover:bg-green-500`,bgAlt:`bg-green-500/[0.04]`,name:`Green`},{text:`text-blue-400`,bgCircle:`bg-blue-400`,bgCard:`bg-blue-500/[0.08]`,borderCard:`border-blue-500/30`,bgLight:`bg-blue-500/15`,bgHover:`hover:bg-blue-500`,bgAlt:`bg-blue-500/[0.04]`,name:`Blue`},{text:`text-accent`,bgCircle:`bg-accent`,bgCard:`bg-accent/[0.08]`,borderCard:`border-accent/30`,bgLight:`bg-accent/15`,bgHover:`hover:bg-accent`,bgAlt:`bg-accent/[0.04]`,name:`Purple`},{text:`text-pink-400`,bgCircle:`bg-pink-400`,bgCard:`bg-pink-500/[0.08]`,borderCard:`border-pink-500/30`,bgLight:`bg-pink-500/15`,bgHover:`hover:bg-pink-500`,bgAlt:`bg-pink-500/[0.04]`,name:`Pink`},{text:`text-foreground/60`,bgCircle:`bg-foreground/30`,bgCard:`bg-foreground/[0.04]`,borderCard:`border-[var(--panel-border)]/50`,bgLight:`bg-foreground/15`,bgHover:`hover:bg-foreground/30`,bgAlt:`bg-foreground/[0.02]`,name:`Default`}];function Da({title:e=`Board View`,subtitle:t=`/board`,backUrl:l,tasksCollection:u=`pub_tasks`,categoriesCollection:f=`pub_categories`,config:p,customContent:m}){let{user:h}=r.dr(),g=!!p,_=p?.isInternal||p?.isShared;p?.isPrivate&&p?.isAdmin;let v=p?.isAdmin||_,b=o.g(u),x=y.f(),S=y.F(u),C=y.F(f),w=g?v||b||u.startsWith(`role_`):!0,T=e=>!b||y.C(e,x),D=y.o({on:u.startsWith(`user_`)&&!b,everyone:!1}),O=D.uid||h?.uid||``,[k,A]=(0,B.useState)(()=>b?y.u(u):``),j=(e,t,n,r)=>h?o.g(e)?n?y.l({uid:h.uid,...r?Ji(h):{},...t},h.uid):t:e.startsWith(`user_`)?{...t,uid:O||h.uid}:n?{uid:h.uid,...r?Ji(h):{},...t}:t:t,M=!!m,N=p?.showButton!==!1&&!M,P=p?.buttonText||`+`,F=p?.buttonStyle||`primary`,I=p?.keyName||`key`,L=p?.valueName||`value`,[R,z]=(0,B.useState)([]),[H,W]=(0,B.useState)([]),G=b?S.records.map(e=>Ta(e.id,e)).sort((e,t)=>(e.order||0)-(t.order||0)):R,te=b?C.records:H,[ne,re]=(0,B.useState)(null),[ie,ae]=(0,B.useState)(null),[K,q]=(0,B.useState)({name:``}),[J,oe]=(0,B.useState)([]),[Y,se]=(0,B.useState)(null),ce=(0,B.useRef)(null),le=e=>{ce.current=e,se(e)},ue=(0,B.useRef)(null),[de,fe]=(0,B.useState)(null),[pe,X]=(0,B.useState)(!1),[me,he]=(0,B.useState)(null),[ge,_e]=(0,B.useState)(``),[Z,ve]=(0,B.useState)(null),Q=D.uid||h?.uid;(0,B.useEffect)(()=>{let e=u.startsWith(`user_`),t=f.startsWith(`user_`);if(e&&!h||b)return;let n=e&&Q?`${u}|${Q}`:u,i=t&&Q?`${f}|${Q}`:f;try{let e=localStorage.getItem(`fbos_board_tasks_${n}`);e&&z(JSON.parse(e));let t=localStorage.getItem(`fbos_board_cats_${i}`);t&&W(JSON.parse(t))}catch{}let o=(0,U.onSnapshot)(e&&Q?(0,U.query)((0,U.collection)(r.ka,u),(0,U.where)(`uid`,`==`,Q)):(0,U.collection)(r.ka,u),e=>{let t=[];e.forEach(e=>{let n=e.data();t.push({id:e.id,categoryId:n.categoryId,name:n.name||n.text||`Unnamed Item`,fields:n.fields||(n.value?[{key:`Label`,value:n.value}]:[]),order:n.order||0,uid:n.uid,creatorName:n.creatorName,creatorAvatar:n.creatorAvatar})});let r=t.sort((e,t)=>(e.order||0)-(t.order||0));z(r),localStorage.setItem(`fbos_board_tasks_${n}`,JSON.stringify(r))},a.a),s=(0,U.onSnapshot)(t&&Q?(0,U.query)((0,U.collection)(r.ka,f),(0,U.where)(`uid`,`==`,Q)):(0,U.collection)(r.ka,f),e=>{let n=[];if(e.forEach(e=>{n.push({id:e.id,...e.data()})}),n.length===0){let e=Ca(),n=Q?{uid:Q}:{},i=t&&Q?`_${Q}`:``;e.forEach(e=>(0,U.setDoc)((0,U.doc)(r.ka,f,`${e.id}${i}`),{...n,title:e.title,createdAt:e.createdAt}))}else W(n),localStorage.setItem(`fbos_board_cats_${i}`,JSON.stringify(n))},a.a);return()=>{o(),s()}},[u,f,Q,b]);let ye=(0,B.useRef)(!1);(0,B.useEffect)(()=>{!b||!Q||C.loading||C.records.length||ye.current||(ye.current=!0,Ca().forEach(e=>(0,U.setDoc)((0,U.doc)(r.ka,f,`${e.id}_${Q}`),y.l({uid:Q,title:e.title,createdAt:e.createdAt},Q))))},[b,Q,C.loading,C.records.length,f]);let be=(e,t)=>{t?(ae(t.id),q({id:t.id,name:t.name}),oe(t.fields?.length?[...t.fields,{key:``,value:``}]:[{key:``,value:``}])):(re(e),q({name:``}),oe([{key:``,value:``}]))},xe=(e,t,n)=>{let r=[...J];r[e]={key:t,value:n},e===J.length-1&&(t.trim()!==``||n.trim()!==``)&&r.push({key:``,value:``}),oe(r)},Se=async(e,t,n)=>{let i=G.find(t=>t.id===e);if(!i||!T(i))return;let a=G.filter(e=>e.categoryId===t).sort((e,t)=>(e.order||0)-(t.order||0)),o=a.filter(t=>t.id!==e),s=Math.max(0,Math.min(n,o.length));i.categoryId===t&&a.findIndex(t=>t.id===e)===s||[...o.slice(0,s),i,...o.slice(s)].forEach((e,n)=>{let i=j(u,{categoryId:t,order:n},!1,!1);(0,U.setDoc)((0,U.doc)(r.ka,u,e.id),i,{merge:!0})})},{dragging:Ce,bind:we}=xa({scroller:()=>ue.current,onMove:({x:e,y:t},n)=>{let r=ue.current;if(!r)return;let i=null,a=1/0;for(let t of Array.from(r.querySelectorAll(`[data-board-column]`))){let n=t.getBoundingClientRect(),r=e<n.left?n.left-e:e>n.right?e-n.right:0;r<a&&(a=r,i=t)}let o=i?.dataset.boardColumn;if(!i||!o){le(null);return}let s=Array.from(i.querySelectorAll(`[data-drag-key]`)).filter(e=>e.dataset.dragKey!==n).filter(e=>{let n=e.getBoundingClientRect();return t>n.top+n.height/2}).length,c=ce.current;(!c||c.categoryId!==o||c.index!==s)&&le({categoryId:o,index:s})},onDrop:e=>{let t=ce.current;le(null),t&&Se(e,t.categoryId,t.index)},onCancel:()=>le(null)}),Te=Ce?.key??null,Ee=Te?G.find(e=>e.id===Te):void 0,De=async e=>{let t=K.id||wa(),n=K.name.trim(),i=n||`Untitled Item`,a=J.filter(e=>e.key.trim()!==``||e.value.trim()!==``),o=!0,s=K.id?G.find(e=>e.id===K.id):null;if(s){let e=JSON.stringify(s.fields||[]),t=JSON.stringify(a);s.name===i&&e===t&&(o=!1)}else !n&&a.length===0&&(o=!1);if(!o){re(null),ae(null);return}fe(K.id||`new`);let c=j(u,{categoryId:e,name:i,fields:a},!K.id,!0);await(0,U.setDoc)((0,U.doc)(r.ka,u,t),c,{merge:!0}),setTimeout(()=>{re(null),ae(null),fe(null)},400)},Oe=(e,t)=>{ve({type:`item`,id:e,title:t})},ke=async()=>{let e=`cat_${Date.now()}`,t=j(f,{title:``,createdAt:Date.now()},!0,!1);await(0,U.setDoc)((0,U.doc)(r.ka,f,e),t),he(e),_e(``),setTimeout(()=>{let e=document.getElementById(`board-container`);e&&e.scrollTo({left:e.scrollWidth,behavior:`smooth`})},150)},Ae=async(e,t)=>{W(n=>n.map(n=>n.id===e?{...n,color:t}:n)),await(0,U.setDoc)((0,U.doc)(r.ka,f,e),{color:t},{merge:!0})},je=async e=>{ge.trim()?await(0,U.setDoc)((0,U.doc)(r.ka,f,e),{title:ge},{merge:!0}):await(0,U.deleteDoc)((0,U.doc)(r.ka,f,e)),he(null)},Me=(e,t)=>{ve({type:`category`,id:e,title:t})},Ne=async()=>{if(Z){X(!0);try{if(Z.type===`item`)await(0,U.deleteDoc)((0,U.doc)(r.ka,u,Z.id)),ae(null);else{let e=G.filter(e=>e.categoryId===Z.id);for(let t of e)await(0,U.deleteDoc)((0,U.doc)(r.ka,u,t.id));await(0,U.deleteDoc)((0,U.doc)(r.ka,f,Z.id))}}catch{}X(!1),ve(null)}},Pe=[...te].sort((e,t)=>(e.createdAt||0)-(t.createdAt||0));return(0,V.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen overflow-x-clip`,children:[(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-4 md:mb-6 flex items-center gap-3`,children:[!g&&l&&(0,V.jsx)(y.r,{to:l}),(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsx)(n.t,{children:e}),t&&(0,V.jsxs)(`div`,{className:`max-sm:hidden sm:flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,V.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),t]})]})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 min-h-0 pb-16`,children:[g&&(0,V.jsx)(i.t,{}),(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},className:`flex flex-col glass-panel border border-[var(--panel-border)] rounded-3xl overflow-hidden flex-1 min-h-[400px] shadow-2xl bg-background relative z-10`,children:[(0,V.jsx)(`div`,{className:`absolute top-0 right-0 w-[400px] h-[400px] bg-accent/5 blur-[100px] rounded-full pointer-events-none -z-10`}),(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3 sm:gap-4 p-4 sm:p-6 md:px-8 md:py-6 border-b border-[var(--panel-border)]/50 bg-background/50 shrink-0 relative z-20`,children:[(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsx)(`h2`,{className:`text-lg sm:text-xl font-bold text-foreground tracking-tight truncate`,children:p?.tabTitle||p?.tabName||e}),(0,V.jsxs)(`p`,{className:`text-[13px] font-medium text-foreground/50 mt-1`,children:[G.length,` `,G.length===1?`item`:`items`,` · `,Pe.length,` `,Pe.length===1?`category`:`categories`]})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,V.jsx)(y.a,{viewing:D}),N&&(0,V.jsx)(d.t,{variant:F===`secondary`?`secondary`:void 0,onClick:ke,className:`px-3 py-2.5 text-[14px] font-bold rounded-xl shadow-lg hover:-translate-y-0.5 transition-all shrink-0`,children:P===`+`?(0,V.jsx)(s.G,{className:`w-4 h-4`}):P})]})]}),(0,V.jsx)(`div`,{className:`flex-1 w-full relative z-40 min-h-0 flex flex-col`,children:m?(0,V.jsx)(y.p,{value:{prefix:o.C(p||{}),collection:b?u:``,recordId:b?ie||k:``},children:(0,V.jsx)(`div`,{className:`fbos-content-slot fbos-tab-fill w-full flex-1 overflow-y-auto p-4 md:p-6`,children:(0,V.jsx)(c.r,{size:`part`,children:(0,V.jsx)(m,{config:p,actions:{tasks:G,categories:te,collection:u,catCollection:f,user:h,error:b?S.error||C.error:``,...y.s(u,x,b,k),saveTask:async(e,t)=>{let n=e||wa(),i=j(u,t,!G.some(e=>e.id===n),!0);b&&n===k&&A(y.u(u)),z(e=>e.find(e=>e.id===n)?e.map(e=>e.id===n?{...e,...i}:e):[...e,{id:n,...i}]),await(0,U.setDoc)((0,U.doc)(r.ka,u,n),i,{merge:!0})},deleteTask:async e=>{z(t=>t.filter(t=>t.id!==e)),await(0,U.deleteDoc)((0,U.doc)(r.ka,u,e))},saveCategory:async(e,t)=>{let n=j(f,t,!te.some(t=>t.id===e),!1);W(t=>t.find(t=>t.id===e)?t.map(t=>t.id===e?{...t,...n}:t):[...t,{id:e,...n}]),await(0,U.setDoc)((0,U.doc)(r.ka,f,e),n,{merge:!0})},deleteCategory:async e=>{W(t=>t.filter(t=>t.id!==e)),await(0,U.deleteDoc)((0,U.doc)(r.ka,f,e))},openInlineEditor:(e,t)=>be(e,t)}})})})}):(0,V.jsxs)(`div`,{ref:ue,id:`board-container`,className:`w-full flex-1 min-h-0 flex flex-row gap-4 md:gap-6 overflow-x-auto p-4 md:p-6 snap-x snap-mandatory styled-scrollbars items-start`,children:[Pe.map((e,t)=>{let n=G.filter(t=>t.categoryId===e.id);n.sort((e,t)=>(e.order||0)-(t.order||0));let i=Ea.find(t=>t.text===e.color)||Ea.find(e=>e.text===`text-accent`);i.text,i.bgLight,i.bgHover;let a=Y?.categoryId===e.id,o=n.filter(e=>e.id!==Te),c=a?o[Y.index]?.id??null:null,l=a&&Y.index>=o.length;return(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:t*.1},className:`w-[calc(100vw-80px)] sm:w-[300px] md:w-[320px] shrink-0 flex flex-col max-h-full rounded-3xl p-4 snap-center relative border transition-colors ${Ea.find(t=>t.text===e.color)?.bgCard||`bg-foreground/[0.02]`} ${Ea.find(t=>t.text===e.color)?.borderCard||`border-[var(--panel-border)]/50`}`,children:[(0,V.jsx)(`div`,{className:`flex items-center justify-between mb-4 px-2 relative z-[200]`,children:(0,V.jsxs)(`h3`,{className:`font-bold text-[14px] flex items-center w-full text-foreground/80 group relative z-[200]`,children:[me===e.id?(0,V.jsxs)(`div`,{className:`relative flex-1 w-full flex items-center pr-8 z-[200]`,children:[(0,V.jsx)(`div`,{className:`fixed inset-0 z-[-1]`,onClick:t=>{t.stopPropagation(),je(e.id)}}),(0,V.jsx)(`input`,{value:ge,onChange:e=>_e(e.target.value),onBlur:t=>{t.relatedTarget?.closest(`.category-color-picker`)||je(e.id)},onKeyDown:t=>t.key===`Enter`&&je(e.id),className:`bg-transparent border-none outline-none font-bold text-[14px] w-full p-0 ${e.color||`text-foreground/80`}`,placeholder:`Category name`,autoFocus:!0}),(0,V.jsxs)(`div`,{className:`absolute top-8 left-0 flex gap-1.5 bg-background/95 backdrop-blur-xl border border-[var(--panel-border)] p-2 rounded-xl shadow-xl z-[100] category-color-picker items-center`,tabIndex:-1,children:[(0,V.jsx)(`button`,{onClick:async t=>{t.preventDefault(),t.stopPropagation(),await Ae(e.id,``),he(null)},className:`w-4 h-4 rounded-full flex items-center justify-center bg-foreground/10 hover:bg-red-500/20 hover:text-red-500 text-foreground/40 transition-colors border border-[var(--panel-border)]/50 shrink-0`,title:`Reset Category Color`,children:(0,V.jsx)(s.o,{className:`w-3 h-3`})}),(0,V.jsx)(`div`,{className:`h-4 w-px bg-[var(--panel-border)]/50 mx-0.5`}),Ea.map(t=>(0,V.jsx)(`button`,{onMouseDown:async n=>{n.preventDefault(),await Ae(e.id,t.text)},className:`w-4 h-4 rounded-full ${t.bgCircle} hover:scale-125 transition-transform border border-[var(--panel-border)]/50 shrink-0`},t.name))]})]}):(0,V.jsxs)(`div`,{className:`flex items-center gap-2 w-full hover:text-foreground transition-colors pr-8 ${T(e)?`cursor-pointer`:``}`,onClick:()=>{T(e)&&(he(e.id),_e(e.title))},children:[(0,V.jsx)(`span`,{className:`w-2.5 h-2.5 rounded-full ${Ea.find(t=>t.text===e.color)?.bgCircle||`bg-foreground/20`} transition-colors shrink-0`}),(0,V.jsx)(`span`,{className:`truncate flex-1 max-w-[200px] ${e.color||``}`,children:e.title||`Untitled Category`}),(0,V.jsx)(`span`,{className:`text-[11px] bg-foreground/10 text-foreground/60 px-1.5 py-0.5 rounded-md font-medium shrink-0`,children:n.length})]}),te.length>1&&T(e)&&(0,V.jsx)(`button`,{onClick:()=>Me(e.id,e.title),className:`absolute right-0 opacity-100 md:opacity-0 md:group-hover:opacity-100 text-foreground/30 hover:text-red-500 transition-all shrink-0`,children:(0,V.jsx)(s.C,{className:`w-3.5 h-3.5`})})]})}),(0,V.jsxs)(`div`,{"data-board-column":e.id,className:`flex flex-col gap-2.5 flex-1 overflow-y-auto styled-scrollbars pr-1 relative min-h-[150px] rounded-xl transition-colors ${a?`bg-foreground/5 border-dashed border border-accent/20`:``}`,children:[(0,V.jsx)(r.cr,{children:n.map(t=>ie===t.id?(0,V.jsxs)(r.sr.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:`bg-background/80 rounded-xl p-3 shadow-md border border-accent/40 transition-all flex flex-col gap-2 relative z-[100]`,children:[(0,V.jsx)(`div`,{className:`fixed inset-0 z-[-1]`,onClick:t=>{t.stopPropagation(),De(e.id)}}),(0,V.jsx)(`textarea`,{placeholder:`Write an item name...`,className:`no-glow bg-transparent border-none outline-none text-[13px] text-foreground/90 font-medium leading-snug resize-none w-full min-h-[40px] relative z-10`,value:K.name,onChange:e=>q({...K,name:e.target.value}),onKeyDown:t=>{t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),De(e.id))}}),(0,V.jsx)(`div`,{className:`flex flex-col gap-2 mt-1 relative z-10 w-full`,children:J.map((t,n)=>(0,V.jsxs)(`div`,{className:`flex items-start bg-foreground/[0.04] border border-[var(--panel-border)]/50 rounded-[8px] px-2.5 py-1.5 w-full`,children:[(0,V.jsx)(`input`,{placeholder:I,value:t.key,onChange:e=>xe(n,e.target.value,t.value),onKeyDown:t=>t.key===`Enter`&&De(e.id),className:`no-glow bg-transparent outline-none text-[11px] text-foreground/50 font-bold placeholder:text-foreground/30 relative top-[1px] shrink-0`,style:{width:`${Math.max(3,t.key.length||I.length)}ch`}}),(0,V.jsx)(`span`,{className:`text-[11px] text-foreground/50 font-bold mr-1.5 relative top-[1px]`,children:`:`}),(0,V.jsx)(`textarea`,{rows:1,placeholder:L,value:t.value,onChange:e=>xe(n,t.key,e.target.value),onInput:e=>{let t=e.target;t.style.height=`auto`,t.style.height=t.scrollHeight+`px`},onKeyDown:t=>{t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),De(e.id))},className:`no-glow bg-transparent outline-none text-[12px] text-foreground/90 font-medium flex-1 min-w-[40px] placeholder:opacity-40 resize-none overflow-hidden leading-tight relative top-[1px]`})]},n))}),de===t.id&&(0,V.jsx)(`div`,{className:`flex items-center justify-end pt-1`,children:(0,V.jsx)(`div`,{className:`w-3 h-3 border-2 border-accent border-t-transparent rounded-full animate-spin`})})]},t.id):(0,B.createElement)(r.sr.div,{...T(t)?we(t.id):{"data-drag-key":t.id},initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},key:t.id,className:`bg-background/80 rounded-xl p-3 shadow-sm hover:shadow-md ${T(t)?`cursor-grab active:cursor-grabbing`:``} hover:border-accent/40 transition-all group flex flex-col gap-2 relative z-10 border ${c===t.id?`border-accent border-t-2 translate-y-1`:`border-[var(--panel-border)]`} ${Te===t.id?`opacity-30 border-dashed border-2`:``}`},T(t)&&(0,V.jsxs)(`div`,{className:`absolute top-2 right-2 flex items-center gap-1.5 opacity-100 md:opacity-0 md:group-hover:opacity-100 transition-opacity bg-background/90 backdrop-blur-md border border-[var(--panel-border)] rounded-lg p-1 z-20 shadow-md`,children:[(0,V.jsx)(`span`,{...Sa,"aria-hidden":`true`,className:`p-1 rounded-md text-foreground/40 hover:text-foreground/70 transition-colors`,children:(0,V.jsx)(s.At,{className:`w-3.5 h-3.5`})}),(0,V.jsx)(`button`,{onClick:n=>{n.stopPropagation(),be(e.id,t)},className:`p-1 hover:bg-foreground/5 rounded-md text-foreground/60 hover:text-accent transition-colors`,children:(0,V.jsx)(s.Z,{className:`w-3.5 h-3.5`})}),(0,V.jsx)(`button`,{onClick:e=>{e.stopPropagation(),Oe(t.id,t.name)},className:`p-1 hover:bg-red-500/10 rounded-md text-foreground/60 hover:text-red-500 transition-colors`,children:(0,V.jsx)(s.C,{className:`w-3.5 h-3.5`})})]}),(0,V.jsx)(`p`,{className:`text-[13px] text-foreground/90 font-medium leading-snug break-words pr-12`,children:t.name}),T(t)&&Pe.length>1&&(0,V.jsx)(`div`,{className:`-ml-2 -mb-1 mt-0.5 flex items-center`,"data-no-drag":``,children:(0,V.jsx)(r.nr,{compact:!0,portal:!0,direction:`auto`,variant:`ghost`,ariaLabel:`Move “${t.name}” to another category`,value:e.id,options:Pe.map(e=>({value:e.id,label:e.title||`Untitled Category`})),onChange:n=>{n!==e.id&&Se(t.id,n,0)}})}),t.fields&&t.fields.length>0&&(0,V.jsx)(`div`,{className:`flex flex-row flex-wrap gap-2 mt-2`,children:t.fields.map((e,t)=>(0,V.jsxs)(`div`,{className:`inline-flex bg-foreground/[0.04] border border-[var(--panel-border)]/50 rounded-[8px] px-2.5 py-1.5 max-w-full`,children:[(0,V.jsxs)(`span`,{className:`text-[11px] text-foreground/50 font-bold mr-1.5 relative -top-[1px] shrink-0 break-all`,children:[e.key,`:`]}),(0,V.jsx)(`span`,{className:`text-[12px] text-foreground/90 font-medium break-words leading-tight min-w-0`,children:e.value})]},t))}),(0,V.jsxs)(`div`,{className:`flex items-end justify-between mt-3 pt-3 border-t border-[var(--panel-border)]/50 w-full gap-2`,children:[(()=>{let e=w&&g?Xi(t,h):null;return e?(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 pr-2 border-r border-[var(--panel-border)] border-dashed mr-auto`,children:[e.avatar?(0,V.jsx)(r.Nn,{src:e.avatar,alt:``,className:`w-4 h-4 rounded-full shrink-0`}):(0,V.jsx)(`div`,{className:`w-4 h-4 rounded-full bg-accent/20 text-accent flex items-center justify-center text-[9px] font-bold shrink-0`,children:e.name[0].toUpperCase()}),(0,V.jsx)(`span`,{className:`text-[10px] font-bold text-foreground/60 truncate max-w-[80px]`,children:e.name})]}):(0,V.jsx)(`div`,{className:`flex items-center gap-2 pr-2 border-r border-[var(--panel-border)] border-dashed mr-auto`})})(),(0,V.jsx)(`span`,{className:`text-[10px] text-foreground/40 font-bold text-right pt-0.5 shrink-0 max-w-[50%] truncate flex-1`,children:t.id.startsWith(`item_`)?new Date(parseInt(t.id.split(`_`)[1])).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}):`Recently Added`})]})))}),l&&o.length>0&&(0,V.jsx)(`div`,{"aria-hidden":`true`,className:`h-0.5 -mt-1 rounded-full bg-accent`}),ne===e.id?(0,V.jsxs)(r.sr.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:`bg-background/80 rounded-xl p-3 shadow-md border border-accent/40 transition-all flex flex-col gap-2 relative z-[100] mt-1`,children:[(0,V.jsx)(`div`,{className:`fixed inset-0 z-[-1]`,onClick:t=>{t.stopPropagation(),De(e.id)}}),(0,V.jsx)(`textarea`,{placeholder:`Write an item name...`,className:`no-glow bg-transparent border-none outline-none text-[13px] text-foreground/90 font-medium leading-snug resize-none w-full min-h-[40px] relative z-10`,value:K.name,onChange:e=>q({...K,name:e.target.value}),onKeyDown:t=>{t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),De(e.id))},autoFocus:!0}),(0,V.jsx)(`div`,{className:`flex flex-col gap-2 mt-1 relative z-10 w-full`,children:J.map((t,n)=>(0,V.jsxs)(`div`,{className:`flex items-start bg-foreground/[0.04] border border-[var(--panel-border)]/50 rounded-[8px] px-2.5 py-1.5 w-full`,children:[(0,V.jsx)(`input`,{placeholder:I,style:{width:`${Math.max(3,t.key.length||I.length)}ch`},value:t.key,onChange:e=>xe(n,e.target.value,t.value),onKeyDown:t=>t.key===`Enter`&&De(e.id),className:`no-glow bg-transparent outline-none text-[11px] text-foreground/50 font-bold placeholder:text-foreground/30 relative top-[1px]`}),(0,V.jsx)(`span`,{className:`text-[11px] text-foreground/50 font-bold mr-1.5 relative top-[1px]`,children:`:`}),(0,V.jsx)(`textarea`,{rows:1,placeholder:L,value:t.value,onChange:e=>xe(n,t.key,e.target.value),onInput:e=>{let t=e.target;t.style.height=`auto`,t.style.height=t.scrollHeight+`px`},onKeyDown:t=>{t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),De(e.id))},className:`no-glow bg-transparent outline-none text-[12px] text-foreground/90 font-medium flex-1 min-w-[40px] placeholder:opacity-40 resize-none overflow-hidden leading-tight relative top-[1px]`})]},n))}),de===`new`&&(0,V.jsx)(`div`,{className:`flex items-center justify-end pt-1`,children:(0,V.jsx)(`div`,{className:`w-3 h-3 border-2 border-accent border-t-transparent rounded-full animate-spin`})})]}):(0,V.jsxs)(`button`,{onClick:()=>be(e.id),className:`flex items-center gap-2 justify-center w-full py-2.5 mt-1 rounded-xl border border-transparent text-[12px] font-bold text-foreground/40 hover:text-foreground hover:bg-foreground/[0.03] transition-all shrink-0`,children:[(0,V.jsx)(s.G,{className:`w-4 h-4`}),` Add Item`]})]})]},e.id)}),(0,V.jsx)(`div`,{className:`w-[10px] shrink-0 pointer-events-none`}),Ce&&Ee&&typeof document<`u`&&(0,ee.createPortal)((0,V.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none fixed z-[9995] rotate-[1.5deg] rounded-xl border border-accent/40 bg-background/95 p-3 shadow-2xl`,style:{left:Ce.x-Ce.offsetX,top:Ce.y-Ce.offsetY,width:Ce.width},children:(0,V.jsx)(`p`,{className:`text-[13px] text-foreground/90 font-medium leading-snug break-words`,children:Ee.name})}),document.body)]})})]})]}),(0,V.jsx)(`style`,{children:`.styled-scrollbars::-webkit-scrollbar { width: 6px; height: 6px; } .styled-scrollbars::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--accent-color) 20%, transparent); border-radius: 4px; } .styled-scrollbars::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--accent-color) 40%, transparent); }`}),(0,V.jsx)(E.t,{isOpen:!!Z,title:`Confirm Deletion`,message:(0,V.jsxs)(V.Fragment,{children:[`Are you sure you want to delete `,(0,V.jsx)(`strong`,{className:`text-foreground font-extrabold break-words mx-1`,children:Z?.title}),` This action is permanent.`]}),onConfirm:Ne,onCancel:()=>ve(null),isProcessing:pe,confirmText:`Yes, Delete`})]})}function Oa(e){return Array.isArray?Array.isArray(e):Ra(e)===`[object Array]`}function ka(e){if(typeof e==`string`)return e;if(typeof e==`bigint`)return e.toString();let t=e+``;return t==`0`&&1/e==-1/0?`-0`:t}function Aa(e){return e==null?``:ka(e)}function ja(e){return typeof e==`string`}function Ma(e){return typeof e==`number`}function Na(e){return e===!0||e===!1||Fa(e)&&Ra(e)==`[object Boolean]`}function Pa(e){return typeof e==`object`}function Fa(e){return Pa(e)&&e!==null}function Ia(e){return e!=null}function La(e){return!e.trim().length}function Ra(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var za=`Incorrect 'index' type`,Ba=e=>`Invalid value for key ${e}`,Va=e=>`Pattern length exceeds max of ${e}.`,Ha=e=>`Missing ${e} property in key`,Ua=e=>`Property 'weight' in key '${e}' must be a positive integer`,Wa=Object.prototype.hasOwnProperty,Ga=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=Ka(e);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function Ka(e){let t=null,n=null,r=null,i=1,a=null;if(ja(e)||Oa(e))r=e,t=qa(e),n=Ja(e);else{if(!Wa.call(e,`name`))throw Error(Ha(`name`));let o=e.name;if(r=o,Wa.call(e,`weight`)&&(i=e.weight,i<=0))throw Error(Ua(o));t=qa(o),n=Ja(o),a=e.getFn}return{path:t,id:n,weight:i,src:r,getFn:a}}function qa(e){return Oa(e)?e:e.split(`.`)}function Ja(e){return Oa(e)?e.join(`.`):e}function Ya(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(Ia(e))if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!Ia(s))return;if(a===t.length-1&&(ja(s)||Ma(s)||Na(s)||typeof s==`bigint`))n.push(o===void 0?Aa(s):{v:Aa(s),i:o});else if(Oa(s)){r=!0;for(let e=0,n=s.length;e<n;e+=1)i(s[e],t,a+1,e)}else t.length&&i(s,t,a+1,o)}};return i(e,ja(t)?t.split(`.`):t,0),r?n:n[0]}var Xa={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},Za={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},Qa={location:0,threshold:.6,distance:100},$a={useExtendedSearch:!1,useTokenSearch:!1,getFn:Ya,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},$=Object.freeze({...Za,...Xa,...Qa,...$a}),eo=/[^ ]+/g;function to(e=1,t=3){let n=new Map,r=10**t;return{get(t){let i=t.match(eo).length;if(n.has(i))return n.get(i);let a=1/i**(.5*e),o=parseFloat(Math.round(a*r)/r);return n.set(i,o),o},clear(){n.clear()}}}var no=class{constructor({getFn:e=$.getFn,fieldNormWeight:t=$.fieldNormWeight}={}){this.norm=to(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,ja(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){let t=this.size();ja(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,n=this.size();t<n;t+=1)--this.records[t].i}removeAll(e){for(let t=e.length-1;t>=0;--t)this.records.splice(e[t],1);for(let e=0,t=this.records.length;e<t;e+=1)this.records[e].i=e}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!Ia(e)||La(e))return;let n={v:e,i:t,n:this.norm.get(e)};this.records.push(n)}_addObject(e,t){let n={i:t,$:{}};this.keys.forEach((t,r)=>{let i=t.getFn?t.getFn(e):this.getFn(e,t.path);if(Ia(i)){if(Oa(i)){let e=[];for(let t=0,n=i.length;t<n;t+=1){let n=i[t];if(Ia(n)){if(ja(n)){if(!La(n)){let r={v:n,i:t,n:this.norm.get(n)};e.push(r)}}else if(Ia(n.v)){let t=ja(n.v)?n.v:Aa(n.v);if(!La(t)){let r={v:t,i:n.i,n:this.norm.get(t)};e.push(r)}}}}n.$[r]=e}else if(ja(i)&&!La(i)){let e={v:i,n:this.norm.get(i)};n.$[r]=e}}}),this.records.push(n)}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}};function ro(e,t,{getFn:n=$.getFn,fieldNormWeight:r=$.fieldNormWeight}={}){let i=new no({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(Ka)),i.setSources(t),i.create(),i}function io(e,{getFn:t=$.getFn,fieldNormWeight:n=$.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new no({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function ao(e=[],t=$.minMatchCharLength){let n=[],r=-1,i=-1,a=0;for(let o=e.length;a<o;a+=1){let o=e[a];o&&r===-1?r=a:!o&&r!==-1&&(i=a-1,i-r+1>=t&&n.push([r,i]),r=-1)}return e[a-1]&&a-r>=t&&n.push([r,a-1]),n}var oo=32;function so(e,t,n,{location:r=$.location,distance:i=$.distance,threshold:a=$.threshold,findAllMatches:o=$.findAllMatches,minMatchCharLength:s=$.minMatchCharLength,includeMatches:c=$.includeMatches,ignoreLocation:l=$.ignoreLocation}={}){if(t.length>oo)throw Error(Va(oo));let u=t.length,d=e.length,f=Math.max(0,Math.min(r,d)),p=a,m=f,h=(e,t)=>{let n=e/u;if(l)return n;let r=Math.abs(f-t);return i?n+r/i:r?1:n},g=s>1||c,_=g?Array(d):[],v;for(;(v=e.indexOf(t,m))>-1;){let e=h(0,v);if(p=Math.min(e,p),m=v+u,g){let e=0;for(;e<u;)_[v+e]=1,e+=1}}m=-1;let y=[],b=1,x=u+d,S=1<<u-1;for(let t=0;t<u;t+=1){let r=0,i=x;for(;r<i;)h(t,f+i)<=p?r=i:x=i,i=Math.floor((x-r)/2+r);x=i;let a=Math.max(1,f-i+1),s=o?d:Math.min(f+i,d)+u,c=Array(s+2);c[s+1]=(1<<t)-1;for(let r=s;r>=a;--r){let i=r-1,o=n[e[i]];if(g&&(_[i]=+!!o),c[r]=(c[r+1]<<1|1)&o,t&&(c[r]|=(y[r+1]|y[r])<<1|1|y[r+1]),c[r]&S&&(b=h(t,i),b<=p)){if(p=b,m=i,m<=f)break;a=Math.max(1,2*f-m)}}if(h(t+1,f)>p)break;y=c}let C={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=ao(_,s);e.length?c&&(C.indices=e):C.isMatch=!1}return C}function co(e){let t={};for(let n=0,r=e.length;n<r;n+=1){let i=e.charAt(n);t[i]=(t[i]||0)|1<<r-n-1}return t}function lo(e){if(e.length<=1)return e;e.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);let t=[e[0]];for(let n=1,r=e.length;n<r;n+=1){let r=t[t.length-1],i=e[n];i[0]<=r[1]+1?r[1]=Math.max(r[1],i[1]):t.push(i)}return t}var uo={ł:`l`,Ł:`L`,đ:`d`,Đ:`D`,ø:`o`,Ø:`O`,ħ:`h`,Ħ:`H`,ŧ:`t`,Ŧ:`T`,ı:`i`,ß:`ss`},fo=RegExp(`[`+Object.keys(uo).join(``)+`]`,`g`),po=String.prototype.normalize?e=>e.normalize(`NFD`).replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,``).replace(fo,e=>uo[e]):e=>e,mo=class{constructor(e,{location:t=$.location,threshold:n=$.threshold,distance:r=$.distance,includeMatches:i=$.includeMatches,findAllMatches:a=$.findAllMatches,minMatchCharLength:o=$.minMatchCharLength,isCaseSensitive:s=$.isCaseSensitive,ignoreDiacritics:c=$.ignoreDiacritics,ignoreLocation:l=$.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l},e=s?e:e.toLowerCase(),e=c?po(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:co(e),startIndex:t})},d=this.pattern.length;if(d>oo){let e=0,t=d%oo,n=d-t;for(;e<n;)u(this.pattern.substr(e,oo),e),e+=oo;if(t){let e=d-oo;u(this.pattern.substr(e),e)}}else u(this.pattern,0)}searchIn(e){let{isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r}=this.options;if(e=t?e:e.toLowerCase(),e=n?po(e):e,this.pattern===e){let t={isMatch:!0,score:0};return r&&(t.indices=[[0,e.length-1]]),t}let{location:i,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,ignoreLocation:l}=this.options,u=[],d=0,f=!1;this.chunks.forEach(({pattern:t,alphabet:n,startIndex:p})=>{let{isMatch:m,score:h,indices:g}=so(e,t,n,{location:i+p,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,includeMatches:r,ignoreLocation:l});m&&(f=!0),d+=h,m&&g&&u.push(...g)});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&r&&(p.indices=lo(u)),p}},ho=class{constructor(e){this.pattern=e}static isMultiMatch(e){return go(e,this.multiRegex)}static isSingleMatch(e){return go(e,this.singleRegex)}search(e){return{isMatch:!1,score:1}}};function go(e,t){let n=e.match(t);return n?n[1]:null}var _o=class extends ho{constructor(e){super(e)}static get type(){return`exact`}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){let t=e===this.pattern;return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},vo=class extends ho{constructor(e){super(e)}static get type(){return`inverse-exact`}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){let t=e.indexOf(this.pattern)===-1;return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},yo=class extends ho{constructor(e){super(e)}static get type(){return`prefix-exact`}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){let t=e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},bo=class extends ho{constructor(e){super(e)}static get type(){return`inverse-prefix-exact`}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){let t=!e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},xo=class extends ho{constructor(e){super(e)}static get type(){return`suffix-exact`}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){let t=e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[e.length-this.pattern.length,e.length-1]}}},So=class extends ho{constructor(e){super(e)}static get type(){return`inverse-suffix-exact`}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){let t=!e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},Co=class extends ho{constructor(e,{location:t=$.location,threshold:n=$.threshold,distance:r=$.distance,includeMatches:i=$.includeMatches,findAllMatches:a=$.findAllMatches,minMatchCharLength:o=$.minMatchCharLength,isCaseSensitive:s=$.isCaseSensitive,ignoreDiacritics:c=$.ignoreDiacritics,ignoreLocation:l=$.ignoreLocation}={}){super(e),this._bitapSearch=new mo(e,{location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l})}static get type(){return`fuzzy`}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}},wo=class extends ho{constructor(e){super(e)}static get type(){return`include`}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t=0,n,r=[],i=this.pattern.length;for(;(n=e.indexOf(this.pattern,t))>-1;)t=n+i,r.push([n,t-1]);let a=!!r.length;return{isMatch:a,score:+!a,indices:r}}},To=[_o,wo,yo,bo,So,xo,vo,Co],Eo=To.length,Do=`\0`,Oo=`|`;function ko(e){let t=[],n=e.length,r=0;for(;r<n;){for(;r<n&&e[r]===` `;)r++;if(r>=n)break;let i=r;for(;i<n&&e[i]!==` `&&e[i]!==`"`;)i++;if(i<n&&e[i]===`"`){for(i++;i<n;){if(e[i]===`"`){let t=i+1;if(t>=n||e[t]===` `){i++;break}if(e[t]===`$`&&(t+1>=n||e[t+1]===` `)){i+=2;break}}i++}t.push(e.substring(r,i)),r=i}else{for(;i<n&&e[i]!==` `;)i++;t.push(e.substring(r,i)),r=i}}return t}function Ao(e,t={}){return e.replace(/\\\|/g,Do).split(Oo).map(e=>{let n=ko(e.replace(/\u0000/g,`|`).trim()).filter(e=>e&&!!e.trim()),r=[];for(let e=0,i=n.length;e<i;e+=1){let i=n[e],a=!1,o=-1;for(;!a&&++o<Eo;){let e=To[o],n=e.isMultiMatch(i);n&&(r.push(new e(n,t)),a=!0)}if(!a)for(o=-1;++o<Eo;){let e=To[o],n=e.isSingleMatch(i);if(n){r.push(new e(n,t));break}}}return r})}var jo=new Set([Co.type,wo.type]),Mo=class{constructor(e,{isCaseSensitive:t=$.isCaseSensitive,ignoreDiacritics:n=$.ignoreDiacritics,includeMatches:r=$.includeMatches,minMatchCharLength:i=$.minMatchCharLength,ignoreLocation:a=$.ignoreLocation,findAllMatches:o=$.findAllMatches,location:s=$.location,threshold:c=$.threshold,distance:l=$.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r,minMatchCharLength:i,findAllMatches:o,ignoreLocation:a,location:s,threshold:c,distance:l},e=t?e:e.toLowerCase(),e=n?po(e):e,this.pattern=e,this.query=Ao(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){let t=this.query;if(!t)return{isMatch:!1,score:1};let{includeMatches:n,isCaseSensitive:r,ignoreDiacritics:i}=this.options;e=r?e:e.toLowerCase(),e=i?po(e):e;let a=0,o=[],s=0,c=!1;for(let r=0,i=t.length;r<i;r+=1){let i=t[r];o.length=0,a=0,c=!1;for(let t=0,r=i.length;t<r;t+=1){let r=i[t],{isMatch:l,indices:u,score:d}=r.search(e);if(l){a+=1,s+=d;let e=r.constructor.type;e.startsWith(`inverse`)&&(c=!0),n&&(jo.has(e)?o.push(...u):o.push(u))}else{s=0,a=0,o.length=0,c=!1;break}}if(a){let e={isMatch:!0,score:s/a};return c&&(e.hasInverse=!0),n&&(e.indices=lo(o)),e}}return{isMatch:!1,score:1}}},No=[];function Po(...e){No.push(...e)}function Fo(e,t){for(let n=0,r=No.length;n<r;n+=1){let r=No[n];if(r.condition(e,t))return new r(e,t)}return new mo(e,t)}var Io={AND:`$and`,OR:`$or`},Lo={PATH:`$path`,PATTERN:`$val`},Ro=e=>!!(e[Io.AND]||e[Io.OR]),zo=e=>!!e[Lo.PATH],Bo=e=>!Oa(e)&&Pa(e)&&!Ro(e),Vo=e=>({[Io.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Ho(e,t,{auto:n=!0}={}){let r=e=>{if(ja(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=Fo(e,t)),r}let i=Object.keys(e),a=zo(e);if(!a&&i.length>1&&!Ro(e))return r(Vo(e));if(Bo(e)){let r=a?e[Lo.PATH]:i[0],o=a?e[Lo.PATTERN]:e[r];if(!ja(o))throw Error(Ba(r));let s={keyId:Ja(r),pattern:o};return n&&(s.searcher=Fo(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];Oa(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return Ro(e)||(e=Vo(e)),r(e)}function Uo(e,{ignoreFieldNorm:t=$.ignoreFieldNorm}){let n=1;return e.forEach(({key:e,norm:r,score:i})=>{let a=e?e.weight:null;n*=(i===0&&a?2**-52:i)**+((a||1)*(t?1:r))}),n}function Wo(e,{ignoreFieldNorm:t=$.ignoreFieldNorm}){e.forEach(e=>{e.score=Uo(e.matches,{ignoreFieldNorm:t})})}var Go=class{constructor(e){this.limit=e,this.heap=[]}get size(){return this.heap.length}shouldInsert(e){return this.size<this.limit||e<this.heap[0].score}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):e.score<this.heap[0].score&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(e){return this.heap.sort(e)}_bubbleUp(e){let t=this.heap;for(;e>0;){let n=e-1>>1;if(t[e].score<=t[n].score)break;let r=t[e];t[e]=t[n],t[n]=r,e=n}}_sinkDown(e){let t=this.heap,n=t.length,r=e;do{e=r;let i=2*e+1,a=2*e+2;if(i<n&&t[i].score>t[r].score&&(r=i),a<n&&t[a].score>t[r].score&&(r=a),r!==e){let n=t[e];t[e]=t[r],t[r]=n}}while(r!==e)}};function Ko(e,t){let n=e.matches;t.matches=[],Ia(n)&&n.forEach(e=>{if(!Ia(e.indices)||!e.indices.length)return;let{indices:n,value:r}=e,i={indices:n,value:r};e.key&&(i.key=e.key.src),e.idx>-1&&(i.refIndex=e.idx),t.matches.push(i)})}function qo(e,t){t.score=e.score}function Jo(e,t,{includeMatches:n=$.includeMatches,includeScore:r=$.includeScore}={}){let i=[];return n&&i.push(Ko),r&&i.push(qo),e.map(e=>{let{idx:n}=e,r={item:t[n],refIndex:n};return i.length&&i.forEach(t=>{t(e,r)}),r})}var Yo=/\b\w+\b/g;function Xo({isCaseSensitive:e=!1,ignoreDiacritics:t=!1}={}){return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=po(n)),n.match(Yo)||[]}}}function Zo(e,t,n){let r=new Map,i=new Map,a=0;function o(e,t,o,s){let c=n.tokenize(e);if(!c.length)return;a++;let l=new Map;for(let e of c)l.set(e,(l.get(e)||0)+1);for(let[e,n]of l){let a={docIdx:t,keyIdx:o,subIdx:s,tf:n},c=r.get(e);c||(c=[],r.set(e,c)),c.push(a),i.set(e,(i.get(e)||0)+1)}}for(let n of e){let{i:e,v:r,$:i}=n;if(r!==void 0){o(r,e,-1,-1);continue}if(i)for(let n=0;n<t;n++){let t=i[n];if(t)if(Array.isArray(t))for(let r of t)o(r.v,e,n,r.i??-1);else o(t.v,e,n,-1)}}return{terms:r,fieldCount:a,df:i}}function Qo(e,t,n,r){let{i,v:a,$:o}=t;function s(t,n,a){let o=r.tokenize(t);if(!o.length)return;e.fieldCount++;let s=new Map;for(let e of o)s.set(e,(s.get(e)||0)+1);for(let[t,r]of s){let o={docIdx:i,keyIdx:n,subIdx:a,tf:r},s=e.terms.get(t);s||(s=[],e.terms.set(t,s)),s.push(o),e.df.set(t,(e.df.get(t)||0)+1)}}if(a!==void 0){s(a,-1,-1);return}if(o)for(let e=0;e<n;e++){let t=o[e];if(t)if(Array.isArray(t))for(let n of t)s(n.v,e,n.i??-1);else s(t.v,e,-1)}}function $o(e,t){for(let[n,r]of e.terms){let i=r.filter(e=>e.docIdx!==t),a=r.length-i.length;a>0&&(e.fieldCount-=a,e.df.set(n,(e.df.get(n)||0)-a),i.length===0?(e.terms.delete(n),e.df.delete(n)):e.terms.set(n,i))}}var es=class{constructor(e,t,n){this.options={...$,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new Ga(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,n),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;let t=Fo(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof no))throw Error(za);if(this._myIndex=t||ro(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=Xo({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});this._invertedIndex=Zo(this._myIndex.records,this._myIndex.keys.length,e)}}add(e){if(Ia(e)&&(this._docs.push(e),this._myIndex.add(e),this._invertedIndex)){let e=this._myIndex.records[this._myIndex.records.length-1],t=Xo({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});Qo(this._invertedIndex,e,this._myIndex.keys.length,t)}}remove(e=()=>!1){let t=[],n=[];for(let r=0,i=this._docs.length;r<i;r+=1)e(this._docs[r],r)&&(t.push(this._docs[r]),n.push(r));if(n.length){if(this._invertedIndex)for(let e of n)$o(this._invertedIndex,e);for(let e=n.length-1;e>=0;--e)this._docs.splice(n[e],1);this._myIndex.removeAll(n)}return t}removeAt(e){this._invertedIndex&&$o(this._invertedIndex,e);let t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),t}getIndex(){return this._myIndex}search(e,t){let{limit:n=-1}=t||{},{includeMatches:r,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:s}=this.options;if(ja(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return Ma(n)&&n>-1&&(e=e.slice(0,n)),e}let c=Ma(n)&&n>0&&ja(e),l;if(c){let t=new Go(n);ja(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),l=t.extractSorted(o)}else l=ja(e)?ja(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),Wo(l,{ignoreFieldNorm:s}),a&&l.sort(o),Ma(n)&&n>-1&&(l=l.slice(0,n));return Jo(l,this._docs,{includeMatches:r,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),{records:i}=this._myIndex,a=t?null:[];return i.forEach(({v:e,i,n:o})=>{if(!Ia(e))return;let{isMatch:s,score:c,indices:l}=r.searchIn(e);if(s){let r={item:e,idx:i,matches:[{score:c,value:e,norm:o,indices:l}]};t?(r.score=Uo(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):a.push(r)}}),a}_searchLogical(e){let t=Ho(e,this.options),n=(e,t,r)=>{if(!(`children`in e)){let{keyId:n,searcher:i}=e,a;return n===null?(a=[],this._myIndex.keys.forEach((e,n)=>{a.push(...this._findMatches({key:e,value:t[n],searcher:i}))})):a=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:i}),a&&a.length?[{idx:r,item:t,matches:a}]:[]}let{children:i,operator:a}=e,o=[];for(let e=0,s=i.length;e<s;e+=1){let s=i[e],c=n(s,t,r);if(c.length)o.push(...c);else if(a===Io.AND)return[]}return o},r=this._myIndex.records,i=new Map,a=[];return r.forEach(({$:e,i:r})=>{if(Ia(e)){let o=n(t,e,r);o.length&&(i.has(r)||(i.set(r,{idx:r,item:e,matches:[]}),a.push(i.get(r))),o.forEach(({matches:e})=>{i.get(r).matches.push(...e)}))}}),a}_searchObjectList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),{keys:i,records:a}=this._myIndex,o=t?null:[];return a.forEach(({$:e,i:a})=>{if(!Ia(e))return;let s=[],c=!1,l=!1;if(i.forEach((t,n)=>{let i=this._findMatches({key:t,value:e[n],searcher:r});i.length?(s.push(...i),i[0].hasInverse&&(l=!0)):c=!0}),!(l&&c)&&s.length){let r={idx:a,item:e,matches:s};t?(r.score=Uo(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):o.push(r)}}),o}_findMatches({key:e,value:t,searcher:n}){if(!Ia(t))return[];let r=[];if(Oa(t))t.forEach(({v:t,i,n:a})=>{if(!Ia(t))return;let{isMatch:o,score:s,indices:c,hasInverse:l}=n.searchIn(t);o&&r.push({score:s,key:e,value:t,idx:i,norm:a,indices:c,hasInverse:l})});else{let{v:i,n:a}=t,{isMatch:o,score:s,indices:c,hasInverse:l}=n.searchIn(i);o&&r.push({score:s,key:e,value:i,norm:a,indices:c,hasInverse:l})}return r}},ts=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=Xo({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics});let n=this.analyzer.tokenize(e),{df:r,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(let e of n){this.termSearchers.push(new mo(e,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));let n=r.get(e)||0,a=Math.log(1+(i-n+.5)/(n+.5));this.idfWeights.push(a)}}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};let t=[],n=0,r=0,i=0;for(let a=0;a<this.termSearchers.length;a++){let o=this.termSearchers[a].searchIn(e),s=this.idfWeights[a];r+=s,o.isMatch&&(i++,n+=s*(1-o.score),o.indices&&t.push(...o.indices))}if(i===0)return{isMatch:!1,score:1};let a=r>0?1-n/r:0,o={isMatch:!0,score:Math.max(.001,a)};return this.options.includeMatches&&t.length&&(o.indices=lo(t)),o}};es.version=`7.3.0`,es.createIndex=ro,es.parseIndex=io,es.config=$,es.match=function(e,t,n){return Fo(e,{...$,...n}).searchIn(t)},es.parseQuery=Ho,Po(Mo),Po(ts),es.use=function(...e){e.forEach(e=>Po(e))};var ns=[{text:`text-red-400`,bgCircle:`bg-red-400`,bgCard:`bg-red-500/[0.08]`,borderCard:`border-red-500/30`,bgLight:`bg-red-500/15`,bgHover:`hover:bg-red-500`,bgAlt:`bg-red-500/[0.04]`,name:`Red`},{text:`text-orange-400`,bgCircle:`bg-orange-400`,bgCard:`bg-orange-500/[0.08]`,borderCard:`border-orange-500/30`,bgLight:`bg-orange-500/15`,bgHover:`hover:bg-orange-500`,bgAlt:`bg-orange-500/[0.04]`,name:`Orange`},{text:`text-yellow-400`,bgCircle:`bg-yellow-400`,bgCard:`bg-yellow-500/[0.08]`,borderCard:`border-yellow-500/30`,bgLight:`bg-yellow-500/15`,bgHover:`hover:bg-yellow-500`,bgAlt:`bg-yellow-500/[0.04]`,name:`Yellow`},{text:`text-green-400`,bgCircle:`bg-green-400`,bgCard:`bg-green-500/[0.08]`,borderCard:`border-green-500/30`,bgLight:`bg-green-500/15`,bgHover:`hover:bg-green-500`,bgAlt:`bg-green-500/[0.04]`,name:`Green`},{text:`text-blue-400`,bgCircle:`bg-blue-400`,bgCard:`bg-blue-500/[0.08]`,borderCard:`border-blue-500/30`,bgLight:`bg-blue-500/15`,bgHover:`hover:bg-blue-500`,bgAlt:`bg-blue-500/[0.04]`,name:`Blue`},{text:`text-accent`,bgCircle:`bg-accent`,bgCard:`bg-accent/[0.08]`,borderCard:`border-accent/30`,bgLight:`bg-accent/15`,bgHover:`hover:bg-accent`,bgAlt:`bg-accent/[0.04]`,name:`Purple`},{text:`text-pink-400`,bgCircle:`bg-pink-400`,bgCard:`bg-pink-500/[0.08]`,borderCard:`border-pink-500/30`,bgLight:`bg-pink-500/15`,bgHover:`hover:bg-pink-500`,bgAlt:`bg-pink-500/[0.04]`,name:`Pink`},{text:`text-foreground/60`,bgCircle:`bg-foreground/30`,bgCard:`bg-foreground/[0.04]`,borderCard:`border-[var(--panel-border)]/50`,bgLight:`bg-foreground/15`,bgHover:`hover:bg-foreground/30`,bgAlt:`bg-foreground/[0.02]`,name:`Default`}];function rs({title:e=`Table View`,subtitle:t=`/table`,backUrl:l,tableCollection:u=`pub_table_data`,config:f,customContent:p}){let{user:m}=r.dr(),h=!!f,g=f?.isInternal||f?.isShared;f?.isPrivate&&f?.isAdmin;let _=f?.isAdmin||g,v=o.g(u),b=y.f(),x=y.F(u),S=h?_||v||u.startsWith(`role_`):!0,[C,w]=(0,B.useState)(()=>v?y.u(u):``),T=y.o({on:u.startsWith(`user_`)&&!v,everyone:!1}),D=T.uid||m?.uid||``,O=(e,t)=>m?v?t?y.l({uid:m.uid,...Ji(m),...e},m.uid):e:u.startsWith(`user_`)?{...e,uid:D||m.uid}:t?{uid:m.uid,...e}:e:e,k=!!p,A=f?.showButton!==!1&&!k,j=f?.buttonText||`+`,M=f?.buttonStyle||`secondary`,N=f?.showExportButton!==!1,[P,F]=(0,B.useState)([]),I=v?x.records:P,[L,R]=(0,B.useState)(`demo`),[z,H]=(0,B.useState)(!1),[W,G]=(0,B.useState)(!1),[ee,te]=(0,B.useState)(``),[ne,re]=(0,B.useState)(!1),[ie,ae]=(0,B.useState)(null),[K,q]=(0,B.useState)(null),[J,oe]=(0,B.useState)(``),[Y,se]=(0,B.useState)(!1),[ce,le]=(0,B.useState)(``),[ue,de]=(0,B.useState)(null),[fe,pe]=(0,B.useState)(null),[X,me]=(0,B.useState)(null),[he,ge]=(0,B.useState)(!1);(0,B.useEffect)(()=>{let e=u.startsWith(`user_`);if(e&&!m||v)return;let t=e?`${u}|${D}`:u;try{let e=localStorage.getItem(`fbos_tables_${t}`);e&&F(JSON.parse(e))}catch{}let n=(0,U.onSnapshot)(e&&m?(0,U.query)((0,U.collection)(r.ka,u),(0,U.where)(`uid`,`==`,D||m.uid)):(0,U.collection)(r.ka,u),n=>{let i=[];if(n.forEach(e=>{i.push({id:e.id,...e.data()})}),i.length===0){let t={name:`Unnamed Table`,columns:[`Column 1`,`Column 2`,`Column 3`,`Column 4`],...m?{uid:D||m.uid}:{},rows:[{id:`1`,"Column 1":``,"Column 2":``,"Column 3":``,"Column 4":``},{id:`2`,"Column 1":``,"Column 2":``,"Column 3":``,"Column 4":``}]};(0,U.setDoc)((0,U.doc)(r.ka,u,e&&m?`demo_${D||m.uid}`:`demo`),t)}else{let e=i.sort((e,t)=>(e.name||``).localeCompare(t.name||``));F(e),localStorage.setItem(`fbos_tables_${t}`,JSON.stringify(e))}},a.a);return()=>n()},[u,m,v,D]);let _e=(0,B.useRef)(!1);(0,B.useEffect)(()=>{!v||!m||x.loading||x.records.length||_e.current||(_e.current=!0,(0,U.setDoc)((0,U.doc)(r.ka,u,`demo_${m.uid}`),y.l({uid:m.uid,...Ji(m),name:`Unnamed Table`,columns:[`Column 1`,`Column 2`,`Column 3`,`Column 4`],rows:[{id:`1`,"Column 1":``,"Column 2":``,"Column 3":``,"Column 4":``},{id:`2`,"Column 1":``,"Column 2":``,"Column 3":``,"Column 4":``}]},m.uid)))},[v,m,x.loading,x.records.length,u]);let Z=I.find(e=>e.id===L)||I[0]||{columns:[],rows:[]},ve=!v||y.C(Z,b),Q=async e=>{Z.id&&(m&&u.startsWith(`user_`)&&(e.uid=D||m.uid),await(0,U.setDoc)((0,U.doc)(r.ka,u,Z.id),e,{merge:!0}))},ye=()=>{if(!Z.rows||Z.rows.length===0)return;let e=Z.columns.join(`,`),t=Z.rows.map(e=>Z.columns.map(t=>`"${e[t]||``}"`).join(`,`)).join(`
9
- `),n=new Blob([`${e}\n${t}`],{type:`text/csv`}),r=window.URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`export_${Z.name||`table`}.csv`,i.click(),window.URL.revokeObjectURL(r)},be=(e,t,n)=>{Q({...Z,rows:Z.rows.map(r=>r.id===e?{...r,[t]:n}:r)})},xe=()=>{let e=Ji(m),t={id:Date.now().toString(),...m?{_uid:m.uid,_creatorName:e.creatorName,_creatorAvatar:e.creatorAvatar}:{}};Z.columns.forEach(e=>t[e]=``),Q({...Z,rows:[...Z.rows||[],t]})},Se=e=>{Q({...Z,rows:Z.rows.filter(t=>t.id!==e)})},Ce=()=>{X&&(X.kind===`row`?Se(X.id):Te(X.name),me(null))},we=()=>{let e=`Column ${(Z.columns?.length||0)+1}`;Z.columns?.includes(e)||(Q({...Z,columns:[...Z.columns||[],e]}),setTimeout(()=>{let e=document.getElementById(`table-scroll-container`);e&&e.scrollTo({left:e.scrollWidth,behavior:`smooth`})},100))},Te=e=>{let t=(Z.columns||[]).filter(t=>t!==e),n=(Z.rows||[]).map(t=>{let n={...t};return delete n[e],n}),r={...Z.colColors||{}};delete r[e],Q({...Z,columns:t,rows:n,colColors:r})},Ee=async e=>{e.trim()&&Z.id&&e!==Z.name&&await(0,U.setDoc)((0,U.doc)(r.ka,u,Z.id),{name:e},{merge:!0})},De=async()=>{re(!0),H(!1);let e=`tbl_${Date.now()}`;await(0,U.setDoc)((0,U.doc)(r.ka,u,e),{name:`Unnamed Table`,columns:[`Column 1`,`Column 2`,`Column 3`],...m?{uid:m.uid}:{},rows:[]}),setTimeout(()=>{R(e),re(!1)},600)},Oe=e=>{let t=ce.trim();if(t&&t!==e&&!Z.columns?.includes(t)){let n=Z.columns.map(n=>n===e?t:n),r=(Z.rows||[]).map(n=>{let r={...n};return r[t]=r[e]||``,delete r[e],r}),i={...Z.colColors||{}};i[e]&&(i[t]=i[e],delete i[e]),Q({...Z,columns:n,rows:r,colColors:i})}q(null)},ke=e=>Xi({uid:e._uid,creatorName:e._creatorName,creatorAvatar:e._creatorAvatar},m),Ae=Z.rows||[];return J.trim()!==``&&(Ae=new es(Ae.map(e=>({...e,_creatorMatch:ke(e)?.name||``})),{keys:(Z.columns||[]).concat([`_creatorMatch`]),threshold:.4,ignoreLocation:!0}).search(J).map(e=>{let{_creatorMatch:t,...n}=e.item;return n})),(0,V.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-4 md:mb-6 flex items-center gap-3`,children:[!h&&l&&(0,V.jsx)(y.r,{to:l}),(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsx)(n.t,{children:e}),t&&(0,V.jsxs)(`div`,{className:`max-sm:hidden sm:flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,V.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),t]})]})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 min-h-0 pb-16`,children:[h&&(0,V.jsx)(i.t,{}),(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},className:`glass-panel border border-[var(--panel-border)] rounded-3xl overflow-hidden shadow-2xl relative z-10 flex flex-col flex-1 min-h-[400px]`,children:[(0,V.jsx)(`div`,{className:`absolute top-0 right-0 w-[400px] h-[400px] bg-accent/5 blur-[100px] rounded-full pointer-events-none -z-10`}),(0,V.jsxs)(`div`,{className:`p-4 md:px-6 border-b border-[var(--panel-border)]/50 flex items-center justify-between bg-foreground/[0.01] gap-3 sm:gap-4`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col min-w-0 relative`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2 relative`,children:[(0,V.jsxs)(`div`,{className:`relative flex items-center`,children:[W?(0,V.jsx)(`div`,{contentEditable:!0,suppressContentEditableWarning:!0,onBlur:e=>{G(!1),Ee(e.currentTarget.textContent||``)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},className:`bg-transparent border-b-2 border-accent outline-none text-[16px] font-bold text-foreground inline-block min-w-[20px] whitespace-nowrap px-1 py-0.5`,children:Z.name||`Unnamed Table`}):(0,V.jsx)(`h3`,{className:`font-bold text-[16px] text-foreground/90 hover:text-accent transition-colors truncate max-w-[38vw] sm:max-w-[200px] ${ve?`cursor-pointer`:``}`,onClick:()=>ve&&G(!0),title:ve?`Click to rename table`:void 0,children:Z.name||`Unnamed Table`}),(0,V.jsx)(r.cr,{children:z&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>H(!1)}),(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:-10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},className:`absolute top-[120%] left-0 w-[220px] bg-background/95 backdrop-blur-xl border border-[var(--panel-border)] rounded-2xl shadow-2xl z-50 py-2 flex flex-col`,children:[(0,V.jsx)(`div`,{className:`px-4 py-2 text-[10px] font-bold uppercase tracking-wider text-foreground/40 border-b border-[var(--panel-border)] mb-1`,children:`Your Tables`}),(0,V.jsx)(`div`,{className:`max-h-[250px] overflow-y-auto styled-scrollbars z-50 relative`,children:I.map(e=>(0,V.jsx)(`button`,{onClick:()=>{R(e.id),H(!1)},className:`w-full px-4 py-2 text-[13px] font-bold text-left hover:bg-foreground/[0.03] transition-colors truncate ${L===e.id?`text-accent bg-accent/5`:`text-foreground/70`}`,children:e.name||`Unnamed Table`},e.id))}),(0,V.jsx)(`div`,{className:`w-full h-[1px] bg-[var(--panel-border)]/50 my-1`}),(0,V.jsxs)(`button`,{onClick:De,className:`w-full px-4 py-2.5 text-[13px] font-bold text-left text-foreground/70 hover:text-foreground hover:bg-foreground/5 transition-colors flex items-center gap-2`,children:[(0,V.jsx)(s.G,{className:`w-4 h-4`}),` Create New Table`]})]})]})})]}),(0,V.jsx)(`button`,{onClick:()=>H(!z),className:`p-1 px-1.5 rounded-lg hover:bg-foreground/5 transition-colors text-foreground/40 hover:text-foreground shrink-0 border border-transparent hover:border-[var(--panel-border)]`,children:(0,V.jsx)(s.on,{className:`w-4 h-4 transition-transform ${z?`rotate-180 text-accent`:``}`})})]}),(0,V.jsxs)(`span`,{className:`opacity-40 text-[11px] font-bold mt-1 uppercase tracking-wider`,children:[(Z.rows||[]).length,` Records`]})]}),(0,V.jsx)(`div`,{className:`relative shrink-0 ${Y?`flex-1 min-w-[130px] max-w-[300px]`:``}`,children:Y?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(s.F,{className:`absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-foreground/40`}),(0,V.jsx)(`input`,{autoFocus:!0,type:`text`,"aria-label":`Search records`,placeholder:`Search records...`,value:J,onChange:e=>oe(e.target.value),onBlur:()=>{J.trim()||se(!1)},onKeyDown:e=>{e.key===`Escape`&&(oe(``),se(!1))},className:`w-full bg-background border border-[var(--panel-border)] rounded-xl py-2.5 px-9 text-[13px] font-medium text-foreground focus:outline-none focus:border-accent transition-colors shadow-inner`})]}):(0,V.jsx)(`button`,{type:`button`,onClick:()=>se(!0),"aria-label":`Search records`,title:`Search records`,className:`w-10 h-10 flex items-center justify-center rounded-xl border border-[var(--panel-border)] text-foreground/50 hover:text-accent hover:bg-foreground/5 transition-colors`,children:(0,V.jsx)(s.F,{className:`w-4 h-4`})})}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,V.jsx)(y.a,{viewing:T}),N&&(0,V.jsx)(d.t,{variant:`secondary`,onClick:ye,className:`px-3 py-2.5 font-bold rounded-xl shadow-sm border border-[var(--panel-border)] flex items-center gap-2`,children:(0,V.jsx)(s.Gt,{className:`w-4 h-4`})}),A&&ve&&(0,V.jsx)(d.t,{variant:M===`primary`?void 0:`secondary`,onClick:xe,className:`px-3 py-2.5 font-bold rounded-xl border border-[var(--panel-border)] shadow-sm flex items-center gap-2 whitespace-nowrap`,children:j===`+`?(0,V.jsx)(s.G,{className:`w-4 h-4`}):j})]})]}),(0,V.jsx)(`div`,{id:`table-scroll-container`,className:`overflow-auto w-full flex-1 min-h-[300px] relative styled-scrollbars`,children:p?(0,V.jsx)(y.p,{value:{prefix:o.C(f||{}),collection:v?u:``,recordId:v?Z.id||C:``},children:(0,V.jsx)(`div`,{className:`fbos-content-slot fbos-tab-fill p-4 md:p-8 flex-1 overflow-y-auto relative min-h-[400px]`,children:(0,V.jsx)(c.r,{size:`part`,children:(0,V.jsx)(p,{config:f,actions:{tables:I,activeTable:Z,collection:u,user:m,error:v?x.error:``,...y.s(u,b,v,C),saveTable:async(e,t)=>{let n=O(t,!I.some(t=>t.id===e));v&&e===C&&w(y.u(u)),F(t=>t.find(t=>t.id===e)?t.map(t=>t.id===e?{...t,...n}:t):[...t,{id:e,...n}]),await(0,U.setDoc)((0,U.doc)(r.ka,u,e),n,{merge:!0})},deleteTable:async e=>{F(t=>t.filter(t=>t.id!==e)),await(0,U.deleteDoc)((0,U.doc)(r.ka,u,e))},updateCell:(e,t,n)=>be(e,t,n),addRow:()=>xe(),addColumn:()=>we()}})})})}):(0,V.jsx)(r.cr,{mode:`wait`,children:ne?(0,V.jsxs)(r.sr.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 flex flex-col items-center justify-center bg-background/40 backdrop-blur-[2px] z-50`,children:[(0,V.jsx)(`div`,{className:`w-8 h-8 rounded-full border-2 border-accent border-r-transparent animate-spin mb-4`}),(0,V.jsx)(`p`,{className:`text-[11px] font-bold text-foreground/50 uppercase tracking-widest`,children:`Generating Table`})]},`loader`):(0,V.jsxs)(r.sr.table,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`w-full text-left border-collapse table-auto relative min-w-[800px]`,children:[(0,V.jsx)(`thead`,{children:(0,V.jsxs)(`tr`,{className:`border-b border-[var(--panel-border)] transition-colors ${Z.headerColor?ns.find(e=>e.text===Z.headerColor)?.bgAlt:`bg-foreground/[0.02]`}`,children:[(0,V.jsx)(`th`,{className:`py-4 px-6 text-[12px] font-bold uppercase tracking-wider whitespace-nowrap text-foreground/50 w-32 border-r border-[var(--panel-border)]/20 ${S?``:`hidden`}`,children:`Creator`}),(Z.columns||[]).map((e,t)=>{let n=(Z.colColors||{})[e],r=(Z.colorTimestamps||{})[`col_${e}`]||0;Z.headerColor;let i=(Z.colorTimestamps||{}).header||0,a=`bg-transparent`,o=`text-foreground/50`;if(n&&n!==`none`&&r>=i){let e=ns.find(e=>e.text===n);e&&(a=e.bgCard,o=e.text)}return(0,V.jsx)(`th`,{className:`py-3 px-6 text-[12px] font-bold uppercase tracking-wider relative group h-[53px] min-w-[120px] ${o} ${a} border-r border-[var(--panel-border)]/20 last:border-r-0 select-none align-middle`,children:(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-2 w-full h-full`,children:[K===e?(0,V.jsx)(`div`,{className:`flex-1 min-w-[50px]`,children:(0,V.jsx)(`span`,{contentEditable:!0,suppressContentEditableWarning:!0,onBlur:t=>{q(null),le(t.currentTarget.textContent||``),(t.currentTarget.textContent||``).trim()!==``&&Oe(e)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},className:`bg-transparent outline-none border-b border-accent/40 font-bold text-[12px] uppercase tracking-wider p-0 m-0 ${o} block w-full whitespace-nowrap overflow-hidden cursor-text`,ref:e=>{e&&requestAnimationFrame(()=>{e.focus()})},children:ce})}):(0,V.jsx)(`div`,{className:`flex items-center gap-2 flex-1 overflow-hidden`,onClick:()=>{ve&&(q(e),le(e))},children:(0,V.jsx)(`span`,{className:`truncate cursor-text`,children:e})}),(0,V.jsxs)(`div`,{className:`relative shrink-0 flex items-center h-full gap-0.5`,children:[(0,V.jsx)(`button`,{onClick:()=>pe(fe===e?null:e),className:`p-1.5 rounded-lg opacity-0 group-hover:opacity-100 transition-opacity hover:bg-foreground/10 ${n&&n!==`none`?`!opacity-100`:``} text-current`,children:(0,V.jsx)(s.et,{className:`w-4 h-4`})}),(Z.columns||[]).length>1&&(0,V.jsx)(`button`,{onClick:t=>{t.stopPropagation(),ve&&me({kind:`column`,name:e})},className:`p-1.5 rounded-lg opacity-0 group-hover:opacity-100 transition-opacity hover:bg-red-500/10 text-foreground/30 hover:text-red-500`,title:`Delete column`,children:(0,V.jsx)(s.C,{className:`w-3.5 h-3.5`})}),fe===e&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{className:`fixed inset-0 z-30`,onClick:()=>pe(null)}),(0,V.jsxs)(`div`,{className:`absolute top-8 right-0 flex gap-1.5 bg-background/95 backdrop-blur-xl border border-[var(--panel-border)] p-2 rounded-xl shadow-xl z-50 items-center`,children:[(0,V.jsx)(`button`,{onClick:t=>{t.preventDefault(),t.stopPropagation();let n={...Z.colColors||{},[e]:`none`},r={...Z.colorTimestamps||{},[`col_${e}`]:Date.now()};Q({...Z,colColors:n,colorTimestamps:r}),pe(null)},className:`w-4 h-4 rounded-full flex items-center justify-center bg-foreground/10 hover:bg-red-500/20 hover:text-red-500 text-foreground/40 transition-colors border border-[var(--panel-border)]/50 shrink-0`,title:`Remove Color`,children:(0,V.jsx)(s.o,{className:`w-3 h-3`})}),(0,V.jsx)(`div`,{className:`h-4 w-px bg-[var(--panel-border)]/50 mx-0.5`}),ns.map(t=>(0,V.jsx)(`button`,{onClick:n=>{n.preventDefault(),n.stopPropagation();let r={...Z.colColors||{},[e]:t.text},i={...Z.colorTimestamps||{},[`col_${e}`]:Date.now()};Q({...Z,colColors:r,colorTimestamps:i}),pe(null)},className:`w-4 h-4 rounded-full ${t.bgCircle} hover:scale-125 transition-transform border border-[var(--panel-border)]/50 shrink-0`},t.name))]})]})]})]})},`col_${t}_${e}`)}),(0,V.jsx)(`th`,{className:`py-4 px-4 w-14 border-l border-[var(--panel-border)]/30 relative`,children:(0,V.jsxs)(`div`,{className:`flex items-center justify-end gap-0.5 relative z-20`,children:[(0,V.jsx)(`button`,{onClick:()=>ge(!he),className:`p-1.5 rounded-lg transition-colors hover:bg-foreground/10 ${Z.headerColor?ns.find(e=>e.text===Z.headerColor)?.text:`text-foreground/30`}`,children:(0,V.jsx)(s.et,{className:`w-4 h-4`})}),he&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{className:`fixed inset-0 z-30`,onClick:()=>ge(!1)}),(0,V.jsxs)(`div`,{className:`absolute top-6 right-8 flex gap-1.5 bg-background/90 backdrop-blur-xl border border-[var(--panel-border)] p-2 rounded-xl shadow-xl z-50 items-center`,children:[(0,V.jsx)(`button`,{onClick:()=>{Q({...Z,headerColor:``}),ge(!1)},className:`w-4 h-4 rounded-full flex items-center justify-center bg-foreground/10 hover:bg-red-500/20 hover:text-red-500 text-foreground/40 transition-colors border border-[var(--panel-border)]/50 shrink-0`,title:`Remove Header Color`,children:(0,V.jsx)(s.o,{className:`w-3 h-3`})}),(0,V.jsx)(`div`,{className:`h-4 w-px bg-[var(--panel-border)]/50 mx-0.5`}),ns.map(e=>(0,V.jsx)(`button`,{onClick:()=>{let t={...Z.colorTimestamps||{},header:Date.now()};Q({...Z,headerColor:e.text,colorTimestamps:t}),ge(!1)},className:`w-4 h-4 rounded-full ${e.bgCircle} hover:scale-125 transition-transform border border-[var(--panel-border)]/50`},e.name))]})]}),(0,V.jsx)(`button`,{onClick:()=>ve&&we(),className:`p-1.5 rounded-lg text-foreground/40 hover:text-accent hover:bg-accent/10 transition-colors flex items-center justify-center ${ve?``:`hidden`}`,children:(0,V.jsx)(s.G,{className:`w-4 h-4`})})]})})]})}),(0,V.jsxs)(`tbody`,{children:[Ae.map((e,t)=>{let n=t%2==1,i=(Z.rowColors||{})[e.id],a=i?n?ns.find(e=>e.text===i)?.bgAlt:ns.find(e=>e.text===i)?.bgCard:n?`bg-foreground/[0.02]`:`bg-transparent`;return(0,V.jsxs)(`tr`,{className:`border-b border-[var(--panel-border)]/30 hover:bg-foreground/[0.04] transition-colors group`,children:[(0,V.jsx)(`td`,{className:`py-4 px-6 whitespace-nowrap h-[53px] border-r border-[var(--panel-border)]/20 ${a} ${S?``:`hidden`}`,children:(0,V.jsx)(`div`,{className:`flex items-center gap-2`,children:h?(()=>{let t=ke(e);return t?(0,V.jsxs)(V.Fragment,{children:[t.avatar?(0,V.jsx)(r.Nn,{src:t.avatar,alt:``,className:`w-5 h-5 rounded-full shrink-0`}):(0,V.jsx)(`div`,{className:`w-5 h-5 rounded-full bg-accent/20 text-accent flex items-center justify-center text-[10px] font-bold shrink-0`,children:t.name[0].toUpperCase()}),(0,V.jsx)(`span`,{className:`text-[11px] font-bold text-foreground/80 tracking-tight shrink-0`,children:t.name})]}):(0,V.jsx)(`span`,{className:`text-[11px] font-bold text-foreground/30`,children:`—`})})():(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{className:`w-5 h-5 rounded-full bg-accent/20 text-accent flex items-center justify-center text-[10px] font-bold shrink-0 shadow-inner group-hover:scale-110 transition-transform`,children:`G`}),(0,V.jsx)(`span`,{className:`text-[11px] font-bold text-foreground/80 tracking-tight shrink-0`,children:`Guest`})]})})}),(Z.columns||[]).map(r=>{let i=ie?.id===e.id&&ie?.field===r,a=(Z.colColors||{})[r],o=(Z.colorTimestamps||{})[`col_${r}`]||0,s=(Z.rowColors||{})[e.id],c=(Z.colorTimestamps||{})[`row_${e.id}`]||0,l=``;l=c>o?s===`none`?``:s:o>c?a===`none`?``:a:s===`none`?``:s||a||``,l===`none`&&(l=``);let u=l?ns.find(e=>e.text===l):null,d=u?n?u.bgAlt:u.bgCard:n?`bg-foreground/[0.02]`:`bg-transparent`,f=u?u.text:`text-foreground/80`;return(0,V.jsxs)(`td`,{className:`py-4 px-6 whitespace-pre-wrap min-w-[120px] text-[14px] font-medium relative ${d} align-top border-r border-[var(--panel-border)]/10 last:border-r-0`,onClick:()=>ve&&!i&&ae({id:e.id,field:r}),children:[i?(0,V.jsx)(`textarea`,{autoFocus:!0,value:e[r]||``,onChange:t=>be(e.id,r,t.target.value),onBlur:()=>ae(null),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&ae(null)},className:`absolute inset-0 bg-transparent !border-0 !outline-none focus:!outline-none focus:!ring-0 !ring-0 !shadow-none focus:!shadow-none p-4 px-6 text-[14px] font-medium w-full h-full caret-accent ${f} z-20 resize-none styled-scrollbars`}):null,(0,V.jsx)(`span`,{className:`block w-full min-h-[20px] break-words transition-all ${i?`opacity-0`:`opacity-100`} ${f} ${r===`Status`&&e[r]===`Active`&&!l?`text-green-500`:``}`,children:e[r]||(0,V.jsx)(`span`,{className:`opacity-30 italic font-normal`,children:`empty`})})]},`cell_${e.id||t}_${r}`)}),(0,V.jsx)(`td`,{className:`py-4 px-4 whitespace-nowrap text-right h-[53px] ${a} relative z-10`,children:(0,V.jsxs)(`div`,{className:`flex items-center justify-end gap-1 opacity-100 md:opacity-20 md:group-hover:opacity-100 transition-opacity relative`,children:[(0,V.jsx)(`button`,{onClick:()=>de(ue===e.id?null:e.id),className:`p-1.5 rounded-lg transition-colors hover:bg-foreground/10 ${i?ns.find(e=>e.text===i)?.text:`text-foreground/40`}`,children:(0,V.jsx)(s.et,{className:`w-4 h-4`})}),ue===e.id&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{className:`fixed inset-0 z-30`,onClick:()=>de(null)}),(0,V.jsxs)(`div`,{className:`absolute top-6 right-8 flex gap-1.5 bg-background/90 backdrop-blur-xl border border-[var(--panel-border)] p-2 rounded-xl shadow-xl z-50 items-center`,children:[(0,V.jsx)(`button`,{onClick:t=>{t.preventDefault(),t.stopPropagation();let n={...Z.rowColors||{},[e.id]:`none`},r={...Z.colorTimestamps||{},[`row_${e.id}`]:Date.now()};Q({...Z,rowColors:n,colorTimestamps:r}),de(null)},className:`w-4 h-4 rounded-full flex items-center justify-center bg-foreground/10 hover:bg-red-500/20 hover:text-red-500 text-foreground/40 transition-colors border border-[var(--panel-border)]/50 shrink-0`,title:`Remove Row Color`,children:(0,V.jsx)(s.o,{className:`w-3 h-3`})}),(0,V.jsx)(`div`,{className:`h-4 w-px bg-[var(--panel-border)]/50 mx-0.5`}),ns.map(t=>(0,V.jsx)(`button`,{onClick:()=>{let n={...Z.colorTimestamps||{},[`row_${e.id}`]:Date.now()};Q({...Z,rowColors:{...Z.rowColors||{},[e.id]:t.text},colorTimestamps:n}),de(null)},className:`w-4 h-4 rounded-full ${t.bgCircle} hover:scale-125 transition-transform border border-[var(--panel-border)]/50`},t.name))]})]}),ve&&(0,V.jsx)(`button`,{onClick:()=>me({kind:`row`,id:e.id}),title:`Delete row`,className:`p-2 ml-auto rounded-lg text-foreground/20 hover:text-red-500 hover:bg-red-500/10 transition-colors flex items-center justify-center`,children:(0,V.jsx)(s.C,{className:`w-4 h-4`})})]})})]},e.id||`row_${t}`)}),Ae.length===0&&(0,V.jsx)(`tr`,{children:(0,V.jsxs)(`td`,{colSpan:(Z.columns||[]).length+2,className:`py-12 text-center text-foreground/40 text-[14px] font-medium border border-[var(--panel-border)] m-4 rounded-xl border-dashed`,children:[`No records found in `,Z.name||`this table`,`.`]})}),(0,V.jsx)(`tr`,{children:(0,V.jsx)(`td`,{colSpan:(Z.columns||[]).length+2,className:`py-2 px-4 border-none bg-foreground/[0.01]`,children:(0,V.jsx)(`div`,{className:`flex items-center gap-4`,children:(0,V.jsx)(`button`,{onClick:()=>ve&&xe(),className:`p-1.5 rounded-lg text-foreground/40 hover:text-accent hover:bg-accent/10 transition-colors flex items-center justify-center ml-2 border border-transparent hover:border-accent/20 ${ve?``:`hidden`}`,children:(0,V.jsx)(s.G,{className:`w-4 h-4`})})})})})]})]},`table`)})})]})]}),(0,V.jsx)(E.t,{isOpen:!!X,title:X?.kind===`column`?`Delete column`:`Delete row`,message:X?.kind===`column`?(0,V.jsxs)(V.Fragment,{children:[`Delete `,(0,V.jsx)(`strong`,{className:`text-foreground block my-1 break-words max-w-full text-center`,children:X.name}),` and everything filled in under it, in every row? This cannot be undone.`]}):(0,V.jsx)(V.Fragment,{children:`Delete this row and everything in it? This cannot be undone.`}),onConfirm:Ce,onCancel:()=>me(null),confirmText:`Yes, delete`})]})}var is=[{text:`text-red-400`,bgCircle:`bg-red-400`,bgCard:`bg-red-500/[0.08]`,borderCard:`border-red-500/30`,bgLight:`bg-red-500/15`,bgHover:`hover:bg-red-500`,bgAlt:`bg-red-500/[0.04]`,name:`Red`},{text:`text-orange-400`,bgCircle:`bg-orange-400`,bgCard:`bg-orange-500/[0.08]`,borderCard:`border-orange-500/30`,bgLight:`bg-orange-500/15`,bgHover:`hover:bg-orange-500`,bgAlt:`bg-orange-500/[0.04]`,name:`Orange`},{text:`text-yellow-400`,bgCircle:`bg-yellow-400`,bgCard:`bg-yellow-500/[0.08]`,borderCard:`border-yellow-500/30`,bgLight:`bg-yellow-500/15`,bgHover:`hover:bg-yellow-500`,bgAlt:`bg-yellow-500/[0.04]`,name:`Yellow`},{text:`text-green-400`,bgCircle:`bg-green-400`,bgCard:`bg-green-500/[0.08]`,borderCard:`border-green-500/30`,bgLight:`bg-green-500/15`,bgHover:`hover:bg-green-500`,bgAlt:`bg-green-500/[0.04]`,name:`Green`},{text:`text-blue-400`,bgCircle:`bg-blue-400`,bgCard:`bg-blue-500/[0.08]`,borderCard:`border-blue-500/30`,bgLight:`bg-blue-500/15`,bgHover:`hover:bg-blue-500`,bgAlt:`bg-blue-500/[0.04]`,name:`Blue`},{text:`text-accent`,bgCircle:`bg-accent`,bgCard:`bg-accent/[0.08]`,borderCard:`border-accent/30`,bgLight:`bg-accent/15`,bgHover:`hover:bg-accent`,bgAlt:`bg-accent/[0.04]`,name:`Purple`},{text:`text-pink-400`,bgCircle:`bg-pink-400`,bgCard:`bg-pink-500/[0.08]`,borderCard:`border-pink-500/30`,bgLight:`bg-pink-500/15`,bgHover:`hover:bg-pink-500`,bgAlt:`bg-pink-500/[0.04]`,name:`Pink`},{text:`text-foreground/60`,bgCircle:`bg-foreground/30`,bgCard:`bg-foreground/[0.04]`,borderCard:`border-[var(--panel-border)]/50`,bgLight:`bg-foreground/15`,bgHover:`hover:bg-foreground/30`,bgAlt:`bg-foreground/[0.02]`,name:`Default`}],as=e=>new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().split(`T`)[0],os=1,ss={dateStr:``,title:``,description:``,time:`12:00`,duration:`60`,color:``,guestEmail:``,customFields:{}};function cs({title:e=`Calendar View`,subtitle:t=`/calendar`,backUrl:a,eventsCollection:l=`pub_events`,defaultTimeFormat:f=`12h`,config:p,customContent:m}){let h=!!(p?.isPrivate||p?.isAdmin||p?.isInternal||p?.isShared);p?.isAdmin,p?.isInternal||p?.isShared,p?.isPrivate;let g=p?.showButton!==!1,_=p?.buttonText||`+`,v=p?.buttonStyle||`primary`,b=p?.showViewsButton!==!1,x=p?.viewsButtonStyle||`secondary`,S=p?.defaultView||`calendar`,C=p?.customFields||[],w=o.g(l)?`case`:l.startsWith(`user_`)?`user`:l.startsWith(`mem_`)||l.startsWith(`role_`)?`internal`:l.startsWith(`admin_`)?`admin_only`:`public`,T=w===`case`,D=y.o({on:w===`user`}),[O,k]=(0,B.useState)(()=>{try{let e=localStorage.getItem(`cal_view_${l}`);if(e===`list`||e===`month`)return e}catch{}return S===`board`?`list`:`month`}),[A,j]=(0,B.useState)([]),M=y.f(),N=y.F(l),P=T?N.records:A,[F,I]=(0,B.useState)(()=>T?y.u(l):``),[L,R]=(0,B.useState)(!1),[z,W]=(0,B.useState)(null),[ee,te]=(0,B.useState)(!1),[ne,re]=(0,B.useState)(!1),[ie,ae]=(0,B.useState)(null),[K,q]=(0,B.useState)(ss),[J,oe]=(0,B.useState)(new Date),[Y,se]=(0,B.useState)(null),[ce,le]=(0,B.useState)(null),[ue,de]=(0,B.useState)(!1),fe=D.uid||Y?.uid||``,pe=`cal_24h_${l}`,[X,me]=(0,B.useState)(()=>{try{let e=localStorage.getItem(pe);if(e!==null)return e===`true`}catch{}return f===`24h`}),he=()=>{let e=!X;me(e);try{localStorage.setItem(pe,String(e))}catch{}};(0,B.useEffect)(()=>{try{localStorage.setItem(`cal_view_${l}`,O)}catch{}},[O,l,w]);let ge=()=>{let e=O===`month`?`list`:`month`;k(e);try{localStorage.setItem(`cal_view_${l}`,e)}catch{}},_e=()=>{try{return sessionStorage.getItem(`cal_guest_email`)||``}catch{return``}},Z=e=>{try{sessionStorage.setItem(`cal_guest_email`,e)}catch{}};(0,B.useEffect)(()=>(0,H.onAuthStateChanged)(r.Oa,async e=>{if(se(e),e&&w===`admin_only`)try{let t=await(0,U.getDoc)((0,U.doc)(r.ka,`user_profiles`,e.uid));t.exists()&&le(t.data())}catch{}de(!0)}),[w]);let ve=as(new Date(J.getFullYear(),J.getMonth()-os,1)),Q=as(new Date(J.getFullYear(),J.getMonth()+os+1,0));(0,B.useEffect)(()=>{if(!ue||T)return;if(w!==`public`&&!Y){j([]);return}let e=w===`user`?`${l}|${D.everyone?`everyone`:fe}`:l;try{let t=localStorage.getItem(`fbos_cal_${e}`);t&&j(JSON.parse(t))}catch{}let t=(0,U.onSnapshot)(w===`user`&&Y&&!D.everyone?(0,U.query)((0,U.collection)(r.ka,l),(0,U.where)(`uid`,`==`,fe)):(0,U.query)((0,U.collection)(r.ka,l),(0,U.where)(`dateStr`,`>=`,ve),(0,U.where)(`dateStr`,`<=`,Q)),t=>{let n=[];t.forEach(e=>n.push({id:e.id,...e.data()})),j(n),localStorage.setItem(`fbos_cal_${e}`,JSON.stringify(n))},e=>console.error(`Calendar events:`,e));return()=>t()},[l,w,Y?.uid,ue,ve,Q,T,fe,D.everyone]);let ye=e=>!!Y&&Y.uid===e.uid,be=e=>w===`public`?!1:w===`user`?!!Y:T?y.C(e,M):ye(e),xe=(e,t)=>!Y||w===`public`?e:w===`user`?{...e,uid:fe||Y.uid}:T?t?y.l({uid:Y.uid,creatorEmail:Y.email||``,creatorName:Y.displayName||``,creatorAvatar:Y.photoURL||``,...e},Y.uid):e:t?{uid:Y.uid,creatorEmail:Y.email||``,creatorName:Y.displayName||``,creatorAvatar:Y.photoURL||``,...e}:e,Se=e=>{if(!e)return``;if(X)return e;let[t,n]=e.split(`:`),r=parseInt(t,10),i=r>=12?`PM`:`AM`;return r=r%12||12,`${r}:${n} ${i}`},Ce=e=>{if(!e)return`60m`;let t=parseInt(e,10);return isNaN(t)?e:t>=60?t%60==0?`${t/60}h`:`${Math.floor(t/60)}h ${t%60}m`:`${t}m`},we=e=>{let[t,n]=(e||`12:00`).split(`:`),r=parseInt(t,10)||0,i=parseInt(n,10)||0,a=r>=12?`PM`:`AM`;return r=r%12||12,{h:r,m:i,ampm:a}},Te=(e,t,n)=>{let r=e%12;return n===`PM`&&(r+=12),`${r.toString().padStart(2,`0`)}:${t.toString().padStart(2,`0`)}`},Ee=as,De=()=>Ee(new Date),Oe=new Date(J.getFullYear(),J.getMonth(),1),ke=new Date(J.getFullYear(),J.getMonth()+1,0),Ae=Oe.getDay(),je=ke.getDate(),Me=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],Ne=Array.from({length:42},(e,t)=>{let n=t-Ae+1,r=new Date(J.getFullYear(),J.getMonth(),n);return{day:r.getDate(),dateStr:Ee(r),isCurrentMonth:n>0&&n<=je}}),Pe=()=>oe(O===`month`?new Date(J.getFullYear(),J.getMonth()-1,1):new Date(J.getFullYear(),J.getMonth(),J.getDate()-1)),Fe=()=>oe(O===`month`?new Date(J.getFullYear(),J.getMonth()+1,1):new Date(J.getFullYear(),J.getMonth(),J.getDate()+1)),Ie=e=>{if(w!==`public`&&!Y)return;let t=new Date;t.setDate(t.getDate()+1);let n=new Date().getHours().toString().padStart(2,`0`);q({...ss,dateStr:e||Ee(t),time:`${n}:00`,guestEmail:w===`public`?_e():``,customFields:{}}),R(!0)},Le=e=>{let t=e.time;if(t){let[e,n]=t.split(`:`);e&&n&&(t=`${e.padStart(2,`0`)}:${n}`)}q({id:e.id,uid:e.uid,dateStr:e.dateStr,title:e.title,description:e.description||``,time:t||`12:00`,duration:e.duration||`60`,color:e.color||``,guestEmail:e.creatorEmail||``,customFields:e.customFields||{}}),R(!0)},Re=async e=>{if(e.preventDefault(),K.title.trim()){te(!0);try{let e={dateStr:K.dateStr,title:K.title.trim(),description:K.description.trim(),time:K.time,duration:K.duration||`60`};if(K.color&&(e.color=K.color),C.length>0&&(e.customFields=K.customFields),!K.id)if(w===`public`){let t=K.guestEmail.trim();e.creatorEmail=t,Z(t)}else w===`user`||w===`internal`?(e.uid=Y?.uid,e.creatorEmail=Y?.email||``,e.creatorName=Y?.displayName||``,e.creatorAvatar=Y?.photoURL||``):w===`admin_only`&&(e.uid=Y?.uid,e.creatorEmail=ce?.email||Y?.email||``,e.creatorName=ce?.displayName||ce?.name||``,e.creatorAvatar=ce?.avatar||ce?.avatarUrl||Y?.photoURL||``);let t=xe(e,!K.id);K.id?(await(0,U.setDoc)((0,U.doc)(r.ka,l,K.id),t,{merge:!0}),z?.id===K.id&&W({...z,...e})):(await(0,U.setDoc)((0,U.doc)(r.ka,l,T?F||y.u(l):`ev_${Date.now()}`),t,{merge:!0}),T&&I(y.u(l))),R(!1)}catch(e){console.error(e)}te(!1)}},ze=async()=>{if(ie){re(!0);try{await(0,U.deleteDoc)((0,U.doc)(r.ka,l,ie.id)),z?.id===ie.id&&W(null),ae(null),R(!1)}catch{}re(!1)}},Be=e=>{if(w===`user`||!e.creatorEmail&&!e.creatorName)return null;let t=(e.creatorName||e.creatorEmail||`?`).charAt(0).toUpperCase(),n=is.find(t=>t.text===e.color);return(0,V.jsxs)(`div`,{className:`flex items-center gap-3 mt-4 p-3 rounded-xl bg-foreground/[0.03] border border-[var(--panel-border)]/50`,children:[e.creatorAvatar?(0,V.jsx)(r.Nn,{src:e.creatorAvatar,alt:``,className:`w-8 h-8 rounded-full shrink-0`}):(0,V.jsx)(`div`,{className:`w-8 h-8 rounded-full ${n?.bgCircle||`bg-accent`} flex items-center justify-center text-[13px] font-extrabold text-white shrink-0`,children:t}),(0,V.jsxs)(`div`,{className:`flex flex-col min-w-0`,children:[e.creatorName&&(0,V.jsx)(`span`,{className:`text-[13px] font-bold text-foreground/90 truncate`,children:e.creatorName}),e.creatorEmail&&(0,V.jsx)(`span`,{className:`text-[12px] text-foreground/50 truncate`,children:e.creatorEmail})]})]})},Ve=e=>{if(w===`user`||w===`public`||!e.creatorName&&!e.creatorEmail)return null;let t=e.creatorName||e.creatorEmail?.split(`@`)[0]||``,n=t.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,V.jsxs)(`div`,{className:`flex items-center gap-2 mt-2 pt-2 border-t border-[var(--panel-border)]/30`,children:[e.creatorAvatar?(0,V.jsx)(r.Nn,{src:e.creatorAvatar,alt:``,className:`w-5 h-5 rounded-full shrink-0`}):(0,V.jsx)(`div`,{className:`w-5 h-5 rounded-full bg-accent/15 text-accent flex items-center justify-center text-[8px] font-extrabold shrink-0`,children:n}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0 flex-1`,children:[(0,V.jsx)(`span`,{className:`text-[11px] font-semibold text-foreground/40 truncate`,children:t}),e.creatorEmail&&(0,V.jsxs)(`span`,{className:`text-[10px] text-foreground/25 truncate`,children:[`· `,e.creatorEmail]})]})]})};if(ue&&w!==`public`&&!Y)return(0,V.jsx)(`main`,{className:`flex-1 w-full flex items-center justify-center min-h-screen p-8`,children:(0,V.jsxs)(`div`,{className:`text-center glass-panel border border-[var(--panel-border)] rounded-3xl p-12 max-w-sm w-full`,children:[(0,V.jsx)(`div`,{className:`w-16 h-16 rounded-full bg-accent/10 border border-accent/20 flex items-center justify-center mx-auto mb-4`,children:(0,V.jsx)(s.lt,{className:`w-7 h-7 text-accent`})}),(0,V.jsx)(`h2`,{className:`text-2xl font-bold mb-2`,children:`Sign in required`}),(0,V.jsx)(`p`,{className:`text-foreground/50 text-[14px] mb-6`,children:`You need to be signed in to access this calendar.`}),(0,V.jsx)(G.Link,{to:`/login`,className:`inline-flex items-center justify-center gap-2 px-6 py-2.5 rounded-xl btn-primary font-bold text-[14px] w-full`,children:`Sign In`})]})});if(!ue&&w!==`public`)return(0,V.jsx)(`main`,{className:`flex-1 w-full flex items-center justify-center min-h-screen`,children:(0,V.jsx)(s.ht,{className:`w-8 h-8 animate-spin text-accent`})});let He=!!m,Ue=(w===`public`||!!Y)&&g&&!He,We=()=>(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3 sm:gap-4 p-4 sm:p-6 md:px-8 md:py-6 border-b border-[var(--panel-border)]/50 bg-background/50 shrink-0`,children:[(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsx)(`h2`,{className:`text-xl font-bold text-foreground tracking-tight truncate`,children:p?.tabTitle||p?.tabName||e}),(0,V.jsxs)(`p`,{className:`text-[13px] font-medium text-foreground/50 mt-1`,children:[P.length,` `,P.length===1?`event`:`events`,` · `,O===`month`?`Month`:`Board`,` View`]})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,V.jsx)(y.a,{viewing:D}),(0,V.jsx)(r.sr.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:he,className:`w-10 h-10 flex items-center justify-center rounded-xl transition-all duration-300 cursor-pointer btn-secondary text-[12px] font-extrabold`,children:X?`24h`:`12h`}),b&&!He&&(0,V.jsx)(r.sr.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:ge,title:O===`month`?`Switch to Board`:`Switch to Calendar`,className:`w-10 h-10 flex items-center justify-center rounded-xl transition-all duration-300 cursor-pointer ${x===`primary`?`btn-primary`:`btn-secondary`}`,children:O===`month`?(0,V.jsx)(s.bt,{className:`w-4 h-4`}):(0,V.jsx)(s.ln,{className:`w-4 h-4`})}),Ue&&(0,V.jsx)(r.sr.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>Ie(),title:`Add event`,"aria-label":`Add event`,className:`h-10 flex items-center justify-center gap-2 rounded-xl transition-all duration-300 cursor-pointer ${_===`+`?`w-10`:`px-5`} ${v===`primary`?`btn-primary`:`btn-secondary`}`,children:_===`+`?(0,V.jsx)(s.G,{className:`w-4 h-4`}):(0,V.jsx)(`span`,{className:`text-[13px] font-bold`,children:_})})]})]}),Ge=()=>(0,V.jsxs)(`div`,{className:`p-4 md:p-6 border-b border-[var(--panel-border)]/50 flex flex-wrap items-center justify-between gap-x-3 gap-y-2 bg-foreground/[0.01]`,children:[(0,V.jsx)(`h3`,{className:`text-lg md:text-xl font-bold tracking-tight ml-2 min-w-0`,children:O===`month`?J.toLocaleString(`default`,{month:`long`,year:`numeric`}):J.toLocaleString(`default`,{month:`long`,day:`numeric`,year:`numeric`})}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,V.jsx)(`button`,{onClick:()=>oe(new Date),className:`px-3 md:px-4 py-2 text-[13px] font-bold border border-[var(--panel-border)] rounded-xl mr-1 md:mr-2 hover:bg-foreground/5 transition-colors`,children:`Today`}),(0,V.jsx)(`button`,{onClick:Pe,className:`p-2 rounded-xl text-foreground/50 hover:text-foreground hover:bg-foreground/5 transition-colors border border-transparent hover:border-[var(--panel-border)]`,children:(0,V.jsx)(s.an,{className:`w-5 h-5`})}),(0,V.jsx)(`button`,{onClick:Fe,className:`p-2 rounded-xl text-foreground/50 hover:text-foreground hover:bg-foreground/5 transition-colors border border-transparent hover:border-[var(--panel-border)]`,children:(0,V.jsx)(s.in,{className:`w-5 h-5`})})]})]}),Ke=()=>(0,V.jsxs)(V.Fragment,{children:[Ge(),m?(0,V.jsx)(y.p,{value:{prefix:o.C(p||{}),collection:T?l:``,recordId:T?F:``},children:(0,V.jsx)(`div`,{className:`fbos-content-slot fbos-tab-fill p-4 md:p-8 flex-1 overflow-y-auto relative min-h-[400px]`,children:(0,V.jsx)(c.r,{size:`part`,children:(0,V.jsx)(m,{config:p,actions:{events:P,loading:T?N.loading:!ue,error:T?N.error:``,collection:l,currentUser:Y,...y.s(l,M,T,F),user:Y,saveEvent:async e=>{let t=e.id||(T?F:``)||`ev_${Date.now()}`,n=xe(e,!P.some(e=>e.id===t));T&&t===F&&I(y.u(l)),j(e=>e.find(e=>e.id===t)?e.map(e=>e.id===t?{...e,...n}:e):[...e,{id:t,...n}]),await(0,U.setDoc)((0,U.doc)(r.ka,l,t),n,{merge:!0})},deleteEvent:async e=>{j(t=>t.filter(t=>t.id!==e)),await(0,U.deleteDoc)((0,U.doc)(r.ka,l,e))},openAddModal:e=>Ie(e),openEditModal:e=>Le(e),setViewingEvent:e=>W(e),currentDate:J,setCurrentDate:oe,goToPrev:Pe,goToNext:Fe,goToToday:()=>oe(new Date)}})})})}):O===`month`?(0,V.jsx)(`div`,{className:`overflow-x-auto w-full flex-1`,children:(0,V.jsxs)(`div`,{className:`min-w-[800px] h-full flex flex-col`,children:[(0,V.jsx)(`div`,{className:`grid grid-cols-7 border-b border-[var(--panel-border)]/50 bg-foreground/[0.02]`,children:Me.map(e=>(0,V.jsx)(`div`,{className:`py-3 text-center text-[12px] font-bold uppercase tracking-wider text-foreground/40`,children:e},e))}),(0,V.jsx)(`div`,{className:`grid grid-cols-7 auto-rows-auto bg-[var(--panel-border)] gap-[1px] relative flex-1`,children:Ne.map((e,t)=>{let n=e.dateStr===De(),r=P.filter(t=>t.dateStr===e.dateStr);return(0,V.jsxs)(`div`,{onClick:()=>e.isCurrentMonth&&Ue&&Ie(e.dateStr),className:`min-h-[140px] p-2 bg-[var(--panel-bg)] flex flex-col relative group
10
- ${e.isCurrentMonth?Ue?`hover:bg-foreground/[0.03] transition-colors cursor-cell`:``:`opacity-30 bg-background/50 pointer-events-none`}`,children:[(0,V.jsx)(`div`,{className:`flex justify-between items-start mb-2 shrink-0`,children:(0,V.jsx)(`span`,{className:`w-8 h-8 rounded-full flex items-center justify-center text-[14px] font-bold ${n?`bg-accent text-white shadow-lg shadow-accent/20`:`text-foreground/70 group-hover:text-foreground`}`,children:e.day})}),(0,V.jsx)(`div`,{className:`flex flex-col gap-1.5 flex-1 w-full relative z-10 pb-1`,children:r.map(e=>{let t=is.find(t=>t.text===e.color),n=be(e);return(0,V.jsxs)(`div`,{className:`px-2 py-1.5 rounded-lg border transition-colors shadow-sm cursor-pointer group/ev relative ${t?t.bgCard+` `+t.borderCard:`bg-accent/20 border-accent/30 hover:bg-accent/40`}`,onClick:t=>{t.stopPropagation(),W(e)},children:[(0,V.jsx)(`p`,{className:`text-[12px] font-bold truncate leading-tight ${n?`pr-5`:``} ${t?t.text:`text-foreground`}`,children:e.title}),(0,V.jsx)(`p`,{className:`text-[10px] text-foreground/70 mt-0.5`,children:Se(e.time)}),n&&(0,V.jsx)(`button`,{onClick:t=>{t.stopPropagation(),Le(e)},className:`absolute top-1 right-1 opacity-0 group-hover/ev:opacity-100 p-1 text-foreground/60 hover:bg-foreground/10 hover:text-foreground transition-all rounded`,children:(0,V.jsx)(s.Z,{className:`w-3 h-3`})})]},e.id)})})]},t)})}),(0,V.jsx)(`style`,{children:`
3
+ `)||(n[r]=i)}return n}function Ii(){let[e,t]=(0,K.useState)(null);return(0,K.useEffect)(()=>(0,Y.onSnapshot)((0,Y.doc)(r.ui,`sys_configs`,Mi),e=>t(Pi(e.exists()?e.data():null)),()=>t({})),[]),e}async function Li(e){if(Object.keys(e).length)try{await(0,Y.setDoc)((0,Y.doc)(r.ui,`sys_configs`,Mi),{copies:e},{merge:!0})}catch{}}function Ri({from:e,leaveOut:t}){return S.g(e,{leaveOut:t}),null}function zi(){let{userRole:e}=r.It();return o.Sn(e)?(0,q.jsx)(Bi,{}):null}function Bi(){let e=re.u(),t=Ii(),{pathname:n}=(0,X.useLocation)(),r=(0,K.useMemo)(()=>e?S.u(e):[],[e]);if((0,K.useEffect)(()=>{if(!t||!r.length)return;let e={};for(let t of r){let n=S.f(t.from);n&&(e[t.from]={leaveOut:[...n].sort()})}let n=Fi(e,t);Object.keys(n).length&&Li(n)},[r,t,n]),!t)return null;let i=new Map;for(let e of r)t[e.from]&&i.set(e.from,t[e.from].leaveOut);return(0,q.jsx)(q.Fragment,{children:[...i].map(([e,t])=>(0,q.jsx)(Ri,{from:e,leaveOut:t},e))})}var Vi=r.si(()=>Promise.resolve().then(()=>require(`./PhoneInputField-CuMINkex.cjs`))),Hi=`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`,Ui=`text-[12px] font-semibold text-red-500 mt-1 ml-1`;function Wi({children:e}){return(0,q.jsx)(`div`,{className:`flex flex-col w-full min-w-0`,children:e})}function Gi({question:e,value:t,error:n,onChange:i}){let a=e.label.trim(),o=e.required?`${a} *`:a;return e.type===`textarea`?(0,q.jsx)(Wi,{children:(0,q.jsx)(g.v,{id:`q_${e.name}`,label:o,value:t,placeholder:e.placeholder,onChange:e=>i(e.target.value),error:n})}):e.type===`checkbox`?(0,q.jsxs)(Wi,{children:[(0,q.jsxs)(`label`,{className:`flex items-center gap-3 w-full cursor-pointer group py-1.5`,children:[(0,q.jsxs)(`span`,{className:`relative flex items-center justify-center w-5 h-5 rounded border border-foreground/20 bg-background/50 group-hover:border-accent transition-colors shrink-0`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:t===`Yes`,onChange:e=>i(e.target.checked?`Yes`:``),className:`absolute opacity-0 w-full h-full cursor-pointer`}),t===`Yes`&&(0,q.jsx)(`span`,{className:`w-2.5 h-2.5 bg-accent rounded-sm shrink-0`})]}),(0,q.jsx)(`span`,{className:`text-[14px] font-medium text-foreground/80 leading-snug group-hover:text-foreground transition-colors`,children:o})]}),n&&(0,q.jsx)(`p`,{className:Ui,children:n})]}):e.type===`select`?(0,q.jsxs)(Wi,{children:[(0,q.jsx)(r.Q,{label:o,direction:`auto`,value:t,options:[{value:``,label:(0,q.jsx)(`span`,{className:`text-foreground/40`,children:e.placeholder||`Choose one…`})},...e.options.filter(Boolean).map(e=>({value:e,label:e}))],onChange:i}),n&&(0,q.jsx)(`p`,{className:Ui,children:n})]}):e.type===`tel`?(0,q.jsxs)(Wi,{children:[(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),children:(0,q.jsx)(Vi,{field:{label:o,required:!1,placeholder:e.placeholder},value:t,onChange:i})}),n&&(0,q.jsx)(`p`,{className:Ui,children:n})]}):e.type===`file`?(0,q.jsx)(Wi,{children:(0,q.jsx)(g.f,{field:{label:o,placeholder:e.placeholder},value:t,error:n,onChange:e=>i(e(t))})}):e.type===`date`?(0,q.jsxs)(Wi,{children:[(0,q.jsx)(`label`,{className:Hi,htmlFor:`q_${e.name}`,children:o}),(0,q.jsxs)(`div`,{className:`relative flex items-center lift-focus`,children:[(0,q.jsx)(`input`,{id:`q_${e.name}`,type:`date`,value:t,onChange:e=>i(e.target.value),className:`date-field block h-12 w-full text-[15px] pl-4 pr-11 py-2 transition-all duration-300 focus:outline-none focus:border-accent glow-focus glass-panel ${t?`text-foreground`:`text-foreground/40`}`,style:{borderRadius:`var(--input-radius, 0.75rem)`}}),(0,q.jsx)(g.b,{className:`w-4 h-4 text-foreground/50 absolute right-4 pointer-events-none`,"aria-hidden":!0})]}),n&&(0,q.jsx)(`p`,{className:Ui,children:n})]}):(0,q.jsx)(Wi,{children:(0,q.jsx)(g.y,{label:o,type:e.type,value:t,error:n,placeholder:e.placeholder,onChange:e=>i(e.target.value)})})}function Ki({questions:e,answers:t,errors:n,onChange:r}){return(0,q.jsx)(q.Fragment,{children:o.E(e).map(e=>(0,q.jsx)(Gi,{question:e,value:t[e.name]||``,error:n[e.name],onChange:t=>r(e.name,t)},e.name))})}var qi=/^[^\s@,;]+@[^\s@,;.]+(\.[^\s@,;.]+)*\.[a-z]{2,}$/i;function Ji(e){if(!e||e.kind!==`once`)return null;let t=r.gr(e),n=t.reduce((e,t)=>e+(r.br(t.amount)||0),0),i=e.name.trim()||t.map(e=>e.name.trim()).filter(Boolean).join(` and `)||r.xr(e);return n>0?{amount:n,name:i}:null}function Yi(e){let[t,n]=(0,K.useState)({id:``,product:null});return(0,K.useEffect)(()=>{if(!e)return;let t=!1;return(0,Y.getDoc)((0,Y.doc)(r.ui,r.Qn,e)).then(i=>{t||n({id:e,product:i.exists()?r.Dr(i.id,i.data()):null})}).catch(()=>{t||n({id:e,product:null})}),()=>{t=!0}},[e]),e?t.id===e?{loading:!1,product:t.product}:{loading:!0,product:null}:{loading:!1,product:null}}function Xi({icon:e,accent:t,children:n}){return(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 h-7 px-3 rounded-full border text-[12.5px] font-semibold whitespace-nowrap ${t?`border-accent/40 bg-accent/10 text-accent`:`border-[var(--panel-border)]/70 text-foreground/65`}`,children:[e&&(0,q.jsx)(e,{className:`w-3.5 h-3.5 text-accent shrink-0`,"aria-hidden":!0}),n]})}function Zi({children:e,wide:t,form:n}){return(0,q.jsx)(`main`,{className:`flex-1 w-full mx-auto px-4 py-8 md:py-12 z-10 flex flex-col justify-center transition-[max-width] duration-500 ease-out ${t?`max-w-4xl`:n?`max-w-2xl`:`max-w-xl`}`,children:(0,q.jsx)(r.rt.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.4},className:`w-full rounded-3xl glass-panel border border-[var(--panel-border)] p-5 sm:p-8 md:p-10 shadow-[0_8px_32px_rgba(0,0,0,0.08)]`,children:e})})}function Qi({children:e}){return(0,q.jsx)(`h1`,{ref:n.n([e]),className:`text-2xl sm:text-3xl font-bold tracking-tight text-gradient leading-tight whitespace-nowrap data-[fold]:whitespace-normal data-[fold]:text-balance`,children:e})}function $i({icon:e,title:t,children:n}){return(0,q.jsxs)(`div`,{className:`flex flex-col items-center text-center py-8 gap-4`,children:[(0,q.jsx)(`div`,{className:`w-14 h-14 ${g.d}`,children:(0,q.jsx)(e,{className:`w-6 h-6`})}),(0,q.jsx)(`h1`,{className:`text-2xl md:text-3xl font-bold text-foreground tracking-tight`,children:t}),n&&(0,q.jsx)(`div`,{className:`text-[14px] md:text-[15px] text-foreground/60 leading-relaxed max-w-md`,children:n}),(0,q.jsx)(X.Link,{to:`/`,className:`text-[13px] font-bold text-accent hover:underline mt-2`,children:`Back to the site`})]})}function ea({sessionId:e,schedule:t}){let[n,i]=(0,K.useState)(null);if((0,K.useEffect)(()=>{let t=!1;return r.jn(e).then(async t=>({...t,held:(await g.o(e,t)).held})).then(e=>{t||i(e)}),()=>{t=!0}},[e]),!n)return(0,q.jsx)($i,{icon:C.r,title:`Confirming your payment…`,children:`One moment — checking with the payment provider.`});let a=n.metadata?.when||``;return n.paid?(0,q.jsx)($i,{icon:f.W,title:n.held?`Paid — your time is held`:`Paid`,children:(0,q.jsxs)(`p`,{children:[a?`${a} — `:``,o.Vt(t),`. `,n.held?`Held for you while it is confirmed.`:g.a.replace(/^Paid\. /,``),n.customerEmail?` A receipt is on its way to ${n.customerEmail}.`:``]})}):(0,q.jsx)($i,{icon:Je,title:`Not confirmed yet`,children:(0,q.jsx)(`p`,{children:n.error||`The payment provider has not confirmed this payment yet. Your time is held; if a receipt arrives by email, the booking is yours.`})})}function ta(e){return e===null?`Nothing was charged. Checking the time you picked…`:e===`none`?`Nothing was charged. Pick a time again to book.`:e===`letGo`?`${g.i.letGo} Pick a time again to book.`:g.i[e]}function na(){let{id:e=``}=(0,X.useParams)(),[t]=(0,X.useSearchParams)(),{activeConfig:n}=i.N(),{loading:a,schedule:s}=f.x(e),{loading:c,product:l}=Yi(s?.paymentId||``),u=Ji(l),d=r.zn(),[_,v]=(0,K.useState)(()=>o.et()),[y]=(0,K.useState)(()=>new Date),b=f.C(s?[s.memberId]:[],y),x=(0,K.useMemo)(()=>s&&o.P(s)?[s]:[],[s]),[S,w]=(0,K.useState)(null),[T,E]=(0,K.useState)(()=>r.li.currentUser?.displayName||``),[D,O]=(0,K.useState)(()=>r.li.currentUser?.email||``),[k,j]=(0,K.useState)({}),[M,P]=(0,K.useState)({}),[ee,I]=(0,K.useState)(!1),[L,te]=(0,K.useState)(``),[R,z]=(0,K.useState)(``),[B,ne]=(0,K.useState)(``),[re,H]=(0,K.useState)(!1),ie=t.get(`session_id`)||``,ae=t.get(g.r)===`1`,oe=ae||t.get(`cancelled`)===`1`,[U,W]=(0,K.useState)(null);if((0,K.useEffect)(()=>{if(!ae)return;let e=!1;return g.s().then(t=>{e||W(t?t.outcome:`none`)}).catch(()=>{e||W(`unknown`)}),()=>{e=!0}},[ae]),a)return(0,q.jsx)(Zi,{children:(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-3 py-16 text-foreground/50`,children:[(0,q.jsx)(C.r,{className:`w-4 h-4 animate-spin text-accent`}),(0,q.jsx)(`span`,{className:`text-[13px] font-medium`,children:`Loading…`})]})});if(!s)return(0,q.jsx)(Zi,{children:(0,q.jsx)($i,{icon:h.c,title:`This booking link is no longer open`,children:`It may have been taken down. Ask whoever sent it for a new one.`})});if(ie)return(0,q.jsx)(Zi,{children:(0,q.jsx)(ea,{sessionId:ie,schedule:s})});if(R)return(0,q.jsx)(Zi,{children:(0,q.jsx)($i,{icon:Je,title:`Your time is held`,children:(0,q.jsxs)(`p`,{children:[R,` — held for you while `,s.memberName.trim()||`the person you booked with`,` confirms it.`,B?` We have sent the details to ${B}, and will write again the moment it is confirmed.`:re?` We could not email the details to you just now, so keep a note of the time.`:``]})})});if(!o.P(s))return(0,q.jsx)(Zi,{children:(0,q.jsx)($i,{icon:h.c,title:o.Vt(s),children:`This is not taking bookings at the moment.`})});let G=!!s.paymentId&&!c&&(!u||!d.loading&&!d.configured),se=async()=>{if(!S||ee)return;let e={...o.L(s.questions,k)};if(T.trim()||(e._name=`Your name, please.`),qi.test(D.trim())||(e._email=`That does not look like an email address — check for a typo, e.g. jane@example.com`),P(e),Object.keys(e).length)return;I(!0),te(``);let t=o.q(S,s.memberName,_),n=0;if(u){let e=await f.o(S,Date.now()+F.a);if(`error`in e){te(e.error),w(null),I(!1);return}n=e.holdUntil}else{let e=await f.i(S);if(e){te(e),w(null),I(!1);return}}let i=null;if(u){let e=await r.Mn({legs:[{bookingId:o.qt(S.memberId,S.start),scheduleId:s.id}],when:t,name:T.trim(),email:D.trim(),successPath:o.U(s.id),cancelPath:g.l(o.U(s.id),g.r,`1`)});if(typeof e==`string`){await f.l(S),te(e),I(!1);return}i=e}let a=o.qt(S.memberId,S.start),c=await f.A(S,{memberName:s.memberName,scheduleId:s.id,scheduleName:o.It(s),paymentId:s.paymentId,paymentSession:i?.sessionId||``,holdUntil:n,timeZone:_,name:T.trim(),email:D.trim(),answers:o.F(s.questions,k),formId:o.n,entryId:``});if(c){await f.l(S),te(c),I(!1);return}if(i){g.c({sessionId:i.sessionId,bookingIds:[a],when:t,formId:``,holdUntil:n}),r.kn.goTo(i.url);return}if(s.notifyOwner&&V.n(`heads_up`,{title:`New booking`,summary:`${T.trim()} booked ${o.Vt(s)} — ${t}`,details:{Name:T.trim(),Email:D.trim(),When:t,...o.I(s.questions,k)}}).catch(()=>{}),s.confirmBooker&&r.li.currentUser){let e=D.trim();V.r(`booking_requested`,`mem_bookings`,a,{when:o.q(S,``,_),memberName:s.memberName,scheduleName:o.Vt(s)}).then(t=>{t?H(!0):ne(e)}).catch(()=>H(!0))}z(t),I(!1)},J=!G&&!S,Y=!G&&!!S,ce=o.T(s.questions,`name`),le=o.T(s.questions,`email`);return(0,q.jsxs)(Zi,{wide:J,form:Y,children:[oe&&(0,q.jsx)(`p`,{className:`mb-5 px-4 py-3 rounded-xl bg-amber-500/10 border border-amber-500/20 text-[13px] font-medium text-foreground/80`,children:ta(ae?U:`none`)}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-4 mb-5 sm:mb-6`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3.5 min-w-0`,children:[(0,q.jsx)(`div`,{className:`w-11 h-11 ${g.d}`,children:(0,q.jsx)(p.t,{className:`w-5 h-5`})}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-0.5 min-w-0 flex-1`,children:[n?.appName&&(0,q.jsx)(`span`,{className:`text-[10.5px] font-bold uppercase tracking-[0.18em] text-foreground/40 truncate`,children:n.appName}),(0,q.jsx)(Qi,{children:o.Vt(s)})]})]}),(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[!s.memberName.trim()&&(0,q.jsx)(Xi,{icon:A.t,children:`with your host`}),(0,q.jsx)(Xi,{icon:Je,children:o.Yt(s.slotMinutes)}),u&&(0,q.jsx)(Xi,{accent:!0,children:g.n(u.amount)})]}),o.Ft(s)&&(0,q.jsx)(`p`,{className:`text-[13.5px] sm:text-[14px] text-foreground/60 font-medium leading-relaxed max-w-2xl whitespace-pre-line`,children:o.Ft(s)})]}),(0,q.jsx)(`div`,{className:`h-px bg-[var(--panel-border)]/60 mb-5 sm:mb-6`}),G?(0,q.jsx)(`p`,{className:`text-[14px] font-medium text-foreground/60`,children:`This booking cannot be paid for right now — please try again later.`}):S?(0,q.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,q.jsx)(g.u,{slot:S,timeZone:_,onChange:()=>w(null)}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,q.jsx)(g.y,{label:ce.label,value:T,onChange:e=>E(e.target.value),error:M._name,placeholder:ce.placeholder}),(0,q.jsx)(g.y,{label:le.label,type:`email`,value:D,onChange:e=>O(e.target.value),error:M._email,placeholder:le.placeholder}),(0,q.jsx)(Ki,{questions:s.questions,answers:k,errors:M,onChange:(e,t)=>{j(n=>({...n,[e]:t})),P(t=>t[e]?{...t,[e]:``}:t)}})]}),L&&(0,q.jsx)(`p`,{role:`alert`,className:`text-[13px] font-semibold text-red-500`,children:L}),(0,q.jsx)(`div`,{className:`h-px bg-[var(--panel-border)]/60`}),(0,q.jsx)(m.u,{timeZone:_,onTimeZone:v,action:(0,q.jsx)(N.t,{variant:`primary`,onClick:se,disabled:ee||c,className:`max-sm:w-full h-11 px-6 text-[13.5px] font-bold shrink-0`,children:ee?u?`Opening checkout…`:`Booking…`:u?`Book and pay ${g.n(u.amount)}`:`Confirm booking`})})]}):(0,q.jsxs)(q.Fragment,{children:[L&&(0,q.jsx)(`p`,{role:`alert`,className:`mb-3 text-[13px] font-semibold text-red-500`,children:L}),(0,q.jsx)(m.n,{members:x,value:S,onChange:w,taken:b,timeZone:_,onTimeZone:v})]})]})}var ra=`rounded-2xl flex items-center justify-center shrink-0 border border-[var(--panel-border)]/50 bg-accent/10 text-accent`,ia=`rounded-2xl border border-[var(--panel-border)]/60 bg-foreground/[0.015]`;function aa(e){let[t,n]=(0,K.useState)(new Map),i=e.join(`,`);return(0,K.useEffect)(()=>{let e=i?i.split(`,`):[];if(!e.length)return;let t=!1;return Promise.all(e.map(async e=>{try{let t=await(0,Y.getDoc)((0,Y.doc)(r.ui,r.Qn,e));return t.exists()?r.Dr(e,t.data()):null}catch{return null}})).then(e=>{if(t)return;let r=new Map;e.forEach(e=>{e&&r.set(e.id,e)}),n(r)}),()=>{t=!0}},[i]),t}function oa({children:e}){return(0,q.jsx)(`main`,{className:`flex-1 w-full max-w-2xl mx-auto px-4 py-8 md:py-12 z-10 flex flex-col justify-center`,children:(0,q.jsx)(r.rt.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.4},className:`w-full rounded-3xl glass-panel border border-[var(--panel-border)] p-5 sm:p-8 md:p-10 shadow-[0_8px_32px_rgba(0,0,0,0.08)]`,children:e})})}function sa({icon:e,title:t,children:n}){return(0,q.jsxs)(`div`,{className:`flex flex-col items-center text-center py-8 gap-4`,children:[(0,q.jsx)(`div`,{className:`w-14 h-14 ${ra}`,children:(0,q.jsx)(e,{className:`w-6 h-6`})}),(0,q.jsx)(`h1`,{className:`text-2xl md:text-3xl font-bold text-foreground tracking-tight`,children:t}),n&&(0,q.jsx)(`div`,{className:`text-[14px] md:text-[15px] text-foreground/60 leading-relaxed max-w-md`,children:n}),(0,q.jsx)(X.Link,{to:`/`,className:`text-[13px] font-bold text-accent hover:underline mt-2`,children:`Back to the site`})]})}function ca({icon:e,accent:t,children:n}){return(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 h-6 px-2.5 rounded-full border text-[11.5px] font-semibold whitespace-nowrap ${t?`border-accent/40 bg-accent/10 text-accent`:`border-[var(--panel-border)]/70 text-foreground/60`}`,children:[e&&(0,q.jsx)(e,{className:`w-3 h-3 text-accent shrink-0`,"aria-hidden":!0}),n]})}function la({schedule:e,price:t}){r.Rr();let n=o.Ft(e),i=o.Xt(e.slotMinutes);return(0,q.jsxs)(X.Link,{to:o.U(e.id),className:`${ia} group relative overflow-hidden flex items-center gap-3.5 sm:gap-4 p-3 sm:p-4 transition-all duration-300
4
+ hover:border-accent/50 hover:shadow-[0_10px_30px_-12px_rgba(0,0,0,0.28)] hover:-translate-y-[2px] active:translate-y-0 active:scale-[0.995]`,children:[(0,q.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-300 bg-gradient-to-r from-accent/[0.09] via-accent/[0.03] to-transparent`}),(0,q.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-0 top-0 bottom-0 w-[3px] bg-accent origin-center scale-y-0 group-hover:scale-y-100 transition-transform duration-300`}),(0,q.jsxs)(`span`,{"aria-hidden":!0,className:`relative shrink-0 w-[52px] h-[52px] rounded-2xl border border-[var(--panel-border)]/60 bg-accent/[0.07] text-accent
5
+ flex flex-col items-center justify-center leading-none gap-0.5 transition-colors duration-300 group-hover:bg-accent/[0.13] group-hover:border-accent/30`,children:[(0,q.jsx)(`span`,{className:`text-[17px] font-extrabold tracking-tight tabular-nums`,children:i.value}),(0,q.jsx)(`span`,{className:`text-[9.5px] font-bold uppercase tracking-[0.08em] opacity-70`,children:i.unit})]}),(0,q.jsxs)(`span`,{className:`relative flex-1 min-w-0 flex flex-col gap-1`,children:[(0,q.jsx)(`span`,{className:`text-[14.5px] sm:text-[15px] font-bold text-foreground tracking-tight leading-snug break-words`,children:o.Vt(e)}),(0,q.jsxs)(`span`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,q.jsx)(ca,{icon:Je,children:o.Yt(e.slotMinutes)}),t&&(0,q.jsx)(ca,{accent:!0,children:g.n(t.amount)})]}),n&&(0,q.jsx)(`span`,{className:`text-[12.5px] font-medium text-foreground/55 leading-relaxed line-clamp-2 mt-0.5`,children:n})]}),(0,q.jsx)(`span`,{"aria-hidden":!0,className:`relative shrink-0 w-8 h-8 rounded-full border border-[var(--panel-border)]/70 flex items-center justify-center
6
+ text-foreground/35 transition-all duration-300 group-hover:border-accent/50 group-hover:bg-accent group-hover:text-[var(--button-fg,#fff)]`,children:(0,q.jsx)(u.t,{className:`w-4 h-4 transition-transform duration-300 group-hover:translate-x-[1px]`})})]})}function ua({page:e}){let t=`w-24 h-24 sm:w-28 sm:h-28`;return(0,q.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,q.jsx)(`span`,{"aria-hidden":!0,className:`absolute -inset-3 rounded-[2rem] bg-accent/15 blur-2xl`}),e.photo?(0,q.jsx)(r.k,{src:e.photo,alt:``,priority:!0,className:`${t} rounded-2xl border border-[var(--panel-border)] shadow-[0_10px_30px_rgba(0,0,0,0.12)]`}):(0,q.jsx)(`div`,{className:`relative ${t} ${ra}`,children:(0,q.jsx)(A.t,{className:`w-9 h-9`})})]})}function da(){let{id:e=``}=(0,X.useParams)(),{activeConfig:t}=i.N(),{loading:n,pages:r}=H.i(),{loading:a,schedules:o}=f.y(),s=r.find(t=>t.id===e)||null,c=(0,K.useMemo)(()=>s?H.o(s,o):[],[s,o]),l=aa((0,K.useMemo)(()=>[...new Set(c.map(e=>e.paymentId).filter(Boolean))],[c]));if(n||a)return(0,q.jsx)(oa,{children:(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-3 py-16 text-foreground/50`,children:[(0,q.jsx)(C.r,{className:`w-4 h-4 animate-spin text-accent`}),(0,q.jsx)(`span`,{className:`text-[13px] font-medium`,children:`Loading…`})]})});if(!s||!s.enabled)return(0,q.jsx)(oa,{children:(0,q.jsx)(sa,{icon:h.c,title:`This page is no longer open`,children:`It may have been taken down. Ask whoever sent it for a new link.`})});if(!c.length){let e=H.d(s,o).length;return(0,q.jsx)(oa,{children:(0,q.jsx)(sa,{icon:h.c,title:H.s(s),children:e?`Nothing here is taking bookings at the moment. Please check back later.`:`There is nothing to book here at the moment. Please check back later.`})})}let u=s.intro.trim();return(0,q.jsxs)(oa,{children:[(0,q.jsxs)(`div`,{className:`flex flex-col items-center text-center gap-4`,children:[(0,q.jsx)(ua,{page:s}),(0,q.jsxs)(`div`,{className:`flex flex-col items-center gap-1.5 w-full min-w-0`,children:[t?.appName&&(0,q.jsx)(`span`,{className:`text-[10.5px] font-bold uppercase tracking-[0.18em] text-foreground/40 truncate max-w-full`,children:t.appName}),(0,q.jsx)(`h1`,{className:`text-[26px] sm:text-4xl font-extrabold tracking-tight text-gradient leading-[1.1] break-words`,children:H.s(s)}),u&&(0,q.jsx)(`p`,{className:`mt-1.5 max-w-md text-[13.5px] sm:text-[14.5px] text-foreground/60 font-medium leading-relaxed whitespace-pre-line`,children:u})]})]}),(0,q.jsx)(`div`,{className:`h-px bg-[var(--panel-border)]/60 my-5 sm:my-7`}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-1`,children:[(0,q.jsx)(`p`,{className:`text-[11px] font-bold uppercase tracking-[0.16em] text-foreground/40`,children:c.length===1?`Book a time`:`Pick what to book`}),c.length>1&&(0,q.jsxs)(`span`,{className:`text-[11px] font-semibold text-foreground/35 tabular-nums`,children:[c.length,` meetings`]})]}),c.map(e=>(0,q.jsx)(la,{schedule:e,price:Ji(l.get(e.paymentId)||null)},e.id))]})]})}function fa({children:e,className:t,variant:n=`primary`,pendingLabel:i=`Opening checkout…`,disabled:a=!1,...s}){let{loading:c,configured:l}=r.zn(),u=r.Rr(),{userRole:d}=r.It(),[f,p]=(0,K.useState)(!1),[m,h]=(0,K.useState)(null);return c?null:l?(0,q.jsxs)(`span`,{className:`inline-flex flex-col items-stretch gap-2`,children:[(0,q.jsx)(N.t,{variant:n,className:t,onClick:async()=>{if(f||a)return;if(p(!0),h(null),s.amount!=null&&!s.currency&&!u&&await r.Ir()){h(r.Pr),p(!1);return}let e=await r.In(s);e&&(h(e),p(!1))},disabled:f||a,children:f?i:e??`Pay`}),m&&(0,q.jsx)(`span`,{role:`alert`,className:`text-[13px] font-semibold text-red-400 leading-snug`,children:m})]}):o.wn(d)?(0,q.jsx)(`span`,{className:`text-[12.5px] font-medium text-foreground/50 leading-snug`,children:`Only admins see this: payments are not on yet, so this button is hidden. Connect Stripe and switch payments on at /payments and it appears here.`}):null}function pa(){let{id:e=``}=(0,X.useParams)(),{activeConfig:t}=i.N(),n=r.zn(),a=r.Rr(),s=a||`usd`,[c,l]=(0,K.useState)({loading:!0,product:null});(0,K.useEffect)(()=>{let t=!1;return(0,Y.getDoc)((0,Y.doc)(r.ui,r.Qn,e)).then(e=>{t||l({loading:!1,product:e.exists()?r.Dr(e.id,e.data()):null})}).catch(()=>{t||l({loading:!1,product:null})}),()=>{t=!0}},[e]);let u=c.product,d=u?.customPath.trim()||``;if(d)return(0,q.jsx)(X.Navigate,{to:d.startsWith(`/`)?d:`/${d}`,replace:!0});let f=u?r.gr(u).filter(e=>r.br(e.amount)):[],p=u?.name.trim()||f[0]?.name.trim()||`Pay`;return(0,q.jsx)(`main`,{className:`flex-1 w-full max-w-3xl mx-auto px-4 pt-2 pb-16 md:pt-4 z-10 flex flex-col`,children:(0,q.jsx)(r.rt.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.4},className:`w-full rounded-3xl glass-panel border border-[var(--panel-border)] p-5 sm:p-8 md:p-10 shadow-[0_8px_32px_rgba(0,0,0,0.08)]`,children:c.loading?(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-3 py-16 text-foreground/50`,children:[(0,q.jsx)(C.r,{className:`w-4 h-4 animate-spin text-accent`}),(0,q.jsx)(`span`,{className:`text-[13px] font-medium`,children:`Loading…`})]}):!u||u.kind!==`once`||!f.length?(0,q.jsxs)(`div`,{className:`flex flex-col items-center text-center py-8 gap-4`,children:[(0,q.jsx)(`div`,{className:`w-14 h-14 rounded-2xl glass-panel border border-[var(--panel-border)] flex items-center justify-center shadow-xl`,children:(0,q.jsx)(O.i,{className:`w-7 h-7 text-accent`})}),(0,q.jsx)(`h1`,{className:`text-2xl md:text-3xl font-bold text-foreground tracking-tight`,children:`This payment link is no longer open`}),(0,q.jsx)(`p`,{className:`text-[14px] text-foreground/60 max-w-md`,children:`Ask whoever sent it for a new one.`}),(0,q.jsx)(X.Link,{to:`/`,className:`text-[13px] font-bold text-accent hover:underline mt-2`,children:`Back to the site`})]}):(0,q.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[t?.appName&&(0,q.jsx)(`span`,{className:`text-[11px] font-bold uppercase tracking-[0.2em] text-foreground/40`,children:t.appName}),(0,q.jsx)(`h1`,{className:`text-2xl sm:text-3xl md:text-4xl font-bold text-foreground tracking-tight`,children:p}),u.description.trim()&&(0,q.jsx)(`p`,{className:`text-[14px] md:text-[15px] text-foreground/60 leading-relaxed mt-1 max-w-2xl whitespace-pre-line`,children:u.description.trim()})]}),!n.loading&&!n.configured&&(0,q.jsx)(`p`,{className:`text-[14px] font-medium text-foreground/60`,children:`Payments are not open right now — please try again later.`}),(0,q.jsx)(`div`,{className:`flex flex-col divide-y divide-[var(--panel-border)]/60 rounded-2xl border border-[var(--panel-border)]/60`,children:f.map((e,t)=>(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-4 py-3.5`,children:[(0,q.jsxs)(`div`,{className:`min-w-0 flex flex-col`,children:[(0,q.jsx)(`span`,{className:`text-[15px] font-semibold text-foreground truncate`,children:e.name.trim()||p}),(0,q.jsx)(`span`,{className:`text-[13px] font-medium text-foreground/50`,children:g.n(r.br(e.amount)||0,s)})]}),(0,q.jsxs)(fa,{amount:r.br(e.amount)||0,currency:a||void 0,productName:e.name.trim()||p,metadata:{productId:u.id,page:o.jt(u.id),emailReceipt:u.emailReceipt?`yes`:`no`,notifyOwner:u.notifyOwner?`yes`:`no`},successPath:`/payment-complete`,cancelPath:o.jt(u.id),className:`px-5 py-2.5 text-[14px] font-bold`,children:[`Pay `,g.n(r.br(e.amount)||0,s)]})]},t))})]})})})}var ma=`src/your-ai-workflow-firebase-os`;function ha(){let e=new Set;for(let[t,n]of i.x()){let r=n?.config?.route,i=typeof r==`string`&&r.trim()?r.startsWith(`/`)?r:`/`+r:`/`+t.toLowerCase();e.add(i)}return[...e].sort()}var ga=e=>(e||``).split(/[^a-zA-Z0-9]+/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(``);function _a(e){let t=e?.contentKey||e?.tabName||e?.pageName||e?.pageId||`Page`;return`${ma}/microcomponents/${ga(String(t))||`Page`}Content.tsx`}var va=`This is a repair, not a redesign: whatever you have already written for this page stays exactly as it is — the same sections, the same words, the same pictures with the same links, the same layout and styling. What is wrong is the wiring above, so change only that, and nothing about how the page looks or what it says.`;function ya(e,t){let n=t.replace(/^.*\//,``).replace(/\.tsx$/,``),r=n.replace(/Content$/,``).replace(/([a-z0-9])([A-Z])/g,`$1_$2`).toLowerCase();return[`My app has a page at ${e} and it is still empty after you said it was done. The ONLY thing that fills this page is one file: ${t}, with a default export, registered in ${ma}/microcomponents/registry.ts.`,`Check these in order and fix whatever is wrong, without asking me questions:`,`1. The file exists at exactly that path and name — not another folder, not another spelling. If you put it somewhere else, move it there.`,`2. It has a default export. A named-only export is silently ignored.`,`3. ${ma}/microcomponents/registry.ts contains these two lines: import ${n} from './${n}'; and registerMicrocomponent('${r}', ${n}); — registerMicrocomponent is imported there from 'your-ai-workflow-firebase-os'. Add them if they are missing, and never remove another page's lines.`,`4. You created nothing else for this page — no config file, no route, no page, and no edit to src/App.tsx or src/main.tsx. Undo any of those you made.`,va,`Then tell me, in one sentence, which of these was wrong.`].join(`
7
+ `)}function ba(e){return[`The page at ${e} shows "Page Not Found". The app only finds a page when its config file is picked up, so check these in order and fix whatever is wrong, without asking me questions.`,`1. The page's config file sits directly in ${ma}/configs/ and its name ends with Tab.config.ts (a page for signed-in users, my team or admins) or Page.config.ts (a page for anyone). Not in a subfolder, not any other name.`,`2. It exports one const whose name ends with Config, and its route is the single string '${e}'. A page has exactly one web address — remove any other addresses you registered for it.`,`3. ${ma}/configs/pagesRegistry.ts exists and src/main.tsx contains the line import './your-ai-workflow-firebase-os/configs/pagesRegistry'. If either is missing, run npm install so the package's postinstall script restores them.`,`4. Put src/App.tsx back to the version the package wrote: it only mounts <FirebaseOS />. Never add routes, a router or the customRoutes prop.`,`5. If the page is for my team, its config says pageType: 'internal'. Any form on it is a *Form.config.ts file shown through <ContactPopup formId="..." />, never a form you wrote by hand.`,va,`Then rebuild and tell me, in one sentence, which of these was wrong.`].join(`
8
+ `)}var xa={sides:!1,top:!1},Sa=4,Ca=8,wa=24,Ta=`button, input, select, textarea`,Ea=(e,t,n)=>{for(let r=e instanceof Element?e:e.parentElement;r&&r!==t;r=r.parentElement){if(r.getAttribute(`aria-hidden`)===`true`||getComputedStyle(r).position===`fixed`)return!1;let e=r.getBoundingClientRect();if(e.width>=1&&(e.left<n.left-1||e.right>n.right+1))return!1}return!0};function Da(e){let t={...xa},n=e.getBoundingClientRect();if(n.width<1)return t;let r=(r,i)=>{if(r.width<1||r.height<1||r.left<n.left-1||r.right>n.right+1)return;let a=r.left-n.left<Sa||n.right-r.right<Sa,o=r.top>=n.top-1&&r.top-n.top<Ca;!(a&&!t.sides)&&!(o&&!t.top)||Ea(i,e,n)&&(a&&(t.sides=!0),o&&(t.top=!0))},i=e.ownerDocument,a=i.createRange();if(typeof a.getBoundingClientRect==`function`){let n=i.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(let e=n.nextNode();e;e=n.nextNode())if(e.nodeValue?.trim()&&(a.selectNodeContents(e),r(a.getBoundingClientRect(),e),t.sides&&t.top))return t}for(let n of e.querySelectorAll(Ta))if(r(n.getBoundingClientRect(),n),t.sides&&t.top)return t;if(!t.top)for(let r of e.querySelectorAll(`img`)){let i=r.getBoundingClientRect();if(!(i.width<1||i.height<1)&&!(i.top<n.top-1||i.top-n.top>=wa)&&!(i.left<=n.left+1&&i.right>=n.right-1)&&!(!Ea(r,e,n)||Pa(r,e,n))){t.top=!0;break}}if(!t.sides)for(let r of e.querySelectorAll(`div, section, article, aside, ul, ol, li, a, label`)){if(!ka(r))continue;let i=r.getBoundingClientRect();if(!(i.width<1||i.height<1||i.width>=n.width-1&&!Oa(r))&&!(i.left<n.left-1||i.right>n.right+1)&&!(i.left-n.left>=Sa&&n.right-i.right>=Sa)&&Ea(r,e,n)){t.sides=!0;break}}return t}var Oa=e=>{let t=getComputedStyle(e),n=e.style;return(parseFloat(t.borderTopLeftRadius)||parseFloat(t.borderRadius)||parseFloat(n?.borderTopLeftRadius||n?.borderRadius||``)||0)>0},ka=e=>{let t=getComputedStyle(e);return(parseFloat(t.borderLeftWidth||t.borderWidth)||0)>0&&!Na(t.borderLeftColor||t.borderColor)?!0:Oa(e)&&!Na(t.backgroundColor)},Aa=28,ja=200,Ma=72,Na=e=>!e||e===`transparent`||/^rgba\([^)]*,\s*0\s*\)$/.test(e),Pa=(e,t,n)=>{let r=t.ownerDocument,i=[r.body,r.documentElement].map(e=>getComputedStyle(e).backgroundColor);for(let r=e instanceof Element?e:e.parentElement;r&&r!==t;r=r.parentElement){let e=r.getBoundingClientRect();if(e.left>n.left+1||e.right<n.right-1||e.height>=n.height*.9)continue;let t=getComputedStyle(r);if(t.backgroundImage&&t.backgroundImage!==`none`||!Na(t.backgroundColor)&&!i.includes(t.backgroundColor))return!0}return!1};function Fa(e){let t=e.getBoundingClientRect();if(t.width<1)return 0;let n=e.ownerDocument,r=n.createRange();if(typeof r.getBoundingClientRect!=`function`)return 0;let i=1/0,a=null,o=e=>e.width>=1&&e.height>=1&&e.left>=t.left-1&&e.right<=t.right+1&&e.top>=t.top-1&&e.top-t.top<ja,s=n.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(let n=s.nextNode();n;n=s.nextNode()){if(!n.nodeValue?.trim()||!n.parentElement)continue;r.selectNodeContents(n);let s=r.getBoundingClientRect();if(!(!o(s)||!Ea(n,e,t))&&(i=Math.min(i,s.top-t.top),!a)){let e=parseFloat(getComputedStyle(n.parentElement).fontSize)||0;e>=Aa&&(a={size:e,at:n})}}if(!a||Pa(a.at,e,t))return 0;for(let n of e.querySelectorAll(Ta)){let r=n.getBoundingClientRect();o(r)&&Ea(n,e,t)&&(i=Math.min(i,r.top-t.top))}let c=Math.min(Ma,Math.round(a.size));return Math.max(0,Math.round(c-Math.max(0,i)))}var Ia={...xa,room:0},La=[300,1e3,2500];function Ra(e,t){let[n,r]=(0,K.useState)({page:t,given:Ia});return(0,K.useEffect)(()=>{let n=e.current;if(!n||typeof window>`u`)return;let i=Ia,a=!1,o,s=()=>{let e=Da(n),o={sides:i.sides||e.sides,top:i.top||e.top,room:Math.max(i.room,Fa(n))};(o.sides!==i.sides||o.top!==i.top||o.room!==i.room)&&(i=o,r({page:t,given:i})),a&&i.sides&&i.top&&p()},c=()=>{clearTimeout(o),o=setTimeout(s,200)},l=requestAnimationFrame(s),u=La.map((e,t)=>setTimeout(()=>{a=t===La.length-1,s()},e)),d=new MutationObserver(c);d.observe(n,{childList:!0,subtree:!0});let f=typeof ResizeObserver>`u`?null:new ResizeObserver(c);f?.observe(n);function p(){cancelAnimationFrame(l),u.forEach(clearTimeout),clearTimeout(o),d.disconnect(),f?.disconnect()}return p},[e,t]),n.page===t?n.given:Ia}function za(e){let[t,n]=(0,K.useState)(null);return(0,K.useEffect)(()=>{if(e)return(0,Y.onSnapshot)((0,Y.collection)(r.ui,e),t=>{!t.metadata.fromCache&&!t.metadata.hasPendingWrites&&n({name:e,size:t.size})},()=>{})},[e]),t&&t.name===e?t.size:null}function Ba({job:e,kept:t}){let n=S.l(e,{records:za(e.from),copies:za(e.to),kept:t});return n?(0,q.jsx)(`aside`,{className:`w-full px-4 md:px-8 pb-6 text-xs text-foreground/60`,"aria-label":`What this page is shown from ${e.keeper.title}`,children:(0,q.jsxs)(`div`,{className:`max-w-3xl rounded-2xl border border-[var(--panel-border)] bg-[var(--panel-bg)] px-4 py-3 flex flex-col gap-1.5`,children:[(0,q.jsx)(`span`,{className:`uppercase tracking-[0.18em] text-foreground/40`,children:`Only your team sees this`}),(0,q.jsx)(`p`,{className:`leading-relaxed`,children:n})]})}):null}function Va({config:e}){let{userRole:t}=r.It();return o.Sn(t)?(0,q.jsx)(Ha,{config:e}):null}function Ha({config:e}){let t=re.u(),n=Ii();if(!t||!n)return null;let r=S.d(t,e);if(!r)return null;let i=S.c(S.u(t),r.id);return i.length?(0,q.jsx)(`div`,{className:`w-full mt-auto pt-6`,children:i.map(e=>(0,q.jsx)(Ba,{job:e,kept:!!n[e.from]},`${e.from}${e.reader.id}`))}):null}function Ua({config:e,customContent:t}){let{config:a}=i.N(),{userRole:s}=r.It();pn(!!t);let l=(0,K.useRef)(null),u=Ra(l,t);return(0,K.useEffect)(()=>{document.title=e.pageName||e.pageTitle||a.appName||`Your AI Firebase`},[e.pageName,e.pageTitle,a.appName]),t?(0,q.jsx)(c.p,{value:{prefix:`pub_`},children:(0,q.jsxs)(`main`,{ref:l,className:r.et(`fbos-content-slot fbos-page-canvas flex-1 w-full z-10 flex flex-col relative`,u.sides&&`px-4 md:px-8`,u.top&&`pt-6 md:pt-10`),style:u.room?{paddingTop:u.room}:void 0,"data-gutter-given":[u.sides&&`sides`,u.top&&`top`,u.room&&`title`].filter(Boolean).join(` `)||void 0,children:[(0,q.jsx)(j.p,{size:`part`,children:(0,q.jsx)(t,{config:e})}),(0,q.jsx)(Va,{config:e})]})}):(0,q.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col relative min-h-screen`,children:[(0,q.jsx)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-4 md:mb-6 min-w-0`,children:(0,q.jsx)(n.t,{children:e.pageTitle||e.pageName||`New Page`})}),(0,q.jsx)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`glass-panel border border-[var(--panel-border)] rounded-3xl shadow-2xl relative flex flex-col flex-1 bg-background/50 h-full min-h-[400px]`,children:e.form?(0,q.jsx)(`div`,{className:`fbos-content-slot flex-1 flex flex-col items-center justify-start p-4 md:p-8`,children:(0,q.jsx)(j.p,{size:`part`,children:(0,q.jsx)(g.t,{isInline:!0,formId:e.form})})}):(0,q.jsxs)(`div`,{className:`flex-1 flex flex-col items-center justify-center m-4 md:m-8 gap-6`,children:[(0,q.jsxs)(`div`,{className:`w-full glass-panel border border-[var(--panel-border)]/50 border-dashed rounded-2xl p-8 py-16 text-center opacity-70`,children:[(0,q.jsx)(`p`,{className:`text-[15px] font-bold mb-1.5 text-foreground/70`,children:`This page is empty`}),(0,q.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/50 max-w-sm leading-relaxed mx-auto`,children:`Open the Pages screen, say what you would like on it, and copy the sentence there into your assistant's chat.`})]}),o.wn(s)&&(0,q.jsx)(`div`,{className:`w-full max-w-lg`,children:(0,q.jsx)(n.o,{compact:!0,title:`Already asked, and it is still empty? Paste this`,prompt:ya(e.route||`/`,_a(e))})})]})})]})}var Wa=(...e)=>{for(let t of e)if(t&&typeof t==`object`&&!Array.isArray(t))return t;return null};function Ga(e,t){let n=Wa(e,t);if(!n)throw Error(`saveRecord needs the record to save — actions.saveRecord({ name: …, price: … }). The collection is the page’s own and is never passed.`);return n}function Ka(e,t,n){let r=Wa(t,n);if(!r)throw Error(`updateRecord needs the record’s id and the change — actions.updateRecord(id, { stock: 4 }). The collection is the page’s own and is never passed.`);return{id:String((r===n?t:e)??``),data:r}}function qa(e,t){return String((typeof t==`string`&&t?t:e)??``)}function Ja(e){return(e||[]).map(e=>{let t=e.data()||{};return{...t,createdAt:t.createdAt?.toMillis?t.createdAt.toMillis():t.createdAt,id:e.id}})}function Ya(e){if(!e||!(`id`in e))return e;let{id:t,...n}=e;return n}function Xa(e){let t=typeof e?.sourceId==`string`?e.sourceId.trim():``;return t?`from_${t.replace(/[^A-Za-z0-9_-]/g,`_`).slice(0,200)}`:null}var Za=e=>({creatorName:e?.displayName||e?.email?.split(`@`)[0]||``,creatorAvatar:e?.photoURL||``}),Qa=e=>{let{creatorName:t,creatorAvatar:n}=Za(e);return{editedUid:e?.uid||``,editedName:t,editedAvatar:n,editedAt:Date.now()}},$a=(e,t)=>{if(e?.creatorName)return{name:e.creatorName,avatar:e.creatorAvatar||``};if(e?.uid&&t?.uid&&e.uid===t.uid){let e=Za(t);return e.creatorName?{name:e.creatorName,avatar:e.creatorAvatar}:null}return null},eo=(e,t)=>`${e}|${t}`,to=e=>Object.fromEntries(e.map(e=>[eo(e.record,e.variant),e.since])),no=e=>typeof e==`number`&&Number.isFinite(e),ro=(e,t)=>t&&Array.isArray(e?.variants)&&e.variants.find(e=>e&&String(e.id??``)===String(t))||null;function io(e){let t=[];for(let n of e)if(!(!n||!n.id)){no(n.stock)&&no(n.stockSetAt)&&t.push({record:String(n.id),variant:``,since:n.stockSetAt});for(let e of Array.isArray(n.variants)?n.variants:[]){let r=String(e?.id??``);r&&no(e?.stock)&&no(e?.stockSetAt)&&t.push({record:String(n.id),variant:r,since:e.stockSetAt})}}return t.sort((e,t)=>(e.record+`|`+e.variant).localeCompare(t.record+`|`+t.variant))}function ao(e,t,n,r){if(!t)return null;let i=ro(t,n),a=i?i.stock:n?void 0:t.stock;return no(a)?Math.max(0,a-oo(e,t,n,r)):null}function oo(e,t,n,r){if(!t?.id)return 0;let i=ro(t,n),a=i?i.stockSetAt:n?void 0:t.stockSetAt;if(!no(a))return 0;let o=r?.[eo(String(t.id),i?String(i.id):``)];if(r&&o!==a)return 0;let s=e[String(t.id)]?.[i?String(i.id):``];return no(s)&&s>0?s:0}function so(e,t,n=Date.now()){if(!e||typeof e!=`object`)return e;let r={...e};if(no(e.stock)&&(r.stockSetAt=!t||t.stock!==e.stock||!no(t.stockSetAt)?n:t.stockSetAt),Array.isArray(e.variants)){let i=Array.isArray(t?.variants)?t.variants:[];r.variants=e.variants.map(e=>{if(!e||typeof e!=`object`||!no(e.stock))return e;let t=i.find(t=>t&&String(t.id??``)===String(e.id??``));return!t||t.stock!==e.stock||!no(t.stockSetAt)?{...e,stockSetAt:n}:no(e.stockSetAt)?e:{...e,stockSetAt:t.stockSetAt}})}return r}var co=60*1e3,lo=`What is left in stock could not be checked just now — the counts shown are as last set.`,uo={fetch:(e,t)=>fetch(e,t)};async function fo(e){if(!e.length)return{sold:{},error:``,partial:!1};try{let t=await uo.fetch(`/api/payments/sold`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({wants:e})});if(!t.ok)return{sold:{},error:lo,partial:!1};let n=await t.json();return{sold:n&&typeof n.sold==`object`&&n.sold?n.sold:{},error:``,partial:n?.partial===!0}}catch{return{sold:{},error:lo,partial:!1}}}function po(e){let t=(0,K.useMemo)(()=>io(Array.isArray(e)?e:[]),[e]),n=(0,K.useMemo)(()=>JSON.stringify(t),[t]),[r,i]=(0,K.useState)({sold:{},for:{}}),[a,o]=(0,K.useState)(!1),[s,c]=(0,K.useState)(!1),l=t.length>0&&!s,[u,d]=(0,K.useState)(``),[f,p]=(0,K.useState)(0),m=(0,K.useRef)(t);return m.current=t,(0,K.useEffect)(()=>{if(!t.length)return;let e=!0,n=async()=>{let t=m.current,n=await fo(t);e&&(n.error||(i({sold:n.sold,for:to(t)}),o(n.partial),p(Date.now())),d(n.error),c(!0))};n();let r=setInterval(()=>{document.visibilityState!==`hidden`&&n()},co),a=()=>{document.visibilityState===`visible`&&n()};return document.addEventListener(`visibilitychange`,a),()=>{e=!1,clearInterval(r),document.removeEventListener(`visibilitychange`,a)}},[n]),(0,K.useMemo)(()=>({loading:l,error:u,asOf:f,partial:a,left:(e,t)=>ao(r.sold,e,t,r.for),sold:(e,t)=>oo(r.sold,e,t,r.for)}),[r,l,u,f,a])}function mo({config:e,customContent:t}){let{user:a,userRole:s}=r.It(),{config:l}=i.N(),[u,d]=(0,K.useState)([]),[f,p]=(0,K.useState)(!0),[m,h]=(0,K.useState)(!1),[g,_]=(0,K.useState)(``),[y,b]=(0,K.useState)(``),[x,w]=(0,K.useState)(!1),[E,D]=(0,K.useState)(``),[A,M]=(0,K.useState)(null),P=(0,K.useRef)(null),[F,I]=(0,K.useState)(null),[L,te]=(0,K.useState)(null),R=e=>{if(te(e),e){let t=e.fileType||``;V(t.startsWith(`image/`)||t.startsWith(`video/`)||t===`application/pdf`)}},z=L,[B,V]=(0,K.useState)(!0),[H,oe]=(0,K.useState)(!1),[U,W]=(0,K.useState)(null),[G,se]=(0,K.useState)(``),[J,ce]=(0,K.useState)(``),[X,ue]=(0,K.useState)([]),de=(0,K.useRef)(null),fe=re.o(e,`user_page`),pe=o.Mn({...e,pageType:`user`}),me=!pe.startsWith(`user_`),he=c.c(pe),Z=he?re.t(e,pe):`${pe}${fe}_records`,ge=c.f(),_e=c.o({on:!me&&!he}),ve=_e.uid||a?.uid||``,ye=c.F(Z),be=he?ye.records:u,Q=he?ye.loading:f,xe=e=>he?c.C(e,ge):!0,Se=s===`admin`,Ce=e=>xe(e)&&ae.s(e,s),we=(0,K.useRef)(!1);(0,K.useEffect)(()=>{!Se||Q||we.current||!be.length||(we.current=!0,ae.r(Z,be,e,!0).catch(e=>console.warn(`Could not catch the delete lock up:`,e)).finally(()=>{we.current=!1}))},[Se,Q,be,e?.deleteBy,Z]);let Te=_e.everyone?`${a?.uid}|everyone`:_e.uid||a?.uid||``,Ee=(0,K.useRef)(Te),De=e=>c.d(pe,Z,e),[Oe,ke]=(0,K.useState)(()=>he?c.u(Z):``),Ae=()=>ke(c.u(Z));(0,K.useEffect)(()=>{document.title=e.tabTitle||e.tabName||l.appName||`Your AI Firebase`},[e.tabTitle,e.tabName,l.appName]),(0,K.useEffect)(()=>{if(!a||he)return;try{let e=S.o(Z,Te);e?(d(e),p(!1)):(d(e=>e.length?[]:e),p(!0)),Ee.current=Te}catch{}let e=e=>Ja(e),t=(0,Y.onSnapshot)(me||_e.everyone?(0,Y.query)((0,Y.collection)(r.ui,Z),(0,Y.orderBy)(`createdAt`,`desc`),(0,Y.limit)(150)):(0,Y.query)((0,Y.collection)(r.ui,Z),(0,Y.where)(`uid`,`==`,_e.uid||a.uid)),t=>{let n=e(t.docs);n.sort((e,t)=>(t.createdAt||0)-(e.createdAt||0)),d(n),p(!1),Ee.current=Te,S.s(Z,Te,n)},e=>{console.warn(`${Z}: this account cannot read its records here (${e?.code||`permission-denied`}). Signed-in pages need a verified email address; the records themselves are only ever the signer's own.`),d(e=>e.length?[]:e),p(!1)});return()=>t()},[a,Z,me,he,_e.uid,_e.everyone,Te]),(0,K.useEffect)(()=>{!f&&a&&!he&&Ee.current===Te&&S.s(Z,Te,u)},[u,f,Z,a,he,Te]);let je=async e=>be.some(t=>t.id===e)||await(0,Y.getDoc)((0,Y.doc)(r.ui,Z,e)).then(e=>e.exists()).catch(()=>!1),Me=async(t,n)=>{let i={uid:ve,recordType:`record`,...ae.o(e),...t};if(!he){let e=Xa(t),n=e?(0,Y.doc)(r.ui,Z,e):(0,Y.doc)((0,Y.collection)(r.ui,Z)),a={...i,createdAt:(0,Y.serverTimestamp)()};return await(0,Y.setDoc)(n,a),S.p(Z,n.id,a),n.id}let o=n||Oe||c.u(Z);return await(0,Y.setDoc)((0,Y.doc)(r.ui,Z,o),c.l({...Za(a),...i},a.uid)),n||Ae(),o},Ne=async t=>{if(t.preventDefault(),!(!a||!g.trim())){w(!0);try{let t=await Me({name:g.trim(),note:y.trim()});he||d(n=>[{id:t,name:g.trim(),note:y.trim(),uid:a.uid,recordType:`record`,...ae.o(e),createdAt:Date.now()},...n]),_(``),b(``),h(!1)}catch(e){console.error(`Error saving record:`,e)}w(!1)}},Pe=c.b({upload:async(t,n)=>{if(!a)throw Error(`Sign in again before uploading.`);let r=await ee.g(t),i=he?P.current&&Oe||c.u(Z):``,o=`${De(i)}/${c.h(r.name)}`,s=await c.y(o,r,{customMetadata:{ownerId:a.uid},onProgress:n.progress,signal:n.signal});if(P.current)P.current(r,s,{uid:a.uid,storagePath:o,recordId:i});else{let t=await Me({name:r.name,note:`${r.type||`File`} · ${et(r.size)}`,recordType:`file`,fileName:r.name,fileType:r.type||`unknown`,fileSize:r.size,downloadURL:s,storagePath:o},i);he||d(n=>[{id:t,name:r.name,note:`${r.type||`File`} · ${et(r.size)}`,uid:a.uid,recordType:`file`,fileName:r.name,fileType:r.type,fileSize:r.size,downloadURL:s,storagePath:o,...ae.o(e),createdAt:Date.now()},...n])}},onFailed:e=>D(`${e.name}: ${e.error||`That upload did not work.`}`),onSettled:()=>Pe.clear()}),Fe=Pe.busy,Ie=e=>{let t=Array.from(e.target.files||[]);e.target.value=``,!(!t.length||!a)&&(D(``),Pe.add(t))},Le=async()=>{if(F){oe(!0);try{let e=be.find(e=>e.id===F);if(!ae.s(e,s)){O.n(`Nothing on this page can be deleted.`),I(null),oe(!1);return}await(0,Y.deleteDoc)((0,Y.doc)(r.ui,Z,F)),await ie.o(e,be,De(F)),he||d(e=>e.filter(e=>e.id!==F)),I(null)}catch(e){console.error(`Error deleting record:`,e)}oe(!1)}},[Re,ze]=(0,K.useState)(null),[Be,Ve]=(0,K.useState)(``),[He,Ue]=(0,K.useState)(!1),[We,Ge]=(0,K.useState)(null),Ke=(0,K.useRef)([]),qe=e=>{if(e.recordType===`file`){ze(e.id),Ve(e.name);return}W(e.id),se(e.name),ce(e.note||``);let t=[`name`,`note`,`uid`,`recordType`,`fileName`,`fileType`,`fileSize`,`downloadURL`,`storagePath`,`createdAt`],n=Object.entries(e).filter(([e])=>!t.includes(e)&&e!==`id`).map(([e,t])=>({key:e,value:String(t??``)}));ue(n),Ke.current=n.map(e=>e.key)},Je=async()=>{if(!Re||!Be.trim()){ze(null);return}let e=be.find(e=>e.id===Re);if(e&&e.name===Be.trim()){ze(null);return}Ue(!0);try{await(0,Y.updateDoc)((0,Y.doc)(r.ui,Z,Re),{name:Be.trim()}),d(e=>e.map(e=>e.id===Re?{...e,name:Be.trim()}:e))}catch(e){console.error(`Error renaming file:`,e)}Ue(!1),ze(null)},Ye=async()=>{await Xe(),W(null)},Xe=async()=>{if(!U||!G.trim())return;w(!0);let e={};X.forEach(({key:t,value:n})=>{t.trim()&&(e[t.trim()]=n)});let t=X.map(e=>e.key.trim()).filter(Boolean),n=Ke.current.filter(e=>!t.includes(e));n.forEach(t=>{e[t]=(0,Y.deleteField)()});try{await(0,Y.updateDoc)((0,Y.doc)(r.ui,Z,U),{name:G.trim(),note:J.trim(),...e}),d(e=>e.map(e=>{if(e.id!==U)return e;let t={...e,name:G.trim(),note:J.trim()};return n.forEach(e=>{delete t[e]}),X.forEach(({key:e,value:n})=>{e.trim()&&(t[e.trim()]=n)}),t})),Ke.current=t}catch(e){console.error(`Error saving record:`,e)}w(!1)},Ze=(e,t)=>e?e.startsWith(`image/`)?t?(0,q.jsx)(`div`,{className:`w-9 h-9 rounded-xl bg-cover bg-center shrink-0`,style:{backgroundImage:`url(${t})`}}):(0,q.jsx)(v.c,{className:`w-4 h-4`}):e.startsWith(`video/`)||e.startsWith(`audio/`)?(0,q.jsx)(c.R,{className:`w-4 h-4`}):e.includes(`pdf`)||e.includes(`word`)||e.includes(`text`)?(0,q.jsx)(v.u,{className:`w-4 h-4`}):e.includes(`zip`)||e.includes(`rar`)||e.includes(`archive`)?(0,q.jsx)(c.V,{className:`w-4 h-4`}):e.includes(`html`)||e.includes(`csv`)||e.includes(`json`)?(0,q.jsx)(c.B,{className:`w-4 h-4`}):(0,q.jsx)(v.l,{className:`w-4 h-4`}):(0,q.jsx)(v.u,{className:`w-4 h-4`}),Qe=e=>e?e.startsWith(`image/`)?`bg-emerald-500/10 text-emerald-500`:e.startsWith(`video/`)||e.startsWith(`audio/`)?`bg-accent/10 text-accent`:e.includes(`pdf`)||e.includes(`word`)||e.includes(`text`)?`bg-blue-500/10 text-blue-500`:e.includes(`zip`)||e.includes(`rar`)||e.includes(`archive`)?`bg-yellow-500/10 text-yellow-500`:e.includes(`html`)||e.includes(`csv`)||e.includes(`json`)?`bg-emerald-500/10 text-emerald-500`:`bg-foreground/5 text-foreground/40`:`bg-foreground/5 text-foreground/40`,$e=e=>{if(!e)return`FILE`;let t={"application/pdf":`PDF`,"application/zip":`ZIP`,"application/x-zip-compressed":`ZIP`,"application/x-rar-compressed":`RAR`,"application/x-7z-compressed":`7Z`,"application/json":`JSON`,"application/xml":`XML`,"application/javascript":`JS`,"application/typescript":`TS`,"application/msword":`DOC`,"application/vnd.openxmlformats-officedocument.wordprocessingml.document":`DOCX`,"application/vnd.ms-excel":`XLS`,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":`XLSX`,"application/vnd.ms-powerpoint":`PPT`,"application/vnd.openxmlformats-officedocument.presentationml.presentation":`PPTX`,"application/rtf":`RTF`,"application/x-tar":`TAR`,"application/gzip":`GZ`,"text/plain":`TXT`,"text/html":`HTML`,"text/css":`CSS`,"text/csv":`CSV`,"text/markdown":`MD`},n=e.toLowerCase();if(t[n])return t[n];let r=n.split(`/`);return r[r.length-1].replace(/^x-/,``).replace(/^vnd\..*\./,``).toUpperCase().slice(0,10)},et=e=>{if(!e)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**+r).toFixed(2))+` `+n[r]},tt=e=>{if(!e)return``;let t=e.toMillis?e.toMillis():e;return new Date(t).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})},nt=n.p(e.buttonStorageIcon)||gt,rt=e.buttonStyle!==`secondary`,it=e.buttonStorageStyle===`primary`;return(0,q.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,q.jsx)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-6 flex items-center justify-between`,children:(0,q.jsxs)(`div`,{children:[(0,q.jsx)(n.t,{children:e.tabTitle||e.tabName||`User Page`}),e.route&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,q.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),e.route]})]})}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 pb-16`,children:[(0,q.jsx)(i.t,{}),(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},className:t?`flex flex-col flex-1 relative`:`flex flex-col glass-panel border border-[var(--panel-border)] rounded-3xl overflow-hidden flex-1 shadow-2xl bg-background`,children:[(0,q.jsx)(`input`,{type:`file`,multiple:!0,ref:de,onChange:Ie,className:`hidden`}),!t&&(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 sm:gap-4 p-4 sm:p-6 md:px-8 md:py-6 border-b border-[var(--panel-border)]/50 bg-background/50 shrink-0`,children:[(0,q.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,q.jsx)(`h2`,{className:`text-xl font-bold text-foreground tracking-tight truncate`,children:e.tabTitle||e.tabName||`Dashboard`}),(0,q.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/50 mt-1`,children:Q?`Loading…`:`${be.length} ${be.length===1?`item`:`items`}`}),(E||he&&ye.error)&&(0,q.jsx)(`p`,{className:`text-[12px] font-semibold text-red-500 mt-1 truncate`,role:`alert`,children:E||ye.error}),_e.someoneElse&&e.storage!==!1&&(0,q.jsx)(`p`,{className:`text-[12px] font-medium text-foreground/50 mt-1 max-sm:hidden`,children:`You are looking at somebody else’s page. Anything you add here is theirs, but a file would stay yours — so uploads are off until you switch back to your own.`})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,q.jsx)(c.a,{viewing:_e}),e.storage!==!1&&!_e.someoneElse&&(0,q.jsx)(q.Fragment,{children:(0,q.jsxs)(r.rt.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>de.current?.click(),title:Fe?Pe.done?`${Pe.done} of ${Pe.total} uploaded…`:`Uploading ${Pe.total===1?`your file`:`${Pe.total} files`}…`:e.buttonStorageText||`Upload files`,className:`h-10 flex items-center justify-center gap-2 rounded-xl transition-all duration-300 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed ${e.buttonStorageText?`px-4`:`w-10`} ${it?`btn-primary`:`btn-secondary`}`,children:[Fe?(0,q.jsx)(C.r,{className:`w-4 h-4 animate-spin`}):(0,q.jsx)(nt,{className:`w-4 h-4`}),e.buttonStorageText&&(0,q.jsx)(`span`,{className:`text-[13px] font-bold`,children:e.buttonStorageText})]})}),e.showButton!==!1&&(0,q.jsx)(r.rt.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>h(!0),title:`Add New`,className:`h-10 flex items-center justify-center gap-2 rounded-xl transition-all duration-300 cursor-pointer ${e.buttonText&&e.buttonText!==`+`?`px-5`:`w-10`} ${rt?`btn-primary`:`btn-secondary`}`,children:e.buttonText===`+`||!e.buttonText?(0,q.jsx)(T.t,{className:`w-4 h-4`}):(0,q.jsx)(`span`,{className:`text-[13px] font-bold`,children:e.buttonText})})]})]}),(0,q.jsxs)(`div`,{className:t?`flex-1 flex flex-col relative min-h-[400px]`:`p-6 md:p-8 flex-1 overflow-y-auto relative min-h-[400px]`,children:[Q&&(0,q.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-background/50 backdrop-blur-sm`,children:(0,q.jsx)(C.r,{className:`w-8 h-8 text-accent animate-spin`})}),t?(0,q.jsx)(c.p,{value:{prefix:pe,collection:he?Z:``,recordId:he?U||Oe:``},children:(0,q.jsx)(`div`,{className:`fbos-content-slot fbos-tab-fill`,children:(0,q.jsx)(j.p,{size:`part`,children:(0,q.jsx)(t,{config:e,actions:{records:be,loading:Q,error:he?ye.error:``,collection:Z,user:a,...c.s(Z,ge,he,Oe),saveRecord:async(t,n)=>{let r=Ya(Ga(t,n)),i=he?null:Xa(r);if(i&&await je(i))return i;let a=await Me(so(r));return he||d(t=>[{uid:ve,recordType:`record`,...ae.o(e),createdAt:Date.now(),...r,id:a},...t.filter(e=>e.id!==a)]),a},updateRecord:async(e,t,n)=>{let{id:i,data:o}=Ka(e,t,n),s=Ya(o),c={...Qa(a),...so(s,be.find(e=>e.id===i))};he||d(e=>e.map(e=>e.id===i?{...e,...c}:e)),await(0,Y.updateDoc)((0,Y.doc)(r.ui,Z,i),c);let l=be.find(e=>e.id===i);l&&S.p(Z,i,{...l,...c})},deleteRecord:async(e,t)=>{let n=qa(e,t),i=be.find(e=>e.id===n);if(!ae.s(i,s)){O.n(`Nothing on this page can be deleted.`);return}await(0,Y.deleteDoc)((0,Y.doc)(r.ui,Z,n)),S.m(Z,n),await ie.o(i,be,De(n))},startEdit:e=>qe(e),confirmDelete:e=>I(e),uploadFile:()=>{_e.someoneElse||de.current?.click()},openAddForm:()=>h(!0),setAddForm:e=>M(()=>e),setFileHandler:e=>{P.current=e}}})})})}):(0,q.jsxs)(q.Fragment,{children:[!Q&&be.length===0&&(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`flex-1 flex flex-col items-center justify-center border border-[var(--panel-border)]/50 border-dashed rounded-2xl p-8 py-20 text-center min-h-[350px]`,children:[(0,q.jsx)(`div`,{className:`w-16 h-16 rounded-2xl bg-accent/5 border border-accent/10 flex items-center justify-center mb-5`,children:(0,q.jsx)(T.t,{className:`w-6 h-6 text-accent/40`})}),(0,q.jsx)(`p`,{className:`text-[15px] font-bold mb-1.5 text-foreground/50`,children:`No items yet`}),(0,q.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/35 max-w-xs leading-relaxed`,children:`Use the buttons above to add records or upload files to get started`})]}),!Q&&be.length>0&&(0,q.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:(0,q.jsx)(r.it,{children:be.map((e,t)=>{let n=U===e.id,i=xe(e),o=he?$a(e,a):null;return(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,scale:.95},transition:{delay:t*.03,duration:.25},onClick:()=>i&&qe(e),className:`group flex flex-col bg-background border rounded-2xl p-5 transition-all relative ${i?`cursor-pointer`:``} ${n?`border-accent/40 shadow-lg ring-1 ring-accent/20`:`border-[var(--panel-border)] hover:border-accent/30 hover:shadow-lg`}`,children:[(0,q.jsxs)(`div`,{className:`absolute top-3 right-3 flex items-center gap-0.5 opacity-100 md:opacity-0 md:group-hover:opacity-100 transition-all z-10`,children:[e.recordType===`file`&&e.downloadURL&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{onClick:t=>{t.stopPropagation(),navigator.clipboard.writeText(e.downloadURL),Ge(e.id),setTimeout(()=>Ge(null),2e3)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-emerald-500 hover:bg-emerald-500/10 transition-all cursor-pointer`,title:`Copy Link`,children:We===e.id?(0,q.jsx)(r.jt,{className:`w-3.5 h-3.5 text-emerald-500`}):(0,q.jsx)(c.z,{className:`w-3.5 h-3.5`})}),(0,q.jsx)(`a`,{href:e.downloadURL,target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),className:`p-1.5 rounded-lg text-foreground/25 hover:text-blue-500 hover:bg-blue-500/10 transition-all`,title:`Download`,children:(0,q.jsx)(v.d,{className:`w-3.5 h-3.5`})})]}),i&&(0,q.jsx)(`button`,{onClick:t=>{t.stopPropagation(),qe(e)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-accent hover:bg-accent/10 transition-all cursor-pointer`,title:`Edit`,children:(0,q.jsx)(v.s,{className:`w-3.5 h-3.5`})}),i&&Ce(e)&&(0,q.jsx)(`button`,{onClick:t=>{t.stopPropagation(),I(e.id)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-red-500 hover:bg-red-500/10 transition-all cursor-pointer`,title:`Delete`,children:(0,q.jsx)(k.t,{className:`w-3.5 h-3.5`})})]}),(0,q.jsxs)(`div`,{className:`flex items-start gap-3 mb-3`,children:[(0,q.jsx)(`div`,{onClick:t=>{t.stopPropagation(),e.recordType===`file`&&R(e)},className:`w-9 h-9 rounded-xl flex items-center justify-center shrink-0 ${e.recordType===`file`?`cursor-pointer hover:scale-105 transition-transform ${Qe(e.fileType)}`:`bg-accent/10 text-accent`}`,children:e.recordType===`file`?Ze(e.fileType,e.downloadURL):(0,q.jsx)(`div`,{className:`w-2 h-2 rounded-full bg-current`})}),(0,q.jsxs)(`div`,{className:`flex flex-col min-w-0 flex-1 relative`,children:[Re===e.id?(0,q.jsx)(`input`,{autoFocus:!0,type:`text`,value:Be,onChange:e=>Ve(e.target.value),onBlur:()=>Je(),onKeyDown:e=>{e.key===`Enter`&&Je(),e.key===`Escape`&&ze(null)},onClick:e=>e.stopPropagation(),className:`no-glow text-[14px] font-bold text-foreground bg-transparent border-b border-accent/30 outline-none pb-0.5 w-full pr-12`}):(0,q.jsx)(`span`,{className:`text-[14px] font-bold text-foreground truncate pr-12`,children:e.name}),e.recordType===`file`&&(0,q.jsx)(`div`,{className:`absolute inset-0 z-0 cursor-pointer`,onClick:()=>R(e)}),(0,q.jsx)(`span`,{className:`text-[11px] text-foreground/35 font-bold uppercase tracking-wider mt-0.5`,children:tt(e.createdAt)})]})]}),e.note&&(0,q.jsx)(`p`,{className:`text-[13px] text-foreground/55 font-medium leading-relaxed line-clamp-3 mb-1`,children:e.note}),Object.entries(e).filter(([e])=>![`name`,`note`,`uid`,`recordType`,`fileName`,`fileType`,`fileSize`,`downloadURL`,`createdAt`,`creatorName`,`creatorEmail`,`creatorAvatar`].includes(e)&&e!==`id`).slice(0,3).map(([e,t])=>(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 mt-1`,children:[(0,q.jsxs)(`span`,{className:`text-[10px] font-bold text-foreground/30 uppercase tracking-wider shrink-0`,children:[e,`:`]}),(0,q.jsx)(`span`,{className:`text-[11px] font-semibold text-foreground/60 truncate`,children:String(t)})]},e)),o&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2 mt-2 pt-2 border-t border-[var(--panel-border)]/30`,children:[o.avatar?(0,q.jsx)(r.k,{src:o.avatar,alt:``,className:`w-5 h-5 rounded-full shrink-0`}):(0,q.jsx)(`div`,{className:`w-5 h-5 rounded-full bg-accent/15 text-accent flex items-center justify-center text-[8px] font-extrabold shrink-0`,children:o.name.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)}),(0,q.jsx)(`span`,{className:`text-[11px] font-semibold text-foreground/40 truncate`,children:o.name})]})]},e.id)})})})]})]})]})]}),(0,q.jsx)(r.it,{children:m&&(0,q.jsxs)(`div`,{className:`fixed inset-0 z-[120] flex items-center justify-center p-4`,children:[(0,q.jsx)(r.rt.div,{onClick:()=>!x&&h(!1),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/60 backdrop-blur-sm cursor-pointer`}),(0,q.jsx)(r.rt.div,{initial:{opacity:0,scale:.97,y:6},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:6},transition:{duration:.2},className:`w-full max-w-[360px] border-[var(--panel-border)] border rounded-2xl relative z-10 glass-panel shadow-2xl bg-background overflow-hidden`,children:A?K.default.createElement(A,{onSave:async e=>{w(!0);try{await Me(e),h(!1)}catch(e){console.error(`Error saving record:`,e)}w(!1)},onClose:()=>!x&&h(!1),saving:x}):(0,q.jsxs)(`form`,{onSubmit:Ne,className:`p-5 flex flex-col gap-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between mb-1`,children:[(0,q.jsx)(`span`,{className:`text-[14px] font-bold text-foreground`,children:`New Record`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>!x&&h(!1),className:`text-foreground/30 hover:text-foreground/60 transition-colors cursor-pointer p-0.5`,children:(0,q.jsx)(C.t,{className:`w-4 h-4`})})]}),(0,q.jsx)(`input`,{autoFocus:!0,type:`text`,required:!0,value:g,onChange:e=>_(e.target.value),placeholder:`Name *`,disabled:x,className:`w-full bg-foreground/[0.03] border border-[var(--panel-border)] px-3.5 py-2.5 text-[13px] font-semibold text-foreground outline-none focus:border-accent transition-colors placeholder:text-foreground/30`,style:{borderRadius:`var(--input-radius, 0.75rem)`}}),(0,q.jsx)(r.$,{value:y,onChange:e=>b(e.target.value),placeholder:`Note (optional)`,disabled:x,rows:2,className:`w-full bg-foreground/[0.03] border border-[var(--panel-border)] px-3.5 py-2.5 text-[13px] font-medium text-foreground outline-none focus:border-accent transition-colors placeholder:text-foreground/30 resize-none`,style:{borderRadius:`var(--input-radius, 0.75rem)`}}),(0,q.jsx)(`div`,{className:`flex justify-end pt-1`,children:(0,q.jsx)(N.t,{type:`submit`,isLoading:x,className:`px-5 py-2 text-[12px] font-bold shadow-md`,children:x?`Saving…`:`Save`})})]})})]})}),typeof window<`u`&&(0,le.createPortal)((0,q.jsx)(r.it,{children:z&&(0,q.jsxs)(`div`,{className:`fixed inset-0 z-[9999] flex items-center justify-center p-4 md:p-12`,children:[(0,q.jsx)(r.rt.div,{onClick:()=>R(null),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/95 backdrop-blur-xl cursor-pointer`}),(0,q.jsx)(`button`,{onClick:()=>R(null),className:`absolute top-6 right-6 z-[160] w-12 h-12 bg-foreground/10 hover:bg-foreground/20 text-foreground rounded-full flex items-center justify-center backdrop-blur-md transition-all cursor-pointer outline-none`,children:(0,q.jsx)(C.t,{className:`w-5 h-5`})}),(0,q.jsxs)(r.rt.div,{initial:{opacity:0,scale:.95,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:10},className:`relative z-10 w-full max-w-6xl max-h-[85vh] flex flex-col pointer-events-auto shadow-2xl rounded-3xl overflow-hidden glass-panel border border-[var(--panel-border)]`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between p-6 bg-background/80 backdrop-blur-md border-b border-[var(--panel-border)] shrink-0 shadow-sm z-20`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col min-w-0 pr-4`,children:[(0,q.jsx)(`span`,{className:`text-xl font-bold text-foreground truncate`,children:z.fileName||z.name}),(0,q.jsxs)(`span`,{className:`text-[12px] text-foreground/70 font-bold uppercase tracking-wider mt-1`,children:[$e(z.fileType),` • `,et(z.fileSize||0)]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,q.jsx)(`button`,{onClick:()=>{navigator.clipboard.writeText(z.downloadURL),Ge(`preview`),setTimeout(()=>Ge(null),2e3)},className:`p-2.5 bg-foreground/5 hover:bg-foreground/10 text-foreground/70 transition-colors rounded-xl shadow-sm hover:text-emerald-500 cursor-pointer`,title:`Copy Link`,children:We===`preview`?(0,q.jsx)(r.jt,{className:`w-4 h-4 text-emerald-500`}):(0,q.jsx)(c.z,{className:`w-4 h-4`})}),(0,q.jsx)(`button`,{onClick:()=>{R(null),ze(z.id),Ve(z.name)},className:`p-2.5 bg-foreground/5 hover:bg-foreground/10 text-foreground/70 hover:text-accent transition-colors rounded-xl shadow-sm cursor-pointer`,title:`Rename`,children:(0,q.jsx)(v.s,{className:`w-4 h-4`})}),(0,q.jsx)(`button`,{onClick:()=>{R(null),I(z.id)},className:`p-2.5 bg-red-500/10 hover:bg-red-500/20 text-red-500 transition-colors rounded-xl shadow-sm cursor-pointer`,title:`Delete`,children:(0,q.jsx)(k.t,{className:`w-4 h-4`})}),(0,q.jsx)(`a`,{href:z.downloadURL,download:!0,target:`_blank`,rel:`noreferrer`,className:`p-2.5 btn-primary transition-colors rounded-xl shadow-lg ml-1`,title:`Download`,children:(0,q.jsx)(v.d,{className:`w-4 h-4`})})]})]}),(0,q.jsx)(`div`,{className:`flex-1 w-full relative bg-foreground/[0.02] min-h-[50vh] md:min-h-[600px]`,onClick:()=>R(null),children:(0,q.jsxs)(`div`,{className:`absolute inset-x-4 inset-y-8 md:inset-x-12 md:inset-y-12 flex items-center justify-center`,children:[B&&(0,q.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center rounded-lg z-50 pointer-events-none`,children:(0,q.jsx)(`div`,{className:`w-12 h-12 rounded-full bg-background/80 backdrop-blur-md shadow-xl flex items-center justify-center border border-[var(--panel-border)]/50`,children:(0,q.jsx)(C.r,{className:`w-5 h-5 text-accent animate-spin`})})}),z.fileType?.startsWith(`image/`)?(0,q.jsx)(`img`,{onLoad:()=>V(!1),onError:()=>V(!1),src:z.downloadURL,alt:z.fileName||z.name,className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-auto h-auto max-w-full max-h-full object-contain drop-shadow-[0_0_40px_rgba(0,0,0,0.5)] rounded-lg pointer-events-auto transition-opacity duration-500 ${B?`opacity-0`:`opacity-100`}`,onClick:e=>e.stopPropagation()}):z.fileType?.startsWith(`video/`)?(0,q.jsx)(`video`,{onLoadedData:()=>V(!1),onError:()=>V(!1),src:z.downloadURL,controls:!0,autoPlay:!0,className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-auto h-auto max-w-full max-h-full outline-none bg-black/40 rounded-lg pointer-events-auto drop-shadow-[0_0_40px_rgba(0,0,0,0.5)] transition-opacity duration-500 ${B?`opacity-0`:`opacity-100`}`,onClick:e=>e.stopPropagation()}):z.fileType===`application/pdf`?(0,q.jsx)(`iframe`,{onLoad:()=>V(!1),src:z.downloadURL,className:`w-full h-full border-none rounded-lg relative z-10 transition-opacity duration-500 ${B?`opacity-0`:`opacity-100`}`,style:{backgroundColor:`white`},title:`PDF Preview`,onClick:e=>e.stopPropagation()}):(0,q.jsxs)(`div`,{className:`w-full h-full flex flex-col items-center justify-center text-foreground/40 text-center relative z-10`,onClick:e=>{e.stopPropagation(),V(!1)},children:[(0,q.jsx)(v.u,{className:`w-24 h-24 mb-6 opacity-40 drop-shadow-sm`}),(0,q.jsx)(`span`,{className:`text-[20px] font-extrabold text-foreground`,children:`Preview Unavailable`}),(0,q.jsx)(`span`,{className:`text-[14px] mt-2 text-foreground/60 font-medium max-w-xs`,children:`This file format cannot be previewed. Please download it instead.`})]})]})})]})]})}),document.body),(0,q.jsx)(r.it,{children:U&&(0,q.jsxs)(`div`,{className:`fixed inset-0 z-[120] flex items-center justify-center p-4`,children:[(0,q.jsx)(r.rt.div,{onClick:()=>Ye(),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/60 backdrop-blur-sm cursor-pointer`}),(0,q.jsx)(r.rt.div,{initial:{opacity:0,scale:.97,y:6},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:6},transition:{duration:.2},className:`w-full max-w-[440px] border-[var(--panel-border)] border rounded-2xl relative z-10 glass-panel shadow-2xl bg-background overflow-hidden`,children:(0,q.jsxs)(`div`,{className:`p-5 flex flex-col gap-3 max-h-[80vh] overflow-y-auto`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between mb-2 mt-2 px-1`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`text-[14px] font-bold text-foreground`,children:`Edit Record`}),x&&(0,q.jsx)(C.r,{className:`w-3 h-3 animate-spin text-foreground/40`})]}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>Ye(),className:`text-foreground/30 hover:text-foreground/60 transition-colors cursor-pointer`,children:(0,q.jsx)(C.t,{className:`w-4 h-4`})})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-0 max-h-[70vh] overflow-y-auto no-scrollbar px-1`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,q.jsx)(`input`,{readOnly:!0,value:`NAME`,className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none pt-3 pb-0.5`}),(0,q.jsx)(`input`,{autoFocus:!0,required:!0,value:G,onChange:e=>se(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>Xe(),placeholder:`Name *`,className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pb-1 caret-foreground/50`}),(0,q.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`})]}),(0,q.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,q.jsx)(`input`,{readOnly:!0,value:`NOTE`,className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none pt-3 pb-0.5`}),(0,q.jsx)(r.$,{value:J,onChange:e=>ce(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),e.target.blur())},onBlur:()=>Xe(),placeholder:`Add a note...`,rows:1,className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pb-1 caret-foreground/50 resize-none overflow-hidden`}),(0,q.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`})]}),X.map((e,t)=>(0,q.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,q.jsx)(`input`,{placeholder:`FIELD NAME`,value:e.key,onChange:e=>{let n=[...X];n[t].key=e.target.value,ue(n)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>Xe(),className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none placeholder:text-foreground/15 pt-3 pb-0.5 caret-foreground/40`}),(0,q.jsx)(`input`,{placeholder:`Field value...`,value:e.value,onChange:e=>{let n=[...X];n[t].value=e.target.value,ue(n)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>Xe(),className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pt-1.5 pb-1 caret-foreground/50`}),(0,q.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>ue(X.filter((e,n)=>n!==t)),className:`absolute top-3 right-0 p-1 text-foreground/0 group-hover/field:text-foreground/20 hover:!text-red-400 transition-colors cursor-pointer`,children:(0,q.jsx)(C.t,{className:`w-3 h-3`})})]},t)),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>ue([...X,{key:``,value:``}]),className:`flex items-center gap-1.5 text-[11px] font-medium text-foreground/25 hover:text-foreground/40 transition-colors cursor-pointer mt-4 mb-4`,children:[(0,q.jsx)(T.t,{className:`w-3 h-3`}),` Add Field`]})]})]})})]})}),(0,q.jsx)(ne.t,{isOpen:!!F,onCancel:()=>I(null),onConfirm:Le,title:`Delete Record`,message:(0,q.jsxs)(q.Fragment,{children:[`Are you sure you want to delete `,(0,q.jsx)(`strong`,{className:`text-foreground font-extrabold break-words mx-1`,children:be.find(e=>e.id===F)?.name}),` This action cannot be undone.`]}),confirmText:`Delete`,isProcessing:H})]})}var ho=({record:e})=>{let t=e.creatorName||e.creatorEmail?.split(`@`)[0]||`Admin`,n=e.creatorEmail||``,i=e.creatorAvatar||``,a=t.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,q.jsxs)(`div`,{className:`flex items-center gap-2 mt-2 pt-2 border-t border-[var(--panel-border)]/30`,children:[i?(0,q.jsx)(r.k,{src:i,alt:``,className:`w-5 h-5 rounded-full shrink-0`}):(0,q.jsx)(`div`,{className:`w-5 h-5 rounded-full bg-accent/15 text-accent flex items-center justify-center text-[8px] font-extrabold shrink-0`,children:a}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`text-[11px] font-semibold text-foreground/40 truncate`,children:t}),n&&(0,q.jsxs)(`span`,{className:`text-[10px] text-foreground/25 truncate`,children:[`· `,n]})]})]})};function go({config:e,customContent:t}){let{user:a}=r.It(),{config:o}=i.N(),[s,l]=(0,K.useState)([]),[u,d]=(0,K.useState)(!0),[f,p]=(0,K.useState)(!1),[m,h]=(0,K.useState)(``),[g,_]=(0,K.useState)(``),[y,b]=(0,K.useState)(!1),[x,w]=(0,K.useState)(``),[E,D]=(0,K.useState)(null),O=(0,K.useRef)(null),[A,M]=(0,K.useState)(null),[P,F]=(0,K.useState)(null),I=e=>{if(F(e),e){let t=e.fileType||``;R(t.startsWith(`image/`)||t.startsWith(`video/`)||t===`application/pdf`)}},L=P,[te,R]=(0,K.useState)(!0),[z,B]=(0,K.useState)(!1),[V,H]=(0,K.useState)(null),[ae,oe]=(0,K.useState)(``),[U,W]=(0,K.useState)(``),[G,se]=(0,K.useState)([]),J=(0,K.useRef)(null),[ce,X]=(0,K.useState)(null),ue=(0,K.useRef)([]),de=`admin_${re.o(e,`admin_page`)}_records`,fe=ie.i(`admin_`);(0,K.useEffect)(()=>{document.title=e.tabTitle||e.tabName||o.appName||`Your AI Firebase`},[e.tabTitle,e.tabName,o.appName]);let pe=()=>({name:a.displayName||a.email?.split(`@`)[0]||`Admin`,email:a.email||``,avatar:a.photoURL||``}),me=a?.uid;(0,K.useEffect)(()=>{if(!me)return;try{let e=S.o(de,me);e?(l(e),d(!1)):d(!0)}catch{}let e=e=>Ja(e),t=(0,Y.onSnapshot)((0,Y.query)((0,Y.collection)(r.ui,de),(0,Y.orderBy)(`createdAt`,`desc`),(0,Y.limit)(150)),t=>{let n=e(t.docs);l(n),d(!1),S.s(de,me,n)},e=>{console.warn(`${de}: this account cannot read the records here (${e?.code||`permission-denied`}). An admins page needs a verified address and an account marked Admin on the Users screen.`),l(e=>e.length?[]:e),d(!1)});return()=>t()},[me,de]);let he=async e=>{if(e.preventDefault(),!(!a||!m.trim())){b(!0);try{let e=pe();await(0,Y.addDoc)((0,Y.collection)(r.ui,de),{name:m.trim(),note:g.trim(),uid:a.uid,recordType:`record`,creatorName:e.name,creatorEmail:e.email,creatorAvatar:e.avatar,createdAt:(0,Y.serverTimestamp)()}),h(``),_(``),p(!1)}catch(e){console.error(`Error saving admin record:`,e)}b(!1)}},Z=c.b({upload:async(e,t)=>{if(!a)throw Error(`Sign in again before uploading.`);let n=await ee.g(e),i=`${fe}/${c.h(n.name)}`,o=await c.y(i,n,{customMetadata:{ownerId:a.uid},onProgress:t.progress,signal:t.signal});if(O.current)O.current(n,o,{uid:a.uid,storagePath:i});else{let e=pe();await(0,Y.addDoc)((0,Y.collection)(r.ui,de),{name:n.name,note:`${n.type||`File`} · ${je(n.size)}`,uid:a.uid,recordType:`file`,fileName:n.name,fileType:n.type||`unknown`,fileSize:n.size,downloadURL:o,storagePath:i,creatorName:e.name,creatorEmail:e.email,creatorAvatar:e.avatar,createdAt:(0,Y.serverTimestamp)()})}},onFailed:e=>w(`${e.name}: ${e.error||`That upload did not work.`}`),onSettled:()=>Z.clear()}),ge=Z.busy,_e=e=>{let t=Array.from(e.target.files||[]);e.target.value=``,!(!t.length||!a)&&(w(``),Z.add(t))},ve=async()=>{if(A){B(!0);try{let e=s.find(e=>e.id===A);await(0,Y.deleteDoc)((0,Y.doc)(r.ui,de,A)),await ie.o(e,s,fe),M(null)}catch(e){console.error(`Error deleting admin record:`,e)}B(!1)}},[ye,be]=(0,K.useState)(null),[Q,xe]=(0,K.useState)(``),[Se,Ce]=(0,K.useState)(!1),we=e=>{if(e.recordType===`file`){be(e.id),xe(e.name);return}H(e.id),oe(e.name),W(e.note||``);let t=[`name`,`note`,`uid`,`recordType`,`fileName`,`fileType`,`fileSize`,`downloadURL`,`storagePath`,`createdAt`,`creatorName`,`creatorEmail`,`creatorAvatar`],n=Object.entries(e).filter(([e])=>!t.includes(e)&&e!==`id`).map(([e,t])=>({key:e,value:String(t??``)}));se(n),ue.current=n.map(e=>e.key)},Te=async()=>{if(!ye||!Q.trim()){be(null);return}let e=s.find(e=>e.id===ye);if(e&&e.name===Q.trim()){be(null);return}Ce(!0);try{await(0,Y.updateDoc)((0,Y.doc)(r.ui,de,ye),{name:Q.trim()}),l(e=>e.map(e=>e.id===ye?{...e,name:Q.trim()}:e))}catch(e){console.error(`Error renaming file:`,e)}Ce(!1),be(null)},Ee=async()=>{if(!V||!ae.trim()){H(null);return}b(!0);let e={};G.forEach(({key:t,value:n})=>{t.trim()&&(e[t.trim()]=n)});let t=G.map(e=>e.key.trim()).filter(Boolean),n=ue.current.filter(e=>!t.includes(e));n.forEach(t=>{e[t]=(0,Y.deleteField)()});try{await(0,Y.updateDoc)((0,Y.doc)(r.ui,de,V),{name:ae.trim(),note:U.trim(),...e}),l(e=>e.map(e=>{if(e.id!==V)return e;let t={...e,name:ae.trim(),note:U.trim()};return n.forEach(e=>{delete t[e]}),G.forEach(({key:e,value:n})=>{e.trim()&&(t[e.trim()]=n)}),t})),ue.current=t}catch(e){console.error(`Error updating record:`,e)}b(!1),H(null)},De=async()=>{if(!V||!ae.trim())return;let e={};G.forEach(({key:t,value:n})=>{t.trim()&&(e[t.trim()]=n)});let t=G.map(e=>e.key.trim()).filter(Boolean),n=ue.current.filter(e=>!t.includes(e));n.forEach(t=>{e[t]=(0,Y.deleteField)()});try{await(0,Y.updateDoc)((0,Y.doc)(r.ui,de,V),{name:ae.trim(),note:U.trim(),...e}),l(e=>e.map(e=>{if(e.id!==V)return e;let t={...e,name:ae.trim(),note:U.trim()};return n.forEach(e=>{delete t[e]}),G.forEach(({key:e,value:n})=>{e.trim()&&(t[e.trim()]=n)}),t})),ue.current=t}catch(e){console.error(`Error silently saving record:`,e)}},Oe=(e,t)=>e?e.startsWith(`image/`)?t?(0,q.jsx)(`div`,{className:`w-9 h-9 rounded-xl bg-cover bg-center shrink-0`,style:{backgroundImage:`url(${t})`}}):(0,q.jsx)(v.c,{className:`w-4 h-4`}):e.startsWith(`video/`)||e.startsWith(`audio/`)?(0,q.jsx)(c.R,{className:`w-4 h-4`}):e.includes(`pdf`)||e.includes(`word`)||e.includes(`text`)?(0,q.jsx)(v.u,{className:`w-4 h-4`}):e.includes(`zip`)||e.includes(`rar`)||e.includes(`archive`)?(0,q.jsx)(c.V,{className:`w-4 h-4`}):e.includes(`html`)||e.includes(`csv`)||e.includes(`json`)?(0,q.jsx)(c.B,{className:`w-4 h-4`}):(0,q.jsx)(v.l,{className:`w-4 h-4`}):(0,q.jsx)(v.u,{className:`w-4 h-4`}),ke=e=>e?e.startsWith(`image/`)?`bg-emerald-500/10 text-emerald-500`:e.startsWith(`video/`)||e.startsWith(`audio/`)?`bg-accent/10 text-accent`:e.includes(`pdf`)||e.includes(`word`)||e.includes(`text`)?`bg-blue-500/10 text-blue-500`:e.includes(`zip`)||e.includes(`rar`)||e.includes(`archive`)?`bg-yellow-500/10 text-yellow-500`:e.includes(`html`)||e.includes(`csv`)||e.includes(`json`)?`bg-emerald-500/10 text-emerald-500`:`bg-foreground/5 text-foreground/40`:`bg-foreground/5 text-foreground/40`,Ae=e=>{if(!e)return`FILE`;let t={"application/pdf":`PDF`,"application/zip":`ZIP`,"application/x-zip-compressed":`ZIP`,"application/x-rar-compressed":`RAR`,"application/x-7z-compressed":`7Z`,"application/json":`JSON`,"application/xml":`XML`,"application/javascript":`JS`,"application/typescript":`TS`,"application/msword":`DOC`,"application/vnd.openxmlformats-officedocument.wordprocessingml.document":`DOCX`,"application/vnd.ms-excel":`XLS`,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":`XLSX`,"application/vnd.ms-powerpoint":`PPT`,"application/vnd.openxmlformats-officedocument.presentationml.presentation":`PPTX`,"application/rtf":`RTF`,"application/x-tar":`TAR`,"application/gzip":`GZ`,"text/plain":`TXT`,"text/html":`HTML`,"text/css":`CSS`,"text/csv":`CSV`,"text/markdown":`MD`},n=e.toLowerCase();if(t[n])return t[n];let r=n.split(`/`);return r[r.length-1].replace(/^x-/,``).replace(/^vnd\..*\./,``).toUpperCase().slice(0,10)},je=e=>{if(!e)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**+r).toFixed(2))+` `+n[r]},Me=e=>{if(!e)return``;let t=e.toMillis?e.toMillis():e;return new Date(t).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})},Ne=n.p(e.buttonStorageIcon)||gt,Pe=e.buttonStyle!==`secondary`,Fe=e.buttonStorageStyle===`primary`,Ie=e=>e.uid===a?.uid;return(0,q.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,q.jsx)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-6 flex items-center justify-between`,children:(0,q.jsxs)(`div`,{children:[(0,q.jsx)(n.t,{children:e.tabTitle||e.tabName||`Admin Page`}),e.route&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,q.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),e.route]})]})}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 pb-16`,children:[(0,q.jsx)(i.t,{}),(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},className:t?`flex flex-col flex-1 relative`:`flex flex-col glass-panel border border-[var(--panel-border)] rounded-3xl overflow-hidden flex-1 shadow-2xl bg-background`,children:[(0,q.jsx)(`input`,{type:`file`,multiple:!0,ref:J,onChange:_e,className:`hidden`}),!t&&(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 sm:gap-4 p-4 sm:p-6 md:px-8 md:py-6 border-b border-[var(--panel-border)]/50 bg-background/50 shrink-0`,children:[(0,q.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,q.jsx)(`h2`,{className:`text-xl font-bold text-foreground tracking-tight truncate`,children:e.tabTitle||e.tabName||`Dashboard`}),(0,q.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/50 mt-1`,children:u?`Loading…`:`${s.length} ${s.length===1?`item`:`items`}`}),x&&(0,q.jsx)(`p`,{className:`text-[12px] font-semibold text-red-500 mt-1 truncate`,role:`alert`,children:x})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[e.storage!==!1&&(0,q.jsx)(q.Fragment,{children:(0,q.jsxs)(r.rt.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>J.current?.click(),title:ge?Z.done?`${Z.done} of ${Z.total} uploaded…`:`Uploading ${Z.total===1?`your file`:`${Z.total} files`}…`:e.buttonStorageText||`Upload files`,className:`h-10 flex items-center justify-center gap-2 rounded-xl transition-all duration-300 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed ${e.buttonStorageText?`px-4`:`w-10`} ${Fe?`btn-primary`:`btn-secondary`}`,children:[ge?(0,q.jsx)(C.r,{className:`w-4 h-4 animate-spin`}):(0,q.jsx)(Ne,{className:`w-4 h-4`}),e.buttonStorageText&&(0,q.jsx)(`span`,{className:`text-[13px] font-bold`,children:e.buttonStorageText})]})}),e.showButton!==!1&&(0,q.jsx)(r.rt.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>p(!0),title:`Add New`,className:`h-10 flex items-center justify-center gap-2 rounded-xl transition-all duration-300 cursor-pointer ${e.buttonText&&e.buttonText!==`+`?`px-5`:`w-10`} ${Pe?`btn-primary`:`btn-secondary`}`,children:e.buttonText===`+`||!e.buttonText?(0,q.jsx)(T.t,{className:`w-4 h-4`}):(0,q.jsx)(`span`,{className:`text-[13px] font-bold`,children:e.buttonText})})]})]}),(0,q.jsxs)(`div`,{className:t?`flex-1 flex flex-col relative min-h-[400px]`:`p-6 md:p-8 flex-1 overflow-y-auto relative min-h-[400px]`,children:[u&&(0,q.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-background/50 backdrop-blur-sm`,children:(0,q.jsx)(C.r,{className:`w-8 h-8 text-accent animate-spin`})}),t?(0,q.jsx)(c.p,{value:{prefix:`admin_`,collection:de},children:(0,q.jsx)(`div`,{className:`fbos-content-slot fbos-tab-fill`,children:(0,q.jsx)(j.p,{size:`part`,children:(0,q.jsx)(t,{config:e,actions:{records:s,loading:u,collection:de,user:a,saveRecord:async(e,t)=>{let n=so(Ya(Ga(e,t))),i=Xa(n);if(i&&(s.some(e=>e.id===i)||await(0,Y.getDoc)((0,Y.doc)(r.ui,de,i)).then(e=>e.exists()).catch(()=>!1)))return i;let o=i?(0,Y.doc)(r.ui,de,i):(0,Y.doc)((0,Y.collection)(r.ui,de)),c=pe(),u={uid:a.uid,recordType:`record`,creatorName:c.name,creatorEmail:c.email,creatorAvatar:c.avatar,createdAt:Date.now(),...n,id:o.id};l(e=>[u,...e.filter(e=>e.id!==u.id)]);let d={uid:a.uid,recordType:`record`,creatorName:c.name,creatorEmail:c.email,creatorAvatar:c.avatar,createdAt:(0,Y.serverTimestamp)(),...n};return await(0,Y.setDoc)(o,d),S.p(de,o.id,d),o.id},updateRecord:async(e,t,n)=>{let{id:i,data:o}=Ka(e,t,n),c=Ya(o),u={...Qa(a),...so(c,s.find(e=>e.id===i))};l(e=>e.map(e=>e.id===i?{...e,...u}:e)),await(0,Y.updateDoc)((0,Y.doc)(r.ui,de,i),u);let d=s.find(e=>e.id===i);d&&S.p(de,i,{...d,...u})},deleteRecord:async(e,t)=>{let n=qa(e,t),i=s.find(e=>e.id===n);await(0,Y.deleteDoc)((0,Y.doc)(r.ui,de,n)),S.m(de,n),await ie.o(i,s,fe)},startEdit:e=>we(e),confirmDelete:e=>M(e),uploadFile:()=>J.current?.click(),openAddForm:()=>p(!0),setAddForm:e=>D(()=>e),setFileHandler:e=>{O.current=e}}})})})}):(0,q.jsxs)(q.Fragment,{children:[!u&&s.length===0&&(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`flex-1 flex flex-col items-center justify-center border border-[var(--panel-border)]/50 border-dashed rounded-2xl p-8 py-20 text-center min-h-[350px]`,children:[(0,q.jsx)(`div`,{className:`w-16 h-16 rounded-2xl bg-accent/5 border border-accent/10 flex items-center justify-center mb-5`,children:(0,q.jsx)(T.t,{className:`w-6 h-6 text-accent/40`})}),(0,q.jsx)(`p`,{className:`text-[15px] font-bold mb-1.5 text-foreground/50`,children:`No items yet`}),(0,q.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/35 max-w-xs leading-relaxed`,children:`Use the buttons above to add records or upload files. All admins can view and contribute.`})]}),!u&&s.length>0&&(0,q.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:(0,q.jsx)(r.it,{children:s.map((e,t)=>{let n=V===e.id,i=Ie(e);return(0,q.jsxs)(r.rt.div,{initial:!1,animate:{opacity:1,y:0},exit:{opacity:0,scale:.95},onClick:()=>we(e),className:`group flex flex-col bg-background border rounded-2xl p-5 transition-all relative cursor-pointer ${n?`border-accent/40 shadow-lg ring-1 ring-accent/20`:`border-[var(--panel-border)] hover:border-accent/30 hover:shadow-lg`}`,children:[(0,q.jsxs)(`div`,{className:`absolute top-3 right-3 flex items-center gap-0.5 opacity-100 md:opacity-0 md:group-hover:opacity-100 transition-all z-10`,children:[e.recordType===`file`&&e.downloadURL&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{onClick:t=>{t.stopPropagation(),navigator.clipboard.writeText(e.downloadURL),X(e.id),setTimeout(()=>X(null),2e3)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-emerald-500 hover:bg-emerald-500/10 transition-all cursor-pointer`,title:`Copy Link`,children:ce===e.id?(0,q.jsx)(r.jt,{className:`w-3.5 h-3.5 text-emerald-500`}):(0,q.jsx)(c.z,{className:`w-3.5 h-3.5`})}),(0,q.jsx)(`a`,{href:e.downloadURL,target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),className:`p-1.5 rounded-lg text-foreground/25 hover:text-blue-500 hover:bg-blue-500/10 transition-all`,title:`Download`,children:(0,q.jsx)(v.d,{className:`w-3.5 h-3.5`})})]}),i&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{onClick:t=>{t.stopPropagation(),we(e)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-accent hover:bg-accent/10 transition-all cursor-pointer`,title:`Edit`,children:(0,q.jsx)(v.s,{className:`w-3.5 h-3.5`})}),(0,q.jsx)(`button`,{onClick:t=>{t.stopPropagation(),M(e.id)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-red-500 hover:bg-red-500/10 transition-all cursor-pointer`,title:`Delete`,children:(0,q.jsx)(k.t,{className:`w-3.5 h-3.5`})})]})]}),(0,q.jsxs)(`div`,{className:`flex items-start gap-3 mb-2`,children:[(0,q.jsx)(`div`,{onClick:t=>{t.stopPropagation(),e.recordType===`file`&&I(e)},className:`w-9 h-9 rounded-xl flex items-center justify-center shrink-0 ${e.recordType===`file`?`cursor-pointer hover:scale-105 transition-transform ${ke(e.fileType)}`:`bg-accent/10 text-accent`}`,children:e.recordType===`file`?Oe(e.fileType,e.downloadURL):(0,q.jsx)(`div`,{className:`w-2 h-2 rounded-full bg-current`})}),(0,q.jsxs)(`div`,{className:`flex flex-col min-w-0 flex-1 relative`,children:[ye===e.id?(0,q.jsx)(`input`,{autoFocus:!0,type:`text`,value:Q,onChange:e=>xe(e.target.value),onBlur:()=>Te(),onKeyDown:e=>{e.key===`Enter`&&Te(),e.key===`Escape`&&be(null)},onClick:e=>e.stopPropagation(),className:`no-glow text-[14px] font-bold text-foreground bg-transparent border-b border-accent/30 outline-none pb-0.5 w-full pr-12`}):(0,q.jsx)(`span`,{className:`text-[14px] font-bold text-foreground truncate pr-12`,children:e.name}),e.recordType===`file`&&(0,q.jsx)(`div`,{className:`absolute inset-0 z-0 cursor-pointer`,onClick:()=>I(e)}),(0,q.jsx)(`span`,{className:`text-[11px] text-foreground/35 font-bold uppercase tracking-wider mt-0.5`,children:Me(e.createdAt)})]})]}),e.note&&(0,q.jsx)(`p`,{className:`text-[13px] text-foreground/55 font-medium leading-relaxed line-clamp-3 mb-1`,children:e.note}),Object.entries(e).filter(([e])=>![`name`,`note`,`uid`,`recordType`,`fileName`,`fileType`,`fileSize`,`downloadURL`,`createdAt`,`creatorName`,`creatorEmail`,`creatorAvatar`].includes(e)&&e!==`id`).slice(0,3).map(([e,t])=>(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 mt-1`,children:[(0,q.jsxs)(`span`,{className:`text-[10px] font-bold text-foreground/30 uppercase tracking-wider shrink-0`,children:[e,`:`]}),(0,q.jsx)(`span`,{className:`text-[11px] font-semibold text-foreground/60 truncate`,children:String(t)})]},e)),(0,q.jsx)(ho,{record:e})]},e.id)})})})]})]})]})]}),(0,q.jsx)(r.it,{children:f&&(0,q.jsxs)(`div`,{className:`fixed inset-0 z-[120] flex items-center justify-center p-4`,children:[(0,q.jsx)(r.rt.div,{onClick:()=>!y&&p(!1),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/60 backdrop-blur-sm cursor-pointer`}),(0,q.jsx)(r.rt.div,{initial:{opacity:0,scale:.97,y:6},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:6},transition:{duration:.2},className:`w-full max-w-[360px] border-[var(--panel-border)] border rounded-2xl relative z-10 glass-panel shadow-2xl bg-background overflow-hidden`,children:E?K.default.createElement(E,{onSave:async e=>{b(!0);try{let t=pe();await(0,Y.addDoc)((0,Y.collection)(r.ui,de),{uid:a.uid,recordType:`record`,creatorName:t.name,creatorEmail:t.email,creatorAvatar:t.avatar,createdAt:(0,Y.serverTimestamp)(),...e}),p(!1)}catch(e){console.error(`Error saving record:`,e)}b(!1)},onClose:()=>!y&&p(!1),saving:y}):(0,q.jsxs)(`form`,{onSubmit:he,className:`p-5 flex flex-col gap-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between mb-1`,children:[(0,q.jsx)(`span`,{className:`text-[14px] font-bold text-foreground`,children:`New Record`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>!y&&p(!1),className:`text-foreground/30 hover:text-foreground/60 transition-colors cursor-pointer p-0.5`,children:(0,q.jsx)(C.t,{className:`w-4 h-4`})})]}),(0,q.jsx)(`input`,{autoFocus:!0,type:`text`,required:!0,value:m,onChange:e=>h(e.target.value),placeholder:`Name *`,disabled:y,className:`w-full bg-foreground/[0.03] border border-[var(--panel-border)] px-3.5 py-2.5 text-[13px] font-semibold text-foreground outline-none focus:border-accent transition-colors placeholder:text-foreground/30`,style:{borderRadius:`var(--input-radius, 0.75rem)`}}),(0,q.jsx)(r.$,{value:g,onChange:e=>_(e.target.value),placeholder:`Note (optional)`,disabled:y,rows:2,className:`w-full bg-foreground/[0.03] border border-[var(--panel-border)] px-3.5 py-2.5 text-[13px] font-medium text-foreground outline-none focus:border-accent transition-colors placeholder:text-foreground/30 resize-none`,style:{borderRadius:`var(--input-radius, 0.75rem)`}}),(0,q.jsx)(`div`,{className:`flex justify-end pt-1`,children:(0,q.jsx)(N.t,{type:`submit`,isLoading:y,className:`px-5 py-2 text-[12px] font-bold shadow-md`,children:y?`Saving…`:`Save`})})]})})]})}),typeof window<`u`&&(0,le.createPortal)((0,q.jsx)(r.it,{children:L&&(0,q.jsxs)(`div`,{className:`fixed inset-0 z-[9999] flex items-center justify-center p-4 md:p-12`,children:[(0,q.jsx)(r.rt.div,{onClick:()=>I(null),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/95 backdrop-blur-xl cursor-pointer`}),(0,q.jsx)(`button`,{onClick:()=>I(null),className:`absolute top-6 right-6 z-[160] w-12 h-12 bg-foreground/10 hover:bg-foreground/20 text-foreground rounded-full flex items-center justify-center backdrop-blur-md transition-all cursor-pointer outline-none`,children:(0,q.jsx)(C.t,{className:`w-5 h-5`})}),(0,q.jsxs)(r.rt.div,{initial:{opacity:0,scale:.95,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:10},className:`relative z-10 w-full max-w-6xl max-h-[85vh] flex flex-col pointer-events-auto shadow-2xl rounded-3xl overflow-hidden glass-panel border border-[var(--panel-border)]`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between p-6 bg-background/80 backdrop-blur-md border-b border-[var(--panel-border)] shrink-0 shadow-sm z-20`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col min-w-0 pr-4`,children:[(0,q.jsx)(`span`,{className:`text-xl font-bold text-foreground truncate`,children:L.fileName||L.name}),(0,q.jsxs)(`span`,{className:`text-[12px] text-foreground/70 font-bold uppercase tracking-wider mt-1`,children:[Ae(L.fileType),` • `,je(L.fileSize||0)]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,q.jsx)(`button`,{onClick:()=>{navigator.clipboard.writeText(L.downloadURL),X(`preview`),setTimeout(()=>X(null),2e3)},className:`p-2.5 bg-foreground/5 hover:bg-foreground/10 text-foreground/70 transition-colors rounded-xl shadow-sm hover:text-emerald-500 cursor-pointer`,title:`Copy Link`,children:ce===`preview`?(0,q.jsx)(r.jt,{className:`w-4 h-4 text-emerald-500`}):(0,q.jsx)(c.z,{className:`w-4 h-4`})}),(0,q.jsx)(`button`,{onClick:()=>{I(null),be(L.id),xe(L.name)},className:`p-2.5 bg-foreground/5 hover:bg-foreground/10 text-foreground/70 hover:text-accent transition-colors rounded-xl shadow-sm cursor-pointer`,title:`Rename`,children:(0,q.jsx)(v.s,{className:`w-4 h-4`})}),(0,q.jsx)(`button`,{onClick:()=>{I(null),M(L.id)},className:`p-2.5 bg-red-500/10 hover:bg-red-500/20 text-red-500 transition-colors rounded-xl shadow-sm cursor-pointer`,title:`Delete`,children:(0,q.jsx)(k.t,{className:`w-4 h-4`})}),(0,q.jsx)(`a`,{href:L.downloadURL,download:!0,target:`_blank`,rel:`noreferrer`,className:`p-2.5 btn-primary transition-colors rounded-xl shadow-lg ml-1`,title:`Download`,children:(0,q.jsx)(v.d,{className:`w-4 h-4`})})]})]}),(0,q.jsx)(`div`,{className:`flex-1 w-full relative bg-foreground/[0.02] min-h-[50vh] md:min-h-[600px]`,onClick:()=>I(null),children:(0,q.jsxs)(`div`,{className:`absolute inset-x-4 inset-y-8 md:inset-x-12 md:inset-y-12 flex items-center justify-center`,children:[te&&(0,q.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center rounded-lg z-50 pointer-events-none`,children:(0,q.jsx)(`div`,{className:`w-12 h-12 rounded-full bg-background/80 backdrop-blur-md shadow-xl flex items-center justify-center border border-[var(--panel-border)]/50`,children:(0,q.jsx)(C.r,{className:`w-5 h-5 text-accent animate-spin`})})}),L.fileType?.startsWith(`image/`)?(0,q.jsx)(`img`,{onLoad:()=>R(!1),onError:()=>R(!1),src:L.downloadURL,alt:L.fileName||L.name,className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-auto h-auto max-w-full max-h-full object-contain drop-shadow-[0_0_40px_rgba(0,0,0,0.5)] rounded-lg pointer-events-auto transition-opacity duration-500 ${te?`opacity-0`:`opacity-100`}`,onClick:e=>e.stopPropagation()}):L.fileType?.startsWith(`video/`)?(0,q.jsx)(`video`,{onLoadedData:()=>R(!1),onError:()=>R(!1),src:L.downloadURL,controls:!0,autoPlay:!0,className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-auto h-auto max-w-full max-h-full outline-none bg-black/40 rounded-lg pointer-events-auto drop-shadow-[0_0_40px_rgba(0,0,0,0.5)] transition-opacity duration-500 ${te?`opacity-0`:`opacity-100`}`,onClick:e=>e.stopPropagation()}):L.fileType===`application/pdf`?(0,q.jsx)(`iframe`,{onLoad:()=>R(!1),src:L.downloadURL,className:`w-full h-full border-none rounded-lg relative z-10 transition-opacity duration-500 ${te?`opacity-0`:`opacity-100`}`,style:{backgroundColor:`white`},title:`PDF Preview`,onClick:e=>e.stopPropagation()}):(0,q.jsxs)(`div`,{className:`w-full h-full flex flex-col items-center justify-center text-foreground/40 text-center relative z-10`,onClick:e=>{e.stopPropagation(),R(!1)},children:[(0,q.jsx)(v.u,{className:`w-24 h-24 mb-6 opacity-40 drop-shadow-sm`}),(0,q.jsx)(`span`,{className:`text-[20px] font-extrabold text-foreground`,children:`Preview Unavailable`}),(0,q.jsx)(`span`,{className:`text-[14px] mt-2 text-foreground/60 font-medium max-w-xs`,children:`This file format cannot be previewed. Please download it instead.`})]})]})})]})]})}),document.body),(0,q.jsx)(r.it,{children:V&&(0,q.jsxs)(`div`,{className:`fixed inset-0 z-[120] flex items-center justify-center p-4`,children:[(0,q.jsx)(r.rt.div,{onClick:()=>Ee(),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/60 backdrop-blur-sm cursor-pointer`}),(0,q.jsx)(r.rt.div,{initial:{opacity:0,scale:.97,y:6},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:6},transition:{duration:.2},className:`w-full max-w-[440px] border-[var(--panel-border)] border rounded-2xl relative z-10 glass-panel shadow-2xl bg-background overflow-hidden`,children:(0,q.jsxs)(`div`,{className:`p-5 flex flex-col gap-3 max-h-[80vh] overflow-y-auto`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between mb-2 mt-2 px-1`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`text-[14px] font-bold text-foreground`,children:`Edit Record`}),y&&(0,q.jsx)(C.r,{className:`w-3 h-3 animate-spin text-foreground/40`})]}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>Ee(),className:`text-foreground/30 hover:text-foreground/60 transition-colors cursor-pointer`,children:(0,q.jsx)(C.t,{className:`w-4 h-4`})})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-0 max-h-[70vh] overflow-y-auto no-scrollbar px-1`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,q.jsx)(`input`,{readOnly:!0,value:`NAME`,className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none pt-3 pb-0.5`}),(0,q.jsx)(`input`,{autoFocus:!0,required:!0,value:ae,onChange:e=>oe(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>De(),placeholder:`Name *`,className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pb-1 caret-foreground/50`}),(0,q.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`})]}),(0,q.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,q.jsx)(`input`,{readOnly:!0,value:`NOTE`,className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none pt-3 pb-0.5`}),(0,q.jsx)(r.$,{value:U,onChange:e=>W(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),e.target.blur())},onBlur:()=>De(),placeholder:`Add a note...`,rows:1,className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pb-1 caret-foreground/50 resize-none overflow-hidden`}),(0,q.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`})]}),G.map((e,t)=>(0,q.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,q.jsx)(`input`,{placeholder:`FIELD NAME`,value:e.key,onChange:e=>{let n=[...G];n[t].key=e.target.value,se(n)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>De(),className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none placeholder:text-foreground/15 pt-3 pb-0.5 caret-foreground/40`}),(0,q.jsx)(`input`,{placeholder:`Field value...`,value:e.value,onChange:e=>{let n=[...G];n[t].value=e.target.value,se(n)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>De(),className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pt-1.5 pb-1 caret-foreground/50`}),(0,q.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>se(G.filter((e,n)=>n!==t)),className:`absolute top-3 right-0 p-1 text-foreground/0 group-hover/field:text-foreground/20 hover:!text-red-400 transition-colors cursor-pointer`,children:(0,q.jsx)(C.t,{className:`w-3 h-3`})})]},t)),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>se([...G,{key:``,value:``}]),className:`flex items-center gap-1.5 text-[11px] font-medium text-foreground/25 hover:text-foreground/40 transition-colors cursor-pointer mt-4 mb-4`,children:[(0,q.jsx)(T.t,{className:`w-3 h-3`}),` Add Field`]})]})]})})]})}),(0,q.jsx)(ne.t,{isOpen:!!A,onCancel:()=>M(null),onConfirm:ve,title:`Delete Record`,message:(0,q.jsxs)(q.Fragment,{children:[`Are you sure you want to delete `,(0,q.jsx)(`strong`,{className:`text-foreground font-extrabold break-words mx-1`,children:s.find(e=>e.id===A)?.name}),` This action cannot be undone.`]}),confirmText:`Delete`,isProcessing:z})]})}var _o=({record:e})=>{let t=e.creatorName||e.creatorEmail?.split(`@`)[0]||`Member`,n=e.creatorEmail||``,i=e.creatorAvatar||``,a=t.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,q.jsxs)(`div`,{className:`flex items-center gap-2 mt-2 pt-2 border-t border-[var(--panel-border)]/30`,children:[i?(0,q.jsx)(r.k,{src:i,alt:``,className:`w-5 h-5 rounded-full shrink-0`}):(0,q.jsx)(`div`,{className:`w-5 h-5 rounded-full bg-accent/15 text-accent flex items-center justify-center text-[8px] font-extrabold shrink-0`,children:a}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`text-[11px] font-semibold text-foreground/40 truncate`,children:t}),n&&(0,q.jsxs)(`span`,{className:`text-[10px] text-foreground/25 truncate`,children:[`· `,n]})]})]})};function vo({config:e,customContent:t}){let{user:a,userRole:s}=r.It(),{config:l}=i.N(),[u,d]=(0,K.useState)([]),[f,p]=(0,K.useState)(!0),[m,h]=(0,K.useState)(!1),[g,_]=(0,K.useState)(``),[y,b]=(0,K.useState)(``),[x,w]=(0,K.useState)(!1),[E,D]=(0,K.useState)(``),[A,M]=(0,K.useState)(null),P=(0,K.useRef)(null),[F,I]=(0,K.useState)(null),[L,te]=(0,K.useState)(null),R=e=>{if(te(e),e){let t=e.fileType||``;V(t.startsWith(`image/`)||t.startsWith(`video/`)||t===`application/pdf`)}},z=L,[B,V]=(0,K.useState)(!0),[H,oe]=(0,K.useState)(!1),[U,W]=(0,K.useState)(null),[G,se]=(0,K.useState)(``),[J,ce]=(0,K.useState)(``),[X,ue]=(0,K.useState)([]),de=(0,K.useRef)(null),[fe,pe]=(0,K.useState)(null),me=(0,K.useRef)([]),he=re.o(e,`internal_page`),Z=o.Mn({...e,pageType:`internal`}),ge=Z.startsWith(`user_`),_e=c.c(Z),ve=_e?re.t(e,Z):`${Z}${he}_records`,ye=c.f(),be=c.o({on:ge}),Q=be.uid||a?.uid||``,xe=c.F(ve),Se=_e?xe.records:u,Ce=_e?xe.loading:f,we=e=>_e?c.C(e,ye):e.uid===a?.uid||be.someoneElse,Te=s===`admin`,Ee=e=>we(e)&&ae.s(e,s),De=(0,K.useRef)(!1);(0,K.useEffect)(()=>{!Te||Ce||De.current||!Se.length||(De.current=!0,ae.r(ve,Se,e,!0).catch(e=>console.warn(`Could not catch the delete lock up:`,e)).finally(()=>{De.current=!1}))},[Te,Ce,Se,e?.deleteBy,ve]);let Oe=e=>c.d(Z,ve,e),[ke,Ae]=(0,K.useState)(()=>_e?c.u(ve):``),je=()=>Ae(c.u(ve));(0,K.useEffect)(()=>{document.title=e.tabTitle||e.tabName||l.appName||`Your AI Firebase`},[e.tabTitle,e.tabName,l.appName]);let Me=a?.uid,Ne=be.uid||Me||``,Pe=be.everyone?`${Me}|everyone`:Ne;(0,K.useEffect)(()=>{if(!Me||_e)return;try{let e=S.o(ve,Pe);e?(d(e),p(!1)):(d(e=>e.length?[]:e),p(!0))}catch{}let e=e=>Ja(e),t=(0,Y.onSnapshot)(ge&&!be.everyone?(0,Y.query)((0,Y.collection)(r.ui,ve),(0,Y.where)(`uid`,`==`,Ne)):(0,Y.query)((0,Y.collection)(r.ui,ve),(0,Y.orderBy)(`createdAt`,`desc`),(0,Y.limit)(150)),t=>{let n=e(t.docs);ge&&!be.everyone&&n.sort((e,t)=>(t.createdAt||0)-(e.createdAt||0)),d(n),p(!1),S.s(ve,Pe,n)},e=>{console.warn(`${ve}: this account cannot read the records here (${e?.code||`permission-denied`}). A team page needs a verified address and an account marked Internal or Admin on the Users screen.`),d(e=>e.length?[]:e),p(!1)});return()=>t()},[Me,Ne,Pe,ve,ge,_e,be.everyone]);let Fe=async e=>Se.some(t=>t.id===e)||await(0,Y.getDoc)((0,Y.doc)(r.ui,ve,e)).then(e=>e.exists()).catch(()=>!1),Ie=()=>({name:a.displayName||a.email?.split(`@`)[0]||`Member`,email:a.email||``,avatar:a.photoURL||``}),Le=async(t,n)=>{let i=Ie(),o={uid:Q,recordType:`record`,creatorName:i.name,creatorEmail:i.email,creatorAvatar:i.avatar,...ae.o(e),...t};if(!_e){let e=Xa(t),n=e?(0,Y.doc)(r.ui,ve,e):(0,Y.doc)((0,Y.collection)(r.ui,ve)),i={...o,createdAt:(0,Y.serverTimestamp)()};return await(0,Y.setDoc)(n,i),S.p(ve,n.id,i),n.id}let s=n||ke||c.u(ve);return await(0,Y.setDoc)((0,Y.doc)(r.ui,ve,s),c.l(o,a.uid)),n||je(),s},Re=async e=>{if(e.preventDefault(),!(!a||!g.trim())){w(!0);try{await Le({name:g.trim(),note:y.trim()}),_(``),b(``),h(!1)}catch(e){console.error(`Error saving shared record:`,e)}w(!1)}},ze=c.b({upload:async(e,t)=>{if(!a)throw Error(`Sign in again before uploading.`);let n=await ee.g(e),r=_e?P.current&&ke||c.u(ve):``,i=`${Oe(r)}/${c.h(n.name)}`,o=await c.y(i,n,{customMetadata:{ownerId:a.uid},onProgress:t.progress,signal:t.signal});P.current?P.current(n,o,{uid:a.uid,storagePath:i,recordId:r}):await Le({name:n.name,note:`${n.type||`File`} · ${nt(n.size)}`,recordType:`file`,fileName:n.name,fileType:n.type||`unknown`,fileSize:n.size,downloadURL:o,storagePath:i},r)},onFailed:e=>D(`${e.name}: ${e.error||`That upload did not work.`}`),onSettled:()=>ze.clear()}),Be=ze.busy,Ve=e=>{let t=Array.from(e.target.files||[]);e.target.value=``,!(!t.length||!a)&&(D(``),ze.add(t))},He=async()=>{if(F){oe(!0);try{let e=Se.find(e=>e.id===F);if(!ae.s(e,s)){O.n(`Nothing on this page can be deleted.`),I(null),oe(!1);return}await(0,Y.deleteDoc)((0,Y.doc)(r.ui,ve,F)),await ie.o(e,Se,Oe(F)),I(null)}catch(e){console.error(`Error deleting shared record:`,e)}oe(!1)}},[Ue,We]=(0,K.useState)(null),[Ge,Ke]=(0,K.useState)(``),[qe,Je]=(0,K.useState)(!1),Ye=e=>{if(e.recordType===`file`){We(e.id),Ke(e.name);return}W(e.id),se(e.name),ce(e.note||``);let t=[`name`,`note`,`uid`,`recordType`,`fileName`,`fileType`,`fileSize`,`downloadURL`,`storagePath`,`createdAt`,`creatorName`,`creatorEmail`,`creatorAvatar`],n=Object.entries(e).filter(([e])=>!t.includes(e)&&e!==`id`).map(([e,t])=>({key:e,value:String(t??``)}));ue(n),me.current=n.map(e=>e.key)},Xe=async()=>{if(!Ue||!Ge.trim()){We(null);return}let e=Se.find(e=>e.id===Ue);if(e&&e.name===Ge.trim()){We(null);return}Je(!0);try{await(0,Y.updateDoc)((0,Y.doc)(r.ui,ve,Ue),{name:Ge.trim()}),d(e=>e.map(e=>e.id===Ue?{...e,name:Ge.trim()}:e))}catch(e){console.error(`Error renaming file:`,e)}Je(!1),We(null)},Ze=async()=>{await Qe(),W(null)},Qe=async()=>{if(!U||!G.trim())return;w(!0);let e={};X.forEach(({key:t,value:n})=>{t.trim()&&(e[t.trim()]=n)});let t=X.map(e=>e.key.trim()).filter(Boolean),n=me.current.filter(e=>!t.includes(e));n.forEach(t=>{e[t]=(0,Y.deleteField)()});try{await(0,Y.updateDoc)((0,Y.doc)(r.ui,ve,U),{name:G.trim(),note:J.trim(),...e}),d(e=>e.map(e=>{if(e.id!==U)return e;let t={...e,name:G.trim(),note:J.trim()};return n.forEach(e=>{delete t[e]}),X.forEach(({key:e,value:n})=>{e.trim()&&(t[e.trim()]=n)}),t})),me.current=t}catch(e){console.error(`Error saving record:`,e)}w(!1)},$e=(e,t)=>e?e.startsWith(`image/`)?t?(0,q.jsx)(`div`,{className:`w-9 h-9 rounded-xl bg-cover bg-center shrink-0`,style:{backgroundImage:`url(${t})`}}):(0,q.jsx)(v.c,{className:`w-4 h-4`}):e.startsWith(`video/`)||e.startsWith(`audio/`)?(0,q.jsx)(c.R,{className:`w-4 h-4`}):e.includes(`pdf`)||e.includes(`word`)||e.includes(`text`)?(0,q.jsx)(v.u,{className:`w-4 h-4`}):e.includes(`zip`)||e.includes(`rar`)||e.includes(`archive`)?(0,q.jsx)(c.V,{className:`w-4 h-4`}):e.includes(`html`)||e.includes(`csv`)||e.includes(`json`)?(0,q.jsx)(c.B,{className:`w-4 h-4`}):(0,q.jsx)(v.l,{className:`w-4 h-4`}):(0,q.jsx)(v.u,{className:`w-4 h-4`}),et=e=>e?e.startsWith(`image/`)?`bg-emerald-500/10 text-emerald-500`:e.startsWith(`video/`)||e.startsWith(`audio/`)?`bg-accent/10 text-accent`:e.includes(`pdf`)||e.includes(`word`)||e.includes(`text`)?`bg-blue-500/10 text-blue-500`:e.includes(`zip`)||e.includes(`rar`)||e.includes(`archive`)?`bg-yellow-500/10 text-yellow-500`:e.includes(`html`)||e.includes(`csv`)||e.includes(`json`)?`bg-emerald-500/10 text-emerald-500`:`bg-foreground/5 text-foreground/40`:`bg-foreground/5 text-foreground/40`,tt=e=>{if(!e)return`FILE`;let t={"application/pdf":`PDF`,"application/zip":`ZIP`,"application/x-zip-compressed":`ZIP`,"application/x-rar-compressed":`RAR`,"application/x-7z-compressed":`7Z`,"application/json":`JSON`,"application/xml":`XML`,"application/javascript":`JS`,"application/typescript":`TS`,"application/msword":`DOC`,"application/vnd.openxmlformats-officedocument.wordprocessingml.document":`DOCX`,"application/vnd.ms-excel":`XLS`,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":`XLSX`,"application/vnd.ms-powerpoint":`PPT`,"application/vnd.openxmlformats-officedocument.presentationml.presentation":`PPTX`,"application/rtf":`RTF`,"application/x-tar":`TAR`,"application/gzip":`GZ`,"text/plain":`TXT`,"text/html":`HTML`,"text/css":`CSS`,"text/csv":`CSV`,"text/markdown":`MD`},n=e.toLowerCase();if(t[n])return t[n];let r=n.split(`/`);return r[r.length-1].replace(/^x-/,``).replace(/^vnd\..*\./,``).toUpperCase().slice(0,10)},nt=e=>{if(!e)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**+r).toFixed(2))+` `+n[r]},rt=e=>{if(!e)return``;let t=e.toMillis?e.toMillis():e;return new Date(t).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})},it=n.p(e.buttonStorageIcon)||gt,at=e.buttonStyle!==`secondary`,ot=e.buttonStorageStyle===`primary`;return(0,q.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,q.jsx)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-6 flex items-center justify-between`,children:(0,q.jsxs)(`div`,{children:[(0,q.jsx)(n.t,{children:e.tabTitle||e.tabName||`Internal Page`}),e.route&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,q.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),e.route]})]})}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 pb-16`,children:[(0,q.jsx)(i.t,{}),(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},className:t?`flex flex-col flex-1 relative`:`flex flex-col glass-panel border border-[var(--panel-border)] rounded-3xl overflow-hidden flex-1 shadow-2xl bg-background`,children:[(0,q.jsx)(`input`,{type:`file`,multiple:!0,ref:de,onChange:Ve,className:`hidden`}),!t&&(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 sm:gap-4 p-4 sm:p-6 md:px-8 md:py-6 border-b border-[var(--panel-border)]/50 bg-background/50 shrink-0`,children:[(0,q.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,q.jsx)(`h2`,{className:`text-xl font-bold text-foreground tracking-tight truncate`,children:e.tabTitle||e.tabName||`Dashboard`}),(0,q.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/50 mt-1`,children:Ce?`Loading…`:`${Se.length} ${Se.length===1?`item`:`items`} · Internal`}),(E||_e&&xe.error)&&(0,q.jsx)(`p`,{className:`text-[12px] font-semibold text-red-500 mt-1 truncate`,role:`alert`,children:E||xe.error}),be.someoneElse&&e.storage!==!1&&(0,q.jsx)(`p`,{className:`text-[12px] font-medium text-foreground/50 mt-1 max-sm:hidden`,children:`You are looking at somebody else’s page. Anything you add here is theirs, but a file would stay yours — so uploads are off until you switch back to your own.`})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,q.jsx)(c.a,{viewing:be}),e.storage!==!1&&!be.someoneElse&&(0,q.jsx)(q.Fragment,{children:(0,q.jsxs)(r.rt.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>de.current?.click(),title:Be?ze.done?`${ze.done} of ${ze.total} uploaded…`:`Uploading ${ze.total===1?`your file`:`${ze.total} files`}…`:e.buttonStorageText||`Upload files`,className:`h-10 flex items-center justify-center gap-2 rounded-xl transition-all duration-300 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed ${e.buttonStorageText?`px-4`:`w-10`} ${ot?`btn-primary`:`btn-secondary`}`,children:[Be?(0,q.jsx)(C.r,{className:`w-4 h-4 animate-spin`}):(0,q.jsx)(it,{className:`w-4 h-4`}),e.buttonStorageText&&(0,q.jsx)(`span`,{className:`text-[13px] font-bold`,children:e.buttonStorageText})]})}),e.showButton!==!1&&(0,q.jsx)(r.rt.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>h(!0),title:`Add New`,className:`h-10 flex items-center justify-center gap-2 rounded-xl transition-all duration-300 cursor-pointer ${e.buttonText&&e.buttonText!==`+`?`px-5`:`w-10`} ${at?`btn-primary`:`btn-secondary`}`,children:e.buttonText===`+`||!e.buttonText?(0,q.jsx)(T.t,{className:`w-4 h-4`}):(0,q.jsx)(`span`,{className:`text-[13px] font-bold`,children:e.buttonText})})]})]}),(0,q.jsxs)(`div`,{className:t?`flex-1 flex flex-col relative min-h-[400px]`:`p-6 md:p-8 flex-1 overflow-y-auto relative min-h-[400px]`,children:[Ce&&(0,q.jsx)(`div`,{className:`absolute inset-0 z-10 flex items-center justify-center bg-background/50 backdrop-blur-sm`,children:(0,q.jsx)(C.r,{className:`w-8 h-8 text-accent animate-spin`})}),t?(0,q.jsx)(c.p,{value:{prefix:Z,collection:_e?ve:``,recordId:_e?U||ke:``},children:(0,q.jsx)(`div`,{className:`fbos-content-slot fbos-tab-fill`,children:(0,q.jsx)(j.p,{size:`part`,children:(0,q.jsx)(t,{config:e,actions:{records:Se,loading:Ce,error:_e?xe.error:``,collection:ve,user:a,...c.s(ve,ye,_e,ke),saveRecord:async(t,n)=>{let r=Ie(),i=Ya(Ga(t,n)),a=_e?null:Xa(i);if(a&&await Fe(a))return a;let o=await Le(so(i));return _e||d(t=>[{uid:Q,recordType:`record`,creatorName:r.name,creatorEmail:r.email,creatorAvatar:r.avatar,...ae.o(e),createdAt:Date.now(),...i,id:o},...t.filter(e=>e.id!==o)]),o},updateRecord:async(e,t,n)=>{let{id:i,data:o}=Ka(e,t,n),s=Ya(o),c={...Qa(a),...so(s,Se.find(e=>e.id===i))};_e||d(e=>e.map(e=>e.id===i?{...e,...c}:e)),await(0,Y.updateDoc)((0,Y.doc)(r.ui,ve,i),c);let l=Se.find(e=>e.id===i);l&&S.p(ve,i,{...l,...c})},deleteRecord:async(e,t)=>{let n=qa(e,t),i=Se.find(e=>e.id===n);if(!ae.s(i,s)){O.n(`Nothing on this page can be deleted.`);return}await(0,Y.deleteDoc)((0,Y.doc)(r.ui,ve,n)),S.m(ve,n),await ie.o(i,Se,Oe(n))},startEdit:e=>Ye(e),confirmDelete:e=>I(e),uploadFile:()=>{be.someoneElse||de.current?.click()},openAddForm:()=>h(!0),setAddForm:e=>M(()=>e),setFileHandler:e=>{P.current=e}}})})})}):(0,q.jsxs)(q.Fragment,{children:[!Ce&&Se.length===0&&(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`flex-1 flex flex-col items-center justify-center border border-[var(--panel-border)]/50 border-dashed rounded-2xl p-8 py-20 text-center min-h-[350px]`,children:[(0,q.jsx)(`div`,{className:`w-16 h-16 rounded-2xl bg-accent/5 border border-accent/10 flex items-center justify-center mb-5`,children:(0,q.jsx)(T.t,{className:`w-6 h-6 text-accent/40`})}),(0,q.jsx)(`p`,{className:`text-[15px] font-bold mb-1.5 text-foreground/50`,children:`No items yet`}),(0,q.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/35 max-w-xs leading-relaxed`,children:`Use the buttons above to add records or upload files. All team members can view and contribute.`})]}),!Ce&&Se.length>0&&(0,q.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4`,children:(0,q.jsx)(r.it,{children:Se.map(e=>{let t=U===e.id,n=we(e);return(0,q.jsxs)(r.rt.div,{initial:!1,animate:{opacity:1,y:0},exit:{opacity:0,scale:.95},onClick:()=>n?Ye(e):null,className:`group flex flex-col bg-background border rounded-2xl p-5 transition-all relative ${n?`cursor-pointer`:``} ${t?`border-accent/40 shadow-lg ring-1 ring-accent/20`:`border-[var(--panel-border)] hover:border-accent/30 hover:shadow-lg`}`,children:[(0,q.jsxs)(`div`,{className:`absolute top-3 right-3 flex items-center gap-0.5 opacity-100 md:opacity-0 md:group-hover:opacity-100 transition-all z-10`,children:[e.recordType===`file`&&e.downloadURL&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{onClick:t=>{t.stopPropagation(),navigator.clipboard.writeText(e.downloadURL),pe(e.id),setTimeout(()=>pe(null),2e3)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-emerald-500 hover:bg-emerald-500/10 transition-all cursor-pointer`,title:`Copy Link`,children:fe===e.id?(0,q.jsx)(r.jt,{className:`w-3.5 h-3.5 text-emerald-500`}):(0,q.jsx)(c.z,{className:`w-3.5 h-3.5`})}),(0,q.jsx)(`a`,{href:e.downloadURL,target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),className:`p-1.5 rounded-lg text-foreground/25 hover:text-blue-500 hover:bg-blue-500/10 transition-all`,title:`Download`,children:(0,q.jsx)(v.d,{className:`w-3.5 h-3.5`})})]}),n&&(0,q.jsx)(`button`,{onClick:t=>{t.stopPropagation(),Ye(e)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-accent hover:bg-accent/10 transition-all cursor-pointer`,title:`Edit`,children:(0,q.jsx)(v.s,{className:`w-3.5 h-3.5`})}),n&&Ee(e)&&(0,q.jsx)(`button`,{onClick:t=>{t.stopPropagation(),I(e.id)},className:`p-1.5 rounded-lg text-foreground/25 hover:text-red-500 hover:bg-red-500/10 transition-all cursor-pointer`,title:`Delete`,children:(0,q.jsx)(k.t,{className:`w-3.5 h-3.5`})})]}),(0,q.jsxs)(`div`,{className:`flex items-start gap-3 mb-2`,children:[(0,q.jsx)(`div`,{onClick:t=>{t.stopPropagation(),e.recordType===`file`&&R(e)},className:`w-9 h-9 rounded-xl flex items-center justify-center shrink-0 ${e.recordType===`file`?`cursor-pointer hover:scale-105 transition-transform ${et(e.fileType)}`:`bg-accent/10 text-accent`}`,children:e.recordType===`file`?$e(e.fileType,e.downloadURL):(0,q.jsx)(`div`,{className:`w-2 h-2 rounded-full bg-current`})}),(0,q.jsxs)(`div`,{className:`flex flex-col min-w-0 flex-1 relative`,children:[Ue===e.id?(0,q.jsx)(`input`,{autoFocus:!0,type:`text`,value:Ge,onChange:e=>Ke(e.target.value),onBlur:()=>Xe(),onKeyDown:e=>{e.key===`Enter`&&Xe(),e.key===`Escape`&&We(null)},onClick:e=>e.stopPropagation(),className:`no-glow text-[14px] font-bold text-foreground bg-transparent border-b border-accent/30 outline-none pb-0.5 w-full pr-12`}):(0,q.jsx)(`span`,{className:`text-[14px] font-bold text-foreground truncate pr-12`,children:e.name}),e.recordType===`file`&&(0,q.jsx)(`div`,{className:`absolute inset-0 z-0 cursor-pointer`,onClick:()=>R(e)}),(0,q.jsx)(`span`,{className:`text-[11px] text-foreground/35 font-bold uppercase tracking-wider mt-0.5`,children:rt(e.createdAt)})]})]}),e.note&&(0,q.jsx)(`p`,{className:`text-[13px] text-foreground/55 font-medium leading-relaxed line-clamp-3 mb-1`,children:e.note}),Object.entries(e).filter(([e])=>![`name`,`note`,`uid`,`recordType`,`fileName`,`fileType`,`fileSize`,`downloadURL`,`createdAt`,`creatorName`,`creatorEmail`,`creatorAvatar`].includes(e)&&e!==`id`).slice(0,3).map(([e,t])=>(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 mt-1`,children:[(0,q.jsxs)(`span`,{className:`text-[10px] font-bold text-foreground/30 uppercase tracking-wider shrink-0`,children:[e,`:`]}),(0,q.jsx)(`span`,{className:`text-[11px] font-semibold text-foreground/60 truncate`,children:String(t)})]},e)),(0,q.jsx)(_o,{record:e})]},e.id)})})})]})]})]})]}),(0,q.jsx)(r.it,{children:m&&(0,q.jsxs)(`div`,{className:`fixed inset-0 z-[120] flex items-center justify-center p-4`,children:[(0,q.jsx)(r.rt.div,{onClick:()=>!x&&h(!1),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/60 backdrop-blur-sm cursor-pointer`}),(0,q.jsx)(r.rt.div,{initial:{opacity:0,scale:.97,y:6},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:6},transition:{duration:.2},className:`w-full max-w-[360px] border-[var(--panel-border)] border rounded-2xl relative z-10 glass-panel shadow-2xl bg-background overflow-hidden`,children:A?K.default.createElement(A,{onSave:async e=>{w(!0);try{await Le(e),h(!1)}catch(e){console.error(`Error saving record:`,e)}w(!1)},onClose:()=>!x&&h(!1),saving:x}):(0,q.jsxs)(`form`,{onSubmit:Re,className:`p-5 flex flex-col gap-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between mb-1`,children:[(0,q.jsx)(`span`,{className:`text-[14px] font-bold text-foreground`,children:`New Record`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>!x&&h(!1),className:`text-foreground/30 hover:text-foreground/60 transition-colors cursor-pointer p-0.5`,children:(0,q.jsx)(C.t,{className:`w-4 h-4`})})]}),(0,q.jsx)(`input`,{autoFocus:!0,type:`text`,required:!0,value:g,onChange:e=>_(e.target.value),placeholder:`Name *`,disabled:x,className:`w-full bg-foreground/[0.03] border border-[var(--panel-border)] px-3.5 py-2.5 text-[13px] font-semibold text-foreground outline-none focus:border-accent transition-colors placeholder:text-foreground/30`,style:{borderRadius:`var(--input-radius, 0.75rem)`}}),(0,q.jsx)(r.$,{value:y,onChange:e=>b(e.target.value),placeholder:`Note (optional)`,disabled:x,rows:2,className:`w-full bg-foreground/[0.03] border border-[var(--panel-border)] px-3.5 py-2.5 text-[13px] font-medium text-foreground outline-none focus:border-accent transition-colors placeholder:text-foreground/30 resize-none`,style:{borderRadius:`var(--input-radius, 0.75rem)`}}),(0,q.jsx)(`div`,{className:`flex justify-end pt-1`,children:(0,q.jsx)(N.t,{type:`submit`,isLoading:x,className:`px-5 py-2 text-[12px] font-bold shadow-md`,children:x?`Saving…`:`Save`})})]})})]})}),typeof window<`u`&&(0,le.createPortal)((0,q.jsx)(r.it,{children:z&&(0,q.jsxs)(`div`,{className:`fixed inset-0 z-[9999] flex items-center justify-center p-4 md:p-12`,children:[(0,q.jsx)(r.rt.div,{onClick:()=>R(null),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/95 backdrop-blur-xl cursor-pointer`}),(0,q.jsx)(`button`,{onClick:()=>R(null),className:`absolute top-6 right-6 z-[160] w-12 h-12 bg-foreground/10 hover:bg-foreground/20 text-foreground rounded-full flex items-center justify-center backdrop-blur-md transition-all cursor-pointer outline-none`,children:(0,q.jsx)(C.t,{className:`w-5 h-5`})}),(0,q.jsxs)(r.rt.div,{initial:{opacity:0,scale:.95,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:10},className:`relative z-10 w-full max-w-6xl max-h-[85vh] flex flex-col pointer-events-auto shadow-2xl rounded-3xl overflow-hidden glass-panel border border-[var(--panel-border)]`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between p-6 bg-background/80 backdrop-blur-md border-b border-[var(--panel-border)] shrink-0 shadow-sm z-20`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col min-w-0 pr-4`,children:[(0,q.jsx)(`span`,{className:`text-xl font-bold text-foreground truncate`,children:z.fileName||z.name}),(0,q.jsxs)(`span`,{className:`text-[12px] text-foreground/70 font-bold uppercase tracking-wider mt-1`,children:[tt(z.fileType),` • `,nt(z.fileSize||0)]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,q.jsx)(`button`,{onClick:()=>{navigator.clipboard.writeText(z.downloadURL),pe(`preview`),setTimeout(()=>pe(null),2e3)},className:`p-2.5 bg-foreground/5 hover:bg-foreground/10 text-foreground/70 transition-colors rounded-xl shadow-sm hover:text-emerald-500 cursor-pointer`,title:`Copy Link`,children:fe===`preview`?(0,q.jsx)(r.jt,{className:`w-4 h-4 text-emerald-500`}):(0,q.jsx)(c.z,{className:`w-4 h-4`})}),(0,q.jsx)(`button`,{onClick:()=>{R(null),We(z.id),Ke(z.name)},className:`p-2.5 bg-foreground/5 hover:bg-foreground/10 text-foreground/70 hover:text-accent transition-colors rounded-xl shadow-sm cursor-pointer`,title:`Rename`,children:(0,q.jsx)(v.s,{className:`w-4 h-4`})}),(0,q.jsx)(`button`,{onClick:()=>{R(null),I(z.id)},className:`p-2.5 bg-red-500/10 hover:bg-red-500/20 text-red-500 transition-colors rounded-xl shadow-sm cursor-pointer`,title:`Delete`,children:(0,q.jsx)(k.t,{className:`w-4 h-4`})}),(0,q.jsx)(`a`,{href:z.downloadURL,download:!0,target:`_blank`,rel:`noreferrer`,className:`p-2.5 btn-primary transition-colors rounded-xl shadow-lg ml-1`,title:`Download`,children:(0,q.jsx)(v.d,{className:`w-4 h-4`})})]})]}),(0,q.jsx)(`div`,{className:`flex-1 w-full relative bg-foreground/[0.02] min-h-[50vh] md:min-h-[600px]`,onClick:()=>R(null),children:(0,q.jsxs)(`div`,{className:`absolute inset-x-4 inset-y-8 md:inset-x-12 md:inset-y-12 flex items-center justify-center`,children:[B&&(0,q.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center rounded-lg z-50 pointer-events-none`,children:(0,q.jsx)(`div`,{className:`w-12 h-12 rounded-full bg-background/80 backdrop-blur-md shadow-xl flex items-center justify-center border border-[var(--panel-border)]/50`,children:(0,q.jsx)(C.r,{className:`w-5 h-5 text-accent animate-spin`})})}),z.fileType?.startsWith(`image/`)?(0,q.jsx)(`img`,{onLoad:()=>V(!1),onError:()=>V(!1),src:z.downloadURL,alt:z.fileName||z.name,className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-auto h-auto max-w-full max-h-full object-contain drop-shadow-[0_0_40px_rgba(0,0,0,0.5)] rounded-lg pointer-events-auto transition-opacity duration-500 ${B?`opacity-0`:`opacity-100`}`,onClick:e=>e.stopPropagation()}):z.fileType?.startsWith(`video/`)?(0,q.jsx)(`video`,{onLoadedData:()=>V(!1),onError:()=>V(!1),src:z.downloadURL,controls:!0,autoPlay:!0,className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-auto h-auto max-w-full max-h-full outline-none bg-black/40 rounded-lg pointer-events-auto drop-shadow-[0_0_40px_rgba(0,0,0,0.5)] transition-opacity duration-500 ${B?`opacity-0`:`opacity-100`}`,onClick:e=>e.stopPropagation()}):z.fileType===`application/pdf`?(0,q.jsx)(`iframe`,{onLoad:()=>V(!1),src:z.downloadURL,className:`w-full h-full border-none rounded-lg relative z-10 transition-opacity duration-500 ${B?`opacity-0`:`opacity-100`}`,style:{backgroundColor:`white`},title:`PDF Preview`,onClick:e=>e.stopPropagation()}):(0,q.jsxs)(`div`,{className:`w-full h-full flex flex-col items-center justify-center text-foreground/40 text-center relative z-10`,onClick:e=>{e.stopPropagation(),V(!1)},children:[(0,q.jsx)(v.u,{className:`w-24 h-24 mb-6 opacity-40 drop-shadow-sm`}),(0,q.jsx)(`span`,{className:`text-[20px] font-extrabold text-foreground`,children:`Preview Unavailable`}),(0,q.jsx)(`span`,{className:`text-[14px] mt-2 text-foreground/60 font-medium max-w-xs`,children:`This file format cannot be previewed. Please download it instead.`})]})]})})]})]})}),document.body),(0,q.jsx)(r.it,{children:U&&(0,q.jsxs)(`div`,{className:`fixed inset-0 z-[120] flex items-center justify-center p-4`,children:[(0,q.jsx)(r.rt.div,{onClick:()=>Ze(),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/60 backdrop-blur-sm cursor-pointer`}),(0,q.jsx)(r.rt.div,{initial:{opacity:0,scale:.97,y:6},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.97,y:6},transition:{duration:.2},className:`w-full max-w-[440px] border-[var(--panel-border)] border rounded-2xl relative z-10 glass-panel shadow-2xl bg-background overflow-hidden`,children:(0,q.jsxs)(`div`,{className:`p-5 flex flex-col gap-3 max-h-[80vh] overflow-y-auto`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between mb-2 mt-2 px-1`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`text-[14px] font-bold text-foreground`,children:`Edit Record`}),x&&(0,q.jsx)(C.r,{className:`w-3 h-3 animate-spin text-foreground/40`})]}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>Ze(),className:`text-foreground/30 hover:text-foreground/60 transition-colors cursor-pointer`,children:(0,q.jsx)(C.t,{className:`w-4 h-4`})})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-0 max-h-[70vh] overflow-y-auto no-scrollbar px-1`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,q.jsx)(`input`,{readOnly:!0,value:`NAME`,className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none pt-3 pb-0.5`}),(0,q.jsx)(`input`,{autoFocus:!0,required:!0,value:G,onChange:e=>se(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>Qe(),placeholder:`Name *`,className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pb-1 caret-foreground/50`}),(0,q.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`})]}),(0,q.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,q.jsx)(`input`,{readOnly:!0,value:`NOTE`,className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none pt-3 pb-0.5`}),(0,q.jsx)(r.$,{value:J,onChange:e=>ce(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),e.target.blur())},onBlur:()=>Qe(),placeholder:`Add a note...`,rows:1,className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pb-1 caret-foreground/50 resize-none overflow-hidden`}),(0,q.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`})]}),X.map((e,t)=>(0,q.jsxs)(`div`,{className:`flex flex-col relative group/field`,children:[(0,q.jsx)(`input`,{placeholder:`FIELD NAME`,value:e.key,onChange:e=>{let n=[...X];n[t].key=e.target.value,ue(n)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>Qe(),className:`no-glow bg-transparent text-[10px] font-bold text-foreground/30 uppercase tracking-[0.15em] outline-none placeholder:text-foreground/15 pt-3 pb-0.5 caret-foreground/40`}),(0,q.jsx)(`input`,{placeholder:`Field value...`,value:e.value,onChange:e=>{let n=[...X];n[t].value=e.target.value,ue(n)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},onBlur:()=>Qe(),className:`no-glow bg-transparent text-[13px] font-medium text-foreground outline-none placeholder:text-foreground/15 pt-1.5 pb-1 caret-foreground/50`}),(0,q.jsx)(`div`,{className:`border-b border-dashed border-[var(--panel-border)]/60`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>ue(X.filter((e,n)=>n!==t)),className:`absolute top-3 right-0 p-1 text-foreground/0 group-hover/field:text-foreground/20 hover:!text-red-400 transition-colors cursor-pointer`,children:(0,q.jsx)(C.t,{className:`w-3 h-3`})})]},t)),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>ue([...X,{key:``,value:``}]),className:`flex items-center gap-1.5 text-[11px] font-medium text-foreground/25 hover:text-foreground/40 transition-colors cursor-pointer mt-4 mb-4`,children:[(0,q.jsx)(T.t,{className:`w-3 h-3`}),` Add Field`]})]})]})})]})}),(0,q.jsx)(ne.t,{isOpen:!!F,onCancel:()=>I(null),onConfirm:He,title:`Delete Record`,message:(0,q.jsxs)(q.Fragment,{children:[`Are you sure you want to delete `,(0,q.jsx)(`strong`,{className:`text-foreground font-extrabold break-words mx-1`,children:Se.find(e=>e.id===F)?.name}),` This action cannot be undone.`]}),confirmText:`Delete`,isProcessing:H})]})}var yo=5,bo=3,xo=8,So=250,Co=56,wo=14,To=8,Eo=`button, a, input, textarea, select, label, [role="button"], [role="listbox"], [role="option"], [contenteditable="true"], [data-no-drag]`,Do=!1,Oo=()=>{Do||typeof window>`u`||(Do=!0,window.addEventListener(`touchmove`,()=>{},{passive:!1}))};function ko(e){let[t,n]=(0,K.useState)(null),r=(0,K.useRef)(e);(0,K.useEffect)(()=>{r.current=e}),(0,K.useEffect)(Oo,[]);let i=(0,K.useRef)(null),a=(0,K.useCallback)(e=>{let t=i.current;t&&(i.current=null,t.cleanup(),t.active&&(n(null),e===`drop`?r.current.onDrop(t.key):r.current.onCancel?.(t.key)))},[]);(0,K.useEffect)(()=>()=>a(`cancel`),[a]);let o=(0,K.useCallback)((e,t)=>{if(r.current.disabled||i.current||t.pointerType===`mouse`&&t.button!==0)return;let o=t.target,s=!!o.closest?.(`[data-drag-handle]`),c=s?null:o.closest?.(Eo);if(c&&!c.hasAttribute(`data-drag-ok`))return;let l=t.currentTarget,u=t.pointerType===`touch`,d=s?bo:u?xo:yo,f=()=>{let e=i.current;if(!(!e||e.active)){e.active=!0,e.hold&&=(clearTimeout(e.hold),null);try{navigator.vibrate?.(8)}catch{}r.current.onStart?.(e.key),n({key:e.key,x:e.x,y:e.y,offsetX:e.startX-e.rect.left,offsetY:e.startY-e.rect.top,width:e.rect.width,height:e.rect.height}),r.current.onMove({x:e.x,y:e.y,at:e.at},e.key),e.frame=requestAnimationFrame(p)}},p=e=>{let t=i.current;if(!t||!t.active)return;t.at=e;let n=!1;t.y<Co?(window.scrollBy(0,-wo),n=!0):t.y>window.innerHeight-Co&&(window.scrollBy(0,wo),n=!0);let a=r.current.scroller?.();if(a){let e=a.getBoundingClientRect(),r=a.scrollLeft;t.x<e.left+Co?a.scrollLeft-=To:t.x>e.right-Co&&(a.scrollLeft+=To),a.scrollLeft!==r&&(n=!0)}n&&r.current.onMove({x:t.x,y:t.y,at:e},t.key),t.frame=requestAnimationFrame(p)},m=e=>{let t=i.current;if(!(!t||e.pointerId!==t.pointerId)){if(t.x=e.clientX,t.y=e.clientY,t.at=e.timeStamp,!t.active){if(!(Math.hypot(t.x-t.startX,t.y-t.startY)>d))return;if(u&&!s){a(`cancel`);return}f();return}n(e=>e&&{...e,x:t.x,y:t.y}),r.current.onMove({x:t.x,y:t.y,at:t.at},t.key)}},h=e=>{let t=i.current;if(!(!t||e.pointerId!==t.pointerId)){if(t.active){let e=e=>{e.stopPropagation(),e.preventDefault()};window.addEventListener(`click`,e,{capture:!0,once:!0}),setTimeout(()=>window.removeEventListener(`click`,e,{capture:!0}),80)}a(`drop`)}},g=e=>{i.current&&e.pointerId===i.current.pointerId&&a(`cancel`)},_=e=>{e.key===`Escape`&&i.current?.active&&(e.preventDefault(),a(`cancel`))},v=e=>{i.current?.active&&e.cancelable&&e.preventDefault()},y=e=>{u&&e.preventDefault()},b=e=>e.preventDefault(),x=document.body.style.userSelect,S={key:e,pointerId:t.pointerId,startX:t.clientX,startY:t.clientY,x:t.clientX,y:t.clientY,at:t.timeStamp,rect:l.getBoundingClientRect(),active:!1,hold:u&&!s?setTimeout(f,So):null,frame:null,cleanup:()=>{S.hold&&clearTimeout(S.hold),S.frame!=null&&cancelAnimationFrame(S.frame),window.removeEventListener(`pointermove`,m),window.removeEventListener(`pointerup`,h),window.removeEventListener(`pointercancel`,g),window.removeEventListener(`keydown`,_,!0),window.removeEventListener(`touchmove`,v),window.removeEventListener(`contextmenu`,y,!0),window.removeEventListener(`dragstart`,b,!0),document.body.style.userSelect=x}};i.current=S,document.body.style.userSelect=`none`,window.addEventListener(`pointermove`,m),window.addEventListener(`pointerup`,h),window.addEventListener(`pointercancel`,g),window.addEventListener(`keydown`,_,!0),window.addEventListener(`touchmove`,v,{passive:!1}),window.addEventListener(`contextmenu`,y,!0),window.addEventListener(`dragstart`,b,!0)},[a]);return{dragging:t,bind:(0,K.useCallback)(e=>({"data-drag-key":e,onPointerDown:t=>o(e,t),style:{WebkitTouchCallout:`none`,WebkitUserSelect:`none`,userSelect:`none`}}),[o])}}var Ao={"data-drag-handle":``,style:{touchAction:`none`,cursor:`grab`}},jo=()=>[{id:`todo`,title:`To Do`,createdAt:Date.now()-2e3},{id:`in_progress`,title:`In Progress`,createdAt:Date.now()-1e3},{id:`review`,title:`Review`,createdAt:Date.now()}],Mo=()=>`item_${Date.now()}`,No=(e,t)=>({id:e,categoryId:t.categoryId,name:t.name||t.text||`Unnamed Item`,fields:t.fields||(t.value?[{key:`Label`,value:t.value}]:[]),order:t.order||0,uid:t.uid,creatorName:t.creatorName,creatorAvatar:t.creatorAvatar,access:t.access,editors:t.editors}),Po=[{text:`text-red-400`,bgCircle:`bg-red-400`,bgCard:`bg-red-500/[0.08]`,borderCard:`border-red-500/30`,bgLight:`bg-red-500/15`,bgHover:`hover:bg-red-500`,bgAlt:`bg-red-500/[0.04]`,name:`Red`},{text:`text-orange-400`,bgCircle:`bg-orange-400`,bgCard:`bg-orange-500/[0.08]`,borderCard:`border-orange-500/30`,bgLight:`bg-orange-500/15`,bgHover:`hover:bg-orange-500`,bgAlt:`bg-orange-500/[0.04]`,name:`Orange`},{text:`text-yellow-400`,bgCircle:`bg-yellow-400`,bgCard:`bg-yellow-500/[0.08]`,borderCard:`border-yellow-500/30`,bgLight:`bg-yellow-500/15`,bgHover:`hover:bg-yellow-500`,bgAlt:`bg-yellow-500/[0.04]`,name:`Yellow`},{text:`text-green-400`,bgCircle:`bg-green-400`,bgCard:`bg-green-500/[0.08]`,borderCard:`border-green-500/30`,bgLight:`bg-green-500/15`,bgHover:`hover:bg-green-500`,bgAlt:`bg-green-500/[0.04]`,name:`Green`},{text:`text-blue-400`,bgCircle:`bg-blue-400`,bgCard:`bg-blue-500/[0.08]`,borderCard:`border-blue-500/30`,bgLight:`bg-blue-500/15`,bgHover:`hover:bg-blue-500`,bgAlt:`bg-blue-500/[0.04]`,name:`Blue`},{text:`text-accent`,bgCircle:`bg-accent`,bgCard:`bg-accent/[0.08]`,borderCard:`border-accent/30`,bgLight:`bg-accent/15`,bgHover:`hover:bg-accent`,bgAlt:`bg-accent/[0.04]`,name:`Purple`},{text:`text-pink-400`,bgCircle:`bg-pink-400`,bgCard:`bg-pink-500/[0.08]`,borderCard:`border-pink-500/30`,bgLight:`bg-pink-500/15`,bgHover:`hover:bg-pink-500`,bgAlt:`bg-pink-500/[0.04]`,name:`Pink`},{text:`text-foreground/60`,bgCircle:`bg-foreground/30`,bgCard:`bg-foreground/[0.04]`,borderCard:`border-[var(--panel-border)]/50`,bgLight:`bg-foreground/15`,bgHover:`hover:bg-foreground/30`,bgAlt:`bg-foreground/[0.02]`,name:`Default`}];function Fo({title:e=`Board View`,subtitle:t=`/board`,backUrl:s,tasksCollection:l=`pub_tasks`,categoriesCollection:u=`pub_categories`,config:d,customContent:f}){let{user:p}=r.It(),m=!!d,h=d?.isInternal||d?.isShared;d?.isPrivate&&d?.isAdmin;let g=d?.isAdmin||h,_=o.Tn(l),y=c.f(),b=c.F(l),x=c.F(u),S=m?g||_||l.startsWith(`role_`):!0,w=e=>!_||c.C(e,y),E=c.o({on:l.startsWith(`user_`)&&!_,everyone:!1}),D=E.uid||p?.uid||``,[O,A]=(0,K.useState)(()=>_?c.u(l):``),M=(e,t,n,r)=>p?o.Tn(e)?n?c.l({uid:p.uid,...r?Za(p):{},...t},p.uid):t:e.startsWith(`user_`)?{...t,uid:D||p.uid}:n?{uid:p.uid,...r?Za(p):{},...t}:t:t,P=!!f,ee=d?.showButton!==!1&&!P,F=d?.buttonText||`+`,I=d?.buttonStyle||`primary`,L=d?.keyName||`key`,te=d?.valueName||`value`,[R,z]=(0,K.useState)([]),[B,re]=(0,K.useState)([]),V=_?b.records.map(e=>No(e.id,e)).sort((e,t)=>(e.order||0)-(t.order||0)):R,H=_?x.records:B,[ie,ae]=(0,K.useState)(null),[oe,U]=(0,K.useState)(null),[W,G]=(0,K.useState)({name:``}),[se,J]=(0,K.useState)([]),[ce,X]=(0,K.useState)(null),ue=(0,K.useRef)(null),de=e=>{ue.current=e,X(e)},fe=(0,K.useRef)(null),[pe,me]=(0,K.useState)(null),[he,Z]=(0,K.useState)(!1),[ge,_e]=(0,K.useState)(null),[ve,ye]=(0,K.useState)(``),[be,Q]=(0,K.useState)(null),xe=E.uid||p?.uid;(0,K.useEffect)(()=>{let e=l.startsWith(`user_`),t=u.startsWith(`user_`);if(e&&!p||_)return;let n=e&&xe?`${l}|${xe}`:l,i=t&&xe?`${u}|${xe}`:u;try{let e=localStorage.getItem(`fbos_board_tasks_${n}`);e&&z(JSON.parse(e));let t=localStorage.getItem(`fbos_board_cats_${i}`);t&&re(JSON.parse(t))}catch{}let o=(0,Y.onSnapshot)(e&&xe?(0,Y.query)((0,Y.collection)(r.ui,l),(0,Y.where)(`uid`,`==`,xe)):(0,Y.collection)(r.ui,l),e=>{let t=[];e.forEach(e=>{let n=e.data();t.push({id:e.id,categoryId:n.categoryId,name:n.name||n.text||`Unnamed Item`,fields:n.fields||(n.value?[{key:`Label`,value:n.value}]:[]),order:n.order||0,uid:n.uid,creatorName:n.creatorName,creatorAvatar:n.creatorAvatar})});let r=t.sort((e,t)=>(e.order||0)-(t.order||0));z(r),localStorage.setItem(`fbos_board_tasks_${n}`,JSON.stringify(r))},a.s),s=(0,Y.onSnapshot)(t&&xe?(0,Y.query)((0,Y.collection)(r.ui,u),(0,Y.where)(`uid`,`==`,xe)):(0,Y.collection)(r.ui,u),e=>{let n=[];if(e.forEach(e=>{n.push({id:e.id,...e.data()})}),n.length===0){let e=jo(),n=xe?{uid:xe}:{},i=t&&xe?`_${xe}`:``;e.forEach(e=>(0,Y.setDoc)((0,Y.doc)(r.ui,u,`${e.id}${i}`),{...n,title:e.title,createdAt:e.createdAt}))}else re(n),localStorage.setItem(`fbos_board_cats_${i}`,JSON.stringify(n))},a.s);return()=>{o(),s()}},[l,u,xe,_]);let Se=(0,K.useRef)(!1);(0,K.useEffect)(()=>{!_||!xe||x.loading||x.records.length||Se.current||(Se.current=!0,jo().forEach(e=>(0,Y.setDoc)((0,Y.doc)(r.ui,u,`${e.id}_${xe}`),c.l({uid:xe,title:e.title,createdAt:e.createdAt},xe))))},[_,xe,x.loading,x.records.length,u]);let Ce=(e,t)=>{t?(U(t.id),G({id:t.id,name:t.name}),J(t.fields?.length?[...t.fields,{key:``,value:``}]:[{key:``,value:``}])):(ae(e),G({name:``}),J([{key:``,value:``}]))},we=(e,t,n)=>{let r=[...se];r[e]={key:t,value:n},e===se.length-1&&(t.trim()!==``||n.trim()!==``)&&r.push({key:``,value:``}),J(r)},Te=async(e,t,n)=>{let i=V.find(t=>t.id===e);if(!i||!w(i))return;let a=V.filter(e=>e.categoryId===t).sort((e,t)=>(e.order||0)-(t.order||0)),o=a.filter(t=>t.id!==e),s=Math.max(0,Math.min(n,o.length));i.categoryId===t&&a.findIndex(t=>t.id===e)===s||[...o.slice(0,s),i,...o.slice(s)].forEach((e,n)=>{let i=M(l,{categoryId:t,order:n},!1,!1);(0,Y.setDoc)((0,Y.doc)(r.ui,l,e.id),i,{merge:!0})})},{dragging:Ee,bind:De}=ko({scroller:()=>fe.current,onMove:({x:e,y:t},n)=>{let r=fe.current;if(!r)return;let i=null,a=1/0;for(let t of Array.from(r.querySelectorAll(`[data-board-column]`))){let n=t.getBoundingClientRect(),r=e<n.left?n.left-e:e>n.right?e-n.right:0;r<a&&(a=r,i=t)}let o=i?.dataset.boardColumn;if(!i||!o){de(null);return}let s=Array.from(i.querySelectorAll(`[data-drag-key]`)).filter(e=>e.dataset.dragKey!==n).filter(e=>{let n=e.getBoundingClientRect();return t>n.top+n.height/2}).length,c=ue.current;(!c||c.categoryId!==o||c.index!==s)&&de({categoryId:o,index:s})},onDrop:e=>{let t=ue.current;de(null),t&&Te(e,t.categoryId,t.index)},onCancel:()=>de(null)}),Oe=Ee?.key??null,ke=Oe?V.find(e=>e.id===Oe):void 0,Ae=async e=>{let t=W.id||Mo(),n=W.name.trim(),i=n||`Untitled Item`,a=se.filter(e=>e.key.trim()!==``||e.value.trim()!==``),o=!0,s=W.id?V.find(e=>e.id===W.id):null;if(s){let e=JSON.stringify(s.fields||[]),t=JSON.stringify(a);s.name===i&&e===t&&(o=!1)}else !n&&a.length===0&&(o=!1);if(!o){ae(null),U(null);return}me(W.id||`new`);let c=M(l,{categoryId:e,name:i,fields:a},!W.id,!0);await(0,Y.setDoc)((0,Y.doc)(r.ui,l,t),c,{merge:!0}),setTimeout(()=>{ae(null),U(null),me(null)},400)},je=(e,t)=>{Q({type:`item`,id:e,title:t})},Me=async()=>{let e=`cat_${Date.now()}`,t=M(u,{title:``,createdAt:Date.now()},!0,!1);await(0,Y.setDoc)((0,Y.doc)(r.ui,u,e),t),_e(e),ye(``),setTimeout(()=>{let e=document.getElementById(`board-container`);e&&e.scrollTo({left:e.scrollWidth,behavior:`smooth`})},150)},Ne=async(e,t)=>{re(n=>n.map(n=>n.id===e?{...n,color:t}:n)),await(0,Y.setDoc)((0,Y.doc)(r.ui,u,e),{color:t},{merge:!0})},Pe=async e=>{ve.trim()?await(0,Y.setDoc)((0,Y.doc)(r.ui,u,e),{title:ve},{merge:!0}):await(0,Y.deleteDoc)((0,Y.doc)(r.ui,u,e)),_e(null)},Fe=(e,t)=>{Q({type:`category`,id:e,title:t})},Ie=async()=>{if(be){Z(!0);try{if(be.type===`item`)await(0,Y.deleteDoc)((0,Y.doc)(r.ui,l,be.id)),U(null);else{let e=V.filter(e=>e.categoryId===be.id);for(let t of e)await(0,Y.deleteDoc)((0,Y.doc)(r.ui,l,t.id));await(0,Y.deleteDoc)((0,Y.doc)(r.ui,u,be.id))}}catch{}Z(!1),Q(null)}},Le=[...H].sort((e,t)=>(e.createdAt||0)-(t.createdAt||0));return(0,q.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen overflow-x-clip`,children:[(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-4 md:mb-6 flex items-center gap-3`,children:[!m&&s&&(0,q.jsx)(c.r,{to:s}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(n.t,{children:e}),t&&(0,q.jsxs)(`div`,{className:`max-sm:hidden sm:flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,q.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),t]})]})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 min-h-0 pb-16`,children:[m&&(0,q.jsx)(i.t,{}),(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},className:`flex flex-col glass-panel border border-[var(--panel-border)] rounded-3xl overflow-hidden flex-1 min-h-[400px] shadow-2xl bg-background relative z-10`,children:[(0,q.jsx)(`div`,{className:`absolute top-0 right-0 w-[400px] h-[400px] bg-accent/5 blur-[100px] rounded-full pointer-events-none -z-10`}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 sm:gap-4 p-4 sm:p-6 md:px-8 md:py-6 border-b border-[var(--panel-border)]/50 bg-background/50 shrink-0 relative z-20`,children:[(0,q.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,q.jsx)(`h2`,{className:`text-lg sm:text-xl font-bold text-foreground tracking-tight truncate`,children:d?.tabTitle||d?.tabName||e}),(0,q.jsxs)(`p`,{className:`text-[13px] font-medium text-foreground/50 mt-1`,children:[V.length,` `,V.length===1?`item`:`items`,` · `,Le.length,` `,Le.length===1?`category`:`categories`]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,q.jsx)(c.a,{viewing:E}),ee&&(0,q.jsx)(N.t,{variant:I===`secondary`?`secondary`:void 0,onClick:Me,className:`px-3 py-2.5 text-[14px] font-bold rounded-xl shadow-lg hover:-translate-y-0.5 transition-all shrink-0`,children:F===`+`?(0,q.jsx)(T.t,{className:`w-4 h-4`}):F})]})]}),(0,q.jsx)(`div`,{className:`flex-1 w-full relative z-40 min-h-0 flex flex-col`,children:f?(0,q.jsx)(c.p,{value:{prefix:o.Mn(d||{}),collection:_?l:``,recordId:_?oe||O:``},children:(0,q.jsx)(`div`,{className:`fbos-content-slot fbos-tab-fill w-full flex-1 overflow-y-auto p-4 md:p-6`,children:(0,q.jsx)(j.p,{size:`part`,children:(0,q.jsx)(f,{config:d,actions:{tasks:V,categories:H,collection:l,catCollection:u,user:p,error:_?b.error||x.error:``,...c.s(l,y,_,O),saveTask:async(e,t)=>{let n=e||Mo(),i=M(l,t,!V.some(e=>e.id===n),!0);_&&n===O&&A(c.u(l)),z(e=>e.find(e=>e.id===n)?e.map(e=>e.id===n?{...e,...i}:e):[...e,{id:n,...i}]),await(0,Y.setDoc)((0,Y.doc)(r.ui,l,n),i,{merge:!0})},deleteTask:async e=>{z(t=>t.filter(t=>t.id!==e)),await(0,Y.deleteDoc)((0,Y.doc)(r.ui,l,e))},saveCategory:async(e,t)=>{let n=M(u,t,!H.some(t=>t.id===e),!1);re(t=>t.find(t=>t.id===e)?t.map(t=>t.id===e?{...t,...n}:t):[...t,{id:e,...n}]),await(0,Y.setDoc)((0,Y.doc)(r.ui,u,e),n,{merge:!0})},deleteCategory:async e=>{re(t=>t.filter(t=>t.id!==e)),await(0,Y.deleteDoc)((0,Y.doc)(r.ui,u,e))},openInlineEditor:(e,t)=>Ce(e,t)}})})})}):(0,q.jsxs)(`div`,{ref:fe,id:`board-container`,className:`w-full flex-1 min-h-0 flex flex-row gap-4 md:gap-6 overflow-x-auto p-4 md:p-6 snap-x snap-mandatory styled-scrollbars items-start`,children:[Le.map((e,t)=>{let n=V.filter(t=>t.categoryId===e.id);n.sort((e,t)=>(e.order||0)-(t.order||0));let i=Po.find(t=>t.text===e.color)||Po.find(e=>e.text===`text-accent`);i.text,i.bgLight,i.bgHover;let a=ce?.categoryId===e.id,o=n.filter(e=>e.id!==Oe),s=a?o[ce.index]?.id??null:null,c=a&&ce.index>=o.length;return(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:t*.1},className:`w-[calc(100vw-80px)] sm:w-[300px] md:w-[320px] shrink-0 flex flex-col max-h-full rounded-3xl p-4 snap-center relative border transition-colors ${Po.find(t=>t.text===e.color)?.bgCard||`bg-foreground/[0.02]`} ${Po.find(t=>t.text===e.color)?.borderCard||`border-[var(--panel-border)]/50`}`,children:[(0,q.jsx)(`div`,{className:`flex items-center justify-between mb-4 px-2 relative z-[200]`,children:(0,q.jsxs)(`h3`,{className:`font-bold text-[14px] flex items-center w-full text-foreground/80 group relative z-[200]`,children:[ge===e.id?(0,q.jsxs)(`div`,{className:`relative flex-1 w-full flex items-center pr-8 z-[200]`,children:[(0,q.jsx)(`div`,{className:`fixed inset-0 z-[-1]`,onClick:t=>{t.stopPropagation(),Pe(e.id)}}),(0,q.jsx)(`input`,{value:ve,onChange:e=>ye(e.target.value),onBlur:t=>{t.relatedTarget?.closest(`.category-color-picker`)||Pe(e.id)},onKeyDown:t=>t.key===`Enter`&&Pe(e.id),className:`bg-transparent border-none outline-none font-bold text-[14px] w-full p-0 ${e.color||`text-foreground/80`}`,placeholder:`Category name`,autoFocus:!0}),(0,q.jsxs)(`div`,{className:`absolute top-8 left-0 flex gap-1.5 bg-background/95 backdrop-blur-xl border border-[var(--panel-border)] p-2 rounded-xl shadow-xl z-[100] category-color-picker items-center`,tabIndex:-1,children:[(0,q.jsx)(`button`,{onClick:async t=>{t.preventDefault(),t.stopPropagation(),await Ne(e.id,``),_e(null)},className:`w-4 h-4 rounded-full flex items-center justify-center bg-foreground/10 hover:bg-red-500/20 hover:text-red-500 text-foreground/40 transition-colors border border-[var(--panel-border)]/50 shrink-0`,title:`Reset Category Color`,children:(0,q.jsx)(C.t,{className:`w-3 h-3`})}),(0,q.jsx)(`div`,{className:`h-4 w-px bg-[var(--panel-border)]/50 mx-0.5`}),Po.map(t=>(0,q.jsx)(`button`,{onMouseDown:async n=>{n.preventDefault(),await Ne(e.id,t.text)},className:`w-4 h-4 rounded-full ${t.bgCircle} hover:scale-125 transition-transform border border-[var(--panel-border)]/50 shrink-0`},t.name))]})]}):(0,q.jsxs)(`div`,{className:`flex items-center gap-2 w-full hover:text-foreground transition-colors pr-8 ${w(e)?`cursor-pointer`:``}`,onClick:()=>{w(e)&&(_e(e.id),ye(e.title))},children:[(0,q.jsx)(`span`,{className:`w-2.5 h-2.5 rounded-full ${Po.find(t=>t.text===e.color)?.bgCircle||`bg-foreground/20`} transition-colors shrink-0`}),(0,q.jsx)(`span`,{className:`truncate flex-1 max-w-[200px] ${e.color||``}`,children:e.title||`Untitled Category`}),(0,q.jsx)(`span`,{className:`text-[11px] bg-foreground/10 text-foreground/60 px-1.5 py-0.5 rounded-md font-medium shrink-0`,children:n.length})]}),H.length>1&&w(e)&&(0,q.jsx)(`button`,{onClick:()=>Fe(e.id,e.title),className:`absolute right-0 opacity-100 md:opacity-0 md:group-hover:opacity-100 text-foreground/30 hover:text-red-500 transition-all shrink-0`,children:(0,q.jsx)(k.t,{className:`w-3.5 h-3.5`})})]})}),(0,q.jsxs)(`div`,{"data-board-column":e.id,className:`flex flex-col gap-2.5 flex-1 overflow-y-auto styled-scrollbars pr-1 relative min-h-[150px] rounded-xl transition-colors ${a?`bg-foreground/5 border-dashed border border-accent/20`:``}`,children:[(0,q.jsx)(r.it,{children:n.map(t=>oe===t.id?(0,q.jsxs)(r.rt.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:`bg-background/80 rounded-xl p-3 shadow-md border border-accent/40 transition-all flex flex-col gap-2 relative z-[100]`,children:[(0,q.jsx)(`div`,{className:`fixed inset-0 z-[-1]`,onClick:t=>{t.stopPropagation(),Ae(e.id)}}),(0,q.jsx)(`textarea`,{placeholder:`Write an item name...`,className:`no-glow bg-transparent border-none outline-none text-[13px] text-foreground/90 font-medium leading-snug resize-none w-full min-h-[40px] relative z-10`,value:W.name,onChange:e=>G({...W,name:e.target.value}),onKeyDown:t=>{t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),Ae(e.id))}}),(0,q.jsx)(`div`,{className:`flex flex-col gap-2 mt-1 relative z-10 w-full`,children:se.map((t,n)=>(0,q.jsxs)(`div`,{className:`flex items-start bg-foreground/[0.04] border border-[var(--panel-border)]/50 rounded-[8px] px-2.5 py-1.5 w-full`,children:[(0,q.jsx)(`input`,{placeholder:L,value:t.key,onChange:e=>we(n,e.target.value,t.value),onKeyDown:t=>t.key===`Enter`&&Ae(e.id),className:`no-glow bg-transparent outline-none text-[11px] text-foreground/50 font-bold placeholder:text-foreground/30 relative top-[1px] shrink-0`,style:{width:`${Math.max(3,t.key.length||L.length)}ch`}}),(0,q.jsx)(`span`,{className:`text-[11px] text-foreground/50 font-bold mr-1.5 relative top-[1px]`,children:`:`}),(0,q.jsx)(`textarea`,{rows:1,placeholder:te,value:t.value,onChange:e=>we(n,t.key,e.target.value),onInput:e=>{let t=e.target;t.style.height=`auto`,t.style.height=t.scrollHeight+`px`},onKeyDown:t=>{t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),Ae(e.id))},className:`no-glow bg-transparent outline-none text-[12px] text-foreground/90 font-medium flex-1 min-w-[40px] placeholder:opacity-40 resize-none overflow-hidden leading-tight relative top-[1px]`})]},n))}),pe===t.id&&(0,q.jsx)(`div`,{className:`flex items-center justify-end pt-1`,children:(0,q.jsx)(`div`,{className:`w-3 h-3 border-2 border-accent border-t-transparent rounded-full animate-spin`})})]},t.id):(0,K.createElement)(r.rt.div,{...w(t)?De(t.id):{"data-drag-key":t.id},initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},key:t.id,className:`bg-background/80 rounded-xl p-3 shadow-sm hover:shadow-md ${w(t)?`cursor-grab active:cursor-grabbing`:``} hover:border-accent/40 transition-all group flex flex-col gap-2 relative z-10 border ${s===t.id?`border-accent border-t-2 translate-y-1`:`border-[var(--panel-border)]`} ${Oe===t.id?`opacity-30 border-dashed border-2`:``}`},w(t)&&(0,q.jsxs)(`div`,{className:`absolute top-2 right-2 flex items-center gap-1.5 opacity-100 md:opacity-0 md:group-hover:opacity-100 transition-opacity bg-background/90 backdrop-blur-md border border-[var(--panel-border)] rounded-lg p-1 z-20 shadow-md`,children:[(0,q.jsx)(`span`,{...Ao,"aria-hidden":`true`,className:`p-1 rounded-md text-foreground/40 hover:text-foreground/70 transition-colors`,children:(0,q.jsx)(et,{className:`w-3.5 h-3.5`})}),(0,q.jsx)(`button`,{onClick:n=>{n.stopPropagation(),Ce(e.id,t)},className:`p-1 hover:bg-foreground/5 rounded-md text-foreground/60 hover:text-accent transition-colors`,children:(0,q.jsx)(v.s,{className:`w-3.5 h-3.5`})}),(0,q.jsx)(`button`,{onClick:e=>{e.stopPropagation(),je(t.id,t.name)},className:`p-1 hover:bg-red-500/10 rounded-md text-foreground/60 hover:text-red-500 transition-colors`,children:(0,q.jsx)(k.t,{className:`w-3.5 h-3.5`})})]}),(0,q.jsx)(`p`,{className:`text-[13px] text-foreground/90 font-medium leading-snug break-words pr-12`,children:t.name}),w(t)&&Le.length>1&&(0,q.jsx)(`div`,{className:`-ml-2 -mb-1 mt-0.5 flex items-center`,"data-no-drag":``,children:(0,q.jsx)(r.Q,{compact:!0,portal:!0,direction:`auto`,variant:`ghost`,ariaLabel:`Move “${t.name}” to another category`,value:e.id,options:Le.map(e=>({value:e.id,label:e.title||`Untitled Category`})),onChange:n=>{n!==e.id&&Te(t.id,n,0)}})}),t.fields&&t.fields.length>0&&(0,q.jsx)(`div`,{className:`flex flex-row flex-wrap gap-2 mt-2`,children:t.fields.map((e,t)=>(0,q.jsxs)(`div`,{className:`inline-flex bg-foreground/[0.04] border border-[var(--panel-border)]/50 rounded-[8px] px-2.5 py-1.5 max-w-full`,children:[(0,q.jsxs)(`span`,{className:`text-[11px] text-foreground/50 font-bold mr-1.5 relative -top-[1px] shrink-0 break-all`,children:[e.key,`:`]}),(0,q.jsx)(`span`,{className:`text-[12px] text-foreground/90 font-medium break-words leading-tight min-w-0`,children:e.value})]},t))}),(0,q.jsxs)(`div`,{className:`flex items-end justify-between mt-3 pt-3 border-t border-[var(--panel-border)]/50 w-full gap-2`,children:[(()=>{let e=S&&m?$a(t,p):null;return e?(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 pr-2 border-r border-[var(--panel-border)] border-dashed mr-auto`,children:[e.avatar?(0,q.jsx)(r.k,{src:e.avatar,alt:``,className:`w-4 h-4 rounded-full shrink-0`}):(0,q.jsx)(`div`,{className:`w-4 h-4 rounded-full bg-accent/20 text-accent flex items-center justify-center text-[9px] font-bold shrink-0`,children:e.name[0].toUpperCase()}),(0,q.jsx)(`span`,{className:`text-[10px] font-bold text-foreground/60 truncate max-w-[80px]`,children:e.name})]}):(0,q.jsx)(`div`,{className:`flex items-center gap-2 pr-2 border-r border-[var(--panel-border)] border-dashed mr-auto`})})(),(0,q.jsx)(`span`,{className:`text-[10px] text-foreground/40 font-bold text-right pt-0.5 shrink-0 max-w-[50%] truncate flex-1`,children:t.id.startsWith(`item_`)?new Date(parseInt(t.id.split(`_`)[1])).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}):`Recently Added`})]})))}),c&&o.length>0&&(0,q.jsx)(`div`,{"aria-hidden":`true`,className:`h-0.5 -mt-1 rounded-full bg-accent`}),ie===e.id?(0,q.jsxs)(r.rt.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:`bg-background/80 rounded-xl p-3 shadow-md border border-accent/40 transition-all flex flex-col gap-2 relative z-[100] mt-1`,children:[(0,q.jsx)(`div`,{className:`fixed inset-0 z-[-1]`,onClick:t=>{t.stopPropagation(),Ae(e.id)}}),(0,q.jsx)(`textarea`,{placeholder:`Write an item name...`,className:`no-glow bg-transparent border-none outline-none text-[13px] text-foreground/90 font-medium leading-snug resize-none w-full min-h-[40px] relative z-10`,value:W.name,onChange:e=>G({...W,name:e.target.value}),onKeyDown:t=>{t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),Ae(e.id))},autoFocus:!0}),(0,q.jsx)(`div`,{className:`flex flex-col gap-2 mt-1 relative z-10 w-full`,children:se.map((t,n)=>(0,q.jsxs)(`div`,{className:`flex items-start bg-foreground/[0.04] border border-[var(--panel-border)]/50 rounded-[8px] px-2.5 py-1.5 w-full`,children:[(0,q.jsx)(`input`,{placeholder:L,style:{width:`${Math.max(3,t.key.length||L.length)}ch`},value:t.key,onChange:e=>we(n,e.target.value,t.value),onKeyDown:t=>t.key===`Enter`&&Ae(e.id),className:`no-glow bg-transparent outline-none text-[11px] text-foreground/50 font-bold placeholder:text-foreground/30 relative top-[1px]`}),(0,q.jsx)(`span`,{className:`text-[11px] text-foreground/50 font-bold mr-1.5 relative top-[1px]`,children:`:`}),(0,q.jsx)(`textarea`,{rows:1,placeholder:te,value:t.value,onChange:e=>we(n,t.key,e.target.value),onInput:e=>{let t=e.target;t.style.height=`auto`,t.style.height=t.scrollHeight+`px`},onKeyDown:t=>{t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),Ae(e.id))},className:`no-glow bg-transparent outline-none text-[12px] text-foreground/90 font-medium flex-1 min-w-[40px] placeholder:opacity-40 resize-none overflow-hidden leading-tight relative top-[1px]`})]},n))}),pe===`new`&&(0,q.jsx)(`div`,{className:`flex items-center justify-end pt-1`,children:(0,q.jsx)(`div`,{className:`w-3 h-3 border-2 border-accent border-t-transparent rounded-full animate-spin`})})]}):(0,q.jsxs)(`button`,{onClick:()=>Ce(e.id),className:`flex items-center gap-2 justify-center w-full py-2.5 mt-1 rounded-xl border border-transparent text-[12px] font-bold text-foreground/40 hover:text-foreground hover:bg-foreground/[0.03] transition-all shrink-0`,children:[(0,q.jsx)(T.t,{className:`w-4 h-4`}),` Add Item`]})]})]},e.id)}),(0,q.jsx)(`div`,{className:`w-[10px] shrink-0 pointer-events-none`}),Ee&&ke&&typeof document<`u`&&(0,le.createPortal)((0,q.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none fixed z-[9995] rotate-[1.5deg] rounded-xl border border-accent/40 bg-background/95 p-3 shadow-2xl`,style:{left:Ee.x-Ee.offsetX,top:Ee.y-Ee.offsetY,width:Ee.width},children:(0,q.jsx)(`p`,{className:`text-[13px] text-foreground/90 font-medium leading-snug break-words`,children:ke.name})}),document.body)]})})]})]}),(0,q.jsx)(`style`,{children:`.styled-scrollbars::-webkit-scrollbar { width: 6px; height: 6px; } .styled-scrollbars::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--accent-color) 20%, transparent); border-radius: 4px; } .styled-scrollbars::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--accent-color) 40%, transparent); }`}),(0,q.jsx)(ne.t,{isOpen:!!be,title:`Confirm Deletion`,message:(0,q.jsxs)(q.Fragment,{children:[`Are you sure you want to delete `,(0,q.jsx)(`strong`,{className:`text-foreground font-extrabold break-words mx-1`,children:be?.title}),` This action is permanent.`]}),onConfirm:Ie,onCancel:()=>Q(null),isProcessing:he,confirmText:`Yes, Delete`})]})}function Io(e){return Array.isArray?Array.isArray(e):Ko(e)===`[object Array]`}function Lo(e){if(typeof e==`string`)return e;if(typeof e==`bigint`)return e.toString();let t=e+``;return t==`0`&&1/e==-1/0?`-0`:t}function Ro(e){return e==null?``:Lo(e)}function zo(e){return typeof e==`string`}function Bo(e){return typeof e==`number`}function Vo(e){return e===!0||e===!1||Uo(e)&&Ko(e)==`[object Boolean]`}function Ho(e){return typeof e==`object`}function Uo(e){return Ho(e)&&e!==null}function Wo(e){return e!=null}function Go(e){return!e.trim().length}function Ko(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var qo=`Incorrect 'index' type`,Jo=e=>`Invalid value for key ${e}`,Yo=e=>`Pattern length exceeds max of ${e}.`,Xo=e=>`Missing ${e} property in key`,Zo=e=>`Property 'weight' in key '${e}' must be a positive integer`,Qo=Object.prototype.hasOwnProperty,$o=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=es(e);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function es(e){let t=null,n=null,r=null,i=1,a=null;if(zo(e)||Io(e))r=e,t=ts(e),n=ns(e);else{if(!Qo.call(e,`name`))throw Error(Xo(`name`));let o=e.name;if(r=o,Qo.call(e,`weight`)&&(i=e.weight,i<=0))throw Error(Zo(o));t=ts(o),n=ns(o),a=e.getFn}return{path:t,id:n,weight:i,src:r,getFn:a}}function ts(e){return Io(e)?e:e.split(`.`)}function ns(e){return Io(e)?e.join(`.`):e}function rs(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(Wo(e))if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!Wo(s))return;if(a===t.length-1&&(zo(s)||Bo(s)||Vo(s)||typeof s==`bigint`))n.push(o===void 0?Ro(s):{v:Ro(s),i:o});else if(Io(s)){r=!0;for(let e=0,n=s.length;e<n;e+=1)i(s[e],t,a+1,e)}else t.length&&i(s,t,a+1,o)}};return i(e,zo(t)?t.split(`.`):t,0),r?n:n[0]}var is={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},as={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},os={location:0,threshold:.6,distance:100},ss={useExtendedSearch:!1,useTokenSearch:!1,getFn:rs,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},$=Object.freeze({...as,...is,...os,...ss}),cs=/[^ ]+/g;function ls(e=1,t=3){let n=new Map,r=10**t;return{get(t){let i=t.match(cs).length;if(n.has(i))return n.get(i);let a=1/i**(.5*e),o=parseFloat(Math.round(a*r)/r);return n.set(i,o),o},clear(){n.clear()}}}var us=class{constructor({getFn:e=$.getFn,fieldNormWeight:t=$.fieldNormWeight}={}){this.norm=ls(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,zo(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){let t=this.size();zo(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,n=this.size();t<n;t+=1)--this.records[t].i}removeAll(e){for(let t=e.length-1;t>=0;--t)this.records.splice(e[t],1);for(let e=0,t=this.records.length;e<t;e+=1)this.records[e].i=e}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!Wo(e)||Go(e))return;let n={v:e,i:t,n:this.norm.get(e)};this.records.push(n)}_addObject(e,t){let n={i:t,$:{}};this.keys.forEach((t,r)=>{let i=t.getFn?t.getFn(e):this.getFn(e,t.path);if(Wo(i)){if(Io(i)){let e=[];for(let t=0,n=i.length;t<n;t+=1){let n=i[t];if(Wo(n)){if(zo(n)){if(!Go(n)){let r={v:n,i:t,n:this.norm.get(n)};e.push(r)}}else if(Wo(n.v)){let t=zo(n.v)?n.v:Ro(n.v);if(!Go(t)){let r={v:t,i:n.i,n:this.norm.get(t)};e.push(r)}}}}n.$[r]=e}else if(zo(i)&&!Go(i)){let e={v:i,n:this.norm.get(i)};n.$[r]=e}}}),this.records.push(n)}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}};function ds(e,t,{getFn:n=$.getFn,fieldNormWeight:r=$.fieldNormWeight}={}){let i=new us({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(es)),i.setSources(t),i.create(),i}function fs(e,{getFn:t=$.getFn,fieldNormWeight:n=$.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new us({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function ps(e=[],t=$.minMatchCharLength){let n=[],r=-1,i=-1,a=0;for(let o=e.length;a<o;a+=1){let o=e[a];o&&r===-1?r=a:!o&&r!==-1&&(i=a-1,i-r+1>=t&&n.push([r,i]),r=-1)}return e[a-1]&&a-r>=t&&n.push([r,a-1]),n}var ms=32;function hs(e,t,n,{location:r=$.location,distance:i=$.distance,threshold:a=$.threshold,findAllMatches:o=$.findAllMatches,minMatchCharLength:s=$.minMatchCharLength,includeMatches:c=$.includeMatches,ignoreLocation:l=$.ignoreLocation}={}){if(t.length>ms)throw Error(Yo(ms));let u=t.length,d=e.length,f=Math.max(0,Math.min(r,d)),p=a,m=f,h=(e,t)=>{let n=e/u;if(l)return n;let r=Math.abs(f-t);return i?n+r/i:r?1:n},g=s>1||c,_=g?Array(d):[],v;for(;(v=e.indexOf(t,m))>-1;){let e=h(0,v);if(p=Math.min(e,p),m=v+u,g){let e=0;for(;e<u;)_[v+e]=1,e+=1}}m=-1;let y=[],b=1,x=u+d,S=1<<u-1;for(let t=0;t<u;t+=1){let r=0,i=x;for(;r<i;)h(t,f+i)<=p?r=i:x=i,i=Math.floor((x-r)/2+r);x=i;let a=Math.max(1,f-i+1),s=o?d:Math.min(f+i,d)+u,c=Array(s+2);c[s+1]=(1<<t)-1;for(let r=s;r>=a;--r){let i=r-1,o=n[e[i]];if(g&&(_[i]=+!!o),c[r]=(c[r+1]<<1|1)&o,t&&(c[r]|=(y[r+1]|y[r])<<1|1|y[r+1]),c[r]&S&&(b=h(t,i),b<=p)){if(p=b,m=i,m<=f)break;a=Math.max(1,2*f-m)}}if(h(t+1,f)>p)break;y=c}let C={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=ps(_,s);e.length?c&&(C.indices=e):C.isMatch=!1}return C}function gs(e){let t={};for(let n=0,r=e.length;n<r;n+=1){let i=e.charAt(n);t[i]=(t[i]||0)|1<<r-n-1}return t}function _s(e){if(e.length<=1)return e;e.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);let t=[e[0]];for(let n=1,r=e.length;n<r;n+=1){let r=t[t.length-1],i=e[n];i[0]<=r[1]+1?r[1]=Math.max(r[1],i[1]):t.push(i)}return t}var vs={ł:`l`,Ł:`L`,đ:`d`,Đ:`D`,ø:`o`,Ø:`O`,ħ:`h`,Ħ:`H`,ŧ:`t`,Ŧ:`T`,ı:`i`,ß:`ss`},ys=RegExp(`[`+Object.keys(vs).join(``)+`]`,`g`),bs=String.prototype.normalize?e=>e.normalize(`NFD`).replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,``).replace(ys,e=>vs[e]):e=>e,xs=class{constructor(e,{location:t=$.location,threshold:n=$.threshold,distance:r=$.distance,includeMatches:i=$.includeMatches,findAllMatches:a=$.findAllMatches,minMatchCharLength:o=$.minMatchCharLength,isCaseSensitive:s=$.isCaseSensitive,ignoreDiacritics:c=$.ignoreDiacritics,ignoreLocation:l=$.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l},e=s?e:e.toLowerCase(),e=c?bs(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:gs(e),startIndex:t})},d=this.pattern.length;if(d>ms){let e=0,t=d%ms,n=d-t;for(;e<n;)u(this.pattern.substr(e,ms),e),e+=ms;if(t){let e=d-ms;u(this.pattern.substr(e),e)}}else u(this.pattern,0)}searchIn(e){let{isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r}=this.options;if(e=t?e:e.toLowerCase(),e=n?bs(e):e,this.pattern===e){let t={isMatch:!0,score:0};return r&&(t.indices=[[0,e.length-1]]),t}let{location:i,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,ignoreLocation:l}=this.options,u=[],d=0,f=!1;this.chunks.forEach(({pattern:t,alphabet:n,startIndex:p})=>{let{isMatch:m,score:h,indices:g}=hs(e,t,n,{location:i+p,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,includeMatches:r,ignoreLocation:l});m&&(f=!0),d+=h,m&&g&&u.push(...g)});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&r&&(p.indices=_s(u)),p}},Ss=class{constructor(e){this.pattern=e}static isMultiMatch(e){return Cs(e,this.multiRegex)}static isSingleMatch(e){return Cs(e,this.singleRegex)}search(e){return{isMatch:!1,score:1}}};function Cs(e,t){let n=e.match(t);return n?n[1]:null}var ws=class extends Ss{constructor(e){super(e)}static get type(){return`exact`}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){let t=e===this.pattern;return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},Ts=class extends Ss{constructor(e){super(e)}static get type(){return`inverse-exact`}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){let t=e.indexOf(this.pattern)===-1;return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},Es=class extends Ss{constructor(e){super(e)}static get type(){return`prefix-exact`}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){let t=e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},Ds=class extends Ss{constructor(e){super(e)}static get type(){return`inverse-prefix-exact`}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){let t=!e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},Os=class extends Ss{constructor(e){super(e)}static get type(){return`suffix-exact`}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){let t=e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[e.length-this.pattern.length,e.length-1]}}},ks=class extends Ss{constructor(e){super(e)}static get type(){return`inverse-suffix-exact`}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){let t=!e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},As=class extends Ss{constructor(e,{location:t=$.location,threshold:n=$.threshold,distance:r=$.distance,includeMatches:i=$.includeMatches,findAllMatches:a=$.findAllMatches,minMatchCharLength:o=$.minMatchCharLength,isCaseSensitive:s=$.isCaseSensitive,ignoreDiacritics:c=$.ignoreDiacritics,ignoreLocation:l=$.ignoreLocation}={}){super(e),this._bitapSearch=new xs(e,{location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l})}static get type(){return`fuzzy`}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}},js=class extends Ss{constructor(e){super(e)}static get type(){return`include`}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t=0,n,r=[],i=this.pattern.length;for(;(n=e.indexOf(this.pattern,t))>-1;)t=n+i,r.push([n,t-1]);let a=!!r.length;return{isMatch:a,score:+!a,indices:r}}},Ms=[ws,js,Es,Ds,ks,Os,Ts,As],Ns=Ms.length,Ps=`\0`,Fs=`|`;function Is(e){let t=[],n=e.length,r=0;for(;r<n;){for(;r<n&&e[r]===` `;)r++;if(r>=n)break;let i=r;for(;i<n&&e[i]!==` `&&e[i]!==`"`;)i++;if(i<n&&e[i]===`"`){for(i++;i<n;){if(e[i]===`"`){let t=i+1;if(t>=n||e[t]===` `){i++;break}if(e[t]===`$`&&(t+1>=n||e[t+1]===` `)){i+=2;break}}i++}t.push(e.substring(r,i)),r=i}else{for(;i<n&&e[i]!==` `;)i++;t.push(e.substring(r,i)),r=i}}return t}function Ls(e,t={}){return e.replace(/\\\|/g,Ps).split(Fs).map(e=>{let n=Is(e.replace(/\u0000/g,`|`).trim()).filter(e=>e&&!!e.trim()),r=[];for(let e=0,i=n.length;e<i;e+=1){let i=n[e],a=!1,o=-1;for(;!a&&++o<Ns;){let e=Ms[o],n=e.isMultiMatch(i);n&&(r.push(new e(n,t)),a=!0)}if(!a)for(o=-1;++o<Ns;){let e=Ms[o],n=e.isSingleMatch(i);if(n){r.push(new e(n,t));break}}}return r})}var Rs=new Set([As.type,js.type]),zs=class{constructor(e,{isCaseSensitive:t=$.isCaseSensitive,ignoreDiacritics:n=$.ignoreDiacritics,includeMatches:r=$.includeMatches,minMatchCharLength:i=$.minMatchCharLength,ignoreLocation:a=$.ignoreLocation,findAllMatches:o=$.findAllMatches,location:s=$.location,threshold:c=$.threshold,distance:l=$.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r,minMatchCharLength:i,findAllMatches:o,ignoreLocation:a,location:s,threshold:c,distance:l},e=t?e:e.toLowerCase(),e=n?bs(e):e,this.pattern=e,this.query=Ls(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){let t=this.query;if(!t)return{isMatch:!1,score:1};let{includeMatches:n,isCaseSensitive:r,ignoreDiacritics:i}=this.options;e=r?e:e.toLowerCase(),e=i?bs(e):e;let a=0,o=[],s=0,c=!1;for(let r=0,i=t.length;r<i;r+=1){let i=t[r];o.length=0,a=0,c=!1;for(let t=0,r=i.length;t<r;t+=1){let r=i[t],{isMatch:l,indices:u,score:d}=r.search(e);if(l){a+=1,s+=d;let e=r.constructor.type;e.startsWith(`inverse`)&&(c=!0),n&&(Rs.has(e)?o.push(...u):o.push(u))}else{s=0,a=0,o.length=0,c=!1;break}}if(a){let e={isMatch:!0,score:s/a};return c&&(e.hasInverse=!0),n&&(e.indices=_s(o)),e}}return{isMatch:!1,score:1}}},Bs=[];function Vs(...e){Bs.push(...e)}function Hs(e,t){for(let n=0,r=Bs.length;n<r;n+=1){let r=Bs[n];if(r.condition(e,t))return new r(e,t)}return new xs(e,t)}var Us={AND:`$and`,OR:`$or`},Ws={PATH:`$path`,PATTERN:`$val`},Gs=e=>!!(e[Us.AND]||e[Us.OR]),Ks=e=>!!e[Ws.PATH],qs=e=>!Io(e)&&Ho(e)&&!Gs(e),Js=e=>({[Us.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Ys(e,t,{auto:n=!0}={}){let r=e=>{if(zo(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=Hs(e,t)),r}let i=Object.keys(e),a=Ks(e);if(!a&&i.length>1&&!Gs(e))return r(Js(e));if(qs(e)){let r=a?e[Ws.PATH]:i[0],o=a?e[Ws.PATTERN]:e[r];if(!zo(o))throw Error(Jo(r));let s={keyId:ns(r),pattern:o};return n&&(s.searcher=Hs(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];Io(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return Gs(e)||(e=Js(e)),r(e)}function Xs(e,{ignoreFieldNorm:t=$.ignoreFieldNorm}){let n=1;return e.forEach(({key:e,norm:r,score:i})=>{let a=e?e.weight:null;n*=(i===0&&a?2**-52:i)**+((a||1)*(t?1:r))}),n}function Zs(e,{ignoreFieldNorm:t=$.ignoreFieldNorm}){e.forEach(e=>{e.score=Xs(e.matches,{ignoreFieldNorm:t})})}var Qs=class{constructor(e){this.limit=e,this.heap=[]}get size(){return this.heap.length}shouldInsert(e){return this.size<this.limit||e<this.heap[0].score}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):e.score<this.heap[0].score&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(e){return this.heap.sort(e)}_bubbleUp(e){let t=this.heap;for(;e>0;){let n=e-1>>1;if(t[e].score<=t[n].score)break;let r=t[e];t[e]=t[n],t[n]=r,e=n}}_sinkDown(e){let t=this.heap,n=t.length,r=e;do{e=r;let i=2*e+1,a=2*e+2;if(i<n&&t[i].score>t[r].score&&(r=i),a<n&&t[a].score>t[r].score&&(r=a),r!==e){let n=t[e];t[e]=t[r],t[r]=n}}while(r!==e)}};function $s(e,t){let n=e.matches;t.matches=[],Wo(n)&&n.forEach(e=>{if(!Wo(e.indices)||!e.indices.length)return;let{indices:n,value:r}=e,i={indices:n,value:r};e.key&&(i.key=e.key.src),e.idx>-1&&(i.refIndex=e.idx),t.matches.push(i)})}function ec(e,t){t.score=e.score}function tc(e,t,{includeMatches:n=$.includeMatches,includeScore:r=$.includeScore}={}){let i=[];return n&&i.push($s),r&&i.push(ec),e.map(e=>{let{idx:n}=e,r={item:t[n],refIndex:n};return i.length&&i.forEach(t=>{t(e,r)}),r})}var nc=/\b\w+\b/g;function rc({isCaseSensitive:e=!1,ignoreDiacritics:t=!1}={}){return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=bs(n)),n.match(nc)||[]}}}function ic(e,t,n){let r=new Map,i=new Map,a=0;function o(e,t,o,s){let c=n.tokenize(e);if(!c.length)return;a++;let l=new Map;for(let e of c)l.set(e,(l.get(e)||0)+1);for(let[e,n]of l){let a={docIdx:t,keyIdx:o,subIdx:s,tf:n},c=r.get(e);c||(c=[],r.set(e,c)),c.push(a),i.set(e,(i.get(e)||0)+1)}}for(let n of e){let{i:e,v:r,$:i}=n;if(r!==void 0){o(r,e,-1,-1);continue}if(i)for(let n=0;n<t;n++){let t=i[n];if(t)if(Array.isArray(t))for(let r of t)o(r.v,e,n,r.i??-1);else o(t.v,e,n,-1)}}return{terms:r,fieldCount:a,df:i}}function ac(e,t,n,r){let{i,v:a,$:o}=t;function s(t,n,a){let o=r.tokenize(t);if(!o.length)return;e.fieldCount++;let s=new Map;for(let e of o)s.set(e,(s.get(e)||0)+1);for(let[t,r]of s){let o={docIdx:i,keyIdx:n,subIdx:a,tf:r},s=e.terms.get(t);s||(s=[],e.terms.set(t,s)),s.push(o),e.df.set(t,(e.df.get(t)||0)+1)}}if(a!==void 0){s(a,-1,-1);return}if(o)for(let e=0;e<n;e++){let t=o[e];if(t)if(Array.isArray(t))for(let n of t)s(n.v,e,n.i??-1);else s(t.v,e,-1)}}function oc(e,t){for(let[n,r]of e.terms){let i=r.filter(e=>e.docIdx!==t),a=r.length-i.length;a>0&&(e.fieldCount-=a,e.df.set(n,(e.df.get(n)||0)-a),i.length===0?(e.terms.delete(n),e.df.delete(n)):e.terms.set(n,i))}}var sc=class{constructor(e,t,n){this.options={...$,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new $o(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,n),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;let t=Hs(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof us))throw Error(qo);if(this._myIndex=t||ds(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=rc({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});this._invertedIndex=ic(this._myIndex.records,this._myIndex.keys.length,e)}}add(e){if(Wo(e)&&(this._docs.push(e),this._myIndex.add(e),this._invertedIndex)){let e=this._myIndex.records[this._myIndex.records.length-1],t=rc({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});ac(this._invertedIndex,e,this._myIndex.keys.length,t)}}remove(e=()=>!1){let t=[],n=[];for(let r=0,i=this._docs.length;r<i;r+=1)e(this._docs[r],r)&&(t.push(this._docs[r]),n.push(r));if(n.length){if(this._invertedIndex)for(let e of n)oc(this._invertedIndex,e);for(let e=n.length-1;e>=0;--e)this._docs.splice(n[e],1);this._myIndex.removeAll(n)}return t}removeAt(e){this._invertedIndex&&oc(this._invertedIndex,e);let t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),t}getIndex(){return this._myIndex}search(e,t){let{limit:n=-1}=t||{},{includeMatches:r,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:s}=this.options;if(zo(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return Bo(n)&&n>-1&&(e=e.slice(0,n)),e}let c=Bo(n)&&n>0&&zo(e),l;if(c){let t=new Qs(n);zo(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),l=t.extractSorted(o)}else l=zo(e)?zo(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),Zs(l,{ignoreFieldNorm:s}),a&&l.sort(o),Bo(n)&&n>-1&&(l=l.slice(0,n));return tc(l,this._docs,{includeMatches:r,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),{records:i}=this._myIndex,a=t?null:[];return i.forEach(({v:e,i,n:o})=>{if(!Wo(e))return;let{isMatch:s,score:c,indices:l}=r.searchIn(e);if(s){let r={item:e,idx:i,matches:[{score:c,value:e,norm:o,indices:l}]};t?(r.score=Xs(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):a.push(r)}}),a}_searchLogical(e){let t=Ys(e,this.options),n=(e,t,r)=>{if(!(`children`in e)){let{keyId:n,searcher:i}=e,a;return n===null?(a=[],this._myIndex.keys.forEach((e,n)=>{a.push(...this._findMatches({key:e,value:t[n],searcher:i}))})):a=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:i}),a&&a.length?[{idx:r,item:t,matches:a}]:[]}let{children:i,operator:a}=e,o=[];for(let e=0,s=i.length;e<s;e+=1){let s=i[e],c=n(s,t,r);if(c.length)o.push(...c);else if(a===Us.AND)return[]}return o},r=this._myIndex.records,i=new Map,a=[];return r.forEach(({$:e,i:r})=>{if(Wo(e)){let o=n(t,e,r);o.length&&(i.has(r)||(i.set(r,{idx:r,item:e,matches:[]}),a.push(i.get(r))),o.forEach(({matches:e})=>{i.get(r).matches.push(...e)}))}}),a}_searchObjectList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),{keys:i,records:a}=this._myIndex,o=t?null:[];return a.forEach(({$:e,i:a})=>{if(!Wo(e))return;let s=[],c=!1,l=!1;if(i.forEach((t,n)=>{let i=this._findMatches({key:t,value:e[n],searcher:r});i.length?(s.push(...i),i[0].hasInverse&&(l=!0)):c=!0}),!(l&&c)&&s.length){let r={idx:a,item:e,matches:s};t?(r.score=Xs(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):o.push(r)}}),o}_findMatches({key:e,value:t,searcher:n}){if(!Wo(t))return[];let r=[];if(Io(t))t.forEach(({v:t,i,n:a})=>{if(!Wo(t))return;let{isMatch:o,score:s,indices:c,hasInverse:l}=n.searchIn(t);o&&r.push({score:s,key:e,value:t,idx:i,norm:a,indices:c,hasInverse:l})});else{let{v:i,n:a}=t,{isMatch:o,score:s,indices:c,hasInverse:l}=n.searchIn(i);o&&r.push({score:s,key:e,value:i,norm:a,indices:c,hasInverse:l})}return r}},cc=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=rc({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics});let n=this.analyzer.tokenize(e),{df:r,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(let e of n){this.termSearchers.push(new xs(e,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));let n=r.get(e)||0,a=Math.log(1+(i-n+.5)/(n+.5));this.idfWeights.push(a)}}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};let t=[],n=0,r=0,i=0;for(let a=0;a<this.termSearchers.length;a++){let o=this.termSearchers[a].searchIn(e),s=this.idfWeights[a];r+=s,o.isMatch&&(i++,n+=s*(1-o.score),o.indices&&t.push(...o.indices))}if(i===0)return{isMatch:!1,score:1};let a=r>0?1-n/r:0,o={isMatch:!0,score:Math.max(.001,a)};return this.options.includeMatches&&t.length&&(o.indices=_s(t)),o}};sc.version=`7.3.0`,sc.createIndex=ds,sc.parseIndex=fs,sc.config=$,sc.match=function(e,t,n){return Hs(e,{...$,...n}).searchIn(t)},sc.parseQuery=Ys,Vs(zs),Vs(cc),sc.use=function(...e){e.forEach(e=>Vs(e))};var lc=[{text:`text-red-400`,bgCircle:`bg-red-400`,bgCard:`bg-red-500/[0.08]`,borderCard:`border-red-500/30`,bgLight:`bg-red-500/15`,bgHover:`hover:bg-red-500`,bgAlt:`bg-red-500/[0.04]`,name:`Red`},{text:`text-orange-400`,bgCircle:`bg-orange-400`,bgCard:`bg-orange-500/[0.08]`,borderCard:`border-orange-500/30`,bgLight:`bg-orange-500/15`,bgHover:`hover:bg-orange-500`,bgAlt:`bg-orange-500/[0.04]`,name:`Orange`},{text:`text-yellow-400`,bgCircle:`bg-yellow-400`,bgCard:`bg-yellow-500/[0.08]`,borderCard:`border-yellow-500/30`,bgLight:`bg-yellow-500/15`,bgHover:`hover:bg-yellow-500`,bgAlt:`bg-yellow-500/[0.04]`,name:`Yellow`},{text:`text-green-400`,bgCircle:`bg-green-400`,bgCard:`bg-green-500/[0.08]`,borderCard:`border-green-500/30`,bgLight:`bg-green-500/15`,bgHover:`hover:bg-green-500`,bgAlt:`bg-green-500/[0.04]`,name:`Green`},{text:`text-blue-400`,bgCircle:`bg-blue-400`,bgCard:`bg-blue-500/[0.08]`,borderCard:`border-blue-500/30`,bgLight:`bg-blue-500/15`,bgHover:`hover:bg-blue-500`,bgAlt:`bg-blue-500/[0.04]`,name:`Blue`},{text:`text-accent`,bgCircle:`bg-accent`,bgCard:`bg-accent/[0.08]`,borderCard:`border-accent/30`,bgLight:`bg-accent/15`,bgHover:`hover:bg-accent`,bgAlt:`bg-accent/[0.04]`,name:`Purple`},{text:`text-pink-400`,bgCircle:`bg-pink-400`,bgCard:`bg-pink-500/[0.08]`,borderCard:`border-pink-500/30`,bgLight:`bg-pink-500/15`,bgHover:`hover:bg-pink-500`,bgAlt:`bg-pink-500/[0.04]`,name:`Pink`},{text:`text-foreground/60`,bgCircle:`bg-foreground/30`,bgCard:`bg-foreground/[0.04]`,borderCard:`border-[var(--panel-border)]/50`,bgLight:`bg-foreground/15`,bgHover:`hover:bg-foreground/30`,bgAlt:`bg-foreground/[0.02]`,name:`Default`}];function uc({title:e=`Table View`,subtitle:t=`/table`,backUrl:l,tableCollection:u=`pub_table_data`,config:d,customContent:f}){let{user:p}=r.It(),m=!!d,h=d?.isInternal||d?.isShared;d?.isPrivate&&d?.isAdmin;let g=d?.isAdmin||h,_=o.Tn(u),y=c.f(),b=c.F(u),x=m?g||_||u.startsWith(`role_`):!0,[S,w]=(0,K.useState)(()=>_?c.u(u):``),E=c.o({on:u.startsWith(`user_`)&&!_,everyone:!1}),D=E.uid||p?.uid||``,O=(e,t)=>p?_?t?c.l({uid:p.uid,...Za(p),...e},p.uid):e:u.startsWith(`user_`)?{...e,uid:D||p.uid}:t?{uid:p.uid,...e}:e:e,A=!!f,M=d?.showButton!==!1&&!A,P=d?.buttonText||`+`,ee=d?.buttonStyle||`secondary`,F=d?.showExportButton!==!1,[I,L]=(0,K.useState)([]),te=_?b.records:I,[R,z]=(0,K.useState)(`demo`),[B,re]=(0,K.useState)(!1),[V,H]=(0,K.useState)(!1),[ie,ae]=(0,K.useState)(``),[oe,U]=(0,K.useState)(!1),[W,G]=(0,K.useState)(null),[se,J]=(0,K.useState)(null),[ce,X]=(0,K.useState)(``),[le,ue]=(0,K.useState)(!1),[de,fe]=(0,K.useState)(``),[pe,me]=(0,K.useState)(null),[he,Z]=(0,K.useState)(null),[ge,_e]=(0,K.useState)(null),[ve,ye]=(0,K.useState)(!1);(0,K.useEffect)(()=>{let e=u.startsWith(`user_`);if(e&&!p||_)return;let t=e?`${u}|${D}`:u;try{let e=localStorage.getItem(`fbos_tables_${t}`);e&&L(JSON.parse(e))}catch{}let n=(0,Y.onSnapshot)(e&&p?(0,Y.query)((0,Y.collection)(r.ui,u),(0,Y.where)(`uid`,`==`,D||p.uid)):(0,Y.collection)(r.ui,u),n=>{let i=[];if(n.forEach(e=>{i.push({id:e.id,...e.data()})}),i.length===0){let t={name:`Unnamed Table`,columns:[`Column 1`,`Column 2`,`Column 3`,`Column 4`],...p?{uid:D||p.uid}:{},rows:[{id:`1`,"Column 1":``,"Column 2":``,"Column 3":``,"Column 4":``},{id:`2`,"Column 1":``,"Column 2":``,"Column 3":``,"Column 4":``}]};(0,Y.setDoc)((0,Y.doc)(r.ui,u,e&&p?`demo_${D||p.uid}`:`demo`),t)}else{let e=i.sort((e,t)=>(e.name||``).localeCompare(t.name||``));L(e),localStorage.setItem(`fbos_tables_${t}`,JSON.stringify(e))}},a.s);return()=>n()},[u,p,_,D]);let be=(0,K.useRef)(!1);(0,K.useEffect)(()=>{!_||!p||b.loading||b.records.length||be.current||(be.current=!0,(0,Y.setDoc)((0,Y.doc)(r.ui,u,`demo_${p.uid}`),c.l({uid:p.uid,...Za(p),name:`Unnamed Table`,columns:[`Column 1`,`Column 2`,`Column 3`,`Column 4`],rows:[{id:`1`,"Column 1":``,"Column 2":``,"Column 3":``,"Column 4":``},{id:`2`,"Column 1":``,"Column 2":``,"Column 3":``,"Column 4":``}]},p.uid)))},[_,p,b.loading,b.records.length,u]);let Q=te.find(e=>e.id===R)||te[0]||{columns:[],rows:[]},xe=!_||c.C(Q,y),Se=async e=>{Q.id&&(p&&u.startsWith(`user_`)&&(e.uid=D||p.uid),await(0,Y.setDoc)((0,Y.doc)(r.ui,u,Q.id),e,{merge:!0}))},Ce=()=>{if(!Q.rows||Q.rows.length===0)return;let e=Q.columns.join(`,`),t=Q.rows.map(e=>Q.columns.map(t=>`"${e[t]||``}"`).join(`,`)).join(`
9
+ `),n=new Blob([`${e}\n${t}`],{type:`text/csv`}),r=window.URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`export_${Q.name||`table`}.csv`,i.click(),window.URL.revokeObjectURL(r)},we=(e,t,n)=>{Se({...Q,rows:Q.rows.map(r=>r.id===e?{...r,[t]:n}:r)})},Te=()=>{let e=Za(p),t={id:Date.now().toString(),...p?{_uid:p.uid,_creatorName:e.creatorName,_creatorAvatar:e.creatorAvatar}:{}};Q.columns.forEach(e=>t[e]=``),Se({...Q,rows:[...Q.rows||[],t]})},Ee=e=>{Se({...Q,rows:Q.rows.filter(t=>t.id!==e)})},De=()=>{ge&&(ge.kind===`row`?Ee(ge.id):ke(ge.name),_e(null))},Oe=()=>{let e=`Column ${(Q.columns?.length||0)+1}`;Q.columns?.includes(e)||(Se({...Q,columns:[...Q.columns||[],e]}),setTimeout(()=>{let e=document.getElementById(`table-scroll-container`);e&&e.scrollTo({left:e.scrollWidth,behavior:`smooth`})},100))},ke=e=>{let t=(Q.columns||[]).filter(t=>t!==e),n=(Q.rows||[]).map(t=>{let n={...t};return delete n[e],n}),r={...Q.colColors||{}};delete r[e],Se({...Q,columns:t,rows:n,colColors:r})},Ae=async e=>{e.trim()&&Q.id&&e!==Q.name&&await(0,Y.setDoc)((0,Y.doc)(r.ui,u,Q.id),{name:e},{merge:!0})},je=async()=>{U(!0),re(!1);let e=`tbl_${Date.now()}`;await(0,Y.setDoc)((0,Y.doc)(r.ui,u,e),{name:`Unnamed Table`,columns:[`Column 1`,`Column 2`,`Column 3`],...p?{uid:p.uid}:{},rows:[]}),setTimeout(()=>{z(e),U(!1)},600)},Me=e=>{let t=de.trim();if(t&&t!==e&&!Q.columns?.includes(t)){let n=Q.columns.map(n=>n===e?t:n),r=(Q.rows||[]).map(n=>{let r={...n};return r[t]=r[e]||``,delete r[e],r}),i={...Q.colColors||{}};i[e]&&(i[t]=i[e],delete i[e]),Se({...Q,columns:n,rows:r,colColors:i})}J(null)},Ne=e=>$a({uid:e._uid,creatorName:e._creatorName,creatorAvatar:e._creatorAvatar},p),Pe=Q.rows||[];return ce.trim()!==``&&(Pe=new sc(Pe.map(e=>({...e,_creatorMatch:Ne(e)?.name||``})),{keys:(Q.columns||[]).concat([`_creatorMatch`]),threshold:.4,ignoreLocation:!0}).search(ce).map(e=>{let{_creatorMatch:t,...n}=e.item;return n})),(0,q.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-4 md:mb-6 flex items-center gap-3`,children:[!m&&l&&(0,q.jsx)(c.r,{to:l}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(n.t,{children:e}),t&&(0,q.jsxs)(`div`,{className:`max-sm:hidden sm:flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,q.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),t]})]})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 min-h-0 pb-16`,children:[m&&(0,q.jsx)(i.t,{}),(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},className:`glass-panel border border-[var(--panel-border)] rounded-3xl overflow-hidden shadow-2xl relative z-10 flex flex-col flex-1 min-h-[400px]`,children:[(0,q.jsx)(`div`,{className:`absolute top-0 right-0 w-[400px] h-[400px] bg-accent/5 blur-[100px] rounded-full pointer-events-none -z-10`}),(0,q.jsxs)(`div`,{className:`p-4 md:px-6 border-b border-[var(--panel-border)]/50 flex items-center justify-between bg-foreground/[0.01] gap-3 sm:gap-4`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col min-w-0 relative`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 relative`,children:[(0,q.jsxs)(`div`,{className:`relative flex items-center`,children:[V?(0,q.jsx)(`div`,{contentEditable:!0,suppressContentEditableWarning:!0,onBlur:e=>{H(!1),Ae(e.currentTarget.textContent||``)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},className:`bg-transparent border-b-2 border-accent outline-none text-[16px] font-bold text-foreground inline-block min-w-[20px] whitespace-nowrap px-1 py-0.5`,children:Q.name||`Unnamed Table`}):(0,q.jsx)(`h3`,{className:`font-bold text-[16px] text-foreground/90 hover:text-accent transition-colors truncate max-w-[38vw] sm:max-w-[200px] ${xe?`cursor-pointer`:``}`,onClick:()=>xe&&H(!0),title:xe?`Click to rename table`:void 0,children:Q.name||`Unnamed Table`}),(0,q.jsx)(r.it,{children:B&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>re(!1)}),(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:-10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},className:`absolute top-[120%] left-0 w-[220px] bg-background/95 backdrop-blur-xl border border-[var(--panel-border)] rounded-2xl shadow-2xl z-50 py-2 flex flex-col`,children:[(0,q.jsx)(`div`,{className:`px-4 py-2 text-[10px] font-bold uppercase tracking-wider text-foreground/40 border-b border-[var(--panel-border)] mb-1`,children:`Your Tables`}),(0,q.jsx)(`div`,{className:`max-h-[250px] overflow-y-auto styled-scrollbars z-50 relative`,children:te.map(e=>(0,q.jsx)(`button`,{onClick:()=>{z(e.id),re(!1)},className:`w-full px-4 py-2 text-[13px] font-bold text-left hover:bg-foreground/[0.03] transition-colors truncate ${R===e.id?`text-accent bg-accent/5`:`text-foreground/70`}`,children:e.name||`Unnamed Table`},e.id))}),(0,q.jsx)(`div`,{className:`w-full h-[1px] bg-[var(--panel-border)]/50 my-1`}),(0,q.jsxs)(`button`,{onClick:je,className:`w-full px-4 py-2.5 text-[13px] font-bold text-left text-foreground/70 hover:text-foreground hover:bg-foreground/5 transition-colors flex items-center gap-2`,children:[(0,q.jsx)(T.t,{className:`w-4 h-4`}),` Create New Table`]})]})]})})]}),(0,q.jsx)(`button`,{onClick:()=>re(!B),className:`p-1 px-1.5 rounded-lg hover:bg-foreground/5 transition-colors text-foreground/40 hover:text-foreground shrink-0 border border-transparent hover:border-[var(--panel-border)]`,children:(0,q.jsx)(s.t,{className:`w-4 h-4 transition-transform ${B?`rotate-180 text-accent`:``}`})})]}),(0,q.jsxs)(`span`,{className:`opacity-40 text-[11px] font-bold mt-1 uppercase tracking-wider`,children:[(Q.rows||[]).length,` Records`]})]}),(0,q.jsx)(`div`,{className:`relative shrink-0 ${le?`flex-1 min-w-[130px] max-w-[300px]`:``}`,children:le?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(C.n,{className:`absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-foreground/40`}),(0,q.jsx)(`input`,{autoFocus:!0,type:`text`,"aria-label":`Search records`,placeholder:`Search records...`,value:ce,onChange:e=>X(e.target.value),onBlur:()=>{ce.trim()||ue(!1)},onKeyDown:e=>{e.key===`Escape`&&(X(``),ue(!1))},className:`w-full bg-background border border-[var(--panel-border)] rounded-xl py-2.5 px-9 text-[13px] font-medium text-foreground focus:outline-none focus:border-accent transition-colors shadow-inner`})]}):(0,q.jsx)(`button`,{type:`button`,onClick:()=>ue(!0),"aria-label":`Search records`,title:`Search records`,className:`w-10 h-10 flex items-center justify-center rounded-xl border border-[var(--panel-border)] text-foreground/50 hover:text-accent hover:bg-foreground/5 transition-colors`,children:(0,q.jsx)(C.n,{className:`w-4 h-4`})})}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,q.jsx)(c.a,{viewing:E}),F&&(0,q.jsx)(N.t,{variant:`secondary`,onClick:Ce,className:`px-3 py-2.5 font-bold rounded-xl shadow-sm border border-[var(--panel-border)] flex items-center gap-2`,children:(0,q.jsx)(v.d,{className:`w-4 h-4`})}),M&&xe&&(0,q.jsx)(N.t,{variant:ee===`primary`?void 0:`secondary`,onClick:Te,className:`px-3 py-2.5 font-bold rounded-xl border border-[var(--panel-border)] shadow-sm flex items-center gap-2 whitespace-nowrap`,children:P===`+`?(0,q.jsx)(T.t,{className:`w-4 h-4`}):P})]})]}),(0,q.jsx)(`div`,{id:`table-scroll-container`,className:`overflow-auto w-full flex-1 min-h-[300px] relative styled-scrollbars`,children:f?(0,q.jsx)(c.p,{value:{prefix:o.Mn(d||{}),collection:_?u:``,recordId:_?Q.id||S:``},children:(0,q.jsx)(`div`,{className:`fbos-content-slot fbos-tab-fill p-4 md:p-8 flex-1 overflow-y-auto relative min-h-[400px]`,children:(0,q.jsx)(j.p,{size:`part`,children:(0,q.jsx)(f,{config:d,actions:{tables:te,activeTable:Q,collection:u,user:p,error:_?b.error:``,...c.s(u,y,_,S),saveTable:async(e,t)=>{let n=O(t,!te.some(t=>t.id===e));_&&e===S&&w(c.u(u)),L(t=>t.find(t=>t.id===e)?t.map(t=>t.id===e?{...t,...n}:t):[...t,{id:e,...n}]),await(0,Y.setDoc)((0,Y.doc)(r.ui,u,e),n,{merge:!0})},deleteTable:async e=>{L(t=>t.filter(t=>t.id!==e)),await(0,Y.deleteDoc)((0,Y.doc)(r.ui,u,e))},updateCell:(e,t,n)=>we(e,t,n),addRow:()=>Te(),addColumn:()=>Oe()}})})})}):(0,q.jsx)(r.it,{mode:`wait`,children:oe?(0,q.jsxs)(r.rt.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 flex flex-col items-center justify-center bg-background/40 backdrop-blur-[2px] z-50`,children:[(0,q.jsx)(`div`,{className:`w-8 h-8 rounded-full border-2 border-accent border-r-transparent animate-spin mb-4`}),(0,q.jsx)(`p`,{className:`text-[11px] font-bold text-foreground/50 uppercase tracking-widest`,children:`Generating Table`})]},`loader`):(0,q.jsxs)(r.rt.table,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`w-full text-left border-collapse table-auto relative min-w-[800px]`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsxs)(`tr`,{className:`border-b border-[var(--panel-border)] transition-colors ${Q.headerColor?lc.find(e=>e.text===Q.headerColor)?.bgAlt:`bg-foreground/[0.02]`}`,children:[(0,q.jsx)(`th`,{className:`py-4 px-6 text-[12px] font-bold uppercase tracking-wider whitespace-nowrap text-foreground/50 w-32 border-r border-[var(--panel-border)]/20 ${x?``:`hidden`}`,children:`Creator`}),(Q.columns||[]).map((e,t)=>{let n=(Q.colColors||{})[e],r=(Q.colorTimestamps||{})[`col_${e}`]||0;Q.headerColor;let a=(Q.colorTimestamps||{}).header||0,o=`bg-transparent`,s=`text-foreground/50`;if(n&&n!==`none`&&r>=a){let e=lc.find(e=>e.text===n);e&&(o=e.bgCard,s=e.text)}return(0,q.jsx)(`th`,{className:`py-3 px-6 text-[12px] font-bold uppercase tracking-wider relative group h-[53px] min-w-[120px] ${s} ${o} border-r border-[var(--panel-border)]/20 last:border-r-0 select-none align-middle`,children:(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2 w-full h-full`,children:[se===e?(0,q.jsx)(`div`,{className:`flex-1 min-w-[50px]`,children:(0,q.jsx)(`span`,{contentEditable:!0,suppressContentEditableWarning:!0,onBlur:t=>{J(null),fe(t.currentTarget.textContent||``),(t.currentTarget.textContent||``).trim()!==``&&Me(e)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())},className:`bg-transparent outline-none border-b border-accent/40 font-bold text-[12px] uppercase tracking-wider p-0 m-0 ${s} block w-full whitespace-nowrap overflow-hidden cursor-text`,ref:e=>{e&&requestAnimationFrame(()=>{e.focus()})},children:de})}):(0,q.jsx)(`div`,{className:`flex items-center gap-2 flex-1 overflow-hidden`,onClick:()=>{xe&&(J(e),fe(e))},children:(0,q.jsx)(`span`,{className:`truncate cursor-text`,children:e})}),(0,q.jsxs)(`div`,{className:`relative shrink-0 flex items-center h-full gap-0.5`,children:[(0,q.jsx)(`button`,{onClick:()=>Z(he===e?null:e),className:`p-1.5 rounded-lg opacity-0 group-hover:opacity-100 transition-opacity hover:bg-foreground/10 ${n&&n!==`none`?`!opacity-100`:``} text-current`,children:(0,q.jsx)(i.E,{className:`w-4 h-4`})}),(Q.columns||[]).length>1&&(0,q.jsx)(`button`,{onClick:t=>{t.stopPropagation(),xe&&_e({kind:`column`,name:e})},className:`p-1.5 rounded-lg opacity-0 group-hover:opacity-100 transition-opacity hover:bg-red-500/10 text-foreground/30 hover:text-red-500`,title:`Delete column`,children:(0,q.jsx)(k.t,{className:`w-3.5 h-3.5`})}),he===e&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`fixed inset-0 z-30`,onClick:()=>Z(null)}),(0,q.jsxs)(`div`,{className:`absolute top-8 right-0 flex gap-1.5 bg-background/95 backdrop-blur-xl border border-[var(--panel-border)] p-2 rounded-xl shadow-xl z-50 items-center`,children:[(0,q.jsx)(`button`,{onClick:t=>{t.preventDefault(),t.stopPropagation();let n={...Q.colColors||{},[e]:`none`},r={...Q.colorTimestamps||{},[`col_${e}`]:Date.now()};Se({...Q,colColors:n,colorTimestamps:r}),Z(null)},className:`w-4 h-4 rounded-full flex items-center justify-center bg-foreground/10 hover:bg-red-500/20 hover:text-red-500 text-foreground/40 transition-colors border border-[var(--panel-border)]/50 shrink-0`,title:`Remove Color`,children:(0,q.jsx)(C.t,{className:`w-3 h-3`})}),(0,q.jsx)(`div`,{className:`h-4 w-px bg-[var(--panel-border)]/50 mx-0.5`}),lc.map(t=>(0,q.jsx)(`button`,{onClick:n=>{n.preventDefault(),n.stopPropagation();let r={...Q.colColors||{},[e]:t.text},i={...Q.colorTimestamps||{},[`col_${e}`]:Date.now()};Se({...Q,colColors:r,colorTimestamps:i}),Z(null)},className:`w-4 h-4 rounded-full ${t.bgCircle} hover:scale-125 transition-transform border border-[var(--panel-border)]/50 shrink-0`},t.name))]})]})]})]})},`col_${t}_${e}`)}),(0,q.jsx)(`th`,{className:`py-4 px-4 w-14 border-l border-[var(--panel-border)]/30 relative`,children:(0,q.jsxs)(`div`,{className:`flex items-center justify-end gap-0.5 relative z-20`,children:[(0,q.jsx)(`button`,{onClick:()=>ye(!ve),className:`p-1.5 rounded-lg transition-colors hover:bg-foreground/10 ${Q.headerColor?lc.find(e=>e.text===Q.headerColor)?.text:`text-foreground/30`}`,children:(0,q.jsx)(i.E,{className:`w-4 h-4`})}),ve&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`fixed inset-0 z-30`,onClick:()=>ye(!1)}),(0,q.jsxs)(`div`,{className:`absolute top-6 right-8 flex gap-1.5 bg-background/90 backdrop-blur-xl border border-[var(--panel-border)] p-2 rounded-xl shadow-xl z-50 items-center`,children:[(0,q.jsx)(`button`,{onClick:()=>{Se({...Q,headerColor:``}),ye(!1)},className:`w-4 h-4 rounded-full flex items-center justify-center bg-foreground/10 hover:bg-red-500/20 hover:text-red-500 text-foreground/40 transition-colors border border-[var(--panel-border)]/50 shrink-0`,title:`Remove Header Color`,children:(0,q.jsx)(C.t,{className:`w-3 h-3`})}),(0,q.jsx)(`div`,{className:`h-4 w-px bg-[var(--panel-border)]/50 mx-0.5`}),lc.map(e=>(0,q.jsx)(`button`,{onClick:()=>{let t={...Q.colorTimestamps||{},header:Date.now()};Se({...Q,headerColor:e.text,colorTimestamps:t}),ye(!1)},className:`w-4 h-4 rounded-full ${e.bgCircle} hover:scale-125 transition-transform border border-[var(--panel-border)]/50`},e.name))]})]}),(0,q.jsx)(`button`,{onClick:()=>xe&&Oe(),className:`p-1.5 rounded-lg text-foreground/40 hover:text-accent hover:bg-accent/10 transition-colors flex items-center justify-center ${xe?``:`hidden`}`,children:(0,q.jsx)(T.t,{className:`w-4 h-4`})})]})})]})}),(0,q.jsxs)(`tbody`,{children:[Pe.map((e,t)=>{let n=t%2==1,a=(Q.rowColors||{})[e.id],o=a?n?lc.find(e=>e.text===a)?.bgAlt:lc.find(e=>e.text===a)?.bgCard:n?`bg-foreground/[0.02]`:`bg-transparent`;return(0,q.jsxs)(`tr`,{className:`border-b border-[var(--panel-border)]/30 hover:bg-foreground/[0.04] transition-colors group`,children:[(0,q.jsx)(`td`,{className:`py-4 px-6 whitespace-nowrap h-[53px] border-r border-[var(--panel-border)]/20 ${o} ${x?``:`hidden`}`,children:(0,q.jsx)(`div`,{className:`flex items-center gap-2`,children:m?(()=>{let t=Ne(e);return t?(0,q.jsxs)(q.Fragment,{children:[t.avatar?(0,q.jsx)(r.k,{src:t.avatar,alt:``,className:`w-5 h-5 rounded-full shrink-0`}):(0,q.jsx)(`div`,{className:`w-5 h-5 rounded-full bg-accent/20 text-accent flex items-center justify-center text-[10px] font-bold shrink-0`,children:t.name[0].toUpperCase()}),(0,q.jsx)(`span`,{className:`text-[11px] font-bold text-foreground/80 tracking-tight shrink-0`,children:t.name})]}):(0,q.jsx)(`span`,{className:`text-[11px] font-bold text-foreground/30`,children:`—`})})():(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`w-5 h-5 rounded-full bg-accent/20 text-accent flex items-center justify-center text-[10px] font-bold shrink-0 shadow-inner group-hover:scale-110 transition-transform`,children:`G`}),(0,q.jsx)(`span`,{className:`text-[11px] font-bold text-foreground/80 tracking-tight shrink-0`,children:`Guest`})]})})}),(Q.columns||[]).map(r=>{let i=W?.id===e.id&&W?.field===r,a=(Q.colColors||{})[r],o=(Q.colorTimestamps||{})[`col_${r}`]||0,s=(Q.rowColors||{})[e.id],c=(Q.colorTimestamps||{})[`row_${e.id}`]||0,l=``;l=c>o?s===`none`?``:s:o>c?a===`none`?``:a:s===`none`?``:s||a||``,l===`none`&&(l=``);let u=l?lc.find(e=>e.text===l):null,d=u?n?u.bgAlt:u.bgCard:n?`bg-foreground/[0.02]`:`bg-transparent`,f=u?u.text:`text-foreground/80`;return(0,q.jsxs)(`td`,{className:`py-4 px-6 whitespace-pre-wrap min-w-[120px] text-[14px] font-medium relative ${d} align-top border-r border-[var(--panel-border)]/10 last:border-r-0`,onClick:()=>xe&&!i&&G({id:e.id,field:r}),children:[i?(0,q.jsx)(`textarea`,{autoFocus:!0,value:e[r]||``,onChange:t=>we(e.id,r,t.target.value),onBlur:()=>G(null),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&G(null)},className:`absolute inset-0 bg-transparent !border-0 !outline-none focus:!outline-none focus:!ring-0 !ring-0 !shadow-none focus:!shadow-none p-4 px-6 text-[14px] font-medium w-full h-full caret-accent ${f} z-20 resize-none styled-scrollbars`}):null,(0,q.jsx)(`span`,{className:`block w-full min-h-[20px] break-words transition-all ${i?`opacity-0`:`opacity-100`} ${f} ${r===`Status`&&e[r]===`Active`&&!l?`text-green-500`:``}`,children:e[r]||(0,q.jsx)(`span`,{className:`opacity-30 italic font-normal`,children:`empty`})})]},`cell_${e.id||t}_${r}`)}),(0,q.jsx)(`td`,{className:`py-4 px-4 whitespace-nowrap text-right h-[53px] ${o} relative z-10`,children:(0,q.jsxs)(`div`,{className:`flex items-center justify-end gap-1 opacity-100 md:opacity-20 md:group-hover:opacity-100 transition-opacity relative`,children:[(0,q.jsx)(`button`,{onClick:()=>me(pe===e.id?null:e.id),className:`p-1.5 rounded-lg transition-colors hover:bg-foreground/10 ${a?lc.find(e=>e.text===a)?.text:`text-foreground/40`}`,children:(0,q.jsx)(i.E,{className:`w-4 h-4`})}),pe===e.id&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`fixed inset-0 z-30`,onClick:()=>me(null)}),(0,q.jsxs)(`div`,{className:`absolute top-6 right-8 flex gap-1.5 bg-background/90 backdrop-blur-xl border border-[var(--panel-border)] p-2 rounded-xl shadow-xl z-50 items-center`,children:[(0,q.jsx)(`button`,{onClick:t=>{t.preventDefault(),t.stopPropagation();let n={...Q.rowColors||{},[e.id]:`none`},r={...Q.colorTimestamps||{},[`row_${e.id}`]:Date.now()};Se({...Q,rowColors:n,colorTimestamps:r}),me(null)},className:`w-4 h-4 rounded-full flex items-center justify-center bg-foreground/10 hover:bg-red-500/20 hover:text-red-500 text-foreground/40 transition-colors border border-[var(--panel-border)]/50 shrink-0`,title:`Remove Row Color`,children:(0,q.jsx)(C.t,{className:`w-3 h-3`})}),(0,q.jsx)(`div`,{className:`h-4 w-px bg-[var(--panel-border)]/50 mx-0.5`}),lc.map(t=>(0,q.jsx)(`button`,{onClick:()=>{let n={...Q.colorTimestamps||{},[`row_${e.id}`]:Date.now()};Se({...Q,rowColors:{...Q.rowColors||{},[e.id]:t.text},colorTimestamps:n}),me(null)},className:`w-4 h-4 rounded-full ${t.bgCircle} hover:scale-125 transition-transform border border-[var(--panel-border)]/50`},t.name))]})]}),xe&&(0,q.jsx)(`button`,{onClick:()=>_e({kind:`row`,id:e.id}),title:`Delete row`,className:`p-2 ml-auto rounded-lg text-foreground/20 hover:text-red-500 hover:bg-red-500/10 transition-colors flex items-center justify-center`,children:(0,q.jsx)(k.t,{className:`w-4 h-4`})})]})})]},e.id||`row_${t}`)}),Pe.length===0&&(0,q.jsx)(`tr`,{children:(0,q.jsxs)(`td`,{colSpan:(Q.columns||[]).length+2,className:`py-12 text-center text-foreground/40 text-[14px] font-medium border border-[var(--panel-border)] m-4 rounded-xl border-dashed`,children:[`No records found in `,Q.name||`this table`,`.`]})}),(0,q.jsx)(`tr`,{children:(0,q.jsx)(`td`,{colSpan:(Q.columns||[]).length+2,className:`py-2 px-4 border-none bg-foreground/[0.01]`,children:(0,q.jsx)(`div`,{className:`flex items-center gap-4`,children:(0,q.jsx)(`button`,{onClick:()=>xe&&Te(),className:`p-1.5 rounded-lg text-foreground/40 hover:text-accent hover:bg-accent/10 transition-colors flex items-center justify-center ml-2 border border-transparent hover:border-accent/20 ${xe?``:`hidden`}`,children:(0,q.jsx)(T.t,{className:`w-4 h-4`})})})})})]})]},`table`)})})]})]}),(0,q.jsx)(ne.t,{isOpen:!!ge,title:ge?.kind===`column`?`Delete column`:`Delete row`,message:ge?.kind===`column`?(0,q.jsxs)(q.Fragment,{children:[`Delete `,(0,q.jsx)(`strong`,{className:`text-foreground block my-1 break-words max-w-full text-center`,children:ge.name}),` and everything filled in under it, in every row? This cannot be undone.`]}):(0,q.jsx)(q.Fragment,{children:`Delete this row and everything in it? This cannot be undone.`}),onConfirm:De,onCancel:()=>_e(null),confirmText:`Yes, delete`})]})}var dc=[{text:`text-red-400`,bgCircle:`bg-red-400`,bgCard:`bg-red-500/[0.08]`,borderCard:`border-red-500/30`,bgLight:`bg-red-500/15`,bgHover:`hover:bg-red-500`,bgAlt:`bg-red-500/[0.04]`,name:`Red`},{text:`text-orange-400`,bgCircle:`bg-orange-400`,bgCard:`bg-orange-500/[0.08]`,borderCard:`border-orange-500/30`,bgLight:`bg-orange-500/15`,bgHover:`hover:bg-orange-500`,bgAlt:`bg-orange-500/[0.04]`,name:`Orange`},{text:`text-yellow-400`,bgCircle:`bg-yellow-400`,bgCard:`bg-yellow-500/[0.08]`,borderCard:`border-yellow-500/30`,bgLight:`bg-yellow-500/15`,bgHover:`hover:bg-yellow-500`,bgAlt:`bg-yellow-500/[0.04]`,name:`Yellow`},{text:`text-green-400`,bgCircle:`bg-green-400`,bgCard:`bg-green-500/[0.08]`,borderCard:`border-green-500/30`,bgLight:`bg-green-500/15`,bgHover:`hover:bg-green-500`,bgAlt:`bg-green-500/[0.04]`,name:`Green`},{text:`text-blue-400`,bgCircle:`bg-blue-400`,bgCard:`bg-blue-500/[0.08]`,borderCard:`border-blue-500/30`,bgLight:`bg-blue-500/15`,bgHover:`hover:bg-blue-500`,bgAlt:`bg-blue-500/[0.04]`,name:`Blue`},{text:`text-accent`,bgCircle:`bg-accent`,bgCard:`bg-accent/[0.08]`,borderCard:`border-accent/30`,bgLight:`bg-accent/15`,bgHover:`hover:bg-accent`,bgAlt:`bg-accent/[0.04]`,name:`Purple`},{text:`text-pink-400`,bgCircle:`bg-pink-400`,bgCard:`bg-pink-500/[0.08]`,borderCard:`border-pink-500/30`,bgLight:`bg-pink-500/15`,bgHover:`hover:bg-pink-500`,bgAlt:`bg-pink-500/[0.04]`,name:`Pink`},{text:`text-foreground/60`,bgCircle:`bg-foreground/30`,bgCard:`bg-foreground/[0.04]`,borderCard:`border-[var(--panel-border)]/50`,bgLight:`bg-foreground/15`,bgHover:`hover:bg-foreground/30`,bgAlt:`bg-foreground/[0.02]`,name:`Default`}],fc=e=>new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().split(`T`)[0],pc=1,mc={dateStr:``,title:``,description:``,time:`12:00`,duration:`60`,color:``,guestEmail:``,customFields:{}};function hc({title:e=`Calendar View`,subtitle:t=`/calendar`,backUrl:a,eventsCollection:s=`pub_events`,defaultTimeFormat:l=`12h`,config:u,customContent:d}){let f=!!(u?.isPrivate||u?.isAdmin||u?.isInternal||u?.isShared);u?.isAdmin,u?.isInternal||u?.isShared,u?.isPrivate;let p=u?.showButton!==!1,m=u?.buttonText||`+`,h=u?.buttonStyle||`primary`,y=u?.showViewsButton!==!1,b=u?.viewsButtonStyle||`secondary`,x=u?.defaultView||`calendar`,S=u?.customFields||[],w=o.Tn(s)?`case`:s.startsWith(`user_`)?`user`:s.startsWith(`mem_`)||s.startsWith(`role_`)?`internal`:s.startsWith(`admin_`)?`admin_only`:`public`,E=w===`case`,D=c.o({on:w===`user`}),[O,A]=(0,K.useState)(()=>{try{let e=localStorage.getItem(`cal_view_${s}`);if(e===`list`||e===`month`)return e}catch{}return x===`board`?`list`:`month`}),[M,P]=(0,K.useState)([]),ee=c.f(),F=c.F(s),I=E?F.records:M,[L,te]=(0,K.useState)(()=>E?c.u(s):``),[R,z]=(0,K.useState)(!1),[B,re]=(0,K.useState)(null),[V,H]=(0,K.useState)(!1),[ie,ae]=(0,K.useState)(!1),[oe,U]=(0,K.useState)(null),[W,G]=(0,K.useState)(mc),[se,ce]=(0,K.useState)(new Date),[le,ue]=(0,K.useState)(null),[de,fe]=(0,K.useState)(null),[pe,me]=(0,K.useState)(!1),he=D.uid||le?.uid||``,Z=`cal_24h_${s}`,[ge,_e]=(0,K.useState)(()=>{try{let e=localStorage.getItem(Z);if(e!==null)return e===`true`}catch{}return l===`24h`}),ve=()=>{let e=!ge;_e(e);try{localStorage.setItem(Z,String(e))}catch{}};(0,K.useEffect)(()=>{try{localStorage.setItem(`cal_view_${s}`,O)}catch{}},[O,s,w]);let ye=()=>{let e=O===`month`?`list`:`month`;A(e);try{localStorage.setItem(`cal_view_${s}`,e)}catch{}},be=()=>{try{return sessionStorage.getItem(`cal_guest_email`)||``}catch{return``}},Q=e=>{try{sessionStorage.setItem(`cal_guest_email`,e)}catch{}};(0,K.useEffect)(()=>(0,J.onAuthStateChanged)(r.li,async e=>{if(ue(e),e&&w===`admin_only`)try{let t=await(0,Y.getDoc)((0,Y.doc)(r.ui,`user_profiles`,e.uid));t.exists()&&fe(t.data())}catch{}me(!0)}),[w]);let xe=fc(new Date(se.getFullYear(),se.getMonth()-pc,1)),Se=fc(new Date(se.getFullYear(),se.getMonth()+pc+1,0));(0,K.useEffect)(()=>{if(!pe||E)return;if(w!==`public`&&!le){P([]);return}let e=w===`user`?`${s}|${D.everyone?`everyone`:he}`:s;try{let t=localStorage.getItem(`fbos_cal_${e}`);t&&P(JSON.parse(t))}catch{}let t=(0,Y.onSnapshot)(w===`user`&&le&&!D.everyone?(0,Y.query)((0,Y.collection)(r.ui,s),(0,Y.where)(`uid`,`==`,he)):(0,Y.query)((0,Y.collection)(r.ui,s),(0,Y.where)(`dateStr`,`>=`,xe),(0,Y.where)(`dateStr`,`<=`,Se)),t=>{let n=[];t.forEach(e=>n.push({id:e.id,...e.data()})),P(n),localStorage.setItem(`fbos_cal_${e}`,JSON.stringify(n))},e=>console.error(`Calendar events:`,e));return()=>t()},[s,w,le?.uid,pe,xe,Se,E,he,D.everyone]);let Ce=e=>!!le&&le.uid===e.uid,we=e=>w===`public`?!1:w===`user`?!!le:E?c.C(e,ee):Ce(e),Te=(e,t)=>!le||w===`public`?e:w===`user`?{...e,uid:he||le.uid}:E?t?c.l({uid:le.uid,creatorEmail:le.email||``,creatorName:le.displayName||``,creatorAvatar:le.photoURL||``,...e},le.uid):e:t?{uid:le.uid,creatorEmail:le.email||``,creatorName:le.displayName||``,creatorAvatar:le.photoURL||``,...e}:e,Ee=e=>{if(!e)return``;if(ge)return e;let[t,n]=e.split(`:`),r=parseInt(t,10),i=r>=12?`PM`:`AM`;return r=r%12||12,`${r}:${n} ${i}`},De=e=>{if(!e)return`60m`;let t=parseInt(e,10);return isNaN(t)?e:t>=60?t%60==0?`${t/60}h`:`${Math.floor(t/60)}h ${t%60}m`:`${t}m`},Oe=e=>{let[t,n]=(e||`12:00`).split(`:`),r=parseInt(t,10)||0,i=parseInt(n,10)||0,a=r>=12?`PM`:`AM`;return r=r%12||12,{h:r,m:i,ampm:a}},ke=(e,t,n)=>{let r=e%12;return n===`PM`&&(r+=12),`${r.toString().padStart(2,`0`)}:${t.toString().padStart(2,`0`)}`},Ae=fc,je=()=>Ae(new Date),Me=new Date(se.getFullYear(),se.getMonth(),1),Ne=new Date(se.getFullYear(),se.getMonth()+1,0),Pe=Me.getDay(),Fe=Ne.getDate(),Ie=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],Le=Array.from({length:42},(e,t)=>{let n=t-Pe+1,r=new Date(se.getFullYear(),se.getMonth(),n);return{day:r.getDate(),dateStr:Ae(r),isCurrentMonth:n>0&&n<=Fe}}),Re=()=>ce(O===`month`?new Date(se.getFullYear(),se.getMonth()-1,1):new Date(se.getFullYear(),se.getMonth(),se.getDate()-1)),ze=()=>ce(O===`month`?new Date(se.getFullYear(),se.getMonth()+1,1):new Date(se.getFullYear(),se.getMonth(),se.getDate()+1)),Be=e=>{if(w!==`public`&&!le)return;let t=new Date;t.setDate(t.getDate()+1);let n=new Date().getHours().toString().padStart(2,`0`);G({...mc,dateStr:e||Ae(t),time:`${n}:00`,guestEmail:w===`public`?be():``,customFields:{}}),z(!0)},Ve=e=>{let t=e.time;if(t){let[e,n]=t.split(`:`);e&&n&&(t=`${e.padStart(2,`0`)}:${n}`)}G({id:e.id,uid:e.uid,dateStr:e.dateStr,title:e.title,description:e.description||``,time:t||`12:00`,duration:e.duration||`60`,color:e.color||``,guestEmail:e.creatorEmail||``,customFields:e.customFields||{}}),z(!0)},He=async e=>{if(e.preventDefault(),W.title.trim()){H(!0);try{let e={dateStr:W.dateStr,title:W.title.trim(),description:W.description.trim(),time:W.time,duration:W.duration||`60`};if(W.color&&(e.color=W.color),S.length>0&&(e.customFields=W.customFields),!W.id)if(w===`public`){let t=W.guestEmail.trim();e.creatorEmail=t,Q(t)}else w===`user`||w===`internal`?(e.uid=le?.uid,e.creatorEmail=le?.email||``,e.creatorName=le?.displayName||``,e.creatorAvatar=le?.photoURL||``):w===`admin_only`&&(e.uid=le?.uid,e.creatorEmail=de?.email||le?.email||``,e.creatorName=de?.displayName||de?.name||``,e.creatorAvatar=de?.avatar||de?.avatarUrl||le?.photoURL||``);let t=Te(e,!W.id);W.id?(await(0,Y.setDoc)((0,Y.doc)(r.ui,s,W.id),t,{merge:!0}),B?.id===W.id&&re({...B,...e})):(await(0,Y.setDoc)((0,Y.doc)(r.ui,s,E?L||c.u(s):`ev_${Date.now()}`),t,{merge:!0}),E&&te(c.u(s))),z(!1)}catch(e){console.error(e)}H(!1)}},Ue=async()=>{if(oe){ae(!0);try{await(0,Y.deleteDoc)((0,Y.doc)(r.ui,s,oe.id)),B?.id===oe.id&&re(null),U(null),z(!1)}catch{}ae(!1)}},We=e=>{if(w===`user`||!e.creatorEmail&&!e.creatorName)return null;let t=(e.creatorName||e.creatorEmail||`?`).charAt(0).toUpperCase(),n=dc.find(t=>t.text===e.color);return(0,q.jsxs)(`div`,{className:`flex items-center gap-3 mt-4 p-3 rounded-xl bg-foreground/[0.03] border border-[var(--panel-border)]/50`,children:[e.creatorAvatar?(0,q.jsx)(r.k,{src:e.creatorAvatar,alt:``,className:`w-8 h-8 rounded-full shrink-0`}):(0,q.jsx)(`div`,{className:`w-8 h-8 rounded-full ${n?.bgCircle||`bg-accent`} flex items-center justify-center text-[13px] font-extrabold text-white shrink-0`,children:t}),(0,q.jsxs)(`div`,{className:`flex flex-col min-w-0`,children:[e.creatorName&&(0,q.jsx)(`span`,{className:`text-[13px] font-bold text-foreground/90 truncate`,children:e.creatorName}),e.creatorEmail&&(0,q.jsx)(`span`,{className:`text-[12px] text-foreground/50 truncate`,children:e.creatorEmail})]})]})},Ge=e=>{if(w===`user`||w===`public`||!e.creatorName&&!e.creatorEmail)return null;let t=e.creatorName||e.creatorEmail?.split(`@`)[0]||``,n=t.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2);return(0,q.jsxs)(`div`,{className:`flex items-center gap-2 mt-2 pt-2 border-t border-[var(--panel-border)]/30`,children:[e.creatorAvatar?(0,q.jsx)(r.k,{src:e.creatorAvatar,alt:``,className:`w-5 h-5 rounded-full shrink-0`}):(0,q.jsx)(`div`,{className:`w-5 h-5 rounded-full bg-accent/15 text-accent flex items-center justify-center text-[8px] font-extrabold shrink-0`,children:n}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`text-[11px] font-semibold text-foreground/40 truncate`,children:t}),e.creatorEmail&&(0,q.jsxs)(`span`,{className:`text-[10px] text-foreground/25 truncate`,children:[`· `,e.creatorEmail]})]})]})};if(pe&&w!==`public`&&!le)return(0,q.jsx)(`main`,{className:`flex-1 w-full flex items-center justify-center min-h-screen p-8`,children:(0,q.jsxs)(`div`,{className:`text-center glass-panel border border-[var(--panel-border)] rounded-3xl p-12 max-w-sm w-full`,children:[(0,q.jsx)(`div`,{className:`w-16 h-16 rounded-full bg-accent/10 border border-accent/20 flex items-center justify-center mx-auto mb-4`,children:(0,q.jsx)(n.h,{className:`w-7 h-7 text-accent`})}),(0,q.jsx)(`h2`,{className:`text-2xl font-bold mb-2`,children:`Sign in required`}),(0,q.jsx)(`p`,{className:`text-foreground/50 text-[14px] mb-6`,children:`You need to be signed in to access this calendar.`}),(0,q.jsx)(X.Link,{to:`/login`,className:`inline-flex items-center justify-center gap-2 px-6 py-2.5 rounded-xl btn-primary font-bold text-[14px] w-full`,children:`Sign In`})]})});if(!pe&&w!==`public`)return(0,q.jsx)(`main`,{className:`flex-1 w-full flex items-center justify-center min-h-screen`,children:(0,q.jsx)(C.r,{className:`w-8 h-8 animate-spin text-accent`})});let Ke=!!d,qe=(w===`public`||!!le)&&p&&!Ke,Ye=()=>(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 sm:gap-4 p-4 sm:p-6 md:px-8 md:py-6 border-b border-[var(--panel-border)]/50 bg-background/50 shrink-0`,children:[(0,q.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,q.jsx)(`h2`,{className:`text-xl font-bold text-foreground tracking-tight truncate`,children:u?.tabTitle||u?.tabName||e}),(0,q.jsxs)(`p`,{className:`text-[13px] font-medium text-foreground/50 mt-1`,children:[I.length,` `,I.length===1?`event`:`events`,` · `,O===`month`?`Month`:`Board`,` View`]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,q.jsx)(c.a,{viewing:D}),(0,q.jsx)(r.rt.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:ve,className:`w-10 h-10 flex items-center justify-center rounded-xl transition-all duration-300 cursor-pointer btn-secondary text-[12px] font-extrabold`,children:ge?`24h`:`12h`}),y&&!Ke&&(0,q.jsx)(r.rt.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:ye,title:O===`month`?`Switch to Board`:`Switch to Calendar`,className:`w-10 h-10 flex items-center justify-center rounded-xl transition-all duration-300 cursor-pointer ${b===`primary`?`btn-primary`:`btn-secondary`}`,children:O===`month`?(0,q.jsx)(nt,{className:`w-4 h-4`}):(0,q.jsx)(g.b,{className:`w-4 h-4`})}),qe&&(0,q.jsx)(r.rt.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>Be(),title:`Add event`,"aria-label":`Add event`,className:`h-10 flex items-center justify-center gap-2 rounded-xl transition-all duration-300 cursor-pointer ${m===`+`?`w-10`:`px-5`} ${h===`primary`?`btn-primary`:`btn-secondary`}`,children:m===`+`?(0,q.jsx)(T.t,{className:`w-4 h-4`}):(0,q.jsx)(`span`,{className:`text-[13px] font-bold`,children:m})})]})]}),Xe=()=>(0,q.jsxs)(`div`,{className:`p-4 md:p-6 border-b border-[var(--panel-border)]/50 flex flex-wrap items-center justify-between gap-x-3 gap-y-2 bg-foreground/[0.01]`,children:[(0,q.jsx)(`h3`,{className:`text-lg md:text-xl font-bold tracking-tight ml-2 min-w-0`,children:O===`month`?se.toLocaleString(`default`,{month:`long`,year:`numeric`}):se.toLocaleString(`default`,{month:`long`,day:`numeric`,year:`numeric`})}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(`button`,{onClick:()=>ce(new Date),className:`px-3 md:px-4 py-2 text-[13px] font-bold border border-[var(--panel-border)] rounded-xl mr-1 md:mr-2 hover:bg-foreground/5 transition-colors`,children:`Today`}),(0,q.jsx)(`button`,{onClick:Re,className:`p-2 rounded-xl text-foreground/50 hover:text-foreground hover:bg-foreground/5 transition-colors border border-transparent hover:border-[var(--panel-border)]`,children:(0,q.jsx)(_.t,{className:`w-5 h-5`})}),(0,q.jsx)(`button`,{onClick:ze,className:`p-2 rounded-xl text-foreground/50 hover:text-foreground hover:bg-foreground/5 transition-colors border border-transparent hover:border-[var(--panel-border)]`,children:(0,q.jsx)(r.At,{className:`w-5 h-5`})})]})]}),Ze=()=>(0,q.jsxs)(q.Fragment,{children:[Xe(),d?(0,q.jsx)(c.p,{value:{prefix:o.Mn(u||{}),collection:E?s:``,recordId:E?L:``},children:(0,q.jsx)(`div`,{className:`fbos-content-slot fbos-tab-fill p-4 md:p-8 flex-1 overflow-y-auto relative min-h-[400px]`,children:(0,q.jsx)(j.p,{size:`part`,children:(0,q.jsx)(d,{config:u,actions:{events:I,loading:E?F.loading:!pe,error:E?F.error:``,collection:s,currentUser:le,...c.s(s,ee,E,L),user:le,saveEvent:async e=>{let t=e.id||(E?L:``)||`ev_${Date.now()}`,n=Te(e,!I.some(e=>e.id===t));E&&t===L&&te(c.u(s)),P(e=>e.find(e=>e.id===t)?e.map(e=>e.id===t?{...e,...n}:e):[...e,{id:t,...n}]),await(0,Y.setDoc)((0,Y.doc)(r.ui,s,t),n,{merge:!0})},deleteEvent:async e=>{P(t=>t.filter(t=>t.id!==e)),await(0,Y.deleteDoc)((0,Y.doc)(r.ui,s,e))},openAddModal:e=>Be(e),openEditModal:e=>Ve(e),setViewingEvent:e=>re(e),currentDate:se,setCurrentDate:ce,goToPrev:Re,goToNext:ze,goToToday:()=>ce(new Date)}})})})}):O===`month`?(0,q.jsx)(`div`,{className:`overflow-x-auto w-full flex-1`,children:(0,q.jsxs)(`div`,{className:`min-w-[800px] h-full flex flex-col`,children:[(0,q.jsx)(`div`,{className:`grid grid-cols-7 border-b border-[var(--panel-border)]/50 bg-foreground/[0.02]`,children:Ie.map(e=>(0,q.jsx)(`div`,{className:`py-3 text-center text-[12px] font-bold uppercase tracking-wider text-foreground/40`,children:e},e))}),(0,q.jsx)(`div`,{className:`grid grid-cols-7 auto-rows-auto bg-[var(--panel-border)] gap-[1px] relative flex-1`,children:Le.map((e,t)=>{let n=e.dateStr===je(),r=I.filter(t=>t.dateStr===e.dateStr);return(0,q.jsxs)(`div`,{onClick:()=>e.isCurrentMonth&&qe&&Be(e.dateStr),className:`min-h-[140px] p-2 bg-[var(--panel-bg)] flex flex-col relative group
10
+ ${e.isCurrentMonth?qe?`hover:bg-foreground/[0.03] transition-colors cursor-cell`:``:`opacity-30 bg-background/50 pointer-events-none`}`,children:[(0,q.jsx)(`div`,{className:`flex justify-between items-start mb-2 shrink-0`,children:(0,q.jsx)(`span`,{className:`w-8 h-8 rounded-full flex items-center justify-center text-[14px] font-bold ${n?`bg-accent text-white shadow-lg shadow-accent/20`:`text-foreground/70 group-hover:text-foreground`}`,children:e.day})}),(0,q.jsx)(`div`,{className:`flex flex-col gap-1.5 flex-1 w-full relative z-10 pb-1`,children:r.map(e=>{let t=dc.find(t=>t.text===e.color),n=we(e);return(0,q.jsxs)(`div`,{className:`px-2 py-1.5 rounded-lg border transition-colors shadow-sm cursor-pointer group/ev relative ${t?t.bgCard+` `+t.borderCard:`bg-accent/20 border-accent/30 hover:bg-accent/40`}`,onClick:t=>{t.stopPropagation(),re(e)},children:[(0,q.jsx)(`p`,{className:`text-[12px] font-bold truncate leading-tight ${n?`pr-5`:``} ${t?t.text:`text-foreground`}`,children:e.title}),(0,q.jsx)(`p`,{className:`text-[10px] text-foreground/70 mt-0.5`,children:Ee(e.time)}),n&&(0,q.jsx)(`button`,{onClick:t=>{t.stopPropagation(),Ve(e)},className:`absolute top-1 right-1 opacity-0 group-hover/ev:opacity-100 p-1 text-foreground/60 hover:bg-foreground/10 hover:text-foreground transition-all rounded`,children:(0,q.jsx)(v.s,{className:`w-3 h-3`})})]},e.id)})})]},t)})}),(0,q.jsx)(`style`,{children:`
11
11
  .styled-scrollbars::-webkit-scrollbar{width:4px}
12
12
  .styled-scrollbars::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent-color) 30%,transparent);border-radius:4px}
13
13
  input[type="time"]::-webkit-calendar-picker-indicator{display:none!important}
14
14
  input[type="date"]{color-scheme:dark}
15
15
  input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;transition:opacity .2s}
16
16
  input[type="date"]::-webkit-calendar-picker-indicator:hover{opacity:1}
17
- `})]})}):(0,V.jsxs)(`div`,{className:`flex flex-col p-4 md:p-8 overflow-y-auto w-full flex-1 gap-4`,children:[P.filter(e=>e.dateStr===Ee(J)).sort((e,t)=>e.time.localeCompare(t.time)).map(e=>{let t=new Date(e.dateStr+`T12:00:00`),n=is.find(t=>t.text===e.color),r=be(e);return(0,V.jsxs)(`div`,{onClick:()=>W(e),className:`p-4 rounded-2xl border flex flex-col cursor-pointer transition-colors group ${n?n.bgCard+` `+n.borderCard+` hover:brightness-110`:`bg-foreground/[0.01] border-[var(--panel-border)]/70 hover:border-accent/40 hover:bg-foreground/[0.02]`}`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3 shrink-0`,children:[(0,V.jsxs)(`div`,{className:`w-11 h-11 md:w-12 md:h-12 rounded-xl flex flex-col items-center justify-center border transition-colors shadow-sm ${n?n.bgCard+` `+n.borderCard:`bg-foreground/5 border-[var(--panel-border)] group-hover:bg-accent/10 group-hover:border-accent/30`}`,children:[(0,V.jsx)(`span`,{className:`text-[10px] font-bold uppercase leading-none mb-0.5 ${n?n.text:`text-foreground/40 group-hover:text-accent/60`}`,children:t.toLocaleString(`default`,{month:`short`})}),(0,V.jsx)(`span`,{className:`text-[18px] font-black leading-none ${n?n.text:`group-hover:text-accent`}`,children:t.getDate()})]}),(0,V.jsx)(`div`,{className:`h-6 w-px bg-[var(--panel-border)] max-sm:hidden group-hover:bg-accent/30 transition-colors`})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-0 flex-1`,children:[(0,V.jsx)(`h4`,{className:`text-[15px] md:text-[16px] font-extrabold tracking-tight truncate ${n?n.text:`text-foreground group-hover:text-accent`}`,children:e.title}),(0,V.jsxs)(`div`,{className:`flex items-center gap-3 text-[12px] text-foreground/50 font-medium`,children:[(0,V.jsx)(`span`,{children:Se(e.time)}),(0,V.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,V.jsx)(s.Zt,{className:`w-3 h-3`}),Ce(e.duration)]})]})]}),r&&(0,V.jsxs)(`div`,{className:`ml-auto pl-2 flex items-center gap-1 opacity-100 md:opacity-0 md:group-hover:opacity-100 transition-opacity`,children:[(0,V.jsx)(`button`,{onClick:t=>{t.stopPropagation(),Le(e)},className:`p-2.5 rounded-xl text-foreground/50 hover:bg-foreground/10 hover:text-foreground transition-colors`,children:(0,V.jsx)(s.Z,{className:`w-4 h-4`})}),(0,V.jsx)(`button`,{onClick:t=>{t.stopPropagation(),ae(e)},className:`p-2.5 rounded-xl text-foreground/30 hover:bg-red-500/10 hover:text-red-500 transition-colors`,children:(0,V.jsx)(s.C,{className:`w-4 h-4`})})]})]}),h&&Ve(e)]},e.id)}),P.filter(e=>e.dateStr===Ee(J)).length===0&&(0,V.jsx)(`div`,{className:`p-12 text-center text-foreground/40 font-medium`,children:`No events scheduled for this day.`})]})]}),qe=()=>(0,V.jsxs)(r.cr,{children:[z&&(0,V.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex items-center justify-center p-4`,children:[(0,V.jsx)(r.sr.div,{onClick:()=>W(null),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/80 backdrop-blur-xl cursor-pointer`}),(0,V.jsxs)(r.sr.div,{initial:{opacity:0,scale:.95,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:10},className:`w-full max-w-[500px] p-6 sm:p-8 rounded-3xl glass-popover border shadow-2xl relative z-10 ${is.find(e=>e.text===z.color)?.borderCard||`border-[var(--panel-border)]`}`,children:[(0,V.jsxs)(`div`,{className:`absolute top-4 right-4 flex items-center gap-1 bg-background/50 backdrop-blur-3xl p-1 rounded-2xl border border-[var(--panel-border)]/50 shadow-sm z-50`,children:[be(z)&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`button`,{onClick:()=>{W(null),Le(z)},className:`p-2 rounded-xl text-foreground/50 hover:bg-foreground/10 hover:text-foreground transition-all`,title:`Edit`,children:(0,V.jsx)(s.Z,{className:`w-4 h-4`})}),(0,V.jsx)(`button`,{onClick:()=>{ae(z),W(null)},className:`p-2 rounded-xl text-foreground/50 hover:bg-red-500/10 hover:text-red-500 transition-all`,title:`Delete`,children:(0,V.jsx)(s.C,{className:`w-4 h-4`})}),(0,V.jsx)(`div`,{className:`w-px h-6 bg-[var(--panel-border)]/50 mx-1`})]}),(0,V.jsx)(`button`,{onClick:()=>W(null),className:`p-2 rounded-xl text-foreground/40 hover:bg-foreground/10 hover:text-foreground transition-all`,children:(0,V.jsx)(s.o,{className:`w-5 h-5`})})]}),(0,V.jsxs)(`div`,{className:`mb-6 mt-12 sm:mt-0 sm:pr-32`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2 mb-3`,children:[(0,V.jsx)(`span`,{className:`w-2.5 h-2.5 rounded-full ${is.find(e=>e.text===z.color)?.bgCircle||`bg-accent`}`}),(0,V.jsx)(`span`,{className:`text-[11px] font-bold tracking-[0.2em] uppercase ${is.find(e=>e.text===z.color)?.text||`text-accent`}`,children:`Event Details`})]}),(0,V.jsx)(`h3`,{className:`text-xl sm:text-3xl font-black mb-3 tracking-tight leading-tight break-words ${is.find(e=>e.text===z.color)?.text||`text-foreground`}`,children:z.title}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-2 mt-4`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2.5 text-[14px] text-foreground/70 font-medium`,children:[(0,V.jsx)(`div`,{className:`w-8 h-8 rounded-full bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,V.jsx)(s.ln,{className:`w-4 h-4 text-foreground/50`})}),new Date(z.dateStr+`T12:00:00`).toLocaleDateString(`default`,{weekday:`long`,month:`long`,day:`numeric`,year:`numeric`})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2.5 text-[14px] text-foreground/70 font-medium`,children:[(0,V.jsx)(`div`,{className:`w-8 h-8 rounded-full bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,V.jsx)(s.Zt,{className:`w-4 h-4 text-foreground/50`})}),Se(z.time),` `,(0,V.jsxs)(`span`,{className:`text-foreground/40 text-[12px] ml-1`,children:[`(`,Ce(z.duration),`)`]})]})]}),Be(z)]}),(0,V.jsx)(`div`,{className:`w-full h-px bg-gradient-to-r from-[var(--panel-border)]/0 via-[var(--panel-border)] to-[var(--panel-border)]/0 mb-6`}),z.description?(0,V.jsx)(`div`,{className:`bg-foreground/[0.02] border border-[var(--panel-border)]/50 rounded-2xl py-3 px-4 mb-4 w-full overflow-hidden`,children:(0,V.jsx)(`div`,{className:`text-[14px] text-foreground/80 font-medium whitespace-pre-wrap leading-tight break-words`,children:z.description})}):(0,V.jsx)(`div`,{className:`p-4 mb-4 rounded-2xl border border-dashed border-[var(--panel-border)] bg-foreground/[0.01] text-center`,children:(0,V.jsx)(`p`,{className:`text-[12px] font-medium text-foreground/40`,children:`No description provided for this event.`})}),z.customFields&&Object.entries(z.customFields).filter(([,e])=>e).length>0&&(0,V.jsx)(`div`,{className:`flex flex-col gap-2 mb-2`,children:Object.entries(z.customFields).filter(([,e])=>e).map(([e,t])=>(0,V.jsxs)(`div`,{className:`flex items-start gap-2 text-[13px]`,children:[(0,V.jsxs)(`span`,{className:`font-bold text-foreground/50 capitalize shrink-0`,children:[e,`:`]}),(0,V.jsx)(`span`,{className:`text-foreground/80 font-medium break-words min-w-0`,children:t})]},e))})]})]},`view-modal`),L&&(0,V.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex items-center justify-center p-4`,children:[(0,V.jsx)(r.sr.div,{onClick:()=>R(!1),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/80 backdrop-blur-xl cursor-pointer`}),(0,V.jsxs)(r.sr.div,{initial:{opacity:0,scale:.95,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:10},className:`w-full max-w-[500px] p-6 sm:p-8 rounded-3xl glass-popover border border-[var(--panel-border)] shadow-2xl relative z-10 max-h-[90vh] overflow-y-auto styled-scrollbars`,children:[(0,V.jsxs)(`div`,{className:`absolute top-4 right-4 flex items-center gap-1`,children:[K.id&&be({uid:K.uid})&&(0,V.jsx)(`button`,{onClick:()=>{R(!1),ae({id:K.id,...K})},className:`p-2 rounded-xl text-foreground/30 hover:bg-red-500/10 hover:text-red-500 transition-all`,children:(0,V.jsx)(s.C,{className:`w-4 h-4`})}),(0,V.jsx)(`button`,{onClick:()=>R(!1),className:`p-2 rounded-xl text-foreground/40 hover:bg-foreground/10 hover:text-foreground transition-all`,children:(0,V.jsx)(s.o,{className:`w-5 h-5`})})]}),(0,V.jsxs)(`div`,{className:`mb-6 pr-12`,children:[(0,V.jsx)(`h3`,{className:`text-2xl font-bold mb-1 tracking-tight`,children:K.id?`Edit Event`:`Add Event`}),(0,V.jsx)(`p`,{className:`text-[14px] text-foreground/50`,children:K.id?`Modify your scheduled calendar block.`:`Schedule a new calendar block.`})]}),(0,V.jsxs)(`form`,{onSubmit:Re,className:`space-y-4`,children:[w===`public`&&!K.id&&(0,V.jsx)(u.d,{label:`Your Email`,type:`email`,value:K.guestEmail,onChange:e=>q({...K,guestEmail:e.target.value}),placeholder:`you@example.com`,required:!0}),(0,V.jsx)(u.d,{label:`Event Title`,value:K.title,onChange:e=>q({...K,title:e.target.value}),placeholder:`e.g. Design Sync`,required:!0}),(0,V.jsxs)(`div`,{className:`flex flex-col w-full relative`,children:[(0,V.jsx)(`label`,{className:`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`,children:`Description`}),(0,V.jsx)(`textarea`,{value:K.description,onChange:e=>q({...K,description:e.target.value}),placeholder:`e.g. Discussing the new features...`,className:`block min-h-[80px] w-full rounded-xl text-[15px] text-foreground px-4 py-3 transition-all duration-300 placeholder:text-foreground/40 focus:outline-none focus:border-accent glow-focus glass-panel styled-scrollbars resize-none`})]}),C.map(e=>(0,V.jsx)(u.d,{label:e,value:K.customFields[e]||``,onChange:t=>q({...K,customFields:{...K.customFields,[e]:t.target.value}}),placeholder:`Enter ${e.toLowerCase()}...`},e)),(0,V.jsx)(`style`,{children:`
17
+ `})]})}):(0,q.jsxs)(`div`,{className:`flex flex-col p-4 md:p-8 overflow-y-auto w-full flex-1 gap-4`,children:[I.filter(e=>e.dateStr===Ae(se)).sort((e,t)=>e.time.localeCompare(t.time)).map(e=>{let t=new Date(e.dateStr+`T12:00:00`),n=dc.find(t=>t.text===e.color),r=we(e);return(0,q.jsxs)(`div`,{onClick:()=>re(e),className:`p-4 rounded-2xl border flex flex-col cursor-pointer transition-colors group ${n?n.bgCard+` `+n.borderCard+` hover:brightness-110`:`bg-foreground/[0.01] border-[var(--panel-border)]/70 hover:border-accent/40 hover:bg-foreground/[0.02]`}`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3 shrink-0`,children:[(0,q.jsxs)(`div`,{className:`w-11 h-11 md:w-12 md:h-12 rounded-xl flex flex-col items-center justify-center border transition-colors shadow-sm ${n?n.bgCard+` `+n.borderCard:`bg-foreground/5 border-[var(--panel-border)] group-hover:bg-accent/10 group-hover:border-accent/30`}`,children:[(0,q.jsx)(`span`,{className:`text-[10px] font-bold uppercase leading-none mb-0.5 ${n?n.text:`text-foreground/40 group-hover:text-accent/60`}`,children:t.toLocaleString(`default`,{month:`short`})}),(0,q.jsx)(`span`,{className:`text-[18px] font-black leading-none ${n?n.text:`group-hover:text-accent`}`,children:t.getDate()})]}),(0,q.jsx)(`div`,{className:`h-6 w-px bg-[var(--panel-border)] max-sm:hidden group-hover:bg-accent/30 transition-colors`})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-0 flex-1`,children:[(0,q.jsx)(`h4`,{className:`text-[15px] md:text-[16px] font-extrabold tracking-tight truncate ${n?n.text:`text-foreground group-hover:text-accent`}`,children:e.title}),(0,q.jsxs)(`div`,{className:`flex items-center gap-3 text-[12px] text-foreground/50 font-medium`,children:[(0,q.jsx)(`span`,{children:Ee(e.time)}),(0,q.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(Je,{className:`w-3 h-3`}),De(e.duration)]})]})]}),r&&(0,q.jsxs)(`div`,{className:`ml-auto pl-2 flex items-center gap-1 opacity-100 md:opacity-0 md:group-hover:opacity-100 transition-opacity`,children:[(0,q.jsx)(`button`,{onClick:t=>{t.stopPropagation(),Ve(e)},className:`p-2.5 rounded-xl text-foreground/50 hover:bg-foreground/10 hover:text-foreground transition-colors`,children:(0,q.jsx)(v.s,{className:`w-4 h-4`})}),(0,q.jsx)(`button`,{onClick:t=>{t.stopPropagation(),U(e)},className:`p-2.5 rounded-xl text-foreground/30 hover:bg-red-500/10 hover:text-red-500 transition-colors`,children:(0,q.jsx)(k.t,{className:`w-4 h-4`})})]})]}),f&&Ge(e)]},e.id)}),I.filter(e=>e.dateStr===Ae(se)).length===0&&(0,q.jsx)(`div`,{className:`p-12 text-center text-foreground/40 font-medium`,children:`No events scheduled for this day.`})]})]}),Qe=()=>(0,q.jsxs)(r.it,{children:[B&&(0,q.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex items-center justify-center p-4`,children:[(0,q.jsx)(r.rt.div,{onClick:()=>re(null),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/80 backdrop-blur-xl cursor-pointer`}),(0,q.jsxs)(r.rt.div,{initial:{opacity:0,scale:.95,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:10},className:`w-full max-w-[500px] p-6 sm:p-8 rounded-3xl glass-popover border shadow-2xl relative z-10 ${dc.find(e=>e.text===B.color)?.borderCard||`border-[var(--panel-border)]`}`,children:[(0,q.jsxs)(`div`,{className:`absolute top-4 right-4 flex items-center gap-1 bg-background/50 backdrop-blur-3xl p-1 rounded-2xl border border-[var(--panel-border)]/50 shadow-sm z-50`,children:[we(B)&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{onClick:()=>{re(null),Ve(B)},className:`p-2 rounded-xl text-foreground/50 hover:bg-foreground/10 hover:text-foreground transition-all`,title:`Edit`,children:(0,q.jsx)(v.s,{className:`w-4 h-4`})}),(0,q.jsx)(`button`,{onClick:()=>{U(B),re(null)},className:`p-2 rounded-xl text-foreground/50 hover:bg-red-500/10 hover:text-red-500 transition-all`,title:`Delete`,children:(0,q.jsx)(k.t,{className:`w-4 h-4`})}),(0,q.jsx)(`div`,{className:`w-px h-6 bg-[var(--panel-border)]/50 mx-1`})]}),(0,q.jsx)(`button`,{onClick:()=>re(null),className:`p-2 rounded-xl text-foreground/40 hover:bg-foreground/10 hover:text-foreground transition-all`,children:(0,q.jsx)(C.t,{className:`w-5 h-5`})})]}),(0,q.jsxs)(`div`,{className:`mb-6 mt-12 sm:mt-0 sm:pr-32`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 mb-3`,children:[(0,q.jsx)(`span`,{className:`w-2.5 h-2.5 rounded-full ${dc.find(e=>e.text===B.color)?.bgCircle||`bg-accent`}`}),(0,q.jsx)(`span`,{className:`text-[11px] font-bold tracking-[0.2em] uppercase ${dc.find(e=>e.text===B.color)?.text||`text-accent`}`,children:`Event Details`})]}),(0,q.jsx)(`h3`,{className:`text-xl sm:text-3xl font-black mb-3 tracking-tight leading-tight break-words ${dc.find(e=>e.text===B.color)?.text||`text-foreground`}`,children:B.title}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 mt-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2.5 text-[14px] text-foreground/70 font-medium`,children:[(0,q.jsx)(`div`,{className:`w-8 h-8 rounded-full bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,q.jsx)(g.b,{className:`w-4 h-4 text-foreground/50`})}),new Date(B.dateStr+`T12:00:00`).toLocaleDateString(`default`,{weekday:`long`,month:`long`,day:`numeric`,year:`numeric`})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2.5 text-[14px] text-foreground/70 font-medium`,children:[(0,q.jsx)(`div`,{className:`w-8 h-8 rounded-full bg-foreground/5 border border-[var(--panel-border)] flex items-center justify-center shrink-0`,children:(0,q.jsx)(Je,{className:`w-4 h-4 text-foreground/50`})}),Ee(B.time),` `,(0,q.jsxs)(`span`,{className:`text-foreground/40 text-[12px] ml-1`,children:[`(`,De(B.duration),`)`]})]})]}),We(B)]}),(0,q.jsx)(`div`,{className:`w-full h-px bg-gradient-to-r from-[var(--panel-border)]/0 via-[var(--panel-border)] to-[var(--panel-border)]/0 mb-6`}),B.description?(0,q.jsx)(`div`,{className:`bg-foreground/[0.02] border border-[var(--panel-border)]/50 rounded-2xl py-3 px-4 mb-4 w-full overflow-hidden`,children:(0,q.jsx)(`div`,{className:`text-[14px] text-foreground/80 font-medium whitespace-pre-wrap leading-tight break-words`,children:B.description})}):(0,q.jsx)(`div`,{className:`p-4 mb-4 rounded-2xl border border-dashed border-[var(--panel-border)] bg-foreground/[0.01] text-center`,children:(0,q.jsx)(`p`,{className:`text-[12px] font-medium text-foreground/40`,children:`No description provided for this event.`})}),B.customFields&&Object.entries(B.customFields).filter(([,e])=>e).length>0&&(0,q.jsx)(`div`,{className:`flex flex-col gap-2 mb-2`,children:Object.entries(B.customFields).filter(([,e])=>e).map(([e,t])=>(0,q.jsxs)(`div`,{className:`flex items-start gap-2 text-[13px]`,children:[(0,q.jsxs)(`span`,{className:`font-bold text-foreground/50 capitalize shrink-0`,children:[e,`:`]}),(0,q.jsx)(`span`,{className:`text-foreground/80 font-medium break-words min-w-0`,children:t})]},e))})]})]},`view-modal`),R&&(0,q.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex items-center justify-center p-4`,children:[(0,q.jsx)(r.rt.div,{onClick:()=>z(!1),initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:`absolute inset-0 bg-background/80 backdrop-blur-xl cursor-pointer`}),(0,q.jsxs)(r.rt.div,{initial:{opacity:0,scale:.95,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:10},className:`w-full max-w-[500px] p-6 sm:p-8 rounded-3xl glass-popover border border-[var(--panel-border)] shadow-2xl relative z-10 max-h-[90vh] overflow-y-auto styled-scrollbars`,children:[(0,q.jsxs)(`div`,{className:`absolute top-4 right-4 flex items-center gap-1`,children:[W.id&&we({uid:W.uid})&&(0,q.jsx)(`button`,{onClick:()=>{z(!1),U({id:W.id,...W})},className:`p-2 rounded-xl text-foreground/30 hover:bg-red-500/10 hover:text-red-500 transition-all`,children:(0,q.jsx)(k.t,{className:`w-4 h-4`})}),(0,q.jsx)(`button`,{onClick:()=>z(!1),className:`p-2 rounded-xl text-foreground/40 hover:bg-foreground/10 hover:text-foreground transition-all`,children:(0,q.jsx)(C.t,{className:`w-5 h-5`})})]}),(0,q.jsxs)(`div`,{className:`mb-6 pr-12`,children:[(0,q.jsx)(`h3`,{className:`text-2xl font-bold mb-1 tracking-tight`,children:W.id?`Edit Event`:`Add Event`}),(0,q.jsx)(`p`,{className:`text-[14px] text-foreground/50`,children:W.id?`Modify your scheduled calendar block.`:`Schedule a new calendar block.`})]}),(0,q.jsxs)(`form`,{onSubmit:He,className:`space-y-4`,children:[w===`public`&&!W.id&&(0,q.jsx)(g.y,{label:`Your Email`,type:`email`,value:W.guestEmail,onChange:e=>G({...W,guestEmail:e.target.value}),placeholder:`you@example.com`,required:!0}),(0,q.jsx)(g.y,{label:`Event Title`,value:W.title,onChange:e=>G({...W,title:e.target.value}),placeholder:`e.g. Design Sync`,required:!0}),(0,q.jsxs)(`div`,{className:`flex flex-col w-full relative`,children:[(0,q.jsx)(`label`,{className:`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`,children:`Description`}),(0,q.jsx)(`textarea`,{value:W.description,onChange:e=>G({...W,description:e.target.value}),placeholder:`e.g. Discussing the new features...`,className:`block min-h-[80px] w-full rounded-xl text-[15px] text-foreground px-4 py-3 transition-all duration-300 placeholder:text-foreground/40 focus:outline-none focus:border-accent glow-focus glass-panel styled-scrollbars resize-none`})]}),S.map(e=>(0,q.jsx)(g.y,{label:e,value:W.customFields[e]||``,onChange:t=>G({...W,customFields:{...W.customFields,[e]:t.target.value}}),placeholder:`Enter ${e.toLowerCase()}...`},e)),(0,q.jsx)(`style`,{children:`
18
18
  input[type="date"]::-webkit-calendar-picker-indicator{background:transparent;bottom:0;color:transparent;cursor:pointer;height:auto;left:0;position:absolute;right:0;top:0;width:auto;z-index:10}
19
19
  input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
20
20
  input[type="number"]{-moz-appearance:textfield}
21
- `}),(0,V.jsxs)(`div`,{className:`relative group/date flex flex-col w-full`,children:[(0,V.jsx)(u.d,{type:`date`,label:`Date`,required:!0,value:K.dateStr,onChange:e=>q({...K,dateStr:e.target.value}),className:`pr-10`}),(0,V.jsx)(`div`,{className:`absolute right-4 bottom-4 pointer-events-none group-focus-within/date:text-accent text-foreground/40 transition-colors`,children:(0,V.jsx)(s.ln,{className:`w-4 h-4`})})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-4`,children:[X?(0,V.jsx)(u.d,{type:`time`,label:`Time`,value:K.time,onChange:e=>q({...K,time:e.target.value}),required:!0}):(()=>{let{h:e,m:t,ampm:n}=we(K.time);return(0,V.jsxs)(`div`,{className:`flex flex-col w-full`,children:[(0,V.jsx)(`label`,{className:`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`,children:`Time`}),(0,V.jsxs)(`div`,{className:`flex items-center h-12 glass-panel border border-[var(--panel-border)] rounded-xl px-3 gap-1 focus-within:border-accent transition-colors`,children:[(0,V.jsx)(`input`,{type:`number`,min:1,max:12,value:e,onChange:e=>q({...K,time:Te(Math.min(12,Math.max(1,parseInt(e.target.value)||12)),t,n)}),className:`w-8 text-center bg-transparent focus:outline-none text-foreground font-bold text-[15px] [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none`}),(0,V.jsx)(`span`,{className:`text-foreground/40 font-bold text-[15px] select-none`,children:`:`}),(0,V.jsx)(`input`,{type:`number`,min:0,max:59,value:t.toString().padStart(2,`0`),onChange:t=>q({...K,time:Te(e,Math.min(59,Math.max(0,parseInt(t.target.value)||0)),n)}),className:`w-8 text-center bg-transparent focus:outline-none text-foreground font-bold text-[15px] [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none`}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>q({...K,time:Te(e,t,n===`AM`?`PM`:`AM`)}),className:`ml-auto px-2 py-0.5 rounded-md bg-accent/10 text-accent text-[11px] font-extrabold uppercase tracking-wider hover:bg-accent/20 transition-colors shrink-0`,children:n})]})]})})(),(0,V.jsx)(u.d,{type:`number`,min:`1`,max:`1440`,label:`Duration (min)`,value:K.duration,onChange:e=>q({...K,duration:e.target.value}),placeholder:`60`,required:!0})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(`label`,{className:`text-[11px] font-bold text-foreground/50 uppercase tracking-widest mt-1`,children:`Event Color`}),(0,V.jsx)(`div`,{className:`flex gap-2 items-center relative z-10 w-full h-[46px]`,children:is.map(e=>(0,V.jsx)(`button`,{type:`button`,onClick:()=>q({...K,color:K.color===e.text?``:e.text}),className:`w-6 h-6 rounded-full shrink-0 ${e.bgCircle} hover:scale-110 transition-transform flex items-center justify-center border border-[var(--panel-border)]`,children:K.color===e.text&&(0,V.jsx)(`div`,{className:`w-2.5 h-2.5 rounded-full bg-background`})},e.name))})]}),(0,V.jsx)(`div`,{className:`pt-2`,children:(0,V.jsx)(d.t,{type:`submit`,isLoading:ee,className:`w-full py-3`,children:K.id?`Save Changes`:`Create Event`})})]})]})]},`edit-modal`),(0,V.jsx)(E.t,{isOpen:!!ie,title:`Confirm Deletion`,message:(0,V.jsxs)(V.Fragment,{children:[`Are you sure you want to delete `,(0,V.jsx)(`strong`,{className:`text-foreground font-extrabold break-words mx-1`,children:ie?.title}),` This action is permanent.`]}),onConfirm:ze,onCancel:()=>{ae(null)},isProcessing:ne,confirmText:`Yes, Delete`})]});return h?(0,V.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col`,children:[(0,V.jsx)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-6 flex items-center justify-between`,children:(0,V.jsxs)(`div`,{children:[(0,V.jsx)(n.t,{children:p?.tabTitle||p?.tabName||e}),t&&(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,V.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),t]})]})}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 pb-16`,children:[(0,V.jsx)(i.t,{}),(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},className:`flex flex-col glass-panel border border-[var(--panel-border)] rounded-3xl overflow-hidden flex-1 shadow-2xl bg-background`,children:[We(),Ke()]})]}),qe()]}):(0,V.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-4 md:mb-6 flex items-center gap-3`,children:[a&&(0,V.jsx)(y.r,{to:a}),(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsx)(n.t,{children:e}),t&&(0,V.jsxs)(`div`,{className:`max-sm:hidden sm:flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,V.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),t]})]})]}),(0,V.jsx)(`div`,{className:`flex flex-col gap-6 flex-1 min-h-0 pb-16`,children:(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},className:`flex flex-col glass-panel border border-[var(--panel-border)] rounded-3xl overflow-hidden flex-1 min-h-[400px] shadow-2xl bg-background relative`,children:[(0,V.jsx)(`div`,{className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-accent/5 blur-[120px] rounded-full pointer-events-none -z-10`}),We(),Ke()]})}),qe()]})}function ls(e){let{user:t,methods:n}=e;if(!t)return null;if(!e.roleResolved||!e.profileReady)return`wait`;if(!o.t(t))return`/verify`;if(Wt(t)){if(n.loading)return`wait`;if(Yt(t,n.on.sms2fa,n.twoStepOptional))return`/two-step`}return _.x(e.profile,{skippable:!0,perRole:!0})!==`member`&&n.loading?`wait`:_.d(e.profile,e.userRole,n.finishRegistration,t.uid)?`/your-details`:Bn(t.uid)?Nn:null}var us=`/register`,ds=300*1e3,fs=e=>{if(typeof window>`u`)return null;try{let t=localStorage.getItem(`fbos_route_${e}`);if(!t)return null;let{cachedAt:n,...r}=JSON.parse(t);return{config:r,cachedAt:typeof n==`number`?n:0}}catch{return null}},ps=(e,t)=>{try{localStorage.setItem(e,t)}catch{}},ms=e=>{try{localStorage.removeItem(e)}catch{}},hs=(e,t)=>{let n=t?o.S(e.pageType):`public`;return{...e,pageType:n,isPrivate:t,isAdmin:n===`admin`,isInternal:n===`internal`,isShared:n===`internal`}};function gs(){let e=(0,G.useLocation)(),{user:a,userRole:l,loading:d,roleResolved:f,roleConfirmed:p,userInactive:m,signOut:h,profile:g,profileReady:v}=r.dr(),b=r.$r(),x=i.v(),S=r.Na(),C=e=>{let n=fs(e);if(n)try{let e=n.config;if(e.form&&!e.formConfigOverride){let t=localStorage.getItem(`fbos_form_${e.form}`);t&&(e.formConfigOverride=JSON.parse(t))}return hs(e,e.isPrivate===!0)}catch{}let r=(typeof window<`u`?window.__FBOS_PAGES__:null)||{},i=e.replace(/^\//,``);for(let[t,n]of Object.entries(r)){let r=n.config,a=n.isPublic,o=r.route||`/`+t;if(o===e||t===i)return hs({...r,route:o,contentKey:r.pageId||t,pageId:t},!a)}return e===`/contact`?{route:`/contact`,template:`popup_form`,form:`contact`,pageId:`contact`,contentKey:`contact`,pageName:`Contact`,formConfigOverride:S.defaultConfigs?.contactForm||t.a}:e===`/support`?{route:`/support`,template:`popup_form`,form:`support`,pageId:`support`,contentKey:`support`,pageName:`Support`,formConfigOverride:S.defaultConfigs?.supportForm||t.r}:null},[w,T]=(0,B.useState)(()=>C(e.pathname)),[E,O]=(0,B.useState)(()=>!C(e.pathname)),k=(0,B.useRef)(e.pathname),A=p!==!1&&o.h(l);(0,B.useEffect)(()=>{let n=!0,i=C(e.pathname);if(i){T(i),O(!1);let e=i.pageName||i.tabName||i.title;e&&(document.title=e)}else k.current!==e.pathname&&(T(null),O(!0));k.current=e.pathname;let a=fs(e.pathname);return a&&!A&&Date.now()-a.cachedAt<ds||(async()=>{try{let i=e.pathname;i.startsWith(`/`)&&(i=i.substring(1));let[a,o,s,c,l,u]=await Promise.allSettled([(0,U.getDoc)((0,U.doc)(r.ka,`sys_pages`,i)),(0,U.getDoc)((0,U.doc)(r.ka,`sys_tabs`,i)),(0,U.getDocs)((0,U.query)((0,U.collection)(r.ka,`sys_pages`),(0,U.where)(`route`,`==`,e.pathname),(0,U.limit)(1))),(0,U.getDocs)((0,U.query)((0,U.collection)(r.ka,`sys_pages`),(0,U.where)(`route`,`==`,i),(0,U.limit)(1))),(0,U.getDocs)((0,U.query)((0,U.collection)(r.ka,`sys_tabs`),(0,U.where)(`route`,`==`,e.pathname),(0,U.limit)(1))),(0,U.getDocs)((0,U.query)((0,U.collection)(r.ka,`sys_tabs`),(0,U.where)(`route`,`==`,i),(0,U.limit)(1)))]),d=null,f=null,p=(e,t)=>{d||e.status===`fulfilled`&&(e.value.exists&&e.value.exists()?(d=hs(e.value.data(),t),f=e.value.id):e.value.docs&&e.value.docs.length>0&&(d=hs(e.value.docs[0].data(),t),f=e.value.docs[0].id))};if(p(a,!1),p(s,!1),p(c,!1),p(o,!0),p(l,!0),p(u,!0),!d){let t=(typeof window<`u`?window.__FBOS_PAGES__:null)||{};for(let[n,r]of Object.entries(t)){let t=r.config,a=r.isPublic,o=t.route||`/`+n;if(o===e.pathname||n===i){d=hs({...t,route:o,contentKey:t.pageId||n,pageId:n},!a),f=n;break}}}if(d||(e.pathname===`/contact`?(d={route:`/contact`,template:`popup_form`,form:`contact`,pageName:`Contact`},f=`contact`):e.pathname===`/support`&&(d={route:`/support`,template:`popup_form`,form:`support`,pageName:`Support`},f=`support`)),!n)return;if(d){if((f===`contact`||f===`support`)&&!d.form&&(d.form=f),d.contentKey||=d.pageId||f,d.pageId=f,ps(`fbos_route_${e.pathname}`,JSON.stringify({...d,cachedAt:Date.now()})),d.form){let e=(typeof window<`u`?window.__FBOS_FORMS__:null)||{},i=n=>S.defaultConfigs?.[n]||S.defaultConfigs?.[`${n}Form`]||e[n]||(n===`contact`?t.a:n===`support`?t.r:null),a=null;try{a=localStorage.getItem(`fbos_custom_form_${d.form}`)}catch{}if(a){try{let e=localStorage.getItem(`fbos_form_${d.form}`);e&&(d.formConfigOverride=JSON.parse(e))}catch{}(0,U.getDoc)((0,U.doc)(r.ka,`sys_forms`,d.form)).then(async e=>{if(n)if(e.exists()){let t={...e.data(),id:e.id};T(e=>({...e,formConfigOverride:t})),ps(`fbos_form_${d.form}`,JSON.stringify(t))}else{let e=i(d.form);e&&(T(t=>({...t,formConfigOverride:e})),ps(`fbos_form_${d.form}`,JSON.stringify(e)),ms(`fbos_custom_form_${d.form}`))}}).catch(()=>{})}else{let e=i(d.form);e&&(d.formConfigOverride=e)}}let i=d.pageName||d.tabName||d.title;i&&(document.title=i),T(d),O(!1)}else T(`not-found`),O(!1),ms(`fbos_route_${e.pathname}`)}catch{n&&!i&&(T(`not-found`),O(!1))}})(),()=>{n=!1}},[e.pathname,A]);let[j,M]=(0,B.useState)(!1),[N,F]=(0,B.useState)(null),[I,L]=(0,B.useState)(!1),R=w&&w!==`not-found`&&typeof w==`object`?[w.contentKey,w.tabName,w.pageId,w.pageName].filter(Boolean).join(`|`):``;(0,B.useEffect)(()=>{if(F(null),!R||c.n(w)){L(!1);return}let e=!1;L(!0),c.t(w).then(t=>{e||(t&&F(()=>t),L(!1))});let t=setTimeout(()=>{e||L(!1)},4e3);return()=>{e=!0,clearTimeout(t)}},[R]);let z=!!a&&p===!1&&!!w&&typeof w==`object`&&w.isPrivate===!0,H=!!a&&b.loading&&!!w&&typeof w==`object`&&(w.pageId===`support`||w.isPrivate===!0)&&_.x(g,{skippable:!0,perRole:!0})!==`member`,W=!f&&!!w&&typeof w==`object`&&(w.pageId===`support`||!!w.isPrivate);if((0,B.useEffect)(()=>{let e;return E||d||W||z||H||I?e=setTimeout(()=>M(!0),150):M(!1),()=>clearTimeout(e)},[E,d,W,z,H,I]),E||d||W||z||H||I)return j?a?(0,V.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,V.jsxs)(`div`,{className:`mb-6`,children:[(0,V.jsx)(`div`,{className:`h-10 w-56 rounded-xl bg-foreground/5 animate-pulse mt-1`}),(0,V.jsx)(`div`,{className:`h-3 w-24 rounded bg-foreground/5 animate-pulse mt-3`})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 pb-16`,children:[(0,V.jsx)(i.t,{}),(0,V.jsx)(`div`,{className:`flex-1 fbos-tab-fill glass-panel border border-[var(--panel-border)] rounded-3xl flex items-center justify-center min-h-[400px] bg-background shadow-2xl`,children:(0,V.jsx)(s.ht,{className:`w-6 h-6 animate-spin text-accent`})})]})]}):(0,V.jsx)(`div`,{className:`flex-1 flex items-center justify-center min-h-[40vh] z-10`,children:(0,V.jsxs)(`div`,{className:`p-4 rounded-2xl glass-panel border border-[var(--panel-border)]/40 bg-background/80 shadow-md flex items-center gap-3`,children:[(0,V.jsx)(s.ht,{className:`w-4 h-4 animate-spin text-accent`}),(0,V.jsx)(`span`,{className:`text-[12px] font-medium text-foreground/60 tracking-wide`,children:`Loading page...`})]})}):null;if(w===`not-found`)return(0,V.jsx)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:(0,V.jsxs)(`div`,{className:`flex flex-col items-center justify-center flex-1 text-center`,children:[(0,V.jsx)(`div`,{className:`w-16 h-16 bg-red-500/10 text-red-500 rounded-full flex items-center justify-center mb-6`,children:(0,V.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,className:`w-8 h-8`,children:[(0,V.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,V.jsx)(`line`,{x1:`12`,y1:`8`,x2:`12`,y2:`12`}),(0,V.jsx)(`line`,{x1:`12`,y1:`16`,x2:`12.01`,y2:`16`})]})}),(0,V.jsx)(`h2`,{className:`text-2xl sm:text-3xl font-bold mb-3 text-foreground`,children:`Page Not Found`}),(0,V.jsx)(`p`,{className:`text-foreground/60 max-w-md`,children:`The route you are looking for does not exist or has been removed.`}),o.h(l)&&(()=>{let t=pi();return(0,V.jsxs)(`div`,{className:`mt-8 w-full max-w-lg text-left flex flex-col gap-4`,children:[(0,V.jsxs)(`div`,{className:`rounded-2xl border border-[var(--panel-border)] bg-[var(--panel-bg)] px-5 py-4`,children:[(0,V.jsx)(`p`,{className:`text-[12px] font-extrabold tracking-tight text-gradient mb-1.5`,children:`Pages the app can see`}),(0,V.jsx)(`p`,{className:`text-[13px] text-foreground/70 font-medium leading-relaxed`,children:t.length?t.join(` · `):`None yet. If your assistant says it created a page, the app has not picked its file up.`})]}),(0,V.jsx)(n.o,{title:`If your assistant just made this page, paste this`,prompt:vi(e.pathname)})]})})()]})});if((w.pageId===`support`||w.isPrivate)&&!a)return(0,V.jsx)(G.Navigate,{to:`/login?from=${encodeURIComponent(e.pathname)}`,replace:!0});let ee=(w.pageId===`support`||w.isPrivate)&&a?ls({user:a,profile:g,userRole:l,roleResolved:f,profileReady:v,methods:b}):null;if(ee===`wait`)return(0,V.jsx)(`div`,{className:`flex-1 flex items-center justify-center min-h-[40vh] z-10`,children:(0,V.jsx)(s.ht,{className:`w-6 h-6 animate-spin text-accent`})});if((w.pageId===`support`||w.isPrivate)&&a&&m)return g?.removed===!0?(0,V.jsx)(G.Navigate,{to:us,replace:!0}):(0,V.jsx)(P.t,{tone:`red`,title:`Access Denied`,message:`You don't have access to this app. Please contact the administrator.`,action:(0,V.jsx)(`button`,{onClick:()=>h(),className:P.a,children:`Sign Out`})});if(ee)return(0,V.jsx)(G.Navigate,{to:ee,replace:!0});let te=o.h(l)&&new URLSearchParams(e.search).has(`preview`);if(w.isPrivate&&!te&&o.w(w)&&!x.live)return(0,V.jsx)(`div`,{className:`flex-1 flex items-center justify-center min-h-[40vh] z-10`,children:(0,V.jsx)(s.ht,{className:`w-6 h-6 animate-spin text-accent`})});if(w.isPrivate&&!te&&!o.u(l,w,x.groups))return(0,V.jsx)(P.i,{});let ne=S.customRoutes?.[e.pathname]||(w&&w.route?S.customRoutes?.[w.route]:null),re=`pub_${D.i(w,!1)}`,ie=w.isPrivate?`${o.C(w)}${D.i(w,!0)}`:re,ae=S.microcomponents||(typeof window<`u`?window.__FBOS_MICROCOMPONENTS__:void 0),K=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,`_`).replace(/^_|_$/g,``),q=[w.contentKey,w.tabName,w.pageId,w.pageName,w.pageName?.replace(/\s+/g,`_`)].filter(Boolean).map(e=>K(e)).reduce((e,t)=>e||ae?.[t],void 0),J=ne||q||N||void 0,oe=w.route||w.pageId||`custom`;return D.c(w.template,!!J)?w.isAdmin?(0,V.jsx)(la,{config:w,customContent:J},oe):w.isInternal?(0,V.jsx)(ua,{config:w,customContent:J},oe):w.isPrivate?(0,V.jsx)(ca,{config:w,customContent:J},oe):(0,V.jsx)(Vi,{config:w,customContent:J},oe):w.template===`board`?(0,V.jsx)(S.components?.TemplateBoard||Da,{title:w.tabTitle||w.tabName||w.title||w.pageName||`Board`,subtitle:w.route,tasksCollection:`${ie}_tasks`,categoriesCollection:`${ie}_categories`,config:w,customContent:J},oe):w.template===`table`?(0,V.jsx)(S.components?.TemplateTable||rs,{title:w.tabTitle||w.tabName||w.title||w.pageName||`Table`,subtitle:w.route,tableCollection:`${ie}_table`,config:w,customContent:J},oe):w.template===`calendar`?(0,V.jsx)(S.components?.TemplateCalendar||cs,{title:w.tabTitle||w.tabName||w.title||w.pageName||`Calendar`,subtitle:w.route,eventsCollection:`${ie}_events`,defaultTimeFormat:w.defaultTimeFormat||w.defaulttimeformat||`12h`,config:w,customContent:J},oe):w.template===`drive`?(0,V.jsx)(S.components?.TemplateDrive||y.t,{title:w.tabTitle||w.tabName||w.title||w.pageName||`Drive`,subtitle:w.route,filesCollection:`${ie}_files`,config:w,customContent:J},oe):w.template===`inline_form`?(0,V.jsx)(`div`,{className:`flex-1 flex flex-col items-center justify-start mt-8 relative z-10 w-full min-h-[60vh]`,children:(0,V.jsx)(u.t,{isInline:!0,formId:w.form,formConfig:w.formConfigOverride})}):(0,V.jsx)(`div`,{className:`flex-1 flex flex-col items-center justify-center relative z-10 w-full min-h-[60vh]`,children:(0,V.jsx)(u.t,{formId:w.form,formConfig:w.formConfigOverride,onClose:()=>window.history.back()})})}var _s=e=>e.error?`error`:e.paid?`paid`:`unpaid`,vs={checking:{icon:s.Zt,tint:`text-accent`,title:`Checking your payment…`},paid:{icon:s.tn,tint:`text-emerald-400`,title:`Thank you — your order is placed`},unpaid:{icon:s.Zt,tint:`text-amber-400`,title:`Not confirmed yet`},error:{icon:s.nn,tint:`text-red-400`,title:`We could not confirm this payment`},cancelled:{icon:s.$t,tint:`text-foreground/50`,title:`Payment cancelled`}};function ys({cancelled:e=!1}){let[t]=(0,G.useSearchParams)(),n=t.get(`session_id`)||``,{user:i}=r.dr(),[a,o]=(0,B.useState)(`checking`),[s,c]=(0,B.useState)(null);(0,B.useEffect)(()=>{if(e)return;let t=!1;return r.ai(n).then(e=>{t||(c(e),o(_s(e)))}),()=>{t=!0}},[e,n]);let l=async()=>{o(`checking`);let e=await r.ai(n);c(e),o(_s(e))},u=vs[e?`cancelled`:a],f=u.icon;return(0,V.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mb-16`,children:(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.5},className:`w-full max-w-[480px] p-6 md:p-8 lg:p-10 rounded-3xl glass-panel relative glow-hover text-center shadow-[0_8px_32px_rgba(0,0,0,0.08)]`,children:[(0,V.jsx)(`div`,{className:`absolute -inset-[1px] bg-gradient-to-br from-[var(--primary-glow)] to-transparent opacity-30 blur-[20px] rounded-3xl -z-10`}),(0,V.jsx)(`div`,{className:`w-14 h-14 md:w-16 md:h-16 rounded-2xl glass-panel border border-[var(--panel-border)] flex items-center justify-center mx-auto mb-5 md:mb-6 shadow-xl`,children:(0,V.jsx)(f,{className:`w-7 h-7 md:w-8 md:h-8 ${u.tint} ${!e&&a===`checking`?`animate-pulse`:``}`})}),(0,V.jsx)(`h1`,{className:`text-2xl md:text-3xl font-bold mb-3 text-foreground tracking-tight`,children:u.title}),(0,V.jsxs)(`div`,{className:`text-[14px] md:text-[15px] text-foreground/60 mb-6 md:mb-8 leading-[1.6] tracking-wide`,children:[e&&(0,V.jsx)(`p`,{children:`Nothing was charged. You can try again whenever you like.`}),!e&&a===`checking`&&(0,V.jsx)(`p`,{children:`One moment — confirming with the payment provider.`}),!e&&a===`paid`&&(0,V.jsxs)(`p`,{children:[s?.amountTotal!=null&&s?.currency?`Your payment of ${s.amountTotal} ${s.currency.toUpperCase()} went through.`:`Your payment went through.`,s?.customerEmail?` A receipt is on its way to ${s.customerEmail}.`:``,i?` Your order is under Billing, and the bell will tell you if anything changes.`:s?.customerEmail?` Sign in with ${s.customerEmail} any time to see your order under Billing.`:``]}),!e&&a===`unpaid`&&(0,V.jsx)(`p`,{children:`The payment provider has not confirmed this payment yet. Some payment methods take a minute — check again shortly, and look for a receipt in your email.`}),!e&&a===`error`&&(0,V.jsxs)(`p`,{children:[s?.error,` If you completed the payment, check your email for a receipt — if one arrived, your payment went through and you can safely close this page.`]})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-3 max-w-[360px] mx-auto`,children:[!e&&a===`paid`&&i&&(0,V.jsx)(G.Link,{to:`/billing`,className:`w-full block py-2.5 md:py-3 btn-primary text-[14px] font-bold rounded-xl transition-colors text-center`,children:`See your order`}),!e&&(a===`unpaid`||a===`error`)&&(0,V.jsx)(d.t,{variant:`primary`,onClick:l,className:`w-full py-2.5 md:py-3 text-[14px] font-bold tracking-wide rounded-xl`,children:`Check again`}),(0,V.jsx)(G.Link,{to:`/`,className:`w-full block py-2.5 md:py-3 bg-foreground/5 hover:bg-foreground/10 text-foreground text-[14px] font-bold rounded-xl transition-colors`,children:`Back to the site`})]})]})})}var bs={contentKey:`dashboard`};function xs(){let{user:e,profile:t}=r.dr(),a=r.Na(),o=(0,G.useNavigate)(),[l]=(0,G.useSearchParams)(),[u]=(0,B.useState)(()=>l.get(_.n)===`1`);(0,B.useEffect)(()=>{if(!u)return;let e=new URLSearchParams(l);e.delete(_.n);let t=e.toString();o(`/dashboard${t?`?${t}`:``}`,{replace:!0})},[u]);let d=u&&_.m(t),[f,p]=(0,B.useState)(null),[m,h]=(0,B.useState)(()=>typeof window<`u`&&!c.n(bs));(0,B.useEffect)(()=>{if(c.n(bs))return;let e=!1;c.t(bs).then(t=>{e||(t&&p(()=>t),h(!1))});let t=setTimeout(()=>{e||h(!1)},4e3);return()=>{e=!0,clearTimeout(t)}},[]);let g=a.microcomponents?.dashboard||(typeof window<`u`?window.__FBOS_MICROCOMPONENTS__?.dashboard:void 0)||f||void 0,v=(String(t?.displayName||``).trim()||e?.displayName||e?.email?.split(`@`)[0]||`there`).split(` `)[0],y=v.charAt(0).toUpperCase()+v.slice(1),b=`${d?`Welcome`:`Welcome back`}, ${y}.`;return(0,V.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-8`,children:[(0,V.jsx)(n.t,{children:b}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,V.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),`/dashboard`]})]}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-4 flex-1 min-h-[500px]`,children:[(0,V.jsx)(`div`,{className:`flex justify-start`,children:(0,V.jsx)(i.t,{})}),g?(0,V.jsx)(`div`,{className:`fbos-content-slot fbos-tab-fill relative w-full flex-1`,children:(0,V.jsx)(c.r,{size:`part`,children:(0,V.jsx)(g,{})})}):(0,V.jsxs)(`div`,{className:`w-full flex-1 glass-panel rounded-3xl relative overflow-hidden border border-[var(--panel-border)] shadow-2xl bg-[var(--panel-bg)] p-8 md:p-12 flex items-center justify-center`,children:[(0,V.jsx)(`div`,{className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-64 h-64 bg-accent/10 blur-[100px] rounded-full pointer-events-none`}),m?(0,V.jsx)(s.ht,{className:`w-6 h-6 text-accent animate-spin relative z-10`}):(0,V.jsx)(r.cr,{mode:`wait`,children:(0,V.jsxs)(r.sr.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},transition:{duration:.3},className:`text-center z-10`,children:[(0,V.jsx)(`div`,{className:`w-16 h-16 rounded-3xl bg-accent/10 border border-accent/20 flex items-center justify-center text-accent mx-auto mb-6 shadow-inner`,children:(0,V.jsx)(s.Kt,{className:`w-6 h-6`})}),(0,V.jsx)(`h2`,{className:`text-2xl font-bold text-foreground mb-2`,children:`No data added here yet`}),(0,V.jsx)(`p`,{className:`text-foreground/40 font-medium`,children:`Keep moving forward, your data will appear here.`})]})})]})]})]})}var Ss=8e3,Cs=2e4;function ws(e){let[t,n]=(0,B.useState)(()=>e<=0);return(0,B.useEffect)(()=>{if(e<=0)return;let t=setTimeout(()=>n(!0),e);return()=>clearTimeout(t)},[e]),t}function Ts(){return{slow:ws(Ss),stuck:ws(Cs)}}var Es=e=>e&&/^\/(?![/\\])/.test(e)?e:null,Ds=`Still trying to connect`,Os=`The app has not heard back. This is almost always the connection rather than anything you did — reloading usually picks it up.`,ks=`No connection`,As=`This device is not online, so the app cannot finish opening. It will carry on by itself the moment you are back.`,js=()=>{let{slow:e,stuck:t}=Ts(),n=r.xa();return t||e&&n?(0,V.jsx)(a.t,{override:{title:n?ks:Ds,message:n?As:Os,next:`reload`}}):(0,V.jsxs)(`div`,{className:`flex-1 flex flex-col items-center justify-center min-h-[60vh] z-10 fbos-fade-in`,children:[(0,V.jsx)(`div`,{className:`w-12 h-12 rounded-xl glass-panel border border-[var(--panel-border)] flex items-center justify-center mb-6 shadow-xl`,children:(0,V.jsx)(s.Kt,{className:`w-6 h-6 text-accent animate-pulse`})}),(0,V.jsxs)(`div`,{className:`flex items-center gap-3 glass-panel px-5 py-2.5 rounded-full border border-[var(--panel-border)]`,children:[(0,V.jsx)(`div`,{className:`w-4 h-4 border-2 border-accent border-t-transparent rounded-full animate-spin`}),(0,V.jsx)(`span`,{className:`text-[13px] font-bold tracking-widest uppercase text-foreground/70`,children:`Connecting`})]}),e&&(0,V.jsxs)(`div`,{className:`mt-6 max-w-xs w-full px-4 text-center fbos-fade-in`,children:[(0,V.jsx)(`p`,{className:`text-[13px] font-semibold text-foreground/60 leading-relaxed mb-3`,children:`This is taking longer than it should.`}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>{typeof window<`u`&&window.location.reload()},className:`w-full flex items-center justify-center gap-2 py-2.5 bg-foreground/5 hover:bg-foreground/10 text-foreground text-[14px] font-bold rounded-xl transition-colors`,children:`Reload the page`})]})]})};function Ms({level:e,children:t}){let{user:n,userRole:i,loading:a,userInactive:s,signOut:c,roleResolved:l,profile:u,profileReady:d}=r.dr(),f=(0,G.useLocation)(),p=r.$r();if(a||!l)return(0,V.jsx)(js,{});if(!n)return(0,V.jsx)(G.Navigate,{to:`/login?from=${encodeURIComponent(f.pathname)}`,replace:!0});if(!d)return(0,V.jsx)(js,{});if(s)return u?.removed===!0?(0,V.jsx)(G.Navigate,{to:us,replace:!0}):(0,V.jsx)(P.t,{tone:`red`,title:`Access Denied`,message:`You don't have access to this app. Please contact the administrator.`,action:(0,V.jsx)(`button`,{onClick:()=>c(),className:P.a,children:`Sign Out`})});let m=ls({user:n,profile:u,userRole:i,roleResolved:l,profileReady:d,methods:p});return m===`wait`?(0,V.jsx)(js,{}):m?(0,V.jsx)(G.Navigate,{to:m}):e===`admin`&&!o.h(i)?(0,V.jsx)(P.n,{}):e===`internal`&&!o.p(i)?(0,V.jsx)(P.r,{}):(0,V.jsx)(V.Fragment,{children:t})}var Ns=({children:e})=>(0,V.jsx)(Ms,{level:`signed-in`,children:e}),Ps=({children:e})=>(0,V.jsx)(Ms,{level:`admin`,children:e}),Fs=({children:e})=>(0,V.jsx)(Ms,{level:`internal`,children:e});function Is({tab:e,children:t}){let{userRole:n}=r.dr(),{audience:a,live:s}=i.o(e),c=S.i(n,a);return!c&&!s&&!o.h(n)?(0,V.jsx)(js,{}):(0,V.jsx)(Ms,{level:c?`signed-in`:`admin`,children:t})}function Ls({children:e,landing:t}){let{user:n,loading:i,roleResolved:a,profileReady:s,profile:c,userRole:l}=r.dr(),u=r.$r(),[d]=(0,G.useSearchParams)(),[f]=(0,B.useState)(()=>r.gr()),[p,m]=(0,B.useState)(!1);if(!i&&!n&&!p&&m(!0),i)return f?(0,V.jsx)(V.Fragment,{children:e}):(0,V.jsx)(js,{});if(d.has(`preview`)||n&&s&&c?.removed===!0)return(0,V.jsx)(V.Fragment,{children:e});if(n&&o.t(n)){let r=ls({user:n,profile:c,userRole:l,roleResolved:a,profileReady:s,methods:u});return r===`wait`||u.loading?p?(0,V.jsx)(V.Fragment,{children:e}):(0,V.jsx)(js,{}):(0,V.jsx)(G.Navigate,{to:r??Es(d.get(`from`))??t??`/dashboard`,replace:!0})}return(0,V.jsx)(V.Fragment,{children:e})}function Rs({children:e}){let{user:t,loading:n,roleResolved:i,profile:a,profileReady:s}=r.dr();if(n||!i)return(0,V.jsx)(js,{});if(!t)return(0,V.jsx)(G.Navigate,{to:`/`});if(o.t(t)){if(!s)return(0,V.jsx)(js,{});if(!o.n(t,a))return(0,V.jsx)(G.Navigate,{to:`/dashboard`})}return(0,V.jsx)(V.Fragment,{children:e})}function zs({children:e}){let{user:t,loading:n,roleResolved:i}=r.dr(),a=r.$r();return n||!i?(0,V.jsx)(js,{}):t?o.t(t)?a.loading?(0,V.jsx)(js,{}):!a.on.sms2fa||!Wt(t)?(0,V.jsx)(G.Navigate,{to:`/dashboard`}):(0,V.jsx)(V.Fragment,{children:e}):(0,V.jsx)(G.Navigate,{to:`/verify`}):(0,V.jsx)(G.Navigate,{to:`/`})}function Bs({children:e}){let{user:t,userRole:n,loading:i,roleResolved:a,roleConfirmed:s,profile:c,profileReady:l}=r.dr(),u=r.$r();return i||!a?(0,V.jsx)(js,{}):t?o.t(t)?!s||!l||u.loading?(0,V.jsx)(js,{}):_._(c,n,u.finishRegistration)?(0,V.jsx)(V.Fragment,{children:e}):(0,V.jsx)(G.Navigate,{to:`/dashboard`}):(0,V.jsx)(G.Navigate,{to:`/verify`}):(0,V.jsx)(G.Navigate,{to:`/`})}var Vs=[`user_submissions`,`user_requests`],Hs=e=>Array.isArray(e)?e.filter(e=>typeof e==`string`&&e):[],Us=e=>[...new Set(e.filter(e=>e&&e!==`uid:`&&e!==`role:`))],Ws=new Set([`id`,`from`,`uid`,`formId`,`submittedAt`,`submitterAvatar`,`transaction`,`arrivedIn`,`appliedEntries`,`access`,`editors`,`archived`,`read`,`starred`]);function Gs(e,t){let n={};for(let[t,r]of Object.entries(e))!Ws.has(t)&&r!==void 0&&(n[t]=r);let r=t&&t.kind===`charge`?t:null;return r?.paidWith&&n.paidWith===void 0&&(n.paidWith=r.paidWith),r?.receiptUrl&&n.receiptUrl===void 0&&(n.receiptUrl=r.receiptUrl),n}function Ks(e,t){let n=Object.entries(e).filter(([e,t])=>/e-?mail/i.test(e)&&typeof t==`string`).map(([,e])=>String(e)),r=e.buyer&&typeof e.buyer==`object`?String(e.buyer.email||``):``;return[...new Set([String(t?.email||``),String(e.submitterEmail||``),r,...n].map(y.T))].filter(e=>e!==`email:`).slice(0,3)}var qs=e=>{if(!e)return 0;if(typeof e==`number`)return e;if(typeof e.toMillis==`function`)return e.toMillis();if(typeof e.seconds==`number`)return e.seconds*1e3;let t=new Date(e).getTime();return Number.isNaN(t)?0:t};function Js(e,t,{roles:n=[],viewers:r=[],senderCanEdit:i=!1},a,o=null){let s=e.uid&&e.uid!==`guest`?y.E(e.uid):``,c=n.map(y.D);return{...t,uid:s?e.uid:a,access:Us([s,...Ks(e,o),...c,...r.map(y.D),...Hs(t.access),...Hs(t.editors)]),editors:Us([...i?[s]:[],...c,...Hs(t.editors)]),sourceId:e.id,formId:e.formId,createdAt:typeof t.createdAt==`number`?t.createdAt:qs(e.submittedAt)||Date.now()}}function Ys(e,t){for(let n of t)if(Object.values(n.collected||{}).includes(e)&&(n.kind===`charge`?n.paid:[`active`,`trialing`].includes(String(n.status))))return n;return null}var Xs=5,Zs=60*1e3;async function Qs(e){let t=[];try{let n=await r.Oa?.currentUser?.getIdToken();if(!n)return{sales:t,error:``};let i=``,a=``;for(let r=0;r<Xs;r+=1){let o=new URLSearchParams;i&&o.set(`starting_after`,i),a&&o.set(`subscriptions_after`,a);let s=await fetch(`/api/payments/sales${r?`?${o}`:``}`,{headers:{Authorization:`Bearer ${n}`}});if(!s.ok){let e=``;try{e=String((await s.json())?.error||``)}catch{}return{sales:t,error:e||`Your payments could not be read, so nothing paid for could be let in just now.`}}let c=await s.json();if(t.push(...c?.charges||[],...c?.subscriptions||[]),e.every(e=>Ys(e,t))||!c?.chargesHasMore&&!c?.subscriptionsHasMore)break;i=c?.chargesAfter||i,a=c?.subscriptionsAfter||a}return{sales:t,error:``}}catch{return{sales:t,error:`Your payments could not be read, so nothing paid for could be let in just now.`}}}var $s=e=>e?.code===`permission-denied`?`What came in from the other page could not be read. The security rules may need pasting again from the Setup screen.`:`What came in from the other page could not be read just now.`,ec=1440*60*1e3,tc=(e,t,n)=>[e.name,e.customerName,e.buyer?.name,t.submitterName,n?.name].map(e=>typeof e==`string`?e.trim():``).find(Boolean)||``;function nc(e,t,{roles:n=[],paid:r=!1,page:i,ring:a=!0},o,s=Date.now()){if(!a)return[];let c=qs(e.submittedAt);if(c&&s-c>ec)return[];let l=i?.path||(typeof window<`u`?window.location.pathname:``),u=i?.title?` on ${i.title}`:``,d=tc(t,e,o),f=n.map(e=>({toRole:e,title:r?`New order${u}`:`Something new${u}`,body:d?`From ${d}`:``,link:l}));return e.uid&&e.uid!==`guest`&&f.push({toUid:e.uid,title:r?`We have your order`:`We have what you sent`,body:i?.title?`Follow it on ${i.title}.`:`You can follow it here.`,link:l}),f}var rc=new Map,ic=new Set,ac=(e,t)=>`${e}|${t}`,oc=(e,t)=>(rc.get(ac(e,t))||0)>0,sc=e=>(ic.add(e),()=>{ic.delete(e)}),cc=(e,t)=>{rc.set(e,Math.max(0,(rc.get(e)||0)+t)),ic.forEach(e=>e())};function lc(e,t,n,i){let{formId:a,paid:o=!1}=t(),s=!0,c=new Map,l=new Set,u=!1,d=!1,f=async(i,a)=>{let o=t(),s;try{s=(o.make||Gs)(i,a)}catch{return`Something that came in could not be read into this page.`}if(!s)return``;let c=Js(i,s,o,n,a),l=!1;try{await(0,U.runTransaction)(r.ka,async t=>{l=!1;let n=(0,U.doc)(r.ka,i.from,i.id),a=(0,U.doc)(r.ka,e,i.id),o=await t.get(n);!o.exists()||Hs(o.data()?.arrivedIn).includes(e)||((await t.get(a)).exists()||(t.set(a,c),l=!0),t.update(n,{arrivedIn:(0,U.arrayUnion)(e)}))})}catch(e){return $s(e)}if(l)for(let e of nc(i,c,o,a))Ae(e);return``},p=async()=>{if(u){d=!0;return}u=!0;try{let e=[...c.values()].flatMap(e=>[...e.values()]).filter(e=>!l.has(e.id));if(!e.length)return;let t=[],n=``;if(o){let r=await Qs(e.map(e=>e.id));if(!s)return;t=r.sales,n=r.error}for(let r of e){let e=o?Ys(r.id,t):null;if(o&&!e)continue;let i=await f(r,e);if(!s)return;i?n||=i:l.add(r.id)}i(n)}finally{u=!1,d&&s&&(d=!1,p())}},m=Vs.map(t=>(0,U.onSnapshot)((0,U.query)((0,U.collection)(r.ka,t),(0,U.where)(`formId`,`==`,a)),n=>{let r=new Map;for(let i of n.docs){let n=i.data()||{};Hs(n.arrivedIn).includes(e)||r.set(i.id,{...n,id:i.id,uid:String(n.uid||`guest`),formId:a,from:t})}c.set(t,r),p()},e=>{s&&i($s(e))})),h=()=>o&&[...c.values()].some(e=>[...e.values()].some(e=>!l.has(e.id)&&Date.now()-(qs(e.submittedAt)||Date.now())<72e5)),g=setInterval(()=>{h()&&p()},Zs),_=()=>{document.visibilityState===`visible`&&h()&&p()};return document.addEventListener(`visibilitychange`,_),()=>{s=!1,m.forEach(e=>e()),clearInterval(g),document.removeEventListener(`visibilitychange`,_)}}function uc(e,t,n){let{user:i,isAdmin:a,roleConfirmed:s}=r.dr(),c=i?.uid||``,{formId:l,paid:u=!1}=t,d=(0,B.useRef)(t);(0,B.useEffect)(()=>{d.current=t});let[f,p]=(0,B.useState)(``),m=ac(e,l),h=(0,B.useSyncExternalStore)(sc,()=>n?!1:oc(e,l)),g=!!c&&a&&s&&o.g(e)&&!!l&&!h;return(0,B.useEffect)(()=>{if(!(!n||!o.g(e)||!l))return cc(m,1),()=>cc(m,-1)},[n,m,e,l]),(0,B.useEffect)(()=>{if(g)return lc(e,()=>d.current,c,p)},[g,e,l,u,c]),{error:g?f:``}}function dc(e,t){return uc(e,t,!0)}function fc(e,t){return uc(e,t,!1)}function pc({road:e}){let{error:t}=fc(e.collection,{formId:e.formId,paid:e.paid,roles:e.roles,page:e.page});return(0,B.useEffect)(()=>{t&&a.a(r.Ca(t,`none`))},[t]),null}function mc(){return(0,V.jsx)(V.Fragment,{children:O.i().map(e=>(0,V.jsx)(pc,{road:e},`${e.collection}|${e.formId}`))})}function hc(){let{pathname:e,hash:t}=(0,G.useLocation)(),n=(0,G.useNavigationType)();return(0,B.useLayoutEffect)(()=>{if(!(n===`POP`||t))try{window.scrollTo({top:0,left:0,behavior:`instant`})}catch{}},[e,t,n]),null}hc.displayName=`ScrollToTop`;var gc=()=>Promise.resolve().then(()=>require(`./Users-CTitWXyd.cjs`)).then(e=>({default:e.UsersTab})),_c=()=>Promise.resolve().then(()=>require(`./SignInAdmin-C94-A-0w.cjs`)).then(e=>({default:e.SignInAdmin})),vc=()=>Promise.resolve().then(()=>require(`./Inbox-DNrcBx0o.cjs`)).then(e=>({default:e.Inbox})),yc=()=>Promise.resolve().then(()=>require(`./Assets-DBMwZ3bN.cjs`)).then(e=>({default:e.Assets})),bc=()=>Promise.resolve().then(()=>require(`./ThemeAdmin-DVnPNxe7.cjs`)).then(e=>({default:e.ThemeAdmin})),xc=()=>Promise.resolve().then(()=>require(`./PagesAdmin-DNwZOKjA.cjs`)).then(e=>({default:e.PagesAdmin})),Sc=()=>Promise.resolve().then(()=>require(`./FormsAdmin-BQCULvi5.cjs`)).then(e=>({default:e.FormsAdmin})),Cc=()=>Promise.resolve().then(()=>require(`./PaymentsAdmin-CoXi2vCm.cjs`)).then(e=>({default:e.PaymentsAdmin})),wc=()=>Promise.resolve().then(()=>require(`./TransactionsAdmin-CTSTiPld.cjs`)).then(e=>({default:e.TransactionsAdmin})),Tc=()=>Promise.resolve().then(()=>require(`./ScheduleAdmin-DwK36GAZ.cjs`)).then(e=>({default:e.ScheduleAdmin})),Ec=()=>Promise.resolve().then(()=>require(`./EmailAdmin-lAEBdY1s.cjs`)).then(e=>({default:e.EmailAdmin})),Dc=()=>Promise.resolve().then(()=>require(`./SetupPayments-HNXWA25X.cjs`)).then(e=>({default:e.SetupPayments})),Oc=()=>Promise.resolve().then(()=>require(`./PublishApp-D4XJUkJa.cjs`)).then(e=>({default:e.PublishApp})),kc=()=>Promise.resolve().then(()=>require(`./MyBookings-6qr0GgzO.cjs`)).then(e=>({default:e.MyBookings})),Ac=()=>Promise.resolve().then(()=>require(`./Billing-0RIHayHy.cjs`)).then(e=>({default:e.Billing})),jc=r.Da(gc),Mc=r.Da(_c),Nc=r.Da(vc),Pc=r.Da(yc),Fc=r.Da(bc),Ic=r.Da(xc),Lc=r.Da(Sc),Rc=r.Da(Cc),zc=r.Da(wc),Bc=r.Da(Tc),Vc=r.Da(Ec),Hc=r.Da(Dc),Uc=r.Da(Oc),Wc=r.Da(kc),Gc=r.Da(Ac),Kc=[kc,Ac],qc=[gc,vc,wc,Tc],Jc=[xc,Sc,bc,_c,yc,Cc,Ec,Oc,Dc];function Yc(){let{user:e,isAdmin:t,isInternal:n}=r.dr();return(0,B.useEffect)(()=>{if(!e)return;let r=[...Kc,...t||n?qc:[],...t?Jc:[]],i=!1,a,o=e=>typeof window.requestIdleCallback==`function`?window.requestIdleCallback(e,{timeout:4e3}):window.setTimeout(e,1500),s=e=>typeof window.cancelIdleCallback==`function`?window.cancelIdleCallback(e):window.clearTimeout(e),c=()=>{let e=r.shift();!e||i||(a=o(()=>{e().catch(()=>{}).finally(c)}))};return c(),()=>{i=!0,a!==void 0&&s(a)}},[e,t,n]),null}function Xc({to:e}){return(0,V.jsx)(G.Navigate,{to:`${e}${(0,G.useLocation)().search}`,replace:!0})}function Zc(){return(0,V.jsxs)(`div`,{className:`fixed top-0 left-0 w-full h-full pointer-events-none -z-0 overflow-hidden`,children:[(0,V.jsx)(`div`,{className:`fbos-orb-1 absolute -top-[30%] md:-top-[400px] -right-[10%] md:-right-[200px] w-[500px] md:w-[800px] h-[500px] md:h-[800px] rounded-full bg-decorator-1 blur-[80px] md:blur-[120px]`}),(0,V.jsx)(`div`,{className:`fbos-orb-2 absolute -bottom-[20%] md:-bottom-[300px] -left-[10%] md:-left-[100px] w-[400px] md:w-[600px] h-[400px] md:h-[600px] rounded-full bg-decorator-2 blur-[60px] md:blur-[100px]`})]})}function Qc({Page:e}){return nt(),(0,V.jsx)(`div`,{className:`fbos-home-slot contents`,children:(0,V.jsx)(c.r,{size:`part`,children:(0,V.jsx)(e,{})})})}function $c(){let e=r.Na().components?.Home||Ct,t=(0,G.useNavigate)(),n=(0,G.useLocation)();return(0,V.jsx)(r.lr,{onSignedOut:()=>t(`/`,{replace:!0}),onRemoved:()=>t(us,{replace:!0}),children:(0,V.jsxs)(`div`,{className:`min-h-screen relative flex flex-col overflow-x-clip`,children:[(0,V.jsxs)($e,{children:[(0,V.jsx)(c.r,{size:`part`,children:(0,V.jsx)(xt,{})}),(0,V.jsx)(hc,{}),(0,V.jsx)(br,{}),(0,V.jsx)(Lr,{}),(0,V.jsxs)(c.r,{resetKey:n.pathname,children:[(0,V.jsx)(Yc,{}),(0,V.jsx)(B.Suspense,{fallback:(0,V.jsx)(js,{}),children:(0,V.jsxs)(G.Routes,{children:[(0,V.jsx)(G.Route,{path:`/`,element:(0,V.jsx)(Ls,{children:(0,V.jsx)(Qc,{Page:e})})}),(0,V.jsx)(G.Route,{path:`/register`,element:(0,V.jsx)(Ls,{landing:`/dashboard?${_.n}=1`,children:(0,V.jsx)(An,{})})}),(0,V.jsx)(G.Route,{path:`/login`,element:(0,V.jsx)(Ls,{children:(0,V.jsx)(jn,{})})}),(0,V.jsx)(G.Route,{path:`/reset-password`,element:(0,V.jsx)(Ls,{children:(0,V.jsx)(vr,{})})}),(0,V.jsx)(G.Route,{path:`/verify`,element:(0,V.jsx)(Rs,{children:(0,V.jsx)(Un,{})})}),(0,V.jsx)(G.Route,{path:`/confirm-email`,element:(0,V.jsx)(Kn,{})}),(0,V.jsx)(G.Route,{path:`/two-step`,element:(0,V.jsx)(zs,{children:(0,V.jsx)(nr,{})})}),(0,V.jsx)(G.Route,{path:`/your-details`,element:(0,V.jsx)(Bs,{children:(0,V.jsx)(lr,{})})}),(0,V.jsx)(G.Route,{path:`/book/:id`,element:(0,V.jsx)(ei,{})}),(0,V.jsx)(G.Route,{path:`/meet/:id`,element:(0,V.jsx)(li,{})}),(0,V.jsx)(G.Route,{path:`/pay/:id`,element:(0,V.jsx)(di,{})}),(0,V.jsx)(G.Route,{path:`/payment-complete`,element:(0,V.jsx)(ys,{})}),(0,V.jsx)(G.Route,{path:`/payment-cancelled`,element:(0,V.jsx)(ys,{cancelled:!0})}),(0,V.jsx)(G.Route,{path:`/guide`,element:(0,V.jsx)(G.Navigate,{to:`/`,replace:!0})}),(0,V.jsx)(G.Route,{path:`/templates`,element:(0,V.jsx)(G.Navigate,{to:`/`,replace:!0})}),(0,V.jsx)(G.Route,{path:`/users`,element:(0,V.jsx)(Is,{tab:`users`,children:(0,V.jsx)(jc,{})})}),(0,V.jsx)(G.Route,{path:`/users/:id`,element:(0,V.jsx)(Is,{tab:`users`,children:(0,V.jsx)(jc,{})})}),(0,V.jsx)(G.Route,{path:`/sign-in`,element:(0,V.jsx)(Ps,{children:(0,V.jsx)(Mc,{})})}),(0,V.jsx)(G.Route,{path:`/inbox`,element:(0,V.jsx)(Is,{tab:`inbox`,children:(0,V.jsx)(Nc,{})})}),(0,V.jsx)(G.Route,{path:`/payments`,element:(0,V.jsx)(Ps,{children:(0,V.jsx)(Rc,{})})}),(0,V.jsx)(G.Route,{path:`/transactions`,element:(0,V.jsx)(Is,{tab:`transactions`,children:(0,V.jsx)(zc,{})})}),(0,V.jsx)(G.Route,{path:`/schedule`,element:(0,V.jsx)(Fs,{children:(0,V.jsx)(Bc,{})})}),(0,V.jsx)(G.Route,{path:`/my-calendar`,element:(0,V.jsx)(Xc,{to:`/schedule`})}),(0,V.jsx)(G.Route,{path:`/my-bookings`,element:(0,V.jsx)(Ns,{children:(0,V.jsx)(Wc,{})})}),(0,V.jsx)(G.Route,{path:`/email`,element:(0,V.jsx)(Ps,{children:(0,V.jsx)(Vc,{})})}),(0,V.jsx)(G.Route,{path:`/submissions`,element:(0,V.jsx)(G.Navigate,{to:`/inbox`,replace:!0})}),(0,V.jsx)(G.Route,{path:`/requests`,element:(0,V.jsx)(G.Navigate,{to:`/inbox`,replace:!0})}),(0,V.jsx)(G.Route,{path:`/assets`,element:(0,V.jsx)(Ps,{children:(0,V.jsx)(Pc,{})})}),(0,V.jsx)(G.Route,{path:`/drive`,element:(0,V.jsx)(G.Navigate,{to:`/assets`,replace:!0})}),(0,V.jsx)(G.Route,{path:`/drive/:rest`,element:(0,V.jsx)(G.Navigate,{to:`/assets`,replace:!0})}),(0,V.jsx)(G.Route,{path:`/theme`,element:(0,V.jsx)(Ps,{children:(0,V.jsx)(Fc,{})})}),(0,V.jsx)(G.Route,{path:`/pages/*`,element:(0,V.jsx)(Ps,{children:(0,V.jsx)(Ic,{})})}),(0,V.jsx)(G.Route,{path:`/forms/*`,element:(0,V.jsx)(Ps,{children:(0,V.jsx)(Lc,{})})}),(0,V.jsx)(G.Route,{path:`/settings`,element:(0,V.jsx)(G.Navigate,{to:`/pages`,replace:!0})}),(0,V.jsx)(G.Route,{path:`/profile`,element:(0,V.jsx)(Ns,{children:(0,V.jsx)(_r,{})})}),(0,V.jsx)(G.Route,{path:`/billing`,element:(0,V.jsx)(Ns,{children:(0,V.jsx)(Gc,{})})}),(0,V.jsx)(G.Route,{path:`/dashboard`,element:(0,V.jsx)(Ns,{children:(0,V.jsx)(xs,{})})}),(0,V.jsx)(G.Route,{path:`/publish`,element:(0,V.jsx)(Ps,{children:(0,V.jsx)(Uc,{})})}),(0,V.jsx)(G.Route,{path:`/setup`,element:(0,V.jsx)(F.r,{})}),(0,V.jsx)(G.Route,{path:`/setup/payments`,element:(0,V.jsx)(Hc,{})}),(0,V.jsx)(G.Route,{path:`*`,element:(0,V.jsx)(gs,{})})]})})]})]}),(0,V.jsx)(Zc,{}),(0,V.jsx)(Se,{}),(0,V.jsx)(mc,{}),(0,V.jsx)(N.t,{})]})})}function el(){return(0,V.jsxs)(c.r,{children:[(0,V.jsx)(G.BrowserRouter,{children:(0,V.jsx)(tl,{})}),(0,V.jsx)(a.n,{})]})}function tl(){let e=r.Na();return e.firebaseConfig&&e.firebaseConfig.apiKey&&e.firebaseConfig.apiKey.trim()!==``&&e.firebaseConfig.projectId&&e.firebaseConfig.projectId.trim()!==``||F.i()?(0,V.jsx)($c,{}):(0,V.jsxs)(`div`,{className:`min-h-screen relative flex flex-col overflow-x-clip`,children:[(0,V.jsx)(xt,{standalone:!0}),(0,V.jsx)(F.r,{standalone:!0}),(0,V.jsx)(Zc,{})]})}function nl(e){return(0,V.jsx)(`div`,{className:`firebase-os flex-1 flex flex-col min-h-screen`,style:{background:`var(--bg-gradient)`,color:`var(--fg-color)`},children:(0,V.jsx)(c.r,{children:(0,V.jsx)(rl,{...e})})})}function rl(e){ve();let t=e.firebaseConfig;return t&&t.apiKey&&t.apiKey.trim()!==``&&t.projectId&&t.projectId.trim()!==``&&r.Aa(t),(0,V.jsx)(r.Ma,{config:{firebaseConfig:e.firebaseConfig,basename:e.basename,onAuthChange:e.onAuthChange,themeConfig:e.themeConfig,components:e.components,customRoutes:e.customRoutes,microcomponents:e.microcomponents,defaultConfigs:e.defaultConfigs},children:(0,V.jsx)(i.C,{children:(0,V.jsx)(el,{})})})}var il=[`views`,`added`,`clicks`,`saves`,`shares`,`downloads`],al=`mem_tallies`,ol=`Needs the rules pasted from /setup at 1.14.66 or later.`,sl=Object.freeze({views:0,added:0,clicks:0,saves:0,shares:0,downloads:0}),cl=e=>String(e??``).trim().toLowerCase().replace(/[^a-z0-9_-]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,40),ll=e=>String(e??``).trim().replace(/\//g,`_`).slice(0,120),ul=(e,t)=>{let n=cl(e),r=ll(t);return n&&r?`${n}_${r}`:null};function dl(e){let t={...sl};for(let n of il){let r=Math.floor(Number(e?.[n]));Number.isFinite(r)&&r>0&&(t[n]=r)}return t}var fl=new Set,pl=e=>{if(fl.has(e))return!0;try{return window.sessionStorage.getItem(e)===`1`}catch{return!1}},ml=e=>{fl.add(e);try{window.sessionStorage.setItem(e,`1`)}catch{}},hl=()=>{let e=r.Oa?.currentUser?.uid;if(!e)return!1;try{let t=window.localStorage.getItem(r.ur(e));return t===`admin`||t===`internal`}catch{return!1}},gl=!1;async function _l(e,t,n=`views`){try{let i=ul(e,t);if(!i||!il.includes(n))return console.error(`tally('${e}', '${t}', '${n}'): a tally needs what is counted ('products'), the record's id, and one of ${il.join(`, `)}.`),!1;let a=`fbos.tally.${i}.${n}`;return pl(a)||hl()?!1:(ml(a),await(0,U.setDoc)((0,U.doc)(r.ka,al,i),{thing:cl(e),of:ll(t),[n]:(0,U.increment)(1)},{merge:!0}),!0)}catch(e){return!gl&&e?.code===`permission-denied`&&(gl=!0,console.warn(`tally(): the database refused the count. ${ol}`)),!1}}function vl(e){let{accessLevel:t}=r.dr(),n=t===`admin`||t===`internal`,i=cl(e),[a,o]=(0,B.useState)(new Map),[s,c]=(0,B.useState)(!0),[l,u]=(0,B.useState)(null);return(0,B.useEffect)(()=>{if(!n||!i){o(new Map),c(!1);return}return c(!0),u(null),(0,U.onSnapshot)((0,U.query)((0,U.collection)(r.ka,al),(0,U.where)(`thing`,`==`,i)),e=>{let t=new Map;e.docs.forEach(e=>{let n=e.data()||{};t.set(String(n.of??``),dl(n))}),o(t),c(!1)},e=>{u(r.Ta(e,`The counts could not be read.`)),c(!1)})},[n,i]),(0,B.useMemo)(()=>{let e={...sl};for(let t of a.values())for(let n of il)e[n]+=t[n];return{loading:s,error:l,of:e=>a.get(ll(e))||sl,total:e}},[a,s,l])}function yl(e,t=`usd`){let n=typeof e==`string`?e.trim()===``?NaN:Number(e):e;if(n==null||!Number.isFinite(n))return`—`;let r=(t||`usd`).toUpperCase();try{return new Intl.NumberFormat(void 0,{style:`currency`,currency:r}).format(n)}catch{return`${n} ${r}`}}var bl=e=>typeof e==`string`?e.trim():e==null?``:String(e).trim(),xl=e=>{let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?t:0},Sl=e=>Math.round(e*100);function Cl(e){let t=[];for(let n of Array.isArray(e)?e:[]){let e=bl(n?.name),r=Math.floor(xl(n?.quantity??1));if(!e||r<1)continue;let i={};try{i=JSON.parse(JSON.stringify(n))||{}}catch{i={}}let a={...i,name:e,quantity:r,price:xl(n?.price)};for(let e of[`id`,`options`,`picture`])bl(n?.[e])?a[e]=bl(n[e]):delete a[e];t.push(a)}return t}var wl=e=>(Array.isArray(e)?e:[]).map(e=>({label:bl(e?.label),amount:xl(e?.amount)})).filter(e=>e.label&&e.amount!==0),Tl=e=>e.reduce((e,t)=>e+Sl(t.price)*t.quantity,0)/100,El=(e,t=[])=>(Sl(Tl(e))+t.reduce((e,t)=>e+Sl(t.amount),0))/100;function Dl(e,t=`usd`,n=480){let r=e.map(e=>`${e.quantity} × ${e.name}${e.options?` — ${e.options}`:``} · ${yl(e.price*e.quantity,t)}`),i=``;for(let e=0;e<r.length;e+=1){let t=i?`${i}; ${r[e]}`:r[e],a=r.length-e-1;if((t+(a?`; and ${a} more`:``)).length>n)return i?`${i}; and ${r.length-e} more`:r[e].slice(0,n);i=t}return i}var Ol=new Set([`uid`,`formId`,`submittedAt`,`submitterName`,`submitterEmail`,`submitterAvatar`,`transaction`,`arrivedIn`,`access`,`editors`]);function kl(e,t,n,r,i){let a={items:e,extras:t,subtotal:Tl(e),total:El(e,t),currency:(n||`usd`).toLowerCase(),name:bl(r.name),email:bl(r.email),phone:bl(r.phone),address:bl(r.address)},o={};try{o=JSON.parse(JSON.stringify(i||{}))||{}}catch{o={}}for(let[e,t]of Object.entries(o))e in a||Ol.has(e)||(a[e]=t);return a}var Al=`fbos_checkout_entry`,jl=(e,t)=>JSON.stringify([e,t]);function Ml(e){try{let t=JSON.parse(window.sessionStorage.getItem(Al)||`null`);return t&&t.print===e&&typeof t.id==`string`?t.id:``}catch{return``}}function Nl(){try{window.sessionStorage.removeItem(Al)}catch{}}var Pl=`fbos_checkout_guest`;function Fl(e){try{e?window.sessionStorage.setItem(Pl,e):window.sessionStorage.removeItem(Pl)}catch{}}function Il(){try{let e=window.sessionStorage.getItem(Pl)||``;return window.sessionStorage.removeItem(Pl),e}catch{return``}}async function Ll(e,t){let n=jl(e,t),i=Ml(n);if(i)return i;let a=r.Oa?.currentUser,o=await(0,U.addDoc)((0,U.collection)(r.ka,`user_submissions`),{...t,...a?{uid:a.uid,submitterName:a.displayName||t.name,submitterEmail:a.email||t.email,submitterAvatar:a.photoURL||``}:{uid:`guest`},formId:e,transaction:!0,submittedAt:(0,U.serverTimestamp)()});try{window.sessionStorage.setItem(Al,JSON.stringify({print:n,id:o.id}))}catch{}return o.id}var Rl=e=>{let t=Math.floor(Number(e));return Number.isFinite(t)&&t>0?t:0},zl=e=>String(e.variantId??e.variant??``).trim();function Bl(e,t,n){let r=n.filter(t=>String(t.id??``)===e&&Rl(t.quantity)>0);if(!r.length)return null;let i=String(t?.name??t?.title??r[0].name??``),a=[],o=Array.isArray(t?.variants)?t.variants.map(e=>({...e})):null,s=typeof t?.stock==`number`?t.stock:null,c=!1,l=!1;for(let t of r){let n=Rl(t.quantity),r=zl(t),u=o&&r?o.findIndex(e=>String(e?.id??``)===r):-1;if(o&&u>=0&&typeof o[u].stock==`number`){let t=o[u].stock,s=Math.max(0,t-n);o[u].stock=s,c=!0,a.push({id:e,variantId:r,name:i,variantName:String(o[u].name??``),quantity:n,from:t,to:s})}else if(s!==null){let t=s,r=Math.max(0,t-n);s=r,l=!0,a.push({id:e,name:i,quantity:n,from:t,to:r})}}if(!a.length)return null;let u={};return c&&(u.variants=o),l&&(u.stock=s),{fields:u,changes:a}}var Vl=e=>({id:e.id,who:{name:String(e.name||e.submitterName||``),email:String(e.email||e.submitterEmail||``)},at:qs(e.submittedAt)||Date.now(),items:Cl(e.items)}),Hl=e=>e?.code===`permission-denied`?`The orders could not be read to take their stock. The security rules may need pasting again from the Setup screen.`:`The stock for what was sold could not be updated just now.`;function Ul(e,t,n){let{formId:i}=t(),a=!0,o=new Map,s=new Set,c=!1,l=!1,u=async n=>{let i=Vl(n),a=[...new Set(i.items.map(e=>String(e.id??``)).filter(Boolean))],o=[];try{await(0,U.runTransaction)(r.ka,async t=>{o=[];let s=(0,U.doc)(r.ka,n.from,n.id),c=await t.get(s);if(!c.exists()||Hs(c.data()?.stockTakenIn).includes(e))return;let l=[];for(let n of a){let i=await t.get((0,U.doc)(r.ka,e,n));l.push({id:n,data:i.exists()?i.data():null})}for(let{id:n,data:a}of l){let s=a?Bl(n,a,i.items):null;s&&(t.update((0,U.doc)(r.ka,e,n),{...s.fields,editedName:i.who.name||`A customer`,editedAt:i.at}),o.push(...s.changes))}t.update(s,{stockTakenIn:(0,U.arrayUnion)(e)})})}catch(e){return Hl(e)}if(o.length)try{t().onTaken?.(i,o)}catch{}return``},d=async()=>{if(c){l=!0;return}c=!0;try{let e=[...o.values()].flatMap(e=>[...e.values()]).filter(e=>!s.has(e.id));if(!e.length)return;let t=await Qs(e.map(e=>e.id));if(!a)return;let r=t.error;for(let n of e){if(!Ys(n.id,t.sales))continue;let e=await u(n);if(!a)return;e?r||=e:s.add(n.id)}n(r)}finally{c=!1,l&&a&&(l=!1,d())}},f=Vs.map(t=>(0,U.onSnapshot)((0,U.query)((0,U.collection)(r.ka,t),(0,U.where)(`formId`,`==`,i)),n=>{let r=new Map;for(let a of n.docs){let n=a.data()||{};Hs(n.stockTakenIn).includes(e)||r.set(a.id,{...n,id:a.id,uid:String(n.uid||`guest`),formId:i,from:t})}o.set(t,r),d()},e=>{a&&n(Hl(e))})),p=()=>[...o.values()].some(e=>[...e.values()].some(e=>!s.has(e.id)&&Date.now()-(qs(e.submittedAt)||Date.now())<72e5)),m=setInterval(()=>{p()&&d()},Zs),h=()=>{document.visibilityState===`visible`&&p()&&d()};return document.addEventListener(`visibilitychange`,h),()=>{a=!1,f.forEach(e=>e()),clearInterval(m),document.removeEventListener(`visibilitychange`,h)}}var Wl=/^(?:mem|admin|role_[a-z][a-z0-9]*)_[A-Za-z0-9_]+$/;function Gl(e,t){let{user:n,isAdmin:i,roleConfirmed:a}=r.dr(),o=n?.uid||``,{formId:s}=t,c=(0,B.useRef)(t);(0,B.useEffect)(()=>{c.current=t});let[l,u]=(0,B.useState)(``),d=Wl.test(String(e||``)),f=!!o&&i&&a&&d&&!!s;return(0,B.useEffect)(()=>{d||console.error(`useStockFromOrders('${e}'): stock is kept by the page that keeps the products — a mem_, admin_ or role_<id>_ collection. Never a pub_ one: that is the app's own copy (usePublicCopy), and it follows the record by itself.`)},[d,e]),(0,B.useEffect)(()=>{if(f)return Ul(e,()=>c.current,u)},[f,e,s,o]),{error:f?l:``}}var Kl=r.Da(()=>Promise.resolve().then(()=>require(`./PhoneInputField-BEwYZMB7.cjs`))),ql=r.Da(()=>Promise.resolve().then(()=>require(`./AddressField-B7wtV8yA.cjs`))),Jl={},Yl=`address`,Xl=/^[^\s@,;]+@[^\s@,;.]+(\.[^\s@,;.]+)*\.[a-z]{2,}$/i;function Zl(e=e=>{let t=new Uint8Array(e);return crypto.getRandomValues(t),Array.from(t)}){return`${e(24).map(e=>`ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789`[e%57]).join(``)}Aa9!`}function Ql(e){let t={};return e.name&&(t.name=e.name),e.email&&(t.email=e.email),e.phone&&(t.phone=e.phone),e.address&&(t.address=e.address),t}function $l(e,t){let n={};return e.name.trim()||(n.name=`Please give your name.`),Xl.test(e.email.trim())||(n.email=`Please give a real email address — the receipt goes there.`),t.phone===!0&&!e.phone.trim().replace(/^\+\d{1,3}$/,``)&&(n.phone=`Please give a phone number.`),t.address===!0&&!g.c(g.u(e.address))&&(n.address=`Please give the address.`),n}var eu=`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`,tu=`leading-snug break-words [overflow-wrap:anywhere]`;function nu({phone:e,address:t,onReady:n,onEditing:i,heading:a=`Your details`,continueLabel:o=`Continue`,wide:s=!1,className:c=``}){let{user:l,profile:f,profileReady:p,loading:m}=r.dr(),h=r.$r(),_=String(l?.displayName||f?.displayName||``).trim(),v=String(l?.email||f?.email||``).trim(),y=String(l?.phoneNumber||f?.phone||``).trim(),b=g.i(Yl,f||{}),[x,S]=(0,B.useState)(_),[C,w]=(0,B.useState)(v),[E,D]=(0,B.useState)(y),[O,k]=(0,B.useState)(b),[A,j]=(0,B.useState)({}),[M,N]=(0,B.useState)(``),[P,F]=(0,B.useState)(!1),[I,L]=(0,B.useState)(null),[R,z]=(0,B.useState)(!1),W=u.l(u.a,Jl),G=W.ready?W.value:Jl,ee=String(G.name||``)||_,te=String(G.email||``)||v,ne=String(G.phone||``)||y,re=G.address&&g.c(G.address)?{...g.n,...G.address}:b,ie=(0,B.useRef)(!1);(0,B.useEffect)(()=>{ie.current||(S(ee),w(te),D(ne),k(re))},[`${ee}|${te}|${ne}|${g.s(re)}`]);let ae=W.setValue;(0,B.useEffect)(()=>{ie.current&&ae({name:x,email:C,phone:E,address:O})},[x,C,E,O,ae]);let K=(0,B.useRef)(``),q=!!l?.uid,J=q&&p&&!!_&&Xl.test(v)&&(e!==!0||!!y)&&(t!==!0||g.c(b));(0,B.useEffect)(()=>{if(!J||R||I||!l?.uid||K.current===l.uid)return;K.current=l.uid;let e=ru(l.uid,_,v,y,b);L(e),n(e,{pressed:!1})},[J,R,I,l?.uid]);let oe=(0,B.useRef)(q),Y=W.clear;(0,B.useEffect)(()=>{let e=oe.current&&!q;oe.current=q,!q&&(K.current=``,L(null),z(!1),e&&Y())},[q,Y]);let se={phone:e,address:t},ce=!h.loading&&h.on?.emailLink===!0,le=(e,t)=>{ie.current=!0,t(),A[e]&&j(t=>{let{[e]:n,...r}=t;return r}),M&&N(``)},ue=async()=>{if(P)return;let e=$l({name:x,email:C,phone:E,address:O},se);if(j(e),Object.keys(e).length){N(`There is something to check below.`);return}F(!0),N(``);let t=x.trim(),i=C.trim(),a=E.trim(),o=g.u(O);try{let e=l?.uid||``,s=!1,c=r.Oa.currentUser;if(e)c&&t&&t!==_&&await(0,H.updateProfile)(c,{displayName:t}).catch(()=>{});else{let n=await(0,H.createUserWithEmailAndPassword)(r.Oa,i,Zl());c=n.user,e=n.user.uid,s=!0,await(0,H.updateProfile)(n.user,{displayName:t}).catch(()=>{}),await n.user.getIdToken(!0).catch(()=>{})}let u={uid:e,displayName:t,...s?{email:i,createdAt:new Date().toISOString()}:{},...a?{phone:a}:{},...g.c(o)?g.r(Yl,o):{}};try{await(0,U.setDoc)((0,U.doc)(r.ka,`user_profiles`,e),u,{merge:!0})}catch(e){if(console.warn(`BuyerDetails: the details could not be written to the profile.`,e),!s)throw e}s&&c&&r.ei(c);let d=ru(e,t,s?i:v||i,a,o,{registered:s});K.current=e,L(d),z(!1),n(d,{pressed:!0})}catch(e){if(e?.code===`auth/email-already-in-use`){let e=ru(``,t,i,a,o,{guest:!0});L(e),z(!1),n(e,{pressed:!0})}else e?.code?N((await r.Sr(e,`password`,`That did not work. Check your details and try again.`,{email:i})).text):N(r.Ta(e,`Your details could not be saved. Please try again.`))}finally{F(!1)}};if(m||q&&!p)return(0,V.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl ${c}`,"aria-hidden":!0});if(I&&!R){let e=[I.email,I.phone].map(e=>String(e||``).trim()).filter(Boolean),t=g.a(I.addressParts);return(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.3,ease:`easeOut`},className:`rounded-2xl border border-[var(--panel-border)] bg-foreground/[0.035] px-4 py-3.5 text-left ${c}`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,V.jsx)(`span`,{className:`text-[12px] font-medium text-foreground/45 leading-tight select-none`,children:`Paying as`}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>{ie.current=!0,z(!0),i?.()},className:`text-[13px] font-semibold text-accent hover:underline cursor-pointer leading-tight shrink-0`,children:`Change`})]}),(0,V.jsx)(`p`,{className:`${tu} mt-1 text-[14.5px] font-semibold text-foreground`,children:I.name}),(e.length>0||t.length>0)&&(0,V.jsxs)(`div`,{className:`mt-1.5 flex flex-col gap-0.5 text-[13.5px] text-foreground/65`,children:[e.map(e=>(0,V.jsx)(`span`,{className:tu,children:e},e)),t.length>0&&(0,V.jsx)(`span`,{className:`flex flex-col gap-0.5 ${e.length?`mt-2`:``}`,children:t.map((e,t)=>(0,V.jsx)(`span`,{className:tu,children:e},t))})]}),I.guest&&ce&&(0,V.jsx)(`p`,{className:`mt-3 pt-3 border-t border-[var(--panel-border)]/70 text-[12.5px] text-foreground/50 leading-snug`,children:`We will email you a link to your order once you have paid.`})]})}return(0,V.jsxs)(`form`,{className:`flex flex-col gap-4 w-full ${c}`,onSubmit:e=>{e.preventDefault(),ue()},noValidate:!0,children:[a&&(0,V.jsx)(`h3`,{className:`text-[15px] font-bold text-foreground tracking-tight`,children:a}),M&&(0,V.jsx)(T.t,{tone:`error`,children:M}),(0,V.jsx)(u.d,{label:`Full name`,"aria-label":`Full name`,name:`name`,autoComplete:`name`,placeholder:`John Doe`,value:x,error:A.name,disabled:P,onChange:e=>le(`name`,()=>S(e.target.value)),className:`max-sm:h-11`}),(0,V.jsx)(u.d,{label:`Email`,"aria-label":`Email`,name:`email`,type:`email`,autoComplete:`email`,placeholder:`name@example.com`,value:C,error:A.email,disabled:P||q&&!!v,onChange:e=>le(`email`,()=>w(e.target.value)),className:`max-sm:h-11`}),e&&(0,V.jsxs)(`div`,{className:`flex flex-col w-full`,children:[(0,V.jsx)(B.Suspense,{fallback:(0,V.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),children:(0,V.jsx)(Kl,{field:{label:e===`optional`?`Phone (optional)`:`Phone`,required:e===!0},value:E,onChange:e=>le(`phone`,()=>D(e))})}),A.phone&&(0,V.jsx)(`p`,{className:`text-xs text-red-500 font-medium mt-1 ml-1`,children:A.phone})]}),t&&(0,V.jsx)(B.Suspense,{fallback:(0,V.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),children:(0,V.jsx)(ql,{id:`buyer-address`,label:t===`optional`?`Address (optional)`:`Address`,required:t===!0,disabled:P,error:A.address,value:O,onChange:e=>le(`address`,()=>k(e))})}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(d.t,{type:`submit`,isLoading:P,disabled:P,className:`w-full ${s?`py-3.5 text-[15px]`:`sm:w-auto sm:self-start py-2.5 text-[14px]`} px-6 font-bold tracking-wide rounded-xl`,children:o}),!q&&(0,V.jsx)(`p`,{className:`${eu} mb-0`,children:`This makes your account, so you can find your order again. We will email you a link to confirm your address.`})]})]})}function ru(e,t,n,r,i,{registered:a=!1,guest:o=!1}={}){let s={name:t,email:n,phone:r,address:g.c(i)?g.s(i):``};return{uid:e,...s,addressParts:g.c(i)?i:{...g.n},metadata:Ql(s),registered:a,guest:o}}var iu=`flex items-baseline justify-between gap-4 text-[14px]`,au=`w-full py-3.5 text-[15px] font-bold tracking-wide`;function ou({formId:e,items:t,extras:n,currency:i=`usd`,phone:a,address:s,carry:c,productName:l,metadata:u,successPath:f,cancelPath:p,summary:m=!0,payLabel:h=`Pay`,className:g=``}){let{loading:_,configured:v}=r.pi(),{userRole:y}=r.dr(),{pathname:b,search:x}=(0,G.useLocation)(),[S,C]=(0,B.useState)(null),[w,T]=(0,B.useState)(!1),[E,D]=(0,B.useState)(``),O=(0,B.useMemo)(()=>Cl(t),[t]),k=(0,B.useMemo)(()=>wl(n),[n]),A=El(O,k);if(_)return null;if(!v)return o.h(y)?(0,V.jsx)(`span`,{className:`text-[12.5px] font-medium text-foreground/50 leading-snug`,children:`Only admins see this: payments are not on yet, so the checkout is hidden. Connect Stripe and switch payments on at /payments and it appears here.`}):null;if(!O.length)return(0,V.jsx)(`p`,{className:`text-[14px] text-foreground/55 ${g}`,children:`There is nothing in your basket yet.`});let j=O.some(e=>!!e.picture),M=`${h} ${yl(A,i)}`,N=async t=>{if(w||!t||A<=0)return;let n=t;T(!0),D(``);let a=``;try{a=await Ll(e,kl(O,k,i,n,c))}catch(e){D(r.Ta(e,`Your order could not be saved, so no payment was taken. Please try again.`)),T(!1);return}Fl(n.guest?n.email:``);let o=await r.ui({amount:A,currency:i,productName:l||(O.length===1?O[0].name:`Order of ${O.reduce((e,t)=>e+t.quantity,0)} items`),lines:O.map(e=>({name:e.name,amount:e.price,quantity:e.quantity,record:e.id?String(e.id):void 0,variant:e.variantId==null?e.variant==null?void 0:String(e.variant):String(e.variantId),options:e.options})),extras:k,metadata:{...u,...n.metadata,orderEntryId:a,items:Dl(O,i),total:String(A)},successPath:f||b,cancelPath:p||`${b}${x}`});o&&(D(o),T(!1))};return(0,V.jsxs)(`div`,{className:`flex flex-col gap-8 ${g}`,children:[m&&(0,V.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[O.map((e,t)=>j?(0,V.jsxs)(`div`,{className:`flex items-center gap-3 text-[14px]`,children:[(0,V.jsx)(`div`,{className:`relative w-12 h-12 shrink-0 rounded-xl overflow-hidden bg-foreground/5`,children:e.picture&&(0,V.jsx)(r.Nn,{src:e.picture,alt:``,fit:`cover`,className:`absolute inset-0`})}),(0,V.jsxs)(`span`,{className:`min-w-0 flex-1 flex flex-col leading-snug`,children:[(0,V.jsx)(`span`,{className:`truncate font-medium text-foreground/85`,children:e.name}),(0,V.jsx)(`span`,{className:`truncate text-[13px] text-foreground/50`,children:[e.options,e.quantity>1?`× ${e.quantity}`:``].filter(Boolean).join(` · `)})]}),(0,V.jsx)(`span`,{className:`shrink-0 tabular-nums text-foreground/80`,children:yl(e.price*e.quantity,i)})]},`${e.id||e.name}-${t}`):(0,V.jsxs)(`div`,{className:iu,children:[(0,V.jsxs)(`span`,{className:`min-w-0 text-foreground/80`,children:[e.quantity,` × `,e.name,e.options&&(0,V.jsxs)(`span`,{className:`text-foreground/50`,children:[` — `,e.options]})]}),(0,V.jsx)(`span`,{className:`shrink-0 tabular-nums text-foreground/80`,children:yl(e.price*e.quantity,i)})]},`${e.id||e.name}-${t}`)),k.length>0&&(0,V.jsxs)(`div`,{className:`${iu} text-foreground/55`,children:[(0,V.jsx)(`span`,{children:`Subtotal`}),(0,V.jsx)(`span`,{className:`tabular-nums`,children:yl(Tl(O),i)})]}),k.map(e=>(0,V.jsxs)(`div`,{className:`${iu} text-foreground/55`,children:[(0,V.jsx)(`span`,{children:e.label}),(0,V.jsx)(`span`,{className:`tabular-nums`,children:yl(e.amount,i)})]},e.label)),(0,V.jsxs)(`div`,{className:`${iu} pt-3 border-t border-[var(--panel-border)] font-semibold text-foreground`,children:[(0,V.jsx)(`span`,{children:`Total`}),(0,V.jsx)(`span`,{className:`tabular-nums`,children:yl(A,i)})]})]}),(0,V.jsx)(nu,{phone:a,address:s,wide:!0,continueLabel:M,onReady:(e,t)=>{C(e),t?.pressed&&N(e)},onEditing:()=>C(null)}),S&&(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(d.t,{onClick:()=>N(S),isLoading:w,disabled:w||A<=0,className:au,children:M}),!E&&(0,V.jsx)(`span`,{className:`text-[12.5px] text-foreground/45 leading-snug text-center`,children:w?`Opening the secure payment page…`:`Secure payment. Your card is entered on the next page.`}),E&&(0,V.jsx)(`span`,{role:`alert`,className:`text-[13px] font-semibold text-foreground/80 leading-snug`,children:E})]})]})}var su=new Map,cu=new Set,lu=new Map,uu=new Map;function du({basket:e,orderPath:t,onPaid:n,title:i=`Thank you — your order is in`,thanks:a=`Your payment went through.`,orderLabel:o=`View your order`}){let[s,c]=(0,G.useSearchParams)(),p=(0,G.useNavigate)(),{user:m,loading:h}=r.dr(),g=r.$r(),_=s.get(`session_id`)||``,[v,y]=(0,B.useState)(null),[b,x]=(0,B.useState)(null),[S,C]=(0,B.useState)(null),[w,T]=(0,B.useState)(!1),E=(0,B.useRef)(n);(0,B.useEffect)(()=>{E.current=n}),(0,B.useEffect)(()=>{if(!_.startsWith(`cs_`))return;let t=!0,n=su.get(_)||r.ai(_);return su.set(_,n),n.then(n=>{if(n.paid&&!cu.has(_)){cu.add(_),e&&u.s(e),u.s(u.a),Nl();let t=Il();t&&lu.set(_,t);try{E.current?.(n)}catch{}}if(t){if(y(n),n.paid&&x({session:_,guest:lu.get(_)||``}),n.error){su.delete(_);return}c(e=>{let t=new URLSearchParams(e);return t.delete(`session_id`),t},{replace:!0})}}),()=>{t=!1}},[_,e,c]);let D=b&&!h&&!m?b.guest:``,O=!g.loading&&g.on?.emailLink===!0,k=t||`/billing`;(0,B.useEffect)(()=>{if(!D||!O||!b)return;let e=!0,t=uu.get(b.session)||r.br(D,`/login?from=${encodeURIComponent(k)}`).then(()=>!0,()=>!1);return uu.set(b.session,t),t.then(t=>{e&&C(t)}),()=>{e=!1}},[D,O,b,k]);let A=w?`idle`:v?v.paid?`paid`:`unpaid`:_.startsWith(`cs_`)?`asking`:`idle`;if(A===`idle`)return null;let j=()=>T(!0);if(A===`asking`)return(0,V.jsx)(l.t,{open:!0,onClose:j,busy:!0,size:`sm`,children:(0,V.jsx)(f.t,{block:!0,label:`Confirming your payment…`})});if(A===`unpaid`)return(0,V.jsx)(l.t,{open:!0,onClose:j,size:`sm`,title:v?.error?`We could not check your payment just now`:`Your payment did not go through`,footer:(0,V.jsx)(d.t,{onClick:j,className:`w-full`,children:v?.error?`Close`:`Back to your basket`}),children:(0,V.jsx)(`p`,{className:`text-[14px] text-foreground/70 leading-relaxed`,children:v?.error?`${v.error} If you finished paying, your order is safe — please do not pay again.`:`Nothing was taken, and your basket is just as you left it.`})});let M=v?.amountTotal==null?``:yl(v.amountTotal,v.currency||`usd`),N=v?.metadata?.emailReceipt===`yes`&&v.customerEmail,P=!D||g.loading?``:O&&S===null?`sending`:O&&S?`sent`:`sign-in`,F=`/login?email=${encodeURIComponent(D)}&from=${encodeURIComponent(k)}${P===`sent`?`&sent=1`:``}`,I=m?k:D?F:t;return(0,V.jsx)(l.t,{open:!0,onClose:j,size:`sm`,title:i,footer:I?(0,V.jsx)(d.t,{onClick:()=>{j(),p(I)},className:`w-full`,children:o}):(0,V.jsx)(d.t,{onClick:j,className:`w-full`,children:`Done`}),children:(0,V.jsxs)(`div`,{className:`flex flex-col gap-2 text-[14px] text-foreground/70 leading-relaxed`,children:[(0,V.jsxs)(`p`,{children:[a,M?` ${M} paid.`:``]}),N&&(0,V.jsxs)(`p`,{children:[`A receipt is on its way to `,v?.customerEmail,`.`]}),P===`sending`&&(0,V.jsxs)(`p`,{children:[`Emailing a sign-in link to `,D,`…`]}),P===`sent`&&(0,V.jsxs)(`p`,{children:[`We have emailed a sign-in link to `,D,` — open it, or sign in here, to see your order.`]}),P===`sign-in`&&(0,V.jsxs)(`p`,{children:[O?`The sign-in link could not be emailed just now. `:``,`Sign in with `,D,` to see your order.`]})]})})}var fu=e=>`${String(e.id||e.name||``).trim()}|${String(e.options||``).trim()}`,pu=e=>{let t=Math.floor(Number(e.max));return Number.isFinite(t)&&t>0?t:1/0};function mu(e){return Cl(e).map(e=>{let t=pu(e);return e.quantity>t?{...e,quantity:t}:e})}function hu(e,t){let[n]=mu([{...t,quantity:t.quantity??1}]);if(!n)return e;let r=fu(n),i=e.findIndex(e=>fu(e)===r);if(i<0)return[...e,n];let a={...e[i],...n,quantity:e[i].quantity+n.quantity};return mu(e.map((e,t)=>t===i?a:e))}function gu(e,t,n){let r=Math.floor(Number(n));return!Number.isFinite(r)||r<1?e.filter(e=>fu(e)!==t):mu(e.map(e=>fu(e)===t?{...e,quantity:r}:e))}var _u=new Map,vu={lines:[],open:!1};function yu(e){try{return mu(JSON.parse(window.localStorage.getItem(u.c(e))||`[]`))}catch{return[]}}function bu(e){let t=_u.get(e);if(t)return t;let n={lines:yu(e),open:!1},r=new Set,i=e=>{n=e,r.forEach(e=>e())},a=t=>{t.detail===e&&i({lines:[],open:!1})},o=t=>{t.key===u.c(e)&&i({...n,lines:yu(e)})},s={get:()=>n,subscribe(e){return r.size||(window.addEventListener(u.o,a),window.addEventListener(`storage`,o)),r.add(e),()=>{r.delete(e),!r.size&&(window.removeEventListener(u.o,a),window.removeEventListener(`storage`,o))}},setLines(t){let r=t(n.lines);if(r!==n.lines){try{r.length?window.localStorage.setItem(u.c(e),JSON.stringify(r)):window.localStorage.removeItem(u.c(e))}catch{}i({...n,lines:r})}},setOpen(e){e!==n.open&&i({...n,open:e})},added:null};return _u.set(e,s),s}function xu(e,t){let n=bu(e);return n.added=t,()=>{n.added===t&&(n.added=null)}}function Su(e=`basket`){let t=bu(e),n=(0,B.useSyncExternalStore)(t.subscribe,t.get,()=>vu);return(0,B.useMemo)(()=>{let r=e=>typeof e==`string`?e:fu(e);return{name:e,lines:n.lines,count:n.lines.reduce((e,t)=>e+t.quantity,0),subtotal:Tl(n.lines),open:n.open,add(e,n){t.setLines(t=>hu(t,e)),n?.quiet||t.setOpen(!0);try{t.added?.(e)}catch{}},setQuantity:(e,n)=>t.setLines(t=>gu(t,r(e),n)),remove:e=>t.setLines(t=>gu(t,r(e),0)),clear:()=>t.setLines(e=>e.length?[]:e),show:()=>t.setOpen(!0),hide:()=>t.setOpen(!1)}},[e,n,t])}var Cu=`bag`,wu=`flex items-baseline justify-between gap-4 text-[14px]`,Tu=`w-10 h-10 inline-flex items-center justify-center rounded-full text-foreground/70 hover:text-foreground hover:bg-foreground/5 transition-colors cursor-pointer disabled:opacity-25 disabled:cursor-default disabled:hover:bg-transparent`;function Eu({subtotal:e,extras:t,total:n,currency:r,count:i}){return(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(t.length>0||i!=null)&&(0,V.jsxs)(`div`,{className:`${wu} text-foreground/55`,children:[(0,V.jsx)(`span`,{children:i==null?`Subtotal`:`${i} ${i===1?`item`:`items`}`}),(0,V.jsx)(`span`,{className:`tabular-nums`,children:yl(e,r)})]}),t.map(e=>(0,V.jsxs)(`div`,{className:`${wu} text-foreground/55`,children:[(0,V.jsx)(`span`,{children:e.label}),(0,V.jsx)(`span`,{className:`tabular-nums`,children:yl(e.amount,r)})]},e.label)),(0,V.jsxs)(`div`,{className:`${wu} font-semibold text-foreground`,children:[(0,V.jsx)(`span`,{children:t.length?`Total`:`Subtotal`}),(0,V.jsx)(`span`,{className:`tabular-nums text-[16px]`,children:yl(n,r)})]})]})}function Du({name:e=`basket`,formId:t,extras:n,currency:i=`usd`,phone:a,address:c,carry:f,productName:p,metadata:m,successPath:h,payLabel:g,send:_,title:v=_?`Your list`:`Your bag`,checkoutTitle:y=_?`Your details`:`Checkout`,checkoutLabel:b=_?`Send my list`:`Checkout`,emptyWords:x=_?`Your list is empty`:`Your bag is empty`,note:S,onOpenLine:C,tally:w,sentWords:T=`Sent — thank you`,onSent:E}){let D=Su(e);(0,B.useEffect)(()=>{if(w)return xu(e,e=>{e.id&&_l(w,String(e.id),`added`)})},[e,w]);let{loading:O,configured:k}=r.pi(),{userRole:A}=r.dr(),{pathname:j,search:M}=(0,G.useLocation)(),[N,P]=(0,G.useSearchParams)(),[F,I]=(0,B.useState)(`bag`),[L,R]=(0,B.useState)(!1),z=N.get(Cu);(0,B.useEffect)(()=>{z&&(D.lines.length&&(I(z===`checkout`?`checkout`:`bag`),D.show()),P(e=>{let t=new URLSearchParams(e);return t.delete(Cu),t},{replace:!0}))},[z]),(0,B.useEffect)(()=>{if(D.open)return;let e=window.setTimeout(()=>{I(`bag`),R(!1)},300);return()=>window.clearTimeout(e)},[D.open]);let H=D.lines,U=H.length?F:`bag`,W=wl(n),ee=El(H,W),te=H.some(e=>!!e.picture),ne=!_&&!O&&!k&&!o.h(A),re=!_||H.some(e=>Number(e.price)>0);(0,B.useEffect)(()=>{H.length&&R(!1)},[H.length]);let ie=_?{...f||{},items:Cl(H),...re?{extras:W,subtotal:D.subtotal,total:ee,currency:i.toLowerCase()}:{}}:void 0,ae=(()=>{let e=new URLSearchParams(M);return e.set(Cu,`checkout`),`${j}?${e.toString()}`})(),K=C?e=>{D.hide(),C(e)}:null,q=U===`bag`&&H.length>0?(0,V.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[re&&(0,V.jsx)(Eu,{subtotal:D.subtotal,extras:W,total:ee,currency:i}),S&&(0,V.jsx)(`p`,{className:`text-[13px] text-foreground/50 leading-snug`,children:S}),ne?(0,V.jsx)(`p`,{className:`text-[13px] text-foreground/55 leading-snug text-center`,children:`Ordering is not open yet.`}):_?(0,V.jsx)(d.t,{onClick:()=>I(`checkout`),className:`w-full py-3.5 text-[15px] font-bold tracking-wide`,children:b}):(0,V.jsx)(d.t,{onClick:()=>I(`checkout`),disabled:ee<=0,className:`w-full py-3.5 text-[15px] font-bold tracking-wide`,children:`${b} · ${yl(ee,i)}`})]}):void 0;return(0,V.jsx)(l.t,{open:D.open,onClose:D.hide,side:`right`,title:U===`checkout`?y:v,sub:U===`checkout`?(0,V.jsxs)(`button`,{type:`button`,onClick:()=>I(`bag`),className:`inline-flex items-center gap-1.5 -ml-1 px-1 py-1 text-[13px] font-semibold text-foreground/55 hover:text-foreground transition-colors cursor-pointer`,children:[(0,V.jsx)(s.bn,{className:`w-3.5 h-3.5`}),` `,_?`Back to your list`:`Back to your bag`]}):void 0,footer:q,children:L&&!H.length?(0,V.jsxs)(`div`,{role:`status`,className:`flex flex-col items-center text-center gap-3 py-16`,children:[(0,V.jsx)(s.sn,{className:`w-9 h-9 text-accent`,strokeWidth:1.75}),(0,V.jsx)(`p`,{className:`text-[15px] font-semibold text-foreground/80`,children:T}),(0,V.jsx)(`p`,{className:`text-[13px] text-foreground/50 leading-snug`,children:`We have your list and will be in touch.`}),(0,V.jsx)(d.t,{variant:`secondary`,onClick:D.hide,className:`mt-3`,children:`Keep looking`})]}):H.length?U===`checkout`&&_?(0,V.jsxs)(`div`,{className:`flex flex-col gap-6 pt-2`,children:[re?(0,V.jsx)(Eu,{subtotal:D.subtotal,extras:W,total:ee,currency:i,count:D.count}):(0,V.jsx)(`p`,{className:`${wu} text-foreground/55`,children:`${D.count} ${D.count===1?`item`:`items`} on your list`}),(0,V.jsx)(u.t,{formId:t,isInline:!0,bare:!0,extra:ie,onSubmitted:(e,t)=>{R(!0),D.clear(),E?.(e,t)}})]}):U===`checkout`?(0,V.jsxs)(`div`,{className:`flex flex-col gap-7 pt-2`,children:[(0,V.jsx)(Eu,{subtotal:D.subtotal,extras:W,total:ee,currency:i,count:D.count}),(0,V.jsx)(ou,{formId:t,items:H,extras:n,currency:i,phone:a,address:c,carry:f,productName:p,metadata:m,successPath:h,cancelPath:ae,payLabel:g,summary:!1})]}):(0,V.jsx)(`ul`,{"aria-label":`In your bag`,className:`flex flex-col`,children:(0,V.jsx)(r.cr,{initial:!1,children:H.map(e=>{let t=fu(e),n=Number(e.max)>0?Math.floor(Number(e.max)):1/0,a=(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`text-[14.5px] font-semibold text-foreground/90 leading-snug line-clamp-2`,children:e.name}),e.options&&(0,V.jsx)(`span`,{className:`text-[13px] text-foreground/50 leading-snug truncate`,children:e.options})]});return(0,V.jsx)(r.sr.li,{layout:!0,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0,height:0},transition:{duration:.2},className:`overflow-hidden border-b border-[var(--panel-border)] last:border-b-0`,children:(0,V.jsxs)(`div`,{className:`flex gap-4 py-4`,children:[te&&(0,V.jsxs)(`div`,{className:`relative w-[72px] h-[72px] shrink-0 rounded-2xl overflow-hidden bg-foreground/5`,children:[e.picture&&(0,V.jsx)(r.Nn,{src:e.picture,alt:``,fit:`cover`,className:`absolute inset-0`}),K&&(0,V.jsx)(`button`,{type:`button`,"aria-label":`Open ${e.name}`,onClick:()=>K(e),className:`absolute inset-0 cursor-pointer`})]}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1 flex flex-col gap-1`,children:[(0,V.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[K?(0,V.jsx)(`button`,{type:`button`,onClick:()=>K(e),className:`min-w-0 flex flex-col gap-0.5 text-left cursor-pointer`,children:a}):(0,V.jsx)(`span`,{className:`min-w-0 flex flex-col gap-0.5`,children:a}),re&&(0,V.jsxs)(`span`,{className:`shrink-0 flex flex-col items-end leading-snug`,children:[(0,V.jsx)(`span`,{className:`text-[14.5px] tabular-nums text-foreground/85`,children:yl(e.price*e.quantity,i)}),e.quantity>1&&(0,V.jsxs)(`span`,{className:`text-[12px] tabular-nums text-foreground/45`,children:[yl(e.price,i),` each`]})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3 -ml-2.5 mt-0.5`,children:[(0,V.jsxs)(`div`,{className:`inline-flex items-center`,children:[(0,V.jsx)(`button`,{type:`button`,"aria-label":`One less ${e.name}`,disabled:e.quantity<=1,onClick:()=>D.setQuantity(t,e.quantity-1),className:Tu,children:(0,V.jsx)(s.it,{className:`w-4 h-4`})}),(0,V.jsx)(`span`,{"aria-live":`polite`,"aria-label":`${e.quantity} of ${e.name}`,className:`w-7 text-center text-[14.5px] font-semibold tabular-nums text-foreground/85`,children:e.quantity}),(0,V.jsx)(`button`,{type:`button`,"aria-label":`One more ${e.name}`,disabled:e.quantity>=n,onClick:()=>D.setQuantity(t,e.quantity+1),className:Tu,children:(0,V.jsx)(s.G,{className:`w-4 h-4`})})]}),(0,V.jsx)(`button`,{type:`button`,"aria-label":`Remove ${e.name}`,onClick:()=>D.remove(t),className:`px-2 py-2 text-[13px] font-semibold text-foreground/45 hover:text-foreground transition-colors cursor-pointer`,children:`Remove`})]}),e.quantity>=n&&(0,V.jsx)(`span`,{className:`text-[12.5px] text-foreground/50 leading-snug`,children:`That is all there is of it.`})]})]})},t)})})}):(0,V.jsxs)(`div`,{className:`flex flex-col items-center text-center gap-3 py-16`,children:[(0,V.jsx)(s.A,{className:`w-9 h-9 text-foreground/20`,strokeWidth:1.5}),(0,V.jsx)(`p`,{className:`text-[15px] font-semibold text-foreground/80`,children:x}),(0,V.jsx)(`p`,{className:`text-[13px] text-foreground/50 leading-snug`,children:`What you add waits here until you are ready.`}),(0,V.jsx)(d.t,{variant:`secondary`,onClick:D.hide,className:`mt-3`,children:`Keep looking`})]})})}Du.displayName=`Basket`;var Ou=e=>(0,B.isValidElement)(e)&&(e.type===`svg`||/^(?:Shopping|Lucide)?(?:Bag|Basket|Cart)\w*$/.test(String(e.type.displayName||``)));function ku({name:e=`basket`,label:t=`Bag`,className:n,children:i}){let a=Su(e),o=a.count,c=B.Children.toArray(i).filter(e=>!Ou(e));return(0,V.jsxs)(`button`,{type:`button`,onClick:a.show,"aria-label":`${t}, ${o} ${o===1?`item`:`items`}`,className:r.ir(`relative inline-flex items-center justify-center gap-2 h-11 min-w-11 px-2.5 rounded-full text-foreground/75 hover:text-foreground hover:bg-foreground/5 transition-colors cursor-pointer`,n),children:[(0,V.jsx)(s.A,{className:`w-[22px] h-[22px]`,strokeWidth:1.75}),c,(0,V.jsx)(r.cr,{children:o>0&&(0,V.jsx)(r.sr.span,{initial:{scale:.6,opacity:0},animate:{scale:1,opacity:1},exit:{scale:.6,opacity:0},transition:{duration:.18},className:`absolute top-0.5 right-0 min-w-[18px] h-[18px] px-1 inline-flex items-center justify-center rounded-full bg-accent text-[var(--button-fg,#fff)] text-[11px] font-bold tabular-nums leading-none`,children:(0,V.jsx)(r.sr.span,{initial:{scale:1.5},animate:{scale:1},transition:{duration:.2},children:o>99?`99+`:o},o)},`count`)})]})}ku.displayName=`BasketButton`;var Au=`w-full py-3.5 text-[15px] font-bold tracking-wide`;function ju({children:e,price:t,about:n,phone:i,address:a,disabled:s=!1,variant:c=`primary`,className:u,...f}){let{loading:p,configured:m}=r.pi(),{userRole:h}=r.dr(),{pathname:g,search:_}=(0,G.useLocation)(),[v,y]=(0,B.useState)(!1),[b,x]=(0,B.useState)(null),[S,C]=(0,B.useState)(!1),[w,T]=(0,B.useState)(``);if(p)return null;if(!m)return o.h(h)?(0,V.jsx)(`span`,{className:`text-[12.5px] font-medium text-foreground/50 leading-snug`,children:`Only admins see this: payments are not on yet, so this button is hidden. Connect Stripe and switch payments on at /payments and it appears here.`}):null;let E=f.mode===`subscription`,D=t?.trim()||(f.amount==null?``:yl(f.amount*(f.quantity||1),f.currency||`usd`)),O=f.productName?.trim()||(E?`Your plan`:`Your order`),k=[E?`Subscribe`:`Pay`,D].filter(Boolean).join(` · `),A=async e=>{if(S||!e)return;C(!0),T(``),Fl(e.guest?e.email:``);let t=await r.ui({...f,metadata:{page:g,...f.metadata,...e.metadata},successPath:f.successPath||g,cancelPath:f.cancelPath||`${g}${_}`});t&&(T(t),C(!1))};return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(d.t,{variant:c,className:u,disabled:s,onClick:()=>{T(``),y(!0)},children:e??(E?`Subscribe`:`Buy`)}),(0,V.jsx)(l.t,{open:v,onClose:()=>y(!1),busy:S,size:`sm`,title:O,sub:D||void 0,children:(0,V.jsxs)(`div`,{className:`flex flex-col gap-7 pt-2`,children:[n&&(0,V.jsx)(`p`,{className:`text-[14px] text-foreground/65 leading-relaxed`,children:n}),(0,V.jsx)(nu,{phone:i,address:a,wide:!0,continueLabel:k,onReady:(e,t)=>{x(e),t?.pressed&&A(e)},onEditing:()=>x(null)}),b&&(0,V.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(d.t,{onClick:()=>A(b),isLoading:S,disabled:S,className:Au,children:k}),!w&&(0,V.jsx)(`span`,{className:`text-[12.5px] text-foreground/45 leading-snug text-center`,children:S?`Opening the secure payment page…`:`Secure payment. Your card is entered on the next page.`})]}),w&&(0,V.jsx)(`span`,{role:`alert`,className:`text-[13px] font-semibold text-foreground/80 leading-snug`,children:w})]})})]})}ju.displayName=`BuyButton`;var Mu=e=>/[^\d.,\s]/.test(e);function Nu(e,t=`usd`){let n=String(e||``).trim();if(!n)return``;if(Mu(n))return n;let i=r.qi(n);return i==null?n:yl(i,t)}function Pu(e,t,n,i){if(!t.on)return null;let a=r.Bi(t,n).trim();if(!/^price_[A-Za-z0-9]+$/.test(a))return null;let o=Nu(t.amount,i);return{rhythm:e,priceId:a,amount:r.qi(t.amount),figure:o,words:`${o} per ${e===`monthly`?`month`:`year`}`.trim()}}var Fu=e=>{let t=e.split(/\r?\n/).map(e=>e.replace(/^\s*(?:[-–•*·✓]|\d+[.)])\s*/,``).trim()).filter(Boolean);return t.length>1?t:[]};function Iu(e,t,n=[],r=`usd`){if(!e||e.kind!==`subscription`)return[];let i=new Set(n.filter(e=>e.active&&e.priceId).map(e=>e.priceId)),a=[];for(let n of e.plans){let e=Pu(`monthly`,n.monthly,t,r),o=Pu(`yearly`,n.yearly,t,r);if(!e&&!o)continue;let s=n.description.trim(),c=Fu(s);a.push({name:n.name.trim()||`Plan`,description:c.length?``:s,includes:c,roleId:n.roleId||``,monthly:e,yearly:o,mine:e&&i.has(e.priceId)?`monthly`:o&&i.has(o.priceId)?`yearly`:null})}return a}function Lu(e){let t=e.monthly?.amount,n=e.yearly?.amount;return!t||!n||n>=t*12?0:Math.round((1-n/(t*12))*100)}function Ru(e,t=`usd`){let{loading:n,mode:i}=r.pi(),a=r.fi(),[o,s]=(0,B.useState)(null);(0,B.useEffect)(()=>{if(e)return(0,U.onSnapshot)((0,U.doc)(r.ka,r.Ei,e),t=>s({id:e,product:t.exists()?r.ea(t.id,t.data()):null}),()=>s({id:e,product:null}))},[e]);let c=o?.id===e?o.product:null,l=!!e&&(n||o?.id!==e);return(0,B.useMemo)(()=>{let e=l?[]:Iu(c,i===`live`,a.subscriptions,t),n={};return c?.emailReceipt&&(n.emailReceipt=`yes`),c?.notifyOwner&&(n.notifyOwner=`yes`),{loading:l,name:c?.name.trim()||``,description:c?.description.trim()||``,plans:e,subscribed:e.some(e=>e.mine),metadata:n}},[l,c,i,a.subscriptions,t])}var zu=`text-[12.5px] font-medium text-foreground/50 leading-snug`;function Bu({product:e,featured:t,featuredLabel:n=`Recommended`,currency:i=`usd`,phone:a,address:c,successPath:l,className:u}){let{loading:d,configured:f}=r.pi(),{userRole:p}=r.dr(),m=Ru(e,i),[h,g]=(0,B.useState)(null);if(m.loading||d)return(0,V.jsx)(`div`,{"aria-hidden":!0,className:r.ir(`grid gap-5 sm:grid-cols-2 lg:grid-cols-3`,u),children:[0,1,2].map(e=>(0,V.jsx)(`div`,{className:`h-72 glass-panel rounded-3xl animate-pulse`},e))});let _=o.h(p),{plans:v}=m;if(!v.length)return _?(0,V.jsx)(`span`,{className:zu,children:`Only admins see this: this subscription has no finished plan yet, so there is nothing to show here. Finish it at /payments and it appears.`}):null;let y=v.some(e=>e.monthly&&e.yearly),b=v.find(e=>e.mine)?.mine||null,x=h||b||`monthly`,S=Math.max(0,...v.map(Lu)),C=t?.trim().toLowerCase()||``;return(0,V.jsxs)(`div`,{className:r.ir(`flex flex-col items-center gap-10 w-full`,u),children:[!f&&_&&(0,V.jsx)(`span`,{className:zu,children:`Only admins see this: payments are not on yet, so the buttons are hidden. Connect Stripe and switch payments on at /payments and they appear here.`}),y&&(0,V.jsx)(`div`,{role:`group`,"aria-label":`How often you pay`,className:`inline-flex items-center p-1 rounded-full glass-panel`,children:[`monthly`,`yearly`].map(e=>(0,V.jsx)(`button`,{type:`button`,"aria-pressed":x===e,onClick:()=>g(e),className:r.ir(`h-10 px-5 rounded-full text-[14px] font-semibold transition-colors cursor-pointer`,x===e?`bg-accent text-[var(--button-fg,#fff)] shadow-sm`:`text-foreground/55 hover:text-foreground`),children:e===`monthly`?`Monthly`:S?`Yearly · save ${S}%`:`Yearly`},e))}),(0,V.jsx)(`div`,{className:r.ir(`grid gap-5 w-full`,v.length===1?`max-w-md`:v.length===2?`sm:grid-cols-2 max-w-3xl`:`sm:grid-cols-2 lg:grid-cols-3`),children:v.map((e,t)=>{let i=e[x]||e.monthly||e.yearly;if(!i)return null;let o=!!C&&e.name.toLowerCase()===C,u=i.rhythm===`yearly`?Lu(e):0;return(0,V.jsxs)(r.sr.div,{initial:{opacity:0,y:14},animate:{opacity:1,y:0},transition:{duration:.35,delay:t*.06,ease:[.16,1,.3,1]},className:r.ir(`relative flex flex-col gap-7 p-7 sm:p-8 rounded-3xl glass-panel text-left`,o&&`ring-1 ring-accent/70`),children:[(0,V.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3 min-h-6`,children:[(0,V.jsx)(`h3`,{className:`text-[15px] font-bold tracking-tight text-foreground/75`,children:e.name}),e.mine?(0,V.jsx)(`span`,{className:`px-2.5 py-1 rounded-full bg-foreground/10 text-[11.5px] font-bold text-foreground/70`,children:`Your plan`}):o?(0,V.jsx)(`span`,{className:`px-2.5 py-1 rounded-full bg-accent/15 text-[11.5px] font-bold text-accent`,children:n}):null]}),(0,V.jsxs)(`p`,{className:`flex items-baseline gap-2 flex-wrap`,children:[(0,V.jsx)(`span`,{className:`text-4xl font-bold tracking-tight text-foreground tabular-nums`,children:i.figure}),(0,V.jsxs)(`span`,{className:`text-[14px] font-medium text-foreground/50`,children:[`per `,i.rhythm===`monthly`?`month`:`year`]})]}),u>0&&(0,V.jsxs)(`p`,{className:`text-[13px] text-foreground/55 -mt-2`,children:[u,`% less than paying monthly.`]}),e.description&&(0,V.jsx)(`p`,{className:`text-[14px] text-foreground/65 leading-relaxed`,children:e.description})]}),e.includes.length>0&&(0,V.jsx)(`ul`,{className:`flex flex-col gap-3`,children:e.includes.map(e=>(0,V.jsxs)(`li`,{className:`flex items-start gap-3 text-[14px] text-foreground/75 leading-snug`,children:[(0,V.jsx)(s.sn,{className:`w-4 h-4 mt-0.5 shrink-0 text-accent`,strokeWidth:2.5}),(0,V.jsx)(`span`,{children:e})]},e))}),(0,V.jsx)(`div`,{className:`mt-auto flex flex-col`,children:m.subscribed?(0,V.jsx)(I.t,{variant:e.mine?`secondary`:`primary`,className:`w-full py-3 text-[14.5px] font-bold`,children:e.mine?`Manage your plan`:`Switch to ${e.name}`}):f?(0,V.jsx)(ju,{priceId:i.priceId,mode:`subscription`,productName:m.name?`${m.name} — ${e.name}`:e.name,price:i.words,about:e.description||void 0,phone:a,address:c,successPath:l,metadata:{...m.metadata,plan:e.name,billed:i.rhythm},variant:o||v.length===1?`primary`:`secondary`,className:`w-full py-3 text-[14.5px] font-bold`,children:`Choose ${e.name}`}):null})]},e.name)})})]})}Bu.displayName=`Plans`;var Vu=Object.assign({}),Hu={};for(let e in Vu){let t=Vu[e];if(!t?.default)continue;let n=e.replace(`./`,``).replace(`.tsx`,``);if(n===`registry`)continue;let r=n.replace(/Content$/,``).replace(/([a-z0-9])([A-Z])/g,`$1_$2`).toLowerCase();Hu[r]=t.default,Hu[r.replace(/_/g,``)]=t.default}if(typeof window<`u`){let e=window.__FBOS_MICROCOMPONENTS__||{};window.__FBOS_MICROCOMPONENTS__={...Hu,...e}}var Uu=(e,t)=>{let n=e.toLowerCase().replace(/[^a-z0-9]+/g,`_`),r=n.replace(/_/g,``);if(Hu[n]=t,Hu[r]=t,typeof window<`u`){let e=window.__FBOS_MICROCOMPONENTS__||{};window.__FBOS_MICROCOMPONENTS__={...e,[n]:t,[r]:t}}},Wu=({title:e,className:t,children:n,...i})=>(0,V.jsxs)(`div`,{className:r.ir(`border border-[var(--panel-border)] bg-[var(--panel-bg)] px-5 py-4`,t),style:{borderRadius:`var(--card-radius, 1rem)`},...i,children:[e?(0,V.jsx)(`p`,{className:`text-[12px] font-extrabold tracking-tight text-gradient mb-1.5`,children:e}):null,n]});Wu.displayName=`Card`;var Gu=({sub:e,className:t,children:n,...i})=>(0,V.jsxs)(`div`,{className:r.ir(`mb-4`,t),children:[(0,V.jsx)(`h2`,{className:`text-xl md:text-2xl font-bold tracking-tight text-foreground`,...i,children:n}),e?(0,V.jsx)(`p`,{className:`text-[13px] text-foreground/60 font-medium leading-relaxed mt-1`,children:e}):null]});Gu.displayName=`SectionHeading`;var Ku=`button, a, input, textarea, select, label, [role="button"], [role="listbox"], [role="option"]`;function qu({stages:e,items:t,stageOf:n,keyOf:i,card:a,onMove:o,onOpen:c,canMove:l,loading:u=!1,empty:d=`Nothing here yet`,className:p}){let m=(0,B.useRef)(null),h=e=>i?i(e):String(e.id??``),g=e[0]?.id??``,_=t=>e.some(e=>e.id===t)?t:g,[v,y]=(0,B.useState)({}),[b,x]=(0,B.useState)(null),S=(0,B.useRef)(null),C=e=>{S.current=e,x(e)},w=(0,B.useMemo)(()=>new Map(t.map(e=>[h(e),e])),[t]);(0,B.useEffect)(()=>{let e=Object.entries(v).filter(([e,t])=>{let r=w.get(e);return!r||t.settled&&_(n(r))===t.stage});e.length&&y(t=>{let n={...t};for(let[t]of e)delete n[t];return n})},[v,w]);let T=(0,B.useMemo)(()=>{let r=new Map(e.map(e=>[e.id,[]]));for(let e of t)v[h(e)]||r.get(_(n(e)))?.push(e);for(let[e,t]of Object.entries(v)){let n=w.get(e),i=r.get(t.stage);n&&i&&i.splice(Math.min(t.index,i.length),0,n)}return r},[t,v,e]),E=(e,t,i)=>{let a=h(e),s=_(n(e));if(t===s&&i===(T.get(s)||[]).findIndex(e=>h(e)===a)||l&&t!==s&&!l(e,t))return;y(e=>({...e,[a]:{stage:t,index:i,settled:!1}}));let c=()=>y(e=>e[a]?{...e,[a]:{...e[a],settled:!0}}:e),u=()=>y(e=>{let t={...e};return delete t[a],t}),d;try{d=o(e,t,i)}catch(e){u(),N.n(r.Ta(e,`That could not be moved.`));return}d&&typeof d.then==`function`?d.then(()=>{c(),setTimeout(u,1500)},e=>{u(),N.n(r.Ta(e,`That could not be moved.`))}):(c(),setTimeout(u,5e3))},{dragging:D,bind:O}=xa({disabled:u,scroller:()=>m.current,onMove:({x:e,y:t},r)=>{let i=m.current,a=w.get(r);if(!i||!a)return;let o=Array.from(i.querySelectorAll(`[data-pipeline-stage]`)),s=null,c=1/0;for(let t of o){let n=t.getBoundingClientRect(),r=e<n.left?n.left-e:e>n.right?e-n.right:0;r<c&&(c=r,s=t)}let u=s?.dataset.pipelineStage;if(!s||!u){C(null);return}if(l&&u!==_(n(a))&&!l(a,u)){C(null);return}let d=Array.from(s.querySelectorAll(`[data-drag-key]`)).filter(e=>e.dataset.dragKey!==r).filter(e=>{let n=e.getBoundingClientRect();return t>n.top+n.height/2}).length,f=S.current;(!f||f.stage!==u||f.index!==d)&&C({stage:u,index:d})},onDrop:e=>{let t=w.get(e),n=S.current;C(null),t&&n&&E(t,n.stage,n.index)},onCancel:()=>C(null)}),k=D?w.get(D.key):void 0,A=`rounded-xl border border-[var(--panel-border)] bg-[var(--panel-bg)] p-3 text-left`,j=e=>t=>{let n=t.target.closest?.(Ku);n&&n!==t.currentTarget||c?.(e)},M=e=>t=>{t.target===t.currentTarget&&(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),c?.(e))};return(0,V.jsxs)(`div`,{ref:m,className:r.ir(`flex w-full items-start gap-3 overflow-x-auto pb-3 md:gap-4`,D?`snap-none`:`snap-x snap-mandatory sm:snap-none`,p),children:[e.map(t=>{let i=T.get(t.id)||[],o=D?i.findIndex(e=>h(e)===D.key):-1,p=!!D&&b?.stage===t.id,m=p&&o>-1&&b.index===o,g=p&&D&&!m?(0,V.jsx)(`div`,{"aria-hidden":`true`,className:`rounded-xl border-2 border-dashed border-accent/50 bg-accent/5`,style:{height:D.height}},`__slot`):null,v=i.map(t=>{let i=h(t),o=_(n(t)),u=e.filter(e=>e.id===o||!l||l(t,e.id));return(0,V.jsxs)(`div`,{...O(i),...c?{role:`button`,tabIndex:0,"data-drag-ok":``,onClick:j(t),onKeyDown:M(t)}:{"data-drag-ok":``},className:r.ir(A,`group relative cursor-grab transition-[border-color,box-shadow,opacity] duration-200 hover:border-accent/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,D?.key===i&&`opacity-30`),children:[(0,V.jsx)(`div`,{className:`min-w-0 pr-7`,children:a(t)}),(0,V.jsx)(`span`,{...Sa,"aria-hidden":`true`,className:`absolute right-1 top-1 flex h-9 w-7 items-center justify-center text-foreground/30 transition-colors group-hover:text-foreground/60`,children:(0,V.jsx)(s.At,{className:`h-4 w-4`})}),u.length>1&&(0,V.jsx)(`div`,{className:`-mb-1 -ml-2 mt-1.5 flex items-center`,"data-no-drag":``,children:(0,V.jsx)(r.nr,{compact:!0,portal:!0,direction:`auto`,variant:`ghost`,ariaLabel:`Move to another stage`,value:o,options:u.map(e=>({value:e.id,label:e.label})),onChange:e=>{e!==o&&E(t,e,0)}})})]},i)});if(g){let e=b.index;v.splice(Math.min(o>-1&&e>o?e+1:e,v.length),0,g)}return(0,V.jsxs)(`section`,{"data-pipeline-stage":t.id,"aria-label":t.label,className:r.ir(`flex w-[84%] shrink-0 snap-start flex-col rounded-2xl border p-3 transition-colors duration-200 sm:w-auto sm:min-w-[15rem] sm:flex-1`,p?`border-accent/60 bg-accent/5`:`border-[var(--panel-border)] bg-background/40`),children:[(0,V.jsxs)(`header`,{className:`mb-3 flex items-center justify-between gap-2 px-1`,children:[(0,V.jsx)(`h3`,{className:`truncate text-sm font-bold text-foreground`,children:t.label}),!u&&(0,V.jsx)(`span`,{className:`flex h-6 min-w-6 items-center justify-center rounded-full border border-[var(--panel-border)] px-1.5 text-xs font-bold text-foreground/70`,children:i.length})]}),t.hint&&(0,V.jsx)(`p`,{className:`-mt-2 mb-3 px-1 text-xs leading-snug text-foreground/50`,children:t.hint}),(0,V.jsx)(`div`,{className:`flex min-h-16 flex-col gap-2.5`,children:u?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(f.n,{className:`h-24 rounded-xl`}),(0,V.jsx)(f.n,{className:`h-24 rounded-xl`})]}):v.length?v:(0,V.jsx)(`p`,{className:`rounded-xl border border-dashed border-[var(--panel-border)] px-3 py-5 text-center text-xs text-foreground/40`,children:d})})]},t.id)}),D&&k!==void 0&&typeof document<`u`&&(0,ee.createPortal)((0,V.jsx)(`div`,{"aria-hidden":`true`,className:r.ir(A,`pointer-events-none fixed z-[9995] rotate-[1.5deg] opacity-95 shadow-2xl`),style:{left:D.x-D.offsetX,top:D.y-D.offsetY,width:D.width},children:(0,V.jsx)(`div`,{className:`min-w-0 pr-7`,children:a(k)})}),document.body)]})}qu.displayName=`Pipeline`;var Ju=new WeakMap,Yu=0,Xu=e=>{let t=Ju.get(e);return t||(t=`\u0000item${++Yu}`,Ju.set(e,t)),t},Zu=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]);function Qu({items:e,keyOf:t,item:n,onReorder:i,label:a,grip:o,disabled:c=!1,className:l}){let u=(0,B.useRef)(null),d=e=>{if(t)return String(t(e)??``);if(typeof e==`string`||typeof e==`number`)return String(e);let n=e?.id;return n!=null&&n!==``?String(n):e&&typeof e==`object`?Xu(e):``},f=(o??(/\b(?:grid|columns-\d)/.test(l||``)?`corner`:`end`))===`corner`,p=new Map,m=e.map(e=>{let t=d(e),n=p.get(t)??0;return p.set(t,n+1),n===0?t:`${t}\u0000${n}`}),h=new Map(e.map((e,t)=>[m[t],e])),g=m.join(`\0`),[_,v]=(0,B.useState)(null),y=(0,B.useRef)(null),b=e=>{y.current=e,v(e?{keys:e,from:g}:null)},x=(0,B.useRef)(0),S=(0,B.useRef)(null);(0,B.useEffect)(()=>{let e=S.current;e&&(S.current=null,u.current?.querySelector(`[data-drag-key="${CSS.escape(e)}"] [data-drag-handle]`)?.focus())});let C=()=>Array.from(u.current?.querySelectorAll(`:scope > [data-drag-key]`)||[]).map(e=>e.dataset.dragKey||``),w=e=>{if(Zu(e,m)){b(null);return}b(e);let t=()=>{y.current===e&&b(null)},n;try{n=i(e.map(e=>h.get(e)))}catch(e){t(),N.n(r.Ta(e,`The new order could not be saved.`));return}n&&typeof n.then==`function`?n.then(()=>setTimeout(t,1500),e=>{t(),N.n(r.Ta(e,`The new order could not be saved.`))}):setTimeout(t,3e3)},{dragging:T,bind:E}=xa({disabled:c,onStart:()=>b(C()),onMove:({x:e,y:t,at:n},r)=>{let i=u.current;if(!i||n<x.current)return;let a=null,o=1/0;for(let n of Array.from(i.querySelectorAll(`:scope > [data-drag-key]`))){let r=n.getBoundingClientRect(),i=Math.hypot(e-(r.left+r.width/2),t-(r.top+r.height/2));i<o&&(o=i,a=n.dataset.dragKey||null)}let s=y.current||C();if(!a||a===r)return;let c=s.filter(e=>e!==r);c.splice(s.indexOf(a),0,r),x.current=n+140,b(c)},onDrop:()=>w(y.current||C()),onCancel:()=>b(null)}),D=_&&(T||_.from===g)?_.keys:null,O=(D||m).filter(e=>h.has(e));for(let e of m)O.includes(e)||O.push(e);let k=e=>t=>{let n=t.key===`ArrowUp`||t.key===`ArrowLeft`?-1:+(t.key===`ArrowDown`||t.key===`ArrowRight`);if(!n)return;t.preventDefault();let r=O.indexOf(e),i=r+n;if(i<0||i>=O.length)return;let a=[...O];a.splice(r,1),a.splice(i,0,e),S.current=e,w(a)},A=T?h.get(T.key):void 0;return(0,V.jsxs)(`div`,{ref:u,className:r.ir(l||`flex flex-col gap-2`),children:[O.map((e,t)=>{let i=h.get(e),o=a?a(i,t):`item ${t+1} of ${O.length}`,l=c?null:(0,V.jsx)(`button`,{type:`button`,...Sa,onKeyDown:k(e),"aria-label":`Move ${o} — drag, or use the arrow keys`,className:r.ir(`flex h-10 w-8 shrink-0 items-center justify-center rounded-lg text-foreground/40 transition-colors hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,f&&`absolute right-1.5 top-1.5 w-10 border border-[var(--panel-border)] bg-background/80 text-foreground/70 backdrop-blur-sm`),children:(0,V.jsx)(s.At,{className:`h-4 w-4`,"aria-hidden":`true`})});return(0,V.jsxs)(r.sr.div,{layout:!!T||!!D,transition:{type:`spring`,stiffness:500,damping:40},...E(e),className:r.ir(`relative min-w-0`,!f&&`flex items-center gap-2`,!c&&`cursor-grab`,T?.key===e&&`opacity-30`),children:[f?n(i,t):(0,V.jsx)(`div`,{className:`min-w-0 flex-1`,children:n(i,t)}),l]},e)}),T&&A!==void 0&&typeof document<`u`&&(0,ee.createPortal)((0,V.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none fixed z-[9995] rotate-[1.5deg] opacity-95 shadow-2xl`,style:{left:T.x-T.offsetX,top:T.y-T.offsetY,width:T.width},children:f?n(A,O.indexOf(T.key)):(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`div`,{className:`min-w-0 flex-1`,children:n(A,O.indexOf(T.key))}),(0,V.jsx)(`span`,{className:`w-8 shrink-0`})]})}),document.body)]})}Qu.displayName=`Sortable`;var $u=`button, a, input, textarea, select, label, [role="button"], [role="listbox"], [role="option"]`,ed=e=>{if(e==null||e===``)return null;if(e instanceof Date)return e.getTime();if(typeof e==`boolean`)return+!!e;let t=e;return typeof t.toMillis==`function`?t.toMillis():e},td=e=>{if(e==null)return``;if(e instanceof Date)return e.toLocaleDateString();let t=e;return typeof t.toDate==`function`?t.toDate().toLocaleDateString():String(e)},nd=`(min-width: 768px)`;function rd(){let[e,t]=(0,B.useState)(()=>typeof window>`u`||typeof window.matchMedia!=`function`?!0:window.matchMedia(nd).matches);return(0,B.useEffect)(()=>{if(typeof window>`u`||typeof window.matchMedia!=`function`)return;let e=window.matchMedia(nd),n=()=>t(e.matches);return n(),e.addEventListener?.(`change`,n),()=>e.removeEventListener?.(`change`,n)},[]),e}function id({rows:e,columns:t,keyOf:n,onOpen:i,actions:a,loading:o=!1,empty:c=`Nothing here yet`,search:l=!1,sort:u,className:d}){let p=(e,t)=>n?n(e):String(e.id??t),[m,h]=(0,B.useState)(u?{key:u.key,dir:u.dir||`asc`}:null),[g,_]=(0,B.useState)(``),v=rd(),y=(0,B.useMemo)(()=>{let n=g.trim().toLowerCase(),r=n?e.filter(e=>t.some(t=>t.value&&td(t.value(e)).toLowerCase().includes(n))):e,i=m&&t.find(e=>e.key===m.key);if(i&&i.value){let e=i.value,t=m.dir===`asc`?1:-1;r=[...r].sort((n,r)=>{let i=ed(e(n)),a=ed(e(r));return i===null||a===null?i===a?0:i===null?1:-1:typeof i==`number`&&typeof a==`number`?(i-a)*t:String(i).localeCompare(String(a),void 0,{numeric:!0,sensitivity:`base`})*t})}return r},[e,t,m,g]),b=e=>h(t=>t?.key===e?t.dir===`asc`?{key:e,dir:`desc`}:null:{key:e,dir:`asc`}),x=(e,t)=>e.cell?e.cell(t):e.value?td(e.value(t)):null,S=e=>t=>{let n=t.target.closest?.($u);n&&n!==t.currentTarget||i?.(e)},C=e=>t=>{t.target===t.currentTarget&&(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),i?.(e))},[w,...T]=t,E=T.find(e=>e.align===`right`&&e.phone!==!1),D=T.filter(e=>e!==E&&e.phone!==!1),O=!o&&y.length===0,k=g.trim()&&e.length?`Nothing matches “${g.trim()}”`:c;return(0,V.jsxs)(`div`,{className:r.ir(`w-full`,d),children:[l&&(0,V.jsxs)(`label`,{className:`relative mb-4 flex w-full items-center sm:max-w-xs`,children:[(0,V.jsx)(s.F,{className:`pointer-events-none absolute left-3.5 z-10 h-4 w-4 text-foreground/40`,"aria-hidden":`true`}),(0,V.jsx)(`input`,{type:`search`,value:g,onChange:e=>_(e.target.value),placeholder:typeof l==`string`?l:`Search`,"aria-label":typeof l==`string`?l:`Search`,className:`glass-panel glow-focus block h-11 w-full pl-10 pr-4 text-sm text-foreground placeholder:text-foreground/40 focus:border-accent focus:outline-none`,style:{borderRadius:`var(--input-radius, 0.75rem)`}})]}),v&&(0,V.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-[var(--panel-border)] bg-background/30`,children:(0,V.jsxs)(`table`,{className:`w-full border-collapse text-left text-sm`,children:[(0,V.jsx)(`thead`,{children:(0,V.jsxs)(`tr`,{className:`border-b border-[var(--panel-border)] bg-background/50`,children:[t.map(e=>{let t=!!e.value&&e.sortable!==!1,n=m?.key===e.key?m.dir:null;return(0,V.jsx)(`th`,{scope:`col`,"aria-sort":n===`asc`?`ascending`:n===`desc`?`descending`:void 0,className:r.ir(`px-4 py-3 text-xs font-semibold uppercase tracking-wide text-foreground/50`,e.align===`right`&&`text-right`),children:t?(0,V.jsxs)(`button`,{type:`button`,onClick:()=>b(e.key),className:r.ir(`inline-flex items-center gap-1 uppercase tracking-wide transition-colors hover:text-foreground focus:outline-none focus-visible:text-foreground`,n&&`text-foreground`),children:[e.label,n===`asc`&&(0,V.jsx)(s._n,{className:`h-3 w-3`,"aria-hidden":`true`}),n===`desc`&&(0,V.jsx)(s.xn,{className:`h-3 w-3`,"aria-hidden":`true`})]}):e.label},e.key)}),a&&(0,V.jsx)(`th`,{scope:`col`,className:`px-4 py-3`,children:(0,V.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,V.jsxs)(`tbody`,{className:`divide-y divide-[var(--panel-border)]`,children:[o&&[0,1,2,3].map(e=>(0,V.jsxs)(`tr`,{children:[t.map(e=>(0,V.jsx)(`td`,{className:`px-4 py-3.5`,children:(0,V.jsx)(f.n,{className:`h-4 w-3/4 rounded-md`})},e.key)),a&&(0,V.jsx)(`td`,{className:`px-4 py-3.5`})]},e)),O&&(0,V.jsx)(`tr`,{children:(0,V.jsx)(`td`,{colSpan:t.length+ +!!a,className:`px-4 py-12 text-center text-sm text-foreground/50`,children:k})}),!o&&y.map((e,n)=>(0,V.jsxs)(`tr`,{onClick:i?S(e):void 0,className:r.ir(`transition-colors`,i&&`cursor-pointer hover:bg-foreground/[0.03]`),children:[t.map((t,n)=>(0,V.jsx)(`td`,{className:r.ir(`px-4 py-3.5 align-middle text-foreground/80`,t.align===`right`&&`text-right tabular-nums`,n===0&&`font-semibold text-foreground`),children:n===0&&i?(0,V.jsx)(`button`,{type:`button`,onClick:()=>i(e),className:`text-left font-semibold hover:underline focus:outline-none focus-visible:underline`,children:x(t,e)}):x(t,e)},t.key)),a&&(0,V.jsx)(`td`,{className:`px-4 py-2.5 text-right`,children:(0,V.jsx)(`div`,{className:`flex items-center justify-end gap-2`,children:a(e)})})]},p(e,n)))]})]})}),!v&&(0,V.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[o&&[0,1,2].map(e=>(0,V.jsx)(f.n,{className:`h-24`},e)),O&&(0,V.jsx)(`p`,{className:`rounded-2xl border border-dashed border-[var(--panel-border)] px-4 py-10 text-center text-sm text-foreground/50`,children:k}),!o&&y.map((e,t)=>(0,V.jsxs)(`div`,{...i?{role:`button`,tabIndex:0,onClick:S(e),onKeyDown:C(e)}:{},className:r.ir(`rounded-2xl border border-[var(--panel-border)] bg-[var(--panel-bg)] p-4 text-left`,i&&`cursor-pointer transition-colors hover:border-accent/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`),children:[(0,V.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,V.jsx)(`div`,{className:`min-w-0 text-[15px] font-semibold text-foreground`,children:w?x(w,e):null}),E&&(0,V.jsx)(`div`,{className:`shrink-0 text-[15px] font-semibold tabular-nums text-foreground`,children:x(E,e)})]}),D.length>0&&(0,V.jsx)(`dl`,{className:`mt-2.5 grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5 text-sm`,children:D.map(t=>(0,V.jsxs)(`div`,{className:`contents`,children:[(0,V.jsx)(`dt`,{className:`text-foreground/50`,children:t.label}),(0,V.jsx)(`dd`,{className:`min-w-0 text-right text-foreground/80`,children:x(t,e)})]},t.key))}),a&&(0,V.jsx)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 border-t border-[var(--panel-border)] pt-3`,children:a(e)})]},p(e,t)))]})]})}id.displayName=`DataTable`;var ad=/^(?:mem|admin|role_[a-z][a-z0-9]*)_[A-Za-z0-9_]+$/,od=e=>ad.test(String(e||``))&&!/_history$/.test(e)?`${e}_history`:null,sd=e=>e==null||e===``?void 0:String(e);function cd(e,t,n={},r=null,i=Date.now()){let a=Ji(r),o=!!n.by?.name,s={recordId:String(e),what:String(t||``).trim(),creatorName:o?String(n.by.name):a.creatorName||`Somebody`,creatorAvatar:o?String(n.by.avatar||``):a.creatorAvatar,uid:r?.uid||``,createdAt:o&&Number.isFinite(n.at)&&n.at>0?n.at:i},c=sd(n.from),l=sd(n.to);return c!==void 0&&(s.from=c),l!==void 0&&(s.to=l),s}async function ld(e,t,n,i={}){let a=od(e);if(!a||!t||!String(n||``).trim()){console.error(`logHistory('${e}', '${t}', '${n}'): a history line needs the record's own collection (mem_, admin_ or role_<id>_ — never an admin_ one when the team makes the changes), the record's id, and what was done.`);return}try{await(0,U.addDoc)((0,U.collection)(r.ka,a),cd(t,n,i,r.Oa?.currentUser||null))}catch(e){console.warn(`logHistory: the line "${n}" could not be saved — ${r.Ta(e,`the database refused it.`)}`)}}function ud(e,t){let n=od(e),i=String(t||``),[a,o]=(0,B.useState)({loading:!0,error:null,lines:[]});return(0,B.useEffect)(()=>{if(!n||!i){o({loading:!1,error:null,lines:[]});return}return o({loading:!0,error:null,lines:[]}),(0,U.onSnapshot)((0,U.query)((0,U.collection)(r.ka,n),(0,U.where)(`recordId`,`==`,i)),e=>{let t=e.docs.map(e=>({...e.data()||{},id:e.id}));t.sort((e,t)=>Number(t.createdAt||0)-Number(e.createdAt||0)),o({loading:!1,error:null,lines:t})},e=>o({loading:!1,error:r.Ta(e,`The history could not be read.`),lines:[]}))},[n,i]),a}var dd=e=>{if(!e)return 0;if(typeof e==`number`)return e;if(e instanceof Date)return e.getTime();let t=e;if(typeof t.toMillis==`function`)return t.toMillis();if(typeof t.seconds==`number`)return t.seconds*1e3;let n=Date.parse(String(e));return Number.isFinite(n)?n:0},fd=(e,t)=>`${e} ${t}${e===1?``:`s`} ago`,pd=(e,t=Date.now())=>{let n=dd(e);if(!n)return``;let r=Math.floor(Math.max(0,t-n)/6e4);if(r<1)return`just now`;if(r<60)return fd(r,`minute`);let i=Math.floor(r/60);if(i<24)return fd(i,`hour`);let a=Math.floor(i/24);return a===1?`yesterday`:a<7?fd(a,`day`):new Date(n).toLocaleDateString(void 0,{day:`numeric`,month:`short`,year:`numeric`})},md=(e,t=!1)=>{if(!e)return null;if(t){let t=String(e.editedName||``).trim();return t?{name:t,avatar:String(e.editedAvatar||``),at:e.editedAt}:null}let n=String(e.creatorName||``).trim()||String(e.creatorEmail||``).split(`@`)[0];return n?{name:n,avatar:String(e.creatorAvatar||``),at:e.createdAt}:null},hd=e=>e.split(/\s+/).filter(Boolean).map(e=>e[0]).join(``).toUpperCase().slice(0,2);function gd({record:e,edited:t=!1,label:n,noTime:i=!1,size:a=`sm`,className:o}){let s=md(e,t);if(!s)return null;let c=n??(t?`Edited by`:``),l=i?``:pd(s.at),u=a===`md`?`w-7 h-7 text-[10px]`:`w-5 h-5 text-[8px]`;return(0,V.jsxs)(`span`,{className:r.ir(`inline-flex items-center gap-2 min-w-0 max-w-full align-middle`,o),children:[s.avatar?(0,V.jsx)(r.Nn,{src:s.avatar,alt:``,className:r.ir(u,`rounded-full shrink-0`)}):(0,V.jsx)(`span`,{"aria-hidden":`true`,className:r.ir(u,`rounded-full bg-accent/15 text-accent flex items-center justify-center font-extrabold shrink-0`),children:hd(s.name)}),(0,V.jsxs)(`span`,{className:r.ir(`truncate font-semibold text-foreground/55`,a===`md`?`text-[13px]`:`text-[11px]`),children:[c&&(0,V.jsxs)(`span`,{className:`font-medium text-foreground/40`,children:[c,` `]}),s.name,l&&(0,V.jsxs)(`span`,{className:`font-medium text-foreground/35`,children:[` · `,l]})]})]})}var _d=e=>{let t=new Date(e),n=new Date,r=new Date(n.getFullYear(),n.getMonth(),n.getDate()-1),i=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate();return i(t,n)?`Today`:i(t,r)?`Yesterday`:t.toLocaleDateString(void 0,{day:`numeric`,month:`long`,year:t.getFullYear()===n.getFullYear()?void 0:`numeric`})};function vd(e){let t=[];for(let n of e){let e=_d(Number(n.createdAt||0)),r=t[t.length-1];r&&r.day===e?r.lines.push(n):t.push({day:e,lines:[n]})}return t}function yd({collection:e,of:t,empty:n=`Nothing has happened to this yet.`,max:i,className:a}){let{loading:o,error:c,lines:l}=ud(e,t);return o?(0,V.jsx)(`div`,{className:r.ir(`py-6 flex justify-center`,a),children:(0,V.jsx)(f.t,{})}):c?(0,V.jsx)(`p`,{className:r.ir(`text-[14px] text-foreground/60`,a),children:c}):l.length?(0,V.jsx)(`div`,{className:r.ir(`flex flex-col gap-6`,a),children:vd(i?l.slice(0,i):l).map(e=>(0,V.jsxs)(`section`,{className:`flex flex-col gap-1`,children:[(0,V.jsx)(`h4`,{className:`text-[12px] font-semibold text-foreground/40 mb-1`,children:e.day}),(0,V.jsx)(`ul`,{className:`flex flex-col divide-y divide-[var(--panel-border)]`,children:e.lines.map(e=>(0,V.jsxs)(`li`,{className:`py-3 flex flex-col gap-1.5 min-w-0`,children:[(0,V.jsxs)(`p`,{className:`text-[14px] text-foreground leading-snug break-words`,children:[e.what,(e.from!==void 0||e.to!==void 0)&&(0,V.jsxs)(`span`,{className:`text-foreground/55`,children:[`: `,e.from!==void 0&&(0,V.jsx)(`span`,{children:e.from}),e.from!==void 0&&e.to!==void 0&&(0,V.jsx)(s.yn,{className:`inline w-3.5 h-3.5 mx-1.5 -mt-0.5`,"aria-label":`to`}),e.to!==void 0&&(0,V.jsx)(`span`,{className:`font-semibold text-foreground`,children:e.to})]})]}),(0,V.jsx)(gd,{record:e})]},e.id))})]},e.day))}):(0,V.jsx)(`p`,{className:r.ir(`text-[14px] text-foreground/45`,a),children:n})}var bd=/^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i;function xd(e){let t=String(e??``).trim().toLowerCase(),n=t.startsWith(`#`)?t:`#${t}`;return bd.test(n)?n.length===4?`#${n[1]}${n[1]}${n[2]}${n[2]}${n[3]}${n[3]}`:n:``}function Sd(e){let t=Array.isArray(e)?e:e?[e]:[],n=[];for(let e of t){let t=xd(e);t&&!n.includes(t)&&n.push(t)}return n}var Cd={sm:`w-5 h-5`,md:`w-7 h-7`,lg:`w-10 h-10`},wd=`shadow-[inset_0_0_0_2px_var(--bg-color),inset_0_0_0_4px_var(--fg-color)]`;function Td({color:e,name:t,size:n=`md`,selected:i,onClick:a,className:o}){let s=xd(e),c=t||s||`No colour`,l=r.ir(`inline-block rounded-full shrink-0 border border-foreground/20 transition-shadow`,Cd[n],i&&wd,o);return a?(0,V.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),a()},"aria-label":c,"aria-pressed":!!i,title:c,className:r.ir(l,`cursor-pointer hover:border-foreground/60 focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent`),style:{backgroundColor:s||void 0}}):(0,V.jsx)(`span`,{role:`img`,"aria-label":c,title:c,"data-swatch":``,className:l,style:{backgroundColor:s||void 0}})}function Ed({color:e,onPicked:t,label:n,title:i,className:a,children:o}){let s=(0,B.useRef)(null),[c,l]=(0,B.useState)(e),u=(0,B.useRef)(t);return(0,B.useEffect)(()=>{u.current=t}),(0,B.useEffect)(()=>{l(e)},[e]),(0,B.useEffect)(()=>{let e=s.current;if(!e)return;let t=()=>u.current(e.value);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]),(0,V.jsxs)(`label`,{className:r.ir(`relative inline-flex items-center justify-center cursor-pointer`,a),title:i,children:[o,(0,V.jsx)(`input`,{type:`color`,value:c,"aria-label":n,ref:s,onChange:e=>l(e.target.value),className:`absolute inset-0 w-full h-full opacity-0 cursor-pointer`})]})}function Dd({label:e,value:t,onChange:n,multiple:i,max:a=12,error:o,disabled:c}){let l=(0,B.useId)(),u=Sd(t),[d,f]=(0,B.useState)(``),p=i?u.length>=a:!1,m=e=>n(i?e:e[0]||``),h=e=>{let t=xd(e);t&&(m(i?u.includes(t)?u:[...u,t].slice(0,a):[t]),f(``))},g=xd(d),_=(e,t)=>{let n=xd(t);!n||n===e||m(u.includes(n)?u.filter(t=>t!==e):u.map(t=>t===e?n:t))};return(0,V.jsxs)(`div`,{className:`flex flex-col w-full`,children:[e&&(0,V.jsx)(`span`,{id:`${l}-label`,className:`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`,children:e}),(0,V.jsxs)(`div`,{role:`group`,"aria-labelledby":e?`${l}-label`:void 0,className:r.ir(`glass-panel flex flex-wrap items-center gap-3 px-4 py-3`,o&&`border-red-500/50`,c&&`opacity-50 pointer-events-none`),style:{borderRadius:`var(--input-radius, 0.75rem)`},children:[u.map(e=>(0,V.jsxs)(`span`,{className:`relative inline-flex group`,children:[(0,V.jsx)(Ed,{color:e,onPicked:t=>_(e,t),label:`Change ${e}`,title:`${e} — press to change it`,className:`rounded-full`,children:(0,V.jsx)(Td,{color:e,size:`lg`})}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>m(u.filter(t=>t!==e)),"aria-label":`Remove ${e}`,className:`absolute -top-1.5 -right-1.5 w-5 h-5 inline-flex items-center justify-center rounded-full bg-background text-foreground/70 border border-[var(--panel-border)] cursor-pointer hover:text-foreground`,children:(0,V.jsx)(s.o,{className:`w-3 h-3`,"aria-hidden":!0})})]},e)),!p&&(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-2 min-w-0`,children:[(0,V.jsx)(Ed,{color:`#c8b6a6`,onPicked:h,label:i?`Pick a colour to add`:`Pick a colour`,title:`Pick a colour`,className:`w-10 h-10 rounded-full border border-dashed border-foreground/30 text-foreground/50 hover:text-foreground hover:border-foreground/60 transition-colors overflow-hidden`,children:(0,V.jsx)(s.G,{className:`w-4 h-4 pointer-events-none`,"aria-hidden":!0})}),(0,V.jsx)(`input`,{type:`text`,inputMode:`text`,value:d,placeholder:`#d8c3a5`,"aria-label":`Or type a hex colour`,onChange:e=>f(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),h(d))},onBlur:()=>h(d),className:`w-24 bg-transparent text-[14px] text-foreground placeholder:text-foreground/30 focus:outline-none border-b border-transparent focus:border-accent py-1`}),g&&(0,V.jsx)(Td,{color:g,size:`sm`})]})]}),o&&(0,V.jsx)(`p`,{className:`text-xs text-red-500 font-medium mt-1`,children:o})]})}var Od=700,kd=e=>{let t=String(e),n=t.indexOf(`.`);return n<0?0:t.length-n-1};function Ad(e,{min:t=0,max:n,step:r=1}={}){let i=String(e??``).trim().replace(`,`,`.`);if(!i)return null;let a=Number(i);if(!Number.isFinite(a))return null;let o=kd(r),s=Number(a.toFixed(o)),c=n!=null&&Number.isFinite(Number(n))?Number(n):1/0;return Math.min(c,Math.max(t,s))}var jd={sm:{button:`w-9 h-9`,icon:`w-3.5 h-3.5`,box:`text-[14px]`},md:{button:`w-10 h-10`,icon:`w-4 h-4`,box:`text-[15px]`}};function Md({label:e,name:t,value:n,onChange:i,onSettled:a,min:o=0,max:c,step:l=1,size:u=`md`,error:d,disabled:f,className:p}){let m=(0,B.useId)(),h={min:o,max:c,step:l},g=Ad(n,h)??o,[_,v]=(0,B.useState)(null),[y,b]=(0,B.useState)(null),[x,S]=(0,B.useState)(n);n!==x&&(S(n),b(null));let C=y??g,w=(0,B.useRef)(null),T=(0,B.useRef)(g),E=(0,B.useRef)(null),D=(0,B.useRef)(a);(0,B.useEffect)(()=>{D.current=a});let O=()=>{E.current!=null&&window.clearTimeout(E.current),E.current=null;let e=w.current;w.current=null,e!=null&&e!==T.current&&D.current?.(T.current,e)};(0,B.useEffect)(()=>O,[]);let k=e=>{b(e),e!==(w.current==null?g:T.current)&&(w.current??=g,T.current=e,i(e),E.current!=null&&window.clearTimeout(E.current),E.current=window.setTimeout(O,Od))},A=()=>(_==null?null:Ad(_,h))??C,j=e=>{let t=Ad(A()+e,h);t!=null&&(v(null),k(t))},M=kd(l)>0,N=M?/[^0-9.,-]/g:/[^0-9-]/g,P=e=>{let t=e.replace(N,``);v(t);let n=Number(t.replace(`,`,`.`));t&&Number.isFinite(n)&&Ad(t,h)===n&&k(n)},F=()=>{let e=_==null?null:Ad(_,h);v(null),e!=null&&k(e),O()},I=_??String(C),L=t||e||``,R=C<=o,z=c!=null&&C>=Number(c),H=jd[u],U=r.ir(H.button,`inline-flex items-center justify-center rounded-full shrink-0 text-foreground/70 hover:text-foreground hover:bg-foreground/5 transition-colors cursor-pointer`,`focus:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:opacity-25 disabled:cursor-default disabled:hover:bg-transparent`);return(0,V.jsxs)(`div`,{className:r.ir(`inline-flex flex-col`,p),children:[e&&(0,V.jsx)(`span`,{id:`${m}-label`,className:`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`,children:e}),(0,V.jsxs)(`div`,{role:`group`,"aria-labelledby":e?`${m}-label`:void 0,className:r.ir(`glass-panel inline-flex items-center self-start rounded-full p-0.5`,d&&`border-red-500/50`,f&&`opacity-50 pointer-events-none`),children:[(0,V.jsx)(`button`,{type:`button`,"aria-label":`One less ${L}`.trim(),disabled:f||R,onClick:()=>j(-l),className:U,children:(0,V.jsx)(s.it,{className:H.icon,"aria-hidden":!0})}),(0,V.jsx)(`input`,{type:`text`,inputMode:M?`decimal`:`numeric`,role:`spinbutton`,"aria-label":L||`How many`,"aria-valuenow":C,"aria-valuemin":o,"aria-valuemax":c==null?void 0:Number(c),"aria-invalid":d?!0:void 0,disabled:f,value:I,onChange:e=>P(e.target.value),onFocus:e=>e.target.select(),onBlur:F,onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),e.currentTarget.blur()):e.key===`ArrowUp`?(e.preventDefault(),j(l)):e.key===`ArrowDown`&&(e.preventDefault(),j(-l))},style:{width:`${Math.max(2,I.length)+1}ch`},className:r.ir(`bg-transparent text-center font-semibold tabular-nums text-foreground/85 focus:outline-none`,H.box)}),(0,V.jsx)(`button`,{type:`button`,"aria-label":`One more ${L}`.trim(),disabled:f||z,onClick:()=>j(l),className:U,children:(0,V.jsx)(s.G,{className:H.icon,"aria-hidden":!0})})]}),d&&(0,V.jsx)(`p`,{className:`text-xs text-red-500 font-medium mt-1`,children:d})]})}Md.displayName=`NumberStepper`;var Nd=e=>{let t=Number(e);return Number.isFinite(t)&&t>0?t:0};function Pd(e,t){let n=e.map(Nd),r=Math.max(Nd(t),...n,0);return r?n.map(e=>e?Math.max(1,Math.round(e/r*1e3)/10):0):n.map(()=>0)}var Fd=e=>e.toLocaleString();function Id({items:e,max:t,format:n=Fd,size:i=`md`,label:a,className:o}){let[s,c]=(0,B.useState)(!1);(0,B.useEffect)(()=>{let e=requestAnimationFrame(()=>c(!0));return()=>cancelAnimationFrame(e)},[]);let l=Pd(e.map(e=>e.value),t),u=i===`sm`;return(0,V.jsx)(`ul`,{"aria-label":a,className:r.ir(`flex flex-col min-w-0`,u?`gap-2`:`gap-3.5`,o),children:e.map((e,t)=>(0,V.jsxs)(`li`,{className:`group/bar flex flex-col gap-1 min-w-0`,children:[(0,V.jsxs)(`div`,{className:r.ir(`flex items-baseline justify-between gap-3 min-w-0`,u?`text-[12px]`:`text-[14px]`),children:[(0,V.jsx)(`span`,{className:`text-foreground/60 truncate`,children:e.label}),(0,V.jsxs)(`span`,{className:`shrink-0 tabular-nums`,children:[(0,V.jsx)(`span`,{className:`font-semibold text-foreground`,children:n(Nd(e.value))}),e.note&&(0,V.jsxs)(`span`,{className:`text-foreground/45`,children:[` · `,e.note]})]})]}),(0,V.jsx)(`div`,{"aria-hidden":!0,className:r.ir(`w-full`,u?`h-1.5`:`h-2.5`),children:(0,V.jsx)(`div`,{className:`h-full rounded-r bg-accent/70 group-hover/bar:bg-accent transition-[width,background-color] duration-700 ease-out motion-reduce:transition-none`,style:{width:`${s?l[t]:0}%`}})})]},`${e.label}-${t}`))})}var Ld=e=>e.replace(/[-_]+/g,` `).replace(/^./,e=>e.toUpperCase());function Rd(e,t={}){let n=t.param||`step`,[r,i]=(0,G.useSearchParams)(),a=(0,B.useMemo)(()=>e.map(e=>typeof e==`string`?{id:e,label:Ld(e)}:e),[e.map(e=>typeof e==`string`?e:`${e.id}:${e.label}`).join(`|`)]),o=r.get(n),s=a.findIndex(e=>e.id===o),c=s<0?0:s,l=a[c]?.id??``,u=y.x(),d=(0,B.useRef)(u);d.current=u;let f=(0,B.useCallback)(e=>{let t=d.current;if(t>0){N.n(t===1?`One file is still going up. One moment.`:`${t} files are still going up. One moment.`);return}i(t=>{let r=new URLSearchParams(t);return r.set(n,e),r})},[n,i]),p=(0,B.useCallback)(()=>{let e=a[Math.min(c+1,a.length-1)];e&&e.id!==l&&f(e.id)},[f,c,a,l]),m=(0,B.useCallback)(()=>{let e=a[Math.max(c-1,0)];e&&e.id!==l&&f(e.id)},[f,c,a,l]),h=(0,B.useCallback)(()=>{i(e=>{let t=new URLSearchParams(e);return t.delete(n),t},{replace:!0})},[n,i]);return{step:l,index:c,count:a.length,isFirst:c===0,isLast:c===a.length-1,next:p,back:m,goTo:f,reset:h,waiting:u>0,bar:{steps:a,current:l,onGo:f}}}function zd({steps:e,current:t,onGo:n,free:i=!1,className:a}){let o=(0,B.useRef)(null),c=e.findIndex(e=>e.id===t),l=c<0?0:c,u=(0,B.useRef)(!0);if((0,B.useEffect)(()=>{if(u.current){u.current=!1;return}let e=o.current;!e||typeof e.getBoundingClientRect!=`function`||e.getBoundingClientRect().top<0&&e.scrollIntoView?.({block:`start`,behavior:`smooth`})},[t]),!e.length)return null;let d=e[l];return(0,V.jsxs)(`nav`,{ref:o,"aria-label":`Steps`,className:r.ir(`w-full scroll-mt-24`,a),children:[(0,V.jsxs)(`div`,{className:`sm:hidden`,children:[(0,V.jsxs)(`p`,{className:`text-[13px] font-semibold text-foreground`,children:[(0,V.jsxs)(`span`,{className:`text-foreground/50`,children:[`Step `,l+1,` of `,e.length,` · `]}),d.label]}),(0,V.jsx)(`div`,{className:`mt-2 h-1 w-full overflow-hidden rounded-full bg-foreground/10`,"aria-hidden":`true`,children:(0,V.jsx)(`div`,{className:`h-full rounded-full bg-accent transition-[width] duration-300 ease-out motion-reduce:transition-none`,style:{width:`${(l+1)/e.length*100}%`}})})]}),(0,V.jsx)(`ol`,{className:`items-center gap-2 max-sm:hidden sm:flex`,children:e.map((t,a)=>{let o=a<l,c=a===l,u=!!n&&!c&&(o||i),d=(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:r.ir(`flex h-7 w-7 shrink-0 items-center justify-center rounded-full border text-[12px] font-bold transition-colors`,c&&`border-transparent bg-[var(--button-bg)] text-[var(--button-fg)]`,o&&`border-accent/40 bg-accent/10 text-accent`,!c&&!o&&`border-[var(--panel-border)] text-foreground/40`),children:o?(0,V.jsx)(s.sn,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}):a+1}),(0,V.jsx)(`span`,{className:r.ir(`truncate text-[13px] font-semibold`,c?`text-foreground`:o?`text-foreground/70`:`text-foreground/40`),children:t.label})]});return(0,V.jsxs)(`li`,{className:`flex min-w-0 items-center gap-2`,"aria-current":c?`step`:void 0,children:[u?(0,V.jsx)(`button`,{type:`button`,onClick:()=>n?.(t.id),className:`flex min-w-0 items-center gap-2 rounded-full py-1 pr-2 transition-opacity hover:opacity-80 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,children:d}):(0,V.jsx)(`span`,{className:`flex min-w-0 items-center gap-2 py-1 pr-2`,children:d}),a<e.length-1&&(0,V.jsx)(`span`,{"aria-hidden":`true`,className:r.ir(`h-px w-6 shrink-0 lg:w-10`,o?`bg-accent/40`:`bg-[var(--panel-border)]`)})]},t.id)})})]})}zd.displayName=`StepBar`;var Bd=48,Vd=8,Hd=2.5,Ud=5;function Wd(e,t){if(!t||t.width<=0||t.height<=0||e.width<=0||e.height<=0)return{x:[0,1],y:[0,1]};let n=Math.min(e.width/t.width,e.height/t.height),r=t.width*n/e.width,i=t.height*n/e.height;return{x:[(1-r)/2,(1+r)/2],y:[(1-i)/2,(1+i)/2]}}function Gd(e,[t,n]){if(e<=1)return[.5,.5];if(e*(n-t)>=1)return[e*t/(e-1),(e*n-1)/(e-1)];let r=(e*((t+n)/2)-.5)/(e-1);return[r,r]}var Kd=(e,[t,n])=>Math.min(n,Math.max(t,e));function qd({pictures:e,index:t,onIndex:n,onClose:i,zoom:a=!1}){let o=(Array.isArray(e)?e:[]).map(e=>typeof e==`string`?{src:e}:e&&typeof e==`object`&&typeof e.src==`string`?e:{src:``}),c=t!==null&&t>=0&&t<o.length,u=c?t:0,d=o.length>1,f=r.or(),p=(0,B.useRef)(()=>{}),m=(0,B.useRef)(null);(0,B.useEffect)(()=>{p.current=e=>{d&&n((u+e+o.length)%o.length)}}),(0,B.useEffect)(()=>{if(!c)return;let e=()=>{m.current=null};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[c]),(0,B.useEffect)(()=>{if(!c)return;let e=e=>{e.key===`ArrowLeft`&&(e.preventDefault(),p.current(-1)),e.key===`ArrowRight`&&(e.preventDefault(),p.current(1))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[c]);let h=o[u],g=()=>({s:1,x:.5,y:.5,by:`press`}),[_,v]=(0,B.useState)(g),y=c?`${u}:${h?.src}`:null;(0,B.useEffect)(()=>{m.current=null},[y]);let[b,x]=(0,B.useState)(y);y!==b&&(x(y),v(g()));let S=_.s>1,C=(0,B.useRef)(null),w=(0,B.useRef)(new Map),T=(0,B.useRef)(null),E=()=>{let e=m.current;if(e&&e.exact)return e;let t=C.current?.getBoundingClientRect(),n={left:t?.left||0,top:t?.top||0,width:t?.width||0,height:t?.height||0},i=[...C.current?.querySelectorAll(`img`)||[]].reverse().find(e=>e.naturalWidth>0),a=h&&r.Pn(h.src)||(h?.width&&h?.height?{width:h.width,height:h.height}:void 0)||(i?{width:i.naturalWidth,height:i.naturalHeight}:void 0),o={box:n,span:Wd(n,a),exact:!!a&&n.width>0&&n.height>0};return m.current=o,o},D=()=>{m.current=null},O=(e,t,n,r)=>{if(e<=1)return{s:1,x:t,y:n,by:r};let{span:i}=E();return{s:e,x:Kd(t,Gd(e,i.x)),y:Kd(n,Gd(e,i.y)),by:r}},k=(e,t,n,r)=>{let{box:i,span:a}=E(),o=i.width?Math.min(1,Math.max(0,(e-i.left)/i.width)):.5,s=i.height?Math.min(1,Math.max(0,(t-i.top)/i.height)):.5,[c,l]=Gd(n,a.x),[u,d]=Gd(n,a.y);return{s:n,x:c+o*(l-c),y:u+s*(d-u),by:r}},A=()=>{let[e,t]=[...w.current.values()];return Math.hypot(e.x-t.x,e.y-t.y)||1},j=e=>{if(!(e.pointerType===`mouse`&&e.button!==0)){D(),w.current.set(e.pointerId,{x:e.clientX,y:e.clientY});try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}if(w.current.size===1)T.current={x:e.clientX,y:e.clientY,last:{x:e.clientX,y:e.clientY},moved:!1,pinched:!1};else if(w.current.size===2&&T.current&&(T.current.moved=!0,T.current.pinched=!0,T.current.pinch={dist:A(),s:_.s},!S)){let{box:e}=E(),[t,n]=[...w.current.values()];v({s:1,x:e.width?((t.x+n.x)/2-e.left)/e.width:.5,y:e.height?((t.y+n.y)/2-e.top)/e.height:.5,by:`finger`})}}},M=e=>{if(!w.current.has(e.pointerId)){e.pointerType===`mouse`&&S&&v(k(e.clientX,e.clientY,_.s,`mouse`));return}w.current.set(e.pointerId,{x:e.clientX,y:e.clientY});let t=T.current;if(!t)return;if(t.pinch&&w.current.size>=2){v(O(Math.min(Ud,Math.max(1,t.pinch.s*A()/t.pinch.dist)),_.x,_.y,`finger`));return}let n=e.clientX-t.last.x,r=e.clientY-t.last.y;if(t.last={x:e.clientX,y:e.clientY},Math.hypot(e.clientX-t.x,e.clientY-t.y)>Vd&&(t.moved=!0),!S)return;if(e.pointerType===`mouse`){v(k(e.clientX,e.clientY,_.s,`mouse`));return}let{box:i}=E();!i.width||!i.height||v(O(_.s,_.x-n/i.width/(_.s-1),_.y-r/i.height/(_.s-1),`finger`))},N=e=>{if(!w.current.delete(e.pointerId))return;let t=T.current;if(w.current.size>0){if(t){t.pinch=void 0;let[e]=[...w.current.values()];t.last=e}return}if(T.current=null,!t)return;if(t.pinched){_.s<1.15&&v({..._,s:1,by:`press`});return}if(!t.moved&&Math.hypot(e.clientX-t.x,e.clientY-t.y)<=Vd){v(S?{..._,s:1,by:`press`}:k(e.clientX,e.clientY,Hd,`press`));return}if(S)return;let n=e.clientX-t.x;Math.abs(n)>Bd&&Math.abs(n)>Math.abs(e.clientY-t.y)*1.5&&p.current(n<0?1:-1)},P=e=>{w.current.delete(e.pointerId),w.current.size||(T.current=null)},F=`cubic-bezier(0.22, 1, 0.36, 1)`,I=f||_.by===`finger`||_.by===`mouse`?`none`:`transform 350ms ${F}, transform-origin 350ms ${F}`,L=`absolute z-10 flex h-11 w-11 items-center justify-center rounded-full border border-[var(--panel-border)] bg-background/80 text-foreground backdrop-blur-sm transition-colors hover:bg-background focus:outline-none focus-visible:ring-2 focus-visible:ring-accent/40 cursor-pointer`;return(0,V.jsx)(l.t,{open:c,onClose:i,size:`xl`,title:d?`${u+1} of ${o.length}`:void 0,className:`px-3 pb-4 sm:px-5 sm:pb-5`,children:h&&(0,V.jsxs)(`figure`,{className:`select-none`,children:[(0,V.jsxs)(`div`,{className:`relative`,children:[(0,V.jsx)(`div`,{ref:C,"data-lightbox-stage":!0,className:`relative overflow-hidden rounded-xl`,style:{touchAction:`none`,cursor:S?`zoom-out`:`zoom-in`},onPointerDown:j,onPointerMove:M,onPointerUp:N,onPointerCancel:P,children:(0,V.jsx)(`div`,{className:`h-[62dvh] w-full sm:h-[72vh]`,style:{transform:`scale(${_.s})`,transformOrigin:`${_.x*100}% ${_.y*100}%`,transition:I,willChange:S?`transform`:void 0},children:(0,V.jsx)(r.Nn,{src:h.src,alt:h.alt||h.caption||``,fit:`contain`,priority:!0,draggable:!1,className:`h-full w-full`,preload:d?[o[(u+1)%o.length].src,o[(u-1+o.length)%o.length].src].filter(Boolean):void 0})})}),d&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`button`,{type:`button`,"aria-label":`Previous picture`,onClick:()=>p.current(-1),className:`${L} left-2 top-1/2 -translate-y-1/2`,children:(0,V.jsx)(s.an,{className:`h-5 w-5`,"aria-hidden":`true`})}),(0,V.jsx)(`button`,{type:`button`,"aria-label":`Next picture`,onClick:()=>p.current(1),className:`${L} right-2 top-1/2 -translate-y-1/2`,children:(0,V.jsx)(s.in,{className:`h-5 w-5`,"aria-hidden":`true`})})]}),(0,V.jsx)(`button`,{type:`button`,"aria-label":S?`Zoom out`:`Zoom in`,onClick:()=>v(S?{..._,s:1,by:`press`}:O(Hd,.5,.5,`press`)),className:`${L} bottom-3 right-3`,children:S?(0,V.jsx)(s.i,{className:`h-5 w-5`,"aria-hidden":`true`}):(0,V.jsx)(s.r,{className:`h-5 w-5`,"aria-hidden":`true`})})]}),h.caption&&(0,V.jsx)(`figcaption`,{className:`mt-3 text-center text-sm text-foreground/70`,children:h.caption})]})})}qd.displayName=`Lightbox`;var Jd=/^(?:https?:\/\/|mailto:|tel:|\/(?!\/))/i,Yd=/\*\*([^*]+)\*\*|\*([^*\n]+)\*|\[([^\]]+)\]\(([^)\s]+)\)|(https?:\/\/[^\s<>()]+[^\s<>().,;:!?'"])/g;function Xd(e,t){let n=[],r=0,i=0;for(let a of e.matchAll(Yd)){let o=a.index??0;o>r&&n.push(e.slice(r,o));let s=`${t}-${i++}`;if(a[1]!=null)n.push((0,V.jsx)(`strong`,{className:`font-semibold text-foreground`,children:a[1]},s));else if(a[2]!=null)n.push((0,V.jsx)(`em`,{children:a[2]},s));else{let e=a[4]??a[5],t=a[3]??a[5];if(e&&Jd.test(e)){let r=/^https?:/i.test(e);n.push((0,V.jsx)(`a`,{href:e,...r?{target:`_blank`,rel:`noopener noreferrer`}:{},className:`font-medium text-accent underline decoration-accent/40 underline-offset-4 transition-colors hover:decoration-accent`,children:t},s))}else n.push(t)}r=o+a[0].length}return r<e.length&&n.push(e.slice(r)),n}var Zd=(e,t)=>e.map((e,n)=>(0,V.jsxs)(B.Fragment,{children:[n>0&&(0,V.jsx)(`br`,{}),Xd(e,`${t}-l${n}`)]},`${t}-l${n}`)),Qd=/^!\[([^\]]*)\]\((https?:\/\/[^)\s]+)\)$/;function $d({text:e,className:t}){let n=String(e??``).replace(/\r\n?/g,`
21
+ `}),(0,q.jsxs)(`div`,{className:`relative group/date flex flex-col w-full`,children:[(0,q.jsx)(g.y,{type:`date`,label:`Date`,required:!0,value:W.dateStr,onChange:e=>G({...W,dateStr:e.target.value}),className:`pr-10`}),(0,q.jsx)(`div`,{className:`absolute right-4 bottom-4 pointer-events-none group-focus-within/date:text-accent text-foreground/40 transition-colors`,children:(0,q.jsx)(g.b,{className:`w-4 h-4`})})]}),(0,q.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-4`,children:[ge?(0,q.jsx)(g.y,{type:`time`,label:`Time`,value:W.time,onChange:e=>G({...W,time:e.target.value}),required:!0}):(()=>{let{h:e,m:t,ampm:n}=Oe(W.time);return(0,q.jsxs)(`div`,{className:`flex flex-col w-full`,children:[(0,q.jsx)(`label`,{className:`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`,children:`Time`}),(0,q.jsxs)(`div`,{className:`flex items-center h-12 glass-panel border border-[var(--panel-border)] rounded-xl px-3 gap-1 focus-within:border-accent transition-colors`,children:[(0,q.jsx)(`input`,{type:`number`,min:1,max:12,value:e,onChange:e=>G({...W,time:ke(Math.min(12,Math.max(1,parseInt(e.target.value)||12)),t,n)}),className:`w-8 text-center bg-transparent focus:outline-none text-foreground font-bold text-[15px] [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none`}),(0,q.jsx)(`span`,{className:`text-foreground/40 font-bold text-[15px] select-none`,children:`:`}),(0,q.jsx)(`input`,{type:`number`,min:0,max:59,value:t.toString().padStart(2,`0`),onChange:t=>G({...W,time:ke(e,Math.min(59,Math.max(0,parseInt(t.target.value)||0)),n)}),className:`w-8 text-center bg-transparent focus:outline-none text-foreground font-bold text-[15px] [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>G({...W,time:ke(e,t,n===`AM`?`PM`:`AM`)}),className:`ml-auto px-2 py-0.5 rounded-md bg-accent/10 text-accent text-[11px] font-extrabold uppercase tracking-wider hover:bg-accent/20 transition-colors shrink-0`,children:n})]})]})})(),(0,q.jsx)(g.y,{type:`number`,min:`1`,max:`1440`,label:`Duration (min)`,value:W.duration,onChange:e=>G({...W,duration:e.target.value}),placeholder:`60`,required:!0})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(`label`,{className:`text-[11px] font-bold text-foreground/50 uppercase tracking-widest mt-1`,children:`Event Color`}),(0,q.jsx)(`div`,{className:`flex gap-2 items-center relative z-10 w-full h-[46px]`,children:dc.map(e=>(0,q.jsx)(`button`,{type:`button`,onClick:()=>G({...W,color:W.color===e.text?``:e.text}),className:`w-6 h-6 rounded-full shrink-0 ${e.bgCircle} hover:scale-110 transition-transform flex items-center justify-center border border-[var(--panel-border)]`,children:W.color===e.text&&(0,q.jsx)(`div`,{className:`w-2.5 h-2.5 rounded-full bg-background`})},e.name))})]}),(0,q.jsx)(`div`,{className:`pt-2`,children:(0,q.jsx)(N.t,{type:`submit`,isLoading:V,className:`w-full py-3`,children:W.id?`Save Changes`:`Create Event`})})]})]})]},`edit-modal`),(0,q.jsx)(ne.t,{isOpen:!!oe,title:`Confirm Deletion`,message:(0,q.jsxs)(q.Fragment,{children:[`Are you sure you want to delete `,(0,q.jsx)(`strong`,{className:`text-foreground font-extrabold break-words mx-1`,children:oe?.title}),` This action is permanent.`]}),onConfirm:Ue,onCancel:()=>{U(null)},isProcessing:ie,confirmText:`Yes, Delete`})]});return f?(0,q.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col`,children:[(0,q.jsx)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-6 flex items-center justify-between`,children:(0,q.jsxs)(`div`,{children:[(0,q.jsx)(n.t,{children:u?.tabTitle||u?.tabName||e}),t&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,q.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),t]})]})}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 pb-16`,children:[(0,q.jsx)(i.t,{}),(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},className:`flex flex-col glass-panel border border-[var(--panel-border)] rounded-3xl overflow-hidden flex-1 shadow-2xl bg-background`,children:[Ye(),Ze()]})]}),Qe()]}):(0,q.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-4 md:mb-6 flex items-center gap-3`,children:[a&&(0,q.jsx)(c.r,{to:a}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(n.t,{children:e}),t&&(0,q.jsxs)(`div`,{className:`max-sm:hidden sm:flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,q.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),t]})]})]}),(0,q.jsx)(`div`,{className:`flex flex-col gap-6 flex-1 min-h-0 pb-16`,children:(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},className:`flex flex-col glass-panel border border-[var(--panel-border)] rounded-3xl overflow-hidden flex-1 min-h-[400px] shadow-2xl bg-background relative`,children:[(0,q.jsx)(`div`,{className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-accent/5 blur-[120px] rounded-full pointer-events-none -z-10`}),Ye(),Ze()]})}),Qe()]})}function gc(e){let{user:t,methods:n}=e;if(!t)return null;if(!e.roleResolved||!e.profileReady)return`wait`;if(!o.un(t))return`/verify`;if(tr(t)){if(n.loading)return`wait`;if(or(t,n.on.sms2fa,n.twoStepOptional))return`/two-step`}return L.S(e.profile,{skippable:!0,perRole:!0})!==`member`&&n.loading?`wait`:L.f(e.profile,e.userRole,n.finishRegistration,t.uid)?`/your-details`:Xr(t.uid)?Ur:null}var _c=`/register`,vc=300*1e3,yc=e=>{if(typeof window>`u`)return null;try{let t=localStorage.getItem(`fbos_route_${e}`);if(!t)return null;let{cachedAt:n,...r}=JSON.parse(t);return{config:r,cachedAt:typeof n==`number`?n:0}}catch{return null}},bc=(e,t)=>{try{localStorage.setItem(e,t)}catch{}},xc=e=>{try{localStorage.removeItem(e)}catch{}},Sc=(e,t)=>{let n=t?o.jn(e.pageType):`public`;return{...e,pageType:n,isPrivate:t,isAdmin:n===`admin`,isInternal:n===`internal`,isShared:n===`internal`}};function Cc({config:e}){let{userRole:t}=r.It(),i=j.t(e);return(0,q.jsxs)(`div`,{className:`flex-1 flex flex-col items-center justify-center m-4 md:m-8 gap-6 min-h-[40vh]`,children:[(0,q.jsxs)(`div`,{className:`w-full max-w-lg glass-panel border border-[var(--panel-border)]/50 border-dashed rounded-2xl p-8 py-16 text-center opacity-70`,children:[(0,q.jsx)(`p`,{className:`text-[15px] font-bold mb-1.5 text-foreground/70`,children:`This page could not open`}),(0,q.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/50 max-w-sm leading-relaxed mx-auto`,children:`Everything else here still works. Please come back to it a little later.`})]}),o.wn(t)&&i&&(0,q.jsx)(`div`,{className:`w-full max-w-lg`,children:(0,q.jsx)(n.o,{compact:!0,title:`To put this page right, paste this to your assistant`,prompt:j.c(i.file,i.page,i.error)})})]})}function wc(){let e=(0,X.useLocation)(),{user:a,userRole:s,loading:l,roleResolved:u,roleConfirmed:d,userInactive:f,signOut:p,profile:m,profileReady:h}=r.It(),_=r.wn(),v=i.v(),y=r.mi();r.Rr();let b=e=>{let n=yc(e);if(n)try{let e=n.config;if(e.form&&!e.formConfigOverride){let t=localStorage.getItem(`fbos_form_${e.form}`);t&&(e.formConfigOverride=JSON.parse(t))}return Sc(e,e.isPrivate===!0)}catch{}let r=(typeof window<`u`?window.__FBOS_PAGES__:null)||{},i=e.replace(/^\//,``);for(let[t,n]of Object.entries(r)){let r=n.config,a=n.isPublic,o=r.route||`/`+t;if(o===e||t===i)return Sc({...r,route:o,contentKey:r.pageId||t,pageId:t},!a)}return e===`/contact`?{route:`/contact`,template:`popup_form`,form:`contact`,pageId:`contact`,contentKey:`contact`,pageName:`Contact`,formConfigOverride:y.defaultConfigs?.contactForm||t.a}:e===`/support`?{route:`/support`,template:`popup_form`,form:`support`,pageId:`support`,contentKey:`support`,pageName:`Support`,formConfigOverride:y.defaultConfigs?.supportForm||t.r}:null},[x,S]=(0,K.useState)(()=>b(e.pathname)),[w,T]=(0,K.useState)(()=>!b(e.pathname)),E=(0,K.useRef)(e.pathname),D=d!==!1&&o.wn(s);(0,K.useEffect)(()=>{let n=!0,i=b(e.pathname);if(i){S(i),T(!1);let e=i.pageName||i.tabName||i.title;e&&(document.title=e)}else E.current!==e.pathname&&(S(null),T(!0));E.current=e.pathname;let a=yc(e.pathname);return a&&!D&&Date.now()-a.cachedAt<vc||(async()=>{try{let i=e.pathname;i.startsWith(`/`)&&(i=i.substring(1));let[a,o,s,c,l,u]=await Promise.allSettled([(0,Y.getDoc)((0,Y.doc)(r.ui,`sys_pages`,i)),(0,Y.getDoc)((0,Y.doc)(r.ui,`sys_tabs`,i)),(0,Y.getDocs)((0,Y.query)((0,Y.collection)(r.ui,`sys_pages`),(0,Y.where)(`route`,`==`,e.pathname),(0,Y.limit)(1))),(0,Y.getDocs)((0,Y.query)((0,Y.collection)(r.ui,`sys_pages`),(0,Y.where)(`route`,`==`,i),(0,Y.limit)(1))),(0,Y.getDocs)((0,Y.query)((0,Y.collection)(r.ui,`sys_tabs`),(0,Y.where)(`route`,`==`,e.pathname),(0,Y.limit)(1))),(0,Y.getDocs)((0,Y.query)((0,Y.collection)(r.ui,`sys_tabs`),(0,Y.where)(`route`,`==`,i),(0,Y.limit)(1)))]),d=null,f=null,p=(e,t)=>{d||e.status===`fulfilled`&&(e.value.exists&&e.value.exists()?(d=Sc(e.value.data(),t),f=e.value.id):e.value.docs&&e.value.docs.length>0&&(d=Sc(e.value.docs[0].data(),t),f=e.value.docs[0].id))};if(p(a,!1),p(s,!1),p(c,!1),p(o,!0),p(l,!0),p(u,!0),!d){let t=(typeof window<`u`?window.__FBOS_PAGES__:null)||{};for(let[n,r]of Object.entries(t)){let t=r.config,a=r.isPublic,o=t.route||`/`+n;if(o===e.pathname||n===i){d=Sc({...t,route:o,contentKey:t.pageId||n,pageId:n},!a),f=n;break}}}if(d||(e.pathname===`/contact`?(d={route:`/contact`,template:`popup_form`,form:`contact`,pageName:`Contact`},f=`contact`):e.pathname===`/support`&&(d={route:`/support`,template:`popup_form`,form:`support`,pageName:`Support`},f=`support`)),!n)return;if(d){if((f===`contact`||f===`support`)&&!d.form&&(d.form=f),d.contentKey||=d.pageId||f,d.pageId=f,bc(`fbos_route_${e.pathname}`,JSON.stringify({...d,cachedAt:Date.now()})),d.form){let e=(typeof window<`u`?window.__FBOS_FORMS__:null)||{},i=n=>y.defaultConfigs?.[n]||y.defaultConfigs?.[`${n}Form`]||e[n]||(n===`contact`?t.a:n===`support`?t.r:null),a=null;try{a=localStorage.getItem(`fbos_custom_form_${d.form}`)}catch{}if(a){try{let e=localStorage.getItem(`fbos_form_${d.form}`);e&&(d.formConfigOverride=JSON.parse(e))}catch{}(0,Y.getDoc)((0,Y.doc)(r.ui,`sys_forms`,d.form)).then(async e=>{if(n)if(e.exists()){let t={...e.data(),id:e.id};S(e=>({...e,formConfigOverride:t})),bc(`fbos_form_${d.form}`,JSON.stringify(t))}else{let e=i(d.form);e&&(S(t=>({...t,formConfigOverride:e})),bc(`fbos_form_${d.form}`,JSON.stringify(e)),xc(`fbos_custom_form_${d.form}`))}}).catch(()=>{})}else{let e=i(d.form);e&&(d.formConfigOverride=e)}}let i=d.pageName||d.tabName||d.title;i&&(document.title=i),S(d),T(!1)}else S(`not-found`),T(!1),xc(`fbos_route_${e.pathname}`)}catch{n&&!i&&(S(`not-found`),T(!1))}})(),()=>{n=!1}},[e.pathname,D]);let[O,k]=(0,K.useState)(!1),A=j.f(),[M,N]=(0,K.useState)(null),[P,ee]=(0,K.useState)(!1),F=x&&x!==`not-found`&&typeof x==`object`?[x.contentKey,x.tabName,x.pageId,x.pageName].filter(Boolean).join(`|`):``;(0,K.useEffect)(()=>{if(N(null),!A)return;if(!F||j.r(x)){ee(!1);return}let e=!1;ee(!0),j.n(x).then(t=>{e||(t&&N(()=>t),ee(!1))});let t=setTimeout(()=>{e||ee(!1)},4e3);return()=>{e=!0,clearTimeout(t)}},[F,A]);let I=!!a&&d===!1&&!!x&&typeof x==`object`&&x.isPrivate===!0,te=!!a&&_.loading&&!!x&&typeof x==`object`&&(x.pageId===`support`||x.isPrivate===!0)&&L.S(m,{skippable:!0,perRole:!0})!==`member`,R=!u&&!!x&&typeof x==`object`&&(x.pageId===`support`||!!x.isPrivate);if((0,K.useEffect)(()=>{let e;return w||l||R||I||te||P||!A?e=setTimeout(()=>k(!0),150):k(!1),()=>clearTimeout(e)},[w,l,R,I,te,P,A]),w||l||R||I||te||P||!A)return O?a?(0,q.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,q.jsxs)(`div`,{className:`mb-6`,children:[(0,q.jsx)(`div`,{className:`h-10 w-56 rounded-xl bg-foreground/5 animate-pulse mt-1`}),(0,q.jsx)(`div`,{className:`h-3 w-24 rounded bg-foreground/5 animate-pulse mt-3`})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-6 flex-1 pb-16`,children:[(0,q.jsx)(i.t,{}),(0,q.jsx)(`div`,{className:`flex-1 fbos-tab-fill glass-panel border border-[var(--panel-border)] rounded-3xl flex items-center justify-center min-h-[400px] bg-background shadow-2xl`,children:(0,q.jsx)(C.r,{className:`w-6 h-6 animate-spin text-accent`})})]})]}):(0,q.jsx)(`div`,{className:`flex-1 flex items-center justify-center min-h-[40vh] z-10`,children:(0,q.jsxs)(`div`,{className:`p-4 rounded-2xl glass-panel border border-[var(--panel-border)]/40 bg-background/80 shadow-md flex items-center gap-3`,children:[(0,q.jsx)(C.r,{className:`w-4 h-4 animate-spin text-accent`}),(0,q.jsx)(`span`,{className:`text-[12px] font-medium text-foreground/60 tracking-wide`,children:`Loading page...`})]})}):null;if(x===`not-found`)return(0,q.jsx)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center flex-1 text-center`,children:[(0,q.jsx)(`div`,{className:`w-16 h-16 bg-red-500/10 text-red-500 rounded-full flex items-center justify-center mb-6`,children:(0,q.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,className:`w-8 h-8`,children:[(0,q.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,q.jsx)(`line`,{x1:`12`,y1:`8`,x2:`12`,y2:`12`}),(0,q.jsx)(`line`,{x1:`12`,y1:`16`,x2:`12.01`,y2:`16`})]})}),(0,q.jsx)(`h2`,{className:`text-2xl sm:text-3xl font-bold mb-3 text-foreground`,children:`Page Not Found`}),(0,q.jsx)(`p`,{className:`text-foreground/60 max-w-md`,children:`The route you are looking for does not exist or has been removed.`}),o.wn(s)&&(()=>{let t=ha();return(0,q.jsxs)(`div`,{className:`mt-8 w-full max-w-lg text-left flex flex-col gap-4`,children:[(0,q.jsxs)(`div`,{className:`rounded-2xl border border-[var(--panel-border)] bg-[var(--panel-bg)] px-5 py-4`,children:[(0,q.jsx)(`p`,{className:`text-[12px] font-extrabold tracking-tight text-gradient mb-1.5`,children:`Pages the app can see`}),(0,q.jsx)(`p`,{className:`text-[13px] text-foreground/70 font-medium leading-relaxed`,children:t.length?t.join(` · `):`None yet. If your assistant says it created a page, the app has not picked its file up.`})]}),(0,q.jsx)(n.o,{title:`If your assistant just made this page, paste this`,prompt:ba(e.pathname)})]})})()]})});if((x.pageId===`support`||x.isPrivate)&&!a)return(0,q.jsx)(X.Navigate,{to:`/login?from=${encodeURIComponent(e.pathname)}`,replace:!0});let z=(x.pageId===`support`||x.isPrivate)&&a?gc({user:a,profile:m,userRole:s,roleResolved:u,profileReady:h,methods:_}):null;if(z===`wait`)return(0,q.jsx)(`div`,{className:`flex-1 flex items-center justify-center min-h-[40vh] z-10`,children:(0,q.jsx)(C.r,{className:`w-6 h-6 animate-spin text-accent`})});if((x.pageId===`support`||x.isPrivate)&&a&&f)return m?.removed===!0?(0,q.jsx)(X.Navigate,{to:_c,replace:!0}):(0,q.jsx)(oe.t,{tone:`red`,title:`Access Denied`,message:`You don't have access to this app. Please contact the administrator.`,action:(0,q.jsx)(`button`,{onClick:()=>p(),className:oe.a,children:`Sign Out`})});if(z)return(0,q.jsx)(X.Navigate,{to:z,replace:!0});let B=o.wn(s)&&new URLSearchParams(e.search).has(`preview`);if(x.isPrivate&&!B&&o.Nn(x)&&!v.live)return(0,q.jsx)(`div`,{className:`flex-1 flex items-center justify-center min-h-[40vh] z-10`,children:(0,q.jsx)(C.r,{className:`w-6 h-6 animate-spin text-accent`})});if(x.isPrivate&&!B&&!o.yn(s,x,v.groups))return(0,q.jsx)(oe.i,{});let ne=y.customRoutes?.[e.pathname]||(x&&x.route?y.customRoutes?.[x.route]:null),V=`pub_${re.i(x,!1)}`,H=x.isPrivate?`${o.Mn(x)}${re.i(x,!0)}`:V,ie=y.microcomponents||(typeof window<`u`?window.__FBOS_MICROCOMPONENTS__:void 0),ae=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,`_`).replace(/^_|_$/g,``),U=[x.contentKey,x.tabName,x.pageId,x.pageName,x.pageName?.replace(/\s+/g,`_`)].filter(Boolean).map(e=>ae(e)).reduce((e,t)=>e||ie?.[t],void 0),W=ne||U||M||(re.c(x.template,!1)&&j.t(x)?Cc:void 0),G=x.route||x.pageId||`custom`;return re.c(x.template,!!W)?x.isAdmin?(0,q.jsx)(go,{config:x,customContent:W},G):x.isInternal?(0,q.jsx)(vo,{config:x,customContent:W},G):x.isPrivate?(0,q.jsx)(mo,{config:x,customContent:W},G):(0,q.jsx)(Ua,{config:x,customContent:W},G):x.template===`board`?(0,q.jsx)(y.components?.TemplateBoard||Fo,{title:x.tabTitle||x.tabName||x.title||x.pageName||`Board`,subtitle:x.route,tasksCollection:`${H}_tasks`,categoriesCollection:`${H}_categories`,config:x,customContent:W},G):x.template===`table`?(0,q.jsx)(y.components?.TemplateTable||uc,{title:x.tabTitle||x.tabName||x.title||x.pageName||`Table`,subtitle:x.route,tableCollection:`${H}_table`,config:x,customContent:W},G):x.template===`calendar`?(0,q.jsx)(y.components?.TemplateCalendar||hc,{title:x.tabTitle||x.tabName||x.title||x.pageName||`Calendar`,subtitle:x.route,eventsCollection:`${H}_events`,defaultTimeFormat:x.defaultTimeFormat||x.defaulttimeformat||`12h`,config:x,customContent:W},G):x.template===`drive`?(0,q.jsx)(y.components?.TemplateDrive||c.t,{title:x.tabTitle||x.tabName||x.title||x.pageName||`Drive`,subtitle:x.route,filesCollection:`${H}_files`,config:x,customContent:W},G):x.template===`inline_form`?(0,q.jsx)(`div`,{className:`flex-1 flex flex-col items-center justify-start mt-8 relative z-10 w-full min-h-[60vh]`,children:(0,q.jsx)(g.t,{isInline:!0,formId:x.form,formConfig:x.formConfigOverride})}):(0,q.jsx)(`div`,{className:`flex-1 flex flex-col items-center justify-center relative z-10 w-full min-h-[60vh]`,children:(0,q.jsx)(g.t,{formId:x.form,formConfig:x.formConfigOverride,onClose:()=>window.history.back()})})}var Tc=e=>e.error?`error`:e.paid?`paid`:`unpaid`,Ec={checking:{icon:Je,tint:`text-accent`,title:`Checking your payment…`},paid:{icon:He,tint:`text-emerald-400`,title:`Thank you — your order is placed`},unpaid:{icon:Je,tint:`text-amber-400`,title:`Not confirmed yet`},error:{icon:Be,tint:`text-red-400`,title:`We could not confirm this payment`},cancelled:{icon:Ke,tint:`text-foreground/50`,title:`Payment cancelled`}};function Dc({cancelled:e=!1}){let[t]=(0,X.useSearchParams)(),n=t.get(`session_id`)||``,{user:i}=r.It(),[a,o]=(0,K.useState)(`checking`),[s,c]=(0,K.useState)(null);(0,K.useEffect)(()=>{if(e)return;let t=!1;return r.jn(n).then(e=>{t||(c(e),o(Tc(e)))}),()=>{t=!0}},[e,n]);let l=async()=>{o(`checking`);let e=await r.jn(n);c(e),o(Tc(e))},u=Ec[e?`cancelled`:a],d=u.icon;return(0,q.jsx)(`div`,{className:`flex-1 flex items-center justify-center w-full z-10 px-4 mb-16`,children:(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.5},className:`w-full max-w-[480px] p-6 md:p-8 lg:p-10 rounded-3xl glass-panel relative glow-hover text-center shadow-[0_8px_32px_rgba(0,0,0,0.08)]`,children:[(0,q.jsx)(`div`,{className:`absolute -inset-[1px] bg-gradient-to-br from-[var(--primary-glow)] to-transparent opacity-30 blur-[20px] rounded-3xl -z-10`}),(0,q.jsx)(`div`,{className:`w-14 h-14 md:w-16 md:h-16 rounded-2xl glass-panel border border-[var(--panel-border)] flex items-center justify-center mx-auto mb-5 md:mb-6 shadow-xl`,children:(0,q.jsx)(d,{className:`w-7 h-7 md:w-8 md:h-8 ${u.tint} ${!e&&a===`checking`?`animate-pulse`:``}`})}),(0,q.jsx)(`h1`,{className:`text-2xl md:text-3xl font-bold mb-3 text-foreground tracking-tight`,children:u.title}),(0,q.jsxs)(`div`,{className:`text-[14px] md:text-[15px] text-foreground/60 mb-6 md:mb-8 leading-[1.6] tracking-wide`,children:[e&&(0,q.jsx)(`p`,{children:`Nothing was charged. You can try again whenever you like.`}),!e&&a===`checking`&&(0,q.jsx)(`p`,{children:`One moment — confirming with the payment provider.`}),!e&&a===`paid`&&(0,q.jsxs)(`p`,{children:[s?.amountTotal!=null&&s?.currency?`Your payment of ${s.amountTotal} ${s.currency.toUpperCase()} went through.`:`Your payment went through.`,s?.customerEmail?` A receipt is on its way to ${s.customerEmail}.`:``,i?` Your order is under Billing, and the bell will tell you if anything changes.`:s?.customerEmail?` Sign in with ${s.customerEmail} any time to see your order under Billing.`:``]}),!e&&a===`unpaid`&&(0,q.jsx)(`p`,{children:`The payment provider has not confirmed this payment yet. Some payment methods take a minute — check again shortly, and look for a receipt in your email.`}),!e&&a===`error`&&(0,q.jsxs)(`p`,{children:[s?.error,` If you completed the payment, check your email for a receipt — if one arrived, your payment went through and you can safely close this page.`]})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 max-w-[360px] mx-auto`,children:[!e&&a===`paid`&&i&&(0,q.jsx)(X.Link,{to:`/billing`,className:`w-full block py-2.5 md:py-3 btn-primary text-[14px] font-bold rounded-xl transition-colors text-center`,children:`See your order`}),!e&&(a===`unpaid`||a===`error`)&&(0,q.jsx)(N.t,{variant:`primary`,onClick:l,className:`w-full py-2.5 md:py-3 text-[14px] font-bold tracking-wide rounded-xl`,children:`Check again`}),(0,q.jsx)(X.Link,{to:`/`,className:`w-full block py-2.5 md:py-3 bg-foreground/5 hover:bg-foreground/10 text-foreground text-[14px] font-bold rounded-xl transition-colors`,children:`Back to the site`})]})]})})}var Oc={contentKey:`dashboard`};function kc(){let{user:e,profile:t}=r.It(),a=r.mi();r.Rr();let o=(0,X.useNavigate)(),[s]=(0,X.useSearchParams)(),[c]=(0,K.useState)(()=>s.get(L.n)===`1`);(0,K.useEffect)(()=>{if(!c)return;let e=new URLSearchParams(s);e.delete(L.n);let t=e.toString();o(`/dashboard${t?`?${t}`:``}`,{replace:!0})},[c]);let l=c&&L.h(t),[u,d]=(0,K.useState)(null),[f,p]=(0,K.useState)(()=>typeof window<`u`&&!j.r(Oc));(0,K.useEffect)(()=>{if(j.r(Oc))return;let e=!1;j.n(Oc).then(t=>{e||(t&&d(()=>t),p(!1))});let t=setTimeout(()=>{e||p(!1)},4e3);return()=>{e=!0,clearTimeout(t)}},[]);let m=a.microcomponents?.dashboard||(typeof window<`u`?window.__FBOS_MICROCOMPONENTS__?.dashboard:void 0)||u||void 0,h=(String(t?.displayName||``).trim()||e?.displayName||e?.email?.split(`@`)[0]||`there`).split(` `)[0],g=h.charAt(0).toUpperCase()+h.slice(1),_=`${l?`Welcome`:`Welcome back`}, ${g}.`;return(0,q.jsxs)(`main`,{className:`flex-1 w-full max-w-7xl mx-auto p-4 pt-2 md:p-8 md:pt-4 z-10 flex flex-col min-h-screen`,children:[(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`mb-8`,children:[(0,q.jsx)(n.t,{children:_}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-foreground/40 font-bold uppercase tracking-[0.2em] text-[11px]`,children:[(0,q.jsx)(`span`,{className:`w-8 h-[1px] bg-foreground/10`}),`/dashboard`]})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-4 flex-1 min-h-[500px]`,children:[(0,q.jsx)(`div`,{className:`flex justify-start`,children:(0,q.jsx)(i.t,{})}),m?(0,q.jsx)(`div`,{className:`fbos-content-slot fbos-tab-fill relative w-full flex-1`,children:(0,q.jsx)(j.p,{size:`part`,children:(0,q.jsx)(m,{})})}):(0,q.jsxs)(`div`,{className:`w-full flex-1 glass-panel rounded-3xl relative overflow-hidden border border-[var(--panel-border)] shadow-2xl bg-[var(--panel-bg)] p-8 md:p-12 flex items-center justify-center`,children:[(0,q.jsx)(`div`,{className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-64 h-64 bg-accent/10 blur-[100px] rounded-full pointer-events-none`}),f?(0,q.jsx)(C.r,{className:`w-6 h-6 text-accent animate-spin relative z-10`}):(0,q.jsx)(r.it,{mode:`wait`,children:(0,q.jsxs)(r.rt.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},transition:{duration:.3},className:`text-center z-10`,children:[(0,q.jsx)(`div`,{className:`w-16 h-16 rounded-3xl bg-accent/10 border border-accent/20 flex items-center justify-center text-accent mx-auto mb-6 shadow-inner`,children:(0,q.jsx)(Xe,{className:`w-6 h-6`})}),(0,q.jsx)(`h2`,{className:`text-2xl font-bold text-foreground mb-2`,children:`No data added here yet`}),(0,q.jsx)(`p`,{className:`text-foreground/40 font-medium`,children:`Keep moving forward, your data will appear here.`})]})})]})]})]})}var Ac=8e3,jc=2e4;function Mc(e){let[t,n]=(0,K.useState)(()=>e<=0);return(0,K.useEffect)(()=>{if(e<=0)return;let t=setTimeout(()=>n(!0),e);return()=>clearTimeout(t)},[e]),t}function Nc(){return{slow:Mc(Ac),stuck:Mc(jc)}}var Pc=e=>e&&/^\/(?![/\\])/.test(e)?e:null,Fc=`Still trying to connect`,Ic=`The app has not heard back. This is almost always the connection rather than anything you did — reloading usually picks it up.`,Lc=`No connection`,Rc=`This device is not online, so the app cannot finish opening. It will carry on by itself the moment you are back.`,zc=()=>{let{slow:e,stuck:t}=Nc(),n=r.$r();return t||e&&n?(0,q.jsx)(a.t,{override:{title:n?Lc:Fc,message:n?Rc:Ic,next:`reload`}}):(0,q.jsxs)(`div`,{className:`flex-1 flex flex-col items-center justify-center min-h-[60vh] z-10 fbos-fade-in`,children:[(0,q.jsx)(`div`,{className:`w-12 h-12 rounded-xl glass-panel border border-[var(--panel-border)] flex items-center justify-center mb-6 shadow-xl`,children:(0,q.jsx)(Xe,{className:`w-6 h-6 text-accent animate-pulse`})}),(0,q.jsxs)(`div`,{className:`flex items-center gap-3 glass-panel px-5 py-2.5 rounded-full border border-[var(--panel-border)]`,children:[(0,q.jsx)(`div`,{className:`w-4 h-4 border-2 border-accent border-t-transparent rounded-full animate-spin`}),(0,q.jsx)(`span`,{className:`text-[13px] font-bold tracking-widest uppercase text-foreground/70`,children:`Connecting`})]}),e&&(0,q.jsxs)(`div`,{className:`mt-6 max-w-xs w-full px-4 text-center fbos-fade-in`,children:[(0,q.jsx)(`p`,{className:`text-[13px] font-semibold text-foreground/60 leading-relaxed mb-3`,children:`This is taking longer than it should.`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>{typeof window<`u`&&window.location.reload()},className:`w-full flex items-center justify-center gap-2 py-2.5 bg-foreground/5 hover:bg-foreground/10 text-foreground text-[14px] font-bold rounded-xl transition-colors`,children:`Reload the page`})]})]})};function Bc({level:e,children:t}){let{user:n,userRole:i,loading:a,userInactive:s,signOut:c,roleResolved:l,profile:u,profileReady:d}=r.It(),f=(0,X.useLocation)(),p=r.wn();if(a||!l)return(0,q.jsx)(zc,{});if(!n)return(0,q.jsx)(X.Navigate,{to:`/login?from=${encodeURIComponent(f.pathname)}`,replace:!0});if(!d)return(0,q.jsx)(zc,{});if(s)return u?.removed===!0?(0,q.jsx)(X.Navigate,{to:_c,replace:!0}):(0,q.jsx)(oe.t,{tone:`red`,title:`Access Denied`,message:`You don't have access to this app. Please contact the administrator.`,action:(0,q.jsx)(`button`,{onClick:()=>c(),className:oe.a,children:`Sign Out`})});let m=gc({user:n,profile:u,userRole:i,roleResolved:l,profileReady:d,methods:p});return m===`wait`?(0,q.jsx)(zc,{}):m?(0,q.jsx)(X.Navigate,{to:m}):e===`admin`&&!o.wn(i)?(0,q.jsx)(oe.n,{}):e===`internal`&&!o.Sn(i)?(0,q.jsx)(oe.r,{}):(0,q.jsx)(q.Fragment,{children:t})}var Vc=({children:e})=>(0,q.jsx)(Bc,{level:`signed-in`,children:e}),Hc=({children:e})=>(0,q.jsx)(Bc,{level:`admin`,children:e}),Uc=({children:e})=>(0,q.jsx)(Bc,{level:`internal`,children:e});function Wc({tab:e,children:t}){let{userRole:n}=r.It(),{audience:a,live:s}=i.o(e),c=B.i(n,a);return!c&&!s&&!o.wn(n)?(0,q.jsx)(zc,{}):(0,q.jsx)(Bc,{level:c?`signed-in`:`admin`,children:t})}function Gc({children:e,landing:t}){let{user:n,loading:i,roleResolved:a,profileReady:s,profile:c,userRole:l}=r.It(),u=r.wn(),[d]=(0,X.useSearchParams)(),[f]=(0,K.useState)(()=>r.Vt()),[p,m]=(0,K.useState)(!1);if(!i&&!n&&!p&&m(!0),i)return f?(0,q.jsx)(q.Fragment,{children:e}):(0,q.jsx)(zc,{});if(d.has(`preview`)||n&&s&&c?.removed===!0)return(0,q.jsx)(q.Fragment,{children:e});if(n&&o.un(n)){let r=gc({user:n,profile:c,userRole:l,roleResolved:a,profileReady:s,methods:u});return r===`wait`||u.loading?p?(0,q.jsx)(q.Fragment,{children:e}):(0,q.jsx)(zc,{}):(0,q.jsx)(X.Navigate,{to:r??Pc(d.get(`from`))??t??`/dashboard`,replace:!0})}return(0,q.jsx)(q.Fragment,{children:e})}function Kc({children:e}){let{user:t,loading:n,roleResolved:i,profile:a,profileReady:s}=r.It();if(n||!i)return(0,q.jsx)(zc,{});if(!t)return(0,q.jsx)(X.Navigate,{to:`/`});if(o.un(t)){if(!s)return(0,q.jsx)(zc,{});if(!o.dn(t,a))return(0,q.jsx)(X.Navigate,{to:`/dashboard`})}return(0,q.jsx)(q.Fragment,{children:e})}function qc({children:e}){let{user:t,loading:n,roleResolved:i}=r.It(),a=r.wn();return n||!i?(0,q.jsx)(zc,{}):t?o.un(t)?a.loading?(0,q.jsx)(zc,{}):!a.on.sms2fa||!tr(t)?(0,q.jsx)(X.Navigate,{to:`/dashboard`}):(0,q.jsx)(q.Fragment,{children:e}):(0,q.jsx)(X.Navigate,{to:`/verify`}):(0,q.jsx)(X.Navigate,{to:`/`})}function Jc({children:e}){let{user:t,userRole:n,loading:i,roleResolved:a,roleConfirmed:s,profile:c,profileReady:l}=r.It(),u=r.wn();return i||!a?(0,q.jsx)(zc,{}):t?o.un(t)?!s||!l||u.loading?(0,q.jsx)(zc,{}):L.v(c,n,u.finishRegistration)?(0,q.jsx)(q.Fragment,{children:e}):(0,q.jsx)(X.Navigate,{to:`/dashboard`}):(0,q.jsx)(X.Navigate,{to:`/verify`}):(0,q.jsx)(X.Navigate,{to:`/`})}var Yc=[`user_submissions`,`user_requests`],Xc=e=>Array.isArray(e)?e.filter(e=>typeof e==`string`&&e):[],Zc=e=>[...new Set(e.filter(e=>e&&e!==`uid:`&&e!==`role:`))],Qc=new Set([`id`,`from`,`uid`,`formId`,`submittedAt`,`submitterAvatar`,`transaction`,`arrivedIn`,`appliedEntries`,`access`,`editors`,`archived`,`read`,`starred`]);function $c(e,t){let n={};for(let[t,r]of Object.entries(e))!Qc.has(t)&&r!==void 0&&(n[t]=r);let r=t&&t.kind===`charge`?t:null;return r?.paidWith&&n.paidWith===void 0&&(n.paidWith=r.paidWith),r?.receiptUrl&&n.receiptUrl===void 0&&(n.receiptUrl=r.receiptUrl),n}function el(e,t){let n=Object.entries(e).filter(([e,t])=>/e-?mail/i.test(e)&&typeof t==`string`).map(([,e])=>String(e)),r=e.buyer&&typeof e.buyer==`object`?String(e.buyer.email||``):``;return[...new Set([String(t?.email||``),String(e.submitterEmail||``),r,...n].map(c.T))].filter(e=>e!==`email:`).slice(0,3)}var tl=e=>{if(!e)return 0;if(typeof e==`number`)return e;if(typeof e.toMillis==`function`)return e.toMillis();if(typeof e.seconds==`number`)return e.seconds*1e3;let t=new Date(e).getTime();return Number.isNaN(t)?0:t};function nl(e,t,{roles:n=[],viewers:r=[],senderCanEdit:i=!1},a,o=null){let s=e.uid&&e.uid!==`guest`?c.E(e.uid):``,l=n.map(c.D);return{...t,uid:s?e.uid:a,access:Zc([s,...el(e,o),...l,...r.map(c.D),...Xc(t.access),...Xc(t.editors)]),editors:Zc([...i?[s]:[],...l,...Xc(t.editors)]),sourceId:e.id,formId:e.formId,createdAt:typeof t.createdAt==`number`?t.createdAt:tl(e.submittedAt)||Date.now()}}function rl(e,t){for(let n of t)if(Object.values(n.collected||{}).includes(e)&&(n.kind===`charge`?n.paid:[`active`,`trialing`].includes(String(n.status))))return n;return null}var il=5,al=60*1e3;async function ol(e){let t=[];try{let n=await r.li?.currentUser?.getIdToken();if(!n)return{sales:t,error:``};let i=``,a=``;for(let r=0;r<il;r+=1){let o=new URLSearchParams;i&&o.set(`starting_after`,i),a&&o.set(`subscriptions_after`,a);let s=await fetch(`/api/payments/sales${r?`?${o}`:``}`,{headers:{Authorization:`Bearer ${n}`}});if(!s.ok){let e=``;try{e=String((await s.json())?.error||``)}catch{}return{sales:t,error:e||`Your payments could not be read, so nothing paid for could be let in just now.`}}let c=await s.json();if(t.push(...c?.charges||[],...c?.subscriptions||[]),e.every(e=>rl(e,t))||!c?.chargesHasMore&&!c?.subscriptionsHasMore)break;i=c?.chargesAfter||i,a=c?.subscriptionsAfter||a}return{sales:t,error:``}}catch{return{sales:t,error:`Your payments could not be read, so nothing paid for could be let in just now.`}}}var sl=e=>e?.code===`permission-denied`?`What came in from the other page could not be read. The security rules may need pasting again from the Setup screen.`:`What came in from the other page could not be read just now.`,cl=1440*60*1e3,ll=(e,t,n)=>[e.name,e.customerName,e.buyer?.name,t.submitterName,n?.name].map(e=>typeof e==`string`?e.trim():``).find(Boolean)||``;function ul(e,t,{roles:n=[],paid:r=!1,page:i,ring:a=!0},o,s=Date.now()){if(!a)return[];let c=tl(e.submittedAt);if(c&&s-c>cl)return[];let l=i?.path||(typeof window<`u`?window.location.pathname:``),u=i?.title?` on ${i.title}`:``,d=ll(t,e,o),f=n.map(e=>({toRole:e,title:r?`New order${u}`:`Something new${u}`,body:d?`From ${d}`:``,link:l}));return e.uid&&e.uid!==`guest`&&f.push({toUid:e.uid,title:r?`We have your order`:`We have what you sent`,body:i?.title?`Follow it on ${i.title}.`:`You can follow it here.`,link:l}),f}var dl=new Map,fl=new Set,pl=(e,t)=>`${e}|${t}`,ml=(e,t)=>(dl.get(pl(e,t))||0)>0,hl=e=>(fl.add(e),()=>{fl.delete(e)}),gl=(e,t)=>{dl.set(e,Math.max(0,(dl.get(e)||0)+t)),fl.forEach(e=>e())};function _l(e,t,n,i){let{formId:a,paid:o=!1}=t(),s=!0,c=new Map,l=new Set,u=!1,d=!1,f=async(i,a)=>{let o=t(),s;try{s=(o.make||$c)(i,a)}catch{return`Something that came in could not be read into this page.`}if(!s)return``;let c=nl(i,s,o,n,a),l=!1;try{await(0,Y.runTransaction)(r.ui,async t=>{l=!1;let n=(0,Y.doc)(r.ui,i.from,i.id),a=(0,Y.doc)(r.ui,e,i.id),o=await t.get(n);!o.exists()||Xc(o.data()?.arrivedIn).includes(e)||((await t.get(a)).exists()||(t.set(a,c),l=!0),t.update(n,{arrivedIn:(0,Y.arrayUnion)(e)}))})}catch(e){return sl(e)}if(l)for(let e of ul(i,c,o,a))Ot(e);return``},p=async()=>{if(u){d=!0;return}u=!0;try{let e=[...c.values()].flatMap(e=>[...e.values()]).filter(e=>!l.has(e.id));if(!e.length)return;let t=[],n=``;if(o){let r=await ol(e.map(e=>e.id));if(!s)return;t=r.sales,n=r.error}for(let r of e){let e=o?rl(r.id,t):null;if(o&&!e)continue;let i=await f(r,e);if(!s)return;i?n||=i:l.add(r.id)}i(n)}finally{u=!1,d&&s&&(d=!1,p())}},m=Yc.map(t=>(0,Y.onSnapshot)((0,Y.query)((0,Y.collection)(r.ui,t),(0,Y.where)(`formId`,`==`,a)),n=>{let r=new Map;for(let i of n.docs){let n=i.data()||{};Xc(n.arrivedIn).includes(e)||r.set(i.id,{...n,id:i.id,uid:String(n.uid||`guest`),formId:a,from:t})}c.set(t,r),p()},e=>{s&&i(sl(e))})),h=()=>o&&[...c.values()].some(e=>[...e.values()].some(e=>!l.has(e.id)&&Date.now()-(tl(e.submittedAt)||Date.now())<72e5)),g=setInterval(()=>{h()&&p()},al),_=()=>{document.visibilityState===`visible`&&h()&&p()};return document.addEventListener(`visibilitychange`,_),()=>{s=!1,m.forEach(e=>e()),clearInterval(g),document.removeEventListener(`visibilitychange`,_)}}function vl(e,t,n){let{user:i,isAdmin:a,roleConfirmed:s}=r.It(),c=i?.uid||``,{formId:l,paid:u=!1}=t,d=(0,K.useRef)(t);(0,K.useEffect)(()=>{d.current=t});let[f,p]=(0,K.useState)(``),m=pl(e,l),h=(0,K.useSyncExternalStore)(hl,()=>n?!1:ml(e,l)),g=!!c&&a&&s&&o.Tn(e)&&!!l&&!h;return(0,K.useEffect)(()=>{if(!(!n||!o.Tn(e)||!l))return gl(m,1),()=>gl(m,-1)},[n,m,e,l]),(0,K.useEffect)(()=>{if(g)return _l(e,()=>d.current,c,p)},[g,e,l,u,c]),{error:g?f:``}}function yl(e,t){return vl(e,t,!0)}function bl(e,t){return vl(e,t,!1)}function xl({road:e}){let{error:t}=bl(e.collection,{formId:e.formId,paid:e.paid,roles:e.roles,page:e.page});return(0,K.useEffect)(()=>{t&&a.s(r.ni(t,`none`))},[t]),null}function Sl(){return(0,q.jsx)(q.Fragment,{children:S.i().map(e=>(0,q.jsx)(xl,{road:e},`${e.collection}|${e.formId}`))})}function Cl(){let{pathname:e,hash:t}=(0,X.useLocation)(),n=(0,X.useNavigationType)();return(0,K.useLayoutEffect)(()=>{if(!(n===`POP`||t))try{window.scrollTo({top:0,left:0,behavior:`instant`})}catch{}},[e,t,n]),null}Cl.displayName=`ScrollToTop`;var wl=()=>Promise.resolve().then(()=>require(`./Users-BfhxHb1w.cjs`)).then(e=>({default:e.UsersTab})),Tl=()=>Promise.resolve().then(()=>require(`./SignInAdmin-DAx1qO2m.cjs`)).then(e=>({default:e.SignInAdmin})),El=()=>Promise.resolve().then(()=>require(`./Inbox-nRlip3vG.cjs`)).then(e=>({default:e.Inbox})),Dl=()=>Promise.resolve().then(()=>require(`./Assets-6gmOu6r8.cjs`)).then(e=>({default:e.Assets})),Ol=()=>Promise.resolve().then(()=>require(`./ThemeAdmin-DdD0xOzc.cjs`)).then(e=>({default:e.ThemeAdmin})),kl=()=>Promise.resolve().then(()=>require(`./PagesAdmin-By4cGYDl.cjs`)).then(e=>({default:e.PagesAdmin})),Al=()=>Promise.resolve().then(()=>require(`./FormsAdmin-Br-svtO9.cjs`)).then(e=>({default:e.FormsAdmin})),jl=()=>Promise.resolve().then(()=>require(`./PaymentsAdmin-Cx4B7Erk.cjs`)).then(e=>({default:e.PaymentsAdmin})),Ml=()=>Promise.resolve().then(()=>require(`./TransactionsAdmin-D986gvyu.cjs`)).then(e=>({default:e.TransactionsAdmin})),Nl=()=>Promise.resolve().then(()=>require(`./ScheduleAdmin-BFE06xj6.cjs`)).then(e=>({default:e.ScheduleAdmin})),Pl=()=>Promise.resolve().then(()=>require(`./EmailAdmin-BKO3HpCX.cjs`)).then(e=>({default:e.EmailAdmin})),Fl=()=>Promise.resolve().then(()=>require(`./SetupPayments-CfHBZod8.cjs`)).then(e=>({default:e.SetupPayments})),Il=()=>Promise.resolve().then(()=>require(`./PublishApp-BaD2ISuN.cjs`)).then(e=>({default:e.PublishApp})),Ll=()=>Promise.resolve().then(()=>require(`./MyBookings-C_sPmVPn.cjs`)).then(e=>({default:e.MyBookings})),Rl=()=>Promise.resolve().then(()=>require(`./Billing-BgFC-xkx.cjs`)).then(e=>({default:e.Billing})),zl=r.si(wl),Bl=r.si(Tl),Vl=r.si(El),Hl=r.si(Dl),Ul=r.si(Ol),Wl=r.si(kl),Gl=r.si(Al),Kl=r.si(jl),ql=r.si(Ml),Jl=r.si(Nl),Yl=r.si(Pl),Xl=r.si(Fl),Zl=r.si(Il),Ql=r.si(Ll),$l=r.si(Rl),eu=[Ll,Rl],tu=[wl,El,Ml,Nl],nu=[kl,Al,Ol,Tl,Dl,jl,Pl,Il,Fl];function ru(){let{user:e,isAdmin:t,isInternal:n}=r.It();return(0,K.useEffect)(()=>{if(!e)return;let r=[...eu,...t||n?tu:[],...t?nu:[]],i=!1,a,o=e=>typeof window.requestIdleCallback==`function`?window.requestIdleCallback(e,{timeout:4e3}):window.setTimeout(e,1500),s=e=>typeof window.cancelIdleCallback==`function`?window.cancelIdleCallback(e):window.clearTimeout(e),c=()=>{let e=r.shift();!e||i||(a=o(()=>{e().catch(()=>{}).finally(c)}))};return c(),()=>{i=!0,a!==void 0&&s(a)}},[e,t,n]),null}function iu({to:e}){return(0,q.jsx)(X.Navigate,{to:`${e}${(0,X.useLocation)().search}`,replace:!0})}function au(){return(0,q.jsxs)(`div`,{className:`fixed top-0 left-0 w-full h-full pointer-events-none -z-0 overflow-hidden`,children:[(0,q.jsx)(`div`,{className:`fbos-orb-1 absolute -top-[30%] md:-top-[400px] -right-[10%] md:-right-[200px] w-[500px] md:w-[800px] h-[500px] md:h-[800px] rounded-full bg-decorator-1 blur-[80px] md:blur-[120px]`}),(0,q.jsx)(`div`,{className:`fbos-orb-2 absolute -bottom-[20%] md:-bottom-[300px] -left-[10%] md:-left-[100px] w-[400px] md:w-[600px] h-[400px] md:h-[600px] rounded-full bg-decorator-2 blur-[60px] md:blur-[100px]`})]})}function ou({Page:e}){return pn(),r.Rr(),(0,q.jsx)(`div`,{className:`fbos-home-slot contents`,children:(0,q.jsx)(j.p,{size:`part`,children:e===Pn?(0,q.jsx)(e,{}):(0,q.jsx)(rn,{which:`home`,fallback:(0,q.jsx)(Pn,{}),onlyMissing:!0,neverPutAside:!nn(e),children:(0,q.jsx)(e,{})})})})}function su(){let{isAdmin:e}=r.It();return(0,q.jsx)(cn,{isAdmin:!!e})}function cu(){let e=r.mi().components?.Home||Pn,t=(0,X.useNavigate)(),n=(0,X.useLocation)();return(0,q.jsx)(r.Pt,{onSignedOut:()=>t(`/`,{replace:!0}),onRemoved:()=>t(_c,{replace:!0}),children:(0,q.jsxs)(`div`,{className:`min-h-screen relative flex flex-col overflow-x-clip`,children:[(0,q.jsxs)(un,{children:[(0,q.jsx)(j.p,{size:`part`,children:(0,q.jsx)(Mn,{})}),(0,q.jsx)(Cl,{}),(0,q.jsx)(ji,{}),(0,q.jsx)(zi,{}),(0,q.jsxs)(j.p,{resetKey:n.pathname,children:[(0,q.jsx)(ru,{}),(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(zc,{}),children:(0,q.jsxs)(X.Routes,{children:[(0,q.jsx)(X.Route,{path:`/`,element:(0,q.jsx)(Gc,{children:(0,q.jsx)(ou,{Page:e})})}),(0,q.jsx)(X.Route,{path:`/register`,element:(0,q.jsx)(Gc,{landing:`/dashboard?${L.n}=1`,children:(0,q.jsx)(Br,{})})}),(0,q.jsx)(X.Route,{path:`/login`,element:(0,q.jsx)(Gc,{children:(0,q.jsx)(Vr,{})})}),(0,q.jsx)(X.Route,{path:`/reset-password`,element:(0,q.jsx)(Gc,{children:(0,q.jsx)(Oi,{})})}),(0,q.jsx)(X.Route,{path:`/verify`,element:(0,q.jsx)(Kc,{children:(0,q.jsx)($r,{})})}),(0,q.jsx)(X.Route,{path:`/confirm-email`,element:(0,q.jsx)(ni,{})}),(0,q.jsx)(X.Route,{path:`/two-step`,element:(0,q.jsx)(qc,{children:(0,q.jsx)(fi,{})})}),(0,q.jsx)(X.Route,{path:`/your-details`,element:(0,q.jsx)(Jc,{children:(0,q.jsx)(yi,{})})}),(0,q.jsx)(X.Route,{path:`/book/:id`,element:(0,q.jsx)(na,{})}),(0,q.jsx)(X.Route,{path:`/meet/:id`,element:(0,q.jsx)(da,{})}),(0,q.jsx)(X.Route,{path:`/pay/:id`,element:(0,q.jsx)(pa,{})}),(0,q.jsx)(X.Route,{path:`/payment-complete`,element:(0,q.jsx)(Dc,{})}),(0,q.jsx)(X.Route,{path:`/payment-cancelled`,element:(0,q.jsx)(Dc,{cancelled:!0})}),(0,q.jsx)(X.Route,{path:`/guide`,element:(0,q.jsx)(X.Navigate,{to:`/`,replace:!0})}),(0,q.jsx)(X.Route,{path:`/templates`,element:(0,q.jsx)(X.Navigate,{to:`/`,replace:!0})}),(0,q.jsx)(X.Route,{path:`/users`,element:(0,q.jsx)(Wc,{tab:`users`,children:(0,q.jsx)(zl,{})})}),(0,q.jsx)(X.Route,{path:`/users/:id`,element:(0,q.jsx)(Wc,{tab:`users`,children:(0,q.jsx)(zl,{})})}),(0,q.jsx)(X.Route,{path:`/sign-in`,element:(0,q.jsx)(Hc,{children:(0,q.jsx)(Bl,{})})}),(0,q.jsx)(X.Route,{path:`/inbox`,element:(0,q.jsx)(Wc,{tab:`inbox`,children:(0,q.jsx)(Vl,{})})}),(0,q.jsx)(X.Route,{path:`/payments`,element:(0,q.jsx)(Hc,{children:(0,q.jsx)(Kl,{})})}),(0,q.jsx)(X.Route,{path:`/transactions`,element:(0,q.jsx)(Wc,{tab:`transactions`,children:(0,q.jsx)(ql,{})})}),(0,q.jsx)(X.Route,{path:`/schedule`,element:(0,q.jsx)(Uc,{children:(0,q.jsx)(Jl,{})})}),(0,q.jsx)(X.Route,{path:`/my-calendar`,element:(0,q.jsx)(iu,{to:`/schedule`})}),(0,q.jsx)(X.Route,{path:`/my-bookings`,element:(0,q.jsx)(Vc,{children:(0,q.jsx)(Ql,{})})}),(0,q.jsx)(X.Route,{path:`/email`,element:(0,q.jsx)(Hc,{children:(0,q.jsx)(Yl,{})})}),(0,q.jsx)(X.Route,{path:`/submissions`,element:(0,q.jsx)(X.Navigate,{to:`/inbox`,replace:!0})}),(0,q.jsx)(X.Route,{path:`/requests`,element:(0,q.jsx)(X.Navigate,{to:`/inbox`,replace:!0})}),(0,q.jsx)(X.Route,{path:`/assets`,element:(0,q.jsx)(Hc,{children:(0,q.jsx)(Hl,{})})}),(0,q.jsx)(X.Route,{path:`/drive`,element:(0,q.jsx)(X.Navigate,{to:`/assets`,replace:!0})}),(0,q.jsx)(X.Route,{path:`/drive/:rest`,element:(0,q.jsx)(X.Navigate,{to:`/assets`,replace:!0})}),(0,q.jsx)(X.Route,{path:`/theme`,element:(0,q.jsx)(Hc,{children:(0,q.jsx)(Ul,{})})}),(0,q.jsx)(X.Route,{path:`/pages/*`,element:(0,q.jsx)(Hc,{children:(0,q.jsx)(Wl,{})})}),(0,q.jsx)(X.Route,{path:`/forms/*`,element:(0,q.jsx)(Hc,{children:(0,q.jsx)(Gl,{})})}),(0,q.jsx)(X.Route,{path:`/settings`,element:(0,q.jsx)(X.Navigate,{to:`/pages`,replace:!0})}),(0,q.jsx)(X.Route,{path:`/profile`,element:(0,q.jsx)(Vc,{children:(0,q.jsx)(Di,{})})}),(0,q.jsx)(X.Route,{path:`/billing`,element:(0,q.jsx)(Vc,{children:(0,q.jsx)($l,{})})}),(0,q.jsx)(X.Route,{path:`/dashboard`,element:(0,q.jsx)(Vc,{children:(0,q.jsx)(kc,{})})}),(0,q.jsx)(X.Route,{path:`/publish`,element:(0,q.jsx)(Hc,{children:(0,q.jsx)(Zl,{})})}),(0,q.jsx)(X.Route,{path:`/setup`,element:(0,q.jsx)(U.r,{})}),(0,q.jsx)(X.Route,{path:`/setup/payments`,element:(0,q.jsx)(Xl,{})}),(0,q.jsx)(X.Route,{path:`*`,element:(0,q.jsx)(wc,{})})]})})]})]}),(0,q.jsx)(au,{}),(0,q.jsx)(Ie,{}),(0,q.jsx)(su,{}),(0,q.jsx)(Sl,{}),(0,q.jsx)(O.t,{})]})})}function lu(){return(0,q.jsxs)(j.p,{children:[(0,q.jsx)(X.BrowserRouter,{children:(0,q.jsx)(uu,{})}),(0,q.jsx)(a.n,{})]})}function uu(){let e=r.mi();return e.firebaseConfig&&e.firebaseConfig.apiKey&&e.firebaseConfig.apiKey.trim()!==``&&e.firebaseConfig.projectId&&e.firebaseConfig.projectId.trim()!==``||U.i()?(0,q.jsx)(cu,{}):(0,q.jsxs)(`div`,{className:`min-h-screen relative flex flex-col overflow-x-clip`,children:[(0,q.jsx)(Mn,{standalone:!0}),(0,q.jsx)(U.r,{standalone:!0}),(0,q.jsx)(au,{})]})}function du(e){return(0,q.jsx)(`div`,{className:`firebase-os flex-1 flex flex-col min-h-screen`,style:{background:`var(--bg-gradient)`,color:`var(--fg-color)`},children:(0,q.jsx)(j.p,{children:(0,q.jsx)(fu,{...e})})})}function fu(e){je();let t=e.firebaseConfig;return t&&t.apiKey&&t.apiKey.trim()!==``&&t.projectId&&t.projectId.trim()!==``&&r.di(t),j.a(e.pageFiles),(0,q.jsx)(r.pi,{config:{firebaseConfig:e.firebaseConfig,basename:e.basename,onAuthChange:e.onAuthChange,themeConfig:e.themeConfig,components:e.components,customRoutes:e.customRoutes,microcomponents:e.microcomponents,pageFiles:e.pageFiles,defaultConfigs:e.defaultConfigs},children:(0,q.jsx)(i.M,{children:(0,q.jsx)(lu,{})})})}var pu=[`views`,`added`,`clicks`,`saves`,`shares`,`downloads`],mu=`mem_tallies`,hu=`Needs the rules pasted from /setup at 1.14.66 or later.`,gu=Object.freeze({views:0,added:0,clicks:0,saves:0,shares:0,downloads:0}),_u=e=>String(e??``).trim().toLowerCase().replace(/[^a-z0-9_-]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,40),vu=e=>String(e??``).trim().replace(/\//g,`_`).slice(0,120),yu=(e,t)=>{let n=_u(e),r=vu(t);return n&&r?`${n}_${r}`:null};function bu(e){let t={...gu};for(let n of pu){let r=Math.floor(Number(e?.[n]));Number.isFinite(r)&&r>0&&(t[n]=r)}return t}var xu=new Set,Su=e=>{if(xu.has(e))return!0;try{return window.sessionStorage.getItem(e)===`1`}catch{return!1}},Cu=e=>{xu.add(e);try{window.sessionStorage.setItem(e,`1`)}catch{}},wu=()=>{let e=r.li?.currentUser?.uid;if(!e)return!1;try{let t=window.localStorage.getItem(r.Ft(e));return t===`admin`||t===`internal`}catch{return!1}},Tu=!1;async function Eu(e,t,n=`views`){try{let i=yu(e,t);if(!i||!pu.includes(n))return console.error(`tally('${e}', '${t}', '${n}'): a tally needs what is counted ('products'), the record's id, and one of ${pu.join(`, `)}.`),!1;let a=`fbos.tally.${i}.${n}`;return Su(a)||wu()?!1:(Cu(a),await(0,Y.setDoc)((0,Y.doc)(r.ui,mu,i),{thing:_u(e),of:vu(t),[n]:(0,Y.increment)(1)},{merge:!0}),!0)}catch(e){return!Tu&&e?.code===`permission-denied`&&(Tu=!0,console.warn(`tally(): the database refused the count. ${hu}`)),!1}}function Du(e){let{accessLevel:t}=r.It(),n=t===`admin`||t===`internal`,i=_u(e),[a,o]=(0,K.useState)(new Map),[s,c]=(0,K.useState)(!0),[l,u]=(0,K.useState)(null);return(0,K.useEffect)(()=>{if(!n||!i){o(new Map),c(!1);return}return c(!0),u(null),(0,Y.onSnapshot)((0,Y.query)((0,Y.collection)(r.ui,mu),(0,Y.where)(`thing`,`==`,i)),e=>{let t=new Map;e.docs.forEach(e=>{let n=e.data()||{};t.set(String(n.of??``),bu(n))}),o(t),c(!1)},e=>{u(r.ii(e,`The counts could not be read.`)),c(!1)})},[n,i]),(0,K.useMemo)(()=>{let e={...gu};for(let t of a.values())for(let n of pu)e[n]+=t[n];return{loading:s,error:l,of:e=>a.get(vu(e))||gu,total:e}},[a,s,l])}function Ou(e,t=r.Lr()){let n=typeof e==`string`?e.trim()===``?NaN:Number(e):e;if(n==null||!Number.isFinite(n))return`—`;let i=(t||r.Lr()).toUpperCase();try{return new Intl.NumberFormat(void 0,{style:`currency`,currency:i}).format(n)}catch{return`${n} ${i}`}}var ku=e=>typeof e==`string`?e.trim():e==null?``:String(e).trim(),Au=e=>{let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?t:0},ju=e=>Math.round(e*100);function Mu(e){let t=[];for(let n of Array.isArray(e)?e:[]){let e=ku(n?.name),r=Math.floor(Au(n?.quantity??1));if(!e||r<1)continue;let i={};try{i=JSON.parse(JSON.stringify(n))||{}}catch{i={}}let a={...i,name:e,quantity:r,price:Au(n?.price)};for(let e of[`id`,`options`,`picture`])ku(n?.[e])?a[e]=ku(n[e]):delete a[e];t.push(a)}return t}var Nu=e=>(Array.isArray(e)?e:[]).map(e=>({label:ku(e?.label),amount:Au(e?.amount)})).filter(e=>e.label&&e.amount!==0),Pu=e=>e.reduce((e,t)=>e+ju(t.price)*t.quantity,0)/100,Fu=(e,t=[])=>(ju(Pu(e))+t.reduce((e,t)=>e+ju(t.amount),0))/100;function Iu(e,t=`usd`,n=480){let r=e.map(e=>`${e.quantity} × ${e.name}${e.options?` — ${e.options}`:``} · ${Ou(e.price*e.quantity,t)}`),i=``;for(let e=0;e<r.length;e+=1){let t=i?`${i}; ${r[e]}`:r[e],a=r.length-e-1;if((t+(a?`; and ${a} more`:``)).length>n)return i?`${i}; and ${r.length-e} more`:r[e].slice(0,n);i=t}return i}var Lu=new Set([`uid`,`formId`,`submittedAt`,`submitterName`,`submitterEmail`,`submitterAvatar`,`transaction`,`arrivedIn`,`access`,`editors`]);function Ru(e,t,n,r,i){let a={items:e,extras:t,subtotal:Pu(e),total:Fu(e,t),currency:(n||`usd`).toLowerCase(),name:ku(r.name),email:ku(r.email),phone:ku(r.phone),address:ku(r.address)},o={};try{o=JSON.parse(JSON.stringify(i||{}))||{}}catch{o={}}for(let[e,t]of Object.entries(o))e in a||Lu.has(e)||(a[e]=t);return a}var zu=`fbos_checkout_entry`,Bu=(e,t)=>JSON.stringify([e,t]);function Vu(e){try{let t=JSON.parse(window.sessionStorage.getItem(zu)||`null`);return t&&t.print===e&&typeof t.id==`string`?t.id:``}catch{return``}}function Hu(){try{window.sessionStorage.removeItem(zu)}catch{}}var Uu=`fbos_checkout_guest`;function Wu(e){try{e?window.sessionStorage.setItem(Uu,e):window.sessionStorage.removeItem(Uu)}catch{}}function Gu(){try{let e=window.sessionStorage.getItem(Uu)||``;return window.sessionStorage.removeItem(Uu),e}catch{return``}}async function Ku(e,t){let n=Bu(e,t),i=Vu(n);if(i)return i;let a=r.li?.currentUser,o=await(0,Y.addDoc)((0,Y.collection)(r.ui,`user_submissions`),{...t,...a?{uid:a.uid,submitterName:a.displayName||t.name,submitterEmail:a.email||t.email,submitterAvatar:a.photoURL||``}:{uid:`guest`},formId:e,transaction:!0,submittedAt:(0,Y.serverTimestamp)()});try{window.sessionStorage.setItem(zu,JSON.stringify({print:n,id:o.id}))}catch{}return o.id}var qu=e=>{let t=Math.floor(Number(e));return Number.isFinite(t)&&t>0?t:0},Ju=e=>String(e.variantId??e.variant??``).trim();function Yu(e,t,n){let r=n.filter(t=>String(t.id??``)===e&&qu(t.quantity)>0);if(!r.length)return null;let i=String(t?.name??t?.title??r[0].name??``),a=[],o=Array.isArray(t?.variants)?t.variants.map(e=>({...e})):null,s=typeof t?.stock==`number`?t.stock:null,c=!1,l=!1;for(let t of r){let n=qu(t.quantity),r=Ju(t),u=o&&r?o.findIndex(e=>String(e?.id??``)===r):-1;if(o&&u>=0&&typeof o[u].stock==`number`){let t=o[u].stock,s=Math.max(0,t-n);o[u].stock=s,c=!0,a.push({id:e,variantId:r,name:i,variantName:String(o[u].name??``),quantity:n,from:t,to:s})}else if(s!==null){let t=s,r=Math.max(0,t-n);s=r,l=!0,a.push({id:e,name:i,quantity:n,from:t,to:r})}}if(!a.length)return null;let u={};return c&&(u.variants=o),l&&(u.stock=s),{fields:u,changes:a}}var Xu=e=>({id:e.id,who:{name:String(e.name||e.submitterName||``),email:String(e.email||e.submitterEmail||``)},at:tl(e.submittedAt)||Date.now(),items:Mu(e.items)}),Zu=e=>e?.code===`permission-denied`?`The orders could not be read to take their stock. The security rules may need pasting again from the Setup screen.`:`The stock for what was sold could not be updated just now.`;function Qu(e,t,n){let{formId:i}=t(),a=!0,o=new Map,s=new Set,c=!1,l=!1,u=async n=>{let i=Xu(n),a=[...new Set(i.items.map(e=>String(e.id??``)).filter(Boolean))],o=[];try{await(0,Y.runTransaction)(r.ui,async t=>{o=[];let s=(0,Y.doc)(r.ui,n.from,n.id),c=await t.get(s);if(!c.exists()||Xc(c.data()?.stockTakenIn).includes(e))return;let l=[];for(let n of a){let i=await t.get((0,Y.doc)(r.ui,e,n));l.push({id:n,data:i.exists()?i.data():null})}for(let{id:n,data:a}of l){let s=a?Yu(n,a,i.items):null;s&&(t.update((0,Y.doc)(r.ui,e,n),{...s.fields,editedName:i.who.name||`A customer`,editedAt:i.at}),o.push(...s.changes))}t.update(s,{stockTakenIn:(0,Y.arrayUnion)(e)})})}catch(e){return Zu(e)}if(o.length)try{t().onTaken?.(i,o)}catch{}return``},d=async()=>{if(c){l=!0;return}c=!0;try{let e=[...o.values()].flatMap(e=>[...e.values()]).filter(e=>!s.has(e.id));if(!e.length)return;let t=await ol(e.map(e=>e.id));if(!a)return;let r=t.error;for(let n of e){if(!rl(n.id,t.sales))continue;let e=await u(n);if(!a)return;e?r||=e:s.add(n.id)}n(r)}finally{c=!1,l&&a&&(l=!1,d())}},f=Yc.map(t=>(0,Y.onSnapshot)((0,Y.query)((0,Y.collection)(r.ui,t),(0,Y.where)(`formId`,`==`,i)),n=>{let r=new Map;for(let a of n.docs){let n=a.data()||{};Xc(n.stockTakenIn).includes(e)||r.set(a.id,{...n,id:a.id,uid:String(n.uid||`guest`),formId:i,from:t})}o.set(t,r),d()},e=>{a&&n(Zu(e))})),p=()=>[...o.values()].some(e=>[...e.values()].some(e=>!s.has(e.id)&&Date.now()-(tl(e.submittedAt)||Date.now())<72e5)),m=setInterval(()=>{p()&&d()},al),h=()=>{document.visibilityState===`visible`&&p()&&d()};return document.addEventListener(`visibilitychange`,h),()=>{a=!1,f.forEach(e=>e()),clearInterval(m),document.removeEventListener(`visibilitychange`,h)}}var $u=/^(?:mem|admin|role_[a-z][a-z0-9]*)_[A-Za-z0-9_]+$/;function ed(e,t){let{user:n,isAdmin:i,roleConfirmed:a}=r.It(),o=n?.uid||``,{formId:s}=t,c=(0,K.useRef)(t);(0,K.useEffect)(()=>{c.current=t});let[l,u]=(0,K.useState)(``),d=$u.test(String(e||``)),f=!!o&&i&&a&&d&&!!s;return(0,K.useEffect)(()=>{d||console.error(`useStockFromOrders('${e}'): stock is kept by the page that keeps the products — a mem_, admin_ or role_<id>_ collection. Never a pub_ one: that is the app's own copy (usePublicCopy), and it follows the record by itself.`)},[d,e]),(0,K.useEffect)(()=>{if(f)return Qu(e,()=>c.current,u)},[f,e,s,o]),{error:f?l:``}}var td=r.si(()=>Promise.resolve().then(()=>require(`./PhoneInputField-CuMINkex.cjs`))),nd=r.si(()=>Promise.resolve().then(()=>require(`./AddressField-C-p92i8S.cjs`))),rd={},id=`address`,ad=/^[^\s@,;]+@[^\s@,;.]+(\.[^\s@,;.]+)*\.[a-z]{2,}$/i;function od(e=e=>{let t=new Uint8Array(e);return crypto.getRandomValues(t),Array.from(t)}){return`${e(24).map(e=>`ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789`[e%57]).join(``)}Aa9!`}function sd(e){let t={};return e.name&&(t.name=e.name),e.email&&(t.email=e.email),e.phone&&(t.phone=e.phone),e.address&&(t.address=e.address),t}function cd(e,t){let n={};return e.name.trim()||(n.name=`Please give your name.`),ad.test(e.email.trim())||(n.email=`Please give a real email address — the receipt goes there.`),t.phone===!0&&!e.phone.trim().replace(/^\+\d{1,3}$/,``)&&(n.phone=`Please give a phone number.`),t.address===!0&&!I.c(I.u(e.address))&&(n.address=`Please give the address.`),n}var ld=`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`,ud=`leading-snug break-words [overflow-wrap:anywhere]`;function dd({phone:e,address:t,onReady:n,onEditing:i,heading:a=`Your details`,continueLabel:o=`Continue`,wide:s=!1,className:c=``}){let{user:l,profile:u,profileReady:d,loading:f}=r.It(),p=r.wn(),m=String(l?.displayName||u?.displayName||``).trim(),h=String(l?.email||u?.email||``).trim(),_=String(l?.phoneNumber||u?.phone||``).trim(),v=I.i(id,u||{}),[y,b]=(0,K.useState)(m),[S,C]=(0,K.useState)(h),[w,T]=(0,K.useState)(_),[E,D]=(0,K.useState)(v),[O,k]=(0,K.useState)({}),[A,j]=(0,K.useState)(``),[M,P]=(0,K.useState)(!1),[ee,F]=(0,K.useState)(null),[L,te]=(0,K.useState)(!1),R=g._(g.p,rd),z=R.ready?R.value:rd,B=String(z.name||``)||m,ne=String(z.email||``)||h,re=String(z.phone||``)||_,V=z.address&&I.c(z.address)?{...I.n,...z.address}:v,H=(0,K.useRef)(!1);(0,K.useEffect)(()=>{H.current||(b(B),C(ne),T(re),D(V))},[`${B}|${ne}|${re}|${I.s(V)}`]);let ie=R.setValue;(0,K.useEffect)(()=>{H.current&&ie({name:y,email:S,phone:w,address:E})},[y,S,w,E,ie]);let ae=(0,K.useRef)(``),oe=!!l?.uid,U=oe&&d&&!!m&&ad.test(h)&&(e!==!0||!!_)&&(t!==!0||I.c(v));(0,K.useEffect)(()=>{if(!U||L||ee||!l?.uid||ae.current===l.uid)return;ae.current=l.uid;let e=fd(l.uid,m,h,_,v);F(e),n(e,{pressed:!1})},[U,L,ee,l?.uid]);let W=(0,K.useRef)(oe),G=R.clear;(0,K.useEffect)(()=>{let e=W.current&&!oe;W.current=oe,!oe&&(ae.current=``,F(null),te(!1),e&&G())},[oe,G]);let se={phone:e,address:t},ce=!p.loading&&p.on?.emailLink===!0,X=(e,t)=>{H.current=!0,t(),O[e]&&k(t=>{let{[e]:n,...r}=t;return r}),A&&j(``)},le=async()=>{if(M)return;let e=cd({name:y,email:S,phone:w,address:E},se);if(k(e),Object.keys(e).length){j(`There is something to check below.`);return}P(!0),j(``);let t=y.trim(),i=S.trim(),a=w.trim(),o=I.u(E);try{let e=l?.uid||``,s=!1,c=r.li.currentUser;if(e)c&&t&&t!==m&&await(0,J.updateProfile)(c,{displayName:t}).catch(()=>{});else{let n=await(0,J.createUserWithEmailAndPassword)(r.li,i,od());c=n.user,e=n.user.uid,s=!0,await(0,J.updateProfile)(n.user,{displayName:t}).catch(()=>{}),await n.user.getIdToken(!0).catch(()=>{})}let u={uid:e,displayName:t,...s?{email:i,createdAt:new Date().toISOString()}:{},...a?{phone:a}:{},...I.c(o)?I.r(id,o):{}};try{await(0,Y.setDoc)((0,Y.doc)(r.ui,`user_profiles`,e),u,{merge:!0})}catch(e){if(console.warn(`BuyerDetails: the details could not be written to the profile.`,e),!s)throw e}s&&c&&r.Tn(c);let d=fd(e,t,s?i:h||i,a,o,{registered:s});ae.current=e,F(d),te(!1),n(d,{pressed:!0})}catch(e){if(e?.code===`auth/email-already-in-use`){let e=fd(``,t,i,a,o,{guest:!0});F(e),te(!1),n(e,{pressed:!0})}else e?.code?j((await r.qt(e,`password`,`That did not work. Check your details and try again.`,{email:i})).text):j(r.ii(e,`Your details could not be saved. Please try again.`))}finally{P(!1)}};if(f||oe&&!d)return(0,q.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl ${c}`,"aria-hidden":!0});if(ee&&!L){let e=[ee.email,ee.phone].map(e=>String(e||``).trim()).filter(Boolean),t=I.a(ee.addressParts);return(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.3,ease:`easeOut`},className:`rounded-2xl border border-[var(--panel-border)] bg-foreground/[0.035] px-4 py-3.5 text-left ${c}`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`text-[12px] font-medium text-foreground/45 leading-tight select-none`,children:`Paying as`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>{H.current=!0,te(!0),i?.()},className:`text-[13px] font-semibold text-accent hover:underline cursor-pointer leading-tight shrink-0`,children:`Change`})]}),(0,q.jsx)(`p`,{className:`${ud} mt-1 text-[14.5px] font-semibold text-foreground`,children:ee.name}),(e.length>0||t.length>0)&&(0,q.jsxs)(`div`,{className:`mt-1.5 flex flex-col gap-0.5 text-[13.5px] text-foreground/65`,children:[e.map(e=>(0,q.jsx)(`span`,{className:ud,children:e},e)),t.length>0&&(0,q.jsx)(`span`,{className:`flex flex-col gap-0.5 ${e.length?`mt-2`:``}`,children:t.map((e,t)=>(0,q.jsx)(`span`,{className:ud,children:e},t))})]}),ee.guest&&ce&&(0,q.jsx)(`p`,{className:`mt-3 pt-3 border-t border-[var(--panel-border)]/70 text-[12.5px] text-foreground/50 leading-snug`,children:`We will email you a link to your order once you have paid.`})]})}return(0,q.jsxs)(`form`,{className:`flex flex-col gap-4 w-full ${c}`,onSubmit:e=>{e.preventDefault(),le()},noValidate:!0,children:[a&&(0,q.jsx)(`h3`,{className:`text-[15px] font-bold text-foreground tracking-tight`,children:a}),A&&(0,q.jsx)(x.t,{tone:`error`,children:A}),(0,q.jsx)(g.y,{label:`Full name`,"aria-label":`Full name`,name:`name`,autoComplete:`name`,placeholder:`John Doe`,value:y,error:O.name,disabled:M,onChange:e=>X(`name`,()=>b(e.target.value)),className:`max-sm:h-11`}),(0,q.jsx)(g.y,{label:`Email`,"aria-label":`Email`,name:`email`,type:`email`,autoComplete:`email`,placeholder:`name@example.com`,value:S,error:O.email,disabled:M||oe&&!!h,onChange:e=>X(`email`,()=>C(e.target.value)),className:`max-sm:h-11`}),e&&(0,q.jsxs)(`div`,{className:`flex flex-col w-full`,children:[(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),children:(0,q.jsx)(td,{field:{label:e===`optional`?`Phone (optional)`:`Phone`,required:e===!0},value:w,onChange:e=>X(`phone`,()=>T(e))})}),O.phone&&(0,q.jsx)(`p`,{className:`text-xs text-red-500 font-medium mt-1 ml-1`,children:O.phone})]}),t&&(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse rounded-xl`}),children:(0,q.jsx)(nd,{id:`buyer-address`,label:t===`optional`?`Address (optional)`:`Address`,required:t===!0,disabled:M,error:O.address,value:E,onChange:e=>X(`address`,()=>D(e))})}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(N.t,{type:`submit`,isLoading:M,disabled:M,className:`w-full ${s?`py-3.5 text-[15px]`:`sm:w-auto sm:self-start py-2.5 text-[14px]`} px-6 font-bold tracking-wide rounded-xl`,children:o}),!oe&&(0,q.jsx)(`p`,{className:`${ld} mb-0`,children:`This makes your account, so you can find your order again. We will email you a link to confirm your address.`})]})]})}function fd(e,t,n,r,i,{registered:a=!1,guest:o=!1}={}){let s={name:t,email:n,phone:r,address:I.c(i)?I.s(i):``};return{uid:e,...s,addressParts:I.c(i)?i:{...I.n},metadata:sd(s),registered:a,guest:o}}var pd=`flex items-baseline justify-between gap-4 text-[14px]`,md=`w-full py-3.5 text-[15px] font-bold tracking-wide`;function hd({formId:e,items:t,collection:n,extras:i,currency:a,phone:s,address:c,carry:l,productName:u,metadata:d,successPath:f,cancelPath:p,summary:m=!0,payLabel:h=`Pay`,className:g=``}){let{loading:_,configured:v}=r.zn(),y=r.Rr(),b=a||y||`usd`,{userRole:x}=r.It(),{pathname:S,search:C}=(0,X.useLocation)(),[w,T]=(0,K.useState)(null),[E,D]=(0,K.useState)(!1),[O,k]=(0,K.useState)(``),A=(0,K.useMemo)(()=>Mu(t),[t]),j=(0,K.useMemo)(()=>Nu(i),[i]),M=Fu(A,j);if(_)return null;if(!v)return o.wn(x)?(0,q.jsx)(`span`,{className:`text-[12.5px] font-medium text-foreground/50 leading-snug`,children:`Only admins see this: payments are not on yet, so the checkout is hidden. Connect Stripe and switch payments on at /payments and it appears here.`}):null;if(!A.length)return(0,q.jsx)(`p`,{className:`text-[14px] text-foreground/55 ${g}`,children:`There is nothing in your basket yet.`});let P=A.some(e=>!!e.picture),ee=`${h} ${Ou(M,b)}`,F=async t=>{if(E||!t||M<=0)return;let i=t;if(D(!0),k(``),!a&&!y&&await r.Ir()){k(r.Pr),D(!1);return}let o=``;try{o=await Ku(e,Ru(A,j,b,i,l))}catch(e){k(r.ii(e,`Your order could not be saved, so no payment was taken. Please try again.`)),D(!1);return}Wu(i.guest?i.email:``);let s=await r.In({amount:M,currency:b,productName:u||(A.length===1?A[0].name:`Order of ${A.reduce((e,t)=>e+t.quantity,0)} items`),lines:A.map(e=>({name:e.name,amount:e.price,quantity:e.quantity,record:e.id?String(e.id):void 0,variant:e.variantId==null?e.variant==null?void 0:String(e.variant):String(e.variantId),options:e.options,collection:e.collection?String(e.collection):n||void 0})),extras:j,metadata:{...d,...i.metadata,orderEntryId:o,items:Iu(A,b),total:String(M)},successPath:f||S,cancelPath:p||`${S}${C}`});s&&(k(s),D(!1))};return(0,q.jsxs)(`div`,{className:`flex flex-col gap-8 ${g}`,children:[m&&(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[A.map((e,t)=>P?(0,q.jsxs)(`div`,{className:`flex items-center gap-3 text-[14px]`,children:[(0,q.jsx)(`div`,{className:`relative w-12 h-12 shrink-0 rounded-xl overflow-hidden bg-foreground/5`,children:e.picture&&(0,q.jsx)(r.k,{src:e.picture,alt:``,fit:`cover`,className:`absolute inset-0`})}),(0,q.jsxs)(`span`,{className:`min-w-0 flex-1 flex flex-col leading-snug`,children:[(0,q.jsx)(`span`,{className:`truncate font-medium text-foreground/85`,children:e.name}),(0,q.jsx)(`span`,{className:`truncate text-[13px] text-foreground/50`,children:[e.options,e.quantity>1?`× ${e.quantity}`:``].filter(Boolean).join(` · `)})]}),(0,q.jsx)(`span`,{className:`shrink-0 tabular-nums text-foreground/80`,children:Ou(e.price*e.quantity,b)})]},`${e.id||e.name}-${t}`):(0,q.jsxs)(`div`,{className:pd,children:[(0,q.jsxs)(`span`,{className:`min-w-0 text-foreground/80`,children:[e.quantity,` × `,e.name,e.options&&(0,q.jsxs)(`span`,{className:`text-foreground/50`,children:[` — `,e.options]})]}),(0,q.jsx)(`span`,{className:`shrink-0 tabular-nums text-foreground/80`,children:Ou(e.price*e.quantity,b)})]},`${e.id||e.name}-${t}`)),j.length>0&&(0,q.jsxs)(`div`,{className:`${pd} text-foreground/55`,children:[(0,q.jsx)(`span`,{children:`Subtotal`}),(0,q.jsx)(`span`,{className:`tabular-nums`,children:Ou(Pu(A),b)})]}),j.map(e=>(0,q.jsxs)(`div`,{className:`${pd} text-foreground/55`,children:[(0,q.jsx)(`span`,{children:e.label}),(0,q.jsx)(`span`,{className:`tabular-nums`,children:Ou(e.amount,b)})]},e.label)),(0,q.jsxs)(`div`,{className:`${pd} pt-3 border-t border-[var(--panel-border)] font-semibold text-foreground`,children:[(0,q.jsx)(`span`,{children:`Total`}),(0,q.jsx)(`span`,{className:`tabular-nums`,children:Ou(M,b)})]})]}),(0,q.jsx)(dd,{phone:s,address:c,wide:!0,continueLabel:ee,onReady:(e,t)=>{T(e),t?.pressed&&F(e)},onEditing:()=>T(null)}),w&&(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(N.t,{onClick:()=>F(w),isLoading:E,disabled:E||M<=0,className:md,children:ee}),!O&&(0,q.jsx)(`span`,{className:`text-[12.5px] text-foreground/45 leading-snug text-center`,children:E?`Opening the secure payment page…`:`Secure payment. Your card is entered on the next page.`}),O&&(0,q.jsx)(`span`,{role:`alert`,className:`text-[13px] font-semibold text-foreground/80 leading-snug`,children:O})]})]})}var gd=new Map,_d=new Set,vd=new Map,yd=new Map;function bd({basket:e,orderPath:t,onPaid:n,title:i=`Thank you — your order is in`,thanks:a=`Your payment went through.`,orderLabel:o=`View your order`}){let[s,c]=(0,X.useSearchParams)(),l=(0,X.useNavigate)(),{user:u,loading:d}=r.It(),f=r.wn(),p=s.get(`session_id`)||``,[m,h]=(0,K.useState)(null),[_,v]=(0,K.useState)(null),[y,b]=(0,K.useState)(null),[x,S]=(0,K.useState)(!1),C=(0,K.useRef)(n);(0,K.useEffect)(()=>{C.current=n}),(0,K.useEffect)(()=>{if(!p.startsWith(`cs_`))return;let t=!0,n=gd.get(p)||r.jn(p);return gd.set(p,n),n.then(n=>{if(n.paid&&!_d.has(p)){_d.add(p),e&&g.h(e),g.h(g.p),Hu();let t=Gu();t&&vd.set(p,t);try{C.current?.(n)}catch{}}if(t){if(h(n),n.paid&&v({session:p,guest:vd.get(p)||``}),n.error){gd.delete(p);return}c(e=>{let t=new URLSearchParams(e);return t.delete(`session_id`),t},{replace:!0})}}),()=>{t=!1}},[p,e,c]);let w=_&&!d&&!u?_.guest:``,T=!f.loading&&f.on?.emailLink===!0,E=t||`/billing`;(0,K.useEffect)(()=>{if(!w||!T||!_)return;let e=!0,t=yd.get(_.session)||r.Gt(w,`/login?from=${encodeURIComponent(E)}`).then(()=>!0,()=>!1);return yd.set(_.session,t),t.then(t=>{e&&b(t)}),()=>{e=!1}},[w,T,_,E]);let D=x?`idle`:m?m.paid?`paid`:`unpaid`:p.startsWith(`cs_`)?`asking`:`idle`;if(D===`idle`)return null;let O=()=>S(!0);if(D===`asking`)return(0,q.jsx)(M.t,{open:!0,onClose:O,busy:!0,size:`sm`,children:(0,q.jsx)(P.t,{block:!0,label:`Confirming your payment…`})});if(D===`unpaid`)return(0,q.jsx)(M.t,{open:!0,onClose:O,size:`sm`,title:m?.error?`We could not check your payment just now`:`Your payment did not go through`,footer:(0,q.jsx)(N.t,{onClick:O,className:`w-full`,children:m?.error?`Close`:`Back to your basket`}),children:(0,q.jsx)(`p`,{className:`text-[14px] text-foreground/70 leading-relaxed`,children:m?.error?`${m.error} If you finished paying, your order is safe — please do not pay again.`:`Nothing was taken, and your basket is just as you left it.`})});let k=m?.amountTotal==null?``:Ou(m.amountTotal,m.currency||void 0),A=m?.metadata?.emailReceipt===`yes`&&m.customerEmail,j=!w||f.loading?``:T&&y===null?`sending`:T&&y?`sent`:`sign-in`,ee=`/login?email=${encodeURIComponent(w)}&from=${encodeURIComponent(E)}${j===`sent`?`&sent=1`:``}`,F=u?E:w?ee:t;return(0,q.jsx)(M.t,{open:!0,onClose:O,size:`sm`,title:i,footer:F?(0,q.jsx)(N.t,{onClick:()=>{O(),l(F)},className:`w-full`,children:o}):(0,q.jsx)(N.t,{onClick:O,className:`w-full`,children:`Done`}),children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 text-[14px] text-foreground/70 leading-relaxed`,children:[(0,q.jsxs)(`p`,{children:[a,k?` ${k} paid.`:``]}),A&&(0,q.jsxs)(`p`,{children:[`A receipt is on its way to `,m?.customerEmail,`.`]}),j===`sending`&&(0,q.jsxs)(`p`,{children:[`Emailing a sign-in link to `,w,`…`]}),j===`sent`&&(0,q.jsxs)(`p`,{children:[`We have emailed a sign-in link to `,w,` — open it, or sign in here, to see your order.`]}),j===`sign-in`&&(0,q.jsxs)(`p`,{children:[T?`The sign-in link could not be emailed just now. `:``,`Sign in with `,w,` to see your order.`]})]})})}var xd=e=>`${String(e.id||e.name||``).trim()}|${String(e.options||``).trim()}`,Sd=e=>{let t=Math.floor(Number(e.max));return Number.isFinite(t)&&t>0?t:1/0};function Cd(e){return Mu(e).map(e=>{let t=Sd(e);return e.quantity>t?{...e,quantity:t}:e})}function wd(e,t){let[n]=Cd([{...t,quantity:t.quantity??1}]);if(!n)return e;let r=xd(n),i=e.findIndex(e=>xd(e)===r);if(i<0)return[...e,n];let a={...e[i],...n,quantity:e[i].quantity+n.quantity};return Cd(e.map((e,t)=>t===i?a:e))}function Td(e,t,n){let r=Math.floor(Number(n));return!Number.isFinite(r)||r<1?e.filter(e=>xd(e)!==t):Cd(e.map(e=>xd(e)===t?{...e,quantity:r}:e))}var Ed=new Map,Dd={lines:[],open:!1};function Od(e){try{return Cd(JSON.parse(window.localStorage.getItem(g.g(e))||`[]`))}catch{return[]}}function kd(e){let t=Ed.get(e);if(t)return t;let n={lines:Od(e),open:!1},r=new Set,i=e=>{n=e,r.forEach(e=>e())},a=t=>{t.detail===e&&i({lines:[],open:!1})},o=t=>{t.key===g.g(e)&&i({...n,lines:Od(e)})},s={get:()=>n,subscribe(e){return r.size||(window.addEventListener(g.m,a),window.addEventListener(`storage`,o)),r.add(e),()=>{r.delete(e),!r.size&&(window.removeEventListener(g.m,a),window.removeEventListener(`storage`,o))}},setLines(t){let r=t(n.lines);if(r!==n.lines){try{r.length?window.localStorage.setItem(g.g(e),JSON.stringify(r)):window.localStorage.removeItem(g.g(e))}catch{}i({...n,lines:r})}},setOpen(e){e!==n.open&&i({...n,open:e})},added:null};return Ed.set(e,s),s}function Ad(e,t){let n=kd(e);return n.added=t,()=>{n.added===t&&(n.added=null)}}function jd(e=`basket`){let t=kd(e),n=(0,K.useSyncExternalStore)(t.subscribe,t.get,()=>Dd);return(0,K.useMemo)(()=>{let r=e=>typeof e==`string`?e:xd(e);return{name:e,lines:n.lines,count:n.lines.reduce((e,t)=>e+t.quantity,0),subtotal:Pu(n.lines),open:n.open,add(e,n){t.setLines(t=>wd(t,e)),n?.quiet||t.setOpen(!0);try{t.added?.(e)}catch{}},setQuantity:(e,n)=>t.setLines(t=>Td(t,r(e),n)),remove:e=>t.setLines(t=>Td(t,r(e),0)),clear:()=>t.setLines(e=>e.length?[]:e),show:()=>t.setOpen(!0),hide:()=>t.setOpen(!1)}},[e,n,t])}var Md=`bag`,Nd=`flex items-baseline justify-between gap-4 text-[14px]`,Pd=`w-10 h-10 inline-flex items-center justify-center rounded-full text-foreground/70 hover:text-foreground hover:bg-foreground/5 transition-colors cursor-pointer disabled:opacity-25 disabled:cursor-default disabled:hover:bg-transparent`;function Fd({subtotal:e,extras:t,total:n,currency:r,count:i}){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(t.length>0||i!=null)&&(0,q.jsxs)(`div`,{className:`${Nd} text-foreground/55`,children:[(0,q.jsx)(`span`,{children:i==null?`Subtotal`:`${i} ${i===1?`item`:`items`}`}),(0,q.jsx)(`span`,{className:`tabular-nums`,children:Ou(e,r)})]}),t.map(e=>(0,q.jsxs)(`div`,{className:`${Nd} text-foreground/55`,children:[(0,q.jsx)(`span`,{children:e.label}),(0,q.jsx)(`span`,{className:`tabular-nums`,children:Ou(e.amount,r)})]},e.label)),(0,q.jsxs)(`div`,{className:`${Nd} font-semibold text-foreground`,children:[(0,q.jsx)(`span`,{children:t.length?`Total`:`Subtotal`}),(0,q.jsx)(`span`,{className:`tabular-nums text-[16px]`,children:Ou(n,r)})]})]})}function Id({name:e=`basket`,formId:t,collection:n,extras:i,currency:a,phone:s,address:c,carry:u,productName:d,metadata:f,successPath:p,payLabel:m,send:h,title:_=h?`Your list`:`Your bag`,checkoutTitle:v=h?`Your details`:`Checkout`,checkoutLabel:y=h?`Send my list`:`Checkout`,emptyWords:b=h?`Your list is empty`:`Your bag is empty`,note:x,onOpenLine:S,tally:C,sentWords:w=`Sent — thank you`,onSent:E}){let D=jd(e),k=r.Rr(),A=a||k||`usd`;(0,K.useEffect)(()=>{if(C)return Ad(e,e=>{e.id&&Eu(C,String(e.id),`added`)})},[e,C]);let{loading:j,configured:P}=r.zn(),{userRole:ee}=r.It(),{pathname:F,search:I}=(0,X.useLocation)(),[L,te]=(0,X.useSearchParams)(),[R,z]=(0,K.useState)(`bag`),[B,ne]=(0,K.useState)(!1),re=L.get(Md);(0,K.useEffect)(()=>{re&&(D.lines.length&&(z(re===`checkout`?`checkout`:`bag`),D.show()),te(e=>{let t=new URLSearchParams(e);return t.delete(Md),t},{replace:!0}))},[re]),(0,K.useEffect)(()=>{if(D.open)return;let e=window.setTimeout(()=>{z(`bag`),ne(!1)},300);return()=>window.clearTimeout(e)},[D.open]);let V=D.lines,H=V.length?R:`bag`,ie=Nu(i),ae=Fu(V,ie),oe=V.some(e=>!!e.picture),U=!h&&!j&&!P&&!o.wn(ee),W=!h||V.some(e=>Number(e.price)>0);(0,K.useEffect)(()=>{V.length&&ne(!1)},[V.length]);let G=h?{...u||{},items:Mu(V),...W?{extras:ie,subtotal:D.subtotal,total:ae,currency:A.toLowerCase()}:{}}:void 0,se=(()=>{let e=new URLSearchParams(I);return e.set(Md,`checkout`),`${F}?${e.toString()}`})(),J=S?e=>{D.hide(),S(e)}:null,Y=H===`bag`&&V.length>0?(0,q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[W&&(0,q.jsx)(Fd,{subtotal:D.subtotal,extras:ie,total:ae,currency:A}),x&&(0,q.jsx)(`p`,{className:`text-[13px] text-foreground/50 leading-snug`,children:x}),U?(0,q.jsx)(`p`,{className:`text-[13px] text-foreground/55 leading-snug text-center`,children:`Ordering is not open yet.`}):h?(0,q.jsx)(N.t,{onClick:()=>z(`checkout`),className:`w-full py-3.5 text-[15px] font-bold tracking-wide`,children:y}):(0,q.jsx)(N.t,{onClick:()=>z(`checkout`),disabled:ae<=0,className:`w-full py-3.5 text-[15px] font-bold tracking-wide`,children:`${y} · ${Ou(ae,A)}`})]}):void 0;return(0,q.jsx)(M.t,{open:D.open,onClose:D.hide,side:`right`,title:H===`checkout`?v:_,sub:H===`checkout`?(0,q.jsxs)(`button`,{type:`button`,onClick:()=>z(`bag`),className:`inline-flex items-center gap-1.5 -ml-1 px-1 py-1 text-[13px] font-semibold text-foreground/55 hover:text-foreground transition-colors cursor-pointer`,children:[(0,q.jsx)(l.t,{className:`w-3.5 h-3.5`}),` `,h?`Back to your list`:`Back to your bag`]}):void 0,footer:Y,children:B&&!V.length?(0,q.jsxs)(`div`,{role:`status`,className:`flex flex-col items-center text-center gap-3 py-16`,children:[(0,q.jsx)(r.jt,{className:`w-9 h-9 text-accent`,strokeWidth:1.75}),(0,q.jsx)(`p`,{className:`text-[15px] font-semibold text-foreground/80`,children:w}),(0,q.jsx)(`p`,{className:`text-[13px] text-foreground/50 leading-snug`,children:`We have your list and will be in touch.`}),(0,q.jsx)(N.t,{variant:`secondary`,onClick:D.hide,className:`mt-3`,children:`Keep looking`})]}):V.length?H===`checkout`&&h?(0,q.jsxs)(`div`,{className:`flex flex-col gap-6 pt-2`,children:[W?(0,q.jsx)(Fd,{subtotal:D.subtotal,extras:ie,total:ae,currency:A,count:D.count}):(0,q.jsx)(`p`,{className:`${Nd} text-foreground/55`,children:`${D.count} ${D.count===1?`item`:`items`} on your list`}),(0,q.jsx)(g.t,{formId:t,isInline:!0,bare:!0,extra:G,onSubmitted:(e,t)=>{ne(!0),D.clear(),E?.(e,t)}})]}):H===`checkout`?(0,q.jsxs)(`div`,{className:`flex flex-col gap-7 pt-2`,children:[(0,q.jsx)(Fd,{subtotal:D.subtotal,extras:ie,total:ae,currency:A,count:D.count}),(0,q.jsx)(hd,{formId:t,collection:n,items:V,extras:i,currency:a,phone:s,address:c,carry:u,productName:d,metadata:f,successPath:p,cancelPath:se,payLabel:m,summary:!1})]}):(0,q.jsx)(`ul`,{"aria-label":`In your bag`,className:`flex flex-col`,children:(0,q.jsx)(r.it,{initial:!1,children:V.map(e=>{let t=xd(e),n=Number(e.max)>0?Math.floor(Number(e.max)):1/0,i=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`text-[14.5px] font-semibold text-foreground/90 leading-snug line-clamp-2`,children:e.name}),e.options&&(0,q.jsx)(`span`,{className:`text-[13px] text-foreground/50 leading-snug truncate`,children:e.options})]});return(0,q.jsx)(r.rt.li,{layout:!0,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0,height:0},transition:{duration:.2},className:`overflow-hidden border-b border-[var(--panel-border)] last:border-b-0`,children:(0,q.jsxs)(`div`,{className:`flex gap-4 py-4`,children:[oe&&(0,q.jsxs)(`div`,{className:`relative w-[72px] h-[72px] shrink-0 rounded-2xl overflow-hidden bg-foreground/5`,children:[e.picture&&(0,q.jsx)(r.k,{src:e.picture,alt:``,fit:`cover`,className:`absolute inset-0`}),J&&(0,q.jsx)(`button`,{type:`button`,"aria-label":`Open ${e.name}`,onClick:()=>J(e),className:`absolute inset-0 cursor-pointer`})]}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1 flex flex-col gap-1`,children:[(0,q.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[J?(0,q.jsx)(`button`,{type:`button`,onClick:()=>J(e),className:`min-w-0 flex flex-col gap-0.5 text-left cursor-pointer`,children:i}):(0,q.jsx)(`span`,{className:`min-w-0 flex flex-col gap-0.5`,children:i}),W&&(0,q.jsxs)(`span`,{className:`shrink-0 flex flex-col items-end leading-snug`,children:[(0,q.jsx)(`span`,{className:`text-[14.5px] tabular-nums text-foreground/85`,children:Ou(e.price*e.quantity,A)}),e.quantity>1&&(0,q.jsxs)(`span`,{className:`text-[12px] tabular-nums text-foreground/45`,children:[Ou(e.price,A),` each`]})]})]}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 -ml-2.5 mt-0.5`,children:[(0,q.jsxs)(`div`,{className:`inline-flex items-center`,children:[(0,q.jsx)(`button`,{type:`button`,"aria-label":`One less ${e.name}`,disabled:e.quantity<=1,onClick:()=>D.setQuantity(t,e.quantity-1),className:Pd,children:(0,q.jsx)(ct,{className:`w-4 h-4`})}),(0,q.jsx)(`span`,{"aria-live":`polite`,"aria-label":`${e.quantity} of ${e.name}`,className:`w-7 text-center text-[14.5px] font-semibold tabular-nums text-foreground/85`,children:e.quantity}),(0,q.jsx)(`button`,{type:`button`,"aria-label":`One more ${e.name}`,disabled:e.quantity>=n,onClick:()=>D.setQuantity(t,e.quantity+1),className:Pd,children:(0,q.jsx)(T.t,{className:`w-4 h-4`})})]}),(0,q.jsx)(`button`,{type:`button`,"aria-label":`Remove ${e.name}`,onClick:()=>D.remove(t),className:`px-2 py-2 text-[13px] font-semibold text-foreground/45 hover:text-foreground transition-colors cursor-pointer`,children:`Remove`})]}),e.quantity>=n&&(0,q.jsx)(`span`,{className:`text-[12.5px] text-foreground/50 leading-snug`,children:`That is all there is of it.`})]})]})},t)})})}):(0,q.jsxs)(`div`,{className:`flex flex-col items-center text-center gap-3 py-16`,children:[(0,q.jsx)(O.i,{className:`w-9 h-9 text-foreground/20`,strokeWidth:1.5}),(0,q.jsx)(`p`,{className:`text-[15px] font-semibold text-foreground/80`,children:b}),(0,q.jsx)(`p`,{className:`text-[13px] text-foreground/50 leading-snug`,children:`What you add waits here until you are ready.`}),(0,q.jsx)(N.t,{variant:`secondary`,onClick:D.hide,className:`mt-3`,children:`Keep looking`})]})})}Id.displayName=`Basket`;var Ld=e=>(0,K.isValidElement)(e)&&(e.type===`svg`||/^(?:Shopping|Lucide)?(?:Bag|Basket|Cart)\w*$/.test(String(e.type.displayName||``)));function Rd({name:e=`basket`,label:t=`Bag`,className:n,children:i}){let a=jd(e),o=a.count,s=K.Children.toArray(i).filter(e=>!Ld(e));return(0,q.jsxs)(`button`,{type:`button`,onClick:a.show,"aria-label":`${t}, ${o} ${o===1?`item`:`items`}`,className:r.et(`relative inline-flex items-center justify-center gap-2 h-11 min-w-11 px-2.5 rounded-full text-foreground/75 hover:text-foreground hover:bg-foreground/5 transition-colors cursor-pointer`,n),children:[(0,q.jsx)(O.i,{className:`w-[22px] h-[22px]`,strokeWidth:1.75}),s,(0,q.jsx)(r.it,{children:o>0&&(0,q.jsx)(r.rt.span,{initial:{scale:.6,opacity:0},animate:{scale:1,opacity:1},exit:{scale:.6,opacity:0},transition:{duration:.18},className:`absolute top-0.5 right-0 min-w-[18px] h-[18px] px-1 inline-flex items-center justify-center rounded-full bg-accent text-[var(--button-fg,#fff)] text-[11px] font-bold tabular-nums leading-none`,children:(0,q.jsx)(r.rt.span,{initial:{scale:1.5},animate:{scale:1},transition:{duration:.2},children:o>99?`99+`:o},o)},`count`)})]})}Rd.displayName=`BasketButton`;var zd=`w-full py-3.5 text-[15px] font-bold tracking-wide`;function Bd({children:e,price:t,about:n,phone:i,address:a,disabled:s=!1,variant:c=`primary`,className:l,...u}){let{loading:d,configured:f}=r.zn(),p=r.Rr(),{userRole:m}=r.It(),{pathname:h,search:g}=(0,X.useLocation)(),[_,v]=(0,K.useState)(!1),[y,b]=(0,K.useState)(null),[x,S]=(0,K.useState)(!1),[C,w]=(0,K.useState)(``);if(d)return null;if(!f)return o.wn(m)?(0,q.jsx)(`span`,{className:`text-[12.5px] font-medium text-foreground/50 leading-snug`,children:`Only admins see this: payments are not on yet, so this button is hidden. Connect Stripe and switch payments on at /payments and it appears here.`}):null;let T=u.mode===`subscription`,E=u.amount==null?u.currency:u.currency||p||`usd`,D=t?.trim()||(u.amount==null?``:Ou(u.amount*(u.quantity||1),E)),O=u.productName?.trim()||(T?`Your plan`:`Your order`),k=[T?`Subscribe`:`Pay`,D].filter(Boolean).join(` · `),A=async e=>{if(x||!e)return;if(S(!0),w(``),u.amount!=null&&!u.currency&&!p&&await r.Ir()){w(r.Pr),S(!1);return}Wu(e.guest?e.email:``);let t=await r.In({...u,...E?{currency:E}:{},metadata:{page:h,...u.metadata,...e.metadata},successPath:u.successPath||h,cancelPath:u.cancelPath||`${h}${g}`});t&&(w(t),S(!1))};return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(N.t,{variant:c,className:l,disabled:s,onClick:()=>{w(``),v(!0)},children:e??(T?`Subscribe`:`Buy`)}),(0,q.jsx)(M.t,{open:_,onClose:()=>v(!1),busy:x,size:`sm`,title:O,sub:D||void 0,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-7 pt-2`,children:[n&&(0,q.jsx)(`p`,{className:`text-[14px] text-foreground/65 leading-relaxed`,children:n}),(0,q.jsx)(dd,{phone:i,address:a,wide:!0,continueLabel:k,onReady:(e,t)=>{b(e),t?.pressed&&A(e)},onEditing:()=>b(null)}),y&&(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(N.t,{onClick:()=>A(y),isLoading:x,disabled:x,className:zd,children:k}),!C&&(0,q.jsx)(`span`,{className:`text-[12.5px] text-foreground/45 leading-snug text-center`,children:x?`Opening the secure payment page…`:`Secure payment. Your card is entered on the next page.`})]}),C&&(0,q.jsx)(`span`,{role:`alert`,className:`text-[13px] font-semibold text-foreground/80 leading-snug`,children:C})]})})]})}Bd.displayName=`BuyButton`;var Vd=e=>/[^\d.,\s]/.test(e);function Hd(e,t=r.Lr()){let n=String(e||``).trim();if(!n)return``;if(Vd(n))return n;let i=r.br(n);return i==null?n:Ou(i,t)}function Ud(e,t,n,i){if(!t.on)return null;let a=r.pr(t,n).trim();if(!/^price_[A-Za-z0-9]+$/.test(a))return null;let o=Hd(t.amount,i);return{rhythm:e,priceId:a,amount:r.br(t.amount),figure:o,words:`${o} per ${e===`monthly`?`month`:`year`}`.trim()}}var Wd=e=>{let t=e.split(/\r?\n/).map(e=>e.replace(/^\s*(?:[-–•*·✓]|\d+[.)])\s*/,``).trim()).filter(Boolean);return t.length>1?t:[]};function Gd(e,t,n=[],i=r.Lr()){if(!e||e.kind!==`subscription`)return[];let a=new Set(n.filter(e=>e.active&&e.priceId).map(e=>e.priceId)),o=[];for(let n of e.plans){let e=Ud(`monthly`,n.monthly,t,i),r=Ud(`yearly`,n.yearly,t,i);if(!e&&!r)continue;let s=n.description.trim(),c=Wd(s);o.push({name:n.name.trim()||`Plan`,description:c.length?``:s,includes:c,roleId:n.roleId||``,monthly:e,yearly:r,mine:e&&a.has(e.priceId)?`monthly`:r&&a.has(r.priceId)?`yearly`:null})}return o}function Kd(e){let t=e.monthly?.amount,n=e.yearly?.amount;return!t||!n||n>=t*12?0:Math.round((1-n/(t*12))*100)}function qd(e,t){let{loading:n,mode:i}=r.zn();r.Rr();let a=t||r.Lr(),o=r.Rn(),[s,c]=(0,K.useState)(null);(0,K.useEffect)(()=>{if(e)return(0,Y.onSnapshot)((0,Y.doc)(r.ui,r.Qn,e),t=>c({id:e,product:t.exists()?r.Dr(t.id,t.data()):null}),()=>c({id:e,product:null}))},[e]);let l=s?.id===e?s.product:null,u=!!e&&(n||s?.id!==e||o.loading);return(0,K.useMemo)(()=>{let e=u?[]:Gd(l,i===`live`,o.subscriptions,a),t={};return l?.emailReceipt&&(t.emailReceipt=`yes`),l?.notifyOwner&&(t.notifyOwner=`yes`),{loading:u,name:l?.name.trim()||``,description:l?.description.trim()||``,plans:e,subscribed:e.some(e=>e.mine),metadata:t,unsure:!!o.error}},[u,l,i,o.subscriptions,o.error,a])}var Jd=`text-[12.5px] font-medium text-foreground/50 leading-snug`;function Yd({product:e,featured:t,featuredLabel:n=`Recommended`,currency:i,phone:a,address:s,successPath:c,className:l}){let{loading:u,configured:d}=r.zn(),{userRole:f}=r.It(),p=qd(e,i),[m,h]=(0,K.useState)(null);if(p.loading||u)return(0,q.jsx)(`div`,{"aria-hidden":!0,className:r.et(`grid gap-5 sm:grid-cols-2 lg:grid-cols-3`,l),children:[0,1,2].map(e=>(0,q.jsx)(`div`,{className:`h-72 glass-panel rounded-3xl animate-pulse`},e))});let g=o.wn(f),{plans:_}=p;if(!_.length)return g?(0,q.jsx)(`span`,{className:Jd,children:`Only admins see this: this subscription has no finished plan yet, so there is nothing to show here. Finish it at /payments and it appears.`}):null;let v=_.some(e=>e.monthly&&e.yearly),y=_.find(e=>e.mine)?.mine||null,b=m||y||`monthly`,x=Math.max(0,..._.map(Kd)),S=t?.trim().toLowerCase()||``;return(0,q.jsxs)(`div`,{className:r.et(`flex flex-col items-center gap-10 w-full`,l),children:[!d&&g&&(0,q.jsx)(`span`,{className:Jd,children:`Only admins see this: payments are not on yet, so the buttons are hidden. Connect Stripe and switch payments on at /payments and they appear here.`}),v&&(0,q.jsx)(`div`,{role:`group`,"aria-label":`How often you pay`,className:`inline-flex items-center p-1 rounded-full glass-panel`,children:[`monthly`,`yearly`].map(e=>(0,q.jsx)(`button`,{type:`button`,"aria-pressed":b===e,onClick:()=>h(e),className:r.et(`h-10 px-5 rounded-full text-[14px] font-semibold transition-colors cursor-pointer`,b===e?`bg-accent text-[var(--button-fg,#fff)] shadow-sm`:`text-foreground/55 hover:text-foreground`),children:e===`monthly`?`Monthly`:x?`Yearly · save ${x}%`:`Yearly`},e))}),(0,q.jsx)(`div`,{className:r.et(`grid gap-5 w-full`,_.length===1?`max-w-md`:_.length===2?`sm:grid-cols-2 max-w-3xl`:`sm:grid-cols-2 lg:grid-cols-3`),children:_.map((e,t)=>{let i=e[b]||e.monthly||e.yearly;if(!i)return null;let o=!!S&&e.name.toLowerCase()===S,l=i.rhythm===`yearly`?Kd(e):0;return(0,q.jsxs)(r.rt.div,{initial:{opacity:0,y:14},animate:{opacity:1,y:0},transition:{duration:.35,delay:t*.06,ease:[.16,1,.3,1]},className:r.et(`relative flex flex-col gap-7 p-7 sm:p-8 rounded-3xl glass-panel text-left`,o&&`ring-1 ring-accent/70`),children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 min-h-6`,children:[(0,q.jsx)(`h3`,{className:`text-[15px] font-bold tracking-tight text-foreground/75`,children:e.name}),e.mine?(0,q.jsx)(`span`,{className:`px-2.5 py-1 rounded-full bg-foreground/10 text-[11.5px] font-bold text-foreground/70`,children:`Your plan`}):o?(0,q.jsx)(`span`,{className:`px-2.5 py-1 rounded-full bg-accent/15 text-[11.5px] font-bold text-accent`,children:n}):null]}),(0,q.jsxs)(`p`,{className:`flex items-baseline gap-2 flex-wrap`,children:[(0,q.jsx)(`span`,{className:`text-4xl font-bold tracking-tight text-foreground tabular-nums`,children:i.figure}),(0,q.jsxs)(`span`,{className:`text-[14px] font-medium text-foreground/50`,children:[`per `,i.rhythm===`monthly`?`month`:`year`]})]}),l>0&&(0,q.jsxs)(`p`,{className:`text-[13px] text-foreground/55 -mt-2`,children:[l,`% less than paying monthly.`]}),e.description&&(0,q.jsx)(`p`,{className:`text-[14px] text-foreground/65 leading-relaxed`,children:e.description})]}),e.includes.length>0&&(0,q.jsx)(`ul`,{className:`flex flex-col gap-3`,children:e.includes.map(e=>(0,q.jsxs)(`li`,{className:`flex items-start gap-3 text-[14px] text-foreground/75 leading-snug`,children:[(0,q.jsx)(r.jt,{className:`w-4 h-4 mt-0.5 shrink-0 text-accent`,strokeWidth:2.5}),(0,q.jsx)(`span`,{children:e})]},e))}),(0,q.jsx)(`div`,{className:`mt-auto flex flex-col`,children:p.subscribed?(0,q.jsx)(W.t,{variant:e.mine?`secondary`:`primary`,className:`w-full py-3 text-[14.5px] font-bold`,children:e.mine?`Manage your plan`:`Switch to ${e.name}`}):d&&p.unsure?(0,q.jsx)(`span`,{className:Jd,children:`Your current plan could not be checked just now. Try again in a moment.`}):d?(0,q.jsx)(Bd,{priceId:i.priceId,mode:`subscription`,productName:p.name?`${p.name} — ${e.name}`:e.name,price:i.words,about:e.description||void 0,phone:a,address:s,successPath:c,metadata:{...p.metadata,plan:e.name,billed:i.rhythm},variant:o||_.length===1?`primary`:`secondary`,className:`w-full py-3 text-[14.5px] font-bold`,children:`Choose ${e.name}`}):null})]},e.name)})})]})}Yd.displayName=`Plans`;var Xd=Object.assign({}),Zd={};for(let e in Xd){let t=Xd[e];if(!t?.default)continue;let n=e.replace(`./`,``).replace(`.tsx`,``);if(n===`registry`)continue;let r=n.replace(/Content$/,``).replace(/([a-z0-9])([A-Z])/g,`$1_$2`).toLowerCase();Zd[r]=t.default,Zd[r.replace(/_/g,``)]=t.default}if(typeof window<`u`){let e=window.__FBOS_MICROCOMPONENTS__||{};window.__FBOS_MICROCOMPONENTS__={...Zd,...e}}var Qd=(e,t)=>{let n=e.toLowerCase().replace(/[^a-z0-9]+/g,`_`),r=n.replace(/_/g,``);if(Zd[n]=t,Zd[r]=t,typeof window<`u`){let e=window.__FBOS_MICROCOMPONENTS__||{};window.__FBOS_MICROCOMPONENTS__={...e,[n]:t,[r]:t}}},$d=({title:e,className:t,children:n,...i})=>(0,q.jsxs)(`div`,{className:r.et(`border border-[var(--panel-border)] bg-[var(--panel-bg)] px-5 py-4`,t),style:{borderRadius:`var(--card-radius, 1rem)`},...i,children:[e?(0,q.jsx)(`p`,{className:`text-[12px] font-extrabold tracking-tight text-gradient mb-1.5`,children:e}):null,n]});$d.displayName=`Card`;var ef=({sub:e,className:t,children:n,...i})=>(0,q.jsxs)(`div`,{className:r.et(`mb-4`,t),children:[(0,q.jsx)(`h2`,{className:`text-xl md:text-2xl font-bold tracking-tight text-foreground`,...i,children:n}),e?(0,q.jsx)(`p`,{className:`text-[13px] text-foreground/60 font-medium leading-relaxed mt-1`,children:e}):null]});ef.displayName=`SectionHeading`;var tf=`button, a, input, textarea, select, label, [role="button"], [role="listbox"], [role="option"]`;function nf({stages:e,items:t,stageOf:n,keyOf:i,card:a,onMove:o,onOpen:s,canMove:c,loading:l=!1,empty:u=`Nothing here yet`,className:d}){let f=(0,K.useRef)(null),p=e=>i?i(e):String(e.id??``),m=e[0]?.id??``,h=t=>e.some(e=>e.id===t)?t:m,[g,_]=(0,K.useState)({}),[v,y]=(0,K.useState)(null),b=(0,K.useRef)(null),x=e=>{b.current=e,y(e)},S=(0,K.useMemo)(()=>new Map(t.map(e=>[p(e),e])),[t]);(0,K.useEffect)(()=>{let e=Object.entries(g).filter(([e,t])=>{let r=S.get(e);return!r||t.settled&&h(n(r))===t.stage});e.length&&_(t=>{let n={...t};for(let[t]of e)delete n[t];return n})},[g,S]);let C=(0,K.useMemo)(()=>{let r=new Map(e.map(e=>[e.id,[]]));for(let e of t)g[p(e)]||r.get(h(n(e)))?.push(e);for(let[e,t]of Object.entries(g)){let n=S.get(e),i=r.get(t.stage);n&&i&&i.splice(Math.min(t.index,i.length),0,n)}return r},[t,g,e]),w=(e,t,i)=>{let a=p(e),s=h(n(e));if(t===s&&i===(C.get(s)||[]).findIndex(e=>p(e)===a)||c&&t!==s&&!c(e,t))return;_(e=>({...e,[a]:{stage:t,index:i,settled:!1}}));let l=()=>_(e=>e[a]?{...e,[a]:{...e[a],settled:!0}}:e),u=()=>_(e=>{let t={...e};return delete t[a],t}),d;try{d=o(e,t,i)}catch(e){u(),O.n(r.ii(e,`That could not be moved.`));return}d&&typeof d.then==`function`?d.then(()=>{l(),setTimeout(u,1500)},e=>{u(),O.n(r.ii(e,`That could not be moved.`))}):(l(),setTimeout(u,5e3))},{dragging:T,bind:E}=ko({disabled:l,scroller:()=>f.current,onMove:({x:e,y:t},r)=>{let i=f.current,a=S.get(r);if(!i||!a)return;let o=Array.from(i.querySelectorAll(`[data-pipeline-stage]`)),s=null,l=1/0;for(let t of o){let n=t.getBoundingClientRect(),r=e<n.left?n.left-e:e>n.right?e-n.right:0;r<l&&(l=r,s=t)}let u=s?.dataset.pipelineStage;if(!s||!u){x(null);return}if(c&&u!==h(n(a))&&!c(a,u)){x(null);return}let d=Array.from(s.querySelectorAll(`[data-drag-key]`)).filter(e=>e.dataset.dragKey!==r).filter(e=>{let n=e.getBoundingClientRect();return t>n.top+n.height/2}).length,p=b.current;(!p||p.stage!==u||p.index!==d)&&x({stage:u,index:d})},onDrop:e=>{let t=S.get(e),n=b.current;x(null),t&&n&&w(t,n.stage,n.index)},onCancel:()=>x(null)}),D=T?S.get(T.key):void 0,k=`rounded-xl border border-[var(--panel-border)] bg-[var(--panel-bg)] p-3 text-left`,A=e=>t=>{let n=t.target.closest?.(tf);n&&n!==t.currentTarget||s?.(e)},j=e=>t=>{t.target===t.currentTarget&&(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),s?.(e))};return(0,q.jsxs)(`div`,{ref:f,className:r.et(`flex w-full items-start gap-3 overflow-x-auto pb-3 md:gap-4`,T?`snap-none`:`snap-x snap-mandatory sm:snap-none`,d),children:[e.map(t=>{let i=C.get(t.id)||[],o=T?i.findIndex(e=>p(e)===T.key):-1,d=!!T&&v?.stage===t.id,f=d&&o>-1&&v.index===o,m=d&&T&&!f?(0,q.jsx)(`div`,{"aria-hidden":`true`,className:`rounded-xl border-2 border-dashed border-accent/50 bg-accent/5`,style:{height:T.height}},`__slot`):null,g=i.map(t=>{let i=p(t),o=h(n(t)),l=e.filter(e=>e.id===o||!c||c(t,e.id));return(0,q.jsxs)(`div`,{...E(i),...s?{role:`button`,tabIndex:0,"data-drag-ok":``,onClick:A(t),onKeyDown:j(t)}:{"data-drag-ok":``},className:r.et(k,`group relative cursor-grab transition-[border-color,box-shadow,opacity] duration-200 hover:border-accent/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,T?.key===i&&`opacity-30`),children:[(0,q.jsx)(`div`,{className:`min-w-0 pr-7`,children:a(t)}),(0,q.jsx)(`span`,{...Ao,"aria-hidden":`true`,className:`absolute right-1 top-1 flex h-9 w-7 items-center justify-center text-foreground/30 transition-colors group-hover:text-foreground/60`,children:(0,q.jsx)(et,{className:`h-4 w-4`})}),l.length>1&&(0,q.jsx)(`div`,{className:`-mb-1 -ml-2 mt-1.5 flex items-center`,"data-no-drag":``,children:(0,q.jsx)(r.Q,{compact:!0,portal:!0,direction:`auto`,variant:`ghost`,ariaLabel:`Move to another stage`,value:o,options:l.map(e=>({value:e.id,label:e.label})),onChange:e=>{e!==o&&w(t,e,0)}})})]},i)});if(m){let e=v.index;g.splice(Math.min(o>-1&&e>o?e+1:e,g.length),0,m)}return(0,q.jsxs)(`section`,{"data-pipeline-stage":t.id,"aria-label":t.label,className:r.et(`flex w-[84%] shrink-0 snap-start flex-col rounded-2xl border p-3 transition-colors duration-200 sm:w-auto sm:min-w-[15rem] sm:flex-1`,d?`border-accent/60 bg-accent/5`:`border-[var(--panel-border)] bg-background/40`),children:[(0,q.jsxs)(`header`,{className:`mb-3 flex items-center justify-between gap-2 px-1`,children:[(0,q.jsx)(`h3`,{className:`truncate text-sm font-bold text-foreground`,children:t.label}),!l&&(0,q.jsx)(`span`,{className:`flex h-6 min-w-6 items-center justify-center rounded-full border border-[var(--panel-border)] px-1.5 text-xs font-bold text-foreground/70`,children:i.length})]}),t.hint&&(0,q.jsx)(`p`,{className:`-mt-2 mb-3 px-1 text-xs leading-snug text-foreground/50`,children:t.hint}),(0,q.jsx)(`div`,{className:`flex min-h-16 flex-col gap-2.5`,children:l?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(P.n,{className:`h-24 rounded-xl`}),(0,q.jsx)(P.n,{className:`h-24 rounded-xl`})]}):g.length?g:(0,q.jsx)(`p`,{className:`rounded-xl border border-dashed border-[var(--panel-border)] px-3 py-5 text-center text-xs text-foreground/40`,children:u})})]},t.id)}),T&&D!==void 0&&typeof document<`u`&&(0,le.createPortal)((0,q.jsx)(`div`,{"aria-hidden":`true`,className:r.et(k,`pointer-events-none fixed z-[9995] rotate-[1.5deg] opacity-95 shadow-2xl`),style:{left:T.x-T.offsetX,top:T.y-T.offsetY,width:T.width},children:(0,q.jsx)(`div`,{className:`min-w-0 pr-7`,children:a(D)})}),document.body)]})}nf.displayName=`Pipeline`;var rf=new WeakMap,af=0,of=e=>{let t=rf.get(e);return t||(t=`\u0000item${++af}`,rf.set(e,t)),t},sf=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]);function cf({items:e,keyOf:t,item:n,onReorder:i,label:a,grip:o,disabled:s=!1,className:c}){let l=(0,K.useRef)(null),u=e=>{if(t)return String(t(e)??``);if(typeof e==`string`||typeof e==`number`)return String(e);let n=e?.id;return n!=null&&n!==``?String(n):e&&typeof e==`object`?of(e):``},d=(o??(/\b(?:grid|columns-\d)/.test(c||``)?`corner`:`end`))===`corner`,f=new Map,p=e.map(e=>{let t=u(e),n=f.get(t)??0;return f.set(t,n+1),n===0?t:`${t}\u0000${n}`}),m=new Map(e.map((e,t)=>[p[t],e])),h=p.join(`\0`),[g,_]=(0,K.useState)(null),v=(0,K.useRef)(null),y=e=>{v.current=e,_(e?{keys:e,from:h}:null)},b=(0,K.useRef)(0),x=(0,K.useRef)(null);(0,K.useEffect)(()=>{let e=x.current;e&&(x.current=null,l.current?.querySelector(`[data-drag-key="${CSS.escape(e)}"] [data-drag-handle]`)?.focus())});let S=()=>Array.from(l.current?.querySelectorAll(`:scope > [data-drag-key]`)||[]).map(e=>e.dataset.dragKey||``),C=e=>{if(sf(e,p)){y(null);return}y(e);let t=()=>{v.current===e&&y(null)},n;try{n=i(e.map(e=>m.get(e)))}catch(e){t(),O.n(r.ii(e,`The new order could not be saved.`));return}n&&typeof n.then==`function`?n.then(()=>setTimeout(t,1500),e=>{t(),O.n(r.ii(e,`The new order could not be saved.`))}):setTimeout(t,3e3)},{dragging:w,bind:T}=ko({disabled:s,onStart:()=>y(S()),onMove:({x:e,y:t,at:n},r)=>{let i=l.current;if(!i||n<b.current)return;let a=null,o=1/0;for(let n of Array.from(i.querySelectorAll(`:scope > [data-drag-key]`))){let r=n.getBoundingClientRect(),i=Math.hypot(e-(r.left+r.width/2),t-(r.top+r.height/2));i<o&&(o=i,a=n.dataset.dragKey||null)}let s=v.current||S();if(!a||a===r)return;let c=s.filter(e=>e!==r);c.splice(s.indexOf(a),0,r),b.current=n+140,y(c)},onDrop:()=>C(v.current||S()),onCancel:()=>y(null)}),E=g&&(w||g.from===h)?g.keys:null,D=(E||p).filter(e=>m.has(e));for(let e of p)D.includes(e)||D.push(e);let k=e=>t=>{let n=t.key===`ArrowUp`||t.key===`ArrowLeft`?-1:+(t.key===`ArrowDown`||t.key===`ArrowRight`);if(!n)return;t.preventDefault();let r=D.indexOf(e),i=r+n;if(i<0||i>=D.length)return;let a=[...D];a.splice(r,1),a.splice(i,0,e),x.current=e,C(a)},A=w?m.get(w.key):void 0;return(0,q.jsxs)(`div`,{ref:l,className:r.et(c||`flex flex-col gap-2`),children:[D.map((e,t)=>{let i=m.get(e),o=a?a(i,t):`item ${t+1} of ${D.length}`,c=s?null:(0,q.jsx)(`button`,{type:`button`,...Ao,onKeyDown:k(e),"aria-label":`Move ${o} — drag, or use the arrow keys`,className:r.et(`flex h-10 w-8 shrink-0 items-center justify-center rounded-lg text-foreground/40 transition-colors hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,d&&`absolute right-1.5 top-1.5 w-10 border border-[var(--panel-border)] bg-background/80 text-foreground/70 backdrop-blur-sm`),children:(0,q.jsx)(et,{className:`h-4 w-4`,"aria-hidden":`true`})});return(0,q.jsxs)(r.rt.div,{layout:!!w||!!E,transition:{type:`spring`,stiffness:500,damping:40},...T(e),className:r.et(`relative min-w-0`,!d&&`flex items-center gap-2`,!s&&`cursor-grab`,w?.key===e&&`opacity-30`),children:[d?n(i,t):(0,q.jsx)(`div`,{className:`min-w-0 flex-1`,children:n(i,t)}),c]},e)}),w&&A!==void 0&&typeof document<`u`&&(0,le.createPortal)((0,q.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none fixed z-[9995] rotate-[1.5deg] opacity-95 shadow-2xl`,style:{left:w.x-w.offsetX,top:w.y-w.offsetY,width:w.width},children:d?n(A,D.indexOf(w.key)):(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`div`,{className:`min-w-0 flex-1`,children:n(A,D.indexOf(w.key))}),(0,q.jsx)(`span`,{className:`w-8 shrink-0`})]})}),document.body)]})}cf.displayName=`Sortable`;var lf=`button, a, input, textarea, select, label, [role="button"], [role="listbox"], [role="option"]`,uf=e=>{if(e==null||e===``)return null;if(e instanceof Date)return e.getTime();if(typeof e==`boolean`)return+!!e;let t=e;return typeof t.toMillis==`function`?t.toMillis():e},df=e=>{if(e==null)return``;if(e instanceof Date)return e.toLocaleDateString();let t=e;return typeof t.toDate==`function`?t.toDate().toLocaleDateString():String(e)},ff=`(min-width: 768px)`;function pf(){let[e,t]=(0,K.useState)(()=>typeof window>`u`||typeof window.matchMedia!=`function`?!0:window.matchMedia(ff).matches);return(0,K.useEffect)(()=>{if(typeof window>`u`||typeof window.matchMedia!=`function`)return;let e=window.matchMedia(ff),n=()=>t(e.matches);return n(),e.addEventListener?.(`change`,n),()=>e.removeEventListener?.(`change`,n)},[]),e}function mf({rows:e,columns:t,keyOf:n,onOpen:i,actions:a,loading:o=!1,empty:s=`Nothing here yet`,search:c=!1,sort:l,className:u}){let d=(e,t)=>n?n(e):String(e.id??t),[f,p]=(0,K.useState)(l?{key:l.key,dir:l.dir||`asc`}:null),[m,h]=(0,K.useState)(``),g=pf(),_=(0,K.useMemo)(()=>{let n=m.trim().toLowerCase(),r=n?e.filter(e=>t.some(t=>t.value&&df(t.value(e)).toLowerCase().includes(n))):e,i=f&&t.find(e=>e.key===f.key);if(i&&i.value){let e=i.value,t=f.dir===`asc`?1:-1;r=[...r].sort((n,r)=>{let i=uf(e(n)),a=uf(e(r));return i===null||a===null?i===a?0:i===null?1:-1:typeof i==`number`&&typeof a==`number`?(i-a)*t:String(i).localeCompare(String(a),void 0,{numeric:!0,sensitivity:`base`})*t})}return r},[e,t,f,m]),v=e=>p(t=>t?.key===e?t.dir===`asc`?{key:e,dir:`desc`}:null:{key:e,dir:`asc`}),y=(e,t)=>e.cell?e.cell(t):e.value?df(e.value(t)):null,b=e=>t=>{let n=t.target.closest?.(lf);n&&n!==t.currentTarget||i?.(e)},x=e=>t=>{t.target===t.currentTarget&&(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),i?.(e))},[S,...w]=t,T=w.find(e=>e.align===`right`&&e.phone!==!1),E=w.filter(e=>e!==T&&e.phone!==!1),D=!o&&_.length===0,O=m.trim()&&e.length?`Nothing matches “${m.trim()}”`:s;return(0,q.jsxs)(`div`,{className:r.et(`w-full`,u),children:[c&&(0,q.jsxs)(`label`,{className:`relative mb-4 flex w-full items-center sm:max-w-xs`,children:[(0,q.jsx)(C.n,{className:`pointer-events-none absolute left-3.5 z-10 h-4 w-4 text-foreground/40`,"aria-hidden":`true`}),(0,q.jsx)(`input`,{type:`search`,value:m,onChange:e=>h(e.target.value),placeholder:typeof c==`string`?c:`Search`,"aria-label":typeof c==`string`?c:`Search`,className:`glass-panel glow-focus block h-11 w-full pl-10 pr-4 text-sm text-foreground placeholder:text-foreground/40 focus:border-accent focus:outline-none`,style:{borderRadius:`var(--input-radius, 0.75rem)`}})]}),g&&(0,q.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-[var(--panel-border)] bg-background/30`,children:(0,q.jsxs)(`table`,{className:`w-full border-collapse text-left text-sm`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsxs)(`tr`,{className:`border-b border-[var(--panel-border)] bg-background/50`,children:[t.map(e=>{let t=!!e.value&&e.sortable!==!1,n=f?.key===e.key?f.dir:null;return(0,q.jsx)(`th`,{scope:`col`,"aria-sort":n===`asc`?`ascending`:n===`desc`?`descending`:void 0,className:r.et(`px-4 py-3 text-xs font-semibold uppercase tracking-wide text-foreground/50`,e.align===`right`&&`text-right`),children:t?(0,q.jsxs)(`button`,{type:`button`,onClick:()=>v(e.key),className:r.et(`inline-flex items-center gap-1 uppercase tracking-wide transition-colors hover:text-foreground focus:outline-none focus-visible:text-foreground`,n&&`text-foreground`),children:[e.label,n===`asc`&&(0,q.jsx)(r.Mt,{className:`h-3 w-3`,"aria-hidden":`true`}),n===`desc`&&(0,q.jsx)(r.Nt,{className:`h-3 w-3`,"aria-hidden":`true`})]}):e.label},e.key)}),a&&(0,q.jsx)(`th`,{scope:`col`,className:`px-4 py-3`,children:(0,q.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,q.jsxs)(`tbody`,{className:`divide-y divide-[var(--panel-border)]`,children:[o&&[0,1,2,3].map(e=>(0,q.jsxs)(`tr`,{children:[t.map(e=>(0,q.jsx)(`td`,{className:`px-4 py-3.5`,children:(0,q.jsx)(P.n,{className:`h-4 w-3/4 rounded-md`})},e.key)),a&&(0,q.jsx)(`td`,{className:`px-4 py-3.5`})]},e)),D&&(0,q.jsx)(`tr`,{children:(0,q.jsx)(`td`,{colSpan:t.length+ +!!a,className:`px-4 py-12 text-center text-sm text-foreground/50`,children:O})}),!o&&_.map((e,n)=>(0,q.jsxs)(`tr`,{onClick:i?b(e):void 0,className:r.et(`transition-colors`,i&&`cursor-pointer hover:bg-foreground/[0.03]`),children:[t.map((t,n)=>(0,q.jsx)(`td`,{className:r.et(`px-4 py-3.5 align-middle text-foreground/80`,t.align===`right`&&`text-right tabular-nums`,n===0&&`font-semibold text-foreground`),children:n===0&&i?(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(e),className:`text-left font-semibold hover:underline focus:outline-none focus-visible:underline`,children:y(t,e)}):y(t,e)},t.key)),a&&(0,q.jsx)(`td`,{className:`px-4 py-2.5 text-right`,children:(0,q.jsx)(`div`,{className:`flex items-center justify-end gap-2`,children:a(e)})})]},d(e,n)))]})]})}),!g&&(0,q.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[o&&[0,1,2].map(e=>(0,q.jsx)(P.n,{className:`h-24`},e)),D&&(0,q.jsx)(`p`,{className:`rounded-2xl border border-dashed border-[var(--panel-border)] px-4 py-10 text-center text-sm text-foreground/50`,children:O}),!o&&_.map((e,t)=>(0,q.jsxs)(`div`,{...i?{role:`button`,tabIndex:0,onClick:b(e),onKeyDown:x(e)}:{},className:r.et(`rounded-2xl border border-[var(--panel-border)] bg-[var(--panel-bg)] p-4 text-left`,i&&`cursor-pointer transition-colors hover:border-accent/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`),children:[(0,q.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,q.jsx)(`div`,{className:`min-w-0 text-[15px] font-semibold text-foreground`,children:S?y(S,e):null}),T&&(0,q.jsx)(`div`,{className:`shrink-0 text-[15px] font-semibold tabular-nums text-foreground`,children:y(T,e)})]}),E.length>0&&(0,q.jsx)(`dl`,{className:`mt-2.5 grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5 text-sm`,children:E.map(t=>(0,q.jsxs)(`div`,{className:`contents`,children:[(0,q.jsx)(`dt`,{className:`text-foreground/50`,children:t.label}),(0,q.jsx)(`dd`,{className:`min-w-0 text-right text-foreground/80`,children:y(t,e)})]},t.key))}),a&&(0,q.jsx)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 border-t border-[var(--panel-border)] pt-3`,children:a(e)})]},d(e,t)))]})]})}mf.displayName=`DataTable`;var hf=/^(?:mem|admin|role_[a-z][a-z0-9]*)_[A-Za-z0-9_]+$/,gf=e=>hf.test(String(e||``))&&!/_history$/.test(e)?`${e}_history`:null,_f=e=>e==null||e===``?void 0:String(e);function vf(e,t,n={},r=null,i=Date.now()){let a=Za(r),o=!!n.by?.name,s={recordId:String(e),what:String(t||``).trim(),creatorName:o?String(n.by.name):a.creatorName||`Somebody`,creatorAvatar:o?String(n.by.avatar||``):a.creatorAvatar,uid:r?.uid||``,createdAt:o&&Number.isFinite(n.at)&&n.at>0?n.at:i},c=_f(n.from),l=_f(n.to);return c!==void 0&&(s.from=c),l!==void 0&&(s.to=l),s}async function yf(e,t,n,i={}){let a=gf(e);if(!a||!t||!String(n||``).trim()){console.error(`logHistory('${e}', '${t}', '${n}'): a history line needs the record's own collection (mem_, admin_ or role_<id>_ — never an admin_ one when the team makes the changes), the record's id, and what was done.`);return}try{await(0,Y.addDoc)((0,Y.collection)(r.ui,a),vf(t,n,i,r.li?.currentUser||null))}catch(e){console.warn(`logHistory: the line "${n}" could not be saved — ${r.ii(e,`the database refused it.`)}`)}}function bf(e,t){let n=gf(e),i=String(t||``),[a,o]=(0,K.useState)({loading:!0,error:null,lines:[]});return(0,K.useEffect)(()=>{if(!n||!i){o({loading:!1,error:null,lines:[]});return}return o({loading:!0,error:null,lines:[]}),(0,Y.onSnapshot)((0,Y.query)((0,Y.collection)(r.ui,n),(0,Y.where)(`recordId`,`==`,i)),e=>{let t=e.docs.map(e=>({...e.data()||{},id:e.id}));t.sort((e,t)=>Number(t.createdAt||0)-Number(e.createdAt||0)),o({loading:!1,error:null,lines:t})},e=>o({loading:!1,error:r.ii(e,`The history could not be read.`),lines:[]}))},[n,i]),a}var xf=e=>{if(!e)return 0;if(typeof e==`number`)return e;if(e instanceof Date)return e.getTime();let t=e;if(typeof t.toMillis==`function`)return t.toMillis();if(typeof t.seconds==`number`)return t.seconds*1e3;let n=Date.parse(String(e));return Number.isFinite(n)?n:0},Sf=(e,t)=>`${e} ${t}${e===1?``:`s`} ago`,Cf=(e,t=Date.now())=>{let n=xf(e);if(!n)return``;let r=Math.floor(Math.max(0,t-n)/6e4);if(r<1)return`just now`;if(r<60)return Sf(r,`minute`);let i=Math.floor(r/60);if(i<24)return Sf(i,`hour`);let a=Math.floor(i/24);return a===1?`yesterday`:a<7?Sf(a,`day`):new Date(n).toLocaleDateString(void 0,{day:`numeric`,month:`short`,year:`numeric`})},wf=(e,t=!1)=>{if(!e)return null;if(t){let t=String(e.editedName||``).trim();return t?{name:t,avatar:String(e.editedAvatar||``),at:e.editedAt}:null}let n=String(e.creatorName||``).trim()||String(e.creatorEmail||``).split(`@`)[0];return n?{name:n,avatar:String(e.creatorAvatar||``),at:e.createdAt}:null},Tf=e=>e.split(/\s+/).filter(Boolean).map(e=>e[0]).join(``).toUpperCase().slice(0,2);function Ef({record:e,edited:t=!1,label:n,noTime:i=!1,size:a=`sm`,className:o}){let s=wf(e,t);if(!s)return null;let c=n??(t?`Edited by`:``),l=i?``:Cf(s.at),u=a===`md`?`w-7 h-7 text-[10px]`:`w-5 h-5 text-[8px]`;return(0,q.jsxs)(`span`,{className:r.et(`inline-flex items-center gap-2 min-w-0 max-w-full align-middle`,o),children:[s.avatar?(0,q.jsx)(r.k,{src:s.avatar,alt:``,className:r.et(u,`rounded-full shrink-0`)}):(0,q.jsx)(`span`,{"aria-hidden":`true`,className:r.et(u,`rounded-full bg-accent/15 text-accent flex items-center justify-center font-extrabold shrink-0`),children:Tf(s.name)}),(0,q.jsxs)(`span`,{className:r.et(`truncate font-semibold text-foreground/55`,a===`md`?`text-[13px]`:`text-[11px]`),children:[c&&(0,q.jsxs)(`span`,{className:`font-medium text-foreground/40`,children:[c,` `]}),s.name,l&&(0,q.jsxs)(`span`,{className:`font-medium text-foreground/35`,children:[` · `,l]})]})]})}var Df=e=>{let t=new Date(e),n=new Date,r=new Date(n.getFullYear(),n.getMonth(),n.getDate()-1),i=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate();return i(t,n)?`Today`:i(t,r)?`Yesterday`:t.toLocaleDateString(void 0,{day:`numeric`,month:`long`,year:t.getFullYear()===n.getFullYear()?void 0:`numeric`})};function Of(e){let t=[];for(let n of e){let e=Df(Number(n.createdAt||0)),r=t[t.length-1];r&&r.day===e?r.lines.push(n):t.push({day:e,lines:[n]})}return t}function kf({collection:e,of:t,empty:n=`Nothing has happened to this yet.`,max:i,className:a}){let{loading:o,error:s,lines:c}=bf(e,t);return o?(0,q.jsx)(`div`,{className:r.et(`py-6 flex justify-center`,a),children:(0,q.jsx)(P.t,{})}):s?(0,q.jsx)(`p`,{className:r.et(`text-[14px] text-foreground/60`,a),children:s}):c.length?(0,q.jsx)(`div`,{className:r.et(`flex flex-col gap-6`,a),children:Of(i?c.slice(0,i):c).map(e=>(0,q.jsxs)(`section`,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(`h4`,{className:`text-[12px] font-semibold text-foreground/40 mb-1`,children:e.day}),(0,q.jsx)(`ul`,{className:`flex flex-col divide-y divide-[var(--panel-border)]`,children:e.lines.map(e=>(0,q.jsxs)(`li`,{className:`py-3 flex flex-col gap-1.5 min-w-0`,children:[(0,q.jsxs)(`p`,{className:`text-[14px] text-foreground leading-snug break-words`,children:[e.what,(e.from!==void 0||e.to!==void 0)&&(0,q.jsxs)(`span`,{className:`text-foreground/55`,children:[`: `,e.from!==void 0&&(0,q.jsx)(`span`,{children:e.from}),e.from!==void 0&&e.to!==void 0&&(0,q.jsx)(u.t,{className:`inline w-3.5 h-3.5 mx-1.5 -mt-0.5`,"aria-label":`to`}),e.to!==void 0&&(0,q.jsx)(`span`,{className:`font-semibold text-foreground`,children:e.to})]})]}),(0,q.jsx)(Ef,{record:e})]},e.id))})]},e.day))}):(0,q.jsx)(`p`,{className:r.et(`text-[14px] text-foreground/45`,a),children:n})}var Af=/^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i;function jf(e){let t=String(e??``).trim().toLowerCase(),n=t.startsWith(`#`)?t:`#${t}`;return Af.test(n)?n.length===4?`#${n[1]}${n[1]}${n[2]}${n[2]}${n[3]}${n[3]}`:n:``}function Mf(e){let t=Array.isArray(e)?e:e?[e]:[],n=[];for(let e of t){let t=jf(e);t&&!n.includes(t)&&n.push(t)}return n}var Nf={sm:`w-5 h-5`,md:`w-7 h-7`,lg:`w-10 h-10`},Pf=`shadow-[inset_0_0_0_2px_var(--bg-color),inset_0_0_0_4px_var(--fg-color)]`;function Ff({color:e,name:t,size:n=`md`,selected:i,onClick:a,className:o}){let s=jf(e),c=t||s||`No colour`,l=r.et(`inline-block rounded-full shrink-0 border border-foreground/20 transition-shadow`,Nf[n],i&&Pf,o);return a?(0,q.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),a()},"aria-label":c,"aria-pressed":!!i,title:c,className:r.et(l,`cursor-pointer hover:border-foreground/60 focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent`),style:{backgroundColor:s||void 0}}):(0,q.jsx)(`span`,{role:`img`,"aria-label":c,title:c,"data-swatch":``,className:l,style:{backgroundColor:s||void 0}})}function If({color:e,onPicked:t,label:n,title:i,className:a,children:o}){let s=(0,K.useRef)(null),[c,l]=(0,K.useState)(e),u=(0,K.useRef)(t);return(0,K.useEffect)(()=>{u.current=t}),(0,K.useEffect)(()=>{l(e)},[e]),(0,K.useEffect)(()=>{let e=s.current;if(!e)return;let t=()=>u.current(e.value);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]),(0,q.jsxs)(`label`,{className:r.et(`relative inline-flex items-center justify-center cursor-pointer`,a),title:i,children:[o,(0,q.jsx)(`input`,{type:`color`,value:c,"aria-label":n,ref:s,onChange:e=>l(e.target.value),className:`absolute inset-0 w-full h-full opacity-0 cursor-pointer`})]})}function Lf({label:e,value:t,onChange:n,multiple:i,max:a=12,error:o,disabled:s}){let c=(0,K.useId)(),l=Mf(t),[u,d]=(0,K.useState)(``),f=i?l.length>=a:!1,p=e=>n(i?e:e[0]||``),m=e=>{let t=jf(e);t&&(p(i?l.includes(t)?l:[...l,t].slice(0,a):[t]),d(``))},h=jf(u),g=(e,t)=>{let n=jf(t);!n||n===e||p(l.includes(n)?l.filter(t=>t!==e):l.map(t=>t===e?n:t))};return(0,q.jsxs)(`div`,{className:`flex flex-col w-full`,children:[e&&(0,q.jsx)(`span`,{id:`${c}-label`,className:`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`,children:e}),(0,q.jsxs)(`div`,{role:`group`,"aria-labelledby":e?`${c}-label`:void 0,className:r.et(`glass-panel flex flex-wrap items-center gap-3 px-4 py-3`,o&&`border-red-500/50`,s&&`opacity-50 pointer-events-none`),style:{borderRadius:`var(--input-radius, 0.75rem)`},children:[l.map(e=>(0,q.jsxs)(`span`,{className:`relative inline-flex group`,children:[(0,q.jsx)(If,{color:e,onPicked:t=>g(e,t),label:`Change ${e}`,title:`${e} — press to change it`,className:`rounded-full`,children:(0,q.jsx)(Ff,{color:e,size:`lg`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>p(l.filter(t=>t!==e)),"aria-label":`Remove ${e}`,className:`absolute -top-1.5 -right-1.5 w-5 h-5 inline-flex items-center justify-center rounded-full bg-background text-foreground/70 border border-[var(--panel-border)] cursor-pointer hover:text-foreground`,children:(0,q.jsx)(C.t,{className:`w-3 h-3`,"aria-hidden":!0})})]},e)),!f&&(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-2 min-w-0`,children:[(0,q.jsx)(If,{color:`#c8b6a6`,onPicked:m,label:i?`Pick a colour to add`:`Pick a colour`,title:`Pick a colour`,className:`w-10 h-10 rounded-full border border-dashed border-foreground/30 text-foreground/50 hover:text-foreground hover:border-foreground/60 transition-colors overflow-hidden`,children:(0,q.jsx)(T.t,{className:`w-4 h-4 pointer-events-none`,"aria-hidden":!0})}),(0,q.jsx)(`input`,{type:`text`,inputMode:`text`,value:u,placeholder:`#d8c3a5`,"aria-label":`Or type a hex colour`,onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),m(u))},onBlur:()=>m(u),className:`w-24 bg-transparent text-[14px] text-foreground placeholder:text-foreground/30 focus:outline-none border-b border-transparent focus:border-accent py-1`}),h&&(0,q.jsx)(Ff,{color:h,size:`sm`})]})]}),o&&(0,q.jsx)(`p`,{className:`text-xs text-red-500 font-medium mt-1`,children:o})]})}var Rf=700,zf=e=>{let t=String(e),n=t.indexOf(`.`);return n<0?0:t.length-n-1};function Bf(e,{min:t=0,max:n,step:r=1}={}){let i=String(e??``).trim().replace(`,`,`.`);if(!i)return null;let a=Number(i);if(!Number.isFinite(a))return null;let o=zf(r),s=Number(a.toFixed(o)),c=n!=null&&Number.isFinite(Number(n))?Number(n):1/0;return Math.min(c,Math.max(t,s))}var Vf={sm:{button:`w-9 h-9`,icon:`w-3.5 h-3.5`,box:`text-[14px]`},md:{button:`w-10 h-10`,icon:`w-4 h-4`,box:`text-[15px]`}};function Hf({label:e,name:t,value:n,onChange:i,onSettled:a,min:o=0,max:s,step:c=1,size:l=`md`,error:u,disabled:d,className:f}){let p=(0,K.useId)(),m={min:o,max:s,step:c},h=Bf(n,m)??o,[g,_]=(0,K.useState)(null),[v,y]=(0,K.useState)(null),[b,x]=(0,K.useState)(n);n!==b&&(x(n),y(null));let S=v??h,C=(0,K.useRef)(null),w=(0,K.useRef)(h),E=(0,K.useRef)(null),D=(0,K.useRef)(a);(0,K.useEffect)(()=>{D.current=a});let O=()=>{E.current!=null&&window.clearTimeout(E.current),E.current=null;let e=C.current;C.current=null,e!=null&&e!==w.current&&D.current?.(w.current,e)};(0,K.useEffect)(()=>O,[]);let k=e=>{y(e),e!==(C.current==null?h:w.current)&&(C.current??=h,w.current=e,i(e),E.current!=null&&window.clearTimeout(E.current),E.current=window.setTimeout(O,Rf))},A=()=>(g==null?null:Bf(g,m))??S,j=e=>{let t=Bf(A()+e,m);t!=null&&(_(null),k(t))},M=zf(c)>0,N=M?/[^0-9.,-]/g:/[^0-9-]/g,P=e=>{let t=e.replace(N,``);_(t);let n=Number(t.replace(`,`,`.`));t&&Number.isFinite(n)&&Bf(t,m)===n&&k(n)},ee=()=>{let e=g==null?null:Bf(g,m);_(null),e!=null&&k(e),O()},F=g??String(S),I=t||e||``,L=S<=o,te=s!=null&&S>=Number(s),R=Vf[l],z=r.et(R.button,`inline-flex items-center justify-center rounded-full shrink-0 text-foreground/70 hover:text-foreground hover:bg-foreground/5 transition-colors cursor-pointer`,`focus:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:opacity-25 disabled:cursor-default disabled:hover:bg-transparent`);return(0,q.jsxs)(`div`,{className:r.et(`inline-flex flex-col`,f),children:[e&&(0,q.jsx)(`span`,{id:`${p}-label`,className:`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`,children:e}),(0,q.jsxs)(`div`,{role:`group`,"aria-labelledby":e?`${p}-label`:void 0,className:r.et(`glass-panel inline-flex items-center self-start rounded-full p-0.5`,u&&`border-red-500/50`,d&&`opacity-50 pointer-events-none`),children:[(0,q.jsx)(`button`,{type:`button`,"aria-label":`One less ${I}`.trim(),disabled:d||L,onClick:()=>j(-c),className:z,children:(0,q.jsx)(ct,{className:R.icon,"aria-hidden":!0})}),(0,q.jsx)(`input`,{type:`text`,inputMode:M?`decimal`:`numeric`,role:`spinbutton`,"aria-label":I||`How many`,"aria-valuenow":S,"aria-valuemin":o,"aria-valuemax":s==null?void 0:Number(s),"aria-invalid":u?!0:void 0,disabled:d,value:F,onChange:e=>P(e.target.value),onFocus:e=>e.target.select(),onBlur:ee,onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),e.currentTarget.blur()):e.key===`ArrowUp`?(e.preventDefault(),j(c)):e.key===`ArrowDown`&&(e.preventDefault(),j(-c))},style:{width:`${Math.max(2,F.length)+1}ch`},className:r.et(`bg-transparent text-center font-semibold tabular-nums text-foreground/85 focus:outline-none`,R.box)}),(0,q.jsx)(`button`,{type:`button`,"aria-label":`One more ${I}`.trim(),disabled:d||te,onClick:()=>j(c),className:z,children:(0,q.jsx)(T.t,{className:R.icon,"aria-hidden":!0})})]}),u&&(0,q.jsx)(`p`,{className:`text-xs text-red-500 font-medium mt-1`,children:u})]})}Hf.displayName=`NumberStepper`;var Uf=e=>{let t=Number(e);return Number.isFinite(t)&&t>0?t:0};function Wf(e,t){let n=e.map(Uf),r=Math.max(Uf(t),...n,0);return r?n.map(e=>e?Math.max(1,Math.round(e/r*1e3)/10):0):n.map(()=>0)}var Gf=e=>e.toLocaleString();function Kf({items:e,max:t,format:n=Gf,size:i=`md`,label:a,className:o}){let[s,c]=(0,K.useState)(!1);(0,K.useEffect)(()=>{let e=requestAnimationFrame(()=>c(!0));return()=>cancelAnimationFrame(e)},[]);let l=Wf(e.map(e=>e.value),t),u=i===`sm`;return(0,q.jsx)(`ul`,{"aria-label":a,className:r.et(`flex flex-col min-w-0`,u?`gap-2`:`gap-3.5`,o),children:e.map((e,t)=>(0,q.jsxs)(`li`,{className:`group/bar flex flex-col gap-1 min-w-0`,children:[(0,q.jsxs)(`div`,{className:r.et(`flex items-baseline justify-between gap-3 min-w-0`,u?`text-[12px]`:`text-[14px]`),children:[(0,q.jsx)(`span`,{className:`text-foreground/60 truncate`,children:e.label}),(0,q.jsxs)(`span`,{className:`shrink-0 tabular-nums`,children:[(0,q.jsx)(`span`,{className:`font-semibold text-foreground`,children:n(Uf(e.value))}),e.note&&(0,q.jsxs)(`span`,{className:`text-foreground/45`,children:[` · `,e.note]})]})]}),(0,q.jsx)(`div`,{"aria-hidden":!0,className:r.et(`w-full`,u?`h-1.5`:`h-2.5`),children:(0,q.jsx)(`div`,{className:`h-full rounded-r bg-accent/70 group-hover/bar:bg-accent transition-[width,background-color] duration-700 ease-out motion-reduce:transition-none`,style:{width:`${s?l[t]:0}%`}})})]},`${e.label}-${t}`))})}var qf=e=>e.replace(/[-_]+/g,` `).replace(/^./,e=>e.toUpperCase());function Jf(e,t={}){let n=t.param||`step`,[r,i]=(0,X.useSearchParams)(),a=(0,K.useMemo)(()=>e.map(e=>typeof e==`string`?{id:e,label:qf(e)}:e),[e.map(e=>typeof e==`string`?e:`${e.id}:${e.label}`).join(`|`)]),o=r.get(n),s=a.findIndex(e=>e.id===o),l=s<0?0:s,u=a[l]?.id??``,d=c.x(),f=(0,K.useRef)(d);f.current=d;let p=(0,K.useCallback)(e=>{let t=f.current;if(t>0){O.n(t===1?`One file is still going up. One moment.`:`${t} files are still going up. One moment.`);return}i(t=>{let r=new URLSearchParams(t);return r.set(n,e),r})},[n,i]),m=(0,K.useCallback)(()=>{let e=a[Math.min(l+1,a.length-1)];e&&e.id!==u&&p(e.id)},[p,l,a,u]),h=(0,K.useCallback)(()=>{let e=a[Math.max(l-1,0)];e&&e.id!==u&&p(e.id)},[p,l,a,u]),g=(0,K.useCallback)(()=>{i(e=>{let t=new URLSearchParams(e);return t.delete(n),t},{replace:!0})},[n,i]);return{step:u,index:l,count:a.length,isFirst:l===0,isLast:l===a.length-1,next:m,back:h,goTo:p,reset:g,waiting:d>0,bar:{steps:a,current:u,onGo:p}}}function Yf({steps:e,current:t,onGo:n,free:i=!1,className:a}){let o=(0,K.useRef)(null),s=e.findIndex(e=>e.id===t),c=s<0?0:s,l=(0,K.useRef)(!0);if((0,K.useEffect)(()=>{if(l.current){l.current=!1;return}let e=o.current;!e||typeof e.getBoundingClientRect!=`function`||e.getBoundingClientRect().top<0&&e.scrollIntoView?.({block:`start`,behavior:`smooth`})},[t]),!e.length)return null;let u=e[c];return(0,q.jsxs)(`nav`,{ref:o,"aria-label":`Steps`,className:r.et(`w-full scroll-mt-24`,a),children:[(0,q.jsxs)(`div`,{className:`sm:hidden`,children:[(0,q.jsxs)(`p`,{className:`text-[13px] font-semibold text-foreground`,children:[(0,q.jsxs)(`span`,{className:`text-foreground/50`,children:[`Step `,c+1,` of `,e.length,` · `]}),u.label]}),(0,q.jsx)(`div`,{className:`mt-2 h-1 w-full overflow-hidden rounded-full bg-foreground/10`,"aria-hidden":`true`,children:(0,q.jsx)(`div`,{className:`h-full rounded-full bg-accent transition-[width] duration-300 ease-out motion-reduce:transition-none`,style:{width:`${(c+1)/e.length*100}%`}})})]}),(0,q.jsx)(`ol`,{className:`items-center gap-2 max-sm:hidden sm:flex`,children:e.map((t,a)=>{let o=a<c,s=a===c,l=!!n&&!s&&(o||i),u=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:r.et(`flex h-7 w-7 shrink-0 items-center justify-center rounded-full border text-[12px] font-bold transition-colors`,s&&`border-transparent bg-[var(--button-bg)] text-[var(--button-fg)]`,o&&`border-accent/40 bg-accent/10 text-accent`,!s&&!o&&`border-[var(--panel-border)] text-foreground/40`),children:o?(0,q.jsx)(r.jt,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}):a+1}),(0,q.jsx)(`span`,{className:r.et(`truncate text-[13px] font-semibold`,s?`text-foreground`:o?`text-foreground/70`:`text-foreground/40`),children:t.label})]});return(0,q.jsxs)(`li`,{className:`flex min-w-0 items-center gap-2`,"aria-current":s?`step`:void 0,children:[l?(0,q.jsx)(`button`,{type:`button`,onClick:()=>n?.(t.id),className:`flex min-w-0 items-center gap-2 rounded-full py-1 pr-2 transition-opacity hover:opacity-80 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,children:u}):(0,q.jsx)(`span`,{className:`flex min-w-0 items-center gap-2 py-1 pr-2`,children:u}),a<e.length-1&&(0,q.jsx)(`span`,{"aria-hidden":`true`,className:r.et(`h-px w-6 shrink-0 lg:w-10`,o?`bg-accent/40`:`bg-[var(--panel-border)]`)})]},t.id)})})]})}Yf.displayName=`StepBar`;var Xf=48,Zf=8,Qf=2.5,$f=5;function ep(e,t){if(!t||t.width<=0||t.height<=0||e.width<=0||e.height<=0)return{x:[0,1],y:[0,1]};let n=Math.min(e.width/t.width,e.height/t.height),r=t.width*n/e.width,i=t.height*n/e.height;return{x:[(1-r)/2,(1+r)/2],y:[(1-i)/2,(1+i)/2]}}function tp(e,[t,n]){if(e<=1)return[.5,.5];if(e*(n-t)>=1)return[e*t/(e-1),(e*n-1)/(e-1)];let r=(e*((t+n)/2)-.5)/(e-1);return[r,r]}var np=(e,[t,n])=>Math.min(n,Math.max(t,e));function rp({pictures:e,index:t,onIndex:n,onClose:i,zoom:a=!1}){let o=(Array.isArray(e)?e:[]).map(e=>typeof e==`string`?{src:e}:e&&typeof e==`object`&&typeof e.src==`string`?e:{src:``}),s=t!==null&&t>=0&&t<o.length,c=s?t:0,l=o.length>1,u=r.nt(),d=(0,K.useRef)(()=>{}),f=(0,K.useRef)(null);(0,K.useEffect)(()=>{d.current=e=>{l&&n((c+e+o.length)%o.length)}}),(0,K.useEffect)(()=>{if(!s)return;let e=()=>{f.current=null};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[s]),(0,K.useEffect)(()=>{if(!s)return;let e=e=>{e.key===`ArrowLeft`&&(e.preventDefault(),d.current(-1)),e.key===`ArrowRight`&&(e.preventDefault(),d.current(1))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[s]);let p=o[c],m=()=>({s:1,x:.5,y:.5,by:`press`}),[h,g]=(0,K.useState)(m),y=s?`${c}:${p?.src}`:null;(0,K.useEffect)(()=>{f.current=null},[y]);let[b,x]=(0,K.useState)(y);y!==b&&(x(y),g(m()));let S=h.s>1,C=(0,K.useRef)(null),w=(0,K.useRef)(new Map),T=(0,K.useRef)(null),E=()=>{let e=f.current;if(e&&e.exact)return e;let t=C.current?.getBoundingClientRect(),n={left:t?.left||0,top:t?.top||0,width:t?.width||0,height:t?.height||0},i=[...C.current?.querySelectorAll(`img`)||[]].reverse().find(e=>e.naturalWidth>0),a=p&&r.A(p.src)||(p?.width&&p?.height?{width:p.width,height:p.height}:void 0)||(i?{width:i.naturalWidth,height:i.naturalHeight}:void 0),o={box:n,span:ep(n,a),exact:!!a&&n.width>0&&n.height>0};return f.current=o,o},D=()=>{f.current=null},O=(e,t,n,r)=>{if(e<=1)return{s:1,x:t,y:n,by:r};let{span:i}=E();return{s:e,x:np(t,tp(e,i.x)),y:np(n,tp(e,i.y)),by:r}},k=(e,t,n,r)=>{let{box:i,span:a}=E(),o=i.width?Math.min(1,Math.max(0,(e-i.left)/i.width)):.5,s=i.height?Math.min(1,Math.max(0,(t-i.top)/i.height)):.5,[c,l]=tp(n,a.x),[u,d]=tp(n,a.y);return{s:n,x:c+o*(l-c),y:u+s*(d-u),by:r}},A=()=>{let[e,t]=[...w.current.values()];return Math.hypot(e.x-t.x,e.y-t.y)||1},j=e=>{if(!(e.pointerType===`mouse`&&e.button!==0)){D(),w.current.set(e.pointerId,{x:e.clientX,y:e.clientY});try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}if(w.current.size===1)T.current={x:e.clientX,y:e.clientY,last:{x:e.clientX,y:e.clientY},moved:!1,pinched:!1};else if(w.current.size===2&&T.current&&(T.current.moved=!0,T.current.pinched=!0,T.current.pinch={dist:A(),s:h.s},!S)){let{box:e}=E(),[t,n]=[...w.current.values()];g({s:1,x:e.width?((t.x+n.x)/2-e.left)/e.width:.5,y:e.height?((t.y+n.y)/2-e.top)/e.height:.5,by:`finger`})}}},N=e=>{if(!w.current.has(e.pointerId)){e.pointerType===`mouse`&&S&&g(k(e.clientX,e.clientY,h.s,`mouse`));return}w.current.set(e.pointerId,{x:e.clientX,y:e.clientY});let t=T.current;if(!t)return;if(t.pinch&&w.current.size>=2){g(O(Math.min($f,Math.max(1,t.pinch.s*A()/t.pinch.dist)),h.x,h.y,`finger`));return}let n=e.clientX-t.last.x,r=e.clientY-t.last.y;if(t.last={x:e.clientX,y:e.clientY},Math.hypot(e.clientX-t.x,e.clientY-t.y)>Zf&&(t.moved=!0),!S)return;if(e.pointerType===`mouse`){g(k(e.clientX,e.clientY,h.s,`mouse`));return}let{box:i}=E();!i.width||!i.height||g(O(h.s,h.x-n/i.width/(h.s-1),h.y-r/i.height/(h.s-1),`finger`))},P=e=>{if(!w.current.delete(e.pointerId))return;let t=T.current;if(w.current.size>0){if(t){t.pinch=void 0;let[e]=[...w.current.values()];t.last=e}return}if(T.current=null,!t)return;if(t.pinched){h.s<1.15&&g({...h,s:1,by:`press`});return}if(!t.moved&&Math.hypot(e.clientX-t.x,e.clientY-t.y)<=Zf){g(S?{...h,s:1,by:`press`}:k(e.clientX,e.clientY,Qf,`press`));return}if(S)return;let n=e.clientX-t.x;Math.abs(n)>Xf&&Math.abs(n)>Math.abs(e.clientY-t.y)*1.5&&d.current(n<0?1:-1)},ee=e=>{w.current.delete(e.pointerId),w.current.size||(T.current=null)},F=`cubic-bezier(0.22, 1, 0.36, 1)`,I=u||h.by===`finger`||h.by===`mouse`?`none`:`transform 350ms ${F}, transform-origin 350ms ${F}`,L=`absolute z-10 flex h-11 w-11 items-center justify-center rounded-full border border-[var(--panel-border)] bg-background/80 text-foreground backdrop-blur-sm transition-colors hover:bg-background focus:outline-none focus-visible:ring-2 focus-visible:ring-accent/40 cursor-pointer`;return(0,q.jsx)(M.t,{open:s,onClose:i,size:`xl`,title:l?`${c+1} of ${o.length}`:void 0,className:`px-3 pb-4 sm:px-5 sm:pb-5`,children:p&&(0,q.jsxs)(`figure`,{className:`select-none`,children:[(0,q.jsxs)(`div`,{className:`relative`,children:[(0,q.jsx)(`div`,{ref:C,"data-lightbox-stage":!0,className:`relative overflow-hidden rounded-xl`,style:{touchAction:`none`,cursor:S?`zoom-out`:`zoom-in`},onPointerDown:j,onPointerMove:N,onPointerUp:P,onPointerCancel:ee,children:(0,q.jsx)(`div`,{className:`h-[62dvh] w-full sm:h-[72vh]`,style:{transform:`scale(${h.s})`,transformOrigin:`${h.x*100}% ${h.y*100}%`,transition:I,willChange:S?`transform`:void 0},children:(0,q.jsx)(r.k,{src:p.src,alt:p.alt||p.caption||``,fit:`contain`,priority:!0,draggable:!1,className:`h-full w-full`,preload:l?[o[(c+1)%o.length].src,o[(c-1+o.length)%o.length].src].filter(Boolean):void 0})})}),l&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{type:`button`,"aria-label":`Previous picture`,onClick:()=>d.current(-1),className:`${L} left-2 top-1/2 -translate-y-1/2`,children:(0,q.jsx)(_.t,{className:`h-5 w-5`,"aria-hidden":`true`})}),(0,q.jsx)(`button`,{type:`button`,"aria-label":`Next picture`,onClick:()=>d.current(1),className:`${L} right-2 top-1/2 -translate-y-1/2`,children:(0,q.jsx)(r.At,{className:`h-5 w-5`,"aria-hidden":`true`})})]}),(0,q.jsx)(`button`,{type:`button`,"aria-label":S?`Zoom out`:`Zoom in`,onClick:()=>g(S?{...h,s:1,by:`press`}:O(Qf,.5,.5,`press`)),className:`${L} bottom-3 right-3`,children:S?(0,q.jsx)(v.o,{className:`h-5 w-5`,"aria-hidden":`true`}):(0,q.jsx)(v.a,{className:`h-5 w-5`,"aria-hidden":`true`})})]}),p.caption&&(0,q.jsx)(`figcaption`,{className:`mt-3 text-center text-sm text-foreground/70`,children:p.caption})]})})}rp.displayName=`Lightbox`;var ip=/^(?:https?:\/\/|mailto:|tel:|\/(?!\/))/i,ap=/\*\*([^*]+)\*\*|\*([^*\n]+)\*|\[([^\]]+)\]\(([^)\s]+)\)|(https?:\/\/[^\s<>()]+[^\s<>().,;:!?'"])/g;function op(e,t){let n=[],r=0,i=0;for(let a of e.matchAll(ap)){let o=a.index??0;o>r&&n.push(e.slice(r,o));let s=`${t}-${i++}`;if(a[1]!=null)n.push((0,q.jsx)(`strong`,{className:`font-semibold text-foreground`,children:a[1]},s));else if(a[2]!=null)n.push((0,q.jsx)(`em`,{children:a[2]},s));else{let e=a[4]??a[5],t=a[3]??a[5];if(e&&ip.test(e)){let r=/^https?:/i.test(e);n.push((0,q.jsx)(`a`,{href:e,...r?{target:`_blank`,rel:`noopener noreferrer`}:{},className:`font-medium text-accent underline decoration-accent/40 underline-offset-4 transition-colors hover:decoration-accent`,children:t},s))}else n.push(t)}r=o+a[0].length}return r<e.length&&n.push(e.slice(r)),n}var sp=(e,t)=>e.map((e,n)=>(0,q.jsxs)(K.Fragment,{children:[n>0&&(0,q.jsx)(`br`,{}),op(e,`${t}-l${n}`)]},`${t}-l${n}`)),cp=/^!\[([^\]]*)\]\((https?:\/\/[^)\s]+)\)$/;function lp({text:e,className:t}){let n=String(e??``).replace(/\r\n?/g,`
22
22
  `).trim();if(!n)return null;let i=n.split(/\n{2,}/).map(e=>e.split(`
23
- `).map(e=>e.trimEnd()).filter(e=>e.trim()!==``)),a=[];return i.forEach((e,t)=>{if(!e.length)return;let n=`b${t}`,i=e[0].trim(),o=e.length===1&&i.match(/^(#{1,3})\s+(.+)$/),s=e.length===1&&i.match(Qd);if(o){let e=o[1].length>1;a.push(e?(0,V.jsx)(`h3`,{className:`mt-10 text-xl font-bold tracking-tight text-foreground first:mt-0`,children:Xd(o[2],n)},n):(0,V.jsx)(`h2`,{className:`mt-12 text-2xl font-bold tracking-tight text-foreground first:mt-0 md:text-3xl`,children:Xd(o[2],n)},n))}else s?a.push((0,V.jsx)(r.Nn,{src:s[2],alt:s[1],className:`my-2 w-full overflow-hidden rounded-2xl`},n)):e.every(e=>/^\s*[-*•]\s+/.test(e))?a.push((0,V.jsx)(`ul`,{className:`list-disc space-y-2 pl-6 marker:text-foreground/40`,children:e.map((e,t)=>(0,V.jsx)(`li`,{children:Xd(e.replace(/^\s*[-*•]\s+/,``),`${n}-${t}`)},t))},n)):e.every(e=>/^\s*\d+[.)]\s+/.test(e))?a.push((0,V.jsx)(`ol`,{className:`list-decimal space-y-2 pl-6 marker:font-semibold marker:text-foreground/50`,children:e.map((e,t)=>(0,V.jsx)(`li`,{children:Xd(e.replace(/^\s*\d+[.)]\s+/,``),`${n}-${t}`)},t))},n)):e.every(e=>/^\s*>\s?/.test(e))?a.push((0,V.jsx)(`blockquote`,{className:`border-l-2 border-accent/50 pl-5 text-foreground/70 italic`,children:Zd(e.map(e=>e.replace(/^\s*>\s?/,``)),n)},n)):a.push((0,V.jsx)(`p`,{children:Zd(e,n)},n))}),(0,V.jsx)(`div`,{className:r.ir(`flex w-full max-w-[70ch] flex-col gap-5 text-[17px] leading-8 text-foreground/80 break-words`,t),children:a})}$d.displayName=`Article`;var ef=`relative w-[88px] h-[88px] shrink-0 rounded-[var(--card-radius,1rem)] overflow-hidden border border-[var(--panel-border)] bg-[var(--panel-bg)]`,tf=ef.replace(`w-[88px] h-[88px]`,`w-[112px] h-[112px]`),nf=(e,t=``)=>t.startsWith(`image/`)||e.startsWith(`data:image/`)||/\.(?:jpe?g|png|gif|webp|avif|svg)(?:[?#]|$)/i.test(e),rf=e=>{try{return p.b(decodeURIComponent(new URL(e).pathname.split(`/o/`)[1]||new URL(e).pathname).split(`/`).pop()||``).replace(/^\d{10,}_[a-z0-9]+_/,``)||`Your file`}catch{return`Your file`}};function af({item:e,onStop:t,tile:n=ef}){return(0,V.jsxs)(`div`,{className:n,children:[e.file.type.startsWith(`image/`)?(0,V.jsx)(y.n,{file:e.file,className:`w-full h-full object-cover opacity-60`}):(0,V.jsxs)(`span`,{className:`flex flex-col items-center justify-center gap-1 w-full h-full p-2 text-center`,children:[(0,V.jsx)(s.It,{className:`w-5 h-5 text-accent/40`,"aria-hidden":!0}),(0,V.jsx)(`span`,{className:`text-[10px] font-semibold text-foreground/40 leading-tight line-clamp-2 break-all`,children:e.file.name})]}),(0,V.jsx)(`span`,{role:`progressbar`,"aria-label":`Uploading ${e.file.name}`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(e.progress*100),className:`absolute left-2 right-2 bottom-2 h-1 rounded-full bg-foreground/15 overflow-hidden`,children:(0,V.jsx)(`span`,{className:`block h-full rounded-full bg-accent transition-[width] duration-200`,style:{width:`${Math.max(4,e.progress*100)}%`}})}),(0,V.jsx)(`button`,{type:`button`,onClick:t,"aria-label":`Stop ${e.file.name}`,title:`Stop`,className:`absolute top-1 right-1 w-6 h-6 rounded-lg flex items-center justify-center bg-background/85 text-foreground/60 hover:text-red-500 transition-colors cursor-pointer`,children:(0,V.jsx)(s.o,{className:`w-3.5 h-3.5`})})]})}function of({value:e,onChange:t,label:n,hint:i,accept:a=`image/*`,multiple:c=!1,max:l,sortable:u=!1,shared:d=!1,disabled:f=!1,className:p}){let{user:m,userRole:h,isAdmin:g}=r.dr(),_=y._(),v=_.prefix||(m?`user_`:`pub_`),[b,x]=(0,B.useState)(``),[S,C]=(0,B.useState)([]),w=(0,B.useRef)([]),T=(0,B.useRef)(new Map),E=Array.isArray(e)?e.filter(Boolean):e?[e]:[],D=E.join(`
24
- `),O=(0,B.useRef)(E);(0,B.useEffect)(()=>{O.current=D?D.split(`
25
- `):[]},[D]);let k=e=>{O.current=e;let n=e.map(e=>w.current.find(t=>t.url===e)).filter(Boolean);c?t(e,n):t(e[0]||``,n[0]||null)},A=e=>{let t=w.current.find(t=>t.url===e);t&&y.m(t.storagePath)},j=y.b({stopOnUnmount:!0,upload:(e,t)=>y.g(e,{prefix:v,shared:d,user:m?{uid:m.uid,internal:o.p(h),admin:!!g||o.h(h)}:null,onProgress:t.progress,signal:t.signal,collection:_.collection,recordId:_.recordId}),onUploaded:(e,t)=>{w.current=[...w.current,e],C(w.current),T.current.set(e.url,t.seq),j.remove(t.id),c?k(y.v([...O.current,e.url],T.current)):(O.current.forEach(A),k([e.url]))},onFailed:e=>{x(c?`${e.file.name}: ${e.error}`:e.error||``),j.remove(e.id)}}),M=j.items.filter(e=>e.state===`waiting`||e.state===`uploading`),N=M.length>0,P=c&&!!l&&E.length+M.length>=l,F=e=>{if(f)return;let t=e;c?l&&(t=e.slice(0,Math.max(0,l-O.current.length-M.length))):(M.forEach(e=>j.remove(e.id)),t=e.slice(0,1)),t.length&&(x(``),j.add(t))},I=e=>{let t=Array.from(e.target.files||[]);e.target.value=``,t.length&&F(t)},L=e=>{e.forEach(e=>T.current.delete(e)),k(e)},R=e=>{x(``),A(e),k(O.current.filter(t=>t!==e))},{over:z,dropProps:H}=r.Fn({accept:a,multiple:c,disabled:f||P,onFiles:F,onReject:()=>x(a.startsWith(`image`)?`That is not a picture — drop a JPG or a PNG.`:`That kind of file does not go here.`)}),U=(0,V.jsx)(`input`,{type:`file`,accept:a,multiple:c,disabled:f||P,onChange:I,"aria-label":n?`Upload ${n}`:`Upload a file`,className:`sr-only`}),W=u&&c,G=(e,t)=>{let i=S.find(t=>t.url===e);return(0,V.jsxs)(`div`,{className:W?tf:ef,children:[nf(e,i?.type)?(0,V.jsx)(r.Nn,{src:e,alt:n||rf(e),className:`absolute inset-0`}):(0,V.jsxs)(`span`,{className:`flex flex-col items-center justify-center gap-1 w-full h-full p-2 text-center`,children:[(0,V.jsx)(s.It,{className:`w-5 h-5 text-accent/60`,"aria-hidden":!0}),(0,V.jsx)(`span`,{className:`text-[10px] font-semibold text-foreground/50 leading-tight line-clamp-2 break-all`,children:i?.name||rf(e)})]}),!f&&(0,V.jsx)(`button`,{type:`button`,onClick:()=>R(e),"aria-label":`Remove ${n||rf(e)}`,title:`Remove`,className:r.ir(`absolute top-1 w-6 h-6 rounded-lg flex items-center justify-center bg-background/85 text-foreground/60 hover:text-red-500 transition-colors cursor-pointer`,W?`left-1`:`right-1`),children:(0,V.jsx)(s.o,{className:`w-3.5 h-3.5`})}),W&&(t===0?(0,V.jsx)(`span`,{className:`absolute bottom-1 left-1 px-2 py-0.5 rounded-md bg-foreground text-background text-[10px] font-bold`,children:`Main`}):!f&&(0,V.jsx)(`button`,{type:`button`,disabled:N,title:N?`Once every picture has landed`:`Make this the main picture`,onClick:()=>L([e,...O.current.filter(t=>t!==e)]),className:`absolute bottom-1 left-1 px-2 py-0.5 rounded-md bg-background/85 text-foreground/70 hover:text-foreground text-[10px] font-bold cursor-pointer backdrop-blur-sm disabled:opacity-40 disabled:cursor-default disabled:hover:text-foreground/70`,children:`Make main`}))]})},ee=z?c?`Drop them here`:`Drop it here`:i||(a.startsWith(`image`)?`Upload ${c?`pictures`:`a picture`}, or drop ${c?`them`:`one`} here`:`Upload ${c?`files`:`a file`}, or drop ${c?`them`:`one`} here`);return(0,V.jsxs)(`div`,{className:r.ir(`flex flex-col gap-2 min-w-0`,p),...H,children:[n&&(0,V.jsx)(`span`,{className:`text-[12px] font-extrabold tracking-tight text-foreground/60`,children:n}),(0,V.jsxs)(`div`,{className:`flex flex-wrap items-start gap-2`,children:[W&&E.length>0?(0,V.jsx)(Qu,{items:E,onReorder:L,grip:`corner`,disabled:f||N,className:`flex flex-wrap items-start gap-2`,label:(e,t)=>`${n||rf(e)} ${t+1} of ${E.length}`,item:(e,t)=>G(e,t)}):E.map((e,t)=>(0,V.jsx)(B.default.Fragment,{children:G(e,t)},e)),M.map(e=>(0,V.jsx)(af,{item:e,onStop:()=>j.remove(e.id),tile:W?tf:ef},e.id)),!P&&(0,V.jsxs)(`label`,{title:n?`Upload ${n}`:`Upload a file`,className:r.ir(`group flex items-center gap-3 min-w-0 transition-colors`,E.length||M.length?r.ir(W?tf:ef,`flex-col items-center justify-center gap-1 text-foreground/40 hover:text-accent hover:border-accent/40`):r.ir(`flex-1 w-full px-4 py-4 rounded-[var(--card-radius,1rem)] border border-dashed`,z?`border-accent bg-accent/[0.04]`:`border-[var(--panel-border)] hover:border-accent/40`),f?`opacity-50 pointer-events-none`:`cursor-pointer`),children:[E.length||M.length?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(s.G,{className:`w-5 h-5`,"aria-hidden":!0}),(0,V.jsx)(`span`,{className:`text-[10px] font-bold`,children:z?`Drop`:c?`Add`:`Swap`})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{"aria-hidden":!0,className:r.ir(`w-10 h-10 shrink-0 rounded-xl flex items-center justify-center border transition-colors`,z?`border-accent text-accent`:`border-[var(--panel-border)] text-foreground/40 group-hover:text-accent group-hover:border-accent/40`),children:(0,V.jsx)(s.Xt,{className:`w-4 h-4`})}),(0,V.jsx)(`span`,{className:r.ir(`text-[13px] font-semibold truncate`,z?`text-accent`:`text-foreground/50`),children:ee})]}),U]})]}),b&&(0,V.jsx)(`span`,{className:`text-[12px] font-semibold text-red-500`,children:b})]})}var sf=r.Da(()=>Promise.resolve().then(()=>require(`./AddressField-B7wtV8yA.cjs`)).then(e=>({default:e.AddressField}))),cf=({label:e,required:t})=>(0,V.jsxs)(`div`,{className:`flex flex-col w-full`,children:[(0,V.jsxs)(`span`,{className:`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`,children:[e,` `,t&&(0,V.jsx)(`span`,{className:`text-red-500`,children:`*`})]}),(0,V.jsx)(`div`,{className:`h-12 w-full glass-panel opacity-60`,style:{borderRadius:`var(--input-radius, 0.75rem)`}})]});function lf(e){return(0,V.jsx)(B.Suspense,{fallback:(0,V.jsx)(cf,{label:e.label,required:e.required}),children:(0,V.jsx)(sf,{...e})})}exports.AddressField=lf,exports.AdminNotifications=Ue,exports.Article=$d,exports.Bars=Id,exports.Basket=Du,exports.BasketButton=ku,exports.Button=d.t,exports.BuyButton=ju,exports.BuyerDetails=nu,exports.Card=Wu,exports.Checkout=ou,exports.CheckoutReturn=du,exports.ConfirmModal=E.t,exports.ContactPopup=u.t,exports.CustomSelect=r.nr,exports.DashboardNav=i.t,exports.DataTable=id,exports.EMPTY_ADDRESS=g.n,exports.EVERYONE=y.S,exports.EventCard=R.r,exports.FileViewer=C.n,exports.FileViewerPopup=C.t,exports.FirebaseOS=nl,exports.History=yd,exports.Input=u.d,exports.Lightbox=qd,exports.Loader=f.t,exports.MadeBy=gd,exports.ManagePlanButton=I.t,exports.Navbar=xt,exports.NumberStepper=Md,exports.PayButton=ui,exports.PhoneInputField=z.t,exports.Picture=r.Nn,exports.Pipeline=qu,exports.Plans=Bu,exports.Popup=l.t,exports.PublicMenu=Ze,exports.Reveal=r.E,exports.RevealList=r.D,exports.SectionHeading=Gu,exports.Skeleton=f.n,exports.Sortable=Qu,exports.StepBar=zd,exports.Swap=r.O,exports.Swatch=Td,exports.SwatchField=Dd,exports.TALLY_COUNTERS=il,exports.TextArea=u.u,exports.TimeChips=m.l,exports.UploadBox=of,exports.VideoPlayer=C.a,exports.acceptBooking=h.t,Object.defineProperty(exports,`auth`,{enumerable:!0,get:function(){return r.Oa}}),exports.availableSlots=r.rt,exports.availableSlotsFor=r.it,exports.barShares=Pd,exports.blockedWindows=r.st,exports.bookingPath=r._t,exports.canEdit=y.C,exports.canSee=y.w,exports.cancelBooking=h.r,exports.composeAddress=g.s,exports.confirmPayment=r.ai,exports.countOf=Ad,exports.dayBlocked=r.St,exports.daysLine=r.Ct,Object.defineProperty(exports,`db`,{enumerable:!0,get:function(){return r.ka}}),exports.emailAnyone=k.t,exports.emailOwner=k.n,exports.emailPerson=k.r,exports.emailStatus=k.i,exports.eventName=r.jt,exports.forPerson=y.E,exports.forRole=y.D,exports.hasAddress=g.c,exports.historyCollection=od,exports.hoursSummary=r.Vt,exports.isPublished=y.O,exports.keysOf=y.k,exports.logHistory=ld,exports.madeBy=md,exports.meetPath=A.l,exports.money=yl,exports.notify=Ae,exports.oneEach=r.$t,exports.openBillingPortal=r.ci,exports.partySlots=r.nn,exports.payPath=r.rn,exports.publish=y.A,exports.registerMicrocomponent=Uu,exports.say=N.n,exports.scheduleName=r.cn,exports.scheduleTitle=r.pn,exports.sendTo=y.j,exports.shadeOf=xd,exports.shadesOf=Sd,exports.slotsFor=r.Sn,exports.startCheckout=r.ui,Object.defineProperty(exports,`storage`,{enumerable:!0,get:function(){return r.ja}}),exports.takeBack=y.M,exports.tally=_l,exports.timeZoneLabel=r.Tn,exports.togetherSlots=r.kn,exports.troubleSentence=r.Ta,exports.unpublish=y.N,exports.unsay=N.r,exports.useAuth=r.dr,exports.useBasket=Su,exports.useBookings=h.g,exports.useCase=y.P,exports.useCases=y.F,exports.useCasesFromForm=dc,exports.useConfig=r.Na,exports.useHistory=ud,exports.useMemberSchedules=h._,exports.useMyBookings=h.v,exports.useMyPayments=r.fi,exports.usePaymentsEnabled=r.pi,exports.usePeople=L.r,exports.usePlans=Ru,exports.usePublicCopy=O.f,exports.usePublished=y.I,exports.useSales=r.mi,exports.useSteps=Rd,exports.useStock=sa,exports.useStockFromOrders=Gl,exports.useTakenSlots=h.x,exports.useTallies=vl,exports.useTeamHours=h.S,exports.useTheme=i.w,exports.useVisitorState=u.l,exports.whenWords=pd,exports.withAccess=y.L,exports.withStockSetAt=na;
23
+ `).map(e=>e.trimEnd()).filter(e=>e.trim()!==``)),a=[];return i.forEach((e,t)=>{if(!e.length)return;let n=`b${t}`,i=e[0].trim(),o=e.length===1&&i.match(/^(#{1,3})\s+(.+)$/),s=e.length===1&&i.match(cp);if(o){let e=o[1].length>1;a.push(e?(0,q.jsx)(`h3`,{className:`mt-10 text-xl font-bold tracking-tight text-foreground first:mt-0`,children:op(o[2],n)},n):(0,q.jsx)(`h2`,{className:`mt-12 text-2xl font-bold tracking-tight text-foreground first:mt-0 md:text-3xl`,children:op(o[2],n)},n))}else s?a.push((0,q.jsx)(r.k,{src:s[2],alt:s[1],className:`my-2 w-full overflow-hidden rounded-2xl`},n)):e.every(e=>/^\s*[-*•]\s+/.test(e))?a.push((0,q.jsx)(`ul`,{className:`list-disc space-y-2 pl-6 marker:text-foreground/40`,children:e.map((e,t)=>(0,q.jsx)(`li`,{children:op(e.replace(/^\s*[-*•]\s+/,``),`${n}-${t}`)},t))},n)):e.every(e=>/^\s*\d+[.)]\s+/.test(e))?a.push((0,q.jsx)(`ol`,{className:`list-decimal space-y-2 pl-6 marker:font-semibold marker:text-foreground/50`,children:e.map((e,t)=>(0,q.jsx)(`li`,{children:op(e.replace(/^\s*\d+[.)]\s+/,``),`${n}-${t}`)},t))},n)):e.every(e=>/^\s*>\s?/.test(e))?a.push((0,q.jsx)(`blockquote`,{className:`border-l-2 border-accent/50 pl-5 text-foreground/70 italic`,children:sp(e.map(e=>e.replace(/^\s*>\s?/,``)),n)},n)):a.push((0,q.jsx)(`p`,{children:sp(e,n)},n))}),(0,q.jsx)(`div`,{className:r.et(`flex w-full max-w-[70ch] flex-col gap-5 text-[17px] leading-8 text-foreground/80 break-words`,t),children:a})}lp.displayName=`Article`;var up=`relative w-[88px] h-[88px] shrink-0 rounded-[var(--card-radius,1rem)] overflow-hidden border border-[var(--panel-border)] bg-[var(--panel-bg)]`,dp=up.replace(`w-[88px] h-[88px]`,`w-[112px] h-[112px]`),fp=(e,t=``)=>t.startsWith(`image/`)||e.startsWith(`data:image/`)||/\.(?:jpe?g|png|gif|webp|avif|svg)(?:[?#]|$)/i.test(e),pp=e=>{try{return ee.b(decodeURIComponent(new URL(e).pathname.split(`/o/`)[1]||new URL(e).pathname).split(`/`).pop()||``).replace(/^\d{10,}_[a-z0-9]+_/,``)||`Your file`}catch{return`Your file`}};function mp({item:e,onStop:t,tile:n=up}){return(0,q.jsxs)(`div`,{className:n,children:[e.file.type.startsWith(`image/`)?(0,q.jsx)(c.n,{file:e.file,className:`w-full h-full object-cover opacity-60`}):(0,q.jsxs)(`span`,{className:`flex flex-col items-center justify-center gap-1 w-full h-full p-2 text-center`,children:[(0,q.jsx)(v.u,{className:`w-5 h-5 text-accent/40`,"aria-hidden":!0}),(0,q.jsx)(`span`,{className:`text-[10px] font-semibold text-foreground/40 leading-tight line-clamp-2 break-all`,children:e.file.name})]}),(0,q.jsx)(`span`,{role:`progressbar`,"aria-label":`Uploading ${e.file.name}`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(e.progress*100),className:`absolute left-2 right-2 bottom-2 h-1 rounded-full bg-foreground/15 overflow-hidden`,children:(0,q.jsx)(`span`,{className:`block h-full rounded-full bg-accent transition-[width] duration-200`,style:{width:`${Math.max(4,e.progress*100)}%`}})}),(0,q.jsx)(`button`,{type:`button`,onClick:t,"aria-label":`Stop ${e.file.name}`,title:`Stop`,className:`absolute top-1 right-1 w-6 h-6 rounded-lg flex items-center justify-center bg-background/85 text-foreground/60 hover:text-red-500 transition-colors cursor-pointer`,children:(0,q.jsx)(C.t,{className:`w-3.5 h-3.5`})})]})}function hp({value:e,onChange:t,label:i,hint:a,accept:s=`image/*`,multiple:l=!1,max:u,sortable:d=!1,shared:f=!1,disabled:p=!1,className:m}){let{user:h,userRole:g,isAdmin:_}=r.It(),y=c._(),b=y.prefix||(h?`user_`:`pub_`),[x,S]=(0,K.useState)(``),[w,E]=(0,K.useState)([]),D=(0,K.useRef)([]),O=(0,K.useRef)(new Map),k=Array.isArray(e)?e.filter(Boolean):e?[e]:[],A=k.join(`
24
+ `),j=(0,K.useRef)(k);(0,K.useEffect)(()=>{j.current=A?A.split(`
25
+ `):[]},[A]);let M=e=>{j.current=e;let n=e.map(e=>D.current.find(t=>t.url===e)).filter(Boolean);l?t(e,n):t(e[0]||``,n[0]||null)},N=e=>{let t=D.current.find(t=>t.url===e);t&&c.m(t.storagePath)},P=c.b({stopOnUnmount:!0,upload:(e,t)=>c.g(e,{prefix:b,shared:f,user:h?{uid:h.uid,internal:o.Sn(g),admin:!!_||o.wn(g)}:null,onProgress:t.progress,signal:t.signal,collection:y.collection,recordId:y.recordId}),onUploaded:(e,t)=>{D.current=[...D.current,e],E(D.current),O.current.set(e.url,t.seq),P.remove(t.id),l?M(c.v([...j.current,e.url],O.current)):(j.current.forEach(N),M([e.url]))},onFailed:e=>{S(l?`${e.file.name}: ${e.error}`:e.error||``),P.remove(e.id)}}),ee=P.items.filter(e=>e.state===`waiting`||e.state===`uploading`),F=ee.length>0,I=l&&!!u&&k.length+ee.length>=u,L=e=>{if(p)return;let t=e;l?u&&(t=e.slice(0,Math.max(0,u-j.current.length-ee.length))):(ee.forEach(e=>P.remove(e.id)),t=e.slice(0,1)),t.length&&(S(``),P.add(t))},te=e=>{let t=Array.from(e.target.files||[]);e.target.value=``,t.length&&L(t)},R=e=>{e.forEach(e=>O.current.delete(e)),M(e)},z=e=>{S(``),N(e),M(j.current.filter(t=>t!==e))},{over:B,dropProps:ne}=r.j({accept:s,multiple:l,disabled:p||I,onFiles:L,onReject:()=>S(s.startsWith(`image`)?`That is not a picture — drop a JPG or a PNG.`:`That kind of file does not go here.`)}),re=(0,q.jsx)(`input`,{type:`file`,accept:s,multiple:l,disabled:p||I,onChange:te,"aria-label":i?`Upload ${i}`:`Upload a file`,className:`sr-only`}),V=d&&l,H=(e,t)=>{let n=w.find(t=>t.url===e);return(0,q.jsxs)(`div`,{className:V?dp:up,children:[fp(e,n?.type)?(0,q.jsx)(r.k,{src:e,alt:i||pp(e),className:`absolute inset-0`}):(0,q.jsxs)(`span`,{className:`flex flex-col items-center justify-center gap-1 w-full h-full p-2 text-center`,children:[(0,q.jsx)(v.u,{className:`w-5 h-5 text-accent/60`,"aria-hidden":!0}),(0,q.jsx)(`span`,{className:`text-[10px] font-semibold text-foreground/50 leading-tight line-clamp-2 break-all`,children:n?.name||pp(e)})]}),!p&&(0,q.jsx)(`button`,{type:`button`,onClick:()=>z(e),"aria-label":`Remove ${i||pp(e)}`,title:`Remove`,className:r.et(`absolute top-1 w-6 h-6 rounded-lg flex items-center justify-center bg-background/85 text-foreground/60 hover:text-red-500 transition-colors cursor-pointer`,V?`left-1`:`right-1`),children:(0,q.jsx)(C.t,{className:`w-3.5 h-3.5`})}),V&&(t===0?(0,q.jsx)(`span`,{className:`absolute bottom-1 left-1 px-2 py-0.5 rounded-md bg-foreground text-background text-[10px] font-bold`,children:`Main`}):!p&&(0,q.jsx)(`button`,{type:`button`,disabled:F,title:F?`Once every picture has landed`:`Make this the main picture`,onClick:()=>R([e,...j.current.filter(t=>t!==e)]),className:`absolute bottom-1 left-1 px-2 py-0.5 rounded-md bg-background/85 text-foreground/70 hover:text-foreground text-[10px] font-bold cursor-pointer backdrop-blur-sm disabled:opacity-40 disabled:cursor-default disabled:hover:text-foreground/70`,children:`Make main`}))]})},ie=B?l?`Drop them here`:`Drop it here`:a||(s.startsWith(`image`)?`Upload ${l?`pictures`:`a picture`}, or drop ${l?`them`:`one`} here`:`Upload ${l?`files`:`a file`}, or drop ${l?`them`:`one`} here`);return(0,q.jsxs)(`div`,{className:r.et(`flex flex-col gap-2 min-w-0`,m),...ne,children:[i&&(0,q.jsx)(`span`,{className:`text-[12px] font-extrabold tracking-tight text-foreground/60`,children:i}),(0,q.jsxs)(`div`,{className:`flex flex-wrap items-start gap-2`,children:[V&&k.length>0?(0,q.jsx)(cf,{items:k,onReorder:R,grip:`corner`,disabled:p||F,className:`flex flex-wrap items-start gap-2`,label:(e,t)=>`${i||pp(e)} ${t+1} of ${k.length}`,item:(e,t)=>H(e,t)}):k.map((e,t)=>(0,q.jsx)(K.default.Fragment,{children:H(e,t)},e)),ee.map(e=>(0,q.jsx)(mp,{item:e,onStop:()=>P.remove(e.id),tile:V?dp:up},e.id)),!I&&(0,q.jsxs)(`label`,{title:i?`Upload ${i}`:`Upload a file`,className:r.et(`group flex items-center gap-3 min-w-0 transition-colors`,k.length||ee.length?r.et(V?dp:up,`flex-col items-center justify-center gap-1 text-foreground/40 hover:text-accent hover:border-accent/40`):r.et(`flex-1 w-full px-4 py-4 rounded-[var(--card-radius,1rem)] border border-dashed`,B?`border-accent bg-accent/[0.04]`:`border-[var(--panel-border)] hover:border-accent/40`),p?`opacity-50 pointer-events-none`:`cursor-pointer`),children:[k.length||ee.length?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(T.t,{className:`w-5 h-5`,"aria-hidden":!0}),(0,q.jsx)(`span`,{className:`text-[10px] font-bold`,children:B?`Drop`:l?`Add`:`Swap`})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{"aria-hidden":!0,className:r.et(`w-10 h-10 shrink-0 rounded-xl flex items-center justify-center border transition-colors`,B?`border-accent text-accent`:`border-[var(--panel-border)] text-foreground/40 group-hover:text-accent group-hover:border-accent/40`),children:(0,q.jsx)(n.v,{className:`w-4 h-4`})}),(0,q.jsx)(`span`,{className:r.et(`text-[13px] font-semibold truncate`,B?`text-accent`:`text-foreground/50`),children:ie})]}),re]})]}),x&&(0,q.jsx)(`span`,{className:`text-[12px] font-semibold text-red-500`,children:x})]})}var gp=r.si(()=>Promise.resolve().then(()=>require(`./AddressField-C-p92i8S.cjs`)).then(e=>({default:e.AddressField}))),_p=({label:e,required:t})=>(0,q.jsxs)(`div`,{className:`flex flex-col w-full`,children:[(0,q.jsxs)(`span`,{className:`text-[13px] font-medium text-foreground/50 select-none mb-1.5 ml-1`,children:[e,` `,t&&(0,q.jsx)(`span`,{className:`text-red-500`,children:`*`})]}),(0,q.jsx)(`div`,{className:`h-12 w-full glass-panel opacity-60`,style:{borderRadius:`var(--input-radius, 0.75rem)`}})]});function vp(e){return(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(_p,{label:e.label,required:e.required}),children:(0,q.jsx)(gp,{...e})})}exports.AddressField=vp,exports.AdminNotifications=Gt,exports.Article=lp,exports.Bars=Kf,exports.Basket=Id,exports.BasketButton=Rd,exports.Button=N.t,exports.BuyButton=Bd,exports.BuyerDetails=dd,exports.Card=$d,exports.Checkout=hd,exports.CheckoutReturn=bd,exports.ConfirmModal=ne.t,exports.ContactPopup=g.t,exports.CustomSelect=r.Q,exports.DashboardNav=i.t,exports.DataTable=mf,exports.EMPTY_ADDRESS=I.n,exports.EVERYONE=c.S,exports.EventCard=h.r,exports.FileViewer=v.n,exports.FileViewerPopup=v.t,exports.FirebaseOS=du,exports.History=kf,exports.Input=g.y,exports.Lightbox=rp,exports.Loader=P.t,exports.MadeBy=Ef,exports.ManagePlanButton=W.t,exports.Navbar=Mn,exports.NumberStepper=Hf,exports.PayButton=fa,exports.PhoneInputField=se.t,exports.Picture=r.k,exports.Pipeline=nf,exports.Plans=Yd,exports.Popup=M.t,exports.PublicMenu=$t,exports.Reveal=r.E,exports.RevealList=r.D,exports.SectionHeading=ef,exports.Skeleton=P.n,exports.Sortable=cf,exports.StepBar=Yf,exports.Swap=r.O,exports.Swatch=Ff,exports.SwatchField=Lf,exports.TALLY_COUNTERS=pu,exports.TextArea=g.v,exports.TimeChips=m.l,exports.UploadBox=hp,exports.VideoPlayer=y.t,exports.acceptBooking=f.t,Object.defineProperty(exports,`auth`,{enumerable:!0,get:function(){return r.li}}),exports.availableSlots=o.k,exports.availableSlotsFor=o.A,exports.barShares=Wf,exports.blockedWindows=o.N,exports.bookingPath=o.U,exports.canEdit=c.C,exports.canSee=c.w,exports.cancelBooking=f.r,exports.composeAddress=I.s,exports.confirmPayment=r.jn,exports.countOf=Bf,exports.dayBlocked=o.Y,exports.daysLine=o.X,Object.defineProperty(exports,`db`,{enumerable:!0,get:function(){return r.ui}}),exports.emailAnyone=V.t,exports.emailOwner=V.n,exports.emailPerson=V.r,exports.emailStatus=V.i,exports.eventName=o.it,exports.forPerson=c.E,exports.forRole=c.D,exports.hasAddress=I.c,exports.historyCollection=gf,exports.hoursSummary=o.mt,exports.isPublished=c.O,exports.keysOf=c.k,exports.logHistory=yf,exports.madeBy=wf,exports.meetPath=H.l,exports.money=Ou,exports.notify=Ot,exports.oneEach=o.Et,exports.openBillingPortal=r.Pn,exports.partySlots=o.At,exports.payPath=o.jt,exports.publish=c.A,exports.registerMicrocomponent=Qd,exports.say=O.n,exports.scheduleName=o.It,exports.scheduleTitle=o.Vt,exports.sendTo=c.j,exports.shadeOf=jf,exports.shadesOf=Mf,exports.slotsFor=o.Qt,exports.startCheckout=r.In,Object.defineProperty(exports,`storage`,{enumerable:!0,get:function(){return r.fi}}),exports.takeBack=c.M,exports.tally=Eu,exports.timeZoneLabel=o.nn,exports.togetherSlots=o.on,exports.troubleSentence=r.ii,exports.unpublish=c.N,exports.unsay=O.r,exports.useAuth=r.It,exports.useBasket=jd,exports.useBookings=f.v,exports.useCase=c.P,exports.useCases=c.F,exports.useCasesFromForm=yl,exports.useConfig=r.mi,exports.useHistory=bf,exports.useMemberSchedules=f.y,exports.useMyBookings=f.b,exports.useMyPayments=r.Rn,exports.usePaymentsEnabled=r.zn,exports.usePeople=G.r,exports.usePlans=qd,exports.usePublicCopy=S.g,exports.usePublished=c.I,exports.useSales=r.Bn,exports.useSteps=Jf,exports.useStock=po,exports.useStockFromOrders=ed,exports.useTakenSlots=f.C,exports.useTallies=Du,exports.useTeamHours=f.w,exports.useTheme=i.N,exports.useVisitorState=g._,exports.whenWords=Cf,exports.withAccess=c.L,exports.withStockSetAt=so;