@next-degree/pickle-shared-js 0.13.1 → 0.13.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.
- package/dist/chunk-2FGZQI42.js +11 -0
- package/dist/chunk-2FGZQI42.js.map +1 -0
- package/dist/chunk-2I2TWTPC.js +115 -0
- package/dist/chunk-2I2TWTPC.js.map +1 -0
- package/dist/chunk-2TEFWPFS.js +34 -0
- package/dist/chunk-2TEFWPFS.js.map +1 -0
- package/dist/chunk-2YUUVN7E.cjs +37 -0
- package/dist/chunk-2YUUVN7E.cjs.map +1 -0
- package/dist/chunk-3FQTSGHL.cjs +90 -0
- package/dist/chunk-3FQTSGHL.cjs.map +1 -0
- package/dist/chunk-3HO3CCXD.js +44 -0
- package/dist/chunk-3HO3CCXD.js.map +1 -0
- package/dist/chunk-3NDL2JQ7.js +81 -0
- package/dist/chunk-3NDL2JQ7.js.map +1 -0
- package/dist/chunk-3PARXYUI.cjs +86 -0
- package/dist/chunk-3PARXYUI.cjs.map +1 -0
- package/dist/chunk-46HHHYSV.cjs +30 -0
- package/dist/chunk-46HHHYSV.cjs.map +1 -0
- package/dist/chunk-46SPIPCF.cjs +54 -0
- package/dist/chunk-46SPIPCF.cjs.map +1 -0
- package/dist/chunk-47H3M7TP.js +72 -0
- package/dist/chunk-47H3M7TP.js.map +1 -0
- package/dist/chunk-4IMEF4J5.cjs +58 -0
- package/dist/chunk-4IMEF4J5.cjs.map +1 -0
- package/dist/chunk-4JSV7KA3.cjs +43 -0
- package/dist/chunk-4JSV7KA3.cjs.map +1 -0
- package/dist/chunk-4LUPQO4R.cjs +16 -0
- package/dist/chunk-4LUPQO4R.cjs.map +1 -0
- package/dist/chunk-4NEPWF3Z.js +152 -0
- package/dist/chunk-4NEPWF3Z.js.map +1 -0
- package/dist/chunk-4RVGUZNF.js +72 -0
- package/dist/chunk-4RVGUZNF.js.map +1 -0
- package/dist/chunk-4VYXUFJA.js +72 -0
- package/dist/chunk-4VYXUFJA.js.map +1 -0
- package/dist/chunk-53OQ6M2O.js +25 -0
- package/dist/chunk-53OQ6M2O.js.map +1 -0
- package/dist/chunk-5H35ZVLR.js +43 -0
- package/dist/chunk-5H35ZVLR.js.map +1 -0
- package/dist/chunk-5LMIRRED.js +59 -0
- package/dist/chunk-5LMIRRED.js.map +1 -0
- package/dist/chunk-5NQTYPZG.js +14 -0
- package/dist/chunk-5NQTYPZG.js.map +1 -0
- package/dist/chunk-5QXQ2LBB.cjs +4 -0
- package/dist/chunk-5QXQ2LBB.cjs.map +1 -0
- package/dist/chunk-5REFGTWO.js +87 -0
- package/dist/chunk-5REFGTWO.js.map +1 -0
- package/dist/chunk-5RH3VTNV.js +81 -0
- package/dist/chunk-5RH3VTNV.js.map +1 -0
- package/dist/chunk-5Z4ILTRD.js +48 -0
- package/dist/chunk-5Z4ILTRD.js.map +1 -0
- package/dist/chunk-62OBBM7T.js +95 -0
- package/dist/chunk-62OBBM7T.js.map +1 -0
- package/dist/chunk-6BFFHI2V.cjs +33 -0
- package/dist/chunk-6BFFHI2V.cjs.map +1 -0
- package/dist/chunk-6EW2D7K7.cjs +51 -0
- package/dist/chunk-6EW2D7K7.cjs.map +1 -0
- package/dist/chunk-6V7WZMBZ.cjs +83 -0
- package/dist/chunk-6V7WZMBZ.cjs.map +1 -0
- package/dist/chunk-AB3775NI.cjs +93 -0
- package/dist/chunk-AB3775NI.cjs.map +1 -0
- package/dist/chunk-AEYPJ5YA.cjs +51 -0
- package/dist/chunk-AEYPJ5YA.cjs.map +1 -0
- package/dist/chunk-AMNEAWA7.cjs +59 -0
- package/dist/chunk-AMNEAWA7.cjs.map +1 -0
- package/dist/chunk-APHLSON7.cjs +29 -0
- package/dist/chunk-APHLSON7.cjs.map +1 -0
- package/dist/chunk-B7NHA4GE.js +33 -0
- package/dist/chunk-B7NHA4GE.js.map +1 -0
- package/dist/chunk-BJT6JTXX.js +49 -0
- package/dist/chunk-BJT6JTXX.js.map +1 -0
- package/dist/chunk-BLMWXMW4.js +14 -0
- package/dist/chunk-BLMWXMW4.js.map +1 -0
- package/dist/chunk-C3DCFPJC.cjs +125 -0
- package/dist/chunk-C3DCFPJC.cjs.map +1 -0
- package/dist/chunk-C63PYADW.cjs +115 -0
- package/dist/chunk-C63PYADW.cjs.map +1 -0
- package/dist/chunk-CAGLLWPR.js +33 -0
- package/dist/chunk-CAGLLWPR.js.map +1 -0
- package/dist/chunk-CPZFINPG.js +37 -0
- package/dist/chunk-CPZFINPG.js.map +1 -0
- package/dist/chunk-CQSYXCIU.cjs +221 -0
- package/dist/chunk-CQSYXCIU.cjs.map +1 -0
- package/dist/chunk-CTR2QSI6.js +121 -0
- package/dist/chunk-CTR2QSI6.js.map +1 -0
- package/dist/chunk-CWTO3NXW.js +12 -0
- package/dist/chunk-CWTO3NXW.js.map +1 -0
- package/dist/chunk-DMNSL52U.cjs +160 -0
- package/dist/chunk-DMNSL52U.cjs.map +1 -0
- package/dist/chunk-DU5OQA67.cjs +49 -0
- package/dist/chunk-DU5OQA67.cjs.map +1 -0
- package/dist/chunk-DURKKV2E.js +52 -0
- package/dist/chunk-DURKKV2E.js.map +1 -0
- package/dist/chunk-DUVGFEGU.js +149 -0
- package/dist/chunk-DUVGFEGU.js.map +1 -0
- package/dist/chunk-DWB5TTR6.cjs +55 -0
- package/dist/chunk-DWB5TTR6.cjs.map +1 -0
- package/dist/chunk-DXLVRZFU.js +21 -0
- package/dist/chunk-DXLVRZFU.js.map +1 -0
- package/dist/chunk-EAFZZSYR.js +69 -0
- package/dist/chunk-EAFZZSYR.js.map +1 -0
- package/dist/chunk-EBKY3MJH.cjs +72 -0
- package/dist/chunk-EBKY3MJH.cjs.map +1 -0
- package/dist/chunk-EBOIU23Q.cjs +137 -0
- package/dist/chunk-EBOIU23Q.cjs.map +1 -0
- package/dist/chunk-EBZRXX6P.js +41 -0
- package/dist/chunk-EBZRXX6P.js.map +1 -0
- package/dist/chunk-EWFDWOL2.js +27 -0
- package/dist/chunk-EWFDWOL2.js.map +1 -0
- package/dist/chunk-F3FYMCRO.js +52 -0
- package/dist/chunk-F3FYMCRO.js.map +1 -0
- package/dist/chunk-FNCPK4RH.js +24 -0
- package/dist/chunk-FNCPK4RH.js.map +1 -0
- package/dist/chunk-FOJTLQJO.js +152 -0
- package/dist/chunk-FOJTLQJO.js.map +1 -0
- package/dist/chunk-FSMBDLNU.js +34 -0
- package/dist/chunk-FSMBDLNU.js.map +1 -0
- package/dist/chunk-FVJL3PEK.js +40 -0
- package/dist/chunk-FVJL3PEK.js.map +1 -0
- package/dist/chunk-GAN7Z4NB.js +93 -0
- package/dist/chunk-GAN7Z4NB.js.map +1 -0
- package/dist/chunk-GN3JZCM3.cjs +99 -0
- package/dist/chunk-GN3JZCM3.cjs.map +1 -0
- package/dist/chunk-GQNVPLSG.cjs +44 -0
- package/dist/chunk-GQNVPLSG.cjs.map +1 -0
- package/dist/chunk-GZUD5PBL.js +219 -0
- package/dist/chunk-GZUD5PBL.js.map +1 -0
- package/dist/chunk-HD3VN7GE.cjs +37 -0
- package/dist/chunk-HD3VN7GE.cjs.map +1 -0
- package/dist/chunk-HVZBUDYS.js +51 -0
- package/dist/chunk-HVZBUDYS.js.map +1 -0
- package/dist/chunk-I46VZAK7.cjs +65 -0
- package/dist/chunk-I46VZAK7.cjs.map +1 -0
- package/dist/chunk-I4H7XREK.js +91 -0
- package/dist/chunk-I4H7XREK.js.map +1 -0
- package/dist/chunk-I5FAUNN6.js +48 -0
- package/dist/chunk-I5FAUNN6.js.map +1 -0
- package/dist/chunk-IHWVGIDT.cjs +86 -0
- package/dist/chunk-IHWVGIDT.cjs.map +1 -0
- package/dist/chunk-IJQTUD3D.js +35 -0
- package/dist/chunk-IJQTUD3D.js.map +1 -0
- package/dist/chunk-IMAHT6W4.cjs +65 -0
- package/dist/chunk-IMAHT6W4.cjs.map +1 -0
- package/dist/chunk-IVPCYGXE.cjs +20 -0
- package/dist/chunk-IVPCYGXE.cjs.map +1 -0
- package/dist/chunk-IX3GUXML.cjs +24 -0
- package/dist/chunk-IX3GUXML.cjs.map +1 -0
- package/dist/chunk-J3UEZGEG.js +53 -0
- package/dist/chunk-J3UEZGEG.js.map +1 -0
- package/dist/chunk-JZVRCP3M.cjs +411 -0
- package/dist/chunk-JZVRCP3M.cjs.map +1 -0
- package/dist/chunk-KWIGG26N.js +3 -0
- package/dist/chunk-KWIGG26N.js.map +1 -0
- package/dist/chunk-KZBS5RNE.js +41 -0
- package/dist/chunk-KZBS5RNE.js.map +1 -0
- package/dist/chunk-L4SZQQK6.cjs +171 -0
- package/dist/chunk-L4SZQQK6.cjs.map +1 -0
- package/dist/chunk-LQ4DG6ST.js +31 -0
- package/dist/chunk-LQ4DG6ST.js.map +1 -0
- package/dist/chunk-LQQ244AY.js +28 -0
- package/dist/chunk-LQQ244AY.js.map +1 -0
- package/dist/chunk-LT35HARQ.cjs +119 -0
- package/dist/chunk-LT35HARQ.cjs.map +1 -0
- package/dist/chunk-LTJXX7NG.cjs +14 -0
- package/dist/chunk-LTJXX7NG.cjs.map +1 -0
- package/dist/chunk-LUFPA3WC.cjs +93 -0
- package/dist/chunk-LUFPA3WC.cjs.map +1 -0
- package/dist/chunk-LV6BHE7Q.cjs +266 -0
- package/dist/chunk-LV6BHE7Q.cjs.map +1 -0
- package/dist/chunk-MF24QPA6.js +28 -0
- package/dist/chunk-MF24QPA6.js.map +1 -0
- package/dist/chunk-MGWZXPMF.cjs +13 -0
- package/dist/chunk-MGWZXPMF.cjs.map +1 -0
- package/dist/chunk-MPWBYIWU.cjs +50 -0
- package/dist/chunk-MPWBYIWU.cjs.map +1 -0
- package/dist/chunk-MTNMKBY6.cjs +123 -0
- package/dist/chunk-MTNMKBY6.cjs.map +1 -0
- package/dist/chunk-NLGWU2KI.cjs +36 -0
- package/dist/chunk-NLGWU2KI.cjs.map +1 -0
- package/dist/chunk-ODHIUBLC.js +25 -0
- package/dist/chunk-ODHIUBLC.js.map +1 -0
- package/dist/chunk-ORVF255B.cjs +55 -0
- package/dist/chunk-ORVF255B.cjs.map +1 -0
- package/dist/chunk-OXDKVZZ5.cjs +39 -0
- package/dist/chunk-OXDKVZZ5.cjs.map +1 -0
- package/dist/chunk-OZJZVEF2.js +35 -0
- package/dist/chunk-OZJZVEF2.js.map +1 -0
- package/dist/chunk-P6ZEOB4L.cjs +108 -0
- package/dist/chunk-P6ZEOB4L.cjs.map +1 -0
- package/dist/chunk-PAMM6ETE.js +52 -0
- package/dist/chunk-PAMM6ETE.js.map +1 -0
- package/dist/chunk-PCSQPFNK.js +198 -0
- package/dist/chunk-PCSQPFNK.js.map +1 -0
- package/dist/chunk-PLPEZUCB.js +42 -0
- package/dist/chunk-PLPEZUCB.js.map +1 -0
- package/dist/chunk-PONUWUJ7.js +29 -0
- package/dist/chunk-PONUWUJ7.js.map +1 -0
- package/dist/chunk-PSRWV7UW.cjs +50 -0
- package/dist/chunk-PSRWV7UW.cjs.map +1 -0
- package/dist/chunk-PTNATMEI.cjs +95 -0
- package/dist/chunk-PTNATMEI.cjs.map +1 -0
- package/dist/chunk-PZ5AY32C.js +9 -0
- package/dist/chunk-PZ5AY32C.js.map +1 -0
- package/dist/chunk-Q7SFCCGT.cjs +11 -0
- package/dist/chunk-Q7SFCCGT.cjs.map +1 -0
- package/dist/chunk-QNVDG3L3.cjs +171 -0
- package/dist/chunk-QNVDG3L3.cjs.map +1 -0
- package/dist/chunk-QOYVMNQ6.cjs +13 -0
- package/dist/chunk-QOYVMNQ6.cjs.map +1 -0
- package/dist/chunk-QRMNGILI.cjs +16 -0
- package/dist/chunk-QRMNGILI.cjs.map +1 -0
- package/dist/chunk-QURNDLRE.js +55 -0
- package/dist/chunk-QURNDLRE.js.map +1 -0
- package/dist/chunk-RKLUMDJB.cjs +50 -0
- package/dist/chunk-RKLUMDJB.cjs.map +1 -0
- package/dist/chunk-SKMP4FO7.cjs +42 -0
- package/dist/chunk-SKMP4FO7.cjs.map +1 -0
- package/dist/chunk-SMDQTPJE.cjs +31 -0
- package/dist/chunk-SMDQTPJE.cjs.map +1 -0
- package/dist/chunk-SP2IO6PC.cjs +220 -0
- package/dist/chunk-SP2IO6PC.cjs.map +1 -0
- package/dist/chunk-SPAVM3EE.cjs +95 -0
- package/dist/chunk-SPAVM3EE.cjs.map +1 -0
- package/dist/chunk-SZ5XKNVG.js +11 -0
- package/dist/chunk-SZ5XKNVG.js.map +1 -0
- package/dist/chunk-TCV6N3EK.js +400 -0
- package/dist/chunk-TCV6N3EK.js.map +1 -0
- package/dist/chunk-TPZCCL4L.js +76 -0
- package/dist/chunk-TPZCCL4L.js.map +1 -0
- package/dist/chunk-TVYLTYUK.js +23 -0
- package/dist/chunk-TVYLTYUK.js.map +1 -0
- package/dist/chunk-U27VO642.js +117 -0
- package/dist/chunk-U27VO642.js.map +1 -0
- package/dist/chunk-U3D4LL6T.js +54 -0
- package/dist/chunk-U3D4LL6T.js.map +1 -0
- package/dist/chunk-U7LTIWUS.js +28 -0
- package/dist/chunk-U7LTIWUS.js.map +1 -0
- package/dist/chunk-UMVE26I5.cjs +61 -0
- package/dist/chunk-UMVE26I5.cjs.map +1 -0
- package/dist/chunk-UQT2I2CC.js +42 -0
- package/dist/chunk-UQT2I2CC.js.map +1 -0
- package/dist/chunk-UW6NEKBF.cjs +151 -0
- package/dist/chunk-UW6NEKBF.cjs.map +1 -0
- package/dist/chunk-UXROFDSM.cjs +33 -0
- package/dist/chunk-UXROFDSM.cjs.map +1 -0
- package/dist/chunk-V563IKQH.cjs +4 -0
- package/dist/chunk-V563IKQH.cjs.map +1 -0
- package/dist/chunk-VAHZQJTA.cjs +117 -0
- package/dist/chunk-VAHZQJTA.cjs.map +1 -0
- package/dist/chunk-VANX3AQD.js +3 -0
- package/dist/chunk-VANX3AQD.js.map +1 -0
- package/dist/chunk-VB32IBQC.cjs +54 -0
- package/dist/chunk-VB32IBQC.cjs.map +1 -0
- package/dist/chunk-W2UGL7QI.cjs +41 -0
- package/dist/chunk-W2UGL7QI.cjs.map +1 -0
- package/dist/chunk-W6BMYVY5.js +17 -0
- package/dist/chunk-W6BMYVY5.js.map +1 -0
- package/dist/chunk-WFQHWK6X.cjs +53 -0
- package/dist/chunk-WFQHWK6X.cjs.map +1 -0
- package/dist/chunk-XAPQTBJR.cjs +45 -0
- package/dist/chunk-XAPQTBJR.cjs.map +1 -0
- package/dist/chunk-XGQDWAHV.js +27 -0
- package/dist/chunk-XGQDWAHV.js.map +1 -0
- package/dist/chunk-XGQU7BQK.js +88 -0
- package/dist/chunk-XGQU7BQK.js.map +1 -0
- package/dist/chunk-XKLOANYB.cjs +57 -0
- package/dist/chunk-XKLOANYB.cjs.map +1 -0
- package/dist/chunk-XO6LO5CU.cjs +47 -0
- package/dist/chunk-XO6LO5CU.cjs.map +1 -0
- package/dist/chunk-XUTLQ573.cjs +20 -0
- package/dist/chunk-XUTLQ573.cjs.map +1 -0
- package/dist/chunk-XWQI5MC3.cjs +35 -0
- package/dist/chunk-XWQI5MC3.cjs.map +1 -0
- package/dist/chunk-Y2UMEYQS.js +115 -0
- package/dist/chunk-Y2UMEYQS.js.map +1 -0
- package/dist/chunk-YB2USB4M.js +17 -0
- package/dist/chunk-YB2USB4M.js.map +1 -0
- package/dist/chunk-YLWUHTOZ.js +154 -0
- package/dist/chunk-YLWUHTOZ.js.map +1 -0
- package/dist/chunk-YNREEZ75.cjs +26 -0
- package/dist/chunk-YNREEZ75.cjs.map +1 -0
- package/dist/chunk-Z33TWZHI.js +81 -0
- package/dist/chunk-Z33TWZHI.js.map +1 -0
- package/dist/chunk-ZCRWSWPJ.cjs +46 -0
- package/dist/chunk-ZCRWSWPJ.cjs.map +1 -0
- package/dist/chunk-ZQFFPZMA.cjs +74 -0
- package/dist/chunk-ZQFFPZMA.cjs.map +1 -0
- package/dist/chunk-ZSNEG5J7.js +263 -0
- package/dist/chunk-ZSNEG5J7.js.map +1 -0
- package/dist/{company_service_sanity-ByIKe90u.d.cts → company_service_sanity-Br0R7m-A.d.cts} +560 -560
- package/dist/{company_service_sanity-DbYwWmnS.d.ts → company_service_sanity-DF01qvTz.d.ts} +560 -560
- package/dist/components/buttons/BackButton.cjs +11 -153
- package/dist/components/buttons/BackButton.cjs.map +1 -1
- package/dist/components/buttons/BackButton.d.cts +2 -2
- package/dist/components/buttons/BackButton.d.ts +2 -2
- package/dist/components/buttons/BackButton.js +7 -134
- package/dist/components/buttons/BackButton.js.map +1 -1
- package/dist/components/company/CompanyBenefits.cjs +10 -31
- package/dist/components/company/CompanyBenefits.cjs.map +1 -1
- package/dist/components/company/CompanyBenefits.d.cts +2 -2
- package/dist/components/company/CompanyBenefits.d.ts +2 -2
- package/dist/components/company/CompanyBenefits.js +3 -8
- package/dist/components/company/CompanyBenefits.js.map +1 -1
- package/dist/components/company/CompanyInformation.cjs +9 -86
- package/dist/components/company/CompanyInformation.cjs.map +1 -1
- package/dist/components/company/CompanyInformation.d.cts +2 -2
- package/dist/components/company/CompanyInformation.d.ts +2 -2
- package/dist/components/company/CompanyInformation.js +4 -53
- package/dist/components/company/CompanyInformation.js.map +1 -1
- package/dist/components/company/CompanyTake.cjs +10 -122
- package/dist/components/company/CompanyTake.cjs.map +1 -1
- package/dist/components/company/CompanyTake.d.cts +2 -2
- package/dist/components/company/CompanyTake.d.ts +2 -2
- package/dist/components/company/CompanyTake.js +6 -91
- package/dist/components/company/CompanyTake.js.map +1 -1
- package/dist/components/jobCard/JobLocation.cjs +11 -151
- package/dist/components/jobCard/JobLocation.cjs.map +1 -1
- package/dist/components/jobCard/JobLocation.d.cts +3 -3
- package/dist/components/jobCard/JobLocation.d.ts +3 -3
- package/dist/components/jobCard/JobLocation.js +7 -121
- package/dist/components/jobCard/JobLocation.js.map +1 -1
- package/dist/components/jobPost/JobDescription.cjs +10 -347
- package/dist/components/jobPost/JobDescription.cjs.map +1 -1
- package/dist/components/jobPost/JobDescription.d.cts +2 -2
- package/dist/components/jobPost/JobDescription.d.ts +2 -2
- package/dist/components/jobPost/JobDescription.js +6 -315
- package/dist/components/jobPost/JobDescription.js.map +1 -1
- package/dist/components/jobPost/JobHeader.cjs +16 -406
- package/dist/components/jobPost/JobHeader.cjs.map +1 -1
- package/dist/components/jobPost/JobHeader.d.cts +2 -2
- package/dist/components/jobPost/JobHeader.d.ts +2 -2
- package/dist/components/jobPost/JobHeader.js +12 -398
- package/dist/components/jobPost/JobHeader.js.map +1 -1
- package/dist/components/jobPost/JobPost.cjs +42 -1820
- package/dist/components/jobPost/JobPost.cjs.map +1 -1
- package/dist/components/jobPost/JobPost.d.cts +3 -3
- package/dist/components/jobPost/JobPost.d.ts +3 -3
- package/dist/components/jobPost/JobPost.js +33 -1812
- package/dist/components/jobPost/JobPost.js.map +1 -1
- package/dist/components/primitives/avatar.cjs +17 -82
- package/dist/components/primitives/avatar.cjs.map +1 -1
- package/dist/components/primitives/avatar.js +4 -50
- package/dist/components/primitives/avatar.js.map +1 -1
- package/dist/components/primitives/command.cjs +41 -207
- package/dist/components/primitives/command.cjs.map +1 -1
- package/dist/components/primitives/command.d.cts +3 -2
- package/dist/components/primitives/command.d.ts +3 -2
- package/dist/components/primitives/command.js +5 -170
- package/dist/components/primitives/command.js.map +1 -1
- package/dist/components/primitives/dialog.cjs +45 -124
- package/dist/components/primitives/dialog.cjs.map +1 -1
- package/dist/components/primitives/dialog.d.cts +3 -2
- package/dist/components/primitives/dialog.d.ts +3 -2
- package/dist/components/primitives/dialog.js +4 -85
- package/dist/components/primitives/dialog.js.map +1 -1
- package/dist/components/primitives/input-otp.cjs +20 -90
- package/dist/components/primitives/input-otp.cjs.map +1 -1
- package/dist/components/primitives/input-otp.js +4 -58
- package/dist/components/primitives/input-otp.js.map +1 -1
- package/dist/components/primitives/popover.cjs +17 -67
- package/dist/components/primitives/popover.cjs.map +1 -1
- package/dist/components/primitives/popover.js +4 -35
- package/dist/components/primitives/popover.js.map +1 -1
- package/dist/components/primitives/radio-group.cjs +12 -64
- package/dist/components/primitives/radio-group.cjs.map +1 -1
- package/dist/components/primitives/radio-group.js +4 -36
- package/dist/components/primitives/radio-group.js.map +1 -1
- package/dist/components/primitives/separator.cjs +9 -62
- package/dist/components/primitives/separator.cjs.map +1 -1
- package/dist/components/primitives/separator.js +4 -32
- package/dist/components/primitives/separator.js.map +1 -1
- package/dist/components/primitives/tooltip.cjs +21 -69
- package/dist/components/primitives/tooltip.cjs.map +1 -1
- package/dist/components/primitives/tooltip.js +4 -36
- package/dist/components/primitives/tooltip.js.map +1 -1
- package/dist/components/ui/Avatar.cjs +12 -105
- package/dist/components/ui/Avatar.cjs.map +1 -1
- package/dist/components/ui/Avatar.d.cts +3 -3
- package/dist/components/ui/Avatar.d.ts +3 -3
- package/dist/components/ui/Avatar.js +5 -75
- package/dist/components/ui/Avatar.js.map +1 -1
- package/dist/components/ui/Badge.cjs +12 -62
- package/dist/components/ui/Badge.cjs.map +1 -1
- package/dist/components/ui/Badge.d.cts +2 -1
- package/dist/components/ui/Badge.d.ts +2 -1
- package/dist/components/ui/Badge.js +4 -31
- package/dist/components/ui/Badge.js.map +1 -1
- package/dist/components/ui/Button.cjs +13 -299
- package/dist/components/ui/Button.cjs.map +1 -1
- package/dist/components/ui/Button.js +4 -267
- package/dist/components/ui/Button.js.map +1 -1
- package/dist/components/ui/Checkbox.cjs +13 -109
- package/dist/components/ui/Checkbox.cjs.map +1 -1
- package/dist/components/ui/Checkbox.js +5 -81
- package/dist/components/ui/Checkbox.js.map +1 -1
- package/dist/components/ui/Chip.cjs +8 -59
- package/dist/components/ui/Chip.cjs.map +1 -1
- package/dist/components/ui/Chip.d.cts +2 -1
- package/dist/components/ui/Chip.d.ts +2 -1
- package/dist/components/ui/Chip.js +3 -29
- package/dist/components/ui/Chip.js.map +1 -1
- package/dist/components/ui/Combobox.cjs +22 -591
- package/dist/components/ui/Combobox.cjs.map +1 -1
- package/dist/components/ui/Combobox.js +14 -560
- package/dist/components/ui/Combobox.js.map +1 -1
- package/dist/components/ui/Counter.cjs +11 -226
- package/dist/components/ui/Counter.cjs.map +1 -1
- package/dist/components/ui/Counter.js +7 -197
- package/dist/components/ui/Counter.js.map +1 -1
- package/dist/components/ui/DatePicker.cjs +14 -274
- package/dist/components/ui/DatePicker.cjs.map +1 -1
- package/dist/components/ui/DatePicker.js +10 -245
- package/dist/components/ui/DatePicker.js.map +1 -1
- package/dist/components/ui/DismissibleBanner.cjs +9 -77
- package/dist/components/ui/DismissibleBanner.cjs.map +1 -1
- package/dist/components/ui/DismissibleBanner.d.cts +2 -2
- package/dist/components/ui/DismissibleBanner.d.ts +2 -2
- package/dist/components/ui/DismissibleBanner.js +4 -56
- package/dist/components/ui/DismissibleBanner.js.map +1 -1
- package/dist/components/ui/ErrorMessage.cjs +7 -36
- package/dist/components/ui/ErrorMessage.cjs.map +1 -1
- package/dist/components/ui/ErrorMessage.d.cts +2 -2
- package/dist/components/ui/ErrorMessage.d.ts +2 -2
- package/dist/components/ui/ErrorMessage.js +4 -16
- package/dist/components/ui/ErrorMessage.js.map +1 -1
- package/dist/components/ui/Icon.cjs +9 -108
- package/dist/components/ui/Icon.cjs.map +1 -1
- package/dist/components/ui/Icon.js +4 -87
- package/dist/components/ui/Icon.js.map +1 -1
- package/dist/components/ui/Input.cjs +9 -186
- package/dist/components/ui/Input.cjs.map +1 -1
- package/dist/components/ui/Input.js +7 -159
- package/dist/components/ui/Input.js.map +1 -1
- package/dist/components/ui/InputOtp.cjs +12 -175
- package/dist/components/ui/InputOtp.cjs.map +1 -1
- package/dist/components/ui/InputOtp.js +8 -145
- package/dist/components/ui/InputOtp.js.map +1 -1
- package/dist/components/ui/Label.cjs +7 -79
- package/dist/components/ui/Label.cjs.map +1 -1
- package/dist/components/ui/Label.d.cts +2 -2
- package/dist/components/ui/Label.d.ts +2 -2
- package/dist/components/ui/Label.js +5 -52
- package/dist/components/ui/Label.js.map +1 -1
- package/dist/components/ui/LinkButton.cjs +10 -58
- package/dist/components/ui/LinkButton.cjs.map +1 -1
- package/dist/components/ui/LinkButton.d.cts +2 -1
- package/dist/components/ui/LinkButton.d.ts +2 -1
- package/dist/components/ui/LinkButton.js +3 -25
- package/dist/components/ui/LinkButton.js.map +1 -1
- package/dist/components/ui/ListItem.cjs +8 -150
- package/dist/components/ui/ListItem.cjs.map +1 -1
- package/dist/components/ui/ListItem.d.cts +2 -2
- package/dist/components/ui/ListItem.d.ts +2 -2
- package/dist/components/ui/ListItem.js +6 -125
- package/dist/components/ui/ListItem.js.map +1 -1
- package/dist/components/ui/Map/ClusterMarker.cjs +9 -74
- package/dist/components/ui/Map/ClusterMarker.cjs.map +1 -1
- package/dist/components/ui/Map/ClusterMarker.d.cts +2 -2
- package/dist/components/ui/Map/ClusterMarker.d.ts +2 -2
- package/dist/components/ui/Map/ClusterMarker.js +5 -55
- package/dist/components/ui/Map/ClusterMarker.js.map +1 -1
- package/dist/components/ui/Map/FocusCircle.cjs +9 -81
- package/dist/components/ui/Map/FocusCircle.cjs.map +1 -1
- package/dist/components/ui/Map/FocusCircle.js +4 -61
- package/dist/components/ui/Map/FocusCircle.js.map +1 -1
- package/dist/components/ui/Map/IndividualMarker.cjs +9 -55
- package/dist/components/ui/Map/IndividualMarker.cjs.map +1 -1
- package/dist/components/ui/Map/IndividualMarker.d.cts +2 -2
- package/dist/components/ui/Map/IndividualMarker.d.ts +2 -2
- package/dist/components/ui/Map/IndividualMarker.js +4 -35
- package/dist/components/ui/Map/IndividualMarker.js.map +1 -1
- package/dist/components/ui/Map/MapComponent.cjs +16 -395
- package/dist/components/ui/Map/MapComponent.cjs.map +1 -1
- package/dist/components/ui/Map/MapComponent.d.cts +2 -2
- package/dist/components/ui/Map/MapComponent.d.ts +2 -2
- package/dist/components/ui/Map/MapComponent.js +12 -366
- package/dist/components/ui/Map/MapComponent.js.map +1 -1
- package/dist/components/ui/Map/MapContent.cjs +13 -273
- package/dist/components/ui/Map/MapContent.cjs.map +1 -1
- package/dist/components/ui/Map/MapContent.d.cts +2 -2
- package/dist/components/ui/Map/MapContent.d.ts +2 -2
- package/dist/components/ui/Map/MapContent.js +9 -254
- package/dist/components/ui/Map/MapContent.js.map +1 -1
- package/dist/components/ui/Map/clustering.cjs +13 -99
- package/dist/components/ui/Map/clustering.cjs.map +1 -1
- package/dist/components/ui/Map/clustering.js +5 -76
- package/dist/components/ui/Map/clustering.js.map +1 -1
- package/dist/components/ui/Map/constants.cjs +33 -61
- package/dist/components/ui/Map/constants.cjs.map +1 -1
- package/dist/components/ui/Map/constants.js +3 -33
- package/dist/components/ui/Map/constants.js.map +1 -1
- package/dist/components/ui/Map/hooks.cjs +18 -90
- package/dist/components/ui/Map/hooks.cjs.map +1 -1
- package/dist/components/ui/Map/hooks.js +6 -58
- package/dist/components/ui/Map/hooks.js.map +1 -1
- package/dist/components/ui/Map/index.cjs +21 -400
- package/dist/components/ui/Map/index.cjs.map +1 -1
- package/dist/components/ui/Map/index.d.cts +1 -1
- package/dist/components/ui/Map/index.d.ts +1 -1
- package/dist/components/ui/Map/index.js +13 -364
- package/dist/components/ui/Map/index.js.map +1 -1
- package/dist/components/ui/Map/types.cjs +2 -17
- package/dist/components/ui/Map/types.cjs.map +1 -1
- package/dist/components/ui/Map/types.js +2 -0
- package/dist/components/ui/Map/types.js.map +1 -1
- package/dist/components/ui/Map/utils.cjs +25 -75
- package/dist/components/ui/Map/utils.cjs.map +1 -1
- package/dist/components/ui/Map/utils.js +4 -48
- package/dist/components/ui/Map/utils.js.map +1 -1
- package/dist/components/ui/PlacesQueryInput.cjs +9 -301
- package/dist/components/ui/PlacesQueryInput.cjs.map +1 -1
- package/dist/components/ui/PlacesQueryInput.d.cts +2 -2
- package/dist/components/ui/PlacesQueryInput.d.ts +2 -2
- package/dist/components/ui/PlacesQueryInput.js +7 -275
- package/dist/components/ui/PlacesQueryInput.js.map +1 -1
- package/dist/components/ui/Radio.cjs +12 -151
- package/dist/components/ui/Radio.cjs.map +1 -1
- package/dist/components/ui/Radio.js +8 -123
- package/dist/components/ui/Radio.js.map +1 -1
- package/dist/components/ui/ReadMore.cjs +9 -340
- package/dist/components/ui/ReadMore.cjs.map +1 -1
- package/dist/components/ui/ReadMore.d.cts +2 -2
- package/dist/components/ui/ReadMore.d.ts +2 -2
- package/dist/components/ui/ReadMore.js +5 -311
- package/dist/components/ui/ReadMore.js.map +1 -1
- package/dist/components/ui/Select.cjs +11 -303
- package/dist/components/ui/Select.cjs.map +1 -1
- package/dist/components/ui/Select.js +9 -282
- package/dist/components/ui/Select.js.map +1 -1
- package/dist/components/ui/StepTabs.cjs +9 -129
- package/dist/components/ui/StepTabs.cjs.map +1 -1
- package/dist/components/ui/StepTabs.d.cts +3 -3
- package/dist/components/ui/StepTabs.d.ts +3 -3
- package/dist/components/ui/StepTabs.js +4 -99
- package/dist/components/ui/StepTabs.js.map +1 -1
- package/dist/components/ui/Switch.cjs +9 -69
- package/dist/components/ui/Switch.cjs.map +1 -1
- package/dist/components/ui/Switch.js +5 -39
- package/dist/components/ui/Switch.js.map +1 -1
- package/dist/components/ui/buttonShadcn.cjs +13 -81
- package/dist/components/ui/buttonShadcn.cjs.map +1 -1
- package/dist/components/ui/buttonShadcn.js +4 -49
- package/dist/components/ui/buttonShadcn.js.map +1 -1
- package/dist/components/ui/calendar.cjs +9 -135
- package/dist/components/ui/calendar.cjs.map +1 -1
- package/dist/components/ui/calendar.d.cts +2 -1
- package/dist/components/ui/calendar.d.ts +2 -1
- package/dist/components/ui/calendar.js +5 -106
- package/dist/components/ui/calendar.js.map +1 -1
- package/dist/contexts/WindowHistoryProvider.cjs +13 -43
- package/dist/contexts/WindowHistoryProvider.cjs.map +1 -1
- package/dist/contexts/WindowHistoryProvider.d.cts +2 -1
- package/dist/contexts/WindowHistoryProvider.d.ts +2 -1
- package/dist/contexts/WindowHistoryProvider.js +3 -21
- package/dist/contexts/WindowHistoryProvider.js.map +1 -1
- package/dist/{displayText-Cm8PqS6s.d.cts → displayText-BDPndCI9.d.cts} +2 -2
- package/dist/{displayText-Ce_aqgGP.d.ts → displayText-EpnIpZ38.d.ts} +2 -2
- package/dist/hooks/useDisplayText.cjs +10 -496
- package/dist/hooks/useDisplayText.cjs.map +1 -1
- package/dist/hooks/useDisplayText.d.cts +3 -3
- package/dist/hooks/useDisplayText.d.ts +3 -3
- package/dist/hooks/useDisplayText.js +6 -476
- package/dist/hooks/useDisplayText.js.map +1 -1
- package/dist/hooks/useWindowHistory.cjs +9 -37
- package/dist/hooks/useWindowHistory.cjs.map +1 -1
- package/dist/hooks/useWindowHistory.d.cts +1 -0
- package/dist/hooks/useWindowHistory.d.ts +1 -0
- package/dist/hooks/useWindowHistory.js +4 -16
- package/dist/hooks/useWindowHistory.js.map +1 -1
- package/dist/index.cjs +216 -4128
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -6
- package/dist/index.d.ts +7 -6
- package/dist/index.js +73 -4107
- package/dist/index.js.map +1 -1
- package/dist/{job_posting_service_sanity-DKYye6oH.d.cts → job_posting_service_sanity-BN7XcVxU.d.cts} +460 -460
- package/dist/{job_posting_service_sanity-1eG3Jh9_.d.ts → job_posting_service_sanity-BNQsNQs2.d.ts} +460 -460
- package/dist/lib/google.cjs +21 -81
- package/dist/lib/google.cjs.map +1 -1
- package/dist/lib/google.js +3 -57
- package/dist/lib/google.js.map +1 -1
- package/dist/lib/icons.cjs +10 -50
- package/dist/lib/icons.cjs.map +1 -1
- package/dist/lib/icons.js +3 -48
- package/dist/lib/icons.js.map +1 -1
- package/dist/lib/locations.cjs +17 -66
- package/dist/lib/locations.cjs.map +1 -1
- package/dist/lib/locations.d.cts +3 -3
- package/dist/lib/locations.d.ts +3 -3
- package/dist/lib/locations.js +3 -42
- package/dist/lib/locations.js.map +1 -1
- package/dist/lib/mappings.cjs +45 -439
- package/dist/lib/mappings.cjs.map +1 -1
- package/dist/lib/mappings.d.cts +3 -3
- package/dist/lib/mappings.d.ts +3 -3
- package/dist/lib/mappings.js +3 -408
- package/dist/lib/mappings.js.map +1 -1
- package/dist/lib/salaryRange.cjs +14 -453
- package/dist/lib/salaryRange.cjs.map +1 -1
- package/dist/lib/salaryRange.d.cts +1 -1
- package/dist/lib/salaryRange.d.ts +1 -1
- package/dist/lib/salaryRange.js +10 -437
- package/dist/lib/salaryRange.js.map +1 -1
- package/dist/lib/utils.cjs +10 -32
- package/dist/lib/utils.cjs.map +1 -1
- package/dist/lib/utils.js +3 -9
- package/dist/lib/utils.js.map +1 -1
- package/dist/services/displayText.cjs +9 -464
- package/dist/services/displayText.cjs.map +1 -1
- package/dist/services/displayText.d.cts +3 -3
- package/dist/services/displayText.d.ts +3 -3
- package/dist/services/displayText.js +5 -442
- package/dist/services/displayText.js.map +1 -1
- package/dist/types/data/company_service_latest.cjs +73 -246
- package/dist/types/data/company_service_latest.cjs.map +1 -1
- package/dist/types/data/company_service_latest.d.cts +1 -1
- package/dist/types/data/company_service_latest.d.ts +1 -1
- package/dist/types/data/company_service_latest.js +4 -209
- package/dist/types/data/company_service_latest.js.map +1 -1
- package/dist/types/data/job_posting_service_latest.cjs +42 -276
- package/dist/types/data/job_posting_service_latest.cjs.map +1 -1
- package/dist/types/data/job_posting_service_latest.d.cts +1 -1
- package/dist/types/data/job_posting_service_latest.d.ts +1 -1
- package/dist/types/data/job_posting_service_latest.js +5 -256
- package/dist/types/data/job_posting_service_latest.js.map +1 -1
- package/dist/types/data/shared_pickle_output_latest.cjs +39 -99
- package/dist/types/data/shared_pickle_output_latest.cjs.map +1 -1
- package/dist/types/data/shared_pickle_output_latest.d.cts +1 -1
- package/dist/types/data/shared_pickle_output_latest.d.ts +1 -1
- package/dist/types/data/shared_pickle_output_latest.js +3 -74
- package/dist/types/data/shared_pickle_output_latest.js.map +1 -1
- package/dist/types/displayText.errors.cjs +13 -40
- package/dist/types/displayText.errors.cjs.map +1 -1
- package/dist/types/displayText.errors.js +3 -17
- package/dist/types/displayText.errors.js.map +1 -1
- package/dist/types/index.cjs +28 -494
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +6 -6
- package/dist/types/index.d.ts +6 -6
- package/dist/types/index.js +9 -478
- package/dist/types/index.js.map +1 -1
- package/dist/types/latest/company_service_latest.cjs +73 -246
- package/dist/types/latest/company_service_latest.cjs.map +1 -1
- package/dist/types/latest/company_service_latest.d.cts +1 -1
- package/dist/types/latest/company_service_latest.d.ts +1 -1
- package/dist/types/latest/company_service_latest.js +4 -209
- package/dist/types/latest/company_service_latest.js.map +1 -1
- package/dist/types/latest/custom/company_service_sanity.cjs +46 -307
- package/dist/types/latest/custom/company_service_sanity.cjs.map +1 -1
- package/dist/types/latest/custom/company_service_sanity.d.cts +3 -3
- package/dist/types/latest/custom/company_service_sanity.d.ts +3 -3
- package/dist/types/latest/custom/company_service_sanity.js +6 -287
- package/dist/types/latest/custom/company_service_sanity.js.map +1 -1
- package/dist/types/latest/custom/custom_sanity_models.cjs +13 -39
- package/dist/types/latest/custom/custom_sanity_models.cjs.map +1 -1
- package/dist/types/latest/custom/custom_sanity_models.js +3 -16
- package/dist/types/latest/custom/custom_sanity_models.js.map +1 -1
- package/dist/types/latest/custom/job_posting_service_sanity.cjs +66 -353
- package/dist/types/latest/custom/job_posting_service_sanity.cjs.map +1 -1
- package/dist/types/latest/custom/job_posting_service_sanity.d.cts +3 -3
- package/dist/types/latest/custom/job_posting_service_sanity.d.ts +3 -3
- package/dist/types/latest/custom/job_posting_service_sanity.js +7 -330
- package/dist/types/latest/custom/job_posting_service_sanity.js.map +1 -1
- package/dist/types/latest/job_posting_service_latest.cjs +42 -276
- package/dist/types/latest/job_posting_service_latest.cjs.map +1 -1
- package/dist/types/latest/job_posting_service_latest.d.cts +1 -1
- package/dist/types/latest/job_posting_service_latest.d.ts +1 -1
- package/dist/types/latest/job_posting_service_latest.js +5 -256
- package/dist/types/latest/job_posting_service_latest.js.map +1 -1
- package/dist/types/latest/shared_pickle_output_latest.cjs +39 -99
- package/dist/types/latest/shared_pickle_output_latest.cjs.map +1 -1
- package/dist/types/latest/shared_pickle_output_latest.d.cts +1 -1
- package/dist/types/latest/shared_pickle_output_latest.d.ts +1 -1
- package/dist/types/latest/shared_pickle_output_latest.js +3 -74
- package/dist/types/latest/shared_pickle_output_latest.js.map +1 -1
- package/package.json +2 -2
- package/dist/{company_service_latest-KJi2W9Ij.d.cts → company_service_latest-C7Moeufo.d.cts} +319 -319
- package/dist/{company_service_latest-KJi2W9Ij.d.ts → company_service_latest-C7Moeufo.d.ts} +319 -319
- package/dist/{company_service_latest-BjyG4KCB.d.cts → company_service_latest-CITz7F53.d.cts} +319 -319
- package/dist/{company_service_latest-BjyG4KCB.d.ts → company_service_latest-CITz7F53.d.ts} +319 -319
- package/dist/{job_posting_service_latest-D9I5NE7l.d.cts → job_posting_service_latest-B6Trs6sX.d.cts} +266 -266
- package/dist/{job_posting_service_latest-D9I5NE7l.d.ts → job_posting_service_latest-B6Trs6sX.d.ts} +266 -266
- package/dist/{job_posting_service_latest-82DHqOGu.d.cts → job_posting_service_latest-BKz5U2Gp.d.cts} +266 -266
- package/dist/{job_posting_service_latest-82DHqOGu.d.ts → job_posting_service_latest-BKz5U2Gp.d.ts} +266 -266
- package/dist/{shared_pickle_output_latest-YbRs_xtC.d.cts → shared_pickle_output_latest--XZhOUyE.d.cts} +18 -18
- package/dist/{shared_pickle_output_latest-YbRs_xtC.d.ts → shared_pickle_output_latest--XZhOUyE.d.ts} +18 -18
- package/dist/{shared_pickle_output_latest-dO-t8iZx.d.cts → shared_pickle_output_latest-DKOmTyYk.d.cts} +18 -18
- package/dist/{shared_pickle_output_latest-dO-t8iZx.d.ts → shared_pickle_output_latest-DKOmTyYk.d.ts} +18 -18
|
@@ -1,279 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
"use client";
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
'use strict';
|
|
20
2
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
// src/components/ui/Map/ClusterMarker.tsx
|
|
31
|
-
var import_react_google_maps = require("@vis.gl/react-google-maps");
|
|
32
|
-
|
|
33
|
-
// src/components/ui/Map/constants.ts
|
|
34
|
-
var CLUSTER_DISTANCE_THRESHOLD = 1e-3;
|
|
35
|
-
var PIN_COLORS = {
|
|
36
|
-
background: "#0B5441",
|
|
37
|
-
borderColor: "#EBFDF1",
|
|
38
|
-
glyphColor: "#D4F500"
|
|
39
|
-
};
|
|
40
|
-
var FOCUS_CIRCLE_STYLES = {
|
|
41
|
-
strokeColor: "#0B5441",
|
|
42
|
-
strokeOpacity: 0.8,
|
|
43
|
-
strokeWeight: 2,
|
|
44
|
-
fillColor: "#0B5441",
|
|
45
|
-
fillOpacity: 0.1,
|
|
46
|
-
clickable: false,
|
|
47
|
-
zIndex: 1
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
// src/components/ui/Map/utils.ts
|
|
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/ClusterMarker.tsx
|
|
61
|
-
function ClusterMarker({
|
|
62
|
-
cluster,
|
|
63
|
-
coordinates,
|
|
64
|
-
onPinClick,
|
|
65
|
-
onPinHover,
|
|
66
|
-
zoomToLevel,
|
|
67
|
-
supercluster
|
|
68
|
-
}) {
|
|
69
|
-
const [lng, lat] = cluster.geometry.coordinates;
|
|
70
|
-
const { point_count: pointCount } = cluster.properties;
|
|
71
|
-
const handleClick = () => {
|
|
72
|
-
const clusterCoordinates = filterClusterCoordinates(coordinates, lat, lng);
|
|
73
|
-
onPinClick?.(clusterCoordinates);
|
|
74
|
-
const expansionZoom = supercluster.getClusterExpansionZoom(cluster.id);
|
|
75
|
-
zoomToLevel(expansionZoom);
|
|
76
|
-
};
|
|
77
|
-
const handleMouseEnter = () => {
|
|
78
|
-
const clusterCoordinates = filterClusterCoordinates(coordinates, lat, lng);
|
|
79
|
-
onPinHover?.(clusterCoordinates);
|
|
80
|
-
};
|
|
81
|
-
const handleMouseLeave = () => onPinHover?.(null);
|
|
82
|
-
return /* @__PURE__ */ React.createElement(
|
|
83
|
-
import_react_google_maps.AdvancedMarker,
|
|
84
|
-
{
|
|
85
|
-
key: `cluster-${cluster.id}`,
|
|
86
|
-
position: { lat, lng },
|
|
87
|
-
onClick: handleClick,
|
|
88
|
-
onMouseEnter: handleMouseEnter,
|
|
89
|
-
onMouseLeave: handleMouseLeave
|
|
90
|
-
},
|
|
91
|
-
/* @__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 || "?"))
|
|
92
|
-
);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
// src/components/ui/Map/FocusCircle.tsx
|
|
96
|
-
var import_react = require("react");
|
|
97
|
-
function FocusCircle({
|
|
98
|
-
focusPoint,
|
|
99
|
-
radiusMiles,
|
|
100
|
-
map,
|
|
101
|
-
mapsLibrary
|
|
102
|
-
}) {
|
|
103
|
-
const circleRef = (0, import_react.useRef)(null);
|
|
104
|
-
const circleProps = (0, import_react.useMemo)(() => {
|
|
105
|
-
if (!focusPoint || !radiusMiles) return null;
|
|
106
|
-
return {
|
|
107
|
-
center: focusPoint,
|
|
108
|
-
radius: radiusMiles * 1609.34
|
|
109
|
-
};
|
|
110
|
-
}, [focusPoint, radiusMiles]);
|
|
111
|
-
(0, import_react.useEffect)(() => {
|
|
112
|
-
if (!map || !mapsLibrary || !circleProps) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
if (!circleRef.current) {
|
|
116
|
-
const circle = new google.maps.Circle({
|
|
117
|
-
center: circleProps.center,
|
|
118
|
-
radius: circleProps.radius,
|
|
119
|
-
...FOCUS_CIRCLE_STYLES,
|
|
120
|
-
map
|
|
121
|
-
});
|
|
122
|
-
circleRef.current = circle;
|
|
123
|
-
} else {
|
|
124
|
-
circleRef.current.setCenter(circleProps.center);
|
|
125
|
-
circleRef.current.setRadius(circleProps.radius);
|
|
126
|
-
}
|
|
127
|
-
}, [map, mapsLibrary, circleProps]);
|
|
128
|
-
(0, import_react.useEffect)(() => {
|
|
129
|
-
return () => {
|
|
130
|
-
if (circleRef.current) {
|
|
131
|
-
circleRef.current.setMap(null);
|
|
132
|
-
circleRef.current = null;
|
|
133
|
-
}
|
|
134
|
-
};
|
|
135
|
-
}, []);
|
|
136
|
-
return null;
|
|
137
|
-
}
|
|
3
|
+
var chunkMTNMKBY6_cjs = require('../../../chunk-MTNMKBY6.cjs');
|
|
4
|
+
require('../../../chunk-PSRWV7UW.cjs');
|
|
5
|
+
require('../../../chunk-APHLSON7.cjs');
|
|
6
|
+
require('../../../chunk-4JSV7KA3.cjs');
|
|
7
|
+
require('../../../chunk-DU5OQA67.cjs');
|
|
8
|
+
require('../../../chunk-NLGWU2KI.cjs');
|
|
9
|
+
require('../../../chunk-MGWZXPMF.cjs');
|
|
10
|
+
require('../../../chunk-Q7SFCCGT.cjs');
|
|
138
11
|
|
|
139
|
-
// src/components/ui/Map/IndividualMarker.tsx
|
|
140
|
-
var import_react_google_maps2 = require("@vis.gl/react-google-maps");
|
|
141
|
-
function IndividualMarker({
|
|
142
|
-
coordinate,
|
|
143
|
-
onPinClick,
|
|
144
|
-
onPinHover
|
|
145
|
-
}) {
|
|
146
|
-
const handleMouseEnter = () => onPinHover?.(coordinate);
|
|
147
|
-
const handleMouseLeave = () => onPinHover?.(null);
|
|
148
|
-
const handleClick = () => onPinClick?.(coordinate);
|
|
149
|
-
return /* @__PURE__ */ React.createElement(
|
|
150
|
-
import_react_google_maps2.AdvancedMarker,
|
|
151
|
-
{
|
|
152
|
-
position: { lat: coordinate.lat, lng: coordinate.lng },
|
|
153
|
-
onMouseEnter: handleMouseEnter,
|
|
154
|
-
onMouseLeave: handleMouseLeave,
|
|
155
|
-
onClick: handleClick
|
|
156
|
-
},
|
|
157
|
-
/* @__PURE__ */ React.createElement(import_react_google_maps2.Pin, { ...PIN_COLORS })
|
|
158
|
-
);
|
|
159
|
-
}
|
|
160
12
|
|
|
161
|
-
// src/lib/utils.ts
|
|
162
|
-
var import_clsx = require("clsx");
|
|
163
|
-
var import_tailwind_merge = require("tailwind-merge");
|
|
164
|
-
function cn(...inputs) {
|
|
165
|
-
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
166
|
-
}
|
|
167
13
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
mapCenter,
|
|
172
|
-
mapZoom,
|
|
173
|
-
position,
|
|
174
|
-
coordinates,
|
|
175
|
-
clusters,
|
|
176
|
-
supercluster,
|
|
177
|
-
onPinHover,
|
|
178
|
-
onPinClick,
|
|
179
|
-
focusPoint,
|
|
180
|
-
radiusMiles,
|
|
181
|
-
className,
|
|
182
|
-
setBounds,
|
|
183
|
-
setZoomLevel
|
|
184
|
-
}) {
|
|
185
|
-
const map = (0, import_react_google_maps3.useMap)();
|
|
186
|
-
const mapsLibrary = (0, import_react_google_maps3.useMapsLibrary)("maps");
|
|
187
|
-
const zoomToLevel = (0, import_react2.useCallback)(
|
|
188
|
-
(newZoom) => {
|
|
189
|
-
if (map) {
|
|
190
|
-
map.setZoom(newZoom);
|
|
191
|
-
}
|
|
192
|
-
},
|
|
193
|
-
[map]
|
|
194
|
-
);
|
|
195
|
-
const handleBoundsChanged = (e) => {
|
|
196
|
-
if (e.detail.bounds) {
|
|
197
|
-
const bounds = e.detail.bounds;
|
|
198
|
-
setBounds([
|
|
199
|
-
[bounds.south, bounds.west],
|
|
200
|
-
[bounds.north, bounds.east]
|
|
201
|
-
]);
|
|
202
|
-
}
|
|
203
|
-
};
|
|
204
|
-
const handleZoomChanged = (e) => {
|
|
205
|
-
if (e.detail.zoom) {
|
|
206
|
-
setZoomLevel(e.detail.zoom);
|
|
207
|
-
}
|
|
208
|
-
};
|
|
209
|
-
const handleCameraChanged = (e) => {
|
|
210
|
-
if (e.detail.zoom) {
|
|
211
|
-
setZoomLevel(e.detail.zoom);
|
|
212
|
-
}
|
|
213
|
-
};
|
|
214
|
-
return /* @__PURE__ */ React.createElement("div", { className: cn("relative h-screen max-w-full", className) }, /* @__PURE__ */ React.createElement(
|
|
215
|
-
import_react_google_maps3.Map,
|
|
216
|
-
{
|
|
217
|
-
defaultZoom: mapZoom,
|
|
218
|
-
defaultCenter: mapCenter,
|
|
219
|
-
mapId,
|
|
220
|
-
keyboardShortcuts: true,
|
|
221
|
-
disableDefaultUI: true,
|
|
222
|
-
zoomControl: true,
|
|
223
|
-
onBoundsChanged: handleBoundsChanged,
|
|
224
|
-
onZoomChanged: handleZoomChanged,
|
|
225
|
-
onCameraChanged: handleCameraChanged
|
|
226
|
-
},
|
|
227
|
-
position && !coordinates && /* @__PURE__ */ React.createElement(import_react_google_maps3.AdvancedMarker, { position }, /* @__PURE__ */ React.createElement(import_react_google_maps3.Pin, { ...PIN_COLORS })),
|
|
228
|
-
coordinates && clusters.map((cluster) => {
|
|
229
|
-
const { cluster: isCluster } = cluster.properties;
|
|
230
|
-
if (isCluster) {
|
|
231
|
-
return /* @__PURE__ */ React.createElement(
|
|
232
|
-
ClusterMarker,
|
|
233
|
-
{
|
|
234
|
-
key: `cluster-${cluster.id}`,
|
|
235
|
-
cluster,
|
|
236
|
-
coordinates,
|
|
237
|
-
onPinClick,
|
|
238
|
-
onPinHover,
|
|
239
|
-
zoomToLevel,
|
|
240
|
-
supercluster
|
|
241
|
-
}
|
|
242
|
-
);
|
|
243
|
-
}
|
|
244
|
-
const originalPoint = coordinates[cluster.properties.pointId];
|
|
245
|
-
return /* @__PURE__ */ React.createElement(
|
|
246
|
-
IndividualMarker,
|
|
247
|
-
{
|
|
248
|
-
key: `marker-${cluster.properties.pointId}`,
|
|
249
|
-
coordinate: originalPoint,
|
|
250
|
-
onPinClick,
|
|
251
|
-
onPinHover
|
|
252
|
-
}
|
|
253
|
-
);
|
|
254
|
-
}),
|
|
255
|
-
coordinates && clusters.length === 0 && coordinates.map((coord, index) => /* @__PURE__ */ React.createElement(
|
|
256
|
-
IndividualMarker,
|
|
257
|
-
{
|
|
258
|
-
key: `fallback-${index}`,
|
|
259
|
-
coordinate: coord,
|
|
260
|
-
onPinClick,
|
|
261
|
-
onPinHover
|
|
262
|
-
}
|
|
263
|
-
)),
|
|
264
|
-
focusPoint && radiusMiles && /* @__PURE__ */ React.createElement(
|
|
265
|
-
FocusCircle,
|
|
266
|
-
{
|
|
267
|
-
focusPoint,
|
|
268
|
-
radiusMiles,
|
|
269
|
-
map,
|
|
270
|
-
mapsLibrary
|
|
271
|
-
}
|
|
272
|
-
)
|
|
273
|
-
));
|
|
274
|
-
}
|
|
275
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
276
|
-
0 && (module.exports = {
|
|
277
|
-
MapContent
|
|
14
|
+
Object.defineProperty(exports, "MapContent", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () { return chunkMTNMKBY6_cjs.MapContent; }
|
|
278
17
|
});
|
|
18
|
+
//# sourceMappingURL=MapContent.cjs.map
|
|
279
19
|
//# sourceMappingURL=MapContent.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ui/Map/MapContent.tsx","../../../../src/components/ui/Map/ClusterMarker.tsx","../../../../src/components/ui/Map/constants.ts","../../../../src/components/ui/Map/utils.ts","../../../../src/components/ui/Map/FocusCircle.tsx","../../../../src/components/ui/Map/IndividualMarker.tsx","../../../../src/lib/utils.ts"],"sourcesContent":["'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","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","'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":["import_react_google_maps","import_react","import_react_google_maps"]}
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"MapContent.cjs"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { PinData, MapContentProps } from './types.cjs';
|
|
3
3
|
|
|
4
|
-
declare function MapContent<T = PinData>({ mapId, mapCenter, mapZoom, position, coordinates, clusters, supercluster, onPinHover, onPinClick, focusPoint, radiusMiles, className, setBounds, setZoomLevel, }: MapContentProps<T>):
|
|
4
|
+
declare function MapContent<T = PinData>({ mapId, mapCenter, mapZoom, position, coordinates, clusters, supercluster, onPinHover, onPinClick, focusPoint, radiusMiles, className, setBounds, setZoomLevel, }: MapContentProps<T>): react_jsx_runtime.JSX.Element;
|
|
5
5
|
|
|
6
6
|
export { MapContent };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { PinData, MapContentProps } from './types.js';
|
|
3
3
|
|
|
4
|
-
declare function MapContent<T = PinData>({ mapId, mapCenter, mapZoom, position, coordinates, clusters, supercluster, onPinHover, onPinClick, focusPoint, radiusMiles, className, setBounds, setZoomLevel, }: MapContentProps<T>):
|
|
4
|
+
declare function MapContent<T = PinData>({ mapId, mapCenter, mapZoom, position, coordinates, clusters, supercluster, onPinHover, onPinClick, focusPoint, radiusMiles, className, setBounds, setZoomLevel, }: MapContentProps<T>): react_jsx_runtime.JSX.Element;
|
|
5
5
|
|
|
6
6
|
export { MapContent };
|
|
@@ -1,255 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
// src/components/ui/Map/constants.ts
|
|
11
|
-
var CLUSTER_DISTANCE_THRESHOLD = 1e-3;
|
|
12
|
-
var PIN_COLORS = {
|
|
13
|
-
background: "#0B5441",
|
|
14
|
-
borderColor: "#EBFDF1",
|
|
15
|
-
glyphColor: "#D4F500"
|
|
16
|
-
};
|
|
17
|
-
var FOCUS_CIRCLE_STYLES = {
|
|
18
|
-
strokeColor: "#0B5441",
|
|
19
|
-
strokeOpacity: 0.8,
|
|
20
|
-
strokeWeight: 2,
|
|
21
|
-
fillColor: "#0B5441",
|
|
22
|
-
fillOpacity: 0.1,
|
|
23
|
-
clickable: false,
|
|
24
|
-
zIndex: 1
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
// src/components/ui/Map/utils.ts
|
|
28
|
-
function filterClusterCoordinates(coordinates, clusterLat, clusterLng) {
|
|
29
|
-
return coordinates.filter((coord) => {
|
|
30
|
-
const latDiff = Math.abs(coord.lat - clusterLat);
|
|
31
|
-
const lngDiff = Math.abs(coord.lng - clusterLng);
|
|
32
|
-
const distance = Math.sqrt(latDiff * latDiff + lngDiff * lngDiff);
|
|
33
|
-
return distance < CLUSTER_DISTANCE_THRESHOLD;
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// src/components/ui/Map/ClusterMarker.tsx
|
|
38
|
-
function ClusterMarker({
|
|
39
|
-
cluster,
|
|
40
|
-
coordinates,
|
|
41
|
-
onPinClick,
|
|
42
|
-
onPinHover,
|
|
43
|
-
zoomToLevel,
|
|
44
|
-
supercluster
|
|
45
|
-
}) {
|
|
46
|
-
const [lng, lat] = cluster.geometry.coordinates;
|
|
47
|
-
const { point_count: pointCount } = cluster.properties;
|
|
48
|
-
const handleClick = () => {
|
|
49
|
-
const clusterCoordinates = filterClusterCoordinates(coordinates, lat, lng);
|
|
50
|
-
onPinClick?.(clusterCoordinates);
|
|
51
|
-
const expansionZoom = supercluster.getClusterExpansionZoom(cluster.id);
|
|
52
|
-
zoomToLevel(expansionZoom);
|
|
53
|
-
};
|
|
54
|
-
const handleMouseEnter = () => {
|
|
55
|
-
const clusterCoordinates = filterClusterCoordinates(coordinates, lat, lng);
|
|
56
|
-
onPinHover?.(clusterCoordinates);
|
|
57
|
-
};
|
|
58
|
-
const handleMouseLeave = () => onPinHover?.(null);
|
|
59
|
-
return /* @__PURE__ */ React.createElement(
|
|
60
|
-
AdvancedMarker,
|
|
61
|
-
{
|
|
62
|
-
key: `cluster-${cluster.id}`,
|
|
63
|
-
position: { lat, lng },
|
|
64
|
-
onClick: handleClick,
|
|
65
|
-
onMouseEnter: handleMouseEnter,
|
|
66
|
-
onMouseLeave: handleMouseLeave
|
|
67
|
-
},
|
|
68
|
-
/* @__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 || "?"))
|
|
69
|
-
);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// src/components/ui/Map/FocusCircle.tsx
|
|
73
|
-
import { useEffect, useMemo, useRef } from "react";
|
|
74
|
-
function FocusCircle({
|
|
75
|
-
focusPoint,
|
|
76
|
-
radiusMiles,
|
|
77
|
-
map,
|
|
78
|
-
mapsLibrary
|
|
79
|
-
}) {
|
|
80
|
-
const circleRef = useRef(null);
|
|
81
|
-
const circleProps = useMemo(() => {
|
|
82
|
-
if (!focusPoint || !radiusMiles) return null;
|
|
83
|
-
return {
|
|
84
|
-
center: focusPoint,
|
|
85
|
-
radius: radiusMiles * 1609.34
|
|
86
|
-
};
|
|
87
|
-
}, [focusPoint, radiusMiles]);
|
|
88
|
-
useEffect(() => {
|
|
89
|
-
if (!map || !mapsLibrary || !circleProps) {
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
if (!circleRef.current) {
|
|
93
|
-
const circle = new google.maps.Circle({
|
|
94
|
-
center: circleProps.center,
|
|
95
|
-
radius: circleProps.radius,
|
|
96
|
-
...FOCUS_CIRCLE_STYLES,
|
|
97
|
-
map
|
|
98
|
-
});
|
|
99
|
-
circleRef.current = circle;
|
|
100
|
-
} else {
|
|
101
|
-
circleRef.current.setCenter(circleProps.center);
|
|
102
|
-
circleRef.current.setRadius(circleProps.radius);
|
|
103
|
-
}
|
|
104
|
-
}, [map, mapsLibrary, circleProps]);
|
|
105
|
-
useEffect(() => {
|
|
106
|
-
return () => {
|
|
107
|
-
if (circleRef.current) {
|
|
108
|
-
circleRef.current.setMap(null);
|
|
109
|
-
circleRef.current = null;
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
}, []);
|
|
113
|
-
return null;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
// src/components/ui/Map/IndividualMarker.tsx
|
|
117
|
-
import { AdvancedMarker as AdvancedMarker2, Pin } from "@vis.gl/react-google-maps";
|
|
118
|
-
function IndividualMarker({
|
|
119
|
-
coordinate,
|
|
120
|
-
onPinClick,
|
|
121
|
-
onPinHover
|
|
122
|
-
}) {
|
|
123
|
-
const handleMouseEnter = () => onPinHover?.(coordinate);
|
|
124
|
-
const handleMouseLeave = () => onPinHover?.(null);
|
|
125
|
-
const handleClick = () => onPinClick?.(coordinate);
|
|
126
|
-
return /* @__PURE__ */ React.createElement(
|
|
127
|
-
AdvancedMarker2,
|
|
128
|
-
{
|
|
129
|
-
position: { lat: coordinate.lat, lng: coordinate.lng },
|
|
130
|
-
onMouseEnter: handleMouseEnter,
|
|
131
|
-
onMouseLeave: handleMouseLeave,
|
|
132
|
-
onClick: handleClick
|
|
133
|
-
},
|
|
134
|
-
/* @__PURE__ */ React.createElement(Pin, { ...PIN_COLORS })
|
|
135
|
-
);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
// src/lib/utils.ts
|
|
139
|
-
import { clsx } from "clsx";
|
|
140
|
-
import { twMerge } from "tailwind-merge";
|
|
141
|
-
function cn(...inputs) {
|
|
142
|
-
return twMerge(clsx(inputs));
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// src/components/ui/Map/MapContent.tsx
|
|
146
|
-
function MapContent({
|
|
147
|
-
mapId,
|
|
148
|
-
mapCenter,
|
|
149
|
-
mapZoom,
|
|
150
|
-
position,
|
|
151
|
-
coordinates,
|
|
152
|
-
clusters,
|
|
153
|
-
supercluster,
|
|
154
|
-
onPinHover,
|
|
155
|
-
onPinClick,
|
|
156
|
-
focusPoint,
|
|
157
|
-
radiusMiles,
|
|
158
|
-
className,
|
|
159
|
-
setBounds,
|
|
160
|
-
setZoomLevel
|
|
161
|
-
}) {
|
|
162
|
-
const map = useMap();
|
|
163
|
-
const mapsLibrary = useMapsLibrary("maps");
|
|
164
|
-
const zoomToLevel = useCallback(
|
|
165
|
-
(newZoom) => {
|
|
166
|
-
if (map) {
|
|
167
|
-
map.setZoom(newZoom);
|
|
168
|
-
}
|
|
169
|
-
},
|
|
170
|
-
[map]
|
|
171
|
-
);
|
|
172
|
-
const handleBoundsChanged = (e) => {
|
|
173
|
-
if (e.detail.bounds) {
|
|
174
|
-
const bounds = e.detail.bounds;
|
|
175
|
-
setBounds([
|
|
176
|
-
[bounds.south, bounds.west],
|
|
177
|
-
[bounds.north, bounds.east]
|
|
178
|
-
]);
|
|
179
|
-
}
|
|
180
|
-
};
|
|
181
|
-
const handleZoomChanged = (e) => {
|
|
182
|
-
if (e.detail.zoom) {
|
|
183
|
-
setZoomLevel(e.detail.zoom);
|
|
184
|
-
}
|
|
185
|
-
};
|
|
186
|
-
const handleCameraChanged = (e) => {
|
|
187
|
-
if (e.detail.zoom) {
|
|
188
|
-
setZoomLevel(e.detail.zoom);
|
|
189
|
-
}
|
|
190
|
-
};
|
|
191
|
-
return /* @__PURE__ */ React.createElement("div", { className: cn("relative h-screen max-w-full", className) }, /* @__PURE__ */ React.createElement(
|
|
192
|
-
Map,
|
|
193
|
-
{
|
|
194
|
-
defaultZoom: mapZoom,
|
|
195
|
-
defaultCenter: mapCenter,
|
|
196
|
-
mapId,
|
|
197
|
-
keyboardShortcuts: true,
|
|
198
|
-
disableDefaultUI: true,
|
|
199
|
-
zoomControl: true,
|
|
200
|
-
onBoundsChanged: handleBoundsChanged,
|
|
201
|
-
onZoomChanged: handleZoomChanged,
|
|
202
|
-
onCameraChanged: handleCameraChanged
|
|
203
|
-
},
|
|
204
|
-
position && !coordinates && /* @__PURE__ */ React.createElement(AdvancedMarker3, { position }, /* @__PURE__ */ React.createElement(Pin2, { ...PIN_COLORS })),
|
|
205
|
-
coordinates && clusters.map((cluster) => {
|
|
206
|
-
const { cluster: isCluster } = cluster.properties;
|
|
207
|
-
if (isCluster) {
|
|
208
|
-
return /* @__PURE__ */ React.createElement(
|
|
209
|
-
ClusterMarker,
|
|
210
|
-
{
|
|
211
|
-
key: `cluster-${cluster.id}`,
|
|
212
|
-
cluster,
|
|
213
|
-
coordinates,
|
|
214
|
-
onPinClick,
|
|
215
|
-
onPinHover,
|
|
216
|
-
zoomToLevel,
|
|
217
|
-
supercluster
|
|
218
|
-
}
|
|
219
|
-
);
|
|
220
|
-
}
|
|
221
|
-
const originalPoint = coordinates[cluster.properties.pointId];
|
|
222
|
-
return /* @__PURE__ */ React.createElement(
|
|
223
|
-
IndividualMarker,
|
|
224
|
-
{
|
|
225
|
-
key: `marker-${cluster.properties.pointId}`,
|
|
226
|
-
coordinate: originalPoint,
|
|
227
|
-
onPinClick,
|
|
228
|
-
onPinHover
|
|
229
|
-
}
|
|
230
|
-
);
|
|
231
|
-
}),
|
|
232
|
-
coordinates && clusters.length === 0 && coordinates.map((coord, index) => /* @__PURE__ */ React.createElement(
|
|
233
|
-
IndividualMarker,
|
|
234
|
-
{
|
|
235
|
-
key: `fallback-${index}`,
|
|
236
|
-
coordinate: coord,
|
|
237
|
-
onPinClick,
|
|
238
|
-
onPinHover
|
|
239
|
-
}
|
|
240
|
-
)),
|
|
241
|
-
focusPoint && radiusMiles && /* @__PURE__ */ React.createElement(
|
|
242
|
-
FocusCircle,
|
|
243
|
-
{
|
|
244
|
-
focusPoint,
|
|
245
|
-
radiusMiles,
|
|
246
|
-
map,
|
|
247
|
-
mapsLibrary
|
|
248
|
-
}
|
|
249
|
-
)
|
|
250
|
-
));
|
|
251
|
-
}
|
|
252
|
-
export {
|
|
253
|
-
MapContent
|
|
254
|
-
};
|
|
1
|
+
export { MapContent } from '../../../chunk-CTR2QSI6.js';
|
|
2
|
+
import '../../../chunk-5Z4ILTRD.js';
|
|
3
|
+
import '../../../chunk-EWFDWOL2.js';
|
|
4
|
+
import '../../../chunk-EBZRXX6P.js';
|
|
5
|
+
import '../../../chunk-5H35ZVLR.js';
|
|
6
|
+
import '../../../chunk-LQQ244AY.js';
|
|
7
|
+
import '../../../chunk-2FGZQI42.js';
|
|
8
|
+
import '../../../chunk-PZ5AY32C.js';
|
|
9
|
+
//# sourceMappingURL=MapContent.js.map
|
|
255
10
|
//# sourceMappingURL=MapContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ui/Map/MapContent.tsx","../../../../src/components/ui/Map/ClusterMarker.tsx","../../../../src/components/ui/Map/constants.ts","../../../../src/components/ui/Map/utils.ts","../../../../src/components/ui/Map/FocusCircle.tsx","../../../../src/components/ui/Map/IndividualMarker.tsx","../../../../src/lib/utils.ts"],"sourcesContent":["'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","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","'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","AdvancedMarker","AdvancedMarker","AdvancedMarker","Pin"]}
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"MapContent.js"}
|