@next-degree/pickle-shared-js 0.13.1 → 0.13.4

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 (581) hide show
  1. package/dist/chunk-2FGZQI42.js +11 -0
  2. package/dist/chunk-2FGZQI42.js.map +1 -0
  3. package/dist/chunk-325GPWFN.js +24 -0
  4. package/dist/chunk-325GPWFN.js.map +1 -0
  5. package/dist/chunk-37YFXNLL.cjs +46 -0
  6. package/dist/chunk-37YFXNLL.cjs.map +1 -0
  7. package/dist/chunk-3BGXWNKI.cjs +26 -0
  8. package/dist/chunk-3BGXWNKI.cjs.map +1 -0
  9. package/dist/chunk-3CI6PTKT.cjs +82 -0
  10. package/dist/chunk-3CI6PTKT.cjs.map +1 -0
  11. package/dist/chunk-3PARXYUI.cjs +86 -0
  12. package/dist/chunk-3PARXYUI.cjs.map +1 -0
  13. package/dist/chunk-3VIRJK7I.js +63 -0
  14. package/dist/chunk-3VIRJK7I.js.map +1 -0
  15. package/dist/chunk-47H3M7TP.js +72 -0
  16. package/dist/chunk-47H3M7TP.js.map +1 -0
  17. package/dist/chunk-4E3ANVRR.js +35 -0
  18. package/dist/chunk-4E3ANVRR.js.map +1 -0
  19. package/dist/chunk-4GDAUTH4.cjs +112 -0
  20. package/dist/chunk-4GDAUTH4.cjs.map +1 -0
  21. package/dist/chunk-4IJ5TMHI.js +20 -0
  22. package/dist/chunk-4IJ5TMHI.js.map +1 -0
  23. package/dist/chunk-4KXEHU2Z.js +142 -0
  24. package/dist/chunk-4KXEHU2Z.js.map +1 -0
  25. package/dist/chunk-4NEPWF3Z.js +152 -0
  26. package/dist/chunk-4NEPWF3Z.js.map +1 -0
  27. package/dist/chunk-4OJ7NEZU.js +107 -0
  28. package/dist/chunk-4OJ7NEZU.js.map +1 -0
  29. package/dist/chunk-4RVGUZNF.js +72 -0
  30. package/dist/chunk-4RVGUZNF.js.map +1 -0
  31. package/dist/chunk-4TLLJ52E.cjs +28 -0
  32. package/dist/chunk-4TLLJ52E.cjs.map +1 -0
  33. package/dist/chunk-4TP4NYO2.js +41 -0
  34. package/dist/chunk-4TP4NYO2.js.map +1 -0
  35. package/dist/chunk-567FG76G.cjs +39 -0
  36. package/dist/chunk-567FG76G.cjs.map +1 -0
  37. package/dist/chunk-5H35ZVLR.js +43 -0
  38. package/dist/chunk-5H35ZVLR.js.map +1 -0
  39. package/dist/chunk-5H75FIY2.cjs +64 -0
  40. package/dist/chunk-5H75FIY2.cjs.map +1 -0
  41. package/dist/chunk-5QXQ2LBB.cjs +4 -0
  42. package/dist/chunk-5QXQ2LBB.cjs.map +1 -0
  43. package/dist/chunk-5REFGTWO.js +87 -0
  44. package/dist/chunk-5REFGTWO.js.map +1 -0
  45. package/dist/chunk-5RH3VTNV.js +81 -0
  46. package/dist/chunk-5RH3VTNV.js.map +1 -0
  47. package/dist/chunk-5Z4ILTRD.js +48 -0
  48. package/dist/chunk-5Z4ILTRD.js.map +1 -0
  49. package/dist/chunk-7CKQ3FSB.js +24 -0
  50. package/dist/chunk-7CKQ3FSB.js.map +1 -0
  51. package/dist/chunk-7VHZCQL3.js +30 -0
  52. package/dist/chunk-7VHZCQL3.js.map +1 -0
  53. package/dist/chunk-7X6S7GJK.cjs +11 -0
  54. package/dist/chunk-7X6S7GJK.cjs.map +1 -0
  55. package/dist/chunk-A46BJOVJ.cjs +71 -0
  56. package/dist/chunk-A46BJOVJ.cjs.map +1 -0
  57. package/dist/chunk-A7E5UPEP.cjs +36 -0
  58. package/dist/chunk-A7E5UPEP.cjs.map +1 -0
  59. package/dist/chunk-A7MLO6YN.cjs +109 -0
  60. package/dist/chunk-A7MLO6YN.cjs.map +1 -0
  61. package/dist/chunk-AB3775NI.cjs +93 -0
  62. package/dist/chunk-AB3775NI.cjs.map +1 -0
  63. package/dist/chunk-AMNEAWA7.cjs +59 -0
  64. package/dist/chunk-AMNEAWA7.cjs.map +1 -0
  65. package/dist/chunk-AQ54YTF2.js +80 -0
  66. package/dist/chunk-AQ54YTF2.js.map +1 -0
  67. package/dist/chunk-CDQM72QX.cjs +46 -0
  68. package/dist/chunk-CDQM72QX.cjs.map +1 -0
  69. package/dist/chunk-CIFWAE4A.js +39 -0
  70. package/dist/chunk-CIFWAE4A.js.map +1 -0
  71. package/dist/chunk-CUICNKLS.cjs +42 -0
  72. package/dist/chunk-CUICNKLS.cjs.map +1 -0
  73. package/dist/chunk-D5CBPEAR.js +67 -0
  74. package/dist/chunk-D5CBPEAR.js.map +1 -0
  75. package/dist/chunk-DGDBIRAA.js +118 -0
  76. package/dist/chunk-DGDBIRAA.js.map +1 -0
  77. package/dist/chunk-DHB467LV.js +34 -0
  78. package/dist/chunk-DHB467LV.js.map +1 -0
  79. package/dist/chunk-DU5OQA67.cjs +49 -0
  80. package/dist/chunk-DU5OQA67.cjs.map +1 -0
  81. package/dist/chunk-DVSHUNGT.cjs +49 -0
  82. package/dist/chunk-DVSHUNGT.cjs.map +1 -0
  83. package/dist/chunk-E5S6MGBJ.cjs +51 -0
  84. package/dist/chunk-E5S6MGBJ.cjs.map +1 -0
  85. package/dist/chunk-EAFZZSYR.js +69 -0
  86. package/dist/chunk-EAFZZSYR.js.map +1 -0
  87. package/dist/chunk-EBKY3MJH.cjs +72 -0
  88. package/dist/chunk-EBKY3MJH.cjs.map +1 -0
  89. package/dist/chunk-EG7G3RZ2.cjs +79 -0
  90. package/dist/chunk-EG7G3RZ2.cjs.map +1 -0
  91. package/dist/chunk-FMST4EVC.js +11 -0
  92. package/dist/chunk-FMST4EVC.js.map +1 -0
  93. package/dist/chunk-FOJTLQJO.js +152 -0
  94. package/dist/chunk-FOJTLQJO.js.map +1 -0
  95. package/dist/chunk-FRXKCHZ7.cjs +50 -0
  96. package/dist/chunk-FRXKCHZ7.cjs.map +1 -0
  97. package/dist/chunk-FSMBDLNU.js +34 -0
  98. package/dist/chunk-FSMBDLNU.js.map +1 -0
  99. package/dist/chunk-G5ERI2MS.js +59 -0
  100. package/dist/chunk-G5ERI2MS.js.map +1 -0
  101. package/dist/chunk-GK3QI7HQ.js +49 -0
  102. package/dist/chunk-GK3QI7HQ.js.map +1 -0
  103. package/dist/chunk-GN3JZCM3.cjs +99 -0
  104. package/dist/chunk-GN3JZCM3.cjs.map +1 -0
  105. package/dist/chunk-GP5XW2ZR.cjs +36 -0
  106. package/dist/chunk-GP5XW2ZR.cjs.map +1 -0
  107. package/dist/chunk-GQNVPLSG.cjs +44 -0
  108. package/dist/chunk-GQNVPLSG.cjs.map +1 -0
  109. package/dist/chunk-GRLH3A6S.js +40 -0
  110. package/dist/chunk-GRLH3A6S.js.map +1 -0
  111. package/dist/chunk-HCXPKYJR.cjs +37 -0
  112. package/dist/chunk-HCXPKYJR.cjs.map +1 -0
  113. package/dist/chunk-HEHLGQ2U.js +198 -0
  114. package/dist/chunk-HEHLGQ2U.js.map +1 -0
  115. package/dist/chunk-HJYGNJD5.js +27 -0
  116. package/dist/chunk-HJYGNJD5.js.map +1 -0
  117. package/dist/chunk-HMKEBIBE.cjs +14 -0
  118. package/dist/chunk-HMKEBIBE.cjs.map +1 -0
  119. package/dist/chunk-HVNR3VXM.js +34 -0
  120. package/dist/chunk-HVNR3VXM.js.map +1 -0
  121. package/dist/chunk-I4H7XREK.js +91 -0
  122. package/dist/chunk-I4H7XREK.js.map +1 -0
  123. package/dist/chunk-IHWVGIDT.cjs +86 -0
  124. package/dist/chunk-IHWVGIDT.cjs.map +1 -0
  125. package/dist/chunk-IVPCYGXE.cjs +20 -0
  126. package/dist/chunk-IVPCYGXE.cjs.map +1 -0
  127. package/dist/chunk-J5GVGJZA.js +23 -0
  128. package/dist/chunk-J5GVGJZA.js.map +1 -0
  129. package/dist/chunk-JDAV6RWN.js +26 -0
  130. package/dist/chunk-JDAV6RWN.js.map +1 -0
  131. package/dist/chunk-JZVRCP3M.cjs +411 -0
  132. package/dist/chunk-JZVRCP3M.cjs.map +1 -0
  133. package/dist/chunk-K3653KJ6.js +11 -0
  134. package/dist/chunk-K3653KJ6.js.map +1 -0
  135. package/dist/chunk-K76RPF2X.js +37 -0
  136. package/dist/chunk-K76RPF2X.js.map +1 -0
  137. package/dist/chunk-KH3K3OI4.cjs +86 -0
  138. package/dist/chunk-KH3K3OI4.cjs.map +1 -0
  139. package/dist/chunk-KR33HZBW.js +31 -0
  140. package/dist/chunk-KR33HZBW.js.map +1 -0
  141. package/dist/chunk-KWIGG26N.js +3 -0
  142. package/dist/chunk-KWIGG26N.js.map +1 -0
  143. package/dist/chunk-KZBS5RNE.js +41 -0
  144. package/dist/chunk-KZBS5RNE.js.map +1 -0
  145. package/dist/chunk-L4SZQQK6.cjs +171 -0
  146. package/dist/chunk-L4SZQQK6.cjs.map +1 -0
  147. package/dist/chunk-L56JW56Y.cjs +129 -0
  148. package/dist/chunk-L56JW56Y.cjs.map +1 -0
  149. package/dist/chunk-LQPOFYD3.js +47 -0
  150. package/dist/chunk-LQPOFYD3.js.map +1 -0
  151. package/dist/chunk-LQQ244AY.js +28 -0
  152. package/dist/chunk-LQQ244AY.js.map +1 -0
  153. package/dist/chunk-LRBADBNS.cjs +23 -0
  154. package/dist/chunk-LRBADBNS.cjs.map +1 -0
  155. package/dist/chunk-LUCDLADP.cjs +49 -0
  156. package/dist/chunk-LUCDLADP.cjs.map +1 -0
  157. package/dist/chunk-LUFPA3WC.cjs +93 -0
  158. package/dist/chunk-LUFPA3WC.cjs.map +1 -0
  159. package/dist/chunk-M3HMXHAL.cjs +266 -0
  160. package/dist/chunk-M3HMXHAL.cjs.map +1 -0
  161. package/dist/chunk-MDLLVPLD.cjs +35 -0
  162. package/dist/chunk-MDLLVPLD.cjs.map +1 -0
  163. package/dist/chunk-MGWZXPMF.cjs +13 -0
  164. package/dist/chunk-MGWZXPMF.cjs.map +1 -0
  165. package/dist/chunk-NHAD5YHP.js +134 -0
  166. package/dist/chunk-NHAD5YHP.js.map +1 -0
  167. package/dist/chunk-NLGWU2KI.cjs +36 -0
  168. package/dist/chunk-NLGWU2KI.cjs.map +1 -0
  169. package/dist/chunk-NU2XENOZ.js +90 -0
  170. package/dist/chunk-NU2XENOZ.js.map +1 -0
  171. package/dist/chunk-OC2OB575.cjs +200 -0
  172. package/dist/chunk-OC2OB575.cjs.map +1 -0
  173. package/dist/chunk-OT3J7XYM.cjs +120 -0
  174. package/dist/chunk-OT3J7XYM.cjs.map +1 -0
  175. package/dist/chunk-P7CAVAYY.cjs +198 -0
  176. package/dist/chunk-P7CAVAYY.cjs.map +1 -0
  177. package/dist/chunk-PB2N5UFC.js +20 -0
  178. package/dist/chunk-PB2N5UFC.js.map +1 -0
  179. package/dist/chunk-PLL2MFTV.js +26 -0
  180. package/dist/chunk-PLL2MFTV.js.map +1 -0
  181. package/dist/chunk-PLPEZUCB.js +42 -0
  182. package/dist/chunk-PLPEZUCB.js.map +1 -0
  183. package/dist/chunk-PNXBZYED.js +24 -0
  184. package/dist/chunk-PNXBZYED.js.map +1 -0
  185. package/dist/chunk-PONUWUJ7.js +29 -0
  186. package/dist/chunk-PONUWUJ7.js.map +1 -0
  187. package/dist/chunk-PRZZF2EB.js +9 -0
  188. package/dist/chunk-PRZZF2EB.js.map +1 -0
  189. package/dist/chunk-PSRWV7UW.cjs +50 -0
  190. package/dist/chunk-PSRWV7UW.cjs.map +1 -0
  191. package/dist/chunk-PZ5AY32C.js +9 -0
  192. package/dist/chunk-PZ5AY32C.js.map +1 -0
  193. package/dist/chunk-Q7SFCCGT.cjs +11 -0
  194. package/dist/chunk-Q7SFCCGT.cjs.map +1 -0
  195. package/dist/chunk-QDSCHWM3.cjs +64 -0
  196. package/dist/chunk-QDSCHWM3.cjs.map +1 -0
  197. package/dist/chunk-QNVDG3L3.cjs +171 -0
  198. package/dist/chunk-QNVDG3L3.cjs.map +1 -0
  199. package/dist/chunk-RDPMXAQG.cjs +50 -0
  200. package/dist/chunk-RDPMXAQG.cjs.map +1 -0
  201. package/dist/chunk-RIG6I4HV.cjs +49 -0
  202. package/dist/chunk-RIG6I4HV.cjs.map +1 -0
  203. package/dist/chunk-ROBFZCJT.js +176 -0
  204. package/dist/chunk-ROBFZCJT.js.map +1 -0
  205. package/dist/chunk-RYAVZOGW.js +46 -0
  206. package/dist/chunk-RYAVZOGW.js.map +1 -0
  207. package/dist/chunk-SBPJFFRB.js +107 -0
  208. package/dist/chunk-SBPJFFRB.js.map +1 -0
  209. package/dist/chunk-SKMP4FO7.cjs +42 -0
  210. package/dist/chunk-SKMP4FO7.cjs.map +1 -0
  211. package/dist/chunk-SMDQTPJE.cjs +31 -0
  212. package/dist/chunk-SMDQTPJE.cjs.map +1 -0
  213. package/dist/chunk-SPAVM3EE.cjs +95 -0
  214. package/dist/chunk-SPAVM3EE.cjs.map +1 -0
  215. package/dist/chunk-T6O5RJA3.js +91 -0
  216. package/dist/chunk-T6O5RJA3.js.map +1 -0
  217. package/dist/chunk-T7LYMPIA.js +49 -0
  218. package/dist/chunk-T7LYMPIA.js.map +1 -0
  219. package/dist/chunk-TBV7NDAG.cjs +37 -0
  220. package/dist/chunk-TBV7NDAG.cjs.map +1 -0
  221. package/dist/chunk-TCV6N3EK.js +400 -0
  222. package/dist/chunk-TCV6N3EK.js.map +1 -0
  223. package/dist/chunk-TJVXG27I.cjs +13 -0
  224. package/dist/chunk-TJVXG27I.cjs.map +1 -0
  225. package/dist/chunk-U2T647VT.cjs +144 -0
  226. package/dist/chunk-U2T647VT.cjs.map +1 -0
  227. package/dist/chunk-U3D4LL6T.js +54 -0
  228. package/dist/chunk-U3D4LL6T.js.map +1 -0
  229. package/dist/chunk-U6G7EXM6.js +33 -0
  230. package/dist/chunk-U6G7EXM6.js.map +1 -0
  231. package/dist/chunk-USQZOJUG.cjs +121 -0
  232. package/dist/chunk-USQZOJUG.cjs.map +1 -0
  233. package/dist/chunk-UTPXIIHX.js +24 -0
  234. package/dist/chunk-UTPXIIHX.js.map +1 -0
  235. package/dist/chunk-UTYX2NMA.cjs +47 -0
  236. package/dist/chunk-UTYX2NMA.cjs.map +1 -0
  237. package/dist/chunk-V563IKQH.cjs +4 -0
  238. package/dist/chunk-V563IKQH.cjs.map +1 -0
  239. package/dist/chunk-VANX3AQD.js +3 -0
  240. package/dist/chunk-VANX3AQD.js.map +1 -0
  241. package/dist/chunk-VM36U3TK.js +106 -0
  242. package/dist/chunk-VM36U3TK.js.map +1 -0
  243. package/dist/chunk-VUBXXZUL.cjs +22 -0
  244. package/dist/chunk-VUBXXZUL.cjs.map +1 -0
  245. package/dist/chunk-VXNZRGLE.cjs +140 -0
  246. package/dist/chunk-VXNZRGLE.cjs.map +1 -0
  247. package/dist/chunk-VYILTAQR.cjs +51 -0
  248. package/dist/chunk-VYILTAQR.cjs.map +1 -0
  249. package/dist/chunk-W4VQ5YRX.js +45 -0
  250. package/dist/chunk-W4VQ5YRX.js.map +1 -0
  251. package/dist/chunk-W6BMYVY5.js +17 -0
  252. package/dist/chunk-W6BMYVY5.js.map +1 -0
  253. package/dist/chunk-WAZSWGCH.js +47 -0
  254. package/dist/chunk-WAZSWGCH.js.map +1 -0
  255. package/dist/chunk-WPH6SRZT.js +48 -0
  256. package/dist/chunk-WPH6SRZT.js.map +1 -0
  257. package/dist/chunk-WRANITBW.cjs +48 -0
  258. package/dist/chunk-WRANITBW.cjs.map +1 -0
  259. package/dist/chunk-WSDKENUA.cjs +99 -0
  260. package/dist/chunk-WSDKENUA.cjs.map +1 -0
  261. package/dist/chunk-WYSZMCAK.js +12 -0
  262. package/dist/chunk-WYSZMCAK.js.map +1 -0
  263. package/dist/chunk-XAPQTBJR.cjs +45 -0
  264. package/dist/chunk-XAPQTBJR.cjs.map +1 -0
  265. package/dist/chunk-XCYNYXC7.cjs +81 -0
  266. package/dist/chunk-XCYNYXC7.cjs.map +1 -0
  267. package/dist/chunk-XFGURTBJ.js +259 -0
  268. package/dist/chunk-XFGURTBJ.js.map +1 -0
  269. package/dist/chunk-XKKJHTSY.js +77 -0
  270. package/dist/chunk-XKKJHTSY.js.map +1 -0
  271. package/dist/chunk-XUTLQ573.cjs +20 -0
  272. package/dist/chunk-XUTLQ573.cjs.map +1 -0
  273. package/dist/chunk-YB2USB4M.js +17 -0
  274. package/dist/chunk-YB2USB4M.js.map +1 -0
  275. package/dist/chunk-YEYEUQM6.cjs +13 -0
  276. package/dist/chunk-YEYEUQM6.cjs.map +1 -0
  277. package/dist/chunk-YPA6HVCD.cjs +34 -0
  278. package/dist/chunk-YPA6HVCD.cjs.map +1 -0
  279. package/dist/chunk-YUA4DBYT.js +23 -0
  280. package/dist/chunk-YUA4DBYT.js.map +1 -0
  281. package/dist/chunk-Z33TWZHI.js +81 -0
  282. package/dist/chunk-Z33TWZHI.js.map +1 -0
  283. package/dist/chunk-ZBCGHL2Z.cjs +108 -0
  284. package/dist/chunk-ZBCGHL2Z.cjs.map +1 -0
  285. package/dist/chunk-ZC7K3XKN.cjs +51 -0
  286. package/dist/chunk-ZC7K3XKN.cjs.map +1 -0
  287. package/dist/chunk-ZZCTMR2F.cjs +37 -0
  288. package/dist/chunk-ZZCTMR2F.cjs.map +1 -0
  289. package/dist/components/buttons/BackButton.cjs +11 -153
  290. package/dist/components/buttons/BackButton.cjs.map +1 -1
  291. package/dist/components/buttons/BackButton.js +7 -134
  292. package/dist/components/buttons/BackButton.js.map +1 -1
  293. package/dist/components/company/CompanyBenefits.cjs +10 -31
  294. package/dist/components/company/CompanyBenefits.cjs.map +1 -1
  295. package/dist/components/company/CompanyBenefits.js +3 -8
  296. package/dist/components/company/CompanyBenefits.js.map +1 -1
  297. package/dist/components/company/CompanyInformation.cjs +9 -86
  298. package/dist/components/company/CompanyInformation.cjs.map +1 -1
  299. package/dist/components/company/CompanyInformation.js +4 -53
  300. package/dist/components/company/CompanyInformation.js.map +1 -1
  301. package/dist/components/company/CompanyTake.cjs +10 -122
  302. package/dist/components/company/CompanyTake.cjs.map +1 -1
  303. package/dist/components/company/CompanyTake.js +6 -91
  304. package/dist/components/company/CompanyTake.js.map +1 -1
  305. package/dist/components/jobCard/JobLocation.cjs +11 -151
  306. package/dist/components/jobCard/JobLocation.cjs.map +1 -1
  307. package/dist/components/jobCard/JobLocation.js +7 -121
  308. package/dist/components/jobCard/JobLocation.js.map +1 -1
  309. package/dist/components/jobPost/JobDescription.cjs +10 -347
  310. package/dist/components/jobPost/JobDescription.cjs.map +1 -1
  311. package/dist/components/jobPost/JobDescription.js +6 -315
  312. package/dist/components/jobPost/JobDescription.js.map +1 -1
  313. package/dist/components/jobPost/JobHeader.cjs +16 -406
  314. package/dist/components/jobPost/JobHeader.cjs.map +1 -1
  315. package/dist/components/jobPost/JobHeader.js +12 -398
  316. package/dist/components/jobPost/JobHeader.js.map +1 -1
  317. package/dist/components/jobPost/JobPost.cjs +42 -1820
  318. package/dist/components/jobPost/JobPost.cjs.map +1 -1
  319. package/dist/components/jobPost/JobPost.js +33 -1812
  320. package/dist/components/jobPost/JobPost.js.map +1 -1
  321. package/dist/components/primitives/avatar.cjs +17 -82
  322. package/dist/components/primitives/avatar.cjs.map +1 -1
  323. package/dist/components/primitives/avatar.js +4 -50
  324. package/dist/components/primitives/avatar.js.map +1 -1
  325. package/dist/components/primitives/command.cjs +41 -207
  326. package/dist/components/primitives/command.cjs.map +1 -1
  327. package/dist/components/primitives/command.js +5 -170
  328. package/dist/components/primitives/command.js.map +1 -1
  329. package/dist/components/primitives/dialog.cjs +45 -124
  330. package/dist/components/primitives/dialog.cjs.map +1 -1
  331. package/dist/components/primitives/dialog.js +4 -85
  332. package/dist/components/primitives/dialog.js.map +1 -1
  333. package/dist/components/primitives/input-otp.cjs +20 -90
  334. package/dist/components/primitives/input-otp.cjs.map +1 -1
  335. package/dist/components/primitives/input-otp.js +4 -58
  336. package/dist/components/primitives/input-otp.js.map +1 -1
  337. package/dist/components/primitives/popover.cjs +17 -67
  338. package/dist/components/primitives/popover.cjs.map +1 -1
  339. package/dist/components/primitives/popover.js +4 -35
  340. package/dist/components/primitives/popover.js.map +1 -1
  341. package/dist/components/primitives/radio-group.cjs +12 -64
  342. package/dist/components/primitives/radio-group.cjs.map +1 -1
  343. package/dist/components/primitives/radio-group.js +4 -36
  344. package/dist/components/primitives/radio-group.js.map +1 -1
  345. package/dist/components/primitives/separator.cjs +9 -62
  346. package/dist/components/primitives/separator.cjs.map +1 -1
  347. package/dist/components/primitives/separator.js +4 -32
  348. package/dist/components/primitives/separator.js.map +1 -1
  349. package/dist/components/primitives/tooltip.cjs +21 -69
  350. package/dist/components/primitives/tooltip.cjs.map +1 -1
  351. package/dist/components/primitives/tooltip.js +4 -36
  352. package/dist/components/primitives/tooltip.js.map +1 -1
  353. package/dist/components/ui/Avatar.cjs +12 -105
  354. package/dist/components/ui/Avatar.cjs.map +1 -1
  355. package/dist/components/ui/Avatar.js +5 -75
  356. package/dist/components/ui/Avatar.js.map +1 -1
  357. package/dist/components/ui/Badge.cjs +12 -62
  358. package/dist/components/ui/Badge.cjs.map +1 -1
  359. package/dist/components/ui/Badge.js +4 -31
  360. package/dist/components/ui/Badge.js.map +1 -1
  361. package/dist/components/ui/Button.cjs +13 -299
  362. package/dist/components/ui/Button.cjs.map +1 -1
  363. package/dist/components/ui/Button.js +4 -267
  364. package/dist/components/ui/Button.js.map +1 -1
  365. package/dist/components/ui/Checkbox.cjs +13 -109
  366. package/dist/components/ui/Checkbox.cjs.map +1 -1
  367. package/dist/components/ui/Checkbox.js +5 -81
  368. package/dist/components/ui/Checkbox.js.map +1 -1
  369. package/dist/components/ui/Chip.cjs +8 -59
  370. package/dist/components/ui/Chip.cjs.map +1 -1
  371. package/dist/components/ui/Chip.js +3 -29
  372. package/dist/components/ui/Chip.js.map +1 -1
  373. package/dist/components/ui/Combobox.cjs +22 -591
  374. package/dist/components/ui/Combobox.cjs.map +1 -1
  375. package/dist/components/ui/Combobox.js +14 -560
  376. package/dist/components/ui/Combobox.js.map +1 -1
  377. package/dist/components/ui/Counter.cjs +11 -226
  378. package/dist/components/ui/Counter.cjs.map +1 -1
  379. package/dist/components/ui/Counter.js +7 -197
  380. package/dist/components/ui/Counter.js.map +1 -1
  381. package/dist/components/ui/DatePicker.cjs +14 -274
  382. package/dist/components/ui/DatePicker.cjs.map +1 -1
  383. package/dist/components/ui/DatePicker.js +10 -245
  384. package/dist/components/ui/DatePicker.js.map +1 -1
  385. package/dist/components/ui/DismissibleBanner.cjs +9 -77
  386. package/dist/components/ui/DismissibleBanner.cjs.map +1 -1
  387. package/dist/components/ui/DismissibleBanner.js +4 -56
  388. package/dist/components/ui/DismissibleBanner.js.map +1 -1
  389. package/dist/components/ui/ErrorMessage.cjs +7 -36
  390. package/dist/components/ui/ErrorMessage.cjs.map +1 -1
  391. package/dist/components/ui/ErrorMessage.js +4 -16
  392. package/dist/components/ui/ErrorMessage.js.map +1 -1
  393. package/dist/components/ui/Icon.cjs +9 -108
  394. package/dist/components/ui/Icon.cjs.map +1 -1
  395. package/dist/components/ui/Icon.js +4 -87
  396. package/dist/components/ui/Icon.js.map +1 -1
  397. package/dist/components/ui/Input.cjs +9 -186
  398. package/dist/components/ui/Input.cjs.map +1 -1
  399. package/dist/components/ui/Input.js +7 -159
  400. package/dist/components/ui/Input.js.map +1 -1
  401. package/dist/components/ui/InputOtp.cjs +12 -175
  402. package/dist/components/ui/InputOtp.cjs.map +1 -1
  403. package/dist/components/ui/InputOtp.js +8 -145
  404. package/dist/components/ui/InputOtp.js.map +1 -1
  405. package/dist/components/ui/Label.cjs +7 -79
  406. package/dist/components/ui/Label.cjs.map +1 -1
  407. package/dist/components/ui/Label.js +5 -52
  408. package/dist/components/ui/Label.js.map +1 -1
  409. package/dist/components/ui/LinkButton.cjs +10 -58
  410. package/dist/components/ui/LinkButton.cjs.map +1 -1
  411. package/dist/components/ui/LinkButton.js +3 -25
  412. package/dist/components/ui/LinkButton.js.map +1 -1
  413. package/dist/components/ui/ListItem.cjs +8 -150
  414. package/dist/components/ui/ListItem.cjs.map +1 -1
  415. package/dist/components/ui/ListItem.js +6 -125
  416. package/dist/components/ui/ListItem.js.map +1 -1
  417. package/dist/components/ui/Map/ClusterMarker.cjs +9 -74
  418. package/dist/components/ui/Map/ClusterMarker.cjs.map +1 -1
  419. package/dist/components/ui/Map/ClusterMarker.js +5 -55
  420. package/dist/components/ui/Map/ClusterMarker.js.map +1 -1
  421. package/dist/components/ui/Map/FocusCircle.cjs +9 -81
  422. package/dist/components/ui/Map/FocusCircle.cjs.map +1 -1
  423. package/dist/components/ui/Map/FocusCircle.js +4 -61
  424. package/dist/components/ui/Map/FocusCircle.js.map +1 -1
  425. package/dist/components/ui/Map/IndividualMarker.cjs +9 -55
  426. package/dist/components/ui/Map/IndividualMarker.cjs.map +1 -1
  427. package/dist/components/ui/Map/IndividualMarker.js +4 -35
  428. package/dist/components/ui/Map/IndividualMarker.js.map +1 -1
  429. package/dist/components/ui/Map/MapComponent.cjs +16 -395
  430. package/dist/components/ui/Map/MapComponent.cjs.map +1 -1
  431. package/dist/components/ui/Map/MapComponent.js +12 -366
  432. package/dist/components/ui/Map/MapComponent.js.map +1 -1
  433. package/dist/components/ui/Map/MapContent.cjs +13 -273
  434. package/dist/components/ui/Map/MapContent.cjs.map +1 -1
  435. package/dist/components/ui/Map/MapContent.js +9 -254
  436. package/dist/components/ui/Map/MapContent.js.map +1 -1
  437. package/dist/components/ui/Map/clustering.cjs +13 -99
  438. package/dist/components/ui/Map/clustering.cjs.map +1 -1
  439. package/dist/components/ui/Map/clustering.js +5 -76
  440. package/dist/components/ui/Map/clustering.js.map +1 -1
  441. package/dist/components/ui/Map/constants.cjs +33 -61
  442. package/dist/components/ui/Map/constants.cjs.map +1 -1
  443. package/dist/components/ui/Map/constants.js +3 -33
  444. package/dist/components/ui/Map/constants.js.map +1 -1
  445. package/dist/components/ui/Map/hooks.cjs +18 -90
  446. package/dist/components/ui/Map/hooks.cjs.map +1 -1
  447. package/dist/components/ui/Map/hooks.js +6 -58
  448. package/dist/components/ui/Map/hooks.js.map +1 -1
  449. package/dist/components/ui/Map/index.cjs +21 -400
  450. package/dist/components/ui/Map/index.cjs.map +1 -1
  451. package/dist/components/ui/Map/index.js +13 -364
  452. package/dist/components/ui/Map/index.js.map +1 -1
  453. package/dist/components/ui/Map/types.cjs +2 -17
  454. package/dist/components/ui/Map/types.cjs.map +1 -1
  455. package/dist/components/ui/Map/types.js +2 -0
  456. package/dist/components/ui/Map/types.js.map +1 -1
  457. package/dist/components/ui/Map/utils.cjs +25 -75
  458. package/dist/components/ui/Map/utils.cjs.map +1 -1
  459. package/dist/components/ui/Map/utils.js +4 -48
  460. package/dist/components/ui/Map/utils.js.map +1 -1
  461. package/dist/components/ui/PlacesQueryInput.cjs +9 -301
  462. package/dist/components/ui/PlacesQueryInput.cjs.map +1 -1
  463. package/dist/components/ui/PlacesQueryInput.js +7 -275
  464. package/dist/components/ui/PlacesQueryInput.js.map +1 -1
  465. package/dist/components/ui/Radio.cjs +12 -151
  466. package/dist/components/ui/Radio.cjs.map +1 -1
  467. package/dist/components/ui/Radio.js +8 -123
  468. package/dist/components/ui/Radio.js.map +1 -1
  469. package/dist/components/ui/ReadMore.cjs +9 -340
  470. package/dist/components/ui/ReadMore.cjs.map +1 -1
  471. package/dist/components/ui/ReadMore.js +5 -311
  472. package/dist/components/ui/ReadMore.js.map +1 -1
  473. package/dist/components/ui/Select.cjs +11 -303
  474. package/dist/components/ui/Select.cjs.map +1 -1
  475. package/dist/components/ui/Select.js +9 -282
  476. package/dist/components/ui/Select.js.map +1 -1
  477. package/dist/components/ui/StepTabs.cjs +9 -129
  478. package/dist/components/ui/StepTabs.cjs.map +1 -1
  479. package/dist/components/ui/StepTabs.js +4 -99
  480. package/dist/components/ui/StepTabs.js.map +1 -1
  481. package/dist/components/ui/Switch.cjs +9 -69
  482. package/dist/components/ui/Switch.cjs.map +1 -1
  483. package/dist/components/ui/Switch.js +5 -39
  484. package/dist/components/ui/Switch.js.map +1 -1
  485. package/dist/components/ui/buttonShadcn.cjs +13 -81
  486. package/dist/components/ui/buttonShadcn.cjs.map +1 -1
  487. package/dist/components/ui/buttonShadcn.js +4 -49
  488. package/dist/components/ui/buttonShadcn.js.map +1 -1
  489. package/dist/components/ui/calendar.cjs +9 -135
  490. package/dist/components/ui/calendar.cjs.map +1 -1
  491. package/dist/components/ui/calendar.js +5 -106
  492. package/dist/components/ui/calendar.js.map +1 -1
  493. package/dist/contexts/WindowHistoryProvider.cjs +13 -43
  494. package/dist/contexts/WindowHistoryProvider.cjs.map +1 -1
  495. package/dist/contexts/WindowHistoryProvider.js +3 -21
  496. package/dist/contexts/WindowHistoryProvider.js.map +1 -1
  497. package/dist/hooks/useDisplayText.cjs +10 -496
  498. package/dist/hooks/useDisplayText.cjs.map +1 -1
  499. package/dist/hooks/useDisplayText.js +6 -476
  500. package/dist/hooks/useDisplayText.js.map +1 -1
  501. package/dist/hooks/useWindowHistory.cjs +9 -37
  502. package/dist/hooks/useWindowHistory.cjs.map +1 -1
  503. package/dist/hooks/useWindowHistory.js +4 -16
  504. package/dist/hooks/useWindowHistory.js.map +1 -1
  505. package/dist/index.cjs +216 -4128
  506. package/dist/index.cjs.map +1 -1
  507. package/dist/index.js +73 -4107
  508. package/dist/index.js.map +1 -1
  509. package/dist/lib/google.cjs +21 -81
  510. package/dist/lib/google.cjs.map +1 -1
  511. package/dist/lib/google.js +3 -57
  512. package/dist/lib/google.js.map +1 -1
  513. package/dist/lib/icons.cjs +10 -50
  514. package/dist/lib/icons.cjs.map +1 -1
  515. package/dist/lib/icons.js +3 -48
  516. package/dist/lib/icons.js.map +1 -1
  517. package/dist/lib/locations.cjs +17 -66
  518. package/dist/lib/locations.cjs.map +1 -1
  519. package/dist/lib/locations.js +3 -42
  520. package/dist/lib/locations.js.map +1 -1
  521. package/dist/lib/mappings.cjs +45 -439
  522. package/dist/lib/mappings.cjs.map +1 -1
  523. package/dist/lib/mappings.js +3 -408
  524. package/dist/lib/mappings.js.map +1 -1
  525. package/dist/lib/salaryRange.cjs +14 -453
  526. package/dist/lib/salaryRange.cjs.map +1 -1
  527. package/dist/lib/salaryRange.js +10 -437
  528. package/dist/lib/salaryRange.js.map +1 -1
  529. package/dist/lib/utils.cjs +10 -32
  530. package/dist/lib/utils.cjs.map +1 -1
  531. package/dist/lib/utils.js +3 -9
  532. package/dist/lib/utils.js.map +1 -1
  533. package/dist/services/displayText.cjs +9 -464
  534. package/dist/services/displayText.cjs.map +1 -1
  535. package/dist/services/displayText.js +5 -442
  536. package/dist/services/displayText.js.map +1 -1
  537. package/dist/types/data/company_service_latest.cjs +73 -246
  538. package/dist/types/data/company_service_latest.cjs.map +1 -1
  539. package/dist/types/data/company_service_latest.js +4 -209
  540. package/dist/types/data/company_service_latest.js.map +1 -1
  541. package/dist/types/data/job_posting_service_latest.cjs +42 -276
  542. package/dist/types/data/job_posting_service_latest.cjs.map +1 -1
  543. package/dist/types/data/job_posting_service_latest.js +5 -256
  544. package/dist/types/data/job_posting_service_latest.js.map +1 -1
  545. package/dist/types/data/shared_pickle_output_latest.cjs +39 -99
  546. package/dist/types/data/shared_pickle_output_latest.cjs.map +1 -1
  547. package/dist/types/data/shared_pickle_output_latest.js +3 -74
  548. package/dist/types/data/shared_pickle_output_latest.js.map +1 -1
  549. package/dist/types/displayText.errors.cjs +13 -40
  550. package/dist/types/displayText.errors.cjs.map +1 -1
  551. package/dist/types/displayText.errors.js +3 -17
  552. package/dist/types/displayText.errors.js.map +1 -1
  553. package/dist/types/index.cjs +28 -494
  554. package/dist/types/index.cjs.map +1 -1
  555. package/dist/types/index.js +9 -478
  556. package/dist/types/index.js.map +1 -1
  557. package/dist/types/latest/company_service_latest.cjs +73 -246
  558. package/dist/types/latest/company_service_latest.cjs.map +1 -1
  559. package/dist/types/latest/company_service_latest.js +4 -209
  560. package/dist/types/latest/company_service_latest.js.map +1 -1
  561. package/dist/types/latest/custom/company_service_sanity.cjs +46 -307
  562. package/dist/types/latest/custom/company_service_sanity.cjs.map +1 -1
  563. package/dist/types/latest/custom/company_service_sanity.js +6 -287
  564. package/dist/types/latest/custom/company_service_sanity.js.map +1 -1
  565. package/dist/types/latest/custom/custom_sanity_models.cjs +13 -39
  566. package/dist/types/latest/custom/custom_sanity_models.cjs.map +1 -1
  567. package/dist/types/latest/custom/custom_sanity_models.js +3 -16
  568. package/dist/types/latest/custom/custom_sanity_models.js.map +1 -1
  569. package/dist/types/latest/custom/job_posting_service_sanity.cjs +66 -353
  570. package/dist/types/latest/custom/job_posting_service_sanity.cjs.map +1 -1
  571. package/dist/types/latest/custom/job_posting_service_sanity.js +7 -330
  572. package/dist/types/latest/custom/job_posting_service_sanity.js.map +1 -1
  573. package/dist/types/latest/job_posting_service_latest.cjs +42 -276
  574. package/dist/types/latest/job_posting_service_latest.cjs.map +1 -1
  575. package/dist/types/latest/job_posting_service_latest.js +5 -256
  576. package/dist/types/latest/job_posting_service_latest.js.map +1 -1
  577. package/dist/types/latest/shared_pickle_output_latest.cjs +39 -99
  578. package/dist/types/latest/shared_pickle_output_latest.cjs.map +1 -1
  579. package/dist/types/latest/shared_pickle_output_latest.js +3 -74
  580. package/dist/types/latest/shared_pickle_output_latest.js.map +1 -1
  581. package/package.json +2 -2
