@vikukumar/propvault 0.1.5

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 (1156) hide show
  1. package/.env.example +15 -0
  2. package/.next/BUILD_ID +1 -0
  3. package/.next/app-path-routes-manifest.json +73 -0
  4. package/.next/build-manifest.json +23 -0
  5. package/.next/package.json +1 -0
  6. package/.next/prerender-manifest.json +274 -0
  7. package/.next/required-server-files.json +358 -0
  8. package/.next/routes-manifest.json +541 -0
  9. package/.next/server/app/(website)/[...slug]/page/app-paths-manifest.json +3 -0
  10. package/.next/server/app/(website)/[...slug]/page/build-manifest.json +19 -0
  11. package/.next/server/app/(website)/[...slug]/page/next-font-manifest.json +13 -0
  12. package/.next/server/app/(website)/[...slug]/page/react-loadable-manifest.json +1 -0
  13. package/.next/server/app/(website)/[...slug]/page/server-reference-manifest.json +53 -0
  14. package/.next/server/app/(website)/[...slug]/page.js +27 -0
  15. package/.next/server/app/(website)/[...slug]/page.js.map +5 -0
  16. package/.next/server/app/(website)/[...slug]/page.js.nft.json +1 -0
  17. package/.next/server/app/(website)/[...slug]/page_client-reference-manifest.js +3 -0
  18. package/.next/server/app/(website)/blog/[slug]/page/app-paths-manifest.json +3 -0
  19. package/.next/server/app/(website)/blog/[slug]/page/build-manifest.json +19 -0
  20. package/.next/server/app/(website)/blog/[slug]/page/next-font-manifest.json +13 -0
  21. package/.next/server/app/(website)/blog/[slug]/page/react-loadable-manifest.json +1 -0
  22. package/.next/server/app/(website)/blog/[slug]/page/server-reference-manifest.json +17 -0
  23. package/.next/server/app/(website)/blog/[slug]/page.js +25 -0
  24. package/.next/server/app/(website)/blog/[slug]/page.js.map +5 -0
  25. package/.next/server/app/(website)/blog/[slug]/page.js.nft.json +1 -0
  26. package/.next/server/app/(website)/blog/[slug]/page_client-reference-manifest.js +3 -0
  27. package/.next/server/app/(website)/blog/page/app-paths-manifest.json +3 -0
  28. package/.next/server/app/(website)/blog/page/build-manifest.json +19 -0
  29. package/.next/server/app/(website)/blog/page/next-font-manifest.json +13 -0
  30. package/.next/server/app/(website)/blog/page/react-loadable-manifest.json +1 -0
  31. package/.next/server/app/(website)/blog/page/server-reference-manifest.json +4 -0
  32. package/.next/server/app/(website)/blog/page.js +18 -0
  33. package/.next/server/app/(website)/blog/page.js.map +5 -0
  34. package/.next/server/app/(website)/blog/page.js.nft.json +1 -0
  35. package/.next/server/app/(website)/blog/page_client-reference-manifest.js +3 -0
  36. package/.next/server/app/(website)/contact/page/app-paths-manifest.json +3 -0
  37. package/.next/server/app/(website)/contact/page/build-manifest.json +19 -0
  38. package/.next/server/app/(website)/contact/page/next-font-manifest.json +13 -0
  39. package/.next/server/app/(website)/contact/page/react-loadable-manifest.json +1 -0
  40. package/.next/server/app/(website)/contact/page/server-reference-manifest.json +17 -0
  41. package/.next/server/app/(website)/contact/page.js +25 -0
  42. package/.next/server/app/(website)/contact/page.js.map +5 -0
  43. package/.next/server/app/(website)/contact/page.js.nft.json +1 -0
  44. package/.next/server/app/(website)/contact/page_client-reference-manifest.js +3 -0
  45. package/.next/server/app/(website)/page/app-paths-manifest.json +3 -0
  46. package/.next/server/app/(website)/page/build-manifest.json +19 -0
  47. package/.next/server/app/(website)/page/next-font-manifest.json +13 -0
  48. package/.next/server/app/(website)/page/react-loadable-manifest.json +1 -0
  49. package/.next/server/app/(website)/page/server-reference-manifest.json +65 -0
  50. package/.next/server/app/(website)/page.js +27 -0
  51. package/.next/server/app/(website)/page.js.map +5 -0
  52. package/.next/server/app/(website)/page.js.nft.json +1 -0
  53. package/.next/server/app/(website)/page_client-reference-manifest.js +3 -0
  54. package/.next/server/app/(website)/projects/[slug]/page/app-paths-manifest.json +3 -0
  55. package/.next/server/app/(website)/projects/[slug]/page/build-manifest.json +19 -0
  56. package/.next/server/app/(website)/projects/[slug]/page/next-font-manifest.json +13 -0
  57. package/.next/server/app/(website)/projects/[slug]/page/react-loadable-manifest.json +1 -0
  58. package/.next/server/app/(website)/projects/[slug]/page/server-reference-manifest.json +17 -0
  59. package/.next/server/app/(website)/projects/[slug]/page.js +25 -0
  60. package/.next/server/app/(website)/projects/[slug]/page.js.map +5 -0
  61. package/.next/server/app/(website)/projects/[slug]/page.js.nft.json +1 -0
  62. package/.next/server/app/(website)/projects/[slug]/page_client-reference-manifest.js +3 -0
  63. package/.next/server/app/(website)/projects/page/app-paths-manifest.json +3 -0
  64. package/.next/server/app/(website)/projects/page/build-manifest.json +19 -0
  65. package/.next/server/app/(website)/projects/page/next-font-manifest.json +13 -0
  66. package/.next/server/app/(website)/projects/page/react-loadable-manifest.json +1 -0
  67. package/.next/server/app/(website)/projects/page/server-reference-manifest.json +4 -0
  68. package/.next/server/app/(website)/projects/page.js +18 -0
  69. package/.next/server/app/(website)/projects/page.js.map +5 -0
  70. package/.next/server/app/(website)/projects/page.js.nft.json +1 -0
  71. package/.next/server/app/(website)/projects/page_client-reference-manifest.js +3 -0
  72. package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  73. package/.next/server/app/_global-error/page/build-manifest.json +19 -0
  74. package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  75. package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  76. package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  77. package/.next/server/app/_global-error/page.js +10 -0
  78. package/.next/server/app/_global-error/page.js.map +5 -0
  79. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  80. package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
  81. package/.next/server/app/_global-error.html +1 -0
  82. package/.next/server/app/_global-error.meta +15 -0
  83. package/.next/server/app/_global-error.rsc +14 -0
  84. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
  85. package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
  86. package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
  87. package/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
  88. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  89. package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  90. package/.next/server/app/_not-found/page/build-manifest.json +19 -0
  91. package/.next/server/app/_not-found/page/next-font-manifest.json +13 -0
  92. package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  93. package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  94. package/.next/server/app/_not-found/page.js +16 -0
  95. package/.next/server/app/_not-found/page.js.map +5 -0
  96. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  97. package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
  98. package/.next/server/app/_not-found.html +111 -0
  99. package/.next/server/app/_not-found.meta +16 -0
  100. package/.next/server/app/_not-found.rsc +87 -0
  101. package/.next/server/app/_not-found.segments/_full.segment.rsc +87 -0
  102. package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
  103. package/.next/server/app/_not-found.segments/_index.segment.rsc +68 -0
  104. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +7 -0
  105. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
  106. package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -0
  107. package/.next/server/app/admin/analytics/page/app-paths-manifest.json +3 -0
  108. package/.next/server/app/admin/analytics/page/build-manifest.json +19 -0
  109. package/.next/server/app/admin/analytics/page/next-font-manifest.json +13 -0
  110. package/.next/server/app/admin/analytics/page/react-loadable-manifest.json +1 -0
  111. package/.next/server/app/admin/analytics/page/server-reference-manifest.json +4 -0
  112. package/.next/server/app/admin/analytics/page.js +22 -0
  113. package/.next/server/app/admin/analytics/page.js.map +5 -0
  114. package/.next/server/app/admin/analytics/page.js.nft.json +1 -0
  115. package/.next/server/app/admin/analytics/page_client-reference-manifest.js +3 -0
  116. package/.next/server/app/admin/audit/page/app-paths-manifest.json +3 -0
  117. package/.next/server/app/admin/audit/page/build-manifest.json +19 -0
  118. package/.next/server/app/admin/audit/page/next-font-manifest.json +13 -0
  119. package/.next/server/app/admin/audit/page/react-loadable-manifest.json +1 -0
  120. package/.next/server/app/admin/audit/page/server-reference-manifest.json +4 -0
  121. package/.next/server/app/admin/audit/page.js +22 -0
  122. package/.next/server/app/admin/audit/page.js.map +5 -0
  123. package/.next/server/app/admin/audit/page.js.nft.json +1 -0
  124. package/.next/server/app/admin/audit/page_client-reference-manifest.js +3 -0
  125. package/.next/server/app/admin/cms/email-templates/page/app-paths-manifest.json +3 -0
  126. package/.next/server/app/admin/cms/email-templates/page/build-manifest.json +19 -0
  127. package/.next/server/app/admin/cms/email-templates/page/next-font-manifest.json +13 -0
  128. package/.next/server/app/admin/cms/email-templates/page/react-loadable-manifest.json +1 -0
  129. package/.next/server/app/admin/cms/email-templates/page/server-reference-manifest.json +29 -0
  130. package/.next/server/app/admin/cms/email-templates/page.js +24 -0
  131. package/.next/server/app/admin/cms/email-templates/page.js.map +5 -0
  132. package/.next/server/app/admin/cms/email-templates/page.js.nft.json +1 -0
  133. package/.next/server/app/admin/cms/email-templates/page_client-reference-manifest.js +3 -0
  134. package/.next/server/app/admin/cms/menus/page/app-paths-manifest.json +3 -0
  135. package/.next/server/app/admin/cms/menus/page/build-manifest.json +19 -0
  136. package/.next/server/app/admin/cms/menus/page/next-font-manifest.json +13 -0
  137. package/.next/server/app/admin/cms/menus/page/react-loadable-manifest.json +1 -0
  138. package/.next/server/app/admin/cms/menus/page/server-reference-manifest.json +41 -0
  139. package/.next/server/app/admin/cms/menus/page.js +24 -0
  140. package/.next/server/app/admin/cms/menus/page.js.map +5 -0
  141. package/.next/server/app/admin/cms/menus/page.js.nft.json +1 -0
  142. package/.next/server/app/admin/cms/menus/page_client-reference-manifest.js +3 -0
  143. package/.next/server/app/admin/cms/pages/[id]/edit/page/app-paths-manifest.json +3 -0
  144. package/.next/server/app/admin/cms/pages/[id]/edit/page/build-manifest.json +19 -0
  145. package/.next/server/app/admin/cms/pages/[id]/edit/page/next-font-manifest.json +13 -0
  146. package/.next/server/app/admin/cms/pages/[id]/edit/page/react-loadable-manifest.json +1 -0
  147. package/.next/server/app/admin/cms/pages/[id]/edit/page/server-reference-manifest.json +77 -0
  148. package/.next/server/app/admin/cms/pages/[id]/edit/page.js +27 -0
  149. package/.next/server/app/admin/cms/pages/[id]/edit/page.js.map +5 -0
  150. package/.next/server/app/admin/cms/pages/[id]/edit/page.js.nft.json +1 -0
  151. package/.next/server/app/admin/cms/pages/[id]/edit/page_client-reference-manifest.js +3 -0
  152. package/.next/server/app/admin/cms/pages/new/page/app-paths-manifest.json +3 -0
  153. package/.next/server/app/admin/cms/pages/new/page/build-manifest.json +19 -0
  154. package/.next/server/app/admin/cms/pages/new/page/next-font-manifest.json +13 -0
  155. package/.next/server/app/admin/cms/pages/new/page/react-loadable-manifest.json +1 -0
  156. package/.next/server/app/admin/cms/pages/new/page/server-reference-manifest.json +17 -0
  157. package/.next/server/app/admin/cms/pages/new/page.js +24 -0
  158. package/.next/server/app/admin/cms/pages/new/page.js.map +5 -0
  159. package/.next/server/app/admin/cms/pages/new/page.js.nft.json +1 -0
  160. package/.next/server/app/admin/cms/pages/new/page_client-reference-manifest.js +3 -0
  161. package/.next/server/app/admin/cms/pages/page/app-paths-manifest.json +3 -0
  162. package/.next/server/app/admin/cms/pages/page/build-manifest.json +19 -0
  163. package/.next/server/app/admin/cms/pages/page/next-font-manifest.json +13 -0
  164. package/.next/server/app/admin/cms/pages/page/react-loadable-manifest.json +1 -0
  165. package/.next/server/app/admin/cms/pages/page/server-reference-manifest.json +29 -0
  166. package/.next/server/app/admin/cms/pages/page.js +23 -0
  167. package/.next/server/app/admin/cms/pages/page.js.map +5 -0
  168. package/.next/server/app/admin/cms/pages/page.js.nft.json +1 -0
  169. package/.next/server/app/admin/cms/pages/page_client-reference-manifest.js +3 -0
  170. package/.next/server/app/admin/cms/redirects/page/app-paths-manifest.json +3 -0
  171. package/.next/server/app/admin/cms/redirects/page/build-manifest.json +19 -0
  172. package/.next/server/app/admin/cms/redirects/page/next-font-manifest.json +13 -0
  173. package/.next/server/app/admin/cms/redirects/page/react-loadable-manifest.json +1 -0
  174. package/.next/server/app/admin/cms/redirects/page/server-reference-manifest.json +41 -0
  175. package/.next/server/app/admin/cms/redirects/page.js +24 -0
  176. package/.next/server/app/admin/cms/redirects/page.js.map +5 -0
  177. package/.next/server/app/admin/cms/redirects/page.js.nft.json +1 -0
  178. package/.next/server/app/admin/cms/redirects/page_client-reference-manifest.js +3 -0
  179. package/.next/server/app/admin/cms/seo/page/app-paths-manifest.json +3 -0
  180. package/.next/server/app/admin/cms/seo/page/build-manifest.json +19 -0
  181. package/.next/server/app/admin/cms/seo/page/next-font-manifest.json +13 -0
  182. package/.next/server/app/admin/cms/seo/page/react-loadable-manifest.json +1 -0
  183. package/.next/server/app/admin/cms/seo/page/server-reference-manifest.json +4 -0
  184. package/.next/server/app/admin/cms/seo/page.js +22 -0
  185. package/.next/server/app/admin/cms/seo/page.js.map +5 -0
  186. package/.next/server/app/admin/cms/seo/page.js.nft.json +1 -0
  187. package/.next/server/app/admin/cms/seo/page_client-reference-manifest.js +3 -0
  188. package/.next/server/app/admin/content/banners/page/app-paths-manifest.json +3 -0
  189. package/.next/server/app/admin/content/banners/page/build-manifest.json +19 -0
  190. package/.next/server/app/admin/content/banners/page/next-font-manifest.json +13 -0
  191. package/.next/server/app/admin/content/banners/page/react-loadable-manifest.json +1 -0
  192. package/.next/server/app/admin/content/banners/page/server-reference-manifest.json +4 -0
  193. package/.next/server/app/admin/content/banners/page.js +22 -0
  194. package/.next/server/app/admin/content/banners/page.js.map +5 -0
  195. package/.next/server/app/admin/content/banners/page.js.nft.json +1 -0
  196. package/.next/server/app/admin/content/banners/page_client-reference-manifest.js +3 -0
  197. package/.next/server/app/admin/content/blogs/page/app-paths-manifest.json +3 -0
  198. package/.next/server/app/admin/content/blogs/page/build-manifest.json +19 -0
  199. package/.next/server/app/admin/content/blogs/page/next-font-manifest.json +13 -0
  200. package/.next/server/app/admin/content/blogs/page/react-loadable-manifest.json +1 -0
  201. package/.next/server/app/admin/content/blogs/page/server-reference-manifest.json +4 -0
  202. package/.next/server/app/admin/content/blogs/page.js +22 -0
  203. package/.next/server/app/admin/content/blogs/page.js.map +5 -0
  204. package/.next/server/app/admin/content/blogs/page.js.nft.json +1 -0
  205. package/.next/server/app/admin/content/blogs/page_client-reference-manifest.js +3 -0
  206. package/.next/server/app/admin/content/faqs/page/app-paths-manifest.json +3 -0
  207. package/.next/server/app/admin/content/faqs/page/build-manifest.json +19 -0
  208. package/.next/server/app/admin/content/faqs/page/next-font-manifest.json +13 -0
  209. package/.next/server/app/admin/content/faqs/page/react-loadable-manifest.json +1 -0
  210. package/.next/server/app/admin/content/faqs/page/server-reference-manifest.json +4 -0
  211. package/.next/server/app/admin/content/faqs/page.js +22 -0
  212. package/.next/server/app/admin/content/faqs/page.js.map +5 -0
  213. package/.next/server/app/admin/content/faqs/page.js.nft.json +1 -0
  214. package/.next/server/app/admin/content/faqs/page_client-reference-manifest.js +3 -0
  215. package/.next/server/app/admin/content/news/page/app-paths-manifest.json +3 -0
  216. package/.next/server/app/admin/content/news/page/build-manifest.json +19 -0
  217. package/.next/server/app/admin/content/news/page/next-font-manifest.json +13 -0
  218. package/.next/server/app/admin/content/news/page/react-loadable-manifest.json +1 -0
  219. package/.next/server/app/admin/content/news/page/server-reference-manifest.json +4 -0
  220. package/.next/server/app/admin/content/news/page.js +22 -0
  221. package/.next/server/app/admin/content/news/page.js.map +5 -0
  222. package/.next/server/app/admin/content/news/page.js.nft.json +1 -0
  223. package/.next/server/app/admin/content/news/page_client-reference-manifest.js +3 -0
  224. package/.next/server/app/admin/content/testimonials/page/app-paths-manifest.json +3 -0
  225. package/.next/server/app/admin/content/testimonials/page/build-manifest.json +19 -0
  226. package/.next/server/app/admin/content/testimonials/page/next-font-manifest.json +13 -0
  227. package/.next/server/app/admin/content/testimonials/page/react-loadable-manifest.json +1 -0
  228. package/.next/server/app/admin/content/testimonials/page/server-reference-manifest.json +4 -0
  229. package/.next/server/app/admin/content/testimonials/page.js +22 -0
  230. package/.next/server/app/admin/content/testimonials/page.js.map +5 -0
  231. package/.next/server/app/admin/content/testimonials/page.js.nft.json +1 -0
  232. package/.next/server/app/admin/content/testimonials/page_client-reference-manifest.js +3 -0
  233. package/.next/server/app/admin/geography/cities/page/app-paths-manifest.json +3 -0
  234. package/.next/server/app/admin/geography/cities/page/build-manifest.json +19 -0
  235. package/.next/server/app/admin/geography/cities/page/next-font-manifest.json +13 -0
  236. package/.next/server/app/admin/geography/cities/page/react-loadable-manifest.json +1 -0
  237. package/.next/server/app/admin/geography/cities/page/server-reference-manifest.json +4 -0
  238. package/.next/server/app/admin/geography/cities/page.js +22 -0
  239. package/.next/server/app/admin/geography/cities/page.js.map +5 -0
  240. package/.next/server/app/admin/geography/cities/page.js.nft.json +1 -0
  241. package/.next/server/app/admin/geography/cities/page_client-reference-manifest.js +3 -0
  242. package/.next/server/app/admin/geography/localities/page/app-paths-manifest.json +3 -0
  243. package/.next/server/app/admin/geography/localities/page/build-manifest.json +19 -0
  244. package/.next/server/app/admin/geography/localities/page/next-font-manifest.json +13 -0
  245. package/.next/server/app/admin/geography/localities/page/react-loadable-manifest.json +1 -0
  246. package/.next/server/app/admin/geography/localities/page/server-reference-manifest.json +4 -0
  247. package/.next/server/app/admin/geography/localities/page.js +22 -0
  248. package/.next/server/app/admin/geography/localities/page.js.map +5 -0
  249. package/.next/server/app/admin/geography/localities/page.js.nft.json +1 -0
  250. package/.next/server/app/admin/geography/localities/page_client-reference-manifest.js +3 -0
  251. package/.next/server/app/admin/leads/[id]/page/app-paths-manifest.json +3 -0
  252. package/.next/server/app/admin/leads/[id]/page/build-manifest.json +19 -0
  253. package/.next/server/app/admin/leads/[id]/page/next-font-manifest.json +13 -0
  254. package/.next/server/app/admin/leads/[id]/page/react-loadable-manifest.json +1 -0
  255. package/.next/server/app/admin/leads/[id]/page/server-reference-manifest.json +29 -0
  256. package/.next/server/app/admin/leads/[id]/page.js +26 -0
  257. package/.next/server/app/admin/leads/[id]/page.js.map +5 -0
  258. package/.next/server/app/admin/leads/[id]/page.js.nft.json +1 -0
  259. package/.next/server/app/admin/leads/[id]/page_client-reference-manifest.js +3 -0
  260. package/.next/server/app/admin/leads/followups/page/app-paths-manifest.json +3 -0
  261. package/.next/server/app/admin/leads/followups/page/build-manifest.json +19 -0
  262. package/.next/server/app/admin/leads/followups/page/next-font-manifest.json +13 -0
  263. package/.next/server/app/admin/leads/followups/page/react-loadable-manifest.json +1 -0
  264. package/.next/server/app/admin/leads/followups/page/server-reference-manifest.json +4 -0
  265. package/.next/server/app/admin/leads/followups/page.js +22 -0
  266. package/.next/server/app/admin/leads/followups/page.js.map +5 -0
  267. package/.next/server/app/admin/leads/followups/page.js.nft.json +1 -0
  268. package/.next/server/app/admin/leads/followups/page_client-reference-manifest.js +3 -0
  269. package/.next/server/app/admin/leads/mine/page/app-paths-manifest.json +3 -0
  270. package/.next/server/app/admin/leads/mine/page/build-manifest.json +19 -0
  271. package/.next/server/app/admin/leads/mine/page/next-font-manifest.json +13 -0
  272. package/.next/server/app/admin/leads/mine/page/react-loadable-manifest.json +1 -0
  273. package/.next/server/app/admin/leads/mine/page/server-reference-manifest.json +4 -0
  274. package/.next/server/app/admin/leads/mine/page.js +22 -0
  275. package/.next/server/app/admin/leads/mine/page.js.map +5 -0
  276. package/.next/server/app/admin/leads/mine/page.js.nft.json +1 -0
  277. package/.next/server/app/admin/leads/mine/page_client-reference-manifest.js +3 -0
  278. package/.next/server/app/admin/leads/page/app-paths-manifest.json +3 -0
  279. package/.next/server/app/admin/leads/page/build-manifest.json +19 -0
  280. package/.next/server/app/admin/leads/page/next-font-manifest.json +13 -0
  281. package/.next/server/app/admin/leads/page/react-loadable-manifest.json +1 -0
  282. package/.next/server/app/admin/leads/page/server-reference-manifest.json +4 -0
  283. package/.next/server/app/admin/leads/page.js +22 -0
  284. package/.next/server/app/admin/leads/page.js.map +5 -0
  285. package/.next/server/app/admin/leads/page.js.nft.json +1 -0
  286. package/.next/server/app/admin/leads/page_client-reference-manifest.js +3 -0
  287. package/.next/server/app/admin/leads/site-visits/page/app-paths-manifest.json +3 -0
  288. package/.next/server/app/admin/leads/site-visits/page/build-manifest.json +19 -0
  289. package/.next/server/app/admin/leads/site-visits/page/next-font-manifest.json +13 -0
  290. package/.next/server/app/admin/leads/site-visits/page/react-loadable-manifest.json +1 -0
  291. package/.next/server/app/admin/leads/site-visits/page/server-reference-manifest.json +4 -0
  292. package/.next/server/app/admin/leads/site-visits/page.js +22 -0
  293. package/.next/server/app/admin/leads/site-visits/page.js.map +5 -0
  294. package/.next/server/app/admin/leads/site-visits/page.js.nft.json +1 -0
  295. package/.next/server/app/admin/leads/site-visits/page_client-reference-manifest.js +3 -0
  296. package/.next/server/app/admin/media/page/app-paths-manifest.json +3 -0
  297. package/.next/server/app/admin/media/page/build-manifest.json +19 -0
  298. package/.next/server/app/admin/media/page/next-font-manifest.json +13 -0
  299. package/.next/server/app/admin/media/page/react-loadable-manifest.json +1 -0
  300. package/.next/server/app/admin/media/page/server-reference-manifest.json +4 -0
  301. package/.next/server/app/admin/media/page.js +22 -0
  302. package/.next/server/app/admin/media/page.js.map +5 -0
  303. package/.next/server/app/admin/media/page.js.nft.json +1 -0
  304. package/.next/server/app/admin/media/page_client-reference-manifest.js +3 -0
  305. package/.next/server/app/admin/newsletter/page/app-paths-manifest.json +3 -0
  306. package/.next/server/app/admin/newsletter/page/build-manifest.json +19 -0
  307. package/.next/server/app/admin/newsletter/page/next-font-manifest.json +13 -0
  308. package/.next/server/app/admin/newsletter/page/react-loadable-manifest.json +1 -0
  309. package/.next/server/app/admin/newsletter/page/server-reference-manifest.json +4 -0
  310. package/.next/server/app/admin/newsletter/page.js +22 -0
  311. package/.next/server/app/admin/newsletter/page.js.map +5 -0
  312. package/.next/server/app/admin/newsletter/page.js.nft.json +1 -0
  313. package/.next/server/app/admin/newsletter/page_client-reference-manifest.js +3 -0
  314. package/.next/server/app/admin/page/app-paths-manifest.json +3 -0
  315. package/.next/server/app/admin/page/build-manifest.json +19 -0
  316. package/.next/server/app/admin/page/next-font-manifest.json +13 -0
  317. package/.next/server/app/admin/page/react-loadable-manifest.json +1 -0
  318. package/.next/server/app/admin/page/server-reference-manifest.json +41 -0
  319. package/.next/server/app/admin/page.js +22 -0
  320. package/.next/server/app/admin/page.js.map +5 -0
  321. package/.next/server/app/admin/page.js.nft.json +1 -0
  322. package/.next/server/app/admin/page_client-reference-manifest.js +3 -0
  323. package/.next/server/app/admin/people/agents/page/app-paths-manifest.json +3 -0
  324. package/.next/server/app/admin/people/agents/page/build-manifest.json +19 -0
  325. package/.next/server/app/admin/people/agents/page/next-font-manifest.json +13 -0
  326. package/.next/server/app/admin/people/agents/page/react-loadable-manifest.json +1 -0
  327. package/.next/server/app/admin/people/agents/page/server-reference-manifest.json +4 -0
  328. package/.next/server/app/admin/people/agents/page.js +22 -0
  329. package/.next/server/app/admin/people/agents/page.js.map +5 -0
  330. package/.next/server/app/admin/people/agents/page.js.nft.json +1 -0
  331. package/.next/server/app/admin/people/agents/page_client-reference-manifest.js +3 -0
  332. package/.next/server/app/admin/people/builders/page/app-paths-manifest.json +3 -0
  333. package/.next/server/app/admin/people/builders/page/build-manifest.json +19 -0
  334. package/.next/server/app/admin/people/builders/page/next-font-manifest.json +13 -0
  335. package/.next/server/app/admin/people/builders/page/react-loadable-manifest.json +1 -0
  336. package/.next/server/app/admin/people/builders/page/server-reference-manifest.json +4 -0
  337. package/.next/server/app/admin/people/builders/page.js +22 -0
  338. package/.next/server/app/admin/people/builders/page.js.map +5 -0
  339. package/.next/server/app/admin/people/builders/page.js.nft.json +1 -0
  340. package/.next/server/app/admin/people/builders/page_client-reference-manifest.js +3 -0
  341. package/.next/server/app/admin/plugins/page/app-paths-manifest.json +3 -0
  342. package/.next/server/app/admin/plugins/page/build-manifest.json +19 -0
  343. package/.next/server/app/admin/plugins/page/next-font-manifest.json +13 -0
  344. package/.next/server/app/admin/plugins/page/react-loadable-manifest.json +1 -0
  345. package/.next/server/app/admin/plugins/page/server-reference-manifest.json +65 -0
  346. package/.next/server/app/admin/plugins/page.js +23 -0
  347. package/.next/server/app/admin/plugins/page.js.map +5 -0
  348. package/.next/server/app/admin/plugins/page.js.nft.json +1 -0
  349. package/.next/server/app/admin/plugins/page_client-reference-manifest.js +3 -0
  350. package/.next/server/app/admin/profile/page/app-paths-manifest.json +3 -0
  351. package/.next/server/app/admin/profile/page/build-manifest.json +19 -0
  352. package/.next/server/app/admin/profile/page/next-font-manifest.json +13 -0
  353. package/.next/server/app/admin/profile/page/react-loadable-manifest.json +1 -0
  354. package/.next/server/app/admin/profile/page/server-reference-manifest.json +29 -0
  355. package/.next/server/app/admin/profile/page.js +23 -0
  356. package/.next/server/app/admin/profile/page.js.map +5 -0
  357. package/.next/server/app/admin/profile/page.js.nft.json +1 -0
  358. package/.next/server/app/admin/profile/page_client-reference-manifest.js +3 -0
  359. package/.next/server/app/admin/projects/amenities/page/app-paths-manifest.json +3 -0
  360. package/.next/server/app/admin/projects/amenities/page/build-manifest.json +19 -0
  361. package/.next/server/app/admin/projects/amenities/page/next-font-manifest.json +13 -0
  362. package/.next/server/app/admin/projects/amenities/page/react-loadable-manifest.json +1 -0
  363. package/.next/server/app/admin/projects/amenities/page/server-reference-manifest.json +4 -0
  364. package/.next/server/app/admin/projects/amenities/page.js +22 -0
  365. package/.next/server/app/admin/projects/amenities/page.js.map +5 -0
  366. package/.next/server/app/admin/projects/amenities/page.js.nft.json +1 -0
  367. package/.next/server/app/admin/projects/amenities/page_client-reference-manifest.js +3 -0
  368. package/.next/server/app/admin/projects/edit/[id]/page/app-paths-manifest.json +3 -0
  369. package/.next/server/app/admin/projects/edit/[id]/page/build-manifest.json +19 -0
  370. package/.next/server/app/admin/projects/edit/[id]/page/next-font-manifest.json +13 -0
  371. package/.next/server/app/admin/projects/edit/[id]/page/react-loadable-manifest.json +1 -0
  372. package/.next/server/app/admin/projects/edit/[id]/page/server-reference-manifest.json +29 -0
  373. package/.next/server/app/admin/projects/edit/[id]/page.js +24 -0
  374. package/.next/server/app/admin/projects/edit/[id]/page.js.map +5 -0
  375. package/.next/server/app/admin/projects/edit/[id]/page.js.nft.json +1 -0
  376. package/.next/server/app/admin/projects/edit/[id]/page_client-reference-manifest.js +3 -0
  377. package/.next/server/app/admin/projects/floor-plans/page/app-paths-manifest.json +3 -0
  378. package/.next/server/app/admin/projects/floor-plans/page/build-manifest.json +19 -0
  379. package/.next/server/app/admin/projects/floor-plans/page/next-font-manifest.json +13 -0
  380. package/.next/server/app/admin/projects/floor-plans/page/react-loadable-manifest.json +1 -0
  381. package/.next/server/app/admin/projects/floor-plans/page/server-reference-manifest.json +4 -0
  382. package/.next/server/app/admin/projects/floor-plans/page.js +22 -0
  383. package/.next/server/app/admin/projects/floor-plans/page.js.map +5 -0
  384. package/.next/server/app/admin/projects/floor-plans/page.js.nft.json +1 -0
  385. package/.next/server/app/admin/projects/floor-plans/page_client-reference-manifest.js +3 -0
  386. package/.next/server/app/admin/projects/new/page/app-paths-manifest.json +3 -0
  387. package/.next/server/app/admin/projects/new/page/build-manifest.json +19 -0
  388. package/.next/server/app/admin/projects/new/page/next-font-manifest.json +13 -0
  389. package/.next/server/app/admin/projects/new/page/react-loadable-manifest.json +1 -0
  390. package/.next/server/app/admin/projects/new/page/server-reference-manifest.json +29 -0
  391. package/.next/server/app/admin/projects/new/page.js +24 -0
  392. package/.next/server/app/admin/projects/new/page.js.map +5 -0
  393. package/.next/server/app/admin/projects/new/page.js.nft.json +1 -0
  394. package/.next/server/app/admin/projects/new/page_client-reference-manifest.js +3 -0
  395. package/.next/server/app/admin/projects/page/app-paths-manifest.json +3 -0
  396. package/.next/server/app/admin/projects/page/build-manifest.json +19 -0
  397. package/.next/server/app/admin/projects/page/next-font-manifest.json +13 -0
  398. package/.next/server/app/admin/projects/page/react-loadable-manifest.json +1 -0
  399. package/.next/server/app/admin/projects/page/server-reference-manifest.json +4 -0
  400. package/.next/server/app/admin/projects/page.js +22 -0
  401. package/.next/server/app/admin/projects/page.js.map +5 -0
  402. package/.next/server/app/admin/projects/page.js.nft.json +1 -0
  403. package/.next/server/app/admin/projects/page_client-reference-manifest.js +3 -0
  404. package/.next/server/app/admin/projects/updates/page/app-paths-manifest.json +3 -0
  405. package/.next/server/app/admin/projects/updates/page/build-manifest.json +19 -0
  406. package/.next/server/app/admin/projects/updates/page/next-font-manifest.json +13 -0
  407. package/.next/server/app/admin/projects/updates/page/react-loadable-manifest.json +1 -0
  408. package/.next/server/app/admin/projects/updates/page/server-reference-manifest.json +4 -0
  409. package/.next/server/app/admin/projects/updates/page.js +22 -0
  410. package/.next/server/app/admin/projects/updates/page.js.map +5 -0
  411. package/.next/server/app/admin/projects/updates/page.js.nft.json +1 -0
  412. package/.next/server/app/admin/projects/updates/page_client-reference-manifest.js +3 -0
  413. package/.next/server/app/admin/rbac/permissions/page/app-paths-manifest.json +3 -0
  414. package/.next/server/app/admin/rbac/permissions/page/build-manifest.json +19 -0
  415. package/.next/server/app/admin/rbac/permissions/page/next-font-manifest.json +13 -0
  416. package/.next/server/app/admin/rbac/permissions/page/react-loadable-manifest.json +1 -0
  417. package/.next/server/app/admin/rbac/permissions/page/server-reference-manifest.json +4 -0
  418. package/.next/server/app/admin/rbac/permissions/page.js +22 -0
  419. package/.next/server/app/admin/rbac/permissions/page.js.map +5 -0
  420. package/.next/server/app/admin/rbac/permissions/page.js.nft.json +1 -0
  421. package/.next/server/app/admin/rbac/permissions/page_client-reference-manifest.js +3 -0
  422. package/.next/server/app/admin/rbac/roles/page/app-paths-manifest.json +3 -0
  423. package/.next/server/app/admin/rbac/roles/page/build-manifest.json +19 -0
  424. package/.next/server/app/admin/rbac/roles/page/next-font-manifest.json +13 -0
  425. package/.next/server/app/admin/rbac/roles/page/react-loadable-manifest.json +1 -0
  426. package/.next/server/app/admin/rbac/roles/page/server-reference-manifest.json +4 -0
  427. package/.next/server/app/admin/rbac/roles/page.js +22 -0
  428. package/.next/server/app/admin/rbac/roles/page.js.map +5 -0
  429. package/.next/server/app/admin/rbac/roles/page.js.nft.json +1 -0
  430. package/.next/server/app/admin/rbac/roles/page_client-reference-manifest.js +3 -0
  431. package/.next/server/app/admin/settings/analytics/page/app-paths-manifest.json +3 -0
  432. package/.next/server/app/admin/settings/analytics/page/build-manifest.json +19 -0
  433. package/.next/server/app/admin/settings/analytics/page/next-font-manifest.json +13 -0
  434. package/.next/server/app/admin/settings/analytics/page/react-loadable-manifest.json +1 -0
  435. package/.next/server/app/admin/settings/analytics/page/server-reference-manifest.json +17 -0
  436. package/.next/server/app/admin/settings/analytics/page.js +24 -0
  437. package/.next/server/app/admin/settings/analytics/page.js.map +5 -0
  438. package/.next/server/app/admin/settings/analytics/page.js.nft.json +1 -0
  439. package/.next/server/app/admin/settings/analytics/page_client-reference-manifest.js +3 -0
  440. package/.next/server/app/admin/settings/api-keys/page/app-paths-manifest.json +3 -0
  441. package/.next/server/app/admin/settings/api-keys/page/build-manifest.json +19 -0
  442. package/.next/server/app/admin/settings/api-keys/page/next-font-manifest.json +13 -0
  443. package/.next/server/app/admin/settings/api-keys/page/react-loadable-manifest.json +1 -0
  444. package/.next/server/app/admin/settings/api-keys/page/server-reference-manifest.json +425 -0
  445. package/.next/server/app/admin/settings/api-keys/page.js +24 -0
  446. package/.next/server/app/admin/settings/api-keys/page.js.map +5 -0
  447. package/.next/server/app/admin/settings/api-keys/page.js.nft.json +1 -0
  448. package/.next/server/app/admin/settings/api-keys/page_client-reference-manifest.js +3 -0
  449. package/.next/server/app/admin/settings/branding/page/app-paths-manifest.json +3 -0
  450. package/.next/server/app/admin/settings/branding/page/build-manifest.json +19 -0
  451. package/.next/server/app/admin/settings/branding/page/next-font-manifest.json +13 -0
  452. package/.next/server/app/admin/settings/branding/page/react-loadable-manifest.json +1 -0
  453. package/.next/server/app/admin/settings/branding/page/server-reference-manifest.json +17 -0
  454. package/.next/server/app/admin/settings/branding/page.js +24 -0
  455. package/.next/server/app/admin/settings/branding/page.js.map +5 -0
  456. package/.next/server/app/admin/settings/branding/page.js.nft.json +1 -0
  457. package/.next/server/app/admin/settings/branding/page_client-reference-manifest.js +3 -0
  458. package/.next/server/app/admin/settings/general/page/app-paths-manifest.json +3 -0
  459. package/.next/server/app/admin/settings/general/page/build-manifest.json +19 -0
  460. package/.next/server/app/admin/settings/general/page/next-font-manifest.json +13 -0
  461. package/.next/server/app/admin/settings/general/page/react-loadable-manifest.json +1 -0
  462. package/.next/server/app/admin/settings/general/page/server-reference-manifest.json +17 -0
  463. package/.next/server/app/admin/settings/general/page.js +24 -0
  464. package/.next/server/app/admin/settings/general/page.js.map +5 -0
  465. package/.next/server/app/admin/settings/general/page.js.nft.json +1 -0
  466. package/.next/server/app/admin/settings/general/page_client-reference-manifest.js +3 -0
  467. package/.next/server/app/admin/settings/page/app-paths-manifest.json +3 -0
  468. package/.next/server/app/admin/settings/page/build-manifest.json +19 -0
  469. package/.next/server/app/admin/settings/page/next-font-manifest.json +13 -0
  470. package/.next/server/app/admin/settings/page/react-loadable-manifest.json +1 -0
  471. package/.next/server/app/admin/settings/page/server-reference-manifest.json +4 -0
  472. package/.next/server/app/admin/settings/page.js +22 -0
  473. package/.next/server/app/admin/settings/page.js.map +5 -0
  474. package/.next/server/app/admin/settings/page.js.nft.json +1 -0
  475. package/.next/server/app/admin/settings/page_client-reference-manifest.js +3 -0
  476. package/.next/server/app/admin/settings/security/page/app-paths-manifest.json +3 -0
  477. package/.next/server/app/admin/settings/security/page/build-manifest.json +19 -0
  478. package/.next/server/app/admin/settings/security/page/next-font-manifest.json +13 -0
  479. package/.next/server/app/admin/settings/security/page/react-loadable-manifest.json +1 -0
  480. package/.next/server/app/admin/settings/security/page/server-reference-manifest.json +17 -0
  481. package/.next/server/app/admin/settings/security/page.js +24 -0
  482. package/.next/server/app/admin/settings/security/page.js.map +5 -0
  483. package/.next/server/app/admin/settings/security/page.js.nft.json +1 -0
  484. package/.next/server/app/admin/settings/security/page_client-reference-manifest.js +3 -0
  485. package/.next/server/app/admin/settings/seo/page/app-paths-manifest.json +3 -0
  486. package/.next/server/app/admin/settings/seo/page/build-manifest.json +19 -0
  487. package/.next/server/app/admin/settings/seo/page/next-font-manifest.json +13 -0
  488. package/.next/server/app/admin/settings/seo/page/react-loadable-manifest.json +1 -0
  489. package/.next/server/app/admin/settings/seo/page/server-reference-manifest.json +17 -0
  490. package/.next/server/app/admin/settings/seo/page.js +24 -0
  491. package/.next/server/app/admin/settings/seo/page.js.map +5 -0
  492. package/.next/server/app/admin/settings/seo/page.js.nft.json +1 -0
  493. package/.next/server/app/admin/settings/seo/page_client-reference-manifest.js +3 -0
  494. package/.next/server/app/admin/settings/smtp/page/app-paths-manifest.json +3 -0
  495. package/.next/server/app/admin/settings/smtp/page/build-manifest.json +19 -0
  496. package/.next/server/app/admin/settings/smtp/page/next-font-manifest.json +13 -0
  497. package/.next/server/app/admin/settings/smtp/page/react-loadable-manifest.json +1 -0
  498. package/.next/server/app/admin/settings/smtp/page/server-reference-manifest.json +17 -0
  499. package/.next/server/app/admin/settings/smtp/page.js +24 -0
  500. package/.next/server/app/admin/settings/smtp/page.js.map +5 -0
  501. package/.next/server/app/admin/settings/smtp/page.js.nft.json +1 -0
  502. package/.next/server/app/admin/settings/smtp/page_client-reference-manifest.js +3 -0
  503. package/.next/server/app/admin/settings/storage/page/app-paths-manifest.json +3 -0
  504. package/.next/server/app/admin/settings/storage/page/build-manifest.json +19 -0
  505. package/.next/server/app/admin/settings/storage/page/next-font-manifest.json +13 -0
  506. package/.next/server/app/admin/settings/storage/page/react-loadable-manifest.json +1 -0
  507. package/.next/server/app/admin/settings/storage/page/server-reference-manifest.json +17 -0
  508. package/.next/server/app/admin/settings/storage/page.js +24 -0
  509. package/.next/server/app/admin/settings/storage/page.js.map +5 -0
  510. package/.next/server/app/admin/settings/storage/page.js.nft.json +1 -0
  511. package/.next/server/app/admin/settings/storage/page_client-reference-manifest.js +3 -0
  512. package/.next/server/app/admin/system/about/page/app-paths-manifest.json +3 -0
  513. package/.next/server/app/admin/system/about/page/build-manifest.json +19 -0
  514. package/.next/server/app/admin/system/about/page/next-font-manifest.json +13 -0
  515. package/.next/server/app/admin/system/about/page/react-loadable-manifest.json +1 -0
  516. package/.next/server/app/admin/system/about/page/server-reference-manifest.json +4 -0
  517. package/.next/server/app/admin/system/about/page.js +22 -0
  518. package/.next/server/app/admin/system/about/page.js.map +5 -0
  519. package/.next/server/app/admin/system/about/page.js.nft.json +1 -0
  520. package/.next/server/app/admin/system/about/page_client-reference-manifest.js +3 -0
  521. package/.next/server/app/admin/system/page/app-paths-manifest.json +3 -0
  522. package/.next/server/app/admin/system/page/build-manifest.json +19 -0
  523. package/.next/server/app/admin/system/page/next-font-manifest.json +13 -0
  524. package/.next/server/app/admin/system/page/react-loadable-manifest.json +1 -0
  525. package/.next/server/app/admin/system/page/server-reference-manifest.json +4 -0
  526. package/.next/server/app/admin/system/page.js +22 -0
  527. package/.next/server/app/admin/system/page.js.map +5 -0
  528. package/.next/server/app/admin/system/page.js.nft.json +1 -0
  529. package/.next/server/app/admin/system/page_client-reference-manifest.js +3 -0
  530. package/.next/server/app/admin/theme/page/app-paths-manifest.json +3 -0
  531. package/.next/server/app/admin/theme/page/build-manifest.json +19 -0
  532. package/.next/server/app/admin/theme/page/next-font-manifest.json +13 -0
  533. package/.next/server/app/admin/theme/page/react-loadable-manifest.json +1 -0
  534. package/.next/server/app/admin/theme/page/server-reference-manifest.json +65 -0
  535. package/.next/server/app/admin/theme/page.js +24 -0
  536. package/.next/server/app/admin/theme/page.js.map +5 -0
  537. package/.next/server/app/admin/theme/page.js.nft.json +1 -0
  538. package/.next/server/app/admin/theme/page_client-reference-manifest.js +3 -0
  539. package/.next/server/app/admin/users/page/app-paths-manifest.json +3 -0
  540. package/.next/server/app/admin/users/page/build-manifest.json +19 -0
  541. package/.next/server/app/admin/users/page/next-font-manifest.json +13 -0
  542. package/.next/server/app/admin/users/page/react-loadable-manifest.json +1 -0
  543. package/.next/server/app/admin/users/page/server-reference-manifest.json +4 -0
  544. package/.next/server/app/admin/users/page.js +22 -0
  545. package/.next/server/app/admin/users/page.js.map +5 -0
  546. package/.next/server/app/admin/users/page.js.nft.json +1 -0
  547. package/.next/server/app/admin/users/page_client-reference-manifest.js +3 -0
  548. package/.next/server/app/api/auth/[...nextauth]/route/app-paths-manifest.json +3 -0
  549. package/.next/server/app/api/auth/[...nextauth]/route/build-manifest.json +9 -0
  550. package/.next/server/app/api/auth/[...nextauth]/route/server-reference-manifest.json +4 -0
  551. package/.next/server/app/api/auth/[...nextauth]/route.js +8 -0
  552. package/.next/server/app/api/auth/[...nextauth]/route.js.map +5 -0
  553. package/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -0
  554. package/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +3 -0
  555. package/.next/server/app/api/generate-icons/route/app-paths-manifest.json +3 -0
  556. package/.next/server/app/api/generate-icons/route/build-manifest.json +9 -0
  557. package/.next/server/app/api/generate-icons/route/server-reference-manifest.json +4 -0
  558. package/.next/server/app/api/generate-icons/route.js +8 -0
  559. package/.next/server/app/api/generate-icons/route.js.map +5 -0
  560. package/.next/server/app/api/generate-icons/route.js.nft.json +1 -0
  561. package/.next/server/app/api/generate-icons/route_client-reference-manifest.js +3 -0
  562. package/.next/server/app/api/media/[...path]/route/app-paths-manifest.json +3 -0
  563. package/.next/server/app/api/media/[...path]/route/build-manifest.json +9 -0
  564. package/.next/server/app/api/media/[...path]/route/server-reference-manifest.json +4 -0
  565. package/.next/server/app/api/media/[...path]/route.js +8 -0
  566. package/.next/server/app/api/media/[...path]/route.js.map +5 -0
  567. package/.next/server/app/api/media/[...path]/route.js.nft.json +1 -0
  568. package/.next/server/app/api/media/[...path]/route_client-reference-manifest.js +3 -0
  569. package/.next/server/app/api/projects/route/app-paths-manifest.json +3 -0
  570. package/.next/server/app/api/projects/route/build-manifest.json +9 -0
  571. package/.next/server/app/api/projects/route/server-reference-manifest.json +4 -0
  572. package/.next/server/app/api/projects/route.js +7 -0
  573. package/.next/server/app/api/projects/route.js.map +5 -0
  574. package/.next/server/app/api/projects/route.js.nft.json +1 -0
  575. package/.next/server/app/api/projects/route_client-reference-manifest.js +3 -0
  576. package/.next/server/app/api/upload/route/app-paths-manifest.json +3 -0
  577. package/.next/server/app/api/upload/route/build-manifest.json +9 -0
  578. package/.next/server/app/api/upload/route/server-reference-manifest.json +4 -0
  579. package/.next/server/app/api/upload/route.js +9 -0
  580. package/.next/server/app/api/upload/route.js.map +5 -0
  581. package/.next/server/app/api/upload/route.js.nft.json +1 -0
  582. package/.next/server/app/api/upload/route_client-reference-manifest.js +3 -0
  583. package/.next/server/app/api/v1/menus/[slug]/route/app-paths-manifest.json +3 -0
  584. package/.next/server/app/api/v1/menus/[slug]/route/build-manifest.json +9 -0
  585. package/.next/server/app/api/v1/menus/[slug]/route/server-reference-manifest.json +4 -0
  586. package/.next/server/app/api/v1/menus/[slug]/route.js +7 -0
  587. package/.next/server/app/api/v1/menus/[slug]/route.js.map +5 -0
  588. package/.next/server/app/api/v1/menus/[slug]/route.js.nft.json +1 -0
  589. package/.next/server/app/api/v1/menus/[slug]/route_client-reference-manifest.js +3 -0
  590. package/.next/server/app/api/v1/openapi.json/route/app-paths-manifest.json +3 -0
  591. package/.next/server/app/api/v1/openapi.json/route/build-manifest.json +9 -0
  592. package/.next/server/app/api/v1/openapi.json/route/server-reference-manifest.json +4 -0
  593. package/.next/server/app/api/v1/openapi.json/route.js +6 -0
  594. package/.next/server/app/api/v1/openapi.json/route.js.map +5 -0
  595. package/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -0
  596. package/.next/server/app/api/v1/openapi.json/route_client-reference-manifest.js +3 -0
  597. package/.next/server/app/api/v1/projects/route/app-paths-manifest.json +3 -0
  598. package/.next/server/app/api/v1/projects/route/build-manifest.json +9 -0
  599. package/.next/server/app/api/v1/projects/route/server-reference-manifest.json +4 -0
  600. package/.next/server/app/api/v1/projects/route.js +7 -0
  601. package/.next/server/app/api/v1/projects/route.js.map +5 -0
  602. package/.next/server/app/api/v1/projects/route.js.nft.json +1 -0
  603. package/.next/server/app/api/v1/projects/route_client-reference-manifest.js +3 -0
  604. package/.next/server/app/api/v1/theme/active/route/app-paths-manifest.json +3 -0
  605. package/.next/server/app/api/v1/theme/active/route/build-manifest.json +9 -0
  606. package/.next/server/app/api/v1/theme/active/route/server-reference-manifest.json +4 -0
  607. package/.next/server/app/api/v1/theme/active/route.js +7 -0
  608. package/.next/server/app/api/v1/theme/active/route.js.map +5 -0
  609. package/.next/server/app/api/v1/theme/active/route.js.nft.json +1 -0
  610. package/.next/server/app/api/v1/theme/active/route_client-reference-manifest.js +3 -0
  611. package/.next/server/app/contact.html +111 -0
  612. package/.next/server/app/contact.meta +16 -0
  613. package/.next/server/app/contact.rsc +91 -0
  614. package/.next/server/app/contact.segments/!KHdlYnNpdGUp/contact/__PAGE__.segment.rsc +6 -0
  615. package/.next/server/app/contact.segments/!KHdlYnNpdGUp/contact.segment.rsc +5 -0
  616. package/.next/server/app/contact.segments/!KHdlYnNpdGUp.segment.rsc +9 -0
  617. package/.next/server/app/contact.segments/_full.segment.rsc +91 -0
  618. package/.next/server/app/contact.segments/_head.segment.rsc +6 -0
  619. package/.next/server/app/contact.segments/_index.segment.rsc +68 -0
  620. package/.next/server/app/contact.segments/_tree.segment.rsc +7 -0
  621. package/.next/server/app/index.html +112 -0
  622. package/.next/server/app/index.meta +15 -0
  623. package/.next/server/app/index.rsc +99 -0
  624. package/.next/server/app/index.segments/!KHdlYnNpdGUp/__PAGE__.segment.rsc +15 -0
  625. package/.next/server/app/index.segments/!KHdlYnNpdGUp.segment.rsc +9 -0
  626. package/.next/server/app/index.segments/_full.segment.rsc +99 -0
  627. package/.next/server/app/index.segments/_head.segment.rsc +6 -0
  628. package/.next/server/app/index.segments/_index.segment.rsc +68 -0
  629. package/.next/server/app/index.segments/_tree.segment.rsc +7 -0
  630. package/.next/server/app/login/page/app-paths-manifest.json +3 -0
  631. package/.next/server/app/login/page/build-manifest.json +19 -0
  632. package/.next/server/app/login/page/next-font-manifest.json +13 -0
  633. package/.next/server/app/login/page/react-loadable-manifest.json +1 -0
  634. package/.next/server/app/login/page/server-reference-manifest.json +4 -0
  635. package/.next/server/app/login/page.js +17 -0
  636. package/.next/server/app/login/page.js.map +5 -0
  637. package/.next/server/app/login/page.js.nft.json +1 -0
  638. package/.next/server/app/login/page_client-reference-manifest.js +3 -0
  639. package/.next/server/app/login.html +111 -0
  640. package/.next/server/app/login.meta +15 -0
  641. package/.next/server/app/login.rsc +90 -0
  642. package/.next/server/app/login.segments/_full.segment.rsc +90 -0
  643. package/.next/server/app/login.segments/_head.segment.rsc +6 -0
  644. package/.next/server/app/login.segments/_index.segment.rsc +68 -0
  645. package/.next/server/app/login.segments/_tree.segment.rsc +7 -0
  646. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +9 -0
  647. package/.next/server/app/login.segments/login.segment.rsc +5 -0
  648. package/.next/server/app/robots.txt/route/app-paths-manifest.json +3 -0
  649. package/.next/server/app/robots.txt/route/build-manifest.json +9 -0
  650. package/.next/server/app/robots.txt/route/server-reference-manifest.json +4 -0
  651. package/.next/server/app/robots.txt/route.js +6 -0
  652. package/.next/server/app/robots.txt/route.js.map +5 -0
  653. package/.next/server/app/robots.txt/route.js.nft.json +1 -0
  654. package/.next/server/app/robots.txt/route_client-reference-manifest.js +3 -0
  655. package/.next/server/app/robots.txt.body +9 -0
  656. package/.next/server/app/robots.txt.meta +1 -0
  657. package/.next/server/app/setup/page/app-paths-manifest.json +3 -0
  658. package/.next/server/app/setup/page/build-manifest.json +19 -0
  659. package/.next/server/app/setup/page/next-font-manifest.json +13 -0
  660. package/.next/server/app/setup/page/react-loadable-manifest.json +1 -0
  661. package/.next/server/app/setup/page/server-reference-manifest.json +89 -0
  662. package/.next/server/app/setup/page.js +25 -0
  663. package/.next/server/app/setup/page.js.map +5 -0
  664. package/.next/server/app/setup/page.js.nft.json +1 -0
  665. package/.next/server/app/setup/page_client-reference-manifest.js +3 -0
  666. package/.next/server/app/setup.html +111 -0
  667. package/.next/server/app/setup.meta +15 -0
  668. package/.next/server/app/setup.rsc +88 -0
  669. package/.next/server/app/setup.segments/_full.segment.rsc +88 -0
  670. package/.next/server/app/setup.segments/_head.segment.rsc +6 -0
  671. package/.next/server/app/setup.segments/_index.segment.rsc +68 -0
  672. package/.next/server/app/setup.segments/_tree.segment.rsc +7 -0
  673. package/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +6 -0
  674. package/.next/server/app/setup.segments/setup.segment.rsc +5 -0
  675. package/.next/server/app/sitemap.xml/route/app-paths-manifest.json +3 -0
  676. package/.next/server/app/sitemap.xml/route/build-manifest.json +9 -0
  677. package/.next/server/app/sitemap.xml/route/server-reference-manifest.json +4 -0
  678. package/.next/server/app/sitemap.xml/route.js +7 -0
  679. package/.next/server/app/sitemap.xml/route.js.map +5 -0
  680. package/.next/server/app/sitemap.xml/route.js.nft.json +1 -0
  681. package/.next/server/app/sitemap.xml/route_client-reference-manifest.js +3 -0
  682. package/.next/server/app/sitemap.xml.body +57 -0
  683. package/.next/server/app/sitemap.xml.meta +1 -0
  684. package/.next/server/app-paths-manifest.json +73 -0
  685. package/.next/server/chunks/[root-of-the-server]__02innbo._.js +3 -0
  686. package/.next/server/chunks/[root-of-the-server]__08gz4ev._.js +9 -0
  687. package/.next/server/chunks/[root-of-the-server]__0ikpexd._.js +3 -0
  688. package/.next/server/chunks/[root-of-the-server]__0o058no._.js +3 -0
  689. package/.next/server/chunks/[root-of-the-server]__0toqpcx._.js +3 -0
  690. package/.next/server/chunks/[root-of-the-server]__0uxzr4j._.js +18 -0
  691. package/.next/server/chunks/[root-of-the-server]__0vf65-u._.js +18 -0
  692. package/.next/server/chunks/[root-of-the-server]__11tyi9b._.js +3 -0
  693. package/.next/server/chunks/[root-of-the-server]__1b2s2i9._.js +3 -0
  694. package/.next/server/chunks/[root-of-the-server]__1gupgp6._.js +3 -0
  695. package/.next/server/chunks/[root-of-the-server]__1gwwrwu._.js +13 -0
  696. package/.next/server/chunks/[root-of-the-server]__1i2l3_y._.js +3 -0
  697. package/.next/server/chunks/[root-of-the-server]__1in2xyn._.js +3 -0
  698. package/.next/server/chunks/[root-of-the-server]__1l23p7q._.js +423 -0
  699. package/.next/server/chunks/[root-of-the-server]__1oz8gt4._.js +3 -0
  700. package/.next/server/chunks/[root-of-the-server]__203t_h6._.js +3 -0
  701. package/.next/server/chunks/[turbopack]_runtime.js +903 -0
  702. package/.next/server/chunks/_0akbaq8._.js +49 -0
  703. package/.next/server/chunks/_0gs9_1d._.js +3 -0
  704. package/.next/server/chunks/_0itm9_q._.js +32 -0
  705. package/.next/server/chunks/_0o0ouha._.js +406 -0
  706. package/.next/server/chunks/_0q5sg0f._.js +49 -0
  707. package/.next/server/chunks/_0s80k7f._.js +49 -0
  708. package/.next/server/chunks/_next-internal_server_app_api_auth_[___nextauth]_route_actions_08nexdk.js +3 -0
  709. package/.next/server/chunks/_next-internal_server_app_api_generate-icons_route_actions_1vs05x_.js +3 -0
  710. package/.next/server/chunks/_next-internal_server_app_api_media_[___path]_route_actions_1h3fp-y.js +3 -0
  711. package/.next/server/chunks/_next-internal_server_app_api_projects_route_actions_0h5ne2f.js +3 -0
  712. package/.next/server/chunks/_next-internal_server_app_api_upload_route_actions_1yybo5l.js +3 -0
  713. package/.next/server/chunks/_next-internal_server_app_api_v1_menus_[slug]_route_actions_0xyhax4.js +3 -0
  714. package/.next/server/chunks/_next-internal_server_app_api_v1_openapi_json_route_actions_0uiyuvh.js +3 -0
  715. package/.next/server/chunks/_next-internal_server_app_api_v1_projects_route_actions_1izl32g.js +3 -0
  716. package/.next/server/chunks/_next-internal_server_app_api_v1_theme_active_route_actions_10_9z_w.js +3 -0
  717. package/.next/server/chunks/_next-internal_server_app_robots_txt_route_actions_15vc_89.js +3 -0
  718. package/.next/server/chunks/_next-internal_server_app_sitemap_xml_route_actions_05l5km9.js +3 -0
  719. package/.next/server/chunks/src_1izba25._.js +3 -0
  720. package/.next/server/chunks/src_lib_db_migrations_ts_0ac-w7w._.js +3 -0
  721. package/.next/server/chunks/src_lib_plugins_0-zqdw1._.js +3 -0
  722. package/.next/server/chunks/src_lib_plugins_0do4hk0._.js +3 -0
  723. package/.next/server/chunks/src_lib_plugins_0fxwajo._.js +3 -0
  724. package/.next/server/chunks/src_lib_plugins_0k9sj-b._.js +3 -0
  725. package/.next/server/chunks/src_lib_plugins_0stv_td._.js +3 -0
  726. package/.next/server/chunks/src_lib_plugins_13jh1tv._.js +3 -0
  727. package/.next/server/chunks/src_lib_plugins_15fk2nk._.js +3 -0
  728. package/.next/server/chunks/src_lib_plugins_1_a4e2v._.js +3 -0
  729. package/.next/server/chunks/src_lib_plugins_1iyxb8g._.js +3 -0
  730. package/.next/server/chunks/src_lib_plugins_1zz-k4h._.js +3 -0
  731. package/.next/server/chunks/src_lib_plugins_hooks-manager_ts_0w0-cs7._.js +3 -0
  732. package/.next/server/chunks/src_lib_plugins_hooks-manager_ts_1_n_t28._.js +3 -0
  733. package/.next/server/chunks/src_lib_plugins_hooks-manager_ts_1k7vvvu._.js +3 -0
  734. package/.next/server/chunks/src_lib_plugins_plugin-manager_ts_0u18ngw._.js +20 -0
  735. package/.next/server/chunks/src_services_icon-generator_ts_0lu_6m6._.js +3 -0
  736. package/.next/server/chunks/ssr/[root-of-the-server]__0-pbj40._.js +3 -0
  737. package/.next/server/chunks/ssr/[root-of-the-server]__00w5t7w._.js +3 -0
  738. package/.next/server/chunks/ssr/[root-of-the-server]__019zubf._.js +6 -0
  739. package/.next/server/chunks/ssr/[root-of-the-server]__01rzrg7._.js +33 -0
  740. package/.next/server/chunks/ssr/[root-of-the-server]__0231nqg._.js +7 -0
  741. package/.next/server/chunks/ssr/[root-of-the-server]__03m3xqu._.js +4 -0
  742. package/.next/server/chunks/ssr/[root-of-the-server]__048u9gk._.js +3 -0
  743. package/.next/server/chunks/ssr/[root-of-the-server]__05px_h7._.js +4 -0
  744. package/.next/server/chunks/ssr/[root-of-the-server]__06bko-7._.js +3 -0
  745. package/.next/server/chunks/ssr/[root-of-the-server]__06i-jdb._.js +3 -0
  746. package/.next/server/chunks/ssr/[root-of-the-server]__06krvks._.js +3 -0
  747. package/.next/server/chunks/ssr/[root-of-the-server]__07i3m2x._.js +3 -0
  748. package/.next/server/chunks/ssr/[root-of-the-server]__08s00s8._.js +4 -0
  749. package/.next/server/chunks/ssr/[root-of-the-server]__09bgr6a._.js +3 -0
  750. package/.next/server/chunks/ssr/[root-of-the-server]__0_t--24._.js +3 -0
  751. package/.next/server/chunks/ssr/[root-of-the-server]__0_x-0vh._.js +4 -0
  752. package/.next/server/chunks/ssr/[root-of-the-server]__0ae1ufj._.js +4 -0
  753. package/.next/server/chunks/ssr/[root-of-the-server]__0b0jtbx._.js +4 -0
  754. package/.next/server/chunks/ssr/[root-of-the-server]__0cp3lxi._.js +3 -0
  755. package/.next/server/chunks/ssr/[root-of-the-server]__0d95wm4._.js +178 -0
  756. package/.next/server/chunks/ssr/[root-of-the-server]__0d_wuy_._.js +4 -0
  757. package/.next/server/chunks/ssr/[root-of-the-server]__0dbqhok._.js +7 -0
  758. package/.next/server/chunks/ssr/[root-of-the-server]__0frxadd._.js +4 -0
  759. package/.next/server/chunks/ssr/[root-of-the-server]__0fys6sm._.js +3 -0
  760. package/.next/server/chunks/ssr/[root-of-the-server]__0j3bv8t._.js +3 -0
  761. package/.next/server/chunks/ssr/[root-of-the-server]__0j8lu67._.js +3 -0
  762. package/.next/server/chunks/ssr/[root-of-the-server]__0jh6jht._.js +7 -0
  763. package/.next/server/chunks/ssr/[root-of-the-server]__0k0dnqx._.js +3 -0
  764. package/.next/server/chunks/ssr/[root-of-the-server]__0kvya50._.js +3 -0
  765. package/.next/server/chunks/ssr/[root-of-the-server]__0ln09ua._.js +3 -0
  766. package/.next/server/chunks/ssr/[root-of-the-server]__0owpb-h._.js +4 -0
  767. package/.next/server/chunks/ssr/[root-of-the-server]__0qaim5b._.js +3 -0
  768. package/.next/server/chunks/ssr/[root-of-the-server]__0qxwiny._.js +3 -0
  769. package/.next/server/chunks/ssr/[root-of-the-server]__0s909kg._.js +5 -0
  770. package/.next/server/chunks/ssr/[root-of-the-server]__0t_42ay._.js +3 -0
  771. package/.next/server/chunks/ssr/[root-of-the-server]__0td35iv._.js +3 -0
  772. package/.next/server/chunks/ssr/[root-of-the-server]__0uozdt3._.js +3 -0
  773. package/.next/server/chunks/ssr/[root-of-the-server]__0v4cmgw._.js +3 -0
  774. package/.next/server/chunks/ssr/[root-of-the-server]__0x3fc1x._.js +3 -0
  775. package/.next/server/chunks/ssr/[root-of-the-server]__0zng4gc._.js +3 -0
  776. package/.next/server/chunks/ssr/[root-of-the-server]__0zpw6l9._.js +10 -0
  777. package/.next/server/chunks/ssr/[root-of-the-server]__1--m0t_._.js +4 -0
  778. package/.next/server/chunks/ssr/[root-of-the-server]__11c23n7._.js +4 -0
  779. package/.next/server/chunks/ssr/[root-of-the-server]__11eb3yf._.js +3 -0
  780. package/.next/server/chunks/ssr/[root-of-the-server]__12-1koi._.js +3 -0
  781. package/.next/server/chunks/ssr/[root-of-the-server]__12yzdf7._.js +4 -0
  782. package/.next/server/chunks/ssr/[root-of-the-server]__14kikua._.js +3 -0
  783. package/.next/server/chunks/ssr/[root-of-the-server]__14nklad._.js +3 -0
  784. package/.next/server/chunks/ssr/[root-of-the-server]__161jo45._.js +6 -0
  785. package/.next/server/chunks/ssr/[root-of-the-server]__1699z9q._.js +3 -0
  786. package/.next/server/chunks/ssr/[root-of-the-server]__16wzjd0._.js +3 -0
  787. package/.next/server/chunks/ssr/[root-of-the-server]__17999of._.js +3 -0
  788. package/.next/server/chunks/ssr/[root-of-the-server]__17t3atq._.js +3 -0
  789. package/.next/server/chunks/ssr/[root-of-the-server]__18hrffj._.js +3 -0
  790. package/.next/server/chunks/ssr/[root-of-the-server]__1_1eler._.js +5 -0
  791. package/.next/server/chunks/ssr/[root-of-the-server]__1_5z9ae._.js +4 -0
  792. package/.next/server/chunks/ssr/[root-of-the-server]__1bb173v._.js +6 -0
  793. package/.next/server/chunks/ssr/[root-of-the-server]__1by5-kw._.js +3 -0
  794. package/.next/server/chunks/ssr/[root-of-the-server]__1cjc2pf._.js +3 -0
  795. package/.next/server/chunks/ssr/[root-of-the-server]__1dky4g0._.js +33 -0
  796. package/.next/server/chunks/ssr/[root-of-the-server]__1e-e9ts._.js +3 -0
  797. package/.next/server/chunks/ssr/[root-of-the-server]__1fcf-sc._.js +3 -0
  798. package/.next/server/chunks/ssr/[root-of-the-server]__1gvffjc._.js +3 -0
  799. package/.next/server/chunks/ssr/[root-of-the-server]__1hb8z30._.js +3 -0
  800. package/.next/server/chunks/ssr/[root-of-the-server]__1ijsxgu._.js +4 -0
  801. package/.next/server/chunks/ssr/[root-of-the-server]__1k-iu7e._.js +3 -0
  802. package/.next/server/chunks/ssr/[root-of-the-server]__1kc6u12._.js +3 -0
  803. package/.next/server/chunks/ssr/[root-of-the-server]__1kvtv9t._.js +3 -0
  804. package/.next/server/chunks/ssr/[root-of-the-server]__1mh1dn4._.js +4 -0
  805. package/.next/server/chunks/ssr/[root-of-the-server]__1mrc_j6._.js +3 -0
  806. package/.next/server/chunks/ssr/[root-of-the-server]__1n03uib._.js +3 -0
  807. package/.next/server/chunks/ssr/[root-of-the-server]__1nrl0j-._.js +3 -0
  808. package/.next/server/chunks/ssr/[root-of-the-server]__1o8b9b5._.js +3 -0
  809. package/.next/server/chunks/ssr/[root-of-the-server]__1p73x_8._.js +21 -0
  810. package/.next/server/chunks/ssr/[root-of-the-server]__1qronyg._.js +4 -0
  811. package/.next/server/chunks/ssr/[root-of-the-server]__1qtpts9._.js +3 -0
  812. package/.next/server/chunks/ssr/[root-of-the-server]__1rjv73_._.js +4 -0
  813. package/.next/server/chunks/ssr/[root-of-the-server]__1t88j-e._.js +3 -0
  814. package/.next/server/chunks/ssr/[root-of-the-server]__1vh47xh._.js +3 -0
  815. package/.next/server/chunks/ssr/[root-of-the-server]__1xwzktd._.js +3 -0
  816. package/.next/server/chunks/ssr/[root-of-the-server]__1yb7vqa._.js +3 -0
  817. package/.next/server/chunks/ssr/[root-of-the-server]__1ybv0-1._.js +4 -0
  818. package/.next/server/chunks/ssr/[root-of-the-server]__1zojehk._.js +3 -0
  819. package/.next/server/chunks/ssr/[root-of-the-server]__1zzv8wg._.js +3 -0
  820. package/.next/server/chunks/ssr/[root-of-the-server]__203pgu_._.js +4 -0
  821. package/.next/server/chunks/ssr/[root-of-the-server]__206dpju._.js +3 -0
  822. package/.next/server/chunks/ssr/[root-of-the-server]__2081g7v._.js +3 -0
  823. package/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
  824. package/.next/server/chunks/ssr/_01ovwyq._.js +3 -0
  825. package/.next/server/chunks/ssr/_01t25t0._.js +3 -0
  826. package/.next/server/chunks/ssr/_02rxcg9._.js +3 -0
  827. package/.next/server/chunks/ssr/_05jzsu5._.js +3 -0
  828. package/.next/server/chunks/ssr/_064htb5._.js +3 -0
  829. package/.next/server/chunks/ssr/_06ljqk-._.js +3 -0
  830. package/.next/server/chunks/ssr/_06rh1hs._.js +3 -0
  831. package/.next/server/chunks/ssr/_0761h9-._.js +3 -0
  832. package/.next/server/chunks/ssr/_08mru_6._.js +3 -0
  833. package/.next/server/chunks/ssr/_09jdue-._.js +3 -0
  834. package/.next/server/chunks/ssr/_09o1npz._.js +3 -0
  835. package/.next/server/chunks/ssr/_0f844z7._.js +3 -0
  836. package/.next/server/chunks/ssr/_0h33iks._.js +4 -0
  837. package/.next/server/chunks/ssr/_0h7vp8a._.js +3 -0
  838. package/.next/server/chunks/ssr/_0iso9zy._.js +3 -0
  839. package/.next/server/chunks/ssr/_0jtiosf._.js +3 -0
  840. package/.next/server/chunks/ssr/_0ju3jec._.js +3 -0
  841. package/.next/server/chunks/ssr/_0kdtd1g._.js +3 -0
  842. package/.next/server/chunks/ssr/_0m0s15u._.js +3 -0
  843. package/.next/server/chunks/ssr/_0mcg32m._.js +3 -0
  844. package/.next/server/chunks/ssr/_0md8k-z._.js +3 -0
  845. package/.next/server/chunks/ssr/_0nkwpql._.js +3 -0
  846. package/.next/server/chunks/ssr/_0qdyrxm._.js +3 -0
  847. package/.next/server/chunks/ssr/_0qwshew._.js +3 -0
  848. package/.next/server/chunks/ssr/_0u5a-qc._.js +11 -0
  849. package/.next/server/chunks/ssr/_0uhyhgs._.js +3 -0
  850. package/.next/server/chunks/ssr/_0untlx2._.js +3 -0
  851. package/.next/server/chunks/ssr/_0ux3lgb._.js +3 -0
  852. package/.next/server/chunks/ssr/_0vu77cg._.js +4 -0
  853. package/.next/server/chunks/ssr/_0wqsl8u._.js +3 -0
  854. package/.next/server/chunks/ssr/_0x4nyny._.js +3 -0
  855. package/.next/server/chunks/ssr/_0xki9b-._.js +3 -0
  856. package/.next/server/chunks/ssr/_1-wcqf6._.js +3 -0
  857. package/.next/server/chunks/ssr/_10imd--._.js +4 -0
  858. package/.next/server/chunks/ssr/_10vhw75._.js +3 -0
  859. package/.next/server/chunks/ssr/_11qqz7t._.js +3 -0
  860. package/.next/server/chunks/ssr/_122ck8v._.js +3 -0
  861. package/.next/server/chunks/ssr/_15vseqr._.js +11 -0
  862. package/.next/server/chunks/ssr/_15zvfgd._.js +3 -0
  863. package/.next/server/chunks/ssr/_17z_x3y._.js +3 -0
  864. package/.next/server/chunks/ssr/_18r74av._.js +3 -0
  865. package/.next/server/chunks/ssr/_1_44lzi._.js +3 -0
  866. package/.next/server/chunks/ssr/_1_4v3x_._.js +3 -0
  867. package/.next/server/chunks/ssr/_1_pgher._.js +11 -0
  868. package/.next/server/chunks/ssr/_1agt3s0._.js +3 -0
  869. package/.next/server/chunks/ssr/_1b7_khb._.js +3 -0
  870. package/.next/server/chunks/ssr/_1bn2xzv._.js +27 -0
  871. package/.next/server/chunks/ssr/_1hb_oxg._.js +3 -0
  872. package/.next/server/chunks/ssr/_1ijzz5f._.js +4 -0
  873. package/.next/server/chunks/ssr/_1k43z2u._.js +11 -0
  874. package/.next/server/chunks/ssr/_1l22w_w._.js +4 -0
  875. package/.next/server/chunks/ssr/_1lhtejs._.js +3 -0
  876. package/.next/server/chunks/ssr/_1pq1vao._.js +3 -0
  877. package/.next/server/chunks/ssr/_1pulrwl._.js +4 -0
  878. package/.next/server/chunks/ssr/_1pvmkr2._.js +4 -0
  879. package/.next/server/chunks/ssr/_1sseqap._.js +3 -0
  880. package/.next/server/chunks/ssr/_1t5o-7-._.js +3 -0
  881. package/.next/server/chunks/ssr/_1v6p1r4._.js +3 -0
  882. package/.next/server/chunks/ssr/_1ygdvzw._.js +406 -0
  883. package/.next/server/chunks/ssr/_1zm01h0._.js +3 -0
  884. package/.next/server/chunks/ssr/_212t7ar._.js +4 -0
  885. package/.next/server/chunks/ssr/_next-internal_server_app_(website)_blog_page_actions_0htgius.js +3 -0
  886. package/.next/server/chunks/ssr/_next-internal_server_app_(website)_projects_page_actions_0yl59aa.js +3 -0
  887. package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +3 -0
  888. package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +3 -0
  889. package/.next/server/chunks/ssr/_next-internal_server_app_admin_analytics_page_actions_0ouoca5.js +3 -0
  890. package/.next/server/chunks/ssr/_next-internal_server_app_admin_audit_page_actions_100c-2b.js +3 -0
  891. package/.next/server/chunks/ssr/_next-internal_server_app_admin_cms_seo_page_actions_04ch0cw.js +3 -0
  892. package/.next/server/chunks/ssr/_next-internal_server_app_admin_content_banners_page_actions_0-d-r-g.js +3 -0
  893. package/.next/server/chunks/ssr/_next-internal_server_app_admin_content_blogs_page_actions_1ztc8gs.js +3 -0
  894. package/.next/server/chunks/ssr/_next-internal_server_app_admin_content_faqs_page_actions_1xnqyso.js +3 -0
  895. package/.next/server/chunks/ssr/_next-internal_server_app_admin_content_news_page_actions_1gpo9am.js +3 -0
  896. package/.next/server/chunks/ssr/_next-internal_server_app_admin_content_testimonials_page_actions_1ws-6_l.js +3 -0
  897. package/.next/server/chunks/ssr/_next-internal_server_app_admin_geography_cities_page_actions_1scon20.js +3 -0
  898. package/.next/server/chunks/ssr/_next-internal_server_app_admin_geography_localities_page_actions_1vi7qev.js +3 -0
  899. package/.next/server/chunks/ssr/_next-internal_server_app_admin_leads_followups_page_actions_0m2a79u.js +3 -0
  900. package/.next/server/chunks/ssr/_next-internal_server_app_admin_leads_mine_page_actions_10jrm6o.js +3 -0
  901. package/.next/server/chunks/ssr/_next-internal_server_app_admin_leads_page_actions_0wkzvvw.js +3 -0
  902. package/.next/server/chunks/ssr/_next-internal_server_app_admin_leads_site-visits_page_actions_0ef8irn.js +3 -0
  903. package/.next/server/chunks/ssr/_next-internal_server_app_admin_media_page_actions_12s61sa.js +3 -0
  904. package/.next/server/chunks/ssr/_next-internal_server_app_admin_newsletter_page_actions_0qgoyqq.js +3 -0
  905. package/.next/server/chunks/ssr/_next-internal_server_app_admin_people_agents_page_actions_07o3yv4.js +3 -0
  906. package/.next/server/chunks/ssr/_next-internal_server_app_admin_people_builders_page_actions_1p4m2vf.js +3 -0
  907. package/.next/server/chunks/ssr/_next-internal_server_app_admin_projects_amenities_page_actions_0gnvl70.js +3 -0
  908. package/.next/server/chunks/ssr/_next-internal_server_app_admin_projects_floor-plans_page_actions_0irs5n4.js +3 -0
  909. package/.next/server/chunks/ssr/_next-internal_server_app_admin_projects_page_actions_0eoy9q8.js +3 -0
  910. package/.next/server/chunks/ssr/_next-internal_server_app_admin_projects_updates_page_actions_1z2-c1_.js +3 -0
  911. package/.next/server/chunks/ssr/_next-internal_server_app_admin_rbac_permissions_page_actions_0qr9qdk.js +3 -0
  912. package/.next/server/chunks/ssr/_next-internal_server_app_admin_rbac_roles_page_actions_0dsj4cz.js +3 -0
  913. package/.next/server/chunks/ssr/_next-internal_server_app_admin_settings_page_actions_1roqeui.js +3 -0
  914. package/.next/server/chunks/ssr/_next-internal_server_app_admin_system_about_page_actions_0yaw3jt.js +3 -0
  915. package/.next/server/chunks/ssr/_next-internal_server_app_admin_system_page_actions_0j2_k7x.js +3 -0
  916. package/.next/server/chunks/ssr/_next-internal_server_app_admin_users_page_actions_1j4t7lq.js +3 -0
  917. package/.next/server/chunks/ssr/_next-internal_server_app_login_page_actions_04fnjo0.js +3 -0
  918. package/.next/server/chunks/ssr/node_modules_0i5nbz4._.js +3 -0
  919. package/.next/server/chunks/ssr/node_modules_0jfdpts._.js +3 -0
  920. package/.next/server/chunks/ssr/node_modules_15r7fe3._.js +3 -0
  921. package/.next/server/chunks/ssr/node_modules_1ljbe5b._.js +3 -0
  922. package/.next/server/chunks/ssr/node_modules_1lncub1._.js +3 -0
  923. package/.next/server/chunks/ssr/node_modules_1sj92aq._.js +3 -0
  924. package/.next/server/chunks/ssr/node_modules_@hookform_resolvers_zod_dist_zod_mjs_1r0evpe._.js +64 -0
  925. package/.next/server/chunks/ssr/node_modules_@radix-ui_react-dismissable-layer_dist_index_mjs_0o6peqa._.js +3 -0
  926. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_1u0f3q9._.js +3 -0
  927. package/.next/server/chunks/ssr/node_modules_next_0xo97fe._.js +3 -0
  928. package/.next/server/chunks/ssr/node_modules_next_13dl5wv._.js +3 -0
  929. package/.next/server/chunks/ssr/node_modules_next_1iemwhs._.js +6 -0
  930. package/.next/server/chunks/ssr/node_modules_next_1wttvxu._.js +10 -0
  931. package/.next/server/chunks/ssr/node_modules_next_dist_042r-9z._.js +10 -0
  932. package/.next/server/chunks/ssr/node_modules_next_dist_08rcp7s._.js +6 -0
  933. package/.next/server/chunks/ssr/node_modules_next_dist_0b4ex_-._.js +6 -0
  934. package/.next/server/chunks/ssr/node_modules_next_dist_0c1t3pv._.js +5 -0
  935. package/.next/server/chunks/ssr/node_modules_next_dist_0f-8op-._.js +3 -0
  936. package/.next/server/chunks/ssr/node_modules_next_dist_0uboya6._.js +6 -0
  937. package/.next/server/chunks/ssr/node_modules_next_dist_1te8ea9._.js +10 -0
  938. package/.next/server/chunks/ssr/node_modules_next_dist_1zcd-31._.js +19 -0
  939. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0bew68i._.js +33 -0
  940. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0p8s4lh._.js +3 -0
  941. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0-o-goa.js +3 -0
  942. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +3 -0
  943. package/.next/server/chunks/ssr/node_modules_next_dist_compiled_@opentelemetry_api_index_1oy1nwh.js +3 -0
  944. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-rvco9.js +4 -0
  945. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00-ej16.js +4 -0
  946. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00o520t.js +4 -0
  947. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0364wpt.js +4 -0
  948. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_042e8t7.js +4 -0
  949. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06371k6.js +4 -0
  950. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_065ioi-.js +4 -0
  951. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_065ucmp.js +4 -0
  952. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_07xspmt.js +4 -0
  953. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0997zt9.js +4 -0
  954. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0bldg61.js +4 -0
  955. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ce1o22.js +4 -0
  956. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ev8lol.js +4 -0
  957. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0h8duxi.js +4 -0
  958. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0jd9tbw.js +4 -0
  959. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0m2nddr.js +4 -0
  960. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0qxhhyh.js +4 -0
  961. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ul_lex.js +4 -0
  962. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0witsdr.js +4 -0
  963. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0wm77a2.js +4 -0
  964. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0xbuzd_.js +4 -0
  965. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0z--ss3.js +4 -0
  966. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0z_b1dm.js +4 -0
  967. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_10yontc.js +4 -0
  968. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_11pjhv8.js +4 -0
  969. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12wtbem.js +4 -0
  970. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1310mqk.js +4 -0
  971. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_140antp.js +4 -0
  972. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_142wdaz.js +4 -0
  973. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_145ule4.js +4 -0
  974. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_16bo5s0.js +4 -0
  975. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_16ewi9s.js +4 -0
  976. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_17507i_.js +4 -0
  977. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_17bgyg6.js +4 -0
  978. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18-nfab.js +4 -0
  979. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18kc121.js +4 -0
  980. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z.js +4 -0
  981. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1aoid6k.js +4 -0
  982. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1axmpud.js +4 -0
  983. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dazhx6.js +4 -0
  984. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dtsze0.js +4 -0
  985. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1er3swv.js +4 -0
  986. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1erbyis.js +4 -0
  987. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1f9twkf.js +4 -0
  988. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1fo7o-g.js +4 -0
  989. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ft9pc4.js +4 -0
  990. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1gned9r.js +4 -0
  991. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1gwa9nd.js +4 -0
  992. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1hiij-d.js +4 -0
  993. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1j7zrly.js +4 -0
  994. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1kvcv-t.js +4 -0
  995. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mud2hm.js +4 -0
  996. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ol_8un.js +4 -0
  997. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1sbx_y8.js +4 -0
  998. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1t164sc.js +4 -0
  999. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1tpxax4.js +4 -0
  1000. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1zx_c1f.js +4 -0
  1001. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_2060y-l.js +4 -0
  1002. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_209lfto.js +4 -0
  1003. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_21ai4sx.js +4 -0
  1004. package/.next/server/chunks/ssr/node_modules_react-hook-form_dist_index_esm_mjs_0sajker._.js +3 -0
  1005. package/.next/server/chunks/ssr/node_modules_sonner_dist_index_mjs_084dxi0._.js +3 -0
  1006. package/.next/server/chunks/ssr/src_0eue_vu._.js +3 -0
  1007. package/.next/server/chunks/ssr/src_1g_i3ay._.js +3 -0
  1008. package/.next/server/chunks/ssr/src_actions_cms_ts_0_rm7-x._.js +3 -0
  1009. package/.next/server/chunks/ssr/src_app_admin_cms_pages_[id]_edit_page-editor-client_tsx_0hbosvr._.js +3 -0
  1010. package/.next/server/chunks/ssr/src_components_admin_branding_icon-generator_tsx_0-p-crb._.js +3 -0
  1011. package/.next/server/chunks/ssr/src_components_admin_projects_project-form_tsx_0ynt29x._.js +3 -0
  1012. package/.next/server/chunks/ssr/src_components_admin_theme_theme-editor_tsx_0ec47ja._.js +9 -0
  1013. package/.next/server/chunks/ssr/src_components_projects_project-detail-client_tsx_0qyb-f-._.js +3 -0
  1014. package/.next/server/chunks/ssr/src_components_projects_projects-page-client_tsx_0en0vh2._.js +3 -0
  1015. package/.next/server/chunks/ssr/src_components_setup_setup-wizard_tsx_17wfyof._.js +8 -0
  1016. package/.next/server/chunks/ssr/src_lib_db_migrations_ts_1dudk3y._.js +3 -0
  1017. package/.next/server/chunks/ssr/src_lib_plugins_04c32j1._.js +3 -0
  1018. package/.next/server/chunks/ssr/src_lib_plugins_hooks-manager_ts_04m6z7f._.js +3 -0
  1019. package/.next/server/chunks/ssr/src_lib_utils_ts_0m4hn6s._.js +3 -0
  1020. package/.next/server/chunks/ssr/src_repositories_index_ts_0r1uc5x._.js +20 -0
  1021. package/.next/server/chunks/ssr/src_schemas_index_ts_1nckxn9._.js +64 -0
  1022. package/.next/server/functions-config-manifest.json +15 -0
  1023. package/.next/server/instrumentation.js +4 -0
  1024. package/.next/server/middleware-build-manifest.js +23 -0
  1025. package/.next/server/middleware-manifest.json +6 -0
  1026. package/.next/server/middleware.js +6 -0
  1027. package/.next/server/next-font-manifest.js +1 -0
  1028. package/.next/server/next-font-manifest.json +361 -0
  1029. package/.next/server/pages/404.html +111 -0
  1030. package/.next/server/pages/500.html +1 -0
  1031. package/.next/server/pages-manifest.json +4 -0
  1032. package/.next/server/prefetch-hints.json +1 -0
  1033. package/.next/server/server-reference-manifest.js +1 -0
  1034. package/.next/server/server-reference-manifest.json +966 -0
  1035. package/.next/static/81gZJnh1KWfMhrvOF9la3/_buildManifest.js +11 -0
  1036. package/.next/static/81gZJnh1KWfMhrvOF9la3/_clientMiddlewareManifest.js +6 -0
  1037. package/.next/static/81gZJnh1KWfMhrvOF9la3/_ssgManifest.js +1 -0
  1038. package/.next/static/chunks/0-kuhskq5vcgg.js +1 -0
  1039. package/.next/static/chunks/00he13i4_kavh.js +1 -0
  1040. package/.next/static/chunks/00kbml8v-iysh.js +62 -0
  1041. package/.next/static/chunks/00rj7a6copw81.js +1 -0
  1042. package/.next/static/chunks/089hpqd21yqs-.js +1 -0
  1043. package/.next/static/chunks/0cv15y55g-vbq.js +1 -0
  1044. package/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
  1045. package/.next/static/chunks/0fx3sa9bhruh-.js +1 -0
  1046. package/.next/static/chunks/0kvbpapcvyqza.js +1 -0
  1047. package/.next/static/chunks/0o7oz3w2i4is1.js +1 -0
  1048. package/.next/static/chunks/0oqr-ue93pczz.js +1 -0
  1049. package/.next/static/chunks/0pwgm534jn6iw.js +1 -0
  1050. package/.next/static/chunks/0rsmpebtsrdft.js +1 -0
  1051. package/.next/static/chunks/0t1cupau1mtgy.js +1 -0
  1052. package/.next/static/chunks/0y4lkzby6pn69.js +1 -0
  1053. package/.next/static/chunks/0zgx7qa3n-o6u.js +1 -0
  1054. package/.next/static/chunks/0zqog_yngqq7z.js +9 -0
  1055. package/.next/static/chunks/1-i12hn5j1tc1.js +1 -0
  1056. package/.next/static/chunks/11pcx9jz6m8mh.js +1 -0
  1057. package/.next/static/chunks/140uhyh3ph87m.js +3 -0
  1058. package/.next/static/chunks/14px0n2lc1773.js +8 -0
  1059. package/.next/static/chunks/15zxneal6mec1.css +1 -0
  1060. package/.next/static/chunks/1902bgggagxq9.js +9 -0
  1061. package/.next/static/chunks/1_m6rlpr7qg9c.js +1 -0
  1062. package/.next/static/chunks/1ck9hpq1413sl.js +1 -0
  1063. package/.next/static/chunks/1cth1frd0_70k.css +4 -0
  1064. package/.next/static/chunks/1fsgqt-kdd8fl.js +1 -0
  1065. package/.next/static/chunks/1hame1c35m1cl.js +1 -0
  1066. package/.next/static/chunks/1ntn7efqc-iiw.js +1 -0
  1067. package/.next/static/chunks/1pwy0ti-uue8r.js +1 -0
  1068. package/.next/static/chunks/1q0w9ewl3z_h6.js +1 -0
  1069. package/.next/static/chunks/1rm737diirj6u.js +1 -0
  1070. package/.next/static/chunks/1rv1psbhy_z98.js +1 -0
  1071. package/.next/static/chunks/1tbfriywhx1pb.js +1 -0
  1072. package/.next/static/chunks/1ycd5by80-dnr.js +31 -0
  1073. package/.next/static/chunks/20lykhw4m0xj7.js +9 -0
  1074. package/.next/static/chunks/263r2j2npbofi.js +1 -0
  1075. package/.next/static/chunks/2d9me2ckcnr7h.js +1 -0
  1076. package/.next/static/chunks/2fyzgog8nf5lt.js +1 -0
  1077. package/.next/static/chunks/2kw34i4gw2ajr.js +9 -0
  1078. package/.next/static/chunks/2lxsome0g-c_0.js +1 -0
  1079. package/.next/static/chunks/2xln3s9fcx9bl.js +1 -0
  1080. package/.next/static/chunks/2yl1jv4w6po1z.js +1 -0
  1081. package/.next/static/chunks/2znxknt46t0sw.js +9 -0
  1082. package/.next/static/chunks/30qbmzgby_p2-.js +1 -0
  1083. package/.next/static/chunks/32ewdom11wcw5.js +1 -0
  1084. package/.next/static/chunks/36-tbikyofe31.js +1 -0
  1085. package/.next/static/chunks/38rdy0o7-0ox6.js +1 -0
  1086. package/.next/static/chunks/3ca4nuauhd2e6.js +1 -0
  1087. package/.next/static/chunks/3dektbsbvis8f.js +2 -0
  1088. package/.next/static/chunks/3en21d5viwrkl.js +9 -0
  1089. package/.next/static/chunks/3eqzcsfmr98tt.js +1 -0
  1090. package/.next/static/chunks/3f49air8y0adp.js +15 -0
  1091. package/.next/static/chunks/3ibw_8tcpt3lm.js +1 -0
  1092. package/.next/static/chunks/3kghfbcpnl0zl.js +6 -0
  1093. package/.next/static/chunks/3l79bq5f4k76s.js +1 -0
  1094. package/.next/static/chunks/3me6cr4hl9rom.js +3 -0
  1095. package/.next/static/chunks/3nc6x0_y5iwnk.js +4 -0
  1096. package/.next/static/chunks/3nd1su4ab5n-7.js +1 -0
  1097. package/.next/static/chunks/3p_incroe7yaz.js +1 -0
  1098. package/.next/static/chunks/3tb1sr9733xjr.js +1 -0
  1099. package/.next/static/chunks/3ussphcvkyzyx.js +1 -0
  1100. package/.next/static/chunks/3z1-57w4d36df.js +1 -0
  1101. package/.next/static/chunks/439j5tnd92-48.js +9 -0
  1102. package/.next/static/chunks/turbopack-1pu6kb-h4iekj.js +1 -0
  1103. package/.next/static/media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2 +0 -0
  1104. package/.next/static/media/14e23f9b59180572-s.0t8ljjjn9wtsx.woff2 +0 -0
  1105. package/.next/static/media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2 +0 -0
  1106. package/.next/static/media/2a65768255d6b625-s.p.3u4lli0-axodc.woff2 +0 -0
  1107. package/.next/static/media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2 +0 -0
  1108. package/.next/static/media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2 +0 -0
  1109. package/.next/static/media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2 +0 -0
  1110. package/.next/static/media/53b9e256198e5412-s.390ncx5urfkfu.woff2 +0 -0
  1111. package/.next/static/media/5476f68d60460930-s.2uwcyprjm3xu3.woff2 +0 -0
  1112. package/.next/static/media/65c558afe41e89d6-s.3jppgd0xzx-0d.woff2 +0 -0
  1113. package/.next/static/media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2 +0 -0
  1114. package/.next/static/media/7178b3e590c64307-s.21jp631_3pja2.woff2 +0 -0
  1115. package/.next/static/media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2 +0 -0
  1116. package/.next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2 +0 -0
  1117. package/.next/static/media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2 +0 -0
  1118. package/.next/static/media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2 +0 -0
  1119. package/.next/static/media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2 +0 -0
  1120. package/.next/static/media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2 +0 -0
  1121. package/.next/static/media/b49b0d9b851e4899-s.2zyohmvb-ks7f.woff2 +0 -0
  1122. package/.next/static/media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2 +0 -0
  1123. package/.next/static/media/cc545e633e20c56d-s.176arc174-8zp.woff2 +0 -0
  1124. package/.next/static/media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2 +0 -0
  1125. package/LICENSE +21 -0
  1126. package/README.md +96 -0
  1127. package/bin/cli.js +435 -0
  1128. package/package.json +111 -0
  1129. package/public/favicon.ico +0 -0
  1130. package/public/file.svg +1 -0
  1131. package/public/globe.svg +1 -0
  1132. package/public/icons/android-chrome-192x192.png +0 -0
  1133. package/public/icons/android-chrome-512x512.png +0 -0
  1134. package/public/icons/apple-touch-icon.png +0 -0
  1135. package/public/icons/favicon-16x16.png +0 -0
  1136. package/public/icons/favicon-32x32.png +0 -0
  1137. package/public/icons/favicon-48x48.png +0 -0
  1138. package/public/icons/icon-128x128.png +0 -0
  1139. package/public/icons/icon-144x144.png +0 -0
  1140. package/public/icons/icon-152x152.png +0 -0
  1141. package/public/icons/icon-384x384.png +0 -0
  1142. package/public/icons/icon-72x72.png +0 -0
  1143. package/public/icons/icon-96x96.png +0 -0
  1144. package/public/icons/icon.png +0 -0
  1145. package/public/icons/ms-tile-150x150.png +0 -0
  1146. package/public/icons/og-image.png +0 -0
  1147. package/public/icons/twitter-card.png +0 -0
  1148. package/public/logo/logo.png +0 -0
  1149. package/public/logo/vertical_logo.png +0 -0
  1150. package/public/manifest.json +31 -0
  1151. package/public/next.svg +1 -0
  1152. package/public/og/propHero.png +0 -0
  1153. package/public/og/propVault.png +0 -0
  1154. package/public/vercel.svg +1 -0
  1155. package/public/window.svg +1 -0
  1156. package/server.js +44 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[883419,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d=a.i(109307),e=a.i(257807);async function f(){try{let a=await e.repositories.pages.findAll();return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function g(a){try{let b=await e.repositories.pages.findById(a);if(!b)return{success:!1,error:"Page not found"};return{success:!0,data:b}}catch(a){return{success:!1,error:a.message}}}async function h(a){try{let b=await (0,d.auth)();if(!b?.user?.id)return{success:!1,error:"Unauthorized"};if(await e.repositories.pages.findBy("slug",a.slug))return{success:!1,error:"A page with this slug already exists"};let f=await e.repositories.pages.create({...a,content:a.content??JSON.stringify({version:"1.0",blocks:[]}),template:a.template??"default",publish_status:a.publish_status??"draft",created_by:b.user.id});return(0,c.revalidatePath)("/admin/cms/pages"),{success:!0,data:f}}catch(a){return{success:!1,error:a.message}}}async function i(a,b){try{let f=await (0,d.auth)();if(!f?.user?.id)return{success:!1,error:"Unauthorized"};let g=await e.repositories.pages.findById(a);if(!g)return{success:!1,error:"Page not found"};await e.repositories.pageRevisions.createRevision(a,g.title,g.content,f.user.id);let h=await e.repositories.pages.update(a,b);if(!h)return{success:!1,error:"Update failed"};return(0,c.revalidatePath)("/admin/cms/pages"),(0,c.revalidatePath)(`/${g.slug}`),{success:!0,data:h}}catch(a){return{success:!1,error:a.message}}}async function j(a){return i(a,{publish_status:"published",published_at:new Date().toISOString()})}async function k(a){return i(a,{publish_status:"draft"})}async function l(a){try{let b=await (0,d.auth)();if(!b?.user?.id)return{success:!1,error:"Unauthorized"};let f=await e.repositories.pages.delete(a);return(0,c.revalidatePath)("/admin/cms/pages"),{success:!0,data:f}}catch(a){return{success:!1,error:a.message}}}async function m(a,b){return i(a,{content:JSON.stringify(b)})}async function n(a){try{let b=await e.repositories.pageRevisions.findByPage(a);return{success:!0,data:b}}catch(a){return{success:!1,error:a.message}}}async function o(){try{let a=await e.repositories.navigationMenus.findAll();return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function p(a){try{let b=await e.repositories.navigationMenus.findById(a);if(!b)return{success:!1,error:"Menu not found"};let c=await e.repositories.menuItems.findByMenu(a);return{success:!0,data:{...b,items:c}}}catch(a){return{success:!1,error:a.message}}}async function q(a,b){try{for(let b of(await e.repositories.menuItems.findByMenu(a)))await e.repositories.menuItems.delete(b.id);for(let c of b)await e.repositories.menuItems.create({menu_id:a,label:c.label,url:c.url,page_id:c.page_id,parent_id:c.parent_id??null,target:c.target??"_self",icon:c.icon,sort_order:c.sort_order,is_active:c.is_active});return(0,c.revalidatePath)("/admin/cms/menus"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function r(){try{let a=await e.repositories.redirects.findAll();return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function s(a){try{return await e.repositories.redirects.create(a),(0,c.revalidatePath)("/admin/cms/redirects"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function t(a){try{return await e.repositories.redirects.delete(a),(0,c.revalidatePath)("/admin/cms/redirects"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function u(){try{let a=await e.repositories.settings.db.execute("SELECT * FROM email_templates ORDER BY name ASC");return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function v(b){try{if(b.id){let a=e.repositories.settings.db;await a.execute("UPDATE email_templates SET name=?, slug=?, subject=?, html_body=?, text_body=?, variables=?, description=?, is_active=?, updated_at=? WHERE id=?",[b.name,b.slug,b.subject,b.html_body,b.text_body??"",b.variables??"",b.description??"",b.is_active?"1":"0",new Date().toISOString(),b.id])}else{let c=e.repositories.settings.db,{v4:d}=await a.A(837706);await c.execute("INSERT INTO email_templates (id, name, slug, subject, html_body, text_body, variables, description, is_active, created_at, updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?)",[d(),b.name,b.slug,b.subject,b.html_body,b.text_body??"",b.variables??"",b.description??"",b.is_active?"1":"0",new Date().toISOString(),new Date().toISOString()])}return(0,c.revalidatePath)("/admin/cms/email-templates"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function w(a){try{let b=await e.repositories.settings.getGroup(a);return{success:!0,data:b}}catch(a){return{success:!1,error:a.message}}}async function x(a,b){try{for(let[a,c]of Object.entries(b))await e.repositories.settings.set(a,c);return(0,c.revalidatePath)("/admin/settings"),(0,c.revalidatePath)("/"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function y(){try{let a=await e.repositories.settings.getAll();return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function z(){try{let a=await e.repositories.themes.findAll();return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function A(){try{let a=await e.repositories.themes.getActive();return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function B(a){try{return await e.repositories.themes.setActive(a),(0,c.revalidatePath)("/"),(0,c.revalidatePath)("/admin"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function C(a){try{if(a.id){let b=await e.repositories.themes.findBySlug(a.slug);if(b&&b.id!==a.id)return{success:!1,error:"A theme with this slug or name already exists."};await e.repositories.themes.update(a.id,a)}else{if(await e.repositories.themes.findBySlug(a.slug))return{success:!1,error:"A theme with this slug or name already exists."};await e.repositories.themes.create({...a,is_active:!1,is_system:!1})}return(0,c.revalidatePath)("/admin/theme"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function D(a){try{let b=await e.repositories.themes.exportTheme(a);if(!b)return{success:!1,error:"Theme not found"};return{success:!0,data:b}}catch(a){return{success:!1,error:a.message}}}async function E(a){try{let b=JSON.parse(a),d=await e.repositories.themes.findBySlug(b.slug);return d?await e.repositories.themes.update(d.id,{name:b.name,description:b.description,tokens:JSON.stringify(b.tokens),version:b.version,author:b.author}):await e.repositories.themes.create({name:b.name,slug:b.slug,description:b.description,tokens:JSON.stringify(b.tokens),version:b.version,author:b.author,is_active:!1,is_system:!1}),(0,c.revalidatePath)("/admin/theme"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function F(a){try{let b=await e.repositories.themes.findById(a);if(!b)return{success:!1,error:"Theme not found"};let d=`${b.slug}-copy-${Math.random().toString(36).slice(2,6)}`;return await e.repositories.themes.create({name:`${b.name} (Copy)`,slug:d,description:b.description,tokens:b.tokens,is_active:!1,is_system:!1,author:"PropVault Custom",version:"1.0"}),(0,c.revalidatePath)("/admin/theme"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function G(b){try{if(!await e.repositories.themes.findById(b))return{success:!1,error:"Theme not found"};let{getSystemDefaultTokens:d}=await a.A(245770),f=d();return await e.repositories.themes.update(b,{tokens:JSON.stringify(f)}),(0,c.revalidatePath)("/admin/theme"),(0,c.revalidatePath)("/"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function H(a){try{let b=await e.repositories.themes.findById(a);if(!b)return{success:!1,error:"Theme not found"};let d=b.is_active;if("1"===d||"1.0"===d||"true"===d||!0===d)return{success:!1,error:"Cannot delete the active theme."};return await e.repositories.themes.delete(a),(0,c.revalidatePath)("/admin/theme"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function I(){try{let a=await (0,d.auth)();if(!a?.user?.id)return{success:!1,error:"Unauthorized"};let b=await e.repositories.settings.db.execute("SELECT id, name, key_prefix, permissions, is_active, last_used_at, expires_at, rate_limit, created_at FROM api_keys WHERE user_id = ? ORDER BY created_at DESC",[a.user.id]);return{success:!0,data:b}}catch(a){return{success:!1,error:a.message}}}async function J(b){try{let f=await (0,d.auth)();if(!f?.user?.id)return{success:!1,error:"Unauthorized"};let{v4:g}=await a.A(837706),h=await a.A(485685),i=`pv_${g().replace(/-/g,"")}`,j=i.slice(0,10),k=h.createHash("sha256").update(i).digest("hex"),l=e.repositories.settings.db;return await l.execute("INSERT INTO api_keys (id, name, key_hash, key_prefix, user_id, permissions, is_active, rate_limit, expires_at, created_at, updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?)",[g(),b.name,k,j,f.user.id,b.permissions??"","1",String(b.rate_limit??1e3),b.expires_at??"",new Date().toISOString(),new Date().toISOString()]),(0,c.revalidatePath)("/admin/settings/api-keys"),{success:!0,data:{key:i,prefix:j}}}catch(a){return{success:!1,error:a.message}}}async function K(a){try{let b=e.repositories.settings.db;return await b.execute("UPDATE api_keys SET is_active = '0', updated_at = ? WHERE id = ?",[new Date().toISOString(),a]),(0,c.revalidatePath)("/admin/settings/api-keys"),{success:!0,data:!0}}catch(a){return{success:!1,error:a.message}}}async function L(){try{let a=(await e.repositories.projects.findAll()).filter(a=>"published"===a.publish_status||"published"===a.status);return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function M(){try{let a=(await e.repositories.builders.findAll()).filter(a=>"1"===String(a.is_active)||!0===a.is_active);return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}async function N(){try{let a=(await e.repositories.agents.findAll()).filter(a=>"1"===String(a.is_active)||!0===a.is_active);return{success:!0,data:a}}catch(a){return{success:!1,error:a.message}}}(0,a.i(713095).ensureServerEntryExports)([f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N]),(0,b.registerServerReference)(f,"00cc48f0f653676639d916b0b2812d6f947ad93882",null),(0,b.registerServerReference)(g,"40b226a309aa70423b00921d65417856d5192119f1",null),(0,b.registerServerReference)(h,"400d7c5de8c911aa1451b3417694804211d835ba5b",null),(0,b.registerServerReference)(i,"6020a297e3fd7deb8f19188192e97b93d0f00f33b4",null),(0,b.registerServerReference)(j,"40491e13c34b160127e0728ff9231cdb61a44a9031",null),(0,b.registerServerReference)(k,"40c26456aa123b8ba0887fe6e82095d560cdf5f235",null),(0,b.registerServerReference)(l,"4005fdff8e35ceb504814ca50a6b06817b2e6b2c1c",null),(0,b.registerServerReference)(m,"60dd31271122c807118ac25f777211a5379c879cd4",null),(0,b.registerServerReference)(n,"409104a6e5c5e187da336471d52862d6849212b945",null),(0,b.registerServerReference)(o,"0003b6e96d1d4728fb7fc6f0b6bce3686ec143cf12",null),(0,b.registerServerReference)(p,"40ba2d71366cd621902d2c3a63f295859659a479cc",null),(0,b.registerServerReference)(q,"60bc80a2fbc6b5ad421966a68eb7fb7af2e8d92a0e",null),(0,b.registerServerReference)(r,"006311e6febb62b47dc95da21079abf8ab8bbe50e9",null),(0,b.registerServerReference)(s,"40be6e2dd0bc4c20bfa751078f962befc55102a996",null),(0,b.registerServerReference)(t,"4065d507ed2911e8cd62951693455462bf2796f2e5",null),(0,b.registerServerReference)(u,"00b10623c9f2dd5239eade6c2618ccadc046f08a1f",null),(0,b.registerServerReference)(v,"40366c16402ef1d69b9b2c0657421e97fe0dfbdbd8",null),(0,b.registerServerReference)(w,"401cc5a0d02e3471bb9cb7114f2c66f3a48945b073",null),(0,b.registerServerReference)(x,"60943df2f95bdd57b09fe75171ce8faaea7c6566f4",null),(0,b.registerServerReference)(y,"00994dc96b9aa43e16b8f4009c0b5acadfecd227f9",null),(0,b.registerServerReference)(z,"00c2e91fe161539890a550a3e38ea91e60608c83c9",null),(0,b.registerServerReference)(A,"00bf22031330d14de8a943cfef53ab27a6c5adf8e2",null),(0,b.registerServerReference)(B,"4064e41cc0857f390c46374824dbb2a0c8a69d3c01",null),(0,b.registerServerReference)(C,"40fc8287535c514744bf050f489c80b78f2b517bae",null),(0,b.registerServerReference)(D,"40434b2df0d08ac7599ee16fe926fee0cef3e513d5",null),(0,b.registerServerReference)(E,"40bf86678b28d2d4e1b00d380d586ee4e2a013925e",null),(0,b.registerServerReference)(F,"40b723ed39b83027664342440f714dc651726d3c23",null),(0,b.registerServerReference)(G,"409d3835dbadcce7891d108cc38aca7df9dd59cd79",null),(0,b.registerServerReference)(H,"406a081c58cd1c8fc33d4e319bc2c608934e1ba9b0",null),(0,b.registerServerReference)(I,"0019ae0967e5acb14e32268bc3e9349e89c66fb26c",null),(0,b.registerServerReference)(J,"40a4e33544eac4558d46f01f8e3a48d33cc477802f",null),(0,b.registerServerReference)(K,"405bd5acd94357f9694d9c92a8a741119ae1c29574",null),(0,b.registerServerReference)(L,"00bb978d79c73575497dd6082dd2e81be6fcd00859",null),(0,b.registerServerReference)(M,"00b17e35464e69aafc2513bcf365e1f48ddb6dfff6",null),(0,b.registerServerReference)(N,"0078edb00f14e2ce06b7f70eff5732a076fa0cbdc7",null),a.s(["activateTheme",0,B,"createApiKey",0,J,"createPage",0,h,"createRedirect",0,s,"deletePage",0,l,"deleteRedirect",0,t,"deleteTheme",0,H,"duplicateTheme",0,F,"exportTheme",0,D,"getActiveTheme",0,A,"getAllSettings",0,y,"getApiKeys",0,I,"getEmailTemplates",0,u,"getMenuWithItems",0,p,"getMenus",0,o,"getPage",0,g,"getPageRevisions",0,n,"getPages",0,f,"getPublicAgents",0,N,"getPublicBuilders",0,M,"getPublicProjects",0,L,"getRedirects",0,r,"getSettingsGroup",0,w,"getThemes",0,z,"importTheme",0,E,"publishPage",0,j,"resetTheme",0,G,"revokeApiKey",0,K,"saveEmailTemplate",0,v,"saveMenuItems",0,q,"savePageBlocks",0,m,"saveSettingsGroup",0,x,"saveTheme",0,C,"unpublishPage",0,k,"updatePage",0,i])}];
2
+
3
+ //# sourceMappingURL=src_actions_cms_ts_0_rm7-x._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[600592,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(823292),f=a.i(262036),g=a.i(403512),h=a.i(980180),i=a.i(341476),j=a.i(589027),k=a.i(585650),l=a.i(755681),m=a.i(777064),n=a.i(442674),n=n,o=a.i(348982),o=o,p=a.i(879675),q=a.i(696732),r=a.i(873019),s=a.i(982453),t=a.i(71215),u=a.i(803649),u=u,v=a.i(520293),w=a.i(328423),x=a.i(360061),x=x,y=a.i(285888),z=a.i(308311),A=a.i(704803),A=A,B=a.i(104647),C=a.i(682314),C=C,D=a.i(149429),D=D,E=a.i(492378),F=a.i(483138),G=a.i(113608),H=a.i(912265),I=a.i(371789),I=I,J=a.i(139353),K=a.i(674078),K=K,L=a.i(640268),L=L,M=a.i(847730),M=M,N=a.i(368114),O=a.i(699570),P=a.i(866718),Q=a.i(870430),R=a.i(429246),S=a.i(563658),T=a.i(692351),U=a.i(224453),V=a.i(675181);let W=[{type:"hero",label:"Hero Banner",description:"Full-width hero with headline, subtitle, and CTA",icon:r.Layout,category:"Layout",defaultConfig:{title:"Signature Real Estate Collection",subtitle:"Discover curated premium luxury apartments, villas, and commercial spaces across India's top cities.",backgroundImage:"https://images.unsplash.com/photo-1600585154340-be6161a56a0c",primaryBtnText:"Explore Properties",primaryBtnLink:"/projects",secondaryBtnText:"Contact Advisory",secondaryBtnLink:"/contact",overlayOpacity:.6,align:"center",height:"600px"}},{type:"heading",label:"Heading",description:"Section title with optional subtitle",icon:s.Type,category:"Typography",defaultConfig:{title:"Section Heading",level:"h2",subtitle:"",align:"center"}},{type:"text",label:"Rich Text",description:"Formatted text content block",icon:F.FileText,category:"Typography",defaultConfig:{content:"Your content goes here...",align:"left"}},{type:"image",label:"Image",description:"Single image with optional caption",icon:t.Image,category:"Media",defaultConfig:{src:"",alt:"",caption:"",width:"full",rounded:!0}},{type:"gallery",label:"Gallery",description:"Grid or masonry photo gallery",icon:C.default,category:"Media",defaultConfig:{images:[],columns:3,gap:"medium",style:"grid"}},{type:"video",label:"Video",description:"Embedded video player",icon:u.default,category:"Media",defaultConfig:{url:"",autoplay:!1,loop:!1,muted:!0,poster:""}},{type:"testimonials",label:"Testimonials",description:"Customer testimonials carousel",icon:w.MessageSquare,category:"Social Proof",defaultConfig:{items:[],layout:"carousel",show_rating:!0}},{type:"pricing",label:"Pricing Table",description:"Pricing plans with features",icon:x.default,category:"Commerce",defaultConfig:{plans:[],columns:3,highlight_index:1}},{type:"team",label:"Team Grid",description:"Team member profiles",icon:y.Users,category:"People",defaultConfig:{members:[],columns:4,show_social:!0}},{type:"timeline",label:"Timeline",description:"Chronological events",icon:z.Clock,category:"Content",defaultConfig:{events:[],layout:"vertical",alternating:!0}},{type:"faq",label:"FAQ Accordion",description:"Frequently asked questions accordion",icon:A.default,category:"Content",defaultConfig:{items:[],style:"accordion"}},{type:"counters",label:"Counters",description:"Animated stat counters",icon:v.BarChart2,category:"Content",defaultConfig:{items:[{label:"Projects",value:500,suffix:"+"}],columns:4}},{type:"cta",label:"Call to Action",description:"High-impact CTA section",icon:E.Zap,category:"Conversion",defaultConfig:{headline:"Ready to Get Started?",description:"",primary_label:"Contact Us",primary_url:"/contact",secondary_label:"",secondary_url:"",background:"primary"}},{type:"property_grid",label:"Property Grid",description:"Featured properties from database",icon:C.default,category:"Real Estate",defaultConfig:{title:"Featured Listings",subtitle:"Curated premium properties",limit:6}},{type:"builders_grid",label:"Builders Grid",description:"Developer partners logos",icon:D.default,category:"Real Estate",defaultConfig:{title:"Our Developer Partners",subtitle:"RERA verified creators only",limit:8}},{type:"map",label:"Interactive Map",description:"Google or Leaflet Map container",icon:B.Map,category:"Layout",defaultConfig:{title:"Location Coordinates",address:"Bandra Kurla Complex, Mumbai, India",latitude:"19.0596",longitude:"72.8696"}}],X=()=>Math.random().toString(36).substring(2,9),Y={"site.name":"PropVault","site.description":"Signature Luxury Real Estate Collection. Direct builder pricing and RERA verified only.","organization.industry":"Luxury Real Estate","contact.email":"concierge@propvault.luxury","contact.phone":"+91 99999 88888","contact.address":"Marina One Suite, Bandra Kurla Complex, Mumbai","footer.certifications":"RERA Registration No: AG000001234","site.tagline":"Frictionless Luxury Housing","branding.logo":"/logo/logo.png","navigation.header":JSON.stringify([{label:"Home",href:"/"},{label:"Projects",href:"/projects"},{label:"Builders",href:"/builders"},{label:"Blog",href:"/blog"},{label:"Contact",href:"/contact"}])};function Z({block:a,onChange:c}){let d=W.find(b=>b.type===a.type),e=a.config||{},f=(a,b)=>{c({...e,[a]:b})};return(0,b.jsxs)("div",{className:"h-full overflow-y-auto",children:[(0,b.jsxs)("div",{className:"p-4 border-b border-border sticky top-0 bg-card/95 backdrop-blur-sm z-10",children:[(0,b.jsxs)("p",{className:"text-sm font-semibold text-foreground flex items-center gap-1.5",children:[(0,b.jsx)(M.default,{className:"w-4 h-4 text-primary"})," ",d?.label??a.type]}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground",children:d?.description})]}),(0,b.jsxs)("div",{className:"p-4 space-y-5",children:[(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(Q.Label,{className:"text-xs font-bold text-foreground uppercase tracking-wider block border-b pb-1",children:"Spacing & Spans"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase",children:"Padding Top"}),(0,b.jsx)(P.Input,{placeholder:"py-16",value:String(e.paddingTop||""),onChange:a=>f("paddingTop",a.target.value),className:"h-7 text-[11px]"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase",children:"Padding Bottom"}),(0,b.jsx)(P.Input,{placeholder:"py-16",value:String(e.paddingBottom||""),onChange:a=>f("paddingBottom",a.target.value),className:"h-7 text-[11px]"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase",children:"Margin Top"}),(0,b.jsx)(P.Input,{placeholder:"mt-0",value:String(e.marginTop||""),onChange:a=>f("marginTop",a.target.value),className:"h-7 text-[11px]"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase",children:"Margin Bottom"}),(0,b.jsx)(P.Input,{placeholder:"mb-0",value:String(e.marginBottom||""),onChange:a=>f("marginBottom",a.target.value),className:"h-7 text-[11px]"})]})]})]}),(0,b.jsxs)("div",{className:"space-y-3 border-t pt-3 border-border/40",children:[(0,b.jsx)(Q.Label,{className:"text-xs font-bold text-foreground uppercase tracking-wider block border-b pb-1",children:"Elementor Advanced"}),(0,b.jsxs)("div",{className:"space-y-1.5 pt-1",children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase block mb-1",children:"Responsive Hide Rules"}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between py-1",children:[(0,b.jsx)("span",{className:"text-[11px] text-foreground",children:"Hide on Desktop"}),(0,b.jsx)(S.Switch,{checked:!!e.hideOnDesktop,onCheckedChange:a=>f("hideOnDesktop",a)})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between py-1",children:[(0,b.jsx)("span",{className:"text-[11px] text-foreground",children:"Hide on Tablet"}),(0,b.jsx)(S.Switch,{checked:!!e.hideOnTablet,onCheckedChange:a=>f("hideOnTablet",a)})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between py-1",children:[(0,b.jsx)("span",{className:"text-[11px] text-foreground",children:"Hide on Mobile"}),(0,b.jsx)(S.Switch,{checked:!!e.hideOnMobile,onCheckedChange:a=>f("hideOnMobile",a)})]})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase",children:"Entry Animation"}),(0,b.jsxs)("select",{value:String(e.entryAnimation||"none"),onChange:a=>f("entryAnimation",a.target.value),className:"w-full text-xs p-1.5 border border-border bg-card rounded-md focus:ring-1 focus:ring-primary focus:outline-none",children:[(0,b.jsx)("option",{value:"none",children:"None"}),(0,b.jsx)("option",{value:"fade-in",children:"Fade In"}),(0,b.jsx)("option",{value:"zoom-in",children:"Zoom In"}),(0,b.jsx)("option",{value:"slide-up",children:"Slide Up"}),(0,b.jsx)("option",{value:"slide-down",children:"Slide Down"})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase",children:"Background Gradient / Overlay"}),(0,b.jsx)(P.Input,{placeholder:"linear-gradient(to right, #000, #fff)",value:String(e.backgroundGradient||""),onChange:a=>f("backgroundGradient",a.target.value),className:"h-8 text-xs font-mono"})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(Q.Label,{className:"text-[9px] text-muted-foreground uppercase",children:"Custom CSS"}),(0,b.jsx)(R.Textarea,{placeholder:"opacity: 0.9; transform: rotate(1deg);",value:String(e.customCSS||""),onChange:a=>f("customCSS",a.target.value),className:"text-xs font-mono min-h-[50px] leading-snug"})]})]}),(0,b.jsxs)("div",{className:"space-y-3 border-t pt-3 border-border/40",children:[(0,b.jsx)(Q.Label,{className:"text-xs font-bold text-foreground uppercase tracking-wider block border-b pb-1",children:"Block Properties"}),Object.entries(e).filter(([a,b])=>!Array.isArray(b)&&"object"!=typeof b&&!["paddingTop","paddingBottom","marginTop","marginBottom","borderRadius","boxShadow","typographyClass","hideOnDesktop","hideOnTablet","hideOnMobile","entryAnimation","backgroundGradient","customCSS"].includes(a)).map(([a,c])=>{let d,e;return d=a.toLowerCase().includes("color")||"backgroundColor"===a||"textColor"===a,e="description"===a||"subtitle"===a||"content"===a||"code"===a,"boolean"==typeof c?(0,b.jsxs)("div",{className:"flex items-center justify-between py-1.5",children:[(0,b.jsx)(Q.Label,{className:"capitalize text-xs text-muted-foreground",children:a.replace(/_/g," ")}),(0,b.jsx)(S.Switch,{checked:c,onCheckedChange:b=>f(a,b)})]},a):(0,b.jsxs)("div",{className:"space-y-1.5 pt-1",children:[(0,b.jsx)(Q.Label,{className:"capitalize text-[10px] font-bold text-muted-foreground",children:a.replace(/_/g," ")}),d?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(P.Input,{type:"color",value:String(c||"#000000"),onChange:b=>f(a,b.target.value),className:"w-10 h-8 p-1 bg-transparent border rounded shrink-0 cursor-pointer"}),(0,b.jsx)(P.Input,{value:String(c||""),onChange:b=>f(a,b.target.value),className:"h-8 text-xs font-mono"})]}):e?(0,b.jsx)(R.Textarea,{value:String(c||""),onChange:b=>f(a,b.target.value),className:"text-xs leading-relaxed min-h-[60px]"}):(0,b.jsx)(P.Input,{value:String(c||""),onChange:b=>f(a,b.target.value),className:"h-8 text-xs"})]},a)}),Object.entries(e).filter(([a,b])=>Array.isArray(b)&&!["paddingTop","paddingBottom","marginTop","marginBottom","borderRadius","boxShadow","typographyClass","hideOnDesktop","hideOnTablet","hideOnMobile","entryAnimation","backgroundGradient","customCSS"].includes(a)).map(([a,c])=>"items"===a||"features"===a||"counters"===a?(0,b.jsxs)("div",{className:"space-y-4 pt-4 border-t border-border/60",children:[(0,b.jsx)(Q.Label,{className:"text-xs font-bold text-foreground uppercase tracking-wider capitalize",children:a}),(0,b.jsx)("div",{className:"space-y-3",children:c.map((c,d)=>(0,b.jsxs)("div",{className:"p-3 rounded-lg border border-border bg-secondary/20 space-y-2 relative",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border/60 pb-1",children:[(0,b.jsxs)("span",{className:"text-[11px] font-semibold text-muted-foreground",children:["Item #",d+1]}),(0,b.jsx)("button",{onClick:()=>{let b;return b=Array.isArray(e[a])?[...e[a]]:[],void f(a,b.filter((a,b)=>b!==d))},className:"text-muted-foreground hover:text-destructive transition-colors",children:(0,b.jsx)(h.Trash2,{className:"h-3.5 w-3.5"})})]}),Object.keys(c).map(g=>(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(Q.Label,{className:"text-[10px] text-muted-foreground capitalize",children:g}),(0,b.jsx)(P.Input,{value:c[g]||"",onChange:b=>{var c;let h;return c=b.target.value,void((h=Array.isArray(e[a])?[...e[a]]:[])[d]&&(h[d]={...h[d],[g]:c},f(a,h)))},className:"h-8 text-xs"})]},g))]},d))}),(0,b.jsxs)(O.Button,{onClick:()=>{var b;let d;return b=c[0]?{...c[0]}:{title:"New Item",desc:""},d=Array.isArray(e[a])?[...e[a]]:[],void f(a,[...d,b])},variant:"outline",size:"sm",className:"w-full text-xs py-1 h-8",children:[(0,b.jsx)(g.Plus,{className:"h-3 w-3 mr-1"})," Add Item"]})]},a):null)]})]})]})}function $({initialTree:a,pageId:d,pageTitle:s="Untitled Page",onSave:t,onPublish:u}){let v=a?.blocks??[],[w,x]=(0,c.useState)(v),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)("blocks"),[D,E]=(0,c.useState)(""),[F,M]=(0,c.useState)(!1),[Q,R]=(0,c.useState)(!1),[S,_]=(0,c.useState)("desktop"),[aa,ab]=(0,c.useState)(1),[ac,ad]=(0,c.useState)(!1),[ae,af]=(0,c.useState)(new Set),[ag,ah]=(0,c.useState)(new Set),[ai,aj]=(0,c.useState)({}),[ak,al]=(0,c.useState)([{blocks:v,selectedId:null}]),[am,an]=(0,c.useState)(0),ao=(0,c.useCallback)((a,b)=>{al(c=>[...c.slice(0,am+1),{blocks:a,selectedId:b}].slice(-50)),an(a=>Math.min(a+1,50))},[am]),ap=(a,b)=>{let c=w.findIndex(b=>b.id===a);if(c<0||"up"===b&&0===c||"down"===b&&c===w.length-1)return;let d=[...w],e="up"===b?c-1:c+1;[d[c],d[e]]=[d[e],d[c]],x(d),ao(d,a)},aq=async()=>{M(!0);try{await t({version:"1.0",blocks:w}),e.toast.success("Draft saved successfully!")}catch{e.toast.error("Failed to save draft.")}finally{M(!1)}},ar=w.find(a=>a.id===y)??null,as=W.filter(a=>!D||a.label.toLowerCase().includes(D.toLowerCase()));return(0,b.jsxs)("div",{className:"flex flex-col h-screen bg-background overflow-hidden select-none",children:[(0,b.jsxs)("div",{className:"h-14 border-b border-border bg-card/80 backdrop-blur-sm flex items-center px-4 gap-3 shrink-0 z-20 justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("h1",{className:"text-sm font-semibold text-foreground truncate max-w-[150px]",children:s}),(0,b.jsxs)("span",{className:"text-[10px] bg-secondary/80 text-muted-foreground px-2 py-0.5 rounded-full",children:[w.length," blocks"]})]}),!Q&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"flex items-center border border-border bg-secondary/30 rounded-lg p-0.5 gap-0.5",children:["desktop","laptop","tablet-landscape","tablet-portrait","mobile-large","mobile-small"].map(a=>(0,b.jsx)("button",{onClick:()=>_(a),className:(0,N.cn)("px-2 py-1 rounded-md text-[10px] font-semibold capitalize transition-all",S===a?"bg-primary text-primary-foreground shadow":"text-muted-foreground hover:text-foreground"),children:a.replace("-"," ")},a))}),(0,b.jsxs)("div",{className:"flex items-center border border-border bg-secondary/30 rounded-lg p-0.5 gap-0.5",children:[(0,b.jsx)("button",{onClick:()=>ab(a=>Math.max(.5,a-.1)),className:"p-1 rounded text-muted-foreground hover:bg-secondary",title:"Zoom Out",children:(0,b.jsx)(I.default,{className:"w-3.5 h-3.5"})}),(0,b.jsxs)("span",{className:"text-[10px] font-mono px-1 text-muted-foreground",children:[Math.round(100*aa),"%"]}),(0,b.jsx)("button",{onClick:()=>ab(a=>Math.min(1.5,a+.1)),className:"p-1 rounded text-muted-foreground hover:bg-secondary",title:"Zoom In",children:(0,b.jsx)(H.ZoomIn,{className:"w-3.5 h-3.5"})}),(0,b.jsx)("button",{onClick:()=>ab(1),className:"p-1 rounded text-[9px] text-muted-foreground hover:bg-secondary font-bold",title:"Reset Zoom",children:"100%"})]}),(0,b.jsx)("button",{onClick:()=>ad(!ac),className:(0,N.cn)("p-1.5 rounded-lg border border-border hover:bg-secondary text-muted-foreground transition-all",ac&&"bg-primary/10 border-primary text-primary"),title:"Dotted Canvas Grid",children:(0,b.jsx)(C.default,{className:"w-3.5 h-3.5"})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-0.5 mr-2",children:[(0,b.jsx)("button",{onClick:()=>{if(am<=0)return;let a=ak[am-1];x(a.blocks),z(a.selectedId),an(a=>a-1),e.toast.info("Action Undone")},disabled:am<=0,className:"h-8 w-8 rounded-lg hover:bg-secondary flex items-center justify-center text-muted-foreground disabled:opacity-30 transition-colors",title:"Undo",children:(0,b.jsx)(n.default,{className:"h-4 w-4"})}),(0,b.jsx)("button",{onClick:()=>{if(am>=ak.length-1)return;let a=ak[am+1];x(a.blocks),z(a.selectedId),an(a=>a+1),e.toast.info("Action Redone")},disabled:am>=ak.length-1,className:"h-8 w-8 rounded-lg hover:bg-secondary flex items-center justify-center text-muted-foreground disabled:opacity-30 transition-colors",title:"Redo",children:(0,b.jsx)(o.default,{className:"h-4 w-4"})})]}),(0,b.jsxs)("button",{onClick:()=>R(a=>!a),className:(0,N.cn)("h-8 px-3 rounded-lg text-xs font-medium flex items-center gap-2 transition-colors",Q?"bg-primary/15 text-primary":"hover:bg-secondary text-muted-foreground"),children:[Q?(0,b.jsx)(m.EyeOff,{className:"h-3.5 w-3.5"}):(0,b.jsx)(l.Eye,{className:"h-3.5 w-3.5"}),Q?"Exit Preview":"Preview Mode"]}),(0,b.jsxs)(O.Button,{onClick:aq,disabled:F,variant:"outline",size:"sm",className:"gap-2",children:[(0,b.jsx)(p.Save,{className:"h-3.5 w-3.5"}),F?"Saving…":"Save Draft"]}),u&&(0,b.jsxs)(O.Button,{onClick:u,size:"sm",className:"btn-gold gap-2",children:[(0,b.jsx)(q.Globe,{className:"h-3.5 w-3.5"}),"Publish"]})]})]}),(0,b.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[!Q&&(0,b.jsxs)("div",{className:"w-72 border-r border-border bg-card/60 flex flex-col shrink-0",children:[(0,b.jsx)("div",{className:"flex border-b border-border",children:["blocks","layers"].map(a=>(0,b.jsx)("button",{onClick:()=>B(a),className:(0,N.cn)("flex-1 py-3 text-xs font-semibold capitalize transition-colors",A===a?"text-primary border-b-2 border-primary":"text-muted-foreground hover:text-foreground"),children:a},a))}),"blocks"===A&&(0,b.jsxs)("div",{className:"flex-1 flex flex-col min-h-0",children:[(0,b.jsx)("div",{className:"p-3 border-b border-border shrink-0",children:(0,b.jsx)(P.Input,{placeholder:"Search blocks...",value:D,onChange:a=>E(a.target.value),className:"h-8 text-xs"})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-2 space-y-4",children:["Layout","Typography","Media","Social Proof","Commerce","People","Content","Real Estate"].map(a=>{let c=as.filter(b=>b.category===a);return 0===c.length?null:(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-widest px-2 mb-1",children:a}),c.map(a=>(0,b.jsxs)("div",{onClick:()=>{let b,c;x(c=[...w,b={id:X(),type:a.type,config:{...a.defaultConfig}}]),z(b.id),B("properties"),ao(c,b.id),e.toast.success(`${a.label} block added`)},className:"w-full flex items-center gap-3 px-3 py-2.5 rounded-xl hover:bg-secondary text-left transition-colors cursor-pointer group",children:[(0,b.jsx)("div",{className:"h-8 w-8 rounded-lg bg-secondary group-hover:bg-primary/10 flex items-center justify-center shrink-0 transition-colors",children:(0,b.jsx)(a.icon,{className:"h-4 w-4 text-muted-foreground group-hover:text-primary transition-colors"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-xs font-medium text-foreground",children:a.label}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground truncate",children:a.description})]})]},a.type))]},a)})})]}),"layers"===A&&(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 space-y-2",children:[(0,b.jsxs)("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground mb-3 flex items-center gap-1.5",children:[(0,b.jsx)(L.default,{className:"w-3.5 h-3.5 text-primary"})," Page Hierarchy"]}),w.map((a,c)=>{let d=y===a.id,e=ae.has(a.id),f=ag.has(a.id),g=W.find(b=>b.type===a.type),h=g?.icon||r.Layout,i=ai[a.id]||g?.label||a.type;return(0,b.jsxs)("div",{onClick:()=>{z(a.id),B("properties")},className:(0,N.cn)("flex items-center justify-between p-2.5 rounded-xl border cursor-pointer transition-all",d?"bg-primary/10 border-primary text-primary":"bg-card/45 border-border hover:bg-secondary/40 text-foreground"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5 min-w-0",children:[(0,b.jsx)(h,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(P.Input,{value:i,onClick:a=>a.stopPropagation(),onChange:b=>{var c,d;return c=a.id,d=b.target.value,void aj(a=>({...a,[c]:d}))},className:"h-6 px-1 border-0 bg-transparent text-xs font-medium p-0 focus-visible:ring-1 focus-visible:ring-primary focus-visible:bg-background/80"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 shrink-0",onClick:a=>a.stopPropagation(),children:[(0,b.jsx)("button",{onClick:()=>{var b;return b=a.id,void af(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:(0,N.cn)("p-1 rounded hover:bg-secondary text-muted-foreground",e&&"text-primary bg-primary/5"),title:e?"Unlock block":"Lock block",children:e?(0,b.jsx)(J.Lock,{className:"h-3 w-3"}):(0,b.jsx)(K.default,{className:"h-3 w-3"})}),(0,b.jsx)("button",{onClick:()=>{var b;return b=a.id,void ah(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:(0,N.cn)("p-1 rounded hover:bg-secondary text-muted-foreground",f&&"text-destructive bg-destructive/5"),title:f?"Show block":"Hide block",children:f?(0,b.jsx)(m.EyeOff,{className:"h-3 w-3"}):(0,b.jsx)(l.Eye,{className:"h-3 w-3"})}),(0,b.jsx)("button",{onClick:()=>ap(a.id,"up"),disabled:0===c,className:"p-1 rounded hover:bg-secondary text-muted-foreground disabled:opacity-30",children:(0,b.jsx)(G.ChevronUp,{className:"h-3 w-3"})}),(0,b.jsx)("button",{onClick:()=>ap(a.id,"down"),disabled:c===w.length-1,className:"p-1 rounded hover:bg-secondary text-muted-foreground disabled:opacity-30",children:(0,b.jsx)(j.ChevronDown,{className:"h-3 w-3"})})]})]},a.id)})]})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto bg-muted/20 relative p-8 flex justify-center items-start min-h-[90vh]",children:[ac&&(0,b.jsx)("div",{className:"absolute inset-0 z-0 pointer-events-none opacity-40",style:{backgroundImage:"radial-gradient(circle, hsl(var(--border)) 1.5px, transparent 1.5px)",backgroundSize:"20px 20px"}}),(0,b.jsx)("div",{style:{width:Q?"100%":`${({desktop:1440,laptop:1024,"tablet-landscape":1024,"tablet-portrait":768,"mobile-large":425,"mobile-small":320})[S]}px`,transform:`scale(${aa})`,transformOrigin:"top center"},className:(0,N.cn)("transition-all duration-300 relative bg-background border border-border shadow-2xl overflow-hidden min-h-[85vh]",!Q&&"desktop"!==S&&"rounded-3xl ring-8 ring-secondary"),onClick:()=>z(null),children:(0,b.jsxs)("div",{className:"flex flex-col min-h-screen text-foreground relative",children:[(0,b.jsx)(U.Navbar,{settings:Y}),(0,b.jsx)("div",{className:"flex-grow pt-16 pb-20",children:0===w.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center gap-4 py-24 text-center",children:[(0,b.jsx)(g.Plus,{className:"h-8 w-8 text-muted-foreground"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"font-medium text-foreground",children:"Start building your visual page layout"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Select visual blocks from the left sidebar to add them"})]})]}):(0,b.jsx)(f.AnimatePresence,{mode:"popLayout",children:w.map((a,c)=>{let d=y===a.id,f=ae.has(a.id),g=ag.has(a.id),i=W.find(b=>b.type===a.type),l=ai[a.id]||i?.label||a.type;if(g)return null;let m=a.config?.customCSS?`#block-${a.id} { ${a.config.customCSS} }`:"";return(0,b.jsxs)("div",{id:`block-${a.id}`,onClick:b=>{(b.stopPropagation(),f)?e.toast.info("Block is locked. Unlock it in the Layers panel to edit."):(z(a.id),B("properties"))},style:{marginTop:a.config?.marginTop?String(a.config.marginTop):void 0,marginBottom:a.config?.marginBottom?String(a.config.marginBottom):void 0,paddingTop:a.config?.paddingTop?String(a.config.paddingTop):void 0,paddingBottom:a.config?.paddingBottom?String(a.config.paddingBottom):void 0,borderRadius:a.config?.borderRadius?String(a.config.borderRadius):void 0,boxShadow:a.config?.boxShadow?String(a.config.boxShadow):void 0,background:a.config?.backgroundGradient?String(a.config.backgroundGradient):void 0},className:(0,N.cn)("relative group transition-all duration-200 border-2 cursor-pointer",d?"border-primary ring-4 ring-primary/10":"border-transparent hover:border-primary/30",!!a.config?.hideOnDesktop&&!Q&&"opacity-40 border-dashed",!!a.config?.hideOnTablet&&!Q&&"opacity-40 border-dashed",!!a.config?.hideOnMobile&&!Q&&"opacity-40 border-dashed"),children:[m&&(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:m}}),!Q&&(0,b.jsx)("div",{className:"absolute top-0 left-0 bg-primary text-primary-foreground text-[9px] font-bold px-2 py-0.5 rounded-br-lg z-30 opacity-60 group-hover:opacity-100 transition-opacity",children:l}),!Q&&!f&&(0,b.jsxs)("div",{className:"absolute top-3 right-3 z-30 flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity bg-background border border-border p-1 rounded-lg shadow-lg",onClick:a=>a.stopPropagation(),children:[(0,b.jsx)("button",{onClick:()=>ap(a.id,"up"),disabled:0===c,className:"h-6 w-6 rounded-md hover:bg-secondary flex items-center justify-center text-muted-foreground disabled:opacity-30",children:(0,b.jsx)(G.ChevronUp,{className:"h-3.5 w-3.5"})}),(0,b.jsx)("button",{onClick:()=>ap(a.id,"down"),disabled:c===w.length-1,className:"h-6 w-6 rounded-md hover:bg-secondary flex items-center justify-center text-muted-foreground disabled:opacity-30",children:(0,b.jsx)(j.ChevronDown,{className:"h-3.5 w-3.5"})}),(0,b.jsx)("button",{onClick:()=>(a=>{let b=w.find(b=>b.id===a);if(!b)return;let c={...b,id:X(),config:{...b.config}},d=w.findIndex(b=>b.id===a),f=[...w.slice(0,d+1),c,...w.slice(d+1)];x(f),z(c.id),ao(f,c.id),e.toast.success("Block duplicated")})(a.id),className:"h-6 w-6 rounded-md hover:bg-secondary flex items-center justify-center text-muted-foreground",children:(0,b.jsx)(k.Copy,{className:"h-3.5 w-3.5"})}),(0,b.jsx)("button",{onClick:()=>{var b;let c;return b=a.id,void(x(c=w.filter(a=>a.id!==b)),z(a=>a===b?null:a),ao(c,y===b?null:y),e.toast.error("Block removed"))},className:"h-6 w-6 rounded-md hover:bg-destructive/15 flex items-center justify-center text-muted-foreground hover:text-destructive",children:(0,b.jsx)(h.Trash2,{className:"h-3.5 w-3.5"})})]}),(0,b.jsx)(T.PageBuilderRenderer,{layout:[a]})]},a.id)})})}),(0,b.jsx)(V.Footer,{settings:Y})]})})]}),!Q&&(0,b.jsx)("div",{className:"w-80 border-l border-border bg-card/60 flex flex-col shrink-0",children:ar?(0,b.jsx)(Z,{block:ar,onChange:a=>{let b;return y&&void(x(b=w.map(b=>b.id===y?{...b,config:a}:b)),ao(b,y))}}):(0,b.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center p-6 text-center text-muted-foreground",children:[(0,b.jsx)(i.Settings,{className:"w-8 h-8 mb-2 opacity-40"}),(0,b.jsx)("p",{className:"text-xs font-semibold",children:"No block selected"}),(0,b.jsx)("p",{className:"text-[10px] mt-1",children:"Select a block on the visual canvas to edit its spacing, typography, and content values."})]})})]})]})}var _=a.i(405050);let aa=(0,_.createServerReference)("60dd31271122c807118ac25f777211a5379c879cd4",_.callServer,void 0,_.findSourceMapURL,"savePageBlocks"),ab=(0,_.createServerReference)("40491e13c34b160127e0728ff9231cdb61a44a9031",_.callServer,void 0,_.findSourceMapURL,"publishPage");a.s(["default",0,function({page:a}){let f,g=(0,d.useRouter)(),[h,i]=(0,c.useTransition)();try{if(a.content){let b=JSON.parse(a.content);if(Array.isArray(b)){let a=b.map(a=>({id:a.id||`blk_${Math.random().toString(36).slice(2,9)}`,type:a.type,config:a.settings||a.config||{}}));f={version:"1.0",blocks:a}}else if(b&&"object"==typeof b){let a=b.blocks||[];f={version:b.version||"1.0",blocks:a}}}}catch(a){}f?.blocks||(f={version:"1.0",blocks:[]});let j=async b=>{let c=await aa(a.id,b);c.success?e.toast.success("Draft saved successfully"):e.toast.error(c.error??"Failed to save")},k=async()=>{i(async()=>{let b=await ab(a.id);b.success?(e.toast.success("Page published!"),g.refresh()):e.toast.error(b.error??"Failed to publish")})};return(0,b.jsx)($,{initialTree:f,pageId:a.id,pageTitle:a.title,onSave:j,onPublish:"published"!==a.publish_status?k:void 0})}],600592)}];
2
+
3
+ //# sourceMappingURL=src_app_admin_cms_pages_%5Bid%5D_edit_page-editor-client_tsx_0hbosvr._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[627870,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(346271),e=a.i(262036),f=a.i(823292),g=a.i(201661),h=a.i(875160),i=a.i(613412),j=a.i(71215),k=a.i(526634),l=a.i(341476),m=a.i(1195),n=a.i(609225),n=n,o=a.i(699570),p=a.i(771511),q=a.i(46216);a.s(["BrandingEditor",0,function({initialValues:a}){let[r,s]=(0,c.useState)("assets"),[t,u]=(0,c.useState)(a.logo),[v,w]=(0,c.useState)(a.logo_dark),[x,y]=(0,c.useState)(a.favicon),[z,A]=(0,c.useState)(a.apple_icon),[B,C]=(0,c.useState)(a.og_image),[D,E]=(0,c.useState)(!1),[F,G]=(0,c.useState)(null),[H,I]=(0,c.useState)(""),[J,K]=(0,c.useState)(!1),[L,M]=(0,c.useState)(0),[N,O]=(0,c.useState)(""),[P,Q]=(0,c.useState)([]),R=(0,c.useRef)(null),S=async(a,b,c)=>{let d=f.toast.loading(`Uploading ${c}…`);try{let e=new FormData;e.append("file",a);let g=await fetch("/api/upload",{method:"POST",body:e});if(!g.ok)throw Error("Upload request failed");let h=await g.json();if(h.success&&h.url)b(h.url),f.toast.success(`${c} uploaded successfully!`,{id:d});else throw Error(h.error||"Failed to retrieve URL")}catch(a){f.toast.error(`Upload failed: ${a.message}`,{id:d})}},T=async()=>{E(!0);try{await (0,q.saveSettingsGroup)("branding",{logo:t,logo_dark:v,favicon:x,apple_icon:z}),await (0,q.saveSettingsGroup)("seo",{og_image:B}),f.toast.success("Branding settings saved successfully! Changes are now live.")}catch(a){f.toast.error(a.message||"Failed to save branding assets")}finally{E(!1)}},U=a=>{G(a),I(URL.createObjectURL(a)),Q([])},V=async()=>{if(!F)return void f.toast.error("Please select a primary logo first");K(!0),M(0),O("Preparing logo…");try{let a=new FormData;a.append("file",F),M(20),O("Uploading logo…");let b=await fetch("/api/generate-icons",{method:"POST",body:a});if(M(60),O("Generating platform icon sizes…"),!b.ok){let a=await b.json();throw Error(a.error??"Generation failed")}let c=await b.json();M(90),O("Saving settings URLs…"),Q(c.generated??[]);let d=c.generated?.find(a=>"favicon-32x32.png"===a.name),e=c.generated?.find(a=>"apple-touch-icon.png"===a.name),g=c.generated?.find(a=>"og-image.png"===a.name);d?.url&&y(d.url),e?.url&&A(e.url),g?.url&&C(g.url),await (0,q.saveSettingsGroup)("branding",{logo:H||t,favicon:d?.url??x,apple_icon:e?.url??z}),g?.url&&await (0,q.saveSettingsGroup)("seo",{og_image:g.url}),M(100),O("Done!"),f.toast.success(`Generated ${c.generated?.length??0} platform icons successfully!`)}catch(a){f.toast.error(a.message??"Generation failed")}finally{setTimeout(()=>K(!1),800)}},W={16:"Favicon 16px",32:"Favicon 32px",48:"Favicon 48px",72:"PWA 72px",96:"PWA 96px",128:"Chrome 128px",144:"MS Tile 144px",150:"MS Tile 150px",152:"iOS 152px",180:"Apple Touch",192:"Android 192px",384:"PWA 384px",512:"Android 512px"};return(0,b.jsxs)("div",{className:"max-w-6xl space-y-8",children:[(0,b.jsx)("div",{className:"flex flex-col md:flex-row md:items-center justify-between gap-4 border-b border-border/60 pb-6",children:(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-3xl font-bold text-foreground tracking-tight",children:"Branding & Logo Settings"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:"Configure your corporate logo assets, favicons, social Open Graph images, and platform icons."})]})}),(0,b.jsxs)("div",{className:"flex gap-2 border-b border-border/40 pb-px",children:[(0,b.jsxs)("button",{onClick:()=>s("assets"),className:`flex items-center gap-2 px-4 py-2.5 text-sm font-semibold border-b-2 transition-all ${"assets"===r?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[(0,b.jsx)(m.Palette,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Branding Assets"})]}),(0,b.jsxs)("button",{onClick:()=>s("generator"),className:`flex items-center gap-2 px-4 py-2.5 text-sm font-semibold border-b-2 transition-all ${"generator"===r?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[(0,b.jsx)(n.default,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Auto Icon Generator"})]})]}),"assets"===r?(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,b.jsxs)("div",{className:"p-6 rounded-2xl border border-border bg-card/20 space-y-4 flex flex-col justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("h3",{className:"font-semibold text-foreground flex items-center gap-2 mb-1",children:[(0,b.jsx)(j.Image,{className:"w-4 h-4 text-primary"}),"Primary Logo (Light Theme)"]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Default logo rendered on transparent or light page headers."}),(0,b.jsx)("div",{className:"my-4 h-32 rounded-xl bg-white border border-border/40 flex items-center justify-center p-4",children:t?(0,b.jsx)("img",{src:t,alt:"Logo Light",className:"max-h-24 object-contain"}):(0,b.jsx)("span",{className:"text-xs text-slate-400",children:"No logo uploaded"})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("input",{type:"text",value:t,onChange:a=>u(a.target.value),placeholder:"/logo/logo.png",className:"w-full px-3 py-2 bg-secondary/50 border border-border rounded-lg text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-primary"}),(0,b.jsx)("input",{type:"file",id:"logo-light-file",accept:"image/*",className:"sr-only",onChange:a=>{let b=a.target.files?.[0];b&&S(b,u,"Light Logo")}}),(0,b.jsxs)(o.Button,{onClick:()=>document.getElementById("logo-light-file")?.click(),variant:"gold-outline",size:"sm",className:"w-full h-9 gap-2 text-xs",children:[(0,b.jsx)(g.Upload,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{children:"Upload Logo File"})]})]})]}),(0,b.jsxs)("div",{className:"p-6 rounded-2xl border border-border bg-card/20 space-y-4 flex flex-col justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("h3",{className:"font-semibold text-foreground flex items-center gap-2 mb-1",children:[(0,b.jsx)(j.Image,{className:"w-4 h-4 text-primary"}),"Dark Mode Logo"]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"High-contrast logo used specifically for dark mode headers."}),(0,b.jsx)("div",{className:"my-4 h-32 rounded-xl bg-[hsl(240,20%,5%)] border border-border/40 flex items-center justify-center p-4",children:v?(0,b.jsx)("img",{src:v,alt:"Logo Dark",className:"max-h-24 object-contain"}):(0,b.jsx)("span",{className:"text-xs text-slate-400",children:"No dark logo uploaded"})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("input",{type:"text",value:v,onChange:a=>w(a.target.value),placeholder:"/logo/logo_dark.png",className:"w-full px-3 py-2 bg-secondary/50 border border-border rounded-lg text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-primary"}),(0,b.jsx)("input",{type:"file",id:"logo-dark-file",accept:"image/*",className:"sr-only",onChange:a=>{let b=a.target.files?.[0];b&&S(b,w,"Dark Logo")}}),(0,b.jsxs)(o.Button,{onClick:()=>document.getElementById("logo-dark-file")?.click(),variant:"gold-outline",size:"sm",className:"w-full h-9 gap-2 text-xs",children:[(0,b.jsx)(g.Upload,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{children:"Upload Dark Logo"})]})]})]}),(0,b.jsxs)("div",{className:"p-6 rounded-2xl border border-border bg-card/20 space-y-4 flex flex-col justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("h3",{className:"font-semibold text-foreground flex items-center gap-2 mb-1",children:[(0,b.jsx)(j.Image,{className:"w-4 h-4 text-primary"}),"Favicon (Tab Icon)"]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"The icon displayed in browser address bar and tabs."}),(0,b.jsx)("div",{className:"my-4 h-32 rounded-xl bg-secondary/20 border border-border/40 flex items-center justify-center p-4",children:x?(0,b.jsx)("img",{src:x,alt:"Favicon",className:"h-10 w-10 object-contain"}):(0,b.jsx)("span",{className:"text-xs text-slate-400",children:"No favicon uploaded"})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("input",{type:"text",value:x,onChange:a=>y(a.target.value),placeholder:"/favicon.ico",className:"w-full px-3 py-2 bg-secondary/50 border border-border rounded-lg text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-primary"}),(0,b.jsx)("input",{type:"file",id:"favicon-file",accept:"image/*",className:"sr-only",onChange:a=>{let b=a.target.files?.[0];b&&S(b,y,"Favicon")}}),(0,b.jsxs)(o.Button,{onClick:()=>document.getElementById("favicon-file")?.click(),variant:"gold-outline",size:"sm",className:"w-full h-9 gap-2 text-xs",children:[(0,b.jsx)(g.Upload,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{children:"Upload Favicon"})]})]})]}),(0,b.jsxs)("div",{className:"p-6 rounded-2xl border border-border bg-card/20 space-y-4 flex flex-col justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("h3",{className:"font-semibold text-foreground flex items-center gap-2 mb-1",children:[(0,b.jsx)(j.Image,{className:"w-4 h-4 text-primary"}),"Open Graph Image (Social Sharing)"]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Primary sharing banner displayed on LinkedIn, Facebook, and Twitter links."}),(0,b.jsx)("div",{className:"my-4 h-32 rounded-xl bg-secondary/20 border border-border/40 flex items-center justify-center overflow-hidden p-2",children:B?(0,b.jsx)("img",{src:B,alt:"OG Banner",className:"h-full w-full object-cover rounded-lg"}):(0,b.jsx)("span",{className:"text-xs text-slate-400",children:"No OG image uploaded"})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("input",{type:"text",value:B,onChange:a=>C(a.target.value),placeholder:"/og/propVault.png",className:"w-full px-3 py-2 bg-secondary/50 border border-border rounded-lg text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-primary"}),(0,b.jsx)("input",{type:"file",id:"og-file",accept:"image/*",className:"sr-only",onChange:a=>{let b=a.target.files?.[0];b&&S(b,C,"OG Image")}}),(0,b.jsxs)(o.Button,{onClick:()=>document.getElementById("og-file")?.click(),variant:"gold-outline",size:"sm",className:"w-full h-9 gap-2 text-xs",children:[(0,b.jsx)(g.Upload,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{children:"Upload OG Image"})]})]})]})]}),(0,b.jsx)("div",{className:"flex justify-end pt-4",children:(0,b.jsx)(o.Button,{onClick:T,disabled:D,className:"btn-gold h-11 px-8 gap-2 text-sm font-semibold",children:D?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.Loader2,{className:"w-4 h-4 animate-spin"})," Saving Assets…"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(l.Settings,{className:"w-4 h-4"})," Save Branding Assets"]})})})]}):(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"p-6 rounded-2xl border border-border bg-card/40 space-y-4",children:[(0,b.jsxs)("h2",{className:"font-semibold text-foreground flex items-center gap-2",children:[(0,b.jsx)(k.Star,{className:"h-4 w-4 text-primary"}),"Upload Source Logo"]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,b.jsxs)("div",{onClick:()=>R.current?.click(),onDragOver:a=>a.preventDefault(),onDrop:a=>{a.preventDefault();let b=a.dataTransfer.files[0];b?.type.startsWith("image/")&&U(b)},className:"relative flex flex-col items-center justify-center gap-3 p-8 rounded-2xl border-2 border-dashed border-border/60 hover:border-primary/40 cursor-pointer transition-all min-h-[180px] bg-secondary/20",children:[(0,b.jsx)("input",{ref:R,type:"file",accept:"image/*",className:"sr-only",onChange:a=>{let b=a.target.files?.[0];b&&U(b),a.target.value=""}}),(0,b.jsx)(g.Upload,{className:"h-8 w-8 text-muted-foreground"}),(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Select Source Logo"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"PNG, SVG, or WebP — min 512×512px recommended"})]})]}),(0,b.jsx)("div",{className:"flex flex-col items-center justify-center gap-3 p-6 rounded-2xl bg-secondary/30 min-h-[180px]",children:H?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("img",{src:H,alt:"Logo preview",className:"max-h-24 max-w-full object-contain"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:F?.name??"Selected logo"})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2 text-muted-foreground",children:[(0,b.jsx)(j.Image,{className:"h-10 w-10"}),(0,b.jsx)("p",{className:"text-xs",children:"No logo selected yet"})]})})]}),(0,b.jsx)(o.Button,{onClick:V,disabled:!F||J,className:"btn-gold w-full h-11 gap-2",children:J?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.Loader2,{className:"h-4 w-4 animate-spin"})," Generating Icons…"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(k.Star,{className:"h-4 w-4"})," Generate All Icons & Favicons"]})})]}),(0,b.jsx)(e.AnimatePresence,{children:P.length>0&&(0,b.jsxs)(d.motion.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},className:"p-6 rounded-2xl border border-emerald-500/20 bg-emerald-500/5 space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(i.CheckCircle2,{className:"h-5 w-5 text-emerald-400"}),(0,b.jsxs)("h2",{className:"font-semibold text-foreground",children:[P.length," Icons Generated"]})]}),(0,b.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6 gap-3",children:P.map(a=>(0,b.jsxs)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"group flex flex-col items-center gap-2 p-3 rounded-xl bg-card/60 border border-border hover:border-primary/30 transition-all",children:[(0,b.jsx)("img",{src:a.url,alt:a.name,className:"h-10 w-10 object-contain"}),(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)("p",{className:"text-[10px] font-medium text-foreground truncate w-full",children:a.size?W[a.size]??`${a.size}\xd7${a.size}`:`${a.width}\xd7${a.height}`}),(0,b.jsx)("p",{className:"text-[9px] text-muted-foreground truncate",children:a.name})]})]},a.name))}),(0,b.jsxs)("p",{className:"text-xs text-emerald-400/80",children:["All icons successfully generated and saved to ",(0,b.jsx)("code",{className:"font-mono",children:"/public/icons/"}),"."]})]})})]}),(0,b.jsx)(p.ProgressDialog,{open:J,title:"Generating Icons",description:"Creating all platform-specific icon sizes from your logo",progress:L,status:N})]})}],627870)}];
2
+
3
+ //# sourceMappingURL=src_components_admin_branding_icon-generator_tsx_0-p-crb._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[783270,a=>{"use strict";var b=a.i(187924),c=a.i(50944),d=a.i(572131),e=a.i(695245),f=a.i(159501),g=a.i(875160),h=a.i(201661),i=a.i(980180),j=a.i(943784),j=j,k=a.i(427377),l=a.i(48240),l=l,m=a.i(823292),n=a.i(699570),o=a.i(866718),p=a.i(870430),q=a.i(429246),r=a.i(704607),s=a.i(405050);let t=(0,s.createServerReference)("4048bdacd6cb6db19e90db9cde971fffbf7a54b455",s.callServer,void 0,s.findSourceMapURL,"createProject"),u=(0,s.createServerReference)("6030a31c304a035ed675b9e21ea205fb50690737f1",s.callServer,void 0,s.findSourceMapURL,"updateProject");a.s(["ProjectForm",0,function({initialData:a,builders:s,cities:v,states:w,countries:x}){let y=(0,c.useRouter)(),[z,A]=(0,d.useState)(!1),[B,C]=(0,d.useState)(!1),[D,E]=(0,d.useState)(a?.cover_image??null),{register:F,handleSubmit:G,setValue:H,formState:{errors:I}}=(0,e.useForm)({resolver:(0,f.zodResolver)(r.projectSchema),defaultValues:a?{...a,price_min:Number(a.price_min),price_max:Number(a.price_max),price_per_sqft:a.price_per_sqft?Number(a.price_per_sqft):void 0,latitude:a.latitude?Number(a.latitude):void 0,longitude:a.longitude?Number(a.longitude):void 0,total_units:a.total_units?Number(a.total_units):void 0,total_floors:a.total_floors?Number(a.total_floors):void 0,total_towers:a.total_towers?Number(a.total_towers):void 0,total_area_acres:a.total_area_acres?Number(a.total_area_acres):void 0,open_space_percent:a.open_space_percent?Number(a.open_space_percent):void 0,is_featured:"1"===String(a.is_featured)||!0===a.is_featured,is_luxury:"1"===String(a.is_luxury)||!0===a.is_luxury,is_new_launch:"1"===String(a.is_new_launch)||!0===a.is_new_launch,is_rera_registered:"1"===String(a.is_rera_registered)||!0===a.is_rera_registered}:{status:"upcoming",category:"residential",possession_status:"under_construction",is_featured:!1,is_luxury:!1,is_new_launch:!1,is_rera_registered:!1,publish_status:"draft",currency:"INR",country_id:x[0]?.id??"IN"}}),J=async a=>{let b=a.target.files?.[0];if(!b)return;C(!0);let c=new FormData;c.append("file",b);try{let a=await fetch("/api/upload",{method:"POST",body:c}),b=await a.json();b.url?(E(b.url),H("cover_image",b.url),m.toast.success("Image uploaded successfully!")):m.toast.error(b.error??"Failed to upload image")}catch{m.toast.error("Upload failed")}finally{C(!1)}},K=async b=>{A(!0);try{if(a){let c=await u(a.id,b);c.success?(m.toast.success("Project updated successfully!"),y.push("/admin/projects"),y.refresh()):m.toast.error(c.error??"Failed to update project")}else{let a=await t(b);a.success?(m.toast.success("Project created successfully!"),y.push("/admin/projects"),y.refresh()):m.toast.error(a.error??"Failed to create project")}}catch{m.toast.error("An error occurred. Please try again.")}finally{A(!1)}};return(0,b.jsxs)("form",{onSubmit:G(K),className:"space-y-8 max-w-5xl",children:[(0,b.jsxs)("div",{className:"glass-card p-6 rounded-2xl",children:[(0,b.jsx)("h3",{className:"text-base font-semibold text-foreground mb-4",children:"Cover Image"}),(0,b.jsxs)("div",{className:"flex flex-col md:flex-row items-center gap-6",children:[(0,b.jsx)("div",{className:"relative w-full md:w-64 h-36 bg-secondary/30 rounded-xl overflow-hidden border border-border flex items-center justify-center",children:D?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("img",{src:D,alt:"Cover Preview",className:"w-full h-full object-cover"}),(0,b.jsx)("button",{type:"button",onClick:()=>{E(null),H("cover_image","")},className:"absolute top-2 right-2 p-1.5 bg-background/80 hover:bg-background text-destructive rounded-lg border border-border transition-colors",children:(0,b.jsx)(i.Trash2,{className:"w-4 h-4"})})]}):(0,b.jsx)(k.Building2,{className:"w-10 h-10 text-muted-foreground"})}),(0,b.jsxs)("div",{className:"flex-1 w-full text-center md:text-left",children:[(0,b.jsxs)(p.Label,{htmlFor:"cover-file-upload",className:"w-fit cursor-pointer",children:[(0,b.jsxs)("div",{className:"flex items-center justify-center gap-2 px-4 py-2 border border-border hover:bg-secondary/50 rounded-xl transition-colors font-medium text-sm text-foreground",children:[(0,b.jsx)(h.Upload,{className:"w-4 h-4"}),B?"Uploading...":"Upload Cover Image"]}),(0,b.jsx)("input",{id:"cover-file-upload",type:"file",accept:"image/*",className:"hidden",onChange:J,disabled:B})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:"Recommended: WebP or JPG, 16:9 ratio, under 2MB."})]})]})]}),(0,b.jsxs)("div",{className:"grid md:grid-cols-2 gap-6",children:[(0,b.jsxs)("div",{className:"glass-card p-6 rounded-2xl space-y-4",children:[(0,b.jsxs)("h3",{className:"text-base font-semibold text-foreground mb-4 flex items-center gap-2",children:[(0,b.jsx)(j.default,{className:"w-4 h-4 text-primary"})," Basic Information"]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"proj-name",children:"Project Name *"}),(0,b.jsx)(o.Input,{id:"proj-name",...F("name"),placeholder:"e.g. PropVault Premium Heights"}),I.name&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.name.message})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"proj-tagline",children:"Tagline"}),(0,b.jsx)(o.Input,{id:"proj-tagline",...F("tagline"),placeholder:"e.g. Ultra-Luxury Living in South Mumbai"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{children:"Builder *"}),(0,b.jsxs)("select",{...F("builder_id"),className:"h-10 w-full px-3 rounded-xl border border-border bg-card text-sm text-foreground focus:outline-none",children:[(0,b.jsx)("option",{value:"",children:"Select Builder"}),s.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]}),I.builder_id&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.builder_id.message})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{children:"Category *"}),(0,b.jsxs)("select",{...F("category"),className:"h-10 w-full px-3 rounded-xl border border-border bg-card text-sm text-foreground focus:outline-none",children:[(0,b.jsx)("option",{value:"luxury",children:"Luxury"}),(0,b.jsx)("option",{value:"residential",children:"Residential"}),(0,b.jsx)("option",{value:"commercial",children:"Commercial"}),(0,b.jsx)("option",{value:"rental",children:"Rental"}),(0,b.jsx)("option",{value:"villa",children:"Villa"}),(0,b.jsx)("option",{value:"plot",children:"Plot"})]})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"proj-desc",children:"Detailed Description *"}),(0,b.jsx)(q.Textarea,{id:"proj-desc",...F("description"),placeholder:"Provide a comprehensive description of features, materials, amenities, etc.",className:"min-h-[120px]"}),I.description&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.description.message})]})]}),(0,b.jsxs)("div",{className:"glass-card p-6 rounded-2xl space-y-4",children:[(0,b.jsxs)("h3",{className:"text-base font-semibold text-foreground mb-4 flex items-center gap-2",children:[(0,b.jsx)(l.default,{className:"w-4 h-4 text-primary"})," Pricing & Location"]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"price-min",children:"Min Price (₹) *"}),(0,b.jsx)(o.Input,{id:"price-min",type:"number",...F("price_min"),placeholder:"e.g. 15000000"}),I.price_min&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.price_min.message})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"price-max",children:"Max Price (₹) *"}),(0,b.jsx)(o.Input,{id:"price-max",type:"number",...F("price_max"),placeholder:"e.g. 45000000"}),I.price_max&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.price_max.message})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{children:"City *"}),(0,b.jsxs)("select",{...F("city_id"),className:"h-10 w-full px-3 rounded-xl border border-border bg-card text-sm text-foreground focus:outline-none",children:[(0,b.jsx)("option",{value:"",children:"Select City"}),v.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]}),I.city_id&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.city_id.message})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{children:"State *"}),(0,b.jsxs)("select",{...F("state_id"),className:"h-10 w-full px-3 rounded-xl border border-border bg-card text-sm text-foreground focus:outline-none",children:[(0,b.jsx)("option",{value:"",children:"Select State"}),w.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]}),I.state_id&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.state_id.message})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"proj-address",children:"Address *"}),(0,b.jsx)(o.Input,{id:"proj-address",...F("address"),placeholder:"e.g. Sector 15, BKC, Bandra East"}),I.address&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:I.address.message})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{children:"Status"}),(0,b.jsxs)("select",{...F("status"),className:"h-10 w-full px-3 rounded-xl border border-border bg-card text-sm text-foreground focus:outline-none",children:[(0,b.jsx)("option",{value:"upcoming",children:"Upcoming"}),(0,b.jsx)("option",{value:"ongoing",children:"Ongoing"}),(0,b.jsx)("option",{value:"completed",children:"Completed"}),(0,b.jsx)("option",{value:"on_hold",children:"On Hold"})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{children:"Possession Status"}),(0,b.jsxs)("select",{...F("possession_status"),className:"h-10 w-full px-3 rounded-xl border border-border bg-card text-sm text-foreground focus:outline-none",children:[(0,b.jsx)("option",{value:"ready_to_move",children:"Ready to Move"}),(0,b.jsx)("option",{value:"under_construction",children:"Under Construction"}),(0,b.jsx)("option",{value:"nearing_possession",children:"Nearing Possession"})]})]})]})]})]}),(0,b.jsxs)("div",{className:"glass-card p-6 rounded-2xl space-y-4",children:[(0,b.jsxs)("h3",{className:"text-base font-semibold text-foreground mb-4 flex items-center gap-2",children:[(0,b.jsx)(k.Building2,{className:"w-4 h-4 text-primary"})," Specifications & Certifications"]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-secondary/10 rounded-xl",children:[(0,b.jsx)("input",{type:"checkbox",id:"flag-featured",...F("is_featured"),className:"w-4 h-4 rounded text-primary"}),(0,b.jsx)(p.Label,{htmlFor:"flag-featured",className:"cursor-pointer select-none",children:"Featured Listing"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-secondary/10 rounded-xl",children:[(0,b.jsx)("input",{type:"checkbox",id:"flag-luxury",...F("is_luxury"),className:"w-4 h-4 rounded text-primary"}),(0,b.jsx)(p.Label,{htmlFor:"flag-luxury",className:"cursor-pointer select-none",children:"Luxury Tag"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-secondary/10 rounded-xl",children:[(0,b.jsx)("input",{type:"checkbox",id:"flag-launch",...F("is_new_launch"),className:"w-4 h-4 rounded text-primary"}),(0,b.jsx)(p.Label,{htmlFor:"flag-launch",className:"cursor-pointer select-none",children:"New Launch"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-secondary/10 rounded-xl",children:[(0,b.jsx)("input",{type:"checkbox",id:"flag-rera",...F("is_rera_registered"),className:"w-4 h-4 rounded text-primary"}),(0,b.jsx)(p.Label,{htmlFor:"flag-rera",className:"cursor-pointer select-none",children:"RERA Registered"})]})]}),(0,b.jsxs)("div",{className:"grid md:grid-cols-3 gap-6 pt-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"rera-num",children:"RERA Number"}),(0,b.jsx)(o.Input,{id:"rera-num",...F("rera_number"),placeholder:"e.g. P51800012345"})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"brochure-url",children:"Brochure URL"}),(0,b.jsx)(o.Input,{id:"brochure-url",...F("brochure_url"),placeholder:"PDF download link"})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(p.Label,{htmlFor:"video-url",children:"Video / YouTube URL"}),(0,b.jsx)(o.Input,{id:"video-url",...F("video_url"),placeholder:"e.g. YouTube promo video link"})]})]})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-4",children:[(0,b.jsx)(n.Button,{type:"button",variant:"outline",onClick:()=>y.push("/admin/projects"),children:"Cancel"}),(0,b.jsx)(n.Button,{type:"submit",variant:"gold",disabled:z,children:z?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.Loader2,{className:"w-4 h-4 animate-spin"}),"Saving..."]}):"Save Project"})]})]})}],783270)}];
2
+
3
+ //# sourceMappingURL=src_components_admin_projects_project-form_tsx_0ynt29x._.js.map
@@ -0,0 +1,9 @@
1
+ module.exports=[436649,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(50944),f=a.i(1195),g=a.i(536670),h=a.i(201661),i=a.i(875160),j=a.i(879675),k=a.i(403139),k=k,l=a.i(982453),m=a.i(873019),n=a.i(585650),o=a.i(980180),p=a.i(233540),q=a.i(526634),r=a.i(128668),r=r,s=a.i(436169),s=s,t=a.i(114625),t=t,u=a.i(170979),v=a.i(711613),w=a.i(699570),x=a.i(866718),y=a.i(870430),z=a.i(368114);function A(){return{colors:{background:"240 20% 7%",foreground:"240 5% 96%",primary:"36 82% 47%",primaryForeground:"240 20% 7%",secondary:"240 12% 18%",secondaryForeground:"240 5% 96%",accent:"36 82% 47%",accentForeground:"240 20% 7%",muted:"240 10% 15%",mutedForeground:"240 5% 55%",card:"240 15% 11%",cardForeground:"240 5% 96%",border:"240 10% 18%",input:"240 10% 14%",ring:"36 82% 47%",destructive:"0 72% 51%",destructiveForeground:"0 0% 98%"},typography:{fontSans:"Inter, sans-serif",fontSerif:"Playfair Display, serif",fontMono:"JetBrains Mono, monospace",baseFontSize:"16px",lineHeight:"1.6"},spacing:{radius:"0.75rem",containerMaxWidth:"80rem"},custom:{}}}function B(a){let b=A();try{let c=JSON.parse(a);return{colors:{...b.colors,...c.colors||{}},lightColors:c.lightColors?{...b.colors,...c.lightColors}:void 0,darkColors:c.darkColors?{...b.colors,...c.darkColors}:void 0,typography:{...b.typography,...c.typography||{}},spacing:{...b.spacing,...c.spacing||{}},custom:c.custom||{}}}catch{return b}}var C=a.i(405050);let D=(0,C.createServerReference)("40fc8287535c514744bf050f489c80b78f2b517bae",C.callServer,void 0,C.findSourceMapURL,"saveTheme"),E=(0,C.createServerReference)("4064e41cc0857f390c46374824dbb2a0c8a69d3c01",C.callServer,void 0,C.findSourceMapURL,"activateTheme"),F=(0,C.createServerReference)("40bf86678b28d2d4e1b00d380d586ee4e2a013925e",C.callServer,void 0,C.findSourceMapURL,"importTheme"),G=(0,C.createServerReference)("40b723ed39b83027664342440f714dc651726d3c23",C.callServer,void 0,C.findSourceMapURL,"duplicateTheme"),H=(0,C.createServerReference)("406a081c58cd1c8fc33d4e319bc2c608934e1ba9b0",C.callServer,void 0,C.findSourceMapURL,"deleteTheme");var I=a.i(771511);let J=[{key:"background",label:"Background"},{key:"foreground",label:"Foreground"},{key:"primary",label:"Primary (Brand)"},{key:"primaryForeground",label:"Primary Foreground"},{key:"secondary",label:"Secondary"},{key:"secondaryForeground",label:"Secondary Foreground"},{key:"accent",label:"Accent"},{key:"accentForeground",label:"Accent Foreground"},{key:"muted",label:"Muted"},{key:"mutedForeground",label:"Muted Foreground"},{key:"card",label:"Card Background"},{key:"cardForeground",label:"Card Text"},{key:"border",label:"Border"},{key:"input",label:"Input Background"},{key:"destructive",label:"Destructive"}],K=["Inter","Playfair Display","Montserrat","Outfit","Roboto","Poppins","Lora","Merriweather","Lato","Oswald"];a.s(["default",0,function({themes:a,activeThemeId:C}){let L=(0,e.useRouter)(),[M,N]=(0,c.useState)(a),[O,P]=(0,c.useState)(C),[Q,R]=(0,c.useState)(A()),[S,T]=(0,c.useState)("My Custom Theme"),[U,V]=(0,c.useState)("my-custom-theme"),[W,X]=(0,c.useState)("colors"),[Y,Z]=(0,c.useState)(""),[$,_]=(0,c.useTransition)(),[aa,ab]=(0,c.useState)(""),[ac,ad]=(0,c.useState)(null),[ae,af]=(0,c.useState)(!1),[ag,ah]=(0,c.useState)("light"),[ai,aj]=(0,c.useState)(""),[ak,al]=(0,c.useState)(["Inter","Playfair Display"]),[am,an]=(0,c.useState)("desktop");(0,c.useEffect)(()=>{N(a);let b=a.find(a=>a.id===O||"1"===String(a.is_active)||!0===a.is_active);b&&(R(B(b.tokens)),T(b.name),V(b.slug))},[a,O]),(0,c.useEffect)(()=>{let a,b,c,d,e,f,g,h,i;Z((a=Q.colors||{},b=Q.lightColors||a,c=Q.darkColors||a,d=Q.typography||{},e=Q.spacing||{},f=Q.custom||{},h=[...(g=a=>[`--background: ${a.background};`,`--foreground: ${a.foreground};`,`--primary: ${a.primary};`,`--primary-foreground: ${a.primaryForeground};`,`--secondary: ${a.secondary};`,`--secondary-foreground: ${a.secondaryForeground};`,`--accent: ${a.accent};`,`--accent-foreground: ${a.accentForeground};`,`--muted: ${a.muted};`,`--muted-foreground: ${a.mutedForeground};`,`--card: ${a.card};`,`--card-foreground: ${a.cardForeground};`,`--popover: ${a.card};`,`--popover-foreground: ${a.cardForeground};`,`--border: ${a.border};`,`--input: ${a.input};`,`--ring: ${a.ring};`,`--destructive: ${a.destructive};`,`--destructive-foreground: ${a.destructiveForeground};`,`--gold: ${a.primary};`,`--gold-light: ${a.accent};`,"--whatsapp: 142 70% 45%;","--whatsapp-hover: 142 70% 35%;"])(b),`--radius: ${e.radius};`,`--font-sans: ${d.fontSans};`,`--font-serif: ${d.fontSerif};`,`--font-mono: ${d.fontMono};`,`--container-max-width: ${e.containerMaxWidth};`,...Object.entries(f).map(([a,b])=>`--${a}: ${b};`)],i=g(c),`:root {
2
+ ${h.join("\n ")}
3
+ }
4
+
5
+ .dark {
6
+ ${i.join("\n ")}
7
+ }`))},[Q]);let ao=(a,b)=>{R(c=>{let d="light"===ag?"lightColors":"darkColors",e=c[d]||{...c.colors};return{...c,colors:"light"===ag?{...c.colors,[a]:b}:c.colors,[d]:{...e,[a]:b}}})},ap=(a,b)=>{R(c=>({...c,typography:{...c.typography,[a]:b}}))},aq=async a=>{let b=a.target.files?.[0];if(!b)return;let c=await b.text();ab(""),_(async()=>{let a=await F(c);if(a.success){d.toast.success("Theme imported");try{let a=JSON.parse(c);R({...A(),...a.tokens}),T(a.name),V(a.slug)}catch{}L.refresh()}else ab(a.error??"Import failed"),d.toast.error(a.error??"Import failed")}),a.target.value=""},ar=async()=>{if(ac){af(!0);try{let a=await H(ac.id);a.success?(d.toast.success("Theme deleted successfully"),ad(null),L.refresh()):d.toast.error(a.error||"Failed to delete theme")}catch(a){d.toast.error(a.message||"An error occurred")}finally{af(!1)}}},as=a=>{al(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])},at=K.filter(a=>a.toLowerCase().includes(ai.toLowerCase())),au="light"===ag?Q.lightColors||Q.colors:Q.darkColors||Q.colors;return(0,b.jsxs)("div",{className:"flex h-[calc(100vh-64px)] overflow-hidden",children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:Y}}),(0,b.jsxs)("div",{className:"w-80 border-r border-border bg-card/60 flex flex-col overflow-hidden",children:[(0,b.jsxs)("div",{className:"p-4 border-b border-border",children:[(0,b.jsxs)("h2",{className:"text-sm font-bold text-foreground flex items-center gap-2",children:[(0,b.jsx)(f.Palette,{className:"h-4 w-4 text-primary"}),"Theme Builder"]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Design tokens with Light/Dark support"})]}),(0,b.jsxs)("div",{className:"p-4 border-b border-border space-y-2",children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:"Theme Name"}),(0,b.jsx)("input",{value:S,onChange:a=>{T(a.target.value),V(a.target.value.toLowerCase().replace(/[^a-z0-9]+/g,"-"))},className:"w-full px-3 py-2 text-sm bg-secondary/60 border border-border rounded-xl focus:outline-none focus:ring-2 focus:ring-primary/30"})]}),(0,b.jsx)("div",{className:"flex border-b border-border",children:[{id:"colors",icon:k.default,label:"Colors"},{id:"typography",icon:l.Type,label:"Typography"},{id:"spacing",icon:m.Layout,label:"Space"}].map(({id:a,icon:c,label:d})=>(0,b.jsxs)("button",{onClick:()=>X(a),className:(0,z.cn)("flex-1 flex flex-col items-center gap-1 py-3 text-[10px] font-semibold uppercase tracking-wide transition-colors",W===a?"text-primary border-b-2 border-primary":"text-muted-foreground hover:text-foreground"),children:[(0,b.jsx)(c,{className:"h-3.5 w-3.5"}),d]},a))}),(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 space-y-5",children:["colors"===W&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex border border-border bg-secondary/30 rounded-xl p-0.5 mb-2",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>ah("light"),className:(0,z.cn)("flex-1 py-1 text-[10px] font-bold rounded-lg uppercase flex items-center justify-center gap-1.5","light"===ag?"bg-primary text-primary-foreground":"text-muted-foreground"),children:[(0,b.jsx)(v.Sun,{className:"w-3.5 h-3.5"})," Light Variant"]}),(0,b.jsxs)("button",{type:"button",onClick:()=>ah("dark"),className:(0,z.cn)("flex-1 py-1 text-[10px] font-bold rounded-lg uppercase flex items-center justify-center gap-1.5","dark"===ag?"bg-primary text-primary-foreground":"text-muted-foreground"),children:[(0,b.jsx)(u.Moon,{className:"w-3.5 h-3.5"})," Dark Variant"]})]}),J.map(({key:a,label:c})=>{let d=function(a){if(!a)return"#000000";let b=a.trim().replace(/%/g,"").split(/\s+/),c=parseInt(b[0]||"0",10)/360,d=parseInt(b[1]||"0",10)/100,e=parseInt(b[2]||"0",10)/100,f=e,g=e,h=e;if(0!==d){let a=(a,b,c)=>(c<0&&(c+=1),c>1&&(c-=1),c<1/6)?a+(b-a)*6*c:c<.5?b:c<2/3?a+(b-a)*(2/3-c)*6:a,b=e<.5?e*(1+d):e+d-e*d,i=2*e-b;f=a(i,b,c+1/3),g=a(i,b,c),h=a(i,b,c-1/3)}let i=a=>{let b=Math.round(255*a).toString(16);return 1===b.length?"0"+b:b};return`#${i(f)}${i(g)}${i(h)}`}(au[a]||Q.colors[a]);return(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground mb-1",children:c}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{type:"color",value:d,onChange:b=>ao(a,function(a){let b=parseInt(a.slice(1,3),16)/255,c=parseInt(a.slice(3,5),16)/255,d=parseInt(a.slice(5,7),16)/255,e=Math.max(b,c,d),f=Math.min(b,c,d),g=0,h=0,i=(e+f)/2;if(e!==f){let a=e-f;switch(h=i>.5?a/(2-e-f):a/(e+f),e){case b:g=(c-d)/a+6*(c<d);break;case c:g=(d-b)/a+2;break;case d:g=(b-c)/a+4}g/=6}return`${Math.round(360*g)} ${Math.round(100*h)}% ${Math.round(100*i)}%`}(b.target.value)),className:"h-8 w-8 rounded-lg cursor-pointer border-0 bg-transparent shrink-0"}),(0,b.jsx)("input",{value:au[a]||"",onChange:b=>ao(a,b.target.value),placeholder:"240 20% 7%",className:"flex-1 px-2 py-1.5 text-xs bg-secondary/60 border border-border rounded-lg focus:outline-none focus:ring-1 focus:ring-primary/30 font-mono"})]})]},a)})]}),"typography"===W&&(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("div",{className:"flex border border-border bg-secondary/30 rounded-xl p-0.5 mb-2",children:[{mode:"desktop",icon:s.default},{mode:"tablet",icon:t.default},{mode:"mobile",icon:r.default}].map(({mode:a,icon:c})=>(0,b.jsxs)("button",{type:"button",onClick:()=>an(a),className:(0,z.cn)("flex-1 py-1 text-[10px] font-bold rounded-lg uppercase flex items-center justify-center gap-1",am===a?"bg-primary text-primary-foreground":"text-muted-foreground"),children:[(0,b.jsx)(c,{className:"w-3 h-3"})," ",a]},a))}),(0,b.jsxs)("div",{children:[(0,b.jsx)(y.Label,{className:"text-[10px] font-bold uppercase text-muted-foreground block mb-1",children:"Search Google Fonts"}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(p.Search,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"}),(0,b.jsx)(x.Input,{placeholder:"Search Google Fonts...",value:ai,onChange:a=>aj(a.target.value),className:"h-8 text-xs pl-8 bg-secondary/30 border border-border"})]})]}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(y.Label,{className:"text-[10px] font-bold uppercase text-muted-foreground block",children:"Starred Fonts"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:ak.map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-full bg-primary/10 border border-primary/20 text-[10px] text-primary",children:[a,(0,b.jsx)(q.Star,{className:"w-3 h-3 fill-primary text-primary cursor-pointer",onClick:()=>as(a)})]},a))})]}),(0,b.jsx)("div",{className:"space-y-2 max-h-48 overflow-y-auto border border-border rounded-xl p-2 bg-secondary/15",children:at.map(a=>{let c=ak.includes(a);return(0,b.jsxs)("div",{className:"flex items-center justify-between p-1 hover:bg-secondary/40 rounded",children:[(0,b.jsx)("span",{onClick:()=>ap("fontSans",`${a}, sans-serif`),style:{fontFamily:a},className:"text-xs cursor-pointer text-foreground",children:a}),(0,b.jsx)("button",{onClick:()=>as(a),children:(0,b.jsx)(q.Star,{className:(0,z.cn)("w-3 h-3",c?"fill-primary text-primary":"text-muted-foreground")})})]},a)})}),[{key:"fontSans",label:"Sans Serif Font"},{key:"fontSerif",label:"Serif Font"},{key:"fontMono",label:"Monospace Font"},{key:"baseFontSize",label:"Base Font Size"},{key:"lineHeight",label:"Line Height"}].map(({key:a,label:c})=>(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("label",{className:"block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:c}),(0,b.jsx)("input",{value:Q.typography[a]||"",onChange:b=>ap(a,b.target.value),className:"w-full px-3 py-2 text-xs bg-secondary/60 border border-border rounded-xl focus:outline-none focus:ring-1 focus:ring-primary/30"})]},a))]}),"spacing"===W&&(0,b.jsx)(b.Fragment,{children:[{key:"radius",label:"Border Radius"},{key:"containerMaxWidth",label:"Max Container Width"}].map(({key:a,label:c})=>(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:c}),(0,b.jsx)("input",{value:Q.spacing[a]||"",onChange:b=>{var c;return c=b.target.value,void R(b=>({...b,spacing:{...b.spacing,[a]:c}}))},className:"w-full px-3 py-2 text-xs bg-secondary/60 border border-border rounded-xl focus:outline-none focus:ring-1 focus:ring-primary/30"})]},a))})]}),(0,b.jsxs)("div",{className:"p-4 border-t border-border space-y-2",children:[(0,b.jsxs)(w.Button,{onClick:()=>{_(async()=>{let a=await D({id:O,name:S,slug:U,tokens:JSON.stringify(Q)});a.success?(d.toast.success("Theme saved successfully!"),L.refresh()):d.toast.error(a.error??"Save failed")})},disabled:$,className:"btn-gold w-full gap-2",children:[$?(0,b.jsx)(i.Loader2,{className:"h-4 w-4 animate-spin"}):(0,b.jsx)(j.Save,{className:"h-4 w-4"}),"Save Theme Tokens"]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(w.Button,{onClick:()=>{let a=new Blob([JSON.stringify({name:S,slug:U,tokens:Q,version:"1.0",exportedAt:new Date().toISOString()},null,2)],{type:"application/json"}),b=URL.createObjectURL(a),c=document.createElement("a");c.href=b,c.download=`theme-${U}.json`,c.click(),URL.revokeObjectURL(b),d.toast.success("Theme exported")},variant:"outline",size:"sm",className:"flex-1 gap-2",children:[(0,b.jsx)(g.Download,{className:"h-3.5 w-3.5"}),"Export"]}),(0,b.jsxs)("label",{className:"flex-1",children:[(0,b.jsx)("input",{type:"file",accept:".json",className:"sr-only",onChange:aq}),(0,b.jsxs)("span",{className:"flex items-center justify-center gap-2 px-3 py-2 text-xs font-medium rounded-lg border border-border hover:bg-secondary cursor-pointer transition-colors",children:[(0,b.jsx)(h.Upload,{className:"h-3.5 w-3.5"}),"Import"]})]})]}),aa&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:aa})]})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto p-6 space-y-8 bg-muted/10",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-sm font-bold uppercase tracking-wider text-muted-foreground mb-4",children:"Preset Themes"}),(0,b.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5 gap-4",children:M.filter(a=>a.is_system||"luxury-dark-gold"===a.slug).map(a=>{let c=B(a.tokens);return(0,b.jsxs)("button",{onClick:()=>{var b;let c;return b=a.slug,void(!(c=M.find(a=>a.slug===b))||(R(B(c.tokens)),T(c.name),V(c.slug),d.toast.success(`Loaded "${c.name}" preset`)))},className:"group relative flex flex-col gap-3 p-4 rounded-2xl border border-border hover:border-primary/45 transition-all text-left bg-card/45 hover:bg-card shadow",children:[(0,b.jsx)("div",{className:"flex gap-1 h-6 w-full",children:["background","primary","secondary","accent"].map(a=>(0,b.jsx)("div",{className:"flex-1 rounded-sm border border-border/20",style:{background:`hsl(${c.colors[a]})`}},a))}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs font-semibold text-foreground",children:a.name}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5 leading-snug",children:a.description})]}),(0,b.jsx)("div",{className:"absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,b.jsx)("span",{className:"text-[10px] text-primary font-medium",children:"Load →"})})]},a.slug)})})]}),M.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-sm font-bold uppercase tracking-wider text-muted-foreground mb-4",children:"Installed Themes & Activation"}),(0,b.jsx)("div",{className:"space-y-3",children:M.map(a=>(0,b.jsxs)("div",{className:(0,z.cn)("flex items-center gap-4 p-4 rounded-2xl border transition-all",a.id===O?"border-primary/50 bg-primary/5 shadow-md":"border-border bg-card/40 hover:bg-card/65"),children:[(0,b.jsx)("div",{className:"flex gap-1 shrink-0",children:["background","primary","accent"].map(c=>{let d=B(a.tokens);return(0,b.jsx)("div",{className:"h-5 w-5 rounded-full border border-border/40",style:{background:`hsl(${d.colors[c]})`}},c)})}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("p",{className:"text-sm font-semibold text-foreground",children:a.name}),a.id===O&&(0,b.jsx)("span",{className:"text-[9px] bg-emerald-500/10 text-emerald-400 border border-emerald-500/25 px-1.5 py-0.5 rounded-full font-bold uppercase tracking-wider",children:"Active"})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a.description||`Theme slug: ${a.slug}`})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("button",{onClick:()=>{var b;return b=a.id,void _(async()=>{let a=await G(b);a.success?(d.toast.success("Theme duplicated successfully"),L.refresh()):d.toast.error(a.error||"Failed to duplicate theme")})},disabled:$,className:"p-1.5 rounded-lg hover:bg-secondary text-muted-foreground hover:text-foreground transition-colors",title:"Duplicate Theme",children:(0,b.jsx)(n.Copy,{className:"h-4 w-4"})}),a.id!==O&&(0,b.jsx)(w.Button,{onClick:()=>{var b;return b=a.id,void _(async()=>{let a=await E(b);if(a.success){P(b),d.toast.success("Theme activated! Changes are live.");try{localStorage.setItem("propvault-active-theme-id",b),localStorage.setItem("propvault-active-theme-tokens",JSON.stringify(Q)),window.dispatchEvent(new CustomEvent("propvault-theme-changed",{detail:{themeId:b}})),new BroadcastChannel("propvault-theme").postMessage({type:"theme-changed",themeId:b,tokens:Q})}catch(a){console.error("Failed to trigger theme sync events:",a)}L.refresh()}else d.toast.error(a.error??"Failed to activate")})},size:"sm",variant:"gold-outline",className:"h-8 text-xs font-semibold",children:"Activate Theme"}),!a.is_system&&a.id!==O&&(0,b.jsx)("button",{onClick:()=>ad(a),className:"p-1.5 rounded-lg hover:bg-destructive/10 text-muted-foreground hover:text-destructive transition-colors",title:"Delete Theme",children:(0,b.jsx)(o.Trash2,{className:"h-4 w-4"})})]})]},a.id))})]})]}),ac&&(0,b.jsx)(I.DeleteDialog,{open:!0,entityName:ac.name,entityType:"Theme Preset",onConfirm:ar,onCancel:()=>ad(null),isLoading:ae})]})}],436649)}];
8
+
9
+ //# sourceMappingURL=src_components_admin_theme_theme-editor_tsx_0ec47ja._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[639787,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(571987),e=a.i(238246),f=a.i(954098),g=a.i(871499),h=a.i(79362),i=a.i(536670),j=a.i(316449),j=j,k=a.i(866491),l=a.i(427377),m=a.i(545721),m=m,n=a.i(205030),n=n,o=a.i(103119),o=o,p=a.i(470944),q=a.i(707963),r=a.i(141146),s=a.i(474215),t=a.i(912265),u=a.i(944597),v=a.i(786304),w=a.i(875083),x=a.i(876841),y=a.i(215741),z=a.i(352019),A=a.i(923690),B=a.i(781737);function C(a){return!0===a||"1"===a||1===a||"true"===a}a.s(["ProjectDetailClient",0,function({project:a,relatedProjects:D}){let[E,F]=(0,c.useState)(0),[G,H]=(0,c.useState)(!1),[I,J]=(0,c.useState)(0),K=[...a.cover_image?[{url:a.cover_image,alt:a.name,category:"exterior"}]:[],...(a.images??[]).map(b=>({url:b.url,alt:b.alt_text??a.name,category:b.category}))],L=Number(a.price_min),M=Number(a.price_max),N=C(a.is_luxury),O=C(a.is_rera_registered),P=()=>F(a=>a>0?a-1:K.length-1),Q=()=>F(a=>a<K.length-1?a+1:0);return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"relative bg-muted",children:[K.length>0?(0,b.jsxs)("div",{className:"relative h-[50vh] lg:h-[65vh] overflow-hidden",children:[(0,b.jsx)(d.default,{src:K[E]?.url??"/images/property-placeholder.jpg",alt:K[E]?.alt??a.name,fill:!0,className:"object-cover",priority:!0,sizes:"100vw"}),(0,b.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/50 via-transparent to-black/20"}),K.length>1&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{onClick:P,className:"absolute left-4 top-1/2 -translate-y-1/2 w-10 h-10 bg-black/50 hover:bg-black/70 text-white rounded-full flex items-center justify-center transition-colors",children:(0,b.jsx)(q.ChevronLeft,{className:"w-5 h-5"})}),(0,b.jsx)("button",{onClick:Q,className:"absolute right-4 top-1/2 -translate-y-1/2 w-10 h-10 bg-black/50 hover:bg-black/70 text-white rounded-full flex items-center justify-center transition-colors",children:(0,b.jsx)(r.ChevronRight,{className:"w-5 h-5"})})]}),(0,b.jsxs)("button",{onClick:()=>H(!0),className:"absolute bottom-4 right-4 flex items-center gap-2 px-3 py-2 bg-black/60 text-white text-xs rounded-lg hover:bg-black/80 transition-colors",children:[(0,b.jsx)(t.ZoomIn,{className:"w-4 h-4"}),K.length," Photos"]}),(0,b.jsxs)("div",{className:"absolute bottom-4 left-4 px-3 py-1 bg-black/60 text-white text-xs rounded-full",children:[E+1," / ",K.length]})]}):(0,b.jsx)("div",{className:"h-[50vh] bg-gradient-to-br from-[hsl(240,15%,12%)] to-[hsl(240,18%,8%)]"}),K.length>1&&(0,b.jsxs)("div",{className:"flex gap-2 p-3 bg-background/90 backdrop-blur-sm overflow-x-auto scrollbar-hide",children:[K.slice(0,8).map((a,c)=>(0,b.jsx)("button",{onClick:()=>F(c),className:(0,A.cn)("relative w-20 h-14 rounded-lg overflow-hidden shrink-0 border-2 transition-all",c===E?"border-[hsl(36,82%,47%)]":"border-transparent opacity-70 hover:opacity-100"),children:(0,b.jsx)(d.default,{src:a.url,alt:a.alt,fill:!0,className:"object-cover",sizes:"80px"})},c)),K.length>8&&(0,b.jsxs)("button",{onClick:()=>H(!0),className:"w-20 h-14 shrink-0 rounded-lg border-2 border-dashed border-border flex items-center justify-center text-xs text-muted-foreground hover:border-primary",children:["+",K.length-8," more"]})]})]}),G&&K.length>0&&(0,b.jsxs)("div",{className:"fixed inset-0 z-[200] bg-black/95 flex items-center justify-center",onClick:()=>H(!1),children:[(0,b.jsx)("button",{className:"absolute top-4 right-4 text-white",onClick:()=>H(!1),children:(0,b.jsx)(s.X,{className:"w-8 h-8"})}),(0,b.jsx)("button",{className:"absolute left-4 top-1/2 -translate-y-1/2 text-white",onClick:a=>{a.stopPropagation(),P()},children:(0,b.jsx)(q.ChevronLeft,{className:"w-10 h-10"})}),(0,b.jsx)("div",{className:"relative w-full max-w-5xl h-[80vh]",onClick:a=>a.stopPropagation(),children:(0,b.jsx)(d.default,{src:K[E]?.url??"",alt:K[E]?.alt??"",fill:!0,className:"object-contain",sizes:"100vw"})}),(0,b.jsx)("button",{className:"absolute right-4 top-1/2 -translate-y-1/2 text-white",onClick:a=>{a.stopPropagation(),Q()},children:(0,b.jsx)(r.ChevronRight,{className:"w-10 h-10"})}),(0,b.jsxs)("div",{className:"absolute bottom-6 text-white text-sm",children:[E+1," / ",K.length]})]}),(0,b.jsxs)("div",{className:"section-container py-8 lg:py-12",children:[(0,b.jsxs)("div",{className:"grid lg:grid-cols-3 gap-8",children:[(0,b.jsxs)("div",{className:"lg:col-span-2",children:[(0,b.jsxs)("div",{className:"mb-6",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-3",children:[N&&(0,b.jsxs)(v.Badge,{variant:"gold",className:"gap-1",children:[(0,b.jsx)(g.Crown,{className:"w-3 h-3"}),"Luxury"]}),O&&(0,b.jsxs)(v.Badge,{variant:"success",className:"gap-1",children:[(0,b.jsx)(h.CheckCircle,{className:"w-3 h-3"}),"RERA Verified"]}),(0,b.jsx)(v.Badge,{variant:"ongoing"===a.status?"warning":"completed"===a.status?"success":"info",children:a.status?.replace("_"," ").toUpperCase()}),(0,b.jsx)(v.Badge,{variant:"secondary",children:a.possession_status?.replace(/_/g," ")})]}),(0,b.jsx)("h1",{className:"font-display text-3xl lg:text-4xl font-bold text-foreground mb-2",children:a.name}),a.tagline&&(0,b.jsx)("p",{className:"text-[hsl(36,82%,47%)] text-lg mb-3",children:a.tagline}),(0,b.jsxs)("p",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,b.jsx)(f.MapPin,{className:"w-4 h-4 shrink-0"}),a.address,a.google_maps_url&&(0,b.jsx)("a",{href:a.google_maps_url,target:"_blank",rel:"noopener noreferrer",className:"text-[hsl(36,82%,47%)] text-sm ml-1 hover:underline",children:"View on Map"})]})]}),(0,b.jsx)("div",{className:"luxury-card p-6 mb-6",children:(0,b.jsxs)("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground mb-1",children:"Price Range"}),(0,b.jsxs)("p",{className:"text-xl font-bold text-[hsl(36,82%,47%)]",children:[(0,A.formatCurrency)(L),M>L&&(0,b.jsxs)("span",{className:"text-sm font-normal text-muted-foreground ml-1",children:["– ",(0,A.formatCurrency)(M)]})]})]}),a.total_units&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground mb-1",children:"Total Units"}),(0,b.jsxs)("p",{className:"font-bold text-foreground flex items-center gap-1.5",children:[(0,b.jsx)(l.Building2,{className:"w-4 h-4 text-[hsl(36,82%,47%)]"}),Number(a.total_units).toLocaleString()]})]}),a.possession_date&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground mb-1",children:"Possession"}),(0,b.jsxs)("p",{className:"font-bold text-foreground flex items-center gap-1.5",children:[(0,b.jsx)(p.Calendar,{className:"w-4 h-4 text-[hsl(36,82%,47%)]"}),(0,A.formatDate)(a.possession_date,{month:"short",year:"numeric"})]})]}),a.total_area_acres&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground mb-1",children:"Area"}),(0,b.jsxs)("p",{className:"font-bold text-foreground flex items-center gap-1.5",children:[(0,b.jsx)(o.default,{className:"w-4 h-4 text-[hsl(36,82%,47%)]"}),a.total_area_acres," Acres"]})]})]})}),(0,b.jsxs)(w.Tabs,{defaultValue:"overview",children:[(0,b.jsxs)(w.TabsList,{className:"w-full justify-start mb-6 overflow-x-auto",children:[(0,b.jsx)(w.TabsTrigger,{value:"overview",children:"Overview"}),(a.configurations?.length??0)>0&&(0,b.jsx)(w.TabsTrigger,{value:"configurations",children:"Configurations"}),(a.floor_plans?.length??0)>0&&(0,b.jsx)(w.TabsTrigger,{value:"floor-plans",children:"Floor Plans"}),(a.amenities?.length??0)>0&&(0,b.jsx)(w.TabsTrigger,{value:"amenities",children:"Amenities"}),(a.faqs?.length??0)>0&&(0,b.jsx)(w.TabsTrigger,{value:"faqs",children:"FAQs"}),(a.updates?.length??0)>0&&(0,b.jsx)(w.TabsTrigger,{value:"updates",children:"Updates"})]}),(0,b.jsxs)(w.TabsContent,{value:"overview",children:[(0,b.jsx)("div",{className:"prose prose-invert max-w-none",children:(0,b.jsx)("div",{className:"text-muted-foreground leading-relaxed text-sm",dangerouslySetInnerHTML:{__html:a.description?.replace(/\n/g,"<br/>")??""}})}),a.builder&&(0,b.jsxs)("div",{className:"mt-6 p-4 rounded-xl bg-secondary/30 flex items-center gap-4",children:[(0,b.jsx)("div",{className:"w-12 h-12 rounded-xl bg-secondary flex items-center justify-center",children:(0,b.jsx)(l.Building2,{className:"w-6 h-6 text-[hsl(36,82%,47%)]"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground mb-0.5",children:"Developer"}),(0,b.jsx)(e.default,{href:`/builders/${a.builder.id}`,className:"font-semibold text-foreground hover:text-[hsl(36,82%,47%)] transition-colors",children:a.builder.name})]})]}),O&&a.rera_number&&(0,b.jsxs)("div",{className:"mt-4 p-4 rounded-xl border border-green-500/20 bg-green-500/5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-green-400 font-semibold mb-1",children:[(0,b.jsx)(h.CheckCircle,{className:"w-4 h-4"}),"RERA Registered"]}),(0,b.jsxs)("p",{className:"text-sm text-muted-foreground",children:["RERA Number: ",(0,b.jsx)("span",{className:"font-mono text-foreground",children:a.rera_number}),a.rera_expiry_date&&(0,b.jsxs)("span",{className:"ml-3",children:["Valid until: ",(0,A.formatDate)(a.rera_expiry_date)]})]})]}),(a.videos?.length??0)>0&&(0,b.jsxs)("div",{className:"mt-6",children:[(0,b.jsx)("h3",{className:"font-semibold mb-3",children:"Videos"}),(0,b.jsx)("div",{className:"flex gap-3 overflow-x-auto",children:a.videos.map(a=>(0,b.jsxs)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"relative w-48 h-28 rounded-xl overflow-hidden shrink-0 group",children:[a.thumbnail_url&&(0,b.jsx)(d.default,{src:a.thumbnail_url,alt:a.title,fill:!0,className:"object-cover",sizes:"192px"}),(0,b.jsx)("div",{className:"absolute inset-0 bg-black/50 flex items-center justify-center group-hover:bg-black/40 transition-colors",children:(0,b.jsx)(j.default,{className:"w-10 h-10 text-white"})})]},a.id))})]})]}),(0,b.jsx)(w.TabsContent,{value:"configurations",children:(0,b.jsx)("div",{className:"grid sm:grid-cols-2 gap-4",children:a.configurations?.map(a=>(0,b.jsxs)("div",{className:"luxury-card p-5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("h3",{className:"font-semibold text-foreground",children:a.name}),a.available_units&&(0,b.jsxs)(v.Badge,{variant:"success",children:[a.available_units," Available"]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-3 mb-3",children:[a.bedrooms&&(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)(m.default,{className:"w-4 h-4 mx-auto mb-1 text-[hsl(36,82%,47%)]"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:[a.bedrooms," BHK"]})]}),a.bathrooms&&(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)(n.default,{className:"w-4 h-4 mx-auto mb-1 text-[hsl(36,82%,47%)]"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:[a.bathrooms," Bath"]})]}),a.carpet_area&&(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)(o.default,{className:"w-4 h-4 mx-auto mb-1 text-[hsl(36,82%,47%)]"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:[a.carpet_area," sqft"]})]})]}),(0,b.jsxs)("p",{className:"text-[hsl(36,82%,47%)] font-bold",children:[(0,A.formatCurrency)(Number(a.price_min)),a.price_max&&Number(a.price_max)>Number(a.price_min)&&(0,b.jsxs)("span",{className:"text-sm font-normal text-muted-foreground ml-1",children:["– ",(0,A.formatCurrency)(Number(a.price_max))]})]})]},a.id))})}),(0,b.jsx)(w.TabsContent,{value:"floor-plans",children:a.floor_plans&&a.floor_plans.length>0&&(0,b.jsxs)("div",{className:"flex gap-4",children:[(0,b.jsx)("div",{className:"w-48 flex flex-col gap-2",children:a.floor_plans.map((a,c)=>(0,b.jsx)("button",{onClick:()=>J(c),className:(0,A.cn)("text-left px-3 py-2.5 rounded-lg text-sm transition-all",c===I?"bg-[hsl(36,82%,47%,0.15)] text-[hsl(36,82%,47%)] border border-[hsl(36,82%,47%,0.3)]":"text-muted-foreground hover:bg-secondary/50"),children:a.name},a.id))}),(0,b.jsx)("div",{className:"flex-1",children:a.floor_plans[I]&&(0,b.jsxs)("div",{className:"luxury-card p-6",children:[(0,b.jsx)("h3",{className:"font-semibold mb-4",children:a.floor_plans[I].name}),a.floor_plans[I].image_url&&(0,b.jsx)("div",{className:"relative h-72 mb-4 rounded-xl overflow-hidden bg-secondary/30",children:(0,b.jsx)(d.default,{src:a.floor_plans[I].image_url,alt:a.floor_plans[I].name,fill:!0,className:"object-contain",sizes:"600px"})}),(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-3 text-sm",children:[a.floor_plans[I].carpet_area&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-muted-foreground text-xs",children:"Carpet Area"}),(0,b.jsxs)("p",{className:"font-medium",children:[a.floor_plans[I].carpet_area," sqft"]})]}),a.floor_plans[I].built_up_area&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-muted-foreground text-xs",children:"Built-up Area"}),(0,b.jsxs)("p",{className:"font-medium",children:[a.floor_plans[I].built_up_area," sqft"]})]}),a.floor_plans[I].price&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-muted-foreground text-xs",children:"Price"}),(0,b.jsx)("p",{className:"font-medium text-[hsl(36,82%,47%)]",children:(0,A.formatCurrency)(Number(a.floor_plans[I].price))})]})]}),a.floor_plans[I].pdf_url&&(0,b.jsxs)("a",{href:a.floor_plans[I].pdf_url,download:!0,className:"inline-flex items-center gap-2 mt-4 text-sm text-[hsl(36,82%,47%)] hover:underline",children:[(0,b.jsx)(i.Download,{className:"w-4 h-4"}),"Download Floor Plan PDF"]})]})})]})}),(0,b.jsx)(w.TabsContent,{value:"amenities",children:(0,b.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-3",children:a.amenities?.map(a=>(0,b.jsxs)("div",{className:"flex items-center gap-3 p-3 rounded-xl bg-secondary/30 border border-border",children:[(0,b.jsx)(h.CheckCircle,{className:"w-4 h-4 text-green-400 shrink-0"}),(0,b.jsx)("span",{className:"text-sm text-foreground",children:a.name})]},a.id))})}),(0,b.jsx)(w.TabsContent,{value:"faqs",children:(0,b.jsx)(x.Accordion,{type:"single",collapsible:!0,className:"w-full",children:a.faqs?.map((a,c)=>(0,b.jsxs)(x.AccordionItem,{value:`faq-${c}`,children:[(0,b.jsx)(x.AccordionTrigger,{className:"text-sm font-medium text-left",children:a.question}),(0,b.jsx)(x.AccordionContent,{className:"text-muted-foreground text-sm leading-relaxed",children:a.answer})]},a.id))})}),(0,b.jsx)(w.TabsContent,{value:"updates",children:(0,b.jsx)("div",{className:"relative pl-4 border-l-2 border-[hsl(36,82%,47%,0.3)]",children:a.updates?.map(a=>(0,b.jsxs)("div",{className:"mb-8 relative",children:[(0,b.jsx)("div",{className:"absolute -left-[25px] w-5 h-5 rounded-full bg-[hsl(36,82%,47%)] flex items-center justify-center",children:(0,b.jsx)("div",{className:"w-2 h-2 rounded-full bg-background"})}),(0,b.jsxs)("div",{className:"luxury-card p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,b.jsx)("h3",{className:"font-semibold text-foreground text-sm",children:a.title}),a.milestone_percent&&(0,b.jsxs)(v.Badge,{variant:"gold",children:[a.milestone_percent,"% Complete"]})]}),(0,b.jsx)("p",{className:"text-muted-foreground text-sm",children:a.description}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:(0,A.formatDate)(a.update_date)})]})]},a.id))})})]})]}),(0,b.jsx)("div",{className:"lg:col-span-1",children:(0,b.jsxs)("div",{className:"sticky top-24 space-y-4",children:[(0,b.jsx)("div",{id:"enquire",children:(0,b.jsx)(y.EnquiryForm,{projectId:a.id,projectName:a.name,source:"project_page",compact:!1})}),(0,b.jsxs)("div",{className:"luxury-card p-4 flex flex-col gap-2",children:[(0,b.jsxs)("a",{href:`https://wa.me/${a.whatsapp_number??B.WHATSAPP_NUMBER}?text=Hi, I am interested in ${a.name}`,target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 py-3 bg-green-600 hover:bg-green-500 text-white rounded-xl text-sm font-semibold transition-colors",children:[(0,b.jsx)(u.MessageCircle,{className:"w-4 h-4"}),"WhatsApp Enquiry"]}),a.inquiry_phone&&(0,b.jsxs)("a",{href:`tel:${a.inquiry_phone}`,className:"flex items-center justify-center gap-2 py-3 border border-border text-muted-foreground hover:text-foreground rounded-xl text-sm transition-colors",children:[(0,b.jsx)(k.Phone,{className:"w-4 h-4"}),a.inquiry_phone]}),a.brochure_url&&(0,b.jsxs)("a",{href:a.brochure_url,download:!0,className:"flex items-center justify-center gap-2 py-3 border border-[hsl(36,82%,47%,0.4)] text-[hsl(36,82%,47%)] hover:bg-[hsl(36,82%,47%,0.1)] rounded-xl text-sm transition-colors",children:[(0,b.jsx)(i.Download,{className:"w-4 h-4"}),"Download Brochure"]})]})]})})]}),D.length>0&&(0,b.jsxs)("div",{className:"mt-16",children:[(0,b.jsx)("h2",{className:"section-title text-2xl mb-6",children:"Similar Properties"}),(0,b.jsx)("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-5",children:D.map((a,c)=>(0,b.jsx)(z.PropertyCard,{project:a,index:c},a.id))})]})]})]})}],639787)}];
2
+
3
+ //# sourceMappingURL=src_components_projects_project-detail-client_tsx_0qyb-f-._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[974328,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(346271),f=a.i(262036),g=a.i(395098),g=g,h=a.i(682314),h=h,i=a.i(740401),i=i,j=a.i(233540),k=a.i(474215),l=a.i(707963),m=a.i(141146),n=a.i(875160),o=a.i(699570),p=a.i(866718),q=a.i(935112);function r(a,[b,c]){return Math.min(c,Math.max(b,a))}var s=a.i(507554),t=a.i(37738),u=a.i(470121),v=a.i(750104),w=a.i(507827),x=a.i(596743),y=a.i(486228),z=a.i(422297),A=a.i(392843),B=a.i(704691),C=a.i(692616),D=a.i(777192),E=a.i(30553),F=a.i(811011),G=a.i(746872),H=a.i(225152),I=a.i(872752),J=a.i(77994),K=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"});c.forwardRef((a,c)=>(0,b.jsx)(E.Primitive.span,{...a,ref:c,style:{...K,...a.style}})).displayName="VisuallyHidden";var L=a.i(241852),M=a.i(152081),N=[" ","Enter","ArrowUp","ArrowDown"],O=[" ","Enter"],P="Select",[Q,R,S]=(0,t.createCollection)(P),[T,U]=(0,v.createContextScope)(P,[S,B.createPopperScope]),V=(0,B.createPopperScope)(),[W,X]=T(P),[Y,Z]=T(P);function $(a){let{__scopeSelect:d,children:e,open:f,defaultOpen:g,onOpenChange:h,value:i,defaultValue:j,onValueChange:k,dir:l,name:m,autoComplete:n,disabled:o,required:p,form:q,internal_do_not_use_render:r}=a,s=V(d),[t,u]=c.useState(null),[v,x]=c.useState(null),[y,z]=c.useState(!1),C=(0,w.useDirection)(l),[D,E]=(0,H.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:P}),[F,G]=(0,H.useControllableState)({prop:i,defaultProp:j,onChange:k,caller:P}),I=c.useRef(null),J=c.useRef(F);c.useEffect(()=>{let a=q?t?.ownerDocument.getElementById(q):t?.form;if(a instanceof HTMLFormElement){let b=()=>G(J.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[q,t,G]);let K=!t||!!q||!!t.closest("form"),[L,M]=c.useState(new Set),N=(0,A.useId)(),O=Array.from(L).map(a=>a.props.value).join(";"),R=c.useCallback(a=>{M(b=>new Set(b).add(a))},[]),S=c.useCallback(a=>{M(b=>{let c=new Set(b);return c.delete(a),c})},[]),T={required:p,trigger:t,onTriggerChange:u,valueNode:v,onValueNodeChange:x,valueNodeHasChildren:y,onValueNodeHasChildrenChange:z,contentId:N,value:F,onValueChange:G,open:D,onOpenChange:E,dir:C,triggerPointerDownPosRef:I,disabled:o,name:m,autoComplete:n,form:q,nativeOptions:L,nativeSelectKey:O,isFormControl:K};return(0,b.jsx)(B.Root,{...s,children:(0,b.jsx)(W,{scope:d,...T,children:(0,b.jsx)(Q.Provider,{scope:d,children:(0,b.jsx)(Y,{scope:d,onNativeOptionAdd:R,onNativeOptionRemove:S,children:"function"==typeof r?r(T):e})})})})}$.displayName="SelectProvider";var _=a=>{let{__scopeSelect:c,children:d,...e}=a;return(0,b.jsx)($,{__scopeSelect:c,...e,internal_do_not_use_render:({isFormControl:a})=>(0,b.jsxs)(b.Fragment,{children:[d,a?(0,b.jsx)(aR,{__scopeSelect:c}):null]})})};_.displayName=P;var aa="SelectTrigger",ab=c.forwardRef((a,d)=>{let{__scopeSelect:e,disabled:f=!1,...g}=a,h=V(e),i=X(aa,e),j=i.disabled||f,k=(0,u.useComposedRefs)(d,i.onTriggerChange),l=R(e),m=c.useRef("touch"),[n,o,p]=aT(a=>{let b=l().filter(a=>!a.disabled),c=b.find(a=>a.value===i.value),d=aU(b,a,c);void 0!==d&&i.onValueChange(d.value)}),q=a=>{j||(i.onOpenChange(!0),p()),a&&(i.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,b.jsx)(B.Anchor,{asChild:!0,...h,children:(0,b.jsx)(E.Primitive.button,{type:"button",role:"combobox","aria-controls":i.open?i.contentId:void 0,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:j,"data-disabled":j?"":void 0,"data-placeholder":aS(i.value)?"":void 0,...g,ref:k,onClick:(0,s.composeEventHandlers)(g.onClick,a=>{a.currentTarget.focus(),"mouse"!==m.current&&q(a)}),onPointerDown:(0,s.composeEventHandlers)(g.onPointerDown,a=>{m.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(q(a),a.preventDefault())}),onKeyDown:(0,s.composeEventHandlers)(g.onKeyDown,a=>{let b=""!==n.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||o(a.key),(!b||" "!==a.key)&&N.includes(a.key)&&(q(),a.preventDefault())})})})});ab.displayName=aa;var ac="SelectValue",ad=c.forwardRef((a,d)=>{let{__scopeSelect:e,className:f,style:g,children:h,placeholder:i="",...j}=a,k=X(ac,e),{onValueNodeHasChildrenChange:l}=k,m=void 0!==h,n=(0,u.useComposedRefs)(d,k.onValueNodeChange);(0,I.useLayoutEffect)(()=>{l(m)},[l,m]);let o=aS(k.value);return(0,b.jsx)(E.Primitive.span,{...j,asChild:!o&&j.asChild,ref:n,style:{pointerEvents:"none"},children:(0,b.jsx)(c.Fragment,{children:o?i:h},o?"placeholder":"value")})});ad.displayName=ac;var ae=c.forwardRef((a,c)=>{let{__scopeSelect:d,children:e,...f}=a;return(0,b.jsx)(E.Primitive.span,{"aria-hidden":!0,...f,ref:c,children:e||"▼"})});ae.displayName="SelectIcon";var af="SelectPortal",[ag,ah]=T(af,{forceMount:void 0}),ai=a=>{let{__scopeSelect:c,forceMount:d,...e}=a;return(0,b.jsx)(ag,{scope:a.__scopeSelect,forceMount:d,children:(0,b.jsx)(C.Portal,{asChild:!0,...e})})};ai.displayName=af;var aj="SelectContent",ak=c.forwardRef((a,d)=>{let e=ah(aj,a.__scopeSelect),{forceMount:f=e.forceMount,...g}=a,h=X(aj,a.__scopeSelect),[i,j]=c.useState();return(0,I.useLayoutEffect)(()=>{j(new DocumentFragment)},[]),(0,b.jsx)(D.Presence,{present:f||h.open,children:({present:a})=>a?(0,b.jsx)(ap,{...g,ref:d}):(0,b.jsx)(al,{...g,fragment:i})})});ak.displayName=aj;var al=c.forwardRef((a,c)=>{let{__scopeSelect:d,children:e,fragment:f}=a;return f?q.createPortal((0,b.jsx)(am,{scope:d,children:(0,b.jsx)(Q.Slot,{scope:d,children:(0,b.jsx)("div",{ref:c,children:e})})}),f):null});al.displayName="SelectContentFragment";var[am,an]=T(aj),ao=(0,F.createSlot)("SelectContent.RemoveScroll"),ap=c.forwardRef((a,d)=>{let{__scopeSelect:e}=a,{position:f="item-aligned",onCloseAutoFocus:g,onEscapeKeyDown:h,onPointerDownOutside:i,side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:t,...v}=a,w=X(aj,e),[A,B]=c.useState(null),[C,D]=c.useState(null),E=(0,u.useComposedRefs)(d,B),[F,G]=c.useState(null),[H,I]=c.useState(null),J=R(e),[K,N]=c.useState(!1),O=c.useRef(!1);c.useEffect(()=>{if(A)return(0,L.hideOthers)(A)},[A]),(0,y.useFocusGuards)();let P=c.useCallback(a=>{let[b,...c]=J().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&C&&(C.scrollTop=0),c===d&&C&&(C.scrollTop=C.scrollHeight),c?.focus(),document.activeElement!==e))return},[J,C]),Q=c.useCallback(()=>P([F,A]),[P,F,A]);c.useEffect(()=>{K&&Q()},[K,Q]);let{onOpenChange:S,triggerPointerDownPosRef:T}=w;c.useEffect(()=>{if(A){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(T.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(T.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():c.composedPath().includes(A)||S(!1),document.removeEventListener("pointermove",b),T.current=null};return null!==T.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[A,S,T]),c.useEffect(()=>{let a=()=>S(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[S]);let[U,V]=aT(a=>{let b=J().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=aU(b,a,c);d&&setTimeout(()=>d.ref.current?.focus())}),W=c.useCallback((a,b,c)=>{let d=!O.current&&!c;(void 0!==w.value&&w.value===b||d)&&(G(a),d&&(O.current=!0))},[w.value]),Y=c.useCallback(()=>A?.focus(),[A]),Z=c.useCallback((a,b,c)=>{let d=!O.current&&!c;(void 0!==w.value&&w.value===b||d)&&I(a)},[w.value]),$="popper"===f?ar:aq,_=$===ar?{side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:t}:{};return(0,b.jsx)(am,{scope:e,content:A,viewport:C,onViewportChange:D,itemRefCallback:W,selectedItem:F,onItemLeave:Y,itemTextRefCallback:Z,focusSelectedItem:Q,selectedItemText:H,position:f,isPositioned:K,searchRef:U,children:(0,b.jsx)(M.RemoveScroll,{as:ao,allowPinchZoom:!0,children:(0,b.jsx)(z.FocusScope,{asChild:!0,trapped:w.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,s.composeEventHandlers)(g,a=>{w.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,b.jsx)(x.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>w.onOpenChange(!1),children:(0,b.jsx)($,{role:"listbox",id:w.contentId,"data-state":w.open?"open":"closed",dir:w.dir,onContextMenu:a=>a.preventDefault(),...v,..._,onPlaced:()=>N(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...v.style},onKeyDown:(0,s.composeEventHandlers)(v.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||V(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=J().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>P(b)),a.preventDefault()}})})})})})})});ap.displayName="SelectContentImpl";var aq=c.forwardRef((a,d)=>{let{__scopeSelect:e,onPlaced:f,...g}=a,h=X(aj,e),i=an(aj,e),[j,k]=c.useState(null),[l,m]=c.useState(null),n=(0,u.useComposedRefs)(d,m),o=R(e),p=c.useRef(!1),q=c.useRef(!0),{viewport:s,selectedItem:t,selectedItemText:v,focusSelectedItem:w}=i,x=c.useCallback(()=>{if(h.trigger&&h.valueNode&&j&&l&&s&&t&&v){let a=h.trigger.getBoundingClientRect(),b=l.getBoundingClientRect(),c=h.valueNode.getBoundingClientRect(),d=v.getBoundingClientRect();if("rtl"!==h.dir){let e=d.left-b.left,f=c.left-e,g=a.left-f,h=a.width+g,i=Math.max(h,b.width),k=r(f,[10,Math.max(10,window.innerWidth-10-i)]);j.style.minWidth=h+"px",j.style.left=k+"px"}else{let e=b.right-d.right,f=window.innerWidth-c.right-e,g=window.innerWidth-a.right-f,h=a.width+g,i=Math.max(h,b.width),k=r(f,[10,Math.max(10,window.innerWidth-10-i)]);j.style.minWidth=h+"px",j.style.right=k+"px"}let e=o(),g=window.innerHeight-20,i=s.scrollHeight,k=window.getComputedStyle(l),m=parseInt(k.borderTopWidth,10),n=parseInt(k.paddingTop,10),q=parseInt(k.borderBottomWidth,10),u=m+n+i+parseInt(k.paddingBottom,10)+q,w=Math.min(5*t.offsetHeight,u),x=window.getComputedStyle(s),y=parseInt(x.paddingTop,10),z=parseInt(x.paddingBottom,10),A=a.top+a.height/2-10,B=t.offsetHeight/2,C=m+n+(t.offsetTop+B);if(C<=A){let a=e.length>0&&t===e[e.length-1].ref.current;j.style.bottom="0px";let b=Math.max(g-A,B+(a?z:0)+(l.clientHeight-s.offsetTop-s.offsetHeight)+q);j.style.height=C+b+"px"}else{let a=e.length>0&&t===e[0].ref.current;j.style.top="0px";let b=Math.max(A,m+s.offsetTop+(a?y:0)+B);j.style.height=b+(u-C)+"px",s.scrollTop=C-A+s.offsetTop}j.style.margin="10px 0",j.style.minHeight=w+"px",j.style.maxHeight=g+"px",f?.(),requestAnimationFrame(()=>p.current=!0)}},[o,h.trigger,h.valueNode,j,l,s,t,v,h.dir,f]);(0,I.useLayoutEffect)(()=>x(),[x]);let[y,z]=c.useState();(0,I.useLayoutEffect)(()=>{l&&z(window.getComputedStyle(l).zIndex)},[l]);let A=c.useCallback(a=>{a&&!0===q.current&&(x(),w?.(),q.current=!1)},[x,w]);return(0,b.jsx)(as,{scope:e,contentWrapper:j,shouldExpandOnScrollRef:p,onScrollButtonChange:A,children:(0,b.jsx)("div",{ref:k,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:y},children:(0,b.jsx)(E.Primitive.div,{...g,ref:n,style:{boxSizing:"border-box",maxHeight:"100%",...g.style}})})})});aq.displayName="SelectItemAlignedPosition";var ar=c.forwardRef((a,c)=>{let{__scopeSelect:d,align:e="start",collisionPadding:f=10,...g}=a,h=V(d);return(0,b.jsx)(B.Content,{...h,...g,ref:c,align:e,collisionPadding:f,style:{boxSizing:"border-box",...g.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ar.displayName="SelectPopperPosition";var[as,at]=T(aj,{}),au="SelectViewport",av=c.forwardRef((a,d)=>{let{__scopeSelect:e,nonce:f,...g}=a,h=an(au,e),i=at(au,e),j=(0,u.useComposedRefs)(d,h.onViewportChange),k=c.useRef(0);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:f}),(0,b.jsx)(Q.Slot,{scope:e,children:(0,b.jsx)(E.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...g,ref:j,style:{position:"relative",flex:1,overflow:"hidden auto",...g.style},onScroll:(0,s.composeEventHandlers)(g.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=i;if(d?.current&&c){let a=Math.abs(k.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}k.current=b.scrollTop})})})]})});av.displayName=au;var aw="SelectGroup",[ax,ay]=T(aw);c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=(0,A.useId)();return(0,b.jsx)(ax,{scope:d,id:f,children:(0,b.jsx)(E.Primitive.div,{role:"group","aria-labelledby":f,...e,ref:c})})}).displayName=aw;var az="SelectLabel",aA=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=ay(az,d);return(0,b.jsx)(E.Primitive.div,{id:f.id,...e,ref:c})});aA.displayName=az;var aB="SelectItem",[aC,aD]=T(aB),aE=c.forwardRef((a,d)=>{let{__scopeSelect:e,value:f,disabled:g=!1,textValue:h,...i}=a,j=X(aB,e),k=an(aB,e),l=j.value===f,[m,n]=c.useState(h??""),[o,p]=c.useState(!1),q=(0,G.useCallbackRef)(a=>k.itemRefCallback?.(a,f,g)),r=(0,u.useComposedRefs)(d,q),t=(0,A.useId)(),v=c.useRef("touch"),w=()=>{g||(j.onValueChange(f),j.onOpenChange(!1))};return(0,b.jsx)(aC,{scope:e,value:f,disabled:g,textId:t,isSelected:l,onItemTextChange:c.useCallback(a=>{n(b=>b||(a?.textContent??"").trim())},[]),children:(0,b.jsx)(Q.ItemSlot,{scope:e,value:f,disabled:g,textValue:m,children:(0,b.jsx)(E.Primitive.div,{role:"option","aria-labelledby":t,"data-highlighted":o?"":void 0,"aria-selected":l&&o,"data-state":l?"checked":"unchecked","aria-disabled":g||void 0,"data-disabled":g?"":void 0,tabIndex:g?void 0:-1,...i,ref:r,onFocus:(0,s.composeEventHandlers)(i.onFocus,()=>p(!0)),onBlur:(0,s.composeEventHandlers)(i.onBlur,()=>p(!1)),onClick:(0,s.composeEventHandlers)(i.onClick,()=>{"mouse"!==v.current&&w()}),onPointerUp:(0,s.composeEventHandlers)(i.onPointerUp,()=>{"mouse"===v.current&&w()}),onPointerDown:(0,s.composeEventHandlers)(i.onPointerDown,a=>{v.current=a.pointerType}),onPointerMove:(0,s.composeEventHandlers)(i.onPointerMove,a=>{v.current=a.pointerType,g?k.onItemLeave?.():"mouse"===v.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,s.composeEventHandlers)(i.onPointerLeave,a=>{a.currentTarget===document.activeElement&&k.onItemLeave?.()}),onKeyDown:(0,s.composeEventHandlers)(i.onKeyDown,a=>{g||a.target!==a.currentTarget||(k.searchRef?.current===""||" "!==a.key)&&(O.includes(a.key)&&w()," "===a.key&&a.preventDefault())})})})})});aE.displayName=aB;var aF="SelectItemText",aG=c.forwardRef((a,d)=>{let{__scopeSelect:e,className:f,style:g,...h}=a,i=X(aF,e),j=an(aF,e),k=aD(aF,e),l=Z(aF,e),[m,n]=c.useState(null),o=(0,G.useCallbackRef)(a=>j.itemTextRefCallback?.(a,k.value,k.disabled)),p=(0,u.useComposedRefs)(d,n,k.onItemTextChange,o),r=m?.textContent,s=c.useMemo(()=>(0,b.jsx)("option",{value:k.value,disabled:k.disabled,children:r},k.value),[k.disabled,k.value,r]),{onNativeOptionAdd:t,onNativeOptionRemove:v}=l;return(0,I.useLayoutEffect)(()=>(t(s),()=>v(s)),[t,v,s]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(E.Primitive.span,{id:k.textId,...h,ref:p}),k.isSelected&&i.valueNode&&!i.valueNodeHasChildren&&!aS(i.value)?q.createPortal(h.children,i.valueNode):null]})});aG.displayName=aF;var aH="SelectItemIndicator",aI=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return aD(aH,d).isSelected?(0,b.jsx)(E.Primitive.span,{"aria-hidden":!0,...e,ref:c}):null});aI.displayName=aH;var aJ="SelectScrollUpButton",aK=c.forwardRef((a,d)=>{let e=an(aJ,a.__scopeSelect),f=at(aJ,a.__scopeSelect),[g,h]=c.useState(!1),i=(0,u.useComposedRefs)(d,f.onScrollButtonChange);return(0,I.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){h(b.scrollTop>0)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(aN,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});aK.displayName=aJ;var aL="SelectScrollDownButton",aM=c.forwardRef((a,d)=>{let e=an(aL,a.__scopeSelect),f=at(aL,a.__scopeSelect),[g,h]=c.useState(!1),i=(0,u.useComposedRefs)(d,f.onScrollButtonChange);return(0,I.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;h(Math.ceil(b.scrollTop)<a)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(aN,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});aM.displayName=aL;var aN=c.forwardRef((a,d)=>{let{__scopeSelect:e,onAutoScroll:f,...g}=a,h=an("SelectScrollButton",e),i=c.useRef(null),j=R(e),k=c.useCallback(()=>{null!==i.current&&(window.clearInterval(i.current),i.current=null)},[]);return c.useEffect(()=>()=>k(),[k]),(0,I.useLayoutEffect)(()=>{let a=j().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[j]),(0,b.jsx)(E.Primitive.div,{"aria-hidden":!0,...g,ref:d,style:{flexShrink:0,...g.style},onPointerDown:(0,s.composeEventHandlers)(g.onPointerDown,()=>{null===i.current&&(i.current=window.setInterval(f,50))}),onPointerMove:(0,s.composeEventHandlers)(g.onPointerMove,()=>{h.onItemLeave?.(),null===i.current&&(i.current=window.setInterval(f,50))}),onPointerLeave:(0,s.composeEventHandlers)(g.onPointerLeave,()=>{k()})})}),aO=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return(0,b.jsx)(E.Primitive.div,{"aria-hidden":!0,...e,ref:c})});aO.displayName="SelectSeparator";var aP="SelectArrow";c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=V(d);return"popper"===an(aP,d).position?(0,b.jsx)(B.Arrow,{...f,...e,ref:c}):null}).displayName=aP;var aQ="SelectBubbleInput",aR=c.forwardRef(({__scopeSelect:a,...d},e)=>{let f=X(aQ,a),{value:g,onValueChange:h,required:i,disabled:j,name:k,autoComplete:l,form:m}=f,{nativeOptions:n,nativeSelectKey:o}=f,p=c.useRef(null),q=(0,u.useComposedRefs)(e,p),r=g??"",s=(0,J.usePrevious)(r),t=Array.from(n).some(a=>(a.props.value??"")==="");return c.useEffect(()=>{let a=p.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(s!==r&&b){let c=new Event("change",{bubbles:!0});b.call(a,r),a.dispatchEvent(c)}},[s,r]),(0,b.jsxs)(E.Primitive.select,{"aria-hidden":!0,required:i,tabIndex:-1,name:k,autoComplete:l,disabled:j,form:m,onChange:a=>h(a.target.value),...d,style:{...K,...d.style},ref:q,defaultValue:r,children:[aS(g)&&!t?(0,b.jsx)("option",{value:""}):null,Array.from(n)]},o)});function aS(a){return""===a||void 0===a}function aT(a){let b=(0,G.useCallbackRef)(a),d=c.useRef(""),e=c.useRef(0),f=c.useCallback(a=>{let c=d.current+a;b(c),function a(b){d.current=b,window.clearTimeout(e.current),""!==b&&(e.current=window.setTimeout(()=>a(""),1e3))}(c)},[b]),g=c.useCallback(()=>{d.current="",window.clearTimeout(e.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),[d,f,g]}function aU(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}aR.displayName=aQ;var aV=a.i(752562),aW=a.i(589027),aX=a.i(113608),aY=a.i(368114);let aZ=c.forwardRef(({className:a,children:c,size:d="default",...e},f)=>(0,b.jsxs)(ab,{ref:f,className:(0,aY.cn)("flex w-full items-center justify-between rounded-xl border border-border bg-card px-3 text-sm text-foreground ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/50 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 transition-colors hover:border-border/80","sm"===d?"h-8":"h-10",a),...e,children:[c,(0,b.jsx)(ae,{asChild:!0,children:(0,b.jsx)(aW.ChevronDown,{className:"h-4 w-4 opacity-50 shrink-0 ml-2"})})]}));aZ.displayName=ab.displayName;let a$=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aK,{ref:d,className:(0,aY.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aX.ChevronUp,{className:"h-4 w-4"})}));a$.displayName=aK.displayName;let a_=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aM,{ref:d,className:(0,aY.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aW.ChevronDown,{className:"h-4 w-4"})}));a_.displayName=aM.displayName;let a0=c.forwardRef(({className:a,children:c,position:d="popper",...e},f)=>(0,b.jsx)(ai,{children:(0,b.jsxs)(ak,{ref:f,className:(0,aY.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-xl border border-border bg-card text-foreground shadow-xl data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","popper"===d&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:d,...e,children:[(0,b.jsx)(a$,{}),(0,b.jsx)(av,{className:(0,aY.cn)("p-1","popper"===d&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:c}),(0,b.jsx)(a_,{})]})}));a0.displayName=ak.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aA,{ref:d,className:(0,aY.cn)("px-2 py-1.5 text-xs font-semibold text-muted-foreground",a),...c})).displayName=aA.displayName;let a1=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(aE,{ref:e,className:(0,aY.cn)("relative flex w-full cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-secondary/50 focus:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 transition-colors",a),...d,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(aI,{children:(0,b.jsx)(aV.Check,{className:"h-4 w-4 text-primary"})})}),(0,b.jsx)(aG,{children:c})]}));a1.displayName=aE.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aO,{ref:d,className:(0,aY.cn)("-mx-1 my-1 h-px bg-border",a),...c})).displayName=aO.displayName;var a2=a.i(3688),a3=["PageUp","PageDown"],a4=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],a5={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},a6="Slider",[a7,a8,a9]=(0,t.createCollection)(a6),[ba,bb]=(0,v.createContextScope)(a6,[a9]),[bc,bd]=ba(a6),be=c.forwardRef((a,d)=>{let{name:e,min:f=0,max:g=100,step:h=1,orientation:i="horizontal",disabled:j=!1,minStepsBetweenThumbs:k=0,defaultValue:l=[f],value:m,onValueChange:n=()=>{},onValueCommit:o=()=>{},inverted:p=!1,form:q,...t}=a,v=c.useRef(new Set),w=c.useRef(0),x=c.useRef(!1),y="horizontal"===i,[z,A]=c.useState(null),B=(0,u.useComposedRefs)(d,A),[C=[],D]=(0,H.useControllableState)({prop:m,defaultProp:l,onChange:a=>{let b=[...v.current];b[w.current]?.focus({preventScroll:!0,focusVisible:x.current}),x.current=!1,n(a)}}),E=c.useRef(C),F=c.useRef(C);function G(a,b,{commit:c}={commit:!1}){let d=bA(h),e=r(bB(Math.round((a-f)/h)*h+f,d),[f,g]);D((a=[])=>{let d=function(a=[],b,c){let d=[...a];return d[c]=b,d.sort((a,b)=>a-b)}(a,e,b);if(!function(a,b){if(b>0)return Math.min(...a.slice(0,-1).map((b,c)=>a[c+1]-b))>=b;return!0}(d,k*h))return a;{w.current=d.indexOf(e);let b=String(d)!==String(a);return b&&c&&o(d),b?d:a}})}return c.useEffect(()=>{let a=q?z?.ownerDocument.getElementById(q):z?.closest("form");if(a instanceof HTMLFormElement){let b=()=>D(F.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[z,q,D]),(0,b.jsx)(bc,{scope:a.__scopeSlider,name:e,disabled:j,min:f,max:g,valueIndexToChangeRef:w,thumbs:v.current,values:C,orientation:i,form:q,children:(0,b.jsx)(a7.Provider,{scope:a.__scopeSlider,children:(0,b.jsx)(a7.Slot,{scope:a.__scopeSlider,children:(0,b.jsx)(y?bh:bi,{"aria-disabled":j,"data-disabled":j?"":void 0,...t,ref:B,onPointerDown:(0,s.composeEventHandlers)(t.onPointerDown,()=>{j||(E.current=C,x.current=!1)}),min:f,max:g,inverted:p,onSlideStart:j?void 0:function(a){let b=function(a,b){if(1===a.length)return 0;let c=a.map(a=>Math.abs(a-b)),d=Math.min(...c);return c.indexOf(d)}(C,a);G(a,b)},onSlideMove:j?void 0:function(a){G(a,w.current)},onSlideEnd:j?void 0:function(){let a=E.current[w.current];C[w.current]!==a&&o(C)},onHomeKeyDown:()=>{j||(x.current=!0,G(f,0,{commit:!0}))},onEndKeyDown:()=>{j||(x.current=!0,G(g,C.length-1,{commit:!0}))},onStepKeyDown:({event:a,direction:b})=>{if(!j){x.current=!0;let c=a3.includes(a.key)||a.shiftKey&&a4.includes(a.key),d=w.current;G(function(a,{min:b,step:c,direction:d,multiplier:e}){let f,g=bA(c),h=(a-b)/c,i=Math.round(h);return f=bB(i*c+b,g)===bB(a,g)?i+e*d:d>0?Math.ceil(h):Math.floor(h),bB(f*c+b,g)}(C[d],{min:f,step:h,direction:b,multiplier:c?10:1}),d,{commit:!0})}}})})})})});be.displayName=a6;var[bf,bg]=ba(a6,{startEdge:"left",endEdge:"right",size:"width",direction:1}),bh=c.forwardRef((a,d)=>{let{min:e,max:f,dir:g,inverted:h,onSlideStart:i,onSlideMove:j,onSlideEnd:k,onStepKeyDown:l,...m}=a,[n,o]=c.useState(null),p=(0,u.useComposedRefs)(d,o),q=c.useRef(void 0),r=(0,w.useDirection)(g),s="ltr"===r,t=s&&!h||!s&&h;function v(a){let b=q.current||n.getBoundingClientRect(),c=bz([0,b.width],t?[e,f]:[f,e]);return q.current=b,c(a-b.left)}return(0,b.jsx)(bf,{scope:a.__scopeSlider,startEdge:t?"left":"right",endEdge:t?"right":"left",direction:t?1:-1,size:"width",children:(0,b.jsx)(bj,{dir:r,"data-orientation":"horizontal",...m,ref:p,style:{...m.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:a=>{let b=v(a.clientX);i?.(b)},onSlideMove:a=>{let b=v(a.clientX);j?.(b)},onSlideEnd:()=>{q.current=void 0,k?.()},onStepKeyDown:a=>{let b=a5[t?"from-left":"from-right"].includes(a.key);l?.({event:a,direction:b?-1:1})}})})}),bi=c.forwardRef((a,d)=>{let{min:e,max:f,inverted:g,onSlideStart:h,onSlideMove:i,onSlideEnd:j,onStepKeyDown:k,...l}=a,m=c.useRef(null),n=(0,u.useComposedRefs)(d,m),o=c.useRef(void 0),p=!g;function q(a){let b=o.current||m.current.getBoundingClientRect(),c=bz([0,b.height],p?[f,e]:[e,f]);return o.current=b,c(a-b.top)}return(0,b.jsx)(bf,{scope:a.__scopeSlider,startEdge:p?"bottom":"top",endEdge:p?"top":"bottom",size:"height",direction:p?1:-1,children:(0,b.jsx)(bj,{"data-orientation":"vertical",...l,ref:n,style:{...l.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:a=>{let b=q(a.clientY);h?.(b)},onSlideMove:a=>{let b=q(a.clientY);i?.(b)},onSlideEnd:()=>{o.current=void 0,j?.()},onStepKeyDown:a=>{let b=a5[p?"from-bottom":"from-top"].includes(a.key);k?.({event:a,direction:b?-1:1})}})})}),bj=c.forwardRef((a,c)=>{let{__scopeSlider:d,onSlideStart:e,onSlideMove:f,onSlideEnd:g,onHomeKeyDown:h,onEndKeyDown:i,onStepKeyDown:j,...k}=a,l=bd(a6,d);return(0,b.jsx)(E.Primitive.span,{...k,ref:c,onKeyDown:(0,s.composeEventHandlers)(a.onKeyDown,a=>{"Home"===a.key?(h(a),a.preventDefault()):"End"===a.key?(i(a),a.preventDefault()):a3.concat(a4).includes(a.key)&&(j(a),a.preventDefault())}),onPointerDown:(0,s.composeEventHandlers)(a.onPointerDown,a=>{let b=a.target;b.setPointerCapture(a.pointerId),a.preventDefault(),l.thumbs.has(b)?b.focus({preventScroll:!0,focusVisible:!1}):e(a)}),onPointerMove:(0,s.composeEventHandlers)(a.onPointerMove,a=>{a.target.hasPointerCapture(a.pointerId)&&f(a)}),onPointerUp:(0,s.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&(b.releasePointerCapture(a.pointerId),g(a))})})}),bk="SliderTrack",bl=c.forwardRef((a,c)=>{let{__scopeSlider:d,...e}=a,f=bd(bk,d);return(0,b.jsx)(E.Primitive.span,{"data-disabled":f.disabled?"":void 0,"data-orientation":f.orientation,...e,ref:c})});bl.displayName=bk;var bm="SliderRange",bn=c.forwardRef((a,d)=>{let{__scopeSlider:e,...f}=a,g=bd(bm,e),h=bg(bm,e),i=c.useRef(null),j=(0,u.useComposedRefs)(d,i),k=g.values.length,l=g.values.map(a=>by(a,g.min,g.max)),m=k>1?Math.min(...l):0,n=100-Math.max(...l);return(0,b.jsx)(E.Primitive.span,{"data-orientation":g.orientation,"data-disabled":g.disabled?"":void 0,...f,ref:j,style:{...a.style,[h.startEdge]:m+"%",[h.endEdge]:n+"%"}})});bn.displayName=bm;var bo="SliderThumb",[bp,bq]=ba(bo),br="SliderThumbProvider";function bs(a){let{__scopeSlider:d,name:e,children:f,internal_do_not_use_render:g}=a,h=bd(br,d),i=a8(d),[j,k]=c.useState(null),l=c.useMemo(()=>j?i().findIndex(a=>a.ref.current===j):-1,[i,j]),m=(0,a2.useSize)(j),n=!j||!!h.form||!!j.closest("form"),o=h.values[l],p=e??(h.name?h.name+(h.values.length>1?"[]":""):void 0),q=void 0===o?0:by(o,h.min,h.max);c.useEffect(()=>{if(j)return h.thumbs.add(j),()=>{h.thumbs.delete(j)}},[j,h.thumbs]);let r={value:o,name:p,form:h.form,isFormControl:n,index:l,thumb:j,onThumbChange:k,percent:q,size:m};return(0,b.jsx)(bp,{scope:d,...r,children:"function"==typeof g?g(r):f})}bs.displayName=br;var bt="SliderThumbTrigger",bu=c.forwardRef((a,c)=>{var d,e,f,g,h;let i,j,{__scopeSlider:k,...l}=a,m=bd(bt,k),n=bg(bt,k),{index:o,value:p,percent:q,size:r,onThumbChange:t}=bq(bt,k),v=(0,u.useComposedRefs)(c,t),w=(d=o,(e=m.values.length)>2?`Value ${d+1} of ${e}`:2===e?["Minimum","Maximum"][d]:void 0),x=r?.[n.size],y=x?(f=x,g=q,h=n.direction,j=bz([0,50],[0,i=f/2]),(i-j(g)*h)*h):0;return(0,b.jsx)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[n.startEdge]:`calc(${q}% + ${y}px)`},children:(0,b.jsx)(a7.ItemSlot,{scope:k,children:(0,b.jsx)(E.Primitive.span,{role:"slider","aria-label":a["aria-label"]||w,"aria-valuemin":m.min,"aria-valuenow":p,"aria-valuemax":m.max,"aria-orientation":m.orientation,"data-orientation":m.orientation,"data-disabled":m.disabled?"":void 0,tabIndex:m.disabled?void 0:0,...l,ref:v,style:void 0===p?{display:"none"}:a.style,onFocus:(0,s.composeEventHandlers)(a.onFocus,()=>{m.valueIndexToChangeRef.current=o})})})})});bu.displayName=bt;var bv=c.forwardRef((a,c)=>{let{__scopeSlider:d,name:e,...f}=a;return(0,b.jsx)(bs,{__scopeSlider:d,name:e,internal_do_not_use_render:({index:a,isFormControl:e})=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(bu,{...f,ref:c,__scopeSlider:d}),e?(0,b.jsx)(bx,{__scopeSlider:d},a):null]})})});bv.displayName=bo;var bw="SliderBubbleInput",bx=c.forwardRef(({__scopeSlider:a,...d},e)=>{let{value:f,name:g,form:h}=bq(bw,a),i=c.useRef(null),j=(0,u.useComposedRefs)(i,e),k=(0,J.usePrevious)(f);return c.useEffect(()=>{let a=i.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(k!==f&&b){let c=new Event("input",{bubbles:!0});b.call(a,f),a.dispatchEvent(c)}},[k,f]),(0,b.jsx)(E.Primitive.input,{style:{display:"none"},name:g,form:h,...d,ref:j,defaultValue:f})});function by(a,b,c){return r(100/(c-b)*(a-b),[0,100])}function bz(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}function bA(a){if(!Number.isFinite(a))return 0;let b=a.toString();if(b.includes("e")){let[a,c]=b.split("e"),d=a.split(".")[1]||"",e=Number(c);return Math.max(0,d.length-e)}let c=b.split(".")[1];return c?c.length:0}function bB(a,b){let c=Math.pow(10,b);return Math.round(a*c)/c}bx.displayName=bw;let bC=c.forwardRef(({className:a,...c},d)=>(0,b.jsxs)(be,{ref:d,className:(0,aY.cn)("relative flex w-full touch-none select-none items-center",a),...c,children:[(0,b.jsx)(bl,{className:"relative h-1.5 w-full grow overflow-hidden rounded-full bg-secondary/50",children:(0,b.jsx)(bn,{className:"absolute h-full bg-[hsl(36,82%,47%)]"})}),Array.isArray(c.value)?c.value.map((a,c)=>(0,b.jsx)(bv,{className:"block h-4 w-4 rounded-full border-2 border-[hsl(36,82%,47%)] bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 cursor-grab active:cursor-grabbing"},c)):(0,b.jsx)(bv,{className:"block h-4 w-4 rounded-full border-2 border-[hsl(36,82%,47%)] bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 cursor-grab active:cursor-grabbing"})]}));bC.displayName=be.displayName;var bD=a.i(786304),bE=a.i(352019),bF=a.i(923690),bG=a.i(781737);a.s(["ProjectsPageClient",0,function({initialProjects:a,cities:q,searchParams:r}){let s=(0,d.useRouter)(),t=(0,d.usePathname)(),[u,v]=(0,c.useTransition)(),[w,x]=(0,c.useState)("grid"),[y,z]=(0,c.useState)(!1),[A,B]=(0,c.useState)(r.q??""),[C,D]=(0,c.useState)([Number(r.price_min??0),Number(r.price_max??1e8)]),E=(0,c.useCallback)(a=>{let b=new URLSearchParams;Object.entries(r).forEach(([a,c])=>{c&&b.set(a,c)}),Object.entries(a).forEach(([a,c])=>{c?b.set(a,c):b.delete(a)}),b.delete("page"),v(()=>s.push(`${t}?${b.toString()}`))},[t,s,r]),F=()=>{v(()=>s.push(t)),B(""),D([0,1e8])},G=[r.q,r.city,r.category,r.status,r.is_luxury,r.possession_status,r.price_min,r.price_max].filter(Boolean).length,{data:H,total:I,total_pages:J,page:K,has_next:L,has_prev:M}=a;return(0,b.jsxs)("div",{className:"section-container py-8",children:[(0,b.jsxs)("div",{className:"mb-8",children:[(0,b.jsx)("h1",{className:"section-title text-3xl lg:text-4xl mb-2",children:r.category?`${bG.PROJECT_CATEGORIES.find(a=>a.value===r.category)?.label??r.category} Properties`:r.q?`Search: "${r.q}"`:"All Properties"}),(0,b.jsxs)("p",{className:"text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-semibold text-foreground",children:I.toLocaleString("en-IN")})," ","properties found",r.city&&` in ${r.city}`]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-4 mb-6 p-4 glass-card rounded-2xl",children:[(0,b.jsxs)("form",{onSubmit:a=>{a.preventDefault(),E({q:A||void 0})},className:"relative flex-1 max-w-xs",children:[(0,b.jsx)(j.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),(0,b.jsx)(p.Input,{value:A,onChange:a=>B(a.target.value),placeholder:"Search properties...",className:"pl-9 h-9 text-sm"})]}),(0,b.jsxs)(_,{value:r.sort??"featured",onValueChange:a=>E({sort:a}),children:[(0,b.jsx)(aZ,{className:"w-44 h-9 text-sm",children:(0,b.jsx)(ad,{placeholder:"Sort by"})}),(0,b.jsxs)(a0,{children:[(0,b.jsx)(a1,{value:"featured",children:"Featured First"}),(0,b.jsx)(a1,{value:"newest",children:"Newest First"}),(0,b.jsx)(a1,{value:"price-asc",children:"Price: Low to High"}),(0,b.jsx)(a1,{value:"price-desc",children:"Price: High to Low"})]})]}),(0,b.jsxs)(o.Button,{variant:"outline",size:"sm",onClick:()=>z(!y),className:"relative",children:[(0,b.jsx)(g.default,{className:"w-4 h-4 mr-2"}),"Filters",G>0&&(0,b.jsx)("span",{className:"absolute -top-1.5 -right-1.5 w-5 h-5 rounded-full bg-primary text-primary-foreground text-[10px] flex items-center justify-center font-bold",children:G})]}),G>0&&(0,b.jsxs)(o.Button,{variant:"ghost",size:"sm",onClick:F,children:[(0,b.jsx)(k.X,{className:"w-4 h-4 mr-1"}),"Clear"]}),(0,b.jsxs)("div",{className:"flex items-center rounded-lg border border-border overflow-hidden",children:[(0,b.jsx)("button",{onClick:()=>x("grid"),className:(0,bF.cn)("p-2 transition-colors","grid"===w?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:(0,b.jsx)(h.default,{className:"w-4 h-4"})}),(0,b.jsx)("button",{onClick:()=>x("list"),className:(0,bF.cn)("p-2 transition-colors","list"===w?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:(0,b.jsx)(i.default,{className:"w-4 h-4"})})]})]}),(0,b.jsx)(f.AnimatePresence,{children:y&&(0,b.jsx)(e.motion.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},className:"overflow-hidden mb-6",children:(0,b.jsxs)("div",{className:"glass-card rounded-2xl p-6 grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2 block",children:"City"}),(0,b.jsxs)(_,{value:r.city??"all",onValueChange:a=>E({city:"all"===a?void 0:a}),children:[(0,b.jsx)(aZ,{className:"h-9 text-sm",children:(0,b.jsx)(ad,{placeholder:"All Cities"})}),(0,b.jsxs)(a0,{children:[(0,b.jsx)(a1,{value:"all",children:"All Cities"}),q.map(a=>(0,b.jsx)(a1,{value:a.name,children:a.name},a.id))]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2 block",children:"Property Type"}),(0,b.jsxs)(_,{value:r.category??"all",onValueChange:a=>E({category:"all"===a?void 0:a}),children:[(0,b.jsx)(aZ,{className:"h-9 text-sm",children:(0,b.jsx)(ad,{placeholder:"All Types"})}),(0,b.jsxs)(a0,{children:[(0,b.jsx)(a1,{value:"all",children:"All Types"}),bG.PROJECT_CATEGORIES.map(a=>(0,b.jsx)(a1,{value:a.value,children:a.label},a.value))]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2 block",children:"Project Status"}),(0,b.jsxs)(_,{value:r.status??"all",onValueChange:a=>E({status:"all"===a?void 0:a}),children:[(0,b.jsx)(aZ,{className:"h-9 text-sm",children:(0,b.jsx)(ad,{placeholder:"Any Status"})}),(0,b.jsxs)(a0,{children:[(0,b.jsx)(a1,{value:"all",children:"Any Status"}),bG.PROJECT_STATUSES.map(a=>(0,b.jsx)(a1,{value:a.value,children:a.label},a.value))]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2 block",children:"Possession"}),(0,b.jsxs)(_,{value:r.possession_status??"all",onValueChange:a=>E({possession_status:"all"===a?void 0:a}),children:[(0,b.jsx)(aZ,{className:"h-9 text-sm",children:(0,b.jsx)(ad,{placeholder:"Any"})}),(0,b.jsxs)(a0,{children:[(0,b.jsx)(a1,{value:"all",children:"Any"}),bG.POSSESSION_STATUSES.map(a=>(0,b.jsx)(a1,{value:a.value,children:a.label},a.value))]})]})]}),(0,b.jsx)("div",{className:"flex items-center gap-3",children:(0,b.jsx)("button",{onClick:()=>E({is_luxury:"true"===r.is_luxury?void 0:"true"}),className:(0,bF.cn)("flex items-center gap-2 px-4 py-2 rounded-lg border text-sm transition-all","true"===r.is_luxury?"border-[hsl(36,82%,47%)] bg-[hsl(36,82%,47%,0.15)] text-[hsl(36,82%,47%)]":"border-border text-muted-foreground hover:border-[hsl(36,82%,47%,0.5)]"),children:"✨ Luxury Only"})}),(0,b.jsxs)("div",{className:"sm:col-span-2 lg:col-span-3",children:[(0,b.jsxs)("label",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2 block",children:["Budget Range: ",(0,bF.formatCurrency)(C[0])," — ",(0,bF.formatCurrency)(C[1])]}),(0,b.jsx)(bC,{min:0,max:1e8,step:5e5,value:C,onValueChange:D,onValueCommit:a=>E({price_min:a[0]>0?a[0].toString():void 0,price_max:a[1]<1e8?a[1].toString():void 0}),className:"mt-2"})]})]})})}),G>0&&(0,b.jsxs)("div",{className:"flex flex-wrap gap-2 mb-6",children:[r.q&&(0,b.jsxs)(bD.Badge,{variant:"secondary",className:"gap-1.5",children:["Search: ",r.q,(0,b.jsx)("button",{onClick:()=>{B(""),E({q:void 0})},children:(0,b.jsx)(k.X,{className:"w-3 h-3"})})]}),r.city&&(0,b.jsxs)(bD.Badge,{variant:"secondary",className:"gap-1.5",children:["City: ",r.city,(0,b.jsx)("button",{onClick:()=>E({city:void 0}),children:(0,b.jsx)(k.X,{className:"w-3 h-3"})})]}),r.category&&(0,b.jsxs)(bD.Badge,{variant:"secondary",className:"gap-1.5",children:["Type: ",r.category,(0,b.jsx)("button",{onClick:()=>E({category:void 0}),children:(0,b.jsx)(k.X,{className:"w-3 h-3"})})]}),"true"===r.is_luxury&&(0,b.jsxs)(bD.Badge,{variant:"gold",className:"gap-1.5",children:["Luxury Only",(0,b.jsx)("button",{onClick:()=>E({is_luxury:void 0}),children:(0,b.jsx)(k.X,{className:"w-3 h-3"})})]})]}),u?(0,b.jsx)("div",{className:"flex items-center justify-center py-24",children:(0,b.jsx)(n.Loader2,{className:"w-8 h-8 animate-spin text-primary"})}):0===H.length?(0,b.jsxs)("div",{className:"text-center py-24",children:[(0,b.jsx)("div",{className:"w-16 h-16 bg-secondary/50 rounded-full flex items-center justify-center mx-auto mb-4",children:(0,b.jsx)(j.Search,{className:"w-8 h-8 text-muted-foreground"})}),(0,b.jsx)("h3",{className:"font-display text-xl font-semibold text-foreground mb-2",children:"No properties found"}),(0,b.jsx)("p",{className:"text-muted-foreground mb-6",children:"Try adjusting your filters or search terms."}),(0,b.jsx)(o.Button,{variant:"gold-outline",onClick:F,children:"Clear All Filters"})]}):(0,b.jsx)("div",{className:(0,bF.cn)("gap-6","grid"===w?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3":"flex flex-col"),children:H.map((a,c)=>(0,b.jsx)(bE.PropertyCard,{project:a,variant:"list"===w?"featured":"default",index:c},a.id))}),J>1&&(0,b.jsxs)("div",{className:"flex items-center justify-center gap-3 mt-12",children:[(0,b.jsxs)(o.Button,{variant:"outline",size:"sm",disabled:!M,onClick:()=>E({page:String(K-1)}),children:[(0,b.jsx)(l.ChevronLeft,{className:"w-4 h-4 mr-1"}),"Previous"]}),(0,b.jsx)("div",{className:"flex items-center gap-1",children:Array.from({length:Math.min(5,J)},(a,c)=>{let d;return d=J<=5||K<=3?c+1:K>=J-2?J-4+c:K-2+c,(0,b.jsx)("button",{onClick:()=>E({page:String(d)}),className:(0,bF.cn)("w-9 h-9 rounded-lg text-sm font-medium transition-all",d===K?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-secondary/50"),children:d},d)})}),(0,b.jsxs)(o.Button,{variant:"outline",size:"sm",disabled:!L,onClick:()=>E({page:String(K+1)}),children:["Next",(0,b.jsx)(m.ChevronRight,{className:"w-4 h-4 ml-1"})]})]})]})}],974328)}];
2
+
3
+ //# sourceMappingURL=src_components_projects_projects-page-client_tsx_0en0vh2._.js.map
@@ -0,0 +1,8 @@
1
+ module.exports=[880160,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(346271),e=a.i(613412),f=a.i(707963),g=a.i(141146),h=a.i(154745),h=h,i=a.i(875160),j=a.i(460880),j=j,k=a.i(711613),l=a.i(170979),m=a.i(272147),m=m,n=a.i(585650),o=a.i(752562),p=a.i(492378),q=a.i(823292),r=a.i(405050);let s=(0,r.createServerReference)("40a427f7f2706d1dac0286b6bd33d5ede2b944472a",r.callServer,void 0,r.findSourceMapURL,"completeSetup"),t=(0,r.createServerReference)("40a87a2fdb4a919fc6c3e2e8b18e5a9034af9455d1",r.callServer,void 0,r.findSourceMapURL,"testDatabaseConnection"),u=(0,r.createServerReference)("4021468822b0863bde2ddca7e54c3f67d5e65bdd4f",r.callServer,void 0,r.findSourceMapURL,"testSmtpConnection"),v=(0,r.createServerReference)("4080d0a5e3f28b9d8d7a5b2aa82adc08446e124c4a",r.callServer,void 0,r.findSourceMapURL,"testStorageConnection"),w=(0,r.createServerReference)("400d14a6101aad68a24ec6c7ada01200570e5a3938",r.callServer,void 0,r.findSourceMapURL,"saveDatabaseConfig"),x=(0,r.createServerReference)("002f31bd92d9e3eefa4e475ac61b67f9b66c93b330",r.callServer,void 0,r.findSourceMapURL,"checkSystemReadiness");var y=a.i(699570),z=a.i(866718),A=a.i(870430),B=a.i(750104),C=a.i(30553),D="Progress",[E,F]=(0,B.createContextScope)(D),[G,H]=E(D),I=c.forwardRef((a,c)=>{var d,e;let{__scopeProgress:f,value:g=null,max:h,getValueLabel:i=L,...j}=a;(h||0===h)&&!O(h)&&console.error((d=`${h}`,`Invalid prop \`max\` of value \`${d}\` supplied to \`Progress\`. Only numbers greater than 0 are valid max values. Defaulting to \`100\`.`));let k=O(h)?h:100;null===g||P(g,k)||console.error((e=`${g}`,`Invalid prop \`value\` of value \`${e}\` supplied to \`Progress\`. The \`value\` prop must be:
2
+ - a positive number
3
+ - less than the value passed to \`max\` (or 100 if no \`max\` prop is set)
4
+ - \`null\` or \`undefined\` if the progress is indeterminate.
5
+
6
+ Defaulting to \`null\`.`));let l=P(g,k)?g:null,m=N(l)?i(l,k):void 0;return(0,b.jsx)(G,{scope:f,value:l,max:k,children:(0,b.jsx)(C.Primitive.div,{"aria-valuemax":k,"aria-valuemin":0,"aria-valuenow":N(l)?l:void 0,"aria-valuetext":m,role:"progressbar","data-state":M(l,k),"data-value":l??void 0,"data-max":k,...j,ref:c})})});I.displayName=D;var J="ProgressIndicator",K=c.forwardRef((a,c)=>{let{__scopeProgress:d,...e}=a,f=H(J,d);return(0,b.jsx)(C.Primitive.div,{"data-state":M(f.value,f.max),"data-value":f.value??void 0,"data-max":f.max,...e,ref:c})});function L(a,b){return`${Math.round(a/b*100)}%`}function M(a,b){return null==a?"indeterminate":a===b?"complete":"loading"}function N(a){return"number"==typeof a}function O(a){return N(a)&&!isNaN(a)&&a>0}function P(a,b){return N(a)&&!isNaN(a)&&a<=b&&a>=0}K.displayName=J;var Q=a.i(368114);let R=c.forwardRef(({className:a,value:c,...d},e)=>(0,b.jsx)(I,{ref:e,className:(0,Q.cn)("relative h-2 w-full overflow-hidden rounded-full bg-secondary/50",a),...d,children:(0,b.jsx)(K,{className:"h-full w-full flex-1 bg-primary transition-all duration-300",style:{transform:`translateX(-${100-(c??0)}%)`}})}));R.displayName=I.displayName;var S=a.i(563658),T=a.i(429246);let U="propvault.setup.wizard.autosave.v2",V=["Welcome & Check","Database Setup","Company Info","Branding Assets","Theme Builder","SEO & Analytics","SMTP Setup","Storage Config","Admin User","Initialization"];a.s(["SetupWizard",0,function(){let[a,r]=(0,c.useState)(0),[B,C]=(0,c.useState)(!1),[D,E]=(0,c.useState)(!1),[F,G]=(0,c.useState)(null),[H,I]=(0,c.useState)(null),[J,K]=(0,c.useState)(null),[L,M]=(0,c.useState)(!1),N=(0,c.useMemo)(()=>!!J&&!!(J.nodeOk&&J.storageWritable&&J.uploadsWritable&&J.betterSqlite3Installed&&J.sharpInstalled),[J]);(0,c.useEffect)(()=>{(async()=>{try{let a=await x();K(a)}catch(a){console.error("System readiness check failed:",a)}})()},[]);let[O,P]=(0,c.useState)({driver:"sqlite",database:"./data/propvault.db",host:"localhost",port:"5432",username:"",password:"",url:"",replicas:"",ssl:!1,authSource:"admin"}),Q={sqlite:"",postgresql:"5432",mysql:"3306",mongodb:"27017"},[W,X]=(0,c.useState)({organization:{companyName:"PropVault Luxury Estates",brandName:"PropVault",website:"http://localhost:3000",email:"concierge@propvault.luxury",phone:"+91 99999 88888",whatsApp:"919999988888",address:"Marina One Suite, Bandra Kurla Complex",city:"Mumbai",state:"Maharashtra",country:"India",gst:"27AAACP1234F1Z1",pan:"AAACP1234F",timezone:"Asia/Kolkata",currency:"INR",language:"en"},branding:{logoHorizontal:"/logo/logo.png",logoVertical:"/logo/vertical_logo.png",logoDark:"/logo/logo.png",logoLight:"/logo/logo.png",favicon:"/favicon.ico",appleIcon:"/icons/apple-touch-icon.png",androidIcon:"/icons/android-chrome-192x192.png",ogImage:"/og/propVault.png",loadingIcon:"pulse",adminLogo:"/logo/logo.png",emailLogo:"/logo/logo.png"},theme:{primaryColor:"#d88b16",secondaryColor:"#17171f",accent:"#f4ca64",success:"#10b981",danger:"#ef4444",warning:"#f59e0b",borderRadius:"12",containerWidth:"1280",defaultFont:"Inter",darkMode:!0},seo:{title:"PropVault - Signature Luxury Real Estate",description:"Discover curated premium developments, private villas, and high-yield real estate projects. Fully RERA verified with zero brokerage charges.",keywords:"luxury villas, real estate investments, RERA verified projects, premium homes",robots:"index, follow",canonical:"http://localhost:3000",schema:"",openGraph:"true",twitterCard:"summary_large_image",verificationCodes:"",analytics:"UA-123456-1",metaPixel:"",gtm:"GTM-12345",searchConsole:"",bing:"",yandex:""},admin:{fullName:"",username:"admin",email:"",password:"",phone:"",profileImage:"",role:"super_admin",securityQuestions:"",twoFactorReady:!0},communication:{smtpHost:"smtp.mailtrap.io",smtpPort:"2525",smtpEncryption:"TLS",smtpUser:"",smtpPassword:"",emailSender:"concierge@propvault.luxury",replyEmail:"info@propvault.luxury",whatsAppNumber:"919999988888",businessPhone:"+91 99999 88888",supportEmail:"support@propvault.luxury"},storage:{provider:"local",s3Endpoint:"",s3Bucket:"",s3AccessKey:"",s3SecretKey:"",imageCompression:!0,webp:!0,avif:!0},seedDemoData:!0,licenseKey:""}),[Y,Z]=(0,c.useTransition)();(0,c.useEffect)(()=>{let a=window.localStorage.getItem(U);if(a)try{X(JSON.parse(a))}catch(a){console.error("Autosave recovery failed:",a)}let b=window.localStorage.getItem(U+".db");if(b)try{P(JSON.parse(b))}catch(a){console.error("Autosave db recovery failed:",a)}},[]),(0,c.useEffect)(()=>{window.localStorage.setItem(U,JSON.stringify(W))},[W]),(0,c.useEffect)(()=>{window.localStorage.setItem(U+".db",JSON.stringify(O))},[O]);let $=(0,c.useMemo)(()=>Math.round((a+1)/V.length*100),[a]),_=async()=>{E(!0),G(null);try{let a=await t(O);G(a),a.success?(q.toast.success("Database connection verified!"),await w(O)):q.toast.error(a.error||"Handshake failed.")}catch(a){q.toast.error(a.message||"Test failed.")}finally{E(!1)}},aa=async()=>{E(!0),G(null);try{let a=await u({host:String(W.communication.smtpHost),port:String(W.communication.smtpPort),encryption:String(W.communication.smtpEncryption),username:String(W.communication.smtpUser),password:String(W.communication.smtpPassword)});G(a),a.success?q.toast.success("SMTP Connection verified successfully!"):q.toast.error(a.error||"SMTP connection failed.")}catch{q.toast.error("Test failed.")}finally{E(!1)}},ab=async()=>{E(!0),G(null);try{let a=await v({provider:String(W.storage.provider),s3Bucket:String(W.storage.s3Bucket),s3AccessKey:String(W.storage.s3AccessKey),s3SecretKey:String(W.storage.s3SecretKey)});G(a),a.success?q.toast.success("Storage driver validated!"):q.toast.error(a.error||"Storage validation failed.")}catch{q.toast.error("Test failed.")}finally{E(!1)}},ac=(a,b,c)=>{X(d=>({...d,[a]:{...d[a],[b]:c}}))},ad=async(a,b)=>{I(a);let c=new FormData;c.append("file",b),c.append("folder","branding"),c.append("type","image");try{let b=await fetch("/api/upload",{method:"POST",body:c}),d=await b.json();d.success&&d.data?.url?(ac("branding",a,d.data.url),q.toast.success("Branding file uploaded!")):q.toast.error(d.error??"Upload failed")}catch{q.toast.error("Upload failed")}finally{I(null)}};return(0,b.jsxs)("main",{className:`min-h-screen flex flex-col lg:flex-row transition-colors duration-300 ${B?"bg-slate-50 text-slate-800":"bg-[hsl(240,20%,7%)] text-foreground"}`,children:[(0,b.jsxs)("aside",{className:`lg:w-[360px] border-b lg:border-b-0 lg:border-r p-6 flex flex-col justify-between transition-colors ${B?"bg-white/70 border-slate-200":"bg-[hsl(240,15%,10%)]/50 border-border"} backdrop-blur-xl shrink-0`,children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br from-primary to-accent text-primary-foreground",children:(0,b.jsx)(h.default,{className:"h-5 w-5"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground font-bold uppercase tracking-wider",children:"Enterprise Setup"}),(0,b.jsx)("h1",{className:"text-lg font-bold tracking-tight font-display",children:"PropVault CMS"})]})]}),(0,b.jsx)("button",{onClick:()=>C(!B),className:`p-2 rounded-xl border transition-colors ${B?"hover:bg-slate-100 border-slate-200 text-slate-600":"hover:bg-white/5 border-border text-muted-foreground"}`,title:B?"Switch to Dark Mode":"Switch to Light Mode",children:B?(0,b.jsx)(l.Moon,{className:"w-4 h-4"}):(0,b.jsx)(k.Sun,{className:"w-4 h-4"})})]}),(0,b.jsxs)("div",{className:"mt-8",children:[(0,b.jsxs)("div",{className:"flex justify-between text-xs text-muted-foreground mb-2 font-medium",children:[(0,b.jsx)("span",{children:"Installation Progress"}),(0,b.jsxs)("span",{children:[$,"%"]})]}),(0,b.jsx)(R,{value:$,className:"h-2 bg-secondary"})]}),(0,b.jsx)("ol",{className:"mt-8 space-y-1.5",children:V.map((c,d)=>(0,b.jsxs)("li",{className:`flex items-center gap-3 rounded-xl px-3 py-2 text-xs font-medium transition-all ${d===a?"bg-primary/10 text-primary font-semibold border-l-2 border-primary pl-2":d<a?"text-muted-foreground/60 line-through":"text-muted-foreground/45"}`,children:[(0,b.jsx)("span",{className:`flex h-5 w-5 items-center justify-center rounded-full border text-[10px] shrink-0 ${d===a?"border-primary text-primary":d<a?"border-muted-foreground/30 bg-muted-foreground/5 text-muted-foreground":"border-border text-muted-foreground/40"}`,children:d<a?(0,b.jsx)(e.CheckCircle2,{className:"h-3.5 w-3.5 text-primary"}):d+1}),c]},c))})]}),(0,b.jsxs)("div",{className:"hidden lg:block text-[10px] text-muted-foreground/40 pt-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),(0,b.jsx)("p",{children:"Auto-saved locally in browser"})]}),(0,b.jsx)("p",{children:"PropVault Enterprise v1.0.0"})]})]}),(0,b.jsx)("section",{className:"flex-1 p-6 lg:p-12 overflow-y-auto max-h-screen",children:(0,b.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,b.jsxs)("header",{className:"mb-8",children:[(0,b.jsxs)("span",{className:"text-[10px] font-bold text-primary uppercase tracking-widest",children:["Step ",a+1," of ",V.length]}),(0,b.jsx)("h2",{className:"text-2xl font-bold tracking-tight mt-1 inline-block font-display",children:V[a]}),(0,b.jsx)("div",{className:"h-[3px] w-12 bg-primary rounded-full mt-2"})]}),(0,b.jsxs)("div",{className:`p-6 rounded-2xl border transition-colors shadow-lg relative backdrop-blur-md ${B?"bg-white border-slate-200":"bg-[hsl(240,15%,11%)] border-border"}`,children:[0===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center gap-4 border-b border-border/50 pb-4",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground leading-relaxed flex-1",children:"Welcome to the PropVault Enterprise installer. We have audited the system environment to verify the prerequisites for local database clustering and media handling."}),J?.version&&(0,b.jsxs)("span",{className:"text-xxs font-mono bg-primary/10 border border-primary/25 text-primary px-3 py-1 rounded-full shrink-0 font-bold",children:["Version: v",J.version]})]}),(0,b.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:[{name:"Node.js Runtime Platform",status:J?`Installed: ${J.nodeVersion}`:"Checking...",ok:!J||J.nodeOk},{name:"Database Storage Permission",status:J?J.storageWritable?"Directory Writable":"Directory not writable":"Checking...",ok:!J||J.storageWritable},{name:"Public Uploads Directory",status:J?J.uploadsWritable?"public/uploads folder ready":"Uploads not writable":"Checking...",ok:!J||J.uploadsWritable},{name:"BullDB Active Record Engine",status:"Vetted and Initialized",ok:!0},{name:"better-sqlite3 Database Module",status:J?J.betterSqlite3Installed?"Installed & Active":"Missing better-sqlite3 module":"Checking...",ok:!J||J.betterSqlite3Installed},{name:"sharp Image Processor Module",status:J?J.sharpInstalled?"Installed & Active":"Missing sharp module":"Checking...",ok:!J||J.sharpInstalled}].map(a=>(0,b.jsxs)("div",{className:`flex items-center gap-3 border p-4 rounded-xl ${B?"bg-slate-50 border-slate-200":"bg-card/40 border-border"}`,children:[(0,b.jsx)(j.default,{className:`h-5 w-5 ${a.ok?"text-emerald-500":"text-destructive"} shrink-0`}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"font-semibold text-xs",children:a.name}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:a.status})]})]},a.name))}),(0,b.jsxs)("div",{className:`p-5 rounded-xl border ${B?"bg-slate-50 border-slate-200":"bg-card/25 border-border"}`,children:[(0,b.jsxs)("h3",{className:"font-semibold text-xs mb-1.5 flex items-center gap-2",children:[(0,b.jsx)(p.Zap,{className:"w-3.5 h-3.5 text-primary"}),(0,b.jsx)("span",{children:"Enterprise License Key (Optional)"})]}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mb-3 leading-relaxed",children:"Enter your PropVault Enterprise License Key. Leave it empty to bootstrap the system under the standard open-source (OSS) terms."}),(0,b.jsx)(z.Input,{value:W.licenseKey||"",onChange:a=>X(b=>({...b,licenseKey:a.target.value})),placeholder:"e.g. PV-XXXX-XXXX-XXXX-XXXX",className:"max-w-md h-9 text-xs"})]})]}),1===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("p",{className:"text-xs text-muted-foreground leading-relaxed",children:["PropVault is powered by the ",(0,b.jsx)("strong",{children:"BullDB"})," engine. Select your preferred database driver and fill connection parameters."]}),(0,b.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-3",children:[{value:"sqlite",label:"SQLite",description:"Embedded database — ideal for simple/quick setups",group:"File Based"},{value:"postgresql",label:"PostgreSQL",description:"Advanced relational database for scale",group:"SQL Databases"},{value:"mysql",label:"MySQL",description:"Widely used relational database",group:"SQL Databases"},{value:"mongodb",label:"MongoDB",description:"NoSQL document store",group:"NoSQL"}].map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>{var b;return b=a.value,void(P(a=>({...a,driver:b,port:Q[b]??""})),G(null))},className:`p-4 rounded-xl border text-left transition-all ${O.driver===a.value?"border-primary bg-primary/5 ring-1 ring-primary/25":B?"border-slate-200 hover:bg-slate-50":"border-border hover:border-primary/20 hover:bg-white/5"}`,children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,b.jsx)(m.default,{className:`h-4 w-4 ${O.driver===a.value?"text-primary":"text-muted-foreground"}`}),(0,b.jsx)("span",{className:"text-xs font-bold",children:a.label})]}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground leading-relaxed",children:a.description})]},a.value))}),"sqlite"===O.driver?(0,b.jsxs)("div",{className:"space-y-3 pt-2",children:[(0,b.jsx)("div",{className:`p-3 rounded-xl border text-[11px] ${B?"bg-emerald-50 border-emerald-200 text-emerald-700":"bg-emerald-500/5 border-emerald-500/10 text-emerald-400"}`,children:"✓ SQLite requires no server setup. A local database file will be created automatically."}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs text-muted-foreground",children:"Database File Path"}),(0,b.jsx)(z.Input,{value:O.database,onChange:a=>P(b=>({...b,database:a.target.value})),className:"mt-1.5",placeholder:"./data/propvault.db"})]})]}):(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 pt-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs text-muted-foreground",children:"Host"}),(0,b.jsx)(z.Input,{value:O.host,onChange:a=>P(b=>({...b,host:a.target.value})),className:"mt-1.5",placeholder:"localhost"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs text-muted-foreground",children:"Port"}),(0,b.jsx)(z.Input,{value:O.port,onChange:a=>P(b=>({...b,port:a.target.value})),className:"mt-1.5",placeholder:Q[O.driver]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs text-muted-foreground",children:"Database Name"}),(0,b.jsx)(z.Input,{value:O.database,onChange:a=>P(b=>({...b,database:a.target.value})),className:"mt-1.5",placeholder:"propvault"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs text-muted-foreground",children:"Username"}),(0,b.jsx)(z.Input,{value:O.username,onChange:a=>P(b=>({...b,username:a.target.value})),className:"mt-1.5",placeholder:"db_user"})]}),(0,b.jsxs)("div",{className:"md:col-span-2",children:[(0,b.jsx)(A.Label,{className:"text-xs text-muted-foreground",children:"Password"}),(0,b.jsx)(z.Input,{type:"password",value:O.password,onChange:a=>P(b=>({...b,password:a.target.value})),className:"mt-1.5",placeholder:"••••••••"})]}),(0,b.jsxs)("div",{className:"md:col-span-2",children:[(0,b.jsx)(A.Label,{className:"text-xs text-muted-foreground",children:"Connection URI Override (Optional)"}),(0,b.jsx)(z.Input,{value:O.url,onChange:a=>P(b=>({...b,url:a.target.value})),className:"mt-1.5",placeholder:"mongodb://localhost:27017/propvault"})]})]}),(0,b.jsxs)("div",{className:`border p-4 rounded-xl flex items-center justify-between ${B?"bg-slate-50 border-slate-200":"bg-card/25 border-border"}`,children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-bold",children:"Validate Connection"}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:"Attempt BullDB handshake and write-buffer test."})]}),(0,b.jsx)(y.Button,{onClick:_,disabled:D,variant:"outline",size:"sm",className:"h-8 text-xs font-semibold px-4",children:D?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.Loader2,{className:"h-3 w-3 animate-spin mr-1.5"})," Testing..."]}):"Test Connection"})]}),F&&F.success&&(0,b.jsxs)(d.motion.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},className:`p-5 rounded-xl border space-y-4 ${B?"bg-emerald-50 border-emerald-200 text-emerald-800":"bg-emerald-500/5 border-emerald-500/20 text-emerald-300"}`,children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,b.jsx)(e.CheckCircle2,{className:"h-5 w-5 text-emerald-400 shrink-0"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"font-bold text-xs",children:"Database Connected Successfully"}),(0,b.jsx)("p",{className:"text-[10px] text-emerald-400/80 mt-0.5",children:"Write-buffer handshakes passed validation metrics."})]})]}),(0,b.jsxs)("div",{className:`grid grid-cols-2 md:grid-cols-4 gap-3 pt-3 border-t text-[10px] ${B?"border-emerald-200":"border-emerald-500/10"}`,children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-[9px] uppercase font-semibold opacity-60",children:"Driver"}),(0,b.jsx)("span",{className:"font-mono mt-0.5 block font-bold",children:F.data?.driver})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-[9px] uppercase font-semibold opacity-60",children:"Version"}),(0,b.jsx)("span",{className:"font-mono mt-0.5 block font-bold",children:F.data?.version})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-[9px] uppercase font-semibold opacity-60",children:"Latency"}),(0,b.jsxs)("span",{className:"font-mono mt-0.5 block font-bold text-primary flex items-center gap-1",children:[(0,b.jsx)(p.Zap,{className:"w-3 h-3"})," ",F.data?.latency]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-[9px] uppercase font-semibold opacity-60",children:"Status"}),(0,b.jsx)("span",{className:"font-mono mt-0.5 block font-bold text-emerald-400",children:F.data?.status})]})]})]}),F&&!F.success&&(0,b.jsx)(d.motion.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},className:"p-5 rounded-xl border border-destructive/20 bg-destructive/5 text-destructive-foreground space-y-4",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("span",{className:"h-5 w-5 rounded-full bg-destructive/10 text-destructive flex items-center justify-center font-bold text-xs shrink-0",children:"✗"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("h4",{className:"font-bold text-xs text-red-400",children:"Database Connection Failed"}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:"Handshake parameters refused or host not reachable."}),(0,b.jsx)("div",{className:"mt-2.5 p-3 bg-black/40 rounded-lg border border-white/5 font-mono text-[10px] overflow-x-auto whitespace-pre-wrap max-h-32 text-red-300",children:F.error||"Connection timed out."}),(0,b.jsxs)("div",{className:"mt-3.5 flex flex-wrap gap-2",children:[(0,b.jsx)(y.Button,{onClick:_,variant:"destructive",size:"sm",className:"h-7 text-[10px] font-bold px-3",children:"Retry Handshake"}),(0,b.jsx)(y.Button,{onClick:()=>{let a=F?.error||"Database connection error details";navigator.clipboard.writeText(a),M(!0),q.toast.success("Error log copied to clipboard"),setTimeout(()=>M(!1),2e3)},variant:"outline",size:"sm",className:"h-7 text-[10px] font-bold px-3 border-white/10 hover:bg-white/5",children:L?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o.Check,{className:"w-3 h-3 mr-1"})," Copied"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(n.Copy,{className:"w-3 h-3 mr-1"})," Copy Error"]})}),(0,b.jsx)("a",{href:"https://propvault.dev/docs/troubleshooting#database-connection",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center h-7 text-[10px] font-semibold px-3 text-muted-foreground hover:text-foreground transition-colors",children:"Troubleshooting Guide →"})]})]})]})})]}),2===a&&(0,b.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:Object.entries(W.organization).map(([a,c])=>(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"capitalize text-xs font-semibold text-muted-foreground",children:a.replace(/([A-Z])/g," $1")}),(0,b.jsx)(z.Input,{value:String(c??""),onChange:b=>ac("organization",a,b.target.value),className:"mt-1.5"})]},a))}),3===a&&(0,b.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:Object.entries(W.branding).map(([a,c])=>{let d=a.toLowerCase().includes("logo")||a.toLowerCase().includes("icon")||a.toLowerCase().includes("favicon")||a.toLowerCase().includes("image");return(0,b.jsxs)("div",{className:`space-y-2 p-4 rounded-xl border ${B?"bg-slate-50 border-slate-200":"bg-card/20 border-border"}`,children:[(0,b.jsx)(A.Label,{className:"capitalize text-[10px] font-bold text-muted-foreground block",children:a.replace(/([A-Z])/g," $1")}),(0,b.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,b.jsx)(z.Input,{value:String(c??""),onChange:b=>ac("branding",a,b.target.value),className:"text-xs font-mono"}),d&&(0,b.jsxs)("div",{className:"relative shrink-0",children:[(0,b.jsx)("input",{type:"file",accept:"image/*,.ico",className:"sr-only",id:`file-upload-${a}`,onChange:b=>{let c=b.target.files?.[0];c&&ad(a,c)}}),(0,b.jsx)(y.Button,{variant:"outline",size:"sm",className:"h-9 px-3 text-xs border-dashed border-primary/40 text-primary hover:bg-primary/5",asChild:!0,disabled:H===a,children:(0,b.jsx)("label",{htmlFor:`file-upload-${a}`,className:"cursor-pointer",children:H===a?(0,b.jsx)(i.Loader2,{className:"w-3.5 h-3.5 animate-spin"}):"Upload"})})]})]})]},a)})}),4===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Configure the primary brand colors for your PropVault design system preset. A set of exactly 10 premium responsive themes (5 Luxury Light, 5 Luxury Dark) will be seeded into your database automatically during final setup."}),(0,b.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:Object.entries(W.theme).map(([a,c])=>{let d=a.toLowerCase().includes("color")||"accent"===a||"success"===a||"danger"===a||"warning"===a;return(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"capitalize text-xs font-semibold text-muted-foreground",children:a.replace(/([A-Z])/g," $1")}),d?(0,b.jsxs)("div",{className:"flex gap-2 mt-1.5",children:[(0,b.jsx)(z.Input,{type:"color",value:String(c??"#000000"),onChange:b=>ac("theme",a,b.target.value),className:"w-12 h-9 p-1 bg-transparent rounded-lg cursor-pointer border border-border"}),(0,b.jsx)(z.Input,{value:String(c??""),onChange:b=>ac("theme",a,b.target.value),className:"font-mono text-xs"})]}):"darkMode"===a?(0,b.jsxs)("div",{className:"flex items-center gap-3 mt-3",children:[(0,b.jsx)(S.Switch,{checked:!!c,onCheckedChange:b=>ac("theme",a,b),id:"darkmode-toggle"}),(0,b.jsx)("label",{htmlFor:"darkmode-toggle",className:"text-xs text-muted-foreground cursor-pointer",children:"Start application with Dark Mode as user default"})]}):(0,b.jsx)(z.Input,{value:String(c??""),onChange:b=>ac("theme",a,b.target.value),className:"mt-1.5 text-xs font-mono"})]},a)})})]}),5===a&&(0,b.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:Object.entries(W.seo).map(([a,c])=>{let d="description"===a||"schema"===a||"verificationCodes"===a;return(0,b.jsxs)("div",{className:d?"md:col-span-2":"",children:[(0,b.jsx)(A.Label,{className:"capitalize text-xs font-semibold text-muted-foreground",children:a.replace(/([A-Z])/g," $1")}),d?(0,b.jsx)(T.Textarea,{value:String(c??""),onChange:b=>ac("seo",a,b.target.value),className:"mt-1.5 text-xs leading-relaxed",rows:3}):(0,b.jsx)(z.Input,{value:String(c??""),onChange:b=>ac("seo",a,b.target.value),className:"mt-1.5 text-xs"})]},a)})}),6===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"SMTP Host"}),(0,b.jsx)(z.Input,{value:String(W.communication.smtpHost??""),onChange:a=>ac("communication","smtpHost",a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"SMTP Port"}),(0,b.jsx)(z.Input,{value:String(W.communication.smtpPort??""),onChange:a=>ac("communication","smtpPort",a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"Encryption Method"}),(0,b.jsx)(z.Input,{value:String(W.communication.smtpEncryption??""),onChange:a=>ac("communication","smtpEncryption",a.target.value),placeholder:"TLS / SSL",className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"Sender Email Address"}),(0,b.jsx)(z.Input,{value:String(W.communication.emailSender??""),onChange:a=>ac("communication","emailSender",a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"SMTP Username"}),(0,b.jsx)(z.Input,{value:String(W.communication.smtpUser??""),onChange:a=>ac("communication","smtpUser",a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"SMTP Password"}),(0,b.jsx)(z.Input,{value:String(W.communication.smtpPassword??""),type:"password",onChange:a=>ac("communication","smtpPassword",a.target.value),className:"mt-1.5"})]})]}),(0,b.jsxs)("div",{className:`border p-4 rounded-xl flex items-center justify-between ${B?"bg-slate-50 border-slate-200":"bg-card/25 border-border"}`,children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-bold",children:"Validate SMTP Credentials"}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:"Send a handshake request to verify server parameters."})]}),(0,b.jsx)(y.Button,{onClick:aa,disabled:D,variant:"outline",size:"sm",className:"h-8 text-xs font-semibold px-4",children:D?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.Loader2,{className:"w-3 h-3 animate-spin mr-1.5"})," Testing..."]}):"Test Mailer"})]}),F&&(0,b.jsx)("div",{className:`p-4 rounded-xl border text-xs ${F.success?"bg-emerald-500/10 border-emerald-500/20 text-emerald-400":"bg-destructive/10 border-destructive/20 text-destructive-foreground"}`,children:F.success?"SMTP transport verified successfully!":`Connection failure: ${F.error}`})]}),7===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"Storage Provider"}),(0,b.jsx)(z.Input,{value:String(W.storage.provider??""),onChange:a=>ac("storage","provider",a.target.value),placeholder:"local / s3",className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"S3 Service Endpoint"}),(0,b.jsx)(z.Input,{value:String(W.storage.s3Endpoint??""),onChange:a=>ac("storage","s3Endpoint",a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"S3 Storage Bucket"}),(0,b.jsx)(z.Input,{value:String(W.storage.s3Bucket??""),onChange:a=>ac("storage","s3Bucket",a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"S3 Access Key ID"}),(0,b.jsx)(z.Input,{value:String(W.storage.s3AccessKey??""),onChange:a=>ac("storage","s3AccessKey",a.target.value),className:"mt-1.5"})]}),(0,b.jsxs)("div",{className:"md:col-span-2",children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"S3 Secret Access Key"}),(0,b.jsx)(z.Input,{value:String(W.storage.s3SecretKey??""),type:"password",onChange:a=>ac("storage","s3SecretKey",a.target.value),className:"mt-1.5"})]})]}),(0,b.jsxs)("div",{className:`border p-4 rounded-xl flex items-center justify-between ${B?"bg-slate-50 border-slate-200":"bg-card/25 border-border"}`,children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-bold",children:"Validate Storage Configuration"}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:"Perform write buffer validation on target storage."})]}),(0,b.jsx)(y.Button,{onClick:ab,disabled:D,variant:"outline",size:"sm",className:"h-8 text-xs font-semibold px-4",children:D?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.Loader2,{className:"w-3 h-3 animate-spin mr-1.5"})," Testing..."]}):"Verify Storage"})]}),F&&(0,b.jsx)("div",{className:`p-4 rounded-xl border text-xs ${F.success?"bg-emerald-500/10 border-emerald-500/20 text-emerald-400":"bg-destructive/10 border-destructive/20 text-destructive-foreground"}`,children:F.success?"Storage driver verified successfully!":`Validation failure: ${F.error}`})]}),8===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Establish the initial system super administrator account credentials. This operator will hold complete permissions across lead management and builder listings."}),(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"Full Operator Name"}),(0,b.jsx)(z.Input,{value:W.admin.fullName,onChange:a=>ac("admin","fullName",a.target.value),placeholder:"e.g. Vikram Sharma",className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"Login Email Address"}),(0,b.jsx)(z.Input,{value:W.admin.email,type:"email",onChange:a=>ac("admin","email",a.target.value),placeholder:"admin@propvault.luxury",className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"Security Password"}),(0,b.jsx)(z.Input,{value:W.admin.password,type:"password",onChange:a=>ac("admin","password",a.target.value),placeholder:"At least 8 characters",className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(A.Label,{className:"text-xs font-semibold text-muted-foreground",children:"Contact Phone"}),(0,b.jsx)(z.Input,{value:W.admin.phone,onChange:a=>ac("admin","phone",a.target.value),placeholder:"+91 99999 88888",className:"mt-1.5"})]})]})]}),9===a&&(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"flex h-11 w-11 items-center justify-center rounded-xl bg-emerald-500/10 text-emerald-400 shrink-0",children:(0,b.jsx)(e.CheckCircle2,{className:"h-6 w-6"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"font-bold text-base",children:"Installation Configurations Staged"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Prerequisites, database schemas, and administrator info are ready to deploy."})]})]}),(0,b.jsxs)("div",{className:`p-4 rounded-xl border flex items-center justify-between ${B?"bg-slate-50 border-slate-200":"bg-card/25 border-border"}`,children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(A.Label,{htmlFor:"seed-demo-toggle",className:"text-xs font-bold cursor-pointer",children:"Seed Premium Real Estate Landing Content"}),(0,b.jsx)("p",{className:"text-[10px] text-muted-foreground",children:"Generates a complete luxury real estate landing website (villas, projects, timeline, map)."})]}),(0,b.jsx)(S.Switch,{checked:W.seedDemoData,onCheckedChange:a=>X(b=>({...b,seedDemoData:a})),id:"seed-demo-toggle"})]})]}),(0,b.jsxs)("div",{className:`mt-8 pt-6 border-t flex justify-between items-center ${B?"border-slate-200":"border-border"}`,children:[(0,b.jsxs)(y.Button,{variant:"ghost",onClick:()=>{r(a=>Math.max(0,a-1)),G(null)},disabled:0===a||Y,className:"h-9 text-xs font-semibold hover:bg-secondary/40 text-muted-foreground hover:text-foreground",children:[(0,b.jsx)(f.ChevronLeft,{className:"w-4 h-4 mr-1"})," Back"]}),a===V.length-1?(0,b.jsx)(y.Button,{onClick:()=>{W.admin.email&&W.admin.password&&!(W.admin.password.length<8)?Z(async()=>{try{let a=await s(W);a.success?(q.toast.success("PropVault Enterprise installed successfully!"),window.localStorage.removeItem(U),window.localStorage.removeItem(U+".db"),window.location.href="/admin"):q.toast.error(a.error||"Setup failed.")}catch(a){q.toast.error(a.message||"An unexpected error occurred.")}}):q.toast.error("An admin email and password of at least 8 characters are required.")},disabled:Y,className:"h-10 text-xs font-bold px-6 bg-gradient-to-r from-primary to-accent text-primary-foreground hover:opacity-90 transition-opacity rounded-xl",children:Y?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.Loader2,{className:"w-4 h-4 animate-spin mr-1.5"})," Deploying System..."]}):"Complete Installation"}):(0,b.jsxs)(y.Button,{onClick:()=>{r(a=>Math.min(V.length-1,a+1)),G(null)},disabled:Y||0===a&&!N,className:"h-10 text-xs font-bold px-6 rounded-xl hover:opacity-90",children:["Next Step ",(0,b.jsx)(g.ChevronRight,{className:"w-4 h-4 ml-1"})]})]})]})]})})]})}],880160)}];
7
+
8
+ //# sourceMappingURL=src_components_setup_setup-wizard_tsx_17wfyof._.js.map