@local-logic/sdks-app 1.24.43 → 1.24.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{Attribution-DnmiY-id.js → Attribution-D012fWNs.js} +2 -2
- package/dist/assets/{Attribution-DnmiY-id.js.map → Attribution-D012fWNs.js.map} +1 -1
- package/dist/assets/{Attribution-legacy-Da4FA00m.js → Attribution-legacy-DSXG-3Q0.js} +2 -2
- package/dist/assets/{Attribution-legacy-Da4FA00m.js.map → Attribution-legacy-DSXG-3Q0.js.map} +1 -1
- package/dist/assets/{Cluster-BHQcO6iC-Do1P9Ia2.js → Cluster-BHQcO6iC-_jL_0N39.js} +2 -2
- package/dist/assets/{Cluster-BHQcO6iC-Do1P9Ia2.js.map → Cluster-BHQcO6iC-_jL_0N39.js.map} +1 -1
- package/dist/assets/{Cluster-BHQcO6iC-legacy-B3k4OIlu.js → Cluster-BHQcO6iC-legacy-3UMx26D5.js} +2 -2
- package/dist/assets/{Cluster-BHQcO6iC-legacy-B3k4OIlu.js.map → Cluster-BHQcO6iC-legacy-3UMx26D5.js.map} +1 -1
- package/dist/assets/{Google-BFAJ84CT-DhLE7SMg.js → Google-BFAJ84CT-Dh97X1sB.js} +2 -2
- package/dist/assets/{Google-BFAJ84CT-DhLE7SMg.js.map → Google-BFAJ84CT-Dh97X1sB.js.map} +1 -1
- package/dist/assets/{Google-BFAJ84CT-legacy-BXfoTpXf.js → Google-BFAJ84CT-legacy-D0OGURqq.js} +2 -2
- package/dist/assets/{Google-BFAJ84CT-legacy-BXfoTpXf.js.map → Google-BFAJ84CT-legacy-D0OGURqq.js.map} +1 -1
- package/dist/assets/{Google-BS41ufih-i8xQrE_C.js → Google-BS41ufih-Cc3f5UsV.js} +2 -2
- package/dist/assets/{Google-BS41ufih-i8xQrE_C.js.map → Google-BS41ufih-Cc3f5UsV.js.map} +1 -1
- package/dist/assets/{Google-BS41ufih-legacy-BdzBlyLB.js → Google-BS41ufih-legacy-BnojXQoy.js} +2 -2
- package/dist/assets/{Google-BS41ufih-legacy-BdzBlyLB.js.map → Google-BS41ufih-legacy-BnojXQoy.js.map} +1 -1
- package/dist/assets/{Google-CH7a2yx--BBV608XJ.js → Google-CH7a2yx--CBaNUH_8.js} +2 -2
- package/dist/assets/{Google-CH7a2yx--BBV608XJ.js.map → Google-CH7a2yx--CBaNUH_8.js.map} +1 -1
- package/dist/assets/{Google-CH7a2yx--legacy-DK3evKRO.js → Google-CH7a2yx--legacy-C_ip84Oz.js} +2 -2
- package/dist/assets/{Google-CH7a2yx--legacy-DK3evKRO.js.map → Google-CH7a2yx--legacy-C_ip84Oz.js.map} +1 -1
- package/dist/assets/{Google-CXGCn-oJ-5ByomDf2.js → Google-CXGCn-oJ-i9rxhVJh.js} +2 -2
- package/dist/assets/{Google-CXGCn-oJ-5ByomDf2.js.map → Google-CXGCn-oJ-i9rxhVJh.js.map} +1 -1
- package/dist/assets/{Google-CXGCn-oJ-legacy-DA32c0kh.js → Google-CXGCn-oJ-legacy-OuENT3oi.js} +2 -2
- package/dist/assets/{Google-CXGCn-oJ-legacy-DA32c0kh.js.map → Google-CXGCn-oJ-legacy-OuENT3oi.js.map} +1 -1
- package/dist/assets/{Google-DbOLrYJn-IeJcma0o.js → Google-DbOLrYJn-bogicaOo.js} +2 -2
- package/dist/assets/{Google-DbOLrYJn-IeJcma0o.js.map → Google-DbOLrYJn-bogicaOo.js.map} +1 -1
- package/dist/assets/{Google-DbOLrYJn-legacy-gzWCKBCo.js → Google-DbOLrYJn-legacy-B95opCm9.js} +2 -2
- package/dist/assets/{Google-DbOLrYJn-legacy-gzWCKBCo.js.map → Google-DbOLrYJn-legacy-B95opCm9.js.map} +1 -1
- package/dist/assets/{GridGraph-C0PP17kA.js → GridGraph-_rWMkwNI.js} +2 -2
- package/dist/assets/{GridGraph-C0PP17kA.js.map → GridGraph-_rWMkwNI.js.map} +1 -1
- package/dist/assets/{GridGraph-legacy-B1C-2d1Q.js → GridGraph-legacy-CsgF_9Vx.js} +2 -2
- package/dist/assets/{GridGraph-legacy-B1C-2d1Q.js.map → GridGraph-legacy-CsgF_9Vx.js.map} +1 -1
- package/dist/assets/{LeadCapture-e2fi_VKJ.js → LeadCapture-IqeCbA_u.js} +2 -2
- package/dist/assets/{LeadCapture-e2fi_VKJ.js.map → LeadCapture-IqeCbA_u.js.map} +1 -1
- package/dist/assets/{LeadCapture-legacy-wC9F3Dq5.js → LeadCapture-legacy-D_miey0j.js} +2 -2
- package/dist/assets/{LeadCapture-legacy-wC9F3Dq5.js.map → LeadCapture-legacy-D_miey0j.js.map} +1 -1
- package/dist/assets/{LocalContent-Bgf0CDoA.js → LocalContent-DL6Y67Ne.js} +2 -2
- package/dist/assets/{LocalContent-Bgf0CDoA.js.map → LocalContent-DL6Y67Ne.js.map} +1 -1
- package/dist/assets/{LocalContent-legacy-BHBTASYp.js → LocalContent-legacy-BBB-ST51.js} +2 -2
- package/dist/assets/{LocalContent-legacy-BHBTASYp.js.map → LocalContent-legacy-BBB-ST51.js.map} +1 -1
- package/dist/assets/{LocalDemographics-BuWGiqEi.js → LocalDemographics-DcirUh9h.js} +2 -2
- package/dist/assets/{LocalDemographics-BuWGiqEi.js.map → LocalDemographics-DcirUh9h.js.map} +1 -1
- package/dist/assets/{LocalDemographics-legacy-D1k5CRVw.js → LocalDemographics-legacy-rmGYdILu.js} +2 -2
- package/dist/assets/{LocalDemographics-legacy-D1k5CRVw.js.map → LocalDemographics-legacy-rmGYdILu.js.map} +1 -1
- package/dist/assets/{Mapbox-CpLnA607-AeAqR5aH.js → Mapbox-CpLnA607-CKDrFvU5.js} +2 -2
- package/dist/assets/{Mapbox-CpLnA607-AeAqR5aH.js.map → Mapbox-CpLnA607-CKDrFvU5.js.map} +1 -1
- package/dist/assets/{Mapbox-CpLnA607-legacy-CZe3Jz0m.js → Mapbox-CpLnA607-legacy-Bx1JnBMX.js} +2 -2
- package/dist/assets/{Mapbox-CpLnA607-legacy-CZe3Jz0m.js.map → Mapbox-CpLnA607-legacy-Bx1JnBMX.js.map} +1 -1
- package/dist/assets/{Mapbox-DDJ1gHRb-rvf9zFJO.js → Mapbox-DDJ1gHRb-BrLhMxW4.js} +2 -2
- package/dist/assets/{Mapbox-DDJ1gHRb-rvf9zFJO.js.map → Mapbox-DDJ1gHRb-BrLhMxW4.js.map} +1 -1
- package/dist/assets/{Mapbox-DDJ1gHRb-legacy-NAVECUv-.js → Mapbox-DDJ1gHRb-legacy-DtASaFMy.js} +2 -2
- package/dist/assets/{Mapbox-DDJ1gHRb-legacy-NAVECUv-.js.map → Mapbox-DDJ1gHRb-legacy-DtASaFMy.js.map} +1 -1
- package/dist/assets/{Mapbox-DiD9etYJ-zR1EkiNp.js → Mapbox-DiD9etYJ-BMtTiGO7.js} +2 -2
- package/dist/assets/{Mapbox-DiD9etYJ-zR1EkiNp.js.map → Mapbox-DiD9etYJ-BMtTiGO7.js.map} +1 -1
- package/dist/assets/{Mapbox-DiD9etYJ-legacy-pThPPnNQ.js → Mapbox-DiD9etYJ-legacy-WIywO1-w.js} +2 -2
- package/dist/assets/{Mapbox-DiD9etYJ-legacy-pThPPnNQ.js.map → Mapbox-DiD9etYJ-legacy-WIywO1-w.js.map} +1 -1
- package/dist/assets/{Mapbox-DtZmt1D_-DHhJhTo8.js → Mapbox-DtZmt1D_-Dq1UD7au.js} +2 -2
- package/dist/assets/{Mapbox-DtZmt1D_-DHhJhTo8.js.map → Mapbox-DtZmt1D_-Dq1UD7au.js.map} +1 -1
- package/dist/assets/{Mapbox-DtZmt1D_-legacy-ccCiz3Pd.js → Mapbox-DtZmt1D_-legacy-CXP5-C49.js} +2 -2
- package/dist/assets/{Mapbox-DtZmt1D_-legacy-ccCiz3Pd.js.map → Mapbox-DtZmt1D_-legacy-CXP5-C49.js.map} +1 -1
- package/dist/assets/{Mapbox-u11C3LWs-B_yCTqoV.js → Mapbox-u11C3LWs-DuakH8Ji.js} +2 -2
- package/dist/assets/{Mapbox-u11C3LWs-B_yCTqoV.js.map → Mapbox-u11C3LWs-DuakH8Ji.js.map} +1 -1
- package/dist/assets/{Mapbox-u11C3LWs-legacy-D90FQvEN.js → Mapbox-u11C3LWs-legacy-ChrUMjPl.js} +2 -2
- package/dist/assets/{Mapbox-u11C3LWs-legacy-D90FQvEN.js.map → Mapbox-u11C3LWs-legacy-ChrUMjPl.js.map} +1 -1
- package/dist/assets/{Maptiler-C0oTROMk-BwaieRuC.js → Maptiler-C0oTROMk-Dz6Vkl6m.js} +2 -2
- package/dist/assets/{Maptiler-C0oTROMk-BwaieRuC.js.map → Maptiler-C0oTROMk-Dz6Vkl6m.js.map} +1 -1
- package/dist/assets/{Maptiler-C0oTROMk-legacy-Dt8ZGBQ1.js → Maptiler-C0oTROMk-legacy-B6L6FzM1.js} +2 -2
- package/dist/assets/{Maptiler-C0oTROMk-legacy-Dt8ZGBQ1.js.map → Maptiler-C0oTROMk-legacy-B6L6FzM1.js.map} +1 -1
- package/dist/assets/{Maptiler-DJScKW8p-D7sqoIWz.js → Maptiler-DJScKW8p-6YGAe8cE.js} +2 -2
- package/dist/assets/{Maptiler-DJScKW8p-D7sqoIWz.js.map → Maptiler-DJScKW8p-6YGAe8cE.js.map} +1 -1
- package/dist/assets/{Maptiler-DJScKW8p-legacy-BxKgw8sA.js → Maptiler-DJScKW8p-legacy-DEW3rPcZ.js} +2 -2
- package/dist/assets/{Maptiler-DJScKW8p-legacy-BxKgw8sA.js.map → Maptiler-DJScKW8p-legacy-DEW3rPcZ.js.map} +1 -1
- package/dist/assets/{Maptiler-DdeFS4iM-CAX4yO3w.js → Maptiler-DdeFS4iM-Brs-80yb.js} +2 -2
- package/dist/assets/{Maptiler-DdeFS4iM-CAX4yO3w.js.map → Maptiler-DdeFS4iM-Brs-80yb.js.map} +1 -1
- package/dist/assets/{Maptiler-DdeFS4iM-legacy-DsI2My96.js → Maptiler-DdeFS4iM-legacy-Ci9oroQC.js} +2 -2
- package/dist/assets/{Maptiler-DdeFS4iM-legacy-DsI2My96.js.map → Maptiler-DdeFS4iM-legacy-Ci9oroQC.js.map} +1 -1
- package/dist/assets/{Maptiler-DqeshLom-a9LD3O-1.js → Maptiler-DqeshLom-B0jdRE1n.js} +2 -2
- package/dist/assets/{Maptiler-DqeshLom-a9LD3O-1.js.map → Maptiler-DqeshLom-B0jdRE1n.js.map} +1 -1
- package/dist/assets/{Maptiler-DqeshLom-legacy-iao-6Wdy.js → Maptiler-DqeshLom-legacy-CurUmtTs.js} +2 -2
- package/dist/assets/{Maptiler-DqeshLom-legacy-iao-6Wdy.js.map → Maptiler-DqeshLom-legacy-CurUmtTs.js.map} +1 -1
- package/dist/assets/{Maptiler-YjlcPccn-BbfdNZAF.js → Maptiler-YjlcPccn-BeECNaQc.js} +2 -2
- package/dist/assets/{Maptiler-YjlcPccn-BbfdNZAF.js.map → Maptiler-YjlcPccn-BeECNaQc.js.map} +1 -1
- package/dist/assets/{Maptiler-YjlcPccn-legacy-D6AZMug8.js → Maptiler-YjlcPccn-legacy-DUPM1fwa.js} +2 -2
- package/dist/assets/{Maptiler-YjlcPccn-legacy-D6AZMug8.js.map → Maptiler-YjlcPccn-legacy-DUPM1fwa.js.map} +1 -1
- package/dist/assets/{MarkerIcon-Bc3X9WQk-ByrgCntx.js → MarkerIcon-Bc3X9WQk-BuSzLTIC.js} +2 -2
- package/dist/assets/{MarkerIcon-Bc3X9WQk-ByrgCntx.js.map → MarkerIcon-Bc3X9WQk-BuSzLTIC.js.map} +1 -1
- package/dist/assets/{MarkerIcon-Bc3X9WQk-legacy-CIGJvvJR.js → MarkerIcon-Bc3X9WQk-legacy-0n6adFAI.js} +2 -2
- package/dist/assets/{MarkerIcon-Bc3X9WQk-legacy-CIGJvvJR.js.map → MarkerIcon-Bc3X9WQk-legacy-0n6adFAI.js.map} +1 -1
- package/dist/assets/{NeighborhoodCard-CQFgsjdH.js → NeighborhoodCard-ePSiX1h0.js} +2 -2
- package/dist/assets/{NeighborhoodCard-CQFgsjdH.js.map → NeighborhoodCard-ePSiX1h0.js.map} +1 -1
- package/dist/assets/{NeighborhoodCard-legacy-CT-3ylPG.js → NeighborhoodCard-legacy-B7hL1XOX.js} +2 -2
- package/dist/assets/{NeighborhoodCard-legacy-CT-3ylPG.js.map → NeighborhoodCard-legacy-B7hL1XOX.js.map} +1 -1
- package/dist/assets/{NeighborhoodCharacteristics-w5WKGZ2K.js → NeighborhoodCharacteristics-__nE9rKT.js} +2 -2
- package/dist/assets/{NeighborhoodCharacteristics-w5WKGZ2K.js.map → NeighborhoodCharacteristics-__nE9rKT.js.map} +1 -1
- package/dist/assets/{NeighborhoodCharacteristics-legacy-CKYaXDfQ.js → NeighborhoodCharacteristics-legacy-zcamdTX5.js} +2 -2
- package/dist/assets/{NeighborhoodCharacteristics-legacy-CKYaXDfQ.js.map → NeighborhoodCharacteristics-legacy-zcamdTX5.js.map} +1 -1
- package/dist/assets/{NeighborhoodDemographics-BZrhdeYZ.js → NeighborhoodDemographics-5cGgXnRY.js} +2 -2
- package/dist/assets/{NeighborhoodDemographics-BZrhdeYZ.js.map → NeighborhoodDemographics-5cGgXnRY.js.map} +1 -1
- package/dist/assets/{NeighborhoodDemographics-legacy-BHIQ1ER7.js → NeighborhoodDemographics-legacy-c3eDH26X.js} +2 -2
- package/dist/assets/{NeighborhoodDemographics-legacy-BHIQ1ER7.js.map → NeighborhoodDemographics-legacy-c3eDH26X.js.map} +1 -1
- package/dist/assets/{NeighborhoodFeatured-DfjxzlxY.js → NeighborhoodFeatured-DIXhmlRC.js} +2 -2
- package/dist/assets/{NeighborhoodFeatured-DfjxzlxY.js.map → NeighborhoodFeatured-DIXhmlRC.js.map} +1 -1
- package/dist/assets/{NeighborhoodFeatured-legacy-DHTnv4CZ.js → NeighborhoodFeatured-legacy-lDme45yC.js} +2 -2
- package/dist/assets/{NeighborhoodFeatured-legacy-DHTnv4CZ.js.map → NeighborhoodFeatured-legacy-lDme45yC.js.map} +1 -1
- package/dist/assets/{NeighborhoodHero-DrBKD27P.js → NeighborhoodHero-Bj4FlQVV.js} +2 -2
- package/dist/assets/{NeighborhoodHero-DrBKD27P.js.map → NeighborhoodHero-Bj4FlQVV.js.map} +1 -1
- package/dist/assets/{NeighborhoodHero-legacy-BMCiD7gd.js → NeighborhoodHero-legacy-C6T-qgPK.js} +2 -2
- package/dist/assets/{NeighborhoodHero-legacy-BMCiD7gd.js.map → NeighborhoodHero-legacy-C6T-qgPK.js.map} +1 -1
- package/dist/assets/{NeighborhoodHighlights-CwoTHUIb.js → NeighborhoodHighlights-BBmVnaLl.js} +2 -2
- package/dist/assets/{NeighborhoodHighlights-CwoTHUIb.js.map → NeighborhoodHighlights-BBmVnaLl.js.map} +1 -1
- package/dist/assets/{NeighborhoodHighlights-legacy-R316wAs2.js → NeighborhoodHighlights-legacy-B2x36QRC.js} +2 -2
- package/dist/assets/{NeighborhoodHighlights-legacy-R316wAs2.js.map → NeighborhoodHighlights-legacy-B2x36QRC.js.map} +1 -1
- package/dist/assets/{NeighborhoodMap-ChZpBdAe.js → NeighborhoodMap-DwMQLhkw.js} +2 -2
- package/dist/assets/{NeighborhoodMap-ChZpBdAe.js.map → NeighborhoodMap-DwMQLhkw.js.map} +1 -1
- package/dist/assets/{NeighborhoodMap-legacy-D7V_lZQF.js → NeighborhoodMap-legacy-CugKbgSp.js} +2 -2
- package/dist/assets/{NeighborhoodMap-legacy-D7V_lZQF.js.map → NeighborhoodMap-legacy-CugKbgSp.js.map} +1 -1
- package/dist/assets/{NeighborhoodMarketTrends-DpUA8_BA.js → NeighborhoodMarketTrends-COqvs4Fz.js} +3 -3
- package/dist/assets/{NeighborhoodMarketTrends-DpUA8_BA.js.map → NeighborhoodMarketTrends-COqvs4Fz.js.map} +1 -1
- package/dist/assets/{NeighborhoodMarketTrends-legacy-18rcLpS1.js → NeighborhoodMarketTrends-legacy-DSHDUUH_.js} +2 -2
- package/dist/assets/{NeighborhoodMarketTrends-legacy-18rcLpS1.js.map → NeighborhoodMarketTrends-legacy-DSHDUUH_.js.map} +1 -1
- package/dist/assets/{NeighborhoodMatch-BLDNZBRX.js → NeighborhoodMatch-GqzEoreu.js} +2 -2
- package/dist/assets/{NeighborhoodMatch-BLDNZBRX.js.map → NeighborhoodMatch-GqzEoreu.js.map} +1 -1
- package/dist/assets/{NeighborhoodMatch-legacy-C2QyjRPr.js → NeighborhoodMatch-legacy-SGEcOXuf.js} +2 -2
- package/dist/assets/{NeighborhoodMatch-legacy-C2QyjRPr.js.map → NeighborhoodMatch-legacy-SGEcOXuf.js.map} +1 -1
- package/dist/assets/{NeighborhoodPropertyValueDrivers-CQoo-TFM.js → NeighborhoodPropertyValueDrivers-Cz4cawqR.js} +2 -2
- package/dist/assets/{NeighborhoodPropertyValueDrivers-CQoo-TFM.js.map → NeighborhoodPropertyValueDrivers-Cz4cawqR.js.map} +1 -1
- package/dist/assets/{NeighborhoodPropertyValueDrivers-legacy-B-3Ld9XX.js → NeighborhoodPropertyValueDrivers-legacy-7gVUrIgh.js} +2 -2
- package/dist/assets/{NeighborhoodPropertyValueDrivers-legacy-B-3Ld9XX.js.map → NeighborhoodPropertyValueDrivers-legacy-7gVUrIgh.js.map} +1 -1
- package/dist/assets/{NeighborhoodSchools-DMKDCbUv.js → NeighborhoodSchools-D6CPTgGE.js} +2 -2
- package/dist/assets/{NeighborhoodSchools-DMKDCbUv.js.map → NeighborhoodSchools-D6CPTgGE.js.map} +1 -1
- package/dist/assets/{NeighborhoodSchools-legacy-D_MpmqNV.js → NeighborhoodSchools-legacy-0G_dtI8q.js} +2 -2
- package/dist/assets/{NeighborhoodSchools-legacy-D_MpmqNV.js.map → NeighborhoodSchools-legacy-0G_dtI8q.js.map} +1 -1
- package/dist/assets/{NeighborhoodShowcase-CB3_rfxv.js → NeighborhoodShowcase-CRlKc8OL.js} +2 -2
- package/dist/assets/{NeighborhoodShowcase-CB3_rfxv.js.map → NeighborhoodShowcase-CRlKc8OL.js.map} +1 -1
- package/dist/assets/{NeighborhoodShowcase-legacy-B8IQbiVz.js → NeighborhoodShowcase-legacy-Bjz5_C24.js} +2 -2
- package/dist/assets/{NeighborhoodShowcase-legacy-B8IQbiVz.js.map → NeighborhoodShowcase-legacy-Bjz5_C24.js.map} +1 -1
- package/dist/assets/{NoDataContent-CFLl-Rd-.js → NoDataContent-CTxzT718.js} +2 -2
- package/dist/assets/{NoDataContent-CFLl-Rd-.js.map → NoDataContent-CTxzT718.js.map} +1 -1
- package/dist/assets/{NoDataContent-legacy-aWMMhT9c.js → NoDataContent-legacy-BWvHzb0g.js} +2 -2
- package/dist/assets/{NoDataContent-legacy-aWMMhT9c.js.map → NoDataContent-legacy-BWvHzb0g.js.map} +1 -1
- package/dist/assets/{ResizeWrapper-C7vwckhm.js → ResizeWrapper-DbYmMKOU.js} +2 -2
- package/dist/assets/{ResizeWrapper-C7vwckhm.js.map → ResizeWrapper-DbYmMKOU.js.map} +1 -1
- package/dist/assets/{ResizeWrapper-legacy-WwfLyk1y.js → ResizeWrapper-legacy-C0ua6RC5.js} +2 -2
- package/dist/assets/{ResizeWrapper-legacy-WwfLyk1y.js.map → ResizeWrapper-legacy-C0ua6RC5.js.map} +1 -1
- package/dist/assets/{ScoreCardList-PWiDx6Ra.js → ScoreCardList-B4NURGgK.js} +2 -2
- package/dist/assets/{ScoreCardList-PWiDx6Ra.js.map → ScoreCardList-B4NURGgK.js.map} +1 -1
- package/dist/assets/{ScoreCardList-legacy-BK5dq36c.js → ScoreCardList-legacy-BTRPIWUP.js} +2 -2
- package/dist/assets/{ScoreCardList-legacy-BK5dq36c.js.map → ScoreCardList-legacy-BTRPIWUP.js.map} +1 -1
- package/dist/assets/{ScoreIcon-legacy-BwaAs8hW.js → ScoreIcon-legacy-D9igp8MS.js} +2 -2
- package/dist/assets/{ScoreIcon-legacy-BwaAs8hW.js.map → ScoreIcon-legacy-D9igp8MS.js.map} +1 -1
- package/dist/assets/{ScoreIcon-CsB-usG9.js → ScoreIcon-s5-ehfPP.js} +2 -2
- package/dist/assets/{ScoreIcon-CsB-usG9.js.map → ScoreIcon-s5-ehfPP.js.map} +1 -1
- package/dist/assets/{Testing--n5Ro0Ek-B4Vejacz.js → Testing--n5Ro0Ek-Cc3RGltv.js} +2 -2
- package/dist/assets/{Testing--n5Ro0Ek-B4Vejacz.js.map → Testing--n5Ro0Ek-Cc3RGltv.js.map} +1 -1
- package/dist/assets/{Testing--n5Ro0Ek-legacy-Co29YW_f.js → Testing--n5Ro0Ek-legacy-BB0u0086.js} +2 -2
- package/dist/assets/{Testing--n5Ro0Ek-legacy-Co29YW_f.js.map → Testing--n5Ro0Ek-legacy-BB0u0086.js.map} +1 -1
- package/dist/assets/{Testing-BNJwzbRK-hEJFbzQg.js → Testing-BNJwzbRK-C1viHx8M.js} +2 -2
- package/dist/assets/{Testing-BNJwzbRK-hEJFbzQg.js.map → Testing-BNJwzbRK-C1viHx8M.js.map} +1 -1
- package/dist/assets/{Testing-BNJwzbRK-legacy-B1EdPb3k.js → Testing-BNJwzbRK-legacy-XPR_-0Eg.js} +2 -2
- package/dist/assets/{Testing-BNJwzbRK-legacy-B1EdPb3k.js.map → Testing-BNJwzbRK-legacy-XPR_-0Eg.js.map} +1 -1
- package/dist/assets/{Testing-CoRLhmNT-Cqyejow7.js → Testing-CoRLhmNT-B4pOjeZH.js} +2 -2
- package/dist/assets/{Testing-CoRLhmNT-Cqyejow7.js.map → Testing-CoRLhmNT-B4pOjeZH.js.map} +1 -1
- package/dist/assets/{Testing-CoRLhmNT-legacy-BQpWn7Bu.js → Testing-CoRLhmNT-legacy-BFVvx40w.js} +2 -2
- package/dist/assets/{Testing-CoRLhmNT-legacy-BQpWn7Bu.js.map → Testing-CoRLhmNT-legacy-BFVvx40w.js.map} +1 -1
- package/dist/assets/{Testing-DGUeGxdc-g-T4vdVq.js → Testing-DGUeGxdc-CKSlgBDu.js} +2 -2
- package/dist/assets/{Testing-DGUeGxdc-g-T4vdVq.js.map → Testing-DGUeGxdc-CKSlgBDu.js.map} +1 -1
- package/dist/assets/{Testing-DGUeGxdc-legacy-GwpDyiTO.js → Testing-DGUeGxdc-legacy-B2yBRluh.js} +2 -2
- package/dist/assets/{Testing-DGUeGxdc-legacy-GwpDyiTO.js.map → Testing-DGUeGxdc-legacy-B2yBRluh.js.map} +1 -1
- package/dist/assets/{Testing-DzWAcbhL-BJOouF0A.js → Testing-DzWAcbhL-B5JOmJod.js} +2 -2
- package/dist/assets/{Testing-DzWAcbhL-BJOouF0A.js.map → Testing-DzWAcbhL-B5JOmJod.js.map} +1 -1
- package/dist/assets/{Testing-DzWAcbhL-legacy-CYECRHWo.js → Testing-DzWAcbhL-legacy-20VBltE2.js} +2 -2
- package/dist/assets/{Testing-DzWAcbhL-legacy-CYECRHWo.js.map → Testing-DzWAcbhL-legacy-20VBltE2.js.map} +1 -1
- package/dist/assets/{TitleHeader-CepE-7Y-.js → TitleHeader-Be2YRN93.js} +2 -2
- package/dist/assets/{TitleHeader-CepE-7Y-.js.map → TitleHeader-Be2YRN93.js.map} +1 -1
- package/dist/assets/{TitleHeader-legacy-UtQZo396.js → TitleHeader-legacy-CzXSoMFC.js} +2 -2
- package/dist/assets/{TitleHeader-legacy-UtQZo396.js.map → TitleHeader-legacy-CzXSoMFC.js.map} +1 -1
- package/dist/assets/{Trans-B1zRm9WH.js → Trans-DntniXa9.js} +2 -2
- package/dist/assets/{Trans-B1zRm9WH.js.map → Trans-DntniXa9.js.map} +1 -1
- package/dist/assets/{Trans-legacy-B47WOepl.js → Trans-legacy-B9t4MV_C.js} +2 -2
- package/dist/assets/{Trans-legacy-B47WOepl.js.map → Trans-legacy-B9t4MV_C.js.map} +1 -1
- package/dist/assets/{ValidateOptions-DsfMKmBQ.js → ValidateOptions-BqL9iY9R.js} +2 -2
- package/dist/assets/{ValidateOptions-DsfMKmBQ.js.map → ValidateOptions-BqL9iY9R.js.map} +1 -1
- package/dist/assets/{ValidateOptions-legacy-CtRpWaj6.js → ValidateOptions-legacy-BQ69tin-.js} +2 -2
- package/dist/assets/{ValidateOptions-legacy-CtRpWaj6.js.map → ValidateOptions-legacy-BQ69tin-.js.map} +1 -1
- package/dist/assets/{dist-DrX-uh0V.js → dist-C_ktdPsv.js} +2 -2
- package/dist/assets/{dist-DrX-uh0V.js.map → dist-C_ktdPsv.js.map} +1 -1
- package/dist/assets/{dist-legacy-CJvY2ayv.js → dist-legacy-DIwOLBcZ.js} +2 -2
- package/dist/assets/{dist-legacy-CJvY2ayv.js.map → dist-legacy-DIwOLBcZ.js.map} +1 -1
- package/dist/assets/{getMapProviderConfig-DbC8zRUF.js → getMapProviderConfig-D9e8KNYU.js} +3 -3
- package/dist/assets/{getMapProviderConfig-DbC8zRUF.js.map → getMapProviderConfig-D9e8KNYU.js.map} +1 -1
- package/dist/assets/{getMapProviderConfig-legacy-CwpYg6Bq.js → getMapProviderConfig-legacy-DVBUhWqR.js} +2 -2
- package/dist/assets/{getMapProviderConfig-legacy-CwpYg6Bq.js.map → getMapProviderConfig-legacy-DVBUhWqR.js.map} +1 -1
- package/dist/assets/{index-Bi8h_BNl.js → index-PbHyodiU.js} +3 -3
- package/dist/assets/{index-Bi8h_BNl.js.map → index-PbHyodiU.js.map} +1 -1
- package/dist/assets/{index-legacy-DF60d_4Z.js → index-legacy-CYps6nGB.js} +2 -2
- package/dist/assets/{index-legacy-DF60d_4Z.js.map → index-legacy-CYps6nGB.js.map} +1 -1
- package/dist/assets/{index.es-BkZlVTZH.js → index.es-DuM-WVhV.js} +2 -2
- package/dist/assets/{index.es-BkZlVTZH.js.map → index.es-DuM-WVhV.js.map} +1 -1
- package/dist/assets/{index.es-legacy-DdMTxXQK.js → index.es-legacy-Cz2m6e4L.js} +2 -2
- package/dist/assets/{index.es-legacy-DdMTxXQK.js.map → index.es-legacy-Cz2m6e4L.js.map} +1 -1
- package/dist/assets/{mapbox-jb8Zev6T-DbABbE_7.js → mapbox-jb8Zev6T-BgSpiKob.js} +2 -2
- package/dist/assets/{mapbox-jb8Zev6T-DbABbE_7.js.map → mapbox-jb8Zev6T-BgSpiKob.js.map} +1 -1
- package/dist/assets/{mapbox-jb8Zev6T-legacy-DkLTUrvZ.js → mapbox-jb8Zev6T-legacy-hBjjoWXX.js} +2 -2
- package/dist/assets/{mapbox-jb8Zev6T-legacy-DkLTUrvZ.js.map → mapbox-jb8Zev6T-legacy-hBjjoWXX.js.map} +1 -1
- package/dist/assets/{maplibre-CUYkxr-D-DPcOY-Lp.js → maplibre-CUYkxr-D-BJWmGVry.js} +2 -2
- package/dist/assets/{maplibre-CUYkxr-D-DPcOY-Lp.js.map → maplibre-CUYkxr-D-BJWmGVry.js.map} +1 -1
- package/dist/assets/{maplibre-CUYkxr-D-legacy-Ct1K6aaN.js → maplibre-CUYkxr-D-legacy-BNqtRzVB.js} +2 -2
- package/dist/assets/{maplibre-CUYkxr-D-legacy-Ct1K6aaN.js.map → maplibre-CUYkxr-D-legacy-BNqtRzVB.js.map} +1 -1
- package/dist/assets/neighborhood-fallback-CizB5oi9.js.map +1 -1
- package/dist/assets/neighborhood-fallback-legacy-Bu1BwGpC.js.map +1 -1
- package/dist/assets/{sdks-CIuvHxGG.js → sdks-BTkz21XL.js} +2 -2
- package/dist/assets/{sdks-CIuvHxGG.js.map → sdks-BTkz21XL.js.map} +1 -1
- package/dist/assets/{sdks-legacy-3YngGDux.js → sdks-legacy-3sJ2n28B.js} +2 -2
- package/dist/assets/{sdks-legacy-3YngGDux.js.map → sdks-legacy-3sJ2n28B.js.map} +1 -1
- package/dist/assets/{useDemographicsData-Dz3Pu-Ht.js → useDemographicsData-DKScK522.js} +2 -2
- package/dist/assets/{useDemographicsData-Dz3Pu-Ht.js.map → useDemographicsData-DKScK522.js.map} +1 -1
- package/dist/assets/{useDemographicsData-legacy-BD0OVn1e.js → useDemographicsData-legacy-BsoUaI9P.js} +2 -2
- package/dist/assets/{useDemographicsData-legacy-BD0OVn1e.js.map → useDemographicsData-legacy-BsoUaI9P.js.map} +1 -1
- package/dist/assets/{useGeographies-CtCPN011.js → useGeographies-DejQbRC9.js} +2 -2
- package/dist/assets/{useGeographies-CtCPN011.js.map → useGeographies-DejQbRC9.js.map} +1 -1
- package/dist/assets/{useGeographies-legacy-BmNvVGxt.js → useGeographies-legacy-B5ciev2M.js} +2 -2
- package/dist/assets/{useGeographies-legacy-BmNvVGxt.js.map → useGeographies-legacy-B5ciev2M.js.map} +1 -1
- package/dist/assets/{useIsMobile-DqKgF2mC.js → useIsMobile-Co5SddxR.js} +2 -2
- package/dist/assets/{useIsMobile-DqKgF2mC.js.map → useIsMobile-Co5SddxR.js.map} +1 -1
- package/dist/assets/{useIsMobile-legacy-jEoaA3sZ.js → useIsMobile-legacy-B53LlWR8.js} +2 -2
- package/dist/assets/{useIsMobile-legacy-jEoaA3sZ.js.map → useIsMobile-legacy-B53LlWR8.js.map} +1 -1
- package/dist/assets/{useLocation-DnI9ftE5.js → useLocation-DUSQPRn5.js} +2 -2
- package/dist/assets/{useLocation-DnI9ftE5.js.map → useLocation-DUSQPRn5.js.map} +1 -1
- package/dist/assets/{useLocation-legacy-UNiEBLrQ.js → useLocation-legacy-CYzO18ij.js} +2 -2
- package/dist/assets/{useLocation-legacy-UNiEBLrQ.js.map → useLocation-legacy-CYzO18ij.js.map} +1 -1
- package/dist/assets/{useProfiles-DKmVxUf9.js → useProfiles-Dv9s6TWw.js} +2 -2
- package/dist/assets/{useProfiles-DKmVxUf9.js.map → useProfiles-Dv9s6TWw.js.map} +1 -1
- package/dist/assets/{useProfiles-legacy-OVEEk1dZ.js → useProfiles-legacy-DF0NXWwe.js} +2 -2
- package/dist/assets/{useProfiles-legacy-OVEEk1dZ.js.map → useProfiles-legacy-DF0NXWwe.js.map} +1 -1
- package/dist/assets/{useSchools-BC9vy4Xx.js → useSchools-Dqdy1J-D.js} +2 -2
- package/dist/assets/{useSchools-BC9vy4Xx.js.map → useSchools-Dqdy1J-D.js.map} +1 -1
- package/dist/assets/{useSchools-legacy-g8-dezaK.js → useSchools-legacy-CCHNqc2P.js} +2 -2
- package/dist/assets/{useSchools-legacy-g8-dezaK.js.map → useSchools-legacy-CCHNqc2P.js.map} +1 -1
- package/dist/assets/{useScores-BZGEEU4U.js → useScores-C4T2-LUO.js} +2 -2
- package/dist/assets/{useScores-BZGEEU4U.js.map → useScores-C4T2-LUO.js.map} +1 -1
- package/dist/assets/{useScores-legacy-C9icRMIu.js → useScores-legacy-BludORUw.js} +2 -2
- package/dist/assets/{useScores-legacy-C9icRMIu.js.map → useScores-legacy-BludORUw.js.map} +1 -1
- package/dist/index.html +2 -2
- package/dist/types/sdks/LocalContent/hooks/useSurveyTrigger/SurveyTriggerProvider/index.test.js +11 -9
- package/dist/types/sdks/LocalContent/hooks/useSurveyTrigger/SurveyTriggerProvider/index.test.js.map +1 -1
- package/dist/types/sdks/LocalContent/hooks/useSurveyTrigger/index.test.js +19 -5
- package/dist/types/sdks/LocalContent/hooks/useSurveyTrigger/index.test.js.map +1 -1
- package/package.json +2 -2
package/dist/assets/{LocalContent-legacy-BHBTASYp.js.map → LocalContent-legacy-BBB-ST51.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalContent-legacy-BHBTASYp.js","names":["e","a","e","a","e","o","a","f","o","a","m","n","a","s","t","t","n","r","e","i","c"],"sources":["../../../../node_modules/@phosphor-icons/react/dist/defs/CaretDoubleLeft.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/CaretUp.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/Confetti.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/Equals.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/PencilRuler.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/ShoppingCart.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/TrafficSign.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/CaretDoubleLeft.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/CaretUp.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/Confetti.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/Equals.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/PencilRuler.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/ShoppingCart.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/TrafficSign.es.js","../../src/sdks/LocalContent/components/Header/styles.ts","../../src/sdks/LocalContent/utils/transformScoresMenuData/index.ts","../../src/sdks/LocalContent/utils/getPOICategoriesWithAvailableData/index.ts","../../src/sdks/LocalContent/constants.ts","../../src/sdks/LocalContent/utils/orderPOICategories/index.ts","../../src/sdks/LocalContent/types.ts","../../src/sdks/LocalContent/hooks/useScoreSelection/utils/transformScoresAPIResponse/index.ts","../../src/sdks/LocalContent/hooks/useScoreSelection/index.ts","../../src/sdks/LocalContent/hooks/useCommute/index.ts","../../src/sdks/LocalContent/hooks/useSurveyTrigger/session/index.ts","../../src/sdks/LocalContent/hooks/useSurveyTrigger/SurveyTriggerProvider/index.tsx","../../src/sdks/LocalContent/hooks/useSurveyTrigger/index.ts","../../src/sdks/LocalContent/context.tsx","../../src/sdks/LocalContent/components/Header/index.tsx","../../../../node_modules/@typeform/embed-react/build/index.js","../../src/sdks/LocalContent/components/Survey/styles.ts","../../src/sdks/LocalContent/components/Survey/utils/buildSurveyHiddenFields/index.ts","../../src/sdks/LocalContent/components/Survey/utils/trackSurveyEvent/index.ts","../../src/sdks/LocalContent/components/Survey/index.tsx","../../src/sdks/LocalContent/components/Map/Layers/index.tsx","../../src/sdks/LocalContent/components/Map/Markers/index.tsx","../../src/sdks/LocalContent/components/Map/CenterPin/styles.ts","../../src/sdks/LocalContent/components/Map/CenterPin/index.tsx","../../src/sdks/LocalContent/components/Map/Popup/Commute/styles.ts","../../src/sdks/LocalContent/components/Map/Popup/Commute/index.tsx","../../src/sdks/LocalContent/components/Map/Popup/index.tsx","../../src/sdks/LocalContent/components/Map/styles.ts","../../src/sdks/LocalContent/components/Map/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/styles.ts","../../src/sdks/LocalContent/components/Sidebar/Root/context.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Content/styles.ts","../../src/sdks/LocalContent/components/Sidebar/Root/Content/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Header/Title/styles.ts","../../src/sdks/LocalContent/components/Sidebar/Root/Header/Title/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Header/CloseButton/styles.ts","../../src/sdks/LocalContent/components/Sidebar/Root/Header/CloseButton/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Header/styles.ts","../../src/sdks/LocalContent/components/Sidebar/Root/Header/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Category/styles.ts","../../src/sdks/LocalContent/components/CategoryTitle/styles.ts","../../src/sdks/LocalContent/components/CategoryTitle/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Category/index.tsx","../../src/sdks/LocalContent/components/ItemButton/styles.ts","../../src/sdks/LocalContent/components/ItemButton/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Score/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/ScoreDetails/styles.ts","../../src/sdks/LocalContent/components/ScoreComparison/ValueIndicator/styles.ts","../../src/sdks/LocalContent/components/ScoreComparison/ValueIndicator/index.tsx","../../src/sdks/LocalContent/components/ScoreComparison/styles.ts","../../src/sdks/LocalContent/components/ScoreComparison/index.tsx","../../src/sdks/LocalContent/components/ScoreText/styles.ts","../../src/sdks/LocalContent/components/ScoreText/index.tsx","../../src/sdks/LocalContent/components/ScorePoiList/Loading/styles.ts","../../src/sdks/LocalContent/components/ScorePoiList/Loading/index.tsx","../../src/sdks/LocalContent/components/ScorePoiList/Subcategories/styles.ts","../../src/sdks/LocalContent/components/ScorePoiList/Subcategories/index.tsx","../../src/sdks/LocalContent/components/ScorePoiList/List/styles.ts","../../src/sdks/LocalContent/components/ScorePoiList/List/index.tsx","../../src/sdks/LocalContent/components/ScorePoiList/styles.ts","../../src/sdks/LocalContent/components/ScorePoiList/index.tsx","../../src/sdks/LocalContent/components/Score/styles.ts","../../src/sdks/LocalContent/components/ScoreValue/styles.ts","../../src/sdks/LocalContent/components/ScoreValue/index.tsx","../../src/sdks/LocalContent/components/Score/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/ScoreDetails/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Slider/styles.ts","../../src/sdks/LocalContent/components/Slider/styles.ts","../../src/sdks/LocalContent/components/Slider/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Slider/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/index.tsx","../../src/sdks/LocalContent/components/ScoresPillList/styles.ts","../../src/sdks/LocalContent/components/ScoresPillList/index.tsx","../../src/sdks/LocalContent/components/BottomSlider/Header/styles.ts","../../src/sdks/LocalContent/components/BottomSlider/Header/index.tsx","../../src/sdks/LocalContent/components/BottomSlider/styles.ts","../../src/sdks/LocalContent/components/BottomSlider/index.tsx","../../src/sdks/LocalContent/components/ScoreDetailsSlider/styles.ts","../../src/sdks/LocalContent/components/ScoreDetailsSlider/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/context.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Trigger/styles.ts","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Trigger/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Card/styles.ts","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Card/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Slider/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/Route/styles.ts","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/Route/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/NoRoute/styles.ts","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/NoRoute/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/Select/styles.ts","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/Select/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/styles.ts","../../src/utils/formatters/textWithHighlighting.tsx","../../src/sdks/LocalContent/hooks/useAddressSearch/transformSuggestionsResponse/index.ts","../../src/sdks/LocalContent/hooks/useAddressSearch/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Header/styles.ts","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Header/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/index.tsx","../../src/sdks/LocalContent/components/Content/styles.ts","../../src/sdks/LocalContent/components/Content/index.tsx","../../src/sdks/LocalContent/schema.ts","../../src/sdks/LocalContent/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: \"M208.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L137,128ZM57,128l71.52-71.51a12,12,0,0,0-17-17l-80,80a12,12,0,0,0,0,17l80,80a12,12,0,0,0,17-17Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M200,48V208l-80-80Z\", opacity: \"0.2\" }), /* @__PURE__ */ a.createElement(\"path\", { d: \"M203.06,40.61a8,8,0,0,0-8.72,1.73l-80,80a8,8,0,0,0,0,11.32l80,80A8,8,0,0,0,208,208V48A8,8,0,0,0,203.06,40.61ZM192,188.69,131.31,128,192,67.31Zm-66.34,13.65a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L51.31,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,48V208a8,8,0,0,1-13.66,5.66L128,147.31V208a8,8,0,0,1-13.66,5.66l-80-80a8,8,0,0,1,0-11.32l80-80A8,8,0,0,1,128,48v60.69l66.34-66.35A8,8,0,0,1,208,48Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M204.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L128.49,128ZM48.49,128l75.75-75.76a6,6,0,0,0-8.48-8.48l-80,80a6,6,0,0,0,0,8.48l80,80a6,6,0,1,0,8.48-8.48Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M205.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L131.31,128ZM51.31,128l74.35-74.34a8,8,0,0,0-11.32-11.32l-80,80a8,8,0,0,0,0,11.32l80,80a8,8,0,0,0,11.32-11.32Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M202.83,205.17a4,4,0,0,1-5.66,5.66l-80-80a4,4,0,0,1,0-5.66l80-80a4,4,0,1,1,5.66,5.66L125.66,128ZM45.66,128l77.17-77.17a4,4,0,0,0-5.66-5.66l-80,80a4,4,0,0,0,0,5.66l80,80a4,4,0,1,0,5.66-5.66Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M216.49,168.49a12,12,0,0,1-17,0L128,97,56.49,168.49a12,12,0,0,1-17-17l80-80a12,12,0,0,1,17,0l80,80A12,12,0,0,1,216.49,168.49Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208,160H48l80-80Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M213.66,154.34l-80-80a8,8,0,0,0-11.32,0l-80,80A8,8,0,0,0,48,168H208a8,8,0,0,0,5.66-13.66ZM67.31,152,128,91.31,188.69,152Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M215.39,163.06A8,8,0,0,1,208,168H48a8,8,0,0,1-5.66-13.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,215.39,163.06Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M212.24,164.24a6,6,0,0,1-8.48,0L128,88.49,52.24,164.24a6,6,0,0,1-8.48-8.48l80-80a6,6,0,0,1,8.48,0l80,80A6,6,0,0,1,212.24,164.24Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M213.66,165.66a8,8,0,0,1-11.32,0L128,91.31,53.66,165.66a8,8,0,0,1-11.32-11.32l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,213.66,165.66Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M210.83,162.83a4,4,0,0,1-5.66,0L128,85.66,50.83,162.83a4,4,0,0,1-5.66-5.66l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,210.83,162.83Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","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: \"M114.32,49.8A19.79,19.79,0,0,0,81.72,57L29.22,201.41A19.82,19.82,0,0,0,47.75,228a20,20,0,0,0,6.84-1.22L199,174.28a19.79,19.79,0,0,0,7.24-32.6ZM104.19,183.21l-31.4-31.4L82.94,123.9l49.16,49.16Zm-52.42,26.4Zm12-32.91L79.3,192.26l-24.45,8.89ZM157,164,92,99l10-27.58L184.57,154ZM128,40V16a12,12,0,0,1,24,0V40a12,12,0,0,1-24,0Zm116.48,83.51a12,12,0,0,1-17,17l-16-16a12,12,0,0,1,17-17Zm-.69-40.13-24,8a12,12,0,0,1-7.59-22.77l24-8a12,12,0,1,1,7.59,22.77ZM156.6,65.93C159.83,47.47,173.39,36,192,36c6.45,0,8.69-2.49,10-4.92a18,18,0,0,0,2-7.22V24a12,12,0,0,1,24,0c0,14.47-9.59,36-36,36-4.94,0-10.21,1.19-11.76,10.06A12,12,0,0,1,168.43,80a12.35,12.35,0,0,1-2.08-.18A12,12,0,0,1,156.6,65.93Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M58.89,154.89l42.22,42.22-50.63,18.4a7.79,7.79,0,0,1-10-10Zm138.82-4.72L105.83,58.29A7.79,7.79,0,0,0,93,61.14l-14.9,41,75.82,75.82,41-14.9A7.79,7.79,0,0,0,197.71,150.17Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M111.49,52.63a15.8,15.8,0,0,0-26,5.77L33,202.78A15.83,15.83,0,0,0,47.76,224a16,16,0,0,0,5.46-1l144.37-52.5a15.8,15.8,0,0,0,5.78-26Zm-8.33,135.21-35-35,13.16-36.21,58.05,58.05Zm-55,20,14-38.41,24.45,24.45ZM156,168.64,87.36,100l13-35.87,91.43,91.43ZM160,72a37.8,37.8,0,0,1,3.84-15.58C169.14,45.83,179.14,40,192,40c6.7,0,11-2.29,13.65-7.21A22,22,0,0,0,208,23.94,8,8,0,0,1,224,24c0,12.86-8.52,32-32,32-6.7,0-11,2.29-13.65,7.21A22,22,0,0,0,176,72.06,8,8,0,0,1,160,72ZM136,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm101.66,82.34a8,8,0,1,1-11.32,11.31l-16-16a8,8,0,0,1,11.32-11.32Zm4.87-42.75-24,8a8,8,0,0,1-5.06-15.18l24-8a8,8,0,0,1,5.06,15.18Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M111.49,52.63a15.8,15.8,0,0,0-26,5.77L33,202.78A15.83,15.83,0,0,0,47.76,224a16,16,0,0,0,5.46-1l144.37-52.5a15.8,15.8,0,0,0,5.78-26ZM65.14,161.13l19.2-52.79,63.32,63.32-52.8,19.2ZM160,72a37.8,37.8,0,0,1,3.84-15.58C169.14,45.83,179.14,40,192,40c6.7,0,11-2.29,13.65-7.21A22,22,0,0,0,208,23.94,8,8,0,0,1,224,24c0,12.86-8.52,32-32,32-6.7,0-11,2.29-13.65,7.21A22,22,0,0,0,176,72.06,8,8,0,0,1,160,72ZM136,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm101.66,82.34a8,8,0,1,1-11.32,11.31l-16-16a8,8,0,0,1,11.32-11.32Zm4.87-42.75-24,8a8,8,0,0,1-5.06-15.18l24-8a8,8,0,0,1,5.06,15.18Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M110.08,54a13.8,13.8,0,0,0-22.73,5.05L34.85,203.47A13.82,13.82,0,0,0,47.76,222a14,14,0,0,0,4.77-.85l144.38-52.5a13.8,13.8,0,0,0,5-22.73ZM48.43,209.87a1.79,1.79,0,0,1-2.3-2.3L61.31,165.8,90.2,194.68Zm54.21-19.71-36.8-36.81L80.51,113,143,175.49ZM194,156.07a1.74,1.74,0,0,1-1.14,1.3L155.44,171,85,100.55,98.63,63.19a1.72,1.72,0,0,1,1.3-1.14,1.58,1.58,0,0,1,.41,0,1.72,1.72,0,0,1,1.25.53l91.88,91.88A1.73,1.73,0,0,1,194,156.07ZM162,72a35.52,35.52,0,0,1,3.63-14.68C170.57,47.44,179.93,42,192,42c7.47,0,12.53-2.74,15.48-8.38A24.18,24.18,0,0,0,210,24,6,6,0,0,1,216,18h0a6,6,0,0,1,6,6c0,10.38-6.27,30-30,30-7.47,0-12.53,2.74-15.48,8.38A24,24,0,0,0,174,72a6,6,0,0,1-6,6h0A6,6,0,0,1,162,72ZM138,40V16a6,6,0,0,1,12,0V40a6,6,0,0,1-12,0Zm98.24,83.76a6,6,0,1,1-8.48,8.48l-16-16a6,6,0,0,1,8.48-8.48Zm5.66-46.07-24,8a6,6,0,1,1-3.8-11.38l24-8a6,6,0,0,1,3.8,11.38Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M111.49,52.63a15.8,15.8,0,0,0-26,5.77L33,202.78A15.83,15.83,0,0,0,47.76,224a16,16,0,0,0,5.46-1l144.37-52.5a15.8,15.8,0,0,0,5.78-26Zm-8.33,135.21-35-35,13.16-36.21,58.05,58.05Zm-55,20,14-38.41,24.45,24.45ZM156,168.64,87.36,100l13-35.87,91.43,91.43ZM160,72a37.8,37.8,0,0,1,3.84-15.58C169.14,45.83,179.14,40,192,40c6.7,0,11-2.29,13.65-7.21A22,22,0,0,0,208,23.94,8,8,0,0,1,224,24c0,12.86-8.52,32-32,32-6.7,0-11,2.29-13.65,7.21A22,22,0,0,0,176,72.06,8,8,0,0,1,160,72ZM136,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm101.66,82.34a8,8,0,1,1-11.32,11.31l-16-16a8,8,0,0,1,11.32-11.32Zm4.87-42.75-24,8a8,8,0,0,1-5.06-15.18l24-8a8,8,0,0,1,5.06,15.18Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M108.66,55.46a11.79,11.79,0,0,0-19.43,4.31L36.73,204.15a11.81,11.81,0,0,0,11,15.85,11.88,11.88,0,0,0,4.08-.73l144.38-52.5a11.79,11.79,0,0,0,4.31-19.43Zm-6.53,137L63.52,153.87l16.19-44.51,66.92,66.93Zm-53,19.28a3.81,3.81,0,0,1-4.87-4.87l16.27-44.72,33.32,33.32Zm146.8-55.25a3.77,3.77,0,0,1-2.42,2.74l-38.56,14L82.72,101.07l14-38.56a3.77,3.77,0,0,1,2.74-2.42,4.32,4.32,0,0,1,.85-.09A3.65,3.65,0,0,1,103,61.12L194.88,153A3.78,3.78,0,0,1,195.91,156.51ZM220,24c0,9.68-5.85,28-28,28-8.31,0-14.18,3.29-17.42,9.79A26.12,26.12,0,0,0,172,72a4,4,0,0,1-8,0,34.06,34.06,0,0,1,3.42-13.79C170.66,51.73,177.56,44,192,44c19.29,0,20-18,20-20a4,4,0,0,1,4-4h0A4,4,0,0,1,220,24ZM140,40V16a4,4,0,0,1,8,0V40a4,4,0,0,1-8,0Zm94.83,85.17a4,4,0,0,1-5.66,5.66l-16-16a4,4,0,0,1,5.66-5.66Zm6.43-49.37-24,8A4,4,0,0,1,216,84a4,4,0,0,1-1.27-7.79l24-8a4,4,0,0,1,2.53,7.59Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M228,160a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,160ZM40,108H216a12,12,0,0,0,0-24H40a12,12,0,0,0,0,24Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\n \"path\",\n {\n d: \"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ e.createElement(\"path\", { d: \"M224,160a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,160ZM40,104H216a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM184,160H72a8,8,0,0,1,0-16H184a8,8,0,0,1,0,16Zm0-48H72a8,8,0,0,1,0-16H184a8,8,0,0,1,0,16Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M222,160a6,6,0,0,1-6,6H40a6,6,0,0,1,0-12H216A6,6,0,0,1,222,160ZM40,102H216a6,6,0,0,0,0-12H40a6,6,0,0,0,0,12Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M224,160a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,160ZM40,104H216a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M220,160a4,4,0,0,1-4,4H40a4,4,0,0,1,0-8H216A4,4,0,0,1,220,160ZM40,100H216a4,4,0,0,0,0-8H40a4,4,0,0,0,0,8Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as a from \"react\";\nconst V = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,28H160a20,20,0,0,0-20,20V208a20,20,0,0,0,20,20h48a20,20,0,0,0,20-20V48A20,20,0,0,0,208,28Zm-4,176H164V180h16a12,12,0,0,0,0-24H164V140h16a12,12,0,0,0,0-24H164V100h16a12,12,0,0,0,0-24H164V52h40ZM80.49,23.51a12,12,0,0,0-17,0l-32,32A12,12,0,0,0,28,64V208a20,20,0,0,0,20,20H96a20,20,0,0,0,20-20V64a12,12,0,0,0-3.51-8.49ZM52,92H92v72H52ZM72,49,91,68H53ZM52,204V188H92v16Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M40,184h64v24a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8ZM208,40H160a8,8,0,0,0-8,8V208a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V48A8,8,0,0,0,208,40Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,32H160a16,16,0,0,0-16,16V208a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,176H160V176h24a8,8,0,0,0,0-16H160V136h24a8,8,0,0,0,0-16H160V96h24a8,8,0,0,0,0-16H160V48h48V208ZM77.66,26.34a8,8,0,0,0-11.32,0l-32,32A8,8,0,0,0,32,64V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V64a8,8,0,0,0-2.34-5.66ZM48,176V80H64v96ZM80,80H96v96H80ZM72,43.31,92.69,64H51.31ZM48,208V192H96v16Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,48V208a16,16,0,0,1-16,16H160a16,16,0,0,1-16-16V180a4,4,0,0,1,4-4h36a8,8,0,0,0,8-8.53,8.18,8.18,0,0,0-8.25-7.47H148a4,4,0,0,1-4-4V140a4,4,0,0,1,4-4h36a8,8,0,0,0,8-8.53,8.18,8.18,0,0,0-8.25-7.47H148a4,4,0,0,1-4-4V100a4,4,0,0,1,4-4h36a8,8,0,0,0,8-8.53A8.18,8.18,0,0,0,183.73,80H148a4,4,0,0,1-4-4V48a16,16,0,0,1,16-16h48A16,16,0,0,1,224,48ZM109.66,58.34A8,8,0,0,1,112,64V208a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V64a8,8,0,0,1,2.34-5.66l32-32a8,8,0,0,1,11.32,0ZM48,80V184H64V80Zm32,0V184H96V80ZM51.31,64H92.69L72,43.31Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,34H160a14,14,0,0,0-14,14V208a14,14,0,0,0,14,14h48a14,14,0,0,0,14-14V48A14,14,0,0,0,208,34Zm2,174a2,2,0,0,1-2,2H160a2,2,0,0,1-2-2V174h26a6,6,0,0,0,0-12H158V134h26a6,6,0,0,0,0-12H158V94h26a6,6,0,0,0,0-12H158V48a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2ZM76.24,27.76a6,6,0,0,0-8.48,0l-32,32A6,6,0,0,0,34,64V208a14,14,0,0,0,14,14H96a14,14,0,0,0,14-14V64a6,6,0,0,0-1.76-4.24ZM46,178V78H66V178ZM78,78H98V178H78ZM72,40.49,97.51,66h-51ZM96,210H48a2,2,0,0,1-2-2V190H98v18A2,2,0,0,1,96,210Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,32H160a16,16,0,0,0-16,16V208a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,176H160V176h24a8,8,0,0,0,0-16H160V136h24a8,8,0,0,0,0-16H160V96h24a8,8,0,0,0,0-16H160V48h48V208ZM77.66,26.34a8,8,0,0,0-11.32,0l-32,32A8,8,0,0,0,32,64V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V64a8,8,0,0,0-2.34-5.66ZM48,176V80H64v96ZM80,80H96v96H80ZM72,43.31,92.69,64H51.31ZM48,208V192H96v16Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,36H160a12,12,0,0,0-12,12V208a12,12,0,0,0,12,12h48a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36Zm4,172a4,4,0,0,1-4,4H160a4,4,0,0,1-4-4V172h28a4,4,0,0,0,0-8H156V132h28a4,4,0,0,0,0-8H156V92h28a4,4,0,0,0,0-8H156V48a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4ZM74.83,29.17a4,4,0,0,0-5.66,0l-32,32A4,4,0,0,0,36,64V208a12,12,0,0,0,12,12H96a12,12,0,0,0,12-12V64a4,4,0,0,0-1.17-2.83ZM44,76H68V180H44Zm56,132a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V188h56Zm0-28H76V76h24Zm0-112H44V65.66l28-28,28,28Z\" }))\n ]\n]);\nexport {\n V as default\n};\n","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: \"M233.21,56.31A12,12,0,0,0,224,52H66L60.53,21.85A12,12,0,0,0,48.73,12H24a12,12,0,0,0,0,24H38.71L63.62,173a28,28,0,0,0,4.07,10.21A32,32,0,1,0,123,196h34a32,32,0,1,0,31-24H91.17a4,4,0,0,1-3.93-3.28L84.92,156H196.1a28,28,0,0,0,27.55-23l12.16-66.86A12,12,0,0,0,233.21,56.31ZM100,204a8,8,0,1,1-8-8A8,8,0,0,1,100,204Zm88,8a8,8,0,1,1,8-8A8,8,0,0,1,188,212Zm12-83.28A4,4,0,0,1,196.1,132H80.56L70.38,76H209.62Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M224,64l-12.16,66.86A16,16,0,0,1,196.1,144H70.55L56,64Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M230.14,58.87A8,8,0,0,0,224,56H62.68L56.6,22.57A8,8,0,0,0,48.73,16H24a8,8,0,0,0,0,16h18L67.56,172.29a24,24,0,0,0,5.33,11.27,28,28,0,1,0,44.4,8.44h45.42A27.75,27.75,0,0,0,160,204a28,28,0,1,0,28-28H91.17a8,8,0,0,1-7.87-6.57L80.13,152h116a24,24,0,0,0,23.61-19.71l12.16-66.86A8,8,0,0,0,230.14,58.87ZM104,204a12,12,0,1,1-12-12A12,12,0,0,1,104,204Zm96,0a12,12,0,1,1-12-12A12,12,0,0,1,200,204Zm4-74.57A8,8,0,0,1,196.1,136H77.22L65.59,72H214.41Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M230.14,58.87A8,8,0,0,0,224,56H62.68L56.6,22.57A8,8,0,0,0,48.73,16H24a8,8,0,0,0,0,16h18L67.56,172.29a24,24,0,0,0,5.33,11.27,28,28,0,1,0,44.4,8.44h45.42A27.75,27.75,0,0,0,160,204a28,28,0,1,0,28-28H91.17a8,8,0,0,1-7.87-6.57L80.13,152h116a24,24,0,0,0,23.61-19.71l12.16-66.86A8,8,0,0,0,230.14,58.87ZM104,204a12,12,0,1,1-12-12A12,12,0,0,1,104,204Zm96,0a12,12,0,1,1-12-12A12,12,0,0,1,200,204Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M228.61,60.16A6,6,0,0,0,224,58H61L54.63,22.93A6,6,0,0,0,48.73,18H24a6,6,0,0,0,0,12H43.72L69.53,171.94a21.93,21.93,0,0,0,6.24,11.77A26,26,0,1,0,113.89,190h52.22A26,26,0,1,0,188,178H91.17a10,10,0,0,1-9.84-8.21L77.73,150H196.1a22,22,0,0,0,21.65-18.06L229.9,65.07A6,6,0,0,0,228.61,60.16ZM106,204a14,14,0,1,1-14-14A14,14,0,0,1,106,204Zm96,0a14,14,0,1,1-14-14A14,14,0,0,1,202,204Zm3.94-74.21A10,10,0,0,1,196.1,138H75.55L63.19,70H216.81Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M230.14,58.87A8,8,0,0,0,224,56H62.68L56.6,22.57A8,8,0,0,0,48.73,16H24a8,8,0,0,0,0,16h18L67.56,172.29a24,24,0,0,0,5.33,11.27,28,28,0,1,0,44.4,8.44h45.42A27.75,27.75,0,0,0,160,204a28,28,0,1,0,28-28H91.17a8,8,0,0,1-7.87-6.57L80.13,152h116a24,24,0,0,0,23.61-19.71l12.16-66.86A8,8,0,0,0,230.14,58.87ZM104,204a12,12,0,1,1-12-12A12,12,0,0,1,104,204Zm96,0a12,12,0,1,1-12-12A12,12,0,0,1,200,204Zm4-74.57A8,8,0,0,1,196.1,136H77.22L65.59,72H214.41Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M227.07,61.44A4,4,0,0,0,224,60H59.34L52.66,23.28A4,4,0,0,0,48.73,20H24a4,4,0,0,0,0,8H45.39l6.69,36.8h0L71.49,171.58A20,20,0,0,0,79,183.85,24,24,0,1,0,109.87,188h60.26A24,24,0,1,0,188,180H91.17a12,12,0,0,1-11.8-9.85l-4-22.15H196.1a20,20,0,0,0,19.68-16.42l12.16-66.86A4,4,0,0,0,227.07,61.44ZM108,204a16,16,0,1,1-16-16A16,16,0,0,1,108,204Zm96,0a16,16,0,1,1-16-16A16,16,0,0,1,204,204Zm3.91-73.85A12,12,0,0,1,196.1,140H73.88L60.79,68H219.21Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","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: \"M246,113.46,142.54,10a20.57,20.57,0,0,0-29.08,0L10,113.46a20.57,20.57,0,0,0,0,29.08L113.46,246h0a20.57,20.57,0,0,0,29.08,0L246,142.54a20.57,20.57,0,0,0,0-29.08ZM128,226.57,29.43,128,128,29.43,226.57,128Zm7.51-122.08a12,12,0,0,1,17-17l24,24a12,12,0,0,1,0,17l-24,24a12,12,0,0,1-17-17L139,132H112a12,12,0,0,0-12,12v4a12,12,0,0,1-24,0v-4a36,36,0,0,1,36-36h27Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M237.49,134.05,134.05,237.49a8.54,8.54,0,0,1-12.1,0L18.51,134.05a8.54,8.54,0,0,1,0-12.1L122,18.51a8.54,8.54,0,0,1,12.1,0L237.49,122A8.54,8.54,0,0,1,237.49,134.05Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M243.15,116.29,139.71,12.85a16.56,16.56,0,0,0-23.42,0L12.85,116.29a16.56,16.56,0,0,0,0,23.42L116.29,243.15h0a16.56,16.56,0,0,0,23.42,0L243.15,139.71a16.56,16.56,0,0,0,0-23.42Zm-11.31,12.1L128.39,231.84a.56.56,0,0,1-.78,0h0L24.16,128.39a.56.56,0,0,1,0-.78L127.61,24.16A.52.52,0,0,1,128,24a.58.58,0,0,1,.4.16L231.84,127.61a.56.56,0,0,1,0,.78Zm-58.18-14a8,8,0,0,1,0,11.32l-24,24a8,8,0,0,1-11.32-11.32L148.69,128H112a16,16,0,0,0-16,16v8a8,8,0,0,1-16,0v-8a32,32,0,0,1,32-32h36.69l-10.35-10.34a8,8,0,0,1,11.32-11.32Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M243.15,116.29,139.71,12.85a16.56,16.56,0,0,0-23.42,0L12.85,116.29a16.56,16.56,0,0,0,0,23.42L116.29,243.15h0a16.56,16.56,0,0,0,23.42,0L243.15,139.71a16.56,16.56,0,0,0,0-23.42Zm-69.49,9.37-24,24a8,8,0,0,1-11.32-11.32L148.69,128H112a16,16,0,0,0-16,16v8a8,8,0,0,1-16,0v-8a32,32,0,0,1,32-32h36.69l-10.35-10.34a8,8,0,0,1,11.32-11.32l24,24A8,8,0,0,1,173.66,125.66Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M241.74,117.71,138.29,14.26a14.56,14.56,0,0,0-20.58,0L14.26,117.71a14.56,14.56,0,0,0,0,20.58L117.71,241.74h0a14.56,14.56,0,0,0,20.58,0L241.74,138.29a14.56,14.56,0,0,0,0-20.58Zm-8.49,12.1L129.81,233.25a2.56,2.56,0,0,1-3.62,0h0L22.75,129.81a2.56,2.56,0,0,1,0-3.62L126.19,22.75a2.56,2.56,0,0,1,3.62,0L233.25,126.19a2.56,2.56,0,0,1,0,3.62Zm-61-14a6,6,0,0,1,0,8.48l-24,24a6,6,0,0,1-8.48-8.48L153.51,126H112a18,18,0,0,0-18,18v8a6,6,0,0,1-12,0v-8a30,30,0,0,1,30-30h41.51l-13.75-13.76a6,6,0,0,1,8.48-8.48Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M243.15,116.29,139.71,12.85a16.56,16.56,0,0,0-23.42,0L12.85,116.29a16.56,16.56,0,0,0,0,23.42L116.29,243.15h0a16.56,16.56,0,0,0,23.42,0L243.15,139.71a16.56,16.56,0,0,0,0-23.42Zm-11.31,12.1L128.4,231.84a.58.58,0,0,1-.8,0h0L24.16,128.39a.56.56,0,0,1,0-.78L127.6,24.16a.58.58,0,0,1,.8,0L231.84,127.61a.56.56,0,0,1,0,.78Zm-58.18-14a8,8,0,0,1,0,11.32l-24,24a8,8,0,0,1-11.32-11.32L148.69,128H112a16,16,0,0,0-16,16v8a8,8,0,0,1-16,0v-8a32,32,0,0,1,32-32h36.69l-10.35-10.34a8,8,0,0,1,11.32-11.32Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M240.32,119.12,136.88,15.68a12.55,12.55,0,0,0-17.76,0L15.68,119.12a12.55,12.55,0,0,0,0,17.76L119.12,240.32h0a12.55,12.55,0,0,0,17.76,0L240.32,136.88a12.55,12.55,0,0,0,0-17.76Zm-5.66,12.1L131.22,234.67a4.56,4.56,0,0,1-6.44,0h0L21.33,131.22a4.55,4.55,0,0,1,0-6.44L124.78,21.33a4.56,4.56,0,0,1,6.44,0L234.67,124.78a4.55,4.55,0,0,1,0,6.44Zm-63.83-14a4,4,0,0,1,0,5.66l-24,24a4,4,0,0,1-5.66-5.66L158.34,124H112a20,20,0,0,0-20,20v8a4,4,0,0,1-8,0v-8a28,28,0,0,1,28-28h46.34L141.17,98.83a4,4,0,0,1,5.66-5.66Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport f from \"../defs/CaretDoubleLeft.es.js\";\nconst o = e.forwardRef((t, r) => /* @__PURE__ */ e.createElement(a, { ref: r, ...t, weights: f }));\no.displayName = \"CaretDoubleLeftIcon\";\nconst s = o;\nexport {\n s as CaretDoubleLeft,\n o as CaretDoubleLeftIcon\n};\n","import * as e from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport m from \"../defs/CaretUp.es.js\";\nconst o = e.forwardRef((r, t) => /* @__PURE__ */ e.createElement(a, { ref: t, ...r, weights: m }));\no.displayName = \"CaretUpIcon\";\nconst s = o;\nexport {\n s as CaretUp,\n o as CaretUpIcon\n};\n","import * as o from \"react\";\nimport n from \"../lib/IconBase.es.js\";\nimport a from \"../defs/Confetti.es.js\";\nconst t = o.forwardRef((e, r) => /* @__PURE__ */ o.createElement(n, { ref: r, ...e, weights: a }));\nt.displayName = \"ConfettiIcon\";\nconst m = t;\nexport {\n m as Confetti,\n t as ConfettiIcon\n};\n","import * as o from \"react\";\nimport s from \"../lib/IconBase.es.js\";\nimport t from \"../defs/Equals.es.js\";\nconst a = o.forwardRef((e, r) => /* @__PURE__ */ o.createElement(s, { ref: r, ...e, weights: t }));\na.displayName = \"EqualsIcon\";\nconst n = a;\nexport {\n n as Equals,\n a as EqualsIcon\n};\n","import * as e from \"react\";\nimport t from \"../lib/IconBase.es.js\";\nimport n from \"../defs/PencilRuler.es.js\";\nconst o = e.forwardRef((r, c) => /* @__PURE__ */ e.createElement(t, { ref: c, ...r, weights: n }));\no.displayName = \"PencilRulerIcon\";\nconst l = o;\nexport {\n l as PencilRuler,\n o as PencilRulerIcon\n};\n","import * as o from \"react\";\nimport p from \"../lib/IconBase.es.js\";\nimport e from \"../defs/ShoppingCart.es.js\";\nconst r = o.forwardRef((t, a) => /* @__PURE__ */ o.createElement(p, { ref: a, ...t, weights: e }));\nr.displayName = \"ShoppingCartIcon\";\nconst m = r;\nexport {\n m as ShoppingCart,\n r as ShoppingCartIcon\n};\n","import * as o from \"react\";\nimport i from \"../lib/IconBase.es.js\";\nimport c from \"../defs/TrafficSign.es.js\";\nconst r = o.forwardRef((a, f) => /* @__PURE__ */ o.createElement(i, { ref: f, ...a, weights: c }));\nr.displayName = \"TrafficSignIcon\";\nconst n = r;\nexport {\n n as TrafficSign,\n r as TrafficSignIcon\n};\n","export const container = `py-4`;\n","import type { TransformedScoresMenuData } from \"./types\";\nimport type {\n Options,\n CategoryKey,\n ScoreKey,\n ScoreOptions,\n} from \"~/sdks/LocalContent/types\";\n\n/**\n * Transforms the scores menu data by filtering out hidden categories and scores,\n * and sorting them by their order.\n *\n * This function is used to prepare the scores menu data for rendering in the UI.\n *\n * @param scoresMenu\n * @returns\n */\nexport function transformScoresMenuData(\n scoresMenu: Options[\"scoresMenu\"],\n): TransformedScoresMenuData {\n return {\n ...(scoresMenu || {}),\n categories: Object.entries(scoresMenu?.categories || {})\n .filter(([, category]) => category.hide !== true)\n .sort(([, a], [, b]) => (a.order ?? 0) - (b.order ?? 0))\n .map(\n // Map categories to the expected format so we can loop through them\n ([categoryKey, category]) =>\n [\n categoryKey as CategoryKey,\n {\n ...category,\n // Sort scores by order within each category\n scores: Object.entries(category.scores || {})\n .filter(([, score]) => score.hide !== true)\n .sort(([, a], [, b]) => (a.order ?? 0) - (b.order ?? 0)),\n },\n ] as [\n CategoryKey,\n typeof category & {\n scores: [ScoreKey, ScoreOptions][];\n },\n ],\n ),\n };\n}\n","import type { POIs, Schools } from \"@local-logic/client\";\nimport type { POISubcategory } from \"~/sdks/LocalContent/types\";\n\nexport function getPOICategoriesWithAvailableData(\n pois: Partial<POIs & Schools>,\n): POISubcategory[] {\n return Object.keys(pois).filter(\n (subcategory) => (pois[subcategory as POISubcategory]?.length ?? 0) > 0,\n ) as POISubcategory[];\n}\n","import type { POIs, Schools } from \"@local-logic/client\";\nimport type { ScoreKey } from \"~/sdks/LocalContent/types\";\n\nexport const SURVEY_ID =\n import.meta.env.MODE === \"production\" ? \"uwk0RDah\" : \"NerqWZeC\";\n\nexport const DEFAULT_RADIUS = 2500; // Default radius in meters\nexport const DEFAULT_NUMBER_OF_POIS = 30; // Default number of points of interest to fetch\nexport const DEFAULT_MIN_ZOOM = 6; // Default minimum zoom level for the map\nexport const DEFAULT_MAX_ZOOM = 17; // Default maximum zoom level for the map\nexport const DEFAULT_TRAVEL_MODE = \"walking\"; // Default travel mode for commute calculations\nexport const DIRECTIONS_PATH_COLOR = \"#006AFF\"; // Color for the directions path on the map\nexport const METERS_TO_YARDS_CONVERSION_FACTOR = 1.0936132983; // Conversion factor from meters to yards\nexport const YARDS_PER_MILE = 1760; // Number of yards in a mile\nexport const METERS_PER_KILOMETER = 1000; // Number of meters in a kilometer\n\nexport const MAP_PADDING = {\n desktop: {\n top: 64, // Taking into account commute calculator trigger height\n bottom: 48, // Taking into account map attribution\n left: 312, // Taking into account sidebar expanded width\n right: 12, // Not taking into account the map controls\n },\n mobile: {\n top: 12,\n bottom: 48,\n left: 12,\n right: 12,\n },\n};\n\nexport const LAYOUT_MEASUREMENTS = {\n SIDEBAR_STATE_WIDTH_DIFFERENCE: 236, // Width difference between expanded and collapsed sidebar\n COMMUTE_CALCULATOR_NO_ROUTE_HEIGHT_DESKTOP: 58, // Commute calculator open extra height on desktop\n COMMUTE_CALCULATOR_WITH_ROUTE_HEIGHT_DESKTOP: 124, // Commute calculator open with route extra height on desktop\n SCORE_BUTTONS_HEIGHT_MOBILE: 52, // Score buttons container height + margin on mobile\n SCORE_DETAILS_HEIGHT_MOBILE: 140, // Score details slider height + margin on mobile\n COMMUTE_CALCULATOR_HEIGHT_MOBILE: 150, // Commute calculator height + margin on mobile\n} as const;\n\nexport const SCORE_POI_CATEGORIES: Record<\n ScoreKey,\n (keyof POIs | keyof Schools)[]\n> = {\n // Commute\n pedestrian_friendly: [],\n transit_friendly: [\"rapid_transit_stations\", \"train_stations\", \"bus_stops\"],\n cycling_friendly: [],\n car_friendly: [\"car_fueling_stations\"],\n\n // Amenities\n groceries: [\"groceries\", \"groceries_specialized\"],\n restaurants: [\"restaurants\", \"healthy_restaurants\"],\n cafes: [\"cafes\"],\n shopping: [\"shopping\"],\n\n // Nature\n parks: [\"parks\"],\n greenery: [],\n\n // Character\n vibrant: [\"art_culture_science\"],\n nightlife: [\"nightlife\"],\n quiet: [],\n historic: [],\n\n // Education\n high_schools: [\"high_schools\"],\n primary_schools: [\"primary_schools\"],\n daycares: [\"daycares\"],\n\n // Wellness\n wellness: [\n \"fitness\",\n \"healthy_restaurants\",\n \"health_care\",\n \"parks\",\n \"sport_facilities\",\n \"groceries\",\n ],\n};\n","import { SCORE_POI_CATEGORIES } from \"~/sdks/LocalContent/constants\";\nimport type { POISubcategory, ScoreKey } from \"~/sdks/LocalContent/types\";\n\nexport function orderPOICategories(\n scoreKey: ScoreKey,\n unfilteredSubcategories: POISubcategory[],\n) {\n const poiCategoryOrder = SCORE_POI_CATEGORIES[scoreKey] as POISubcategory[];\n unfilteredSubcategories.sort(\n (a, b) =>\n poiCategoryOrder.indexOf(a as POISubcategory) -\n poiCategoryOrder.indexOf(b as POISubcategory),\n );\n}\n","import type { Schools, POIs } from \"@local-logic/client\";\nimport { TravelMode } from \"./hooks/useCommute/types\";\nimport type { SDKOptions, MapProviderNames } from \"~/types/options\";\n\nexport type MapProvider = {\n name: MapProviderNames;\n key?: string;\n theme?: string;\n};\nexport type CommuteOptions = {\n destination: { lat: number; lng: number } | undefined;\n commuteType: TravelMode | undefined;\n label?: string;\n};\n\nexport type POISubcategory = keyof POIs | keyof Schools;\n\nexport type CategoryKey =\n | \"transport\"\n | \"education\"\n | \"amenities\"\n | \"character\"\n | \"nature\"\n | \"health\";\n\nexport type TransportScoreKey =\n | \"pedestrian_friendly\"\n | \"transit_friendly\"\n | \"cycling_friendly\"\n | \"car_friendly\";\nexport type EducationScoreKey = \"daycares\" | \"primary_schools\" | \"high_schools\";\nexport type AmenitiesScoreKey =\n | \"shopping\"\n | \"groceries\"\n | \"restaurants\"\n | \"cafes\";\nexport type CharacterScoreKey = \"nightlife\" | \"vibrant\" | \"historic\" | \"quiet\";\nexport type NatureScoreKey = \"parks\" | \"greenery\";\nexport type WellnessScoreKey = \"wellness\";\nexport type ScoreKey =\n | TransportScoreKey\n | EducationScoreKey\n | AmenitiesScoreKey\n | CharacterScoreKey\n | NatureScoreKey\n | WellnessScoreKey;\n\nexport type ScoreOptions = {\n hide?: boolean;\n hideScore?: boolean;\n order?: number;\n};\n\nexport type CategoryOptions = {\n hide?: boolean;\n order?: number;\n colors?: {\n background: string;\n fill: string;\n };\n scores?: {\n [key in ScoreKey]?: ScoreOptions;\n };\n};\n\nexport type Options = {\n lat?: number;\n lng?: number;\n zoom?: number;\n pitch?: number;\n bearing?: number;\n distanceUnit?: \"metric\" | \"imperial\";\n marker?: {\n lat: number;\n lng: number;\n icon?: \"house\" | \"pin\";\n // Used to show the address over the marker, and for the LC LAT CTA\n addressLabel?: string;\n };\n cooperativeGestures?: boolean;\n mapProvider?: MapProvider;\n hideScores?: boolean;\n showSchoolRatings?: boolean;\n scoresMenu?: {\n defaultOpen?: boolean;\n title?: boolean | string;\n categories?: {\n [key in CategoryKey]?: CategoryOptions;\n };\n };\n hideAttribution?: boolean;\n};\n\nexport type LocalContentProps = SDKOptions<\n Options,\n {\n options: Options | undefined;\n }\n>;\n\n// TODO revisit events\nexport enum TrackingPipelineEvents {\n SDK_VIEWED = \"LC-Viewed\",\n SIDEBAR_TOGGLE_CLICKED = \"LC-Sidebar-Toggle-Clicked\",\n SIDEBAR_SCORE_SELECTED = \"LC-Sidebar-Score-Selected\",\n SIDEBAR_POI_SELECTED = \"LC-Sidebar-POI-Selected\",\n\n CATEGORIES_MENU_CATEGORY_SELECTED = \"LC-Categories-Menu-Category-Selected\",\n // CATEGORIES_MENU_SCORE_SELECTED = \"LC-Categories-Menu-Score-Selected\",\n // On purpose. It was a mistake before and we used SIDEBAR_SCORE_SELECTED\n // instead of this event name before.\n // However we need to keep it for backwards compatibility.\n // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n CATEGORIES_MENU_SCORE_SELECTED = \"LC-Sidebar-Score-Selected\",\n\n SCORE_POI_CATEGORY_SELECTED = \"LC-Score-POI-Category-Selected\",\n MAP_POI_SELECTED = \"LC-Map-POI-Selected\",\n MAP_POI_SELECTED_FROM_CLUSTER = \"LC-Map-POI-Selected-From-Cluster\",\n MAP_POI_POPUP_LINK_CLICKED = \"LC-Map-POI-Popup-Link-Clicked\",\n MAP_POI_VIEW_ROUTE = \"LC-Map-POI-View-Route\",\n\n COMMUTE_CALCULATOR_CALCULATE_ROUTE = \"LC-Commute-Calculator-Calculate-Route\",\n\n // Survey engagement events, tracked via Typeform embed callbacks.\n SURVEY_TRIGGERED = \"Survey-Triggered\",\n SURVEY_VIEWED = \"Survey-Viewed\",\n SURVEY_DISMISSED = \"Survey-Dismissed\",\n SURVEY_COMPLETED = \"Survey-Completed\",\n SURVEY_QUESTION_CHANGED = \"Survey-Question-Changed\",\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 SIDEBAR_TOGGLE_CLICKED = \"sidebar_toggle_clicked\",\n SIDEBAR_SCORE_SELECTED = \"sidebar_score_selected\",\n SIDEBAR_POI_SELECTED = \"sidebar_poi_selected\",\n\n CATEGORIES_MENU_CATEGORY_SELECTED = \"categories_menu_category_selected\",\n CATEGORIES_MENU_SCORE_SELECTED = \"categories_menu_score_selected\",\n\n SCORE_POI_CATEGORY_SELECTED = \"score_poi_category_selected\",\n MAP_POI_SELECTED = \"map_poi_selected\",\n MAP_POI_SELECTED_FROM_CLUSTER = \"map_poi_selected_from_cluster\",\n MAP_POI_POPUP_LINK_CLICKED = \"map_poi_popup_link_clicked\",\n MAP_POI_VIEW_ROUTE = \"map_poi_view_route\",\n\n COMMUTE_CALCULATOR_CALCULATE_ROUTE = \"commute_calculator_calculate_route\",\n}\n","import type { ScoresData, ScoreItem, Score } from \"./types\";\nimport type { CategoryKey, ScoreKey } from \"~/sdks/LocalContent/types\";\nimport type { TransformedScoresMenuData } from \"~/sdks/LocalContent/utils/transformScoresMenuData/types\";\n\nconst MAX_SCORE_VALUE = 10;\nconst SCORE_MULTIPLIER = 2;\n\n/**\n * Transforms the API response from the scores endpoint into a more usable format.\n *\n * @param data\n * @param scoresMenu\n * @returns\n */\nexport function transformScoresAPIResponse(\n data: ScoresData,\n scoresMenu: TransformedScoresMenuData,\n) {\n if (typeof data?.location === \"undefined\" || !scoresMenu)\n return {} as ScoreItem;\n\n const scores: ScoreItem = {} as ScoreItem;\n\n Object.keys(data.location).forEach((key) => {\n const singleScoreData = data?.location?.[key as ScoreKey];\n\n const category = scoresMenu.categories.find(([_key, categoryData]) =>\n categoryData.scores.some(([scoreKey]) => scoreKey === key),\n );\n\n let singleScoreValue =\n parseFloat(singleScoreData?.value || \"0\") * SCORE_MULTIPLIER;\n\n if (Number.isNaN(singleScoreValue)) {\n singleScoreValue = 0;\n } else if (singleScoreValue > MAX_SCORE_VALUE) {\n singleScoreValue = MAX_SCORE_VALUE;\n }\n\n const geographies: Score[\"geographies\"] = {};\n\n if (typeof data?.geographies !== \"undefined\") {\n data.geographies.forEach((geography) => {\n if (\n typeof geography?.scores !== \"undefined\" &&\n typeof geography.scores[key as ScoreKey] !== \"undefined\"\n ) {\n const geographyValue =\n parseFloat(geography.scores[key as ScoreKey]?.value || \"0\") *\n SCORE_MULTIPLIER;\n\n if (typeof geography?.geog_id === \"string\") {\n geographies[geography.geog_id.split(\"_\")[0]] = {\n text: geography.name,\n value: Math.round(geographyValue * 10) / 10,\n };\n }\n }\n });\n }\n\n scores[key as ScoreKey] = {\n text: singleScoreData?.text,\n value: Math.round(singleScoreValue * 10) / 10,\n geographies,\n categoryKey: category ? (category[0] as CategoryKey) : null,\n categoryOptions: category ? category[1] : null,\n };\n });\n\n return scores;\n}\n","import React, { useMemo, useCallback } from \"react\";\n\nimport type { ScoreItem } from \"./utils/transformScoresAPIResponse/types\";\nimport { transformScoresAPIResponse } from \"./utils/transformScoresAPIResponse\";\nimport { useScores } from \"~/features/clientLibrary/useScores\";\n\nimport type { ScoreKey, CategoryKey } from \"~/sdks/LocalContent/types\";\nimport type { TransformedScoresMenuData } from \"~/sdks/LocalContent/utils/transformScoresMenuData/types\";\n\nexport function useScoreSelection({\n scoresMenu,\n lat,\n lng,\n}: {\n scoresMenu: TransformedScoresMenuData;\n lat: number;\n lng: number;\n}) {\n const [activeScore, setActiveScore] = React.useState<ScoreKey | null>(null);\n const [activeCategory, setActiveCategory] =\n React.useState<CategoryKey | null>(null);\n\n const { data, isFetching: isScoresFetching } = useScores({\n location: {\n lat,\n lng,\n },\n });\n\n const scoresData = useMemo<ScoreItem>(\n () => transformScoresAPIResponse(data, scoresMenu),\n [data, scoresMenu],\n );\n\n const activeCategoryData = useMemo(() => {\n if (!activeCategory || !scoresMenu) return null;\n\n const category = scoresMenu.categories.find(\n ([key]) => key === activeCategory,\n );\n\n if (!category) return null;\n\n return category[1];\n }, [activeCategory, scoresMenu]);\n\n const handleSelectScore = useCallback(\n (scoreKey: ScoreKey | null) => () => {\n setActiveScore((prev) => (prev === scoreKey ? null : scoreKey));\n\n if (scoreKey === null) {\n setActiveCategory(null);\n return;\n }\n\n const categoryKey =\n scoresMenu.categories.find(([, value]) =>\n value.scores.some(([key]) => key === scoreKey),\n )?.[0] ?? null;\n\n setActiveCategory(categoryKey);\n },\n [setActiveScore, setActiveCategory, scoresMenu.categories],\n );\n\n /**\n * Category selection is a mobile only feature, so when a category is selected,\n * we also clear the active score to avoid confusion.\n */\n const handleSelectCategory = useCallback(\n (categoryKey: CategoryKey | null) => () => {\n setActiveCategory((prev) => (prev === categoryKey ? null : categoryKey));\n setActiveScore(null);\n },\n [setActiveCategory, setActiveScore],\n );\n\n return {\n isLoading: isScoresFetching,\n scoresData,\n activeScore,\n activeScoreData: activeScore === null ? undefined : scoresData[activeScore],\n activeCategory,\n activeCategoryData,\n handleSelectScore,\n handleSelectCategory,\n };\n}\n","import { useQuery } from \"@tanstack/react-query\";\nimport type { TravelMode, Location, DistanceUnits, CommuteData } from \"./types\";\nimport errorTracker from \"~/utils/errorTracker\";\n\nimport { useStateManagerContext } from \"~/context/stateManager\";\nimport { LocalContentProps } from \"~/sdks/LocalContent/types\";\n\nconst MAPBOX_DIRECTIONS_ENDPOINT = `${import.meta.env.VITE_PROVIDERS_ENDPOINT}/v1/directions`;\n\nexport function useCommute({\n mode = \"walking\",\n origin,\n destination,\n label,\n locale = \"en\",\n units = \"metric\",\n}: {\n mode?: TravelMode;\n origin?: Location;\n destination?: Location;\n label?: string;\n locale?: string;\n units?: DistanceUnits;\n}) {\n const { sdkState } = useStateManagerContext<LocalContentProps>();\n\n /**\n * Fetches a route from Mapbox Directions API.\n *\n * @returns CommuteData | null\n */\n const fetchRoutes = async () => {\n if (!origin?.lat || !origin.lng || !destination?.lat || !destination.lng) {\n return null;\n }\n\n let travelMode = \"walking\";\n\n if (mode === \"driving\") {\n travelMode = \"driving\";\n } else if (mode === \"cycling\") {\n travelMode = \"cycling\";\n }\n\n return fetch(\n `${MAPBOX_DIRECTIONS_ENDPOINT}/${travelMode}/${origin.lng},${origin.lat};${destination.lng},${destination.lat}?geometries=geojson`,\n {\n headers: {\n Accept: \"application/json\",\n Authorization: `${sdkState.apiKey as string}`,\n },\n method: \"GET\",\n },\n )\n .then((response) => response.json())\n .then((response) => {\n if (\n (response.data?.routes ?? []).length > 0 &&\n response.data?.code === \"Ok\"\n ) {\n return {\n mode: travelMode,\n distance: response.data.routes[0].distance,\n duration: response.data.routes[0].duration,\n label,\n // Convert coordinates from [lng, lat] to [lat, lng]\n geometry: response.data.routes[0].geometry.coordinates.map(\n (coord: [number, number]) => [coord[1], coord[0]],\n ),\n destination: {\n lat: destination.lat,\n lng: destination.lng,\n },\n } as CommuteData;\n }\n return null;\n })\n .catch((error) => {\n errorTracker.captureException(error);\n throw error;\n });\n };\n\n return useQuery({\n queryKey: [\n \"commute\",\n mode,\n origin?.lat,\n origin?.lng,\n destination?.lat,\n destination?.lng,\n locale,\n units,\n label,\n ],\n queryFn: fetchRoutes,\n enabled:\n !!origin?.lat &&\n !!origin?.lng &&\n !!destination?.lat &&\n !!destination?.lng,\n });\n}\n","import type { SurveyStorage } from \"../types\";\n\nexport const SURVEY_TRIGGER_SESSION_NAME = \"sessions\";\nexport const SURVEY_DISMISS_KEY = \"dismissedAt\";\nexport const SURVEY_TRIGGERED_KEY = \"triggeredAt\";\n\n/**\n * Session-based trigger: at least this many meaningful interactions spread\n * across at least {@link SESSION_BASED_MIN_SESSIONS} distinct sessions.\n */\nexport const SESSION_BASED_MIN_INTERACTIONS = 3;\nexport const SESSION_BASED_MIN_SESSIONS = 2;\n\n/**\n * Click-based trigger: at least this many meaningful interactions within a\n * single session.\n */\nexport const CLICK_BASED_MIN_INTERACTIONS = 7;\n\n/**\n * Once a survey is dismissed, interactions are ignored and the survey is\n * suppressed for this duration. After it elapses, the survey settings reset.\n */\nexport const DISMISS_DURATION_MS = 30 * 24 * 60 * 60 * 1000;\n\n/**\n * Interaction counts keyed by LocalLogic session id.\n * e.g. `{ \"$session:abc\": 3, \"$session:def\": 1 }`\n */\nexport type SessionCounts = Record<string, number>;\n\n/**\n * Reads the per-session interaction counts from storage.\n *\n * Gracefully handles legacy/corrupt data (e.g. the previous array-based\n * shape) by returning an empty map.\n */\nexport function getSessions(storage: SurveyStorage): SessionCounts {\n const raw = storage.getItem(SURVEY_TRIGGER_SESSION_NAME);\n\n if (!raw) {\n return {};\n }\n\n try {\n const parsed = JSON.parse(raw);\n\n if (\n typeof parsed !== \"object\" ||\n parsed === null ||\n Array.isArray(parsed)\n ) {\n return {};\n }\n\n return parsed as SessionCounts;\n } catch {\n return {};\n }\n}\n\nexport function saveSessions(\n storage: SurveyStorage,\n sessions: SessionCounts,\n): void {\n storage.setItem(SURVEY_TRIGGER_SESSION_NAME, JSON.stringify(sessions));\n}\n\n/**\n * Marks the survey as dismissed (storing the dismissal timestamp) and clears\n * the tracked interaction counts.\n */\nexport function dismissSurvey(\n storage: SurveyStorage,\n now: number = Date.now(),\n): void {\n storage.setItem(SURVEY_DISMISS_KEY, String(now));\n storage.removeItem(SURVEY_TRIGGER_SESSION_NAME);\n storage.removeItem(SURVEY_TRIGGERED_KEY);\n}\n\n/**\n * Whether the survey is currently dismissed.\n *\n * If the 30 day dismissal window has elapsed, the survey settings are reset\n * (dismissal + interaction counts cleared) and this returns `false`.\n */\nexport function isDismissed(\n storage: SurveyStorage,\n now: number = Date.now(),\n): boolean {\n const raw = storage.getItem(SURVEY_DISMISS_KEY);\n\n if (!raw) {\n return false;\n }\n\n const dismissedAt = Number(raw);\n\n // Invalid / legacy value: reset so we start fresh.\n if (Number.isNaN(dismissedAt)) {\n storage.removeItem(SURVEY_DISMISS_KEY);\n storage.removeItem(SURVEY_TRIGGER_SESSION_NAME);\n storage.removeItem(SURVEY_TRIGGERED_KEY);\n return false;\n }\n\n if (now - dismissedAt >= DISMISS_DURATION_MS) {\n // Dismissal window elapsed: reset all survey settings.\n storage.removeItem(SURVEY_DISMISS_KEY);\n storage.removeItem(SURVEY_TRIGGER_SESSION_NAME);\n storage.removeItem(SURVEY_TRIGGERED_KEY);\n return false;\n }\n\n return true;\n}\n\n/**\n * Ensures the given session id is tracked. Prunes previously tracked sessions\n * that never had an interaction (except the current one) to keep the map\n * bounded, then guarantees the current session exists with a count of 0.\n */\nexport function registerSession(\n storage: SurveyStorage,\n sessionId: string,\n): void {\n const sessions = getSessions(storage);\n\n const pruned: SessionCounts = {};\n Object.entries(sessions).forEach(([id, count]) => {\n if (count > 0 || id === sessionId) {\n pruned[id] = count;\n }\n });\n\n if (pruned[sessionId] === undefined) {\n pruned[sessionId] = 0;\n }\n\n saveSessions(storage, pruned);\n}\n\n/**\n * Increments the interaction count for the given session id.\n */\nexport function incrementSession(\n storage: SurveyStorage,\n sessionId: string,\n): void {\n const sessions = getSessions(storage);\n\n sessions[sessionId] = (sessions[sessionId] ?? 0) + 1;\n\n saveSessions(storage, sessions);\n}\n\n/**\n * Evaluates whether either survey trigger condition is met.\n *\n * - Session based: at least {@link SESSION_BASED_MIN_INTERACTIONS} interactions\n * across at least {@link SESSION_BASED_MIN_SESSIONS} distinct sessions.\n * - Click based: at least {@link CLICK_BASED_MIN_INTERACTIONS} interactions in a\n * single session.\n */\nexport function shouldShowSurvey(storage: SurveyStorage): boolean {\n const counts = Object.values(getSessions(storage));\n\n const sessionsWithInteraction = counts.filter((count) => count > 0);\n const totalInteractions = counts.reduce((sum, count) => sum + count, 0);\n\n const sessionBasedTrigger =\n totalInteractions >= SESSION_BASED_MIN_INTERACTIONS &&\n sessionsWithInteraction.length >= SESSION_BASED_MIN_SESSIONS;\n\n const clickBasedTrigger = counts.some(\n (count) => count >= CLICK_BASED_MIN_INTERACTIONS,\n );\n\n return sessionBasedTrigger || clickBasedTrigger;\n}\n\n/**\n * Snapshot of the trigger counters at a given moment, used as attributes on\n * the `Survey-Triggered` event.\n *\n * - `sessions`: number of distinct sessions that had at least one interaction.\n * - `interactions`: total interactions accumulated across all sessions.\n */\nexport interface SurveyTriggerStats {\n sessions: number;\n interactions: number;\n}\n\nexport function getTriggerStats(storage: SurveyStorage): SurveyTriggerStats {\n const counts = Object.values(getSessions(storage));\n\n return {\n sessions: counts.filter((count) => count > 0).length,\n interactions: counts.reduce((sum, count) => sum + count, 0),\n };\n}\n\n/**\n * Whether the `Survey-Triggered` event has already been emitted for the\n * current trigger cycle. Reset whenever the survey is dismissed or the\n * dismissal window elapses (see {@link dismissSurvey} and {@link isDismissed}).\n */\nexport function hasTriggered(storage: SurveyStorage): boolean {\n return storage.getItem(SURVEY_TRIGGERED_KEY) !== null;\n}\n\nexport function markTriggered(\n storage: SurveyStorage,\n now: number = Date.now(),\n): void {\n storage.setItem(SURVEY_TRIGGERED_KEY, String(now));\n}\n","import React, { useState, useEffect, useCallback, createContext } from \"react\";\nimport type { ReactNode } from \"react\";\n\nimport { useFlags } from \"launchdarkly-react-client-sdk\";\n\nimport type { SurveyTriggerContextValue } from \"../types\";\nimport {\n isDismissed as checkIsDismissed,\n registerSession,\n incrementSession,\n shouldShowSurvey,\n dismissSurvey,\n getTriggerStats,\n hasTriggered,\n markTriggered,\n} from \"../session\";\nimport { SURVEY_ID } from \"~/sdks/LocalContent/constants\";\nimport { TrackingPipelineEvents } from \"~/sdks/LocalContent/types\";\nimport { useTracking } from \"~/tracking\";\nimport { BrowserStorage } from \"~/utils/browser\";\nimport { getSessionId } from \"~/tracking/utils/user\";\n\nconst SURVEY_TRIGGER_OBJECT_NAME = \"localContentSurvey\";\n\n/**\n * Value served by the `localContentSurveyDisplay` A/B flag when the survey\n * should actually be displayed (the other variation is \"Hide\").\n */\nconst SURVEY_DISPLAY_VARIATION = \"Display\";\n\nexport const SurveyTriggerContext =\n createContext<SurveyTriggerContextValue | null>(null);\n\nexport function SurveyTriggerProvider({ children }: { children: ReactNode }) {\n const storage = React.useRef(\n new BrowserStorage(SURVEY_TRIGGER_OBJECT_NAME),\n ).current;\n const flags = useFlags();\n const tracking = useTracking();\n const [showSurvey, setShowSurvey] = useState(false);\n const [dismissed, setDismissed] = useState(() => checkIsDismissed(storage));\n\n // Whether the A/B display variation permits showing the survey once a\n // trigger fires. Interactions are still tracked when this is false so the\n // survey can appear later if the variation changes.\n const canDisplay =\n flags.localContentSurveyDisplay === SURVEY_DISPLAY_VARIATION;\n\n // Register the current LocalLogic session so it can accrue interactions.\n // Note: we intentionally do NOT evaluate the trigger on mount. When a user\n // ignores the survey (closes the tab/window), it should only reappear on the\n // next meaningful interaction, not immediately on the next page load.\n useEffect(() => {\n if (!flags.localContentSurvey || dismissed) {\n return;\n }\n\n registerSession(storage, getSessionId());\n }, [flags.localContentSurvey, dismissed, storage]);\n\n const handleAddSessionTriggerCount = useCallback(() => {\n if (!flags.localContentSurvey || dismissed) {\n return;\n }\n\n incrementSession(storage, getSessionId());\n\n if (!shouldShowSurvey(storage)) {\n return;\n }\n\n // The user is now engaged enough to trigger the survey, regardless of\n // whether the A/B variation lets us actually display it. Emit the\n // `Survey-Triggered` event once per trigger cycle so we can compare\n // engagement across the \"seen\" / \"not seen\" cohorts.\n if (!hasTriggered(storage)) {\n markTriggered(storage);\n\n const { sessions, interactions } = getTriggerStats(storage);\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SURVEY_TRIGGERED,\n eventAttributes: [\n { label: \"survey_id\", data: SURVEY_ID },\n { label: \"survey_trigger_sessions\", data: sessions },\n { label: \"survey_trigger_interactions\", data: interactions },\n {\n label: \"survey_cohort\",\n data: canDisplay ? \"survey_seen\" : \"survey_not_seen\",\n },\n ],\n });\n }\n\n if (canDisplay) {\n setShowSurvey(true);\n }\n }, [flags.localContentSurvey, dismissed, canDisplay, storage, tracking]);\n\n const handleDismiss = useCallback(() => {\n setDismissed(true);\n setShowSurvey(false);\n dismissSurvey(storage);\n }, [storage]);\n\n return (\n <SurveyTriggerContext.Provider\n value={{ showSurvey, handleDismiss, handleAddSessionTriggerCount }}\n >\n {children}\n </SurveyTriggerContext.Provider>\n );\n}\n","import { useContext } from \"react\";\n\nimport { SurveyTriggerContext } from \"./SurveyTriggerProvider\";\n\nexport { SurveyTriggerProvider } from \"./SurveyTriggerProvider\";\nexport type { SurveyTriggerContextValue, SurveyStorage } from \"./types\";\nexport {\n registerSession,\n incrementSession,\n shouldShowSurvey,\n dismissSurvey,\n getTriggerStats,\n hasTriggered,\n markTriggered,\n} from \"./session\";\nexport type { SurveyTriggerStats } from \"./session\";\n\nexport function useSurveyTrigger() {\n const context = useContext(SurveyTriggerContext);\n\n if (!context) {\n throw new Error(\n \"useSurveyTrigger must be used within a SurveyTriggerProvider\",\n );\n }\n\n return context;\n}\n","import React, {\n useContext,\n useEffect,\n useState,\n useMemo,\n useCallback,\n} from \"react\";\n\nimport type { POI, School } from \"@local-logic/client\";\nimport type { MarkerPoint } from \"@local-logic/maps\";\nimport { transformScoresMenuData } from \"./utils/transformScoresMenuData\";\nimport { getPOICategoriesWithAvailableData } from \"./utils/getPOICategoriesWithAvailableData\";\nimport { orderPOICategories } from \"./utils/orderPOICategories\";\nimport type { TransformedScoresMenuData } from \"./utils/transformScoresMenuData/types\";\nimport {\n type LocalContentProps,\n type POISubcategory,\n TrackingPipelineEvents,\n AnalyticsEvents,\n CommuteOptions,\n} from \"./types\";\nimport { useTracking } from \"~/tracking\";\nimport { useScoreSelection } from \"~/sdks/LocalContent/hooks/useScoreSelection\";\nimport { useMarkers } from \"~/hooks/useMarkers\";\nimport { useCommute } from \"~/sdks/LocalContent/hooks/useCommute\";\nimport { useSurveyTrigger } from \"~/sdks/LocalContent/hooks/useSurveyTrigger\";\n\nimport useEffectOnce from \"~/hooks/useEffectOnce\";\nimport { useStateManagerContext } from \"~/context/stateManager\";\nimport { useLocation } from \"~/hooks/useLocation\";\n\nimport type { CommuteData } from \"~/sdks/LocalContent/hooks/useCommute/types\";\n\nimport {\n DEFAULT_TRAVEL_MODE,\n DEFAULT_RADIUS,\n DEFAULT_NUMBER_OF_POIS,\n SCORE_POI_CATEGORIES,\n} from \"~/sdks/LocalContent/constants\";\n\nimport { getIdFromMarker } from \"~/utils/map/getIdFromMarker\";\n\ninterface Location {\n lat: LocalContentProps[\"options\"][\"lat\"];\n lng: LocalContentProps[\"options\"][\"lng\"];\n}\n\nexport type DefaultContext = {\n isLoading: boolean;\n isScoresLoading: boolean;\n isMarkersLoading: boolean;\n isCommuteDataLoading: boolean;\n isCategoriesMenuOpen: boolean;\n isCommuteCalculatorOpen: boolean;\n isSidebarExpanded: boolean;\n distanceUnit: LocalContentProps[\"options\"][\"distanceUnit\"];\n locale: \"en\" | \"fr\";\n location: Location;\n country: string;\n centerMarker?: {\n lat: number;\n lng: number;\n addressLabel?: string;\n };\n map: {\n mapProvider: LocalContentProps[\"options\"][\"mapProvider\"];\n zoom: LocalContentProps[\"options\"][\"zoom\"];\n pitch: LocalContentProps[\"options\"][\"pitch\"];\n bearing: LocalContentProps[\"options\"][\"bearing\"];\n cooperativeGestures: LocalContentProps[\"options\"][\"cooperativeGestures\"];\n };\n scoresMenu: TransformedScoresMenuData;\n activeScore: ReturnType<typeof useScoreSelection>[\"activeScore\"];\n activeScoreData: ReturnType<typeof useScoreSelection>[\"activeScoreData\"];\n activeCategory: ReturnType<typeof useScoreSelection>[\"activeCategory\"];\n activeCategoryData: ReturnType<\n typeof useScoreSelection\n >[\"activeCategoryData\"];\n availablePoiSubcategories: POISubcategory[];\n selectedPoiSubcategory: POISubcategory | null;\n activeMarker?: MarkerPoint;\n activeMarkerDetails: School | POI | null;\n scoresData?: ReturnType<typeof useScoreSelection>[\"scoresData\"];\n markersData?: ReturnType<typeof useMarkers>[\"data\"];\n commuteData: CommuteData | null;\n hideScoresList: string[];\n hideAllScores?: boolean;\n showSchoolRatings?: boolean;\n commuteOptions: CommuteOptions;\n hideAttribution?: boolean;\n handleToggleIsCommuteCalculatorOpen: () => void;\n handleToggleIsSidebarExpanded: () => void;\n handleSelectScore: ReturnType<typeof useScoreSelection>[\"handleSelectScore\"];\n handleSelectCategory: ReturnType<\n typeof useScoreSelection\n >[\"handleSelectCategory\"];\n handleSelectPoiSubcategory: (subcategory: POISubcategory | null) => void;\n handleMarkerClick: (marker?: MarkerPoint) => void;\n handleCalculateCommute: (options: DefaultContext[\"commuteOptions\"]) => void;\n};\n\nconst LocalContentContext = React.createContext<DefaultContext>(\n {} as DefaultContext,\n);\n\nconst useLocalContent = () => useContext(LocalContentContext);\n\nconst LocalContentProvider = ({\n children,\n}: {\n children: React.JSX.Element;\n}) => {\n const { sdkState } = useStateManagerContext<LocalContentProps>();\n const tracking = useTracking();\n const { handleAddSessionTriggerCount } = useSurveyTrigger();\n const [isCategoriesMenuOpen, setIsCategoriesMenuOpen] = useState(false);\n const [isCommuteCalculatorOpen, setIsCommuteCalculatorOpen] = useState(false);\n const [isSidebarExpanded, setIsSidebarExpanded] = useState(\n sdkState.options?.scoresMenu?.defaultOpen ?? true,\n );\n const [availablePoiSubcategories, setAvailablePoiSubcategories] = useState<\n POISubcategory[]\n >([]);\n const [selectedPoiSubcategory, setSelectedPoiSubcategory] =\n useState<DefaultContext[\"selectedPoiSubcategory\"]>(null);\n const [activeMarker, setActiveMarker] = useState<MarkerPoint | undefined>(\n undefined,\n );\n const [commuteOptions, setCommuteOptions] = useState<\n DefaultContext[\"commuteOptions\"]\n >({\n destination: undefined,\n commuteType: DEFAULT_TRAVEL_MODE,\n label: undefined,\n });\n\n const { data: location } = useLocation({\n lat: sdkState.options?.marker?.lat,\n lng: sdkState.options?.marker?.lng,\n });\n\n const { data: commuteData, isLoading: isCommuteDataLoading } = useCommute({\n mode: commuteOptions.commuteType,\n locale: sdkState.globalOptions?.locale || \"en\",\n units: sdkState.options?.distanceUnit,\n label: commuteOptions.label,\n origin: {\n lat: sdkState.options?.lat || 0,\n lng: sdkState.options?.lng || 0,\n },\n destination: commuteOptions.destination,\n });\n\n useEffectOnce(() => {\n const eventAttributes = {\n mapProviderHasCustomKey:\n typeof sdkState.options?.mapProvider?.key !== \"undefined\",\n mapProviderHasCustomTheme:\n typeof sdkState.options?.mapProvider?.theme !== \"undefined\",\n centerMarkerProvided: typeof sdkState.options?.marker !== \"undefined\",\n sidebarDefaultOpen: sdkState.options?.scoresMenu?.defaultOpen,\n };\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SDK_VIEWED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.SDK_VIEWED,\n eventAttributes,\n });\n });\n\n const handleToggleIsCommuteCalculatorOpen = useCallback(() => {\n setIsCommuteCalculatorOpen((prev) => {\n if (!prev) {\n setIsCategoriesMenuOpen(false);\n } else {\n setCommuteOptions({\n ...commuteOptions,\n label: undefined,\n destination: undefined,\n });\n }\n\n return !prev;\n });\n\n // Close any open popup when toggling commute calculator\n setActiveMarker(undefined);\n }, [commuteOptions]);\n\n const handleToggleIsSidebarExpanded = useCallback(() => {\n setIsSidebarExpanded((prev) => !prev);\n\n // Close any open popup when toggling sidebar to avoid positioning issues\n setActiveMarker(undefined);\n }, []);\n\n const handleSelectPoiSubcategory = useCallback(\n (subcategory: POISubcategory | null) => {\n setSelectedPoiSubcategory((prev) =>\n prev === subcategory ? null : subcategory,\n );\n },\n [],\n );\n\n const handleMarkerClick = useCallback(\n (marker?: MarkerPoint) => {\n if (\n activeMarker?.latitude === marker?.latitude &&\n activeMarker?.longitude === marker?.longitude\n ) {\n setActiveMarker(undefined);\n return;\n }\n\n setActiveMarker(marker);\n },\n [activeMarker, isCategoriesMenuOpen],\n );\n\n const handleCalculateCommute = (\n options: DefaultContext[\"commuteOptions\"],\n ) => {\n handleAddSessionTriggerCount();\n setCommuteOptions(options);\n handleMarkerClick();\n\n if (!isCommuteCalculatorOpen) {\n handleToggleIsCommuteCalculatorOpen();\n }\n };\n\n const sortedScoresMenu = useMemo(\n () => transformScoresMenuData(sdkState.options?.scoresMenu),\n [sdkState.options?.scoresMenu?.categories],\n );\n\n const {\n isLoading: isScoresLoading,\n scoresData,\n activeScore,\n activeScoreData,\n activeCategory,\n activeCategoryData,\n handleSelectScore,\n handleSelectCategory,\n } = useScoreSelection({\n scoresMenu: sortedScoresMenu,\n lat: sdkState?.options?.lat || 0,\n lng: sdkState?.options?.lng || 0,\n });\n\n const { isLoading: isMarkersLoading, data: markersData } = useMarkers({\n lat: sdkState?.options?.lat || 0,\n lng: sdkState?.options?.lng || 0,\n categoriesDeprecated: activeScore\n ? SCORE_POI_CATEGORIES[activeScore]\n : undefined,\n radius: DEFAULT_RADIUS,\n limit: DEFAULT_NUMBER_OF_POIS,\n });\n\n useEffect(() => {\n if (\n !activeScore ||\n isMarkersLoading ||\n typeof markersData === \"undefined\" ||\n Object.keys(markersData).length === 0\n ) {\n if (selectedPoiSubcategory !== null) {\n handleSelectPoiSubcategory(null);\n }\n\n return;\n }\n\n const filteredSubcategories =\n getPOICategoriesWithAvailableData(markersData);\n\n if (filteredSubcategories.length === 0) {\n handleSelectPoiSubcategory(null);\n return;\n }\n\n // If a valid subcategory is already selected and still exists in the data, keep it\n if (\n selectedPoiSubcategory !== null &&\n filteredSubcategories.includes(selectedPoiSubcategory)\n ) {\n return;\n }\n\n orderPOICategories(activeScore, filteredSubcategories);\n setAvailablePoiSubcategories(filteredSubcategories as POISubcategory[]);\n\n // Otherwise, select the first available subcategory\n handleSelectPoiSubcategory(filteredSubcategories[0] as POISubcategory);\n }, [isMarkersLoading, markersData, selectedPoiSubcategory]);\n\n /**\n * This is used to determine which scores should be hidden in the UI.\n * It is mainly calculated here to avoid recalculating it in multiple components.\n */\n const hideScoresList = useMemo(() => {\n let tempHideScoresList: string[] = [];\n\n if (!sortedScoresMenu) return tempHideScoresList;\n\n sortedScoresMenu.categories.forEach(([, categoryValue]) => {\n if (categoryValue.hide || sdkState.options?.hideScores) {\n tempHideScoresList = tempHideScoresList.concat(\n categoryValue.scores.flatMap(([scoreKey]) => scoreKey),\n );\n } else {\n tempHideScoresList = tempHideScoresList.concat(\n categoryValue.scores\n .filter(([, scoreValue]) => scoreValue.hideScore)\n .map(([scoreKey]) => scoreKey),\n );\n }\n });\n\n return tempHideScoresList;\n }, [sortedScoresMenu, sdkState.options]);\n\n const activeMarkerDetails = useMemo(() => {\n if (\n !markersData ||\n !selectedPoiSubcategory ||\n !activeMarker ||\n activeMarker.markers.length !== 1\n ) {\n return null;\n }\n\n return (\n markersData[selectedPoiSubcategory]?.find(\n (marker) =>\n activeMarker.markers[0].id ===\n getIdFromMarker(marker.lat, marker.lng, marker.name),\n ) || null\n );\n }, [activeMarker, markersData, selectedPoiSubcategory]);\n\n const contextValue = useMemo(\n () => ({\n isLoading: isScoresLoading || isMarkersLoading,\n isScoresLoading,\n isMarkersLoading,\n isCommuteDataLoading,\n isCategoriesMenuOpen,\n isCommuteCalculatorOpen,\n isSidebarExpanded,\n locale: sdkState.globalOptions?.locale || \"en\",\n location: {\n lat: sdkState.options?.lat,\n lng: sdkState.options?.lng,\n },\n country: location?.country || \"CAN\",\n centerMarker: sdkState.options?.marker,\n distanceUnit: sdkState.options?.distanceUnit,\n map: {\n mapProvider: sdkState.options?.mapProvider,\n zoom: sdkState.options?.zoom,\n pitch: sdkState.options?.pitch,\n bearing: sdkState.options?.bearing,\n cooperativeGestures: sdkState.options?.cooperativeGestures,\n },\n scoresMenu: sortedScoresMenu,\n activeScore,\n activeScoreData,\n activeCategory,\n activeCategoryData,\n activeMarker,\n activeMarkerDetails,\n markersData,\n scoresData,\n availablePoiSubcategories,\n selectedPoiSubcategory,\n hideScoresList,\n hideAllScores: sdkState.options?.hideScores,\n showSchoolRatings: sdkState.options?.showSchoolRatings,\n commuteData: commuteData || null,\n commuteOptions,\n hideAttribution: sdkState.options?.hideAttribution,\n handleToggleIsCommuteCalculatorOpen,\n handleToggleIsSidebarExpanded,\n handleSelectScore,\n handleSelectCategory,\n handleSelectPoiSubcategory,\n handleMarkerClick,\n handleCalculateCommute,\n }),\n [\n isScoresLoading,\n isMarkersLoading,\n isCategoriesMenuOpen,\n isCommuteCalculatorOpen,\n isSidebarExpanded,\n isCommuteDataLoading,\n sdkState.globalOptions,\n sdkState.options,\n location,\n sortedScoresMenu,\n activeScore,\n activeScoreData,\n activeCategory,\n activeCategoryData,\n activeMarker,\n activeMarkerDetails,\n markersData,\n scoresData,\n availablePoiSubcategories,\n selectedPoiSubcategory,\n commuteData,\n hideScoresList,\n commuteOptions,\n sdkState.options?.hideAttribution,\n handleToggleIsCommuteCalculatorOpen,\n handleToggleIsSidebarExpanded,\n handleSelectScore,\n handleSelectCategory,\n handleSelectPoiSubcategory,\n handleMarkerClick,\n handleCalculateCommute,\n ],\n );\n\n return (\n <LocalContentContext.Provider value={contextValue}>\n {children}\n </LocalContentContext.Provider>\n );\n};\n\nexport { useLocalContent, LocalContentProvider, type Location };\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { HorizontalScrollFilters } from \"@local-logic/design-system\";\nimport {\n type Icon,\n TrainIcon,\n PencilRulerIcon,\n ShoppingCartIcon,\n ConfettiIcon,\n PlantIcon,\n FlowerLotusIcon,\n} from \"@phosphor-icons/react\";\nimport * as styles from \"./styles\";\nimport { useTracking } from \"~/tracking\";\nimport { useResponsiveBreakpoints } from \"~/hooks/useResponsiveBreakpoints\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nimport type { TransformedScoresMenuData } from \"~/sdks/LocalContent/utils/transformScoresMenuData/types\";\nimport {\n type CategoryKey,\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nconst categoryIcons: Record<CategoryKey, Icon> = {\n transport: TrainIcon,\n education: PencilRulerIcon,\n amenities: ShoppingCartIcon,\n character: ConfettiIcon,\n nature: FlowerLotusIcon,\n health: PlantIcon,\n};\n\nexport function Header({ scores }: { scores: TransformedScoresMenuData }) {\n const tracking = useTracking();\n const { activeCategory, handleSelectCategory: onSelectCategory } =\n useLocalContent();\n const { t } = useTranslation(\"localContent\");\n const breakpoints = useResponsiveBreakpoints();\n\n const handleSelectCategory = (categoryKey: CategoryKey | null) => () => {\n onSelectCategory(categoryKey)();\n\n if (categoryKey === null) {\n return;\n }\n\n const eventAttributes = {\n category: categoryKey,\n isExpanded: activeCategory === categoryKey,\n };\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.CATEGORIES_MENU_CATEGORY_SELECTED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.CATEGORIES_MENU_CATEGORY_SELECTED,\n eventAttributes,\n });\n };\n\n if (breakpoints.sm || scores.categories.length === 0) {\n return null;\n }\n\n return (\n <div className={styles.container} data-testid=\"categories-mobile-header\">\n <HorizontalScrollFilters.Root>\n <HorizontalScrollFilters.ScrollList>\n {scores.categories.map(([categoryKey, categoryValue]) => (\n <HorizontalScrollFilters.Filter<CategoryKey>\n key={`category-${categoryKey}`}\n filter={categoryKey}\n label={t(`categories.${categoryKey}`)}\n icon={categoryIcons[categoryKey]}\n iconBackgroundColor={categoryValue.colors?.background}\n iconFillColor={categoryValue.colors?.fill}\n isActive={categoryKey === activeCategory}\n onSelectFilter={handleSelectCategory(categoryKey)}\n />\n ))}\n </HorizontalScrollFilters.ScrollList>\n </HorizontalScrollFilters.Root>\n </div>\n );\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],t):\"object\"==typeof exports?exports[\"embed-react\"]=t(require(\"react\")):e[\"embed-react\"]=t(e.react)}(this,function(e){return function(){var t={9:function(e,t,n){\"use strict\";n.r(t),t.default=\".tf-v1-widget{width:100%;height:100%;min-height:inherit;position:relative}.tf-v1-widget iframe{width:100%;height:100%;border:none;overflow:hidden;border-radius:8px;min-height:inherit}.tf-v1-widget-close{display:none}.tf-v1-widget-iframe-overlay{width:100%;height:100%;border:none;overflow:hidden;border-radius:8px;position:absolute;top:0;left:0}.tf-v1-widget-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10001;width:100% !important;height:100% !important}.tf-v1-widget-fullscreen .tf-v1-widget-close{display:block;display:block;padding:0;margin:0;position:absolute;font-size:32px;font-weight:normal;line-height:24px;width:24px;height:24px;text-align:center;text-transform:none;cursor:pointer;opacity:.75;transition:opacity .25s ease-in-out;text-decoration:none;color:#000;top:6px;right:8px;background:none;border:none;border-radius:0}.tf-v1-widget-fullscreen .tf-v1-widget-close:hover{opacity:1}@media(min-width: 481px){.tf-v1-widget-fullscreen .tf-v1-widget-close{color:#fff !important}}.tf-v1-widget-fullscreen .tf-v1-widget-close{z-index:1}.tf-v1-widget-fullscreen iframe{border-radius:0}\"},93:function(e,t,n){\"use strict\";var o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.InlineStyle=void 0;var i=r(n(155)),a=r(n(206));t.InlineStyle=function(e){var t=e.filename,r=n(663)(\"./\".concat(t,\".css\")),c=(0,a.default)();return i.default.createElement(\"style\",o({},c?{nonce:c}:{},{dangerouslySetInnerHTML:{__html:r.default}}))}},123:function(e,t,n){\"use strict\";n.r(t),t.default=\"@keyframes spin{to{transform:rotate(360deg)}}.tf-v1-popup{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);transition:opacity .25s ease-in-out;z-index:10001;display:flex;align-items:center;justify-content:center}.tf-v1-popup .tf-v1-iframe-wrapper{position:relative;transition:opacity .25s ease-in-out;min-width:360px;min-height:360px}.tf-v1-popup .tf-v1-iframe-wrapper iframe{width:100%;height:100%;border:none;overflow:hidden;border-radius:8px}.tf-v1-popup .tf-v1-close{display:block;padding:0;margin:0;position:absolute;font-size:32px;font-weight:normal;line-height:24px;width:24px;height:24px;text-align:center;text-transform:none;cursor:pointer;opacity:.75;transition:opacity .25s ease-in-out;text-decoration:none;color:#000;top:-34px;right:0;background:none;border:none;border-radius:0}.tf-v1-popup .tf-v1-close:hover{opacity:1}@media(min-width: 481px){.tf-v1-popup .tf-v1-close{color:#fff !important}}.tf-v1-popup .tf-v1-spinner{border:3px solid #aaa;font-size:40px;width:1em;height:1em;border-radius:.5em;box-sizing:border-box;animation:spin 1s linear infinite;border-top-color:#fff;position:absolute;top:50%;left:50%;margin:-20px 0 0 -20px}@media(max-width: 480px){.tf-v1-popup{width:100% !important;height:100% !important}.tf-v1-popup .tf-v1-iframe-wrapper{position:relative;transition:opacity .25s ease-in-out;min-width:100%;min-height:100%}.tf-v1-popup .tf-v1-iframe-wrapper iframe{border-radius:0}.tf-v1-popup .tf-v1-close{display:block;padding:0;margin:0;position:absolute;font-size:32px;font-weight:normal;line-height:24px;width:24px;height:24px;text-align:center;text-transform:none;cursor:pointer;opacity:.75;transition:opacity .25s ease-in-out;text-decoration:none;color:#000;top:6px;right:8px;background:none;border:none;border-radius:0}.tf-v1-popup .tf-v1-close:hover{opacity:1}}@media(max-width: 480px)and (min-width: 481px){.tf-v1-popup .tf-v1-close{color:#fff !important}}\"},155:function(t){\"use strict\";t.exports=e},161:function(e,t,n){\"use strict\";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.memoComponent=t.propsAreEqual=void 0;var r=n(155),i=o(n(792));t.propsAreEqual=function(e,t){return(0,i.default)(e,t)},t.memoComponent=function(e){return(0,r.memo)(e,t.propsAreEqual)}},193:function(e,t,n){\"use strict\";var o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)},r=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)\"default\"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},c=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.makeButtonComponent=void 0;var s=a(n(155)),u=n(517),l=n(93);t.makeButtonComponent=function(e,t){return function(n){var r=n.id,i=n.children,a=n.as,d=void 0===a?\"button\":a,f=n.style,p=void 0===f?{}:f,v=n.className,m=void 0===v?\"\":v,h=n.buttonProps,b=n.embedRef,g=c(n,[\"id\",\"children\",\"as\",\"style\",\"className\",\"buttonProps\",\"embedRef\"]),y=(0,s.useRef)(u.genericEmbed),w=b||y;(0,s.useEffect)(function(){return w.current=e(r,g),function(){var e;return null===(e=w.current)||void 0===e?void 0:e.unmount()}},[r,g,w]);var x=(0,s.useMemo)(function(){return function(){var e;return null===(e=w.current)||void 0===e?void 0:e.open()}},[w]),_=s.default.createElement(d,o({style:p,className:m,onClick:x,\"data-testid\":\"tf-v1-\".concat(t),children:i},h));return s.default.createElement(s.default.Fragment,null,s.default.createElement(l.InlineStyle,{filename:t}),_)}}},206:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return void 0!==n.g.__webpack_nonce__?n.g.__webpack_nonce__:null}},231:function(e,t,n){\"use strict\";n.r(t),t.default=\"@keyframes spin{to{transform:rotate(360deg)}}.tf-v1-sidetab{position:fixed;top:50%;right:0;width:400px;height:580px;transform:translate(100%, -50%);box-shadow:0 2px 4px rgba(0,0,0,.08),0 2px 12px rgba(0,0,0,.06);z-index:10001;will-change:transform}.tf-v1-sidetab.ready{transition:transform 400ms cubic-bezier(0.5, 0, 0.75, 0)}.tf-v1-sidetab iframe{width:100%;height:100%;border:none;overflow:hidden;border-radius:8px 0 0 8px}.tf-v1-sidetab.open{transform:translate(0, -50%)}.tf-v1-sidetab-wrapper{position:relative;height:100%}.tf-v1-sidetab-button{position:absolute;top:50%;left:-48px;transform:rotate(-90deg) translateX(-50%);transform-origin:left top;min-width:100px;max-width:540px;height:48px;display:flex;align-items:center;padding:12px 16px;border-radius:8px 8px 0 0;color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.08),0 2px 12px rgba(0,0,0,.06);background-color:#3a7685;cursor:pointer;border:0;text-decoration:none;outline:none}.tf-v1-sidetab-button-text{flex:1;font-size:18px;font-family:Helvetica,Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-v1-sidetab-button-icon{width:24px;height:24px;font-size:24px;transform:rotate(90deg);margin-right:12px;position:relative;order:-1}.tf-v1-sidetab-button-icon>img{width:100%;height:100%;object-fit:contain}.tf-v1-sidetab-close{display:none}.tf-v1-sidetab .tf-v1-spinner{border:3px solid #aaa;font-size:24px;width:1em;height:1em;border-radius:.5em;box-sizing:border-box;animation:spin 1s linear infinite;border-top-color:#fff;position:absolute;top:50%;left:50%;margin:-12px 0 0 -12px;top:0;left:0;margin:0}@media(max-width: 480px){.tf-v1-sidetab{transition:unset}.tf-v1-sidetab.ready{transition:unset}.tf-v1-sidetab.open{top:0;left:0;right:0;bottom:0;transform:translate(0, 0);width:100% !important;height:100% !important}.tf-v1-sidetab-close{display:block;padding:0;margin:0;position:absolute;font-size:32px;font-weight:normal;line-height:24px;width:24px;height:24px;text-align:center;text-transform:none;cursor:pointer;opacity:.75;transition:opacity .25s ease-in-out;text-decoration:none;color:#000;top:6px;right:8px;background:none;border:none;border-radius:0}.tf-v1-sidetab-close:hover{opacity:1}.tf-v1-sidetab-close{display:block;z-index:1}}@media(max-width: 480px)and (min-width: 481px){.tf-v1-sidetab-close{color:#fff !important}}\"},240:function(e,t,n){\"use strict\";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(193),t),r(n(390),t),r(n(558),t)},390:function(e,t,n){\"use strict\";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)\"default\"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&o(t,e,n);return r(t,e),t},a=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.makeInitializerComponent=void 0;var c=i(n(155)),s=n(517),u=n(93);t.makeInitializerComponent=function(e,t){return function(n){var o=n.id,r=n.embedRef,i=a(n,[\"id\",\"embedRef\"]),l=(0,c.useRef)(s.genericEmbed),d=r||l;return(0,c.useEffect)(function(){return d.current=e(o,i),function(){var e;null===(e=d.current)||void 0===e||e.unmount()}},[o,i,d]),c.default.createElement(u.InlineStyle,{filename:t})}}},517:function(e,t,n){\"use strict\";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(804),t),r(n(161),t)},558:function(e,t,n){\"use strict\";var o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)},r=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)\"default\"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},c=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Widget=void 0;var s=a(n(155)),u=n(952),l=n(93);t.Widget=function(e){var t=e.id,n=e.style,r=void 0===n?{}:n,i=e.className,a=void 0===i?\"\":i,d=c(e,[\"id\",\"style\",\"className\"]),f=(0,s.useRef)(null);return(0,s.useEffect)(function(){if(f.current){var e=(0,u.createWidget)(t,o(o({},d),{container:f.current}));return function(){e.unmount()}}},[t,d]),s.default.createElement(s.default.Fragment,null,s.default.createElement(l.InlineStyle,{filename:\"widget\"}),s.default.createElement(\"div\",{style:r,className:a,ref:f}))}},663:function(e,t,n){var o={\"./popover.css\":842,\"./popup.css\":123,\"./sidetab.css\":231,\"./slider.css\":806,\"./widget.css\":9};function r(e){var t=i(e);return n(t)}function i(e){if(!n.o(o,e)){var t=new Error(\"Cannot find module '\"+e+\"'\");throw t.code=\"MODULE_NOT_FOUND\",t}return o[e]}r.keys=function(){return Object.keys(o)},r.resolve=i,e.exports=r,r.id=663},792:function(e){\"use strict\";e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&\"object\"==typeof t&&\"object\"==typeof n){if(t.constructor!==n.constructor)return!1;var o,r,i;if(Array.isArray(t)){if((o=t.length)!=n.length)return!1;for(r=o;0!==r--;)if(!e(t[r],n[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((o=(i=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(r=o;0!==r--;)if(!Object.prototype.hasOwnProperty.call(n,i[r]))return!1;for(r=o;0!==r--;){var a=i[r];if(!e(t[a],n[a]))return!1}return!0}return t!=t&&n!=n}},804:function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.genericEmbed=void 0,t.genericEmbed={unmount:function(){},open:function(){}}},806:function(e,t,n){\"use strict\";n.r(t),t.default=\"@keyframes spin{to{transform:rotate(360deg)}}.tf-v1-slider{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);transition:opacity .25s ease-in-out;z-index:10001}.tf-v1-slider .tf-v1-iframe-wrapper{max-width:calc(100vw - 26px);height:100%;position:absolute;top:0;transition:right .5s ease-in-out,left .5s ease-in-out}.tf-v1-slider .tf-v1-iframe-wrapper iframe{width:100%;height:100%;border:none;overflow:hidden;border-radius:0}@media(min-width: 481px){.tf-v1-slider .tf-v1-iframe-wrapper iframe{border-radius:8px 0 0 8px}}.tf-v1-slider .tf-v1-close{display:block;padding:0;margin:0;position:absolute;font-size:32px;font-weight:normal;line-height:24px;width:24px;height:24px;text-align:center;text-transform:none;cursor:pointer;opacity:.75;transition:opacity .25s ease-in-out;text-decoration:none;color:#000;top:6px;right:8px;background:none;border:none;border-radius:0}.tf-v1-slider .tf-v1-close:hover{opacity:1}@media(min-width: 481px){.tf-v1-slider .tf-v1-close{color:#fff !important}}@media(min-width: 481px){.tf-v1-slider .tf-v1-close{top:4px;left:-26px}}.tf-v1-slider .tf-v1-close:hover{opacity:1}.tf-v1-slider .tf-v1-spinner{border:3px solid #aaa;font-size:40px;width:1em;height:1em;border-radius:.5em;box-sizing:border-box;animation:spin 1s linear infinite;border-top-color:#fff;position:absolute;top:50%;left:50%;margin:-20px 0 0 -20px}@media(min-width: 481px){.tf-v1-slider.left .tf-v1-iframe-wrapper iframe{border-radius:0 8px 8px 0}.tf-v1-slider.left .tf-v1-close{left:auto;right:-24px}}@media(max-width: 480px){.tf-v1-slider{width:100% !important;height:100% !important}.tf-v1-slider .tf-v1-iframe-wrapper{width:100% !important;max-width:100vw;height:100%;transition:unset}.tf-v1-slider .tf-v1-iframe-wrapper iframe{border-radius:none}.tf-v1-slider .tf-v1-close{display:block;padding:0;margin:0;position:absolute;font-size:32px;font-weight:normal;line-height:24px;width:24px;height:24px;text-align:center;text-transform:none;cursor:pointer;opacity:.75;transition:opacity .25s ease-in-out;text-decoration:none;color:#000;top:6px;right:8px;background:none;border:none;border-radius:0}.tf-v1-slider .tf-v1-close:hover{opacity:1}.tf-v1-slider .tf-v1-close{left:auto}}@media(max-width: 480px)and (min-width: 481px){.tf-v1-slider .tf-v1-close{color:#fff !important}}\"},842:function(e,t,n){\"use strict\";n.r(t),t.default='@keyframes spin{to{transform:rotate(360deg)}}.tf-v1-popover{bottom:96px;position:fixed;right:16px;z-index:10001}.tf-v1-popover.open{max-width:100%;min-height:360px;min-width:360px}.tf-v1-popover-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%;opacity:0;transition:opacity .25s ease-in-out;border-radius:4px;box-shadow:rgba(0,0,0,.08) 0 2px 4px,rgba(0,0,0,.06) 0 2px 12px}.tf-v1-popover-wrapper iframe{width:100%;height:100%;border:none;overflow:hidden;border-radius:8px}.tf-v1-popover-close{display:none}.tf-v1-popover-button{width:54px;height:54px;position:fixed;box-shadow:0 2px 12px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.08);color:#fff;right:26px;bottom:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#3a7685;line-height:0;border:none;padding:0}.tf-v1-popover-button-icon{width:54px;height:54px;font-size:24px;border-radius:50%;overflow:hidden;display:flex;justify-content:center;align-items:center}.tf-v1-popover-button-icon svg.default{margin-top:6px}.tf-v1-popover-button-icon svg,.tf-v1-popover-button-icon img{max-width:54px;max-height:54px}.tf-v1-popover-button-icon img{width:100%;height:100%;object-fit:cover;border-radius:50%}.tf-v1-popover-tooltip{position:fixed;right:94px;bottom:33px;max-width:240px;padding:10px 25px 10px 10px;border-radius:8px;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.08),0 2px 12px rgba(0,0,0,.06);font-size:14px;font-family:Helvetica,Arial,sans-serif;line-height:22px}.tf-v1-popover-tooltip::before{background-color:#fff;content:\"\";display:block;width:12px;height:12px;position:absolute;right:-4px;bottom:15px;transform:rotate(45deg);box-shadow:2px -2px 2px 0 rgba(0,0,0,.06)}.tf-v1-popover-tooltip-text{overflow:hidden}.tf-v1-popover-tooltip-close{cursor:pointer;margin-left:4px;display:inline-block;text-align:center;position:absolute;top:12px;right:6px}.tf-v1-popover-tooltip-close svg{width:20px;height:20px}.tf-v1-popover-tooltip-close svg path{fill:rgba(0,0,0,.2);transition:fill 150ms ease-in-out}.tf-v1-popover-tooltip-close:hover svg path{fill:rgba(0,0,0,.3)}.tf-v1-popover-tooltip.closing{transition:opacity .25s ease-in-out;opacity:0}.tf-v1-popover-unread-dot{width:8px;height:8px;border-radius:50%;background-color:#fa6b05;border:2px solid #fff;position:absolute;top:2px;right:2px}.tf-v1-popover-unread-dot.closing{transition:opacity .25s ease-in-out;opacity:0}.tf-v1-spinner{border:3px solid #aaa;font-size:40px;width:1em;height:1em;border-radius:.5em;box-sizing:border-box;animation:spin 1s linear infinite;border-top-color:#fff;position:absolute;top:50%;left:50%;margin:-20px 0 0 -20px}@media(max-width: 480px){.tf-v1-popover.open{top:0;left:0;bottom:0;right:0;width:100% !important;height:100% !important}.tf-v1-popover.open .tf-v1-popover-close{display:block}.tf-v1-popover-wrapper{border-radius:0;box-shadow:none}.tf-v1-popover-wrapper iframe{border-radius:0}.tf-v1-popover-close{display:block;padding:0;margin:0;position:absolute;font-size:32px;font-weight:normal;line-height:24px;width:24px;height:24px;text-align:center;text-transform:none;cursor:pointer;opacity:.75;transition:opacity .25s ease-in-out;text-decoration:none;color:#000;top:6px;right:8px;background:none;border:none;border-radius:0}.tf-v1-popover-close:hover{opacity:1}.tf-v1-popover-close{display:none;z-index:1}}@media(max-width: 480px)and (min-width: 481px){.tf-v1-popover-close{color:#fff !important}}@media(max-width: 480px){.tf-v1-popover-button{width:44px;height:44px;right:8px;bottom:8px}.tf-v1-popover-button-icon{font-size:20px}.tf-v1-popover-button-icon svg{margin-top:4px;max-height:24px;max-width:24px}.tf-v1-popover-button-icon img{max-width:44px;max-height:44px}.tf-v1-popover-tooltip{position:fixed;right:66px;bottom:8px;left:auto;font-size:12px}.tf-v1-popover-tooltip::before{bottom:14px}.tf-v1-popover-unread-dot{top:0;right:0}.tf-v1-spinner{border:3px solid #aaa;font-size:32px;width:1em;height:1em;border-radius:.5em;box-sizing:border-box;animation:spin 1s linear infinite;border-top-color:#fff;position:absolute;top:50%;left:50%;margin:-16px 0 0 -16px}}'},952:function(e){e.exports=function(){\"use strict\";var e={19:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},249:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},352:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.setAutoClose=t.DEFAULT_AUTO_CLOSE_TIME=void 0;var o=n(476);t.DEFAULT_AUTO_CLOSE_TIME=500,t.setAutoClose=function(e,n,r){n&&r&&window.addEventListener(\"message\",(0,o.getFormSubmitHandler)(e,function(){return setTimeout(r,(o=\"number\"==typeof(e=n)?e:0,Math.max(o,t.DEFAULT_AUTO_CLOSE_TIME)));var e,o}))}},476:function(e,t,n){var o=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.getRedirectHandler=t.getThankYouScreenButtonClickHandler=t.getFormThemeHandler=t.getWelcomeScreenHiddenHandler=t.getDuplicateDetectedHandler=t.getFormSubmitHandler=t.getFormHeightChangedHandler=t.getFormQuestionChangedHandler=t.getFormStartedHandler=t.getFormReadyHandler=void 0;var r=n(1407);t.getFormReadyHandler=function(e,t){return a(\"form-ready\",e,t)},t.getFormStartedHandler=function(e,t){return a(\"form-started\",e,t)},t.getFormQuestionChangedHandler=function(e,t){return a(\"form-screen-changed\",e,t)},t.getFormHeightChangedHandler=function(e,t){return a(\"form-height-changed\",e,t)},t.getFormSubmitHandler=function(e,t){return a(\"form-submit\",e,t)},t.getDuplicateDetectedHandler=function(e,t){return a(\"duplicate-detected\",e,t)},t.getWelcomeScreenHiddenHandler=function(e,t){return a(\"welcome-screen-hidden\",e,t)},t.getFormThemeHandler=function(e,t){return a(\"form-theme\",e,t)},t.getThankYouScreenButtonClickHandler=function(e,t){return a(\"thank-you-screen-button-click\",e,t)},t.getRedirectHandler=function(e,t){return a([\"redirect-after-submit\",\"thank-you-screen-redirect\"],e,(0,r.handleFormRedirect)(t))};var i=function(e,t){return Array.isArray(e)?e.includes(t):e===t};function a(e,t,n){return function(r){var a=r.data,c=a.type,s=a.embedId,u=o(a,[\"type\",\"embedId\"]);i(e,c)&&s===t&&(null==n||n(u))}}},883:function(e,t){var n=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))(function(r,i){function a(e){try{s(o.next(e))}catch(e){i(e)}}function c(e){try{s(o.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,c)}s((o=o.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(s){return function(c){if(n)throw new TypeError(\"Generator is already executing.\");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(n=1,o&&(r=2&c[0]?o.return:c[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,c[1])).done)return r;switch(o=0,r&&(c=[2&c[0],r.value]),c[0]){case 0:case 1:r=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,o=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!((r=(r=a.trys).length>0&&r[r.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!r||c[1]>r[0]&&c[1]<r[3])){a.label=c[1];break}if(6===c[0]&&a.label<r[1]){a.label=r[1],r=c;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(c);break}r[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],o=0}finally{n=r=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,s])}}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.dispatchCustomKeyEventFromIframe=t.removeCustomKeyboardListener=t.addCustomKeyboardListener=void 0;var r=\"Escape\",i=function(e,i){return n(void 0,void 0,void 0,function(){return o(this,function(n){return e.code===r&&\"function\"==typeof i&&(i(),(0,t.removeCustomKeyboardListener)()),[2]})})};t.addCustomKeyboardListener=function(e){return window.document.addEventListener(\"keydown\",function(t){return i(t,e)})},t.removeCustomKeyboardListener=function(){return window.document.removeEventListener(\"keydown\",i)},t.dispatchCustomKeyEventFromIframe=function(e){\"form-close\"===e.data.type&&window.document.dispatchEvent(new KeyboardEvent(\"keydown\",{code:r}))}},1179:function(e,t,n){var o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)},r=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.createPopover=void 0;var i=n(6517),a=n(6530),c=function(e,t){var n=e.parentNode;n&&(n.removeChild(e),n.appendChild(t))},s=function(e,t){void 0===e&&(e=\"span\"),void 0===t&&(t=\"tf-v1-popover-button-icon\");var n=document.createElement(e);return n.className=\"\".concat(t,\" tf-v1-close-icon\"),n.innerHTML=i.closeIconSvg,n.dataset.testid=t,n},u={buttonColor:\"#3a7685\"};t.createPopover=function(e,t){void 0===t&&(t={});var n,l,d,f=o(o({},u),t),p=f.domain,v=r(f,[\"domain\"]),m=(0,i.createIframe)(\"popover\",{formId:e,domain:p,options:v}),h=m.iframe,b=m.embedId,g=m.refresh,y=m.focus,w=function(e,t){var n=document.createElement(\"div\");return n.className=\"tf-v1-popover\",n.dataset.testid=\"tf-v1-popover\",(0,i.setElementSize)(n,{width:e,height:t})}(v.width,v.height),x=function(){var e=document.createElement(\"div\");return e.className=\"tf-v1-popover-wrapper\",e.dataset.testid=\"tf-v1-popover-wrapper\",e}(),_=function(e,t){var n=(0,i.getTextColor)(t),o=document.createElement(\"div\");o.className=\"tf-v1-popover-button-icon\";var r=(0,i.triggerIconSvg)(n),a=null==e?void 0:e.startsWith(\"http\");return o.innerHTML=a?\"<img alt='popover trigger icon button' src='\".concat(e,\"'/>\"):null!=e?e:r,o.dataset.testid=\"default-icon\",o}(v.customIcon,v.buttonColor||u.buttonColor),O=function(){var e=document.createElement(\"div\");e.className=\"tf-v1-spinner\";var t=document.createElement(\"div\");return t.className=\"tf-v1-popover-button-icon\",t.dataset.testid=\"spinner-icon\",t.append(e),t}(),E=s(),P=s(\"button\",\"tf-v1-popover-close\"),j=function(e,t){void 0===t&&(t={});var n=(0,i.getTextColor)(e),o=document.createElement(\"button\");return o.className=\"tf-v1-popover-button\",o.dataset.testid=\"tf-v1-popover-button\",o.style.backgroundColor=e,o.style.color=n,(0,i.addAttributesToElement)(o,t),o}(v.buttonColor||u.buttonColor,v.buttonProps);(v.container||document.body).append(w),x.append(h),w.append(j),w.append(P),j.append(_);var S=function(){l&&l.parentNode&&(l.classList.add(\"closing\"),setTimeout(function(){(0,i.unmountElement)(l)},250))};v.tooltip&&v.tooltip.length>0&&(l=function(e,t){var n=document.createElement(\"span\");n.className=\"tf-v1-popover-tooltip-close\",n.dataset.testid=\"tf-v1-popover-tooltip-close\",n.innerHTML=i.closeIconSvg,n.onclick=t;var o=document.createElement(\"div\");o.className=\"tf-v1-popover-tooltip-text\",o.innerHTML=e;var r=document.createElement(\"div\");return r.className=\"tf-v1-popover-tooltip\",r.dataset.testid=\"tf-v1-popover-tooltip\",r.appendChild(o),r.appendChild(n),r}(v.tooltip,S),w.append(l)),v.notificationDays&&(v.enableSandbox||(0,a.canBuildNotificationDot)(e))&&(d=(0,a.buildNotificationDot)(),j.append(d)),h.onload=function(e){(null==e?void 0:e.isTrusted)&&(w.classList.add(\"open\"),x.style.opacity=\"1\",P.style.opacity=\"1\",c(O,E),(0,i.addCustomKeyboardListener)(T))};var I=function(){(0,i.isOpen)(x)||(S(),d&&(d.classList.add(\"closing\"),v.notificationDays&&!v.enableSandbox&&(0,a.saveNotificationDotHideUntilTime)(e,v.notificationDays),setTimeout(function(){(0,i.unmountElement)(d)},250)),setTimeout(function(){(0,i.isInPage)(x)?(x.style.opacity=\"0\",P.style.opacity=\"0\",x.style.display=\"flex\",setTimeout(function(){w.classList.add(\"open\"),x.style.opacity=\"1\",P.style.opacity=\"1\"}),c(_,E)):(w.append(x),c(_,O),x.style.opacity=\"0\",P.style.opacity=\"0\")}))},T=function(){var n;(0,i.isOpen)(w)&&((0,i.handlePreventReopenOnClose)(v,e),null===(n=t.onClose)||void 0===n||n.call(t),setTimeout(function(){v.keepSession?x.style.display=\"none\":(0,i.unmountElement)(x),w.classList.remove(\"open\"),c(E,_)},250))};(0,i.setAutoClose)(b,v.autoClose,T);var M=function(){(0,i.isOpen)(x)?T():I()};return j.onclick=(0,i.invokeWithoutDefault)(M),P.onclick=(0,i.invokeWithoutDefault)(T),v.open&&!(0,i.isOpen)(x)&&(n=(0,i.handleCustomOpen)(I,v,e)),{open:I,close:T,toggle:M,refresh:g,focus:y,unmount:function(){(0,i.unmountElement)(w),v.open&&(null==n?void 0:n.remove)&&n.remove()}}}},1403:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.getTextColor=void 0;var o=n(6546);t.getTextColor=function(e){if(!e)return\"#FFFFFF\";var t=e.startsWith(\"#\")?(0,o.hexRgb)(e):function(e){var t={red:0,green:0,blue:0},n=e.match(/\\d+/g);return n&&(t.red=parseInt(n[0],10),t.green=parseInt(n[0],10),t.blue=parseInt(n[0],10)),t}(e),n=t.red,r=t.green,i=t.blue;return Math.round((299*n+587*r+114*i)/1e3)>150?\"#000000\":\"#FFFFFF\"}},1407:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.handleFormRedirect=void 0,t.handleFormRedirect=function(e){return function(t){var n,o,r=t.url,i=t.target;if(r)switch(void 0===i?\"_parent\":i){case\"_self\":e.src=(n=e.src,(o=r).includes(\"#\")&&o.startsWith(\"\".concat(n,\"#\"))?o.includes(\"?\")?o.replace(\"#\",\"&tf-embed-ts=\".concat(Date.now(),\"#\")):o.replace(\"#\",\"?tf-embed-ts=\".concat(Date.now(),\"#\")):o);break;case\"_blank\":window.open(r,\"_blank\");break;case\"_top\":var a=document.createElement(\"a\");a.href=r,a.target=\"_top\",document.body.appendChild(a),a.click(),document.body.removeChild(a);break;default:window.location.href=r}else console.error(\"Redirect failed, no URL provided\")}}},1706:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.lazyInitialize=void 0,t.lazyInitialize=function(e,t){var n=new IntersectionObserver(function(e){e.forEach(function(e){e.isIntersecting&&(t(),n.unobserve(e.target))})});n.observe(e)}},1915:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(3869),t),r(n(8885),t)},1947:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.refreshIframe=void 0,t.refreshIframe=function(e){if(e){var t=e.src;if(t.includes(\"&refresh\")){var n=t.split(\"&refresh#\");e.src=n.join(\"#\")}else(n=t.split(\"#\"))[0]=\"\".concat(n[0],\"&refresh\"),e.src=n.join(\"#\")}}},2114:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.sleep=void 0,t.sleep=function(e){return new Promise(function(t){return setTimeout(t,e)})}},2466:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.WIDGET_ATTRIBUTE=t.SLIDER_WIDTH=t.SLIDER_POSITION=t.SLIDER_ATTRIBUTE=t.SIDETAB_ATTRIBUTE=t.POPUP_SIZE=t.POPUP_ATTRIBUTE=t.POPOVER_ATTRIBUTE=t.LIVE_EMBED_DATA_REGION_EU=t.LIVE_EMBED_DATA_REGION_ATTRIBUTE=t.LIVE_EMBED_ATTRIBUTE=t.DEFAULT_EU_DOMAIN=t.DEFAULT_DOMAIN=void 0,t.DEFAULT_DOMAIN=\"form.typeform.com\",t.DEFAULT_EU_DOMAIN=\"form.typeform.eu\",t.LIVE_EMBED_ATTRIBUTE=\"data-tf-live\",t.LIVE_EMBED_DATA_REGION_ATTRIBUTE=\"data-tf-region\",t.LIVE_EMBED_DATA_REGION_EU=\"eu\",t.POPOVER_ATTRIBUTE=\"data-tf-popover\",t.POPUP_ATTRIBUTE=\"data-tf-popup\",t.POPUP_SIZE=100,t.SIDETAB_ATTRIBUTE=\"data-tf-sidetab\",t.SLIDER_ATTRIBUTE=\"data-tf-slider\",t.SLIDER_POSITION=\"right\",t.SLIDER_WIDTH=800,t.WIDGET_ATTRIBUTE=\"data-tf-widget\"},2588:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.overrideFullScreenStyles=void 0,t.overrideFullScreenStyles=function(e,t){Object.assign(e.style,{zIndex:\"10001\",position:\"absolute\",top:\"0\",left:\"0\",width:\"100%\",height:\"100%\"}),t.style.borderRadius=\"0\",Object.assign(document.body.style,{overflow:\"hidden\"})}},2689:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.isDefined=void 0,t.isDefined=function(e){return null!=e}},3106:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.handleCustomOpen=t.handlePreventReopenOnClose=void 0;var n={remove:function(){}};t.handlePreventReopenOnClose=function(e,t){e.preventReopenOnClose&&r(t)},t.handleCustomOpen=function(e,t,r){var i=t.open,a=t.openValue,c=t.preventReopenOnClose,s=function(e,t,n,r){return function(){var i,a;if(!(r&&o(t)||\"all\"===n&&(a=document.querySelector(\".tf-v1-popup, .tf-v1-slider, .tf-v1-popover-wrapper, .tf-v1-sidetab-wrapper\"),(null==a?void 0:a.offsetHeight)||(null==a?void 0:a.offsetWidth)||(null===(i=null==a?void 0:a.getClientRects())||void 0===i?void 0:i.length))||\"same\"===n&&function(e){var t=document.querySelectorAll(\".tf-v1-popup, .tf-v1-slider, .tf-v1-popover-wrapper, .tf-v1-sidetab-wrapper\");return Array.from(t).some(function(t){var n,o=null===(n=t.querySelector(\"iframe\"))||void 0===n?void 0:n.src;return(null==o?void 0:o.includes(\"typeform.com/to/\".concat(e)))||(null==o?void 0:o.startsWith(e))})}(t)))return e()}}(e,r,t.respectOpenModals,c);switch(i){case\"load\":return s(),n;case\"exit\":return a?function(e,t){var n=0,o=function(r){r.clientY<e&&r.clientY<n?(document.removeEventListener(\"mousemove\",o,!0),t()):n=r.clientY};return document.addEventListener(\"mousemove\",o,!0),{remove:function(){return document.removeEventListener(\"mousemove\",o,!0)}}}(a,s):n;case\"time\":return setTimeout(function(){s()},a),n;case\"scroll\":return a?function(e,t){function n(){var o=window.pageYOffset||document.documentElement.scrollTop,r=document.documentElement.clientTop||0,i=document.documentElement.scrollHeight,a=o-r,c=a/i*100,s=a+window.innerHeight>=i;(c>=e||s)&&(t(),document.removeEventListener(\"scroll\",n))}return document.addEventListener(\"scroll\",n),{remove:function(){return document.removeEventListener(\"scroll\",n)}}}(a,s):n;default:return n}};var o=function(e){return document.cookie.includes(\"tf-\".concat(e,\"-closed=true\"))},r=function(e){document.cookie=\"tf-\".concat(e,\"-closed=true;Path=/\")}},3124:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.setElementSize=t.getValueWithUnits=void 0,t.getValueWithUnits=function(e){return\"string\"!=typeof e||e.match(/^[0-9]+$/)?\"\".concat(e,\"px\"):e},t.setElementSize=function(e,n){var o=n.width,r=n.height;return o&&(e.style.width=(0,t.getValueWithUnits)(o)),r&&(e.style.height=(0,t.getValueWithUnits)(r)),e}},3542:function(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))(function(r,i){function a(e){try{s(o.next(e))}catch(e){i(e)}}function c(e){try{s(o.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,c)}s((o=o.apply(e,t||[])).next())})},r=this&&this.__generator||function(e,t){var n,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(s){return function(c){if(n)throw new TypeError(\"Generator is already executing.\");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(n=1,o&&(r=2&c[0]?o.return:c[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,c[1])).done)return r;switch(o=0,r&&(c=[2&c[0],r.value]),c[0]){case 0:case 1:r=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,o=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!((r=(r=a.trys).length>0&&r[r.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!r||c[1]>r[0]&&c[1]<r[3])){a.label=c[1];break}if(6===c[0]&&a.label<r[1]){a.label=r[1],r=c;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(c);break}r[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],o=0}finally{n=r=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,s])}}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.waitForHubspotCookie=t.getHubspotHiddenFields=t.getHubspotCookieValue=void 0;var i=n(2114);t.getHubspotCookieValue=function(){var e=document.cookie.match(new RegExp(\"(^| )\".concat(\"hubspotutk\",\"=([^;]+)\")));return e&&e[2]||void 0},t.getHubspotHiddenFields=function(){return{hubspot_page_name:document.title,hubspot_page_url:window.location.href,hubspot_utk:(0,t.getHubspotCookieValue)()}},t.waitForHubspotCookie=function(){return o(void 0,void 0,void 0,function(){var e,n;return r(this,function(o){switch(o.label){case 0:e=10,n=0,o.label=1;case 1:return!(0,t.getHubspotCookieValue)()&&n<e?[4,(0,i.sleep)(250)]:[3,4];case 2:o.sent(),o.label=3;case 3:return n++,[3,1];case 4:return[2]}})})}},3631:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.buildWidget=void 0;var o=n(6517);t.buildWidget=function(e,t,n){var r=document.createElement(\"div\");return r.className=\"tf-v1-widget\",r.dataset.testid=\"tf-v1-widget\",r.append(e),(0,o.setElementSize)(r,{width:t,height:n})}},3709:function(e,t){var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},n.apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0}),t.getTransitiveSearchParams=void 0,t.getTransitiveSearchParams=function(e){var t=new URL(window.location.href);return\"boolean\"==typeof e&&e?Object.fromEntries(t.searchParams.entries()):Array.isArray(e)&&e.length>0?e.reduce(function(e,o){var r,i=t.searchParams.get(o);return i?n(n({},e),((r={})[o]=i,r)):e},{}):{}}},3869:function(e,t,n){var o=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.createSlider=void 0;var r=n(6517),i=n(2466);t.createSlider=function(e,t){if(void 0===t&&(t={}),!(0,r.hasDom)())return{open:function(){},close:function(){},toggle:function(){},refresh:function(){},focus:function(){},unmount:function(){}};var n,a=t.position,c=void 0===a?i.SLIDER_POSITION:a,s=t.width,u=void 0===s?i.SLIDER_WIDTH:s,l=t.onClose,d=t.domain,f=o(t,[\"position\",\"width\",\"onClose\",\"domain\"]),p=(0,r.createIframe)(\"slider\",{formId:e,domain:d,options:f}),v=p.iframe,m=p.embedId,h=p.refresh,b=p.focus,g=document.body.style.overflow,y=function(e){var t=document.createElement(\"div\");return t.className=\"tf-v1-slider \".concat(e),t.dataset.testid=\"tf-v1-slider\",t.style.opacity=\"0\",t}(c),w=function(){var e=document.createElement(\"div\");return e.className=\"tf-v1-spinner\",e}(),x=function(e,t){var n=document.createElement(\"div\");return n.className=\"tf-v1-iframe-wrapper\",n.style[e]=\"-100%\",(0,r.setElementSize)(n,{width:t})}(c,u);x.append(v),y.append(w),y.append(x);var _=f.container||document.body;v.onload=function(e){(null==e?void 0:e.isTrusted)&&(x.style[c]=\"0\",setTimeout(function(){w.style.display=\"none\"},500),(0,r.addCustomKeyboardListener)(E))};var O=function(){(0,r.isOpen)(y)||((0,r.isInPage)(y)?(y.style.display=\"flex\",setTimeout(function(){x.style[c]=\"0\"})):(_.append(y),w.style.display=\"block\"),document.body.style.overflow=\"hidden\",setTimeout(function(){y.style.opacity=\"1\"}))},E=function(){(0,r.isOpen)(y)&&((0,r.handlePreventReopenOnClose)(f,e),null==l||l(),y.style.opacity=\"0\",x.style[c]=\"-100%\",document.body.style.overflow=g,setTimeout(function(){f.keepSession?y.style.display=\"none\":P()},500))};(0,r.setAutoClose)(m,f.autoClose,E),x.append(function(e){var t=document.createElement(\"button\");return t.className=\"tf-v1-close tf-v1-close-icon\",t.innerHTML=r.closeIconSvg,t.ariaLabel=\"Close\",t.onclick=(0,r.invokeWithoutDefault)(e),t}(E)),f.open&&!(0,r.isOpen)(y)&&(n=(0,r.handleCustomOpen)(O,f,e));var P=function(){(0,r.unmountElement)(y),f.open&&(null==n?void 0:n.remove)&&n.remove()};return{open:O,close:E,toggle:function(){(0,r.isOpen)(y)?E():O()},refresh:h,focus:b,unmount:P}}},4375:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.includeCss=void 0,t.includeCss=function(e){var t=function(e){return\"\".concat(\"https://embed.typeform.com/next/css/\").concat(e)}(e);if(!document.querySelector('link[href=\"'.concat(t,'\"]'))){var n=document.createElement(\"link\");n.rel=\"stylesheet\",n.href=t,document.head.append(n)}}},4424:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.invokeWithoutDefault=void 0,t.invokeWithoutDefault=function(e){return function(t){null==t||t.preventDefault(),e()}}},4471:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.setupGaInstance=t.sendGaIdMessage=void 0,t.sendGaIdMessage=function(e,t,n){var o={embedId:e,gaClientId:t};setTimeout(function(){n&&n.contentWindow&&n.contentWindow.postMessage({type:\"ga-client-id\",data:o},\"*\")},0)};var n=function(e){console.error(e)},o=function(e){n(\"Whoops! You enabled the shareGaInstance feature in your typeform embed but \".concat(e,\".\\n\\n\")+\"Make sure to include Google Analytics Javascript code before the Typeform Embed Javascript code in your page and use correct tracker ID.\\n\\nIt is also possible the Google Analytics was blocked by your adblock plugin.\")};t.setupGaInstance=function(e,r,i){var a=\"string\"==typeof i?i:void 0;if(window.gtag){if(a||(a=function(){if(window.dataLayer){var e=window.dataLayer.find(function(e){return e.length>1&&\"config\"===e[0]});return e&&e[1]}}()),!a)return void o(\"the tracking ID could not be retrieved\");var c=!1;window.gtag(\"get\",a,\"client_id\",function(n){c=!0,(0,t.sendGaIdMessage)(r,n,e)}),setTimeout(function(){c||o(\"the tracker with ID \".concat(a,\" was not found\"))},3e3)}else try{var s=function(e,t){return t?e.find(function(e){return e.get(\"trackingId\")===t}):e[0]}(window.ga.getAll(),a);s?(0,t.sendGaIdMessage)(r,s.get(\"clientId\"),e):o(\"the tracker with ID \".concat(a,\" was not found\"))}catch(e){o(\"the Google Analytics object was not found\"),n(e)}}},4948:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(4989),t),r(n(5981),t)},4976:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.closeIconSvg=void 0,t.closeIconSvg='<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4.293 4.293a1 1 0 0 1 1.414 0L12 10.586l6.293-6.293a1 1 0 1 1 1.414 1.414L13.414 12l6.293 6.293a1 1 0 0 1-1.414 1.414L12 13.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L10.586 12 4.293 5.707a1 1 0 0 1 0-1.414Z\" fill=\"currentColor\"/>\\n</svg>'},4989:function(e,t,n){var o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)},r=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.createSidetab=void 0;var i=n(6517),a={buttonColor:\"#3a7685\",buttonText:\"Launch me\"},c=function(e,t){void 0===e&&(e=\"div\"),void 0===t&&(t=\"tf-v1-sidetab-button-icon\");var n=document.createElement(e);return n.className=\"\".concat(t,\" tf-v1-close-icon\"),n.innerHTML=i.closeIconSvg,n.dataset.testid=t,n},s=function(e,t){var n=e.parentNode;n&&(n.removeChild(e),n.appendChild(t))};t.createSidetab=function(e,t){void 0===t&&(t={});var n,u=o(o({},a),t),l=u.domain,d=r(u,[\"domain\"]),f=(0,i.createIframe)(\"side-tab\",{formId:e,domain:l,options:d}),p=f.iframe,v=f.embedId,m=f.refresh,h=f.focus,b=function(e,t,n,o){var r=document.createElement(\"div\");return r.className=\"tf-v1-sidetab\",r.dataset.testid=\"tf-v1-sidetab\",(0,i.setElementSize)(r,{width:e,height:t}),void 0!==n?(r.style.top=\"calc(\".concat((0,i.getValueWithUnits)(n),\" + \").concat((0,i.getValueWithUnits)(t||580),\" / 2)\"),r.style.bottom=\"auto\"):void 0!==o&&(r.style.top=\"auto\",r.style.bottom=\"calc(\".concat((0,i.getValueWithUnits)(o),\" - \").concat((0,i.getValueWithUnits)(t||580),\" / 2)\")),r}(d.width,d.height,d.top,d.bottom),g=function(){var e=document.createElement(\"div\");return e.className=\"tf-v1-sidetab-wrapper\",e.dataset.testid=\"tf-v1-sidetab-wrapper\",e}(),y=function(){var e=document.createElement(\"div\");e.className=\"tf-v1-spinner\";var t=document.createElement(\"div\");return t.className=\"tf-v1-sidetab-button-icon\",t.dataset.testid=\"spinner-icon\",t.append(e),t}(),w=function(e){var t=e.backgroundColor,n=e.textColor,o=e.width,r=e.height,a=e.align,c=void 0===a?\"center\":a,s=e.buttonProps,u=void 0===s?{}:s,l=document.createElement(\"button\");return l.className=\"tf-v1-sidetab-button\",l.style.backgroundColor=t,l.style.color=n||(0,i.getTextColor)(t),(0,i.addAttributesToElement)(l,u),(0,i.setElementSize)(l,{width:o,height:r}),r&&(l.style.left=\"-\".concat((0,i.getValueWithUnits)(r))),\"top\"===c?(l.style.transform=\"rotate(-90deg) translateX(-100%)\",l.style.top=\"0\"):\"bottom\"===c&&(l.style.transform=\"rotate(-90deg) translateX(0)\",l.style.top=\"auto\",l.style.bottom=\"-\".concat((0,i.getValueWithUnits)(r||48))),l}({backgroundColor:d.buttonColor||a.buttonColor,textColor:d.buttonTextColor,width:d.buttonHeight,height:d.buttonWidth,align:d.buttonAlign,buttonProps:d.buttonProps}),x=function(e,t){var n=document.createElement(\"span\");return n.className=\"tf-v1-sidetab-button-text\",n.innerHTML=e,t&&(n.style.fontSize=(0,i.getValueWithUnits)(t)),n}(d.buttonText||a.buttonText,d.buttonTextSize),_=function(e,t,n,o){var r=n||(0,i.getTextColor)(t),a=document.createElement(\"div\");a.className=\"tf-v1-sidetab-button-icon\",o&&(a.style.width=(0,i.getValueWithUnits)(o),a.style.height=(0,i.getValueWithUnits)(o));var c=(0,i.triggerIconSvg)(r),s=null==e?void 0:e.startsWith(\"http\");return a.innerHTML=s?\"<img alt='popover trigger icon button' src='\".concat(e,\"'/>\"):null!=e?e:c,a.dataset.testid=\"default-icon\",a}(d.customIcon,d.buttonColor||a.buttonColor,d.buttonTextColor,d.buttonTextSize),O=c(),E=c(\"button\",\"tf-v1-sidetab-close\");(d.container||document.body).append(b),g.append(p),b.append(w),b.append(E),w.append(_),w.append(x),setTimeout(function(){b.classList.add(\"ready\")},250),p.onload=function(e){(null==e?void 0:e.isTrusted)&&(b.classList.add(\"open\"),s(y,O),(0,i.addCustomKeyboardListener)(j))};var P=function(){(0,i.isOpen)(g)||((0,i.isInPage)(g)?(g.style.display=\"flex\",b.classList.add(\"open\"),s(_,O)):(b.append(g),s(_,y)))},j=function(){var t;(0,i.isOpen)(g)&&((0,i.handlePreventReopenOnClose)(d,e),null===(t=d.onClose)||void 0===t||t.call(d),b.classList.remove(\"open\"),setTimeout(function(){d.keepSession?g.style.display=\"none\":(0,i.unmountElement)(g),s(O,_)},250))};(0,i.setAutoClose)(v,d.autoClose,j);var S=function(){(0,i.isOpen)(g)?j():P()};return w.onclick=(0,i.invokeWithoutDefault)(S),E.onclick=(0,i.invokeWithoutDefault)(j),d.open&&!(0,i.isOpen)(g)&&(n=(0,i.handleCustomOpen)(P,d,e)),{open:P,close:j,toggle:S,refresh:m,focus:h,unmount:function(){(0,i.unmountElement)(b),d.open&&(null==n?void 0:n.remove)&&n.remove()}}}},5330:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.isVisible=t.isInPage=t.isOpen=void 0,t.isOpen=function(e){return(0,t.isInPage)(e)&&(0,t.isVisible)(e)},t.isInPage=function(e){return!!e.parentNode},t.isVisible=function(e){return\"none\"!==e.style.display}},5363:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(1179),t),r(n(249),t)},5400:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.triggerIconSvg=void 0,t.triggerIconSvg=function(e){return'<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n <path\\n fill-rule=\"evenodd\"\\n clip-rule=\"evenodd\"\\n d=\"M2.002 5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6.697l-5.748 3.832A1 1 0 0 1 6.002 22v-3h-2a2 2 0 0 1-2-2V5Zm18 0h-16v12h3a1 1 0 0 1 1 1v2.131l4.445-2.963a1 1 0 0 1 .555-.168h7V5Z\"\\n fill='.concat(e,'\\n />\\n <path\\n fill-rule=\"evenodd\"\\n clip-rule=\"evenodd\"\\n d=\"M7.5 12.25a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5Zm4.5 0a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5Zm4.5 0a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5Z\"\\n fill=').concat(e,\"\\n />\\n </svg>\")}},5981:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},6112:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.triggerIframeRedraw=void 0,t.triggerIframeRedraw=function(){this.style.transform=\"translateZ(0)\"}},6257:function(e,t,n){var o=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.createPopup=void 0;var r=n(6517),i=n(2466),a=n(6517);t.createPopup=function(e,t){if(void 0===t&&(t={}),!(0,r.hasDom)())return{open:function(){},close:function(){},toggle:function(){},refresh:function(){},focus:function(){},unmount:function(){}};var n,c=t.width,s=t.height,u=t.size,l=void 0===u?i.POPUP_SIZE:u,d=t.onClose,f=t.domain,p=o(t,[\"width\",\"height\",\"size\",\"onClose\",\"domain\"]),v=(0,r.createIframe)(\"popup\",{formId:e,domain:f,options:p}),m=v.iframe,h=v.embedId,b=v.refresh,g=v.focus,y=document.body.style.overflow,w=function(){var e=document.createElement(\"div\");return e.className=\"tf-v1-popup\",e.dataset.testid=\"tf-v1-popup\",e.style.opacity=\"0\",e}(),x=function(){var e=document.createElement(\"div\");return e.className=\"tf-v1-spinner\",e}(),_=function(e,t,n){var o=document.createElement(\"div\");return o.className=\"tf-v1-iframe-wrapper\",o.style.opacity=\"0\",(0,r.isDefined)(e)&&(0,r.isDefined)(t)?(0,r.setElementSize)(o,{width:e,height:t}):(o.style.width=\"calc(\".concat(n,\"% - 80px)\"),o.style.height=\"calc(\".concat(n,\"% - 80px)\"),o)}(c,s,l);_.append(m),w.append(x),w.append(_);var O=p.container||document.body;m.onload=function(e){(null==e?void 0:e.isTrusted)&&(_.style.opacity=\"1\",setTimeout(function(){x.style.display=\"none\"},250),(0,r.addCustomKeyboardListener)(P))};var E=function(){(0,a.isOpen)(w)||((0,a.isInPage)(w)?w.style.display=\"flex\":(x.style.display=\"block\",O.append(w)),document.body.style.overflow=\"hidden\",setTimeout(function(){w.style.opacity=\"1\"}))},P=function(){(0,a.isOpen)(w)&&((0,r.handlePreventReopenOnClose)(p,e),null==d||d(),w.style.opacity=\"0\",document.body.style.overflow=y,setTimeout(function(){p.keepSession?w.style.display=\"none\":j()},250))};_.append(function(e){var t=document.createElement(\"button\");return t.className=\"tf-v1-close tf-v1-close-icon\",t.innerHTML=r.closeIconSvg,t.ariaLabel=\"Close\",t.onclick=(0,r.invokeWithoutDefault)(e),t}(P)),(0,r.setAutoClose)(h,p.autoClose,P),p.open&&!(0,a.isOpen)(w)&&(n=(0,r.handleCustomOpen)(E,p,e));var j=function(){(0,r.unmountElement)(w),p.open&&(null==n?void 0:n.remove)&&n.remove()};return{open:E,close:P,toggle:function(){(0,a.isOpen)(w)?P():E()},refresh:b,focus:g,unmount:j}}},6419:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.changeColorOpacity=void 0,t.changeColorOpacity=function(e,t){return void 0===e&&(e=\"\"),void 0===t&&(t=255),e.startsWith(\"rgba(\")?null==e?void 0:e.replace(/, [\\d.]+\\)$/,\", \".concat(t,\")\")):e}},6517:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(7177),t),r(n(7677),t),r(n(9188),t),r(n(4375),t),r(n(2689),t),r(n(7917),t),r(n(8235),t),r(n(7853),t),r(n(3124),t),r(n(9556),t),r(n(3106),t),r(n(352),t),r(n(4471),t),r(n(1403),t),r(n(1706),t),r(n(5330),t),r(n(6419),t),r(n(3542),t),r(n(4424),t),r(n(9723),t),r(n(4976),t),r(n(5400),t)},6530:function(e,t){var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},n.apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0}),t.buildNotificationDot=t.canBuildNotificationDot=t.saveNotificationDotHideUntilTime=void 0;var o=\"tfNotificationData\",r=function(){var e=localStorage.getItem(o);return e?JSON.parse(e):{}},i=function(e){e&&localStorage.setItem(o,JSON.stringify(e))};t.saveNotificationDotHideUntilTime=function(e,t){var o,a=new Date;a.setDate(a.getDate()+t),i(n(n({},r()),((o={})[e]={hideUntilTime:a.getTime()},o)))},t.canBuildNotificationDot=function(e){var t=function(e){var t;return(null===(t=r()[e])||void 0===t?void 0:t.hideUntilTime)||0}(e);return(new Date).getTime()>t&&(t&&function(e){var t=r();delete t[e],i(t)}(e),!0)},t.buildNotificationDot=function(){var e=document.createElement(\"span\");return e.className=\"tf-v1-popover-unread-dot\",e.dataset.testid=\"tf-v1-popover-unread-dot\",e}},6546:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.hexRgb=void 0;var n=\"a-f\\\\d\",o=\"#?[\".concat(n,\"]{3}[\").concat(n,\"]?\"),r=\"#?[\".concat(n,\"]{6}([\").concat(n,\"]{2})?\"),i=new RegExp(\"[^#\".concat(n,\"]\"),\"gi\"),a=new RegExp(\"^\".concat(o,\"$|^\").concat(r,\"$\"),\"i\");t.hexRgb=function(e){if(\"string\"!=typeof e||i.test(e)||!a.test(e))throw new TypeError(\"Expected a valid hex string\");8===(e=e.replace(/^#/,\"\")).length&&(e=e.slice(0,6)),4===e.length&&(e=e.slice(0,3)),3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);var t=Number.parseInt(e,16);return{red:t>>16,green:t>>8&255,blue:255&t}}},6932:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(6257),t),r(n(8625),t)},7121:function(e,t,n){var o=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n},r=this&&this.__read||function(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a};Object.defineProperty(t,\"__esModule\",{value:!0}),t.createWidget=void 0;var i=n(6517),a=n(476),c=n(9586),s=n(2588);t.createWidget=function(e,t){if(!(0,i.hasDom)())return{refresh:function(){},focus:function(){},unmount:function(){}};var n=t.domain,u=o(t,[\"domain\"]);u.inlineOnMobile=t.inlineOnMobile||t.fullScreen;var l=document.body.style.overflow;u.inlineOnMobile||!u.forceTouch&&!(0,i.isFullscreen)()||(u.displayAsFullScreenModal=!0,u.forceTouch=!0,u.autoResize=!1);var d=(0,i.createIframe)(\"widget\",{formId:e,domain:n,options:u}),f=d.embedId,p=d.iframe,v=d.refresh,m=d.focus,h=(0,c.buildWidget)(p,u.width,u.height);if(u.fullScreen&&(0,s.overrideFullScreenStyles)(t.container,p),u.autoResize){var b=r(\"string\"==typeof u.autoResize?u.autoResize.split(\",\").map(function(e){return parseInt(e)}):[],2),g=b[0],y=b[1];window.addEventListener(\"message\",(0,a.getFormHeightChangedHandler)(f,function(e){var n=Math.max(e.height,g||0);y&&(n=Math.min(n,y)),t.container.style.height=\"\".concat(n,\"px\")}))}u.autoFocus&&window.addEventListener(\"message\",(0,a.getFormReadyHandler)(f,function(){setTimeout(function(){m()},1e3)}));var w,x=function(){return t.container.append(h)};if(t.container.innerHTML=\"\",t.lazy?(0,i.lazyInitialize)(t.container,x):x(),u.displayAsFullScreenModal){var _=\"\",O=t.container,E=O.style.height;window.addEventListener(\"message\",(0,a.getWelcomeScreenHiddenHandler)(f,function(){O.classList.add(\"tf-v1-widget-fullscreen\"),void 0!==t.opacity&&(O.style.backgroundColor=_)})),window.addEventListener(\"message\",(0,a.getFormThemeHandler)(f,function(e){var t;_=(0,i.changeColorOpacity)(null===(t=null==e?void 0:e.theme)||void 0===t?void 0:t.backgroundColor)}));var P=((w=document.createElement(\"button\")).className=\"tf-v1-widget-close tf-v1-close-icon\",w.innerHTML=\"×\",w.ariaLabel=\"Close\",w);P.onclick=(0,i.invokeWithoutDefault)(function(){var e;if(O.style.height=E,null===(e=t.onClose)||void 0===e||e.call(t),O.classList.remove(\"tf-v1-widget-fullscreen\"),O.style.backgroundColor=\"\",u.fullScreen&&(document.body.style.overflow=l),t.keepSession){var n=document.createElement(\"div\");n.className=\"tf-v1-widget-iframe-overlay\",n.onclick=function(){O.classList.add(\"tf-v1-widget-fullscreen\"),(0,i.unmountElement)(n)},h.append(n)}else t.container.innerHTML=\"\",x(),O.append(P)}),O.append(P)}return{refresh:v,focus:m,unmount:function(){(0,i.unmountElement)(h)}}}},7177:function(e,t,n){var o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)},r=this&&this.__read||function(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a};Object.defineProperty(t,\"__esModule\",{value:!0}),t.buildIframeSrc=void 0;var i=n(2466),a=n(7853),c=n(2689),s=n(3709),u=n(3542),l={widget:\"embed-widget\",popup:\"popup-blank\",slider:\"popup-drawer\",popover:\"popup-popover\",\"side-tab\":\"popup-side-panel\"};t.buildIframeSrc=function(e){var t=e.domain,n=e.formId,d=e.type,f=e.embedId,p=e.options,v=function(e,t,n){var r=n.transitiveSearchParams,i=n.source,a=n.medium,c=n.mediumVersion,u=n.hideFooter,d=n.hideHeaders,f=n.opacity,p=n.disableTracking,v=n.enableSandbox,m=n.shareGaInstance,h=n.forceTouch,b=n.displayAsFullScreenModal,g=n.tracking,y=n.redirectTarget,w=n.autoResize,x=n.disableScroll,_=n.onEndingButtonClick,O=n.noHeading,E=n.noScrollbars,P=(0,s.getTransitiveSearchParams)(r);return o(o(o({},{\"typeform-embed-id\":t,\"typeform-embed\":l[e],\"typeform-source\":i,\"typeform-medium\":a,\"typeform-medium-version\":c,\"embed-hide-footer\":u?\"true\":void 0,\"embed-hide-headers\":d?\"true\":void 0,\"embed-opacity\":f,\"disable-tracking\":p||v?\"true\":void 0,\"enable-sandbox\":v?\"true\":void 0,\"share-ga-instance\":m?\"true\":void 0,\"force-touch\":h?\"true\":void 0,\"add-placeholder-ws\":\"widget\"===e&&b?\"true\":void 0,\"typeform-embed-redirect-target\":y,\"typeform-embed-handles-redirect\":1,\"typeform-embed-auto-resize\":w?\"true\":void 0,\"typeform-embed-disable-scroll\":x?\"true\":void 0,\"typeform-embed-handle-ending-button-click\":_?\"true\":void 0,\"typeform-embed-no-heading\":O?\"true\":void 0,\"typeform-embed-no-scrollbars\":E?\"true\":void 0}),P),g)}(d,f,function(e){return e.noHeading||(e.noHeading=document.querySelectorAll(\"h1\").length>0),o(o({},{source:null===(t=null===window||void 0===window?void 0:window.location)||void 0===t?void 0:t.hostname.replace(/^www\\./,\"\"),medium:\"embed-sdk\",mediumVersion:\"next\"}),(0,a.removeUndefinedKeys)(e));var t}(p)),m=function(e,t,n){if(void 0===t&&(t=i.DEFAULT_DOMAIN),e.startsWith(\"http://\")||e.startsWith(\"https://\"))return new URL(e);var o=t!==i.DEFAULT_DOMAIN?t:function(e){return\"eu\"===e?i.DEFAULT_EU_DOMAIN:i.DEFAULT_DOMAIN}(n);return new URL(\"https://\".concat(o,\"/to/\").concat(e))}(n,t,null==p?void 0:p.region);if(Object.entries(v).filter(function(e){var t=r(e,2)[1];return(0,c.isDefined)(t)}).forEach(function(e){var t=r(e,2),n=t[0],o=t[1];m.searchParams.set(n,o)}),p.hubspot){var h=(0,u.getHubspotHiddenFields)();p.hidden=o(o({},p.hidden),h)}return m.hash=function(e,t){var n=new URLSearchParams;t.hidden&&Object.entries(t.hidden).filter(function(e){var t=r(e,2)[1];return(0,c.isDefined)(t)&&\"\"!==t}).forEach(function(o){var i=r(o,2),a=i[0],c=i[1];\"boolean\"==typeof t.transitiveSearchParams&&e.searchParams.delete(a),n.set(a,c)});var o=function(e){if(!e)return null;var t=Object.keys(e).at(0),n=t&&e[t]||void 0;return void 0===t||void 0===n?null:{key:\"answers-\".concat(t),value:n}}(t.preselect);if(o){var i=o.key,a=o.value;n.set(i,a)}return n.toString()}(m,p),m.href}},7677:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(9310),t),r(n(883),t)},7783:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(5363),t),r(n(6932),t),r(n(1915),t),r(n(9814),t),r(n(4948),t)},7853:function(e,t,n){var o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)},r=this&&this.__read||function(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a};Object.defineProperty(t,\"__esModule\",{value:!0}),t.removeUndefinedKeys=void 0;var i=n(2689);t.removeUndefinedKeys=function(e){return Object.entries(e).filter(function(e){var t=r(e,2)[1];return(0,i.isDefined)(t)}).reduce(function(e,t){var n,i=r(t,2),a=i[0],c=i[1];return o(o({},e),((n={})[a]=c,n))},{})}},7917:function(e,t){var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},n.apply(this,arguments)},o=this&&this.__read||function(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a};Object.defineProperty(t,\"__esModule\",{value:!0}),t.loadOptionsFromAttributes=t.transformAttributeValue=t.camelCaseToKebabCase=void 0,t.camelCaseToKebabCase=function(e){return e.split(\"\").map(function(e,t){return e.toUpperCase()===e?\"\".concat(0!==t?\"-\":\"\").concat(e.toLowerCase()):e}).join(\"\")};var r=function(e){return e||void 0},i=function(e){if(null!==e)return\"\"===e||\"yes\"===e||\"true\"===e},a=function(e){var t=e?parseInt(e,10):NaN;return isNaN(t)?void 0:t},c=\"%ESCAPED_COMMA%\",s=function(e){if(e)return e.replace(/\\s/g,\"\").replace(/\\\\,/g,c).split(\",\").filter(function(e){return!!e}).map(function(e){return e.replace(c,\",\")})};t.transformAttributeValue=function(e,t){var u,l,d;switch(t){case\"string\":return r(e);case\"boolean\":return i(e);case\"integer\":return a(e);case\"function\":return function(e){var t=e&&e in window?window[e]:void 0;return\"function\"==typeof t?t:void 0}(e);case\"array\":return s(e);case\"record\":return function(e){if(e)return e.replace(/\\\\,/g,c).split(\",\").filter(function(e){return!!e}).map(function(e){return e.replace(c,\",\")}).reduce(function(e,t){var r,i=t.match(/^([^=]+)=(.*)$/);if(i){var a=o(i,3),c=a[1],s=a[2];return n(n({},e),((r={})[c.trim()]=s,r))}return e},{})}(e);case\"integerOrString\":return function(e){if(e)return e.match(/^[0-9]+$/)?a(e):r(e)}(e);case\"integerOrBoolean\":return null!==(u=a(e))&&void 0!==u?u:i(e);case\"stringOrBoolean\":return null!==(l=r(e))&&void 0!==l?l:i(e);case\"arrayOrBoolean\":return null!==(d=s(e))&&void 0!==d?d:i(e);default:throw new Error(\"Invalid attribute transformation \".concat(t))}},t.loadOptionsFromAttributes=function(e,o){return Object.keys(o).reduce(function(r,i){var a;return n(n({},r),((a={})[i]=(0,t.transformAttributeValue)(e.getAttribute(\"data-tf-\".concat((0,t.camelCaseToKebabCase)(i))),o[i]),a))},{})}},8235:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.isFullscreen=t.isMobile=t.isBigScreen=void 0,t.isBigScreen=function(){return window.screen.width>=1024&&window.screen.height>=768},t.isMobile=function(){return/mobile|tablet|android/i.test(navigator.userAgent.toLowerCase())},t.isFullscreen=function(){return(0,t.isMobile)()&&!(0,t.isBigScreen)()}},8625:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},8885:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},9188:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.hasDom=void 0,t.hasDom=function(){return\"undefined\"!=typeof document&&\"undefined\"!=typeof window}},9310:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.createIframe=void 0;var o=n(7177),r=n(6517),i=n(9590),a=n(476),c=n(6112),s=n(883),u=n(1947);t.createIframe=function(e,t){var n=t.formId,l=t.domain,d=t.options,f=(0,i.generateEmbedId)(),p=d.iframeProps,v=void 0===p?{}:p,m=d.onReady,h=d.onStarted,b=d.onQuestionChanged,g=d.onHeightChanged,y=d.onSubmit,w=d.onEndingButtonClick,x=d.onDuplicateDetected,_=d.shareGaInstance,O=(0,o.buildIframeSrc)({formId:n,domain:l,embedId:f,type:e,options:d}),E=document.createElement(\"iframe\");return E.src=O,E.dataset.testid=\"iframe\",E.style.border=\"0px\",E.allow=\"microphone; camera\",(0,r.addAttributesToElement)(E,v),E.addEventListener(\"load\",c.triggerIframeRedraw,{once:!0}),window.addEventListener(\"message\",(0,a.getFormReadyHandler)(f,m)),window.addEventListener(\"message\",(0,a.getFormStartedHandler)(f,h)),window.addEventListener(\"message\",(0,a.getFormQuestionChangedHandler)(f,b)),window.addEventListener(\"message\",(0,a.getFormHeightChangedHandler)(f,g)),window.addEventListener(\"message\",(0,a.getFormSubmitHandler)(f,y)),window.addEventListener(\"message\",(0,a.getFormThemeHandler)(f,function(e){var t;if(null==e?void 0:e.theme){var n=document.querySelector(\".tf-v1-close-icon\");n&&(n.style.color=null===(t=e.theme)||void 0===t?void 0:t.color)}})),window.addEventListener(\"message\",(0,a.getThankYouScreenButtonClickHandler)(f,w)),window.addEventListener(\"message\",(0,a.getRedirectHandler)(f,E)),window.addEventListener(\"message\",(0,a.getDuplicateDetectedHandler)(f,x)),\"widget\"!==e&&window.addEventListener(\"message\",s.dispatchCustomKeyEventFromIframe),_&&window.addEventListener(\"message\",(0,a.getFormReadyHandler)(f,function(){(0,r.setupGaInstance)(E,f,_)})),{iframe:E,embedId:f,refresh:function(){return(0,u.refreshIframe)(E)},focus:function(){var e;null===(e=E.contentWindow)||void 0===e||e.postMessage(\"embed-focus\",\"*\")}}}},9556:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.unmountElement=void 0,t.unmountElement=function(e){var t;null===(t=e.parentNode)||void 0===t||t.removeChild(e)}},9586:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(3631),t)},9590:function(e,t){var n=this&&this.__read||function(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a};Object.defineProperty(t,\"__esModule\",{value:!0}),t.generateEmbedId=void 0,t.generateEmbedId=function(){var e=Math.random();return n(String(e).split(\".\"),2)[1]}},9723:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.addAttributesToElement=void 0;var o=n(7917);t.addAttributesToElement=function(e,t){void 0===t&&(t={}),Object.keys(t).forEach(function(n){e.setAttribute((0,o.camelCaseToKebabCase)(n),t[n])})}},9814:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(7121),t),r(n(19),t)}},t={};return function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,n),i.exports}(7783)}()}},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var i=n[e]={exports:{}};return t[e].call(i.exports,i,i.exports,o),i.exports}o.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var r={};return function(){\"use strict\";var e=r;Object.defineProperty(e,\"__esModule\",{value:!0}),e.Sidetab=e.Popover=e.SliderButton=e.PopupButton=e.Widget=void 0;var t=o(952),n=o(240),i=o(517);e.Widget=(0,i.memoComponent)(n.Widget),e.PopupButton=(0,i.memoComponent)((0,n.makeButtonComponent)(t.createPopup,\"popup\")),e.SliderButton=(0,i.memoComponent)((0,n.makeButtonComponent)(t.createSlider,\"slider\")),e.Popover=(0,i.memoComponent)((0,n.makeInitializerComponent)(t.createPopover,\"popover\")),e.Sidetab=(0,i.memoComponent)((0,n.makeInitializerComponent)(t.createSidetab,\"sidetab\"))}(),r}()});","export const wrapper = `\n z-30 shadow-lg\n absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2\n w-fit h-fit min-w-80\n rounded-lg\n`;\n\nexport const container = `\n w-full h-full\n rounded-lg overflow-hidden\n`;\n\nexport const dismissButton = `\n absolute -top-3 -right-3 z-40\n w-8 h-8 rounded-full\n bg-white text-gray-700 shadow-md\n border border-gray-200\n flex items-center justify-center\n hover:bg-gray-50\n`;\n\nexport const dismissIcon = `\n w-4 h-4\n`;\n","import type { TrackingMetadata } from \"~/tracking\";\n\n/**\n * Builds the Typeform \"hidden fields\" (a.k.a. URL parameters) that get paired\n * with each survey response so the raw exports can be segmented and analyzed.\n *\n * Typeform only accepts string values and silently ignores fields that were\n * not declared in the form, so undefined / empty values are dropped to keep\n * the payload clean. The keys here must match the hidden fields declared in\n * the Typeform form configuration.\n *\n * @see https://www.typeform.com/developers/embed/url-parameters/\n */\nexport function buildSurveyHiddenFields(\n metadata: TrackingMetadata,\n): Record<string, string> {\n const fields: Record<string, string | number | undefined> = {\n client_id: metadata.client_id,\n host_url: metadata.host_url,\n device_type: metadata.device_type,\n lat: metadata.lat,\n lng: metadata.lng,\n display_mode: metadata.display_mode,\n session_id: metadata.session_id,\n device_id: metadata.device_id,\n product_name: metadata.product_name,\n product_version: metadata.product_version,\n };\n\n return Object.entries(fields).reduce<Record<string, string>>(\n (acc, [key, value]) => {\n if (value !== undefined && value !== null && value !== \"\") {\n acc[key] = String(value);\n }\n\n return acc;\n },\n {},\n );\n}\n","import { TrackingPipelineEvents } from \"~/sdks/LocalContent/types\";\n\nexport type SurveyEventAttribute = {\n label: string;\n data: boolean | string | number | undefined;\n};\n\ntype PostEvent = (event: {\n eventType: string;\n eventAttributes?: SurveyEventAttribute[];\n}) => void;\n\n/**\n * Posts a survey tracking event to the tracking pipeline, always tagging it\n * with the `survey_id` so events can be correlated back to a specific survey.\n *\n * @param postEvent The tracking pipeline's `postEvent` (from `useTracking`).\n * @param surveyId The Typeform survey id.\n * @param eventType The survey event type to track.\n * @param extraAttributes Additional event attributes to send alongside.\n */\nexport function trackSurveyEvent(\n postEvent: PostEvent,\n surveyId: string,\n eventType: TrackingPipelineEvents,\n extraAttributes: SurveyEventAttribute[] = [],\n): void {\n postEvent({\n eventType,\n eventAttributes: [\n { label: \"survey_id\", data: surveyId },\n ...extraAttributes,\n ],\n });\n}\n","import React from \"react\";\n\nimport { Widget } from \"@typeform/embed-react\";\nimport { XIcon } from \"@phosphor-icons/react\";\n\nimport * as styles from \"./styles\";\nimport { buildSurveyHiddenFields } from \"./utils/buildSurveyHiddenFields\";\nimport { trackSurveyEvent } from \"./utils/trackSurveyEvent\";\nimport { useSurveyTrigger } from \"~/sdks/LocalContent/hooks/useSurveyTrigger\";\nimport { TrackingPipelineEvents } from \"~/sdks/LocalContent/types\";\nimport { useTracking } from \"~/tracking\";\n\nexport function Survey({ surveyId }: { surveyId: string }) {\n const { showSurvey, handleDismiss } = useSurveyTrigger();\n const tracking = useTracking();\n\n if (!showSurvey) {\n return null;\n }\n\n // Metadata forwarded to Typeform as hidden fields so survey responses can be\n // segmented (by client, device, geography, etc.) in the CSV exports.\n const hiddenFields = buildSurveyHiddenFields(tracking.metadata);\n\n // Survey-Dismissed: the user closed the modal without submitting, either via\n // our custom close button or Typeform's own close control.\n const handleClose = () => {\n trackSurveyEvent(\n tracking.postEvent,\n surveyId,\n TrackingPipelineEvents.SURVEY_DISMISSED,\n );\n handleDismiss();\n };\n\n // Survey-Completed: the user reached the end and submitted their answers.\n const handleSubmit = ({ responseId }: { responseId: string }) => {\n trackSurveyEvent(\n tracking.postEvent,\n surveyId,\n TrackingPipelineEvents.SURVEY_COMPLETED,\n [{ label: \"survey_response_id\", data: responseId }],\n );\n handleDismiss();\n };\n\n return (\n <div className={styles.wrapper}>\n <button\n type=\"button\"\n data-testid=\"survey-dismiss-button\"\n aria-label=\"Dismiss survey\"\n className={styles.dismissButton}\n onClick={handleClose}\n >\n <XIcon weight=\"bold\" className={styles.dismissIcon} />\n </button>\n\n <Widget\n id={surveyId}\n autoResize=\"200,800\"\n inlineOnMobile\n className={styles.container}\n hidden={hiddenFields}\n onReady={() =>\n trackSurveyEvent(\n tracking.postEvent,\n surveyId,\n TrackingPipelineEvents.SURVEY_VIEWED,\n )\n }\n onQuestionChanged={() =>\n trackSurveyEvent(\n tracking.postEvent,\n surveyId,\n TrackingPipelineEvents.SURVEY_QUESTION_CHANGED,\n )\n }\n onSubmit={handleSubmit}\n onClose={handleClose}\n />\n </div>\n );\n}\n","import React, { useMemo } from \"react\";\n\nimport { LocalLogicMap, type Source, type LayerType } from \"@local-logic/maps\";\n\nimport type { School } from \"@local-logic/client\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nimport { DIRECTIONS_PATH_COLOR } from \"~/sdks/LocalContent/constants\";\n\nexport function Layers() {\n const { activeCategoryData, activeMarkerDetails, commuteData } =\n useLocalContent();\n\n const schoolLayerSources = useMemo(() => {\n const activeSchoolMarkerDetails = activeMarkerDetails as School;\n if (\n typeof activeSchoolMarkerDetails?.catchments === \"undefined\" ||\n activeSchoolMarkerDetails.catchments?.length === 0\n ) {\n return undefined;\n }\n\n const sources: Source[] = [];\n\n activeSchoolMarkerDetails.catchments.forEach(\n (catchment, catchmentIndex) => {\n if (\n typeof catchment.geometry !== \"undefined\" &&\n catchment.geometry.length > 0\n ) {\n catchment.geometry.forEach((geometry, geomIndex) => {\n sources.push({\n key: `school-catchment-${catchmentIndex}-geom-${geomIndex}`,\n layer: [\n {\n type: \"fill\" as LayerType,\n color: activeCategoryData?.colors?.fill || \"#008491\",\n },\n {\n type: \"line\" as LayerType,\n color: activeCategoryData?.colors?.fill || \"#008491\",\n },\n ],\n geometry: [geometry],\n });\n });\n }\n },\n );\n\n return sources;\n }, [activeMarkerDetails, activeCategoryData]);\n\n const routeSources = useMemo(() => {\n if (\n !commuteData ||\n typeof commuteData.geometry === \"undefined\" ||\n commuteData.geometry?.length === 0\n ) {\n return undefined;\n }\n\n const sources: Source[] = [];\n\n sources.push({\n key: \"commute-route\",\n type: \"LineString\",\n layer: [\n {\n type: \"line\" as LayerType,\n color: DIRECTIONS_PATH_COLOR,\n },\n ],\n geometry: commuteData.geometry,\n });\n\n return sources;\n }, [commuteData, activeCategoryData]);\n\n return (\n <>\n <LocalLogicMap.Layers sources={schoolLayerSources} />\n <LocalLogicMap.Layers sources={routeSources} />\n </>\n );\n}\n","import React, { useMemo } from \"react\";\n\nimport { LocalLogicMap, type Marker } from \"@local-logic/maps\";\nimport { useTracking } from \"~/tracking\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\nimport { useSurveyTrigger } from \"~/sdks/LocalContent/hooks/useSurveyTrigger\";\n\nimport { getIdFromMarker } from \"~/utils/map/getIdFromMarker\";\n\nimport { iconsDeprecated as icons } from \"~/components/PoiIcon\";\nimport {\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nexport function Markers() {\n const tracking = useTracking();\n const {\n isLoading,\n activeScore,\n activeCategoryData,\n selectedPoiSubcategory,\n isMarkersLoading,\n markersData,\n commuteData,\n handleMarkerClick,\n } = useLocalContent();\n const { handleAddSessionTriggerCount } = useSurveyTrigger();\n\n const markers = useMemo(() => {\n if (\n selectedPoiSubcategory === null ||\n isMarkersLoading ||\n typeof markersData === \"undefined\" ||\n typeof markersData[selectedPoiSubcategory] === \"undefined\"\n ) {\n return [];\n }\n\n return markersData[selectedPoiSubcategory].map(\n (marker) =>\n ({\n id: getIdFromMarker(marker.lat, marker.lng, marker.name),\n latitude: marker.lat,\n longitude: marker.lng,\n name: marker.name,\n icon: icons[selectedPoiSubcategory],\n }) as Marker,\n );\n }, [selectedPoiSubcategory, isMarkersLoading, markersData]);\n\n const commuteMarkers = useMemo(() => {\n if (commuteData === null) {\n return [];\n }\n\n if (\n markers.find(\n (marker) =>\n marker.latitude === commuteData.destination.lat &&\n marker.longitude === commuteData.destination.lng,\n )\n ) {\n return [];\n }\n\n return [\n {\n id: \"commute-destination\",\n latitude: commuteData.destination.lat,\n longitude: commuteData.destination.lng,\n name: commuteData.label,\n icon: icons.other as Marker[\"icon\"],\n defaultColor: true,\n disableClick: true,\n },\n ];\n }, [markers, commuteData]);\n\n const combinedMarkers = useMemo(\n () => [...markers, ...commuteMarkers],\n [markers, commuteMarkers],\n );\n\n /**\n * Handles clicking on a map marker. This includes both single markers and cluster markers.\n *\n * @param marker\n * @returns\n */\n const handleMapMarkerClick = (\n marker: Parameters<typeof handleMarkerClick>[0],\n ) => {\n handleMarkerClick(marker);\n handleAddSessionTriggerCount();\n\n if (!activeScore || !selectedPoiSubcategory || !marker) {\n return;\n }\n\n const eventAttributes: Record<string, boolean | string | number> = {\n score: activeScore,\n category: selectedPoiSubcategory,\n };\n\n if (marker.markers.length > 1) {\n eventAttributes.latitude = marker.latitude;\n eventAttributes.longitude = marker.longitude;\n eventAttributes.clusterSize = marker.markers.length;\n eventAttributes.isCluster = true;\n } else if (marker.markers.length === 1) {\n Object.entries(marker.markers[0]).forEach(([key, value]) => {\n if (\n typeof value === \"boolean\" ||\n typeof value === \"string\" ||\n typeof value === \"number\"\n ) {\n // Remove sdk id before sending to tracking\n if (key === \"id\") {\n return;\n }\n eventAttributes[key] = value;\n }\n });\n }\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.MAP_POI_SELECTED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.MAP_POI_SELECTED,\n eventAttributes,\n });\n };\n\n return (\n <LocalLogicMap.Markers\n isLoading={isLoading}\n markers={combinedMarkers}\n colors={activeCategoryData?.colors}\n clusterIcon={\n (selectedPoiSubcategory\n ? icons[selectedPoiSubcategory]\n : undefined) as Marker[\"icon\"]\n }\n onClick={handleMapMarkerClick}\n />\n );\n}\n","export const container = `\n max-sm:[&>#center-pin-background]:text-primary-50\n`;\n","import React from \"react\";\n\nimport { LocalLogicMap } from \"@local-logic/maps\";\n\nimport * as styles from \"./styles\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nexport function CenterPin() {\n const { centerMarker } = useLocalContent();\n\n if (!centerMarker) {\n return null;\n }\n\n return (\n <LocalLogicMap.CenterPin\n className={styles.container}\n marker={{\n id: \"local-content-center-pin\",\n latitude: centerMarker.lat,\n longitude: centerMarker.lng,\n name: centerMarker.addressLabel || \"Center Pin\",\n }}\n />\n );\n}\n","export const container = `flex flex-col gap-3 text-xs text-gray-800 font-medium`;\nexport const loading = `h-5 w-20 bg-gray-200 animate-pulse rounded-md`;\nexport const button = `p-0 text-xs h-auto w-auto justify-start cursor-pointer`;\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { Button } from \"@local-logic/design-system\";\n\nimport * as styles from \"./styles\";\nimport type { TravelMode } from \"~/sdks/LocalContent/hooks/useCommute/types\";\n\nexport function Commute({\n isLoading = false,\n commuteType,\n durationInSeconds,\n onCalculateCommute,\n}: {\n isLoading?: boolean;\n commuteType: TravelMode;\n durationInSeconds?: number;\n onCalculateCommute?: () => void;\n}) {\n const { t } = useTranslation([\"localContent\", \"common\"]);\n\n const durationString = useMemo(() => {\n if (!durationInSeconds) return null;\n\n const hours = Math.floor(durationInSeconds / 60 / 60);\n const minutes = Math.floor((durationInSeconds / 60) % 60);\n\n const minutesString = `${minutes} ${t(\"common:time.minute\", { count: minutes })}`;\n\n if (hours === 0) {\n return minutesString;\n }\n\n return `${hours} ${t(\"common:time.hour\", { count: hours })} ${minutesString}`;\n }, [durationInSeconds, t]);\n\n const travelTimeString = useMemo(() => {\n if (!durationString) return \"\";\n\n return `${durationString} ${t(`commute.travelTypes.${commuteType}`)}`;\n }, [durationString, commuteType, t]);\n\n if (!isLoading && typeof durationInSeconds === \"undefined\") {\n return null;\n }\n\n return (\n <div className={styles.container}>\n {isLoading && (\n <div\n data-testid=\"poi-popup-commute-loading\"\n className={styles.loading}\n ></div>\n )}\n {!isLoading && durationString && (\n <p\n data-testid=\"poi-popup-commute-duration\"\n aria-label={travelTimeString}\n >\n {travelTimeString.toLowerCase()}\n </p>\n )}\n {onCalculateCommute && (\n <Button\n data-testid=\"poi-popup-view-route-button\"\n className={styles.button}\n onClick={onCalculateCommute}\n variant=\"ghost\"\n isDisabled={isLoading}\n >\n {t(\"commute.viewRoute\")}\n </Button>\n )}\n </div>\n );\n}\n","import React, { useMemo } from \"react\";\n\nimport {\n LocalLogicMap,\n type Marker,\n type MarkerPoint,\n} from \"@local-logic/maps\";\nimport { Commute } from \"./Commute\";\nimport { useTracking } from \"~/tracking\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\nimport { useCommute } from \"~/sdks/LocalContent/hooks/useCommute\";\n\nimport {\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nimport { DEFAULT_TRAVEL_MODE } from \"~/sdks/LocalContent/constants\";\n\nimport { ClusterPopupContent } from \"~/components/map/ClusterPopupContent\";\nimport { POIPopupContent } from \"~/components/map/POIPopupContent\";\n\nexport function Popup() {\n const tracking = useTracking();\n const {\n commuteOptions,\n distanceUnit,\n activeScore,\n centerMarker,\n location,\n locale,\n selectedPoiSubcategory,\n activeMarker,\n activeMarkerDetails,\n handleMarkerClick,\n handleCalculateCommute,\n showSchoolRatings,\n } = useLocalContent();\n\n const { data, isLoading } = useCommute({\n mode: commuteOptions.commuteType,\n locale,\n units: distanceUnit,\n origin:\n location?.lat && location?.lng\n ? {\n lat: location.lat,\n lng: location.lng,\n }\n : undefined,\n destination:\n typeof centerMarker !== \"undefined\" &&\n activeMarkerDetails?.lat &&\n activeMarkerDetails?.lng\n ? {\n lat: activeMarkerDetails.lat,\n lng: activeMarkerDetails.lng,\n }\n : undefined,\n });\n\n const commuteTime = useMemo(() => {\n if (!data || isLoading) return undefined;\n\n return data.duration;\n }, [data?.mode, data?.duration, isLoading]);\n\n /**\n * Handles selecting a marker from within a cluster popup.\n *\n * @param marker\n * @returns\n */\n const handleClusterMarkerSelected = (marker: Marker) => {\n handleMarkerClick({\n id: marker.id,\n latitude: marker.latitude,\n longitude: marker.longitude,\n markers: [marker],\n } as MarkerPoint);\n\n if (!activeScore || !selectedPoiSubcategory) {\n return;\n }\n\n const eventAttributes: Record<string, boolean | string | number> = {\n score: activeScore,\n category: selectedPoiSubcategory,\n };\n\n Object.entries(marker).forEach(([key, value]) => {\n if (\n typeof value === \"boolean\" ||\n typeof value === \"string\" ||\n typeof value === \"number\"\n ) {\n // Remove sdk id before sending to tracking\n if (key === \"id\") {\n return;\n }\n eventAttributes[key] = value;\n }\n });\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.MAP_POI_SELECTED_FROM_CLUSTER,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.MAP_POI_SELECTED_FROM_CLUSTER,\n eventAttributes,\n });\n };\n\n const handleLinkClick = (url: string) => {\n if (!selectedPoiSubcategory || !activeMarkerDetails) {\n return;\n }\n\n const eventAttributes: Record<string, boolean | string | number> = {\n category: selectedPoiSubcategory,\n };\n\n Object.entries(activeMarkerDetails).forEach(([key, value]) => {\n if (\n typeof value === \"boolean\" ||\n typeof value === \"string\" ||\n typeof value === \"number\"\n ) {\n eventAttributes[key] = value;\n }\n });\n eventAttributes.clickedUrl = url;\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.MAP_POI_POPUP_LINK_CLICKED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.MAP_POI_POPUP_LINK_CLICKED,\n eventAttributes,\n });\n };\n\n const handleOnViewRoute = () => {\n if (\n !activeMarkerDetails ||\n !activeScore ||\n !selectedPoiSubcategory ||\n !activeMarker\n ) {\n return;\n }\n\n const requestOptions = {\n commuteType: commuteOptions.commuteType,\n label: activeMarkerDetails?.address || activeMarkerDetails?.name,\n destination: {\n lat: activeMarkerDetails?.lat || 0,\n lng: activeMarkerDetails?.lng || 0,\n },\n };\n\n handleCalculateCommute(requestOptions);\n\n const eventAttributes: Record<string, boolean | string | number> = {\n score: activeScore,\n category: selectedPoiSubcategory,\n destinationLat: requestOptions.destination.lat,\n destinationLng: requestOptions.destination.lng,\n label: requestOptions.label,\n name: activeMarkerDetails?.name || \"\",\n mode: requestOptions.commuteType as string,\n };\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.MAP_POI_VIEW_ROUTE,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.MAP_POI_VIEW_ROUTE,\n eventAttributes,\n });\n };\n\n return (\n <LocalLogicMap.Popup\n latitude={activeMarker?.latitude}\n longitude={activeMarker?.longitude}\n onClose={() => handleMarkerClick(undefined)}\n >\n <ClusterPopupContent\n activeMarker={activeMarker}\n onMarkerSelected={handleClusterMarkerSelected}\n onClose={handleMarkerClick}\n />\n <POIPopupContent\n marker={activeMarkerDetails}\n poiCategory={selectedPoiSubcategory}\n onLocationLinkClick={handleLinkClick}\n onSchoolLinkClick={handleLinkClick}\n onClose={handleMarkerClick}\n showSchoolRatings={showSchoolRatings}\n >\n <Commute\n isLoading={isLoading}\n commuteType={commuteOptions.commuteType || DEFAULT_TRAVEL_MODE}\n durationInSeconds={commuteTime}\n onCalculateCommute={handleOnViewRoute}\n />\n </POIPopupContent>\n </LocalLogicMap.Popup>\n );\n}\n","export const container = `relative w-full overflow-hidden grow`;\n","import React, { useMemo } from \"react\";\n\nimport \"@local-logic/maps/style.css\";\n\nimport { LocalLogicMap } from \"@local-logic/maps\";\n\nimport { Survey } from \"../Survey\";\nimport { Layers } from \"./Layers\";\nimport { Markers } from \"./Markers\";\nimport { CenterPin } from \"./CenterPin\";\nimport { Popup } from \"./Popup\";\n\nimport * as styles from \"./styles\";\nimport { getMapProviderConfig } from \"~/utils/map/getMapProviderConfig\";\nimport { PaddingDebug } from \"~/components/map/PaddingDebug\";\nimport {\n SURVEY_ID,\n DEFAULT_MIN_ZOOM,\n DEFAULT_MAX_ZOOM,\n MAP_PADDING,\n LAYOUT_MEASUREMENTS,\n} from \"~/sdks/LocalContent/constants\";\nimport { useResponsiveBreakpoints } from \"~/hooks/useResponsiveBreakpoints\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nexport function Map({\n children,\n ...rest\n}: {\n children?: React.ReactNode;\n} & React.HTMLAttributes<HTMLDivElement>) {\n const breakpoints = useResponsiveBreakpoints();\n const {\n activeCategory,\n activeScore,\n isCommuteCalculatorOpen,\n isSidebarExpanded,\n location,\n locale,\n map,\n activeMarker,\n commuteData,\n } = useLocalContent();\n\n const mapProviderConfig = useMemo(\n () =>\n getMapProviderConfig(\n map.mapProvider?.name,\n map.mapProvider?.key,\n map.mapProvider?.theme,\n ),\n [map.mapProvider?.name, map.mapProvider?.key, map.mapProvider?.theme],\n );\n\n const mapPadding = useMemo(() => {\n const padding = breakpoints.sm ? MAP_PADDING.desktop : MAP_PADDING.mobile;\n\n // Making sure we don't override reference values\n let { top, bottom, left } = padding;\n\n if (breakpoints.sm) {\n // Desktop\n\n if (!isSidebarExpanded) {\n left -= LAYOUT_MEASUREMENTS.SIDEBAR_STATE_WIDTH_DIFFERENCE;\n }\n\n if (isCommuteCalculatorOpen && !commuteData) {\n top += LAYOUT_MEASUREMENTS.COMMUTE_CALCULATOR_NO_ROUTE_HEIGHT_DESKTOP;\n }\n\n if (isCommuteCalculatorOpen && commuteData) {\n top += LAYOUT_MEASUREMENTS.COMMUTE_CALCULATOR_WITH_ROUTE_HEIGHT_DESKTOP;\n }\n } else {\n // Mobile\n\n if (activeCategory) {\n top += LAYOUT_MEASUREMENTS.SCORE_BUTTONS_HEIGHT_MOBILE;\n }\n\n if (activeScore && !isCommuteCalculatorOpen) {\n // While the details slider can be expanded, we're not going to adjust the\n // value since the popup opens up\n bottom = LAYOUT_MEASUREMENTS.SCORE_DETAILS_HEIGHT_MOBILE;\n }\n\n if (isCommuteCalculatorOpen) {\n bottom = LAYOUT_MEASUREMENTS.COMMUTE_CALCULATOR_HEIGHT_MOBILE;\n }\n }\n\n return {\n ...padding,\n top,\n bottom,\n left,\n };\n }, [\n breakpoints.sm,\n isCommuteCalculatorOpen,\n activeCategory,\n activeScore,\n isSidebarExpanded,\n commuteData,\n ]);\n\n // If location is not set or invalid, return a message\n // lat and lng values of 0 are considered invalid for this context\n if (!location || !location.lat || !location.lng) {\n return <div className={styles.container}>Location not set</div>;\n }\n\n return (\n <div className={styles.container} {...rest}>\n <LocalLogicMap.Root\n mapProvider={mapProviderConfig}\n locale={locale}\n mapPadding={mapPadding}\n center={{ latitude: location.lat, longitude: location.lng }}\n zoom={map.zoom}\n minZoom={DEFAULT_MIN_ZOOM}\n maxZoom={DEFAULT_MAX_ZOOM}\n zoomPosition={breakpoints.sm ? \"bottom-right\" : undefined}\n pitch={map.pitch}\n bearing={map.bearing}\n cooperativeGestures={map.cooperativeGestures}\n activeMarker={activeMarker}\n >\n <LocalLogicMap.BaseMap>\n <Layers />\n <Markers />\n <CenterPin />\n <Popup />\n </LocalLogicMap.BaseMap>\n </LocalLogicMap.Root>\n\n {import.meta.env.VITE_MAP_PADDING_DEBUG === \"true\" && (\n <PaddingDebug mapPadding={mapPadding} />\n )}\n\n {children}\n\n <Survey surveyId={SURVEY_ID} />\n </div>\n );\n}\n","export const container = `\n group/sidebar flex flex-col z-10\n bg-base-white rounded\n overflow-hidden max-h-[calc(100vh-72px)] min-h-96\n absolute top-3 left-3\n w-full max-w-72 shadow-3sm\n transition-all duration-150 ease-in-out\n\n data-[is-expanded=false]:w-14\n\n hover:data-[is-expanded=false]:w-16\n hover:data-[is-expanded=false]:cursor-pointer\n`;\n","import React, { useContext } from \"react\";\n\nimport type { RootProps } from \"./types\";\n\nimport * as styles from \"./styles\";\n\nexport type DefaultContext = {\n isExpanded: boolean;\n isScoresLoading: RootProps[\"isScoresLoading\"];\n isMarkersLoading: RootProps[\"isMarkersLoading\"];\n activeScore: RootProps[\"activeScore\"];\n activeScoreData?: RootProps[\"activeScoreData\"];\n markersData?: RootProps[\"markersData\"];\n onSelectScore?: RootProps[\"onSelectScore\"];\n onToggleIsExpanded: () => void;\n};\n\nconst RootElementContext = React.createContext<DefaultContext>(\n {} as DefaultContext,\n);\nconst useRootElement = () => useContext(RootElementContext);\n\nconst RootElementContextProvider = ({\n isExpanded,\n isScoresLoading,\n isMarkersLoading,\n activeScore,\n activeScoreData,\n markersData,\n onSelectScore,\n onToggleIsExpanded,\n children,\n}: {\n isExpanded: boolean;\n isScoresLoading: DefaultContext[\"isScoresLoading\"];\n isMarkersLoading: DefaultContext[\"isMarkersLoading\"];\n activeScore: DefaultContext[\"activeScore\"];\n activeScoreData: DefaultContext[\"activeScoreData\"];\n markersData?: DefaultContext[\"markersData\"];\n onSelectScore: DefaultContext[\"onSelectScore\"];\n onToggleIsExpanded: DefaultContext[\"onToggleIsExpanded\"];\n children: React.ReactNode;\n}) => {\n const handleOnSidebarClick = () => {\n if (isExpanded) {\n return;\n }\n\n onToggleIsExpanded();\n };\n\n return (\n <RootElementContext.Provider\n value={{\n isExpanded,\n isScoresLoading,\n isMarkersLoading,\n activeScore,\n activeScoreData,\n markersData,\n onToggleIsExpanded,\n onSelectScore,\n }}\n >\n <div\n className={styles.container}\n data-is-expanded={isExpanded}\n data-testid=\"sidebar\"\n onClick={handleOnSidebarClick}\n >\n {children}\n </div>\n </RootElementContext.Provider>\n );\n};\n\nexport { useRootElement, RootElementContextProvider };\n","// It's important for the \"relative\" class to be applied to the container, and not the inner\n// content, so that the absolute positioning of the slider works correctly.\nexport const container = `\n relative h-full overflow-x-hidden overflow-y-scroll\n\n group-data-[is-expanded=false]/sidebar:overflow-y-hidden\n`;\n\nexport const content = `\n p-4 flex flex-col grow h-full overflow-hidden\n`;\n","import React from \"react\";\n\nimport * as styles from \"./styles\";\n\nexport function Content({ children }: { children?: React.ReactNode }) {\n return (\n <div className={styles.container} data-testid=\"sidebar-container\">\n <div className={styles.content} data-testid=\"sidebar-content\">\n {children}\n </div>\n </div>\n );\n}\n","export const container = `\n text-sm text-base-black text-nowrap font-bold truncate\n w-full m-0 justify-self-start overflow-hidden\n`;\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport * as styles from \"./styles\";\n\nexport function Title({ title }: { title?: string | boolean }) {\n const { t } = useTranslation(\"localContent\");\n\n const displayTitle = useMemo(\n () =>\n typeof title === \"string\" && title.length > 0\n ? title\n : t(\"sidebar.header.title\"),\n [title, t],\n );\n\n return (\n <h2\n className={styles.container}\n aria-label={displayTitle}\n data-testid=\"sidebar-header-title\"\n >\n {title === false ? \"\" : displayTitle}\n </h2>\n );\n}\n","export const container = `px-0 h-4 text-sm w-full justify-start text-nowrap`;\nexport const icon = `w-3 h-3 -mb-0.5`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { CaretLeftIcon } from \"@phosphor-icons/react\";\n\nimport { Button } from \"@local-logic/design-system\";\n\nimport { useRootElement } from \"../../context\";\n\nimport * as styles from \"./styles\";\n\nexport function CloseButton() {\n const { t } = useTranslation(\"localContent\");\n const { onSelectScore } = useRootElement();\n\n return (\n <Button\n data-testid=\"sidebar-header-back-button\"\n variant=\"ghost\"\n prefixIcon={<CaretLeftIcon weight=\"bold\" className={styles.icon} />}\n className={styles.container}\n onClick={onSelectScore ? onSelectScore(null) : undefined}\n >\n {t(\"sidebar.header.backAction\")}\n </Button>\n );\n}\n","export const container = `\n h-14 p-4 flex justify-between items-center shadow-sm shrink-0\n group-data-[is-expanded=false]/sidebar:justify-end\n`;\nexport const icon = `w-5 h-5 mx-0.5 group-data-[is-expanded=false]/sidebar:rotate-180 transition-transform duration-200 delay-100 ease-in-out flex self-right`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { CaretDoubleLeftIcon } from \"@phosphor-icons/react\";\n\nimport { useRootElement } from \"../context\";\n\nimport { Title } from \"./Title\";\nimport { CloseButton } from \"./CloseButton\";\n\nimport * as styles from \"./styles\";\nimport { useTracking } from \"~/tracking\";\nimport {\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nexport function Header({ title }: { title?: string | boolean }) {\n const { t } = useTranslation(\"localContent\");\n const tracking = useTracking();\n const { activeScore, isExpanded, onToggleIsExpanded } = useRootElement();\n\n const handleOnArrowClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n\n const eventAttributes = {\n currentActiveScore: activeScore || \"none\",\n currentIsExpanded: isExpanded,\n };\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SIDEBAR_TOGGLE_CLICKED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.SIDEBAR_TOGGLE_CLICKED,\n eventAttributes,\n });\n\n onToggleIsExpanded();\n };\n\n return (\n <div className={styles.container} data-testid=\"sidebar-header\">\n {isExpanded && !activeScore && <Title title={title} />}\n {isExpanded && activeScore && <CloseButton />}\n <button\n type=\"button\"\n onClick={handleOnArrowClick}\n aria-label={t(\"sidebar.header.toggle.ariaLabel\", {\n context: isExpanded ? \"close\" : \"open\",\n })}\n aria-pressed={isExpanded}\n data-testid=\"sidebar-header-toggle\"\n >\n <CaretDoubleLeftIcon\n className={styles.icon}\n aria-hidden=\"true\"\n focusable=\"false\"\n data-testid=\"sidebar-header-toggle-icon\"\n />\n </button>\n </div>\n );\n}\n","export const container = `flex flex-col mb-2`;\nexport const title = `group-data-[is-expanded=false]/sidebar:invisible`;\n","export const container = `text-xs font-normal text-gray-400 m-0`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport * as styles from \"./styles\";\nimport type { CategoryKey } from \"~/sdks/LocalContent/types\";\n\nexport function CategoryTitle({\n categoryKey,\n className,\n}: {\n categoryKey: CategoryKey;\n className?: string;\n}) {\n const { t } = useTranslation(\"localContent\");\n\n return (\n <h3\n className={`${styles.container} ${className}`}\n data-testid=\"category-title\"\n data-category-key={categoryKey}\n >\n {t(`categories.${categoryKey}`)}\n </h3>\n );\n}\n","import React from \"react\";\n\nimport * as styles from \"./styles\";\nimport { CategoryTitle } from \"~/sdks/LocalContent/components/CategoryTitle\";\n\nimport type { CategoryKey } from \"~/sdks/LocalContent/types\";\n\nexport function Category({\n categoryKey,\n children,\n}: {\n categoryKey: CategoryKey;\n children?: React.ReactNode;\n}) {\n return (\n <div\n className={styles.container}\n data-testid=\"sidebar-category\"\n data-category={categoryKey}\n >\n <CategoryTitle categoryKey={categoryKey} className={styles.title} />\n {children}\n </div>\n );\n}\n","export const container = `\n group/item-button group/color-icon flex justify-between items-center\n text-sm font-normal text-gray-800\n w-full h-11 py-2\n\n data-[is-collapsed=true]:pointer-events-none\n`;\nexport const text = `grow text-left text-nowrap px-2 group-data-[is-collapsed=true]/item-button:invisible group-hover/item-button:text-base-black -mt-0.5`;\nexport const arrow = `group-data-[is-collapsed=true]/item-button:invisible group-hover/item-button:scale-125`;\n","import React from \"react\";\n\nimport { CaretRightIcon } from \"@phosphor-icons/react\";\nimport { ColorIcon } from \"@local-logic/design-system\";\n\nimport * as styles from \"./styles\";\n\nexport type ItemButtonProps = {\n text: string;\n isDisabled?: boolean;\n isCollapsed?: boolean;\n isActive?: boolean;\n icon: {\n element: React.ReactElement;\n backgroundColor?: string;\n fillColor?: string;\n };\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n};\n\nexport function ItemButton({\n text,\n isDisabled,\n isCollapsed = false,\n isActive = false,\n icon: { element: Icon, backgroundColor = \"gray\", fillColor = \"black\" },\n onClick,\n ...rest\n}: ItemButtonProps) {\n return (\n <button\n className={styles.container}\n disabled={isDisabled}\n aria-label={text}\n onClick={onClick}\n data-background-color={backgroundColor}\n data-fill-color={fillColor}\n data-is-collapsed={isCollapsed}\n data-is-active={isActive}\n style={\n {\n \"--item-button-background\": backgroundColor,\n \"--item-button-fill\": fillColor,\n } as React.CSSProperties\n }\n {...rest}\n >\n <ColorIcon\n element={Icon}\n backgroundColor={backgroundColor}\n fillColor={fillColor}\n />\n <span className={styles.text}>{text}</span>\n <CaretRightIcon\n className={styles.arrow}\n weight=\"bold\"\n size={12}\n aria-hidden=\"true\"\n />\n </button>\n );\n}\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useRootElement } from \"../context\";\nimport { useSurveyTrigger } from \"~/sdks/LocalContent/hooks/useSurveyTrigger\";\nimport {\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nimport { useTracking } from \"~/tracking\";\n\nimport type { ScoreKey } from \"~/sdks/LocalContent/types\";\n\nimport { ScoreIcon } from \"~/components/ScoreIcon\";\nimport { ItemButton } from \"~/sdks/LocalContent/components/ItemButton\";\n\nexport function Score({\n scoreKey,\n backgroundColor,\n fillColor,\n}: {\n scoreKey: ScoreKey;\n backgroundColor?: string;\n fillColor?: string;\n}) {\n const { t } = useTranslation([\"common\"]);\n const tracking = useTracking();\n const { isExpanded, activeScore, onSelectScore } = useRootElement();\n const { handleAddSessionTriggerCount } = useSurveyTrigger();\n\n const handleOnSelectScore = (score: ScoreKey) => () => {\n if (typeof onSelectScore === \"undefined\") {\n return;\n }\n\n onSelectScore(score)();\n handleAddSessionTriggerCount();\n\n const eventAttributes = {\n scoreKey: score,\n isSidebarExpanded: isExpanded,\n };\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SIDEBAR_SCORE_SELECTED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.SIDEBAR_SCORE_SELECTED,\n eventAttributes,\n });\n };\n\n return (\n <ItemButton\n text={t(`common:scores.${scoreKey}.title`)}\n isDisabled={!isExpanded}\n isCollapsed={!isExpanded}\n isActive={activeScore === scoreKey}\n icon={{\n element: <ScoreIcon score={scoreKey} />,\n backgroundColor,\n fillColor,\n }}\n onClick={handleOnSelectScore(scoreKey)}\n data-testid=\"sidebar-score-item\"\n data-score={scoreKey}\n />\n );\n}\n","export const container = `flex flex-col data-[is-visible=false]:hidden`;\nexport const score = `mb-3`;\n","export const container = `bg-gray-250 w-3 h-3 rounded-full flex items-center justify-center`;\nexport const icon = `text-base-white w-2.5 h-2.5`;\n","import React, { useMemo } from \"react\";\n\nimport { CaretUpIcon, CaretDownIcon, EqualsIcon } from \"@phosphor-icons/react\";\n\nimport * as styles from \"./styles\";\n\nexport function ValueIndicator({\n comparison,\n}: {\n comparison: \"higher\" | \"lower\" | \"equal\";\n}) {\n const Icon = useMemo(() => {\n switch (comparison) {\n case \"higher\":\n return CaretUpIcon;\n case \"lower\":\n return CaretDownIcon;\n default:\n return EqualsIcon;\n }\n }, [comparison]);\n\n return (\n <div\n className={styles.container}\n data-testid=\"value-indicator\"\n data-comparison={comparison}\n >\n <Icon className={styles.icon} />\n </div>\n );\n}\n","export const container = `flex items-center gap-1 text-xs text-gray-400 mb-2`;\n","import React, { useMemo } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { ValueIndicator } from \"./ValueIndicator\";\n\nimport * as styles from \"./styles\";\nimport type { ScoreKey } from \"~/sdks/LocalContent/types\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nexport function ScoreComparison({\n scoreKey,\n locationScoreValue,\n comparedTo,\n className,\n}: {\n scoreKey: ScoreKey | null;\n locationScoreValue?: number;\n comparedTo?: { text: string; value: number };\n className?: string;\n}) {\n const { t } = useTranslation(\"localContent\");\n const { hideScoresList } = useLocalContent();\n\n const hide = useMemo(\n () => scoreKey === null || hideScoresList?.includes(scoreKey),\n [hideScoresList, scoreKey],\n );\n\n const comparison = useMemo(() => {\n if (\n typeof locationScoreValue === \"undefined\" ||\n typeof comparedTo === \"undefined\"\n ) {\n return null;\n }\n\n if (locationScoreValue > comparedTo.value) {\n return \"higher\";\n }\n\n if (locationScoreValue < comparedTo.value) {\n return \"lower\";\n }\n\n return \"equal\";\n }, [locationScoreValue, comparedTo?.value]);\n\n if (hide || typeof comparedTo === \"undefined\" || comparison === null) {\n return null;\n }\n\n return (\n <div\n className={twMerge(styles.container, className)}\n data-testid=\"score-comparison\"\n >\n <ValueIndicator comparison={comparison} />\n <p>\n {t(\"scoreComparison.text\", {\n context: comparison !== \"equal\" ? comparison : undefined,\n name: comparedTo.text,\n value: comparedTo.value,\n })}\n </p>\n </div>\n );\n}\n","export const container = `text-sm text-gray-800 mb-6`;\n","import React from \"react\";\n\nimport * as styles from \"./styles\";\n\nexport function ScoreText({ text }: { text?: string }) {\n if (typeof text === \"undefined\") {\n return null;\n }\n\n return (\n <p className={styles.container} data-testid=\"score-description\">\n {text}\n </p>\n );\n}\n","export const container = `w-full flex flex-col gap-y-1`;\nexport const item = `h-6 bg-gray-150 rounded animate-pulse`;\n","import React from \"react\";\n\nimport * as styles from \"./styles\";\n\nexport function Loading() {\n return (\n <div className={styles.container} data-testid=\"score-poi-list-loading\">\n <div className={styles.item} />\n <div className={styles.item} />\n <div className={styles.item} />\n <div className={styles.item} />\n <div className={styles.item} />\n </div>\n );\n}\n","export const container = `w-full`;\nexport const title = `text-xs text-gray-800 mb-1`;\nexport const subcategories = `flex flex-wrap gap-1 mb-4`;\nexport const button = `\n flex items-center gap-x-1 text-nowrap\n py-1.5 px-2.5 rounded-full text-sm font-medium transition-colors\n border border-gray-150 text-gray-400 bg-base-white\n\n hover:bg-gray-400\n hover:text-base-white\n hover:border-gray-400\n\n data-[is-active=true]:bg-gray-400\n data-[is-active=true]:text-base-white\n data-[is-active=true]:border-gray-400\n`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport * as styles from \"./styles\";\nimport {\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nimport { useTracking } from \"~/tracking\";\n\nimport { PoiIconDeprecated } from \"~/components/PoiIcon\";\n\nimport type { ScoreKey, POISubcategory } from \"~/sdks/LocalContent/types\";\n\nexport function Subcategories({\n scoreKey,\n availablePoiSubcategories,\n selectedSubcategory,\n onSelectCategory,\n}: {\n scoreKey: ScoreKey | null;\n availablePoiSubcategories: POISubcategory[];\n selectedSubcategory: POISubcategory | null;\n onSelectCategory: (subcategory: POISubcategory | null) => void;\n}) {\n const { t } = useTranslation([\"localContent\", \"common\"]);\n const tracking = useTracking();\n\n const handleSubcategoryClick = (subcategory: POISubcategory) => () => {\n if (selectedSubcategory === subcategory) {\n return;\n }\n\n onSelectCategory(subcategory);\n\n const eventAttributes = {\n score: scoreKey as string,\n category: subcategory,\n };\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SCORE_POI_CATEGORY_SELECTED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.SCORE_POI_CATEGORY_SELECTED,\n eventAttributes,\n });\n };\n\n // While we require availablePoiSubcategories to be defined, we should handle when it's undefined\n if (\n typeof availablePoiSubcategories === \"undefined\" ||\n availablePoiSubcategories.length <= 1\n ) {\n return null;\n }\n\n return (\n <div\n className={styles.container}\n data-testid=\"score-poi-list-subcategories\"\n >\n {availablePoiSubcategories.length > 0 && (\n <div\n className={styles.subcategories}\n data-testid=\"score-poi-list-subcategories-list\"\n >\n {availablePoiSubcategories.map((subcategory) => (\n <button\n data-testid={`score-poi-list-subcategory-${subcategory}`}\n className={styles.button}\n data-is-active={selectedSubcategory === subcategory}\n key={`score-poi-list-subcategory-${subcategory}`}\n onClick={handleSubcategoryClick(subcategory)}\n >\n <PoiIconDeprecated poi={subcategory} />\n {t(`common:pois.${subcategory}`)}\n </button>\n ))}\n </div>\n )}\n </div>\n );\n}\n","export const container = `w-full`;\nexport const title = `text-xs text-gray-400 mb-2`;\nexport const list = `flex flex-col gap-y-1`;\nexport const item = `inline-flex group/poi-list-item`;\nexport const button = `\n w-full pl-4 border rounded transition-colors\n bg-base-white border-gray-150 text-gray-400 fill-gray-400\n\n hover:bg-primary-100\n hover:border-primary-100\n hover:text-base-white\n hover:fill-base-white\n\n group-data-[is-active=true]/poi-list-item:bg-primary-100\n`;\nexport const poi = `flex justify-between w-full items-center text-left grow h-8`;\nexport const name = `text-xs font-medium truncate overflow-hidden text-nowrap w-52 group-data-[is-active=true]/poi-list-item:text-base-white`;\nexport const icon = `w-3 h-3 mr-2 group-data-[is-active=true]/poi-list-item:fill-base-white`;\nexport const routes = `block pb-2`;\nexport const schoolTypes = `flex flex-wrap gap-1 mb-2`;\nexport const badge = `text-xs py-0.5 px-2 bg-gray-150 text-base-black rounded`;\n","import React, { useEffect, useRef, useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { CaretRightIcon } from \"@phosphor-icons/react\";\nimport type { POI, School } from \"@local-logic/client\";\nimport type { MarkerValue } from \"../types\";\nimport * as styles from \"./styles\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\nimport { useSurveyTrigger } from \"~/sdks/LocalContent/hooks/useSurveyTrigger\";\n\nimport { DEFAULT_RADIUS } from \"~/sdks/LocalContent/constants\";\n\nimport { getIdFromMarker } from \"~/utils/map/getIdFromMarker\";\n\nimport { TransitRoutes } from \"~/components/TransitRoutes\";\n\nimport type { POISubcategory } from \"~/sdks/LocalContent/types\";\n\nexport function List({\n pois,\n showPois = true,\n onSelect,\n}: {\n pois: MarkerValue[];\n showPois?: boolean;\n onSelect?: (poi: MarkerValue, category: POISubcategory) => void;\n}) {\n const { t } = useTranslation([\"localContent\", \"common\"]);\n const {\n activeMarker,\n markersData,\n distanceUnit,\n selectedPoiSubcategory,\n handleMarkerClick,\n showSchoolRatings,\n } = useLocalContent();\n const { handleAddSessionTriggerCount } = useSurveyTrigger();\n const activeItemRef = useRef<HTMLLIElement | null>(null);\n\n useEffect(() => {\n if (activeItemRef.current) {\n activeItemRef.current.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n });\n }\n }, [activeMarker]);\n\n const isUsingLargerRadius = useMemo(() => {\n if (!markersData || Object.keys(markersData).length === 0) {\n return false;\n }\n\n const farMarker = Object.values(markersData)\n .flat()\n .find(\n (marker) =>\n typeof marker?.proximity?.linear_distance === \"number\" &&\n marker.proximity.linear_distance > DEFAULT_RADIUS,\n );\n\n return typeof farMarker !== \"undefined\";\n }, [markersData]);\n\n const handleSelectMarkerOnMap = (poi: MarkerValue) => () => {\n const markerId = getIdFromMarker(poi.lat, poi.lng, poi.name);\n handleAddSessionTriggerCount();\n handleMarkerClick({\n id: markerId,\n latitude: poi.lat,\n longitude: poi.lng,\n markers: [\n {\n id: markerId,\n latitude: poi.lat,\n longitude: poi.lng,\n name: poi.name,\n },\n ],\n });\n\n if (typeof onSelect !== \"undefined\" && selectedPoiSubcategory !== null) {\n onSelect(poi, selectedPoiSubcategory);\n }\n };\n\n if (pois.length === 0) {\n return null;\n }\n\n return (\n <div className={styles.container} data-testid=\"score-poi-list-content\">\n <p className={styles.title} data-testid=\"score-poi-list-title\">\n {!isUsingLargerRadius &&\n t(\"poiSearchRadius\", {\n radius:\n distanceUnit === \"imperial\"\n ? ((DEFAULT_RADIUS / 1000) * 0.621371).toFixed(1)\n : (DEFAULT_RADIUS / 1000).toFixed(1),\n unit: t(\n `common:distance.${distanceUnit === \"imperial\" ? \"mile\" : \"kilometer\"}`,\n ),\n })}\n </p>\n\n {showPois && (\n <ul className={styles.list}>\n {pois.map((poi) => {\n const isActive =\n activeMarker?.id === getIdFromMarker(poi.lat, poi.lng, poi.name);\n\n return (\n <li\n ref={isActive ? activeItemRef : null}\n className={styles.item}\n key={`${poi.lat}-${poi.lng}-${poi.name}`}\n data-is-active={isActive}\n >\n <button\n data-testid=\"score-poi-list-item\"\n onClick={handleSelectMarkerOnMap(poi)}\n className={styles.button}\n >\n <span className={styles.poi}>\n <span\n className={styles.name}\n data-testid=\"score-poi-list-name\"\n >\n {poi.name}\n </span>\n <CaretRightIcon weight=\"bold\" className={styles.icon} />\n </span>\n\n {typeof (poi as School)?.school_attributes?.types !==\n \"undefined\" && (\n <div className={styles.schoolTypes}>\n {(poi as School)?.school_attributes?.types?.map(\n (schoolType) => (\n <span\n key={`score-poi-list-school-type-${poi.lat}-${poi.lng}-${poi.name}`}\n className={styles.badge}\n >\n {schoolType}\n </span>\n ),\n )}\n {showSchoolRatings &&\n typeof (poi as School)?.rating === \"string\" && (\n <span className={styles.badge}>\n {(poi as School)?.rating}\n </span>\n )}\n </div>\n )}\n\n <TransitRoutes\n keyPrefix={`poi-transit-routes-${poi.lat}-${poi.lng}`}\n routes={(poi as POI).routes}\n useLongName={selectedPoiSubcategory === \"train_stations\"}\n className={styles.routes}\n />\n </button>\n </li>\n );\n })}\n </ul>\n )}\n </div>\n );\n}\n","export const container = `w-full`;\n","import React from \"react\";\n\nimport type { Markers, MarkerValue } from \"./types\";\n\nimport { Loading } from \"./Loading\";\nimport { Subcategories } from \"./Subcategories\";\nimport { List } from \"./List\";\n\nimport * as styles from \"./styles\";\nimport type { ScoreKey, POISubcategory } from \"~/sdks/LocalContent/types\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nexport function ScorePoiList({\n scoreKey,\n isLoading = false,\n showPois = true,\n pois,\n onPOISelected,\n}: {\n scoreKey: ScoreKey | null;\n isLoading?: boolean;\n showPois?: boolean;\n pois?: Markers;\n onPOISelected?: (poi: MarkerValue, category: POISubcategory) => void;\n}) {\n const {\n availablePoiSubcategories,\n selectedPoiSubcategory,\n handleSelectPoiSubcategory,\n } = useLocalContent();\n\n if (isLoading) {\n return <Loading />;\n }\n\n if (typeof pois === \"undefined\" || selectedPoiSubcategory === null) {\n return null;\n }\n\n return (\n <div className={styles.container}>\n <Subcategories\n availablePoiSubcategories={availablePoiSubcategories}\n scoreKey={scoreKey}\n selectedSubcategory={selectedPoiSubcategory}\n onSelectCategory={handleSelectPoiSubcategory}\n />\n\n {typeof pois[selectedPoiSubcategory] !== \"undefined\" && (\n <List\n pois={pois[selectedPoiSubcategory]}\n showPois={showPois}\n onSelect={onPOISelected}\n />\n )}\n </div>\n );\n}\n","export const container = `\n w-full flex gap-2 items-center justify-between\n`;\nexport const title = `flex grow gap-2 items-center`;\nexport const text = `text-nowrap text-gray-800 font-medium flex items-center -mt-1`;\n","export const container = `rounded text-xs font-medium bg-base-white text-primary-100 border border-primary-100 h-5 flex items-center justify-center w-16 shrink-0`;\n","import React, { useMemo } from \"react\";\n\nimport * as styles from \"./styles\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\nimport type { ScoreKey } from \"~/sdks/LocalContent/types\";\n\nexport function ScoreValue({\n scoreKey,\n value,\n}: {\n scoreKey?: ScoreKey;\n value?: number;\n}) {\n const { hideScoresList } = useLocalContent();\n\n const hide = useMemo(\n () => typeof scoreKey === \"undefined\" || hideScoresList.includes(scoreKey),\n [scoreKey, hideScoresList],\n );\n\n if (hide || typeof value !== \"number\" || value <= 0) {\n return null;\n }\n\n return (\n <div className={styles.container} data-testid=\"score-value\">\n {value > 10 ? 10 : value} / 10\n </div>\n );\n}\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { ColorIcon } from \"@local-logic/design-system\";\nimport * as styles from \"./styles\";\nimport { ScoreValue } from \"~/sdks/LocalContent/components/ScoreValue\";\nimport { ScoreIcon } from \"~/components/ScoreIcon\";\n\nimport type { ScoreKey } from \"~/sdks/LocalContent/types\";\n\nexport type ScoreProps = {\n scoreKey: ScoreKey | null;\n scoreValue?: number;\n backgroundColor?: string;\n fillColor?: string;\n className?: string;\n};\n\nexport function Score({\n scoreKey,\n scoreValue,\n backgroundColor,\n fillColor,\n className,\n}: ScoreProps) {\n const { t } = useTranslation([\"common\"]);\n\n if (scoreKey === null) {\n return null;\n }\n\n return (\n <div\n className={twMerge(styles.container, className)}\n data-testid=\"score-component\"\n >\n <span className={styles.title}>\n <ColorIcon\n element={<ScoreIcon score={scoreKey} />}\n backgroundColor={backgroundColor}\n fillColor={fillColor}\n />\n <span className={styles.text}>\n {t(`common:scores.${scoreKey}.title`)}\n </span>\n </span>\n <ScoreValue scoreKey={scoreKey} value={scoreValue} />\n </div>\n );\n}\n","import React from \"react\";\n\nimport { useRootElement } from \"../context\";\nimport * as styles from \"./styles\";\nimport { ScoreComparison } from \"~/sdks/LocalContent/components/ScoreComparison\";\nimport { ScoreText } from \"~/sdks/LocalContent/components/ScoreText\";\nimport { ScorePoiList } from \"~/sdks/LocalContent/components/ScorePoiList\";\nimport type { MarkerValue } from \"~/sdks/LocalContent/components/ScorePoiList/types\";\n\nimport {\n type POISubcategory,\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nimport { Score } from \"~/sdks/LocalContent/components/Score\";\n\nimport { useTracking } from \"~/tracking\";\n\nexport function ScoreDetails() {\n const {\n isExpanded,\n isMarkersLoading,\n activeScore,\n activeScoreData,\n markersData,\n } = useRootElement();\n const tracking = useTracking();\n\n const handleOnPOISelected = (poi: MarkerValue, category: POISubcategory) => {\n if (activeScore === null) {\n return;\n }\n\n const eventAttributes: Record<string, boolean | string | number> = {\n score: activeScore,\n category,\n latitude: poi.lat,\n longitude: poi.lng,\n name: poi.name,\n };\n\n Object.entries(poi).forEach(([key, value]) => {\n if ([\"boolean\", \"string\", \"number\"].includes(typeof value)) {\n if (key === \"lat\" || key === \"lng\" || key === \"name\") {\n return;\n }\n eventAttributes[key] = value;\n }\n });\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SIDEBAR_POI_SELECTED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.SIDEBAR_POI_SELECTED,\n eventAttributes,\n });\n };\n\n return (\n <div\n className={styles.container}\n data-testid=\"sidebar-score-details\"\n data-is-visible={isExpanded}\n >\n <Score\n scoreKey={activeScore}\n scoreValue={activeScoreData?.value}\n backgroundColor={activeScoreData?.categoryOptions?.colors?.background}\n fillColor={activeScoreData?.categoryOptions?.colors?.fill}\n className={styles.score}\n />\n <ScoreComparison\n scoreKey={activeScore}\n locationScoreValue={activeScoreData?.value}\n comparedTo={activeScoreData?.geographies?.g30}\n />\n <ScoreText text={activeScoreData?.text} />\n <ScorePoiList\n isLoading={isMarkersLoading}\n pois={markersData}\n scoreKey={activeScore}\n onPOISelected={handleOnPOISelected}\n />\n </div>\n );\n}\n","export const container = `absolute top-14 left-0 bottom-0 h-auto w-full bg-base-white p-4 overflow-y-auto`;\n","export const container = `\n flex flex-col\n\n transition-transform duration-15 ease-in-out\n\n data-[direction=\"right-to-left\"]:translate-x-full\n data-[direction=\"left-to-right\"]:-translate-x-full\n data-[direction=\"bottom-to-top\"]:translate-y-full\n data-[direction=\"top-to-bottom\"]:-translate-y-full\n\n data-[direction=\"right-to-left\"]:data-[is-open=true]:translate-x-0\n data-[direction=\"left-to-right\"]:data-[is-open=true]:translate-x-0\n data-[direction=\"bottom-to-top\"]:data-[is-open=true]:translate-y-0\n data-[direction=\"top-to-bottom\"]:data-[is-open=true]:translate-y-0\n`;\n","import React, { useRef, useImperativeHandle } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport * as styles from \"./styles\";\n\nexport const Slider = React.forwardRef<\n HTMLDivElement,\n {\n isOpen?: boolean;\n direction?:\n | \"right-to-left\"\n | \"left-to-right\"\n | \"bottom-to-top\"\n | \"top-to-bottom\";\n className?: string;\n children?: React.ReactNode;\n }\n>(\n (\n {\n isOpen = false,\n direction = \"right-to-left\",\n className,\n children,\n ...rest\n },\n forwardedRef,\n ) => {\n const internalRef = useRef<HTMLDivElement>(null);\n\n useImperativeHandle(\n forwardedRef,\n () => internalRef.current as HTMLDivElement,\n );\n\n return (\n <div\n ref={internalRef}\n className={twMerge(styles.container, className)}\n data-testid=\"slider\"\n data-is-open={isOpen}\n data-direction={direction}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nSlider.displayName = \"Slider\";\n","import React from \"react\";\n\nimport { useRootElement } from \"../context\";\n\nimport * as styles from \"./styles\";\nimport { Slider as SliderComponent } from \"~/sdks/LocalContent/components/Slider\";\n\nexport function Slider({ children }: { children?: React.ReactNode }) {\n const { activeScore, isExpanded } = useRootElement();\n\n return (\n <SliderComponent\n isOpen={isExpanded && !!activeScore}\n className={styles.container}\n >\n {children}\n </SliderComponent>\n );\n}\n","import React from \"react\";\n\nimport type { RootProps } from \"./types\";\n\nimport { RootElementContextProvider } from \"./context\";\n\nexport const Root = ({\n isExpanded,\n isScoresLoading,\n isMarkersLoading,\n activeScore,\n activeScoreData,\n markersData,\n onSelectScore,\n onToggleIsExpanded,\n children,\n}: RootProps) => (\n <RootElementContextProvider\n isExpanded={isExpanded}\n isScoresLoading={isScoresLoading}\n isMarkersLoading={isMarkersLoading}\n activeScore={activeScore}\n activeScoreData={activeScoreData}\n markersData={markersData}\n onSelectScore={onSelectScore}\n onToggleIsExpanded={onToggleIsExpanded}\n >\n {children}\n </RootElementContextProvider>\n);\n\n// Export children\nexport { Content } from \"./Content\";\nexport { Header } from \"./Header\";\nexport { Category } from \"./Category\";\nexport { Score } from \"./Score\";\nexport { ScoreDetails } from \"./ScoreDetails\";\nexport { Slider } from \"./Slider\";\n","export const container = `absolute top-2.5 left-2 flex gap-x-3 z-10`;\nexport const item = `\n group rounded-full h-10 min-w-10 max-w-10 w-10 px-3 whitespace-nowrap text-base-white\n flex gap-0 items-center justify-center font-medium overflow-hidden -outline-offset-2\n shadow-4sm\n\n transition-none\n\n bg-[var(--background)]\n hover:bg-[var(--fill)]\n data-[is-active=true]:bg-[var(--fill)]\n data-[is-active=true]:max-w-full\n data-[is-active=true]:w-full\n data-[is-active=true]:gap-2\n data-[is-active=true]:transition-all\n`;\nexport const icon = `\n transition-colors w-5 h-5 flex-shrink-0\n\n fill-[var(--fill)]\n group-hover:fill-base-white\n group-data-[is-active=true]:fill-base-white\n`;\nexport const title = `\n text-sm\n transition-all max-w-0 translate-x-16\n\n group-data-[is-active=true]:max-w-none\n group-data-[is-active=true]:translate-x-0\n`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport * as styles from \"./styles\";\nimport { useTracking } from \"~/tracking\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\nimport { useSurveyTrigger } from \"~/sdks/LocalContent/hooks/useSurveyTrigger\";\n\nimport { ScoreIcon } from \"~/components/ScoreIcon\";\n\nimport {\n type ScoreKey,\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nexport function ScoresPillList({\n scores,\n backgroundColor,\n fillColor,\n}: {\n scores?: ScoreKey[];\n backgroundColor?: string;\n fillColor?: string;\n}) {\n const tracking = useTracking();\n const { t } = useTranslation([\"common\"]);\n const {\n activeScore,\n isCommuteCalculatorOpen,\n handleSelectScore: onSelectScore,\n handleToggleIsCommuteCalculatorOpen,\n } = useLocalContent();\n const { handleAddSessionTriggerCount } = useSurveyTrigger();\n\n const handleSelectScore = (scoreKey: ScoreKey) => () => {\n onSelectScore(scoreKey)();\n handleAddSessionTriggerCount();\n\n const eventAttributes = {\n scoreKey,\n isExpanded: activeScore === scoreKey,\n };\n\n if (isCommuteCalculatorOpen) {\n handleToggleIsCommuteCalculatorOpen();\n }\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.CATEGORIES_MENU_SCORE_SELECTED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.CATEGORIES_MENU_SCORE_SELECTED,\n eventAttributes,\n });\n };\n\n if (typeof scores === \"undefined\" || scores.length === 0) {\n return null;\n }\n\n return (\n <div\n data-testid=\"scores-pill-list\"\n className={styles.container}\n style={\n {\n \"--background\": backgroundColor,\n \"--fill\": fillColor,\n } as React.CSSProperties\n }\n >\n {scores.map((score) => (\n <button\n key={score}\n data-is-active={score === activeScore}\n data-score={score}\n data-testid=\"score-pill-item\"\n onClick={handleSelectScore(score)}\n className={styles.item}\n aria-label={t(`common:scores.${score}.title`)}\n >\n <ScoreIcon\n data-testid=\"score-pill-icon\"\n score={score}\n className={styles.icon}\n />\n <span data-testid=\"score-pill-title\" className={styles.title}>\n {t(`common:scores.${score}.title`)}\n </span>\n </button>\n ))}\n </div>\n );\n}\n","export const container = `flex items-center justify-center`;\nexport const caret = `w-4 h-4 shrink-0 group-data-[is-expanded=\"true\"]/bottom-slider:rotate-180 transition-transform duration-50 ease-in-out`;\n","import React from \"react\";\n\nimport { CaretUpIcon } from \"@phosphor-icons/react\";\n\nimport * as styles from \"./styles\";\n\nexport function Header({\n onClick,\n}: {\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n}) {\n if (typeof onClick === \"undefined\") {\n return (\n <div className={styles.container} data-testid=\"header-button\">\n <CaretUpIcon className={styles.caret} weight=\"bold\" />\n </div>\n );\n }\n\n return (\n <button\n className={styles.container}\n onClick={onClick}\n data-testid=\"header-button\"\n >\n <CaretUpIcon className={styles.caret} weight=\"bold\" />\n </button>\n );\n}\n","export const container = `\n group/bottom-slider flex flex-col gap-y-2 p-4\n absolute bottom-0 w-full shadow-sm\n transition-all duration-300 ease-in-out\n z-20 bg-base-white rounded-t-2xl h-fit \n\n data-[is-expanded=false]:max-h-20\n data-[is-expanded=true]:max-h-full\n\n data-[is-clickable=true]:cursor-pointer\n`;\n\nexport const expandToggle = `\n flex items-center justify-center\n`;\n","import React, { forwardRef } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { Slider } from \"../Slider\";\nimport { Header } from \"./Header\";\n\nimport * as styles from \"./styles\";\n\nexport const BottomSlider = forwardRef<\n HTMLDivElement,\n {\n isOpen?: boolean;\n isExpanded?: boolean;\n fullAreaClickable?: boolean;\n onExpandContract: (e: React.MouseEvent<HTMLButtonElement>) => void;\n children?: React.ReactNode;\n className?: string;\n }\n>(\n (\n {\n isOpen,\n isExpanded = true,\n fullAreaClickable = false,\n onExpandContract,\n children,\n className,\n ...rest\n },\n forwardedRef,\n ) => (\n <span onClick={fullAreaClickable ? onExpandContract : undefined}>\n <Slider\n ref={forwardedRef}\n direction=\"bottom-to-top\"\n isOpen={isOpen}\n data-is-expanded={isExpanded}\n data-is-clickable={fullAreaClickable}\n className={twMerge(styles.container, className)}\n {...rest}\n >\n <Header onClick={!fullAreaClickable ? onExpandContract : undefined} />\n {children}\n </Slider>\n </span>\n ),\n);\n\nBottomSlider.displayName = \"BottomSlider\";\n","export const container = `\n data-[is-expanded=false]:max-h-32\n data-[is-expanded=true]:max-h-96\n`;\nexport const score = `mb-1`;\nexport const scoreComparison = `ml-7`;\n","import React, { useState, useEffect, forwardRef } from \"react\";\n\nimport { BottomSlider } from \"../BottomSlider\";\nimport { Score } from \"../Score\";\nimport { ScoreComparison } from \"../ScoreComparison\";\nimport { ScoreText } from \"../ScoreText\";\nimport { ScorePoiList } from \"../ScorePoiList\";\n\nimport * as styles from \"./styles\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\n/**\n * This component is meant to be displayed on mobile devices only. It shows detailed\n * information about the selected score in a slider that appears from the bottom\n * of the screen.\n */\nexport const ScoreDetailsSlider = forwardRef<HTMLDivElement>(\n (_, forwardedRef) => {\n const {\n isCommuteCalculatorOpen,\n activeScore,\n activeScoreData,\n activeCategoryData,\n isMarkersLoading,\n markersData,\n } = useLocalContent();\n const [isExpanded, setIsExpanded] = useState(false);\n\n useEffect(() => {\n setIsExpanded(false);\n }, [activeScore]);\n\n const handleOnExpandContractClick = (\n e: React.MouseEvent<HTMLButtonElement>,\n ) => {\n // Sanity checks\n if (\n !activeScore ||\n !forwardedRef ||\n \"current\" in forwardedRef === false\n ) {\n return;\n }\n\n // When the slider is expanded, ignore clicks on the button inside the slider\n // This would allow for clicking on actions inside the slider without collapsing it\n if (isExpanded && e.target instanceof HTMLButtonElement) {\n return;\n }\n\n setIsExpanded((prev) => !prev);\n };\n\n if (isCommuteCalculatorOpen) {\n return null;\n }\n\n return (\n <BottomSlider\n ref={activeScore ? forwardedRef : undefined}\n data-testid=\"score-details-slider\"\n data-is-expanded={isExpanded}\n className={styles.container}\n isOpen={typeof activeScoreData !== \"undefined\"}\n isExpanded={isExpanded}\n fullAreaClickable\n onExpandContract={handleOnExpandContractClick}\n >\n <div className={styles.score}>\n <Score\n scoreKey={activeScore}\n scoreValue={activeScoreData?.value}\n backgroundColor={activeCategoryData?.colors?.background}\n fillColor={activeCategoryData?.colors?.fill}\n className={styles.score}\n />\n <ScoreComparison\n scoreKey={activeScore}\n locationScoreValue={activeScoreData?.value}\n comparedTo={activeScoreData?.geographies?.g30}\n className={styles.scoreComparison}\n />\n </div>\n <ScorePoiList\n isLoading={isMarkersLoading}\n pois={markersData}\n scoreKey={activeScore}\n showPois={false}\n />\n <ScoreText text={activeScoreData?.text} />\n </BottomSlider>\n );\n },\n);\n\nScoreDetailsSlider.displayName = \"ScoreDetailsSlider\";\n","import React, { useContext, useEffect } from \"react\";\n\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nimport type { CommuteData } from \"~/sdks/LocalContent/hooks/useCommute/types\";\nimport type { CommuteOptions, MapProvider } from \"~/sdks/LocalContent/types\";\n\nexport type DefaultContext = {\n isOpen: boolean;\n commuteOptions: CommuteOptions;\n commuteData: CommuteData | null;\n isCommuteDataLoading: boolean;\n location: { lat: number; lng: number };\n country: \"CAN\" | \"USA\";\n mapProvider?: MapProvider;\n distanceUnit?: \"metric\" | \"imperial\";\n onToggleIsOpen: () => void;\n handleCalculateCommute: (options: CommuteOptions) => void;\n};\n\nconst RootElementContext = React.createContext<DefaultContext>(\n {} as DefaultContext,\n);\nconst useRootElement = () => useContext(RootElementContext);\n\nconst RootElementContextProvider = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const {\n activeScore,\n activeCategory,\n selectedPoiSubcategory,\n map,\n country,\n location,\n isCommuteCalculatorOpen,\n commuteData,\n commuteOptions,\n isCommuteDataLoading,\n distanceUnit = \"metric\",\n handleToggleIsCommuteCalculatorOpen,\n handleCalculateCommute,\n } = useLocalContent();\n\n const isCommuteCalculatorOpenRef = React.useRef(isCommuteCalculatorOpen);\n\n // Keep the ref updated with the latest value\n useEffect(() => {\n isCommuteCalculatorOpenRef.current = isCommuteCalculatorOpen;\n }, [isCommuteCalculatorOpen]);\n\n useEffect(() => {\n if (isCommuteCalculatorOpenRef.current) {\n handleToggleIsCommuteCalculatorOpen();\n }\n }, [activeScore, activeCategory, selectedPoiSubcategory]);\n\n return (\n <RootElementContext.Provider\n value={{\n isOpen: isCommuteCalculatorOpen,\n commuteData,\n commuteOptions,\n isCommuteDataLoading,\n location: location as DefaultContext[\"location\"],\n country: country === \"CAN\" ? \"CAN\" : \"USA\",\n mapProvider: map?.mapProvider,\n distanceUnit,\n onToggleIsOpen: handleToggleIsCommuteCalculatorOpen,\n handleCalculateCommute,\n }}\n >\n {children}\n </RootElementContext.Provider>\n );\n};\n\nexport { useRootElement, RootElementContextProvider };\n","export const container = `\n z-10 sm:rounded text-sm h-10 data-[is-active=true]:bg-primary-200\n\n max-sm:rounded-full\n max-sm:w-10\n max-sm:px-0\n max-sm:!bg-primary-50\n max-sm:hover:!bg-primary-100\n`;\nexport const icon = `w-5 h-5`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { Button } from \"@local-logic/design-system\";\n\nimport { TrafficSignIcon } from \"@phosphor-icons/react\";\n\nimport { useRootElement } from \"../context\";\n\nimport * as styles from \"./styles\";\nimport { useResponsiveBreakpoints } from \"~/hooks/useResponsiveBreakpoints\";\n\nexport function Trigger() {\n const { t } = useTranslation(\"localContent\");\n const breakpoints = useResponsiveBreakpoints();\n const { isOpen, onToggleIsOpen } = useRootElement();\n\n return (\n <Button\n className={styles.container}\n prefixIcon={<TrafficSignIcon className={styles.icon} />}\n data-testid=\"commute-calculator-trigger\"\n data-is-active={isOpen}\n onClick={onToggleIsOpen}\n >\n {breakpoints.sm &&\n t(\"commute.cta\", { context: breakpoints.xs ? \"long\" : \"short\" })}\n </Button>\n );\n}\n","export const container = `\n p-3 bg-base-white rounded z-10\n absolute top-0 right-0\n shadow-3sm w-fit\n\n min-w-64 lg:min-w-72\n max-w-[300px] lg:max-w-none\n`;\n","import React from \"react\";\n\nimport { useRootElement } from \"../context\";\n\nimport * as styles from \"./styles\";\n\nexport function Card({ children }: { children?: React.ReactNode }) {\n const { isOpen } = useRootElement();\n\n if (!isOpen) {\n return null;\n }\n\n return <div className={styles.container}>{children}</div>;\n}\n","import React from \"react\";\n\nimport { useRootElement } from \"../context\";\nimport { BottomSlider } from \"~/sdks/LocalContent/components/BottomSlider\";\n\nexport function Slider({ children }: { children?: React.ReactNode }) {\n const { isOpen, onToggleIsOpen } = useRootElement();\n\n return (\n <BottomSlider isOpen={isOpen} isExpanded onExpandContract={onToggleIsOpen}>\n {isOpen && children}\n </BottomSlider>\n );\n}\n","export const container = `w-full flex flex-row lg:flex-col items-baseline gap-x-4 gap-y-1 text-xs`;\nexport const duration = `text-sm font-medium text-gray-800`;\nexport const distance = `font-normal text-gray-400`;\nexport const loading = `block w-full h-4 bg-gray-200 rounded animate-pulse`;\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useRootElement } from \"../../context\";\n\nimport * as styles from \"./styles\";\nimport {\n METERS_TO_YARDS_CONVERSION_FACTOR,\n YARDS_PER_MILE,\n METERS_PER_KILOMETER,\n} from \"~/sdks/LocalContent/constants\";\n\nexport function Route({ isLoading = false }: { isLoading?: boolean }) {\n const { t } = useTranslation([\"localContent\", \"common\"]);\n const { commuteData, distanceUnit } = useRootElement();\n\n const durationString = useMemo(() => {\n if (!commuteData?.duration) return null;\n\n const hours = Math.floor(commuteData.duration / 60 / 60);\n const minutes = Math.floor((commuteData.duration / 60) % 60);\n\n const minutesString = `${minutes} ${t(\"common:time.minute\", { count: minutes })}`;\n\n if (hours === 0) {\n return minutesString;\n }\n\n if (minutes === 0) {\n return `${hours} ${t(\"common:time.hour\", { count: hours })}`;\n }\n\n return `${hours} ${t(\"common:time.hour\", { count: hours })} ${minutesString}`;\n }, [commuteData?.duration, t]);\n\n const distanceString = useMemo(() => {\n if (!commuteData?.distance) {\n return null;\n }\n\n // HereApi returns the length in metric\n let distanceInUnit = commuteData.distance;\n const isImperialSystem = distanceUnit === \"imperial\";\n\n if (isImperialSystem) {\n distanceInUnit *= METERS_TO_YARDS_CONVERSION_FACTOR;\n }\n\n const kilometersOrMiles =\n distanceInUnit /\n (isImperialSystem ? YARDS_PER_MILE : METERS_PER_KILOMETER);\n\n if (kilometersOrMiles < 1) {\n return `${Math.floor(distanceInUnit)} ${t(`common:distance.${isImperialSystem ? \"yard\" : \"meter\"}`)}`;\n }\n\n return `${Math.floor(kilometersOrMiles * 100) / 100} ${t(`common:distance.${isImperialSystem ? \"mile\" : \"kilometer\"}`)}`;\n }, [commuteData?.distance, t]);\n\n if (!commuteData && !isLoading) {\n return null;\n }\n\n return (\n <div className={styles.container}>\n {isLoading && (\n <span data-testid=\"commute-loading\" className={styles.loading}></span>\n )}\n {!isLoading && durationString && (\n <p data-testid=\"commute-duration\" className={styles.duration}>\n {durationString.toLowerCase()}\n </p>\n )}\n {!isLoading && !durationString && (\n <p data-testid=\"commute-duration\" className={styles.duration}>\n {t(\"commute.results.noRoute\")}\n </p>\n )}\n\n {!isLoading && distanceString && (\n <p data-testid=\"commute-distance\" className={styles.distance}>\n {`${distanceString} - ${t(\"commute.results.fastestRoute\")}`}\n </p>\n )}\n {!isLoading && !distanceString && (\n <p data-testid=\"commute-distance\" className={styles.distance}>\n {t(\"commute.results.trySuggestion\")}\n </p>\n )}\n </div>\n );\n}\n","export const container = `w-full flex flex-row lg:flex-col items-baseline gap-x-4 gap-y-1 text-xs`;\nexport const title = `text-sm font-medium text-gray-800`;\nexport const description = `font-normal text-gray-400`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport * as styles from \"./styles\";\n\nexport function NoRoute() {\n const { t } = useTranslation(\"localContent\");\n\n return (\n <div className={styles.container}>\n <p data-testid=\"no-route-title\" className={styles.title}>\n {t(\"commute.results.noRoute\")}\n </p>\n <p data-testid=\"no-route-description\" className={styles.description}>\n {t(\"commute.results.trySuggestion\")}\n </p>\n </div>\n );\n}\n","export const trigger = `w-full group/select flex basis-0 items-center justify-between h-12 rounded border data-[state=\"open\"]:border-primary-100 px-4 py-3 bg-base-white whitespace-nowrap`;\nexport const icon = `p-1 group-data-[state=\"open\"]/select:rotate-180 transition-transform duration-50 ease-in-out`;\nexport const item = `\n relative flex items-center w-full gap-2 py-2.5 px-4 text-sm font-normal text-gray-400 cursor-pointer\n \n hover:bg-primary-10\n hover:text-base-black\n hover:font-medium\n \n data-[state=\"checked\"]:bg-primary-10\n data-[state=\"checked\"]:text-base-black\n data-[state=\"checked\"]:font-medium\n`;\nexport const content = `bg-white rounded-lg py-3 shadow z-10`;\nexport const contentViewport = `h-[var(--radix-select-trigger-height)] min-w-[var(--radix-select-trigger-width)] w-full`;\n","import React from \"react\";\n\nimport * as RadixSelect from \"@radix-ui/react-select\";\n\nimport {\n CaretDownIcon,\n PersonSimpleWalkIcon,\n CarIcon,\n BicycleIcon,\n} from \"@phosphor-icons/react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport * as styles from \"./styles\";\nimport type { TravelMode } from \"~/sdks/LocalContent/hooks/useCommute/types\";\n\nconst options = [\"walking\", \"driving\", \"cycling\"] as TravelMode[];\nconst icons = {\n walking: <PersonSimpleWalkIcon size={16} />,\n driving: <CarIcon size={16} />,\n cycling: <BicycleIcon size={16} />,\n};\n\nexport interface SelectProps {\n name: string;\n selected?: TravelMode;\n isOpen?: boolean;\n onChange: (value: TravelMode) => void;\n disabled?: boolean;\n placeholder?: string;\n}\n\nexport const Select = ({\n name,\n selected = options[0],\n onChange,\n disabled,\n}: SelectProps) => {\n const { t } = useTranslation(\"localContent\");\n\n return (\n <RadixSelect.Root\n value={selected}\n onValueChange={(value: string) => onChange(value as TravelMode)}\n >\n <RadixSelect.Trigger\n id={name}\n data-testid={`select-${name}`}\n className={styles.trigger}\n disabled={disabled}\n >\n <RadixSelect.Value placeholder={t(`commute.travelTypes.${selected}`)}>\n {icons[selected]}\n </RadixSelect.Value>\n <RadixSelect.Icon asChild>\n <CaretDownIcon className={styles.icon} size={20} />\n </RadixSelect.Icon>\n </RadixSelect.Trigger>\n\n <RadixSelect.Content\n className={styles.content}\n align=\"start\"\n sticky=\"always\"\n >\n <RadixSelect.Viewport className={styles.contentViewport}>\n <>\n {options.map((value) => (\n <RadixSelect.Item\n className={styles.item}\n key={value}\n value={value}\n >\n <RadixSelect.Icon>{icons[value]}</RadixSelect.Icon>\n\n <RadixSelect.ItemText>\n {t(`commute.travelTypes.${value}`)}\n </RadixSelect.ItemText>\n </RadixSelect.Item>\n ))}\n </>\n </RadixSelect.Viewport>\n </RadixSelect.Content>\n </RadixSelect.Root>\n );\n};\n","export const container = `flex flex-col gap-4`;\nexport const form = `flex gap-2`;\n","import React from \"react\";\n\nexport const textWithHighlighting = (text: string, highlight: string) => {\n // Escape special characters in the highlight, otherwise chracters like '\\'\n // will throw an error.\n const escaped = highlight.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n const parts = text.split(new RegExp(`(${escaped})`, \"gi\"));\n\n return parts.map((part, i) =>\n part.toLowerCase() === highlight.toLowerCase() ? (\n <strong key={i}>{part}</strong>\n ) : (\n <span key={i}>{part}</span>\n ),\n );\n};\n","import type { Suggestion, SuggestionsResponse } from \"../types\";\nimport type { MapboxSuggestion, MapboxSuggestionsResponse } from \"./types\";\n\nconst formatSuggestion = (suggestion: MapboxSuggestion): Suggestion => {\n const { properties } = suggestion;\n const { context } = suggestion.properties;\n\n return {\n label: properties.name,\n language: properties.language,\n countryCode: context.country?.country_code_alpha_3 ?? \"\",\n locationId: properties.mapbox_id,\n address: {\n description: `${properties.name}, ${properties.place_formatted}`,\n country: context.country?.name ?? \"\",\n state: context.region?.region_code ?? \"\",\n city: context.place?.name ?? \"\",\n postalCode: context.postcode?.name ?? \"\",\n county: context.district?.name ?? \"\",\n street: context.address?.street_name ?? \"\",\n houseNumber: context.address?.address_number ?? \"\",\n coordinates: {\n latitude: properties.coordinates.latitude,\n longitude: properties.coordinates.longitude,\n },\n },\n };\n};\n\nexport const transformSuggestionsResponse = (\n response: MapboxSuggestionsResponse,\n): SuggestionsResponse => ({\n suggestions: response.features.map((suggestion: MapboxSuggestion) =>\n formatSuggestion(suggestion),\n ),\n});\n","import { useQuery } from \"@tanstack/react-query\";\nimport type { Location, Country, SuggestionsResponse } from \"./types\";\nimport { transformSuggestionsResponse } from \"./transformSuggestionsResponse\";\n\nimport useDebounce from \"~/hooks/useDebounce\";\n\nconst MAPBOX_ENDPOINT = \"https://api.mapbox.com/search/searchbox/v1/forward?\";\n\nexport function useAddressSearch({\n location,\n country,\n locale = \"en\",\n query,\n}: {\n location: Location;\n country: Country;\n locale?: string;\n query: string;\n}) {\n const debouncedQuery = useDebounce(query, 1250);\n const regionCode = country === \"CAN\" ? \"CA\" : \"US\";\n\n const options = {\n q: debouncedQuery,\n language: locale,\n proximity: `${location.lng},${location.lat}`,\n origin: `${location.lng},${location.lat}`,\n country: regionCode,\n types: \"poi,address,street,neighborhood,locality,city,place\",\n limit: \"5\",\n access_token: import.meta.env.VITE_MAPBOX_API_KEY as string,\n };\n\n /**\n * Fetches address suggestions from Mapbox Search API.\n *\n * @returns SuggestionsResponse\n */\n const fetchSuggestions = async (): Promise<SuggestionsResponse> => {\n const response = await fetch(\n MAPBOX_ENDPOINT + new URLSearchParams(options),\n );\n\n return transformSuggestionsResponse(await response.json());\n };\n\n return useQuery({\n queryKey: [useAddressSearch.name, debouncedQuery],\n queryFn: fetchSuggestions,\n enabled: !!debouncedQuery.length && debouncedQuery.length >= 4,\n });\n}\n","import React, { useState, useEffect, useMemo } from \"react\";\n\nimport { MagnifyingGlassIcon } from \"@phosphor-icons/react\";\nimport { Form as FormComponent } from \"@local-logic/design-system\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRootElement } from \"../context\";\nimport { Route } from \"./Route\";\nimport { NoRoute } from \"./NoRoute\";\nimport { Select } from \"./Select\";\nimport * as styles from \"./styles\";\nimport { browserUtils } from \"~/utils\";\nimport { textWithHighlighting } from \"~/utils/formatters/textWithHighlighting\";\n\nimport type { TravelMode } from \"~/sdks/LocalContent/hooks/useCommute/types\";\n\nimport {\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nimport { useResponsiveBreakpoints } from \"~/hooks/useResponsiveBreakpoints\";\nimport { useTracking } from \"~/tracking\";\nimport { useAddressSearch } from \"~/sdks/LocalContent/hooks/useAddressSearch\";\nimport type { Suggestion } from \"~/sdks/LocalContent/hooks/useAddressSearch/types\";\n\nexport function Form() {\n const { t } = useTranslation(\"localContent\");\n const tracking = useTracking();\n const breakpoints = useResponsiveBreakpoints();\n const {\n commuteData,\n commuteOptions,\n isCommuteDataLoading,\n country,\n location,\n handleCalculateCommute,\n } = useRootElement();\n\n // State for search input field\n const [isFieldFocused, setIsFieldFocused] = useState(false);\n const [searchQuery, setSearchQuery] = useState(\"\");\n const [selectedValue, setSelectedValue] = useState<string | undefined>();\n\n const { data, isLoading } = useAddressSearch({\n query: searchQuery,\n country,\n location,\n });\n\n useEffect(() => {\n if (typeof commuteData?.label === \"string\" && commuteData.label !== \"\") {\n setSelectedValue(commuteData.label);\n }\n }, [commuteData?.label]);\n\n const suggestionResults = useMemo(\n () =>\n !searchQuery\n ? (\n browserUtils.commuteHistory.getSuggestionHistory() as Suggestion[]\n ).slice(0, 3)\n : data?.suggestions || [],\n [searchQuery, data?.suggestions],\n );\n\n const options = useMemo(() => {\n if (!isFieldFocused || !suggestionResults.length) {\n return [];\n }\n\n return suggestionResults\n .filter(\n (suggestion) => typeof suggestion?.address?.description === \"string\",\n )\n .map((suggestion) => ({\n value: suggestion.address?.description || \"\",\n label: textWithHighlighting(\n suggestion.address?.description || \"\",\n searchQuery,\n ),\n key: suggestion.locationId || `address-${suggestion.locationId}`,\n })) as unknown as FormComponent.Option<string>[];\n }, [isFieldFocused, searchQuery, suggestionResults]);\n\n const handleOnSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchQuery(e.target.value);\n };\n\n const handleOnSearchClear = () => {\n handleCalculateCommute({\n ...commuteOptions,\n label: undefined,\n destination: undefined,\n });\n setSelectedValue(undefined);\n };\n\n const handleOnSelect = async (value: string) => {\n setSelectedValue(value);\n\n const suggestion = suggestionResults.find(\n (suggestionResult) => suggestionResult.address?.description === value,\n );\n\n if (typeof suggestion === \"undefined\") {\n return;\n }\n\n if (typeof suggestion?.address?.coordinates !== \"undefined\") {\n browserUtils.commuteHistory.push(suggestion);\n handleCalculateCommute({\n ...commuteOptions,\n label: value,\n destination: {\n lat: suggestion.address.coordinates.latitude,\n lng: suggestion.address.coordinates.longitude,\n },\n });\n\n const eventAttributes = {\n label: value,\n mode: commuteOptions.commuteType,\n destinationLat: suggestion.address.coordinates.latitude,\n destinationLng: suggestion.address.coordinates.longitude,\n };\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.COMMUTE_CALCULATOR_CALCULATE_ROUTE,\n eventAttributes: Object.entries(eventAttributes).map(\n ([key, objectValue]) => ({\n label: key,\n data: objectValue,\n }),\n ),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.COMMUTE_CALCULATOR_CALCULATE_ROUTE,\n eventAttributes,\n });\n }\n };\n\n const handleOnFieldFocus = () => {\n setIsFieldFocused(true);\n };\n\n const handleOnFieldBlur = () => {\n setIsFieldFocused(false);\n };\n\n const handleOnCommuteTypeChange = (value: TravelMode) => {\n handleCalculateCommute({\n ...commuteOptions,\n commuteType: value,\n });\n };\n\n return (\n <div className={styles.container}>\n <FormComponent.Root\n initialValues={{ searchQuery: \"\" }}\n className={styles.form}\n >\n <FormComponent.SearchAndSelect<string>\n name=\"searchQuery\"\n label={\n !selectedValue &&\n !isFieldFocused &&\n typeof commuteData?.label === \"string\"\n ? commuteData.label\n : t(\"commute.placeholder\")\n }\n direction={breakpoints.sm ? \"topToBottom\" : \"bottomToTop\"}\n maxLength={150}\n clearOnSelect={false}\n selectedLabel={selectedValue}\n prefixIcon={MagnifyingGlassIcon}\n isLoading={isLoading || isCommuteDataLoading}\n options={options}\n onChange={handleOnSearchChange}\n onClear={handleOnSearchClear}\n onSelect={handleOnSelect}\n onFocus={handleOnFieldFocus}\n onBlur={handleOnFieldBlur}\n />\n\n <Select\n name=\"commuteType\"\n selected={commuteOptions.commuteType}\n onChange={handleOnCommuteTypeChange}\n />\n </FormComponent.Root>\n\n <Route isLoading={isCommuteDataLoading} />\n {typeof commuteOptions.destination !== \"undefined\" &&\n commuteData === null &&\n !isCommuteDataLoading && <NoRoute />}\n </div>\n );\n}\n","export const container = `w-full flex justify-between items-center mb-2`;\nexport const title = `text-xs font-normal text-base-black`;\nexport const icon = `w-4 h-4 ml-3 cursor-pointer`;\n","import React from \"react\";\n\nimport { XIcon } from \"@phosphor-icons/react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useRootElement } from \"../context\";\n\nimport * as styles from \"./styles\";\n\nexport function Header({\n hideCloseButton = false,\n}: {\n hideCloseButton?: boolean;\n}) {\n const { t } = useTranslation(\"localContent\");\n const { onToggleIsOpen } = useRootElement();\n\n return (\n <div className={styles.container}>\n <h2 data-testid=\"commute-calculator-title\" className={styles.title}>\n {t(\"commute.cta\")}\n </h2>\n\n {!hideCloseButton && (\n <button\n onClick={onToggleIsOpen}\n data-testid=\"commute-calculator-close-button\"\n >\n <XIcon weight=\"bold\" className={styles.icon} />\n </button>\n )}\n </div>\n );\n}\n","import React from \"react\";\n\nimport type { RootProps } from \"./types\";\n\nimport { RootElementContextProvider } from \"./context\";\n\nexport const Root = ({ isDisabled = false, children }: RootProps) => (\n <RootElementContextProvider>\n {!isDisabled && children}\n </RootElementContextProvider>\n);\n\n// Export children\nexport { Trigger } from \"./Trigger\";\nexport { Card } from \"./Card\";\nexport { Slider } from \"./Slider\";\nexport { Form } from \"./Form\";\nexport { Header } from \"./Header\";\n","export const container = `relative bg-base-white w-full h-screen flex flex-col`;\n// Although we set \"bottom\" for mobile here, it will be overridden by inline style in Content.tsx\nexport const menuMobileBottomOffset = 64;\nexport const menuMobileBottomOffsetExpanded = 20;\nexport const menu = `\n absolute max-sm:bottom-16 max-sm:left-2 sm:top-3 sm:right-3 flex gap-x-2 items-center justify-end\n`;\n","import React, { useMemo, useLayoutEffect, useRef, useState } from \"react\";\n\nimport { Header } from \"../Header\";\nimport { Map } from \"../Map\";\nimport { Sidebar } from \"../Sidebar\";\nimport { ScoresPillList } from \"../ScoresPillList\";\nimport { ScoreDetailsSlider } from \"../ScoreDetailsSlider\";\nimport { CommuteCalculator } from \"../CommuteCalculator\";\n\nimport * as styles from \"./styles\";\nimport { SCORE_POI_CATEGORIES } from \"~/sdks/LocalContent/constants\";\nimport { Attribution } from \"~/components/Attribution\";\nimport type {\n CategoryKey,\n ScoreKey,\n CategoryOptions,\n} from \"~/sdks/LocalContent/types\";\nimport type { TransformedScoresMenuData } from \"~/sdks/LocalContent/utils/transformScoresMenuData/types\";\nimport { useResponsiveBreakpoints } from \"~/hooks/useResponsiveBreakpoints\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nconst SCORE_VALUE_THRESHOLD = 0.1;\n\nexport function Content() {\n const breakpoints = useResponsiveBreakpoints();\n const mobileScoreDetailsSliderRef = useRef<HTMLDivElement>(null);\n const [mobileCommuteButtonBottomOffset, setMobileCommuteButtonBottomOffset] =\n useState(styles.menuMobileBottomOffset);\n const {\n isCommuteCalculatorOpen,\n isScoresLoading,\n isMarkersLoading,\n isSidebarExpanded,\n hideAttribution,\n scoresMenu,\n scoresData,\n activeScore,\n activeScoreData,\n activeCategory,\n activeCategoryData,\n markersData,\n centerMarker,\n hideScoresList,\n locale,\n handleSelectScore,\n handleToggleIsSidebarExpanded,\n } = useLocalContent();\n\n const isMobile = useMemo(() => !breakpoints.sm, [breakpoints.sm]);\n\n const filteredScoresMenu = useMemo(\n () =>\n ({\n ...scoresMenu,\n categories: scoresMenu.categories\n .map(\n ([categoryKey, categoryValue]) =>\n [\n categoryKey,\n {\n ...categoryValue,\n scores: categoryValue.scores.filter(\n ([scoreKey, scoreValue]) => {\n // It pertains to the \"hideScores\" option in the SDK\n // https://docs.locallogic.co/docs/sdks/widgets/local-content#sdkoptions\n if (\n (hideScoresList.includes(scoreKey) ||\n scoreValue.hide) &&\n SCORE_POI_CATEGORIES[scoreKey].length === 0\n ) {\n return false;\n }\n\n return (\n typeof scoresData?.[scoreKey]?.value !== \"undefined\" &&\n scoresData[scoreKey].value > SCORE_VALUE_THRESHOLD\n );\n },\n ),\n },\n ] as [CategoryKey, CategoryOptions],\n )\n .filter(\n ([, categoryValue]) =>\n Array.isArray(categoryValue.scores) &&\n categoryValue.scores.length > 0,\n ),\n }) as TransformedScoresMenuData,\n [scoresMenu, scoresData],\n );\n\n const commuteCalculatorMenuStyles = useMemo(\n () =>\n isMobile ? { bottom: `${mobileCommuteButtonBottomOffset}px` } : undefined,\n [isMobile, mobileCommuteButtonBottomOffset],\n );\n\n useLayoutEffect(() => {\n const currentRef = mobileScoreDetailsSliderRef?.current;\n\n const handleRefTransition = () => {\n if (typeof currentRef?.offsetHeight !== \"undefined\") {\n setMobileCommuteButtonBottomOffset(\n (currentRef?.offsetHeight || 0) +\n styles.menuMobileBottomOffsetExpanded,\n );\n } else {\n setMobileCommuteButtonBottomOffset(styles.menuMobileBottomOffset);\n }\n };\n\n if (currentRef && !isCommuteCalculatorOpen) {\n currentRef.addEventListener(\"transitionrun\", handleRefTransition);\n currentRef.addEventListener(\"transitionend\", handleRefTransition);\n } else if (\n mobileCommuteButtonBottomOffset !== styles.menuMobileBottomOffset &&\n !isCommuteCalculatorOpen\n ) {\n setMobileCommuteButtonBottomOffset(styles.menuMobileBottomOffset);\n }\n\n return () => {\n currentRef?.removeEventListener(\"transitionrun\", handleRefTransition);\n currentRef?.removeEventListener(\"transitionend\", handleRefTransition);\n };\n }, [isCommuteCalculatorOpen, mobileCommuteButtonBottomOffset, activeScore]);\n\n return (\n <div className={styles.container}>\n {isMobile && filteredScoresMenu.categories.length > 0 && (\n <Header scores={filteredScoresMenu} />\n )}\n\n <Map>\n {isMobile && activeCategory && (\n <>\n <ScoresPillList\n scores={filteredScoresMenu.categories\n .find(([key]) => key === activeCategory)?.[1]\n .scores.flatMap(([scoreKey]) => scoreKey)}\n backgroundColor={activeCategoryData?.colors?.background}\n fillColor={activeCategoryData?.colors?.fill}\n />\n\n <ScoreDetailsSlider ref={mobileScoreDetailsSliderRef} />\n </>\n )}\n\n {!isMobile && filteredScoresMenu.categories.length > 0 && (\n <Sidebar.Root\n isExpanded={isSidebarExpanded}\n isScoresLoading={isScoresLoading}\n isMarkersLoading={isMarkersLoading}\n activeScore={activeScore}\n activeScoreData={activeScoreData}\n markersData={markersData}\n onSelectScore={handleSelectScore}\n onToggleIsExpanded={handleToggleIsSidebarExpanded}\n >\n <Sidebar.Header title={scoresMenu?.title} />\n <Sidebar.Content>\n {filteredScoresMenu.categories.map(([categoryKey, category]) => (\n <Sidebar.Category\n key={`category-${categoryKey}`}\n categoryKey={categoryKey as CategoryKey}\n >\n {category.scores.map(([scoreKey, _score]) => (\n <Sidebar.Score\n key={`sidebar-score-${categoryKey}-${scoreKey}`}\n scoreKey={scoreKey as ScoreKey}\n backgroundColor={category.colors?.background}\n fillColor={category.colors?.fill}\n />\n ))}\n </Sidebar.Category>\n ))}\n </Sidebar.Content>\n\n <Sidebar.Slider>\n <Sidebar.ScoreDetails />\n </Sidebar.Slider>\n </Sidebar.Root>\n )}\n\n <CommuteCalculator.Root\n isDisabled={typeof centerMarker === \"undefined\"}\n >\n <div className={styles.menu} style={commuteCalculatorMenuStyles}>\n {!isCommuteCalculatorOpen && <CommuteCalculator.Trigger />}\n\n {!isMobile && (\n <CommuteCalculator.Card>\n <CommuteCalculator.Header />\n <CommuteCalculator.Form />\n </CommuteCalculator.Card>\n )}\n </div>\n\n {isMobile && (\n <CommuteCalculator.Slider>\n <CommuteCalculator.Header hideCloseButton />\n <CommuteCalculator.Form />\n </CommuteCalculator.Slider>\n )}\n </CommuteCalculator.Root>\n </Map>\n <Attribution\n sdkName=\"local-content\"\n locale={locale}\n isHidden={hideAttribution}\n />\n </div>\n );\n}\n","import { number, object, ObjectSchema, string, mixed, boolean } from \"yup\";\nimport { MapProvider } from \"./types\";\nimport type { Options } from \"./types\";\n\ntype MarkerIcon = \"house\" | \"pin\";\ntype DistanceUnit = \"metric\" | \"imperial\";\n\nconst scoreObject = object({\n hide: boolean().optional(),\n hideScore: boolean().optional(),\n order: number().optional(),\n}).optional();\n\nconst colorsObject = object({\n background: string().required(),\n fill: string().required(),\n}).optional();\n\nconst scoresMenu = object({\n defaultOpen: boolean().optional(),\n title: mixed<string | boolean>().optional(),\n categories: object({\n transport: object({\n hide: boolean().optional(),\n order: number().optional(),\n colors: colorsObject,\n scores: object({\n pedestrian_friendly: scoreObject,\n transit_friendly: scoreObject,\n cycling_friendly: scoreObject,\n car_friendly: scoreObject,\n }).optional(),\n }).optional(),\n education: object({\n hide: boolean().optional(),\n order: number().optional(),\n colors: colorsObject,\n scores: object({\n daycares: scoreObject,\n primary_schools: scoreObject,\n high_schools: scoreObject,\n }).optional(),\n }).optional(),\n amenities: object({\n hide: boolean().optional(),\n order: number().optional(),\n colors: colorsObject,\n scores: object({\n shopping: scoreObject,\n groceries: scoreObject,\n restaurants: scoreObject,\n cafes: scoreObject,\n }).optional(),\n }).optional(),\n character: object({\n hide: boolean().optional(),\n order: number().optional(),\n colors: colorsObject,\n scores: object({\n nightlife: scoreObject,\n vibrant: scoreObject,\n historic: scoreObject,\n quiet: scoreObject,\n }).optional(),\n }).optional(),\n nature: object({\n hide: boolean().optional(),\n order: number().optional(),\n colors: colorsObject,\n scores: object({\n parks: scoreObject,\n greenery: scoreObject,\n }).optional(),\n }).optional(),\n health: object({\n hide: boolean().optional(),\n order: number().optional(),\n colors: colorsObject,\n scores: object({\n wellness: scoreObject,\n }).optional(),\n }).optional(),\n }).optional(),\n})\n .optional()\n .default({\n defaultOpen: true,\n });\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 zoom: number().optional(),\n pitch: number().optional(),\n bearing: number().optional(),\n distanceUnit: mixed<DistanceUnit>().oneOf([\"metric\", \"imperial\"]).optional(),\n marker: 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 icon: mixed<MarkerIcon>().oneOf([\"house\", \"pin\"]).optional(),\n addressLabel: string().optional(),\n }).default(undefined),\n cooperativeGestures: boolean().optional(),\n mapProvider: mixed<MapProvider>().optional(),\n hideScores: boolean().optional(),\n showSchoolRatings: boolean().optional(),\n scoresMenu,\n hideAttribution: boolean().optional(),\n}).noUnknown(true);\n\nexport const validateOptions = (options: Options) =>\n schema.validate(options, { abortEarly: false });\n","import React from \"react\";\n\nimport { Content } from \"./components/Content\";\nimport { LocalContentProvider } from \"./context\";\nimport { schema } from \"./schema\";\nimport { LocalContentProps } from \"./types\";\nimport { SurveyTriggerProvider } from \"./hooks/useSurveyTrigger/SurveyTriggerProvider\";\n\nimport { TrackingProvider, initializeAnalytics } from \"~/tracking\";\n\n// TODO Move this import to sdks/sdks-app/src/App.tsx once all SDKs are migrated\nimport \"~/assets/styles/globals.css\";\n\nimport { ValidateOptions } from \"~/components/ValidateOptions\";\nimport { LocalLogicProvider } from \"~/context/LocalLogicProvider\";\nimport { useStateManagerContext } from \"~/context/stateManager\";\nimport { useResponsiveBreakpoints } from \"~/hooks/useResponsiveBreakpoints\";\nimport { ProductNames } from \"~/types\";\nimport { ANALYTICS_SETTINGS } from \"~/constants/analytics\";\n\ninitializeAnalytics(ANALYTICS_SETTINGS.localContent.key);\n\nconst LocalContent = () => {\n const { sdkState } = useStateManagerContext<LocalContentProps>();\n const breakpoints = useResponsiveBreakpoints();\n const locale = sdkState.globalOptions?.locale || \"en\";\n\n if (\n Object.hasOwnProperty.call(\n sdkState?.options?.scoresMenu?.categories || {},\n \"wellness\",\n )\n ) {\n try {\n // Remove wellness category if it exists in the options\n\n sdkState.options!.scoresMenu!.categories!.health = {\n ...sdkState.options!.scoresMenu!.categories!.health,\n // @ts-expect-error -- We renamed the category, so TS gets confused here\n ...sdkState.options?.scoresMenu?.categories?.wellness,\n };\n // @ts-expect-error -- We renamed the category, so TS gets confused here\n delete sdkState.options!.scoresMenu!.categories!.wellness;\n\n console.warn(\n \"[Local Content SDK] The 'wellness' scores category has been renamed to 'health'. Please update your SDK options accordingly.\",\n );\n } catch (_error) {\n // Do nothing\n }\n }\n\n return (\n <ValidateOptions\n sdk=\"Local Content\"\n schema={schema}\n options={sdkState.options!}\n >\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_CONTENT}\n >\n <TrackingProvider\n trackingPipelineSettings={{\n apiKey: sdkState.apiKey || \"\",\n }}\n analyticsSettings={ANALYTICS_SETTINGS.localContent}\n meta={{\n clientId: sdkState.clientId,\n productName: ProductNames.LOCAL_CONTENT,\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,\n // The mobile experience is enabled from below the sm breakpoint\n isMobile: !breakpoints.sm,\n mapProvider: sdkState.options?.mapProvider?.name,\n }}\n flags={{\n isDebugMode:\n import.meta.env.VITE_TRACKING_PIPELINE_DEBUG === \"true\",\n }}\n >\n <SurveyTriggerProvider>\n <LocalContentProvider>\n <Content />\n </LocalContentProvider>\n </SurveyTriggerProvider>\n </TrackingProvider>\n </LocalLogicProvider>\n </ValidateOptions>\n );\n};\n\nexport default LocalContent;\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,28],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LocalContent-legacy-BBB-ST51.js","names":["e","a","e","a","e","o","a","f","o","a","m","n","a","s","t","t","n","r","e","i","c"],"sources":["../../../../node_modules/@phosphor-icons/react/dist/defs/CaretDoubleLeft.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/CaretUp.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/Confetti.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/Equals.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/PencilRuler.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/ShoppingCart.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/TrafficSign.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/CaretDoubleLeft.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/CaretUp.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/Confetti.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/Equals.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/PencilRuler.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/ShoppingCart.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/TrafficSign.es.js","../../src/sdks/LocalContent/components/Header/styles.ts","../../src/sdks/LocalContent/utils/transformScoresMenuData/index.ts","../../src/sdks/LocalContent/utils/getPOICategoriesWithAvailableData/index.ts","../../src/sdks/LocalContent/constants.ts","../../src/sdks/LocalContent/utils/orderPOICategories/index.ts","../../src/sdks/LocalContent/types.ts","../../src/sdks/LocalContent/hooks/useScoreSelection/utils/transformScoresAPIResponse/index.ts","../../src/sdks/LocalContent/hooks/useScoreSelection/index.ts","../../src/sdks/LocalContent/hooks/useCommute/index.ts","../../src/sdks/LocalContent/hooks/useSurveyTrigger/session/index.ts","../../src/sdks/LocalContent/hooks/useSurveyTrigger/SurveyTriggerProvider/index.tsx","../../src/sdks/LocalContent/hooks/useSurveyTrigger/index.ts","../../src/sdks/LocalContent/context.tsx","../../src/sdks/LocalContent/components/Header/index.tsx","../../../../node_modules/@typeform/embed-react/build/index.js","../../src/sdks/LocalContent/components/Survey/styles.ts","../../src/sdks/LocalContent/components/Survey/utils/buildSurveyHiddenFields/index.ts","../../src/sdks/LocalContent/components/Survey/utils/trackSurveyEvent/index.ts","../../src/sdks/LocalContent/components/Survey/index.tsx","../../src/sdks/LocalContent/components/Map/Layers/index.tsx","../../src/sdks/LocalContent/components/Map/Markers/index.tsx","../../src/sdks/LocalContent/components/Map/CenterPin/styles.ts","../../src/sdks/LocalContent/components/Map/CenterPin/index.tsx","../../src/sdks/LocalContent/components/Map/Popup/Commute/styles.ts","../../src/sdks/LocalContent/components/Map/Popup/Commute/index.tsx","../../src/sdks/LocalContent/components/Map/Popup/index.tsx","../../src/sdks/LocalContent/components/Map/styles.ts","../../src/sdks/LocalContent/components/Map/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/styles.ts","../../src/sdks/LocalContent/components/Sidebar/Root/context.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Content/styles.ts","../../src/sdks/LocalContent/components/Sidebar/Root/Content/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Header/Title/styles.ts","../../src/sdks/LocalContent/components/Sidebar/Root/Header/Title/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Header/CloseButton/styles.ts","../../src/sdks/LocalContent/components/Sidebar/Root/Header/CloseButton/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Header/styles.ts","../../src/sdks/LocalContent/components/Sidebar/Root/Header/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Category/styles.ts","../../src/sdks/LocalContent/components/CategoryTitle/styles.ts","../../src/sdks/LocalContent/components/CategoryTitle/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Category/index.tsx","../../src/sdks/LocalContent/components/ItemButton/styles.ts","../../src/sdks/LocalContent/components/ItemButton/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Score/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/ScoreDetails/styles.ts","../../src/sdks/LocalContent/components/ScoreComparison/ValueIndicator/styles.ts","../../src/sdks/LocalContent/components/ScoreComparison/ValueIndicator/index.tsx","../../src/sdks/LocalContent/components/ScoreComparison/styles.ts","../../src/sdks/LocalContent/components/ScoreComparison/index.tsx","../../src/sdks/LocalContent/components/ScoreText/styles.ts","../../src/sdks/LocalContent/components/ScoreText/index.tsx","../../src/sdks/LocalContent/components/ScorePoiList/Loading/styles.ts","../../src/sdks/LocalContent/components/ScorePoiList/Loading/index.tsx","../../src/sdks/LocalContent/components/ScorePoiList/Subcategories/styles.ts","../../src/sdks/LocalContent/components/ScorePoiList/Subcategories/index.tsx","../../src/sdks/LocalContent/components/ScorePoiList/List/styles.ts","../../src/sdks/LocalContent/components/ScorePoiList/List/index.tsx","../../src/sdks/LocalContent/components/ScorePoiList/styles.ts","../../src/sdks/LocalContent/components/ScorePoiList/index.tsx","../../src/sdks/LocalContent/components/Score/styles.ts","../../src/sdks/LocalContent/components/ScoreValue/styles.ts","../../src/sdks/LocalContent/components/ScoreValue/index.tsx","../../src/sdks/LocalContent/components/Score/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/ScoreDetails/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Slider/styles.ts","../../src/sdks/LocalContent/components/Slider/styles.ts","../../src/sdks/LocalContent/components/Slider/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/Slider/index.tsx","../../src/sdks/LocalContent/components/Sidebar/Root/index.tsx","../../src/sdks/LocalContent/components/ScoresPillList/styles.ts","../../src/sdks/LocalContent/components/ScoresPillList/index.tsx","../../src/sdks/LocalContent/components/BottomSlider/Header/styles.ts","../../src/sdks/LocalContent/components/BottomSlider/Header/index.tsx","../../src/sdks/LocalContent/components/BottomSlider/styles.ts","../../src/sdks/LocalContent/components/BottomSlider/index.tsx","../../src/sdks/LocalContent/components/ScoreDetailsSlider/styles.ts","../../src/sdks/LocalContent/components/ScoreDetailsSlider/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/context.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Trigger/styles.ts","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Trigger/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Card/styles.ts","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Card/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Slider/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/Route/styles.ts","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/Route/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/NoRoute/styles.ts","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/NoRoute/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/Select/styles.ts","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/Select/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/styles.ts","../../src/utils/formatters/textWithHighlighting.tsx","../../src/sdks/LocalContent/hooks/useAddressSearch/transformSuggestionsResponse/index.ts","../../src/sdks/LocalContent/hooks/useAddressSearch/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Form/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Header/styles.ts","../../src/sdks/LocalContent/components/CommuteCalculator/Root/Header/index.tsx","../../src/sdks/LocalContent/components/CommuteCalculator/Root/index.tsx","../../src/sdks/LocalContent/components/Content/styles.ts","../../src/sdks/LocalContent/components/Content/index.tsx","../../src/sdks/LocalContent/schema.ts","../../src/sdks/LocalContent/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: \"M208.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L137,128ZM57,128l71.52-71.51a12,12,0,0,0-17-17l-80,80a12,12,0,0,0,0,17l80,80a12,12,0,0,0,17-17Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M200,48V208l-80-80Z\", opacity: \"0.2\" }), /* @__PURE__ */ a.createElement(\"path\", { d: \"M203.06,40.61a8,8,0,0,0-8.72,1.73l-80,80a8,8,0,0,0,0,11.32l80,80A8,8,0,0,0,208,208V48A8,8,0,0,0,203.06,40.61ZM192,188.69,131.31,128,192,67.31Zm-66.34,13.65a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L51.31,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,48V208a8,8,0,0,1-13.66,5.66L128,147.31V208a8,8,0,0,1-13.66,5.66l-80-80a8,8,0,0,1,0-11.32l80-80A8,8,0,0,1,128,48v60.69l66.34-66.35A8,8,0,0,1,208,48Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M204.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L128.49,128ZM48.49,128l75.75-75.76a6,6,0,0,0-8.48-8.48l-80,80a6,6,0,0,0,0,8.48l80,80a6,6,0,1,0,8.48-8.48Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M205.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L131.31,128ZM51.31,128l74.35-74.34a8,8,0,0,0-11.32-11.32l-80,80a8,8,0,0,0,0,11.32l80,80a8,8,0,0,0,11.32-11.32Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M202.83,205.17a4,4,0,0,1-5.66,5.66l-80-80a4,4,0,0,1,0-5.66l80-80a4,4,0,1,1,5.66,5.66L125.66,128ZM45.66,128l77.17-77.17a4,4,0,0,0-5.66-5.66l-80,80a4,4,0,0,0,0,5.66l80,80a4,4,0,1,0,5.66-5.66Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M216.49,168.49a12,12,0,0,1-17,0L128,97,56.49,168.49a12,12,0,0,1-17-17l80-80a12,12,0,0,1,17,0l80,80A12,12,0,0,1,216.49,168.49Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208,160H48l80-80Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M213.66,154.34l-80-80a8,8,0,0,0-11.32,0l-80,80A8,8,0,0,0,48,168H208a8,8,0,0,0,5.66-13.66ZM67.31,152,128,91.31,188.69,152Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M215.39,163.06A8,8,0,0,1,208,168H48a8,8,0,0,1-5.66-13.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,215.39,163.06Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M212.24,164.24a6,6,0,0,1-8.48,0L128,88.49,52.24,164.24a6,6,0,0,1-8.48-8.48l80-80a6,6,0,0,1,8.48,0l80,80A6,6,0,0,1,212.24,164.24Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M213.66,165.66a8,8,0,0,1-11.32,0L128,91.31,53.66,165.66a8,8,0,0,1-11.32-11.32l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,213.66,165.66Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M210.83,162.83a4,4,0,0,1-5.66,0L128,85.66,50.83,162.83a4,4,0,0,1-5.66-5.66l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,210.83,162.83Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","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: \"M114.32,49.8A19.79,19.79,0,0,0,81.72,57L29.22,201.41A19.82,19.82,0,0,0,47.75,228a20,20,0,0,0,6.84-1.22L199,174.28a19.79,19.79,0,0,0,7.24-32.6ZM104.19,183.21l-31.4-31.4L82.94,123.9l49.16,49.16Zm-52.42,26.4Zm12-32.91L79.3,192.26l-24.45,8.89ZM157,164,92,99l10-27.58L184.57,154ZM128,40V16a12,12,0,0,1,24,0V40a12,12,0,0,1-24,0Zm116.48,83.51a12,12,0,0,1-17,17l-16-16a12,12,0,0,1,17-17Zm-.69-40.13-24,8a12,12,0,0,1-7.59-22.77l24-8a12,12,0,1,1,7.59,22.77ZM156.6,65.93C159.83,47.47,173.39,36,192,36c6.45,0,8.69-2.49,10-4.92a18,18,0,0,0,2-7.22V24a12,12,0,0,1,24,0c0,14.47-9.59,36-36,36-4.94,0-10.21,1.19-11.76,10.06A12,12,0,0,1,168.43,80a12.35,12.35,0,0,1-2.08-.18A12,12,0,0,1,156.6,65.93Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M58.89,154.89l42.22,42.22-50.63,18.4a7.79,7.79,0,0,1-10-10Zm138.82-4.72L105.83,58.29A7.79,7.79,0,0,0,93,61.14l-14.9,41,75.82,75.82,41-14.9A7.79,7.79,0,0,0,197.71,150.17Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M111.49,52.63a15.8,15.8,0,0,0-26,5.77L33,202.78A15.83,15.83,0,0,0,47.76,224a16,16,0,0,0,5.46-1l144.37-52.5a15.8,15.8,0,0,0,5.78-26Zm-8.33,135.21-35-35,13.16-36.21,58.05,58.05Zm-55,20,14-38.41,24.45,24.45ZM156,168.64,87.36,100l13-35.87,91.43,91.43ZM160,72a37.8,37.8,0,0,1,3.84-15.58C169.14,45.83,179.14,40,192,40c6.7,0,11-2.29,13.65-7.21A22,22,0,0,0,208,23.94,8,8,0,0,1,224,24c0,12.86-8.52,32-32,32-6.7,0-11,2.29-13.65,7.21A22,22,0,0,0,176,72.06,8,8,0,0,1,160,72ZM136,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm101.66,82.34a8,8,0,1,1-11.32,11.31l-16-16a8,8,0,0,1,11.32-11.32Zm4.87-42.75-24,8a8,8,0,0,1-5.06-15.18l24-8a8,8,0,0,1,5.06,15.18Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M111.49,52.63a15.8,15.8,0,0,0-26,5.77L33,202.78A15.83,15.83,0,0,0,47.76,224a16,16,0,0,0,5.46-1l144.37-52.5a15.8,15.8,0,0,0,5.78-26ZM65.14,161.13l19.2-52.79,63.32,63.32-52.8,19.2ZM160,72a37.8,37.8,0,0,1,3.84-15.58C169.14,45.83,179.14,40,192,40c6.7,0,11-2.29,13.65-7.21A22,22,0,0,0,208,23.94,8,8,0,0,1,224,24c0,12.86-8.52,32-32,32-6.7,0-11,2.29-13.65,7.21A22,22,0,0,0,176,72.06,8,8,0,0,1,160,72ZM136,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm101.66,82.34a8,8,0,1,1-11.32,11.31l-16-16a8,8,0,0,1,11.32-11.32Zm4.87-42.75-24,8a8,8,0,0,1-5.06-15.18l24-8a8,8,0,0,1,5.06,15.18Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M110.08,54a13.8,13.8,0,0,0-22.73,5.05L34.85,203.47A13.82,13.82,0,0,0,47.76,222a14,14,0,0,0,4.77-.85l144.38-52.5a13.8,13.8,0,0,0,5-22.73ZM48.43,209.87a1.79,1.79,0,0,1-2.3-2.3L61.31,165.8,90.2,194.68Zm54.21-19.71-36.8-36.81L80.51,113,143,175.49ZM194,156.07a1.74,1.74,0,0,1-1.14,1.3L155.44,171,85,100.55,98.63,63.19a1.72,1.72,0,0,1,1.3-1.14,1.58,1.58,0,0,1,.41,0,1.72,1.72,0,0,1,1.25.53l91.88,91.88A1.73,1.73,0,0,1,194,156.07ZM162,72a35.52,35.52,0,0,1,3.63-14.68C170.57,47.44,179.93,42,192,42c7.47,0,12.53-2.74,15.48-8.38A24.18,24.18,0,0,0,210,24,6,6,0,0,1,216,18h0a6,6,0,0,1,6,6c0,10.38-6.27,30-30,30-7.47,0-12.53,2.74-15.48,8.38A24,24,0,0,0,174,72a6,6,0,0,1-6,6h0A6,6,0,0,1,162,72ZM138,40V16a6,6,0,0,1,12,0V40a6,6,0,0,1-12,0Zm98.24,83.76a6,6,0,1,1-8.48,8.48l-16-16a6,6,0,0,1,8.48-8.48Zm5.66-46.07-24,8a6,6,0,1,1-3.8-11.38l24-8a6,6,0,0,1,3.8,11.38Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M111.49,52.63a15.8,15.8,0,0,0-26,5.77L33,202.78A15.83,15.83,0,0,0,47.76,224a16,16,0,0,0,5.46-1l144.37-52.5a15.8,15.8,0,0,0,5.78-26Zm-8.33,135.21-35-35,13.16-36.21,58.05,58.05Zm-55,20,14-38.41,24.45,24.45ZM156,168.64,87.36,100l13-35.87,91.43,91.43ZM160,72a37.8,37.8,0,0,1,3.84-15.58C169.14,45.83,179.14,40,192,40c6.7,0,11-2.29,13.65-7.21A22,22,0,0,0,208,23.94,8,8,0,0,1,224,24c0,12.86-8.52,32-32,32-6.7,0-11,2.29-13.65,7.21A22,22,0,0,0,176,72.06,8,8,0,0,1,160,72ZM136,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm101.66,82.34a8,8,0,1,1-11.32,11.31l-16-16a8,8,0,0,1,11.32-11.32Zm4.87-42.75-24,8a8,8,0,0,1-5.06-15.18l24-8a8,8,0,0,1,5.06,15.18Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M108.66,55.46a11.79,11.79,0,0,0-19.43,4.31L36.73,204.15a11.81,11.81,0,0,0,11,15.85,11.88,11.88,0,0,0,4.08-.73l144.38-52.5a11.79,11.79,0,0,0,4.31-19.43Zm-6.53,137L63.52,153.87l16.19-44.51,66.92,66.93Zm-53,19.28a3.81,3.81,0,0,1-4.87-4.87l16.27-44.72,33.32,33.32Zm146.8-55.25a3.77,3.77,0,0,1-2.42,2.74l-38.56,14L82.72,101.07l14-38.56a3.77,3.77,0,0,1,2.74-2.42,4.32,4.32,0,0,1,.85-.09A3.65,3.65,0,0,1,103,61.12L194.88,153A3.78,3.78,0,0,1,195.91,156.51ZM220,24c0,9.68-5.85,28-28,28-8.31,0-14.18,3.29-17.42,9.79A26.12,26.12,0,0,0,172,72a4,4,0,0,1-8,0,34.06,34.06,0,0,1,3.42-13.79C170.66,51.73,177.56,44,192,44c19.29,0,20-18,20-20a4,4,0,0,1,4-4h0A4,4,0,0,1,220,24ZM140,40V16a4,4,0,0,1,8,0V40a4,4,0,0,1-8,0Zm94.83,85.17a4,4,0,0,1-5.66,5.66l-16-16a4,4,0,0,1,5.66-5.66Zm6.43-49.37-24,8A4,4,0,0,1,216,84a4,4,0,0,1-1.27-7.79l24-8a4,4,0,0,1,2.53,7.59Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M228,160a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,160ZM40,108H216a12,12,0,0,0,0-24H40a12,12,0,0,0,0,24Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\n \"path\",\n {\n d: \"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ e.createElement(\"path\", { d: \"M224,160a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,160ZM40,104H216a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM184,160H72a8,8,0,0,1,0-16H184a8,8,0,0,1,0,16Zm0-48H72a8,8,0,0,1,0-16H184a8,8,0,0,1,0,16Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M222,160a6,6,0,0,1-6,6H40a6,6,0,0,1,0-12H216A6,6,0,0,1,222,160ZM40,102H216a6,6,0,0,0,0-12H40a6,6,0,0,0,0,12Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M224,160a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,160ZM40,104H216a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M220,160a4,4,0,0,1-4,4H40a4,4,0,0,1,0-8H216A4,4,0,0,1,220,160ZM40,100H216a4,4,0,0,0,0-8H40a4,4,0,0,0,0,8Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as a from \"react\";\nconst V = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,28H160a20,20,0,0,0-20,20V208a20,20,0,0,0,20,20h48a20,20,0,0,0,20-20V48A20,20,0,0,0,208,28Zm-4,176H164V180h16a12,12,0,0,0,0-24H164V140h16a12,12,0,0,0,0-24H164V100h16a12,12,0,0,0,0-24H164V52h40ZM80.49,23.51a12,12,0,0,0-17,0l-32,32A12,12,0,0,0,28,64V208a20,20,0,0,0,20,20H96a20,20,0,0,0,20-20V64a12,12,0,0,0-3.51-8.49ZM52,92H92v72H52ZM72,49,91,68H53ZM52,204V188H92v16Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M40,184h64v24a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8ZM208,40H160a8,8,0,0,0-8,8V208a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V48A8,8,0,0,0,208,40Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,32H160a16,16,0,0,0-16,16V208a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,176H160V176h24a8,8,0,0,0,0-16H160V136h24a8,8,0,0,0,0-16H160V96h24a8,8,0,0,0,0-16H160V48h48V208ZM77.66,26.34a8,8,0,0,0-11.32,0l-32,32A8,8,0,0,0,32,64V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V64a8,8,0,0,0-2.34-5.66ZM48,176V80H64v96ZM80,80H96v96H80ZM72,43.31,92.69,64H51.31ZM48,208V192H96v16Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,48V208a16,16,0,0,1-16,16H160a16,16,0,0,1-16-16V180a4,4,0,0,1,4-4h36a8,8,0,0,0,8-8.53,8.18,8.18,0,0,0-8.25-7.47H148a4,4,0,0,1-4-4V140a4,4,0,0,1,4-4h36a8,8,0,0,0,8-8.53,8.18,8.18,0,0,0-8.25-7.47H148a4,4,0,0,1-4-4V100a4,4,0,0,1,4-4h36a8,8,0,0,0,8-8.53A8.18,8.18,0,0,0,183.73,80H148a4,4,0,0,1-4-4V48a16,16,0,0,1,16-16h48A16,16,0,0,1,224,48ZM109.66,58.34A8,8,0,0,1,112,64V208a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V64a8,8,0,0,1,2.34-5.66l32-32a8,8,0,0,1,11.32,0ZM48,80V184H64V80Zm32,0V184H96V80ZM51.31,64H92.69L72,43.31Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,34H160a14,14,0,0,0-14,14V208a14,14,0,0,0,14,14h48a14,14,0,0,0,14-14V48A14,14,0,0,0,208,34Zm2,174a2,2,0,0,1-2,2H160a2,2,0,0,1-2-2V174h26a6,6,0,0,0,0-12H158V134h26a6,6,0,0,0,0-12H158V94h26a6,6,0,0,0,0-12H158V48a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2ZM76.24,27.76a6,6,0,0,0-8.48,0l-32,32A6,6,0,0,0,34,64V208a14,14,0,0,0,14,14H96a14,14,0,0,0,14-14V64a6,6,0,0,0-1.76-4.24ZM46,178V78H66V178ZM78,78H98V178H78ZM72,40.49,97.51,66h-51ZM96,210H48a2,2,0,0,1-2-2V190H98v18A2,2,0,0,1,96,210Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,32H160a16,16,0,0,0-16,16V208a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,176H160V176h24a8,8,0,0,0,0-16H160V136h24a8,8,0,0,0,0-16H160V96h24a8,8,0,0,0,0-16H160V48h48V208ZM77.66,26.34a8,8,0,0,0-11.32,0l-32,32A8,8,0,0,0,32,64V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V64a8,8,0,0,0-2.34-5.66ZM48,176V80H64v96ZM80,80H96v96H80ZM72,43.31,92.69,64H51.31ZM48,208V192H96v16Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,36H160a12,12,0,0,0-12,12V208a12,12,0,0,0,12,12h48a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36Zm4,172a4,4,0,0,1-4,4H160a4,4,0,0,1-4-4V172h28a4,4,0,0,0,0-8H156V132h28a4,4,0,0,0,0-8H156V92h28a4,4,0,0,0,0-8H156V48a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4ZM74.83,29.17a4,4,0,0,0-5.66,0l-32,32A4,4,0,0,0,36,64V208a12,12,0,0,0,12,12H96a12,12,0,0,0,12-12V64a4,4,0,0,0-1.17-2.83ZM44,76H68V180H44Zm56,132a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V188h56Zm0-28H76V76h24Zm0-112H44V65.66l28-28,28,28Z\" }))\n ]\n]);\nexport {\n V as default\n};\n","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: \"M233.21,56.31A12,12,0,0,0,224,52H66L60.53,21.85A12,12,0,0,0,48.73,12H24a12,12,0,0,0,0,24H38.71L63.62,173a28,28,0,0,0,4.07,10.21A32,32,0,1,0,123,196h34a32,32,0,1,0,31-24H91.17a4,4,0,0,1-3.93-3.28L84.92,156H196.1a28,28,0,0,0,27.55-23l12.16-66.86A12,12,0,0,0,233.21,56.31ZM100,204a8,8,0,1,1-8-8A8,8,0,0,1,100,204Zm88,8a8,8,0,1,1,8-8A8,8,0,0,1,188,212Zm12-83.28A4,4,0,0,1,196.1,132H80.56L70.38,76H209.62Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M224,64l-12.16,66.86A16,16,0,0,1,196.1,144H70.55L56,64Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M230.14,58.87A8,8,0,0,0,224,56H62.68L56.6,22.57A8,8,0,0,0,48.73,16H24a8,8,0,0,0,0,16h18L67.56,172.29a24,24,0,0,0,5.33,11.27,28,28,0,1,0,44.4,8.44h45.42A27.75,27.75,0,0,0,160,204a28,28,0,1,0,28-28H91.17a8,8,0,0,1-7.87-6.57L80.13,152h116a24,24,0,0,0,23.61-19.71l12.16-66.86A8,8,0,0,0,230.14,58.87ZM104,204a12,12,0,1,1-12-12A12,12,0,0,1,104,204Zm96,0a12,12,0,1,1-12-12A12,12,0,0,1,200,204Zm4-74.57A8,8,0,0,1,196.1,136H77.22L65.59,72H214.41Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M230.14,58.87A8,8,0,0,0,224,56H62.68L56.6,22.57A8,8,0,0,0,48.73,16H24a8,8,0,0,0,0,16h18L67.56,172.29a24,24,0,0,0,5.33,11.27,28,28,0,1,0,44.4,8.44h45.42A27.75,27.75,0,0,0,160,204a28,28,0,1,0,28-28H91.17a8,8,0,0,1-7.87-6.57L80.13,152h116a24,24,0,0,0,23.61-19.71l12.16-66.86A8,8,0,0,0,230.14,58.87ZM104,204a12,12,0,1,1-12-12A12,12,0,0,1,104,204Zm96,0a12,12,0,1,1-12-12A12,12,0,0,1,200,204Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M228.61,60.16A6,6,0,0,0,224,58H61L54.63,22.93A6,6,0,0,0,48.73,18H24a6,6,0,0,0,0,12H43.72L69.53,171.94a21.93,21.93,0,0,0,6.24,11.77A26,26,0,1,0,113.89,190h52.22A26,26,0,1,0,188,178H91.17a10,10,0,0,1-9.84-8.21L77.73,150H196.1a22,22,0,0,0,21.65-18.06L229.9,65.07A6,6,0,0,0,228.61,60.16ZM106,204a14,14,0,1,1-14-14A14,14,0,0,1,106,204Zm96,0a14,14,0,1,1-14-14A14,14,0,0,1,202,204Zm3.94-74.21A10,10,0,0,1,196.1,138H75.55L63.19,70H216.81Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M230.14,58.87A8,8,0,0,0,224,56H62.68L56.6,22.57A8,8,0,0,0,48.73,16H24a8,8,0,0,0,0,16h18L67.56,172.29a24,24,0,0,0,5.33,11.27,28,28,0,1,0,44.4,8.44h45.42A27.75,27.75,0,0,0,160,204a28,28,0,1,0,28-28H91.17a8,8,0,0,1-7.87-6.57L80.13,152h116a24,24,0,0,0,23.61-19.71l12.16-66.86A8,8,0,0,0,230.14,58.87ZM104,204a12,12,0,1,1-12-12A12,12,0,0,1,104,204Zm96,0a12,12,0,1,1-12-12A12,12,0,0,1,200,204Zm4-74.57A8,8,0,0,1,196.1,136H77.22L65.59,72H214.41Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M227.07,61.44A4,4,0,0,0,224,60H59.34L52.66,23.28A4,4,0,0,0,48.73,20H24a4,4,0,0,0,0,8H45.39l6.69,36.8h0L71.49,171.58A20,20,0,0,0,79,183.85,24,24,0,1,0,109.87,188h60.26A24,24,0,1,0,188,180H91.17a12,12,0,0,1-11.8-9.85l-4-22.15H196.1a20,20,0,0,0,19.68-16.42l12.16-66.86A4,4,0,0,0,227.07,61.44ZM108,204a16,16,0,1,1-16-16A16,16,0,0,1,108,204Zm96,0a16,16,0,1,1-16-16A16,16,0,0,1,204,204Zm3.91-73.85A12,12,0,0,1,196.1,140H73.88L60.79,68H219.21Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","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: \"M246,113.46,142.54,10a20.57,20.57,0,0,0-29.08,0L10,113.46a20.57,20.57,0,0,0,0,29.08L113.46,246h0a20.57,20.57,0,0,0,29.08,0L246,142.54a20.57,20.57,0,0,0,0-29.08ZM128,226.57,29.43,128,128,29.43,226.57,128Zm7.51-122.08a12,12,0,0,1,17-17l24,24a12,12,0,0,1,0,17l-24,24a12,12,0,0,1-17-17L139,132H112a12,12,0,0,0-12,12v4a12,12,0,0,1-24,0v-4a36,36,0,0,1,36-36h27Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M237.49,134.05,134.05,237.49a8.54,8.54,0,0,1-12.1,0L18.51,134.05a8.54,8.54,0,0,1,0-12.1L122,18.51a8.54,8.54,0,0,1,12.1,0L237.49,122A8.54,8.54,0,0,1,237.49,134.05Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M243.15,116.29,139.71,12.85a16.56,16.56,0,0,0-23.42,0L12.85,116.29a16.56,16.56,0,0,0,0,23.42L116.29,243.15h0a16.56,16.56,0,0,0,23.42,0L243.15,139.71a16.56,16.56,0,0,0,0-23.42Zm-11.31,12.1L128.39,231.84a.56.56,0,0,1-.78,0h0L24.16,128.39a.56.56,0,0,1,0-.78L127.61,24.16A.52.52,0,0,1,128,24a.58.58,0,0,1,.4.16L231.84,127.61a.56.56,0,0,1,0,.78Zm-58.18-14a8,8,0,0,1,0,11.32l-24,24a8,8,0,0,1-11.32-11.32L148.69,128H112a16,16,0,0,0-16,16v8a8,8,0,0,1-16,0v-8a32,32,0,0,1,32-32h36.69l-10.35-10.34a8,8,0,0,1,11.32-11.32Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M243.15,116.29,139.71,12.85a16.56,16.56,0,0,0-23.42,0L12.85,116.29a16.56,16.56,0,0,0,0,23.42L116.29,243.15h0a16.56,16.56,0,0,0,23.42,0L243.15,139.71a16.56,16.56,0,0,0,0-23.42Zm-69.49,9.37-24,24a8,8,0,0,1-11.32-11.32L148.69,128H112a16,16,0,0,0-16,16v8a8,8,0,0,1-16,0v-8a32,32,0,0,1,32-32h36.69l-10.35-10.34a8,8,0,0,1,11.32-11.32l24,24A8,8,0,0,1,173.66,125.66Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M241.74,117.71,138.29,14.26a14.56,14.56,0,0,0-20.58,0L14.26,117.71a14.56,14.56,0,0,0,0,20.58L117.71,241.74h0a14.56,14.56,0,0,0,20.58,0L241.74,138.29a14.56,14.56,0,0,0,0-20.58Zm-8.49,12.1L129.81,233.25a2.56,2.56,0,0,1-3.62,0h0L22.75,129.81a2.56,2.56,0,0,1,0-3.62L126.19,22.75a2.56,2.56,0,0,1,3.62,0L233.25,126.19a2.56,2.56,0,0,1,0,3.62Zm-61-14a6,6,0,0,1,0,8.48l-24,24a6,6,0,0,1-8.48-8.48L153.51,126H112a18,18,0,0,0-18,18v8a6,6,0,0,1-12,0v-8a30,30,0,0,1,30-30h41.51l-13.75-13.76a6,6,0,0,1,8.48-8.48Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M243.15,116.29,139.71,12.85a16.56,16.56,0,0,0-23.42,0L12.85,116.29a16.56,16.56,0,0,0,0,23.42L116.29,243.15h0a16.56,16.56,0,0,0,23.42,0L243.15,139.71a16.56,16.56,0,0,0,0-23.42Zm-11.31,12.1L128.4,231.84a.58.58,0,0,1-.8,0h0L24.16,128.39a.56.56,0,0,1,0-.78L127.6,24.16a.58.58,0,0,1,.8,0L231.84,127.61a.56.56,0,0,1,0,.78Zm-58.18-14a8,8,0,0,1,0,11.32l-24,24a8,8,0,0,1-11.32-11.32L148.69,128H112a16,16,0,0,0-16,16v8a8,8,0,0,1-16,0v-8a32,32,0,0,1,32-32h36.69l-10.35-10.34a8,8,0,0,1,11.32-11.32Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M240.32,119.12,136.88,15.68a12.55,12.55,0,0,0-17.76,0L15.68,119.12a12.55,12.55,0,0,0,0,17.76L119.12,240.32h0a12.55,12.55,0,0,0,17.76,0L240.32,136.88a12.55,12.55,0,0,0,0-17.76Zm-5.66,12.1L131.22,234.67a4.56,4.56,0,0,1-6.44,0h0L21.33,131.22a4.55,4.55,0,0,1,0-6.44L124.78,21.33a4.56,4.56,0,0,1,6.44,0L234.67,124.78a4.55,4.55,0,0,1,0,6.44Zm-63.83-14a4,4,0,0,1,0,5.66l-24,24a4,4,0,0,1-5.66-5.66L158.34,124H112a20,20,0,0,0-20,20v8a4,4,0,0,1-8,0v-8a28,28,0,0,1,28-28h46.34L141.17,98.83a4,4,0,0,1,5.66-5.66Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport f from \"../defs/CaretDoubleLeft.es.js\";\nconst o = e.forwardRef((t, r) => /* @__PURE__ */ e.createElement(a, { ref: r, ...t, weights: f }));\no.displayName = \"CaretDoubleLeftIcon\";\nconst s = o;\nexport {\n s as CaretDoubleLeft,\n o as CaretDoubleLeftIcon\n};\n","import * as e from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport m from \"../defs/CaretUp.es.js\";\nconst o = e.forwardRef((r, t) => /* @__PURE__ */ e.createElement(a, { ref: t, ...r, weights: m }));\no.displayName = \"CaretUpIcon\";\nconst s = o;\nexport {\n s as CaretUp,\n o as CaretUpIcon\n};\n","import * as o from \"react\";\nimport n from \"../lib/IconBase.es.js\";\nimport a from \"../defs/Confetti.es.js\";\nconst t = o.forwardRef((e, r) => /* @__PURE__ */ o.createElement(n, { ref: r, ...e, weights: a }));\nt.displayName = \"ConfettiIcon\";\nconst m = t;\nexport {\n m as Confetti,\n t as ConfettiIcon\n};\n","import * as o from \"react\";\nimport s from \"../lib/IconBase.es.js\";\nimport t from \"../defs/Equals.es.js\";\nconst a = o.forwardRef((e, r) => /* @__PURE__ */ o.createElement(s, { ref: r, ...e, weights: t }));\na.displayName = \"EqualsIcon\";\nconst n = a;\nexport {\n n as Equals,\n a as EqualsIcon\n};\n","import * as e from \"react\";\nimport t from \"../lib/IconBase.es.js\";\nimport n from \"../defs/PencilRuler.es.js\";\nconst o = e.forwardRef((r, c) => /* @__PURE__ */ e.createElement(t, { ref: c, ...r, weights: n }));\no.displayName = \"PencilRulerIcon\";\nconst l = o;\nexport {\n l as PencilRuler,\n o as PencilRulerIcon\n};\n","import * as o from \"react\";\nimport p from \"../lib/IconBase.es.js\";\nimport e from \"../defs/ShoppingCart.es.js\";\nconst r = o.forwardRef((t, a) => /* @__PURE__ */ o.createElement(p, { ref: a, ...t, weights: e }));\nr.displayName = \"ShoppingCartIcon\";\nconst m = r;\nexport {\n m as ShoppingCart,\n r as ShoppingCartIcon\n};\n","import * as o from \"react\";\nimport i from \"../lib/IconBase.es.js\";\nimport c from \"../defs/TrafficSign.es.js\";\nconst r = o.forwardRef((a, f) => /* @__PURE__ */ o.createElement(i, { ref: f, ...a, weights: c }));\nr.displayName = \"TrafficSignIcon\";\nconst n = r;\nexport {\n n as TrafficSign,\n r as TrafficSignIcon\n};\n","export const container = `py-4`;\n","import type { TransformedScoresMenuData } from \"./types\";\nimport type {\n Options,\n CategoryKey,\n ScoreKey,\n ScoreOptions,\n} from \"~/sdks/LocalContent/types\";\n\n/**\n * Transforms the scores menu data by filtering out hidden categories and scores,\n * and sorting them by their order.\n *\n * This function is used to prepare the scores menu data for rendering in the UI.\n *\n * @param scoresMenu\n * @returns\n */\nexport function transformScoresMenuData(\n scoresMenu: Options[\"scoresMenu\"],\n): TransformedScoresMenuData {\n return {\n ...(scoresMenu || {}),\n categories: Object.entries(scoresMenu?.categories || {})\n .filter(([, category]) => category.hide !== true)\n .sort(([, a], [, b]) => (a.order ?? 0) - (b.order ?? 0))\n .map(\n // Map categories to the expected format so we can loop through them\n ([categoryKey, category]) =>\n [\n categoryKey as CategoryKey,\n {\n ...category,\n // Sort scores by order within each category\n scores: Object.entries(category.scores || {})\n .filter(([, score]) => score.hide !== true)\n .sort(([, a], [, b]) => (a.order ?? 0) - (b.order ?? 0)),\n },\n ] as [\n CategoryKey,\n typeof category & {\n scores: [ScoreKey, ScoreOptions][];\n },\n ],\n ),\n };\n}\n","import type { POIs, Schools } from \"@local-logic/client\";\nimport type { POISubcategory } from \"~/sdks/LocalContent/types\";\n\nexport function getPOICategoriesWithAvailableData(\n pois: Partial<POIs & Schools>,\n): POISubcategory[] {\n return Object.keys(pois).filter(\n (subcategory) => (pois[subcategory as POISubcategory]?.length ?? 0) > 0,\n ) as POISubcategory[];\n}\n","import type { POIs, Schools } from \"@local-logic/client\";\nimport type { ScoreKey } from \"~/sdks/LocalContent/types\";\n\nexport const SURVEY_ID =\n import.meta.env.MODE === \"production\" ? \"uwk0RDah\" : \"NerqWZeC\";\n\nexport const DEFAULT_RADIUS = 2500; // Default radius in meters\nexport const DEFAULT_NUMBER_OF_POIS = 30; // Default number of points of interest to fetch\nexport const DEFAULT_MIN_ZOOM = 6; // Default minimum zoom level for the map\nexport const DEFAULT_MAX_ZOOM = 17; // Default maximum zoom level for the map\nexport const DEFAULT_TRAVEL_MODE = \"walking\"; // Default travel mode for commute calculations\nexport const DIRECTIONS_PATH_COLOR = \"#006AFF\"; // Color for the directions path on the map\nexport const METERS_TO_YARDS_CONVERSION_FACTOR = 1.0936132983; // Conversion factor from meters to yards\nexport const YARDS_PER_MILE = 1760; // Number of yards in a mile\nexport const METERS_PER_KILOMETER = 1000; // Number of meters in a kilometer\n\nexport const MAP_PADDING = {\n desktop: {\n top: 64, // Taking into account commute calculator trigger height\n bottom: 48, // Taking into account map attribution\n left: 312, // Taking into account sidebar expanded width\n right: 12, // Not taking into account the map controls\n },\n mobile: {\n top: 12,\n bottom: 48,\n left: 12,\n right: 12,\n },\n};\n\nexport const LAYOUT_MEASUREMENTS = {\n SIDEBAR_STATE_WIDTH_DIFFERENCE: 236, // Width difference between expanded and collapsed sidebar\n COMMUTE_CALCULATOR_NO_ROUTE_HEIGHT_DESKTOP: 58, // Commute calculator open extra height on desktop\n COMMUTE_CALCULATOR_WITH_ROUTE_HEIGHT_DESKTOP: 124, // Commute calculator open with route extra height on desktop\n SCORE_BUTTONS_HEIGHT_MOBILE: 52, // Score buttons container height + margin on mobile\n SCORE_DETAILS_HEIGHT_MOBILE: 140, // Score details slider height + margin on mobile\n COMMUTE_CALCULATOR_HEIGHT_MOBILE: 150, // Commute calculator height + margin on mobile\n} as const;\n\nexport const SCORE_POI_CATEGORIES: Record<\n ScoreKey,\n (keyof POIs | keyof Schools)[]\n> = {\n // Commute\n pedestrian_friendly: [],\n transit_friendly: [\"rapid_transit_stations\", \"train_stations\", \"bus_stops\"],\n cycling_friendly: [],\n car_friendly: [\"car_fueling_stations\"],\n\n // Amenities\n groceries: [\"groceries\", \"groceries_specialized\"],\n restaurants: [\"restaurants\", \"healthy_restaurants\"],\n cafes: [\"cafes\"],\n shopping: [\"shopping\"],\n\n // Nature\n parks: [\"parks\"],\n greenery: [],\n\n // Character\n vibrant: [\"art_culture_science\"],\n nightlife: [\"nightlife\"],\n quiet: [],\n historic: [],\n\n // Education\n high_schools: [\"high_schools\"],\n primary_schools: [\"primary_schools\"],\n daycares: [\"daycares\"],\n\n // Wellness\n wellness: [\n \"fitness\",\n \"healthy_restaurants\",\n \"health_care\",\n \"parks\",\n \"sport_facilities\",\n \"groceries\",\n ],\n};\n","import { SCORE_POI_CATEGORIES } from \"~/sdks/LocalContent/constants\";\nimport type { POISubcategory, ScoreKey } from \"~/sdks/LocalContent/types\";\n\nexport function orderPOICategories(\n scoreKey: ScoreKey,\n unfilteredSubcategories: POISubcategory[],\n) {\n const poiCategoryOrder = SCORE_POI_CATEGORIES[scoreKey] as POISubcategory[];\n unfilteredSubcategories.sort(\n (a, b) =>\n poiCategoryOrder.indexOf(a as POISubcategory) -\n poiCategoryOrder.indexOf(b as POISubcategory),\n );\n}\n","import type { Schools, POIs } from \"@local-logic/client\";\nimport { TravelMode } from \"./hooks/useCommute/types\";\nimport type { SDKOptions, MapProviderNames } from \"~/types/options\";\n\nexport type MapProvider = {\n name: MapProviderNames;\n key?: string;\n theme?: string;\n};\nexport type CommuteOptions = {\n destination: { lat: number; lng: number } | undefined;\n commuteType: TravelMode | undefined;\n label?: string;\n};\n\nexport type POISubcategory = keyof POIs | keyof Schools;\n\nexport type CategoryKey =\n | \"transport\"\n | \"education\"\n | \"amenities\"\n | \"character\"\n | \"nature\"\n | \"health\";\n\nexport type TransportScoreKey =\n | \"pedestrian_friendly\"\n | \"transit_friendly\"\n | \"cycling_friendly\"\n | \"car_friendly\";\nexport type EducationScoreKey = \"daycares\" | \"primary_schools\" | \"high_schools\";\nexport type AmenitiesScoreKey =\n | \"shopping\"\n | \"groceries\"\n | \"restaurants\"\n | \"cafes\";\nexport type CharacterScoreKey = \"nightlife\" | \"vibrant\" | \"historic\" | \"quiet\";\nexport type NatureScoreKey = \"parks\" | \"greenery\";\nexport type WellnessScoreKey = \"wellness\";\nexport type ScoreKey =\n | TransportScoreKey\n | EducationScoreKey\n | AmenitiesScoreKey\n | CharacterScoreKey\n | NatureScoreKey\n | WellnessScoreKey;\n\nexport type ScoreOptions = {\n hide?: boolean;\n hideScore?: boolean;\n order?: number;\n};\n\nexport type CategoryOptions = {\n hide?: boolean;\n order?: number;\n colors?: {\n background: string;\n fill: string;\n };\n scores?: {\n [key in ScoreKey]?: ScoreOptions;\n };\n};\n\nexport type Options = {\n lat?: number;\n lng?: number;\n zoom?: number;\n pitch?: number;\n bearing?: number;\n distanceUnit?: \"metric\" | \"imperial\";\n marker?: {\n lat: number;\n lng: number;\n icon?: \"house\" | \"pin\";\n // Used to show the address over the marker, and for the LC LAT CTA\n addressLabel?: string;\n };\n cooperativeGestures?: boolean;\n mapProvider?: MapProvider;\n hideScores?: boolean;\n showSchoolRatings?: boolean;\n scoresMenu?: {\n defaultOpen?: boolean;\n title?: boolean | string;\n categories?: {\n [key in CategoryKey]?: CategoryOptions;\n };\n };\n hideAttribution?: boolean;\n};\n\nexport type LocalContentProps = SDKOptions<\n Options,\n {\n options: Options | undefined;\n }\n>;\n\n// TODO revisit events\nexport enum TrackingPipelineEvents {\n SDK_VIEWED = \"LC-Viewed\",\n SIDEBAR_TOGGLE_CLICKED = \"LC-Sidebar-Toggle-Clicked\",\n SIDEBAR_SCORE_SELECTED = \"LC-Sidebar-Score-Selected\",\n SIDEBAR_POI_SELECTED = \"LC-Sidebar-POI-Selected\",\n\n CATEGORIES_MENU_CATEGORY_SELECTED = \"LC-Categories-Menu-Category-Selected\",\n // CATEGORIES_MENU_SCORE_SELECTED = \"LC-Categories-Menu-Score-Selected\",\n // On purpose. It was a mistake before and we used SIDEBAR_SCORE_SELECTED\n // instead of this event name before.\n // However we need to keep it for backwards compatibility.\n // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n CATEGORIES_MENU_SCORE_SELECTED = \"LC-Sidebar-Score-Selected\",\n\n SCORE_POI_CATEGORY_SELECTED = \"LC-Score-POI-Category-Selected\",\n MAP_POI_SELECTED = \"LC-Map-POI-Selected\",\n MAP_POI_SELECTED_FROM_CLUSTER = \"LC-Map-POI-Selected-From-Cluster\",\n MAP_POI_POPUP_LINK_CLICKED = \"LC-Map-POI-Popup-Link-Clicked\",\n MAP_POI_VIEW_ROUTE = \"LC-Map-POI-View-Route\",\n\n COMMUTE_CALCULATOR_CALCULATE_ROUTE = \"LC-Commute-Calculator-Calculate-Route\",\n\n // Survey engagement events, tracked via Typeform embed callbacks.\n SURVEY_TRIGGERED = \"Survey-Triggered\",\n SURVEY_VIEWED = \"Survey-Viewed\",\n SURVEY_DISMISSED = \"Survey-Dismissed\",\n SURVEY_COMPLETED = \"Survey-Completed\",\n SURVEY_QUESTION_CHANGED = \"Survey-Question-Changed\",\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 SIDEBAR_TOGGLE_CLICKED = \"sidebar_toggle_clicked\",\n SIDEBAR_SCORE_SELECTED = \"sidebar_score_selected\",\n SIDEBAR_POI_SELECTED = \"sidebar_poi_selected\",\n\n CATEGORIES_MENU_CATEGORY_SELECTED = \"categories_menu_category_selected\",\n CATEGORIES_MENU_SCORE_SELECTED = \"categories_menu_score_selected\",\n\n SCORE_POI_CATEGORY_SELECTED = \"score_poi_category_selected\",\n MAP_POI_SELECTED = \"map_poi_selected\",\n MAP_POI_SELECTED_FROM_CLUSTER = \"map_poi_selected_from_cluster\",\n MAP_POI_POPUP_LINK_CLICKED = \"map_poi_popup_link_clicked\",\n MAP_POI_VIEW_ROUTE = \"map_poi_view_route\",\n\n COMMUTE_CALCULATOR_CALCULATE_ROUTE = \"commute_calculator_calculate_route\",\n}\n","import type { ScoresData, ScoreItem, Score } from \"./types\";\nimport type { CategoryKey, ScoreKey } from \"~/sdks/LocalContent/types\";\nimport type { TransformedScoresMenuData } from \"~/sdks/LocalContent/utils/transformScoresMenuData/types\";\n\nconst MAX_SCORE_VALUE = 10;\nconst SCORE_MULTIPLIER = 2;\n\n/**\n * Transforms the API response from the scores endpoint into a more usable format.\n *\n * @param data\n * @param scoresMenu\n * @returns\n */\nexport function transformScoresAPIResponse(\n data: ScoresData,\n scoresMenu: TransformedScoresMenuData,\n) {\n if (typeof data?.location === \"undefined\" || !scoresMenu)\n return {} as ScoreItem;\n\n const scores: ScoreItem = {} as ScoreItem;\n\n Object.keys(data.location).forEach((key) => {\n const singleScoreData = data?.location?.[key as ScoreKey];\n\n const category = scoresMenu.categories.find(([_key, categoryData]) =>\n categoryData.scores.some(([scoreKey]) => scoreKey === key),\n );\n\n let singleScoreValue =\n parseFloat(singleScoreData?.value || \"0\") * SCORE_MULTIPLIER;\n\n if (Number.isNaN(singleScoreValue)) {\n singleScoreValue = 0;\n } else if (singleScoreValue > MAX_SCORE_VALUE) {\n singleScoreValue = MAX_SCORE_VALUE;\n }\n\n const geographies: Score[\"geographies\"] = {};\n\n if (typeof data?.geographies !== \"undefined\") {\n data.geographies.forEach((geography) => {\n if (\n typeof geography?.scores !== \"undefined\" &&\n typeof geography.scores[key as ScoreKey] !== \"undefined\"\n ) {\n const geographyValue =\n parseFloat(geography.scores[key as ScoreKey]?.value || \"0\") *\n SCORE_MULTIPLIER;\n\n if (typeof geography?.geog_id === \"string\") {\n geographies[geography.geog_id.split(\"_\")[0]] = {\n text: geography.name,\n value: Math.round(geographyValue * 10) / 10,\n };\n }\n }\n });\n }\n\n scores[key as ScoreKey] = {\n text: singleScoreData?.text,\n value: Math.round(singleScoreValue * 10) / 10,\n geographies,\n categoryKey: category ? (category[0] as CategoryKey) : null,\n categoryOptions: category ? category[1] : null,\n };\n });\n\n return scores;\n}\n","import React, { useMemo, useCallback } from \"react\";\n\nimport type { ScoreItem } from \"./utils/transformScoresAPIResponse/types\";\nimport { transformScoresAPIResponse } from \"./utils/transformScoresAPIResponse\";\nimport { useScores } from \"~/features/clientLibrary/useScores\";\n\nimport type { ScoreKey, CategoryKey } from \"~/sdks/LocalContent/types\";\nimport type { TransformedScoresMenuData } from \"~/sdks/LocalContent/utils/transformScoresMenuData/types\";\n\nexport function useScoreSelection({\n scoresMenu,\n lat,\n lng,\n}: {\n scoresMenu: TransformedScoresMenuData;\n lat: number;\n lng: number;\n}) {\n const [activeScore, setActiveScore] = React.useState<ScoreKey | null>(null);\n const [activeCategory, setActiveCategory] =\n React.useState<CategoryKey | null>(null);\n\n const { data, isFetching: isScoresFetching } = useScores({\n location: {\n lat,\n lng,\n },\n });\n\n const scoresData = useMemo<ScoreItem>(\n () => transformScoresAPIResponse(data, scoresMenu),\n [data, scoresMenu],\n );\n\n const activeCategoryData = useMemo(() => {\n if (!activeCategory || !scoresMenu) return null;\n\n const category = scoresMenu.categories.find(\n ([key]) => key === activeCategory,\n );\n\n if (!category) return null;\n\n return category[1];\n }, [activeCategory, scoresMenu]);\n\n const handleSelectScore = useCallback(\n (scoreKey: ScoreKey | null) => () => {\n setActiveScore((prev) => (prev === scoreKey ? null : scoreKey));\n\n if (scoreKey === null) {\n setActiveCategory(null);\n return;\n }\n\n const categoryKey =\n scoresMenu.categories.find(([, value]) =>\n value.scores.some(([key]) => key === scoreKey),\n )?.[0] ?? null;\n\n setActiveCategory(categoryKey);\n },\n [setActiveScore, setActiveCategory, scoresMenu.categories],\n );\n\n /**\n * Category selection is a mobile only feature, so when a category is selected,\n * we also clear the active score to avoid confusion.\n */\n const handleSelectCategory = useCallback(\n (categoryKey: CategoryKey | null) => () => {\n setActiveCategory((prev) => (prev === categoryKey ? null : categoryKey));\n setActiveScore(null);\n },\n [setActiveCategory, setActiveScore],\n );\n\n return {\n isLoading: isScoresFetching,\n scoresData,\n activeScore,\n activeScoreData: activeScore === null ? undefined : scoresData[activeScore],\n activeCategory,\n activeCategoryData,\n handleSelectScore,\n handleSelectCategory,\n };\n}\n","import { useQuery } from \"@tanstack/react-query\";\nimport type { TravelMode, Location, DistanceUnits, CommuteData } from \"./types\";\nimport errorTracker from \"~/utils/errorTracker\";\n\nimport { useStateManagerContext } from \"~/context/stateManager\";\nimport { LocalContentProps } from \"~/sdks/LocalContent/types\";\n\nconst MAPBOX_DIRECTIONS_ENDPOINT = `${import.meta.env.VITE_PROVIDERS_ENDPOINT}/v1/directions`;\n\nexport function useCommute({\n mode = \"walking\",\n origin,\n destination,\n label,\n locale = \"en\",\n units = \"metric\",\n}: {\n mode?: TravelMode;\n origin?: Location;\n destination?: Location;\n label?: string;\n locale?: string;\n units?: DistanceUnits;\n}) {\n const { sdkState } = useStateManagerContext<LocalContentProps>();\n\n /**\n * Fetches a route from Mapbox Directions API.\n *\n * @returns CommuteData | null\n */\n const fetchRoutes = async () => {\n if (!origin?.lat || !origin.lng || !destination?.lat || !destination.lng) {\n return null;\n }\n\n let travelMode = \"walking\";\n\n if (mode === \"driving\") {\n travelMode = \"driving\";\n } else if (mode === \"cycling\") {\n travelMode = \"cycling\";\n }\n\n return fetch(\n `${MAPBOX_DIRECTIONS_ENDPOINT}/${travelMode}/${origin.lng},${origin.lat};${destination.lng},${destination.lat}?geometries=geojson`,\n {\n headers: {\n Accept: \"application/json\",\n Authorization: `${sdkState.apiKey as string}`,\n },\n method: \"GET\",\n },\n )\n .then((response) => response.json())\n .then((response) => {\n if (\n (response.data?.routes ?? []).length > 0 &&\n response.data?.code === \"Ok\"\n ) {\n return {\n mode: travelMode,\n distance: response.data.routes[0].distance,\n duration: response.data.routes[0].duration,\n label,\n // Convert coordinates from [lng, lat] to [lat, lng]\n geometry: response.data.routes[0].geometry.coordinates.map(\n (coord: [number, number]) => [coord[1], coord[0]],\n ),\n destination: {\n lat: destination.lat,\n lng: destination.lng,\n },\n } as CommuteData;\n }\n return null;\n })\n .catch((error) => {\n errorTracker.captureException(error);\n throw error;\n });\n };\n\n return useQuery({\n queryKey: [\n \"commute\",\n mode,\n origin?.lat,\n origin?.lng,\n destination?.lat,\n destination?.lng,\n locale,\n units,\n label,\n ],\n queryFn: fetchRoutes,\n enabled:\n !!origin?.lat &&\n !!origin?.lng &&\n !!destination?.lat &&\n !!destination?.lng,\n });\n}\n","import type { SurveyStorage } from \"../types\";\n\nexport const SURVEY_TRIGGER_SESSION_NAME = \"sessions\";\nexport const SURVEY_DISMISS_KEY = \"dismissedAt\";\nexport const SURVEY_TRIGGERED_KEY = \"triggeredAt\";\n\n/**\n * Session-based trigger: at least this many meaningful interactions spread\n * across at least {@link SESSION_BASED_MIN_SESSIONS} distinct sessions.\n */\nexport const SESSION_BASED_MIN_INTERACTIONS = 3;\nexport const SESSION_BASED_MIN_SESSIONS = 2;\n\n/**\n * Click-based trigger: at least this many meaningful interactions within a\n * single session.\n */\nexport const CLICK_BASED_MIN_INTERACTIONS = 7;\n\n/**\n * Once a survey is dismissed, interactions are ignored and the survey is\n * suppressed for this duration. After it elapses, the survey settings reset.\n */\nexport const DISMISS_DURATION_MS = 30 * 24 * 60 * 60 * 1000;\n\n/**\n * Interaction counts keyed by LocalLogic session id.\n * e.g. `{ \"$session:abc\": 3, \"$session:def\": 1 }`\n */\nexport type SessionCounts = Record<string, number>;\n\n/**\n * Reads the per-session interaction counts from storage.\n *\n * Gracefully handles legacy/corrupt data (e.g. the previous array-based\n * shape) by returning an empty map.\n */\nexport function getSessions(storage: SurveyStorage): SessionCounts {\n const raw = storage.getItem(SURVEY_TRIGGER_SESSION_NAME);\n\n if (!raw) {\n return {};\n }\n\n try {\n const parsed = JSON.parse(raw);\n\n if (\n typeof parsed !== \"object\" ||\n parsed === null ||\n Array.isArray(parsed)\n ) {\n return {};\n }\n\n return parsed as SessionCounts;\n } catch {\n return {};\n }\n}\n\nexport function saveSessions(\n storage: SurveyStorage,\n sessions: SessionCounts,\n): void {\n storage.setItem(SURVEY_TRIGGER_SESSION_NAME, JSON.stringify(sessions));\n}\n\n/**\n * Marks the survey as dismissed (storing the dismissal timestamp) and clears\n * the tracked interaction counts.\n */\nexport function dismissSurvey(\n storage: SurveyStorage,\n now: number = Date.now(),\n): void {\n storage.setItem(SURVEY_DISMISS_KEY, String(now));\n storage.removeItem(SURVEY_TRIGGER_SESSION_NAME);\n storage.removeItem(SURVEY_TRIGGERED_KEY);\n}\n\n/**\n * Whether the survey is currently dismissed.\n *\n * If the 30 day dismissal window has elapsed, the survey settings are reset\n * (dismissal + interaction counts cleared) and this returns `false`.\n */\nexport function isDismissed(\n storage: SurveyStorage,\n now: number = Date.now(),\n): boolean {\n const raw = storage.getItem(SURVEY_DISMISS_KEY);\n\n if (!raw) {\n return false;\n }\n\n const dismissedAt = Number(raw);\n\n // Invalid / legacy value: reset so we start fresh.\n if (Number.isNaN(dismissedAt)) {\n storage.removeItem(SURVEY_DISMISS_KEY);\n storage.removeItem(SURVEY_TRIGGER_SESSION_NAME);\n storage.removeItem(SURVEY_TRIGGERED_KEY);\n return false;\n }\n\n if (now - dismissedAt >= DISMISS_DURATION_MS) {\n // Dismissal window elapsed: reset all survey settings.\n storage.removeItem(SURVEY_DISMISS_KEY);\n storage.removeItem(SURVEY_TRIGGER_SESSION_NAME);\n storage.removeItem(SURVEY_TRIGGERED_KEY);\n return false;\n }\n\n return true;\n}\n\n/**\n * Ensures the given session id is tracked. Prunes previously tracked sessions\n * that never had an interaction (except the current one) to keep the map\n * bounded, then guarantees the current session exists with a count of 0.\n */\nexport function registerSession(\n storage: SurveyStorage,\n sessionId: string,\n): void {\n const sessions = getSessions(storage);\n\n const pruned: SessionCounts = {};\n Object.entries(sessions).forEach(([id, count]) => {\n if (count > 0 || id === sessionId) {\n pruned[id] = count;\n }\n });\n\n if (pruned[sessionId] === undefined) {\n pruned[sessionId] = 0;\n }\n\n saveSessions(storage, pruned);\n}\n\n/**\n * Increments the interaction count for the given session id.\n */\nexport function incrementSession(\n storage: SurveyStorage,\n sessionId: string,\n): void {\n const sessions = getSessions(storage);\n\n sessions[sessionId] = (sessions[sessionId] ?? 0) + 1;\n\n saveSessions(storage, sessions);\n}\n\n/**\n * Evaluates whether either survey trigger condition is met.\n *\n * - Session based: at least {@link SESSION_BASED_MIN_INTERACTIONS} interactions\n * across at least {@link SESSION_BASED_MIN_SESSIONS} distinct sessions.\n * - Click based: at least {@link CLICK_BASED_MIN_INTERACTIONS} interactions in a\n * single session.\n */\nexport function shouldShowSurvey(storage: SurveyStorage): boolean {\n const counts = Object.values(getSessions(storage));\n\n const sessionsWithInteraction = counts.filter((count) => count > 0);\n const totalInteractions = counts.reduce((sum, count) => sum + count, 0);\n\n const sessionBasedTrigger =\n totalInteractions >= SESSION_BASED_MIN_INTERACTIONS &&\n sessionsWithInteraction.length >= SESSION_BASED_MIN_SESSIONS;\n\n const clickBasedTrigger = counts.some(\n (count) => count >= CLICK_BASED_MIN_INTERACTIONS,\n );\n\n return sessionBasedTrigger || clickBasedTrigger;\n}\n\n/**\n * Snapshot of the trigger counters at a given moment, used as attributes on\n * the `Survey-Triggered` event.\n *\n * - `sessions`: number of distinct sessions that had at least one interaction.\n * - `interactions`: total interactions accumulated across all sessions.\n */\nexport interface SurveyTriggerStats {\n sessions: number;\n interactions: number;\n}\n\nexport function getTriggerStats(storage: SurveyStorage): SurveyTriggerStats {\n const counts = Object.values(getSessions(storage));\n\n return {\n sessions: counts.filter((count) => count > 0).length,\n interactions: counts.reduce((sum, count) => sum + count, 0),\n };\n}\n\n/**\n * Whether the `Survey-Triggered` event has already been emitted for the\n * current trigger cycle. Reset whenever the survey is dismissed or the\n * dismissal window elapses (see {@link dismissSurvey} and {@link isDismissed}).\n */\nexport function hasTriggered(storage: SurveyStorage): boolean {\n return storage.getItem(SURVEY_TRIGGERED_KEY) !== null;\n}\n\nexport function markTriggered(\n storage: SurveyStorage,\n now: number = Date.now(),\n): void {\n storage.setItem(SURVEY_TRIGGERED_KEY, String(now));\n}\n","import React, { useState, useEffect, useCallback, createContext } from \"react\";\nimport type { ReactNode } from \"react\";\n\nimport { useFlags } from \"launchdarkly-react-client-sdk\";\n\nimport type { SurveyTriggerContextValue } from \"../types\";\nimport {\n isDismissed as checkIsDismissed,\n registerSession,\n incrementSession,\n shouldShowSurvey,\n dismissSurvey,\n getTriggerStats,\n hasTriggered,\n markTriggered,\n} from \"../session\";\nimport { SURVEY_ID } from \"~/sdks/LocalContent/constants\";\nimport { TrackingPipelineEvents } from \"~/sdks/LocalContent/types\";\nimport { useTracking } from \"~/tracking\";\nimport { BrowserStorage } from \"~/utils/browser\";\nimport { getSessionId } from \"~/tracking/utils/user\";\n\nconst SURVEY_TRIGGER_OBJECT_NAME = \"localContentSurvey\";\n\n/**\n * Value served by the `localContentSurveyDisplay` A/B flag when the survey\n * should actually be displayed (the other variation is \"Hide\").\n */\nconst SURVEY_DISPLAY_VARIATION = \"Display\";\n\nexport const SurveyTriggerContext =\n createContext<SurveyTriggerContextValue | null>(null);\n\nexport function SurveyTriggerProvider({ children }: { children: ReactNode }) {\n const storage = React.useRef(\n new BrowserStorage(SURVEY_TRIGGER_OBJECT_NAME),\n ).current;\n const flags = useFlags();\n const tracking = useTracking();\n const [showSurvey, setShowSurvey] = useState(false);\n const [dismissed, setDismissed] = useState(() => checkIsDismissed(storage));\n\n // Whether the A/B display variation permits showing the survey once a\n // trigger fires. Interactions are still tracked when this is false so the\n // survey can appear later if the variation changes.\n const canDisplay =\n flags.localContentSurveyDisplay === SURVEY_DISPLAY_VARIATION;\n\n // Register the current LocalLogic session so it can accrue interactions.\n // Note: we intentionally do NOT evaluate the trigger on mount. When a user\n // ignores the survey (closes the tab/window), it should only reappear on the\n // next meaningful interaction, not immediately on the next page load.\n useEffect(() => {\n if (!flags.localContentSurvey || dismissed) {\n return;\n }\n\n registerSession(storage, getSessionId());\n }, [flags.localContentSurvey, dismissed, storage]);\n\n const handleAddSessionTriggerCount = useCallback(() => {\n if (!flags.localContentSurvey || dismissed) {\n return;\n }\n\n incrementSession(storage, getSessionId());\n\n if (!shouldShowSurvey(storage)) {\n return;\n }\n\n // The user is now engaged enough to trigger the survey, regardless of\n // whether the A/B variation lets us actually display it. Emit the\n // `Survey-Triggered` event once per trigger cycle so we can compare\n // engagement across the \"seen\" / \"not seen\" cohorts.\n if (!hasTriggered(storage)) {\n markTriggered(storage);\n\n const { sessions, interactions } = getTriggerStats(storage);\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SURVEY_TRIGGERED,\n eventAttributes: [\n { label: \"survey_id\", data: SURVEY_ID },\n { label: \"survey_trigger_sessions\", data: sessions },\n { label: \"survey_trigger_interactions\", data: interactions },\n {\n label: \"survey_cohort\",\n data: canDisplay ? \"survey_seen\" : \"survey_not_seen\",\n },\n ],\n });\n }\n\n if (canDisplay) {\n setShowSurvey(true);\n }\n }, [flags.localContentSurvey, dismissed, canDisplay, storage, tracking]);\n\n const handleDismiss = useCallback(() => {\n setDismissed(true);\n setShowSurvey(false);\n dismissSurvey(storage);\n }, [storage]);\n\n return (\n <SurveyTriggerContext.Provider\n value={{ showSurvey, handleDismiss, handleAddSessionTriggerCount }}\n >\n {children}\n </SurveyTriggerContext.Provider>\n );\n}\n","import { useContext } from \"react\";\n\nimport { SurveyTriggerContext } from \"./SurveyTriggerProvider\";\n\nexport { SurveyTriggerProvider } from \"./SurveyTriggerProvider\";\nexport type { SurveyTriggerContextValue, SurveyStorage } from \"./types\";\nexport {\n registerSession,\n incrementSession,\n shouldShowSurvey,\n dismissSurvey,\n getTriggerStats,\n hasTriggered,\n markTriggered,\n} from \"./session\";\nexport type { SurveyTriggerStats } from \"./session\";\n\nexport function useSurveyTrigger() {\n const context = useContext(SurveyTriggerContext);\n\n if (!context) {\n throw new Error(\n \"useSurveyTrigger must be used within a SurveyTriggerProvider\",\n );\n }\n\n return context;\n}\n","import React, {\n useContext,\n useEffect,\n useState,\n useMemo,\n useCallback,\n} from \"react\";\n\nimport type { POI, School } from \"@local-logic/client\";\nimport type { MarkerPoint } from \"@local-logic/maps\";\nimport { transformScoresMenuData } from \"./utils/transformScoresMenuData\";\nimport { getPOICategoriesWithAvailableData } from \"./utils/getPOICategoriesWithAvailableData\";\nimport { orderPOICategories } from \"./utils/orderPOICategories\";\nimport type { TransformedScoresMenuData } from \"./utils/transformScoresMenuData/types\";\nimport {\n type LocalContentProps,\n type POISubcategory,\n TrackingPipelineEvents,\n AnalyticsEvents,\n CommuteOptions,\n} from \"./types\";\nimport { useTracking } from \"~/tracking\";\nimport { useScoreSelection } from \"~/sdks/LocalContent/hooks/useScoreSelection\";\nimport { useMarkers } from \"~/hooks/useMarkers\";\nimport { useCommute } from \"~/sdks/LocalContent/hooks/useCommute\";\nimport { useSurveyTrigger } from \"~/sdks/LocalContent/hooks/useSurveyTrigger\";\n\nimport useEffectOnce from \"~/hooks/useEffectOnce\";\nimport { useStateManagerContext } from \"~/context/stateManager\";\nimport { useLocation } from \"~/hooks/useLocation\";\n\nimport type { CommuteData } from \"~/sdks/LocalContent/hooks/useCommute/types\";\n\nimport {\n DEFAULT_TRAVEL_MODE,\n DEFAULT_RADIUS,\n DEFAULT_NUMBER_OF_POIS,\n SCORE_POI_CATEGORIES,\n} from \"~/sdks/LocalContent/constants\";\n\nimport { getIdFromMarker } from \"~/utils/map/getIdFromMarker\";\n\ninterface Location {\n lat: LocalContentProps[\"options\"][\"lat\"];\n lng: LocalContentProps[\"options\"][\"lng\"];\n}\n\nexport type DefaultContext = {\n isLoading: boolean;\n isScoresLoading: boolean;\n isMarkersLoading: boolean;\n isCommuteDataLoading: boolean;\n isCategoriesMenuOpen: boolean;\n isCommuteCalculatorOpen: boolean;\n isSidebarExpanded: boolean;\n distanceUnit: LocalContentProps[\"options\"][\"distanceUnit\"];\n locale: \"en\" | \"fr\";\n location: Location;\n country: string;\n centerMarker?: {\n lat: number;\n lng: number;\n addressLabel?: string;\n };\n map: {\n mapProvider: LocalContentProps[\"options\"][\"mapProvider\"];\n zoom: LocalContentProps[\"options\"][\"zoom\"];\n pitch: LocalContentProps[\"options\"][\"pitch\"];\n bearing: LocalContentProps[\"options\"][\"bearing\"];\n cooperativeGestures: LocalContentProps[\"options\"][\"cooperativeGestures\"];\n };\n scoresMenu: TransformedScoresMenuData;\n activeScore: ReturnType<typeof useScoreSelection>[\"activeScore\"];\n activeScoreData: ReturnType<typeof useScoreSelection>[\"activeScoreData\"];\n activeCategory: ReturnType<typeof useScoreSelection>[\"activeCategory\"];\n activeCategoryData: ReturnType<\n typeof useScoreSelection\n >[\"activeCategoryData\"];\n availablePoiSubcategories: POISubcategory[];\n selectedPoiSubcategory: POISubcategory | null;\n activeMarker?: MarkerPoint;\n activeMarkerDetails: School | POI | null;\n scoresData?: ReturnType<typeof useScoreSelection>[\"scoresData\"];\n markersData?: ReturnType<typeof useMarkers>[\"data\"];\n commuteData: CommuteData | null;\n hideScoresList: string[];\n hideAllScores?: boolean;\n showSchoolRatings?: boolean;\n commuteOptions: CommuteOptions;\n hideAttribution?: boolean;\n handleToggleIsCommuteCalculatorOpen: () => void;\n handleToggleIsSidebarExpanded: () => void;\n handleSelectScore: ReturnType<typeof useScoreSelection>[\"handleSelectScore\"];\n handleSelectCategory: ReturnType<\n typeof useScoreSelection\n >[\"handleSelectCategory\"];\n handleSelectPoiSubcategory: (subcategory: POISubcategory | null) => void;\n handleMarkerClick: (marker?: MarkerPoint) => void;\n handleCalculateCommute: (options: DefaultContext[\"commuteOptions\"]) => void;\n};\n\nconst LocalContentContext = React.createContext<DefaultContext>(\n {} as DefaultContext,\n);\n\nconst useLocalContent = () => useContext(LocalContentContext);\n\nconst LocalContentProvider = ({\n children,\n}: {\n children: React.JSX.Element;\n}) => {\n const { sdkState } = useStateManagerContext<LocalContentProps>();\n const tracking = useTracking();\n const { handleAddSessionTriggerCount } = useSurveyTrigger();\n const [isCategoriesMenuOpen, setIsCategoriesMenuOpen] = useState(false);\n const [isCommuteCalculatorOpen, setIsCommuteCalculatorOpen] = useState(false);\n const [isSidebarExpanded, setIsSidebarExpanded] = useState(\n sdkState.options?.scoresMenu?.defaultOpen ?? true,\n );\n const [availablePoiSubcategories, setAvailablePoiSubcategories] = useState<\n POISubcategory[]\n >([]);\n const [selectedPoiSubcategory, setSelectedPoiSubcategory] =\n useState<DefaultContext[\"selectedPoiSubcategory\"]>(null);\n const [activeMarker, setActiveMarker] = useState<MarkerPoint | undefined>(\n undefined,\n );\n const [commuteOptions, setCommuteOptions] = useState<\n DefaultContext[\"commuteOptions\"]\n >({\n destination: undefined,\n commuteType: DEFAULT_TRAVEL_MODE,\n label: undefined,\n });\n\n const { data: location } = useLocation({\n lat: sdkState.options?.marker?.lat,\n lng: sdkState.options?.marker?.lng,\n });\n\n const { data: commuteData, isLoading: isCommuteDataLoading } = useCommute({\n mode: commuteOptions.commuteType,\n locale: sdkState.globalOptions?.locale || \"en\",\n units: sdkState.options?.distanceUnit,\n label: commuteOptions.label,\n origin: {\n lat: sdkState.options?.lat || 0,\n lng: sdkState.options?.lng || 0,\n },\n destination: commuteOptions.destination,\n });\n\n useEffectOnce(() => {\n const eventAttributes = {\n mapProviderHasCustomKey:\n typeof sdkState.options?.mapProvider?.key !== \"undefined\",\n mapProviderHasCustomTheme:\n typeof sdkState.options?.mapProvider?.theme !== \"undefined\",\n centerMarkerProvided: typeof sdkState.options?.marker !== \"undefined\",\n sidebarDefaultOpen: sdkState.options?.scoresMenu?.defaultOpen,\n };\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SDK_VIEWED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.SDK_VIEWED,\n eventAttributes,\n });\n });\n\n const handleToggleIsCommuteCalculatorOpen = useCallback(() => {\n setIsCommuteCalculatorOpen((prev) => {\n if (!prev) {\n setIsCategoriesMenuOpen(false);\n } else {\n setCommuteOptions({\n ...commuteOptions,\n label: undefined,\n destination: undefined,\n });\n }\n\n return !prev;\n });\n\n // Close any open popup when toggling commute calculator\n setActiveMarker(undefined);\n }, [commuteOptions]);\n\n const handleToggleIsSidebarExpanded = useCallback(() => {\n setIsSidebarExpanded((prev) => !prev);\n\n // Close any open popup when toggling sidebar to avoid positioning issues\n setActiveMarker(undefined);\n }, []);\n\n const handleSelectPoiSubcategory = useCallback(\n (subcategory: POISubcategory | null) => {\n setSelectedPoiSubcategory((prev) =>\n prev === subcategory ? null : subcategory,\n );\n },\n [],\n );\n\n const handleMarkerClick = useCallback(\n (marker?: MarkerPoint) => {\n if (\n activeMarker?.latitude === marker?.latitude &&\n activeMarker?.longitude === marker?.longitude\n ) {\n setActiveMarker(undefined);\n return;\n }\n\n setActiveMarker(marker);\n },\n [activeMarker, isCategoriesMenuOpen],\n );\n\n const handleCalculateCommute = (\n options: DefaultContext[\"commuteOptions\"],\n ) => {\n handleAddSessionTriggerCount();\n setCommuteOptions(options);\n handleMarkerClick();\n\n if (!isCommuteCalculatorOpen) {\n handleToggleIsCommuteCalculatorOpen();\n }\n };\n\n const sortedScoresMenu = useMemo(\n () => transformScoresMenuData(sdkState.options?.scoresMenu),\n [sdkState.options?.scoresMenu?.categories],\n );\n\n const {\n isLoading: isScoresLoading,\n scoresData,\n activeScore,\n activeScoreData,\n activeCategory,\n activeCategoryData,\n handleSelectScore,\n handleSelectCategory,\n } = useScoreSelection({\n scoresMenu: sortedScoresMenu,\n lat: sdkState?.options?.lat || 0,\n lng: sdkState?.options?.lng || 0,\n });\n\n const { isLoading: isMarkersLoading, data: markersData } = useMarkers({\n lat: sdkState?.options?.lat || 0,\n lng: sdkState?.options?.lng || 0,\n categoriesDeprecated: activeScore\n ? SCORE_POI_CATEGORIES[activeScore]\n : undefined,\n radius: DEFAULT_RADIUS,\n limit: DEFAULT_NUMBER_OF_POIS,\n });\n\n useEffect(() => {\n if (\n !activeScore ||\n isMarkersLoading ||\n typeof markersData === \"undefined\" ||\n Object.keys(markersData).length === 0\n ) {\n if (selectedPoiSubcategory !== null) {\n handleSelectPoiSubcategory(null);\n }\n\n return;\n }\n\n const filteredSubcategories =\n getPOICategoriesWithAvailableData(markersData);\n\n if (filteredSubcategories.length === 0) {\n handleSelectPoiSubcategory(null);\n return;\n }\n\n // If a valid subcategory is already selected and still exists in the data, keep it\n if (\n selectedPoiSubcategory !== null &&\n filteredSubcategories.includes(selectedPoiSubcategory)\n ) {\n return;\n }\n\n orderPOICategories(activeScore, filteredSubcategories);\n setAvailablePoiSubcategories(filteredSubcategories as POISubcategory[]);\n\n // Otherwise, select the first available subcategory\n handleSelectPoiSubcategory(filteredSubcategories[0] as POISubcategory);\n }, [isMarkersLoading, markersData, selectedPoiSubcategory]);\n\n /**\n * This is used to determine which scores should be hidden in the UI.\n * It is mainly calculated here to avoid recalculating it in multiple components.\n */\n const hideScoresList = useMemo(() => {\n let tempHideScoresList: string[] = [];\n\n if (!sortedScoresMenu) return tempHideScoresList;\n\n sortedScoresMenu.categories.forEach(([, categoryValue]) => {\n if (categoryValue.hide || sdkState.options?.hideScores) {\n tempHideScoresList = tempHideScoresList.concat(\n categoryValue.scores.flatMap(([scoreKey]) => scoreKey),\n );\n } else {\n tempHideScoresList = tempHideScoresList.concat(\n categoryValue.scores\n .filter(([, scoreValue]) => scoreValue.hideScore)\n .map(([scoreKey]) => scoreKey),\n );\n }\n });\n\n return tempHideScoresList;\n }, [sortedScoresMenu, sdkState.options]);\n\n const activeMarkerDetails = useMemo(() => {\n if (\n !markersData ||\n !selectedPoiSubcategory ||\n !activeMarker ||\n activeMarker.markers.length !== 1\n ) {\n return null;\n }\n\n return (\n markersData[selectedPoiSubcategory]?.find(\n (marker) =>\n activeMarker.markers[0].id ===\n getIdFromMarker(marker.lat, marker.lng, marker.name),\n ) || null\n );\n }, [activeMarker, markersData, selectedPoiSubcategory]);\n\n const contextValue = useMemo(\n () => ({\n isLoading: isScoresLoading || isMarkersLoading,\n isScoresLoading,\n isMarkersLoading,\n isCommuteDataLoading,\n isCategoriesMenuOpen,\n isCommuteCalculatorOpen,\n isSidebarExpanded,\n locale: sdkState.globalOptions?.locale || \"en\",\n location: {\n lat: sdkState.options?.lat,\n lng: sdkState.options?.lng,\n },\n country: location?.country || \"CAN\",\n centerMarker: sdkState.options?.marker,\n distanceUnit: sdkState.options?.distanceUnit,\n map: {\n mapProvider: sdkState.options?.mapProvider,\n zoom: sdkState.options?.zoom,\n pitch: sdkState.options?.pitch,\n bearing: sdkState.options?.bearing,\n cooperativeGestures: sdkState.options?.cooperativeGestures,\n },\n scoresMenu: sortedScoresMenu,\n activeScore,\n activeScoreData,\n activeCategory,\n activeCategoryData,\n activeMarker,\n activeMarkerDetails,\n markersData,\n scoresData,\n availablePoiSubcategories,\n selectedPoiSubcategory,\n hideScoresList,\n hideAllScores: sdkState.options?.hideScores,\n showSchoolRatings: sdkState.options?.showSchoolRatings,\n commuteData: commuteData || null,\n commuteOptions,\n hideAttribution: sdkState.options?.hideAttribution,\n handleToggleIsCommuteCalculatorOpen,\n handleToggleIsSidebarExpanded,\n handleSelectScore,\n handleSelectCategory,\n handleSelectPoiSubcategory,\n handleMarkerClick,\n handleCalculateCommute,\n }),\n [\n isScoresLoading,\n isMarkersLoading,\n isCategoriesMenuOpen,\n isCommuteCalculatorOpen,\n isSidebarExpanded,\n isCommuteDataLoading,\n sdkState.globalOptions,\n sdkState.options,\n location,\n sortedScoresMenu,\n activeScore,\n activeScoreData,\n activeCategory,\n activeCategoryData,\n activeMarker,\n activeMarkerDetails,\n markersData,\n scoresData,\n availablePoiSubcategories,\n selectedPoiSubcategory,\n commuteData,\n hideScoresList,\n commuteOptions,\n sdkState.options?.hideAttribution,\n handleToggleIsCommuteCalculatorOpen,\n handleToggleIsSidebarExpanded,\n handleSelectScore,\n handleSelectCategory,\n handleSelectPoiSubcategory,\n handleMarkerClick,\n handleCalculateCommute,\n ],\n );\n\n return (\n <LocalContentContext.Provider value={contextValue}>\n {children}\n </LocalContentContext.Provider>\n );\n};\n\nexport { useLocalContent, LocalContentProvider, type Location };\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { HorizontalScrollFilters } from \"@local-logic/design-system\";\nimport {\n type Icon,\n TrainIcon,\n PencilRulerIcon,\n ShoppingCartIcon,\n ConfettiIcon,\n PlantIcon,\n FlowerLotusIcon,\n} from \"@phosphor-icons/react\";\nimport * as styles from \"./styles\";\nimport { useTracking } from \"~/tracking\";\nimport { useResponsiveBreakpoints } from \"~/hooks/useResponsiveBreakpoints\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nimport type { TransformedScoresMenuData } from \"~/sdks/LocalContent/utils/transformScoresMenuData/types\";\nimport {\n type CategoryKey,\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nconst categoryIcons: Record<CategoryKey, Icon> = {\n transport: TrainIcon,\n education: PencilRulerIcon,\n amenities: ShoppingCartIcon,\n character: ConfettiIcon,\n nature: FlowerLotusIcon,\n health: PlantIcon,\n};\n\nexport function Header({ scores }: { scores: TransformedScoresMenuData }) {\n const tracking = useTracking();\n const { activeCategory, handleSelectCategory: onSelectCategory } =\n useLocalContent();\n const { t } = useTranslation(\"localContent\");\n const breakpoints = useResponsiveBreakpoints();\n\n const handleSelectCategory = (categoryKey: CategoryKey | null) => () => {\n onSelectCategory(categoryKey)();\n\n if (categoryKey === null) {\n return;\n }\n\n const eventAttributes = {\n category: categoryKey,\n isExpanded: activeCategory === categoryKey,\n };\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.CATEGORIES_MENU_CATEGORY_SELECTED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.CATEGORIES_MENU_CATEGORY_SELECTED,\n eventAttributes,\n });\n };\n\n if (breakpoints.sm || scores.categories.length === 0) {\n return null;\n }\n\n return (\n <div className={styles.container} data-testid=\"categories-mobile-header\">\n <HorizontalScrollFilters.Root>\n <HorizontalScrollFilters.ScrollList>\n {scores.categories.map(([categoryKey, categoryValue]) => (\n <HorizontalScrollFilters.Filter<CategoryKey>\n key={`category-${categoryKey}`}\n filter={categoryKey}\n label={t(`categories.${categoryKey}`)}\n icon={categoryIcons[categoryKey]}\n iconBackgroundColor={categoryValue.colors?.background}\n iconFillColor={categoryValue.colors?.fill}\n isActive={categoryKey === activeCategory}\n onSelectFilter={handleSelectCategory(categoryKey)}\n />\n ))}\n </HorizontalScrollFilters.ScrollList>\n </HorizontalScrollFilters.Root>\n </div>\n );\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],t):\"object\"==typeof exports?exports[\"embed-react\"]=t(require(\"react\")):e[\"embed-react\"]=t(e.react)}(this,function(e){return function(){var t={9:function(e,t,n){\"use strict\";n.r(t),t.default=\".tf-v1-widget{width:100%;height:100%;min-height:inherit;position:relative}.tf-v1-widget iframe{width:100%;height:100%;border:none;overflow:hidden;border-radius:8px;min-height:inherit}.tf-v1-widget-close{display:none}.tf-v1-widget-iframe-overlay{width:100%;height:100%;border:none;overflow:hidden;border-radius:8px;position:absolute;top:0;left:0}.tf-v1-widget-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10001;width:100% !important;height:100% !important}.tf-v1-widget-fullscreen .tf-v1-widget-close{display:block;display:block;padding:0;margin:0;position:absolute;font-size:32px;font-weight:normal;line-height:24px;width:24px;height:24px;text-align:center;text-transform:none;cursor:pointer;opacity:.75;transition:opacity .25s ease-in-out;text-decoration:none;color:#000;top:6px;right:8px;background:none;border:none;border-radius:0}.tf-v1-widget-fullscreen .tf-v1-widget-close:hover{opacity:1}@media(min-width: 481px){.tf-v1-widget-fullscreen .tf-v1-widget-close{color:#fff !important}}.tf-v1-widget-fullscreen .tf-v1-widget-close{z-index:1}.tf-v1-widget-fullscreen iframe{border-radius:0}\"},93:function(e,t,n){\"use strict\";var o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.InlineStyle=void 0;var i=r(n(155)),a=r(n(206));t.InlineStyle=function(e){var t=e.filename,r=n(663)(\"./\".concat(t,\".css\")),c=(0,a.default)();return i.default.createElement(\"style\",o({},c?{nonce:c}:{},{dangerouslySetInnerHTML:{__html:r.default}}))}},123:function(e,t,n){\"use strict\";n.r(t),t.default=\"@keyframes spin{to{transform:rotate(360deg)}}.tf-v1-popup{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);transition:opacity .25s ease-in-out;z-index:10001;display:flex;align-items:center;justify-content:center}.tf-v1-popup .tf-v1-iframe-wrapper{position:relative;transition:opacity .25s ease-in-out;min-width:360px;min-height:360px}.tf-v1-popup .tf-v1-iframe-wrapper iframe{width:100%;height:100%;border:none;overflow:hidden;border-radius:8px}.tf-v1-popup .tf-v1-close{display:block;padding:0;margin:0;position:absolute;font-size:32px;font-weight:normal;line-height:24px;width:24px;height:24px;text-align:center;text-transform:none;cursor:pointer;opacity:.75;transition:opacity .25s ease-in-out;text-decoration:none;color:#000;top:-34px;right:0;background:none;border:none;border-radius:0}.tf-v1-popup .tf-v1-close:hover{opacity:1}@media(min-width: 481px){.tf-v1-popup .tf-v1-close{color:#fff !important}}.tf-v1-popup .tf-v1-spinner{border:3px solid #aaa;font-size:40px;width:1em;height:1em;border-radius:.5em;box-sizing:border-box;animation:spin 1s linear infinite;border-top-color:#fff;position:absolute;top:50%;left:50%;margin:-20px 0 0 -20px}@media(max-width: 480px){.tf-v1-popup{width:100% !important;height:100% !important}.tf-v1-popup .tf-v1-iframe-wrapper{position:relative;transition:opacity .25s ease-in-out;min-width:100%;min-height:100%}.tf-v1-popup .tf-v1-iframe-wrapper iframe{border-radius:0}.tf-v1-popup .tf-v1-close{display:block;padding:0;margin:0;position:absolute;font-size:32px;font-weight:normal;line-height:24px;width:24px;height:24px;text-align:center;text-transform:none;cursor:pointer;opacity:.75;transition:opacity .25s ease-in-out;text-decoration:none;color:#000;top:6px;right:8px;background:none;border:none;border-radius:0}.tf-v1-popup .tf-v1-close:hover{opacity:1}}@media(max-width: 480px)and (min-width: 481px){.tf-v1-popup .tf-v1-close{color:#fff !important}}\"},155:function(t){\"use strict\";t.exports=e},161:function(e,t,n){\"use strict\";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.memoComponent=t.propsAreEqual=void 0;var r=n(155),i=o(n(792));t.propsAreEqual=function(e,t){return(0,i.default)(e,t)},t.memoComponent=function(e){return(0,r.memo)(e,t.propsAreEqual)}},193:function(e,t,n){\"use strict\";var o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)},r=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)\"default\"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},c=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.makeButtonComponent=void 0;var s=a(n(155)),u=n(517),l=n(93);t.makeButtonComponent=function(e,t){return function(n){var r=n.id,i=n.children,a=n.as,d=void 0===a?\"button\":a,f=n.style,p=void 0===f?{}:f,v=n.className,m=void 0===v?\"\":v,h=n.buttonProps,b=n.embedRef,g=c(n,[\"id\",\"children\",\"as\",\"style\",\"className\",\"buttonProps\",\"embedRef\"]),y=(0,s.useRef)(u.genericEmbed),w=b||y;(0,s.useEffect)(function(){return w.current=e(r,g),function(){var e;return null===(e=w.current)||void 0===e?void 0:e.unmount()}},[r,g,w]);var x=(0,s.useMemo)(function(){return function(){var e;return null===(e=w.current)||void 0===e?void 0:e.open()}},[w]),_=s.default.createElement(d,o({style:p,className:m,onClick:x,\"data-testid\":\"tf-v1-\".concat(t),children:i},h));return s.default.createElement(s.default.Fragment,null,s.default.createElement(l.InlineStyle,{filename:t}),_)}}},206:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){return void 0!==n.g.__webpack_nonce__?n.g.__webpack_nonce__:null}},231:function(e,t,n){\"use strict\";n.r(t),t.default=\"@keyframes spin{to{transform:rotate(360deg)}}.tf-v1-sidetab{position:fixed;top:50%;right:0;width:400px;height:580px;transform:translate(100%, -50%);box-shadow:0 2px 4px rgba(0,0,0,.08),0 2px 12px rgba(0,0,0,.06);z-index:10001;will-change:transform}.tf-v1-sidetab.ready{transition:transform 400ms cubic-bezier(0.5, 0, 0.75, 0)}.tf-v1-sidetab iframe{width:100%;height:100%;border:none;overflow:hidden;border-radius:8px 0 0 8px}.tf-v1-sidetab.open{transform:translate(0, -50%)}.tf-v1-sidetab-wrapper{position:relative;height:100%}.tf-v1-sidetab-button{position:absolute;top:50%;left:-48px;transform:rotate(-90deg) translateX(-50%);transform-origin:left top;min-width:100px;max-width:540px;height:48px;display:flex;align-items:center;padding:12px 16px;border-radius:8px 8px 0 0;color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.08),0 2px 12px rgba(0,0,0,.06);background-color:#3a7685;cursor:pointer;border:0;text-decoration:none;outline:none}.tf-v1-sidetab-button-text{flex:1;font-size:18px;font-family:Helvetica,Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-v1-sidetab-button-icon{width:24px;height:24px;font-size:24px;transform:rotate(90deg);margin-right:12px;position:relative;order:-1}.tf-v1-sidetab-button-icon>img{width:100%;height:100%;object-fit:contain}.tf-v1-sidetab-close{display:none}.tf-v1-sidetab .tf-v1-spinner{border:3px solid #aaa;font-size:24px;width:1em;height:1em;border-radius:.5em;box-sizing:border-box;animation:spin 1s linear infinite;border-top-color:#fff;position:absolute;top:50%;left:50%;margin:-12px 0 0 -12px;top:0;left:0;margin:0}@media(max-width: 480px){.tf-v1-sidetab{transition:unset}.tf-v1-sidetab.ready{transition:unset}.tf-v1-sidetab.open{top:0;left:0;right:0;bottom:0;transform:translate(0, 0);width:100% !important;height:100% !important}.tf-v1-sidetab-close{display:block;padding:0;margin:0;position:absolute;font-size:32px;font-weight:normal;line-height:24px;width:24px;height:24px;text-align:center;text-transform:none;cursor:pointer;opacity:.75;transition:opacity .25s ease-in-out;text-decoration:none;color:#000;top:6px;right:8px;background:none;border:none;border-radius:0}.tf-v1-sidetab-close:hover{opacity:1}.tf-v1-sidetab-close{display:block;z-index:1}}@media(max-width: 480px)and (min-width: 481px){.tf-v1-sidetab-close{color:#fff !important}}\"},240:function(e,t,n){\"use strict\";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(193),t),r(n(390),t),r(n(558),t)},390:function(e,t,n){\"use strict\";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)\"default\"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&o(t,e,n);return r(t,e),t},a=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.makeInitializerComponent=void 0;var c=i(n(155)),s=n(517),u=n(93);t.makeInitializerComponent=function(e,t){return function(n){var o=n.id,r=n.embedRef,i=a(n,[\"id\",\"embedRef\"]),l=(0,c.useRef)(s.genericEmbed),d=r||l;return(0,c.useEffect)(function(){return d.current=e(o,i),function(){var e;null===(e=d.current)||void 0===e||e.unmount()}},[o,i,d]),c.default.createElement(u.InlineStyle,{filename:t})}}},517:function(e,t,n){\"use strict\";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(804),t),r(n(161),t)},558:function(e,t,n){\"use strict\";var o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)},r=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)\"default\"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},c=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Widget=void 0;var s=a(n(155)),u=n(952),l=n(93);t.Widget=function(e){var t=e.id,n=e.style,r=void 0===n?{}:n,i=e.className,a=void 0===i?\"\":i,d=c(e,[\"id\",\"style\",\"className\"]),f=(0,s.useRef)(null);return(0,s.useEffect)(function(){if(f.current){var e=(0,u.createWidget)(t,o(o({},d),{container:f.current}));return function(){e.unmount()}}},[t,d]),s.default.createElement(s.default.Fragment,null,s.default.createElement(l.InlineStyle,{filename:\"widget\"}),s.default.createElement(\"div\",{style:r,className:a,ref:f}))}},663:function(e,t,n){var o={\"./popover.css\":842,\"./popup.css\":123,\"./sidetab.css\":231,\"./slider.css\":806,\"./widget.css\":9};function r(e){var t=i(e);return n(t)}function i(e){if(!n.o(o,e)){var t=new Error(\"Cannot find module '\"+e+\"'\");throw t.code=\"MODULE_NOT_FOUND\",t}return o[e]}r.keys=function(){return Object.keys(o)},r.resolve=i,e.exports=r,r.id=663},792:function(e){\"use strict\";e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&\"object\"==typeof t&&\"object\"==typeof n){if(t.constructor!==n.constructor)return!1;var o,r,i;if(Array.isArray(t)){if((o=t.length)!=n.length)return!1;for(r=o;0!==r--;)if(!e(t[r],n[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((o=(i=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(r=o;0!==r--;)if(!Object.prototype.hasOwnProperty.call(n,i[r]))return!1;for(r=o;0!==r--;){var a=i[r];if(!e(t[a],n[a]))return!1}return!0}return t!=t&&n!=n}},804:function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.genericEmbed=void 0,t.genericEmbed={unmount:function(){},open:function(){}}},806:function(e,t,n){\"use strict\";n.r(t),t.default=\"@keyframes spin{to{transform:rotate(360deg)}}.tf-v1-slider{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);transition:opacity .25s ease-in-out;z-index:10001}.tf-v1-slider .tf-v1-iframe-wrapper{max-width:calc(100vw - 26px);height:100%;position:absolute;top:0;transition:right .5s ease-in-out,left .5s ease-in-out}.tf-v1-slider .tf-v1-iframe-wrapper iframe{width:100%;height:100%;border:none;overflow:hidden;border-radius:0}@media(min-width: 481px){.tf-v1-slider .tf-v1-iframe-wrapper iframe{border-radius:8px 0 0 8px}}.tf-v1-slider .tf-v1-close{display:block;padding:0;margin:0;position:absolute;font-size:32px;font-weight:normal;line-height:24px;width:24px;height:24px;text-align:center;text-transform:none;cursor:pointer;opacity:.75;transition:opacity .25s ease-in-out;text-decoration:none;color:#000;top:6px;right:8px;background:none;border:none;border-radius:0}.tf-v1-slider .tf-v1-close:hover{opacity:1}@media(min-width: 481px){.tf-v1-slider .tf-v1-close{color:#fff !important}}@media(min-width: 481px){.tf-v1-slider .tf-v1-close{top:4px;left:-26px}}.tf-v1-slider .tf-v1-close:hover{opacity:1}.tf-v1-slider .tf-v1-spinner{border:3px solid #aaa;font-size:40px;width:1em;height:1em;border-radius:.5em;box-sizing:border-box;animation:spin 1s linear infinite;border-top-color:#fff;position:absolute;top:50%;left:50%;margin:-20px 0 0 -20px}@media(min-width: 481px){.tf-v1-slider.left .tf-v1-iframe-wrapper iframe{border-radius:0 8px 8px 0}.tf-v1-slider.left .tf-v1-close{left:auto;right:-24px}}@media(max-width: 480px){.tf-v1-slider{width:100% !important;height:100% !important}.tf-v1-slider .tf-v1-iframe-wrapper{width:100% !important;max-width:100vw;height:100%;transition:unset}.tf-v1-slider .tf-v1-iframe-wrapper iframe{border-radius:none}.tf-v1-slider .tf-v1-close{display:block;padding:0;margin:0;position:absolute;font-size:32px;font-weight:normal;line-height:24px;width:24px;height:24px;text-align:center;text-transform:none;cursor:pointer;opacity:.75;transition:opacity .25s ease-in-out;text-decoration:none;color:#000;top:6px;right:8px;background:none;border:none;border-radius:0}.tf-v1-slider .tf-v1-close:hover{opacity:1}.tf-v1-slider .tf-v1-close{left:auto}}@media(max-width: 480px)and (min-width: 481px){.tf-v1-slider .tf-v1-close{color:#fff !important}}\"},842:function(e,t,n){\"use strict\";n.r(t),t.default='@keyframes spin{to{transform:rotate(360deg)}}.tf-v1-popover{bottom:96px;position:fixed;right:16px;z-index:10001}.tf-v1-popover.open{max-width:100%;min-height:360px;min-width:360px}.tf-v1-popover-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%;opacity:0;transition:opacity .25s ease-in-out;border-radius:4px;box-shadow:rgba(0,0,0,.08) 0 2px 4px,rgba(0,0,0,.06) 0 2px 12px}.tf-v1-popover-wrapper iframe{width:100%;height:100%;border:none;overflow:hidden;border-radius:8px}.tf-v1-popover-close{display:none}.tf-v1-popover-button{width:54px;height:54px;position:fixed;box-shadow:0 2px 12px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.08);color:#fff;right:26px;bottom:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#3a7685;line-height:0;border:none;padding:0}.tf-v1-popover-button-icon{width:54px;height:54px;font-size:24px;border-radius:50%;overflow:hidden;display:flex;justify-content:center;align-items:center}.tf-v1-popover-button-icon svg.default{margin-top:6px}.tf-v1-popover-button-icon svg,.tf-v1-popover-button-icon img{max-width:54px;max-height:54px}.tf-v1-popover-button-icon img{width:100%;height:100%;object-fit:cover;border-radius:50%}.tf-v1-popover-tooltip{position:fixed;right:94px;bottom:33px;max-width:240px;padding:10px 25px 10px 10px;border-radius:8px;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.08),0 2px 12px rgba(0,0,0,.06);font-size:14px;font-family:Helvetica,Arial,sans-serif;line-height:22px}.tf-v1-popover-tooltip::before{background-color:#fff;content:\"\";display:block;width:12px;height:12px;position:absolute;right:-4px;bottom:15px;transform:rotate(45deg);box-shadow:2px -2px 2px 0 rgba(0,0,0,.06)}.tf-v1-popover-tooltip-text{overflow:hidden}.tf-v1-popover-tooltip-close{cursor:pointer;margin-left:4px;display:inline-block;text-align:center;position:absolute;top:12px;right:6px}.tf-v1-popover-tooltip-close svg{width:20px;height:20px}.tf-v1-popover-tooltip-close svg path{fill:rgba(0,0,0,.2);transition:fill 150ms ease-in-out}.tf-v1-popover-tooltip-close:hover svg path{fill:rgba(0,0,0,.3)}.tf-v1-popover-tooltip.closing{transition:opacity .25s ease-in-out;opacity:0}.tf-v1-popover-unread-dot{width:8px;height:8px;border-radius:50%;background-color:#fa6b05;border:2px solid #fff;position:absolute;top:2px;right:2px}.tf-v1-popover-unread-dot.closing{transition:opacity .25s ease-in-out;opacity:0}.tf-v1-spinner{border:3px solid #aaa;font-size:40px;width:1em;height:1em;border-radius:.5em;box-sizing:border-box;animation:spin 1s linear infinite;border-top-color:#fff;position:absolute;top:50%;left:50%;margin:-20px 0 0 -20px}@media(max-width: 480px){.tf-v1-popover.open{top:0;left:0;bottom:0;right:0;width:100% !important;height:100% !important}.tf-v1-popover.open .tf-v1-popover-close{display:block}.tf-v1-popover-wrapper{border-radius:0;box-shadow:none}.tf-v1-popover-wrapper iframe{border-radius:0}.tf-v1-popover-close{display:block;padding:0;margin:0;position:absolute;font-size:32px;font-weight:normal;line-height:24px;width:24px;height:24px;text-align:center;text-transform:none;cursor:pointer;opacity:.75;transition:opacity .25s ease-in-out;text-decoration:none;color:#000;top:6px;right:8px;background:none;border:none;border-radius:0}.tf-v1-popover-close:hover{opacity:1}.tf-v1-popover-close{display:none;z-index:1}}@media(max-width: 480px)and (min-width: 481px){.tf-v1-popover-close{color:#fff !important}}@media(max-width: 480px){.tf-v1-popover-button{width:44px;height:44px;right:8px;bottom:8px}.tf-v1-popover-button-icon{font-size:20px}.tf-v1-popover-button-icon svg{margin-top:4px;max-height:24px;max-width:24px}.tf-v1-popover-button-icon img{max-width:44px;max-height:44px}.tf-v1-popover-tooltip{position:fixed;right:66px;bottom:8px;left:auto;font-size:12px}.tf-v1-popover-tooltip::before{bottom:14px}.tf-v1-popover-unread-dot{top:0;right:0}.tf-v1-spinner{border:3px solid #aaa;font-size:32px;width:1em;height:1em;border-radius:.5em;box-sizing:border-box;animation:spin 1s linear infinite;border-top-color:#fff;position:absolute;top:50%;left:50%;margin:-16px 0 0 -16px}}'},952:function(e){e.exports=function(){\"use strict\";var e={19:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},249:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},352:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.setAutoClose=t.DEFAULT_AUTO_CLOSE_TIME=void 0;var o=n(476);t.DEFAULT_AUTO_CLOSE_TIME=500,t.setAutoClose=function(e,n,r){n&&r&&window.addEventListener(\"message\",(0,o.getFormSubmitHandler)(e,function(){return setTimeout(r,(o=\"number\"==typeof(e=n)?e:0,Math.max(o,t.DEFAULT_AUTO_CLOSE_TIME)));var e,o}))}},476:function(e,t,n){var o=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.getRedirectHandler=t.getThankYouScreenButtonClickHandler=t.getFormThemeHandler=t.getWelcomeScreenHiddenHandler=t.getDuplicateDetectedHandler=t.getFormSubmitHandler=t.getFormHeightChangedHandler=t.getFormQuestionChangedHandler=t.getFormStartedHandler=t.getFormReadyHandler=void 0;var r=n(1407);t.getFormReadyHandler=function(e,t){return a(\"form-ready\",e,t)},t.getFormStartedHandler=function(e,t){return a(\"form-started\",e,t)},t.getFormQuestionChangedHandler=function(e,t){return a(\"form-screen-changed\",e,t)},t.getFormHeightChangedHandler=function(e,t){return a(\"form-height-changed\",e,t)},t.getFormSubmitHandler=function(e,t){return a(\"form-submit\",e,t)},t.getDuplicateDetectedHandler=function(e,t){return a(\"duplicate-detected\",e,t)},t.getWelcomeScreenHiddenHandler=function(e,t){return a(\"welcome-screen-hidden\",e,t)},t.getFormThemeHandler=function(e,t){return a(\"form-theme\",e,t)},t.getThankYouScreenButtonClickHandler=function(e,t){return a(\"thank-you-screen-button-click\",e,t)},t.getRedirectHandler=function(e,t){return a([\"redirect-after-submit\",\"thank-you-screen-redirect\"],e,(0,r.handleFormRedirect)(t))};var i=function(e,t){return Array.isArray(e)?e.includes(t):e===t};function a(e,t,n){return function(r){var a=r.data,c=a.type,s=a.embedId,u=o(a,[\"type\",\"embedId\"]);i(e,c)&&s===t&&(null==n||n(u))}}},883:function(e,t){var n=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))(function(r,i){function a(e){try{s(o.next(e))}catch(e){i(e)}}function c(e){try{s(o.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,c)}s((o=o.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(s){return function(c){if(n)throw new TypeError(\"Generator is already executing.\");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(n=1,o&&(r=2&c[0]?o.return:c[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,c[1])).done)return r;switch(o=0,r&&(c=[2&c[0],r.value]),c[0]){case 0:case 1:r=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,o=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!((r=(r=a.trys).length>0&&r[r.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!r||c[1]>r[0]&&c[1]<r[3])){a.label=c[1];break}if(6===c[0]&&a.label<r[1]){a.label=r[1],r=c;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(c);break}r[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],o=0}finally{n=r=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,s])}}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.dispatchCustomKeyEventFromIframe=t.removeCustomKeyboardListener=t.addCustomKeyboardListener=void 0;var r=\"Escape\",i=function(e,i){return n(void 0,void 0,void 0,function(){return o(this,function(n){return e.code===r&&\"function\"==typeof i&&(i(),(0,t.removeCustomKeyboardListener)()),[2]})})};t.addCustomKeyboardListener=function(e){return window.document.addEventListener(\"keydown\",function(t){return i(t,e)})},t.removeCustomKeyboardListener=function(){return window.document.removeEventListener(\"keydown\",i)},t.dispatchCustomKeyEventFromIframe=function(e){\"form-close\"===e.data.type&&window.document.dispatchEvent(new KeyboardEvent(\"keydown\",{code:r}))}},1179:function(e,t,n){var o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)},r=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.createPopover=void 0;var i=n(6517),a=n(6530),c=function(e,t){var n=e.parentNode;n&&(n.removeChild(e),n.appendChild(t))},s=function(e,t){void 0===e&&(e=\"span\"),void 0===t&&(t=\"tf-v1-popover-button-icon\");var n=document.createElement(e);return n.className=\"\".concat(t,\" tf-v1-close-icon\"),n.innerHTML=i.closeIconSvg,n.dataset.testid=t,n},u={buttonColor:\"#3a7685\"};t.createPopover=function(e,t){void 0===t&&(t={});var n,l,d,f=o(o({},u),t),p=f.domain,v=r(f,[\"domain\"]),m=(0,i.createIframe)(\"popover\",{formId:e,domain:p,options:v}),h=m.iframe,b=m.embedId,g=m.refresh,y=m.focus,w=function(e,t){var n=document.createElement(\"div\");return n.className=\"tf-v1-popover\",n.dataset.testid=\"tf-v1-popover\",(0,i.setElementSize)(n,{width:e,height:t})}(v.width,v.height),x=function(){var e=document.createElement(\"div\");return e.className=\"tf-v1-popover-wrapper\",e.dataset.testid=\"tf-v1-popover-wrapper\",e}(),_=function(e,t){var n=(0,i.getTextColor)(t),o=document.createElement(\"div\");o.className=\"tf-v1-popover-button-icon\";var r=(0,i.triggerIconSvg)(n),a=null==e?void 0:e.startsWith(\"http\");return o.innerHTML=a?\"<img alt='popover trigger icon button' src='\".concat(e,\"'/>\"):null!=e?e:r,o.dataset.testid=\"default-icon\",o}(v.customIcon,v.buttonColor||u.buttonColor),O=function(){var e=document.createElement(\"div\");e.className=\"tf-v1-spinner\";var t=document.createElement(\"div\");return t.className=\"tf-v1-popover-button-icon\",t.dataset.testid=\"spinner-icon\",t.append(e),t}(),E=s(),P=s(\"button\",\"tf-v1-popover-close\"),j=function(e,t){void 0===t&&(t={});var n=(0,i.getTextColor)(e),o=document.createElement(\"button\");return o.className=\"tf-v1-popover-button\",o.dataset.testid=\"tf-v1-popover-button\",o.style.backgroundColor=e,o.style.color=n,(0,i.addAttributesToElement)(o,t),o}(v.buttonColor||u.buttonColor,v.buttonProps);(v.container||document.body).append(w),x.append(h),w.append(j),w.append(P),j.append(_);var S=function(){l&&l.parentNode&&(l.classList.add(\"closing\"),setTimeout(function(){(0,i.unmountElement)(l)},250))};v.tooltip&&v.tooltip.length>0&&(l=function(e,t){var n=document.createElement(\"span\");n.className=\"tf-v1-popover-tooltip-close\",n.dataset.testid=\"tf-v1-popover-tooltip-close\",n.innerHTML=i.closeIconSvg,n.onclick=t;var o=document.createElement(\"div\");o.className=\"tf-v1-popover-tooltip-text\",o.innerHTML=e;var r=document.createElement(\"div\");return r.className=\"tf-v1-popover-tooltip\",r.dataset.testid=\"tf-v1-popover-tooltip\",r.appendChild(o),r.appendChild(n),r}(v.tooltip,S),w.append(l)),v.notificationDays&&(v.enableSandbox||(0,a.canBuildNotificationDot)(e))&&(d=(0,a.buildNotificationDot)(),j.append(d)),h.onload=function(e){(null==e?void 0:e.isTrusted)&&(w.classList.add(\"open\"),x.style.opacity=\"1\",P.style.opacity=\"1\",c(O,E),(0,i.addCustomKeyboardListener)(T))};var I=function(){(0,i.isOpen)(x)||(S(),d&&(d.classList.add(\"closing\"),v.notificationDays&&!v.enableSandbox&&(0,a.saveNotificationDotHideUntilTime)(e,v.notificationDays),setTimeout(function(){(0,i.unmountElement)(d)},250)),setTimeout(function(){(0,i.isInPage)(x)?(x.style.opacity=\"0\",P.style.opacity=\"0\",x.style.display=\"flex\",setTimeout(function(){w.classList.add(\"open\"),x.style.opacity=\"1\",P.style.opacity=\"1\"}),c(_,E)):(w.append(x),c(_,O),x.style.opacity=\"0\",P.style.opacity=\"0\")}))},T=function(){var n;(0,i.isOpen)(w)&&((0,i.handlePreventReopenOnClose)(v,e),null===(n=t.onClose)||void 0===n||n.call(t),setTimeout(function(){v.keepSession?x.style.display=\"none\":(0,i.unmountElement)(x),w.classList.remove(\"open\"),c(E,_)},250))};(0,i.setAutoClose)(b,v.autoClose,T);var M=function(){(0,i.isOpen)(x)?T():I()};return j.onclick=(0,i.invokeWithoutDefault)(M),P.onclick=(0,i.invokeWithoutDefault)(T),v.open&&!(0,i.isOpen)(x)&&(n=(0,i.handleCustomOpen)(I,v,e)),{open:I,close:T,toggle:M,refresh:g,focus:y,unmount:function(){(0,i.unmountElement)(w),v.open&&(null==n?void 0:n.remove)&&n.remove()}}}},1403:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.getTextColor=void 0;var o=n(6546);t.getTextColor=function(e){if(!e)return\"#FFFFFF\";var t=e.startsWith(\"#\")?(0,o.hexRgb)(e):function(e){var t={red:0,green:0,blue:0},n=e.match(/\\d+/g);return n&&(t.red=parseInt(n[0],10),t.green=parseInt(n[0],10),t.blue=parseInt(n[0],10)),t}(e),n=t.red,r=t.green,i=t.blue;return Math.round((299*n+587*r+114*i)/1e3)>150?\"#000000\":\"#FFFFFF\"}},1407:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.handleFormRedirect=void 0,t.handleFormRedirect=function(e){return function(t){var n,o,r=t.url,i=t.target;if(r)switch(void 0===i?\"_parent\":i){case\"_self\":e.src=(n=e.src,(o=r).includes(\"#\")&&o.startsWith(\"\".concat(n,\"#\"))?o.includes(\"?\")?o.replace(\"#\",\"&tf-embed-ts=\".concat(Date.now(),\"#\")):o.replace(\"#\",\"?tf-embed-ts=\".concat(Date.now(),\"#\")):o);break;case\"_blank\":window.open(r,\"_blank\");break;case\"_top\":var a=document.createElement(\"a\");a.href=r,a.target=\"_top\",document.body.appendChild(a),a.click(),document.body.removeChild(a);break;default:window.location.href=r}else console.error(\"Redirect failed, no URL provided\")}}},1706:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.lazyInitialize=void 0,t.lazyInitialize=function(e,t){var n=new IntersectionObserver(function(e){e.forEach(function(e){e.isIntersecting&&(t(),n.unobserve(e.target))})});n.observe(e)}},1915:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(3869),t),r(n(8885),t)},1947:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.refreshIframe=void 0,t.refreshIframe=function(e){if(e){var t=e.src;if(t.includes(\"&refresh\")){var n=t.split(\"&refresh#\");e.src=n.join(\"#\")}else(n=t.split(\"#\"))[0]=\"\".concat(n[0],\"&refresh\"),e.src=n.join(\"#\")}}},2114:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.sleep=void 0,t.sleep=function(e){return new Promise(function(t){return setTimeout(t,e)})}},2466:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.WIDGET_ATTRIBUTE=t.SLIDER_WIDTH=t.SLIDER_POSITION=t.SLIDER_ATTRIBUTE=t.SIDETAB_ATTRIBUTE=t.POPUP_SIZE=t.POPUP_ATTRIBUTE=t.POPOVER_ATTRIBUTE=t.LIVE_EMBED_DATA_REGION_EU=t.LIVE_EMBED_DATA_REGION_ATTRIBUTE=t.LIVE_EMBED_ATTRIBUTE=t.DEFAULT_EU_DOMAIN=t.DEFAULT_DOMAIN=void 0,t.DEFAULT_DOMAIN=\"form.typeform.com\",t.DEFAULT_EU_DOMAIN=\"form.typeform.eu\",t.LIVE_EMBED_ATTRIBUTE=\"data-tf-live\",t.LIVE_EMBED_DATA_REGION_ATTRIBUTE=\"data-tf-region\",t.LIVE_EMBED_DATA_REGION_EU=\"eu\",t.POPOVER_ATTRIBUTE=\"data-tf-popover\",t.POPUP_ATTRIBUTE=\"data-tf-popup\",t.POPUP_SIZE=100,t.SIDETAB_ATTRIBUTE=\"data-tf-sidetab\",t.SLIDER_ATTRIBUTE=\"data-tf-slider\",t.SLIDER_POSITION=\"right\",t.SLIDER_WIDTH=800,t.WIDGET_ATTRIBUTE=\"data-tf-widget\"},2588:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.overrideFullScreenStyles=void 0,t.overrideFullScreenStyles=function(e,t){Object.assign(e.style,{zIndex:\"10001\",position:\"absolute\",top:\"0\",left:\"0\",width:\"100%\",height:\"100%\"}),t.style.borderRadius=\"0\",Object.assign(document.body.style,{overflow:\"hidden\"})}},2689:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.isDefined=void 0,t.isDefined=function(e){return null!=e}},3106:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.handleCustomOpen=t.handlePreventReopenOnClose=void 0;var n={remove:function(){}};t.handlePreventReopenOnClose=function(e,t){e.preventReopenOnClose&&r(t)},t.handleCustomOpen=function(e,t,r){var i=t.open,a=t.openValue,c=t.preventReopenOnClose,s=function(e,t,n,r){return function(){var i,a;if(!(r&&o(t)||\"all\"===n&&(a=document.querySelector(\".tf-v1-popup, .tf-v1-slider, .tf-v1-popover-wrapper, .tf-v1-sidetab-wrapper\"),(null==a?void 0:a.offsetHeight)||(null==a?void 0:a.offsetWidth)||(null===(i=null==a?void 0:a.getClientRects())||void 0===i?void 0:i.length))||\"same\"===n&&function(e){var t=document.querySelectorAll(\".tf-v1-popup, .tf-v1-slider, .tf-v1-popover-wrapper, .tf-v1-sidetab-wrapper\");return Array.from(t).some(function(t){var n,o=null===(n=t.querySelector(\"iframe\"))||void 0===n?void 0:n.src;return(null==o?void 0:o.includes(\"typeform.com/to/\".concat(e)))||(null==o?void 0:o.startsWith(e))})}(t)))return e()}}(e,r,t.respectOpenModals,c);switch(i){case\"load\":return s(),n;case\"exit\":return a?function(e,t){var n=0,o=function(r){r.clientY<e&&r.clientY<n?(document.removeEventListener(\"mousemove\",o,!0),t()):n=r.clientY};return document.addEventListener(\"mousemove\",o,!0),{remove:function(){return document.removeEventListener(\"mousemove\",o,!0)}}}(a,s):n;case\"time\":return setTimeout(function(){s()},a),n;case\"scroll\":return a?function(e,t){function n(){var o=window.pageYOffset||document.documentElement.scrollTop,r=document.documentElement.clientTop||0,i=document.documentElement.scrollHeight,a=o-r,c=a/i*100,s=a+window.innerHeight>=i;(c>=e||s)&&(t(),document.removeEventListener(\"scroll\",n))}return document.addEventListener(\"scroll\",n),{remove:function(){return document.removeEventListener(\"scroll\",n)}}}(a,s):n;default:return n}};var o=function(e){return document.cookie.includes(\"tf-\".concat(e,\"-closed=true\"))},r=function(e){document.cookie=\"tf-\".concat(e,\"-closed=true;Path=/\")}},3124:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.setElementSize=t.getValueWithUnits=void 0,t.getValueWithUnits=function(e){return\"string\"!=typeof e||e.match(/^[0-9]+$/)?\"\".concat(e,\"px\"):e},t.setElementSize=function(e,n){var o=n.width,r=n.height;return o&&(e.style.width=(0,t.getValueWithUnits)(o)),r&&(e.style.height=(0,t.getValueWithUnits)(r)),e}},3542:function(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))(function(r,i){function a(e){try{s(o.next(e))}catch(e){i(e)}}function c(e){try{s(o.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,c)}s((o=o.apply(e,t||[])).next())})},r=this&&this.__generator||function(e,t){var n,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(s){return function(c){if(n)throw new TypeError(\"Generator is already executing.\");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(n=1,o&&(r=2&c[0]?o.return:c[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,c[1])).done)return r;switch(o=0,r&&(c=[2&c[0],r.value]),c[0]){case 0:case 1:r=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,o=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!((r=(r=a.trys).length>0&&r[r.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!r||c[1]>r[0]&&c[1]<r[3])){a.label=c[1];break}if(6===c[0]&&a.label<r[1]){a.label=r[1],r=c;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(c);break}r[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],o=0}finally{n=r=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,s])}}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.waitForHubspotCookie=t.getHubspotHiddenFields=t.getHubspotCookieValue=void 0;var i=n(2114);t.getHubspotCookieValue=function(){var e=document.cookie.match(new RegExp(\"(^| )\".concat(\"hubspotutk\",\"=([^;]+)\")));return e&&e[2]||void 0},t.getHubspotHiddenFields=function(){return{hubspot_page_name:document.title,hubspot_page_url:window.location.href,hubspot_utk:(0,t.getHubspotCookieValue)()}},t.waitForHubspotCookie=function(){return o(void 0,void 0,void 0,function(){var e,n;return r(this,function(o){switch(o.label){case 0:e=10,n=0,o.label=1;case 1:return!(0,t.getHubspotCookieValue)()&&n<e?[4,(0,i.sleep)(250)]:[3,4];case 2:o.sent(),o.label=3;case 3:return n++,[3,1];case 4:return[2]}})})}},3631:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.buildWidget=void 0;var o=n(6517);t.buildWidget=function(e,t,n){var r=document.createElement(\"div\");return r.className=\"tf-v1-widget\",r.dataset.testid=\"tf-v1-widget\",r.append(e),(0,o.setElementSize)(r,{width:t,height:n})}},3709:function(e,t){var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},n.apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0}),t.getTransitiveSearchParams=void 0,t.getTransitiveSearchParams=function(e){var t=new URL(window.location.href);return\"boolean\"==typeof e&&e?Object.fromEntries(t.searchParams.entries()):Array.isArray(e)&&e.length>0?e.reduce(function(e,o){var r,i=t.searchParams.get(o);return i?n(n({},e),((r={})[o]=i,r)):e},{}):{}}},3869:function(e,t,n){var o=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.createSlider=void 0;var r=n(6517),i=n(2466);t.createSlider=function(e,t){if(void 0===t&&(t={}),!(0,r.hasDom)())return{open:function(){},close:function(){},toggle:function(){},refresh:function(){},focus:function(){},unmount:function(){}};var n,a=t.position,c=void 0===a?i.SLIDER_POSITION:a,s=t.width,u=void 0===s?i.SLIDER_WIDTH:s,l=t.onClose,d=t.domain,f=o(t,[\"position\",\"width\",\"onClose\",\"domain\"]),p=(0,r.createIframe)(\"slider\",{formId:e,domain:d,options:f}),v=p.iframe,m=p.embedId,h=p.refresh,b=p.focus,g=document.body.style.overflow,y=function(e){var t=document.createElement(\"div\");return t.className=\"tf-v1-slider \".concat(e),t.dataset.testid=\"tf-v1-slider\",t.style.opacity=\"0\",t}(c),w=function(){var e=document.createElement(\"div\");return e.className=\"tf-v1-spinner\",e}(),x=function(e,t){var n=document.createElement(\"div\");return n.className=\"tf-v1-iframe-wrapper\",n.style[e]=\"-100%\",(0,r.setElementSize)(n,{width:t})}(c,u);x.append(v),y.append(w),y.append(x);var _=f.container||document.body;v.onload=function(e){(null==e?void 0:e.isTrusted)&&(x.style[c]=\"0\",setTimeout(function(){w.style.display=\"none\"},500),(0,r.addCustomKeyboardListener)(E))};var O=function(){(0,r.isOpen)(y)||((0,r.isInPage)(y)?(y.style.display=\"flex\",setTimeout(function(){x.style[c]=\"0\"})):(_.append(y),w.style.display=\"block\"),document.body.style.overflow=\"hidden\",setTimeout(function(){y.style.opacity=\"1\"}))},E=function(){(0,r.isOpen)(y)&&((0,r.handlePreventReopenOnClose)(f,e),null==l||l(),y.style.opacity=\"0\",x.style[c]=\"-100%\",document.body.style.overflow=g,setTimeout(function(){f.keepSession?y.style.display=\"none\":P()},500))};(0,r.setAutoClose)(m,f.autoClose,E),x.append(function(e){var t=document.createElement(\"button\");return t.className=\"tf-v1-close tf-v1-close-icon\",t.innerHTML=r.closeIconSvg,t.ariaLabel=\"Close\",t.onclick=(0,r.invokeWithoutDefault)(e),t}(E)),f.open&&!(0,r.isOpen)(y)&&(n=(0,r.handleCustomOpen)(O,f,e));var P=function(){(0,r.unmountElement)(y),f.open&&(null==n?void 0:n.remove)&&n.remove()};return{open:O,close:E,toggle:function(){(0,r.isOpen)(y)?E():O()},refresh:h,focus:b,unmount:P}}},4375:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.includeCss=void 0,t.includeCss=function(e){var t=function(e){return\"\".concat(\"https://embed.typeform.com/next/css/\").concat(e)}(e);if(!document.querySelector('link[href=\"'.concat(t,'\"]'))){var n=document.createElement(\"link\");n.rel=\"stylesheet\",n.href=t,document.head.append(n)}}},4424:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.invokeWithoutDefault=void 0,t.invokeWithoutDefault=function(e){return function(t){null==t||t.preventDefault(),e()}}},4471:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.setupGaInstance=t.sendGaIdMessage=void 0,t.sendGaIdMessage=function(e,t,n){var o={embedId:e,gaClientId:t};setTimeout(function(){n&&n.contentWindow&&n.contentWindow.postMessage({type:\"ga-client-id\",data:o},\"*\")},0)};var n=function(e){console.error(e)},o=function(e){n(\"Whoops! You enabled the shareGaInstance feature in your typeform embed but \".concat(e,\".\\n\\n\")+\"Make sure to include Google Analytics Javascript code before the Typeform Embed Javascript code in your page and use correct tracker ID.\\n\\nIt is also possible the Google Analytics was blocked by your adblock plugin.\")};t.setupGaInstance=function(e,r,i){var a=\"string\"==typeof i?i:void 0;if(window.gtag){if(a||(a=function(){if(window.dataLayer){var e=window.dataLayer.find(function(e){return e.length>1&&\"config\"===e[0]});return e&&e[1]}}()),!a)return void o(\"the tracking ID could not be retrieved\");var c=!1;window.gtag(\"get\",a,\"client_id\",function(n){c=!0,(0,t.sendGaIdMessage)(r,n,e)}),setTimeout(function(){c||o(\"the tracker with ID \".concat(a,\" was not found\"))},3e3)}else try{var s=function(e,t){return t?e.find(function(e){return e.get(\"trackingId\")===t}):e[0]}(window.ga.getAll(),a);s?(0,t.sendGaIdMessage)(r,s.get(\"clientId\"),e):o(\"the tracker with ID \".concat(a,\" was not found\"))}catch(e){o(\"the Google Analytics object was not found\"),n(e)}}},4948:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(4989),t),r(n(5981),t)},4976:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.closeIconSvg=void 0,t.closeIconSvg='<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4.293 4.293a1 1 0 0 1 1.414 0L12 10.586l6.293-6.293a1 1 0 1 1 1.414 1.414L13.414 12l6.293 6.293a1 1 0 0 1-1.414 1.414L12 13.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L10.586 12 4.293 5.707a1 1 0 0 1 0-1.414Z\" fill=\"currentColor\"/>\\n</svg>'},4989:function(e,t,n){var o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)},r=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.createSidetab=void 0;var i=n(6517),a={buttonColor:\"#3a7685\",buttonText:\"Launch me\"},c=function(e,t){void 0===e&&(e=\"div\"),void 0===t&&(t=\"tf-v1-sidetab-button-icon\");var n=document.createElement(e);return n.className=\"\".concat(t,\" tf-v1-close-icon\"),n.innerHTML=i.closeIconSvg,n.dataset.testid=t,n},s=function(e,t){var n=e.parentNode;n&&(n.removeChild(e),n.appendChild(t))};t.createSidetab=function(e,t){void 0===t&&(t={});var n,u=o(o({},a),t),l=u.domain,d=r(u,[\"domain\"]),f=(0,i.createIframe)(\"side-tab\",{formId:e,domain:l,options:d}),p=f.iframe,v=f.embedId,m=f.refresh,h=f.focus,b=function(e,t,n,o){var r=document.createElement(\"div\");return r.className=\"tf-v1-sidetab\",r.dataset.testid=\"tf-v1-sidetab\",(0,i.setElementSize)(r,{width:e,height:t}),void 0!==n?(r.style.top=\"calc(\".concat((0,i.getValueWithUnits)(n),\" + \").concat((0,i.getValueWithUnits)(t||580),\" / 2)\"),r.style.bottom=\"auto\"):void 0!==o&&(r.style.top=\"auto\",r.style.bottom=\"calc(\".concat((0,i.getValueWithUnits)(o),\" - \").concat((0,i.getValueWithUnits)(t||580),\" / 2)\")),r}(d.width,d.height,d.top,d.bottom),g=function(){var e=document.createElement(\"div\");return e.className=\"tf-v1-sidetab-wrapper\",e.dataset.testid=\"tf-v1-sidetab-wrapper\",e}(),y=function(){var e=document.createElement(\"div\");e.className=\"tf-v1-spinner\";var t=document.createElement(\"div\");return t.className=\"tf-v1-sidetab-button-icon\",t.dataset.testid=\"spinner-icon\",t.append(e),t}(),w=function(e){var t=e.backgroundColor,n=e.textColor,o=e.width,r=e.height,a=e.align,c=void 0===a?\"center\":a,s=e.buttonProps,u=void 0===s?{}:s,l=document.createElement(\"button\");return l.className=\"tf-v1-sidetab-button\",l.style.backgroundColor=t,l.style.color=n||(0,i.getTextColor)(t),(0,i.addAttributesToElement)(l,u),(0,i.setElementSize)(l,{width:o,height:r}),r&&(l.style.left=\"-\".concat((0,i.getValueWithUnits)(r))),\"top\"===c?(l.style.transform=\"rotate(-90deg) translateX(-100%)\",l.style.top=\"0\"):\"bottom\"===c&&(l.style.transform=\"rotate(-90deg) translateX(0)\",l.style.top=\"auto\",l.style.bottom=\"-\".concat((0,i.getValueWithUnits)(r||48))),l}({backgroundColor:d.buttonColor||a.buttonColor,textColor:d.buttonTextColor,width:d.buttonHeight,height:d.buttonWidth,align:d.buttonAlign,buttonProps:d.buttonProps}),x=function(e,t){var n=document.createElement(\"span\");return n.className=\"tf-v1-sidetab-button-text\",n.innerHTML=e,t&&(n.style.fontSize=(0,i.getValueWithUnits)(t)),n}(d.buttonText||a.buttonText,d.buttonTextSize),_=function(e,t,n,o){var r=n||(0,i.getTextColor)(t),a=document.createElement(\"div\");a.className=\"tf-v1-sidetab-button-icon\",o&&(a.style.width=(0,i.getValueWithUnits)(o),a.style.height=(0,i.getValueWithUnits)(o));var c=(0,i.triggerIconSvg)(r),s=null==e?void 0:e.startsWith(\"http\");return a.innerHTML=s?\"<img alt='popover trigger icon button' src='\".concat(e,\"'/>\"):null!=e?e:c,a.dataset.testid=\"default-icon\",a}(d.customIcon,d.buttonColor||a.buttonColor,d.buttonTextColor,d.buttonTextSize),O=c(),E=c(\"button\",\"tf-v1-sidetab-close\");(d.container||document.body).append(b),g.append(p),b.append(w),b.append(E),w.append(_),w.append(x),setTimeout(function(){b.classList.add(\"ready\")},250),p.onload=function(e){(null==e?void 0:e.isTrusted)&&(b.classList.add(\"open\"),s(y,O),(0,i.addCustomKeyboardListener)(j))};var P=function(){(0,i.isOpen)(g)||((0,i.isInPage)(g)?(g.style.display=\"flex\",b.classList.add(\"open\"),s(_,O)):(b.append(g),s(_,y)))},j=function(){var t;(0,i.isOpen)(g)&&((0,i.handlePreventReopenOnClose)(d,e),null===(t=d.onClose)||void 0===t||t.call(d),b.classList.remove(\"open\"),setTimeout(function(){d.keepSession?g.style.display=\"none\":(0,i.unmountElement)(g),s(O,_)},250))};(0,i.setAutoClose)(v,d.autoClose,j);var S=function(){(0,i.isOpen)(g)?j():P()};return w.onclick=(0,i.invokeWithoutDefault)(S),E.onclick=(0,i.invokeWithoutDefault)(j),d.open&&!(0,i.isOpen)(g)&&(n=(0,i.handleCustomOpen)(P,d,e)),{open:P,close:j,toggle:S,refresh:m,focus:h,unmount:function(){(0,i.unmountElement)(b),d.open&&(null==n?void 0:n.remove)&&n.remove()}}}},5330:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.isVisible=t.isInPage=t.isOpen=void 0,t.isOpen=function(e){return(0,t.isInPage)(e)&&(0,t.isVisible)(e)},t.isInPage=function(e){return!!e.parentNode},t.isVisible=function(e){return\"none\"!==e.style.display}},5363:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(1179),t),r(n(249),t)},5400:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.triggerIconSvg=void 0,t.triggerIconSvg=function(e){return'<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n <path\\n fill-rule=\"evenodd\"\\n clip-rule=\"evenodd\"\\n d=\"M2.002 5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6.697l-5.748 3.832A1 1 0 0 1 6.002 22v-3h-2a2 2 0 0 1-2-2V5Zm18 0h-16v12h3a1 1 0 0 1 1 1v2.131l4.445-2.963a1 1 0 0 1 .555-.168h7V5Z\"\\n fill='.concat(e,'\\n />\\n <path\\n fill-rule=\"evenodd\"\\n clip-rule=\"evenodd\"\\n d=\"M7.5 12.25a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5Zm4.5 0a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5Zm4.5 0a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5Z\"\\n fill=').concat(e,\"\\n />\\n </svg>\")}},5981:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},6112:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.triggerIframeRedraw=void 0,t.triggerIframeRedraw=function(){this.style.transform=\"translateZ(0)\"}},6257:function(e,t,n){var o=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.createPopup=void 0;var r=n(6517),i=n(2466),a=n(6517);t.createPopup=function(e,t){if(void 0===t&&(t={}),!(0,r.hasDom)())return{open:function(){},close:function(){},toggle:function(){},refresh:function(){},focus:function(){},unmount:function(){}};var n,c=t.width,s=t.height,u=t.size,l=void 0===u?i.POPUP_SIZE:u,d=t.onClose,f=t.domain,p=o(t,[\"width\",\"height\",\"size\",\"onClose\",\"domain\"]),v=(0,r.createIframe)(\"popup\",{formId:e,domain:f,options:p}),m=v.iframe,h=v.embedId,b=v.refresh,g=v.focus,y=document.body.style.overflow,w=function(){var e=document.createElement(\"div\");return e.className=\"tf-v1-popup\",e.dataset.testid=\"tf-v1-popup\",e.style.opacity=\"0\",e}(),x=function(){var e=document.createElement(\"div\");return e.className=\"tf-v1-spinner\",e}(),_=function(e,t,n){var o=document.createElement(\"div\");return o.className=\"tf-v1-iframe-wrapper\",o.style.opacity=\"0\",(0,r.isDefined)(e)&&(0,r.isDefined)(t)?(0,r.setElementSize)(o,{width:e,height:t}):(o.style.width=\"calc(\".concat(n,\"% - 80px)\"),o.style.height=\"calc(\".concat(n,\"% - 80px)\"),o)}(c,s,l);_.append(m),w.append(x),w.append(_);var O=p.container||document.body;m.onload=function(e){(null==e?void 0:e.isTrusted)&&(_.style.opacity=\"1\",setTimeout(function(){x.style.display=\"none\"},250),(0,r.addCustomKeyboardListener)(P))};var E=function(){(0,a.isOpen)(w)||((0,a.isInPage)(w)?w.style.display=\"flex\":(x.style.display=\"block\",O.append(w)),document.body.style.overflow=\"hidden\",setTimeout(function(){w.style.opacity=\"1\"}))},P=function(){(0,a.isOpen)(w)&&((0,r.handlePreventReopenOnClose)(p,e),null==d||d(),w.style.opacity=\"0\",document.body.style.overflow=y,setTimeout(function(){p.keepSession?w.style.display=\"none\":j()},250))};_.append(function(e){var t=document.createElement(\"button\");return t.className=\"tf-v1-close tf-v1-close-icon\",t.innerHTML=r.closeIconSvg,t.ariaLabel=\"Close\",t.onclick=(0,r.invokeWithoutDefault)(e),t}(P)),(0,r.setAutoClose)(h,p.autoClose,P),p.open&&!(0,a.isOpen)(w)&&(n=(0,r.handleCustomOpen)(E,p,e));var j=function(){(0,r.unmountElement)(w),p.open&&(null==n?void 0:n.remove)&&n.remove()};return{open:E,close:P,toggle:function(){(0,a.isOpen)(w)?P():E()},refresh:b,focus:g,unmount:j}}},6419:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.changeColorOpacity=void 0,t.changeColorOpacity=function(e,t){return void 0===e&&(e=\"\"),void 0===t&&(t=255),e.startsWith(\"rgba(\")?null==e?void 0:e.replace(/, [\\d.]+\\)$/,\", \".concat(t,\")\")):e}},6517:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(7177),t),r(n(7677),t),r(n(9188),t),r(n(4375),t),r(n(2689),t),r(n(7917),t),r(n(8235),t),r(n(7853),t),r(n(3124),t),r(n(9556),t),r(n(3106),t),r(n(352),t),r(n(4471),t),r(n(1403),t),r(n(1706),t),r(n(5330),t),r(n(6419),t),r(n(3542),t),r(n(4424),t),r(n(9723),t),r(n(4976),t),r(n(5400),t)},6530:function(e,t){var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},n.apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0}),t.buildNotificationDot=t.canBuildNotificationDot=t.saveNotificationDotHideUntilTime=void 0;var o=\"tfNotificationData\",r=function(){var e=localStorage.getItem(o);return e?JSON.parse(e):{}},i=function(e){e&&localStorage.setItem(o,JSON.stringify(e))};t.saveNotificationDotHideUntilTime=function(e,t){var o,a=new Date;a.setDate(a.getDate()+t),i(n(n({},r()),((o={})[e]={hideUntilTime:a.getTime()},o)))},t.canBuildNotificationDot=function(e){var t=function(e){var t;return(null===(t=r()[e])||void 0===t?void 0:t.hideUntilTime)||0}(e);return(new Date).getTime()>t&&(t&&function(e){var t=r();delete t[e],i(t)}(e),!0)},t.buildNotificationDot=function(){var e=document.createElement(\"span\");return e.className=\"tf-v1-popover-unread-dot\",e.dataset.testid=\"tf-v1-popover-unread-dot\",e}},6546:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.hexRgb=void 0;var n=\"a-f\\\\d\",o=\"#?[\".concat(n,\"]{3}[\").concat(n,\"]?\"),r=\"#?[\".concat(n,\"]{6}([\").concat(n,\"]{2})?\"),i=new RegExp(\"[^#\".concat(n,\"]\"),\"gi\"),a=new RegExp(\"^\".concat(o,\"$|^\").concat(r,\"$\"),\"i\");t.hexRgb=function(e){if(\"string\"!=typeof e||i.test(e)||!a.test(e))throw new TypeError(\"Expected a valid hex string\");8===(e=e.replace(/^#/,\"\")).length&&(e=e.slice(0,6)),4===e.length&&(e=e.slice(0,3)),3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);var t=Number.parseInt(e,16);return{red:t>>16,green:t>>8&255,blue:255&t}}},6932:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(6257),t),r(n(8625),t)},7121:function(e,t,n){var o=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n},r=this&&this.__read||function(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a};Object.defineProperty(t,\"__esModule\",{value:!0}),t.createWidget=void 0;var i=n(6517),a=n(476),c=n(9586),s=n(2588);t.createWidget=function(e,t){if(!(0,i.hasDom)())return{refresh:function(){},focus:function(){},unmount:function(){}};var n=t.domain,u=o(t,[\"domain\"]);u.inlineOnMobile=t.inlineOnMobile||t.fullScreen;var l=document.body.style.overflow;u.inlineOnMobile||!u.forceTouch&&!(0,i.isFullscreen)()||(u.displayAsFullScreenModal=!0,u.forceTouch=!0,u.autoResize=!1);var d=(0,i.createIframe)(\"widget\",{formId:e,domain:n,options:u}),f=d.embedId,p=d.iframe,v=d.refresh,m=d.focus,h=(0,c.buildWidget)(p,u.width,u.height);if(u.fullScreen&&(0,s.overrideFullScreenStyles)(t.container,p),u.autoResize){var b=r(\"string\"==typeof u.autoResize?u.autoResize.split(\",\").map(function(e){return parseInt(e)}):[],2),g=b[0],y=b[1];window.addEventListener(\"message\",(0,a.getFormHeightChangedHandler)(f,function(e){var n=Math.max(e.height,g||0);y&&(n=Math.min(n,y)),t.container.style.height=\"\".concat(n,\"px\")}))}u.autoFocus&&window.addEventListener(\"message\",(0,a.getFormReadyHandler)(f,function(){setTimeout(function(){m()},1e3)}));var w,x=function(){return t.container.append(h)};if(t.container.innerHTML=\"\",t.lazy?(0,i.lazyInitialize)(t.container,x):x(),u.displayAsFullScreenModal){var _=\"\",O=t.container,E=O.style.height;window.addEventListener(\"message\",(0,a.getWelcomeScreenHiddenHandler)(f,function(){O.classList.add(\"tf-v1-widget-fullscreen\"),void 0!==t.opacity&&(O.style.backgroundColor=_)})),window.addEventListener(\"message\",(0,a.getFormThemeHandler)(f,function(e){var t;_=(0,i.changeColorOpacity)(null===(t=null==e?void 0:e.theme)||void 0===t?void 0:t.backgroundColor)}));var P=((w=document.createElement(\"button\")).className=\"tf-v1-widget-close tf-v1-close-icon\",w.innerHTML=\"×\",w.ariaLabel=\"Close\",w);P.onclick=(0,i.invokeWithoutDefault)(function(){var e;if(O.style.height=E,null===(e=t.onClose)||void 0===e||e.call(t),O.classList.remove(\"tf-v1-widget-fullscreen\"),O.style.backgroundColor=\"\",u.fullScreen&&(document.body.style.overflow=l),t.keepSession){var n=document.createElement(\"div\");n.className=\"tf-v1-widget-iframe-overlay\",n.onclick=function(){O.classList.add(\"tf-v1-widget-fullscreen\"),(0,i.unmountElement)(n)},h.append(n)}else t.container.innerHTML=\"\",x(),O.append(P)}),O.append(P)}return{refresh:v,focus:m,unmount:function(){(0,i.unmountElement)(h)}}}},7177:function(e,t,n){var o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)},r=this&&this.__read||function(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a};Object.defineProperty(t,\"__esModule\",{value:!0}),t.buildIframeSrc=void 0;var i=n(2466),a=n(7853),c=n(2689),s=n(3709),u=n(3542),l={widget:\"embed-widget\",popup:\"popup-blank\",slider:\"popup-drawer\",popover:\"popup-popover\",\"side-tab\":\"popup-side-panel\"};t.buildIframeSrc=function(e){var t=e.domain,n=e.formId,d=e.type,f=e.embedId,p=e.options,v=function(e,t,n){var r=n.transitiveSearchParams,i=n.source,a=n.medium,c=n.mediumVersion,u=n.hideFooter,d=n.hideHeaders,f=n.opacity,p=n.disableTracking,v=n.enableSandbox,m=n.shareGaInstance,h=n.forceTouch,b=n.displayAsFullScreenModal,g=n.tracking,y=n.redirectTarget,w=n.autoResize,x=n.disableScroll,_=n.onEndingButtonClick,O=n.noHeading,E=n.noScrollbars,P=(0,s.getTransitiveSearchParams)(r);return o(o(o({},{\"typeform-embed-id\":t,\"typeform-embed\":l[e],\"typeform-source\":i,\"typeform-medium\":a,\"typeform-medium-version\":c,\"embed-hide-footer\":u?\"true\":void 0,\"embed-hide-headers\":d?\"true\":void 0,\"embed-opacity\":f,\"disable-tracking\":p||v?\"true\":void 0,\"enable-sandbox\":v?\"true\":void 0,\"share-ga-instance\":m?\"true\":void 0,\"force-touch\":h?\"true\":void 0,\"add-placeholder-ws\":\"widget\"===e&&b?\"true\":void 0,\"typeform-embed-redirect-target\":y,\"typeform-embed-handles-redirect\":1,\"typeform-embed-auto-resize\":w?\"true\":void 0,\"typeform-embed-disable-scroll\":x?\"true\":void 0,\"typeform-embed-handle-ending-button-click\":_?\"true\":void 0,\"typeform-embed-no-heading\":O?\"true\":void 0,\"typeform-embed-no-scrollbars\":E?\"true\":void 0}),P),g)}(d,f,function(e){return e.noHeading||(e.noHeading=document.querySelectorAll(\"h1\").length>0),o(o({},{source:null===(t=null===window||void 0===window?void 0:window.location)||void 0===t?void 0:t.hostname.replace(/^www\\./,\"\"),medium:\"embed-sdk\",mediumVersion:\"next\"}),(0,a.removeUndefinedKeys)(e));var t}(p)),m=function(e,t,n){if(void 0===t&&(t=i.DEFAULT_DOMAIN),e.startsWith(\"http://\")||e.startsWith(\"https://\"))return new URL(e);var o=t!==i.DEFAULT_DOMAIN?t:function(e){return\"eu\"===e?i.DEFAULT_EU_DOMAIN:i.DEFAULT_DOMAIN}(n);return new URL(\"https://\".concat(o,\"/to/\").concat(e))}(n,t,null==p?void 0:p.region);if(Object.entries(v).filter(function(e){var t=r(e,2)[1];return(0,c.isDefined)(t)}).forEach(function(e){var t=r(e,2),n=t[0],o=t[1];m.searchParams.set(n,o)}),p.hubspot){var h=(0,u.getHubspotHiddenFields)();p.hidden=o(o({},p.hidden),h)}return m.hash=function(e,t){var n=new URLSearchParams;t.hidden&&Object.entries(t.hidden).filter(function(e){var t=r(e,2)[1];return(0,c.isDefined)(t)&&\"\"!==t}).forEach(function(o){var i=r(o,2),a=i[0],c=i[1];\"boolean\"==typeof t.transitiveSearchParams&&e.searchParams.delete(a),n.set(a,c)});var o=function(e){if(!e)return null;var t=Object.keys(e).at(0),n=t&&e[t]||void 0;return void 0===t||void 0===n?null:{key:\"answers-\".concat(t),value:n}}(t.preselect);if(o){var i=o.key,a=o.value;n.set(i,a)}return n.toString()}(m,p),m.href}},7677:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(9310),t),r(n(883),t)},7783:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(5363),t),r(n(6932),t),r(n(1915),t),r(n(9814),t),r(n(4948),t)},7853:function(e,t,n){var o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)},r=this&&this.__read||function(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a};Object.defineProperty(t,\"__esModule\",{value:!0}),t.removeUndefinedKeys=void 0;var i=n(2689);t.removeUndefinedKeys=function(e){return Object.entries(e).filter(function(e){var t=r(e,2)[1];return(0,i.isDefined)(t)}).reduce(function(e,t){var n,i=r(t,2),a=i[0],c=i[1];return o(o({},e),((n={})[a]=c,n))},{})}},7917:function(e,t){var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},n.apply(this,arguments)},o=this&&this.__read||function(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a};Object.defineProperty(t,\"__esModule\",{value:!0}),t.loadOptionsFromAttributes=t.transformAttributeValue=t.camelCaseToKebabCase=void 0,t.camelCaseToKebabCase=function(e){return e.split(\"\").map(function(e,t){return e.toUpperCase()===e?\"\".concat(0!==t?\"-\":\"\").concat(e.toLowerCase()):e}).join(\"\")};var r=function(e){return e||void 0},i=function(e){if(null!==e)return\"\"===e||\"yes\"===e||\"true\"===e},a=function(e){var t=e?parseInt(e,10):NaN;return isNaN(t)?void 0:t},c=\"%ESCAPED_COMMA%\",s=function(e){if(e)return e.replace(/\\s/g,\"\").replace(/\\\\,/g,c).split(\",\").filter(function(e){return!!e}).map(function(e){return e.replace(c,\",\")})};t.transformAttributeValue=function(e,t){var u,l,d;switch(t){case\"string\":return r(e);case\"boolean\":return i(e);case\"integer\":return a(e);case\"function\":return function(e){var t=e&&e in window?window[e]:void 0;return\"function\"==typeof t?t:void 0}(e);case\"array\":return s(e);case\"record\":return function(e){if(e)return e.replace(/\\\\,/g,c).split(\",\").filter(function(e){return!!e}).map(function(e){return e.replace(c,\",\")}).reduce(function(e,t){var r,i=t.match(/^([^=]+)=(.*)$/);if(i){var a=o(i,3),c=a[1],s=a[2];return n(n({},e),((r={})[c.trim()]=s,r))}return e},{})}(e);case\"integerOrString\":return function(e){if(e)return e.match(/^[0-9]+$/)?a(e):r(e)}(e);case\"integerOrBoolean\":return null!==(u=a(e))&&void 0!==u?u:i(e);case\"stringOrBoolean\":return null!==(l=r(e))&&void 0!==l?l:i(e);case\"arrayOrBoolean\":return null!==(d=s(e))&&void 0!==d?d:i(e);default:throw new Error(\"Invalid attribute transformation \".concat(t))}},t.loadOptionsFromAttributes=function(e,o){return Object.keys(o).reduce(function(r,i){var a;return n(n({},r),((a={})[i]=(0,t.transformAttributeValue)(e.getAttribute(\"data-tf-\".concat((0,t.camelCaseToKebabCase)(i))),o[i]),a))},{})}},8235:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.isFullscreen=t.isMobile=t.isBigScreen=void 0,t.isBigScreen=function(){return window.screen.width>=1024&&window.screen.height>=768},t.isMobile=function(){return/mobile|tablet|android/i.test(navigator.userAgent.toLowerCase())},t.isFullscreen=function(){return(0,t.isMobile)()&&!(0,t.isBigScreen)()}},8625:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},8885:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},9188:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.hasDom=void 0,t.hasDom=function(){return\"undefined\"!=typeof document&&\"undefined\"!=typeof window}},9310:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.createIframe=void 0;var o=n(7177),r=n(6517),i=n(9590),a=n(476),c=n(6112),s=n(883),u=n(1947);t.createIframe=function(e,t){var n=t.formId,l=t.domain,d=t.options,f=(0,i.generateEmbedId)(),p=d.iframeProps,v=void 0===p?{}:p,m=d.onReady,h=d.onStarted,b=d.onQuestionChanged,g=d.onHeightChanged,y=d.onSubmit,w=d.onEndingButtonClick,x=d.onDuplicateDetected,_=d.shareGaInstance,O=(0,o.buildIframeSrc)({formId:n,domain:l,embedId:f,type:e,options:d}),E=document.createElement(\"iframe\");return E.src=O,E.dataset.testid=\"iframe\",E.style.border=\"0px\",E.allow=\"microphone; camera\",(0,r.addAttributesToElement)(E,v),E.addEventListener(\"load\",c.triggerIframeRedraw,{once:!0}),window.addEventListener(\"message\",(0,a.getFormReadyHandler)(f,m)),window.addEventListener(\"message\",(0,a.getFormStartedHandler)(f,h)),window.addEventListener(\"message\",(0,a.getFormQuestionChangedHandler)(f,b)),window.addEventListener(\"message\",(0,a.getFormHeightChangedHandler)(f,g)),window.addEventListener(\"message\",(0,a.getFormSubmitHandler)(f,y)),window.addEventListener(\"message\",(0,a.getFormThemeHandler)(f,function(e){var t;if(null==e?void 0:e.theme){var n=document.querySelector(\".tf-v1-close-icon\");n&&(n.style.color=null===(t=e.theme)||void 0===t?void 0:t.color)}})),window.addEventListener(\"message\",(0,a.getThankYouScreenButtonClickHandler)(f,w)),window.addEventListener(\"message\",(0,a.getRedirectHandler)(f,E)),window.addEventListener(\"message\",(0,a.getDuplicateDetectedHandler)(f,x)),\"widget\"!==e&&window.addEventListener(\"message\",s.dispatchCustomKeyEventFromIframe),_&&window.addEventListener(\"message\",(0,a.getFormReadyHandler)(f,function(){(0,r.setupGaInstance)(E,f,_)})),{iframe:E,embedId:f,refresh:function(){return(0,u.refreshIframe)(E)},focus:function(){var e;null===(e=E.contentWindow)||void 0===e||e.postMessage(\"embed-focus\",\"*\")}}}},9556:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.unmountElement=void 0,t.unmountElement=function(e){var t;null===(t=e.parentNode)||void 0===t||t.removeChild(e)}},9586:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(3631),t)},9590:function(e,t){var n=this&&this.__read||function(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return a};Object.defineProperty(t,\"__esModule\",{value:!0}),t.generateEmbedId=void 0,t.generateEmbedId=function(){var e=Math.random();return n(String(e).split(\".\"),2)[1]}},9723:function(e,t,n){Object.defineProperty(t,\"__esModule\",{value:!0}),t.addAttributesToElement=void 0;var o=n(7917);t.addAttributesToElement=function(e,t){void 0===t&&(t={}),Object.keys(t).forEach(function(n){e.setAttribute((0,o.camelCaseToKebabCase)(n),t[n])})}},9814:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(n(7121),t),r(n(19),t)}},t={};return function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,n),i.exports}(7783)}()}},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var i=n[e]={exports:{}};return t[e].call(i.exports,i,i.exports,o),i.exports}o.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var r={};return function(){\"use strict\";var e=r;Object.defineProperty(e,\"__esModule\",{value:!0}),e.Sidetab=e.Popover=e.SliderButton=e.PopupButton=e.Widget=void 0;var t=o(952),n=o(240),i=o(517);e.Widget=(0,i.memoComponent)(n.Widget),e.PopupButton=(0,i.memoComponent)((0,n.makeButtonComponent)(t.createPopup,\"popup\")),e.SliderButton=(0,i.memoComponent)((0,n.makeButtonComponent)(t.createSlider,\"slider\")),e.Popover=(0,i.memoComponent)((0,n.makeInitializerComponent)(t.createPopover,\"popover\")),e.Sidetab=(0,i.memoComponent)((0,n.makeInitializerComponent)(t.createSidetab,\"sidetab\"))}(),r}()});","export const wrapper = `\n z-30 shadow-lg\n absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2\n w-fit h-fit min-w-80\n rounded-lg\n`;\n\nexport const container = `\n w-full h-full\n rounded-lg overflow-hidden\n`;\n\nexport const dismissButton = `\n absolute -top-3 -right-3 z-40\n w-8 h-8 rounded-full\n bg-white text-gray-700 shadow-md\n border border-gray-200\n flex items-center justify-center\n hover:bg-gray-50\n`;\n\nexport const dismissIcon = `\n w-4 h-4\n`;\n","import type { TrackingMetadata } from \"~/tracking\";\n\n/**\n * Builds the Typeform \"hidden fields\" (a.k.a. URL parameters) that get paired\n * with each survey response so the raw exports can be segmented and analyzed.\n *\n * Typeform only accepts string values and silently ignores fields that were\n * not declared in the form, so undefined / empty values are dropped to keep\n * the payload clean. The keys here must match the hidden fields declared in\n * the Typeform form configuration.\n *\n * @see https://www.typeform.com/developers/embed/url-parameters/\n */\nexport function buildSurveyHiddenFields(\n metadata: TrackingMetadata,\n): Record<string, string> {\n const fields: Record<string, string | number | undefined> = {\n client_id: metadata.client_id,\n host_url: metadata.host_url,\n device_type: metadata.device_type,\n lat: metadata.lat,\n lng: metadata.lng,\n display_mode: metadata.display_mode,\n session_id: metadata.session_id,\n device_id: metadata.device_id,\n product_name: metadata.product_name,\n product_version: metadata.product_version,\n };\n\n return Object.entries(fields).reduce<Record<string, string>>(\n (acc, [key, value]) => {\n if (value !== undefined && value !== null && value !== \"\") {\n acc[key] = String(value);\n }\n\n return acc;\n },\n {},\n );\n}\n","import { TrackingPipelineEvents } from \"~/sdks/LocalContent/types\";\n\nexport type SurveyEventAttribute = {\n label: string;\n data: boolean | string | number | undefined;\n};\n\ntype PostEvent = (event: {\n eventType: string;\n eventAttributes?: SurveyEventAttribute[];\n}) => void;\n\n/**\n * Posts a survey tracking event to the tracking pipeline, always tagging it\n * with the `survey_id` so events can be correlated back to a specific survey.\n *\n * @param postEvent The tracking pipeline's `postEvent` (from `useTracking`).\n * @param surveyId The Typeform survey id.\n * @param eventType The survey event type to track.\n * @param extraAttributes Additional event attributes to send alongside.\n */\nexport function trackSurveyEvent(\n postEvent: PostEvent,\n surveyId: string,\n eventType: TrackingPipelineEvents,\n extraAttributes: SurveyEventAttribute[] = [],\n): void {\n postEvent({\n eventType,\n eventAttributes: [\n { label: \"survey_id\", data: surveyId },\n ...extraAttributes,\n ],\n });\n}\n","import React from \"react\";\n\nimport { Widget } from \"@typeform/embed-react\";\nimport { XIcon } from \"@phosphor-icons/react\";\n\nimport * as styles from \"./styles\";\nimport { buildSurveyHiddenFields } from \"./utils/buildSurveyHiddenFields\";\nimport { trackSurveyEvent } from \"./utils/trackSurveyEvent\";\nimport { useSurveyTrigger } from \"~/sdks/LocalContent/hooks/useSurveyTrigger\";\nimport { TrackingPipelineEvents } from \"~/sdks/LocalContent/types\";\nimport { useTracking } from \"~/tracking\";\n\nexport function Survey({ surveyId }: { surveyId: string }) {\n const { showSurvey, handleDismiss } = useSurveyTrigger();\n const tracking = useTracking();\n\n if (!showSurvey) {\n return null;\n }\n\n // Metadata forwarded to Typeform as hidden fields so survey responses can be\n // segmented (by client, device, geography, etc.) in the CSV exports.\n const hiddenFields = buildSurveyHiddenFields(tracking.metadata);\n\n // Survey-Dismissed: the user closed the modal without submitting, either via\n // our custom close button or Typeform's own close control.\n const handleClose = () => {\n trackSurveyEvent(\n tracking.postEvent,\n surveyId,\n TrackingPipelineEvents.SURVEY_DISMISSED,\n );\n handleDismiss();\n };\n\n // Survey-Completed: the user reached the end and submitted their answers.\n const handleSubmit = ({ responseId }: { responseId: string }) => {\n trackSurveyEvent(\n tracking.postEvent,\n surveyId,\n TrackingPipelineEvents.SURVEY_COMPLETED,\n [{ label: \"survey_response_id\", data: responseId }],\n );\n handleDismiss();\n };\n\n return (\n <div className={styles.wrapper}>\n <button\n type=\"button\"\n data-testid=\"survey-dismiss-button\"\n aria-label=\"Dismiss survey\"\n className={styles.dismissButton}\n onClick={handleClose}\n >\n <XIcon weight=\"bold\" className={styles.dismissIcon} />\n </button>\n\n <Widget\n id={surveyId}\n autoResize=\"200,800\"\n inlineOnMobile\n className={styles.container}\n hidden={hiddenFields}\n onReady={() =>\n trackSurveyEvent(\n tracking.postEvent,\n surveyId,\n TrackingPipelineEvents.SURVEY_VIEWED,\n )\n }\n onQuestionChanged={() =>\n trackSurveyEvent(\n tracking.postEvent,\n surveyId,\n TrackingPipelineEvents.SURVEY_QUESTION_CHANGED,\n )\n }\n onSubmit={handleSubmit}\n onClose={handleClose}\n />\n </div>\n );\n}\n","import React, { useMemo } from \"react\";\n\nimport { LocalLogicMap, type Source, type LayerType } from \"@local-logic/maps\";\n\nimport type { School } from \"@local-logic/client\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nimport { DIRECTIONS_PATH_COLOR } from \"~/sdks/LocalContent/constants\";\n\nexport function Layers() {\n const { activeCategoryData, activeMarkerDetails, commuteData } =\n useLocalContent();\n\n const schoolLayerSources = useMemo(() => {\n const activeSchoolMarkerDetails = activeMarkerDetails as School;\n if (\n typeof activeSchoolMarkerDetails?.catchments === \"undefined\" ||\n activeSchoolMarkerDetails.catchments?.length === 0\n ) {\n return undefined;\n }\n\n const sources: Source[] = [];\n\n activeSchoolMarkerDetails.catchments.forEach(\n (catchment, catchmentIndex) => {\n if (\n typeof catchment.geometry !== \"undefined\" &&\n catchment.geometry.length > 0\n ) {\n catchment.geometry.forEach((geometry, geomIndex) => {\n sources.push({\n key: `school-catchment-${catchmentIndex}-geom-${geomIndex}`,\n layer: [\n {\n type: \"fill\" as LayerType,\n color: activeCategoryData?.colors?.fill || \"#008491\",\n },\n {\n type: \"line\" as LayerType,\n color: activeCategoryData?.colors?.fill || \"#008491\",\n },\n ],\n geometry: [geometry],\n });\n });\n }\n },\n );\n\n return sources;\n }, [activeMarkerDetails, activeCategoryData]);\n\n const routeSources = useMemo(() => {\n if (\n !commuteData ||\n typeof commuteData.geometry === \"undefined\" ||\n commuteData.geometry?.length === 0\n ) {\n return undefined;\n }\n\n const sources: Source[] = [];\n\n sources.push({\n key: \"commute-route\",\n type: \"LineString\",\n layer: [\n {\n type: \"line\" as LayerType,\n color: DIRECTIONS_PATH_COLOR,\n },\n ],\n geometry: commuteData.geometry,\n });\n\n return sources;\n }, [commuteData, activeCategoryData]);\n\n return (\n <>\n <LocalLogicMap.Layers sources={schoolLayerSources} />\n <LocalLogicMap.Layers sources={routeSources} />\n </>\n );\n}\n","import React, { useMemo } from \"react\";\n\nimport { LocalLogicMap, type Marker } from \"@local-logic/maps\";\nimport { useTracking } from \"~/tracking\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\nimport { useSurveyTrigger } from \"~/sdks/LocalContent/hooks/useSurveyTrigger\";\n\nimport { getIdFromMarker } from \"~/utils/map/getIdFromMarker\";\n\nimport { iconsDeprecated as icons } from \"~/components/PoiIcon\";\nimport {\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nexport function Markers() {\n const tracking = useTracking();\n const {\n isLoading,\n activeScore,\n activeCategoryData,\n selectedPoiSubcategory,\n isMarkersLoading,\n markersData,\n commuteData,\n handleMarkerClick,\n } = useLocalContent();\n const { handleAddSessionTriggerCount } = useSurveyTrigger();\n\n const markers = useMemo(() => {\n if (\n selectedPoiSubcategory === null ||\n isMarkersLoading ||\n typeof markersData === \"undefined\" ||\n typeof markersData[selectedPoiSubcategory] === \"undefined\"\n ) {\n return [];\n }\n\n return markersData[selectedPoiSubcategory].map(\n (marker) =>\n ({\n id: getIdFromMarker(marker.lat, marker.lng, marker.name),\n latitude: marker.lat,\n longitude: marker.lng,\n name: marker.name,\n icon: icons[selectedPoiSubcategory],\n }) as Marker,\n );\n }, [selectedPoiSubcategory, isMarkersLoading, markersData]);\n\n const commuteMarkers = useMemo(() => {\n if (commuteData === null) {\n return [];\n }\n\n if (\n markers.find(\n (marker) =>\n marker.latitude === commuteData.destination.lat &&\n marker.longitude === commuteData.destination.lng,\n )\n ) {\n return [];\n }\n\n return [\n {\n id: \"commute-destination\",\n latitude: commuteData.destination.lat,\n longitude: commuteData.destination.lng,\n name: commuteData.label,\n icon: icons.other as Marker[\"icon\"],\n defaultColor: true,\n disableClick: true,\n },\n ];\n }, [markers, commuteData]);\n\n const combinedMarkers = useMemo(\n () => [...markers, ...commuteMarkers],\n [markers, commuteMarkers],\n );\n\n /**\n * Handles clicking on a map marker. This includes both single markers and cluster markers.\n *\n * @param marker\n * @returns\n */\n const handleMapMarkerClick = (\n marker: Parameters<typeof handleMarkerClick>[0],\n ) => {\n handleMarkerClick(marker);\n handleAddSessionTriggerCount();\n\n if (!activeScore || !selectedPoiSubcategory || !marker) {\n return;\n }\n\n const eventAttributes: Record<string, boolean | string | number> = {\n score: activeScore,\n category: selectedPoiSubcategory,\n };\n\n if (marker.markers.length > 1) {\n eventAttributes.latitude = marker.latitude;\n eventAttributes.longitude = marker.longitude;\n eventAttributes.clusterSize = marker.markers.length;\n eventAttributes.isCluster = true;\n } else if (marker.markers.length === 1) {\n Object.entries(marker.markers[0]).forEach(([key, value]) => {\n if (\n typeof value === \"boolean\" ||\n typeof value === \"string\" ||\n typeof value === \"number\"\n ) {\n // Remove sdk id before sending to tracking\n if (key === \"id\") {\n return;\n }\n eventAttributes[key] = value;\n }\n });\n }\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.MAP_POI_SELECTED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.MAP_POI_SELECTED,\n eventAttributes,\n });\n };\n\n return (\n <LocalLogicMap.Markers\n isLoading={isLoading}\n markers={combinedMarkers}\n colors={activeCategoryData?.colors}\n clusterIcon={\n (selectedPoiSubcategory\n ? icons[selectedPoiSubcategory]\n : undefined) as Marker[\"icon\"]\n }\n onClick={handleMapMarkerClick}\n />\n );\n}\n","export const container = `\n max-sm:[&>#center-pin-background]:text-primary-50\n`;\n","import React from \"react\";\n\nimport { LocalLogicMap } from \"@local-logic/maps\";\n\nimport * as styles from \"./styles\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nexport function CenterPin() {\n const { centerMarker } = useLocalContent();\n\n if (!centerMarker) {\n return null;\n }\n\n return (\n <LocalLogicMap.CenterPin\n className={styles.container}\n marker={{\n id: \"local-content-center-pin\",\n latitude: centerMarker.lat,\n longitude: centerMarker.lng,\n name: centerMarker.addressLabel || \"Center Pin\",\n }}\n />\n );\n}\n","export const container = `flex flex-col gap-3 text-xs text-gray-800 font-medium`;\nexport const loading = `h-5 w-20 bg-gray-200 animate-pulse rounded-md`;\nexport const button = `p-0 text-xs h-auto w-auto justify-start cursor-pointer`;\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { Button } from \"@local-logic/design-system\";\n\nimport * as styles from \"./styles\";\nimport type { TravelMode } from \"~/sdks/LocalContent/hooks/useCommute/types\";\n\nexport function Commute({\n isLoading = false,\n commuteType,\n durationInSeconds,\n onCalculateCommute,\n}: {\n isLoading?: boolean;\n commuteType: TravelMode;\n durationInSeconds?: number;\n onCalculateCommute?: () => void;\n}) {\n const { t } = useTranslation([\"localContent\", \"common\"]);\n\n const durationString = useMemo(() => {\n if (!durationInSeconds) return null;\n\n const hours = Math.floor(durationInSeconds / 60 / 60);\n const minutes = Math.floor((durationInSeconds / 60) % 60);\n\n const minutesString = `${minutes} ${t(\"common:time.minute\", { count: minutes })}`;\n\n if (hours === 0) {\n return minutesString;\n }\n\n return `${hours} ${t(\"common:time.hour\", { count: hours })} ${minutesString}`;\n }, [durationInSeconds, t]);\n\n const travelTimeString = useMemo(() => {\n if (!durationString) return \"\";\n\n return `${durationString} ${t(`commute.travelTypes.${commuteType}`)}`;\n }, [durationString, commuteType, t]);\n\n if (!isLoading && typeof durationInSeconds === \"undefined\") {\n return null;\n }\n\n return (\n <div className={styles.container}>\n {isLoading && (\n <div\n data-testid=\"poi-popup-commute-loading\"\n className={styles.loading}\n ></div>\n )}\n {!isLoading && durationString && (\n <p\n data-testid=\"poi-popup-commute-duration\"\n aria-label={travelTimeString}\n >\n {travelTimeString.toLowerCase()}\n </p>\n )}\n {onCalculateCommute && (\n <Button\n data-testid=\"poi-popup-view-route-button\"\n className={styles.button}\n onClick={onCalculateCommute}\n variant=\"ghost\"\n isDisabled={isLoading}\n >\n {t(\"commute.viewRoute\")}\n </Button>\n )}\n </div>\n );\n}\n","import React, { useMemo } from \"react\";\n\nimport {\n LocalLogicMap,\n type Marker,\n type MarkerPoint,\n} from \"@local-logic/maps\";\nimport { Commute } from \"./Commute\";\nimport { useTracking } from \"~/tracking\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\nimport { useCommute } from \"~/sdks/LocalContent/hooks/useCommute\";\n\nimport {\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nimport { DEFAULT_TRAVEL_MODE } from \"~/sdks/LocalContent/constants\";\n\nimport { ClusterPopupContent } from \"~/components/map/ClusterPopupContent\";\nimport { POIPopupContent } from \"~/components/map/POIPopupContent\";\n\nexport function Popup() {\n const tracking = useTracking();\n const {\n commuteOptions,\n distanceUnit,\n activeScore,\n centerMarker,\n location,\n locale,\n selectedPoiSubcategory,\n activeMarker,\n activeMarkerDetails,\n handleMarkerClick,\n handleCalculateCommute,\n showSchoolRatings,\n } = useLocalContent();\n\n const { data, isLoading } = useCommute({\n mode: commuteOptions.commuteType,\n locale,\n units: distanceUnit,\n origin:\n location?.lat && location?.lng\n ? {\n lat: location.lat,\n lng: location.lng,\n }\n : undefined,\n destination:\n typeof centerMarker !== \"undefined\" &&\n activeMarkerDetails?.lat &&\n activeMarkerDetails?.lng\n ? {\n lat: activeMarkerDetails.lat,\n lng: activeMarkerDetails.lng,\n }\n : undefined,\n });\n\n const commuteTime = useMemo(() => {\n if (!data || isLoading) return undefined;\n\n return data.duration;\n }, [data?.mode, data?.duration, isLoading]);\n\n /**\n * Handles selecting a marker from within a cluster popup.\n *\n * @param marker\n * @returns\n */\n const handleClusterMarkerSelected = (marker: Marker) => {\n handleMarkerClick({\n id: marker.id,\n latitude: marker.latitude,\n longitude: marker.longitude,\n markers: [marker],\n } as MarkerPoint);\n\n if (!activeScore || !selectedPoiSubcategory) {\n return;\n }\n\n const eventAttributes: Record<string, boolean | string | number> = {\n score: activeScore,\n category: selectedPoiSubcategory,\n };\n\n Object.entries(marker).forEach(([key, value]) => {\n if (\n typeof value === \"boolean\" ||\n typeof value === \"string\" ||\n typeof value === \"number\"\n ) {\n // Remove sdk id before sending to tracking\n if (key === \"id\") {\n return;\n }\n eventAttributes[key] = value;\n }\n });\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.MAP_POI_SELECTED_FROM_CLUSTER,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.MAP_POI_SELECTED_FROM_CLUSTER,\n eventAttributes,\n });\n };\n\n const handleLinkClick = (url: string) => {\n if (!selectedPoiSubcategory || !activeMarkerDetails) {\n return;\n }\n\n const eventAttributes: Record<string, boolean | string | number> = {\n category: selectedPoiSubcategory,\n };\n\n Object.entries(activeMarkerDetails).forEach(([key, value]) => {\n if (\n typeof value === \"boolean\" ||\n typeof value === \"string\" ||\n typeof value === \"number\"\n ) {\n eventAttributes[key] = value;\n }\n });\n eventAttributes.clickedUrl = url;\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.MAP_POI_POPUP_LINK_CLICKED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.MAP_POI_POPUP_LINK_CLICKED,\n eventAttributes,\n });\n };\n\n const handleOnViewRoute = () => {\n if (\n !activeMarkerDetails ||\n !activeScore ||\n !selectedPoiSubcategory ||\n !activeMarker\n ) {\n return;\n }\n\n const requestOptions = {\n commuteType: commuteOptions.commuteType,\n label: activeMarkerDetails?.address || activeMarkerDetails?.name,\n destination: {\n lat: activeMarkerDetails?.lat || 0,\n lng: activeMarkerDetails?.lng || 0,\n },\n };\n\n handleCalculateCommute(requestOptions);\n\n const eventAttributes: Record<string, boolean | string | number> = {\n score: activeScore,\n category: selectedPoiSubcategory,\n destinationLat: requestOptions.destination.lat,\n destinationLng: requestOptions.destination.lng,\n label: requestOptions.label,\n name: activeMarkerDetails?.name || \"\",\n mode: requestOptions.commuteType as string,\n };\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.MAP_POI_VIEW_ROUTE,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.MAP_POI_VIEW_ROUTE,\n eventAttributes,\n });\n };\n\n return (\n <LocalLogicMap.Popup\n latitude={activeMarker?.latitude}\n longitude={activeMarker?.longitude}\n onClose={() => handleMarkerClick(undefined)}\n >\n <ClusterPopupContent\n activeMarker={activeMarker}\n onMarkerSelected={handleClusterMarkerSelected}\n onClose={handleMarkerClick}\n />\n <POIPopupContent\n marker={activeMarkerDetails}\n poiCategory={selectedPoiSubcategory}\n onLocationLinkClick={handleLinkClick}\n onSchoolLinkClick={handleLinkClick}\n onClose={handleMarkerClick}\n showSchoolRatings={showSchoolRatings}\n >\n <Commute\n isLoading={isLoading}\n commuteType={commuteOptions.commuteType || DEFAULT_TRAVEL_MODE}\n durationInSeconds={commuteTime}\n onCalculateCommute={handleOnViewRoute}\n />\n </POIPopupContent>\n </LocalLogicMap.Popup>\n );\n}\n","export const container = `relative w-full overflow-hidden grow`;\n","import React, { useMemo } from \"react\";\n\nimport \"@local-logic/maps/style.css\";\n\nimport { LocalLogicMap } from \"@local-logic/maps\";\n\nimport { Survey } from \"../Survey\";\nimport { Layers } from \"./Layers\";\nimport { Markers } from \"./Markers\";\nimport { CenterPin } from \"./CenterPin\";\nimport { Popup } from \"./Popup\";\n\nimport * as styles from \"./styles\";\nimport { getMapProviderConfig } from \"~/utils/map/getMapProviderConfig\";\nimport { PaddingDebug } from \"~/components/map/PaddingDebug\";\nimport {\n SURVEY_ID,\n DEFAULT_MIN_ZOOM,\n DEFAULT_MAX_ZOOM,\n MAP_PADDING,\n LAYOUT_MEASUREMENTS,\n} from \"~/sdks/LocalContent/constants\";\nimport { useResponsiveBreakpoints } from \"~/hooks/useResponsiveBreakpoints\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nexport function Map({\n children,\n ...rest\n}: {\n children?: React.ReactNode;\n} & React.HTMLAttributes<HTMLDivElement>) {\n const breakpoints = useResponsiveBreakpoints();\n const {\n activeCategory,\n activeScore,\n isCommuteCalculatorOpen,\n isSidebarExpanded,\n location,\n locale,\n map,\n activeMarker,\n commuteData,\n } = useLocalContent();\n\n const mapProviderConfig = useMemo(\n () =>\n getMapProviderConfig(\n map.mapProvider?.name,\n map.mapProvider?.key,\n map.mapProvider?.theme,\n ),\n [map.mapProvider?.name, map.mapProvider?.key, map.mapProvider?.theme],\n );\n\n const mapPadding = useMemo(() => {\n const padding = breakpoints.sm ? MAP_PADDING.desktop : MAP_PADDING.mobile;\n\n // Making sure we don't override reference values\n let { top, bottom, left } = padding;\n\n if (breakpoints.sm) {\n // Desktop\n\n if (!isSidebarExpanded) {\n left -= LAYOUT_MEASUREMENTS.SIDEBAR_STATE_WIDTH_DIFFERENCE;\n }\n\n if (isCommuteCalculatorOpen && !commuteData) {\n top += LAYOUT_MEASUREMENTS.COMMUTE_CALCULATOR_NO_ROUTE_HEIGHT_DESKTOP;\n }\n\n if (isCommuteCalculatorOpen && commuteData) {\n top += LAYOUT_MEASUREMENTS.COMMUTE_CALCULATOR_WITH_ROUTE_HEIGHT_DESKTOP;\n }\n } else {\n // Mobile\n\n if (activeCategory) {\n top += LAYOUT_MEASUREMENTS.SCORE_BUTTONS_HEIGHT_MOBILE;\n }\n\n if (activeScore && !isCommuteCalculatorOpen) {\n // While the details slider can be expanded, we're not going to adjust the\n // value since the popup opens up\n bottom = LAYOUT_MEASUREMENTS.SCORE_DETAILS_HEIGHT_MOBILE;\n }\n\n if (isCommuteCalculatorOpen) {\n bottom = LAYOUT_MEASUREMENTS.COMMUTE_CALCULATOR_HEIGHT_MOBILE;\n }\n }\n\n return {\n ...padding,\n top,\n bottom,\n left,\n };\n }, [\n breakpoints.sm,\n isCommuteCalculatorOpen,\n activeCategory,\n activeScore,\n isSidebarExpanded,\n commuteData,\n ]);\n\n // If location is not set or invalid, return a message\n // lat and lng values of 0 are considered invalid for this context\n if (!location || !location.lat || !location.lng) {\n return <div className={styles.container}>Location not set</div>;\n }\n\n return (\n <div className={styles.container} {...rest}>\n <LocalLogicMap.Root\n mapProvider={mapProviderConfig}\n locale={locale}\n mapPadding={mapPadding}\n center={{ latitude: location.lat, longitude: location.lng }}\n zoom={map.zoom}\n minZoom={DEFAULT_MIN_ZOOM}\n maxZoom={DEFAULT_MAX_ZOOM}\n zoomPosition={breakpoints.sm ? \"bottom-right\" : undefined}\n pitch={map.pitch}\n bearing={map.bearing}\n cooperativeGestures={map.cooperativeGestures}\n activeMarker={activeMarker}\n >\n <LocalLogicMap.BaseMap>\n <Layers />\n <Markers />\n <CenterPin />\n <Popup />\n </LocalLogicMap.BaseMap>\n </LocalLogicMap.Root>\n\n {import.meta.env.VITE_MAP_PADDING_DEBUG === \"true\" && (\n <PaddingDebug mapPadding={mapPadding} />\n )}\n\n {children}\n\n <Survey surveyId={SURVEY_ID} />\n </div>\n );\n}\n","export const container = `\n group/sidebar flex flex-col z-10\n bg-base-white rounded\n overflow-hidden max-h-[calc(100vh-72px)] min-h-96\n absolute top-3 left-3\n w-full max-w-72 shadow-3sm\n transition-all duration-150 ease-in-out\n\n data-[is-expanded=false]:w-14\n\n hover:data-[is-expanded=false]:w-16\n hover:data-[is-expanded=false]:cursor-pointer\n`;\n","import React, { useContext } from \"react\";\n\nimport type { RootProps } from \"./types\";\n\nimport * as styles from \"./styles\";\n\nexport type DefaultContext = {\n isExpanded: boolean;\n isScoresLoading: RootProps[\"isScoresLoading\"];\n isMarkersLoading: RootProps[\"isMarkersLoading\"];\n activeScore: RootProps[\"activeScore\"];\n activeScoreData?: RootProps[\"activeScoreData\"];\n markersData?: RootProps[\"markersData\"];\n onSelectScore?: RootProps[\"onSelectScore\"];\n onToggleIsExpanded: () => void;\n};\n\nconst RootElementContext = React.createContext<DefaultContext>(\n {} as DefaultContext,\n);\nconst useRootElement = () => useContext(RootElementContext);\n\nconst RootElementContextProvider = ({\n isExpanded,\n isScoresLoading,\n isMarkersLoading,\n activeScore,\n activeScoreData,\n markersData,\n onSelectScore,\n onToggleIsExpanded,\n children,\n}: {\n isExpanded: boolean;\n isScoresLoading: DefaultContext[\"isScoresLoading\"];\n isMarkersLoading: DefaultContext[\"isMarkersLoading\"];\n activeScore: DefaultContext[\"activeScore\"];\n activeScoreData: DefaultContext[\"activeScoreData\"];\n markersData?: DefaultContext[\"markersData\"];\n onSelectScore: DefaultContext[\"onSelectScore\"];\n onToggleIsExpanded: DefaultContext[\"onToggleIsExpanded\"];\n children: React.ReactNode;\n}) => {\n const handleOnSidebarClick = () => {\n if (isExpanded) {\n return;\n }\n\n onToggleIsExpanded();\n };\n\n return (\n <RootElementContext.Provider\n value={{\n isExpanded,\n isScoresLoading,\n isMarkersLoading,\n activeScore,\n activeScoreData,\n markersData,\n onToggleIsExpanded,\n onSelectScore,\n }}\n >\n <div\n className={styles.container}\n data-is-expanded={isExpanded}\n data-testid=\"sidebar\"\n onClick={handleOnSidebarClick}\n >\n {children}\n </div>\n </RootElementContext.Provider>\n );\n};\n\nexport { useRootElement, RootElementContextProvider };\n","// It's important for the \"relative\" class to be applied to the container, and not the inner\n// content, so that the absolute positioning of the slider works correctly.\nexport const container = `\n relative h-full overflow-x-hidden overflow-y-scroll\n\n group-data-[is-expanded=false]/sidebar:overflow-y-hidden\n`;\n\nexport const content = `\n p-4 flex flex-col grow h-full overflow-hidden\n`;\n","import React from \"react\";\n\nimport * as styles from \"./styles\";\n\nexport function Content({ children }: { children?: React.ReactNode }) {\n return (\n <div className={styles.container} data-testid=\"sidebar-container\">\n <div className={styles.content} data-testid=\"sidebar-content\">\n {children}\n </div>\n </div>\n );\n}\n","export const container = `\n text-sm text-base-black text-nowrap font-bold truncate\n w-full m-0 justify-self-start overflow-hidden\n`;\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport * as styles from \"./styles\";\n\nexport function Title({ title }: { title?: string | boolean }) {\n const { t } = useTranslation(\"localContent\");\n\n const displayTitle = useMemo(\n () =>\n typeof title === \"string\" && title.length > 0\n ? title\n : t(\"sidebar.header.title\"),\n [title, t],\n );\n\n return (\n <h2\n className={styles.container}\n aria-label={displayTitle}\n data-testid=\"sidebar-header-title\"\n >\n {title === false ? \"\" : displayTitle}\n </h2>\n );\n}\n","export const container = `px-0 h-4 text-sm w-full justify-start text-nowrap`;\nexport const icon = `w-3 h-3 -mb-0.5`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { CaretLeftIcon } from \"@phosphor-icons/react\";\n\nimport { Button } from \"@local-logic/design-system\";\n\nimport { useRootElement } from \"../../context\";\n\nimport * as styles from \"./styles\";\n\nexport function CloseButton() {\n const { t } = useTranslation(\"localContent\");\n const { onSelectScore } = useRootElement();\n\n return (\n <Button\n data-testid=\"sidebar-header-back-button\"\n variant=\"ghost\"\n prefixIcon={<CaretLeftIcon weight=\"bold\" className={styles.icon} />}\n className={styles.container}\n onClick={onSelectScore ? onSelectScore(null) : undefined}\n >\n {t(\"sidebar.header.backAction\")}\n </Button>\n );\n}\n","export const container = `\n h-14 p-4 flex justify-between items-center shadow-sm shrink-0\n group-data-[is-expanded=false]/sidebar:justify-end\n`;\nexport const icon = `w-5 h-5 mx-0.5 group-data-[is-expanded=false]/sidebar:rotate-180 transition-transform duration-200 delay-100 ease-in-out flex self-right`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { CaretDoubleLeftIcon } from \"@phosphor-icons/react\";\n\nimport { useRootElement } from \"../context\";\n\nimport { Title } from \"./Title\";\nimport { CloseButton } from \"./CloseButton\";\n\nimport * as styles from \"./styles\";\nimport { useTracking } from \"~/tracking\";\nimport {\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nexport function Header({ title }: { title?: string | boolean }) {\n const { t } = useTranslation(\"localContent\");\n const tracking = useTracking();\n const { activeScore, isExpanded, onToggleIsExpanded } = useRootElement();\n\n const handleOnArrowClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n\n const eventAttributes = {\n currentActiveScore: activeScore || \"none\",\n currentIsExpanded: isExpanded,\n };\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SIDEBAR_TOGGLE_CLICKED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.SIDEBAR_TOGGLE_CLICKED,\n eventAttributes,\n });\n\n onToggleIsExpanded();\n };\n\n return (\n <div className={styles.container} data-testid=\"sidebar-header\">\n {isExpanded && !activeScore && <Title title={title} />}\n {isExpanded && activeScore && <CloseButton />}\n <button\n type=\"button\"\n onClick={handleOnArrowClick}\n aria-label={t(\"sidebar.header.toggle.ariaLabel\", {\n context: isExpanded ? \"close\" : \"open\",\n })}\n aria-pressed={isExpanded}\n data-testid=\"sidebar-header-toggle\"\n >\n <CaretDoubleLeftIcon\n className={styles.icon}\n aria-hidden=\"true\"\n focusable=\"false\"\n data-testid=\"sidebar-header-toggle-icon\"\n />\n </button>\n </div>\n );\n}\n","export const container = `flex flex-col mb-2`;\nexport const title = `group-data-[is-expanded=false]/sidebar:invisible`;\n","export const container = `text-xs font-normal text-gray-400 m-0`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport * as styles from \"./styles\";\nimport type { CategoryKey } from \"~/sdks/LocalContent/types\";\n\nexport function CategoryTitle({\n categoryKey,\n className,\n}: {\n categoryKey: CategoryKey;\n className?: string;\n}) {\n const { t } = useTranslation(\"localContent\");\n\n return (\n <h3\n className={`${styles.container} ${className}`}\n data-testid=\"category-title\"\n data-category-key={categoryKey}\n >\n {t(`categories.${categoryKey}`)}\n </h3>\n );\n}\n","import React from \"react\";\n\nimport * as styles from \"./styles\";\nimport { CategoryTitle } from \"~/sdks/LocalContent/components/CategoryTitle\";\n\nimport type { CategoryKey } from \"~/sdks/LocalContent/types\";\n\nexport function Category({\n categoryKey,\n children,\n}: {\n categoryKey: CategoryKey;\n children?: React.ReactNode;\n}) {\n return (\n <div\n className={styles.container}\n data-testid=\"sidebar-category\"\n data-category={categoryKey}\n >\n <CategoryTitle categoryKey={categoryKey} className={styles.title} />\n {children}\n </div>\n );\n}\n","export const container = `\n group/item-button group/color-icon flex justify-between items-center\n text-sm font-normal text-gray-800\n w-full h-11 py-2\n\n data-[is-collapsed=true]:pointer-events-none\n`;\nexport const text = `grow text-left text-nowrap px-2 group-data-[is-collapsed=true]/item-button:invisible group-hover/item-button:text-base-black -mt-0.5`;\nexport const arrow = `group-data-[is-collapsed=true]/item-button:invisible group-hover/item-button:scale-125`;\n","import React from \"react\";\n\nimport { CaretRightIcon } from \"@phosphor-icons/react\";\nimport { ColorIcon } from \"@local-logic/design-system\";\n\nimport * as styles from \"./styles\";\n\nexport type ItemButtonProps = {\n text: string;\n isDisabled?: boolean;\n isCollapsed?: boolean;\n isActive?: boolean;\n icon: {\n element: React.ReactElement;\n backgroundColor?: string;\n fillColor?: string;\n };\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n};\n\nexport function ItemButton({\n text,\n isDisabled,\n isCollapsed = false,\n isActive = false,\n icon: { element: Icon, backgroundColor = \"gray\", fillColor = \"black\" },\n onClick,\n ...rest\n}: ItemButtonProps) {\n return (\n <button\n className={styles.container}\n disabled={isDisabled}\n aria-label={text}\n onClick={onClick}\n data-background-color={backgroundColor}\n data-fill-color={fillColor}\n data-is-collapsed={isCollapsed}\n data-is-active={isActive}\n style={\n {\n \"--item-button-background\": backgroundColor,\n \"--item-button-fill\": fillColor,\n } as React.CSSProperties\n }\n {...rest}\n >\n <ColorIcon\n element={Icon}\n backgroundColor={backgroundColor}\n fillColor={fillColor}\n />\n <span className={styles.text}>{text}</span>\n <CaretRightIcon\n className={styles.arrow}\n weight=\"bold\"\n size={12}\n aria-hidden=\"true\"\n />\n </button>\n );\n}\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useRootElement } from \"../context\";\nimport { useSurveyTrigger } from \"~/sdks/LocalContent/hooks/useSurveyTrigger\";\nimport {\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nimport { useTracking } from \"~/tracking\";\n\nimport type { ScoreKey } from \"~/sdks/LocalContent/types\";\n\nimport { ScoreIcon } from \"~/components/ScoreIcon\";\nimport { ItemButton } from \"~/sdks/LocalContent/components/ItemButton\";\n\nexport function Score({\n scoreKey,\n backgroundColor,\n fillColor,\n}: {\n scoreKey: ScoreKey;\n backgroundColor?: string;\n fillColor?: string;\n}) {\n const { t } = useTranslation([\"common\"]);\n const tracking = useTracking();\n const { isExpanded, activeScore, onSelectScore } = useRootElement();\n const { handleAddSessionTriggerCount } = useSurveyTrigger();\n\n const handleOnSelectScore = (score: ScoreKey) => () => {\n if (typeof onSelectScore === \"undefined\") {\n return;\n }\n\n onSelectScore(score)();\n handleAddSessionTriggerCount();\n\n const eventAttributes = {\n scoreKey: score,\n isSidebarExpanded: isExpanded,\n };\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SIDEBAR_SCORE_SELECTED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.SIDEBAR_SCORE_SELECTED,\n eventAttributes,\n });\n };\n\n return (\n <ItemButton\n text={t(`common:scores.${scoreKey}.title`)}\n isDisabled={!isExpanded}\n isCollapsed={!isExpanded}\n isActive={activeScore === scoreKey}\n icon={{\n element: <ScoreIcon score={scoreKey} />,\n backgroundColor,\n fillColor,\n }}\n onClick={handleOnSelectScore(scoreKey)}\n data-testid=\"sidebar-score-item\"\n data-score={scoreKey}\n />\n );\n}\n","export const container = `flex flex-col data-[is-visible=false]:hidden`;\nexport const score = `mb-3`;\n","export const container = `bg-gray-250 w-3 h-3 rounded-full flex items-center justify-center`;\nexport const icon = `text-base-white w-2.5 h-2.5`;\n","import React, { useMemo } from \"react\";\n\nimport { CaretUpIcon, CaretDownIcon, EqualsIcon } from \"@phosphor-icons/react\";\n\nimport * as styles from \"./styles\";\n\nexport function ValueIndicator({\n comparison,\n}: {\n comparison: \"higher\" | \"lower\" | \"equal\";\n}) {\n const Icon = useMemo(() => {\n switch (comparison) {\n case \"higher\":\n return CaretUpIcon;\n case \"lower\":\n return CaretDownIcon;\n default:\n return EqualsIcon;\n }\n }, [comparison]);\n\n return (\n <div\n className={styles.container}\n data-testid=\"value-indicator\"\n data-comparison={comparison}\n >\n <Icon className={styles.icon} />\n </div>\n );\n}\n","export const container = `flex items-center gap-1 text-xs text-gray-400 mb-2`;\n","import React, { useMemo } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { ValueIndicator } from \"./ValueIndicator\";\n\nimport * as styles from \"./styles\";\nimport type { ScoreKey } from \"~/sdks/LocalContent/types\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nexport function ScoreComparison({\n scoreKey,\n locationScoreValue,\n comparedTo,\n className,\n}: {\n scoreKey: ScoreKey | null;\n locationScoreValue?: number;\n comparedTo?: { text: string; value: number };\n className?: string;\n}) {\n const { t } = useTranslation(\"localContent\");\n const { hideScoresList } = useLocalContent();\n\n const hide = useMemo(\n () => scoreKey === null || hideScoresList?.includes(scoreKey),\n [hideScoresList, scoreKey],\n );\n\n const comparison = useMemo(() => {\n if (\n typeof locationScoreValue === \"undefined\" ||\n typeof comparedTo === \"undefined\"\n ) {\n return null;\n }\n\n if (locationScoreValue > comparedTo.value) {\n return \"higher\";\n }\n\n if (locationScoreValue < comparedTo.value) {\n return \"lower\";\n }\n\n return \"equal\";\n }, [locationScoreValue, comparedTo?.value]);\n\n if (hide || typeof comparedTo === \"undefined\" || comparison === null) {\n return null;\n }\n\n return (\n <div\n className={twMerge(styles.container, className)}\n data-testid=\"score-comparison\"\n >\n <ValueIndicator comparison={comparison} />\n <p>\n {t(\"scoreComparison.text\", {\n context: comparison !== \"equal\" ? comparison : undefined,\n name: comparedTo.text,\n value: comparedTo.value,\n })}\n </p>\n </div>\n );\n}\n","export const container = `text-sm text-gray-800 mb-6`;\n","import React from \"react\";\n\nimport * as styles from \"./styles\";\n\nexport function ScoreText({ text }: { text?: string }) {\n if (typeof text === \"undefined\") {\n return null;\n }\n\n return (\n <p className={styles.container} data-testid=\"score-description\">\n {text}\n </p>\n );\n}\n","export const container = `w-full flex flex-col gap-y-1`;\nexport const item = `h-6 bg-gray-150 rounded animate-pulse`;\n","import React from \"react\";\n\nimport * as styles from \"./styles\";\n\nexport function Loading() {\n return (\n <div className={styles.container} data-testid=\"score-poi-list-loading\">\n <div className={styles.item} />\n <div className={styles.item} />\n <div className={styles.item} />\n <div className={styles.item} />\n <div className={styles.item} />\n </div>\n );\n}\n","export const container = `w-full`;\nexport const title = `text-xs text-gray-800 mb-1`;\nexport const subcategories = `flex flex-wrap gap-1 mb-4`;\nexport const button = `\n flex items-center gap-x-1 text-nowrap\n py-1.5 px-2.5 rounded-full text-sm font-medium transition-colors\n border border-gray-150 text-gray-400 bg-base-white\n\n hover:bg-gray-400\n hover:text-base-white\n hover:border-gray-400\n\n data-[is-active=true]:bg-gray-400\n data-[is-active=true]:text-base-white\n data-[is-active=true]:border-gray-400\n`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport * as styles from \"./styles\";\nimport {\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nimport { useTracking } from \"~/tracking\";\n\nimport { PoiIconDeprecated } from \"~/components/PoiIcon\";\n\nimport type { ScoreKey, POISubcategory } from \"~/sdks/LocalContent/types\";\n\nexport function Subcategories({\n scoreKey,\n availablePoiSubcategories,\n selectedSubcategory,\n onSelectCategory,\n}: {\n scoreKey: ScoreKey | null;\n availablePoiSubcategories: POISubcategory[];\n selectedSubcategory: POISubcategory | null;\n onSelectCategory: (subcategory: POISubcategory | null) => void;\n}) {\n const { t } = useTranslation([\"localContent\", \"common\"]);\n const tracking = useTracking();\n\n const handleSubcategoryClick = (subcategory: POISubcategory) => () => {\n if (selectedSubcategory === subcategory) {\n return;\n }\n\n onSelectCategory(subcategory);\n\n const eventAttributes = {\n score: scoreKey as string,\n category: subcategory,\n };\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SCORE_POI_CATEGORY_SELECTED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.SCORE_POI_CATEGORY_SELECTED,\n eventAttributes,\n });\n };\n\n // While we require availablePoiSubcategories to be defined, we should handle when it's undefined\n if (\n typeof availablePoiSubcategories === \"undefined\" ||\n availablePoiSubcategories.length <= 1\n ) {\n return null;\n }\n\n return (\n <div\n className={styles.container}\n data-testid=\"score-poi-list-subcategories\"\n >\n {availablePoiSubcategories.length > 0 && (\n <div\n className={styles.subcategories}\n data-testid=\"score-poi-list-subcategories-list\"\n >\n {availablePoiSubcategories.map((subcategory) => (\n <button\n data-testid={`score-poi-list-subcategory-${subcategory}`}\n className={styles.button}\n data-is-active={selectedSubcategory === subcategory}\n key={`score-poi-list-subcategory-${subcategory}`}\n onClick={handleSubcategoryClick(subcategory)}\n >\n <PoiIconDeprecated poi={subcategory} />\n {t(`common:pois.${subcategory}`)}\n </button>\n ))}\n </div>\n )}\n </div>\n );\n}\n","export const container = `w-full`;\nexport const title = `text-xs text-gray-400 mb-2`;\nexport const list = `flex flex-col gap-y-1`;\nexport const item = `inline-flex group/poi-list-item`;\nexport const button = `\n w-full pl-4 border rounded transition-colors\n bg-base-white border-gray-150 text-gray-400 fill-gray-400\n\n hover:bg-primary-100\n hover:border-primary-100\n hover:text-base-white\n hover:fill-base-white\n\n group-data-[is-active=true]/poi-list-item:bg-primary-100\n`;\nexport const poi = `flex justify-between w-full items-center text-left grow h-8`;\nexport const name = `text-xs font-medium truncate overflow-hidden text-nowrap w-52 group-data-[is-active=true]/poi-list-item:text-base-white`;\nexport const icon = `w-3 h-3 mr-2 group-data-[is-active=true]/poi-list-item:fill-base-white`;\nexport const routes = `block pb-2`;\nexport const schoolTypes = `flex flex-wrap gap-1 mb-2`;\nexport const badge = `text-xs py-0.5 px-2 bg-gray-150 text-base-black rounded`;\n","import React, { useEffect, useRef, useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { CaretRightIcon } from \"@phosphor-icons/react\";\nimport type { POI, School } from \"@local-logic/client\";\nimport type { MarkerValue } from \"../types\";\nimport * as styles from \"./styles\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\nimport { useSurveyTrigger } from \"~/sdks/LocalContent/hooks/useSurveyTrigger\";\n\nimport { DEFAULT_RADIUS } from \"~/sdks/LocalContent/constants\";\n\nimport { getIdFromMarker } from \"~/utils/map/getIdFromMarker\";\n\nimport { TransitRoutes } from \"~/components/TransitRoutes\";\n\nimport type { POISubcategory } from \"~/sdks/LocalContent/types\";\n\nexport function List({\n pois,\n showPois = true,\n onSelect,\n}: {\n pois: MarkerValue[];\n showPois?: boolean;\n onSelect?: (poi: MarkerValue, category: POISubcategory) => void;\n}) {\n const { t } = useTranslation([\"localContent\", \"common\"]);\n const {\n activeMarker,\n markersData,\n distanceUnit,\n selectedPoiSubcategory,\n handleMarkerClick,\n showSchoolRatings,\n } = useLocalContent();\n const { handleAddSessionTriggerCount } = useSurveyTrigger();\n const activeItemRef = useRef<HTMLLIElement | null>(null);\n\n useEffect(() => {\n if (activeItemRef.current) {\n activeItemRef.current.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n });\n }\n }, [activeMarker]);\n\n const isUsingLargerRadius = useMemo(() => {\n if (!markersData || Object.keys(markersData).length === 0) {\n return false;\n }\n\n const farMarker = Object.values(markersData)\n .flat()\n .find(\n (marker) =>\n typeof marker?.proximity?.linear_distance === \"number\" &&\n marker.proximity.linear_distance > DEFAULT_RADIUS,\n );\n\n return typeof farMarker !== \"undefined\";\n }, [markersData]);\n\n const handleSelectMarkerOnMap = (poi: MarkerValue) => () => {\n const markerId = getIdFromMarker(poi.lat, poi.lng, poi.name);\n handleAddSessionTriggerCount();\n handleMarkerClick({\n id: markerId,\n latitude: poi.lat,\n longitude: poi.lng,\n markers: [\n {\n id: markerId,\n latitude: poi.lat,\n longitude: poi.lng,\n name: poi.name,\n },\n ],\n });\n\n if (typeof onSelect !== \"undefined\" && selectedPoiSubcategory !== null) {\n onSelect(poi, selectedPoiSubcategory);\n }\n };\n\n if (pois.length === 0) {\n return null;\n }\n\n return (\n <div className={styles.container} data-testid=\"score-poi-list-content\">\n <p className={styles.title} data-testid=\"score-poi-list-title\">\n {!isUsingLargerRadius &&\n t(\"poiSearchRadius\", {\n radius:\n distanceUnit === \"imperial\"\n ? ((DEFAULT_RADIUS / 1000) * 0.621371).toFixed(1)\n : (DEFAULT_RADIUS / 1000).toFixed(1),\n unit: t(\n `common:distance.${distanceUnit === \"imperial\" ? \"mile\" : \"kilometer\"}`,\n ),\n })}\n </p>\n\n {showPois && (\n <ul className={styles.list}>\n {pois.map((poi) => {\n const isActive =\n activeMarker?.id === getIdFromMarker(poi.lat, poi.lng, poi.name);\n\n return (\n <li\n ref={isActive ? activeItemRef : null}\n className={styles.item}\n key={`${poi.lat}-${poi.lng}-${poi.name}`}\n data-is-active={isActive}\n >\n <button\n data-testid=\"score-poi-list-item\"\n onClick={handleSelectMarkerOnMap(poi)}\n className={styles.button}\n >\n <span className={styles.poi}>\n <span\n className={styles.name}\n data-testid=\"score-poi-list-name\"\n >\n {poi.name}\n </span>\n <CaretRightIcon weight=\"bold\" className={styles.icon} />\n </span>\n\n {typeof (poi as School)?.school_attributes?.types !==\n \"undefined\" && (\n <div className={styles.schoolTypes}>\n {(poi as School)?.school_attributes?.types?.map(\n (schoolType) => (\n <span\n key={`score-poi-list-school-type-${poi.lat}-${poi.lng}-${poi.name}`}\n className={styles.badge}\n >\n {schoolType}\n </span>\n ),\n )}\n {showSchoolRatings &&\n typeof (poi as School)?.rating === \"string\" && (\n <span className={styles.badge}>\n {(poi as School)?.rating}\n </span>\n )}\n </div>\n )}\n\n <TransitRoutes\n keyPrefix={`poi-transit-routes-${poi.lat}-${poi.lng}`}\n routes={(poi as POI).routes}\n useLongName={selectedPoiSubcategory === \"train_stations\"}\n className={styles.routes}\n />\n </button>\n </li>\n );\n })}\n </ul>\n )}\n </div>\n );\n}\n","export const container = `w-full`;\n","import React from \"react\";\n\nimport type { Markers, MarkerValue } from \"./types\";\n\nimport { Loading } from \"./Loading\";\nimport { Subcategories } from \"./Subcategories\";\nimport { List } from \"./List\";\n\nimport * as styles from \"./styles\";\nimport type { ScoreKey, POISubcategory } from \"~/sdks/LocalContent/types\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nexport function ScorePoiList({\n scoreKey,\n isLoading = false,\n showPois = true,\n pois,\n onPOISelected,\n}: {\n scoreKey: ScoreKey | null;\n isLoading?: boolean;\n showPois?: boolean;\n pois?: Markers;\n onPOISelected?: (poi: MarkerValue, category: POISubcategory) => void;\n}) {\n const {\n availablePoiSubcategories,\n selectedPoiSubcategory,\n handleSelectPoiSubcategory,\n } = useLocalContent();\n\n if (isLoading) {\n return <Loading />;\n }\n\n if (typeof pois === \"undefined\" || selectedPoiSubcategory === null) {\n return null;\n }\n\n return (\n <div className={styles.container}>\n <Subcategories\n availablePoiSubcategories={availablePoiSubcategories}\n scoreKey={scoreKey}\n selectedSubcategory={selectedPoiSubcategory}\n onSelectCategory={handleSelectPoiSubcategory}\n />\n\n {typeof pois[selectedPoiSubcategory] !== \"undefined\" && (\n <List\n pois={pois[selectedPoiSubcategory]}\n showPois={showPois}\n onSelect={onPOISelected}\n />\n )}\n </div>\n );\n}\n","export const container = `\n w-full flex gap-2 items-center justify-between\n`;\nexport const title = `flex grow gap-2 items-center`;\nexport const text = `text-nowrap text-gray-800 font-medium flex items-center -mt-1`;\n","export const container = `rounded text-xs font-medium bg-base-white text-primary-100 border border-primary-100 h-5 flex items-center justify-center w-16 shrink-0`;\n","import React, { useMemo } from \"react\";\n\nimport * as styles from \"./styles\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\nimport type { ScoreKey } from \"~/sdks/LocalContent/types\";\n\nexport function ScoreValue({\n scoreKey,\n value,\n}: {\n scoreKey?: ScoreKey;\n value?: number;\n}) {\n const { hideScoresList } = useLocalContent();\n\n const hide = useMemo(\n () => typeof scoreKey === \"undefined\" || hideScoresList.includes(scoreKey),\n [scoreKey, hideScoresList],\n );\n\n if (hide || typeof value !== \"number\" || value <= 0) {\n return null;\n }\n\n return (\n <div className={styles.container} data-testid=\"score-value\">\n {value > 10 ? 10 : value} / 10\n </div>\n );\n}\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { ColorIcon } from \"@local-logic/design-system\";\nimport * as styles from \"./styles\";\nimport { ScoreValue } from \"~/sdks/LocalContent/components/ScoreValue\";\nimport { ScoreIcon } from \"~/components/ScoreIcon\";\n\nimport type { ScoreKey } from \"~/sdks/LocalContent/types\";\n\nexport type ScoreProps = {\n scoreKey: ScoreKey | null;\n scoreValue?: number;\n backgroundColor?: string;\n fillColor?: string;\n className?: string;\n};\n\nexport function Score({\n scoreKey,\n scoreValue,\n backgroundColor,\n fillColor,\n className,\n}: ScoreProps) {\n const { t } = useTranslation([\"common\"]);\n\n if (scoreKey === null) {\n return null;\n }\n\n return (\n <div\n className={twMerge(styles.container, className)}\n data-testid=\"score-component\"\n >\n <span className={styles.title}>\n <ColorIcon\n element={<ScoreIcon score={scoreKey} />}\n backgroundColor={backgroundColor}\n fillColor={fillColor}\n />\n <span className={styles.text}>\n {t(`common:scores.${scoreKey}.title`)}\n </span>\n </span>\n <ScoreValue scoreKey={scoreKey} value={scoreValue} />\n </div>\n );\n}\n","import React from \"react\";\n\nimport { useRootElement } from \"../context\";\nimport * as styles from \"./styles\";\nimport { ScoreComparison } from \"~/sdks/LocalContent/components/ScoreComparison\";\nimport { ScoreText } from \"~/sdks/LocalContent/components/ScoreText\";\nimport { ScorePoiList } from \"~/sdks/LocalContent/components/ScorePoiList\";\nimport type { MarkerValue } from \"~/sdks/LocalContent/components/ScorePoiList/types\";\n\nimport {\n type POISubcategory,\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nimport { Score } from \"~/sdks/LocalContent/components/Score\";\n\nimport { useTracking } from \"~/tracking\";\n\nexport function ScoreDetails() {\n const {\n isExpanded,\n isMarkersLoading,\n activeScore,\n activeScoreData,\n markersData,\n } = useRootElement();\n const tracking = useTracking();\n\n const handleOnPOISelected = (poi: MarkerValue, category: POISubcategory) => {\n if (activeScore === null) {\n return;\n }\n\n const eventAttributes: Record<string, boolean | string | number> = {\n score: activeScore,\n category,\n latitude: poi.lat,\n longitude: poi.lng,\n name: poi.name,\n };\n\n Object.entries(poi).forEach(([key, value]) => {\n if ([\"boolean\", \"string\", \"number\"].includes(typeof value)) {\n if (key === \"lat\" || key === \"lng\" || key === \"name\") {\n return;\n }\n eventAttributes[key] = value;\n }\n });\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SIDEBAR_POI_SELECTED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.SIDEBAR_POI_SELECTED,\n eventAttributes,\n });\n };\n\n return (\n <div\n className={styles.container}\n data-testid=\"sidebar-score-details\"\n data-is-visible={isExpanded}\n >\n <Score\n scoreKey={activeScore}\n scoreValue={activeScoreData?.value}\n backgroundColor={activeScoreData?.categoryOptions?.colors?.background}\n fillColor={activeScoreData?.categoryOptions?.colors?.fill}\n className={styles.score}\n />\n <ScoreComparison\n scoreKey={activeScore}\n locationScoreValue={activeScoreData?.value}\n comparedTo={activeScoreData?.geographies?.g30}\n />\n <ScoreText text={activeScoreData?.text} />\n <ScorePoiList\n isLoading={isMarkersLoading}\n pois={markersData}\n scoreKey={activeScore}\n onPOISelected={handleOnPOISelected}\n />\n </div>\n );\n}\n","export const container = `absolute top-14 left-0 bottom-0 h-auto w-full bg-base-white p-4 overflow-y-auto`;\n","export const container = `\n flex flex-col\n\n transition-transform duration-15 ease-in-out\n\n data-[direction=\"right-to-left\"]:translate-x-full\n data-[direction=\"left-to-right\"]:-translate-x-full\n data-[direction=\"bottom-to-top\"]:translate-y-full\n data-[direction=\"top-to-bottom\"]:-translate-y-full\n\n data-[direction=\"right-to-left\"]:data-[is-open=true]:translate-x-0\n data-[direction=\"left-to-right\"]:data-[is-open=true]:translate-x-0\n data-[direction=\"bottom-to-top\"]:data-[is-open=true]:translate-y-0\n data-[direction=\"top-to-bottom\"]:data-[is-open=true]:translate-y-0\n`;\n","import React, { useRef, useImperativeHandle } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport * as styles from \"./styles\";\n\nexport const Slider = React.forwardRef<\n HTMLDivElement,\n {\n isOpen?: boolean;\n direction?:\n | \"right-to-left\"\n | \"left-to-right\"\n | \"bottom-to-top\"\n | \"top-to-bottom\";\n className?: string;\n children?: React.ReactNode;\n }\n>(\n (\n {\n isOpen = false,\n direction = \"right-to-left\",\n className,\n children,\n ...rest\n },\n forwardedRef,\n ) => {\n const internalRef = useRef<HTMLDivElement>(null);\n\n useImperativeHandle(\n forwardedRef,\n () => internalRef.current as HTMLDivElement,\n );\n\n return (\n <div\n ref={internalRef}\n className={twMerge(styles.container, className)}\n data-testid=\"slider\"\n data-is-open={isOpen}\n data-direction={direction}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nSlider.displayName = \"Slider\";\n","import React from \"react\";\n\nimport { useRootElement } from \"../context\";\n\nimport * as styles from \"./styles\";\nimport { Slider as SliderComponent } from \"~/sdks/LocalContent/components/Slider\";\n\nexport function Slider({ children }: { children?: React.ReactNode }) {\n const { activeScore, isExpanded } = useRootElement();\n\n return (\n <SliderComponent\n isOpen={isExpanded && !!activeScore}\n className={styles.container}\n >\n {children}\n </SliderComponent>\n );\n}\n","import React from \"react\";\n\nimport type { RootProps } from \"./types\";\n\nimport { RootElementContextProvider } from \"./context\";\n\nexport const Root = ({\n isExpanded,\n isScoresLoading,\n isMarkersLoading,\n activeScore,\n activeScoreData,\n markersData,\n onSelectScore,\n onToggleIsExpanded,\n children,\n}: RootProps) => (\n <RootElementContextProvider\n isExpanded={isExpanded}\n isScoresLoading={isScoresLoading}\n isMarkersLoading={isMarkersLoading}\n activeScore={activeScore}\n activeScoreData={activeScoreData}\n markersData={markersData}\n onSelectScore={onSelectScore}\n onToggleIsExpanded={onToggleIsExpanded}\n >\n {children}\n </RootElementContextProvider>\n);\n\n// Export children\nexport { Content } from \"./Content\";\nexport { Header } from \"./Header\";\nexport { Category } from \"./Category\";\nexport { Score } from \"./Score\";\nexport { ScoreDetails } from \"./ScoreDetails\";\nexport { Slider } from \"./Slider\";\n","export const container = `absolute top-2.5 left-2 flex gap-x-3 z-10`;\nexport const item = `\n group rounded-full h-10 min-w-10 max-w-10 w-10 px-3 whitespace-nowrap text-base-white\n flex gap-0 items-center justify-center font-medium overflow-hidden -outline-offset-2\n shadow-4sm\n\n transition-none\n\n bg-[var(--background)]\n hover:bg-[var(--fill)]\n data-[is-active=true]:bg-[var(--fill)]\n data-[is-active=true]:max-w-full\n data-[is-active=true]:w-full\n data-[is-active=true]:gap-2\n data-[is-active=true]:transition-all\n`;\nexport const icon = `\n transition-colors w-5 h-5 flex-shrink-0\n\n fill-[var(--fill)]\n group-hover:fill-base-white\n group-data-[is-active=true]:fill-base-white\n`;\nexport const title = `\n text-sm\n transition-all max-w-0 translate-x-16\n\n group-data-[is-active=true]:max-w-none\n group-data-[is-active=true]:translate-x-0\n`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport * as styles from \"./styles\";\nimport { useTracking } from \"~/tracking\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\nimport { useSurveyTrigger } from \"~/sdks/LocalContent/hooks/useSurveyTrigger\";\n\nimport { ScoreIcon } from \"~/components/ScoreIcon\";\n\nimport {\n type ScoreKey,\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nexport function ScoresPillList({\n scores,\n backgroundColor,\n fillColor,\n}: {\n scores?: ScoreKey[];\n backgroundColor?: string;\n fillColor?: string;\n}) {\n const tracking = useTracking();\n const { t } = useTranslation([\"common\"]);\n const {\n activeScore,\n isCommuteCalculatorOpen,\n handleSelectScore: onSelectScore,\n handleToggleIsCommuteCalculatorOpen,\n } = useLocalContent();\n const { handleAddSessionTriggerCount } = useSurveyTrigger();\n\n const handleSelectScore = (scoreKey: ScoreKey) => () => {\n onSelectScore(scoreKey)();\n handleAddSessionTriggerCount();\n\n const eventAttributes = {\n scoreKey,\n isExpanded: activeScore === scoreKey,\n };\n\n if (isCommuteCalculatorOpen) {\n handleToggleIsCommuteCalculatorOpen();\n }\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.CATEGORIES_MENU_SCORE_SELECTED,\n eventAttributes: Object.entries(eventAttributes).map(([key, value]) => ({\n label: key,\n data: value,\n })),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.CATEGORIES_MENU_SCORE_SELECTED,\n eventAttributes,\n });\n };\n\n if (typeof scores === \"undefined\" || scores.length === 0) {\n return null;\n }\n\n return (\n <div\n data-testid=\"scores-pill-list\"\n className={styles.container}\n style={\n {\n \"--background\": backgroundColor,\n \"--fill\": fillColor,\n } as React.CSSProperties\n }\n >\n {scores.map((score) => (\n <button\n key={score}\n data-is-active={score === activeScore}\n data-score={score}\n data-testid=\"score-pill-item\"\n onClick={handleSelectScore(score)}\n className={styles.item}\n aria-label={t(`common:scores.${score}.title`)}\n >\n <ScoreIcon\n data-testid=\"score-pill-icon\"\n score={score}\n className={styles.icon}\n />\n <span data-testid=\"score-pill-title\" className={styles.title}>\n {t(`common:scores.${score}.title`)}\n </span>\n </button>\n ))}\n </div>\n );\n}\n","export const container = `flex items-center justify-center`;\nexport const caret = `w-4 h-4 shrink-0 group-data-[is-expanded=\"true\"]/bottom-slider:rotate-180 transition-transform duration-50 ease-in-out`;\n","import React from \"react\";\n\nimport { CaretUpIcon } from \"@phosphor-icons/react\";\n\nimport * as styles from \"./styles\";\n\nexport function Header({\n onClick,\n}: {\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n}) {\n if (typeof onClick === \"undefined\") {\n return (\n <div className={styles.container} data-testid=\"header-button\">\n <CaretUpIcon className={styles.caret} weight=\"bold\" />\n </div>\n );\n }\n\n return (\n <button\n className={styles.container}\n onClick={onClick}\n data-testid=\"header-button\"\n >\n <CaretUpIcon className={styles.caret} weight=\"bold\" />\n </button>\n );\n}\n","export const container = `\n group/bottom-slider flex flex-col gap-y-2 p-4\n absolute bottom-0 w-full shadow-sm\n transition-all duration-300 ease-in-out\n z-20 bg-base-white rounded-t-2xl h-fit \n\n data-[is-expanded=false]:max-h-20\n data-[is-expanded=true]:max-h-full\n\n data-[is-clickable=true]:cursor-pointer\n`;\n\nexport const expandToggle = `\n flex items-center justify-center\n`;\n","import React, { forwardRef } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { Slider } from \"../Slider\";\nimport { Header } from \"./Header\";\n\nimport * as styles from \"./styles\";\n\nexport const BottomSlider = forwardRef<\n HTMLDivElement,\n {\n isOpen?: boolean;\n isExpanded?: boolean;\n fullAreaClickable?: boolean;\n onExpandContract: (e: React.MouseEvent<HTMLButtonElement>) => void;\n children?: React.ReactNode;\n className?: string;\n }\n>(\n (\n {\n isOpen,\n isExpanded = true,\n fullAreaClickable = false,\n onExpandContract,\n children,\n className,\n ...rest\n },\n forwardedRef,\n ) => (\n <span onClick={fullAreaClickable ? onExpandContract : undefined}>\n <Slider\n ref={forwardedRef}\n direction=\"bottom-to-top\"\n isOpen={isOpen}\n data-is-expanded={isExpanded}\n data-is-clickable={fullAreaClickable}\n className={twMerge(styles.container, className)}\n {...rest}\n >\n <Header onClick={!fullAreaClickable ? onExpandContract : undefined} />\n {children}\n </Slider>\n </span>\n ),\n);\n\nBottomSlider.displayName = \"BottomSlider\";\n","export const container = `\n data-[is-expanded=false]:max-h-32\n data-[is-expanded=true]:max-h-96\n`;\nexport const score = `mb-1`;\nexport const scoreComparison = `ml-7`;\n","import React, { useState, useEffect, forwardRef } from \"react\";\n\nimport { BottomSlider } from \"../BottomSlider\";\nimport { Score } from \"../Score\";\nimport { ScoreComparison } from \"../ScoreComparison\";\nimport { ScoreText } from \"../ScoreText\";\nimport { ScorePoiList } from \"../ScorePoiList\";\n\nimport * as styles from \"./styles\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\n/**\n * This component is meant to be displayed on mobile devices only. It shows detailed\n * information about the selected score in a slider that appears from the bottom\n * of the screen.\n */\nexport const ScoreDetailsSlider = forwardRef<HTMLDivElement>(\n (_, forwardedRef) => {\n const {\n isCommuteCalculatorOpen,\n activeScore,\n activeScoreData,\n activeCategoryData,\n isMarkersLoading,\n markersData,\n } = useLocalContent();\n const [isExpanded, setIsExpanded] = useState(false);\n\n useEffect(() => {\n setIsExpanded(false);\n }, [activeScore]);\n\n const handleOnExpandContractClick = (\n e: React.MouseEvent<HTMLButtonElement>,\n ) => {\n // Sanity checks\n if (\n !activeScore ||\n !forwardedRef ||\n \"current\" in forwardedRef === false\n ) {\n return;\n }\n\n // When the slider is expanded, ignore clicks on the button inside the slider\n // This would allow for clicking on actions inside the slider without collapsing it\n if (isExpanded && e.target instanceof HTMLButtonElement) {\n return;\n }\n\n setIsExpanded((prev) => !prev);\n };\n\n if (isCommuteCalculatorOpen) {\n return null;\n }\n\n return (\n <BottomSlider\n ref={activeScore ? forwardedRef : undefined}\n data-testid=\"score-details-slider\"\n data-is-expanded={isExpanded}\n className={styles.container}\n isOpen={typeof activeScoreData !== \"undefined\"}\n isExpanded={isExpanded}\n fullAreaClickable\n onExpandContract={handleOnExpandContractClick}\n >\n <div className={styles.score}>\n <Score\n scoreKey={activeScore}\n scoreValue={activeScoreData?.value}\n backgroundColor={activeCategoryData?.colors?.background}\n fillColor={activeCategoryData?.colors?.fill}\n className={styles.score}\n />\n <ScoreComparison\n scoreKey={activeScore}\n locationScoreValue={activeScoreData?.value}\n comparedTo={activeScoreData?.geographies?.g30}\n className={styles.scoreComparison}\n />\n </div>\n <ScorePoiList\n isLoading={isMarkersLoading}\n pois={markersData}\n scoreKey={activeScore}\n showPois={false}\n />\n <ScoreText text={activeScoreData?.text} />\n </BottomSlider>\n );\n },\n);\n\nScoreDetailsSlider.displayName = \"ScoreDetailsSlider\";\n","import React, { useContext, useEffect } from \"react\";\n\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nimport type { CommuteData } from \"~/sdks/LocalContent/hooks/useCommute/types\";\nimport type { CommuteOptions, MapProvider } from \"~/sdks/LocalContent/types\";\n\nexport type DefaultContext = {\n isOpen: boolean;\n commuteOptions: CommuteOptions;\n commuteData: CommuteData | null;\n isCommuteDataLoading: boolean;\n location: { lat: number; lng: number };\n country: \"CAN\" | \"USA\";\n mapProvider?: MapProvider;\n distanceUnit?: \"metric\" | \"imperial\";\n onToggleIsOpen: () => void;\n handleCalculateCommute: (options: CommuteOptions) => void;\n};\n\nconst RootElementContext = React.createContext<DefaultContext>(\n {} as DefaultContext,\n);\nconst useRootElement = () => useContext(RootElementContext);\n\nconst RootElementContextProvider = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const {\n activeScore,\n activeCategory,\n selectedPoiSubcategory,\n map,\n country,\n location,\n isCommuteCalculatorOpen,\n commuteData,\n commuteOptions,\n isCommuteDataLoading,\n distanceUnit = \"metric\",\n handleToggleIsCommuteCalculatorOpen,\n handleCalculateCommute,\n } = useLocalContent();\n\n const isCommuteCalculatorOpenRef = React.useRef(isCommuteCalculatorOpen);\n\n // Keep the ref updated with the latest value\n useEffect(() => {\n isCommuteCalculatorOpenRef.current = isCommuteCalculatorOpen;\n }, [isCommuteCalculatorOpen]);\n\n useEffect(() => {\n if (isCommuteCalculatorOpenRef.current) {\n handleToggleIsCommuteCalculatorOpen();\n }\n }, [activeScore, activeCategory, selectedPoiSubcategory]);\n\n return (\n <RootElementContext.Provider\n value={{\n isOpen: isCommuteCalculatorOpen,\n commuteData,\n commuteOptions,\n isCommuteDataLoading,\n location: location as DefaultContext[\"location\"],\n country: country === \"CAN\" ? \"CAN\" : \"USA\",\n mapProvider: map?.mapProvider,\n distanceUnit,\n onToggleIsOpen: handleToggleIsCommuteCalculatorOpen,\n handleCalculateCommute,\n }}\n >\n {children}\n </RootElementContext.Provider>\n );\n};\n\nexport { useRootElement, RootElementContextProvider };\n","export const container = `\n z-10 sm:rounded text-sm h-10 data-[is-active=true]:bg-primary-200\n\n max-sm:rounded-full\n max-sm:w-10\n max-sm:px-0\n max-sm:!bg-primary-50\n max-sm:hover:!bg-primary-100\n`;\nexport const icon = `w-5 h-5`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { Button } from \"@local-logic/design-system\";\n\nimport { TrafficSignIcon } from \"@phosphor-icons/react\";\n\nimport { useRootElement } from \"../context\";\n\nimport * as styles from \"./styles\";\nimport { useResponsiveBreakpoints } from \"~/hooks/useResponsiveBreakpoints\";\n\nexport function Trigger() {\n const { t } = useTranslation(\"localContent\");\n const breakpoints = useResponsiveBreakpoints();\n const { isOpen, onToggleIsOpen } = useRootElement();\n\n return (\n <Button\n className={styles.container}\n prefixIcon={<TrafficSignIcon className={styles.icon} />}\n data-testid=\"commute-calculator-trigger\"\n data-is-active={isOpen}\n onClick={onToggleIsOpen}\n >\n {breakpoints.sm &&\n t(\"commute.cta\", { context: breakpoints.xs ? \"long\" : \"short\" })}\n </Button>\n );\n}\n","export const container = `\n p-3 bg-base-white rounded z-10\n absolute top-0 right-0\n shadow-3sm w-fit\n\n min-w-64 lg:min-w-72\n max-w-[300px] lg:max-w-none\n`;\n","import React from \"react\";\n\nimport { useRootElement } from \"../context\";\n\nimport * as styles from \"./styles\";\n\nexport function Card({ children }: { children?: React.ReactNode }) {\n const { isOpen } = useRootElement();\n\n if (!isOpen) {\n return null;\n }\n\n return <div className={styles.container}>{children}</div>;\n}\n","import React from \"react\";\n\nimport { useRootElement } from \"../context\";\nimport { BottomSlider } from \"~/sdks/LocalContent/components/BottomSlider\";\n\nexport function Slider({ children }: { children?: React.ReactNode }) {\n const { isOpen, onToggleIsOpen } = useRootElement();\n\n return (\n <BottomSlider isOpen={isOpen} isExpanded onExpandContract={onToggleIsOpen}>\n {isOpen && children}\n </BottomSlider>\n );\n}\n","export const container = `w-full flex flex-row lg:flex-col items-baseline gap-x-4 gap-y-1 text-xs`;\nexport const duration = `text-sm font-medium text-gray-800`;\nexport const distance = `font-normal text-gray-400`;\nexport const loading = `block w-full h-4 bg-gray-200 rounded animate-pulse`;\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useRootElement } from \"../../context\";\n\nimport * as styles from \"./styles\";\nimport {\n METERS_TO_YARDS_CONVERSION_FACTOR,\n YARDS_PER_MILE,\n METERS_PER_KILOMETER,\n} from \"~/sdks/LocalContent/constants\";\n\nexport function Route({ isLoading = false }: { isLoading?: boolean }) {\n const { t } = useTranslation([\"localContent\", \"common\"]);\n const { commuteData, distanceUnit } = useRootElement();\n\n const durationString = useMemo(() => {\n if (!commuteData?.duration) return null;\n\n const hours = Math.floor(commuteData.duration / 60 / 60);\n const minutes = Math.floor((commuteData.duration / 60) % 60);\n\n const minutesString = `${minutes} ${t(\"common:time.minute\", { count: minutes })}`;\n\n if (hours === 0) {\n return minutesString;\n }\n\n if (minutes === 0) {\n return `${hours} ${t(\"common:time.hour\", { count: hours })}`;\n }\n\n return `${hours} ${t(\"common:time.hour\", { count: hours })} ${minutesString}`;\n }, [commuteData?.duration, t]);\n\n const distanceString = useMemo(() => {\n if (!commuteData?.distance) {\n return null;\n }\n\n // HereApi returns the length in metric\n let distanceInUnit = commuteData.distance;\n const isImperialSystem = distanceUnit === \"imperial\";\n\n if (isImperialSystem) {\n distanceInUnit *= METERS_TO_YARDS_CONVERSION_FACTOR;\n }\n\n const kilometersOrMiles =\n distanceInUnit /\n (isImperialSystem ? YARDS_PER_MILE : METERS_PER_KILOMETER);\n\n if (kilometersOrMiles < 1) {\n return `${Math.floor(distanceInUnit)} ${t(`common:distance.${isImperialSystem ? \"yard\" : \"meter\"}`)}`;\n }\n\n return `${Math.floor(kilometersOrMiles * 100) / 100} ${t(`common:distance.${isImperialSystem ? \"mile\" : \"kilometer\"}`)}`;\n }, [commuteData?.distance, t]);\n\n if (!commuteData && !isLoading) {\n return null;\n }\n\n return (\n <div className={styles.container}>\n {isLoading && (\n <span data-testid=\"commute-loading\" className={styles.loading}></span>\n )}\n {!isLoading && durationString && (\n <p data-testid=\"commute-duration\" className={styles.duration}>\n {durationString.toLowerCase()}\n </p>\n )}\n {!isLoading && !durationString && (\n <p data-testid=\"commute-duration\" className={styles.duration}>\n {t(\"commute.results.noRoute\")}\n </p>\n )}\n\n {!isLoading && distanceString && (\n <p data-testid=\"commute-distance\" className={styles.distance}>\n {`${distanceString} - ${t(\"commute.results.fastestRoute\")}`}\n </p>\n )}\n {!isLoading && !distanceString && (\n <p data-testid=\"commute-distance\" className={styles.distance}>\n {t(\"commute.results.trySuggestion\")}\n </p>\n )}\n </div>\n );\n}\n","export const container = `w-full flex flex-row lg:flex-col items-baseline gap-x-4 gap-y-1 text-xs`;\nexport const title = `text-sm font-medium text-gray-800`;\nexport const description = `font-normal text-gray-400`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport * as styles from \"./styles\";\n\nexport function NoRoute() {\n const { t } = useTranslation(\"localContent\");\n\n return (\n <div className={styles.container}>\n <p data-testid=\"no-route-title\" className={styles.title}>\n {t(\"commute.results.noRoute\")}\n </p>\n <p data-testid=\"no-route-description\" className={styles.description}>\n {t(\"commute.results.trySuggestion\")}\n </p>\n </div>\n );\n}\n","export const trigger = `w-full group/select flex basis-0 items-center justify-between h-12 rounded border data-[state=\"open\"]:border-primary-100 px-4 py-3 bg-base-white whitespace-nowrap`;\nexport const icon = `p-1 group-data-[state=\"open\"]/select:rotate-180 transition-transform duration-50 ease-in-out`;\nexport const item = `\n relative flex items-center w-full gap-2 py-2.5 px-4 text-sm font-normal text-gray-400 cursor-pointer\n \n hover:bg-primary-10\n hover:text-base-black\n hover:font-medium\n \n data-[state=\"checked\"]:bg-primary-10\n data-[state=\"checked\"]:text-base-black\n data-[state=\"checked\"]:font-medium\n`;\nexport const content = `bg-white rounded-lg py-3 shadow z-10`;\nexport const contentViewport = `h-[var(--radix-select-trigger-height)] min-w-[var(--radix-select-trigger-width)] w-full`;\n","import React from \"react\";\n\nimport * as RadixSelect from \"@radix-ui/react-select\";\n\nimport {\n CaretDownIcon,\n PersonSimpleWalkIcon,\n CarIcon,\n BicycleIcon,\n} from \"@phosphor-icons/react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport * as styles from \"./styles\";\nimport type { TravelMode } from \"~/sdks/LocalContent/hooks/useCommute/types\";\n\nconst options = [\"walking\", \"driving\", \"cycling\"] as TravelMode[];\nconst icons = {\n walking: <PersonSimpleWalkIcon size={16} />,\n driving: <CarIcon size={16} />,\n cycling: <BicycleIcon size={16} />,\n};\n\nexport interface SelectProps {\n name: string;\n selected?: TravelMode;\n isOpen?: boolean;\n onChange: (value: TravelMode) => void;\n disabled?: boolean;\n placeholder?: string;\n}\n\nexport const Select = ({\n name,\n selected = options[0],\n onChange,\n disabled,\n}: SelectProps) => {\n const { t } = useTranslation(\"localContent\");\n\n return (\n <RadixSelect.Root\n value={selected}\n onValueChange={(value: string) => onChange(value as TravelMode)}\n >\n <RadixSelect.Trigger\n id={name}\n data-testid={`select-${name}`}\n className={styles.trigger}\n disabled={disabled}\n >\n <RadixSelect.Value placeholder={t(`commute.travelTypes.${selected}`)}>\n {icons[selected]}\n </RadixSelect.Value>\n <RadixSelect.Icon asChild>\n <CaretDownIcon className={styles.icon} size={20} />\n </RadixSelect.Icon>\n </RadixSelect.Trigger>\n\n <RadixSelect.Content\n className={styles.content}\n align=\"start\"\n sticky=\"always\"\n >\n <RadixSelect.Viewport className={styles.contentViewport}>\n <>\n {options.map((value) => (\n <RadixSelect.Item\n className={styles.item}\n key={value}\n value={value}\n >\n <RadixSelect.Icon>{icons[value]}</RadixSelect.Icon>\n\n <RadixSelect.ItemText>\n {t(`commute.travelTypes.${value}`)}\n </RadixSelect.ItemText>\n </RadixSelect.Item>\n ))}\n </>\n </RadixSelect.Viewport>\n </RadixSelect.Content>\n </RadixSelect.Root>\n );\n};\n","export const container = `flex flex-col gap-4`;\nexport const form = `flex gap-2`;\n","import React from \"react\";\n\nexport const textWithHighlighting = (text: string, highlight: string) => {\n // Escape special characters in the highlight, otherwise chracters like '\\'\n // will throw an error.\n const escaped = highlight.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n const parts = text.split(new RegExp(`(${escaped})`, \"gi\"));\n\n return parts.map((part, i) =>\n part.toLowerCase() === highlight.toLowerCase() ? (\n <strong key={i}>{part}</strong>\n ) : (\n <span key={i}>{part}</span>\n ),\n );\n};\n","import type { Suggestion, SuggestionsResponse } from \"../types\";\nimport type { MapboxSuggestion, MapboxSuggestionsResponse } from \"./types\";\n\nconst formatSuggestion = (suggestion: MapboxSuggestion): Suggestion => {\n const { properties } = suggestion;\n const { context } = suggestion.properties;\n\n return {\n label: properties.name,\n language: properties.language,\n countryCode: context.country?.country_code_alpha_3 ?? \"\",\n locationId: properties.mapbox_id,\n address: {\n description: `${properties.name}, ${properties.place_formatted}`,\n country: context.country?.name ?? \"\",\n state: context.region?.region_code ?? \"\",\n city: context.place?.name ?? \"\",\n postalCode: context.postcode?.name ?? \"\",\n county: context.district?.name ?? \"\",\n street: context.address?.street_name ?? \"\",\n houseNumber: context.address?.address_number ?? \"\",\n coordinates: {\n latitude: properties.coordinates.latitude,\n longitude: properties.coordinates.longitude,\n },\n },\n };\n};\n\nexport const transformSuggestionsResponse = (\n response: MapboxSuggestionsResponse,\n): SuggestionsResponse => ({\n suggestions: response.features.map((suggestion: MapboxSuggestion) =>\n formatSuggestion(suggestion),\n ),\n});\n","import { useQuery } from \"@tanstack/react-query\";\nimport type { Location, Country, SuggestionsResponse } from \"./types\";\nimport { transformSuggestionsResponse } from \"./transformSuggestionsResponse\";\n\nimport useDebounce from \"~/hooks/useDebounce\";\n\nconst MAPBOX_ENDPOINT = \"https://api.mapbox.com/search/searchbox/v1/forward?\";\n\nexport function useAddressSearch({\n location,\n country,\n locale = \"en\",\n query,\n}: {\n location: Location;\n country: Country;\n locale?: string;\n query: string;\n}) {\n const debouncedQuery = useDebounce(query, 1250);\n const regionCode = country === \"CAN\" ? \"CA\" : \"US\";\n\n const options = {\n q: debouncedQuery,\n language: locale,\n proximity: `${location.lng},${location.lat}`,\n origin: `${location.lng},${location.lat}`,\n country: regionCode,\n types: \"poi,address,street,neighborhood,locality,city,place\",\n limit: \"5\",\n access_token: import.meta.env.VITE_MAPBOX_API_KEY as string,\n };\n\n /**\n * Fetches address suggestions from Mapbox Search API.\n *\n * @returns SuggestionsResponse\n */\n const fetchSuggestions = async (): Promise<SuggestionsResponse> => {\n const response = await fetch(\n MAPBOX_ENDPOINT + new URLSearchParams(options),\n );\n\n return transformSuggestionsResponse(await response.json());\n };\n\n return useQuery({\n queryKey: [useAddressSearch.name, debouncedQuery],\n queryFn: fetchSuggestions,\n enabled: !!debouncedQuery.length && debouncedQuery.length >= 4,\n });\n}\n","import React, { useState, useEffect, useMemo } from \"react\";\n\nimport { MagnifyingGlassIcon } from \"@phosphor-icons/react\";\nimport { Form as FormComponent } from \"@local-logic/design-system\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRootElement } from \"../context\";\nimport { Route } from \"./Route\";\nimport { NoRoute } from \"./NoRoute\";\nimport { Select } from \"./Select\";\nimport * as styles from \"./styles\";\nimport { browserUtils } from \"~/utils\";\nimport { textWithHighlighting } from \"~/utils/formatters/textWithHighlighting\";\n\nimport type { TravelMode } from \"~/sdks/LocalContent/hooks/useCommute/types\";\n\nimport {\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/LocalContent/types\";\n\nimport { useResponsiveBreakpoints } from \"~/hooks/useResponsiveBreakpoints\";\nimport { useTracking } from \"~/tracking\";\nimport { useAddressSearch } from \"~/sdks/LocalContent/hooks/useAddressSearch\";\nimport type { Suggestion } from \"~/sdks/LocalContent/hooks/useAddressSearch/types\";\n\nexport function Form() {\n const { t } = useTranslation(\"localContent\");\n const tracking = useTracking();\n const breakpoints = useResponsiveBreakpoints();\n const {\n commuteData,\n commuteOptions,\n isCommuteDataLoading,\n country,\n location,\n handleCalculateCommute,\n } = useRootElement();\n\n // State for search input field\n const [isFieldFocused, setIsFieldFocused] = useState(false);\n const [searchQuery, setSearchQuery] = useState(\"\");\n const [selectedValue, setSelectedValue] = useState<string | undefined>();\n\n const { data, isLoading } = useAddressSearch({\n query: searchQuery,\n country,\n location,\n });\n\n useEffect(() => {\n if (typeof commuteData?.label === \"string\" && commuteData.label !== \"\") {\n setSelectedValue(commuteData.label);\n }\n }, [commuteData?.label]);\n\n const suggestionResults = useMemo(\n () =>\n !searchQuery\n ? (\n browserUtils.commuteHistory.getSuggestionHistory() as Suggestion[]\n ).slice(0, 3)\n : data?.suggestions || [],\n [searchQuery, data?.suggestions],\n );\n\n const options = useMemo(() => {\n if (!isFieldFocused || !suggestionResults.length) {\n return [];\n }\n\n return suggestionResults\n .filter(\n (suggestion) => typeof suggestion?.address?.description === \"string\",\n )\n .map((suggestion) => ({\n value: suggestion.address?.description || \"\",\n label: textWithHighlighting(\n suggestion.address?.description || \"\",\n searchQuery,\n ),\n key: suggestion.locationId || `address-${suggestion.locationId}`,\n })) as unknown as FormComponent.Option<string>[];\n }, [isFieldFocused, searchQuery, suggestionResults]);\n\n const handleOnSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchQuery(e.target.value);\n };\n\n const handleOnSearchClear = () => {\n handleCalculateCommute({\n ...commuteOptions,\n label: undefined,\n destination: undefined,\n });\n setSelectedValue(undefined);\n };\n\n const handleOnSelect = async (value: string) => {\n setSelectedValue(value);\n\n const suggestion = suggestionResults.find(\n (suggestionResult) => suggestionResult.address?.description === value,\n );\n\n if (typeof suggestion === \"undefined\") {\n return;\n }\n\n if (typeof suggestion?.address?.coordinates !== \"undefined\") {\n browserUtils.commuteHistory.push(suggestion);\n handleCalculateCommute({\n ...commuteOptions,\n label: value,\n destination: {\n lat: suggestion.address.coordinates.latitude,\n lng: suggestion.address.coordinates.longitude,\n },\n });\n\n const eventAttributes = {\n label: value,\n mode: commuteOptions.commuteType,\n destinationLat: suggestion.address.coordinates.latitude,\n destinationLng: suggestion.address.coordinates.longitude,\n };\n\n tracking.postEvent({\n eventType: TrackingPipelineEvents.COMMUTE_CALCULATOR_CALCULATE_ROUTE,\n eventAttributes: Object.entries(eventAttributes).map(\n ([key, objectValue]) => ({\n label: key,\n data: objectValue,\n }),\n ),\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.COMMUTE_CALCULATOR_CALCULATE_ROUTE,\n eventAttributes,\n });\n }\n };\n\n const handleOnFieldFocus = () => {\n setIsFieldFocused(true);\n };\n\n const handleOnFieldBlur = () => {\n setIsFieldFocused(false);\n };\n\n const handleOnCommuteTypeChange = (value: TravelMode) => {\n handleCalculateCommute({\n ...commuteOptions,\n commuteType: value,\n });\n };\n\n return (\n <div className={styles.container}>\n <FormComponent.Root\n initialValues={{ searchQuery: \"\" }}\n className={styles.form}\n >\n <FormComponent.SearchAndSelect<string>\n name=\"searchQuery\"\n label={\n !selectedValue &&\n !isFieldFocused &&\n typeof commuteData?.label === \"string\"\n ? commuteData.label\n : t(\"commute.placeholder\")\n }\n direction={breakpoints.sm ? \"topToBottom\" : \"bottomToTop\"}\n maxLength={150}\n clearOnSelect={false}\n selectedLabel={selectedValue}\n prefixIcon={MagnifyingGlassIcon}\n isLoading={isLoading || isCommuteDataLoading}\n options={options}\n onChange={handleOnSearchChange}\n onClear={handleOnSearchClear}\n onSelect={handleOnSelect}\n onFocus={handleOnFieldFocus}\n onBlur={handleOnFieldBlur}\n />\n\n <Select\n name=\"commuteType\"\n selected={commuteOptions.commuteType}\n onChange={handleOnCommuteTypeChange}\n />\n </FormComponent.Root>\n\n <Route isLoading={isCommuteDataLoading} />\n {typeof commuteOptions.destination !== \"undefined\" &&\n commuteData === null &&\n !isCommuteDataLoading && <NoRoute />}\n </div>\n );\n}\n","export const container = `w-full flex justify-between items-center mb-2`;\nexport const title = `text-xs font-normal text-base-black`;\nexport const icon = `w-4 h-4 ml-3 cursor-pointer`;\n","import React from \"react\";\n\nimport { XIcon } from \"@phosphor-icons/react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useRootElement } from \"../context\";\n\nimport * as styles from \"./styles\";\n\nexport function Header({\n hideCloseButton = false,\n}: {\n hideCloseButton?: boolean;\n}) {\n const { t } = useTranslation(\"localContent\");\n const { onToggleIsOpen } = useRootElement();\n\n return (\n <div className={styles.container}>\n <h2 data-testid=\"commute-calculator-title\" className={styles.title}>\n {t(\"commute.cta\")}\n </h2>\n\n {!hideCloseButton && (\n <button\n onClick={onToggleIsOpen}\n data-testid=\"commute-calculator-close-button\"\n >\n <XIcon weight=\"bold\" className={styles.icon} />\n </button>\n )}\n </div>\n );\n}\n","import React from \"react\";\n\nimport type { RootProps } from \"./types\";\n\nimport { RootElementContextProvider } from \"./context\";\n\nexport const Root = ({ isDisabled = false, children }: RootProps) => (\n <RootElementContextProvider>\n {!isDisabled && children}\n </RootElementContextProvider>\n);\n\n// Export children\nexport { Trigger } from \"./Trigger\";\nexport { Card } from \"./Card\";\nexport { Slider } from \"./Slider\";\nexport { Form } from \"./Form\";\nexport { Header } from \"./Header\";\n","export const container = `relative bg-base-white w-full h-screen flex flex-col`;\n// Although we set \"bottom\" for mobile here, it will be overridden by inline style in Content.tsx\nexport const menuMobileBottomOffset = 64;\nexport const menuMobileBottomOffsetExpanded = 20;\nexport const menu = `\n absolute max-sm:bottom-16 max-sm:left-2 sm:top-3 sm:right-3 flex gap-x-2 items-center justify-end\n`;\n","import React, { useMemo, useLayoutEffect, useRef, useState } from \"react\";\n\nimport { Header } from \"../Header\";\nimport { Map } from \"../Map\";\nimport { Sidebar } from \"../Sidebar\";\nimport { ScoresPillList } from \"../ScoresPillList\";\nimport { ScoreDetailsSlider } from \"../ScoreDetailsSlider\";\nimport { CommuteCalculator } from \"../CommuteCalculator\";\n\nimport * as styles from \"./styles\";\nimport { SCORE_POI_CATEGORIES } from \"~/sdks/LocalContent/constants\";\nimport { Attribution } from \"~/components/Attribution\";\nimport type {\n CategoryKey,\n ScoreKey,\n CategoryOptions,\n} from \"~/sdks/LocalContent/types\";\nimport type { TransformedScoresMenuData } from \"~/sdks/LocalContent/utils/transformScoresMenuData/types\";\nimport { useResponsiveBreakpoints } from \"~/hooks/useResponsiveBreakpoints\";\nimport { useLocalContent } from \"~/sdks/LocalContent/context\";\n\nconst SCORE_VALUE_THRESHOLD = 0.1;\n\nexport function Content() {\n const breakpoints = useResponsiveBreakpoints();\n const mobileScoreDetailsSliderRef = useRef<HTMLDivElement>(null);\n const [mobileCommuteButtonBottomOffset, setMobileCommuteButtonBottomOffset] =\n useState(styles.menuMobileBottomOffset);\n const {\n isCommuteCalculatorOpen,\n isScoresLoading,\n isMarkersLoading,\n isSidebarExpanded,\n hideAttribution,\n scoresMenu,\n scoresData,\n activeScore,\n activeScoreData,\n activeCategory,\n activeCategoryData,\n markersData,\n centerMarker,\n hideScoresList,\n locale,\n handleSelectScore,\n handleToggleIsSidebarExpanded,\n } = useLocalContent();\n\n const isMobile = useMemo(() => !breakpoints.sm, [breakpoints.sm]);\n\n const filteredScoresMenu = useMemo(\n () =>\n ({\n ...scoresMenu,\n categories: scoresMenu.categories\n .map(\n ([categoryKey, categoryValue]) =>\n [\n categoryKey,\n {\n ...categoryValue,\n scores: categoryValue.scores.filter(\n ([scoreKey, scoreValue]) => {\n // It pertains to the \"hideScores\" option in the SDK\n // https://docs.locallogic.co/docs/sdks/widgets/local-content#sdkoptions\n if (\n (hideScoresList.includes(scoreKey) ||\n scoreValue.hide) &&\n SCORE_POI_CATEGORIES[scoreKey].length === 0\n ) {\n return false;\n }\n\n return (\n typeof scoresData?.[scoreKey]?.value !== \"undefined\" &&\n scoresData[scoreKey].value > SCORE_VALUE_THRESHOLD\n );\n },\n ),\n },\n ] as [CategoryKey, CategoryOptions],\n )\n .filter(\n ([, categoryValue]) =>\n Array.isArray(categoryValue.scores) &&\n categoryValue.scores.length > 0,\n ),\n }) as TransformedScoresMenuData,\n [scoresMenu, scoresData],\n );\n\n const commuteCalculatorMenuStyles = useMemo(\n () =>\n isMobile ? { bottom: `${mobileCommuteButtonBottomOffset}px` } : undefined,\n [isMobile, mobileCommuteButtonBottomOffset],\n );\n\n useLayoutEffect(() => {\n const currentRef = mobileScoreDetailsSliderRef?.current;\n\n const handleRefTransition = () => {\n if (typeof currentRef?.offsetHeight !== \"undefined\") {\n setMobileCommuteButtonBottomOffset(\n (currentRef?.offsetHeight || 0) +\n styles.menuMobileBottomOffsetExpanded,\n );\n } else {\n setMobileCommuteButtonBottomOffset(styles.menuMobileBottomOffset);\n }\n };\n\n if (currentRef && !isCommuteCalculatorOpen) {\n currentRef.addEventListener(\"transitionrun\", handleRefTransition);\n currentRef.addEventListener(\"transitionend\", handleRefTransition);\n } else if (\n mobileCommuteButtonBottomOffset !== styles.menuMobileBottomOffset &&\n !isCommuteCalculatorOpen\n ) {\n setMobileCommuteButtonBottomOffset(styles.menuMobileBottomOffset);\n }\n\n return () => {\n currentRef?.removeEventListener(\"transitionrun\", handleRefTransition);\n currentRef?.removeEventListener(\"transitionend\", handleRefTransition);\n };\n }, [isCommuteCalculatorOpen, mobileCommuteButtonBottomOffset, activeScore]);\n\n return (\n <div className={styles.container}>\n {isMobile && filteredScoresMenu.categories.length > 0 && (\n <Header scores={filteredScoresMenu} />\n )}\n\n <Map>\n {isMobile && activeCategory && (\n <>\n <ScoresPillList\n scores={filteredScoresMenu.categories\n .find(([key]) => key === activeCategory)?.[1]\n .scores.flatMap(([scoreKey]) => scoreKey)}\n backgroundColor={activeCategoryData?.colors?.background}\n fillColor={activeCategoryData?.colors?.fill}\n />\n\n <ScoreDetailsSlider ref={mobileScoreDetailsSliderRef} />\n </>\n )}\n\n {!isMobile && filteredScoresMenu.categories.length > 0 && (\n <Sidebar.Root\n isExpanded={isSidebarExpanded}\n isScoresLoading={isScoresLoading}\n isMarkersLoading={isMarkersLoading}\n activeScore={activeScore}\n activeScoreData={activeScoreData}\n markersData={markersData}\n onSelectScore={handleSelectScore}\n onToggleIsExpanded={handleToggleIsSidebarExpanded}\n >\n <Sidebar.Header title={scoresMenu?.title} />\n <Sidebar.Content>\n {filteredScoresMenu.categories.map(([categoryKey, category]) => (\n <Sidebar.Category\n key={`category-${categoryKey}`}\n categoryKey={categoryKey as CategoryKey}\n >\n {category.scores.map(([scoreKey, _score]) => (\n <Sidebar.Score\n key={`sidebar-score-${categoryKey}-${scoreKey}`}\n scoreKey={scoreKey as ScoreKey}\n backgroundColor={category.colors?.background}\n fillColor={category.colors?.fill}\n />\n ))}\n </Sidebar.Category>\n ))}\n </Sidebar.Content>\n\n <Sidebar.Slider>\n <Sidebar.ScoreDetails />\n </Sidebar.Slider>\n </Sidebar.Root>\n )}\n\n <CommuteCalculator.Root\n isDisabled={typeof centerMarker === \"undefined\"}\n >\n <div className={styles.menu} style={commuteCalculatorMenuStyles}>\n {!isCommuteCalculatorOpen && <CommuteCalculator.Trigger />}\n\n {!isMobile && (\n <CommuteCalculator.Card>\n <CommuteCalculator.Header />\n <CommuteCalculator.Form />\n </CommuteCalculator.Card>\n )}\n </div>\n\n {isMobile && (\n <CommuteCalculator.Slider>\n <CommuteCalculator.Header hideCloseButton />\n <CommuteCalculator.Form />\n </CommuteCalculator.Slider>\n )}\n </CommuteCalculator.Root>\n </Map>\n <Attribution\n sdkName=\"local-content\"\n locale={locale}\n isHidden={hideAttribution}\n />\n </div>\n );\n}\n","import { number, object, ObjectSchema, string, mixed, boolean } from \"yup\";\nimport { MapProvider } from \"./types\";\nimport type { Options } from \"./types\";\n\ntype MarkerIcon = \"house\" | \"pin\";\ntype DistanceUnit = \"metric\" | \"imperial\";\n\nconst scoreObject = object({\n hide: boolean().optional(),\n hideScore: boolean().optional(),\n order: number().optional(),\n}).optional();\n\nconst colorsObject = object({\n background: string().required(),\n fill: string().required(),\n}).optional();\n\nconst scoresMenu = object({\n defaultOpen: boolean().optional(),\n title: mixed<string | boolean>().optional(),\n categories: object({\n transport: object({\n hide: boolean().optional(),\n order: number().optional(),\n colors: colorsObject,\n scores: object({\n pedestrian_friendly: scoreObject,\n transit_friendly: scoreObject,\n cycling_friendly: scoreObject,\n car_friendly: scoreObject,\n }).optional(),\n }).optional(),\n education: object({\n hide: boolean().optional(),\n order: number().optional(),\n colors: colorsObject,\n scores: object({\n daycares: scoreObject,\n primary_schools: scoreObject,\n high_schools: scoreObject,\n }).optional(),\n }).optional(),\n amenities: object({\n hide: boolean().optional(),\n order: number().optional(),\n colors: colorsObject,\n scores: object({\n shopping: scoreObject,\n groceries: scoreObject,\n restaurants: scoreObject,\n cafes: scoreObject,\n }).optional(),\n }).optional(),\n character: object({\n hide: boolean().optional(),\n order: number().optional(),\n colors: colorsObject,\n scores: object({\n nightlife: scoreObject,\n vibrant: scoreObject,\n historic: scoreObject,\n quiet: scoreObject,\n }).optional(),\n }).optional(),\n nature: object({\n hide: boolean().optional(),\n order: number().optional(),\n colors: colorsObject,\n scores: object({\n parks: scoreObject,\n greenery: scoreObject,\n }).optional(),\n }).optional(),\n health: object({\n hide: boolean().optional(),\n order: number().optional(),\n colors: colorsObject,\n scores: object({\n wellness: scoreObject,\n }).optional(),\n }).optional(),\n }).optional(),\n})\n .optional()\n .default({\n defaultOpen: true,\n });\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 zoom: number().optional(),\n pitch: number().optional(),\n bearing: number().optional(),\n distanceUnit: mixed<DistanceUnit>().oneOf([\"metric\", \"imperial\"]).optional(),\n marker: 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 icon: mixed<MarkerIcon>().oneOf([\"house\", \"pin\"]).optional(),\n addressLabel: string().optional(),\n }).default(undefined),\n cooperativeGestures: boolean().optional(),\n mapProvider: mixed<MapProvider>().optional(),\n hideScores: boolean().optional(),\n showSchoolRatings: boolean().optional(),\n scoresMenu,\n hideAttribution: boolean().optional(),\n}).noUnknown(true);\n\nexport const validateOptions = (options: Options) =>\n schema.validate(options, { abortEarly: false });\n","import React from \"react\";\n\nimport { Content } from \"./components/Content\";\nimport { LocalContentProvider } from \"./context\";\nimport { schema } from \"./schema\";\nimport { LocalContentProps } from \"./types\";\nimport { SurveyTriggerProvider } from \"./hooks/useSurveyTrigger/SurveyTriggerProvider\";\n\nimport { TrackingProvider, initializeAnalytics } from \"~/tracking\";\n\n// TODO Move this import to sdks/sdks-app/src/App.tsx once all SDKs are migrated\nimport \"~/assets/styles/globals.css\";\n\nimport { ValidateOptions } from \"~/components/ValidateOptions\";\nimport { LocalLogicProvider } from \"~/context/LocalLogicProvider\";\nimport { useStateManagerContext } from \"~/context/stateManager\";\nimport { useResponsiveBreakpoints } from \"~/hooks/useResponsiveBreakpoints\";\nimport { ProductNames } from \"~/types\";\nimport { ANALYTICS_SETTINGS } from \"~/constants/analytics\";\n\ninitializeAnalytics(ANALYTICS_SETTINGS.localContent.key);\n\nconst LocalContent = () => {\n const { sdkState } = useStateManagerContext<LocalContentProps>();\n const breakpoints = useResponsiveBreakpoints();\n const locale = sdkState.globalOptions?.locale || \"en\";\n\n if (\n Object.hasOwnProperty.call(\n sdkState?.options?.scoresMenu?.categories || {},\n \"wellness\",\n )\n ) {\n try {\n // Remove wellness category if it exists in the options\n\n sdkState.options!.scoresMenu!.categories!.health = {\n ...sdkState.options!.scoresMenu!.categories!.health,\n // @ts-expect-error -- We renamed the category, so TS gets confused here\n ...sdkState.options?.scoresMenu?.categories?.wellness,\n };\n // @ts-expect-error -- We renamed the category, so TS gets confused here\n delete sdkState.options!.scoresMenu!.categories!.wellness;\n\n console.warn(\n \"[Local Content SDK] The 'wellness' scores category has been renamed to 'health'. Please update your SDK options accordingly.\",\n );\n } catch (_error) {\n // Do nothing\n }\n }\n\n return (\n <ValidateOptions\n sdk=\"Local Content\"\n schema={schema}\n options={sdkState.options!}\n >\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_CONTENT}\n >\n <TrackingProvider\n trackingPipelineSettings={{\n apiKey: sdkState.apiKey || \"\",\n }}\n analyticsSettings={ANALYTICS_SETTINGS.localContent}\n meta={{\n clientId: sdkState.clientId,\n productName: ProductNames.LOCAL_CONTENT,\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,\n // The mobile experience is enabled from below the sm breakpoint\n isMobile: !breakpoints.sm,\n mapProvider: sdkState.options?.mapProvider?.name,\n }}\n flags={{\n isDebugMode:\n import.meta.env.VITE_TRACKING_PIPELINE_DEBUG === \"true\",\n }}\n >\n <SurveyTriggerProvider>\n <LocalContentProvider>\n <Content />\n </LocalContentProvider>\n </SurveyTriggerProvider>\n </TrackingProvider>\n </LocalLogicProvider>\n </ValidateOptions>\n );\n};\n\nexport default LocalContent;\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,28],"mappings":"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"}
|