@@ -1,365 +1,14 @@
1
- // src/components/ui/Map/MapComponent.tsx
2
- import { APIProvider } from "@vis.gl/react-google-maps";
3
-
4
- // src/components/ui/Map/constants.ts
5
- var DEFAULT_POSITION = { lat: 40.715021, lng: -74.00459 };
6
- var DEFAULT_ZOOM = 10;
7
- var CLUSTER_DISTANCE_THRESHOLD = 1e-3;
8
- var PIN_COLORS = {
9
- background: "#0B5441",
10
- borderColor: "#EBFDF1",
11
- glyphColor: "#D4F500"
12
- };
13
- var FOCUS_CIRCLE_STYLES = {
14
- strokeColor: "#0B5441",
15
- strokeOpacity: 0.8,
16
- strokeWeight: 2,
17
- fillColor: "#0B5441",
18
- fillOpacity: 0.1,
19
- clickable: false,
20
- zIndex: 1
21
- };
22
- var CLUSTERING_CONFIG = {
23
- radius: 60,
24
- maxZoom: 16,
25
- minPoints: 2
26
- };
27
-
28
- // src/components/ui/Map/hooks.ts
29
- import { useMemo, useState } from "react";
30
- import useSupercluster from "use-supercluster";
31
-
32
- // src/components/ui/Map/utils.ts
33
- function getCenterForCoordinates(coords) {
34
- if (coords.length === 0) return DEFAULT_POSITION;
35
- const avgLat = coords.reduce((sum, coord) => sum + coord.lat, 0) / coords.length;
36
- const avgLng = coords.reduce((sum, coord) => sum + coord.lng, 0) / coords.length;
37
- return { lat: avgLat, lng: avgLng };
38
- }
39
- function getZoomForCoordinates(coords, defaultZoom) {
40
- if (coords.length <= 1) return defaultZoom;
41
- const lats = coords.map((coord) => coord.lat);
42
- const lngs = coords.map((coord) => coord.lng);
43
- const latDiff = Math.max(...lats) - Math.min(...lats);
44
- const lngDiff = Math.max(...lngs) - Math.min(...lngs);
45
- const maxDiff = Math.max(latDiff, lngDiff);
46
- if (maxDiff > 0.1) return 8;
47
- if (maxDiff > 0.05) return 10;
48
- if (maxDiff > 0.01) return 12;
49
- return 14;
50
- }
51
- function filterClusterCoordinates(coordinates, clusterLat, clusterLng) {
52
- return coordinates.filter((coord) => {
53
- const latDiff = Math.abs(coord.lat - clusterLat);
54
- const lngDiff = Math.abs(coord.lng - clusterLng);
55
- const distance = Math.sqrt(latDiff * latDiff + lngDiff * lngDiff);
56
- return distance < CLUSTER_DISTANCE_THRESHOLD;
57
- });
58
- }
59
-
60
- // src/components/ui/Map/clustering.ts
61
- function convertCoordinatesToGeoJSON(coordinates) {
62
- return coordinates.map((coord, index) => ({
63
- type: "Feature",
64
- properties: {
65
- cluster: false,
66
- pointId: index,
67
- data: coord.data
68
- },
69
- geometry: {
70
- type: "Point",
71
- coordinates: [coord.lng, coord.lat]
72
- }
73
- }));
74
- }
75
-
76
- // src/components/ui/Map/hooks.ts
77
- function useMapBounds(_coordinates) {
78
- const [bounds, setBounds] = useState([
79
- [-180, -85],
80
- [180, 85]
81
- ]);
82
- return { bounds, setBounds };
83
- }
84
- function useZoomLevel(initialZoom) {
85
- const [zoomLevel, setZoomLevel] = useState(initialZoom);
86
- return { zoomLevel, setZoomLevel };
87
- }
88
- function useClusters(coordinates, bounds, zoomLevel) {
89
- const points = useMemo(() => {
90
- if (!coordinates) return [];
91
- return convertCoordinatesToGeoJSON(coordinates);
92
- }, [coordinates]);
93
- const { clusters, supercluster } = useSupercluster({
94
- points,
95
- bounds: [-180, -85, 180, 85],
96
- // Use global bounds for consistency
97
- zoom: zoomLevel || 10,
98
- options: CLUSTERING_CONFIG
99
- });
100
- return { clusters, supercluster };
101
- }
102
-
103
- // src/components/ui/Map/MapContent.tsx
104
- import { AdvancedMarker as AdvancedMarker3, Map, Pin as Pin2, useMap, useMapsLibrary } from "@vis.gl/react-google-maps";
105
- import { useCallback } from "react";
106
-
107
- // src/components/ui/Map/ClusterMarker.tsx
108
- import { AdvancedMarker } from "@vis.gl/react-google-maps";
109
- function ClusterMarker({
110
- cluster,
111
- coordinates,
112
- onPinClick,
113
- onPinHover,
114
- zoomToLevel,
115
- supercluster
116
- }) {
117
- const [lng, lat] = cluster.geometry.coordinates;
118
- const { point_count: pointCount } = cluster.properties;
119
- const handleClick = () => {
120
- const clusterCoordinates = filterClusterCoordinates(coordinates, lat, lng);
121
- onPinClick?.(clusterCoordinates);
122
- const expansionZoom = supercluster.getClusterExpansionZoom(cluster.id);
123
- zoomToLevel(expansionZoom);
124
- };
125
- const handleMouseEnter = () => {
126
- const clusterCoordinates = filterClusterCoordinates(coordinates, lat, lng);
127
- onPinHover?.(clusterCoordinates);
128
- };
129
- const handleMouseLeave = () => onPinHover?.(null);
130
- return /* @__PURE__ */ React.createElement(
131
- AdvancedMarker,
132
- {
133
- key: `cluster-${cluster.id}`,
134
- position: { lat, lng },
135
- onClick: handleClick,
136
- onMouseEnter: handleMouseEnter,
137
- onMouseLeave: handleMouseLeave
138
- },
139
- /* @__PURE__ */ React.createElement("div", { className: "relative flex items-center justify-center", id: "CLUSTER_MARKER" }, /* @__PURE__ */ React.createElement("div", { className: "flex h-8 w-8 items-center justify-center rounded-full border-2 border-white bg-red-500 text-sm font-bold text-white shadow-lg" }, pointCount || "?"))
140
- );
141
- }
142
-
143
- // src/components/ui/Map/FocusCircle.tsx
144
- import { useEffect, useMemo as useMemo2, useRef } from "react";
145
- function FocusCircle({
146
- focusPoint,
147
- radiusMiles,
148
- map,
149
- mapsLibrary
150
- }) {
151
- const circleRef = useRef(null);
152
- const circleProps = useMemo2(() => {
153
- if (!focusPoint || !radiusMiles) return null;
154
- return {
155
- center: focusPoint,
156
- radius: radiusMiles * 1609.34
157
- };
158
- }, [focusPoint, radiusMiles]);
159
- useEffect(() => {
160
- if (!map || !mapsLibrary || !circleProps) {
161
- return;
162
- }
163
- if (!circleRef.current) {
164
- const circle = new google.maps.Circle({
165
- center: circleProps.center,
166
- radius: circleProps.radius,
167
- ...FOCUS_CIRCLE_STYLES,
168
- map
169
- });
170
- circleRef.current = circle;
171
- } else {
172
- circleRef.current.setCenter(circleProps.center);
173
- circleRef.current.setRadius(circleProps.radius);
174
- }
175
- }, [map, mapsLibrary, circleProps]);
176
- useEffect(() => {
177
- return () => {
178
- if (circleRef.current) {
179
- circleRef.current.setMap(null);
180
- circleRef.current = null;
181
- }
182
- };
183
- }, []);
184
- return null;
185
- }
186
-
187
- // src/components/ui/Map/IndividualMarker.tsx
188
- import { AdvancedMarker as AdvancedMarker2, Pin } from "@vis.gl/react-google-maps";
189
- function IndividualMarker({
190
- coordinate,
191
- onPinClick,
192
- onPinHover
193
- }) {
194
- const handleMouseEnter = () => onPinHover?.(coordinate);
195
- const handleMouseLeave = () => onPinHover?.(null);
196
- const handleClick = () => onPinClick?.(coordinate);
197
- return /* @__PURE__ */ React.createElement(
198
- AdvancedMarker2,
199
- {
200
- position: { lat: coordinate.lat, lng: coordinate.lng },
201
- onMouseEnter: handleMouseEnter,
202
- onMouseLeave: handleMouseLeave,
203
- onClick: handleClick
204
- },
205
- /* @__PURE__ */ React.createElement(Pin, { ...PIN_COLORS })
206
- );
207
- }
208
-
209
- // src/lib/utils.ts
210
- import { clsx } from "clsx";
211
- import { twMerge } from "tailwind-merge";
212
- function cn(...inputs) {
213
- return twMerge(clsx(inputs));
214
- }
215
-
216
- // src/components/ui/Map/MapContent.tsx
217
- function MapContent({
218
- mapId,
219
- mapCenter,
220
- mapZoom,
221
- position,
222
- coordinates,
223
- clusters,
224
- supercluster,
225
- onPinHover,
226
- onPinClick,
227
- focusPoint,
228
- radiusMiles,
229
- className,
230
- setBounds,
231
- setZoomLevel
232
- }) {
233
- const map = useMap();
234
- const mapsLibrary = useMapsLibrary("maps");
235
- const zoomToLevel = useCallback(
236
- (newZoom) => {
237
- if (map) {
238
- map.setZoom(newZoom);
239
- }
240
- },
241
- [map]
242
- );
243
- const handleBoundsChanged = (e) => {
244
- if (e.detail.bounds) {
245
- const bounds = e.detail.bounds;
246
- setBounds([
247
- [bounds.south, bounds.west],
248
- [bounds.north, bounds.east]
249
- ]);
250
- }
251
- };
252
- const handleZoomChanged = (e) => {
253
- if (e.detail.zoom) {
254
- setZoomLevel(e.detail.zoom);
255
- }
256
- };
257
- const handleCameraChanged = (e) => {
258
- if (e.detail.zoom) {
259
- setZoomLevel(e.detail.zoom);
260
- }
261
- };
262
- return /* @__PURE__ */ React.createElement("div", { className: cn("relative h-screen max-w-full", className) }, /* @__PURE__ */ React.createElement(
263
- Map,
264
- {
265
- defaultZoom: mapZoom,
266
- defaultCenter: mapCenter,
267
- mapId,
268
- keyboardShortcuts: true,
269
- disableDefaultUI: true,
270
- zoomControl: true,
271
- onBoundsChanged: handleBoundsChanged,
272
- onZoomChanged: handleZoomChanged,
273
- onCameraChanged: handleCameraChanged
274
- },
275
- position && !coordinates && /* @__PURE__ */ React.createElement(AdvancedMarker3, { position }, /* @__PURE__ */ React.createElement(Pin2, { ...PIN_COLORS })),
276
- coordinates && clusters.map((cluster) => {
277
- const { cluster: isCluster } = cluster.properties;
278
- if (isCluster) {
279
- return /* @__PURE__ */ React.createElement(
280
- ClusterMarker,
281
- {
282
- key: `cluster-${cluster.id}`,
283
- cluster,
284
- coordinates,
285
- onPinClick,
286
- onPinHover,
287
- zoomToLevel,
288
- supercluster
289
- }
290
- );
291
- }
292
- const originalPoint = coordinates[cluster.properties.pointId];
293
- return /* @__PURE__ */ React.createElement(
294
- IndividualMarker,
295
- {
296
- key: `marker-${cluster.properties.pointId}`,
297
- coordinate: originalPoint,
298
- onPinClick,
299
- onPinHover
300
- }
301
- );
302
- }),
303
- coordinates && clusters.length === 0 && coordinates.map((coord, index) => /* @__PURE__ */ React.createElement(
304
- IndividualMarker,
305
- {
306
- key: `fallback-${index}`,
307
- coordinate: coord,
308
- onPinClick,
309
- onPinHover
310
- }
311
- )),
312
- focusPoint && radiusMiles && /* @__PURE__ */ React.createElement(
313
- FocusCircle,
314
- {
315
- focusPoint,
316
- radiusMiles,
317
- map,
318
- mapsLibrary
319
- }
320
- )
321
- ));
322
- }
323
-
324
- // src/components/ui/Map/MapComponent.tsx
325
- function MapComponent({
326
- apiKey,
327
- mapId,
328
- position,
329
- coordinates,
330
- onPinHover,
331
- onPinClick,
332
- focusPoint,
333
- radiusMiles,
334
- className,
335
- zoom = 10
336
- }) {
337
- const { bounds, setBounds } = useMapBounds(coordinates);
338
- const { zoomLevel, setZoomLevel } = useZoomLevel(zoom || DEFAULT_ZOOM);
339
- const { clusters, supercluster } = useClusters(coordinates, bounds, zoomLevel);
340
- const mapCenter = coordinates && coordinates.length > 0 ? getCenterForCoordinates(coordinates) : position || DEFAULT_POSITION;
341
- const mapZoom = coordinates && coordinates.length > 1 ? getZoomForCoordinates(coordinates, zoom) : position ? zoom : DEFAULT_ZOOM;
342
- return /* @__PURE__ */ React.createElement(APIProvider, { apiKey }, /* @__PURE__ */ React.createElement(
343
- MapContent,
344
- {
345
- mapId,
346
- mapCenter,
347
- mapZoom,
348
- position,
349
- coordinates,
350
- clusters,
351
- supercluster,
352
- onPinHover,
353
- onPinClick,
354
- focusPoint,
355
- radiusMiles,
356
- className,
357
- setBounds,
358
- setZoomLevel
359
- }
360
- ));
361
- }
362
- export {
363
- MapComponent
364
- };
1
+ import '../../../chunk-VANX3AQD.js';
2
+ export { MapComponent } from '../../../chunk-LQPOFYD3.js';
3
+ import '../../../chunk-DGDBIRAA.js';
4
+ import '../../../chunk-FSMBDLNU.js';
5
+ import '../../../chunk-EAFZZSYR.js';
6
+ import '../../../chunk-GRLH3A6S.js';
7
+ import '../../../chunk-5H35ZVLR.js';
8
+ import '../../../chunk-5Z4ILTRD.js';
9
+ import '../../../chunk-PLL2MFTV.js';
10
+ import '../../../chunk-LQQ244AY.js';
11
+ import '../../../chunk-2FGZQI42.js';
12
+ import '../../../chunk-PZ5AY32C.js';
13
+ //# sourceMappingURL=index.js.map
365
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ui/Map/MapComponent.tsx","../../../../src/components/ui/Map/constants.ts","../../../../src/components/ui/Map/hooks.ts","../../../../src/components/ui/Map/utils.ts","../../../../src/components/ui/Map/clustering.ts","../../../../src/components/ui/Map/MapContent.tsx","../../../../src/components/ui/Map/ClusterMarker.tsx","../../../../src/components/ui/Map/FocusCircle.tsx","../../../../src/components/ui/Map/IndividualMarker.tsx","../../../../src/lib/utils.ts"],"sourcesContent":["'use client'\n\nimport { APIProvider } from '@vis.gl/react-google-maps'\n\nimport { DEFAULT_POSITION, DEFAULT_ZOOM } from '@/components/ui/Map/constants'\nimport { useClusters, useMapBounds, useZoomLevel } from '@/components/ui/Map/hooks'\nimport { MapContent } from '@/components/ui/Map/MapContent'\nimport type { MapComponentProps, PinData } from '@/components/ui/Map/types'\nimport { getCenterForCoordinates, getZoomForCoordinates } from '@/components/ui/Map/utils'\n\nexport function MapComponent<T = PinData>({\n apiKey,\n mapId,\n position,\n coordinates,\n onPinHover,\n onPinClick,\n focusPoint,\n radiusMiles,\n className,\n zoom = 10,\n}: Readonly<MapComponentProps<T>>) {\n const { bounds, setBounds } = useMapBounds(coordinates)\n const { zoomLevel, setZoomLevel } = useZoomLevel(zoom || DEFAULT_ZOOM)\n const { clusters, supercluster } = useClusters(coordinates, bounds, zoomLevel)\n\n const mapCenter =\n coordinates && coordinates.length > 0\n ? getCenterForCoordinates(coordinates)\n : position || DEFAULT_POSITION\n\n const mapZoom =\n coordinates && coordinates.length > 1\n ? getZoomForCoordinates(coordinates, zoom)\n : position\n ? zoom\n : DEFAULT_ZOOM\n\n return (\n <APIProvider apiKey={apiKey}>\n <MapContent\n mapId={mapId}\n mapCenter={mapCenter}\n mapZoom={mapZoom}\n position={position}\n coordinates={coordinates}\n clusters={clusters}\n supercluster={supercluster}\n onPinHover={onPinHover}\n onPinClick={onPinClick}\n focusPoint={focusPoint}\n radiusMiles={radiusMiles}\n className={className}\n setBounds={setBounds}\n setZoomLevel={setZoomLevel}\n />\n </APIProvider>\n )\n}\n","export const DEFAULT_POSITION = { lat: 40.715021, lng: -74.00459 }\nexport const DEFAULT_ZOOM = 10\nexport const CLUSTER_PIN_SCALE = 1.5\nexport const CLUSTER_DISTANCE_THRESHOLD = 0.001\n\nexport const PIN_COLORS = {\n background: '#0B5441',\n borderColor: '#EBFDF1',\n glyphColor: '#D4F500',\n} as const\n\nexport const FOCUS_CIRCLE_STYLES = {\n strokeColor: '#0B5441',\n strokeOpacity: 0.8,\n strokeWeight: 2,\n fillColor: '#0B5441',\n fillOpacity: 0.1,\n clickable: false,\n zIndex: 1,\n} as const\n\nexport const CLUSTERING_CONFIG = {\n radius: 60,\n maxZoom: 16,\n minPoints: 2,\n} as const\n","import { useMemo, useState } from 'react'\nimport useSupercluster from 'use-supercluster'\n\nimport { convertCoordinatesToGeoJSON } from '@/components/ui/Map/clustering'\nimport { CLUSTERING_CONFIG } from '@/components/ui/Map/constants'\nimport type { Coordinate, PinData } from '@/components/ui/Map/types'\n\nexport function useMapBounds<T = PinData>(_coordinates?: Coordinate<T>[]) {\n const [bounds, setBounds] = useState<[[number, number], [number, number]]>([\n [-180, -85],\n [180, 85],\n ])\n\n // Use global bounds for stability - let the map handle the actual bounds\n // This prevents constant recalculation that causes clustering instability\n return { bounds, setBounds }\n}\n\nexport function useZoomLevel(initialZoom: number) {\n const [zoomLevel, setZoomLevel] = useState(initialZoom)\n return { zoomLevel, setZoomLevel }\n}\n\nexport function useClusters<T = PinData>(\n coordinates?: Coordinate<T>[],\n bounds?: [[number, number], [number, number]],\n zoomLevel?: number\n) {\n const points = useMemo(() => {\n if (!coordinates) return []\n return convertCoordinatesToGeoJSON<T>(coordinates)\n }, [coordinates])\n\n const { clusters, supercluster } = useSupercluster({\n points,\n bounds: [-180, -85, 180, 85], // Use global bounds for consistency\n zoom: zoomLevel || 10,\n options: CLUSTERING_CONFIG,\n })\n\n return { clusters, supercluster }\n}\n","import { CLUSTER_DISTANCE_THRESHOLD, DEFAULT_POSITION } from '@/components/ui/Map/constants'\nimport type { Coordinate, PinData } from '@/components/ui/Map/types'\n\nexport function getCenterForCoordinates<T = PinData>(coords: Coordinate<T>[]): Coordinate<T> {\n if (coords.length === 0) return DEFAULT_POSITION as Coordinate<T>\n\n const avgLat = coords.reduce((sum, coord) => sum + coord.lat, 0) / coords.length\n const avgLng = coords.reduce((sum, coord) => sum + coord.lng, 0) / coords.length\n\n return { lat: avgLat, lng: avgLng }\n}\n\nexport function getZoomForCoordinates<T = PinData>(\n coords: Coordinate<T>[],\n defaultZoom: number\n): number {\n if (coords.length <= 1) return defaultZoom\n\n const lats = coords.map((coord) => coord.lat)\n const lngs = coords.map((coord) => coord.lng)\n\n const latDiff = Math.max(...lats) - Math.min(...lats)\n const lngDiff = Math.max(...lngs) - Math.min(...lngs)\n const maxDiff = Math.max(latDiff, lngDiff)\n\n if (maxDiff > 0.1) return 8\n if (maxDiff > 0.05) return 10\n if (maxDiff > 0.01) return 12\n return 14\n}\n\nexport function getClusteringRadius(zoom: number): number {\n if (zoom <= 8) return 200\n if (zoom <= 12) return 150\n return 100\n}\n\nexport function filterClusterCoordinates<T = PinData>(\n coordinates: Coordinate<T>[],\n clusterLat: number,\n clusterLng: number\n): Coordinate<T>[] {\n return coordinates.filter((coord) => {\n const latDiff = Math.abs(coord.lat - clusterLat)\n const lngDiff = Math.abs(coord.lng - clusterLng)\n const distance = Math.sqrt(latDiff * latDiff + lngDiff * lngDiff)\n return distance < CLUSTER_DISTANCE_THRESHOLD\n })\n}\n\nexport function calculateDistance<T = PinData>(\n coord1: Coordinate<T>,\n coord2: Coordinate<T>\n): number {\n const latDiff = Math.abs(coord1.lat - coord2.lat)\n const lngDiff = Math.abs(coord1.lng - coord2.lng)\n return Math.sqrt(latDiff * latDiff + lngDiff * lngDiff)\n}\n","import { CLUSTER_DISTANCE_THRESHOLD } from '@/components/ui/Map/constants'\nimport type { ClusterFeature, Coordinate, PinData } from '@/components/ui/Map/types'\nimport { calculateDistance } from '@/components/ui/Map/utils'\n\nexport function convertCoordinatesToGeoJSON<T = PinData>(coordinates: Coordinate<T>[]) {\n return coordinates.map((coord, index) => ({\n type: 'Feature' as const,\n properties: {\n cluster: false,\n pointId: index,\n data: coord.data,\n },\n geometry: {\n type: 'Point' as const,\n coordinates: [coord.lng, coord.lat],\n },\n }))\n}\n\nexport function createManualClusters<T = PinData>(\n coordinates: Coordinate<T>[]\n): ClusterFeature<T>[] {\n if (!coordinates || coordinates.length === 0) return []\n\n const clusters: ClusterFeature<T>[] = []\n const processed = new Set<number>()\n\n coordinates.forEach((coord, index) => {\n if (processed.has(index)) return\n\n const nearby: number[] = [index]\n coordinates.forEach((otherCoord, otherIndex) => {\n if (otherIndex === index || processed.has(otherIndex)) return\n\n const distance = calculateDistance(coord, otherCoord)\n\n if (distance < CLUSTER_DISTANCE_THRESHOLD) {\n nearby.push(otherIndex)\n }\n })\n\n if (nearby.length >= 2) {\n clusters.push({\n type: 'Feature' as const,\n properties: {\n cluster: true,\n point_count: nearby.length,\n },\n geometry: {\n type: 'Point' as const,\n coordinates: [coord.lng, coord.lat],\n },\n id: clusters.length,\n })\n\n nearby.forEach((i) => processed.add(i))\n } else {\n clusters.push({\n type: 'Feature' as const,\n properties: {\n cluster: false,\n pointId: index,\n data: coord.data,\n },\n geometry: {\n type: 'Point' as const,\n coordinates: [coord.lng, coord.lat],\n },\n id: clusters.length,\n })\n processed.add(index)\n }\n })\n\n return clusters\n}\n","'use client'\n\nimport { AdvancedMarker, Map, Pin, useMap, useMapsLibrary } from '@vis.gl/react-google-maps'\nimport { useCallback } from 'react'\n\nimport { ClusterMarker } from '@/components/ui/Map/ClusterMarker'\nimport { PIN_COLORS } from '@/components/ui/Map/constants'\nimport { FocusCircle } from '@/components/ui/Map/FocusCircle'\nimport { IndividualMarker } from '@/components/ui/Map/IndividualMarker'\nimport type { MapContentProps, PinData } from '@/components/ui/Map/types'\nimport { cn } from '@/lib/utils'\n\nexport function MapContent<T = PinData>({\n mapId,\n mapCenter,\n mapZoom,\n position,\n coordinates,\n clusters,\n supercluster,\n onPinHover,\n onPinClick,\n focusPoint,\n radiusMiles,\n className,\n setBounds,\n setZoomLevel,\n}: MapContentProps<T>) {\n const map = useMap()\n const mapsLibrary = useMapsLibrary('maps')\n\n const zoomToLevel = useCallback(\n (newZoom: number) => {\n if (map) {\n map.setZoom(newZoom)\n }\n },\n [map]\n )\n\n const handleBoundsChanged = (e: {\n detail: { bounds: { south: number; west: number; north: number; east: number } }\n }) => {\n if (e.detail.bounds) {\n const bounds = e.detail.bounds\n setBounds([\n [bounds.south, bounds.west],\n [bounds.north, bounds.east],\n ])\n }\n }\n\n const handleZoomChanged = (e: { detail: { zoom: number } }) => {\n if (e.detail.zoom) {\n setZoomLevel(e.detail.zoom)\n }\n }\n\n const handleCameraChanged = (e: { detail: { zoom: number } }) => {\n if (e.detail.zoom) {\n setZoomLevel(e.detail.zoom)\n }\n }\n\n return (\n <div className={cn('relative h-screen max-w-full', className)}>\n <Map\n defaultZoom={mapZoom}\n defaultCenter={mapCenter}\n mapId={mapId}\n keyboardShortcuts={true}\n disableDefaultUI={true}\n zoomControl={true}\n onBoundsChanged={handleBoundsChanged}\n onZoomChanged={handleZoomChanged}\n onCameraChanged={handleCameraChanged}\n >\n {position && !coordinates && (\n <AdvancedMarker position={position}>\n <Pin {...PIN_COLORS} />\n </AdvancedMarker>\n )}\n\n {coordinates &&\n clusters.map((cluster) => {\n const { cluster: isCluster } = cluster.properties\n\n if (isCluster) {\n return (\n <ClusterMarker\n key={`cluster-${cluster.id}`}\n cluster={cluster}\n coordinates={coordinates}\n onPinClick={onPinClick}\n onPinHover={onPinHover}\n zoomToLevel={zoomToLevel}\n supercluster={supercluster}\n />\n )\n }\n\n const originalPoint = coordinates[cluster.properties.pointId!]\n return (\n <IndividualMarker\n key={`marker-${cluster.properties.pointId}`}\n coordinate={originalPoint}\n onPinClick={onPinClick}\n onPinHover={onPinHover}\n />\n )\n })}\n\n {coordinates &&\n clusters.length === 0 &&\n coordinates.map((coord, index) => (\n <IndividualMarker\n key={`fallback-${index}`}\n coordinate={coord}\n onPinClick={onPinClick}\n onPinHover={onPinHover}\n />\n ))}\n\n {focusPoint && radiusMiles && (\n <FocusCircle\n focusPoint={focusPoint}\n radiusMiles={radiusMiles}\n map={map}\n mapsLibrary={mapsLibrary}\n />\n )}\n </Map>\n </div>\n )\n}\n","'use client'\n\nimport { AdvancedMarker } from '@vis.gl/react-google-maps'\n\nimport type { ClusterMarkerProps, PinData } from '@/components/ui/Map/types'\nimport { filterClusterCoordinates } from '@/components/ui/Map/utils'\n\nexport function ClusterMarker<T = PinData>({\n cluster,\n coordinates,\n onPinClick,\n onPinHover,\n zoomToLevel,\n supercluster,\n}: ClusterMarkerProps<T>) {\n const [lng, lat] = cluster.geometry.coordinates\n const { point_count: pointCount } = cluster.properties\n\n const handleClick = () => {\n const clusterCoordinates = filterClusterCoordinates(coordinates, lat, lng)\n onPinClick?.(clusterCoordinates)\n\n const expansionZoom = supercluster.getClusterExpansionZoom(cluster.id)\n zoomToLevel(expansionZoom)\n }\n\n const handleMouseEnter = () => {\n const clusterCoordinates = filterClusterCoordinates(coordinates, lat, lng)\n onPinHover?.(clusterCoordinates)\n }\n\n const handleMouseLeave = () => onPinHover?.(null)\n\n return (\n <AdvancedMarker\n key={`cluster-${cluster.id}`}\n position={{ lat, lng }}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <div className=\"relative flex items-center justify-center\" id=\"CLUSTER_MARKER\">\n <div className=\"flex h-8 w-8 items-center justify-center rounded-full border-2 border-white bg-red-500 text-sm font-bold text-white shadow-lg\">\n {pointCount || '?'}\n </div>\n </div>\n </AdvancedMarker>\n )\n}\n","'use client'\n\nimport { useEffect, useMemo, useRef } from 'react'\n\nimport { FOCUS_CIRCLE_STYLES } from '@/components/ui/Map/constants'\nimport type { FocusCircleProps, PinData } from '@/components/ui/Map/types'\n\nexport function FocusCircle<T = PinData>({\n focusPoint,\n radiusMiles,\n map,\n mapsLibrary,\n}: FocusCircleProps<T>) {\n const circleRef = useRef<google.maps.Circle | null>(null)\n\n const circleProps = useMemo(() => {\n if (!focusPoint || !radiusMiles) return null\n return {\n center: focusPoint,\n radius: radiusMiles * 1609.34,\n }\n }, [focusPoint, radiusMiles])\n\n useEffect(() => {\n if (!map || !mapsLibrary || !circleProps) {\n return\n }\n\n if (!circleRef.current) {\n const circle = new google.maps.Circle({\n center: circleProps.center,\n radius: circleProps.radius,\n ...FOCUS_CIRCLE_STYLES,\n map: map,\n })\n\n circleRef.current = circle\n } else {\n circleRef.current.setCenter(circleProps.center)\n circleRef.current.setRadius(circleProps.radius)\n }\n }, [map, mapsLibrary, circleProps])\n\n useEffect(() => {\n return () => {\n if (circleRef.current) {\n circleRef.current.setMap(null)\n circleRef.current = null\n }\n }\n }, [])\n\n return null\n}\n","'use client'\n\nimport { AdvancedMarker, Pin } from '@vis.gl/react-google-maps'\n\nimport { PIN_COLORS } from '@/components/ui/Map/constants'\nimport type { IndividualMarkerProps, PinData } from '@/components/ui/Map/types'\n\nexport function IndividualMarker<T = PinData>({\n coordinate,\n onPinClick,\n onPinHover,\n}: IndividualMarkerProps<T>) {\n const handleMouseEnter = () => onPinHover?.(coordinate)\n const handleMouseLeave = () => onPinHover?.(null)\n const handleClick = () => onPinClick?.(coordinate)\n\n return (\n <AdvancedMarker\n position={{ lat: coordinate.lat, lng: coordinate.lng }}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={handleClick}\n >\n <Pin {...PIN_COLORS} />\n </AdvancedMarker>\n )\n}\n","import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":"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","names":["AdvancedMarker","Pin","useMemo","useMemo","AdvancedMarker","AdvancedMarker","AdvancedMarker","Pin"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
@@ -1,19 +1,4 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ 'use strict';
15
2
 
16
- // src/components/ui/Map/types.ts
17
- var types_exports = {};
18
- module.exports = __toCommonJS(types_exports);
3
+ //# sourceMappingURL=types.cjs.map
19
4
  //# sourceMappingURL=types.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ui/Map/types.ts"],"sourcesContent":["// Base pin data interface\nexport interface PinData {\n name?: string\n type?: string\n}\n\n// Generic coordinate interface with typed data\nexport interface Coordinate<T = PinData> {\n lat: number\n lng: number\n data?: T\n}\n\n// Type alias for common use cases\nexport type LocationCoordinate = Coordinate<PinData>\n\n// Cluster-related interfaces\nexport interface ClusterPinData {\n coordinates: Coordinate[]\n count: number\n}\n\nexport interface ClusterFeature<T = PinData> {\n type: 'Feature'\n properties: {\n cluster: boolean\n point_count?: number\n pointId?: number\n data?: T\n }\n geometry: {\n type: 'Point'\n coordinates: [number, number]\n }\n id: number\n}\n\nexport interface SuperclusterInstance {\n getClusterExpansionZoom(clusterId: number): number\n}\n\nexport type PinEventHandler<T = PinData> = (pin: Coordinate<T> | Coordinate<T>[] | null) => void\n\nexport type PinClickHandler<T = PinData> = (pin: Coordinate<T> | Coordinate<T>[]) => void\n\nexport interface MapComponentProps<T = PinData> {\n apiKey: string\n mapId: string\n position?: Coordinate<T>\n coordinates?: Coordinate<T>[]\n onPinHover?: PinEventHandler<T>\n onPinClick?: PinClickHandler<T>\n focusPoint?: Coordinate<T>\n radiusMiles?: number\n className?: string\n zoom?: number\n}\n\nexport interface MapContentProps<T = PinData> {\n mapId: string\n mapCenter: Coordinate<T>\n mapZoom: number\n position?: Coordinate<T>\n coordinates?: Coordinate<T>[]\n clusters: ClusterFeature<T>[]\n supercluster: SuperclusterInstance\n onPinHover?: PinEventHandler<T>\n onPinClick?: PinClickHandler<T>\n focusPoint?: Coordinate<T>\n radiusMiles?: number\n className?: string\n setBounds: (bounds: [[number, number], [number, number]]) => void\n setZoomLevel: (zoom: number) => void\n}\n\nexport interface ClusterMarkerProps<T = PinData> {\n cluster: ClusterFeature<T>\n coordinates: Coordinate<T>[]\n onPinClick?: PinClickHandler<T>\n onPinHover?: PinEventHandler<T>\n zoomToLevel: (zoom: number) => void\n supercluster: SuperclusterInstance\n}\n\nexport interface IndividualMarkerProps<T = PinData> {\n coordinate: Coordinate<T>\n onPinClick?: PinClickHandler<T>\n onPinHover?: PinEventHandler<T>\n}\n\nexport interface FocusCircleProps<T = PinData> {\n focusPoint: Coordinate<T>\n radiusMiles: number\n map: google.maps.Map | null\n mapsLibrary: google.maps.MapsLibrary | null\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"types.cjs"}
@@ -1 +1,3 @@
1
+
2
+ //# sourceMappingURL=types.js.map
1
3
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"types.js"}
@@ -1,80 +1,30 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ 'use strict';
2
+
3
+ var chunkDU5OQA67_cjs = require('../../../chunk-DU5OQA67.cjs');
4
+ require('../../../chunk-NLGWU2KI.cjs');
5
+ require('../../../chunk-Q7SFCCGT.cjs');
19
6
 
