@local-logic/sdks-app 1.24.43 → 1.24.44
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/assets/{Attribution-DnmiY-id.js → Attribution-D012fWNs.js} +2 -2
- package/dist/assets/{Attribution-DnmiY-id.js.map → Attribution-D012fWNs.js.map} +1 -1
- package/dist/assets/{Attribution-legacy-Da4FA00m.js → Attribution-legacy-DSXG-3Q0.js} +2 -2
- package/dist/assets/{Attribution-legacy-Da4FA00m.js.map → Attribution-legacy-DSXG-3Q0.js.map} +1 -1
- package/dist/assets/{Cluster-BHQcO6iC-Do1P9Ia2.js → Cluster-BHQcO6iC-_jL_0N39.js} +2 -2
- package/dist/assets/{Cluster-BHQcO6iC-Do1P9Ia2.js.map → Cluster-BHQcO6iC-_jL_0N39.js.map} +1 -1
- package/dist/assets/{Cluster-BHQcO6iC-legacy-B3k4OIlu.js → Cluster-BHQcO6iC-legacy-3UMx26D5.js} +2 -2
- package/dist/assets/{Cluster-BHQcO6iC-legacy-B3k4OIlu.js.map → Cluster-BHQcO6iC-legacy-3UMx26D5.js.map} +1 -1
- package/dist/assets/{Google-BFAJ84CT-DhLE7SMg.js → Google-BFAJ84CT-Dh97X1sB.js} +2 -2
- package/dist/assets/{Google-BFAJ84CT-DhLE7SMg.js.map → Google-BFAJ84CT-Dh97X1sB.js.map} +1 -1
- package/dist/assets/{Google-BFAJ84CT-legacy-BXfoTpXf.js → Google-BFAJ84CT-legacy-D0OGURqq.js} +2 -2
- package/dist/assets/{Google-BFAJ84CT-legacy-BXfoTpXf.js.map → Google-BFAJ84CT-legacy-D0OGURqq.js.map} +1 -1
- package/dist/assets/{Google-BS41ufih-i8xQrE_C.js → Google-BS41ufih-Cc3f5UsV.js} +2 -2
- package/dist/assets/{Google-BS41ufih-i8xQrE_C.js.map → Google-BS41ufih-Cc3f5UsV.js.map} +1 -1
- package/dist/assets/{Google-BS41ufih-legacy-BdzBlyLB.js → Google-BS41ufih-legacy-BnojXQoy.js} +2 -2
- package/dist/assets/{Google-BS41ufih-legacy-BdzBlyLB.js.map → Google-BS41ufih-legacy-BnojXQoy.js.map} +1 -1
- package/dist/assets/{Google-CH7a2yx--BBV608XJ.js → Google-CH7a2yx--CBaNUH_8.js} +2 -2
- package/dist/assets/{Google-CH7a2yx--BBV608XJ.js.map → Google-CH7a2yx--CBaNUH_8.js.map} +1 -1
- package/dist/assets/{Google-CH7a2yx--legacy-DK3evKRO.js → Google-CH7a2yx--legacy-C_ip84Oz.js} +2 -2
- package/dist/assets/{Google-CH7a2yx--legacy-DK3evKRO.js.map → Google-CH7a2yx--legacy-C_ip84Oz.js.map} +1 -1
- package/dist/assets/{Google-CXGCn-oJ-5ByomDf2.js → Google-CXGCn-oJ-i9rxhVJh.js} +2 -2
- package/dist/assets/{Google-CXGCn-oJ-5ByomDf2.js.map → Google-CXGCn-oJ-i9rxhVJh.js.map} +1 -1
- package/dist/assets/{Google-CXGCn-oJ-legacy-DA32c0kh.js → Google-CXGCn-oJ-legacy-OuENT3oi.js} +2 -2
- package/dist/assets/{Google-CXGCn-oJ-legacy-DA32c0kh.js.map → Google-CXGCn-oJ-legacy-OuENT3oi.js.map} +1 -1
- package/dist/assets/{Google-DbOLrYJn-IeJcma0o.js → Google-DbOLrYJn-bogicaOo.js} +2 -2
- package/dist/assets/{Google-DbOLrYJn-IeJcma0o.js.map → Google-DbOLrYJn-bogicaOo.js.map} +1 -1
- package/dist/assets/{Google-DbOLrYJn-legacy-gzWCKBCo.js → Google-DbOLrYJn-legacy-B95opCm9.js} +2 -2
- package/dist/assets/{Google-DbOLrYJn-legacy-gzWCKBCo.js.map → Google-DbOLrYJn-legacy-B95opCm9.js.map} +1 -1
- package/dist/assets/{GridGraph-C0PP17kA.js → GridGraph-_rWMkwNI.js} +2 -2
- package/dist/assets/{GridGraph-C0PP17kA.js.map → GridGraph-_rWMkwNI.js.map} +1 -1
- package/dist/assets/{GridGraph-legacy-B1C-2d1Q.js → GridGraph-legacy-CsgF_9Vx.js} +2 -2
- package/dist/assets/{GridGraph-legacy-B1C-2d1Q.js.map → GridGraph-legacy-CsgF_9Vx.js.map} +1 -1
- package/dist/assets/{LeadCapture-e2fi_VKJ.js → LeadCapture-IqeCbA_u.js} +2 -2
- package/dist/assets/{LeadCapture-e2fi_VKJ.js.map → LeadCapture-IqeCbA_u.js.map} +1 -1
- package/dist/assets/{LeadCapture-legacy-wC9F3Dq5.js → LeadCapture-legacy-D_miey0j.js} +2 -2
- package/dist/assets/{LeadCapture-legacy-wC9F3Dq5.js.map → LeadCapture-legacy-D_miey0j.js.map} +1 -1
- package/dist/assets/{LocalContent-Bgf0CDoA.js → LocalContent-DL6Y67Ne.js} +2 -2
- package/dist/assets/{LocalContent-Bgf0CDoA.js.map → LocalContent-DL6Y67Ne.js.map} +1 -1
- package/dist/assets/{LocalContent-legacy-BHBTASYp.js → LocalContent-legacy-BBB-ST51.js} +2 -2
- package/dist/assets/{LocalContent-legacy-BHBTASYp.js.map → LocalContent-legacy-BBB-ST51.js.map} +1 -1
- package/dist/assets/{LocalDemographics-BuWGiqEi.js → LocalDemographics-DcirUh9h.js} +2 -2
- package/dist/assets/{LocalDemographics-BuWGiqEi.js.map → LocalDemographics-DcirUh9h.js.map} +1 -1
- package/dist/assets/{LocalDemographics-legacy-D1k5CRVw.js → LocalDemographics-legacy-rmGYdILu.js} +2 -2
- package/dist/assets/{LocalDemographics-legacy-D1k5CRVw.js.map → LocalDemographics-legacy-rmGYdILu.js.map} +1 -1
- package/dist/assets/{Mapbox-CpLnA607-AeAqR5aH.js → Mapbox-CpLnA607-CKDrFvU5.js} +2 -2
- package/dist/assets/{Mapbox-CpLnA607-AeAqR5aH.js.map → Mapbox-CpLnA607-CKDrFvU5.js.map} +1 -1
- package/dist/assets/{Mapbox-CpLnA607-legacy-CZe3Jz0m.js → Mapbox-CpLnA607-legacy-Bx1JnBMX.js} +2 -2
- package/dist/assets/{Mapbox-CpLnA607-legacy-CZe3Jz0m.js.map → Mapbox-CpLnA607-legacy-Bx1JnBMX.js.map} +1 -1
- package/dist/assets/{Mapbox-DDJ1gHRb-rvf9zFJO.js → Mapbox-DDJ1gHRb-BrLhMxW4.js} +2 -2
- package/dist/assets/{Mapbox-DDJ1gHRb-rvf9zFJO.js.map → Mapbox-DDJ1gHRb-BrLhMxW4.js.map} +1 -1
- package/dist/assets/{Mapbox-DDJ1gHRb-legacy-NAVECUv-.js → Mapbox-DDJ1gHRb-legacy-DtASaFMy.js} +2 -2
- package/dist/assets/{Mapbox-DDJ1gHRb-legacy-NAVECUv-.js.map → Mapbox-DDJ1gHRb-legacy-DtASaFMy.js.map} +1 -1
- package/dist/assets/{Mapbox-DiD9etYJ-zR1EkiNp.js → Mapbox-DiD9etYJ-BMtTiGO7.js} +2 -2
- package/dist/assets/{Mapbox-DiD9etYJ-zR1EkiNp.js.map → Mapbox-DiD9etYJ-BMtTiGO7.js.map} +1 -1
- package/dist/assets/{Mapbox-DiD9etYJ-legacy-pThPPnNQ.js → Mapbox-DiD9etYJ-legacy-WIywO1-w.js} +2 -2
- package/dist/assets/{Mapbox-DiD9etYJ-legacy-pThPPnNQ.js.map → Mapbox-DiD9etYJ-legacy-WIywO1-w.js.map} +1 -1
- package/dist/assets/{Mapbox-DtZmt1D_-DHhJhTo8.js → Mapbox-DtZmt1D_-Dq1UD7au.js} +2 -2
- package/dist/assets/{Mapbox-DtZmt1D_-DHhJhTo8.js.map → Mapbox-DtZmt1D_-Dq1UD7au.js.map} +1 -1
- package/dist/assets/{Mapbox-DtZmt1D_-legacy-ccCiz3Pd.js → Mapbox-DtZmt1D_-legacy-CXP5-C49.js} +2 -2
- package/dist/assets/{Mapbox-DtZmt1D_-legacy-ccCiz3Pd.js.map → Mapbox-DtZmt1D_-legacy-CXP5-C49.js.map} +1 -1
- package/dist/assets/{Mapbox-u11C3LWs-B_yCTqoV.js → Mapbox-u11C3LWs-DuakH8Ji.js} +2 -2
- package/dist/assets/{Mapbox-u11C3LWs-B_yCTqoV.js.map → Mapbox-u11C3LWs-DuakH8Ji.js.map} +1 -1
- package/dist/assets/{Mapbox-u11C3LWs-legacy-D90FQvEN.js → Mapbox-u11C3LWs-legacy-ChrUMjPl.js} +2 -2
- package/dist/assets/{Mapbox-u11C3LWs-legacy-D90FQvEN.js.map → Mapbox-u11C3LWs-legacy-ChrUMjPl.js.map} +1 -1
- package/dist/assets/{Maptiler-C0oTROMk-BwaieRuC.js → Maptiler-C0oTROMk-Dz6Vkl6m.js} +2 -2
- package/dist/assets/{Maptiler-C0oTROMk-BwaieRuC.js.map → Maptiler-C0oTROMk-Dz6Vkl6m.js.map} +1 -1
- package/dist/assets/{Maptiler-C0oTROMk-legacy-Dt8ZGBQ1.js → Maptiler-C0oTROMk-legacy-B6L6FzM1.js} +2 -2
- package/dist/assets/{Maptiler-C0oTROMk-legacy-Dt8ZGBQ1.js.map → Maptiler-C0oTROMk-legacy-B6L6FzM1.js.map} +1 -1
- package/dist/assets/{Maptiler-DJScKW8p-D7sqoIWz.js → Maptiler-DJScKW8p-6YGAe8cE.js} +2 -2
- package/dist/assets/{Maptiler-DJScKW8p-D7sqoIWz.js.map → Maptiler-DJScKW8p-6YGAe8cE.js.map} +1 -1
- package/dist/assets/{Maptiler-DJScKW8p-legacy-BxKgw8sA.js → Maptiler-DJScKW8p-legacy-DEW3rPcZ.js} +2 -2
- package/dist/assets/{Maptiler-DJScKW8p-legacy-BxKgw8sA.js.map → Maptiler-DJScKW8p-legacy-DEW3rPcZ.js.map} +1 -1
- package/dist/assets/{Maptiler-DdeFS4iM-CAX4yO3w.js → Maptiler-DdeFS4iM-Brs-80yb.js} +2 -2
- package/dist/assets/{Maptiler-DdeFS4iM-CAX4yO3w.js.map → Maptiler-DdeFS4iM-Brs-80yb.js.map} +1 -1
- package/dist/assets/{Maptiler-DdeFS4iM-legacy-DsI2My96.js → Maptiler-DdeFS4iM-legacy-Ci9oroQC.js} +2 -2
- package/dist/assets/{Maptiler-DdeFS4iM-legacy-DsI2My96.js.map → Maptiler-DdeFS4iM-legacy-Ci9oroQC.js.map} +1 -1
- package/dist/assets/{Maptiler-DqeshLom-a9LD3O-1.js → Maptiler-DqeshLom-B0jdRE1n.js} +2 -2
- package/dist/assets/{Maptiler-DqeshLom-a9LD3O-1.js.map → Maptiler-DqeshLom-B0jdRE1n.js.map} +1 -1
- package/dist/assets/{Maptiler-DqeshLom-legacy-iao-6Wdy.js → Maptiler-DqeshLom-legacy-CurUmtTs.js} +2 -2
- package/dist/assets/{Maptiler-DqeshLom-legacy-iao-6Wdy.js.map → Maptiler-DqeshLom-legacy-CurUmtTs.js.map} +1 -1
- package/dist/assets/{Maptiler-YjlcPccn-BbfdNZAF.js → Maptiler-YjlcPccn-BeECNaQc.js} +2 -2
- package/dist/assets/{Maptiler-YjlcPccn-BbfdNZAF.js.map → Maptiler-YjlcPccn-BeECNaQc.js.map} +1 -1
- package/dist/assets/{Maptiler-YjlcPccn-legacy-D6AZMug8.js → Maptiler-YjlcPccn-legacy-DUPM1fwa.js} +2 -2
- package/dist/assets/{Maptiler-YjlcPccn-legacy-D6AZMug8.js.map → Maptiler-YjlcPccn-legacy-DUPM1fwa.js.map} +1 -1
- package/dist/assets/{MarkerIcon-Bc3X9WQk-ByrgCntx.js → MarkerIcon-Bc3X9WQk-BuSzLTIC.js} +2 -2
- package/dist/assets/{MarkerIcon-Bc3X9WQk-ByrgCntx.js.map → MarkerIcon-Bc3X9WQk-BuSzLTIC.js.map} +1 -1
- package/dist/assets/{MarkerIcon-Bc3X9WQk-legacy-CIGJvvJR.js → MarkerIcon-Bc3X9WQk-legacy-0n6adFAI.js} +2 -2
- package/dist/assets/{MarkerIcon-Bc3X9WQk-legacy-CIGJvvJR.js.map → MarkerIcon-Bc3X9WQk-legacy-0n6adFAI.js.map} +1 -1
- package/dist/assets/{NeighborhoodCard-CQFgsjdH.js → NeighborhoodCard-ePSiX1h0.js} +2 -2
- package/dist/assets/{NeighborhoodCard-CQFgsjdH.js.map → NeighborhoodCard-ePSiX1h0.js.map} +1 -1
- package/dist/assets/{NeighborhoodCard-legacy-CT-3ylPG.js → NeighborhoodCard-legacy-B7hL1XOX.js} +2 -2
- package/dist/assets/{NeighborhoodCard-legacy-CT-3ylPG.js.map → NeighborhoodCard-legacy-B7hL1XOX.js.map} +1 -1
- package/dist/assets/{NeighborhoodCharacteristics-w5WKGZ2K.js → NeighborhoodCharacteristics-__nE9rKT.js} +2 -2
- package/dist/assets/{NeighborhoodCharacteristics-w5WKGZ2K.js.map → NeighborhoodCharacteristics-__nE9rKT.js.map} +1 -1
- package/dist/assets/{NeighborhoodCharacteristics-legacy-CKYaXDfQ.js → NeighborhoodCharacteristics-legacy-zcamdTX5.js} +2 -2
- package/dist/assets/{NeighborhoodCharacteristics-legacy-CKYaXDfQ.js.map → NeighborhoodCharacteristics-legacy-zcamdTX5.js.map} +1 -1
- package/dist/assets/{NeighborhoodDemographics-BZrhdeYZ.js → NeighborhoodDemographics-5cGgXnRY.js} +2 -2
- package/dist/assets/{NeighborhoodDemographics-BZrhdeYZ.js.map → NeighborhoodDemographics-5cGgXnRY.js.map} +1 -1
- package/dist/assets/{NeighborhoodDemographics-legacy-BHIQ1ER7.js → NeighborhoodDemographics-legacy-c3eDH26X.js} +2 -2
- package/dist/assets/{NeighborhoodDemographics-legacy-BHIQ1ER7.js.map → NeighborhoodDemographics-legacy-c3eDH26X.js.map} +1 -1
- package/dist/assets/{NeighborhoodFeatured-DfjxzlxY.js → NeighborhoodFeatured-DIXhmlRC.js} +2 -2
- package/dist/assets/{NeighborhoodFeatured-DfjxzlxY.js.map → NeighborhoodFeatured-DIXhmlRC.js.map} +1 -1
- package/dist/assets/{NeighborhoodFeatured-legacy-DHTnv4CZ.js → NeighborhoodFeatured-legacy-lDme45yC.js} +2 -2
- package/dist/assets/{NeighborhoodFeatured-legacy-DHTnv4CZ.js.map → NeighborhoodFeatured-legacy-lDme45yC.js.map} +1 -1
- package/dist/assets/{NeighborhoodHero-DrBKD27P.js → NeighborhoodHero-Bj4FlQVV.js} +2 -2
- package/dist/assets/{NeighborhoodHero-DrBKD27P.js.map → NeighborhoodHero-Bj4FlQVV.js.map} +1 -1
- package/dist/assets/{NeighborhoodHero-legacy-BMCiD7gd.js → NeighborhoodHero-legacy-C6T-qgPK.js} +2 -2
- package/dist/assets/{NeighborhoodHero-legacy-BMCiD7gd.js.map → NeighborhoodHero-legacy-C6T-qgPK.js.map} +1 -1
- package/dist/assets/{NeighborhoodHighlights-CwoTHUIb.js → NeighborhoodHighlights-BBmVnaLl.js} +2 -2
- package/dist/assets/{NeighborhoodHighlights-CwoTHUIb.js.map → NeighborhoodHighlights-BBmVnaLl.js.map} +1 -1
- package/dist/assets/{NeighborhoodHighlights-legacy-R316wAs2.js → NeighborhoodHighlights-legacy-B2x36QRC.js} +2 -2
- package/dist/assets/{NeighborhoodHighlights-legacy-R316wAs2.js.map → NeighborhoodHighlights-legacy-B2x36QRC.js.map} +1 -1
- package/dist/assets/{NeighborhoodMap-ChZpBdAe.js → NeighborhoodMap-DwMQLhkw.js} +2 -2
- package/dist/assets/{NeighborhoodMap-ChZpBdAe.js.map → NeighborhoodMap-DwMQLhkw.js.map} +1 -1
- package/dist/assets/{NeighborhoodMap-legacy-D7V_lZQF.js → NeighborhoodMap-legacy-CugKbgSp.js} +2 -2
- package/dist/assets/{NeighborhoodMap-legacy-D7V_lZQF.js.map → NeighborhoodMap-legacy-CugKbgSp.js.map} +1 -1
- package/dist/assets/{NeighborhoodMarketTrends-DpUA8_BA.js → NeighborhoodMarketTrends-COqvs4Fz.js} +3 -3
- package/dist/assets/{NeighborhoodMarketTrends-DpUA8_BA.js.map → NeighborhoodMarketTrends-COqvs4Fz.js.map} +1 -1
- package/dist/assets/{NeighborhoodMarketTrends-legacy-18rcLpS1.js → NeighborhoodMarketTrends-legacy-DSHDUUH_.js} +2 -2
- package/dist/assets/{NeighborhoodMarketTrends-legacy-18rcLpS1.js.map → NeighborhoodMarketTrends-legacy-DSHDUUH_.js.map} +1 -1
- package/dist/assets/{NeighborhoodMatch-BLDNZBRX.js → NeighborhoodMatch-GqzEoreu.js} +2 -2
- package/dist/assets/{NeighborhoodMatch-BLDNZBRX.js.map → NeighborhoodMatch-GqzEoreu.js.map} +1 -1
- package/dist/assets/{NeighborhoodMatch-legacy-C2QyjRPr.js → NeighborhoodMatch-legacy-SGEcOXuf.js} +2 -2
- package/dist/assets/{NeighborhoodMatch-legacy-C2QyjRPr.js.map → NeighborhoodMatch-legacy-SGEcOXuf.js.map} +1 -1
- package/dist/assets/{NeighborhoodPropertyValueDrivers-CQoo-TFM.js → NeighborhoodPropertyValueDrivers-Cz4cawqR.js} +2 -2
- package/dist/assets/{NeighborhoodPropertyValueDrivers-CQoo-TFM.js.map → NeighborhoodPropertyValueDrivers-Cz4cawqR.js.map} +1 -1
- package/dist/assets/{NeighborhoodPropertyValueDrivers-legacy-B-3Ld9XX.js → NeighborhoodPropertyValueDrivers-legacy-7gVUrIgh.js} +2 -2
- package/dist/assets/{NeighborhoodPropertyValueDrivers-legacy-B-3Ld9XX.js.map → NeighborhoodPropertyValueDrivers-legacy-7gVUrIgh.js.map} +1 -1
- package/dist/assets/{NeighborhoodSchools-DMKDCbUv.js → NeighborhoodSchools-D6CPTgGE.js} +2 -2
- package/dist/assets/{NeighborhoodSchools-DMKDCbUv.js.map → NeighborhoodSchools-D6CPTgGE.js.map} +1 -1
- package/dist/assets/{NeighborhoodSchools-legacy-D_MpmqNV.js → NeighborhoodSchools-legacy-0G_dtI8q.js} +2 -2
- package/dist/assets/{NeighborhoodSchools-legacy-D_MpmqNV.js.map → NeighborhoodSchools-legacy-0G_dtI8q.js.map} +1 -1
- package/dist/assets/{NeighborhoodShowcase-CB3_rfxv.js → NeighborhoodShowcase-CRlKc8OL.js} +2 -2
- package/dist/assets/{NeighborhoodShowcase-CB3_rfxv.js.map → NeighborhoodShowcase-CRlKc8OL.js.map} +1 -1
- package/dist/assets/{NeighborhoodShowcase-legacy-B8IQbiVz.js → NeighborhoodShowcase-legacy-Bjz5_C24.js} +2 -2
- package/dist/assets/{NeighborhoodShowcase-legacy-B8IQbiVz.js.map → NeighborhoodShowcase-legacy-Bjz5_C24.js.map} +1 -1
- package/dist/assets/{NoDataContent-CFLl-Rd-.js → NoDataContent-CTxzT718.js} +2 -2
- package/dist/assets/{NoDataContent-CFLl-Rd-.js.map → NoDataContent-CTxzT718.js.map} +1 -1
- package/dist/assets/{NoDataContent-legacy-aWMMhT9c.js → NoDataContent-legacy-BWvHzb0g.js} +2 -2
- package/dist/assets/{NoDataContent-legacy-aWMMhT9c.js.map → NoDataContent-legacy-BWvHzb0g.js.map} +1 -1
- package/dist/assets/{ResizeWrapper-C7vwckhm.js → ResizeWrapper-DbYmMKOU.js} +2 -2
- package/dist/assets/{ResizeWrapper-C7vwckhm.js.map → ResizeWrapper-DbYmMKOU.js.map} +1 -1
- package/dist/assets/{ResizeWrapper-legacy-WwfLyk1y.js → ResizeWrapper-legacy-C0ua6RC5.js} +2 -2
- package/dist/assets/{ResizeWrapper-legacy-WwfLyk1y.js.map → ResizeWrapper-legacy-C0ua6RC5.js.map} +1 -1
- package/dist/assets/{ScoreCardList-PWiDx6Ra.js → ScoreCardList-B4NURGgK.js} +2 -2
- package/dist/assets/{ScoreCardList-PWiDx6Ra.js.map → ScoreCardList-B4NURGgK.js.map} +1 -1
- package/dist/assets/{ScoreCardList-legacy-BK5dq36c.js → ScoreCardList-legacy-BTRPIWUP.js} +2 -2
- package/dist/assets/{ScoreCardList-legacy-BK5dq36c.js.map → ScoreCardList-legacy-BTRPIWUP.js.map} +1 -1
- package/dist/assets/{ScoreIcon-legacy-BwaAs8hW.js → ScoreIcon-legacy-D9igp8MS.js} +2 -2
- package/dist/assets/{ScoreIcon-legacy-BwaAs8hW.js.map → ScoreIcon-legacy-D9igp8MS.js.map} +1 -1
- package/dist/assets/{ScoreIcon-CsB-usG9.js → ScoreIcon-s5-ehfPP.js} +2 -2
- package/dist/assets/{ScoreIcon-CsB-usG9.js.map → ScoreIcon-s5-ehfPP.js.map} +1 -1
- package/dist/assets/{Testing--n5Ro0Ek-B4Vejacz.js → Testing--n5Ro0Ek-Cc3RGltv.js} +2 -2
- package/dist/assets/{Testing--n5Ro0Ek-B4Vejacz.js.map → Testing--n5Ro0Ek-Cc3RGltv.js.map} +1 -1
- package/dist/assets/{Testing--n5Ro0Ek-legacy-Co29YW_f.js → Testing--n5Ro0Ek-legacy-BB0u0086.js} +2 -2
- package/dist/assets/{Testing--n5Ro0Ek-legacy-Co29YW_f.js.map → Testing--n5Ro0Ek-legacy-BB0u0086.js.map} +1 -1
- package/dist/assets/{Testing-BNJwzbRK-hEJFbzQg.js → Testing-BNJwzbRK-C1viHx8M.js} +2 -2
- package/dist/assets/{Testing-BNJwzbRK-hEJFbzQg.js.map → Testing-BNJwzbRK-C1viHx8M.js.map} +1 -1
- package/dist/assets/{Testing-BNJwzbRK-legacy-B1EdPb3k.js → Testing-BNJwzbRK-legacy-XPR_-0Eg.js} +2 -2
- package/dist/assets/{Testing-BNJwzbRK-legacy-B1EdPb3k.js.map → Testing-BNJwzbRK-legacy-XPR_-0Eg.js.map} +1 -1
- package/dist/assets/{Testing-CoRLhmNT-Cqyejow7.js → Testing-CoRLhmNT-B4pOjeZH.js} +2 -2
- package/dist/assets/{Testing-CoRLhmNT-Cqyejow7.js.map → Testing-CoRLhmNT-B4pOjeZH.js.map} +1 -1
- package/dist/assets/{Testing-CoRLhmNT-legacy-BQpWn7Bu.js → Testing-CoRLhmNT-legacy-BFVvx40w.js} +2 -2
- package/dist/assets/{Testing-CoRLhmNT-legacy-BQpWn7Bu.js.map → Testing-CoRLhmNT-legacy-BFVvx40w.js.map} +1 -1
- package/dist/assets/{Testing-DGUeGxdc-g-T4vdVq.js → Testing-DGUeGxdc-CKSlgBDu.js} +2 -2
- package/dist/assets/{Testing-DGUeGxdc-g-T4vdVq.js.map → Testing-DGUeGxdc-CKSlgBDu.js.map} +1 -1
- package/dist/assets/{Testing-DGUeGxdc-legacy-GwpDyiTO.js → Testing-DGUeGxdc-legacy-B2yBRluh.js} +2 -2
- package/dist/assets/{Testing-DGUeGxdc-legacy-GwpDyiTO.js.map → Testing-DGUeGxdc-legacy-B2yBRluh.js.map} +1 -1
- package/dist/assets/{Testing-DzWAcbhL-BJOouF0A.js → Testing-DzWAcbhL-B5JOmJod.js} +2 -2
- package/dist/assets/{Testing-DzWAcbhL-BJOouF0A.js.map → Testing-DzWAcbhL-B5JOmJod.js.map} +1 -1
- package/dist/assets/{Testing-DzWAcbhL-legacy-CYECRHWo.js → Testing-DzWAcbhL-legacy-20VBltE2.js} +2 -2
- package/dist/assets/{Testing-DzWAcbhL-legacy-CYECRHWo.js.map → Testing-DzWAcbhL-legacy-20VBltE2.js.map} +1 -1
- package/dist/assets/{TitleHeader-CepE-7Y-.js → TitleHeader-Be2YRN93.js} +2 -2
- package/dist/assets/{TitleHeader-CepE-7Y-.js.map → TitleHeader-Be2YRN93.js.map} +1 -1
- package/dist/assets/{TitleHeader-legacy-UtQZo396.js → TitleHeader-legacy-CzXSoMFC.js} +2 -2
- package/dist/assets/{TitleHeader-legacy-UtQZo396.js.map → TitleHeader-legacy-CzXSoMFC.js.map} +1 -1
- package/dist/assets/{Trans-B1zRm9WH.js → Trans-DntniXa9.js} +2 -2
- package/dist/assets/{Trans-B1zRm9WH.js.map → Trans-DntniXa9.js.map} +1 -1
- package/dist/assets/{Trans-legacy-B47WOepl.js → Trans-legacy-B9t4MV_C.js} +2 -2
- package/dist/assets/{Trans-legacy-B47WOepl.js.map → Trans-legacy-B9t4MV_C.js.map} +1 -1
- package/dist/assets/{ValidateOptions-DsfMKmBQ.js → ValidateOptions-BqL9iY9R.js} +2 -2
- package/dist/assets/{ValidateOptions-DsfMKmBQ.js.map → ValidateOptions-BqL9iY9R.js.map} +1 -1
- package/dist/assets/{ValidateOptions-legacy-CtRpWaj6.js → ValidateOptions-legacy-BQ69tin-.js} +2 -2
- package/dist/assets/{ValidateOptions-legacy-CtRpWaj6.js.map → ValidateOptions-legacy-BQ69tin-.js.map} +1 -1
- package/dist/assets/{dist-DrX-uh0V.js → dist-C_ktdPsv.js} +2 -2
- package/dist/assets/{dist-DrX-uh0V.js.map → dist-C_ktdPsv.js.map} +1 -1
- package/dist/assets/{dist-legacy-CJvY2ayv.js → dist-legacy-DIwOLBcZ.js} +2 -2
- package/dist/assets/{dist-legacy-CJvY2ayv.js.map → dist-legacy-DIwOLBcZ.js.map} +1 -1
- package/dist/assets/{getMapProviderConfig-DbC8zRUF.js → getMapProviderConfig-D9e8KNYU.js} +3 -3
- package/dist/assets/{getMapProviderConfig-DbC8zRUF.js.map → getMapProviderConfig-D9e8KNYU.js.map} +1 -1
- package/dist/assets/{getMapProviderConfig-legacy-CwpYg6Bq.js → getMapProviderConfig-legacy-DVBUhWqR.js} +2 -2
- package/dist/assets/{getMapProviderConfig-legacy-CwpYg6Bq.js.map → getMapProviderConfig-legacy-DVBUhWqR.js.map} +1 -1
- package/dist/assets/{index-Bi8h_BNl.js → index-PbHyodiU.js} +3 -3
- package/dist/assets/{index-Bi8h_BNl.js.map → index-PbHyodiU.js.map} +1 -1
- package/dist/assets/{index-legacy-DF60d_4Z.js → index-legacy-CYps6nGB.js} +2 -2
- package/dist/assets/{index-legacy-DF60d_4Z.js.map → index-legacy-CYps6nGB.js.map} +1 -1
- package/dist/assets/{index.es-BkZlVTZH.js → index.es-DuM-WVhV.js} +2 -2
- package/dist/assets/{index.es-BkZlVTZH.js.map → index.es-DuM-WVhV.js.map} +1 -1
- package/dist/assets/{index.es-legacy-DdMTxXQK.js → index.es-legacy-Cz2m6e4L.js} +2 -2
- package/dist/assets/{index.es-legacy-DdMTxXQK.js.map → index.es-legacy-Cz2m6e4L.js.map} +1 -1
- package/dist/assets/{mapbox-jb8Zev6T-DbABbE_7.js → mapbox-jb8Zev6T-BgSpiKob.js} +2 -2
- package/dist/assets/{mapbox-jb8Zev6T-DbABbE_7.js.map → mapbox-jb8Zev6T-BgSpiKob.js.map} +1 -1
- package/dist/assets/{mapbox-jb8Zev6T-legacy-DkLTUrvZ.js → mapbox-jb8Zev6T-legacy-hBjjoWXX.js} +2 -2
- package/dist/assets/{mapbox-jb8Zev6T-legacy-DkLTUrvZ.js.map → mapbox-jb8Zev6T-legacy-hBjjoWXX.js.map} +1 -1
- package/dist/assets/{maplibre-CUYkxr-D-DPcOY-Lp.js → maplibre-CUYkxr-D-BJWmGVry.js} +2 -2
- package/dist/assets/{maplibre-CUYkxr-D-DPcOY-Lp.js.map → maplibre-CUYkxr-D-BJWmGVry.js.map} +1 -1
- package/dist/assets/{maplibre-CUYkxr-D-legacy-Ct1K6aaN.js → maplibre-CUYkxr-D-legacy-BNqtRzVB.js} +2 -2
- package/dist/assets/{maplibre-CUYkxr-D-legacy-Ct1K6aaN.js.map → maplibre-CUYkxr-D-legacy-BNqtRzVB.js.map} +1 -1
- package/dist/assets/neighborhood-fallback-CizB5oi9.js.map +1 -1
- package/dist/assets/neighborhood-fallback-legacy-Bu1BwGpC.js.map +1 -1
- package/dist/assets/{sdks-CIuvHxGG.js → sdks-BTkz21XL.js} +2 -2
- package/dist/assets/{sdks-CIuvHxGG.js.map → sdks-BTkz21XL.js.map} +1 -1
- package/dist/assets/{sdks-legacy-3YngGDux.js → sdks-legacy-3sJ2n28B.js} +2 -2
- package/dist/assets/{sdks-legacy-3YngGDux.js.map → sdks-legacy-3sJ2n28B.js.map} +1 -1
- package/dist/assets/{useDemographicsData-Dz3Pu-Ht.js → useDemographicsData-DKScK522.js} +2 -2
- package/dist/assets/{useDemographicsData-Dz3Pu-Ht.js.map → useDemographicsData-DKScK522.js.map} +1 -1
- package/dist/assets/{useDemographicsData-legacy-BD0OVn1e.js → useDemographicsData-legacy-BsoUaI9P.js} +2 -2
- package/dist/assets/{useDemographicsData-legacy-BD0OVn1e.js.map → useDemographicsData-legacy-BsoUaI9P.js.map} +1 -1
- package/dist/assets/{useGeographies-CtCPN011.js → useGeographies-DejQbRC9.js} +2 -2
- package/dist/assets/{useGeographies-CtCPN011.js.map → useGeographies-DejQbRC9.js.map} +1 -1
- package/dist/assets/{useGeographies-legacy-BmNvVGxt.js → useGeographies-legacy-B5ciev2M.js} +2 -2
- package/dist/assets/{useGeographies-legacy-BmNvVGxt.js.map → useGeographies-legacy-B5ciev2M.js.map} +1 -1
- package/dist/assets/{useIsMobile-DqKgF2mC.js → useIsMobile-Co5SddxR.js} +2 -2
- package/dist/assets/{useIsMobile-DqKgF2mC.js.map → useIsMobile-Co5SddxR.js.map} +1 -1
- package/dist/assets/{useIsMobile-legacy-jEoaA3sZ.js → useIsMobile-legacy-B53LlWR8.js} +2 -2
- package/dist/assets/{useIsMobile-legacy-jEoaA3sZ.js.map → useIsMobile-legacy-B53LlWR8.js.map} +1 -1
- package/dist/assets/{useLocation-DnI9ftE5.js → useLocation-DUSQPRn5.js} +2 -2
- package/dist/assets/{useLocation-DnI9ftE5.js.map → useLocation-DUSQPRn5.js.map} +1 -1
- package/dist/assets/{useLocation-legacy-UNiEBLrQ.js → useLocation-legacy-CYzO18ij.js} +2 -2
- package/dist/assets/{useLocation-legacy-UNiEBLrQ.js.map → useLocation-legacy-CYzO18ij.js.map} +1 -1
- package/dist/assets/{useProfiles-DKmVxUf9.js → useProfiles-Dv9s6TWw.js} +2 -2
- package/dist/assets/{useProfiles-DKmVxUf9.js.map → useProfiles-Dv9s6TWw.js.map} +1 -1
- package/dist/assets/{useProfiles-legacy-OVEEk1dZ.js → useProfiles-legacy-DF0NXWwe.js} +2 -2
- package/dist/assets/{useProfiles-legacy-OVEEk1dZ.js.map → useProfiles-legacy-DF0NXWwe.js.map} +1 -1
- package/dist/assets/{useSchools-BC9vy4Xx.js → useSchools-Dqdy1J-D.js} +2 -2
- package/dist/assets/{useSchools-BC9vy4Xx.js.map → useSchools-Dqdy1J-D.js.map} +1 -1
- package/dist/assets/{useSchools-legacy-g8-dezaK.js → useSchools-legacy-CCHNqc2P.js} +2 -2
- package/dist/assets/{useSchools-legacy-g8-dezaK.js.map → useSchools-legacy-CCHNqc2P.js.map} +1 -1
- package/dist/assets/{useScores-BZGEEU4U.js → useScores-C4T2-LUO.js} +2 -2
- package/dist/assets/{useScores-BZGEEU4U.js.map → useScores-C4T2-LUO.js.map} +1 -1
- package/dist/assets/{useScores-legacy-C9icRMIu.js → useScores-legacy-BludORUw.js} +2 -2
- package/dist/assets/{useScores-legacy-C9icRMIu.js.map → useScores-legacy-BludORUw.js.map} +1 -1
- package/dist/index.html +2 -2
- package/dist/types/sdks/LocalContent/hooks/useSurveyTrigger/SurveyTriggerProvider/index.test.js +11 -9
- package/dist/types/sdks/LocalContent/hooks/useSurveyTrigger/SurveyTriggerProvider/index.test.js.map +1 -1
- package/dist/types/sdks/LocalContent/hooks/useSurveyTrigger/index.test.js +19 -5
- package/dist/types/sdks/LocalContent/hooks/useSurveyTrigger/index.test.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalDemographics-legacy-D1k5CRVw.js","names":["r","l"],"sources":["../../../../node_modules/@phosphor-icons/react/dist/defs/Wallet.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/Wallet.es.js","../../src/sdks/LocalDemographics/components/Content/DemographicsTabs/Root/context.tsx","../../src/sdks/LocalDemographics/components/Content/DemographicsTabs/Root/Content/index.tsx","../../src/sdks/LocalDemographics/components/Content/DemographicsTabs/Root/Tabs/styles.ts","../../src/sdks/LocalDemographics/constants.ts","../../src/sdks/LocalDemographics/components/Content/DemographicsTabs/Root/Tabs/index.tsx","../../src/sdks/LocalDemographics/components/Content/DemographicsTabs/Root/Select/styles.ts","../../src/sdks/LocalDemographics/components/Content/DemographicsTabs/Root/Select/index.tsx","../../src/sdks/LocalDemographics/components/Content/DemographicsTabs/Root/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/styles.ts","../../src/sdks/LocalDemographics/types.ts","../../src/sdks/LocalDemographics/schema.ts","../../src/sdks/LocalDemographics/context.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Income/AverageIncome/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Income/EmploymentStatus/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Income/IncomeBrackets/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Income/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Population/TotalPopulation/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Population/PopulationByAgeGroup/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Population/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Housing/HomeOwnershipType/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Housing/TypeOfHousing/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Housing/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Household/HouseholdComposition/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Household/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Education/EducationLevel/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Education/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Commute/CommuteMode/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Commute/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Languages/SpokenLanguages/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Languages/MotherTongue/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Languages/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/index.tsx","../../src/sdks/LocalDemographics/components/Content/styles.ts","../../src/sdks/LocalDemographics/components/Content/index.tsx","../../src/sdks/LocalDemographics/components/Footer/styles.ts","../../src/sdks/LocalDemographics/components/Footer/index.tsx","../../src/sdks/LocalDemographics/styles.ts","../../src/sdks/LocalDemographics/index.tsx"],"sourcesContent":["import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M196,136a16,16,0,1,1-16-16A16,16,0,0,1,196,136Zm40-36v80a32,32,0,0,1-32,32H60a32,32,0,0,1-32-32V60.92A32,32,0,0,1,60,28H192a12,12,0,0,1,0,24H60a8,8,0,0,0-8,8.26v.08A8.32,8.32,0,0,0,60.48,68H204A32,32,0,0,1,236,100Zm-24,0a8,8,0,0,0-8-8H60.48A33.72,33.72,0,0,1,52,90.92V180a8,8,0,0,0,8,8H204a8,8,0,0,0,8-8Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M224,80V192a8,8,0,0,1-8,8H56a16,16,0,0,1-16-16V56A16,16,0,0,0,56,72H216A8,8,0,0,1,224,80Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,64H56a8,8,0,0,1,0-16H192a8,8,0,0,0,0-16H56A24,24,0,0,0,32,56V184a24,24,0,0,0,24,24H216a16,16,0,0,0,16-16V80A16,16,0,0,0,216,64Zm0,128H56a8,8,0,0,1-8-8V78.63A23.84,23.84,0,0,0,56,80H216Zm-48-60a12,12,0,1,1,12,12A12,12,0,0,1,168,132Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,64H56a8,8,0,0,1,0-16H192a8,8,0,0,0,0-16H56A24,24,0,0,0,32,56V184a24,24,0,0,0,24,24H216a16,16,0,0,0,16-16V80A16,16,0,0,0,216,64Zm-36,80a12,12,0,1,1,12-12A12,12,0,0,1,180,144Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,66H56a10,10,0,0,1,0-20H192a6,6,0,0,0,0-12H56A22,22,0,0,0,34,56V184a22,22,0,0,0,22,22H216a14,14,0,0,0,14-14V80A14,14,0,0,0,216,66Zm2,126a2,2,0,0,1-2,2H56a10,10,0,0,1-10-10V75.59A21.84,21.84,0,0,0,56,78H216a2,2,0,0,1,2,2Zm-28-60a10,10,0,1,1-10-10A10,10,0,0,1,190,132Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,64H56a8,8,0,0,1,0-16H192a8,8,0,0,0,0-16H56A24,24,0,0,0,32,56V184a24,24,0,0,0,24,24H216a16,16,0,0,0,16-16V80A16,16,0,0,0,216,64Zm0,128H56a8,8,0,0,1-8-8V78.63A23.84,23.84,0,0,0,56,80H216Zm-48-60a12,12,0,1,1,12,12A12,12,0,0,1,168,132Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,68H56a12,12,0,0,1,0-24H192a4,4,0,0,0,0-8H56A20,20,0,0,0,36,56V184a20,20,0,0,0,20,20H216a12,12,0,0,0,12-12V80A12,12,0,0,0,216,68Zm4,124a4,4,0,0,1-4,4H56a12,12,0,0,1-12-12V72a19.86,19.86,0,0,0,12,4H216a4,4,0,0,1,4,4Zm-32-60a8,8,0,1,1-8-8A8,8,0,0,1,188,132Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nimport r from \"../lib/IconBase.es.js\";\nimport l from \"../defs/Wallet.es.js\";\nconst o = e.forwardRef((t, a) => /* @__PURE__ */ e.createElement(r, { ref: a, ...t, weights: l }));\no.displayName = \"WalletIcon\";\nconst s = o;\nexport {\n s as Wallet,\n o as WalletIcon\n};\n","import React, { useContext } from \"react\";\nimport { RootProps } from \"./types\";\n\nexport type DefaultContext = RootProps;\n\nconst RootElementContext = React.createContext<DefaultContext>(\n {} as DefaultContext,\n);\nconst useRootElement = () => useContext(RootElementContext);\n\nexport { useRootElement, RootElementContext };\n","import React from \"react\";\nimport * as Tabs from \"@radix-ui/react-tabs\";\nimport { ContentProps } from \"./types\";\n\nexport const Content = ({\n children,\n options: { value, style },\n}: ContentProps) => (\n <Tabs.Content value={value} key={value} style={style}>\n {children}\n </Tabs.Content>\n);\n","export const tabsList = `\n grid\n auto-cols-[minmax(0,80px)]\n grid-flow-col\n px-0 py-4\n`;\n\nexport const trigger = `\n bg-none\n border-none\n p-1\n flex\n flex-col\n items-center\n hover:cursor-pointer\n fill-ll-disabled\n text-ll-disabled\n hover:fill-ll-primary\n hover:text-ll-primary\n [&>div]:fill-inherit\n [&>div]:text-inherit\n data-[active=true]:fill-ll-primary\n data-[active=true]:text-ll-primary\n`;\n\nexport const icon = `\n w-6 h-6\n fill-inherit\n`;\nexport const tabText = `\n m-0 font-semibold\n text-ll-font-size-caption-1\n text-inherit\n`;\n","import type { DemographicsCategory } from \"./types\";\n\nexport const DEFAULT_RADIUS = 400;\nexport const DEFAULT_RADIUS_UNIT = \"meter\";\n\nexport const AVAILABLE_TABS: DemographicsCategory[] = [\n \"income\",\n \"population\",\n \"housing\",\n \"household\",\n \"education\",\n \"commute\",\n \"languages\",\n];\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n type Icon,\n WalletIcon,\n UsersFourIcon,\n BuildingsIcon,\n UsersThreeIcon,\n GraduationCapIcon,\n PathIcon,\n TranslateIcon,\n} from \"@phosphor-icons/react\";\nimport * as Tab from \"@radix-ui/react-tabs\";\nimport { useRootElement } from \"../context\";\nimport * as styles from \"./styles\";\nimport { AVAILABLE_TABS } from \"~/sdks/LocalDemographics/constants\";\n\nexport const tabIcons: {\n [key: string]: Icon;\n} = {\n income: WalletIcon,\n population: UsersFourIcon,\n housing: BuildingsIcon,\n household: UsersThreeIcon,\n education: GraduationCapIcon,\n commute: PathIcon,\n languages: TranslateIcon,\n};\n\nexport const Tabs = () => {\n const { t } = useTranslation(\"localDemographics\");\n const { options } = useRootElement();\n\n let activeCategories = AVAILABLE_TABS;\n\n if (options.omitTabs) {\n activeCategories = AVAILABLE_TABS.filter(\n (category) => !options.omitTabs?.includes(category),\n );\n }\n\n return (\n <Tab.List className={styles.tabsList} aria-label=\"Demographics tabs\">\n {activeCategories.map((tab) => {\n const isActive = tab === options.activeTab;\n const Icon = tabIcons[tab];\n\n return (\n <React.Fragment key={tab}>\n <Tab.Trigger\n data-active={isActive}\n className={styles.trigger}\n value={tab}\n >\n <Icon className={styles.icon} />\n <p className={styles.tabText}>{t(`data.${tab}.title`)}</p>\n </Tab.Trigger>\n </React.Fragment>\n );\n })}\n </Tab.List>\n );\n};\n","export const selectContainer = `\n flex\n py-4 px-0\n z-[4]\n`;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRootElement } from \"../context\";\nimport * as styles from \"./styles\";\nimport { Select as UISelect, Text } from \"~/components/deprecated\";\nimport { AVAILABLE_TABS } from \"~/sdks/LocalDemographics/constants\";\nimport { DemographicsCategory } from \"~/sdks/LocalDemographics/types\";\n\nexport const Select = () => {\n const { t } = useTranslation(\"localDemographics\");\n const { options, onChange } = useRootElement();\n\n let activeCategories = AVAILABLE_TABS;\n\n if (options.omitTabs) {\n activeCategories = AVAILABLE_TABS.filter(\n (category) => !options.omitTabs?.includes(category),\n );\n }\n\n return (\n <div className={styles.selectContainer}>\n <UISelect.Root\n value={options.activeTab}\n onValueChange={(value: DemographicsCategory) => {\n onChange({ type: \"tabs\", data: value });\n }}\n >\n <UISelect.Trigger size=\"large\">\n <Text noMargin variant=\"h6\" color=\"--ll-color-placeholder\">\n {t(`data.${options.activeTab}.title`)}\n </Text>\n </UISelect.Trigger>\n <UISelect.Content>\n {activeCategories.map((category) => (\n <UISelect.Item value={category} key={category}>\n <Text noMargin variant=\"h6\">\n {t(`data.${category}.title`)}\n </Text>\n </UISelect.Item>\n ))}\n </UISelect.Content>\n </UISelect.Root>\n </div>\n );\n};\n","import React from \"react\";\nimport * as Tabs from \"@radix-ui/react-tabs\";\nimport { RootProps } from \"./types\";\nimport { RootElementContext } from \"./context\";\nimport type { DemographicsCategory } from \"~/sdks/LocalDemographics/types\";\n\nexport const Root = ({ options, onChange, children }: RootProps) => {\n const handleOnChange = (value: string) => {\n onChange({ type: \"tabs\", data: value as DemographicsCategory });\n };\n\n return (\n <RootElementContext.Provider\n value={{\n options,\n onChange,\n }}\n >\n <Tabs.Root value={options.activeTab} onValueChange={handleOnChange}>\n {children}\n </Tabs.Root>\n </RootElementContext.Provider>\n );\n};\n\n// Export children\nexport { Content } from \"./Content\";\nexport { Tabs } from \"./Tabs\";\nexport { Select } from \"./Select\";\n","export const graphLayoutWrapper = `\n flex flex-col justify-start self-stretch items-stretch\n md:justify-between md:flex-row gap-3\n`;\n\nexport const graphSideBySide = `\n flex justify-between gap-3 flex-row min-w-[250px]\n md:flex-col items-stretch\n`;\n\nexport const graphContainer = `\n w-full md:min-h-[240px]\n flex flex-col self-stretch\n`;\n\nexport const donutChartIcon = `text-ll-primary w-2/4 h-2/4`;\n\nexport const cardContainer = `min-h-36 h-full`;\n","import { SDKOptions } from \"../../types/options\";\n\nexport type DemographicsCategory =\n | \"income\"\n | \"population\"\n | \"housing\"\n | \"household\"\n | \"education\"\n | \"commute\"\n | \"languages\";\n\nexport type Options = {\n lat?: number;\n lng?: number;\n title?: boolean | string;\n defaultTab?: DemographicsCategory;\n hideAttribution?: boolean;\n};\n\nexport type LocalDemographicsProps = SDKOptions<\n Options,\n {\n options: Options | undefined;\n }\n>;\n\nexport enum TrackingPipelineEvents {\n SDK_VIEWED = \"LD-Viewed\",\n TAB_CLICKED = \"LD-Tab-Clicked\",\n}\n\n// Why are these named differently?\n// https://docs.mixpanel.com/docs/data-structure/events-and-properties#name-events-and-properties-consistently\nexport enum AnalyticsEvents {\n SDK_VIEWED = \"sdk_viewed\",\n CATEGORY_SELECTED = \"category_selected\",\n}\n","import { number, object, ObjectSchema, mixed, boolean } from \"yup\";\nimport type { DemographicsCategory, Options } from \"./types\";\n\nexport const schema: ObjectSchema<Options> = object({\n lat: number()\n .min(-90, \"Must be a valid latitude.\")\n .max(90, \"Must be a valid latitude.\")\n .required(),\n lng: number()\n .min(-180, \"Must be a valid longitude.\")\n .max(180, \"Must be a valid longitude.\")\n .required(),\n title: mixed<string | boolean>().optional(),\n defaultTab: mixed<DemographicsCategory>().optional(),\n hideAttribution: boolean().optional(),\n}).noUnknown(true);\n\nexport const validateOptions = (options: Options) =>\n schema.validate(options, { abortEarly: false });\n","import React, {\n useContext,\n useState,\n useMemo,\n useReducer,\n useEffect,\n} from \"react\";\nimport { type Demographics } from \"@local-logic/client\";\nimport { ValidationError } from \"yup\";\nimport {\n type DemographicsCategory,\n type LocalDemographicsProps,\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"./types\";\nimport * as DemographicsTabs from \"./components/Content/DemographicsTabs\";\nimport { validateOptions } from \"./schema\";\nimport { AVAILABLE_TABS } from \"./constants\";\nimport { useTracking } from \"~/tracking\";\nimport { theme } from \"~/components/deprecated\";\nimport errorTracker from \"~/utils/errorTracker\";\nimport { useLocation } from \"~/hooks/useLocation\";\nimport useEffectOnce from \"~/hooks/useEffectOnce\";\nimport { useStateManagerContext } from \"~/context/stateManager\";\n\nexport interface State {\n education_level?: Demographics[\"education_level\"];\n employment_status?: Demographics[\"employment_status\"];\n commute_mode?: Demographics[\"commute_mode\"];\n household_composition?: Demographics[\"household_composition\"];\n income?: Demographics[\"income\"];\n income_stats?: Demographics[\"income_stats\"];\n income_level?: Demographics[\"income_level\"];\n population_age?: Demographics[\"population_age\"];\n population_total?: Demographics[\"population_total\"];\n housing_tenancy?: Demographics[\"housing_tenancy\"];\n housing_type?: Demographics[\"housing_type\"];\n property_tenure?: Demographics[\"property_tenure\"];\n mother_tongue?: Demographics[\"mother_tongue\"];\n official_language_knowledge?: Demographics[\"official_language_knowledge\"];\n location: {\n lat: number;\n lng: number;\n };\n country: string;\n}\n\ntype Action = Partial<State>;\n\nexport type DefaultContext = {\n country: string;\n demographicsState: State;\n setDemographicsState: React.Dispatch<Action>;\n activeCategory: DemographicsCategory;\n setActiveCategory: (value: DemographicsCategory) => void;\n locale: \"en\" | \"fr\";\n hideAttribution?: boolean;\n};\n\nconst DemographicsContext = React.createContext<DefaultContext>(\n {} as DefaultContext,\n);\nconst useDemographics = () => useContext(DemographicsContext);\n\nconst LocalDemographicsProvider = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const tracking = useTracking();\n const { sdkState } = useStateManagerContext<LocalDemographicsProps>();\n const [activeCategory, setActiveCategory] = useState(\n sdkState.options?.defaultTab &&\n AVAILABLE_TABS.includes(sdkState.options?.defaultTab)\n ? sdkState.options?.defaultTab\n : AVAILABLE_TABS[0],\n );\n const [validated, setValidated] = useState<boolean>(false);\n const [validationErrors, setValidationErrors] = useState<string[]>([]);\n const {\n data: { country },\n isLoading,\n } = useLocation({\n lat: sdkState.options?.lat,\n lng: sdkState.options?.lng,\n });\n\n useEffectOnce(() => {\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SDK_VIEWED,\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.SDK_VIEWED,\n });\n });\n\n const [demographicsState, setDemographicsState] = useReducer(\n (state: State, action: Action) => ({\n ...state,\n ...action,\n }),\n {\n location: {\n lat: sdkState.options?.lat || 43.661337,\n lng: sdkState.options?.lng || -79.401903,\n },\n country: \"CAN\",\n },\n );\n\n useEffect(() => {\n if (!sdkState) {\n return;\n }\n\n setDemographicsState({\n ...demographicsState,\n country,\n });\n }, [sdkState, country]);\n\n useEffectOnce(() => {\n const validate = async () => {\n try {\n errorTracker.addBreadCrumb(\n \"LocalDemographicsProvider\",\n \"Validating state options\",\n {\n options: sdkState.options!,\n },\n );\n\n await validateOptions(sdkState.options!);\n setValidated(true);\n } catch (error) {\n const validationError = error as ValidationError;\n setValidationErrors(validationError.errors);\n\n errorTracker.addBreadCrumb(\n \"LocalDemographicsProvider\",\n \"State option validation failed\",\n {\n errors: validationError.errors,\n },\n );\n }\n };\n\n if (!validated) {\n validate();\n }\n });\n\n const contextValue = useMemo(\n () => ({\n country,\n demographicsState,\n setDemographicsState,\n activeCategory,\n setActiveCategory,\n locale: sdkState.globalOptions?.locale || \"en\",\n hideAttribution: sdkState.options?.hideAttribution,\n }),\n [\n country,\n activeCategory,\n setActiveCategory,\n demographicsState,\n setDemographicsState,\n sdkState.globalOptions,\n sdkState.options?.hideAttribution,\n ],\n );\n\n const handleTabsChange = (value: {\n type: \"tabs\";\n data: DemographicsCategory;\n }) => {\n setActiveCategory(value.data);\n errorTracker.addBreadCrumb(\n \"LocalDemographicsProvider\",\n \"handleTabsChange\",\n {\n value,\n },\n );\n tracking.postEvent({\n eventType: TrackingPipelineEvents.TAB_CLICKED,\n eventAttributes: [\n {\n label: \"activeCategory\",\n data: value.data,\n },\n ],\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.CATEGORY_SELECTED,\n eventAttributes: {\n ll_selected_category: value.data,\n },\n });\n };\n\n const omitTabs = useMemo(() => {\n const tabsToOmit: string[] = [];\n const dataKeys = {\n income: \"income\",\n population: \"population_age\",\n housing: \"housing_tenancy\",\n household: \"household_composition\",\n education: \"education_level\",\n commute: \"commute_mode\",\n languages: \"mother_tongue\",\n };\n\n Object.entries(dataKeys).forEach(([key, value]) => {\n if (!Object.keys(demographicsState).includes(value)) {\n tabsToOmit.push(key);\n }\n });\n\n errorTracker.addBreadCrumb(\n \"LocalDemographicsProvider\",\n \"Updated tabs to omit\",\n {\n tabsToOmit,\n },\n );\n\n return tabsToOmit;\n }, [demographicsState]);\n\n if (!validated) {\n if (validationErrors.length) {\n const error = \"Could not load Demographics\";\n\n console.error(`${error}: ${validationErrors.join(\", \")}`);\n return <p>{error}</p>;\n }\n\n return <></>;\n }\n\n return (\n <DemographicsContext.Provider value={contextValue}>\n <DemographicsTabs.Root\n options={{ activeTab: activeCategory, omitTabs }}\n onChange={handleTabsChange}\n >\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n background: `${theme[\"--ll-color-background\"]}`,\n padding: `${theme[\"--ll-spacing-xx-small\"]} ${theme[\"--ll-spacing-small\"]} 0`,\n borderRadius: `${theme[\"--ll-border-radius-medium\"]}`,\n }}\n >\n {!isLoading && children}\n </div>\n </DemographicsTabs.Root>\n </DemographicsContext.Provider>\n );\n};\n\nexport { useDemographics, LocalDemographicsProvider };\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport * as styles from \"../../styles\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const AverageIncome = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n country,\n demographicsState: { income },\n } = useDemographics();\n\n const incomeTypes = useMemo(\n () =>\n income?.variables.slice().reverse() || [\n {\n variable: \"avg_individual_income\",\n label: \"Avg individual income\",\n value:\n income?.variables?.find((x) => x.variable === \"inc_person\")\n ?.value || 0.0,\n },\n {\n variable: \"avg_household_income\",\n label: \"Avg household income\",\n value:\n income?.variables?.find((x) => x.variable === \"inc_home\")?.value ||\n 0.0,\n },\n ],\n [income?.variables],\n );\n\n /**\n * Intl.NumberFormat does a good job at displaying currency.\n *\n * We USD for the currency so that it formats to have a $ at the start of the amount.\n * If we put CAD, it will output as CAD$\n */\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.income.graphs.averageIncome.title\", {\n context: country,\n }),\n values: incomeTypes.map((incomeType) => {\n let label = \"\";\n\n if (incomeType.variable === \"avg_household_income\") {\n label = t(\n \"data.income.graphs.averageIncome.types.avgHouseholdIncome\",\n { context: country },\n );\n }\n\n if (incomeType.variable === \"avg_individual_income\") {\n label = t(\n \"data.income.graphs.averageIncome.types.avgIndividualIncome\",\n { context: country },\n );\n }\n\n return {\n variable: incomeType.variable,\n value: `${new Intl.NumberFormat(\"en-EN\", {\n style: \"currency\",\n currency: \"USD\",\n maximumFractionDigits: 1,\n }).format(incomeType.value / 1000)}${\n incomeType.value >= 1000 ? \"k\" : \"\"\n }`,\n label,\n };\n }),\n },\n }),\n [incomeTypes],\n );\n\n return (\n <div className={styles.cardContainer}>\n <DemographicsTextCard {...chartOptions} />\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport * as styles from \"../../styles\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const EmploymentStatus = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { employment_status: employmentStatus },\n } = useDemographics();\n\n const datasets = useMemo(\n () =>\n employmentStatus?.variables.map((variable: Variable) => ({\n label: variable.label,\n data: Number((variable.value * 100).toFixed(1)),\n })) || [],\n [employmentStatus?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.income.graphs.employment.title\"),\n values: datasets.map((item) => ({\n variable: item.label.replace(\" \", \"_\"),\n label: item.label,\n value: `${item.data}%`,\n })),\n },\n }),\n [datasets],\n );\n\n if (!employmentStatus) {\n return null;\n }\n\n return (\n <div className={styles.cardContainer}>\n <DemographicsTextCard {...chartOptions} />\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const IncomeBrackets = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { income_level: incomeLevel },\n } = useDemographics();\n\n const dataset = useMemo(\n () => ({\n labels: incomeLevel?.variables.map((variable) => variable.label) || [],\n data:\n incomeLevel?.variables.map((variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n }),\n [incomeLevel?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.income.graphs.incomeBrackets.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { AverageIncome } from \"./AverageIncome\";\n\nimport { EmploymentStatus } from \"./EmploymentStatus\";\nimport { IncomeBrackets } from \"./IncomeBrackets\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nexport const Income = () => {\n const {\n demographicsState: { income_level: incomeLevel },\n } = useDemographics();\n\n // Employment status and Income level only available in the USA\n return (\n <>\n {incomeLevel ? (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphSideBySide}>\n <div className={styles.graphContainer}>\n <AverageIncome />\n </div>\n <div className={styles.graphContainer}>\n <EmploymentStatus />\n </div>\n </div>\n <div className={styles.graphContainer}>\n <IncomeBrackets />\n </div>\n </div>\n ) : (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer} data-size={\"quarter\"}>\n <AverageIncome />\n </div>\n </div>\n )}\n </>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { UsersFourIcon } from \"@phosphor-icons/react\";\nimport * as styles from \"../../styles\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const TotalPopulation = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { population_total: populationTotal },\n } = useDemographics();\n\n const dataset = useMemo(\n () => populationTotal?.variables[0],\n [populationTotal?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.population.graphs.totalPopulation.title\"),\n values: [\n {\n variable: dataset?.variable || \"\",\n value: `${new Intl.NumberFormat(\"en-EN\").format(Math.round(dataset?.value || 0))}`,\n label: t(\"data.population.graphs.totalPopulation.title\"),\n icon: UsersFourIcon,\n },\n ],\n },\n }),\n [dataset],\n );\n\n return (\n <div className={styles.cardContainer}>\n <DemographicsTextCard {...chartOptions} />\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const PopulationByAgeGroup = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { population_age: populationAge },\n } = useDemographics();\n\n const populationAgeFormatted = useMemo(() => {\n if (!populationAge) {\n return null;\n }\n\n if (populationAge?.variables.length > 12) {\n const keys = populationAge?.variables.map((e) => {\n const labels = e.label.split(\" \");\n labels.splice(1, 1);\n\n return labels;\n });\n\n const mergedPopulation: {\n variable: string;\n value: number;\n label: string;\n }[] = [];\n\n keys.forEach((element, index) => {\n if (index === 0 || index % 2 === 0) {\n mergedPopulation.push({\n variable: `age_${element[0]}_${keys[index + 1][1]}`,\n value:\n populationAge.variables[index].value +\n populationAge.variables[index + 1].value,\n label: `${element[0]} to ${keys[index + 1][1]}`,\n });\n }\n });\n\n return mergedPopulation;\n }\n\n return populationAge.variables;\n }, [populationAge]);\n\n const dataset = useMemo(\n () => ({\n labels:\n populationAgeFormatted?.map((variable: Variable) => variable.label) ||\n [],\n data:\n populationAgeFormatted?.map((variable: Variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n }),\n [populationAgeFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.population.graphs.populationByAgeGroup.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { TotalPopulation } from \"./TotalPopulation\";\nimport { PopulationByAgeGroup } from \"./PopulationByAgeGroup\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nexport const Population = () => {\n const {\n demographicsState: { population_total: populationTotal },\n } = useDemographics();\n\n return (\n <div className={styles.graphLayoutWrapper}>\n {populationTotal && (\n <div className={styles.graphSideBySide}>\n <div className={styles.graphContainer}>\n <TotalPopulation />\n </div>\n </div>\n )}\n\n <div className={styles.graphContainer}>\n <PopulationByAgeGroup />\n </div>\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport * as styles from \"../../styles\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const HomeOwnershipType = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: {\n property_tenure: propertyTenure,\n housing_tenancy: housingTenancy,\n },\n } = useDemographics();\n\n // For the US, the name of the property changes\n const housingInfo = useMemo(\n () => housingTenancy || propertyTenure,\n [housingTenancy, propertyTenure],\n );\n\n const dataset = useMemo(\n () =>\n housingInfo?.variables.map((variable: Variable) => ({\n label: variable.label,\n data: Number((variable.value * 100).toFixed(1)),\n })) || [],\n [housingInfo?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.housing.graphs.homeOwnershipType.title\"),\n values: dataset.map((item) => ({\n variable: item.label.replace(\" \", \"_\"),\n label: item.label,\n value: `${item.data}%`,\n })),\n },\n }),\n [dataset],\n );\n\n return (\n <div className={styles.cardContainer}>\n <DemographicsTextCard {...chartOptions} />\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const TypeOfHousing = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { housing_type: housingType },\n } = useDemographics();\n\n const dataset = useMemo(\n () => ({\n labels: housingType?.variables.map((variable) => variable.label) || [],\n data:\n housingType?.variables.map((variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n }),\n [housingType?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.housing.graphs.typeOfHousing.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { HomeOwnershipType } from \"./HomeOwnershipType\";\nimport { TypeOfHousing } from \"./TypeOfHousing\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nexport const Housing = () => {\n const {\n demographicsState: {\n property_tenure: propertyTenure,\n housing_tenancy: housingTenancy,\n housing_type: housingType,\n },\n } = useDemographics();\n\n // For the US, the name of the property changes\n const housingInfo = housingTenancy || propertyTenure;\n\n return (\n <div className={styles.graphLayoutWrapper}>\n {housingInfo && (\n <div className={styles.graphSideBySide}>\n <div className={styles.graphContainer} data-size={\"half\"}>\n <HomeOwnershipType />\n </div>\n </div>\n )}\n {housingType && (\n <div className={styles.graphContainer} data-size={\"half\"}>\n <TypeOfHousing />\n </div>\n )}\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { UsersThreeIcon } from \"@phosphor-icons/react\";\n\nimport type { Variable } from \"@local-logic/client\";\n\nimport * as styles from \"../../styles\";\nimport { DonutChart } from \"~/components/deprecated\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nexport const HouseholdComposition = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { household_composition: householdComposition },\n } = useDemographics();\n\n const householdFormatted = useMemo(\n () =>\n householdComposition?.variables\n .map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter(\n (variable: Variable) => Number((variable.value * 100).toFixed(1)) > 0,\n ),\n [householdComposition?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n householdFormatted?.map(\n (variable: Variable) => `${variable.value}% ${variable.label}`,\n ) || [],\n data:\n householdFormatted?.map((variable: Variable) => variable.value) || [],\n }),\n [householdFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.household.graphs.householdComposition.title\"),\n labels: dataset.labels,\n data: dataset.data,\n icon: <UsersThreeIcon className={styles.donutChartIcon} />,\n }),\n [dataset],\n );\n\n return <DonutChart {...chartOptions}></DonutChart>;\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { HouseholdComposition } from \"./HouseholdComposition\";\n\nexport const Household = () => (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer} data-size={\"half\"}>\n <HouseholdComposition />\n </div>\n </div>\n);\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const EducationLevel = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { education_level: educationLevel },\n } = useDemographics();\n\n const dataset = useMemo(\n () => ({\n labels:\n educationLevel?.variables.map((variable: Variable) => variable.label) ||\n [],\n data:\n educationLevel?.variables.map((variable: Variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n }),\n [educationLevel?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.education.graphs.educationLevel.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { EducationLevel } from \"./EducationLevel\";\n\nexport const Education = () => (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer}>\n <EducationLevel />\n </div>\n </div>\n);\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { PathIcon } from \"@phosphor-icons/react\";\n\nimport type { Variable } from \"@local-logic/client\";\n\nimport * as styles from \"../../styles\";\nimport { DonutChart } from \"~/components/deprecated\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nexport const CommuteMode = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { commute_mode: commuteMode },\n } = useDemographics();\n\n const commuteFormatted = useMemo(\n () =>\n commuteMode?.variables\n .map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter(\n (variable: Variable) => Number((variable.value * 100).toFixed(1)) > 0,\n ),\n [commuteMode?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n commuteFormatted?.map(\n (variable: Variable) => `${variable.value}% ${variable.label}`,\n ) || [],\n data: commuteFormatted?.map((variable: Variable) => variable.value) || [],\n }),\n [commuteFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.commute.graphs.commuteMode.title\"),\n labels: dataset.labels,\n data: dataset.data,\n icon: <PathIcon className={styles.donutChartIcon} />,\n }),\n [dataset],\n );\n\n return <DonutChart {...chartOptions}></DonutChart>;\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { CommuteMode } from \"./CommuteMode\";\n\nexport const Commute = () => (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer} data-size={\"half\"}>\n <CommuteMode />\n </div>\n </div>\n);\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { TranslateIcon } from \"@phosphor-icons/react\";\n\nimport type { Variable } from \"@local-logic/client\";\n\nimport * as styles from \"../../styles\";\nimport { DonutChart } from \"~/components/deprecated\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nexport const SpokenLanguages = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { official_language_knowledge: oficialLanguages },\n } = useDemographics();\n\n const oficialLanguagesFormatted = useMemo(\n () =>\n oficialLanguages?.variables\n .map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter(\n (variable: Variable) => Number((variable.value * 100).toFixed(1)) > 0,\n ),\n [oficialLanguages?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n oficialLanguagesFormatted?.map(\n (variable: Variable) => `${variable.value}% ${variable.label}`,\n ) || [],\n data:\n oficialLanguagesFormatted?.map(\n (variable: Variable) => variable.value,\n ) || [],\n }),\n [oficialLanguagesFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.languages.graphs.spokenLanguages.title\"),\n labels: dataset.labels,\n data: dataset.data,\n icon: <TranslateIcon className={styles.donutChartIcon} />,\n }),\n [dataset],\n );\n\n return <DonutChart {...chartOptions}></DonutChart>;\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const MotherTongue = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { mother_tongue: motherTongue },\n } = useDemographics();\n\n // The reason for the code below is because at the moment we only want to display the first 10 languages.\n // This is because displaying more than 10 languages at a time doesnt fit and ChartJS end up hiding some of the values.\n // french_and non_official_language_s and english_and_non_official_language_s' are too long to be displayed on mobile\n // So they are being filtered out.\n const motherTongueFormatted = useMemo(\n () =>\n motherTongue?.variables\n .filter(\n (item) =>\n item.variable !== \"french_and_non_official_language_s\" &&\n item.variable !== \"english_and_non_official_language_s\",\n )\n .slice(0, 10)\n ?.map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter((variable: Variable) => variable.value > 0),\n [motherTongue?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n motherTongueFormatted?.map((variable: Variable) => variable.label) ||\n [],\n data:\n motherTongueFormatted?.map((variable: Variable) => variable.value) ||\n [],\n }),\n [motherTongueFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.languages.graphs.motherTongue.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { SpokenLanguages } from \"./SpokenLanguages\";\nimport { MotherTongue } from \"./MotherTongue\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nexport const Languages = () => {\n const {\n demographicsState: { official_language_knowledge: oficialLanguages },\n } = useDemographics();\n\n return (\n <div className={styles.graphLayoutWrapper}>\n {oficialLanguages && (\n <div className={styles.graphContainer} data-size={\"half\"}>\n <SpokenLanguages />\n </div>\n )}\n <div className={styles.graphContainer} data-size={\"half\"}>\n <MotherTongue />\n </div>\n </div>\n );\n};\n","import React from \"react\";\n\nexport const Root = ({ children }: { children: React.ReactNode }) => (\n <>{children}</>\n);\n\n// Export children\nexport { Income } from \"./Income\";\nexport { Population } from \"./Population\";\nexport { Housing } from \"./Housing\";\nexport { Household } from \"./Household\";\nexport { Education } from \"./Education\";\nexport { Commute } from \"./Commute\";\nexport { Languages } from \"./Languages\";\n","export const noDataElement = `\n bg-ll-surface px-3 pt-4 pb-3 rounded-sm box-border\n`;\n\nexport const spinner = `\n flex justify-center items-center \n px-3 pt-4 pb-3 height-[40px]\n`;\n","import React, { useEffect } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport * as DemographicsTabs from \"./DemographicsTabs\";\nimport * as ChartLayout from \"./ChartLayout\";\nimport * as styles from \"./styles\";\nimport { useDemographicsData } from \"~/hooks/useDemographicsData\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport {\n DEFAULT_RADIUS,\n DEFAULT_RADIUS_UNIT,\n} from \"~/sdks/LocalDemographics/constants\";\n\nimport { LoadingSpinner, Text } from \"~/components/deprecated\";\n\nexport const Content = () => {\n const { t } = useTranslation(\"localDemographics\");\n const { demographicsState, activeCategory, setDemographicsState } =\n useDemographics();\n const { data: demographicsData, isFetching: isDemographicsFetching } =\n useDemographicsData({\n lat: demographicsState.location.lat,\n lng: demographicsState.location.lng,\n radius: DEFAULT_RADIUS,\n radiusUnit: DEFAULT_RADIUS_UNIT,\n });\n\n useEffect(() => {\n if (!isDemographicsFetching && demographicsData) {\n setDemographicsState({\n ...demographicsData,\n });\n }\n }, [isDemographicsFetching]);\n\n const GetActiveTabContent = () => {\n if (isDemographicsFetching) {\n return (\n <div className={styles.spinner}>\n <LoadingSpinner />\n </div>\n );\n }\n\n if (demographicsData === undefined) {\n return (\n <div className={styles.noDataElement}>\n <Text variant=\"h6\" weight=\"--ll-font-weight-bold\">\n {t(\"noData\")}\n </Text>\n </div>\n );\n }\n\n switch (activeCategory) {\n case \"income\":\n return <ChartLayout.Income />;\n case \"population\":\n return <ChartLayout.Population />;\n case \"housing\":\n return <ChartLayout.Housing />;\n case \"household\":\n return <ChartLayout.Household />;\n case \"commute\":\n return <ChartLayout.Commute />;\n case \"education\":\n return <ChartLayout.Education />;\n case \"languages\":\n return <ChartLayout.Languages />;\n default:\n return <div>{activeCategory} tab</div>;\n }\n };\n\n return (\n <DemographicsTabs.Content options={{ value: activeCategory }}>\n <ChartLayout.Root>{GetActiveTabContent()}</ChartLayout.Root>\n </DemographicsTabs.Content>\n );\n};\n","export const container = `\n py-3 items-center grid\n grid-cols-1 md:grid-cols-[2fr_1fr] \n [&>a]:justify-end\n`;\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport * as styles from \"./styles\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { DEFAULT_RADIUS } from \"~/sdks/LocalDemographics/constants\";\n\nimport { Text } from \"~/components/deprecated\";\nimport { AttributionDeprecated as Attribution } from \"~/components/Attribution\";\n\nexport const Footer = () => {\n const { t } = useTranslation([\"localDemographics\", \"common\"]);\n const { demographicsState, locale, hideAttribution } = useDemographics();\n\n const { country } = demographicsState;\n\n const value = useMemo(\n () =>\n country === \"CAN\"\n ? DEFAULT_RADIUS\n : (DEFAULT_RADIUS * 0.000621371).toFixed(2),\n [country],\n );\n\n const unit = useMemo(\n () => t(`common:distance.${country === \"CAN\" ? \"meter\" : \"mile\"}`),\n [locale, country],\n );\n\n return (\n <div className={styles.container}>\n <Text\n noMargin\n variant=\"caption1\"\n color=\"--ll-color-on-background-variant1\"\n >\n {t(\"note\", { value, unit })}\n </Text>\n {!hideAttribution && (\n <Attribution sdkName=\"local-demographics\" locale={locale} />\n )}\n </div>\n );\n};\n","export const container = `\n flex flex-col flex-1 overflow-hidden box-border\n`;\n\n// Calculate height without the attribution and tabsroot\nexport const tabsRoot = `\n overflow-y-auto flex flex-col\n`;\n","import React from \"react\";\nimport \"~/assets/styles/old-tailwind.css\";\nimport { useTranslation } from \"react-i18next\";\nimport * as DemographicsTabs from \"./components/Content/DemographicsTabs\";\nimport { Content } from \"./components/Content\";\nimport { Footer } from \"./components/Footer\";\nimport { LocalDemographicsProvider } from \"./context\";\nimport * as styles from \"./styles\";\nimport { LocalDemographicsProps } from \"./types\";\nimport { TrackingProvider, initializeAnalytics } from \"~/tracking\";\nimport ResizeWrapper from \"~/components/ResizeWrapper\";\nimport { LocalLogicProvider } from \"~/context/LocalLogicProvider\";\nimport { useStateManagerContext } from \"~/context/stateManager\";\nimport useIsMobile from \"~/hooks/useIsMobile\";\nimport { ProductNames } from \"~/types\";\nimport { ANALYTICS_SETTINGS } from \"~/constants/analytics\";\nimport { TitleHeader } from \"~/components/TitleHeader\";\n\ninitializeAnalytics(ANALYTICS_SETTINGS.localDemographics.key);\n\nconst LocalDemographics = () => {\n const { t } = useTranslation(\"localDemographics\");\n const { sdkState } = useStateManagerContext<LocalDemographicsProps>();\n const isMobile = useIsMobile();\n\n return (\n <ResizeWrapper>\n <LocalLogicProvider\n environment={sdkState.globalOptions?.environment?.api}\n apiKey={sdkState.apiKey}\n appearance={sdkState.globalOptions?.appearance}\n locale={sdkState.globalOptions?.locale}\n product={ProductNames.LOCAL_DEMOGRAPHICS}\n >\n <TrackingProvider\n trackingPipelineSettings={{\n apiKey: sdkState.apiKey || \"\",\n }}\n analyticsSettings={ANALYTICS_SETTINGS.localDemographics}\n meta={{\n clientId: sdkState.clientId,\n productName: ProductNames.LOCAL_DEMOGRAPHICS,\n productVersion: FULL_APP_VERSION,\n }}\n attributes={{\n location: {\n lat: sdkState.options?.lat,\n lng: sdkState.options?.lng,\n },\n host: sdkState.location,\n host_url: document.referrer,\n locale: sdkState.globalOptions?.locale,\n isMobile,\n }}\n flags={{\n isDebugMode:\n import.meta.env.VITE_TRACKING_PIPELINE_DEBUG === \"true\",\n }}\n >\n <LocalDemographicsProvider>\n <div className={styles.container}>\n <div className={styles.tabsRoot}>\n <TitleHeader\n title={\n typeof sdkState.options?.title === \"string\" ||\n sdkState.options?.title === false\n ? sdkState.options.title\n : t(\"title\")\n }\n />\n {!isMobile ? (\n <DemographicsTabs.Tabs />\n ) : (\n <DemographicsTabs.Select />\n )}\n <Content />\n <Footer />\n </div>\n </div>\n </LocalDemographicsProvider>\n </TrackingProvider>\n </LocalLogicProvider>\n </ResizeWrapper>\n );\n};\n\nexport default LocalDemographics;\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LocalDemographics-legacy-rmGYdILu.js","names":["r","l"],"sources":["../../../../node_modules/@phosphor-icons/react/dist/defs/Wallet.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/Wallet.es.js","../../src/sdks/LocalDemographics/components/Content/DemographicsTabs/Root/context.tsx","../../src/sdks/LocalDemographics/components/Content/DemographicsTabs/Root/Content/index.tsx","../../src/sdks/LocalDemographics/components/Content/DemographicsTabs/Root/Tabs/styles.ts","../../src/sdks/LocalDemographics/constants.ts","../../src/sdks/LocalDemographics/components/Content/DemographicsTabs/Root/Tabs/index.tsx","../../src/sdks/LocalDemographics/components/Content/DemographicsTabs/Root/Select/styles.ts","../../src/sdks/LocalDemographics/components/Content/DemographicsTabs/Root/Select/index.tsx","../../src/sdks/LocalDemographics/components/Content/DemographicsTabs/Root/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/styles.ts","../../src/sdks/LocalDemographics/types.ts","../../src/sdks/LocalDemographics/schema.ts","../../src/sdks/LocalDemographics/context.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Income/AverageIncome/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Income/EmploymentStatus/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Income/IncomeBrackets/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Income/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Population/TotalPopulation/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Population/PopulationByAgeGroup/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Population/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Housing/HomeOwnershipType/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Housing/TypeOfHousing/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Housing/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Household/HouseholdComposition/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Household/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Education/EducationLevel/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Education/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Commute/CommuteMode/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Commute/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Languages/SpokenLanguages/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Languages/MotherTongue/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/Languages/index.tsx","../../src/sdks/LocalDemographics/components/Content/ChartLayout/Root/index.tsx","../../src/sdks/LocalDemographics/components/Content/styles.ts","../../src/sdks/LocalDemographics/components/Content/index.tsx","../../src/sdks/LocalDemographics/components/Footer/styles.ts","../../src/sdks/LocalDemographics/components/Footer/index.tsx","../../src/sdks/LocalDemographics/styles.ts","../../src/sdks/LocalDemographics/index.tsx"],"sourcesContent":["import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M196,136a16,16,0,1,1-16-16A16,16,0,0,1,196,136Zm40-36v80a32,32,0,0,1-32,32H60a32,32,0,0,1-32-32V60.92A32,32,0,0,1,60,28H192a12,12,0,0,1,0,24H60a8,8,0,0,0-8,8.26v.08A8.32,8.32,0,0,0,60.48,68H204A32,32,0,0,1,236,100Zm-24,0a8,8,0,0,0-8-8H60.48A33.72,33.72,0,0,1,52,90.92V180a8,8,0,0,0,8,8H204a8,8,0,0,0,8-8Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M224,80V192a8,8,0,0,1-8,8H56a16,16,0,0,1-16-16V56A16,16,0,0,0,56,72H216A8,8,0,0,1,224,80Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,64H56a8,8,0,0,1,0-16H192a8,8,0,0,0,0-16H56A24,24,0,0,0,32,56V184a24,24,0,0,0,24,24H216a16,16,0,0,0,16-16V80A16,16,0,0,0,216,64Zm0,128H56a8,8,0,0,1-8-8V78.63A23.84,23.84,0,0,0,56,80H216Zm-48-60a12,12,0,1,1,12,12A12,12,0,0,1,168,132Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,64H56a8,8,0,0,1,0-16H192a8,8,0,0,0,0-16H56A24,24,0,0,0,32,56V184a24,24,0,0,0,24,24H216a16,16,0,0,0,16-16V80A16,16,0,0,0,216,64Zm-36,80a12,12,0,1,1,12-12A12,12,0,0,1,180,144Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,66H56a10,10,0,0,1,0-20H192a6,6,0,0,0,0-12H56A22,22,0,0,0,34,56V184a22,22,0,0,0,22,22H216a14,14,0,0,0,14-14V80A14,14,0,0,0,216,66Zm2,126a2,2,0,0,1-2,2H56a10,10,0,0,1-10-10V75.59A21.84,21.84,0,0,0,56,78H216a2,2,0,0,1,2,2Zm-28-60a10,10,0,1,1-10-10A10,10,0,0,1,190,132Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,64H56a8,8,0,0,1,0-16H192a8,8,0,0,0,0-16H56A24,24,0,0,0,32,56V184a24,24,0,0,0,24,24H216a16,16,0,0,0,16-16V80A16,16,0,0,0,216,64Zm0,128H56a8,8,0,0,1-8-8V78.63A23.84,23.84,0,0,0,56,80H216Zm-48-60a12,12,0,1,1,12,12A12,12,0,0,1,168,132Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,68H56a12,12,0,0,1,0-24H192a4,4,0,0,0,0-8H56A20,20,0,0,0,36,56V184a20,20,0,0,0,20,20H216a12,12,0,0,0,12-12V80A12,12,0,0,0,216,68Zm4,124a4,4,0,0,1-4,4H56a12,12,0,0,1-12-12V72a19.86,19.86,0,0,0,12,4H216a4,4,0,0,1,4,4Zm-32-60a8,8,0,1,1-8-8A8,8,0,0,1,188,132Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nimport r from \"../lib/IconBase.es.js\";\nimport l from \"../defs/Wallet.es.js\";\nconst o = e.forwardRef((t, a) => /* @__PURE__ */ e.createElement(r, { ref: a, ...t, weights: l }));\no.displayName = \"WalletIcon\";\nconst s = o;\nexport {\n s as Wallet,\n o as WalletIcon\n};\n","import React, { useContext } from \"react\";\nimport { RootProps } from \"./types\";\n\nexport type DefaultContext = RootProps;\n\nconst RootElementContext = React.createContext<DefaultContext>(\n {} as DefaultContext,\n);\nconst useRootElement = () => useContext(RootElementContext);\n\nexport { useRootElement, RootElementContext };\n","import React from \"react\";\nimport * as Tabs from \"@radix-ui/react-tabs\";\nimport { ContentProps } from \"./types\";\n\nexport const Content = ({\n children,\n options: { value, style },\n}: ContentProps) => (\n <Tabs.Content value={value} key={value} style={style}>\n {children}\n </Tabs.Content>\n);\n","export const tabsList = `\n grid\n auto-cols-[minmax(0,80px)]\n grid-flow-col\n px-0 py-4\n`;\n\nexport const trigger = `\n bg-none\n border-none\n p-1\n flex\n flex-col\n items-center\n hover:cursor-pointer\n fill-ll-disabled\n text-ll-disabled\n hover:fill-ll-primary\n hover:text-ll-primary\n [&>div]:fill-inherit\n [&>div]:text-inherit\n data-[active=true]:fill-ll-primary\n data-[active=true]:text-ll-primary\n`;\n\nexport const icon = `\n w-6 h-6\n fill-inherit\n`;\nexport const tabText = `\n m-0 font-semibold\n text-ll-font-size-caption-1\n text-inherit\n`;\n","import type { DemographicsCategory } from \"./types\";\n\nexport const DEFAULT_RADIUS = 400;\nexport const DEFAULT_RADIUS_UNIT = \"meter\";\n\nexport const AVAILABLE_TABS: DemographicsCategory[] = [\n \"income\",\n \"population\",\n \"housing\",\n \"household\",\n \"education\",\n \"commute\",\n \"languages\",\n];\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n type Icon,\n WalletIcon,\n UsersFourIcon,\n BuildingsIcon,\n UsersThreeIcon,\n GraduationCapIcon,\n PathIcon,\n TranslateIcon,\n} from \"@phosphor-icons/react\";\nimport * as Tab from \"@radix-ui/react-tabs\";\nimport { useRootElement } from \"../context\";\nimport * as styles from \"./styles\";\nimport { AVAILABLE_TABS } from \"~/sdks/LocalDemographics/constants\";\n\nexport const tabIcons: {\n [key: string]: Icon;\n} = {\n income: WalletIcon,\n population: UsersFourIcon,\n housing: BuildingsIcon,\n household: UsersThreeIcon,\n education: GraduationCapIcon,\n commute: PathIcon,\n languages: TranslateIcon,\n};\n\nexport const Tabs = () => {\n const { t } = useTranslation(\"localDemographics\");\n const { options } = useRootElement();\n\n let activeCategories = AVAILABLE_TABS;\n\n if (options.omitTabs) {\n activeCategories = AVAILABLE_TABS.filter(\n (category) => !options.omitTabs?.includes(category),\n );\n }\n\n return (\n <Tab.List className={styles.tabsList} aria-label=\"Demographics tabs\">\n {activeCategories.map((tab) => {\n const isActive = tab === options.activeTab;\n const Icon = tabIcons[tab];\n\n return (\n <React.Fragment key={tab}>\n <Tab.Trigger\n data-active={isActive}\n className={styles.trigger}\n value={tab}\n >\n <Icon className={styles.icon} />\n <p className={styles.tabText}>{t(`data.${tab}.title`)}</p>\n </Tab.Trigger>\n </React.Fragment>\n );\n })}\n </Tab.List>\n );\n};\n","export const selectContainer = `\n flex\n py-4 px-0\n z-[4]\n`;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRootElement } from \"../context\";\nimport * as styles from \"./styles\";\nimport { Select as UISelect, Text } from \"~/components/deprecated\";\nimport { AVAILABLE_TABS } from \"~/sdks/LocalDemographics/constants\";\nimport { DemographicsCategory } from \"~/sdks/LocalDemographics/types\";\n\nexport const Select = () => {\n const { t } = useTranslation(\"localDemographics\");\n const { options, onChange } = useRootElement();\n\n let activeCategories = AVAILABLE_TABS;\n\n if (options.omitTabs) {\n activeCategories = AVAILABLE_TABS.filter(\n (category) => !options.omitTabs?.includes(category),\n );\n }\n\n return (\n <div className={styles.selectContainer}>\n <UISelect.Root\n value={options.activeTab}\n onValueChange={(value: DemographicsCategory) => {\n onChange({ type: \"tabs\", data: value });\n }}\n >\n <UISelect.Trigger size=\"large\">\n <Text noMargin variant=\"h6\" color=\"--ll-color-placeholder\">\n {t(`data.${options.activeTab}.title`)}\n </Text>\n </UISelect.Trigger>\n <UISelect.Content>\n {activeCategories.map((category) => (\n <UISelect.Item value={category} key={category}>\n <Text noMargin variant=\"h6\">\n {t(`data.${category}.title`)}\n </Text>\n </UISelect.Item>\n ))}\n </UISelect.Content>\n </UISelect.Root>\n </div>\n );\n};\n","import React from \"react\";\nimport * as Tabs from \"@radix-ui/react-tabs\";\nimport { RootProps } from \"./types\";\nimport { RootElementContext } from \"./context\";\nimport type { DemographicsCategory } from \"~/sdks/LocalDemographics/types\";\n\nexport const Root = ({ options, onChange, children }: RootProps) => {\n const handleOnChange = (value: string) => {\n onChange({ type: \"tabs\", data: value as DemographicsCategory });\n };\n\n return (\n <RootElementContext.Provider\n value={{\n options,\n onChange,\n }}\n >\n <Tabs.Root value={options.activeTab} onValueChange={handleOnChange}>\n {children}\n </Tabs.Root>\n </RootElementContext.Provider>\n );\n};\n\n// Export children\nexport { Content } from \"./Content\";\nexport { Tabs } from \"./Tabs\";\nexport { Select } from \"./Select\";\n","export const graphLayoutWrapper = `\n flex flex-col justify-start self-stretch items-stretch\n md:justify-between md:flex-row gap-3\n`;\n\nexport const graphSideBySide = `\n flex justify-between gap-3 flex-row min-w-[250px]\n md:flex-col items-stretch\n`;\n\nexport const graphContainer = `\n w-full md:min-h-[240px]\n flex flex-col self-stretch\n`;\n\nexport const donutChartIcon = `text-ll-primary w-2/4 h-2/4`;\n\nexport const cardContainer = `min-h-36 h-full`;\n","import { SDKOptions } from \"../../types/options\";\n\nexport type DemographicsCategory =\n | \"income\"\n | \"population\"\n | \"housing\"\n | \"household\"\n | \"education\"\n | \"commute\"\n | \"languages\";\n\nexport type Options = {\n lat?: number;\n lng?: number;\n title?: boolean | string;\n defaultTab?: DemographicsCategory;\n hideAttribution?: boolean;\n};\n\nexport type LocalDemographicsProps = SDKOptions<\n Options,\n {\n options: Options | undefined;\n }\n>;\n\nexport enum TrackingPipelineEvents {\n SDK_VIEWED = \"LD-Viewed\",\n TAB_CLICKED = \"LD-Tab-Clicked\",\n}\n\n// Why are these named differently?\n// https://docs.mixpanel.com/docs/data-structure/events-and-properties#name-events-and-properties-consistently\nexport enum AnalyticsEvents {\n SDK_VIEWED = \"sdk_viewed\",\n CATEGORY_SELECTED = \"category_selected\",\n}\n","import { number, object, ObjectSchema, mixed, boolean } from \"yup\";\nimport type { DemographicsCategory, Options } from \"./types\";\n\nexport const schema: ObjectSchema<Options> = object({\n lat: number()\n .min(-90, \"Must be a valid latitude.\")\n .max(90, \"Must be a valid latitude.\")\n .required(),\n lng: number()\n .min(-180, \"Must be a valid longitude.\")\n .max(180, \"Must be a valid longitude.\")\n .required(),\n title: mixed<string | boolean>().optional(),\n defaultTab: mixed<DemographicsCategory>().optional(),\n hideAttribution: boolean().optional(),\n}).noUnknown(true);\n\nexport const validateOptions = (options: Options) =>\n schema.validate(options, { abortEarly: false });\n","import React, {\n useContext,\n useState,\n useMemo,\n useReducer,\n useEffect,\n} from \"react\";\nimport { type Demographics } from \"@local-logic/client\";\nimport { ValidationError } from \"yup\";\nimport {\n type DemographicsCategory,\n type LocalDemographicsProps,\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"./types\";\nimport * as DemographicsTabs from \"./components/Content/DemographicsTabs\";\nimport { validateOptions } from \"./schema\";\nimport { AVAILABLE_TABS } from \"./constants\";\nimport { useTracking } from \"~/tracking\";\nimport { theme } from \"~/components/deprecated\";\nimport errorTracker from \"~/utils/errorTracker\";\nimport { useLocation } from \"~/hooks/useLocation\";\nimport useEffectOnce from \"~/hooks/useEffectOnce\";\nimport { useStateManagerContext } from \"~/context/stateManager\";\n\nexport interface State {\n education_level?: Demographics[\"education_level\"];\n employment_status?: Demographics[\"employment_status\"];\n commute_mode?: Demographics[\"commute_mode\"];\n household_composition?: Demographics[\"household_composition\"];\n income?: Demographics[\"income\"];\n income_stats?: Demographics[\"income_stats\"];\n income_level?: Demographics[\"income_level\"];\n population_age?: Demographics[\"population_age\"];\n population_total?: Demographics[\"population_total\"];\n housing_tenancy?: Demographics[\"housing_tenancy\"];\n housing_type?: Demographics[\"housing_type\"];\n property_tenure?: Demographics[\"property_tenure\"];\n mother_tongue?: Demographics[\"mother_tongue\"];\n official_language_knowledge?: Demographics[\"official_language_knowledge\"];\n location: {\n lat: number;\n lng: number;\n };\n country: string;\n}\n\ntype Action = Partial<State>;\n\nexport type DefaultContext = {\n country: string;\n demographicsState: State;\n setDemographicsState: React.Dispatch<Action>;\n activeCategory: DemographicsCategory;\n setActiveCategory: (value: DemographicsCategory) => void;\n locale: \"en\" | \"fr\";\n hideAttribution?: boolean;\n};\n\nconst DemographicsContext = React.createContext<DefaultContext>(\n {} as DefaultContext,\n);\nconst useDemographics = () => useContext(DemographicsContext);\n\nconst LocalDemographicsProvider = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const tracking = useTracking();\n const { sdkState } = useStateManagerContext<LocalDemographicsProps>();\n const [activeCategory, setActiveCategory] = useState(\n sdkState.options?.defaultTab &&\n AVAILABLE_TABS.includes(sdkState.options?.defaultTab)\n ? sdkState.options?.defaultTab\n : AVAILABLE_TABS[0],\n );\n const [validated, setValidated] = useState<boolean>(false);\n const [validationErrors, setValidationErrors] = useState<string[]>([]);\n const {\n data: { country },\n isLoading,\n } = useLocation({\n lat: sdkState.options?.lat,\n lng: sdkState.options?.lng,\n });\n\n useEffectOnce(() => {\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SDK_VIEWED,\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.SDK_VIEWED,\n });\n });\n\n const [demographicsState, setDemographicsState] = useReducer(\n (state: State, action: Action) => ({\n ...state,\n ...action,\n }),\n {\n location: {\n lat: sdkState.options?.lat || 43.661337,\n lng: sdkState.options?.lng || -79.401903,\n },\n country: \"CAN\",\n },\n );\n\n useEffect(() => {\n if (!sdkState) {\n return;\n }\n\n setDemographicsState({\n ...demographicsState,\n country,\n });\n }, [sdkState, country]);\n\n useEffectOnce(() => {\n const validate = async () => {\n try {\n errorTracker.addBreadCrumb(\n \"LocalDemographicsProvider\",\n \"Validating state options\",\n {\n options: sdkState.options!,\n },\n );\n\n await validateOptions(sdkState.options!);\n setValidated(true);\n } catch (error) {\n const validationError = error as ValidationError;\n setValidationErrors(validationError.errors);\n\n errorTracker.addBreadCrumb(\n \"LocalDemographicsProvider\",\n \"State option validation failed\",\n {\n errors: validationError.errors,\n },\n );\n }\n };\n\n if (!validated) {\n validate();\n }\n });\n\n const contextValue = useMemo(\n () => ({\n country,\n demographicsState,\n setDemographicsState,\n activeCategory,\n setActiveCategory,\n locale: sdkState.globalOptions?.locale || \"en\",\n hideAttribution: sdkState.options?.hideAttribution,\n }),\n [\n country,\n activeCategory,\n setActiveCategory,\n demographicsState,\n setDemographicsState,\n sdkState.globalOptions,\n sdkState.options?.hideAttribution,\n ],\n );\n\n const handleTabsChange = (value: {\n type: \"tabs\";\n data: DemographicsCategory;\n }) => {\n setActiveCategory(value.data);\n errorTracker.addBreadCrumb(\n \"LocalDemographicsProvider\",\n \"handleTabsChange\",\n {\n value,\n },\n );\n tracking.postEvent({\n eventType: TrackingPipelineEvents.TAB_CLICKED,\n eventAttributes: [\n {\n label: \"activeCategory\",\n data: value.data,\n },\n ],\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.CATEGORY_SELECTED,\n eventAttributes: {\n ll_selected_category: value.data,\n },\n });\n };\n\n const omitTabs = useMemo(() => {\n const tabsToOmit: string[] = [];\n const dataKeys = {\n income: \"income\",\n population: \"population_age\",\n housing: \"housing_tenancy\",\n household: \"household_composition\",\n education: \"education_level\",\n commute: \"commute_mode\",\n languages: \"mother_tongue\",\n };\n\n Object.entries(dataKeys).forEach(([key, value]) => {\n if (!Object.keys(demographicsState).includes(value)) {\n tabsToOmit.push(key);\n }\n });\n\n errorTracker.addBreadCrumb(\n \"LocalDemographicsProvider\",\n \"Updated tabs to omit\",\n {\n tabsToOmit,\n },\n );\n\n return tabsToOmit;\n }, [demographicsState]);\n\n if (!validated) {\n if (validationErrors.length) {\n const error = \"Could not load Demographics\";\n\n console.error(`${error}: ${validationErrors.join(\", \")}`);\n return <p>{error}</p>;\n }\n\n return <></>;\n }\n\n return (\n <DemographicsContext.Provider value={contextValue}>\n <DemographicsTabs.Root\n options={{ activeTab: activeCategory, omitTabs }}\n onChange={handleTabsChange}\n >\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n background: `${theme[\"--ll-color-background\"]}`,\n padding: `${theme[\"--ll-spacing-xx-small\"]} ${theme[\"--ll-spacing-small\"]} 0`,\n borderRadius: `${theme[\"--ll-border-radius-medium\"]}`,\n }}\n >\n {!isLoading && children}\n </div>\n </DemographicsTabs.Root>\n </DemographicsContext.Provider>\n );\n};\n\nexport { useDemographics, LocalDemographicsProvider };\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport * as styles from \"../../styles\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const AverageIncome = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n country,\n demographicsState: { income },\n } = useDemographics();\n\n const incomeTypes = useMemo(\n () =>\n income?.variables.slice().reverse() || [\n {\n variable: \"avg_individual_income\",\n label: \"Avg individual income\",\n value:\n income?.variables?.find((x) => x.variable === \"inc_person\")\n ?.value || 0.0,\n },\n {\n variable: \"avg_household_income\",\n label: \"Avg household income\",\n value:\n income?.variables?.find((x) => x.variable === \"inc_home\")?.value ||\n 0.0,\n },\n ],\n [income?.variables],\n );\n\n /**\n * Intl.NumberFormat does a good job at displaying currency.\n *\n * We USD for the currency so that it formats to have a $ at the start of the amount.\n * If we put CAD, it will output as CAD$\n */\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.income.graphs.averageIncome.title\", {\n context: country,\n }),\n values: incomeTypes.map((incomeType) => {\n let label = \"\";\n\n if (incomeType.variable === \"avg_household_income\") {\n label = t(\n \"data.income.graphs.averageIncome.types.avgHouseholdIncome\",\n { context: country },\n );\n }\n\n if (incomeType.variable === \"avg_individual_income\") {\n label = t(\n \"data.income.graphs.averageIncome.types.avgIndividualIncome\",\n { context: country },\n );\n }\n\n return {\n variable: incomeType.variable,\n value: `${new Intl.NumberFormat(\"en-EN\", {\n style: \"currency\",\n currency: \"USD\",\n maximumFractionDigits: 1,\n }).format(incomeType.value / 1000)}${\n incomeType.value >= 1000 ? \"k\" : \"\"\n }`,\n label,\n };\n }),\n },\n }),\n [incomeTypes],\n );\n\n return (\n <div className={styles.cardContainer}>\n <DemographicsTextCard {...chartOptions} />\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport * as styles from \"../../styles\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const EmploymentStatus = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { employment_status: employmentStatus },\n } = useDemographics();\n\n const datasets = useMemo(\n () =>\n employmentStatus?.variables.map((variable: Variable) => ({\n label: variable.label,\n data: Number((variable.value * 100).toFixed(1)),\n })) || [],\n [employmentStatus?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.income.graphs.employment.title\"),\n values: datasets.map((item) => ({\n variable: item.label.replace(\" \", \"_\"),\n label: item.label,\n value: `${item.data}%`,\n })),\n },\n }),\n [datasets],\n );\n\n if (!employmentStatus) {\n return null;\n }\n\n return (\n <div className={styles.cardContainer}>\n <DemographicsTextCard {...chartOptions} />\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const IncomeBrackets = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { income_level: incomeLevel },\n } = useDemographics();\n\n const dataset = useMemo(\n () => ({\n labels: incomeLevel?.variables.map((variable) => variable.label) || [],\n data:\n incomeLevel?.variables.map((variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n }),\n [incomeLevel?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.income.graphs.incomeBrackets.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { AverageIncome } from \"./AverageIncome\";\n\nimport { EmploymentStatus } from \"./EmploymentStatus\";\nimport { IncomeBrackets } from \"./IncomeBrackets\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nexport const Income = () => {\n const {\n demographicsState: { income_level: incomeLevel },\n } = useDemographics();\n\n // Employment status and Income level only available in the USA\n return (\n <>\n {incomeLevel ? (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphSideBySide}>\n <div className={styles.graphContainer}>\n <AverageIncome />\n </div>\n <div className={styles.graphContainer}>\n <EmploymentStatus />\n </div>\n </div>\n <div className={styles.graphContainer}>\n <IncomeBrackets />\n </div>\n </div>\n ) : (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer} data-size={\"quarter\"}>\n <AverageIncome />\n </div>\n </div>\n )}\n </>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { UsersFourIcon } from \"@phosphor-icons/react\";\nimport * as styles from \"../../styles\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const TotalPopulation = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { population_total: populationTotal },\n } = useDemographics();\n\n const dataset = useMemo(\n () => populationTotal?.variables[0],\n [populationTotal?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.population.graphs.totalPopulation.title\"),\n values: [\n {\n variable: dataset?.variable || \"\",\n value: `${new Intl.NumberFormat(\"en-EN\").format(Math.round(dataset?.value || 0))}`,\n label: t(\"data.population.graphs.totalPopulation.title\"),\n icon: UsersFourIcon,\n },\n ],\n },\n }),\n [dataset],\n );\n\n return (\n <div className={styles.cardContainer}>\n <DemographicsTextCard {...chartOptions} />\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const PopulationByAgeGroup = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { population_age: populationAge },\n } = useDemographics();\n\n const populationAgeFormatted = useMemo(() => {\n if (!populationAge) {\n return null;\n }\n\n if (populationAge?.variables.length > 12) {\n const keys = populationAge?.variables.map((e) => {\n const labels = e.label.split(\" \");\n labels.splice(1, 1);\n\n return labels;\n });\n\n const mergedPopulation: {\n variable: string;\n value: number;\n label: string;\n }[] = [];\n\n keys.forEach((element, index) => {\n if (index === 0 || index % 2 === 0) {\n mergedPopulation.push({\n variable: `age_${element[0]}_${keys[index + 1][1]}`,\n value:\n populationAge.variables[index].value +\n populationAge.variables[index + 1].value,\n label: `${element[0]} to ${keys[index + 1][1]}`,\n });\n }\n });\n\n return mergedPopulation;\n }\n\n return populationAge.variables;\n }, [populationAge]);\n\n const dataset = useMemo(\n () => ({\n labels:\n populationAgeFormatted?.map((variable: Variable) => variable.label) ||\n [],\n data:\n populationAgeFormatted?.map((variable: Variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n }),\n [populationAgeFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.population.graphs.populationByAgeGroup.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { TotalPopulation } from \"./TotalPopulation\";\nimport { PopulationByAgeGroup } from \"./PopulationByAgeGroup\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nexport const Population = () => {\n const {\n demographicsState: { population_total: populationTotal },\n } = useDemographics();\n\n return (\n <div className={styles.graphLayoutWrapper}>\n {populationTotal && (\n <div className={styles.graphSideBySide}>\n <div className={styles.graphContainer}>\n <TotalPopulation />\n </div>\n </div>\n )}\n\n <div className={styles.graphContainer}>\n <PopulationByAgeGroup />\n </div>\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport * as styles from \"../../styles\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const HomeOwnershipType = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: {\n property_tenure: propertyTenure,\n housing_tenancy: housingTenancy,\n },\n } = useDemographics();\n\n // For the US, the name of the property changes\n const housingInfo = useMemo(\n () => housingTenancy || propertyTenure,\n [housingTenancy, propertyTenure],\n );\n\n const dataset = useMemo(\n () =>\n housingInfo?.variables.map((variable: Variable) => ({\n label: variable.label,\n data: Number((variable.value * 100).toFixed(1)),\n })) || [],\n [housingInfo?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.housing.graphs.homeOwnershipType.title\"),\n values: dataset.map((item) => ({\n variable: item.label.replace(\" \", \"_\"),\n label: item.label,\n value: `${item.data}%`,\n })),\n },\n }),\n [dataset],\n );\n\n return (\n <div className={styles.cardContainer}>\n <DemographicsTextCard {...chartOptions} />\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const TypeOfHousing = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { housing_type: housingType },\n } = useDemographics();\n\n const dataset = useMemo(\n () => ({\n labels: housingType?.variables.map((variable) => variable.label) || [],\n data:\n housingType?.variables.map((variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n }),\n [housingType?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.housing.graphs.typeOfHousing.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { HomeOwnershipType } from \"./HomeOwnershipType\";\nimport { TypeOfHousing } from \"./TypeOfHousing\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nexport const Housing = () => {\n const {\n demographicsState: {\n property_tenure: propertyTenure,\n housing_tenancy: housingTenancy,\n housing_type: housingType,\n },\n } = useDemographics();\n\n // For the US, the name of the property changes\n const housingInfo = housingTenancy || propertyTenure;\n\n return (\n <div className={styles.graphLayoutWrapper}>\n {housingInfo && (\n <div className={styles.graphSideBySide}>\n <div className={styles.graphContainer} data-size={\"half\"}>\n <HomeOwnershipType />\n </div>\n </div>\n )}\n {housingType && (\n <div className={styles.graphContainer} data-size={\"half\"}>\n <TypeOfHousing />\n </div>\n )}\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { UsersThreeIcon } from \"@phosphor-icons/react\";\n\nimport type { Variable } from \"@local-logic/client\";\n\nimport * as styles from \"../../styles\";\nimport { DonutChart } from \"~/components/deprecated\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nexport const HouseholdComposition = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { household_composition: householdComposition },\n } = useDemographics();\n\n const householdFormatted = useMemo(\n () =>\n householdComposition?.variables\n .map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter(\n (variable: Variable) => Number((variable.value * 100).toFixed(1)) > 0,\n ),\n [householdComposition?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n householdFormatted?.map(\n (variable: Variable) => `${variable.value}% ${variable.label}`,\n ) || [],\n data:\n householdFormatted?.map((variable: Variable) => variable.value) || [],\n }),\n [householdFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.household.graphs.householdComposition.title\"),\n labels: dataset.labels,\n data: dataset.data,\n icon: <UsersThreeIcon className={styles.donutChartIcon} />,\n }),\n [dataset],\n );\n\n return <DonutChart {...chartOptions}></DonutChart>;\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { HouseholdComposition } from \"./HouseholdComposition\";\n\nexport const Household = () => (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer} data-size={\"half\"}>\n <HouseholdComposition />\n </div>\n </div>\n);\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const EducationLevel = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { education_level: educationLevel },\n } = useDemographics();\n\n const dataset = useMemo(\n () => ({\n labels:\n educationLevel?.variables.map((variable: Variable) => variable.label) ||\n [],\n data:\n educationLevel?.variables.map((variable: Variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n }),\n [educationLevel?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.education.graphs.educationLevel.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { EducationLevel } from \"./EducationLevel\";\n\nexport const Education = () => (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer}>\n <EducationLevel />\n </div>\n </div>\n);\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { PathIcon } from \"@phosphor-icons/react\";\n\nimport type { Variable } from \"@local-logic/client\";\n\nimport * as styles from \"../../styles\";\nimport { DonutChart } from \"~/components/deprecated\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nexport const CommuteMode = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { commute_mode: commuteMode },\n } = useDemographics();\n\n const commuteFormatted = useMemo(\n () =>\n commuteMode?.variables\n .map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter(\n (variable: Variable) => Number((variable.value * 100).toFixed(1)) > 0,\n ),\n [commuteMode?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n commuteFormatted?.map(\n (variable: Variable) => `${variable.value}% ${variable.label}`,\n ) || [],\n data: commuteFormatted?.map((variable: Variable) => variable.value) || [],\n }),\n [commuteFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.commute.graphs.commuteMode.title\"),\n labels: dataset.labels,\n data: dataset.data,\n icon: <PathIcon className={styles.donutChartIcon} />,\n }),\n [dataset],\n );\n\n return <DonutChart {...chartOptions}></DonutChart>;\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { CommuteMode } from \"./CommuteMode\";\n\nexport const Commute = () => (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer} data-size={\"half\"}>\n <CommuteMode />\n </div>\n </div>\n);\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { TranslateIcon } from \"@phosphor-icons/react\";\n\nimport type { Variable } from \"@local-logic/client\";\n\nimport * as styles from \"../../styles\";\nimport { DonutChart } from \"~/components/deprecated\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nexport const SpokenLanguages = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { official_language_knowledge: oficialLanguages },\n } = useDemographics();\n\n const oficialLanguagesFormatted = useMemo(\n () =>\n oficialLanguages?.variables\n .map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter(\n (variable: Variable) => Number((variable.value * 100).toFixed(1)) > 0,\n ),\n [oficialLanguages?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n oficialLanguagesFormatted?.map(\n (variable: Variable) => `${variable.value}% ${variable.label}`,\n ) || [],\n data:\n oficialLanguagesFormatted?.map(\n (variable: Variable) => variable.value,\n ) || [],\n }),\n [oficialLanguagesFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.languages.graphs.spokenLanguages.title\"),\n labels: dataset.labels,\n data: dataset.data,\n icon: <TranslateIcon className={styles.donutChartIcon} />,\n }),\n [dataset],\n );\n\n return <DonutChart {...chartOptions}></DonutChart>;\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const MotherTongue = () => {\n const { t } = useTranslation(\"localDemographics\");\n const {\n demographicsState: { mother_tongue: motherTongue },\n } = useDemographics();\n\n // The reason for the code below is because at the moment we only want to display the first 10 languages.\n // This is because displaying more than 10 languages at a time doesnt fit and ChartJS end up hiding some of the values.\n // french_and non_official_language_s and english_and_non_official_language_s' are too long to be displayed on mobile\n // So they are being filtered out.\n const motherTongueFormatted = useMemo(\n () =>\n motherTongue?.variables\n .filter(\n (item) =>\n item.variable !== \"french_and_non_official_language_s\" &&\n item.variable !== \"english_and_non_official_language_s\",\n )\n .slice(0, 10)\n ?.map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter((variable: Variable) => variable.value > 0),\n [motherTongue?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n motherTongueFormatted?.map((variable: Variable) => variable.label) ||\n [],\n data:\n motherTongueFormatted?.map((variable: Variable) => variable.value) ||\n [],\n }),\n [motherTongueFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.languages.graphs.motherTongue.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { SpokenLanguages } from \"./SpokenLanguages\";\nimport { MotherTongue } from \"./MotherTongue\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nexport const Languages = () => {\n const {\n demographicsState: { official_language_knowledge: oficialLanguages },\n } = useDemographics();\n\n return (\n <div className={styles.graphLayoutWrapper}>\n {oficialLanguages && (\n <div className={styles.graphContainer} data-size={\"half\"}>\n <SpokenLanguages />\n </div>\n )}\n <div className={styles.graphContainer} data-size={\"half\"}>\n <MotherTongue />\n </div>\n </div>\n );\n};\n","import React from \"react\";\n\nexport const Root = ({ children }: { children: React.ReactNode }) => (\n <>{children}</>\n);\n\n// Export children\nexport { Income } from \"./Income\";\nexport { Population } from \"./Population\";\nexport { Housing } from \"./Housing\";\nexport { Household } from \"./Household\";\nexport { Education } from \"./Education\";\nexport { Commute } from \"./Commute\";\nexport { Languages } from \"./Languages\";\n","export const noDataElement = `\n bg-ll-surface px-3 pt-4 pb-3 rounded-sm box-border\n`;\n\nexport const spinner = `\n flex justify-center items-center \n px-3 pt-4 pb-3 height-[40px]\n`;\n","import React, { useEffect } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport * as DemographicsTabs from \"./DemographicsTabs\";\nimport * as ChartLayout from \"./ChartLayout\";\nimport * as styles from \"./styles\";\nimport { useDemographicsData } from \"~/hooks/useDemographicsData\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport {\n DEFAULT_RADIUS,\n DEFAULT_RADIUS_UNIT,\n} from \"~/sdks/LocalDemographics/constants\";\n\nimport { LoadingSpinner, Text } from \"~/components/deprecated\";\n\nexport const Content = () => {\n const { t } = useTranslation(\"localDemographics\");\n const { demographicsState, activeCategory, setDemographicsState } =\n useDemographics();\n const { data: demographicsData, isFetching: isDemographicsFetching } =\n useDemographicsData({\n lat: demographicsState.location.lat,\n lng: demographicsState.location.lng,\n radius: DEFAULT_RADIUS,\n radiusUnit: DEFAULT_RADIUS_UNIT,\n });\n\n useEffect(() => {\n if (!isDemographicsFetching && demographicsData) {\n setDemographicsState({\n ...demographicsData,\n });\n }\n }, [isDemographicsFetching]);\n\n const GetActiveTabContent = () => {\n if (isDemographicsFetching) {\n return (\n <div className={styles.spinner}>\n <LoadingSpinner />\n </div>\n );\n }\n\n if (demographicsData === undefined) {\n return (\n <div className={styles.noDataElement}>\n <Text variant=\"h6\" weight=\"--ll-font-weight-bold\">\n {t(\"noData\")}\n </Text>\n </div>\n );\n }\n\n switch (activeCategory) {\n case \"income\":\n return <ChartLayout.Income />;\n case \"population\":\n return <ChartLayout.Population />;\n case \"housing\":\n return <ChartLayout.Housing />;\n case \"household\":\n return <ChartLayout.Household />;\n case \"commute\":\n return <ChartLayout.Commute />;\n case \"education\":\n return <ChartLayout.Education />;\n case \"languages\":\n return <ChartLayout.Languages />;\n default:\n return <div>{activeCategory} tab</div>;\n }\n };\n\n return (\n <DemographicsTabs.Content options={{ value: activeCategory }}>\n <ChartLayout.Root>{GetActiveTabContent()}</ChartLayout.Root>\n </DemographicsTabs.Content>\n );\n};\n","export const container = `\n py-3 items-center grid\n grid-cols-1 md:grid-cols-[2fr_1fr] \n [&>a]:justify-end\n`;\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport * as styles from \"./styles\";\nimport { useDemographics } from \"~/sdks/LocalDemographics/context\";\n\nimport { DEFAULT_RADIUS } from \"~/sdks/LocalDemographics/constants\";\n\nimport { Text } from \"~/components/deprecated\";\nimport { AttributionDeprecated as Attribution } from \"~/components/Attribution\";\n\nexport const Footer = () => {\n const { t } = useTranslation([\"localDemographics\", \"common\"]);\n const { demographicsState, locale, hideAttribution } = useDemographics();\n\n const { country } = demographicsState;\n\n const value = useMemo(\n () =>\n country === \"CAN\"\n ? DEFAULT_RADIUS\n : (DEFAULT_RADIUS * 0.000621371).toFixed(2),\n [country],\n );\n\n const unit = useMemo(\n () => t(`common:distance.${country === \"CAN\" ? \"meter\" : \"mile\"}`),\n [locale, country],\n );\n\n return (\n <div className={styles.container}>\n <Text\n noMargin\n variant=\"caption1\"\n color=\"--ll-color-on-background-variant1\"\n >\n {t(\"note\", { value, unit })}\n </Text>\n {!hideAttribution && (\n <Attribution sdkName=\"local-demographics\" locale={locale} />\n )}\n </div>\n );\n};\n","export const container = `\n flex flex-col flex-1 overflow-hidden box-border\n`;\n\n// Calculate height without the attribution and tabsroot\nexport const tabsRoot = `\n overflow-y-auto flex flex-col\n`;\n","import React from \"react\";\nimport \"~/assets/styles/old-tailwind.css\";\nimport { useTranslation } from \"react-i18next\";\nimport * as DemographicsTabs from \"./components/Content/DemographicsTabs\";\nimport { Content } from \"./components/Content\";\nimport { Footer } from \"./components/Footer\";\nimport { LocalDemographicsProvider } from \"./context\";\nimport * as styles from \"./styles\";\nimport { LocalDemographicsProps } from \"./types\";\nimport { TrackingProvider, initializeAnalytics } from \"~/tracking\";\nimport ResizeWrapper from \"~/components/ResizeWrapper\";\nimport { LocalLogicProvider } from \"~/context/LocalLogicProvider\";\nimport { useStateManagerContext } from \"~/context/stateManager\";\nimport useIsMobile from \"~/hooks/useIsMobile\";\nimport { ProductNames } from \"~/types\";\nimport { ANALYTICS_SETTINGS } from \"~/constants/analytics\";\nimport { TitleHeader } from \"~/components/TitleHeader\";\n\ninitializeAnalytics(ANALYTICS_SETTINGS.localDemographics.key);\n\nconst LocalDemographics = () => {\n const { t } = useTranslation(\"localDemographics\");\n const { sdkState } = useStateManagerContext<LocalDemographicsProps>();\n const isMobile = useIsMobile();\n\n return (\n <ResizeWrapper>\n <LocalLogicProvider\n environment={sdkState.globalOptions?.environment?.api}\n apiKey={sdkState.apiKey}\n appearance={sdkState.globalOptions?.appearance}\n locale={sdkState.globalOptions?.locale}\n product={ProductNames.LOCAL_DEMOGRAPHICS}\n >\n <TrackingProvider\n trackingPipelineSettings={{\n apiKey: sdkState.apiKey || \"\",\n }}\n analyticsSettings={ANALYTICS_SETTINGS.localDemographics}\n meta={{\n clientId: sdkState.clientId,\n productName: ProductNames.LOCAL_DEMOGRAPHICS,\n productVersion: FULL_APP_VERSION,\n }}\n attributes={{\n location: {\n lat: sdkState.options?.lat,\n lng: sdkState.options?.lng,\n },\n host: sdkState.location,\n host_url: document.referrer,\n locale: sdkState.globalOptions?.locale,\n isMobile,\n }}\n flags={{\n isDebugMode:\n import.meta.env.VITE_TRACKING_PIPELINE_DEBUG === \"true\",\n }}\n >\n <LocalDemographicsProvider>\n <div className={styles.container}>\n <div className={styles.tabsRoot}>\n <TitleHeader\n title={\n typeof sdkState.options?.title === \"string\" ||\n sdkState.options?.title === false\n ? sdkState.options.title\n : t(\"title\")\n }\n />\n {!isMobile ? (\n <DemographicsTabs.Tabs />\n ) : (\n <DemographicsTabs.Select />\n )}\n <Content />\n <Footer />\n </div>\n </div>\n </LocalDemographicsProvider>\n </TrackingProvider>\n </LocalLogicProvider>\n </ResizeWrapper>\n );\n};\n\nexport default LocalDemographics;\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as t}from"./rolldown-runtime-C_ttsnZz.js";import{l as e}from"./google-maps-vendor-DvfEEdRU.js";import{q as o}from"./index-
|
|
2
|
-
//# sourceMappingURL=Mapbox-CpLnA607-
|
|
1
|
+
import{a as t}from"./rolldown-runtime-C_ttsnZz.js";import{l as e}from"./google-maps-vendor-DvfEEdRU.js";import{q as o}from"./index-PbHyodiU.js";import{n as i}from"./context-BrD4AniQ-D7UQulkM.js";import{n as r,t as n}from"./styles-C6SoSE0g-DVodK__e.js";import{o as l,t as s}from"./mapbox-jb8Zev6T-BgSpiKob.js";var a=t(e(),1),u=o();function d({latitude:t,longitude:e,anchor:o,offset:d=[0,-35],onClose:h,children:g}){let f=(0,a.useRef)(null),{current:c}=l(),{activeMarker:m,clusterPoints:p,mapPadding:v}=i(),b=(0,a.useRef)(p),w=(0,a.useRef)(m);return(0,a.useEffect)(()=>{let t=b.current!==p,e=w.current===m;t&&e&&void 0!==m&&h?.(),b.current=p,w.current=m},[p,m,h]),(0,a.useEffect)(()=>{let t,e=f?.current,o={width:0,height:0},i=new ResizeObserver(()=>{t&&clearTimeout(t),t=window.setTimeout(()=>{(()=>{if(!c||!e||void 0===m)return;let t=c.getBounds(),i=c.getCenter(),n=c.getCanvas(),l=e.getElement()?.getBoundingClientRect();if(!t||!l)return;let s=Math.abs(l.width-o.width),a=Math.abs(l.height-o.height);if(0!==o.width&&s<15&&a<15)return;o={width:l.width,height:l.height};let u=n.getBoundingClientRect(),d={width:n.clientWidth,height:n.clientHeight,top:u.top,left:u.left};r(l,{latitude:i.lat,longitude:i.lng},{left:t.getWest(),right:t.getEast(),top:t.getNorth(),bottom:t.getSouth()},d,{left:v.left||0,right:v.right||0,top:v.top||0,bottom:v.bottom||0},t=>{c.easeTo({center:[t.longitude,t.latitude],duration:500})})})()},100)}),n=e?.getElement();return n&&i.observe(n),()=>{t&&clearTimeout(t),i.disconnect()}},[c,f,m,v.top,v.bottom,v.left,v.right]),void 0===t||void 0===e?null:(0,u.jsx)(s,{ref:f,className:"mapbox-popup",focusAfterOpen:!0,latitude:t,longitude:e,anchor:o,offset:d,onClose:h,closeButton:!1,children:(0,u.jsx)("div",{className:n,children:g})})}export{d as default};
|
|
2
|
+
//# sourceMappingURL=Mapbox-CpLnA607-CKDrFvU5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mapbox-CpLnA607-
|
|
1
|
+
{"version":3,"file":"Mapbox-CpLnA607-CKDrFvU5.js","names":[],"sources":["../../../../packages/maps/dist/Mapbox-CpLnA607.js"],"sourcesContent":["import { n as e } from \"./context-BrD4AniQ.js\";\nimport { i as t, s as n } from \"./mapbox-jb8Zev6T.js\";\nimport { n as r, t as i } from \"./styles-C6SoSE0g.js\";\nimport { useEffect as a, useRef as o } from \"react\";\nimport { jsx as s } from \"react/jsx-runtime\";\n//#region src/components/Map/Root/Popup/Mapbox/index.tsx\nfunction c({ latitude: c, longitude: l, anchor: u, offset: d = [0, -35], onClose: f, children: p }) {\n\tlet m = o(null), { current: h } = n(), { activeMarker: g, clusterPoints: _, mapPadding: v } = e(), y = o(_), b = o(g);\n\treturn a(() => {\n\t\tlet e = y.current !== _, t = b.current === g;\n\t\te && t && g !== void 0 && f?.(), y.current = _, b.current = g;\n\t}, [\n\t\t_,\n\t\tg,\n\t\tf\n\t]), a(() => {\n\t\tlet e = m?.current, t = {\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t}, n = () => {\n\t\t\tif (!h || !e || g === void 0) return;\n\t\t\tlet n = h.getBounds(), i = h.getCenter(), a = h.getCanvas(), o = e.getElement()?.getBoundingClientRect();\n\t\t\tif (!n || !o) return;\n\t\t\tlet s = Math.abs(o.width - t.width), c = Math.abs(o.height - t.height);\n\t\t\tif (t.width !== 0 && s < 15 && c < 15) return;\n\t\t\tt = {\n\t\t\t\twidth: o.width,\n\t\t\t\theight: o.height\n\t\t\t};\n\t\t\tlet l = a.getBoundingClientRect(), u = {\n\t\t\t\twidth: a.clientWidth,\n\t\t\t\theight: a.clientHeight,\n\t\t\t\ttop: l.top,\n\t\t\t\tleft: l.left\n\t\t\t};\n\t\t\tr(o, {\n\t\t\t\tlatitude: i.lat,\n\t\t\t\tlongitude: i.lng\n\t\t\t}, {\n\t\t\t\tleft: n.getWest(),\n\t\t\t\tright: n.getEast(),\n\t\t\t\ttop: n.getNorth(),\n\t\t\t\tbottom: n.getSouth()\n\t\t\t}, u, {\n\t\t\t\tleft: v.left || 0,\n\t\t\t\tright: v.right || 0,\n\t\t\t\ttop: v.top || 0,\n\t\t\t\tbottom: v.bottom || 0\n\t\t\t}, (e) => {\n\t\t\t\th.easeTo({\n\t\t\t\t\tcenter: [e.longitude, e.latitude],\n\t\t\t\t\tduration: 500\n\t\t\t\t});\n\t\t\t});\n\t\t}, i, a = new ResizeObserver(() => {\n\t\t\ti && clearTimeout(i), i = window.setTimeout(() => {\n\t\t\t\tn();\n\t\t\t}, 100);\n\t\t}), o = e?.getElement();\n\t\treturn o && a.observe(o), () => {\n\t\t\ti && clearTimeout(i), a.disconnect();\n\t\t};\n\t}, [\n\t\th,\n\t\tm,\n\t\tg,\n\t\tv.top,\n\t\tv.bottom,\n\t\tv.left,\n\t\tv.right\n\t]), c === void 0 || l === void 0 ? null : /* @__PURE__ */ s(t, {\n\t\tref: m,\n\t\tclassName: \"mapbox-popup\",\n\t\tfocusAfterOpen: !0,\n\t\tlatitude: c,\n\t\tlongitude: l,\n\t\tanchor: u,\n\t\toffset: d,\n\t\tonClose: f,\n\t\tcloseButton: !1,\n\t\tchildren: /* @__PURE__ */ s(\"div\", {\n\t\t\tclassName: i,\n\t\t\tchildren: p\n\t\t})\n\t});\n}\n//#endregion\nexport { c as default };\n"],"mappings":"0UAMA,SAAS,GAAI,SAAU,EAAG,UAAW,EAAG,OAAQ,EAAG,OAAQ,EAAI,CAAC,GAAG,IAAM,QAAS,EAAG,SAAU,IAC9F,IAAI,GAAA,EAAA,EAAA,QAAM,OAAS,QAAS,GAAM,KAAO,aAAc,EAAG,cAAe,EAAG,WAAY,GAAM,IAAK,GAAA,EAAA,EAAA,QAAM,GAAI,GAAA,EAAA,EAAA,QAAM,GACnH,OAAA,EAAA,EAAA,WAAA,KACC,IAAI,EAAI,EAAE,UAAY,EAAG,EAAI,EAAE,UAAY,EAC3C,GAAK,QAAW,IAAN,GAAgB,MAAO,EAAE,QAAU,EAAG,EAAE,QAAU,GAC1D,CACF,EACA,EACA,KACC,EAAA,EAAA,WAAA,KACD,IAsCG,EAtCC,EAAI,GAAG,QAAS,EAAI,CACvB,MAAO,EACP,OAAQ,GAoCH,EAAI,IAAI,eAAA,KACb,GAAK,aAAa,GAAI,EAAI,OAAO,WAAA,KApC/B,MACF,IAAK,IAAM,QAAW,IAAN,EAAc,OAC9B,IAAI,EAAI,EAAE,YAAa,EAAI,EAAE,YAAa,EAAI,EAAE,YAAa,EAAI,EAAE,cAAc,wBACjF,IAAK,IAAM,EAAG,OACd,IAAI,EAAI,KAAK,IAAI,EAAE,MAAQ,EAAE,OAAQ,EAAI,KAAK,IAAI,EAAE,OAAS,EAAE,QAC/D,GAAgB,IAAZ,EAAE,OAAe,EAAI,IAAM,EAAI,GAAI,OACvC,EAAI,CACH,MAAO,EAAE,MACT,OAAQ,EAAE,QAEX,IAAI,EAAI,EAAE,wBAAyB,EAAI,CACtC,MAAO,EAAE,YACT,OAAQ,EAAE,aACV,IAAK,EAAE,IACP,KAAM,EAAE,MAET,EAAE,EAAG,CACJ,SAAU,EAAE,IACZ,UAAW,EAAE,KACX,CACF,KAAM,EAAE,UACR,MAAO,EAAE,UACT,IAAK,EAAE,WACP,OAAQ,EAAE,YACR,EAAG,CACL,KAAM,EAAE,MAAQ,EAChB,MAAO,EAAE,OAAS,EAClB,IAAK,EAAE,KAAO,EACd,OAAQ,EAAE,QAAU,GACjB,IACH,EAAE,OAAO,CACR,OAAQ,CAAC,EAAE,UAAW,EAAE,UACxB,SAAU,SAKX,IACE,OACA,EAAI,GAAG,aACX,OAAO,GAAK,EAAE,QAAQ,GAAE,KACvB,GAAK,aAAa,GAAI,EAAE,eAEvB,CACF,EACA,EACA,EACA,EAAE,IACF,EAAE,OACF,EAAE,KACF,EAAE,aACO,IAAN,QAAsB,IAAN,EAAe,MAAuB,EAAA,EAAA,KAAE,EAAG,CAC9D,IAAK,EACL,UAAW,eACX,gBAAgB,EAChB,SAAU,EACV,UAAW,EACX,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,aAAa,EACb,UAA0B,EAAA,EAAA,KAAE,MAAO,CAClC,UAAW,EACX,SAAU"}
|
package/dist/assets/{Mapbox-CpLnA607-legacy-CZe3Jz0m.js → Mapbox-CpLnA607-legacy-Bx1JnBMX.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["./rolldown-runtime-legacy-Djb2rrqm.js","./google-maps-vendor-legacy-CPuMOKGq.js","./index-legacy-
|
|
2
|
-
//# sourceMappingURL=Mapbox-CpLnA607-legacy-
|
|
1
|
+
System.register(["./rolldown-runtime-legacy-Djb2rrqm.js","./google-maps-vendor-legacy-CPuMOKGq.js","./index-legacy-CYps6nGB.js","./context-BrD4AniQ-legacy-Ct6QKrhb.js","./styles-C6SoSE0g-legacy-DQucoUvA.js","./mapbox-jb8Zev6T-legacy-hBjjoWXX.js"],function(t,e){var n,i,o,l,r,u,c,s,d,g;return t("default",function({latitude:t,longitude:e,anchor:n,offset:i=[0,-35],onClose:o,children:a}){let h=(0,d.useRef)(null),{current:f}=c(),{activeMarker:m,clusterPoints:v,mapPadding:p}=l(),b=(0,d.useRef)(v),w=(0,d.useRef)(m);return(0,d.useEffect)(()=>{let t=b.current!==v,e=w.current===m;t&&e&&void 0!==m&&null!=o&&o(),b.current=v,w.current=m},[v,m,o]),(0,d.useEffect)(()=>{let t,e=null==h?void 0:h.current,n={width:0,height:0},i=new ResizeObserver(()=>{t&&clearTimeout(t),t=window.setTimeout(()=>{(()=>{var t;if(!f||!e||void 0===m)return;let i=f.getBounds(),o=f.getCenter(),l=f.getCanvas(),u=null===(t=e.getElement())||void 0===t?void 0:t.getBoundingClientRect();if(!i||!u)return;let c=Math.abs(u.width-n.width),s=Math.abs(u.height-n.height);if(0!==n.width&&c<15&&s<15)return;n={width:u.width,height:u.height};let d=l.getBoundingClientRect(),g={width:l.clientWidth,height:l.clientHeight,top:d.top,left:d.left};r(u,{latitude:o.lat,longitude:o.lng},{left:i.getWest(),right:i.getEast(),top:i.getNorth(),bottom:i.getSouth()},g,{left:p.left||0,right:p.right||0,top:p.top||0,bottom:p.bottom||0},t=>{f.easeTo({center:[t.longitude,t.latitude],duration:500})})})()},100)}),o=null==e?void 0:e.getElement();return o&&i.observe(o),()=>{t&&clearTimeout(t),i.disconnect()}},[f,h,m,p.top,p.bottom,p.left,p.right]),void 0===t||void 0===e?null:(0,g.jsx)(s,{ref:h,className:"mapbox-popup",focusAfterOpen:!0,latitude:t,longitude:e,anchor:n,offset:i,onClose:o,closeButton:!1,children:(0,g.jsx)("div",{className:u,children:a})})}),{setters:[function(t){n=t.a},function(t){i=t.l},function(t){o=t.q},function(t){l=t.n},function(t){r=t.n,u=t.t},function(t){c=t.o,s=t.t}],execute:function(){d=n(i(),1),g=o()}}});
|
|
2
|
+
//# sourceMappingURL=Mapbox-CpLnA607-legacy-Bx1JnBMX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mapbox-CpLnA607-legacy-
|
|
1
|
+
{"version":3,"file":"Mapbox-CpLnA607-legacy-Bx1JnBMX.js","names":[],"sources":["../../../../packages/maps/dist/Mapbox-CpLnA607.js"],"sourcesContent":["import { n as e } from \"./context-BrD4AniQ.js\";\nimport { i as t, s as n } from \"./mapbox-jb8Zev6T.js\";\nimport { n as r, t as i } from \"./styles-C6SoSE0g.js\";\nimport { useEffect as a, useRef as o } from \"react\";\nimport { jsx as s } from \"react/jsx-runtime\";\n//#region src/components/Map/Root/Popup/Mapbox/index.tsx\nfunction c({ latitude: c, longitude: l, anchor: u, offset: d = [0, -35], onClose: f, children: p }) {\n\tlet m = o(null), { current: h } = n(), { activeMarker: g, clusterPoints: _, mapPadding: v } = e(), y = o(_), b = o(g);\n\treturn a(() => {\n\t\tlet e = y.current !== _, t = b.current === g;\n\t\te && t && g !== void 0 && f?.(), y.current = _, b.current = g;\n\t}, [\n\t\t_,\n\t\tg,\n\t\tf\n\t]), a(() => {\n\t\tlet e = m?.current, t = {\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t}, n = () => {\n\t\t\tif (!h || !e || g === void 0) return;\n\t\t\tlet n = h.getBounds(), i = h.getCenter(), a = h.getCanvas(), o = e.getElement()?.getBoundingClientRect();\n\t\t\tif (!n || !o) return;\n\t\t\tlet s = Math.abs(o.width - t.width), c = Math.abs(o.height - t.height);\n\t\t\tif (t.width !== 0 && s < 15 && c < 15) return;\n\t\t\tt = {\n\t\t\t\twidth: o.width,\n\t\t\t\theight: o.height\n\t\t\t};\n\t\t\tlet l = a.getBoundingClientRect(), u = {\n\t\t\t\twidth: a.clientWidth,\n\t\t\t\theight: a.clientHeight,\n\t\t\t\ttop: l.top,\n\t\t\t\tleft: l.left\n\t\t\t};\n\t\t\tr(o, {\n\t\t\t\tlatitude: i.lat,\n\t\t\t\tlongitude: i.lng\n\t\t\t}, {\n\t\t\t\tleft: n.getWest(),\n\t\t\t\tright: n.getEast(),\n\t\t\t\ttop: n.getNorth(),\n\t\t\t\tbottom: n.getSouth()\n\t\t\t}, u, {\n\t\t\t\tleft: v.left || 0,\n\t\t\t\tright: v.right || 0,\n\t\t\t\ttop: v.top || 0,\n\t\t\t\tbottom: v.bottom || 0\n\t\t\t}, (e) => {\n\t\t\t\th.easeTo({\n\t\t\t\t\tcenter: [e.longitude, e.latitude],\n\t\t\t\t\tduration: 500\n\t\t\t\t});\n\t\t\t});\n\t\t}, i, a = new ResizeObserver(() => {\n\t\t\ti && clearTimeout(i), i = window.setTimeout(() => {\n\t\t\t\tn();\n\t\t\t}, 100);\n\t\t}), o = e?.getElement();\n\t\treturn o && a.observe(o), () => {\n\t\t\ti && clearTimeout(i), a.disconnect();\n\t\t};\n\t}, [\n\t\th,\n\t\tm,\n\t\tg,\n\t\tv.top,\n\t\tv.bottom,\n\t\tv.left,\n\t\tv.right\n\t]), c === void 0 || l === void 0 ? null : /* @__PURE__ */ s(t, {\n\t\tref: m,\n\t\tclassName: \"mapbox-popup\",\n\t\tfocusAfterOpen: !0,\n\t\tlatitude: c,\n\t\tlongitude: l,\n\t\tanchor: u,\n\t\toffset: d,\n\t\tonClose: f,\n\t\tcloseButton: !1,\n\t\tchildren: /* @__PURE__ */ s(\"div\", {\n\t\t\tclassName: i,\n\t\t\tchildren: p\n\t\t})\n\t});\n}\n//#endregion\nexport { c as default };\n"],"mappings":"gTAMA,UAAa,SAAU,EAAG,UAAW,EAAG,OAAQ,EAAG,OAAQ,EAAI,CAAC,GAAG,IAAM,QAAS,EAAG,SAAU,IAC9F,IAAI,GAAA,EAAA,EAAA,QAAM,OAAS,QAAS,GAAM,KAAO,aAAc,EAAG,cAAe,EAAG,WAAY,GAAM,IAAK,GAAA,EAAA,EAAA,QAAM,GAAI,GAAA,EAAA,EAAA,QAAM,GACnH,OAAA,EAAA,EAAA,WAAA,KACC,IAAI,EAAI,EAAE,UAAY,EAAG,EAAI,EAAE,UAAY,EAC3C,GAAK,QAAW,IAAN,GAAV,MAA0B,GAAA,IAAO,EAAE,QAAU,EAAG,EAAE,QAAU,GAC1D,CACF,EACA,EACA,KACC,EAAA,EAAA,WAAA,KACD,IAsCG,EAtCC,EAAI,aAAA,EAAA,EAAG,QAAS,EAAI,CACvB,MAAO,EACP,OAAQ,GAoCH,EAAI,IAAI,eAAA,KACb,GAAK,aAAa,GAAI,EAAI,OAAO,WAAA,KApC/B,MAAU,IAAA,EACZ,IAAK,IAAM,QAAW,IAAN,EAAc,OAC9B,IAAI,EAAI,EAAE,YAAa,EAAI,EAAE,YAAa,EAAI,EAAE,YAAa,EAAkB,QAAlB,EAAI,EAAE,oBAAY,IAAA,OAAA,EAAd,EAAgB,wBACjF,IAAK,IAAM,EAAG,OACd,IAAI,EAAI,KAAK,IAAI,EAAE,MAAQ,EAAE,OAAQ,EAAI,KAAK,IAAI,EAAE,OAAS,EAAE,QAC/D,GAAgB,IAAZ,EAAE,OAAe,EAAI,IAAM,EAAI,GAAI,OACvC,EAAI,CACH,MAAO,EAAE,MACT,OAAQ,EAAE,QAEX,IAAI,EAAI,EAAE,wBAAyB,EAAI,CACtC,MAAO,EAAE,YACT,OAAQ,EAAE,aACV,IAAK,EAAE,IACP,KAAM,EAAE,MAET,EAAE,EAAG,CACJ,SAAU,EAAE,IACZ,UAAW,EAAE,KACX,CACF,KAAM,EAAE,UACR,MAAO,EAAE,UACT,IAAK,EAAE,WACP,OAAQ,EAAE,YACR,EAAG,CACL,KAAM,EAAE,MAAQ,EAChB,MAAO,EAAE,OAAS,EAClB,IAAK,EAAE,KAAO,EACd,OAAQ,EAAE,QAAU,GACjB,IACH,EAAE,OAAO,CACR,OAAQ,CAAC,EAAE,UAAW,EAAE,UACxB,SAAU,SAKX,IACE,OACA,EAAI,aAAA,EAAA,EAAG,aACX,OAAO,GAAK,EAAE,QAAQ,GAAE,KACvB,GAAK,aAAa,GAAI,EAAE,eAEvB,CACF,EACA,EACA,EACA,EAAE,IACF,EAAE,OACF,EAAE,KACF,EAAE,aACO,IAAN,QAAsB,IAAN,EAAe,MAAuB,EAAA,EAAA,KAAE,EAAG,CAC9D,IAAK,EACL,UAAW,eACX,gBAAgB,EAChB,SAAU,EACV,UAAW,EACX,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,aAAa,EACb,UAA0B,EAAA,EAAA,KAAE,MAAO,CAClC,UAAW,EACX,SAAU"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as r}from"./rolldown-runtime-C_ttsnZz.js";import{l as e}from"./google-maps-vendor-DvfEEdRU.js";import{q as o}from"./index-
|
|
2
|
-
//# sourceMappingURL=Mapbox-DDJ1gHRb-
|
|
1
|
+
import{a as r}from"./rolldown-runtime-C_ttsnZz.js";import{l as e}from"./google-maps-vendor-DvfEEdRU.js";import{q as o}from"./index-PbHyodiU.js";import{n as t}from"./context-BrD4AniQ-D7UQulkM.js";import{n as i,t as s}from"./MarkerIcon-Bc3X9WQk-BuSzLTIC.js";import{t as a}from"./Cluster-BHQcO6iC-_jL_0N39.js";import{n}from"./mapbox-jb8Zev6T-BgSpiKob.js";e();var l=o();function c({clusters:r,colors:e,clusterIcon:o,onClick:i,doesSuperclusterContainActiveMarker:c}){let{activeMarker:m,zoom:p}=t(),u=r=>e=>{e.originalEvent.stopPropagation(),!r.properties.disableClick&&i?.(r)};return r?.map((r,t)=>{let i=r.geometry.coordinates[0],d=r.geometry.coordinates[1];return(0,l.jsxs)(n,{anchor:"bottom",longitude:i,latitude:d,onClick:u(r),children:[r.properties.cluster&&(0,l.jsx)(a,{colors:e,icon:o,isActive:c(r.properties.cluster_id)}),!r.properties.cluster&&(0,l.jsx)("div",{className:"\n group/marker cursor-pointer rounded-full\n relative h-7 w-7 flex items-center justify-center\n text-base-white ring-1 ring-inset\n transition-colors\n\n bg-[var(--background,theme(colors.base.white))]\n ring-[var(--fill,theme(colors.primary.100))]\n\n hover:bg-[var(--fill,theme(colors.primary.100))]\n\n data-[is-zoomed-out=true]:bg-[var(--fill,theme(colors.primary.100))]\n data-[is-zoomed-out=true]:h-4\n data-[is-zoomed-out=true]:w-4\n\n data-[is-active=true]:bg-[var(--fill,theme(colors.primary.100))]\n",style:r.properties.defaultColor?{}:{"--background":e?.background,"--fill":e?.fill},"data-is-cluster":!!r.properties.cluster,"data-is-zoomed-out":p<10,"data-is-active":m?.id===r.properties.id,children:(0,l.jsx)(s,{icon:r.properties.icon})})]},`map-marker-${i}-${d}-${t}`)})}export{c as default};
|
|
2
|
+
//# sourceMappingURL=Mapbox-DDJ1gHRb-BrLhMxW4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mapbox-DDJ1gHRb-
|
|
1
|
+
{"version":3,"file":"Mapbox-DDJ1gHRb-BrLhMxW4.js","names":[],"sources":["../../../../packages/maps/dist/Mapbox-DDJ1gHRb.js"],"sourcesContent":["import { n as e } from \"./context-BrD4AniQ.js\";\nimport { a as t } from \"./mapbox-jb8Zev6T.js\";\nimport { n, t as r } from \"./MarkerIcon-Bc3X9WQk.js\";\nimport { t as i } from \"./Cluster-BHQcO6iC.js\";\nimport \"react\";\nimport { jsx as a, jsxs as o } from \"react/jsx-runtime\";\n//#region src/components/Map/Root/Markers/Mapbox/index.tsx\nfunction s({ clusters: s, colors: c, clusterIcon: l, onClick: u, doesSuperclusterContainActiveMarker: d }) {\n\tlet { activeMarker: f, zoom: p } = e(), m = (e) => (t) => {\n\t\tt.originalEvent.stopPropagation(), !e.properties.disableClick && u?.(e);\n\t};\n\treturn s?.map((e, s) => {\n\t\tlet u = e.geometry.coordinates[0], h = e.geometry.coordinates[1];\n\t\treturn /* @__PURE__ */ o(t, {\n\t\t\tanchor: \"bottom\",\n\t\t\tlongitude: u,\n\t\t\tlatitude: h,\n\t\t\tonClick: m(e),\n\t\t\tchildren: [e.properties.cluster && /* @__PURE__ */ a(i, {\n\t\t\t\tcolors: c,\n\t\t\t\ticon: l,\n\t\t\t\tisActive: d(e.properties.cluster_id)\n\t\t\t}), !e.properties.cluster && /* @__PURE__ */ a(\"div\", {\n\t\t\t\tclassName: n,\n\t\t\t\tstyle: e.properties.defaultColor ? {} : {\n\t\t\t\t\t\"--background\": c?.background,\n\t\t\t\t\t\"--fill\": c?.fill\n\t\t\t\t},\n\t\t\t\t\"data-is-cluster\": !!e.properties.cluster,\n\t\t\t\t\"data-is-zoomed-out\": p < 10,\n\t\t\t\t\"data-is-active\": f?.id === e.properties.id,\n\t\t\t\tchildren: /* @__PURE__ */ a(r, { icon: e.properties.icon })\n\t\t\t})]\n\t\t}, `map-marker-${u}-${h}-${s}`);\n\t});\n}\n//#endregion\nexport { s as default };\n"],"mappings":"8WAOA,SAAS,GAAI,SAAU,EAAG,OAAQ,EAAG,YAAa,EAAG,QAAS,EAAG,oCAAqC,IACrG,IAAM,aAAc,EAAG,KAAM,GAAM,IAAK,EAAK,GAAO,IACnD,EAAE,cAAc,mBAAoB,EAAE,WAAW,cAAgB,IAAI,IAEtE,OAAO,GAAG,IAAA,CAAK,EAAG,KACjB,IAAI,EAAI,EAAE,SAAS,YAAY,GAAI,EAAI,EAAE,SAAS,YAAY,GAC9D,OAAuB,EAAA,EAAA,MAAE,EAAG,CAC3B,OAAQ,SACR,UAAW,EACX,SAAU,EACV,QAAS,EAAE,GACX,SAAU,CAAC,EAAE,WAAW,UAA2B,EAAA,EAAA,KAAE,EAAG,CACvD,OAAQ,EACR,KAAM,EACN,SAAU,EAAE,EAAE,WAAW,eACrB,EAAE,WAAW,UAA2B,EAAA,EAAA,KAAE,MAAO,CACrD,UAAA,6gBACA,MAAO,EAAE,WAAW,aAAe,CAAA,EAAK,CACvC,eAAgB,GAAG,WACnB,SAAU,GAAG,MAEd,oBAAqB,EAAE,WAAW,QAClC,qBAAsB,EAAI,GAC1B,iBAAkB,GAAG,KAAO,EAAE,WAAW,GACzC,UAA0B,EAAA,EAAA,KAAE,EAAG,CAAE,KAAM,EAAE,WAAW,WAEnD,cAAc,KAAK,KAAK"}
|
package/dist/assets/{Mapbox-DDJ1gHRb-legacy-NAVECUv-.js → Mapbox-DDJ1gHRb-legacy-DtASaFMy.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["./rolldown-runtime-legacy-Djb2rrqm.js","./google-maps-vendor-legacy-CPuMOKGq.js","./index-legacy-
|
|
2
|
-
//# sourceMappingURL=Mapbox-DDJ1gHRb-legacy-
|
|
1
|
+
System.register(["./rolldown-runtime-legacy-Djb2rrqm.js","./google-maps-vendor-legacy-CPuMOKGq.js","./index-legacy-CYps6nGB.js","./context-BrD4AniQ-legacy-Ct6QKrhb.js","./MarkerIcon-Bc3X9WQk-legacy-0n6adFAI.js","./Cluster-BHQcO6iC-legacy-3UMx26D5.js","./mapbox-jb8Zev6T-legacy-hBjjoWXX.js"],function(e,r){var t,o,n,i,l,s,a;return e("default",function({clusters:e,colors:r,clusterIcon:t,onClick:o,doesSuperclusterContainActiveMarker:c}){let{activeMarker:u,zoom:d}=n(),p=e=>r=>{r.originalEvent.stopPropagation(),!e.properties.disableClick&&(null==o||o(e))};return null==e?void 0:e.map((e,o)=>{let n=e.geometry.coordinates[0],m=e.geometry.coordinates[1];return(0,a.jsxs)(s,{anchor:"bottom",longitude:n,latitude:m,onClick:p(e),children:[e.properties.cluster&&(0,a.jsx)(l,{colors:r,icon:t,isActive:c(e.properties.cluster_id)}),!e.properties.cluster&&(0,a.jsx)("div",{className:"\n group/marker cursor-pointer rounded-full\n relative h-7 w-7 flex items-center justify-center\n text-base-white ring-1 ring-inset\n transition-colors\n\n bg-[var(--background,theme(colors.base.white))]\n ring-[var(--fill,theme(colors.primary.100))]\n\n hover:bg-[var(--fill,theme(colors.primary.100))]\n\n data-[is-zoomed-out=true]:bg-[var(--fill,theme(colors.primary.100))]\n data-[is-zoomed-out=true]:h-4\n data-[is-zoomed-out=true]:w-4\n\n data-[is-active=true]:bg-[var(--fill,theme(colors.primary.100))]\n",style:e.properties.defaultColor?{}:{"--background":null==r?void 0:r.background,"--fill":null==r?void 0:r.fill},"data-is-cluster":!!e.properties.cluster,"data-is-zoomed-out":d<10,"data-is-active":(null==u?void 0:u.id)===e.properties.id,children:(0,a.jsx)(i,{icon:e.properties.icon})})]},`map-marker-${n}-${m}-${o}`)})}),{setters:[function(e){e.a},function(e){t=e.l},function(e){o=e.q},function(e){n=e.n},function(e){e.n,i=e.t},function(e){l=e.t},function(e){s=e.n}],execute:function(){t(),a=o()}}});
|
|
2
|
+
//# sourceMappingURL=Mapbox-DDJ1gHRb-legacy-DtASaFMy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mapbox-DDJ1gHRb-legacy-
|
|
1
|
+
{"version":3,"file":"Mapbox-DDJ1gHRb-legacy-DtASaFMy.js","names":[],"sources":["../../../../packages/maps/dist/Mapbox-DDJ1gHRb.js"],"sourcesContent":["import { n as e } from \"./context-BrD4AniQ.js\";\nimport { a as t } from \"./mapbox-jb8Zev6T.js\";\nimport { n, t as r } from \"./MarkerIcon-Bc3X9WQk.js\";\nimport { t as i } from \"./Cluster-BHQcO6iC.js\";\nimport \"react\";\nimport { jsx as a, jsxs as o } from \"react/jsx-runtime\";\n//#region src/components/Map/Root/Markers/Mapbox/index.tsx\nfunction s({ clusters: s, colors: c, clusterIcon: l, onClick: u, doesSuperclusterContainActiveMarker: d }) {\n\tlet { activeMarker: f, zoom: p } = e(), m = (e) => (t) => {\n\t\tt.originalEvent.stopPropagation(), !e.properties.disableClick && u?.(e);\n\t};\n\treturn s?.map((e, s) => {\n\t\tlet u = e.geometry.coordinates[0], h = e.geometry.coordinates[1];\n\t\treturn /* @__PURE__ */ o(t, {\n\t\t\tanchor: \"bottom\",\n\t\t\tlongitude: u,\n\t\t\tlatitude: h,\n\t\t\tonClick: m(e),\n\t\t\tchildren: [e.properties.cluster && /* @__PURE__ */ a(i, {\n\t\t\t\tcolors: c,\n\t\t\t\ticon: l,\n\t\t\t\tisActive: d(e.properties.cluster_id)\n\t\t\t}), !e.properties.cluster && /* @__PURE__ */ a(\"div\", {\n\t\t\t\tclassName: n,\n\t\t\t\tstyle: e.properties.defaultColor ? {} : {\n\t\t\t\t\t\"--background\": c?.background,\n\t\t\t\t\t\"--fill\": c?.fill\n\t\t\t\t},\n\t\t\t\t\"data-is-cluster\": !!e.properties.cluster,\n\t\t\t\t\"data-is-zoomed-out\": p < 10,\n\t\t\t\t\"data-is-active\": f?.id === e.properties.id,\n\t\t\t\tchildren: /* @__PURE__ */ a(r, { icon: e.properties.icon })\n\t\t\t})]\n\t\t}, `map-marker-${u}-${h}-${s}`);\n\t});\n}\n//#endregion\nexport { s as default };\n"],"mappings":"sVAOA,UAAa,SAAU,EAAG,OAAQ,EAAG,YAAa,EAAG,QAAS,EAAG,oCAAqC,IACrG,IAAM,aAAc,EAAG,KAAM,GAAM,IAAK,EAAK,GAAO,IACnD,EAAE,cAAc,mBAAoB,EAAE,WAAW,eAAgB,SAAA,EAAI,KAEtE,OAAO,aAAA,EAAA,EAAG,IAAA,CAAK,EAAG,KACjB,IAAI,EAAI,EAAE,SAAS,YAAY,GAAI,EAAI,EAAE,SAAS,YAAY,GAC9D,OAAuB,EAAA,EAAA,MAAE,EAAG,CAC3B,OAAQ,SACR,UAAW,EACX,SAAU,EACV,QAAS,EAAE,GACX,SAAU,CAAC,EAAE,WAAW,UAA2B,EAAA,EAAA,KAAE,EAAG,CACvD,OAAQ,EACR,KAAM,EACN,SAAU,EAAE,EAAE,WAAW,eACrB,EAAE,WAAW,UAA2B,EAAA,EAAA,KAAE,MAAO,CACrD,UAAA,6gBACA,MAAO,EAAE,WAAW,aAAe,CAAA,EAAK,CACvC,eAAgB,aAAA,EAAA,EAAG,WACnB,SAAU,aAAA,EAAA,EAAG,MAEd,oBAAqB,EAAE,WAAW,QAClC,qBAAsB,EAAI,GAC1B,kBAAkB,aAAA,EAAA,EAAG,MAAO,EAAE,WAAW,GACzC,UAA0B,EAAA,EAAA,KAAE,EAAG,CAAE,KAAM,EAAE,WAAW,WAEnD,cAAc,KAAK,KAAK"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as o}from"./rolldown-runtime-C_ttsnZz.js";import{l as e}from"./google-maps-vendor-DvfEEdRU.js";import{q as t}from"./index-
|
|
2
|
-
//# sourceMappingURL=Mapbox-DiD9etYJ-
|
|
1
|
+
import{a as o}from"./rolldown-runtime-C_ttsnZz.js";import{l as e}from"./google-maps-vendor-DvfEEdRU.js";import{q as t}from"./index-PbHyodiU.js";import{n as r}from"./context-BrD4AniQ-D7UQulkM.js";import{a,t as n}from"./constants-BcJ_mS91-kGN6qniT.js";import{n as i}from"./esm-Be30MpcN-C7eJiqee.js";import{n as l,t as s}from"./getPaddedBounds-CbCVe2M3-CYpTak_b.js";import{o as m,r as c,s as u}from"./mapbox-jb8Zev6T-BgSpiKob.js";var p=o(e(),1),d=t(),g={en:{"AttributionControl.ToggleAttribution":"Toggle attribution","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox homepage","Map.Title":"Map","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScrollZoomBlocker.CtrlMessage":"Use ctrl + scroll to zoom the map","ScrollZoomBlocker.CmdMessage":"Use ⌘ + scroll to zoom the map","TouchPanBlocker.Message":"Use two fingers to move the map"},fr:{"AttributionControl.ToggleAttribution":"Afficher/Masquer l’attribution","FullscreenControl.Enter":"Passer en plein écran","FullscreenControl.Exit":"Quitter le plein écran","GeolocateControl.FindMyLocation":"Trouver ma position","GeolocateControl.LocationNotAvailable":"Position non disponible","LogoControl.Title":"Page d’accueil Mapbox","Map.Title":"Carte","NavigationControl.ResetBearing":"Réinitialiser l’orientation au nord","NavigationControl.ZoomIn":"Zoomer","NavigationControl.ZoomOut":"Dézoomer","ScrollZoomBlocker.CtrlMessage":"Utilisez ctrl + défilement pour zoomer sur la carte","ScrollZoomBlocker.CmdMessage":"Utilisez ⌘ + défilement pour zoomer sur la carte","TouchPanBlocker.Message":"Utilisez deux doigts pour déplacer la carte"}},f=()=>{let{current:o}=m(),{centerPinMarkerPoints:e,markerPoints:t,locationBoundary:a,setZoom:n,mapPadding:c}=r(),[u,d]=(0,p.useState)(void 0),g=(0,p.useRef)(void 0),f=(0,p.useCallback)(()=>{o&&n(o.getZoom())},[o,n]);return(0,p.useEffect)(()=>(f(),o?.on("zoom",f),()=>{o?.off("zoom",f)}),[o,f]),(0,p.useEffect)(()=>{if(!o)return;let r=[];if(void 0!==a&&a.length>0?r.push(...a):void 0!==t&&t.length>0?(r.push(...t),e&&r.push(e)):void 0!==e&&r.push(e),0===r.length)return;let n=l(i(r));(!g.current||!n.every((o,e)=>o===g.current?.[e]))&&(g.current=n,d(n))},[o,t,a,e]),(0,p.useEffect)(()=>{if(!o||void 0===u)return;let[e,t,r,a]=s(u);o.fitBounds([[e,t],[r,a]],{retainPadding:!1,padding:c,maxZoom:17,duration:700})},[o,u,c]),null};function b({children:o}){let{mapProvider:e,locale:t,center:i,zoom:l=n.zoom,minZoom:s,maxZoom:m,pitch:p=n.pitch,bearing:b=n.bearing,cooperativeGestures:v=n.cooperativeGestures,zoomPosition:C}=r();return"mapbox"===e.name?(0,d.jsxs)(u,{mapboxAccessToken:e.apiKey,initialViewState:{...i,zoom:l,pitch:p,bearing:b},cooperativeGestures:v,minZoom:s,maxZoom:m,mapStyle:`mapbox://styles/${e.theme||a.mapbox}`,interactiveLayerIds:["road-label","waterway-label"],locale:g[t],children:[(0,d.jsx)(f,{}),C&&(0,d.jsx)(c,{position:C}),o]}):null}export{b as default};
|
|
2
|
+
//# sourceMappingURL=Mapbox-DiD9etYJ-BMtTiGO7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mapbox-DiD9etYJ-
|
|
1
|
+
{"version":3,"file":"Mapbox-DiD9etYJ-BMtTiGO7.js","names":[],"sources":["../../../../packages/maps/dist/Mapbox-DiD9etYJ.js"],"sourcesContent":["import { n as e } from \"./context-BrD4AniQ.js\";\nimport { n as t, r as n } from \"./constants-BcJ_mS91.js\";\nimport { t as r } from \"./esm-Be30MpcN.js\";\nimport { n as i, t as a } from \"./getPaddedBounds-CbCVe2M3.js\";\nimport { o, r as s, s as c } from \"./mapbox-jb8Zev6T.js\";\nimport { useCallback as l, useEffect as u, useRef as d, useState as f } from \"react\";\nimport { jsx as p, jsxs as m } from \"react/jsx-runtime\";\n//#region src/components/Map/Root/BaseMap/Mapbox/translations.ts\nvar h = {\n\ten: {\n\t\t\"AttributionControl.ToggleAttribution\": \"Toggle attribution\",\n\t\t\"FullscreenControl.Enter\": \"Enter fullscreen\",\n\t\t\"FullscreenControl.Exit\": \"Exit fullscreen\",\n\t\t\"GeolocateControl.FindMyLocation\": \"Find my location\",\n\t\t\"GeolocateControl.LocationNotAvailable\": \"Location not available\",\n\t\t\"LogoControl.Title\": \"Mapbox homepage\",\n\t\t\"Map.Title\": \"Map\",\n\t\t\"NavigationControl.ResetBearing\": \"Reset bearing to north\",\n\t\t\"NavigationControl.ZoomIn\": \"Zoom in\",\n\t\t\"NavigationControl.ZoomOut\": \"Zoom out\",\n\t\t\"ScrollZoomBlocker.CtrlMessage\": \"Use ctrl + scroll to zoom the map\",\n\t\t\"ScrollZoomBlocker.CmdMessage\": \"Use ⌘ + scroll to zoom the map\",\n\t\t\"TouchPanBlocker.Message\": \"Use two fingers to move the map\"\n\t},\n\tfr: {\n\t\t\"AttributionControl.ToggleAttribution\": \"Afficher/Masquer l’attribution\",\n\t\t\"FullscreenControl.Enter\": \"Passer en plein écran\",\n\t\t\"FullscreenControl.Exit\": \"Quitter le plein écran\",\n\t\t\"GeolocateControl.FindMyLocation\": \"Trouver ma position\",\n\t\t\"GeolocateControl.LocationNotAvailable\": \"Position non disponible\",\n\t\t\"LogoControl.Title\": \"Page d’accueil Mapbox\",\n\t\t\"Map.Title\": \"Carte\",\n\t\t\"NavigationControl.ResetBearing\": \"Réinitialiser l’orientation au nord\",\n\t\t\"NavigationControl.ZoomIn\": \"Zoomer\",\n\t\t\"NavigationControl.ZoomOut\": \"Dézoomer\",\n\t\t\"ScrollZoomBlocker.CtrlMessage\": \"Utilisez ctrl + défilement pour zoomer sur la carte\",\n\t\t\"ScrollZoomBlocker.CmdMessage\": \"Utilisez ⌘ + défilement pour zoomer sur la carte\",\n\t\t\"TouchPanBlocker.Message\": \"Utilisez deux doigts pour déplacer la carte\"\n\t}\n}, g = () => {\n\tlet { current: t } = c(), { centerPinMarkerPoints: n, markerPoints: o, locationBoundary: s, setZoom: p, mapPadding: m } = e(), [h, g] = f(void 0), _ = d(void 0), v = l(() => {\n\t\tt && p(t.getZoom());\n\t}, [t, p]);\n\treturn u(() => (v(), t?.on(\"zoom\", v), () => {\n\t\tt?.off(\"zoom\", v);\n\t}), [t, v]), u(() => {\n\t\tif (!t) return;\n\t\tlet e = [];\n\t\tif (s !== void 0 && s.length > 0 ? e.push(...s) : o !== void 0 && o.length > 0 ? (e.push(...o), n && e.push(n)) : n !== void 0 && e.push(n), e.length === 0) return;\n\t\tlet a = i(r(e));\n\t\t(!_.current || !a.every((e, t) => e === _.current?.[t])) && (_.current = a, g(a));\n\t}, [\n\t\tt,\n\t\to,\n\t\ts,\n\t\tn\n\t]), u(() => {\n\t\tif (!t || h === void 0) return;\n\t\tlet [e, n, r, i] = a(h);\n\t\tt.fitBounds([[e, n], [r, i]], {\n\t\t\tretainPadding: !1,\n\t\t\tpadding: m,\n\t\t\tmaxZoom: 17,\n\t\t\tduration: 700\n\t\t});\n\t}, [\n\t\tt,\n\t\th,\n\t\tm\n\t]), null;\n};\nfunction _({ children: r }) {\n\tlet { mapProvider: i, locale: a, center: c, zoom: l = n.zoom, minZoom: u, maxZoom: d, pitch: f = n.pitch, bearing: _ = n.bearing, cooperativeGestures: v = n.cooperativeGestures, zoomPosition: y } = e();\n\treturn i.name === \"mapbox\" ? /* @__PURE__ */ m(o, {\n\t\tmapboxAccessToken: i.apiKey,\n\t\tinitialViewState: {\n\t\t\t...c,\n\t\t\tzoom: l,\n\t\t\tpitch: f,\n\t\t\tbearing: _\n\t\t},\n\t\tcooperativeGestures: v,\n\t\tminZoom: u,\n\t\tmaxZoom: d,\n\t\tmapStyle: `mapbox://styles/${i.theme || t.mapbox}`,\n\t\tinteractiveLayerIds: [\"road-label\", \"waterway-label\"],\n\t\tlocale: h[a],\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ p(g, {}),\n\t\t\ty && /* @__PURE__ */ p(s, { position: y }),\n\t\t\tr\n\t\t]\n\t}) : null;\n}\n//#endregion\nexport { _ as default };\n"],"mappings":"gcAQI,EAAI,CACP,GAAI,CACH,uCAAwC,qBACxC,0BAA2B,mBAC3B,yBAA0B,kBAC1B,kCAAmC,mBACnC,wCAAyC,yBACzC,oBAAqB,kBACrB,YAAa,MACb,iCAAkC,yBAClC,2BAA4B,UAC5B,4BAA6B,WAC7B,gCAAiC,oCACjC,+BAAgC,iCAChC,0BAA2B,mCAE5B,GAAI,CACH,uCAAwC,iCACxC,0BAA2B,wBAC3B,yBAA0B,yBAC1B,kCAAmC,sBACnC,wCAAyC,0BACzC,oBAAqB,wBACrB,YAAa,QACb,iCAAkC,sCAClC,2BAA4B,SAC5B,4BAA6B,WAC7B,gCAAiC,sDACjC,+BAAgC,mDAChC,0BAA2B,gDAE1B,EAAA,KACF,IAAM,QAAS,GAAM,KAAO,sBAAuB,EAAG,aAAc,EAAG,iBAAkB,EAAG,QAAS,EAAG,WAAY,GAAM,KAAM,EAAG,IAAA,EAAA,EAAA,eAAO,GAAS,GAAA,EAAA,EAAA,aAAM,GAAS,GAAA,EAAA,EAAA,aAAA,KACjK,GAAK,EAAE,EAAE,YACP,CAAC,EAAG,IACP,OAAA,EAAA,EAAA,WAAA,KAAgB,IAAK,GAAG,GAAG,OAAQ,GAAE,KACpC,GAAG,IAAI,OAAQ,KACZ,CAAC,EAAG,KAAG,EAAA,EAAA,WAAA,KACV,IAAK,EAAG,OACR,IAAI,EAAI,GACR,QAAU,IAAN,GAAgB,EAAE,OAAS,EAAI,EAAE,QAAQ,QAAW,IAAN,GAAgB,EAAE,OAAS,GAAK,EAAE,QAAQ,GAAI,GAAK,EAAE,KAAK,SAAY,IAAN,GAAgB,EAAE,KAAK,GAAiB,IAAb,EAAE,OAAc,OAC7J,IAAI,EAAI,EAAE,EAAE,MACV,EAAE,UAAY,EAAE,MAAA,CAAO,EAAG,IAAM,IAAM,EAAE,UAAU,OAAS,EAAE,QAAU,EAAG,EAAE,KAC5E,CACF,EACA,EACA,EACA,KACC,EAAA,EAAA,WAAA,KACD,IAAK,QAAW,IAAN,EAAc,OACxB,IAAK,EAAG,EAAG,EAAG,GAAK,EAAE,GACrB,EAAE,UAAU,CAAC,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAC7B,eAAe,EACf,QAAS,EACT,QAAS,GACT,SAAU,OAET,CACF,EACA,EACA,IACG,MAEL,SAAS,GAAI,SAAU,IACtB,IAAM,YAAa,EAAG,OAAQ,EAAG,OAAQ,EAAG,KAAM,EAAI,EAAE,KAAM,QAAS,EAAG,QAAS,EAAG,MAAO,EAAI,EAAE,MAAO,QAAS,EAAI,EAAE,QAAS,oBAAqB,EAAI,EAAE,oBAAqB,aAAc,GAAM,IACtM,MAAkB,WAAX,EAAE,MAAoC,EAAA,EAAA,MAAE,EAAG,CACjD,kBAAmB,EAAE,OACrB,iBAAkB,IACd,EACH,KAAM,EACN,MAAO,EACP,QAAS,GAEV,oBAAqB,EACrB,QAAS,EACT,QAAS,EACT,SAAU,mBAAmB,EAAE,OAAS,EAAE,SAC1C,oBAAqB,CAAC,aAAc,kBACpC,OAAQ,EAAE,GACV,SAAU,EACO,EAAA,EAAA,KAAE,EAAG,CAAA,GACrB,IAAqB,EAAA,EAAA,KAAE,EAAG,CAAE,SAAU,IACtC,KAEG"}
|