@local-logic/sdks-app 1.24.65 → 1.25.0
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-WqAVcFf4.js → Attribution-CUXwGQ1J.js} +2 -2
- package/dist/assets/{Attribution-WqAVcFf4.js.map → Attribution-CUXwGQ1J.js.map} +1 -1
- package/dist/assets/{Attribution-legacy-CZRg2xtq.js → Attribution-legacy-BHwwqaVL.js} +2 -2
- package/dist/assets/{Attribution-legacy-CZRg2xtq.js.map → Attribution-legacy-BHwwqaVL.js.map} +1 -1
- package/dist/assets/{Cluster-DtK-bXwa-legacy-BM2nAsO3.js → Cluster-DtK-bXwa-legacy-Df-qaEE4.js} +2 -2
- package/dist/assets/{Cluster-DtK-bXwa-legacy-BM2nAsO3.js.map → Cluster-DtK-bXwa-legacy-Df-qaEE4.js.map} +1 -1
- package/dist/assets/{Cluster-DtK-bXwa-xBcc5Wcr.js → Cluster-DtK-bXwa-tdNdDFEn.js} +2 -2
- package/dist/assets/{Cluster-DtK-bXwa-xBcc5Wcr.js.map → Cluster-DtK-bXwa-tdNdDFEn.js.map} +1 -1
- package/dist/assets/{Google-BWu1zjvH-D6-Gkisg.js → Google-BWu1zjvH-7kETuMcQ.js} +2 -2
- package/dist/assets/{Google-BWu1zjvH-D6-Gkisg.js.map → Google-BWu1zjvH-7kETuMcQ.js.map} +1 -1
- package/dist/assets/{Google-BWu1zjvH-legacy-B55jbgM4.js → Google-BWu1zjvH-legacy-DyuPcONb.js} +2 -2
- package/dist/assets/{Google-BWu1zjvH-legacy-B55jbgM4.js.map → Google-BWu1zjvH-legacy-DyuPcONb.js.map} +1 -1
- package/dist/assets/{Google-CWJnNepc--n_AS7Xv.js → Google-CWJnNepc-Diak4buL.js} +2 -2
- package/dist/assets/{Google-CWJnNepc--n_AS7Xv.js.map → Google-CWJnNepc-Diak4buL.js.map} +1 -1
- package/dist/assets/{Google-CWJnNepc-legacy-B5xAFaAy.js → Google-CWJnNepc-legacy-Dm-kDgsn.js} +2 -2
- package/dist/assets/{Google-CWJnNepc-legacy-B5xAFaAy.js.map → Google-CWJnNepc-legacy-Dm-kDgsn.js.map} +1 -1
- package/dist/assets/{Google-CxfcrB_--legacy-DMVhlEwb.js → Google-CxfcrB_--legacy-MibdUZx-.js} +2 -2
- package/dist/assets/{Google-CxfcrB_--legacy-DMVhlEwb.js.map → Google-CxfcrB_--legacy-MibdUZx-.js.map} +1 -1
- package/dist/assets/{Google-CxfcrB_--Dm6mI0xL.js → Google-CxfcrB_--xOvNga8x.js} +2 -2
- package/dist/assets/{Google-CxfcrB_--Dm6mI0xL.js.map → Google-CxfcrB_--xOvNga8x.js.map} +1 -1
- package/dist/assets/{Google-DJVjCEDp-DLT08LHH.js → Google-DJVjCEDp-IPBzAnum.js} +2 -2
- package/dist/assets/{Google-DJVjCEDp-DLT08LHH.js.map → Google-DJVjCEDp-IPBzAnum.js.map} +1 -1
- package/dist/assets/{Google-DJVjCEDp-legacy-CX-gmQYg.js → Google-DJVjCEDp-legacy-B5Y13TX3.js} +2 -2
- package/dist/assets/{Google-DJVjCEDp-legacy-CX-gmQYg.js.map → Google-DJVjCEDp-legacy-B5Y13TX3.js.map} +1 -1
- package/dist/assets/{Google-dS9cvzKP-DsufHCWB.js → Google-dS9cvzKP-BE2X0tIf.js} +2 -2
- package/dist/assets/{Google-dS9cvzKP-DsufHCWB.js.map → Google-dS9cvzKP-BE2X0tIf.js.map} +1 -1
- package/dist/assets/{Google-dS9cvzKP-legacy-DpnzKrq2.js → Google-dS9cvzKP-legacy-55YxYzsA.js} +2 -2
- package/dist/assets/{Google-dS9cvzKP-legacy-DpnzKrq2.js.map → Google-dS9cvzKP-legacy-55YxYzsA.js.map} +1 -1
- package/dist/assets/{GridGraph-DoMBR-zc.js → GridGraph-DoIXQCjF.js} +2 -2
- package/dist/assets/{GridGraph-DoMBR-zc.js.map → GridGraph-DoIXQCjF.js.map} +1 -1
- package/dist/assets/{GridGraph-legacy-wcw3Xsv1.js → GridGraph-legacy-ClR9KV5p.js} +2 -2
- package/dist/assets/{GridGraph-legacy-wcw3Xsv1.js.map → GridGraph-legacy-ClR9KV5p.js.map} +1 -1
- package/dist/assets/{LeadCapture-BChrm7jZ.js → LeadCapture-BNqMqKPU.js} +2 -2
- package/dist/assets/{LeadCapture-BChrm7jZ.js.map → LeadCapture-BNqMqKPU.js.map} +1 -1
- package/dist/assets/{LeadCapture-legacy-Bp18__H7.js → LeadCapture-legacy-CWiD-zqE.js} +2 -2
- package/dist/assets/{LeadCapture-legacy-Bp18__H7.js.map → LeadCapture-legacy-CWiD-zqE.js.map} +1 -1
- package/dist/assets/{LocalContent-DfDE8a6m.js → LocalContent-BkN1iLgY.js} +2 -2
- package/dist/assets/{LocalContent-DfDE8a6m.js.map → LocalContent-BkN1iLgY.js.map} +1 -1
- package/dist/assets/{LocalContent-legacy-CbC4zHXr.js → LocalContent-legacy-DQV0bDZr.js} +2 -2
- package/dist/assets/{LocalContent-legacy-CbC4zHXr.js.map → LocalContent-legacy-DQV0bDZr.js.map} +1 -1
- package/dist/assets/{LocalDemographics-legacy-KphugBXo.js → LocalDemographics-legacy-BGSCwuXC.js} +2 -2
- package/dist/assets/{LocalDemographics-legacy-KphugBXo.js.map → LocalDemographics-legacy-BGSCwuXC.js.map} +1 -1
- package/dist/assets/{LocalDemographics-B0FoSqUG.js → LocalDemographics-oyV6-uMH.js} +2 -2
- package/dist/assets/{LocalDemographics-B0FoSqUG.js.map → LocalDemographics-oyV6-uMH.js.map} +1 -1
- package/dist/assets/{Mapbox-B9pa-75a-DqMgbPKZ.js → Mapbox-B9pa-75a-Mu6SCCcO.js} +2 -2
- package/dist/assets/{Mapbox-B9pa-75a-DqMgbPKZ.js.map → Mapbox-B9pa-75a-Mu6SCCcO.js.map} +1 -1
- package/dist/assets/{Mapbox-B9pa-75a-legacy-BZNbt29I.js → Mapbox-B9pa-75a-legacy-oHRMBwlz.js} +2 -2
- package/dist/assets/{Mapbox-B9pa-75a-legacy-BZNbt29I.js.map → Mapbox-B9pa-75a-legacy-oHRMBwlz.js.map} +1 -1
- package/dist/assets/{Mapbox-BpJHQDi--B3iPnnhl.js → Mapbox-BpJHQDi--fpQ7rycQ.js} +2 -2
- package/dist/assets/{Mapbox-BpJHQDi--B3iPnnhl.js.map → Mapbox-BpJHQDi--fpQ7rycQ.js.map} +1 -1
- package/dist/assets/{Mapbox-BpJHQDi--legacy-Dc3nHh68.js → Mapbox-BpJHQDi--legacy-B-XEQhTg.js} +2 -2
- package/dist/assets/{Mapbox-BpJHQDi--legacy-Dc3nHh68.js.map → Mapbox-BpJHQDi--legacy-B-XEQhTg.js.map} +1 -1
- package/dist/assets/{Mapbox-BtxA3en8-legacy-W_SEiuh4.js → Mapbox-BtxA3en8-legacy-BDW_QXt8.js} +2 -2
- package/dist/assets/{Mapbox-BtxA3en8-legacy-W_SEiuh4.js.map → Mapbox-BtxA3en8-legacy-BDW_QXt8.js.map} +1 -1
- package/dist/assets/{Mapbox-BtxA3en8-CUy50TN7.js → Mapbox-BtxA3en8-mt59xOWa.js} +2 -2
- package/dist/assets/{Mapbox-BtxA3en8-CUy50TN7.js.map → Mapbox-BtxA3en8-mt59xOWa.js.map} +1 -1
- package/dist/assets/{Mapbox-CDUr5XKG-BB6075Va.js → Mapbox-CDUr5XKG-Cw2WZwjO.js} +2 -2
- package/dist/assets/{Mapbox-CDUr5XKG-BB6075Va.js.map → Mapbox-CDUr5XKG-Cw2WZwjO.js.map} +1 -1
- package/dist/assets/{Mapbox-CDUr5XKG-legacy-irpdi8fD.js → Mapbox-CDUr5XKG-legacy-CrA0lr7q.js} +2 -2
- package/dist/assets/{Mapbox-CDUr5XKG-legacy-irpdi8fD.js.map → Mapbox-CDUr5XKG-legacy-CrA0lr7q.js.map} +1 -1
- package/dist/assets/{Mapbox-DwSofiet-C2743JRV.js → Mapbox-DwSofiet-D9fQcbet.js} +2 -2
- package/dist/assets/{Mapbox-DwSofiet-C2743JRV.js.map → Mapbox-DwSofiet-D9fQcbet.js.map} +1 -1
- package/dist/assets/{Mapbox-DwSofiet-legacy-CWDGbtkF.js → Mapbox-DwSofiet-legacy-B_n98J-f.js} +2 -2
- package/dist/assets/{Mapbox-DwSofiet-legacy-CWDGbtkF.js.map → Mapbox-DwSofiet-legacy-B_n98J-f.js.map} +1 -1
- package/dist/assets/{Maptiler-CYFdJNvN-B1AyicNq.js → Maptiler-CYFdJNvN-BOIW1DRj.js} +2 -2
- package/dist/assets/{Maptiler-CYFdJNvN-B1AyicNq.js.map → Maptiler-CYFdJNvN-BOIW1DRj.js.map} +1 -1
- package/dist/assets/{Maptiler-CYFdJNvN-legacy-C03mDa24.js → Maptiler-CYFdJNvN-legacy-DaVeeAW_.js} +2 -2
- package/dist/assets/{Maptiler-CYFdJNvN-legacy-C03mDa24.js.map → Maptiler-CYFdJNvN-legacy-DaVeeAW_.js.map} +1 -1
- package/dist/assets/{Maptiler-Ce0L0Kac-Bk8J53ab.js → Maptiler-Ce0L0Kac-C0QBCQj_.js} +2 -2
- package/dist/assets/{Maptiler-Ce0L0Kac-Bk8J53ab.js.map → Maptiler-Ce0L0Kac-C0QBCQj_.js.map} +1 -1
- package/dist/assets/{Maptiler-Ce0L0Kac-legacy-Cpl39Y9p.js → Maptiler-Ce0L0Kac-legacy-Bg_z1W1q.js} +2 -2
- package/dist/assets/{Maptiler-Ce0L0Kac-legacy-Cpl39Y9p.js.map → Maptiler-Ce0L0Kac-legacy-Bg_z1W1q.js.map} +1 -1
- package/dist/assets/{Maptiler-CkoZpE04-BojR3Uld.js → Maptiler-CkoZpE04-CGa-MoE2.js} +2 -2
- package/dist/assets/{Maptiler-CkoZpE04-BojR3Uld.js.map → Maptiler-CkoZpE04-CGa-MoE2.js.map} +1 -1
- package/dist/assets/{Maptiler-CkoZpE04-legacy-D9I4mWbi.js → Maptiler-CkoZpE04-legacy-BTiD7zl7.js} +2 -2
- package/dist/assets/{Maptiler-CkoZpE04-legacy-D9I4mWbi.js.map → Maptiler-CkoZpE04-legacy-BTiD7zl7.js.map} +1 -1
- package/dist/assets/{Maptiler-CyB_-uzB-DL4hI3Us.js → Maptiler-CyB_-uzB-DLX_n2jU.js} +2 -2
- package/dist/assets/{Maptiler-CyB_-uzB-DL4hI3Us.js.map → Maptiler-CyB_-uzB-DLX_n2jU.js.map} +1 -1
- package/dist/assets/{Maptiler-CyB_-uzB-legacy-CImIzPc-.js → Maptiler-CyB_-uzB-legacy-Dq9asuPT.js} +2 -2
- package/dist/assets/{Maptiler-CyB_-uzB-legacy-CImIzPc-.js.map → Maptiler-CyB_-uzB-legacy-Dq9asuPT.js.map} +1 -1
- package/dist/assets/{Maptiler-DsgKmpne-C0Q3IRjD.js → Maptiler-DsgKmpne-CfP11fz9.js} +2 -2
- package/dist/assets/{Maptiler-DsgKmpne-C0Q3IRjD.js.map → Maptiler-DsgKmpne-CfP11fz9.js.map} +1 -1
- package/dist/assets/{Maptiler-DsgKmpne-legacy-m2VgqB2H.js → Maptiler-DsgKmpne-legacy-CGBmsCz9.js} +2 -2
- package/dist/assets/{Maptiler-DsgKmpne-legacy-m2VgqB2H.js.map → Maptiler-DsgKmpne-legacy-CGBmsCz9.js.map} +1 -1
- package/dist/assets/{MarkerIcon-Drkpm3bl-SOq3C2M8.js → MarkerIcon-Drkpm3bl-D3-9sE3p.js} +2 -2
- package/dist/assets/{MarkerIcon-Drkpm3bl-SOq3C2M8.js.map → MarkerIcon-Drkpm3bl-D3-9sE3p.js.map} +1 -1
- package/dist/assets/{MarkerIcon-Drkpm3bl-legacy-Pr3PVQOF.js → MarkerIcon-Drkpm3bl-legacy--eQ8ldVm.js} +2 -2
- package/dist/assets/{MarkerIcon-Drkpm3bl-legacy-Pr3PVQOF.js.map → MarkerIcon-Drkpm3bl-legacy--eQ8ldVm.js.map} +1 -1
- package/dist/assets/{NeighborhoodCard-BMMeuDq1.js → NeighborhoodCard-BbsQyDyL.js} +2 -2
- package/dist/assets/{NeighborhoodCard-BMMeuDq1.js.map → NeighborhoodCard-BbsQyDyL.js.map} +1 -1
- package/dist/assets/{NeighborhoodCard-legacy-iFrR-F6M.js → NeighborhoodCard-legacy-C7H259NL.js} +2 -2
- package/dist/assets/{NeighborhoodCard-legacy-iFrR-F6M.js.map → NeighborhoodCard-legacy-C7H259NL.js.map} +1 -1
- package/dist/assets/{NeighborhoodCharacteristics-CX2zxhSJ.js → NeighborhoodCharacteristics-BXAWE_Yr.js} +2 -2
- package/dist/assets/{NeighborhoodCharacteristics-CX2zxhSJ.js.map → NeighborhoodCharacteristics-BXAWE_Yr.js.map} +1 -1
- package/dist/assets/{NeighborhoodCharacteristics-legacy-2J2zsQBh.js → NeighborhoodCharacteristics-legacy-qOhWab8U.js} +2 -2
- package/dist/assets/{NeighborhoodCharacteristics-legacy-2J2zsQBh.js.map → NeighborhoodCharacteristics-legacy-qOhWab8U.js.map} +1 -1
- package/dist/assets/{NeighborhoodDemographics-CHSrL_pE.js → NeighborhoodDemographics-BckV-fh5.js} +2 -2
- package/dist/assets/{NeighborhoodDemographics-CHSrL_pE.js.map → NeighborhoodDemographics-BckV-fh5.js.map} +1 -1
- package/dist/assets/{NeighborhoodDemographics-legacy-BBZLXCYb.js → NeighborhoodDemographics-legacy-lMTE4mul.js} +2 -2
- package/dist/assets/{NeighborhoodDemographics-legacy-BBZLXCYb.js.map → NeighborhoodDemographics-legacy-lMTE4mul.js.map} +1 -1
- package/dist/assets/{NeighborhoodFeatured-B5KAxVo_.js → NeighborhoodFeatured-BmoD9P_D.js} +2 -2
- package/dist/assets/{NeighborhoodFeatured-B5KAxVo_.js.map → NeighborhoodFeatured-BmoD9P_D.js.map} +1 -1
- package/dist/assets/{NeighborhoodFeatured-legacy--bCKhxiI.js → NeighborhoodFeatured-legacy-CqIwxl9G.js} +2 -2
- package/dist/assets/{NeighborhoodFeatured-legacy--bCKhxiI.js.map → NeighborhoodFeatured-legacy-CqIwxl9G.js.map} +1 -1
- package/dist/assets/{NeighborhoodHero-C_1mXlr3.js → NeighborhoodHero-Bv5VihH-.js} +2 -2
- package/dist/assets/{NeighborhoodHero-C_1mXlr3.js.map → NeighborhoodHero-Bv5VihH-.js.map} +1 -1
- package/dist/assets/{NeighborhoodHero-legacy-BZYi5fC3.js → NeighborhoodHero-legacy-CUECyttR.js} +2 -2
- package/dist/assets/{NeighborhoodHero-legacy-BZYi5fC3.js.map → NeighborhoodHero-legacy-CUECyttR.js.map} +1 -1
- package/dist/assets/{NeighborhoodHighlights-npuDYWm-.js → NeighborhoodHighlights-BIz0hvb3.js} +2 -2
- package/dist/assets/{NeighborhoodHighlights-npuDYWm-.js.map → NeighborhoodHighlights-BIz0hvb3.js.map} +1 -1
- package/dist/assets/{NeighborhoodHighlights-legacy-BElhduG4.js → NeighborhoodHighlights-legacy-Dw8oNzJk.js} +2 -2
- package/dist/assets/{NeighborhoodHighlights-legacy-BElhduG4.js.map → NeighborhoodHighlights-legacy-Dw8oNzJk.js.map} +1 -1
- package/dist/assets/{NeighborhoodMap-DTIk4UJb.js → NeighborhoodMap-DGZzObNH.js} +2 -2
- package/dist/assets/{NeighborhoodMap-DTIk4UJb.js.map → NeighborhoodMap-DGZzObNH.js.map} +1 -1
- package/dist/assets/{NeighborhoodMap-legacy-2JbG9XBi.js → NeighborhoodMap-legacy-B2jA9frj.js} +2 -2
- package/dist/assets/{NeighborhoodMap-legacy-2JbG9XBi.js.map → NeighborhoodMap-legacy-B2jA9frj.js.map} +1 -1
- package/dist/assets/{NeighborhoodMarketTrends-at4L-PT7.js → NeighborhoodMarketTrends-DUxRgP1q.js} +3 -3
- package/dist/assets/{NeighborhoodMarketTrends-at4L-PT7.js.map → NeighborhoodMarketTrends-DUxRgP1q.js.map} +1 -1
- package/dist/assets/{NeighborhoodMarketTrends-legacy-DVYaKAVN.js → NeighborhoodMarketTrends-legacy-DPc2C4aT.js} +2 -2
- package/dist/assets/{NeighborhoodMarketTrends-legacy-DVYaKAVN.js.map → NeighborhoodMarketTrends-legacy-DPc2C4aT.js.map} +1 -1
- package/dist/assets/{NeighborhoodMatch-pArwA2Uu.js → NeighborhoodMatch-BW1MPWLo.js} +2 -2
- package/dist/assets/{NeighborhoodMatch-pArwA2Uu.js.map → NeighborhoodMatch-BW1MPWLo.js.map} +1 -1
- package/dist/assets/{NeighborhoodMatch-legacy-Bnjs8Qcn.js → NeighborhoodMatch-legacy-DkXrqfhC.js} +2 -2
- package/dist/assets/{NeighborhoodMatch-legacy-Bnjs8Qcn.js.map → NeighborhoodMatch-legacy-DkXrqfhC.js.map} +1 -1
- package/dist/assets/{NeighborhoodPropertyValueDrivers-CSlEwRIt.js → NeighborhoodPropertyValueDrivers-BtBv0wb7.js} +2 -2
- package/dist/assets/{NeighborhoodPropertyValueDrivers-CSlEwRIt.js.map → NeighborhoodPropertyValueDrivers-BtBv0wb7.js.map} +1 -1
- package/dist/assets/{NeighborhoodPropertyValueDrivers-legacy-I2XMZg__.js → NeighborhoodPropertyValueDrivers-legacy-BJuSxrVc.js} +2 -2
- package/dist/assets/{NeighborhoodPropertyValueDrivers-legacy-I2XMZg__.js.map → NeighborhoodPropertyValueDrivers-legacy-BJuSxrVc.js.map} +1 -1
- package/dist/assets/{NeighborhoodSchools-BsHk_jqd.js → NeighborhoodSchools-BZ66o_Gh.js} +2 -2
- package/dist/assets/{NeighborhoodSchools-BsHk_jqd.js.map → NeighborhoodSchools-BZ66o_Gh.js.map} +1 -1
- package/dist/assets/{NeighborhoodSchools-legacy-Mjn5R_mx.js → NeighborhoodSchools-legacy-Bc58c80Y.js} +2 -2
- package/dist/assets/{NeighborhoodSchools-legacy-Mjn5R_mx.js.map → NeighborhoodSchools-legacy-Bc58c80Y.js.map} +1 -1
- package/dist/assets/{NeighborhoodShowcase-qX4IDeNp.js → NeighborhoodShowcase-Dg1tIkbn.js} +2 -2
- package/dist/assets/{NeighborhoodShowcase-qX4IDeNp.js.map → NeighborhoodShowcase-Dg1tIkbn.js.map} +1 -1
- package/dist/assets/{NeighborhoodShowcase-legacy-DQZQfReW.js → NeighborhoodShowcase-legacy-CoSTp16i.js} +2 -2
- package/dist/assets/{NeighborhoodShowcase-legacy-DQZQfReW.js.map → NeighborhoodShowcase-legacy-CoSTp16i.js.map} +1 -1
- package/dist/assets/{NoDataContent-scqbLzmG.js → NoDataContent-CLEOr0tN.js} +2 -2
- package/dist/assets/{NoDataContent-scqbLzmG.js.map → NoDataContent-CLEOr0tN.js.map} +1 -1
- package/dist/assets/{NoDataContent-legacy-Dt-Fmme7.js → NoDataContent-legacy-CSjG4pMx.js} +2 -2
- package/dist/assets/{NoDataContent-legacy-Dt-Fmme7.js.map → NoDataContent-legacy-CSjG4pMx.js.map} +1 -1
- package/dist/assets/{ResizeWrapper-CoWkpS6t.js → ResizeWrapper-CacQc137.js} +2 -2
- package/dist/assets/{ResizeWrapper-CoWkpS6t.js.map → ResizeWrapper-CacQc137.js.map} +1 -1
- package/dist/assets/{ResizeWrapper-legacy-dNB7wg4R.js → ResizeWrapper-legacy-Bq7weNwm.js} +2 -2
- package/dist/assets/{ResizeWrapper-legacy-dNB7wg4R.js.map → ResizeWrapper-legacy-Bq7weNwm.js.map} +1 -1
- package/dist/assets/{ScoreCardList-B2AnINHe.js → ScoreCardList-ByN2xpqN.js} +2 -2
- package/dist/assets/{ScoreCardList-B2AnINHe.js.map → ScoreCardList-ByN2xpqN.js.map} +1 -1
- package/dist/assets/{ScoreCardList-legacy-Caqgt45w.js → ScoreCardList-legacy-DL0dIYtn.js} +2 -2
- package/dist/assets/{ScoreCardList-legacy-Caqgt45w.js.map → ScoreCardList-legacy-DL0dIYtn.js.map} +1 -1
- package/dist/assets/{ScoreIcon-DGty1swf.js → ScoreIcon-C8SDoqRb.js} +2 -2
- package/dist/assets/{ScoreIcon-DGty1swf.js.map → ScoreIcon-C8SDoqRb.js.map} +1 -1
- package/dist/assets/{ScoreIcon-legacy-CFr0rGfR.js → ScoreIcon-legacy-DeeA6c3d.js} +2 -2
- package/dist/assets/{ScoreIcon-legacy-CFr0rGfR.js.map → ScoreIcon-legacy-DeeA6c3d.js.map} +1 -1
- package/dist/assets/{Testing-BQ7AFsvh-Dad79Au3.js → Testing-BQ7AFsvh-C64BDPGH.js} +2 -2
- package/dist/assets/{Testing-BQ7AFsvh-Dad79Au3.js.map → Testing-BQ7AFsvh-C64BDPGH.js.map} +1 -1
- package/dist/assets/{Testing-BQ7AFsvh-legacy-CSvYtw_E.js → Testing-BQ7AFsvh-legacy-DglzmwFN.js} +2 -2
- package/dist/assets/{Testing-BQ7AFsvh-legacy-CSvYtw_E.js.map → Testing-BQ7AFsvh-legacy-DglzmwFN.js.map} +1 -1
- package/dist/assets/{Testing-CZDor_UM-DDuitVO1.js → Testing-CZDor_UM-DzK0KC-I.js} +2 -2
- package/dist/assets/{Testing-CZDor_UM-DDuitVO1.js.map → Testing-CZDor_UM-DzK0KC-I.js.map} +1 -1
- package/dist/assets/{Testing-CZDor_UM-legacy-CFevlGP3.js → Testing-CZDor_UM-legacy-Cc5jS1TO.js} +2 -2
- package/dist/assets/{Testing-CZDor_UM-legacy-CFevlGP3.js.map → Testing-CZDor_UM-legacy-Cc5jS1TO.js.map} +1 -1
- package/dist/assets/{Testing-CxwUbSxG-CD3fsBYh.js → Testing-CxwUbSxG-B5AMQcKI.js} +2 -2
- package/dist/assets/{Testing-CxwUbSxG-CD3fsBYh.js.map → Testing-CxwUbSxG-B5AMQcKI.js.map} +1 -1
- package/dist/assets/{Testing-CxwUbSxG-legacy-BEVnAXjX.js → Testing-CxwUbSxG-legacy-BiXBuWxN.js} +2 -2
- package/dist/assets/{Testing-CxwUbSxG-legacy-BEVnAXjX.js.map → Testing-CxwUbSxG-legacy-BiXBuWxN.js.map} +1 -1
- package/dist/assets/{Testing-vfABKYEg-DA1P9rcG.js → Testing-vfABKYEg-CaIxJQwf.js} +2 -2
- package/dist/assets/{Testing-vfABKYEg-DA1P9rcG.js.map → Testing-vfABKYEg-CaIxJQwf.js.map} +1 -1
- package/dist/assets/{Testing-vfABKYEg-legacy-BtSxwbJW.js → Testing-vfABKYEg-legacy-DP5MFU2J.js} +2 -2
- package/dist/assets/{Testing-vfABKYEg-legacy-BtSxwbJW.js.map → Testing-vfABKYEg-legacy-DP5MFU2J.js.map} +1 -1
- package/dist/assets/{Testing-wan6urXy-Bg4sYs7c.js → Testing-wan6urXy-7l16xZjm.js} +2 -2
- package/dist/assets/{Testing-wan6urXy-Bg4sYs7c.js.map → Testing-wan6urXy-7l16xZjm.js.map} +1 -1
- package/dist/assets/{Testing-wan6urXy-legacy-BbL_74Gq.js → Testing-wan6urXy-legacy-C-8TofFN.js} +2 -2
- package/dist/assets/{Testing-wan6urXy-legacy-BbL_74Gq.js.map → Testing-wan6urXy-legacy-C-8TofFN.js.map} +1 -1
- package/dist/assets/{TitleHeader-BlWv-Vn5.js → TitleHeader-Bg-iB4qi.js} +2 -2
- package/dist/assets/{TitleHeader-BlWv-Vn5.js.map → TitleHeader-Bg-iB4qi.js.map} +1 -1
- package/dist/assets/{TitleHeader-legacy-C3IaKPzC.js → TitleHeader-legacy-OyxHyZJv.js} +2 -2
- package/dist/assets/{TitleHeader-legacy-C3IaKPzC.js.map → TitleHeader-legacy-OyxHyZJv.js.map} +1 -1
- package/dist/assets/{Trans-CYxIxTBf.js → Trans-D9IPXQBZ.js} +2 -2
- package/dist/assets/{Trans-CYxIxTBf.js.map → Trans-D9IPXQBZ.js.map} +1 -1
- package/dist/assets/{Trans-legacy-BW24uumM.js → Trans-legacy-NUMpKf4g.js} +2 -2
- package/dist/assets/{Trans-legacy-BW24uumM.js.map → Trans-legacy-NUMpKf4g.js.map} +1 -1
- package/dist/assets/{ValidateOptions-C00hJqCN.js → ValidateOptions-CHpsZ-kR.js} +2 -2
- package/dist/assets/{ValidateOptions-C00hJqCN.js.map → ValidateOptions-CHpsZ-kR.js.map} +1 -1
- package/dist/assets/{ValidateOptions-legacy-DQF5TYHw.js → ValidateOptions-legacy-Dsep8qdV.js} +2 -2
- package/dist/assets/{ValidateOptions-legacy-DQF5TYHw.js.map → ValidateOptions-legacy-Dsep8qdV.js.map} +1 -1
- package/dist/assets/{dist-BhLmWB7-.js → dist-LjV2lD3w.js} +2 -2
- package/dist/assets/{dist-BhLmWB7-.js.map → dist-LjV2lD3w.js.map} +1 -1
- package/dist/assets/{dist-legacy-DiyEMMmk.js → dist-legacy-DoPwJP1x.js} +2 -2
- package/dist/assets/{dist-legacy-DiyEMMmk.js.map → dist-legacy-DoPwJP1x.js.map} +1 -1
- package/dist/assets/{getMapProviderConfig-BTXXPYl6.js → getMapProviderConfig-C0wqaxwl.js} +3 -3
- package/dist/assets/{getMapProviderConfig-BTXXPYl6.js.map → getMapProviderConfig-C0wqaxwl.js.map} +1 -1
- package/dist/assets/{getMapProviderConfig-legacy-BflZAmBt.js → getMapProviderConfig-legacy-Bq44j1zG.js} +2 -2
- package/dist/assets/{getMapProviderConfig-legacy-BflZAmBt.js.map → getMapProviderConfig-legacy-Bq44j1zG.js.map} +1 -1
- package/dist/assets/{getPaddedBounds-FpsQymJC-DyBASi-q.js → getPaddedBounds-FpsQymJC-BKh4ocDK.js} +2 -2
- package/dist/assets/{getPaddedBounds-FpsQymJC-DyBASi-q.js.map → getPaddedBounds-FpsQymJC-BKh4ocDK.js.map} +1 -1
- package/dist/assets/{getPaddedBounds-FpsQymJC-legacy-CcVw9K1A.js → getPaddedBounds-FpsQymJC-legacy-BffTg2N1.js} +2 -2
- package/dist/assets/{getPaddedBounds-FpsQymJC-legacy-CcVw9K1A.js.map → getPaddedBounds-FpsQymJC-legacy-BffTg2N1.js.map} +1 -1
- package/dist/assets/globals-Bo3rWV-h.css +1 -0
- package/dist/assets/globals-legacy-BHUBCckM.js +1 -0
- package/dist/assets/index-DuYul3n8.js +3 -0
- package/dist/assets/index-DuYul3n8.js.map +1 -0
- package/dist/assets/index-legacy-A0tsrrZt.js +2 -0
- package/dist/assets/index-legacy-A0tsrrZt.js.map +1 -0
- package/dist/assets/{index.es-ZoI1FSEA.js → index.es-C1Gm4nra.js} +2 -2
- package/dist/assets/{index.es-ZoI1FSEA.js.map → index.es-C1Gm4nra.js.map} +1 -1
- package/dist/assets/{index.es-legacy-DkmSd2Jr.js → index.es-legacy-DzobqkKH.js} +2 -2
- package/dist/assets/{index.es-legacy-DkmSd2Jr.js.map → index.es-legacy-DzobqkKH.js.map} +1 -1
- package/dist/assets/{mapbox-BiIB2Zbq-BeMYbC0c.js → mapbox-BiIB2Zbq-UeXogaFk.js} +2 -2
- package/dist/assets/{mapbox-BiIB2Zbq-BeMYbC0c.js.map → mapbox-BiIB2Zbq-UeXogaFk.js.map} +1 -1
- package/dist/assets/{mapbox-BiIB2Zbq-legacy-DMJfvwWV.js → mapbox-BiIB2Zbq-legacy-5zKVSMtD.js} +2 -2
- package/dist/assets/{mapbox-BiIB2Zbq-legacy-DMJfvwWV.js.map → mapbox-BiIB2Zbq-legacy-5zKVSMtD.js.map} +1 -1
- package/dist/assets/{maplibre-Cx0I-z8h-D7cnsqP-.js → maplibre-Cx0I-z8h-B0gv6DfU.js} +2 -2
- package/dist/assets/{maplibre-Cx0I-z8h-D7cnsqP-.js.map → maplibre-Cx0I-z8h-B0gv6DfU.js.map} +1 -1
- package/dist/assets/{maplibre-Cx0I-z8h-legacy-DR-mbMzx.js → maplibre-Cx0I-z8h-legacy-BG8HUyDf.js} +2 -2
- package/dist/assets/{maplibre-Cx0I-z8h-legacy-DR-mbMzx.js.map → maplibre-Cx0I-z8h-legacy-BG8HUyDf.js.map} +1 -1
- package/dist/assets/neighborhood-fallback-Bx8UkjEB.js.map +1 -1
- package/dist/assets/neighborhood-fallback-legacy-BjzkGm-m.js.map +1 -1
- package/dist/assets/{polyfills-legacy-KV91PI-U.js → polyfills-legacy-DWbaINOF.js} +2 -2
- package/dist/assets/polyfills-legacy-DWbaINOF.js.map +1 -0
- package/dist/assets/{sdks-CylBh5qd.js → sdks-C6AQk2vE.js} +2 -2
- package/dist/assets/{sdks-CylBh5qd.js.map → sdks-C6AQk2vE.js.map} +1 -1
- package/dist/assets/{sdks-legacy-eEWqNDw9.js → sdks-legacy-BMudUPgz.js} +2 -2
- package/dist/assets/{sdks-legacy-eEWqNDw9.js.map → sdks-legacy-BMudUPgz.js.map} +1 -1
- package/dist/assets/{styles-DCI3UJny-D5gfaFag.js → styles-DCI3UJny-BwUIG3fK.js} +2 -2
- package/dist/assets/{styles-DCI3UJny-D5gfaFag.js.map → styles-DCI3UJny-BwUIG3fK.js.map} +1 -1
- package/dist/assets/{styles-DCI3UJny-legacy-B65fXxj8.js → styles-DCI3UJny-legacy-C8yK-_bL.js} +2 -2
- package/dist/assets/{styles-DCI3UJny-legacy-B65fXxj8.js.map → styles-DCI3UJny-legacy-C8yK-_bL.js.map} +1 -1
- package/dist/assets/{styles-DMA_7NV0-1MHnrNSZ.js → styles-DMA_7NV0-D56ka4_Y.js} +2 -2
- package/dist/assets/{styles-DMA_7NV0-1MHnrNSZ.js.map → styles-DMA_7NV0-D56ka4_Y.js.map} +1 -1
- package/dist/assets/{styles-DMA_7NV0-legacy-BsSMfe-6.js → styles-DMA_7NV0-legacy-CBhXzFvt.js} +2 -2
- package/dist/assets/{styles-DMA_7NV0-legacy-BsSMfe-6.js.map → styles-DMA_7NV0-legacy-CBhXzFvt.js.map} +1 -1
- package/dist/assets/{useDemographicsData-DdwPh1al.js → useDemographicsData-BCiAVUly.js} +2 -2
- package/dist/assets/{useDemographicsData-DdwPh1al.js.map → useDemographicsData-BCiAVUly.js.map} +1 -1
- package/dist/assets/{useDemographicsData-legacy-CbztLovJ.js → useDemographicsData-legacy-DUgfQmjN.js} +2 -2
- package/dist/assets/{useDemographicsData-legacy-CbztLovJ.js.map → useDemographicsData-legacy-DUgfQmjN.js.map} +1 -1
- package/dist/assets/{useGeographies-CYqI3icF.js → useGeographies-D0Og6wGn.js} +2 -2
- package/dist/assets/{useGeographies-CYqI3icF.js.map → useGeographies-D0Og6wGn.js.map} +1 -1
- package/dist/assets/{useGeographies-legacy-CYCHt3Zt.js → useGeographies-legacy-CzZb8wbH.js} +2 -2
- package/dist/assets/{useGeographies-legacy-CYCHt3Zt.js.map → useGeographies-legacy-CzZb8wbH.js.map} +1 -1
- package/dist/assets/{useIsMobile-Bz4RXQtS.js → useIsMobile-DFRT0gA-.js} +2 -2
- package/dist/assets/{useIsMobile-Bz4RXQtS.js.map → useIsMobile-DFRT0gA-.js.map} +1 -1
- package/dist/assets/{useIsMobile-legacy-DfzhaV7o.js → useIsMobile-legacy-DmiaVB7P.js} +2 -2
- package/dist/assets/{useIsMobile-legacy-DfzhaV7o.js.map → useIsMobile-legacy-DmiaVB7P.js.map} +1 -1
- package/dist/assets/{useLocation-yHkA-hA5.js → useLocation-iMAOqyBM.js} +2 -2
- package/dist/assets/{useLocation-yHkA-hA5.js.map → useLocation-iMAOqyBM.js.map} +1 -1
- package/dist/assets/{useLocation-legacy-DllAtcuN.js → useLocation-legacy-Df4ZfKNB.js} +2 -2
- package/dist/assets/{useLocation-legacy-DllAtcuN.js.map → useLocation-legacy-Df4ZfKNB.js.map} +1 -1
- package/dist/assets/{useProfiles-NWzdipyr.js → useProfiles-Cy-BsR-B.js} +2 -2
- package/dist/assets/{useProfiles-NWzdipyr.js.map → useProfiles-Cy-BsR-B.js.map} +1 -1
- package/dist/assets/{useProfiles-legacy-D2vMNSmu.js → useProfiles-legacy-D_7Zq231.js} +2 -2
- package/dist/assets/{useProfiles-legacy-D2vMNSmu.js.map → useProfiles-legacy-D_7Zq231.js.map} +1 -1
- package/dist/assets/{useSchools-Dj65KKyc.js → useSchools-CDRcjANc.js} +2 -2
- package/dist/assets/{useSchools-Dj65KKyc.js.map → useSchools-CDRcjANc.js.map} +1 -1
- package/dist/assets/{useSchools-legacy-BxcCUrBy.js → useSchools-legacy-WeSe4BEl.js} +2 -2
- package/dist/assets/{useSchools-legacy-BxcCUrBy.js.map → useSchools-legacy-WeSe4BEl.js.map} +1 -1
- package/dist/assets/{useScores-_OWkYR2Y.js → useScores-_UGpgNYY.js} +2 -2
- package/dist/assets/{useScores-_OWkYR2Y.js.map → useScores-_UGpgNYY.js.map} +1 -1
- package/dist/assets/{useScores-legacy-BDgM6HNV.js → useScores-legacy-BDhM4zGM.js} +2 -2
- package/dist/assets/{useScores-legacy-BDgM6HNV.js.map → useScores-legacy-BDhM4zGM.js.map} +1 -1
- package/dist/assets/{utils-CV8G-gCd-BJ0ms7Ic.js → utils-CV8G-gCd-BfqAiww7.js} +2 -2
- package/dist/assets/{utils-CV8G-gCd-BJ0ms7Ic.js.map → utils-CV8G-gCd-BfqAiww7.js.map} +1 -1
- package/dist/assets/{utils-CV8G-gCd-legacy-CyvVi-ac.js → utils-CV8G-gCd-legacy-BrofeRF5.js} +2 -2
- package/dist/assets/{utils-CV8G-gCd-legacy-CyvVi-ac.js.map → utils-CV8G-gCd-legacy-BrofeRF5.js.map} +1 -1
- package/dist/index.html +3 -3
- package/dist/types/main.js +3 -0
- package/dist/types/main.js.map +1 -1
- package/dist/types/utils/recoverCssPreload/index.d.ts +2 -0
- package/dist/types/utils/recoverCssPreload/index.d.ts.map +1 -0
- package/dist/types/utils/recoverCssPreload/index.js +96 -0
- package/dist/types/utils/recoverCssPreload/index.js.map +1 -0
- package/dist/types/utils/recoverCssPreload/index.test.d.ts +2 -0
- package/dist/types/utils/recoverCssPreload/index.test.d.ts.map +1 -0
- package/dist/types/utils/recoverCssPreload/index.test.js +111 -0
- package/dist/types/utils/recoverCssPreload/index.test.js.map +1 -0
- package/package.json +1 -1
- package/dist/assets/globals-CqxFv-_n.css +0 -1
- package/dist/assets/globals-legacy-Dv3_O5ef.js +0 -1
- package/dist/assets/index-DxqnJfnT.js +0 -3
- package/dist/assets/index-DxqnJfnT.js.map +0 -1
- package/dist/assets/index-legacy-DeNa5JFf.js +0 -2
- package/dist/assets/index-legacy-DeNa5JFf.js.map +0 -1
- package/dist/assets/polyfills-legacy-KV91PI-U.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-BEU_UCik.js";import{l as a}from"./google-maps-vendor-BeDgURNz.js";import{a as t,c as l,d as s,g as i,m as o,n,o as r,p as c,r as d,t as m,u}from"./sdks-CylBh5qd.js";import{t as p}from"./Buildings.es-CAU8rzQX.js";import{t as h}from"./GraduationCap.es-CEu4hWGC.js";import{a as v,i as g,n as b,r as x,t as j}from"./useDemographicsData-DdwPh1al.js";import{t as f}from"./UsersThree.es-DNdVLGYi.js";import{t as y}from"./IconBase.es-kve0MeDL.js";import{H as N,K as _,W as M,Y as A,b as D,d as E,f as H,i as C,n as S,u as T,v as w,x as F,y as V,yt as $}from"./index-DxqnJfnT.js";import{t as k}from"./useLocation-yHkA-hA5.js";import{n as I}from"./Attribution-WqAVcFf4.js";import{t as L}from"./ResizeWrapper-CoWkpS6t.js";import{t as Z}from"./useIsMobile-Bz4RXQtS.js";/* empty css */import{i as O,n as z,r as K,t as P}from"./dist-BhLmWB7-.js";import{t as B}from"./TitleHeader-BlWv-Vn5.js";var R=e(a(),1),W=new Map([["bold",R.createElement(R.Fragment,null,R.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"}))],["duotone",R.createElement(R.Fragment,null,R.createElement("path",{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",opacity:"0.2"}),R.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"}))],["fill",R.createElement(R.Fragment,null,R.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"}))],["light",R.createElement(R.Fragment,null,R.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"}))],["regular",R.createElement(R.Fragment,null,R.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"}))],["thin",R.createElement(R.Fragment,null,R.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"}))]]),G=R.forwardRef((e,a)=>R.createElement(y,{ref:a,...e,weights:W}));G.displayName="WalletIcon";var U=R.createContext({}),q=()=>(0,R.useContext)(U),Y=A(),J=({children:e,options:{value:a,style:t}})=>(0,Y.jsx)(P,{value:a,style:t,children:e},a),Q=["income","population","housing","household","education","commute","languages"],X={income:G,population:x,housing:p,household:f,education:h,commute:v,languages:g},ee=()=>{const{t:e}=i("localDemographics"),{options:a}=q();let t=Q;return a.omitTabs&&(t=Q.filter(e=>!a.omitTabs?.includes(e))),(0,Y.jsx)(z,{className:"\n grid\n auto-cols-[minmax(0,80px)]\n grid-flow-col\n px-0 py-4\n","aria-label":"Demographics tabs",children:t.map(t=>{const l=t===a.activeTab,s=X[t];return(0,Y.jsx)(R.Fragment,{children:(0,Y.jsxs)(O,{"data-active":l,className:"\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",value:t,children:[(0,Y.jsx)(s,{className:"\n w-6 h-6\n fill-inherit\n"}),(0,Y.jsx)("p",{className:"\n m-0 font-semibold\n text-ll-font-size-caption-1\n text-inherit\n",children:e(`data.${t}.title`)})]})},t)})})},ae=()=>{const{t:e}=i("localDemographics"),{options:a,onChange:t}=q();let l=Q;return a.omitTabs&&(l=Q.filter(e=>!a.omitTabs?.includes(e))),(0,Y.jsx)("div",{className:"\n flex\n py-4 px-0\n z-[4]\n",children:(0,Y.jsxs)(D,{value:a.activeTab,onValueChange:e=>{t({type:"tabs",data:e})},children:[(0,Y.jsx)(F,{size:"large",children:(0,Y.jsx)(M,{noMargin:!0,variant:"h6",color:"--ll-color-placeholder",children:e(`data.${a.activeTab}.title`)})}),(0,Y.jsx)(w,{children:l.map(a=>(0,Y.jsx)(V,{value:a,children:(0,Y.jsx)(M,{noMargin:!0,variant:"h6",children:e(`data.${a}.title`)})},a))})]})})},te=({options:e,onChange:a,children:t})=>(0,Y.jsx)(U.Provider,{value:{options:e,onChange:a},children:(0,Y.jsx)(K,{value:e.activeTab,onValueChange:e=>{a({type:"tabs",data:e})},children:t})}),le="\n flex flex-col justify-start self-stretch items-stretch\n md:justify-between md:flex-row gap-3\n",se="\n flex justify-between gap-3 flex-row min-w-[250px]\n md:flex-col items-stretch\n",ie="\n w-full md:min-h-[240px]\n flex flex-col self-stretch\n",oe="text-ll-primary w-2/4 h-2/4",ne="min-h-36 h-full",re=function(e){return e.SDK_VIEWED="LD-Viewed",e.TAB_CLICKED="LD-Tab-Clicked",e}({}),ce=function(e){return e.SDK_VIEWED="sdk_viewed",e.CATEGORY_SELECTED="category_selected",e}({}),de=u({lat:s().min(-90,"Must be a valid latitude.").max(90,"Must be a valid latitude.").required(),lng:s().min(-180,"Must be a valid longitude.").max(180,"Must be a valid longitude.").required(),title:o().optional(),defaultTab:o().optional(),hideAttribution:c().optional()}).noUnknown(!0),me=R.createContext({}),ue=()=>(0,R.useContext)(me),pe=({children:e})=>{const a=r(),{sdkState:t}=S(),[l,s]=(0,R.useState)(t.options?.defaultTab&&Q.includes(t.options?.defaultTab)?t.options?.defaultTab:Q[0]),[i,o]=(0,R.useState)(!1),[n,c]=(0,R.useState)([]),{data:{country:d},isLoading:m}=k({lat:t.options?.lat,lng:t.options?.lng});C(()=>{a.postEvent({eventType:re.SDK_VIEWED}),a.trackAnalyticsEvent({eventName:ce.SDK_VIEWED})});const[u,p]=(0,R.useReducer)((e,a)=>({...e,...a}),{location:{lat:t.options?.lat||43.661337,lng:t.options?.lng||-79.401903},country:"CAN"});(0,R.useEffect)(()=>{t&&p({...u,country:d})},[t,d]),C(()=>{i||(async()=>{try{$.addBreadCrumb("LocalDemographicsProvider","Validating state options",{options:t.options}),await(e=t.options,de.validate(e,{abortEarly:!1})),o(!0)}catch(a){const e=a;c(e.errors),$.addBreadCrumb("LocalDemographicsProvider","State option validation failed",{errors:e.errors})}var e})()});const h=(0,R.useMemo)(()=>({country:d,demographicsState:u,setDemographicsState:p,activeCategory:l,setActiveCategory:s,locale:t.globalOptions?.locale||"en",hideAttribution:t.options?.hideAttribution}),[d,l,s,u,p,t.globalOptions,t.options?.hideAttribution]),v=(0,R.useMemo)(()=>{const e=[];return Object.entries({income:"income",population:"population_age",housing:"housing_tenancy",household:"household_composition",education:"education_level",commute:"commute_mode",languages:"mother_tongue"}).forEach(([a,t])=>{Object.keys(u).includes(t)||e.push(a)}),$.addBreadCrumb("LocalDemographicsProvider","Updated tabs to omit",{tabsToOmit:e}),e},[u]);if(!i){if(n.length){const e="Could not load Demographics";return console.error(`${e}: ${n.join(", ")}`),(0,Y.jsx)("p",{children:e})}return(0,Y.jsx)(Y.Fragment,{})}return(0,Y.jsx)(me.Provider,{value:h,children:(0,Y.jsx)(te,{options:{activeTab:l,omitTabs:v},onChange:e=>{s(e.data),$.addBreadCrumb("LocalDemographicsProvider","handleTabsChange",{value:e}),a.postEvent({eventType:re.TAB_CLICKED,eventAttributes:[{label:"activeCategory",data:e.data}]}),a.trackAnalyticsEvent({eventName:ce.CATEGORY_SELECTED,eventAttributes:{ll_selected_category:e.data}})},children:(0,Y.jsx)("div",{style:{display:"flex",flexDirection:"column",background:`${_["--ll-color-background"]}`,padding:`${_["--ll-spacing-xx-small"]} ${_["--ll-spacing-small"]} 0`,borderRadius:`${_["--ll-border-radius-medium"]}`},children:!m&&e})})})},he=()=>{const{t:e}=i("localDemographics"),{country:a,demographicsState:{income:t}}=ue(),l=(0,R.useMemo)(()=>t?.variables.slice().reverse()||[{variable:"avg_individual_income",label:"Avg individual income",value:t?.variables?.find(e=>"inc_person"===e.variable)?.value||0},{variable:"avg_household_income",label:"Avg household income",value:t?.variables?.find(e=>"inc_home"===e.variable)?.value||0}],[t?.variables]),s=(0,R.useMemo)(()=>({options:{title:e("data.income.graphs.averageIncome.title",{context:a}),values:l.map(t=>{let l="";return"avg_household_income"===t.variable&&(l=e("data.income.graphs.averageIncome.types.avgHouseholdIncome",{context:a})),"avg_individual_income"===t.variable&&(l=e("data.income.graphs.averageIncome.types.avgIndividualIncome",{context:a})),{variable:t.variable,value:`${new Intl.NumberFormat("en-EN",{style:"currency",currency:"USD",maximumFractionDigits:1}).format(t.value/1e3)}${t.value>=1e3?"k":""}`,label:l}})}}),[l]);return(0,Y.jsx)("div",{className:ne,children:(0,Y.jsx)(b,{...s})})},ve=()=>{const{t:e}=i("localDemographics"),{demographicsState:{employment_status:a}}=ue(),t=(0,R.useMemo)(()=>a?.variables.map(e=>({label:e.label,data:Number((100*e.value).toFixed(1))}))||[],[a?.variables]),l=(0,R.useMemo)(()=>({options:{title:e("data.income.graphs.employment.title"),values:t.map(e=>({variable:e.label.replace(" ","_"),label:e.label,value:`${e.data}%`}))}}),[t]);return a?(0,Y.jsx)("div",{className:ne,children:(0,Y.jsx)(b,{...l})}):null},ge=()=>{const{t:e}=i("localDemographics"),{demographicsState:{income_level:a}}=ue(),t=(0,R.useMemo)(()=>({labels:a?.variables.map(e=>e.label)||[],data:a?.variables.map(e=>Number((100*e.value).toFixed(1)))||[]}),[a?.variables]),l=(0,R.useMemo)(()=>({title:e("data.income.graphs.incomeBrackets.title"),labels:t.labels,data:t.data,unit:"%"}),[t]);return(0,Y.jsx)(E,{...l,children:(0,Y.jsx)(H,{})})},be=()=>{const{demographicsState:{income_level:e}}=ue();return(0,Y.jsx)(Y.Fragment,{children:e?(0,Y.jsxs)("div",{className:le,children:[(0,Y.jsxs)("div",{className:se,children:[(0,Y.jsx)("div",{className:ie,children:(0,Y.jsx)(he,{})}),(0,Y.jsx)("div",{className:ie,children:(0,Y.jsx)(ve,{})})]}),(0,Y.jsx)("div",{className:ie,children:(0,Y.jsx)(ge,{})})]}):(0,Y.jsx)("div",{className:le,children:(0,Y.jsx)("div",{className:ie,"data-size":"quarter",children:(0,Y.jsx)(he,{})})})})},xe=()=>{const{t:e}=i("localDemographics"),{demographicsState:{population_total:a}}=ue(),t=(0,R.useMemo)(()=>a?.variables[0],[a?.variables]),l=(0,R.useMemo)(()=>({options:{title:e("data.population.graphs.totalPopulation.title"),values:[{variable:t?.variable||"",value:`${new Intl.NumberFormat("en-EN").format(Math.round(t?.value||0))}`,label:e("data.population.graphs.totalPopulation.title"),icon:x}]}}),[t]);return(0,Y.jsx)("div",{className:ne,children:(0,Y.jsx)(b,{...l})})},je=()=>{const{t:e}=i("localDemographics"),{demographicsState:{population_age:a}}=ue(),t=(0,R.useMemo)(()=>{if(!a)return null;if(a?.variables.length>12){const e=a?.variables.map(e=>{const a=e.label.split(" ");return a.splice(1,1),a}),t=[];return e.forEach((l,s)=>{0!==s&&s%2!=0||t.push({variable:`age_${l[0]}_${e[s+1][1]}`,value:a.variables[s].value+a.variables[s+1].value,label:`${l[0]} to ${e[s+1][1]}`})}),t}return a.variables},[a]),l=(0,R.useMemo)(()=>({labels:t?.map(e=>e.label)||[],data:t?.map(e=>Number((100*e.value).toFixed(1)))||[]}),[t]),s=(0,R.useMemo)(()=>({title:e("data.population.graphs.populationByAgeGroup.title"),labels:l.labels,data:l.data,unit:"%"}),[l]);return(0,Y.jsx)(E,{...s,children:(0,Y.jsx)(H,{})})},fe=()=>{const{demographicsState:{population_total:e}}=ue();return(0,Y.jsxs)("div",{className:le,children:[e&&(0,Y.jsx)("div",{className:se,children:(0,Y.jsx)("div",{className:ie,children:(0,Y.jsx)(xe,{})})}),(0,Y.jsx)("div",{className:ie,children:(0,Y.jsx)(je,{})})]})},ye=()=>{const{t:e}=i("localDemographics"),{demographicsState:{property_tenure:a,housing_tenancy:t}}=ue(),l=(0,R.useMemo)(()=>t||a,[t,a]),s=(0,R.useMemo)(()=>l?.variables.map(e=>({label:e.label,data:Number((100*e.value).toFixed(1))}))||[],[l?.variables]),o=(0,R.useMemo)(()=>({options:{title:e("data.housing.graphs.homeOwnershipType.title"),values:s.map(e=>({variable:e.label.replace(" ","_"),label:e.label,value:`${e.data}%`}))}}),[s]);return(0,Y.jsx)("div",{className:ne,children:(0,Y.jsx)(b,{...o})})},Ne=()=>{const{t:e}=i("localDemographics"),{demographicsState:{housing_type:a}}=ue(),t=(0,R.useMemo)(()=>({labels:a?.variables.map(e=>e.label)||[],data:a?.variables.map(e=>Number((100*e.value).toFixed(1)))||[]}),[a?.variables]),l=(0,R.useMemo)(()=>({title:e("data.housing.graphs.typeOfHousing.title"),labels:t.labels,data:t.data,unit:"%"}),[t]);return(0,Y.jsx)(E,{...l,children:(0,Y.jsx)(H,{})})},_e=()=>{const{demographicsState:{property_tenure:e,housing_tenancy:a,housing_type:t}}=ue(),l=a||e;return(0,Y.jsxs)("div",{className:le,children:[l&&(0,Y.jsx)("div",{className:se,children:(0,Y.jsx)("div",{className:ie,"data-size":"half",children:(0,Y.jsx)(ye,{})})}),t&&(0,Y.jsx)("div",{className:ie,"data-size":"half",children:(0,Y.jsx)(Ne,{})})]})},Me=()=>{const{t:e}=i("localDemographics"),{demographicsState:{household_composition:a}}=ue(),t=(0,R.useMemo)(()=>a?.variables.map(e=>({...e,value:Number((100*e.value).toFixed(1))})).filter(e=>Number((100*e.value).toFixed(1))>0),[a?.variables]),l=(0,R.useMemo)(()=>({labels:t?.map(e=>`${e.value}% ${e.label}`)||[],data:t?.map(e=>e.value)||[]}),[t]),s=(0,R.useMemo)(()=>({title:e("data.household.graphs.householdComposition.title"),labels:l.labels,data:l.data,icon:(0,Y.jsx)(f,{className:oe})}),[l]);return(0,Y.jsx)(T,{...s})},Ae=()=>(0,Y.jsx)("div",{className:le,children:(0,Y.jsx)("div",{className:ie,"data-size":"half",children:(0,Y.jsx)(Me,{})})}),De=()=>{const{t:e}=i("localDemographics"),{demographicsState:{education_level:a}}=ue(),t=(0,R.useMemo)(()=>({labels:a?.variables.map(e=>e.label)||[],data:a?.variables.map(e=>Number((100*e.value).toFixed(1)))||[]}),[a?.variables]),l=(0,R.useMemo)(()=>({title:e("data.education.graphs.educationLevel.title"),labels:t.labels,data:t.data,unit:"%"}),[t]);return(0,Y.jsx)(E,{...l,children:(0,Y.jsx)(H,{})})},Ee=()=>(0,Y.jsx)("div",{className:le,children:(0,Y.jsx)("div",{className:ie,children:(0,Y.jsx)(De,{})})}),He=()=>{const{t:e}=i("localDemographics"),{demographicsState:{commute_mode:a}}=ue(),t=(0,R.useMemo)(()=>a?.variables.map(e=>({...e,value:Number((100*e.value).toFixed(1))})).filter(e=>Number((100*e.value).toFixed(1))>0),[a?.variables]),l=(0,R.useMemo)(()=>({labels:t?.map(e=>`${e.value}% ${e.label}`)||[],data:t?.map(e=>e.value)||[]}),[t]),s=(0,R.useMemo)(()=>({title:e("data.commute.graphs.commuteMode.title"),labels:l.labels,data:l.data,icon:(0,Y.jsx)(v,{className:oe})}),[l]);return(0,Y.jsx)(T,{...s})},Ce=()=>(0,Y.jsx)("div",{className:le,children:(0,Y.jsx)("div",{className:ie,"data-size":"half",children:(0,Y.jsx)(He,{})})}),Se=()=>{const{t:e}=i("localDemographics"),{demographicsState:{official_language_knowledge:a}}=ue(),t=(0,R.useMemo)(()=>a?.variables.map(e=>({...e,value:Number((100*e.value).toFixed(1))})).filter(e=>Number((100*e.value).toFixed(1))>0),[a?.variables]),l=(0,R.useMemo)(()=>({labels:t?.map(e=>`${e.value}% ${e.label}`)||[],data:t?.map(e=>e.value)||[]}),[t]),s=(0,R.useMemo)(()=>({title:e("data.languages.graphs.spokenLanguages.title"),labels:l.labels,data:l.data,icon:(0,Y.jsx)(g,{className:oe})}),[l]);return(0,Y.jsx)(T,{...s})},Te=()=>{const{t:e}=i("localDemographics"),{demographicsState:{mother_tongue:a}}=ue(),t=(0,R.useMemo)(()=>a?.variables.filter(e=>"french_and_non_official_language_s"!==e.variable&&"english_and_non_official_language_s"!==e.variable).slice(0,10)?.map(e=>({...e,value:Number((100*e.value).toFixed(1))})).filter(e=>e.value>0),[a?.variables]),l=(0,R.useMemo)(()=>({labels:t?.map(e=>e.label)||[],data:t?.map(e=>e.value)||[]}),[t]),s=(0,R.useMemo)(()=>({title:e("data.languages.graphs.motherTongue.title"),labels:l.labels,data:l.data,unit:"%"}),[l]);return(0,Y.jsx)(E,{...s,children:(0,Y.jsx)(H,{})})},we=()=>{const{demographicsState:{official_language_knowledge:e}}=ue();return(0,Y.jsxs)("div",{className:le,children:[e&&(0,Y.jsx)("div",{className:ie,"data-size":"half",children:(0,Y.jsx)(Se,{})}),(0,Y.jsx)("div",{className:ie,"data-size":"half",children:(0,Y.jsx)(Te,{})})]})},Fe=({children:e})=>(0,Y.jsx)(Y.Fragment,{children:e}),Ve=()=>{const{t:e}=i("localDemographics"),{demographicsState:a,activeCategory:t,setDemographicsState:l}=ue(),{data:s,isFetching:o}=j({lat:a.location.lat,lng:a.location.lng,radius:400,radiusUnit:"meter"});(0,R.useEffect)(()=>{!o&&s&&l({...s})},[o]);return(0,Y.jsx)(J,{options:{value:t},children:(0,Y.jsx)(Fe,{children:(()=>{if(o)return(0,Y.jsx)("div",{className:"\n flex justify-center items-center \n px-3 pt-4 pb-3 height-[40px]\n",children:(0,Y.jsx)(N,{})});if(void 0===s)return(0,Y.jsx)("div",{className:"\n bg-ll-surface px-3 pt-4 pb-3 rounded-sm box-border\n",children:(0,Y.jsx)(M,{variant:"h6",weight:"--ll-font-weight-bold",children:e("noData")})});switch(t){case"income":return(0,Y.jsx)(be,{});case"population":return(0,Y.jsx)(fe,{});case"housing":return(0,Y.jsx)(_e,{});case"household":return(0,Y.jsx)(Ae,{});case"commute":return(0,Y.jsx)(Ce,{});case"education":return(0,Y.jsx)(Ee,{});case"languages":return(0,Y.jsx)(we,{});default:return(0,Y.jsxs)("div",{children:[t," tab"]})}})()})})},$e=()=>{const{t:e}=i(["localDemographics","common"]),{demographicsState:a,locale:t,hideAttribution:l}=ue(),{country:s}=a,o=(0,R.useMemo)(()=>"CAN"===s?400:.2485484.toFixed(2),[s]),n=(0,R.useMemo)(()=>e("common:distance."+("CAN"===s?"meter":"mile")),[t,s]);return(0,Y.jsxs)("div",{className:"\n py-3 items-center grid\n grid-cols-1 md:grid-cols-[2fr_1fr] \n [&>a]:justify-end\n",children:[(0,Y.jsx)(M,{noMargin:!0,variant:"caption1",color:"--ll-color-on-background-variant1",children:e("note",{value:o,unit:n})}),!l&&(0,Y.jsx)(I,{sdkName:"local-demographics",locale:t})]})};l(n.localDemographics.key);var ke=()=>{const{t:e}=i("localDemographics"),{sdkState:a}=S(),l=Z();return(0,Y.jsx)(L,{children:(0,Y.jsx)(d,{environment:a.globalOptions?.environment?.api,apiKey:a.apiKey,appearance:a.globalOptions?.appearance,locale:a.globalOptions?.locale,product:m.LOCAL_DEMOGRAPHICS,children:(0,Y.jsx)(t,{trackingPipelineSettings:{apiKey:a.apiKey||""},analyticsSettings:n.localDemographics,meta:{clientId:a.clientId,productName:m.LOCAL_DEMOGRAPHICS,productVersion:"1.24.65"},attributes:{location:{lat:a.options?.lat,lng:a.options?.lng},host:a.location,host_url:document.referrer,locale:a.globalOptions?.locale,isMobile:l},flags:{isDebugMode:!1},children:(0,Y.jsx)(pe,{children:(0,Y.jsx)("div",{className:"\n flex flex-col flex-1 overflow-hidden box-border\n",children:(0,Y.jsxs)("div",{className:"\n overflow-y-auto flex flex-col\n",children:[(0,Y.jsx)(B,{title:"string"==typeof a.options?.title||!1===a.options?.title?a.options.title:e("title")}),l?(0,Y.jsx)(ae,{}):(0,Y.jsx)(ee,{}),(0,Y.jsx)(Ve,{}),(0,Y.jsx)($e,{})]})})})})})})};export{ke as default};
|
|
2
|
-
//# sourceMappingURL=LocalDemographics-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-BEU_UCik.js";import{l as a}from"./google-maps-vendor-BeDgURNz.js";import{a as t,c as l,d as s,g as i,m as o,n,o as r,p as c,r as d,t as m,u}from"./sdks-C6AQk2vE.js";import{t as p}from"./Buildings.es-CAU8rzQX.js";import{t as h}from"./GraduationCap.es-CEu4hWGC.js";import{a as v,i as g,n as b,r as x,t as j}from"./useDemographicsData-BCiAVUly.js";import{t as f}from"./UsersThree.es-DNdVLGYi.js";import{t as y}from"./IconBase.es-kve0MeDL.js";import{H as N,K as _,W as M,Y as A,b as D,d as E,f as H,i as C,n as S,u as T,v as w,x as F,y as V,yt as $}from"./index-DuYul3n8.js";import{t as k}from"./useLocation-iMAOqyBM.js";import{n as I}from"./Attribution-CUXwGQ1J.js";import{t as L}from"./ResizeWrapper-CacQc137.js";import{t as Z}from"./useIsMobile-DFRT0gA-.js";/* empty css */import{i as O,n as z,r as K,t as P}from"./dist-LjV2lD3w.js";import{t as B}from"./TitleHeader-Bg-iB4qi.js";var R=e(a(),1),W=new Map([["bold",R.createElement(R.Fragment,null,R.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"}))],["duotone",R.createElement(R.Fragment,null,R.createElement("path",{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",opacity:"0.2"}),R.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"}))],["fill",R.createElement(R.Fragment,null,R.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"}))],["light",R.createElement(R.Fragment,null,R.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"}))],["regular",R.createElement(R.Fragment,null,R.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"}))],["thin",R.createElement(R.Fragment,null,R.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"}))]]),G=R.forwardRef((e,a)=>R.createElement(y,{ref:a,...e,weights:W}));G.displayName="WalletIcon";var U=R.createContext({}),q=()=>(0,R.useContext)(U),Y=A(),J=({children:e,options:{value:a,style:t}})=>(0,Y.jsx)(P,{value:a,style:t,children:e},a),Q=["income","population","housing","household","education","commute","languages"],X={income:G,population:x,housing:p,household:f,education:h,commute:v,languages:g},ee=()=>{const{t:e}=i("localDemographics"),{options:a}=q();let t=Q;return a.omitTabs&&(t=Q.filter(e=>!a.omitTabs?.includes(e))),(0,Y.jsx)(z,{className:"\n grid\n auto-cols-[minmax(0,80px)]\n grid-flow-col\n px-0 py-4\n","aria-label":"Demographics tabs",children:t.map(t=>{const l=t===a.activeTab,s=X[t];return(0,Y.jsx)(R.Fragment,{children:(0,Y.jsxs)(O,{"data-active":l,className:"\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",value:t,children:[(0,Y.jsx)(s,{className:"\n w-6 h-6\n fill-inherit\n"}),(0,Y.jsx)("p",{className:"\n m-0 font-semibold\n text-ll-font-size-caption-1\n text-inherit\n",children:e(`data.${t}.title`)})]})},t)})})},ae=()=>{const{t:e}=i("localDemographics"),{options:a,onChange:t}=q();let l=Q;return a.omitTabs&&(l=Q.filter(e=>!a.omitTabs?.includes(e))),(0,Y.jsx)("div",{className:"\n flex\n py-4 px-0\n z-[4]\n",children:(0,Y.jsxs)(D,{value:a.activeTab,onValueChange:e=>{t({type:"tabs",data:e})},children:[(0,Y.jsx)(F,{size:"large",children:(0,Y.jsx)(M,{noMargin:!0,variant:"h6",color:"--ll-color-placeholder",children:e(`data.${a.activeTab}.title`)})}),(0,Y.jsx)(w,{children:l.map(a=>(0,Y.jsx)(V,{value:a,children:(0,Y.jsx)(M,{noMargin:!0,variant:"h6",children:e(`data.${a}.title`)})},a))})]})})},te=({options:e,onChange:a,children:t})=>(0,Y.jsx)(U.Provider,{value:{options:e,onChange:a},children:(0,Y.jsx)(K,{value:e.activeTab,onValueChange:e=>{a({type:"tabs",data:e})},children:t})}),le="\n flex flex-col justify-start self-stretch items-stretch\n md:justify-between md:flex-row gap-3\n",se="\n flex justify-between gap-3 flex-row min-w-[250px]\n md:flex-col items-stretch\n",ie="\n w-full md:min-h-[240px]\n flex flex-col self-stretch\n",oe="text-ll-primary w-2/4 h-2/4",ne="min-h-36 h-full",re=function(e){return e.SDK_VIEWED="LD-Viewed",e.TAB_CLICKED="LD-Tab-Clicked",e}({}),ce=function(e){return e.SDK_VIEWED="sdk_viewed",e.CATEGORY_SELECTED="category_selected",e}({}),de=u({lat:s().min(-90,"Must be a valid latitude.").max(90,"Must be a valid latitude.").required(),lng:s().min(-180,"Must be a valid longitude.").max(180,"Must be a valid longitude.").required(),title:o().optional(),defaultTab:o().optional(),hideAttribution:c().optional()}).noUnknown(!0),me=R.createContext({}),ue=()=>(0,R.useContext)(me),pe=({children:e})=>{const a=r(),{sdkState:t}=S(),[l,s]=(0,R.useState)(t.options?.defaultTab&&Q.includes(t.options?.defaultTab)?t.options?.defaultTab:Q[0]),[i,o]=(0,R.useState)(!1),[n,c]=(0,R.useState)([]),{data:{country:d},isLoading:m}=k({lat:t.options?.lat,lng:t.options?.lng});C(()=>{a.postEvent({eventType:re.SDK_VIEWED}),a.trackAnalyticsEvent({eventName:ce.SDK_VIEWED})});const[u,p]=(0,R.useReducer)((e,a)=>({...e,...a}),{location:{lat:t.options?.lat||43.661337,lng:t.options?.lng||-79.401903},country:"CAN"});(0,R.useEffect)(()=>{t&&p({...u,country:d})},[t,d]),C(()=>{i||(async()=>{try{$.addBreadCrumb("LocalDemographicsProvider","Validating state options",{options:t.options}),await(e=t.options,de.validate(e,{abortEarly:!1})),o(!0)}catch(a){const e=a;c(e.errors),$.addBreadCrumb("LocalDemographicsProvider","State option validation failed",{errors:e.errors})}var e})()});const h=(0,R.useMemo)(()=>({country:d,demographicsState:u,setDemographicsState:p,activeCategory:l,setActiveCategory:s,locale:t.globalOptions?.locale||"en",hideAttribution:t.options?.hideAttribution}),[d,l,s,u,p,t.globalOptions,t.options?.hideAttribution]),v=(0,R.useMemo)(()=>{const e=[];return Object.entries({income:"income",population:"population_age",housing:"housing_tenancy",household:"household_composition",education:"education_level",commute:"commute_mode",languages:"mother_tongue"}).forEach(([a,t])=>{Object.keys(u).includes(t)||e.push(a)}),$.addBreadCrumb("LocalDemographicsProvider","Updated tabs to omit",{tabsToOmit:e}),e},[u]);if(!i){if(n.length){const e="Could not load Demographics";return console.error(`${e}: ${n.join(", ")}`),(0,Y.jsx)("p",{children:e})}return(0,Y.jsx)(Y.Fragment,{})}return(0,Y.jsx)(me.Provider,{value:h,children:(0,Y.jsx)(te,{options:{activeTab:l,omitTabs:v},onChange:e=>{s(e.data),$.addBreadCrumb("LocalDemographicsProvider","handleTabsChange",{value:e}),a.postEvent({eventType:re.TAB_CLICKED,eventAttributes:[{label:"activeCategory",data:e.data}]}),a.trackAnalyticsEvent({eventName:ce.CATEGORY_SELECTED,eventAttributes:{ll_selected_category:e.data}})},children:(0,Y.jsx)("div",{style:{display:"flex",flexDirection:"column",background:`${_["--ll-color-background"]}`,padding:`${_["--ll-spacing-xx-small"]} ${_["--ll-spacing-small"]} 0`,borderRadius:`${_["--ll-border-radius-medium"]}`},children:!m&&e})})})},he=()=>{const{t:e}=i("localDemographics"),{country:a,demographicsState:{income:t}}=ue(),l=(0,R.useMemo)(()=>t?.variables.slice().reverse()||[{variable:"avg_individual_income",label:"Avg individual income",value:t?.variables?.find(e=>"inc_person"===e.variable)?.value||0},{variable:"avg_household_income",label:"Avg household income",value:t?.variables?.find(e=>"inc_home"===e.variable)?.value||0}],[t?.variables]),s=(0,R.useMemo)(()=>({options:{title:e("data.income.graphs.averageIncome.title",{context:a}),values:l.map(t=>{let l="";return"avg_household_income"===t.variable&&(l=e("data.income.graphs.averageIncome.types.avgHouseholdIncome",{context:a})),"avg_individual_income"===t.variable&&(l=e("data.income.graphs.averageIncome.types.avgIndividualIncome",{context:a})),{variable:t.variable,value:`${new Intl.NumberFormat("en-EN",{style:"currency",currency:"USD",maximumFractionDigits:1}).format(t.value/1e3)}${t.value>=1e3?"k":""}`,label:l}})}}),[l]);return(0,Y.jsx)("div",{className:ne,children:(0,Y.jsx)(b,{...s})})},ve=()=>{const{t:e}=i("localDemographics"),{demographicsState:{employment_status:a}}=ue(),t=(0,R.useMemo)(()=>a?.variables.map(e=>({label:e.label,data:Number((100*e.value).toFixed(1))}))||[],[a?.variables]),l=(0,R.useMemo)(()=>({options:{title:e("data.income.graphs.employment.title"),values:t.map(e=>({variable:e.label.replace(" ","_"),label:e.label,value:`${e.data}%`}))}}),[t]);return a?(0,Y.jsx)("div",{className:ne,children:(0,Y.jsx)(b,{...l})}):null},ge=()=>{const{t:e}=i("localDemographics"),{demographicsState:{income_level:a}}=ue(),t=(0,R.useMemo)(()=>({labels:a?.variables.map(e=>e.label)||[],data:a?.variables.map(e=>Number((100*e.value).toFixed(1)))||[]}),[a?.variables]),l=(0,R.useMemo)(()=>({title:e("data.income.graphs.incomeBrackets.title"),labels:t.labels,data:t.data,unit:"%"}),[t]);return(0,Y.jsx)(E,{...l,children:(0,Y.jsx)(H,{})})},be=()=>{const{demographicsState:{income_level:e}}=ue();return(0,Y.jsx)(Y.Fragment,{children:e?(0,Y.jsxs)("div",{className:le,children:[(0,Y.jsxs)("div",{className:se,children:[(0,Y.jsx)("div",{className:ie,children:(0,Y.jsx)(he,{})}),(0,Y.jsx)("div",{className:ie,children:(0,Y.jsx)(ve,{})})]}),(0,Y.jsx)("div",{className:ie,children:(0,Y.jsx)(ge,{})})]}):(0,Y.jsx)("div",{className:le,children:(0,Y.jsx)("div",{className:ie,"data-size":"quarter",children:(0,Y.jsx)(he,{})})})})},xe=()=>{const{t:e}=i("localDemographics"),{demographicsState:{population_total:a}}=ue(),t=(0,R.useMemo)(()=>a?.variables[0],[a?.variables]),l=(0,R.useMemo)(()=>({options:{title:e("data.population.graphs.totalPopulation.title"),values:[{variable:t?.variable||"",value:`${new Intl.NumberFormat("en-EN").format(Math.round(t?.value||0))}`,label:e("data.population.graphs.totalPopulation.title"),icon:x}]}}),[t]);return(0,Y.jsx)("div",{className:ne,children:(0,Y.jsx)(b,{...l})})},je=()=>{const{t:e}=i("localDemographics"),{demographicsState:{population_age:a}}=ue(),t=(0,R.useMemo)(()=>{if(!a)return null;if(a?.variables.length>12){const e=a?.variables.map(e=>{const a=e.label.split(" ");return a.splice(1,1),a}),t=[];return e.forEach((l,s)=>{0!==s&&s%2!=0||t.push({variable:`age_${l[0]}_${e[s+1][1]}`,value:a.variables[s].value+a.variables[s+1].value,label:`${l[0]} to ${e[s+1][1]}`})}),t}return a.variables},[a]),l=(0,R.useMemo)(()=>({labels:t?.map(e=>e.label)||[],data:t?.map(e=>Number((100*e.value).toFixed(1)))||[]}),[t]),s=(0,R.useMemo)(()=>({title:e("data.population.graphs.populationByAgeGroup.title"),labels:l.labels,data:l.data,unit:"%"}),[l]);return(0,Y.jsx)(E,{...s,children:(0,Y.jsx)(H,{})})},fe=()=>{const{demographicsState:{population_total:e}}=ue();return(0,Y.jsxs)("div",{className:le,children:[e&&(0,Y.jsx)("div",{className:se,children:(0,Y.jsx)("div",{className:ie,children:(0,Y.jsx)(xe,{})})}),(0,Y.jsx)("div",{className:ie,children:(0,Y.jsx)(je,{})})]})},ye=()=>{const{t:e}=i("localDemographics"),{demographicsState:{property_tenure:a,housing_tenancy:t}}=ue(),l=(0,R.useMemo)(()=>t||a,[t,a]),s=(0,R.useMemo)(()=>l?.variables.map(e=>({label:e.label,data:Number((100*e.value).toFixed(1))}))||[],[l?.variables]),o=(0,R.useMemo)(()=>({options:{title:e("data.housing.graphs.homeOwnershipType.title"),values:s.map(e=>({variable:e.label.replace(" ","_"),label:e.label,value:`${e.data}%`}))}}),[s]);return(0,Y.jsx)("div",{className:ne,children:(0,Y.jsx)(b,{...o})})},Ne=()=>{const{t:e}=i("localDemographics"),{demographicsState:{housing_type:a}}=ue(),t=(0,R.useMemo)(()=>({labels:a?.variables.map(e=>e.label)||[],data:a?.variables.map(e=>Number((100*e.value).toFixed(1)))||[]}),[a?.variables]),l=(0,R.useMemo)(()=>({title:e("data.housing.graphs.typeOfHousing.title"),labels:t.labels,data:t.data,unit:"%"}),[t]);return(0,Y.jsx)(E,{...l,children:(0,Y.jsx)(H,{})})},_e=()=>{const{demographicsState:{property_tenure:e,housing_tenancy:a,housing_type:t}}=ue(),l=a||e;return(0,Y.jsxs)("div",{className:le,children:[l&&(0,Y.jsx)("div",{className:se,children:(0,Y.jsx)("div",{className:ie,"data-size":"half",children:(0,Y.jsx)(ye,{})})}),t&&(0,Y.jsx)("div",{className:ie,"data-size":"half",children:(0,Y.jsx)(Ne,{})})]})},Me=()=>{const{t:e}=i("localDemographics"),{demographicsState:{household_composition:a}}=ue(),t=(0,R.useMemo)(()=>a?.variables.map(e=>({...e,value:Number((100*e.value).toFixed(1))})).filter(e=>Number((100*e.value).toFixed(1))>0),[a?.variables]),l=(0,R.useMemo)(()=>({labels:t?.map(e=>`${e.value}% ${e.label}`)||[],data:t?.map(e=>e.value)||[]}),[t]),s=(0,R.useMemo)(()=>({title:e("data.household.graphs.householdComposition.title"),labels:l.labels,data:l.data,icon:(0,Y.jsx)(f,{className:oe})}),[l]);return(0,Y.jsx)(T,{...s})},Ae=()=>(0,Y.jsx)("div",{className:le,children:(0,Y.jsx)("div",{className:ie,"data-size":"half",children:(0,Y.jsx)(Me,{})})}),De=()=>{const{t:e}=i("localDemographics"),{demographicsState:{education_level:a}}=ue(),t=(0,R.useMemo)(()=>({labels:a?.variables.map(e=>e.label)||[],data:a?.variables.map(e=>Number((100*e.value).toFixed(1)))||[]}),[a?.variables]),l=(0,R.useMemo)(()=>({title:e("data.education.graphs.educationLevel.title"),labels:t.labels,data:t.data,unit:"%"}),[t]);return(0,Y.jsx)(E,{...l,children:(0,Y.jsx)(H,{})})},Ee=()=>(0,Y.jsx)("div",{className:le,children:(0,Y.jsx)("div",{className:ie,children:(0,Y.jsx)(De,{})})}),He=()=>{const{t:e}=i("localDemographics"),{demographicsState:{commute_mode:a}}=ue(),t=(0,R.useMemo)(()=>a?.variables.map(e=>({...e,value:Number((100*e.value).toFixed(1))})).filter(e=>Number((100*e.value).toFixed(1))>0),[a?.variables]),l=(0,R.useMemo)(()=>({labels:t?.map(e=>`${e.value}% ${e.label}`)||[],data:t?.map(e=>e.value)||[]}),[t]),s=(0,R.useMemo)(()=>({title:e("data.commute.graphs.commuteMode.title"),labels:l.labels,data:l.data,icon:(0,Y.jsx)(v,{className:oe})}),[l]);return(0,Y.jsx)(T,{...s})},Ce=()=>(0,Y.jsx)("div",{className:le,children:(0,Y.jsx)("div",{className:ie,"data-size":"half",children:(0,Y.jsx)(He,{})})}),Se=()=>{const{t:e}=i("localDemographics"),{demographicsState:{official_language_knowledge:a}}=ue(),t=(0,R.useMemo)(()=>a?.variables.map(e=>({...e,value:Number((100*e.value).toFixed(1))})).filter(e=>Number((100*e.value).toFixed(1))>0),[a?.variables]),l=(0,R.useMemo)(()=>({labels:t?.map(e=>`${e.value}% ${e.label}`)||[],data:t?.map(e=>e.value)||[]}),[t]),s=(0,R.useMemo)(()=>({title:e("data.languages.graphs.spokenLanguages.title"),labels:l.labels,data:l.data,icon:(0,Y.jsx)(g,{className:oe})}),[l]);return(0,Y.jsx)(T,{...s})},Te=()=>{const{t:e}=i("localDemographics"),{demographicsState:{mother_tongue:a}}=ue(),t=(0,R.useMemo)(()=>a?.variables.filter(e=>"french_and_non_official_language_s"!==e.variable&&"english_and_non_official_language_s"!==e.variable).slice(0,10)?.map(e=>({...e,value:Number((100*e.value).toFixed(1))})).filter(e=>e.value>0),[a?.variables]),l=(0,R.useMemo)(()=>({labels:t?.map(e=>e.label)||[],data:t?.map(e=>e.value)||[]}),[t]),s=(0,R.useMemo)(()=>({title:e("data.languages.graphs.motherTongue.title"),labels:l.labels,data:l.data,unit:"%"}),[l]);return(0,Y.jsx)(E,{...s,children:(0,Y.jsx)(H,{})})},we=()=>{const{demographicsState:{official_language_knowledge:e}}=ue();return(0,Y.jsxs)("div",{className:le,children:[e&&(0,Y.jsx)("div",{className:ie,"data-size":"half",children:(0,Y.jsx)(Se,{})}),(0,Y.jsx)("div",{className:ie,"data-size":"half",children:(0,Y.jsx)(Te,{})})]})},Fe=({children:e})=>(0,Y.jsx)(Y.Fragment,{children:e}),Ve=()=>{const{t:e}=i("localDemographics"),{demographicsState:a,activeCategory:t,setDemographicsState:l}=ue(),{data:s,isFetching:o}=j({lat:a.location.lat,lng:a.location.lng,radius:400,radiusUnit:"meter"});(0,R.useEffect)(()=>{!o&&s&&l({...s})},[o]);return(0,Y.jsx)(J,{options:{value:t},children:(0,Y.jsx)(Fe,{children:(()=>{if(o)return(0,Y.jsx)("div",{className:"\n flex justify-center items-center \n px-3 pt-4 pb-3 height-[40px]\n",children:(0,Y.jsx)(N,{})});if(void 0===s)return(0,Y.jsx)("div",{className:"\n bg-ll-surface px-3 pt-4 pb-3 rounded-sm box-border\n",children:(0,Y.jsx)(M,{variant:"h6",weight:"--ll-font-weight-bold",children:e("noData")})});switch(t){case"income":return(0,Y.jsx)(be,{});case"population":return(0,Y.jsx)(fe,{});case"housing":return(0,Y.jsx)(_e,{});case"household":return(0,Y.jsx)(Ae,{});case"commute":return(0,Y.jsx)(Ce,{});case"education":return(0,Y.jsx)(Ee,{});case"languages":return(0,Y.jsx)(we,{});default:return(0,Y.jsxs)("div",{children:[t," tab"]})}})()})})},$e=()=>{const{t:e}=i(["localDemographics","common"]),{demographicsState:a,locale:t,hideAttribution:l}=ue(),{country:s}=a,o=(0,R.useMemo)(()=>"CAN"===s?400:.2485484.toFixed(2),[s]),n=(0,R.useMemo)(()=>e("common:distance."+("CAN"===s?"meter":"mile")),[t,s]);return(0,Y.jsxs)("div",{className:"\n py-3 items-center grid\n grid-cols-1 md:grid-cols-[2fr_1fr] \n [&>a]:justify-end\n",children:[(0,Y.jsx)(M,{noMargin:!0,variant:"caption1",color:"--ll-color-on-background-variant1",children:e("note",{value:o,unit:n})}),!l&&(0,Y.jsx)(I,{sdkName:"local-demographics",locale:t})]})};l(n.localDemographics.key);var ke=()=>{const{t:e}=i("localDemographics"),{sdkState:a}=S(),l=Z();return(0,Y.jsx)(L,{children:(0,Y.jsx)(d,{environment:a.globalOptions?.environment?.api,apiKey:a.apiKey,appearance:a.globalOptions?.appearance,locale:a.globalOptions?.locale,product:m.LOCAL_DEMOGRAPHICS,children:(0,Y.jsx)(t,{trackingPipelineSettings:{apiKey:a.apiKey||""},analyticsSettings:n.localDemographics,meta:{clientId:a.clientId,productName:m.LOCAL_DEMOGRAPHICS,productVersion:"1.25.0"},attributes:{location:{lat:a.options?.lat,lng:a.options?.lng},host:a.location,host_url:document.referrer,locale:a.globalOptions?.locale,isMobile:l},flags:{isDebugMode:!1},children:(0,Y.jsx)(pe,{children:(0,Y.jsx)("div",{className:"\n flex flex-col flex-1 overflow-hidden box-border\n",children:(0,Y.jsxs)("div",{className:"\n overflow-y-auto flex flex-col\n",children:[(0,Y.jsx)(B,{title:"string"==typeof a.options?.title||!1===a.options?.title?a.options.title:e("title")}),l?(0,Y.jsx)(ae,{}):(0,Y.jsx)(ee,{}),(0,Y.jsx)(Ve,{}),(0,Y.jsx)($e,{})]})})})})})})};export{ke as default};
|
|
2
|
+
//# sourceMappingURL=LocalDemographics-oyV6-uMH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalDemographics-B0FoSqUG.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-oyV6-uMH.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 e}from"./rolldown-runtime-BEU_UCik.js";import{l as r}from"./google-maps-vendor-BeDgURNz.js";import{_ as t}from"./getMapProviderConfig-
|
|
2
|
-
//# sourceMappingURL=Mapbox-B9pa-75a-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-BEU_UCik.js";import{l as r}from"./google-maps-vendor-BeDgURNz.js";import{_ as t}from"./getMapProviderConfig-C0wqaxwl.js";import{Y as o}from"./index-DuYul3n8.js";import{n as a,t as i}from"./MarkerIcon-Drkpm3bl-D3-9sE3p.js";import{n as s,t as n}from"./Cluster-DtK-bXwa-tdNdDFEn.js";import{n as c}from"./mapbox-BiIB2Zbq-UeXogaFk.js";r();var l=o();function m({clusters:e,colors:r,clusterIcon:o,onClick:a,doesSuperclusterContainActiveMarker:m,getAriaLabel:d}){let{activeMarker:p,zoom:u}=t(),h=e=>r=>{r.originalEvent.stopPropagation(),!e.properties.disableClick&&a?.(e)};return e?.map((e,t)=>{let a=e.geometry.coordinates[0],g=e.geometry.coordinates[1],v=d(e,t);return(0,l.jsxs)(c,{anchor:"bottom",longitude:a,latitude:g,onClick:h(e),ref:e=>{let r=e?.getElement();r&&r.getAttribute("aria-label")!==v&&r.setAttribute("aria-label",v)},children:[e.properties.cluster&&(0,l.jsx)(n,{colors:r,icon:o,isActive:m(e.properties.cluster_id)}),!e.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 transition-[width,height,box-shadow,background-color]\n\n bg-[var(--background,theme(colors.base.white))]\n\n ring-2 ring-base-white\n shadow-[0_0_0_3px_var(--accent,theme(colors.primary.100))]\n\n hover:bg-[var(--accent,theme(colors.primary.100))]\n\n data-[is-zoomed-out=true]:bg-[var(--accent,theme(colors.primary.100))]\n data-[is-zoomed-out=true]:h-4\n data-[is-zoomed-out=true]:w-4\n data-[is-zoomed-out=true]:ring-1\n data-[is-zoomed-out=true]:shadow-[0_0_0_2px_var(--accent,theme(colors.primary.100))]\n\n data-[is-active=true]:bg-[var(--accent,theme(colors.primary.100))]\n data-[is-active=true]:z-10\n\n data-[is-active=true]:data-[is-zoomed-out=false]:shadow-[0_0_0_5px_var(--accent,theme(colors.primary.100))]\n data-[is-active=true]:data-[is-zoomed-out=true]:shadow-[0_0_0_3px_var(--accent,theme(colors.primary.100))]\n",style:e.properties.defaultColor?{}:s(r),"data-is-cluster":!!e.properties.cluster,"data-is-zoomed-out":u<10,"data-is-active":p?.id===e.properties.id,children:(0,l.jsx)(i,{icon:e.properties.icon})})]},`map-marker-${a}-${g}-${t}`)})}export{m as default};
|
|
2
|
+
//# sourceMappingURL=Mapbox-B9pa-75a-Mu6SCCcO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mapbox-B9pa-75a-
|
|
1
|
+
{"version":3,"file":"Mapbox-B9pa-75a-Mu6SCCcO.js","names":[],"sources":["../../../../packages/maps/dist/Mapbox-B9pa-75a.js"],"sourcesContent":["import { n as e } from \"./context-Bh0wVHof.js\";\nimport { a as t } from \"./mapbox-BiIB2Zbq.js\";\nimport { n, t as r } from \"./MarkerIcon-Drkpm3bl.js\";\nimport { n as i, t as a } from \"./Cluster-DtK-bXwa.js\";\nimport \"react\";\nimport { jsx as o, jsxs as s } from \"react/jsx-runtime\";\n//#region src/components/Map/Root/Markers/Mapbox/index.tsx\nfunction c({ clusters: c, colors: l, clusterIcon: u, onClick: d, doesSuperclusterContainActiveMarker: f, getAriaLabel: p }) {\n\tlet { activeMarker: m, zoom: h } = e(), g = (e) => (t) => {\n\t\tt.originalEvent.stopPropagation(), !e.properties.disableClick && d?.(e);\n\t};\n\treturn c?.map((e, c) => {\n\t\tlet d = e.geometry.coordinates[0], _ = e.geometry.coordinates[1], v = p(e, c);\n\t\treturn /* @__PURE__ */ s(t, {\n\t\t\tanchor: \"bottom\",\n\t\t\tlongitude: d,\n\t\t\tlatitude: _,\n\t\t\tonClick: g(e),\n\t\t\tref: (e) => {\n\t\t\t\tlet t = e?.getElement();\n\t\t\t\tt && t.getAttribute(\"aria-label\") !== v && t.setAttribute(\"aria-label\", v);\n\t\t\t},\n\t\t\tchildren: [e.properties.cluster && /* @__PURE__ */ o(a, {\n\t\t\t\tcolors: l,\n\t\t\t\ticon: u,\n\t\t\t\tisActive: f(e.properties.cluster_id)\n\t\t\t}), !e.properties.cluster && /* @__PURE__ */ o(\"div\", {\n\t\t\t\tclassName: n,\n\t\t\t\tstyle: e.properties.defaultColor ? {} : i(l),\n\t\t\t\t\"data-is-cluster\": !!e.properties.cluster,\n\t\t\t\t\"data-is-zoomed-out\": h < 10,\n\t\t\t\t\"data-is-active\": m?.id === e.properties.id,\n\t\t\t\tchildren: /* @__PURE__ */ o(r, { icon: e.properties.icon })\n\t\t\t})]\n\t\t}, `map-marker-${d}-${_}-${c}`);\n\t});\n}\n//#endregion\nexport { c as default };\n"],"mappings":"8XAOA,SAAS,GAAI,SAAU,EAAG,OAAQ,EAAG,YAAa,EAAG,QAAS,EAAG,oCAAqC,EAAG,aAAc,IACtH,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,GAAI,EAAI,EAAE,EAAG,GAC3E,OAAuB,EAAA,EAAA,MAAE,EAAG,CAC3B,OAAQ,SACR,UAAW,EACX,SAAU,EACV,QAAS,EAAE,GACX,IAAM,IACL,IAAI,EAAI,GAAG,aACX,GAAK,EAAE,aAAa,gBAAkB,GAAK,EAAE,aAAa,aAAc,IAEzE,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,q7BACA,MAAO,EAAE,WAAW,aAAe,CAAC,EAAI,EAAE,GAC1C,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,MAE7B"}
|
package/dist/assets/{Mapbox-B9pa-75a-legacy-BZNbt29I.js → Mapbox-B9pa-75a-legacy-oHRMBwlz.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["./rolldown-runtime-legacy-dtqCu9Cl.js","./google-maps-vendor-legacy-D5NgIsmz.js","./getMapProviderConfig-legacy-
|
|
2
|
-
//# sourceMappingURL=Mapbox-B9pa-75a-legacy-
|
|
1
|
+
System.register(["./rolldown-runtime-legacy-dtqCu9Cl.js","./google-maps-vendor-legacy-D5NgIsmz.js","./getMapProviderConfig-legacy-Bq44j1zG.js","./index-legacy-A0tsrrZt.js","./MarkerIcon-Drkpm3bl-legacy--eQ8ldVm.js","./Cluster-DtK-bXwa-legacy-Df-qaEE4.js","./mapbox-BiIB2Zbq-legacy-5zKVSMtD.js"],function(e,t){var r,o,a,i,n,s,c,l;return e("default",function({clusters:e,colors:t,clusterIcon:r,onClick:a,doesSuperclusterContainActiveMarker:u,getAriaLabel:d}){let{activeMarker:m,zoom:p}=o(),g=e=>t=>{t.originalEvent.stopPropagation(),!e.properties.disableClick&&(null==a||a(e))};return null==e?void 0:e.map((e,o)=>{let a=e.geometry.coordinates[0],v=e.geometry.coordinates[1],h=d(e,o);return(0,l.jsxs)(c,{anchor:"bottom",longitude:a,latitude:v,onClick:g(e),ref:e=>{let t=null==e?void 0:e.getElement();t&&t.getAttribute("aria-label")!==h&&t.setAttribute("aria-label",h)},children:[e.properties.cluster&&(0,l.jsx)(s,{colors:t,icon:r,isActive:u(e.properties.cluster_id)}),!e.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 transition-[width,height,box-shadow,background-color]\n\n bg-[var(--background,theme(colors.base.white))]\n\n ring-2 ring-base-white\n shadow-[0_0_0_3px_var(--accent,theme(colors.primary.100))]\n\n hover:bg-[var(--accent,theme(colors.primary.100))]\n\n data-[is-zoomed-out=true]:bg-[var(--accent,theme(colors.primary.100))]\n data-[is-zoomed-out=true]:h-4\n data-[is-zoomed-out=true]:w-4\n data-[is-zoomed-out=true]:ring-1\n data-[is-zoomed-out=true]:shadow-[0_0_0_2px_var(--accent,theme(colors.primary.100))]\n\n data-[is-active=true]:bg-[var(--accent,theme(colors.primary.100))]\n data-[is-active=true]:z-10\n\n data-[is-active=true]:data-[is-zoomed-out=false]:shadow-[0_0_0_5px_var(--accent,theme(colors.primary.100))]\n data-[is-active=true]:data-[is-zoomed-out=true]:shadow-[0_0_0_3px_var(--accent,theme(colors.primary.100))]\n",style:e.properties.defaultColor?{}:n(t),"data-is-cluster":!!e.properties.cluster,"data-is-zoomed-out":p<10,"data-is-active":(null==m?void 0:m.id)===e.properties.id,children:(0,l.jsx)(i,{icon:e.properties.icon})})]},`map-marker-${a}-${v}-${o}`)})}),{setters:[function(e){e.a},function(e){r=e.l},function(e){o=e._},function(e){a=e.Y},function(e){e.n,i=e.t},function(e){n=e.n,s=e.t},function(e){c=e.n}],execute:function(){r(),l=a()}}});
|
|
2
|
+
//# sourceMappingURL=Mapbox-B9pa-75a-legacy-oHRMBwlz.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mapbox-B9pa-75a-legacy-
|
|
1
|
+
{"version":3,"file":"Mapbox-B9pa-75a-legacy-oHRMBwlz.js","names":[],"sources":["../../../../packages/maps/dist/Mapbox-B9pa-75a.js"],"sourcesContent":["import { n as e } from \"./context-Bh0wVHof.js\";\nimport { a as t } from \"./mapbox-BiIB2Zbq.js\";\nimport { n, t as r } from \"./MarkerIcon-Drkpm3bl.js\";\nimport { n as i, t as a } from \"./Cluster-DtK-bXwa.js\";\nimport \"react\";\nimport { jsx as o, jsxs as s } from \"react/jsx-runtime\";\n//#region src/components/Map/Root/Markers/Mapbox/index.tsx\nfunction c({ clusters: c, colors: l, clusterIcon: u, onClick: d, doesSuperclusterContainActiveMarker: f, getAriaLabel: p }) {\n\tlet { activeMarker: m, zoom: h } = e(), g = (e) => (t) => {\n\t\tt.originalEvent.stopPropagation(), !e.properties.disableClick && d?.(e);\n\t};\n\treturn c?.map((e, c) => {\n\t\tlet d = e.geometry.coordinates[0], _ = e.geometry.coordinates[1], v = p(e, c);\n\t\treturn /* @__PURE__ */ s(t, {\n\t\t\tanchor: \"bottom\",\n\t\t\tlongitude: d,\n\t\t\tlatitude: _,\n\t\t\tonClick: g(e),\n\t\t\tref: (e) => {\n\t\t\t\tlet t = e?.getElement();\n\t\t\t\tt && t.getAttribute(\"aria-label\") !== v && t.setAttribute(\"aria-label\", v);\n\t\t\t},\n\t\t\tchildren: [e.properties.cluster && /* @__PURE__ */ o(a, {\n\t\t\t\tcolors: l,\n\t\t\t\ticon: u,\n\t\t\t\tisActive: f(e.properties.cluster_id)\n\t\t\t}), !e.properties.cluster && /* @__PURE__ */ o(\"div\", {\n\t\t\t\tclassName: n,\n\t\t\t\tstyle: e.properties.defaultColor ? {} : i(l),\n\t\t\t\t\"data-is-cluster\": !!e.properties.cluster,\n\t\t\t\t\"data-is-zoomed-out\": h < 10,\n\t\t\t\t\"data-is-active\": m?.id === e.properties.id,\n\t\t\t\tchildren: /* @__PURE__ */ o(r, { icon: e.properties.icon })\n\t\t\t})]\n\t\t}, `map-marker-${d}-${_}-${c}`);\n\t});\n}\n//#endregion\nexport { c as default };\n"],"mappings":"AAOA,OAAA,SAAA,CAAA,wCAAA,0CAAA,4CAAA,6BAAA,2CAAA,wCAAA,wCAAA,SAAA,EAAA,GAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,qBAAA,UAAa,SAAU,EAAG,OAAQ,EAAG,YAAa,EAAG,QAAS,EAAG,oCAAqC,EAAG,aAAc,IACtH,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,GAAI,EAAI,EAAE,EAAG,GAC3E,OAAuB,EAAA,EAAA,MAAE,EAAG,CAC3B,OAAQ,SACR,UAAW,EACX,SAAU,EACV,QAAS,EAAE,GACX,IAAM,IACL,IAAI,EAAI,aAAA,EAAA,EAAG,aACX,GAAK,EAAE,aAAa,gBAAkB,GAAK,EAAE,aAAa,aAAc,IAEzE,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,q7BACA,MAAO,EAAE,WAAW,aAAe,CAAC,EAAI,EAAE,GAC1C,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,MAE7B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as t}from"./rolldown-runtime-BEU_UCik.js";import{l as e}from"./google-maps-vendor-BeDgURNz.js";import{_ as o}from"./getMapProviderConfig-
|
|
2
|
-
//# sourceMappingURL=Mapbox-BpJHQDi--
|
|
1
|
+
import{a as t}from"./rolldown-runtime-BEU_UCik.js";import{l as e}from"./google-maps-vendor-BeDgURNz.js";import{_ as o}from"./getMapProviderConfig-C0wqaxwl.js";import{Y as i}from"./index-DuYul3n8.js";import{n as r,t as n}from"./styles-DCI3UJny-BwUIG3fK.js";import{t as s}from"./usePopupFocus-COpWcNt_-vKzedUtc.js";import{o as l,t as a}from"./mapbox-BiIB2Zbq-UeXogaFk.js";var u=t(e(),1),d=i();function g({latitude:t,longitude:e,anchor:i,offset:g=[0,-35],onClose:f,children:h}){let c=(0,u.useRef)(null),{current:m}=l(),{activeMarker:p,clusterPoints:v,mapPadding:b}=o(),w=(0,u.useRef)(v),C=(0,u.useRef)(p),j=s({target:void 0===t||void 0===e?void 0:`${t},${e}`,onClose:f});return(0,u.useEffect)(()=>{let t=w.current!==v,e=C.current===p;t&&e&&void 0!==p&&f?.(),w.current=v,C.current=p},[v,p,f]),(0,u.useEffect)(()=>{let t,e=c?.current,o={width:0,height:0},i=new ResizeObserver(()=>{t&&clearTimeout(t),t=window.setTimeout(()=>{(()=>{if(!m||!e||void 0===p)return;let t=m.getBounds(),i=m.getCenter(),n=m.getCanvas(),s=e.getElement()?.getBoundingClientRect();if(!t||!s)return;let l=Math.abs(s.width-o.width),a=Math.abs(s.height-o.height);if(0!==o.width&&l<15&&a<15)return;o={width:s.width,height:s.height};let u=n.getBoundingClientRect(),d={width:n.clientWidth,height:n.clientHeight,top:u.top,left:u.left},g={latitude:i.lat,longitude:i.lng},f={left:t.getWest(),right:t.getEast(),top:t.getNorth(),bottom:t.getSouth()},h={left:b.left||0,right:b.right||0,top:b.top||0,bottom:b.bottom||0};r(s,g,f,d,h,t=>{m.easeTo({center:[t.longitude,t.latitude],duration:500})})})()},100)}),n=e?.getElement();return n&&i.observe(n),()=>{t&&clearTimeout(t),i.disconnect()}},[m,c,p,b.top,b.bottom,b.left,b.right]),void 0===t||void 0===e?null:(0,d.jsx)(a,{ref:c,className:"mapbox-popup",focusAfterOpen:!1,latitude:t,longitude:e,anchor:i,offset:g,onClose:f,closeButton:!1,children:(0,d.jsx)("div",{ref:j,tabIndex:-1,className:n,children:h})})}export{g as default};
|
|
2
|
+
//# sourceMappingURL=Mapbox-BpJHQDi--fpQ7rycQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mapbox-BpJHQDi--
|
|
1
|
+
{"version":3,"file":"Mapbox-BpJHQDi--fpQ7rycQ.js","names":[],"sources":["../../../../packages/maps/dist/Mapbox-BpJHQDi-.js"],"sourcesContent":["import { n as e } from \"./context-Bh0wVHof.js\";\nimport { i as t, s as n } from \"./mapbox-BiIB2Zbq.js\";\nimport { n as r, t as i } from \"./styles-DCI3UJny.js\";\nimport { t as a } from \"./usePopupFocus-COpWcNt_.js\";\nimport { useEffect as o, useRef as s } from \"react\";\nimport { jsx as c } from \"react/jsx-runtime\";\n//#region src/components/Map/Root/Popup/Mapbox/index.tsx\nfunction l({ latitude: l, longitude: u, anchor: d, offset: f = [0, -35], onClose: p, children: m }) {\n\tlet h = s(null), { current: g } = n(), { activeMarker: _, clusterPoints: v, mapPadding: y } = e(), b = s(v), x = s(_), S = a({\n\t\ttarget: l === void 0 || u === void 0 ? void 0 : `${l},${u}`,\n\t\tonClose: p\n\t});\n\treturn o(() => {\n\t\tlet e = b.current !== v, t = x.current === _;\n\t\te && t && _ !== void 0 && p?.(), b.current = v, x.current = _;\n\t}, [\n\t\tv,\n\t\t_,\n\t\tp\n\t]), o(() => {\n\t\tlet e = h?.current, t = {\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t}, n = () => {\n\t\t\tif (!g || !e || _ === void 0) return;\n\t\t\tlet n = g.getBounds(), i = g.getCenter(), a = g.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}, d = {\n\t\t\t\tlatitude: i.lat,\n\t\t\t\tlongitude: i.lng\n\t\t\t}, f = {\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}, p = {\n\t\t\t\tleft: y.left || 0,\n\t\t\t\tright: y.right || 0,\n\t\t\t\ttop: y.top || 0,\n\t\t\t\tbottom: y.bottom || 0\n\t\t\t};\n\t\t\tr(o, d, f, u, p, (e) => {\n\t\t\t\tg.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\tg,\n\t\th,\n\t\t_,\n\t\ty.top,\n\t\ty.bottom,\n\t\ty.left,\n\t\ty.right\n\t]), l === void 0 || u === void 0 ? null : /* @__PURE__ */ c(t, {\n\t\tref: h,\n\t\tclassName: \"mapbox-popup\",\n\t\tfocusAfterOpen: !1,\n\t\tlatitude: l,\n\t\tlongitude: u,\n\t\tanchor: d,\n\t\toffset: f,\n\t\tonClose: p,\n\t\tcloseButton: !1,\n\t\tchildren: /* @__PURE__ */ c(\"div\", {\n\t\t\tref: S,\n\t\t\ttabIndex: -1,\n\t\t\tclassName: i,\n\t\t\tchildren: m\n\t\t})\n\t});\n}\n//#endregion\nexport { l as default };\n"],"mappings":"uYAOA,SAAS,GAAI,SAAU,EAAG,UAAW,EAAG,OAAQ,EAAG,OAAQ,EAAI,CAAC,GAAG,IAAM,QAAS,EAAG,SAAU,IAC9F,IAAI,GAAA,EAAI,EAAA,QAAE,OAAS,QAAS,GAAM,KAAO,aAAc,EAAG,cAAe,EAAG,WAAY,GAAM,IAAK,GAAA,EAAI,EAAA,QAAE,GAAI,GAAA,EAAI,EAAA,QAAE,GAAI,EAAI,EAAE,CAC5H,YAAc,IAAN,QAAsB,IAAN,OAAe,EAAS,GAAG,KAAK,IACxD,QAAS,IAEV,OAAA,EAAO,EAAA,WAAA,KACN,IAAI,EAAI,EAAE,UAAY,EAAG,EAAI,EAAE,UAAY,EAC3C,GAAK,QAAW,IAAN,GAAgB,MAAO,EAAE,QAAU,EAAG,EAAE,QAAU,GAC1D,CACF,EACA,EACA,KACA,EAAG,EAAA,WAAA,KACH,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,MACN,EAAI,CACN,SAAU,EAAE,IACZ,UAAW,EAAE,KACX,EAAI,CACN,KAAM,EAAE,UACR,MAAO,EAAE,UACT,IAAK,EAAE,WACP,OAAQ,EAAE,YACR,EAAI,CACN,KAAM,EAAE,MAAQ,EAChB,MAAO,EAAE,OAAS,EAClB,IAAK,EAAE,KAAO,EACd,OAAQ,EAAE,QAAU,GAErB,EAAE,EAAG,EAAG,EAAG,EAAG,EAAI,IACjB,EAAE,OAAO,CACR,OAAQ,CAAC,EAAE,UAAW,EAAE,UACxB,SAAU,SAKX,IACE,OACA,EAAI,GAAG,aACX,OAAO,GAAK,EAAE,QAAQ,GAAC,KACtB,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,IAAK,EACL,UAAU,EACV,UAAW,EACX,SAAU,KAGb"}
|