20
- // src/components/ui/Map/utils.ts
21
- var utils_exports = {};
22
- __export(utils_exports, {
23
- calculateDistance: () => calculateDistance,
24
- filterClusterCoordinates: () => filterClusterCoordinates,
25
- getCenterForCoordinates: () => getCenterForCoordinates,
26
- getClusteringRadius: () => getClusteringRadius,
27
- getZoomForCoordinates: () => getZoomForCoordinates
28
- });
29
- module.exports = __toCommonJS(utils_exports);
30
7
 
31
- // src/components/ui/Map/constants.ts
32
- var DEFAULT_POSITION = { lat: 40.715021, lng: -74.00459 };
33
- var CLUSTER_DISTANCE_THRESHOLD = 1e-3;
34
8
 
35
- // src/components/ui/Map/utils.ts
36
- function getCenterForCoordinates(coords) {
37
- if (coords.length === 0) return DEFAULT_POSITION;
38
- const avgLat = coords.reduce((sum, coord) => sum + coord.lat, 0) / coords.length;
39
- const avgLng = coords.reduce((sum, coord) => sum + coord.lng, 0) / coords.length;
40
- return { lat: avgLat, lng: avgLng };
41
- }
42
- function getZoomForCoordinates(coords, defaultZoom) {
43
- if (coords.length <= 1) return defaultZoom;
44
- const lats = coords.map((coord) => coord.lat);
45
- const lngs = coords.map((coord) => coord.lng);
46
- const latDiff = Math.max(...lats) - Math.min(...lats);
47
- const lngDiff = Math.max(...lngs) - Math.min(...lngs);
48
- const maxDiff = Math.max(latDiff, lngDiff);
49
- if (maxDiff > 0.1) return 8;
50
- if (maxDiff > 0.05) return 10;
51
- if (maxDiff > 0.01) return 12;
52
- return 14;
53
- }
54
- function getClusteringRadius(zoom) {
55
- if (zoom <= 8) return 200;
56
- if (zoom <= 12) return 150;
57
- return 100;
58
- }
59
- function filterClusterCoordinates(coordinates, clusterLat, clusterLng) {
60
- return coordinates.filter((coord) => {
61
- const latDiff = Math.abs(coord.lat - clusterLat);
62
- const lngDiff = Math.abs(coord.lng - clusterLng);
63
- const distance = Math.sqrt(latDiff * latDiff + lngDiff * lngDiff);
64
- return distance < CLUSTER_DISTANCE_THRESHOLD;
65
- });
66
- }
67
- function calculateDistance(coord1, coord2) {
68
- const latDiff = Math.abs(coord1.lat - coord2.lat);
69
- const lngDiff = Math.abs(coord1.lng - coord2.lng);
70
- return Math.sqrt(latDiff * latDiff + lngDiff * lngDiff);
71
- }
72
- // Annotate the CommonJS export names for ESM import in node:
73
- 0 && (module.exports = {
74
- calculateDistance,
75
- filterClusterCoordinates,
76
- getCenterForCoordinates,
77
- getClusteringRadius,
78
- getZoomForCoordinates
9
+ Object.defineProperty(exports, "calculateDistance", {
10
+ enumerable: true,
11
+ get: function () { return chunkDU5OQA67_cjs.calculateDistance; }
12
+ });
13
+ Object.defineProperty(exports, "filterClusterCoordinates", {
14
+ enumerable: true,
15
+ get: function () { return chunkDU5OQA67_cjs.filterClusterCoordinates; }
16
+ });
17
+ Object.defineProperty(exports, "getCenterForCoordinates", {
18
+ enumerable: true,
19
+ get: function () { return chunkDU5OQA67_cjs.getCenterForCoordinates; }
20
+ });
21
+ Object.defineProperty(exports, "getClusteringRadius", {
22
+ enumerable: true,
23
+ get: function () { return chunkDU5OQA67_cjs.getClusteringRadius; }
24
+ });
25
+ Object.defineProperty(exports, "getZoomForCoordinates", {
26
+ enumerable: true,
27
+ get: function () { return chunkDU5OQA67_cjs.getZoomForCoordinates; }
79
28
  });
29
+ //# sourceMappingURL=utils.cjs.map
80
30
  //# sourceMappingURL=utils.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ui/Map/utils.ts","../../../../src/components/ui/Map/constants.ts"],"sourcesContent":["import { CLUSTER_DISTANCE_THRESHOLD, DEFAULT_POSITION } from '@/components/ui/Map/constants'\nimport type { Coordinate, PinData } from '@/components/ui/Map/types'\n\nexport function getCenterForCoordinates<T = PinData>(coords: Coordinate<T>[]): Coordinate<T> {\n if (coords.length === 0) return DEFAULT_POSITION as Coordinate<T>\n\n const avgLat = coords.reduce((sum, coord) => sum + coord.lat, 0) / coords.length\n const avgLng = coords.reduce((sum, coord) => sum + coord.lng, 0) / coords.length\n\n return { lat: avgLat, lng: avgLng }\n}\n\nexport function getZoomForCoordinates<T = PinData>(\n coords: Coordinate<T>[],\n defaultZoom: number\n): number {\n if (coords.length <= 1) return defaultZoom\n\n const lats = coords.map((coord) => coord.lat)\n const lngs = coords.map((coord) => coord.lng)\n\n const latDiff = Math.max(...lats) - Math.min(...lats)\n const lngDiff = Math.max(...lngs) - Math.min(...lngs)\n const maxDiff = Math.max(latDiff, lngDiff)\n\n if (maxDiff > 0.1) return 8\n if (maxDiff > 0.05) return 10\n if (maxDiff > 0.01) return 12\n return 14\n}\n\nexport function getClusteringRadius(zoom: number): number {\n if (zoom <= 8) return 200\n if (zoom <= 12) return 150\n return 100\n}\n\nexport function filterClusterCoordinates<T = PinData>(\n coordinates: Coordinate<T>[],\n clusterLat: number,\n clusterLng: number\n): Coordinate<T>[] {\n return coordinates.filter((coord) => {\n const latDiff = Math.abs(coord.lat - clusterLat)\n const lngDiff = Math.abs(coord.lng - clusterLng)\n const distance = Math.sqrt(latDiff * latDiff + lngDiff * lngDiff)\n return distance < CLUSTER_DISTANCE_THRESHOLD\n })\n}\n\nexport function calculateDistance<T = PinData>(\n coord1: Coordinate<T>,\n coord2: Coordinate<T>\n): number {\n const latDiff = Math.abs(coord1.lat - coord2.lat)\n const lngDiff = Math.abs(coord1.lng - coord2.lng)\n return Math.sqrt(latDiff * latDiff + lngDiff * lngDiff)\n}\n","export const DEFAULT_POSITION = { lat: 40.715021, lng: -74.00459 }\nexport const DEFAULT_ZOOM = 10\nexport const CLUSTER_PIN_SCALE = 1.5\nexport const CLUSTER_DISTANCE_THRESHOLD = 0.001\n\nexport const PIN_COLORS = {\n background: '#0B5441',\n borderColor: '#EBFDF1',\n glyphColor: '#D4F500',\n} as const\n\nexport const FOCUS_CIRCLE_STYLES = {\n strokeColor: '#0B5441',\n strokeOpacity: 0.8,\n strokeWeight: 2,\n fillColor: '#0B5441',\n fillOpacity: 0.1,\n clickable: false,\n zIndex: 1,\n} as const\n\nexport const CLUSTERING_CONFIG = {\n radius: 60,\n maxZoom: 16,\n minPoints: 2,\n} as const\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,mBAAmB,EAAE,KAAK,WAAW,KAAK,UAAU;AAG1D,IAAM,6BAA6B;;;ADAnC,SAAS,wBAAqC,QAAwC;AAC3F,MAAI,OAAO,WAAW,EAAG,QAAO;AAEhC,QAAM,SAAS,OAAO,OAAO,CAAC,KAAK,UAAU,MAAM,MAAM,KAAK,CAAC,IAAI,OAAO;AAC1E,QAAM,SAAS,OAAO,OAAO,CAAC,KAAK,UAAU,MAAM,MAAM,KAAK,CAAC,IAAI,OAAO;AAE1E,SAAO,EAAE,KAAK,QAAQ,KAAK,OAAO;AACpC;AAEO,SAAS,sBACd,QACA,aACQ;AACR,MAAI,OAAO,UAAU,EAAG,QAAO;AAE/B,QAAM,OAAO,OAAO,IAAI,CAAC,UAAU,MAAM,GAAG;AAC5C,QAAM,OAAO,OAAO,IAAI,CAAC,UAAU,MAAM,GAAG;AAE5C,QAAM,UAAU,KAAK,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI;AACpD,QAAM,UAAU,KAAK,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI;AACpD,QAAM,UAAU,KAAK,IAAI,SAAS,OAAO;AAEzC,MAAI,UAAU,IAAK,QAAO;AAC1B,MAAI,UAAU,KAAM,QAAO;AAC3B,MAAI,UAAU,KAAM,QAAO;AAC3B,SAAO;AACT;AAEO,SAAS,oBAAoB,MAAsB;AACxD,MAAI,QAAQ,EAAG,QAAO;AACtB,MAAI,QAAQ,GAAI,QAAO;AACvB,SAAO;AACT;AAEO,SAAS,yBACd,aACA,YACA,YACiB;AACjB,SAAO,YAAY,OAAO,CAAC,UAAU;AACnC,UAAM,UAAU,KAAK,IAAI,MAAM,MAAM,UAAU;AAC/C,UAAM,UAAU,KAAK,IAAI,MAAM,MAAM,UAAU;AAC/C,UAAM,WAAW,KAAK,KAAK,UAAU,UAAU,UAAU,OAAO;AAChE,WAAO,WAAW;AAAA,EACpB,CAAC;AACH;AAEO,SAAS,kBACd,QACA,QACQ;AACR,QAAM,UAAU,KAAK,IAAI,OAAO,MAAM,OAAO,GAAG;AAChD,QAAM,UAAU,KAAK,IAAI,OAAO,MAAM,OAAO,GAAG;AAChD,SAAO,KAAK,KAAK,UAAU,UAAU,UAAU,OAAO;AACxD;","names":[]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"utils.cjs"}
@@ -1,49 +1,5 @@
1
- // src/components/ui/Map/constants.ts
2
- var DEFAULT_POSITION = { lat: 40.715021, lng: -74.00459 };
3
- var CLUSTER_DISTANCE_THRESHOLD = 1e-3;
4
-
5
- // src/components/ui/Map/utils.ts
6
- function getCenterForCoordinates(coords) {
7
- if (coords.length === 0) return DEFAULT_POSITION;
8
- const avgLat = coords.reduce((sum, coord) => sum + coord.lat, 0) / coords.length;
9
- const avgLng = coords.reduce((sum, coord) => sum + coord.lng, 0) / coords.length;
10
- return { lat: avgLat, lng: avgLng };
11
- }
12
- function getZoomForCoordinates(coords, defaultZoom) {
13
- if (coords.length <= 1) return defaultZoom;
14
- const lats = coords.map((coord) => coord.lat);
15
- const lngs = coords.map((coord) => coord.lng);
16
- const latDiff = Math.max(...lats) - Math.min(...lats);
17
- const lngDiff = Math.max(...lngs) - Math.min(...lngs);
18
- const maxDiff = Math.max(latDiff, lngDiff);
19
- if (maxDiff > 0.1) return 8;
20
- if (maxDiff > 0.05) return 10;
21
- if (maxDiff > 0.01) return 12;
22
- return 14;
23
- }
24
- function getClusteringRadius(zoom) {
25
- if (zoom <= 8) return 200;
26
- if (zoom <= 12) return 150;
27
- return 100;
28
- }
29
- function filterClusterCoordinates(coordinates, clusterLat, clusterLng) {
30
- return coordinates.filter((coord) => {
31
- const latDiff = Math.abs(coord.lat - clusterLat);
32
- const lngDiff = Math.abs(coord.lng - clusterLng);
33
- const distance = Math.sqrt(latDiff * latDiff + lngDiff * lngDiff);
34
- return distance < CLUSTER_DISTANCE_THRESHOLD;
35
- });
36
- }
37
- function calculateDistance(coord1, coord2) {
38
- const latDiff = Math.abs(coord1.lat - coord2.lat);
39
- const lngDiff = Math.abs(coord1.lng - coord2.lng);
40
- return Math.sqrt(latDiff * latDiff + lngDiff * lngDiff);
41
- }
42
- export {
43
- calculateDistance,
44
- filterClusterCoordinates,
45
- getCenterForCoordinates,
46
- getClusteringRadius,
47
- getZoomForCoordinates
48
- };
1
+ export { calculateDistance, filterClusterCoordinates, getCenterForCoordinates, getClusteringRadius, getZoomForCoordinates } from '../../../chunk-5H35ZVLR.js';
2
+ import '../../../chunk-LQQ244AY.js';
3
+ import '../../../chunk-PZ5AY32C.js';
4
+ //# sourceMappingURL=utils.js.map
49
5
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ui/Map/constants.ts","../../../../src/components/ui/Map/utils.ts"],"sourcesContent":["export const DEFAULT_POSITION = { lat: 40.715021, lng: -74.00459 }\nexport const DEFAULT_ZOOM = 10\nexport const CLUSTER_PIN_SCALE = 1.5\nexport const CLUSTER_DISTANCE_THRESHOLD = 0.001\n\nexport const PIN_COLORS = {\n background: '#0B5441',\n borderColor: '#EBFDF1',\n glyphColor: '#D4F500',\n} as const\n\nexport const FOCUS_CIRCLE_STYLES = {\n strokeColor: '#0B5441',\n strokeOpacity: 0.8,\n strokeWeight: 2,\n fillColor: '#0B5441',\n fillOpacity: 0.1,\n clickable: false,\n zIndex: 1,\n} as const\n\nexport const CLUSTERING_CONFIG = {\n radius: 60,\n maxZoom: 16,\n minPoints: 2,\n} as const\n","import { CLUSTER_DISTANCE_THRESHOLD, DEFAULT_POSITION } from '@/components/ui/Map/constants'\nimport type { Coordinate, PinData } from '@/components/ui/Map/types'\n\nexport function getCenterForCoordinates<T = PinData>(coords: Coordinate<T>[]): Coordinate<T> {\n if (coords.length === 0) return DEFAULT_POSITION as Coordinate<T>\n\n const avgLat = coords.reduce((sum, coord) => sum + coord.lat, 0) / coords.length\n const avgLng = coords.reduce((sum, coord) => sum + coord.lng, 0) / coords.length\n\n return { lat: avgLat, lng: avgLng }\n}\n\nexport function getZoomForCoordinates<T = PinData>(\n coords: Coordinate<T>[],\n defaultZoom: number\n): number {\n if (coords.length <= 1) return defaultZoom\n\n const lats = coords.map((coord) => coord.lat)\n const lngs = coords.map((coord) => coord.lng)\n\n const latDiff = Math.max(...lats) - Math.min(...lats)\n const lngDiff = Math.max(...lngs) - Math.min(...lngs)\n const maxDiff = Math.max(latDiff, lngDiff)\n\n if (maxDiff > 0.1) return 8\n if (maxDiff > 0.05) return 10\n if (maxDiff > 0.01) return 12\n return 14\n}\n\nexport function getClusteringRadius(zoom: number): number {\n if (zoom <= 8) return 200\n if (zoom <= 12) return 150\n return 100\n}\n\nexport function filterClusterCoordinates<T = PinData>(\n coordinates: Coordinate<T>[],\n clusterLat: number,\n clusterLng: number\n): Coordinate<T>[] {\n return coordinates.filter((coord) => {\n const latDiff = Math.abs(coord.lat - clusterLat)\n const lngDiff = Math.abs(coord.lng - clusterLng)\n const distance = Math.sqrt(latDiff * latDiff + lngDiff * lngDiff)\n return distance < CLUSTER_DISTANCE_THRESHOLD\n })\n}\n\nexport function calculateDistance<T = PinData>(\n coord1: Coordinate<T>,\n coord2: Coordinate<T>\n): number {\n const latDiff = Math.abs(coord1.lat - coord2.lat)\n const lngDiff = Math.abs(coord1.lng - coord2.lng)\n return Math.sqrt(latDiff * latDiff + lngDiff * lngDiff)\n}\n"],"mappings":";AAAO,IAAM,mBAAmB,EAAE,KAAK,WAAW,KAAK,UAAU;AAG1D,IAAM,6BAA6B;;;ACAnC,SAAS,wBAAqC,QAAwC;AAC3F,MAAI,OAAO,WAAW,EAAG,QAAO;AAEhC,QAAM,SAAS,OAAO,OAAO,CAAC,KAAK,UAAU,MAAM,MAAM,KAAK,CAAC,IAAI,OAAO;AAC1E,QAAM,SAAS,OAAO,OAAO,CAAC,KAAK,UAAU,MAAM,MAAM,KAAK,CAAC,IAAI,OAAO;AAE1E,SAAO,EAAE,KAAK,QAAQ,KAAK,OAAO;AACpC;AAEO,SAAS,sBACd,QACA,aACQ;AACR,MAAI,OAAO,UAAU,EAAG,QAAO;AAE/B,QAAM,OAAO,OAAO,IAAI,CAAC,UAAU,MAAM,GAAG;AAC5C,QAAM,OAAO,OAAO,IAAI,CAAC,UAAU,MAAM,GAAG;AAE5C,QAAM,UAAU,KAAK,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI;AACpD,QAAM,UAAU,KAAK,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI;AACpD,QAAM,UAAU,KAAK,IAAI,SAAS,OAAO;AAEzC,MAAI,UAAU,IAAK,QAAO;AAC1B,MAAI,UAAU,KAAM,QAAO;AAC3B,MAAI,UAAU,KAAM,QAAO;AAC3B,SAAO;AACT;AAEO,SAAS,oBAAoB,MAAsB;AACxD,MAAI,QAAQ,EAAG,QAAO;AACtB,MAAI,QAAQ,GAAI,QAAO;AACvB,SAAO;AACT;AAEO,SAAS,yBACd,aACA,YACA,YACiB;AACjB,SAAO,YAAY,OAAO,CAAC,UAAU;AACnC,UAAM,UAAU,KAAK,IAAI,MAAM,MAAM,UAAU;AAC/C,UAAM,UAAU,KAAK,IAAI,MAAM,MAAM,UAAU;AAC/C,UAAM,WAAW,KAAK,KAAK,UAAU,UAAU,UAAU,OAAO;AAChE,WAAO,WAAW;AAAA,EACpB,CAAC;AACH;AAEO,SAAS,kBACd,QACA,QACQ;AACR,QAAM,UAAU,KAAK,IAAI,OAAO,MAAM,OAAO,GAAG;AAChD,QAAM,UAAU,KAAK,IAAI,OAAO,MAAM,OAAO,GAAG;AAChD,SAAO,KAAK,KAAK,UAAU,UAAU,UAAU,OAAO;AACxD;","names":[]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"utils.js"}