@local-logic/sdks-app 1.24.39 → 1.24.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/dist/assets/{Attribution-BZJo6XLr.js → Attribution-BFX5_TA0.js} +2 -2
  2. package/dist/assets/{Attribution-BZJo6XLr.js.map → Attribution-BFX5_TA0.js.map} +1 -1
  3. package/dist/assets/{Attribution-legacy-BfZKp_jr.js → Attribution-legacy-CdR3a3DX.js} +2 -2
  4. package/dist/assets/{Attribution-legacy-BfZKp_jr.js.map → Attribution-legacy-CdR3a3DX.js.map} +1 -1
  5. package/dist/assets/{Cluster-BHQcO6iC-iF9qeh5_.js → Cluster-BHQcO6iC-BOZz2skE.js} +2 -2
  6. package/dist/assets/{Cluster-BHQcO6iC-iF9qeh5_.js.map → Cluster-BHQcO6iC-BOZz2skE.js.map} +1 -1
  7. package/dist/assets/{Cluster-BHQcO6iC-legacy-CFFn8bZl.js → Cluster-BHQcO6iC-legacy-B_rK_gsZ.js} +2 -2
  8. package/dist/assets/{Cluster-BHQcO6iC-legacy-CFFn8bZl.js.map → Cluster-BHQcO6iC-legacy-B_rK_gsZ.js.map} +1 -1
  9. package/dist/assets/{Google-CH7a2yx--3wHRFLqZ.js → Google-CH7a2yx--DwQd7dvh.js} +2 -2
  10. package/dist/assets/{Google-CH7a2yx--3wHRFLqZ.js.map → Google-CH7a2yx--DwQd7dvh.js.map} +1 -1
  11. package/dist/assets/{Google-CH7a2yx--legacy-DFZKWqKn.js → Google-CH7a2yx--legacy-C0xakqb8.js} +2 -2
  12. package/dist/assets/{Google-CH7a2yx--legacy-DFZKWqKn.js.map → Google-CH7a2yx--legacy-C0xakqb8.js.map} +1 -1
  13. package/dist/assets/{Google-CXGCn-oJ-CXnMtwaZ.js → Google-CXGCn-oJ-Dh7vAF1i.js} +2 -2
  14. package/dist/assets/{Google-CXGCn-oJ-CXnMtwaZ.js.map → Google-CXGCn-oJ-Dh7vAF1i.js.map} +1 -1
  15. package/dist/assets/{Google-CXGCn-oJ-legacy-_JD4Pa4T.js → Google-CXGCn-oJ-legacy-B35yyRBB.js} +2 -2
  16. package/dist/assets/{Google-CXGCn-oJ-legacy-_JD4Pa4T.js.map → Google-CXGCn-oJ-legacy-B35yyRBB.js.map} +1 -1
  17. package/dist/assets/{Google-D1kMMDIv-DWK-9hcq.js → Google-D1kMMDIv-CAaNq2xc.js} +2 -2
  18. package/dist/assets/{Google-D1kMMDIv-DWK-9hcq.js.map → Google-D1kMMDIv-CAaNq2xc.js.map} +1 -1
  19. package/dist/assets/{Google-D1kMMDIv-legacy-BGKqFZkc.js → Google-D1kMMDIv-legacy-CwFf8lIw.js} +2 -2
  20. package/dist/assets/{Google-D1kMMDIv-legacy-BGKqFZkc.js.map → Google-D1kMMDIv-legacy-CwFf8lIw.js.map} +1 -1
  21. package/dist/assets/{Google-DScXSvYv-legacy-BssQjKYU.js → Google-DScXSvYv-legacy-DEJ7UsBu.js} +2 -2
  22. package/dist/assets/{Google-DScXSvYv-legacy-BssQjKYU.js.map → Google-DScXSvYv-legacy-DEJ7UsBu.js.map} +1 -1
  23. package/dist/assets/{Google-DScXSvYv-DaJocK7M.js → Google-DScXSvYv-qp1ruzZ-.js} +2 -2
  24. package/dist/assets/{Google-DScXSvYv-DaJocK7M.js.map → Google-DScXSvYv-qp1ruzZ-.js.map} +1 -1
  25. package/dist/assets/{Google-qvGtRAuh-DJPedSaG.js → Google-qvGtRAuh-CubndKzb.js} +2 -2
  26. package/dist/assets/{Google-qvGtRAuh-DJPedSaG.js.map → Google-qvGtRAuh-CubndKzb.js.map} +1 -1
  27. package/dist/assets/{Google-qvGtRAuh-legacy-D5rkGNsq.js → Google-qvGtRAuh-legacy-CDAA2PYJ.js} +2 -2
  28. package/dist/assets/{Google-qvGtRAuh-legacy-D5rkGNsq.js.map → Google-qvGtRAuh-legacy-CDAA2PYJ.js.map} +1 -1
  29. package/dist/assets/{GridGraph-Tb9r5WqU.js → GridGraph-Ce2K4lJE.js} +2 -2
  30. package/dist/assets/{GridGraph-Tb9r5WqU.js.map → GridGraph-Ce2K4lJE.js.map} +1 -1
  31. package/dist/assets/{GridGraph-legacy-BJdMBSEf.js → GridGraph-legacy-QpuvSlS4.js} +2 -2
  32. package/dist/assets/{GridGraph-legacy-BJdMBSEf.js.map → GridGraph-legacy-QpuvSlS4.js.map} +1 -1
  33. package/dist/assets/{LeadCapture-QkyFLnf_.js → LeadCapture-DQ_u-trr.js} +2 -2
  34. package/dist/assets/{LeadCapture-QkyFLnf_.js.map → LeadCapture-DQ_u-trr.js.map} +1 -1
  35. package/dist/assets/{LeadCapture-legacy-DUJGndBJ.js → LeadCapture-legacy-9N32vfea.js} +2 -2
  36. package/dist/assets/{LeadCapture-legacy-DUJGndBJ.js.map → LeadCapture-legacy-9N32vfea.js.map} +1 -1
  37. package/dist/assets/{LocalContent-CPmxknE1.js → LocalContent-2pJKWECA.js} +2 -2
  38. package/dist/assets/{LocalContent-CPmxknE1.js.map → LocalContent-2pJKWECA.js.map} +1 -1
  39. package/dist/assets/{LocalContent-legacy-BRrAQl-R.js → LocalContent-legacy-DPfe8JRY.js} +2 -2
  40. package/dist/assets/{LocalContent-legacy-BRrAQl-R.js.map → LocalContent-legacy-DPfe8JRY.js.map} +1 -1
  41. package/dist/assets/{LocalDemographics-DoYRjheI.js → LocalDemographics-CCLrxAlH.js} +2 -2
  42. package/dist/assets/{LocalDemographics-DoYRjheI.js.map → LocalDemographics-CCLrxAlH.js.map} +1 -1
  43. package/dist/assets/{LocalDemographics-legacy-DlEk4ZPh.js → LocalDemographics-legacy-BpeV7vKR.js} +2 -2
  44. package/dist/assets/{LocalDemographics-legacy-DlEk4ZPh.js.map → LocalDemographics-legacy-BpeV7vKR.js.map} +1 -1
  45. package/dist/assets/{Mapbox-B7oionsm-Bti3i9dQ.js → Mapbox-B7oionsm-KJ9BTAVS.js} +2 -2
  46. package/dist/assets/{Mapbox-B7oionsm-Bti3i9dQ.js.map → Mapbox-B7oionsm-KJ9BTAVS.js.map} +1 -1
  47. package/dist/assets/{Mapbox-B7oionsm-legacy-CthokNte.js → Mapbox-B7oionsm-legacy-DOVfzEvQ.js} +2 -2
  48. package/dist/assets/{Mapbox-B7oionsm-legacy-CthokNte.js.map → Mapbox-B7oionsm-legacy-DOVfzEvQ.js.map} +1 -1
  49. package/dist/assets/{Mapbox-CIislOVu-DtzRCIrG.js → Mapbox-CIislOVu-CI4DWbq-.js} +2 -2
  50. package/dist/assets/{Mapbox-CIislOVu-DtzRCIrG.js.map → Mapbox-CIislOVu-CI4DWbq-.js.map} +1 -1
  51. package/dist/assets/{Mapbox-CIislOVu-legacy-DIGoj72K.js → Mapbox-CIislOVu-legacy-BE7lsxI8.js} +2 -2
  52. package/dist/assets/{Mapbox-CIislOVu-legacy-DIGoj72K.js.map → Mapbox-CIislOVu-legacy-BE7lsxI8.js.map} +1 -1
  53. package/dist/assets/{Mapbox-DDJ1gHRb-CuedRSZq.js → Mapbox-DDJ1gHRb-1dK4LbZk.js} +2 -2
  54. package/dist/assets/{Mapbox-DDJ1gHRb-CuedRSZq.js.map → Mapbox-DDJ1gHRb-1dK4LbZk.js.map} +1 -1
  55. package/dist/assets/{Mapbox-DDJ1gHRb-legacy-CW_kiJxl.js → Mapbox-DDJ1gHRb-legacy-p6YhQitU.js} +2 -2
  56. package/dist/assets/{Mapbox-DDJ1gHRb-legacy-CW_kiJxl.js.map → Mapbox-DDJ1gHRb-legacy-p6YhQitU.js.map} +1 -1
  57. package/dist/assets/{Mapbox-DtZmt1D_-vfqyqnh7.js → Mapbox-DtZmt1D_-BfV4qnN4.js} +2 -2
  58. package/dist/assets/{Mapbox-DtZmt1D_-vfqyqnh7.js.map → Mapbox-DtZmt1D_-BfV4qnN4.js.map} +1 -1
  59. package/dist/assets/{Mapbox-DtZmt1D_-legacy-Dx5bB72j.js → Mapbox-DtZmt1D_-legacy-Dd0GlX-Y.js} +2 -2
  60. package/dist/assets/{Mapbox-DtZmt1D_-legacy-Dx5bB72j.js.map → Mapbox-DtZmt1D_-legacy-Dd0GlX-Y.js.map} +1 -1
  61. package/dist/assets/{Mapbox-vp91lH9I-CAs_0sfe.js → Mapbox-vp91lH9I-CkAfe1Ca.js} +2 -2
  62. package/dist/assets/{Mapbox-vp91lH9I-CAs_0sfe.js.map → Mapbox-vp91lH9I-CkAfe1Ca.js.map} +1 -1
  63. package/dist/assets/{Mapbox-vp91lH9I-legacy-BgoomLp_.js → Mapbox-vp91lH9I-legacy-B00zbfjv.js} +2 -2
  64. package/dist/assets/{Mapbox-vp91lH9I-legacy-BgoomLp_.js.map → Mapbox-vp91lH9I-legacy-B00zbfjv.js.map} +1 -1
  65. package/dist/assets/{Maptiler-BQliPE7n-B7ARszoA.js → Maptiler-BQliPE7n-B4cS19Fa.js} +2 -2
  66. package/dist/assets/{Maptiler-BQliPE7n-B7ARszoA.js.map → Maptiler-BQliPE7n-B4cS19Fa.js.map} +1 -1
  67. package/dist/assets/{Maptiler-BQliPE7n-legacy-DcuCwh0v.js → Maptiler-BQliPE7n-legacy-DBnYfT32.js} +2 -2
  68. package/dist/assets/{Maptiler-BQliPE7n-legacy-DcuCwh0v.js.map → Maptiler-BQliPE7n-legacy-DBnYfT32.js.map} +1 -1
  69. package/dist/assets/{Maptiler-BtYYeJoo-WES9jrq_.js → Maptiler-BtYYeJoo-Vhp1tVrO.js} +2 -2
  70. package/dist/assets/{Maptiler-BtYYeJoo-WES9jrq_.js.map → Maptiler-BtYYeJoo-Vhp1tVrO.js.map} +1 -1
  71. package/dist/assets/{Maptiler-BtYYeJoo-legacy-CNWE4X_k.js → Maptiler-BtYYeJoo-legacy-CHcjlox7.js} +2 -2
  72. package/dist/assets/{Maptiler-BtYYeJoo-legacy-CNWE4X_k.js.map → Maptiler-BtYYeJoo-legacy-CHcjlox7.js.map} +1 -1
  73. package/dist/assets/{Maptiler-Cy2r6w4G-jxWC3gGH.js → Maptiler-Cy2r6w4G-BhmMrh_F.js} +2 -2
  74. package/dist/assets/{Maptiler-Cy2r6w4G-jxWC3gGH.js.map → Maptiler-Cy2r6w4G-BhmMrh_F.js.map} +1 -1
  75. package/dist/assets/{Maptiler-Cy2r6w4G-legacy-COhxgGfE.js → Maptiler-Cy2r6w4G-legacy-Dtiu6fim.js} +2 -2
  76. package/dist/assets/{Maptiler-Cy2r6w4G-legacy-COhxgGfE.js.map → Maptiler-Cy2r6w4G-legacy-Dtiu6fim.js.map} +1 -1
  77. package/dist/assets/{Maptiler-DJScKW8p-ILy8OFKG.js → Maptiler-DJScKW8p-B4sYvTN1.js} +2 -2
  78. package/dist/assets/{Maptiler-DJScKW8p-ILy8OFKG.js.map → Maptiler-DJScKW8p-B4sYvTN1.js.map} +1 -1
  79. package/dist/assets/{Maptiler-DJScKW8p-legacy-C-co5LEf.js → Maptiler-DJScKW8p-legacy-BfcUaZSe.js} +2 -2
  80. package/dist/assets/{Maptiler-DJScKW8p-legacy-C-co5LEf.js.map → Maptiler-DJScKW8p-legacy-BfcUaZSe.js.map} +1 -1
  81. package/dist/assets/{Maptiler-DqeshLom-BOdQvZVO.js → Maptiler-DqeshLom-Dj7UvFn7.js} +2 -2
  82. package/dist/assets/{Maptiler-DqeshLom-BOdQvZVO.js.map → Maptiler-DqeshLom-Dj7UvFn7.js.map} +1 -1
  83. package/dist/assets/{Maptiler-DqeshLom-legacy-CFQFxJw-.js → Maptiler-DqeshLom-legacy-bBrlYN2Q.js} +2 -2
  84. package/dist/assets/{Maptiler-DqeshLom-legacy-CFQFxJw-.js.map → Maptiler-DqeshLom-legacy-bBrlYN2Q.js.map} +1 -1
  85. package/dist/assets/{MarkerIcon-Bc3X9WQk-L8yQjJbr.js → MarkerIcon-Bc3X9WQk-CGChV4D4.js} +2 -2
  86. package/dist/assets/{MarkerIcon-Bc3X9WQk-L8yQjJbr.js.map → MarkerIcon-Bc3X9WQk-CGChV4D4.js.map} +1 -1
  87. package/dist/assets/{MarkerIcon-Bc3X9WQk-legacy-DUAfU9AS.js → MarkerIcon-Bc3X9WQk-legacy-BhBhhwrP.js} +2 -2
  88. package/dist/assets/{MarkerIcon-Bc3X9WQk-legacy-DUAfU9AS.js.map → MarkerIcon-Bc3X9WQk-legacy-BhBhhwrP.js.map} +1 -1
  89. package/dist/assets/{NeighborhoodCard-CspcUBzi.js → NeighborhoodCard-BaGtTms0.js} +2 -2
  90. package/dist/assets/{NeighborhoodCard-CspcUBzi.js.map → NeighborhoodCard-BaGtTms0.js.map} +1 -1
  91. package/dist/assets/{NeighborhoodCard-legacy-WZvnt_0B.js → NeighborhoodCard-legacy-B9W6aCqR.js} +2 -2
  92. package/dist/assets/{NeighborhoodCard-legacy-WZvnt_0B.js.map → NeighborhoodCard-legacy-B9W6aCqR.js.map} +1 -1
  93. package/dist/assets/{NeighborhoodCharacteristics-HffngCxm.js → NeighborhoodCharacteristics-D56qnuca.js} +2 -2
  94. package/dist/assets/{NeighborhoodCharacteristics-HffngCxm.js.map → NeighborhoodCharacteristics-D56qnuca.js.map} +1 -1
  95. package/dist/assets/{NeighborhoodCharacteristics-legacy-DIVxCNYX.js → NeighborhoodCharacteristics-legacy-DlowZFEG.js} +2 -2
  96. package/dist/assets/{NeighborhoodCharacteristics-legacy-DIVxCNYX.js.map → NeighborhoodCharacteristics-legacy-DlowZFEG.js.map} +1 -1
  97. package/dist/assets/{NeighborhoodDemographics-CxIpWVnb.js → NeighborhoodDemographics-C0jX8lOM.js} +2 -2
  98. package/dist/assets/{NeighborhoodDemographics-CxIpWVnb.js.map → NeighborhoodDemographics-C0jX8lOM.js.map} +1 -1
  99. package/dist/assets/{NeighborhoodDemographics-legacy-vex0EXld.js → NeighborhoodDemographics-legacy-CnNPTNnh.js} +2 -2
  100. package/dist/assets/{NeighborhoodDemographics-legacy-vex0EXld.js.map → NeighborhoodDemographics-legacy-CnNPTNnh.js.map} +1 -1
  101. package/dist/assets/{NeighborhoodFeatured-Bu1DrNnA.js → NeighborhoodFeatured-Dy3pyH2M.js} +2 -2
  102. package/dist/assets/{NeighborhoodFeatured-Bu1DrNnA.js.map → NeighborhoodFeatured-Dy3pyH2M.js.map} +1 -1
  103. package/dist/assets/{NeighborhoodFeatured-legacy-_fb6iGnR.js → NeighborhoodFeatured-legacy-BEY92Bli.js} +2 -2
  104. package/dist/assets/{NeighborhoodFeatured-legacy-_fb6iGnR.js.map → NeighborhoodFeatured-legacy-BEY92Bli.js.map} +1 -1
  105. package/dist/assets/{NeighborhoodHero-Cj8UoSlQ.js → NeighborhoodHero-Ccge3SCR.js} +2 -2
  106. package/dist/assets/{NeighborhoodHero-Cj8UoSlQ.js.map → NeighborhoodHero-Ccge3SCR.js.map} +1 -1
  107. package/dist/assets/{NeighborhoodHero-legacy-CZa7K7hP.js → NeighborhoodHero-legacy-Cb5s0tRe.js} +2 -2
  108. package/dist/assets/{NeighborhoodHero-legacy-CZa7K7hP.js.map → NeighborhoodHero-legacy-Cb5s0tRe.js.map} +1 -1
  109. package/dist/assets/{NeighborhoodHighlights-BhmiFgqL.js → NeighborhoodHighlights-BFiTF1H2.js} +2 -2
  110. package/dist/assets/{NeighborhoodHighlights-BhmiFgqL.js.map → NeighborhoodHighlights-BFiTF1H2.js.map} +1 -1
  111. package/dist/assets/{NeighborhoodHighlights-legacy-CRAA2b2s.js → NeighborhoodHighlights-legacy-BQJvJ1kW.js} +2 -2
  112. package/dist/assets/{NeighborhoodHighlights-legacy-CRAA2b2s.js.map → NeighborhoodHighlights-legacy-BQJvJ1kW.js.map} +1 -1
  113. package/dist/assets/{NeighborhoodMap-BnSbDjAD.js → NeighborhoodMap-Cs2mW6eY.js} +2 -2
  114. package/dist/assets/{NeighborhoodMap-BnSbDjAD.js.map → NeighborhoodMap-Cs2mW6eY.js.map} +1 -1
  115. package/dist/assets/{NeighborhoodMap-legacy-DsJR-_Ib.js → NeighborhoodMap-legacy-ItxtWyNg.js} +2 -2
  116. package/dist/assets/{NeighborhoodMap-legacy-DsJR-_Ib.js.map → NeighborhoodMap-legacy-ItxtWyNg.js.map} +1 -1
  117. package/dist/assets/{NeighborhoodMarketTrends-Cb_jS4T-.js → NeighborhoodMarketTrends-BPFS-IP7.js} +3 -3
  118. package/dist/assets/{NeighborhoodMarketTrends-Cb_jS4T-.js.map → NeighborhoodMarketTrends-BPFS-IP7.js.map} +1 -1
  119. package/dist/assets/{NeighborhoodMarketTrends-legacy-CbHN8M1x.js → NeighborhoodMarketTrends-legacy-BFUSfWBV.js} +2 -2
  120. package/dist/assets/{NeighborhoodMarketTrends-legacy-CbHN8M1x.js.map → NeighborhoodMarketTrends-legacy-BFUSfWBV.js.map} +1 -1
  121. package/dist/assets/{NeighborhoodMatch-CjzFnYBt.js → NeighborhoodMatch-DyGrO6rV.js} +2 -2
  122. package/dist/assets/{NeighborhoodMatch-CjzFnYBt.js.map → NeighborhoodMatch-DyGrO6rV.js.map} +1 -1
  123. package/dist/assets/{NeighborhoodMatch-legacy-Cki-459P.js → NeighborhoodMatch-legacy-Dk7eubJO.js} +2 -2
  124. package/dist/assets/{NeighborhoodMatch-legacy-Cki-459P.js.map → NeighborhoodMatch-legacy-Dk7eubJO.js.map} +1 -1
  125. package/dist/assets/{NeighborhoodPropertyValueDrivers-DE9yCMMy.js → NeighborhoodPropertyValueDrivers-CkZQt4Un.js} +2 -2
  126. package/dist/assets/{NeighborhoodPropertyValueDrivers-DE9yCMMy.js.map → NeighborhoodPropertyValueDrivers-CkZQt4Un.js.map} +1 -1
  127. package/dist/assets/{NeighborhoodPropertyValueDrivers-legacy-BDGnpUrH.js → NeighborhoodPropertyValueDrivers-legacy-t-PsDc7H.js} +2 -2
  128. package/dist/assets/{NeighborhoodPropertyValueDrivers-legacy-BDGnpUrH.js.map → NeighborhoodPropertyValueDrivers-legacy-t-PsDc7H.js.map} +1 -1
  129. package/dist/assets/{NeighborhoodSchools-DftPMblM.js → NeighborhoodSchools-CYj0W8g4.js} +2 -2
  130. package/dist/assets/{NeighborhoodSchools-DftPMblM.js.map → NeighborhoodSchools-CYj0W8g4.js.map} +1 -1
  131. package/dist/assets/{NeighborhoodSchools-legacy-Bt9eSjXU.js → NeighborhoodSchools-legacy-CIoYquJq.js} +2 -2
  132. package/dist/assets/{NeighborhoodSchools-legacy-Bt9eSjXU.js.map → NeighborhoodSchools-legacy-CIoYquJq.js.map} +1 -1
  133. package/dist/assets/{NeighborhoodShowcase-D7hHBYLI.js → NeighborhoodShowcase-CHCSD8YZ.js} +2 -2
  134. package/dist/assets/{NeighborhoodShowcase-D7hHBYLI.js.map → NeighborhoodShowcase-CHCSD8YZ.js.map} +1 -1
  135. package/dist/assets/{NeighborhoodShowcase-legacy-Ch3_MLRd.js → NeighborhoodShowcase-legacy-DyZTfaNU.js} +2 -2
  136. package/dist/assets/{NeighborhoodShowcase-legacy-Ch3_MLRd.js.map → NeighborhoodShowcase-legacy-DyZTfaNU.js.map} +1 -1
  137. package/dist/assets/{NoDataContent-BnqODeIj.js → NoDataContent-CEAzGzUq.js} +2 -2
  138. package/dist/assets/{NoDataContent-BnqODeIj.js.map → NoDataContent-CEAzGzUq.js.map} +1 -1
  139. package/dist/assets/{NoDataContent-legacy-AbG_5zRB.js → NoDataContent-legacy-DT86maak.js} +2 -2
  140. package/dist/assets/{NoDataContent-legacy-AbG_5zRB.js.map → NoDataContent-legacy-DT86maak.js.map} +1 -1
  141. package/dist/assets/{ResizeWrapper-B0ve6-E-.js → ResizeWrapper-D7ns3o39.js} +2 -2
  142. package/dist/assets/{ResizeWrapper-B0ve6-E-.js.map → ResizeWrapper-D7ns3o39.js.map} +1 -1
  143. package/dist/assets/{ResizeWrapper-legacy-DYQ5wMxT.js → ResizeWrapper-legacy-DibF7KTC.js} +2 -2
  144. package/dist/assets/{ResizeWrapper-legacy-DYQ5wMxT.js.map → ResizeWrapper-legacy-DibF7KTC.js.map} +1 -1
  145. package/dist/assets/{ScoreCardList-HkJ6lHt-.js → ScoreCardList-BYAr0xig.js} +2 -2
  146. package/dist/assets/{ScoreCardList-HkJ6lHt-.js.map → ScoreCardList-BYAr0xig.js.map} +1 -1
  147. package/dist/assets/{ScoreCardList-legacy-CzPnAXtg.js → ScoreCardList-legacy-Db7k9lb3.js} +2 -2
  148. package/dist/assets/{ScoreCardList-legacy-CzPnAXtg.js.map → ScoreCardList-legacy-Db7k9lb3.js.map} +1 -1
  149. package/dist/assets/{ScoreIcon-CzsXV_UW.js → ScoreIcon-CWGLoE_R.js} +2 -2
  150. package/dist/assets/{ScoreIcon-CzsXV_UW.js.map → ScoreIcon-CWGLoE_R.js.map} +1 -1
  151. package/dist/assets/{ScoreIcon-legacy-CtP7dMZz.js → ScoreIcon-legacy-DGUI0vRG.js} +2 -2
  152. package/dist/assets/{ScoreIcon-legacy-CtP7dMZz.js.map → ScoreIcon-legacy-DGUI0vRG.js.map} +1 -1
  153. package/dist/assets/{Testing--n5Ro0Ek-DqcApoud.js → Testing--n5Ro0Ek-DXRiz8JT.js} +2 -2
  154. package/dist/assets/{Testing--n5Ro0Ek-DqcApoud.js.map → Testing--n5Ro0Ek-DXRiz8JT.js.map} +1 -1
  155. package/dist/assets/{Testing--n5Ro0Ek-legacy-icxJIi6L.js → Testing--n5Ro0Ek-legacy-B6FpaP3L.js} +2 -2
  156. package/dist/assets/{Testing--n5Ro0Ek-legacy-icxJIi6L.js.map → Testing--n5Ro0Ek-legacy-B6FpaP3L.js.map} +1 -1
  157. package/dist/assets/{Testing-BNJwzbRK-ClqjNB8Z.js → Testing-BNJwzbRK-VAOz2xBT.js} +2 -2
  158. package/dist/assets/{Testing-BNJwzbRK-ClqjNB8Z.js.map → Testing-BNJwzbRK-VAOz2xBT.js.map} +1 -1
  159. package/dist/assets/{Testing-BNJwzbRK-legacy-AsNVfvV3.js → Testing-BNJwzbRK-legacy-CcRLjo0P.js} +2 -2
  160. package/dist/assets/{Testing-BNJwzbRK-legacy-AsNVfvV3.js.map → Testing-BNJwzbRK-legacy-CcRLjo0P.js.map} +1 -1
  161. package/dist/assets/{Testing-CoRLhmNT-DJceXLmB.js → Testing-CoRLhmNT-DkH9taDM.js} +2 -2
  162. package/dist/assets/{Testing-CoRLhmNT-DJceXLmB.js.map → Testing-CoRLhmNT-DkH9taDM.js.map} +1 -1
  163. package/dist/assets/{Testing-CoRLhmNT-legacy-DKUu-vde.js → Testing-CoRLhmNT-legacy-D75s8djK.js} +2 -2
  164. package/dist/assets/{Testing-CoRLhmNT-legacy-DKUu-vde.js.map → Testing-CoRLhmNT-legacy-D75s8djK.js.map} +1 -1
  165. package/dist/assets/{Testing-DGUeGxdc-jAggTLLh.js → Testing-DGUeGxdc-dBjPjKfX.js} +2 -2
  166. package/dist/assets/{Testing-DGUeGxdc-jAggTLLh.js.map → Testing-DGUeGxdc-dBjPjKfX.js.map} +1 -1
  167. package/dist/assets/{Testing-DGUeGxdc-legacy-txrl8G8G.js → Testing-DGUeGxdc-legacy-Bo3xf4lS.js} +2 -2
  168. package/dist/assets/{Testing-DGUeGxdc-legacy-txrl8G8G.js.map → Testing-DGUeGxdc-legacy-Bo3xf4lS.js.map} +1 -1
  169. package/dist/assets/{Testing-DzWAcbhL-gBDb3TPR.js → Testing-DzWAcbhL-CORqap_0.js} +2 -2
  170. package/dist/assets/{Testing-DzWAcbhL-gBDb3TPR.js.map → Testing-DzWAcbhL-CORqap_0.js.map} +1 -1
  171. package/dist/assets/{Testing-DzWAcbhL-legacy-Bz1ufOmE.js → Testing-DzWAcbhL-legacy-C_L0YDrv.js} +2 -2
  172. package/dist/assets/{Testing-DzWAcbhL-legacy-Bz1ufOmE.js.map → Testing-DzWAcbhL-legacy-C_L0YDrv.js.map} +1 -1
  173. package/dist/assets/{TitleHeader-legacy-Yq0pKMwQ.js → TitleHeader-legacy-Dkn0qrYi.js} +2 -2
  174. package/dist/assets/{TitleHeader-legacy-Yq0pKMwQ.js.map → TitleHeader-legacy-Dkn0qrYi.js.map} +1 -1
  175. package/dist/assets/{TitleHeader-BOwe_Hxw.js → TitleHeader-q22P7nGv.js} +2 -2
  176. package/dist/assets/{TitleHeader-BOwe_Hxw.js.map → TitleHeader-q22P7nGv.js.map} +1 -1
  177. package/dist/assets/{Trans-B3x1rhQP.js → Trans-CoQWpfjg.js} +2 -2
  178. package/dist/assets/{Trans-B3x1rhQP.js.map → Trans-CoQWpfjg.js.map} +1 -1
  179. package/dist/assets/{Trans-legacy-BpEZmEBR.js → Trans-legacy-CVX9qUZX.js} +2 -2
  180. package/dist/assets/{Trans-legacy-BpEZmEBR.js.map → Trans-legacy-CVX9qUZX.js.map} +1 -1
  181. package/dist/assets/{ValidateOptions-BoIx00p6.js → ValidateOptions-CBV1N5jv.js} +2 -2
  182. package/dist/assets/{ValidateOptions-BoIx00p6.js.map → ValidateOptions-CBV1N5jv.js.map} +1 -1
  183. package/dist/assets/{ValidateOptions-legacy-5tqMuOby.js → ValidateOptions-legacy-DSqr0GvA.js} +2 -2
  184. package/dist/assets/{ValidateOptions-legacy-5tqMuOby.js.map → ValidateOptions-legacy-DSqr0GvA.js.map} +1 -1
  185. package/dist/assets/{dist-DFMrEPsn.js → dist-BS0nF9v1.js} +2 -2
  186. package/dist/assets/{dist-DFMrEPsn.js.map → dist-BS0nF9v1.js.map} +1 -1
  187. package/dist/assets/{dist-legacy-bgie6J-I.js → dist-legacy-DvNzEKrH.js} +2 -2
  188. package/dist/assets/{dist-legacy-bgie6J-I.js.map → dist-legacy-DvNzEKrH.js.map} +1 -1
  189. package/dist/assets/{getMapProviderConfig-1qf7M196.js → getMapProviderConfig-Bzfs0Sdc.js} +3 -3
  190. package/dist/assets/{getMapProviderConfig-1qf7M196.js.map → getMapProviderConfig-Bzfs0Sdc.js.map} +1 -1
  191. package/dist/assets/{getMapProviderConfig-legacy-D8K_GpbB.js → getMapProviderConfig-legacy-J1T1rgyn.js} +2 -2
  192. package/dist/assets/{getMapProviderConfig-legacy-D8K_GpbB.js.map → getMapProviderConfig-legacy-J1T1rgyn.js.map} +1 -1
  193. package/dist/assets/index-_e6zO9FA.js +3 -0
  194. package/dist/assets/index-_e6zO9FA.js.map +1 -0
  195. package/dist/assets/index-legacy-D77-aBOf.js +2 -0
  196. package/dist/assets/index-legacy-D77-aBOf.js.map +1 -0
  197. package/dist/assets/{index.es-L77mCMKI.js → index.es-CWTeuLFE.js} +2 -2
  198. package/dist/assets/{index.es-L77mCMKI.js.map → index.es-CWTeuLFE.js.map} +1 -1
  199. package/dist/assets/{index.es-legacy-DCXU9yWo.js → index.es-legacy-C0a6QEDw.js} +2 -2
  200. package/dist/assets/{index.es-legacy-DCXU9yWo.js.map → index.es-legacy-C0a6QEDw.js.map} +1 -1
  201. package/dist/assets/{mapbox-jb8Zev6T-BlcXJqNS.js → mapbox-jb8Zev6T-Ddgqj9VI.js} +2 -2
  202. package/dist/assets/{mapbox-jb8Zev6T-BlcXJqNS.js.map → mapbox-jb8Zev6T-Ddgqj9VI.js.map} +1 -1
  203. package/dist/assets/{mapbox-jb8Zev6T-legacy-5YjFAABq.js → mapbox-jb8Zev6T-legacy-vMWDQC6s.js} +2 -2
  204. package/dist/assets/{mapbox-jb8Zev6T-legacy-5YjFAABq.js.map → mapbox-jb8Zev6T-legacy-vMWDQC6s.js.map} +1 -1
  205. package/dist/assets/{maplibre-CUYkxr-D-DrCn-oAI.js → maplibre-CUYkxr-D-C7Skcfn8.js} +2 -2
  206. package/dist/assets/{maplibre-CUYkxr-D-DrCn-oAI.js.map → maplibre-CUYkxr-D-C7Skcfn8.js.map} +1 -1
  207. package/dist/assets/{maplibre-CUYkxr-D-legacy-CYB3Kihw.js → maplibre-CUYkxr-D-legacy-CuAPk6TP.js} +2 -2
  208. package/dist/assets/{maplibre-CUYkxr-D-legacy-CYB3Kihw.js.map → maplibre-CUYkxr-D-legacy-CuAPk6TP.js.map} +1 -1
  209. package/dist/assets/neighborhood-fallback-CizB5oi9.js.map +1 -1
  210. package/dist/assets/sdks-BuksrzcW.js +2 -0
  211. package/dist/assets/sdks-BuksrzcW.js.map +1 -0
  212. package/dist/assets/sdks-legacy-CoLf_W4Z.js +2 -0
  213. package/dist/assets/sdks-legacy-CoLf_W4Z.js.map +1 -0
  214. package/dist/assets/{useDemographicsData-BVysiSHi.js → useDemographicsData-B4it1cPj.js} +2 -2
  215. package/dist/assets/{useDemographicsData-BVysiSHi.js.map → useDemographicsData-B4it1cPj.js.map} +1 -1
  216. package/dist/assets/{useDemographicsData-legacy-CxtMmefE.js → useDemographicsData-legacy-BYnQNjDv.js} +2 -2
  217. package/dist/assets/{useDemographicsData-legacy-CxtMmefE.js.map → useDemographicsData-legacy-BYnQNjDv.js.map} +1 -1
  218. package/dist/assets/{useGeographies-Dwh65ZNv.js → useGeographies-h5AWa9mj.js} +2 -2
  219. package/dist/assets/{useGeographies-Dwh65ZNv.js.map → useGeographies-h5AWa9mj.js.map} +1 -1
  220. package/dist/assets/{useGeographies-legacy-C1KaCkDe.js → useGeographies-legacy-D7XUaxgU.js} +2 -2
  221. package/dist/assets/{useGeographies-legacy-C1KaCkDe.js.map → useGeographies-legacy-D7XUaxgU.js.map} +1 -1
  222. package/dist/assets/{useIsMobile-D0ute0_2.js → useIsMobile-CEgZCKoT.js} +2 -2
  223. package/dist/assets/{useIsMobile-D0ute0_2.js.map → useIsMobile-CEgZCKoT.js.map} +1 -1
  224. package/dist/assets/{useIsMobile-legacy-BoD5Raet.js → useIsMobile-legacy-BYXlMXeW.js} +2 -2
  225. package/dist/assets/{useIsMobile-legacy-BoD5Raet.js.map → useIsMobile-legacy-BYXlMXeW.js.map} +1 -1
  226. package/dist/assets/{useLocation-BvPxZ2EB.js → useLocation-KxuXzpB1.js} +2 -2
  227. package/dist/assets/{useLocation-BvPxZ2EB.js.map → useLocation-KxuXzpB1.js.map} +1 -1
  228. package/dist/assets/{useLocation-legacy-UxSoaQ23.js → useLocation-legacy-TYbGg3Qq.js} +2 -2
  229. package/dist/assets/{useLocation-legacy-UxSoaQ23.js.map → useLocation-legacy-TYbGg3Qq.js.map} +1 -1
  230. package/dist/assets/{useProfiles-8Ts7IxaF.js → useProfiles-BMZF6PTl.js} +2 -2
  231. package/dist/assets/{useProfiles-8Ts7IxaF.js.map → useProfiles-BMZF6PTl.js.map} +1 -1
  232. package/dist/assets/{useProfiles-legacy-CXE2gbpF.js → useProfiles-legacy-CtdD2AM8.js} +2 -2
  233. package/dist/assets/{useProfiles-legacy-CXE2gbpF.js.map → useProfiles-legacy-CtdD2AM8.js.map} +1 -1
  234. package/dist/assets/{useSchools-Du8flig0.js → useSchools-Dmfxgddk.js} +2 -2
  235. package/dist/assets/{useSchools-Du8flig0.js.map → useSchools-Dmfxgddk.js.map} +1 -1
  236. package/dist/assets/{useSchools-legacy-CqpKyT0D.js → useSchools-legacy-CBA1yga4.js} +2 -2
  237. package/dist/assets/{useSchools-legacy-CqpKyT0D.js.map → useSchools-legacy-CBA1yga4.js.map} +1 -1
  238. package/dist/assets/{useScores-sXwU61au.js → useScores-BYEwsLLe.js} +2 -2
  239. package/dist/assets/{useScores-sXwU61au.js.map → useScores-BYEwsLLe.js.map} +1 -1
  240. package/dist/assets/{useScores-legacy-DD_ol9qX.js → useScores-legacy-CCbzbNWr.js} +2 -2
  241. package/dist/assets/{useScores-legacy-DD_ol9qX.js.map → useScores-legacy-CCbzbNWr.js.map} +1 -1
  242. package/dist/index.html +2 -2
  243. package/dist/types/App.d.ts.map +1 -1
  244. package/dist/types/App.js +0 -18
  245. package/dist/types/App.js.map +1 -1
  246. package/dist/types/tracking/tracker/index.d.ts.map +1 -1
  247. package/dist/types/tracking/tracker/index.js +15 -0
  248. package/dist/types/tracking/tracker/index.js.map +1 -1
  249. package/dist/types/utils/errorTracker/index.d.ts.map +1 -1
  250. package/dist/types/utils/errorTracker/index.js +62 -14
  251. package/dist/types/utils/errorTracker/index.js.map +1 -1
  252. package/package.json +2 -1
  253. package/dist/assets/index-BJuTCMET.js +0 -3
  254. package/dist/assets/index-BJuTCMET.js.map +0 -1
  255. package/dist/assets/index-legacy-kyEaSclL.js +0 -2
  256. package/dist/assets/index-legacy-kyEaSclL.js.map +0 -1
  257. package/dist/assets/sdks-LPZZCGgD.js +0 -2
  258. package/dist/assets/sdks-LPZZCGgD.js.map +0 -1
  259. package/dist/assets/sdks-legacy-CedyQdYU.js +0 -2
  260. package/dist/assets/sdks-legacy-CedyQdYU.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"NeighborhoodDemographics-CxIpWVnb.js","names":["e","e","t","d","t","a","t"],"sources":["../../../../node_modules/@phosphor-icons/react/dist/defs/Cardholder.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/House.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/User.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/Cardholder.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/House.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/User.es.js","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/TitleIcon/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/TitleIcon/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/TitleText/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/TitleText/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Accordion/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Accordion/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Tabs/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Tabs/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Container/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Container/constants.ts","../../src/sdks/NeighborhoodDemographics/types.ts","../../src/sdks/NeighborhoodDemographics/context.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Container/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Income/AverageIncome/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Income/EmploymentStatus/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Income/IncomeBrackets/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Income/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Population/TotalPopulation/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Population/PopulationByAgeGroup/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Population/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Housing/HomeOwnershipType/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Housing/TypeOfHousing/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Housing/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Household/HouseholdComposition/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Household/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Commute/CommuteMode/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Commute/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Education/EducationLevel/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Education/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Languages/SpokenLanguages/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Languages/MotherTongue/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Languages/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Content/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Content/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Footer/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Footer/index.tsx","../../src/sdks/NeighborhoodDemographics/schema.ts","../../src/sdks/NeighborhoodDemographics/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,44H48A28,28,0,0,0,20,72V184a28,28,0,0,0,28,28H208a28,28,0,0,0,28-28V72A28,28,0,0,0,208,44ZM48,68H208a4,4,0,0,1,4,4V88H160a12,12,0,0,0-12,12,20,20,0,0,1-40,0A12,12,0,0,0,96,88H44V72A4,4,0,0,1,48,68ZM208,188H48a4,4,0,0,1-4-4V112H85.66a44,44,0,0,0,84.68,0H212v72A4,4,0,0,1,208,188Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M224,72v48H160a32,32,0,0,1-64,0H32V72A16,16,0,0,1,48,56H208A16,16,0,0,1,224,72Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,48H48A24,24,0,0,0,24,72V184a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V72A24,24,0,0,0,208,48ZM40,96H216v16H160a8,8,0,0,0-8,8,24,24,0,0,1-48,0,8,8,0,0,0-8-8H40Zm8-32H208a8,8,0,0,1,8,8v8H40V72A8,8,0,0,1,48,64ZM208,192H48a8,8,0,0,1-8-8V128H88.8a40,40,0,0,0,78.4,0H216v56A8,8,0,0,1,208,192Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,48H48A24,24,0,0,0,24,72V184a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V72A24,24,0,0,0,208,48Zm-56,72a24,24,0,0,1-48,0,8,8,0,0,0-8-8H40V96H216v16H160A8,8,0,0,0,152,120ZM48,64H208a8,8,0,0,1,8,8v8H40V72A8,8,0,0,1,48,64Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,50H48A22,22,0,0,0,26,72V184a22,22,0,0,0,22,22H208a22,22,0,0,0,22-22V72A22,22,0,0,0,208,50ZM38,94H218v20H160a6,6,0,0,0-6,6,26,26,0,0,1-52,0,6,6,0,0,0-6-6H38ZM48,62H208a10,10,0,0,1,10,10V82H38V72A10,10,0,0,1,48,62ZM208,194H48a10,10,0,0,1-10-10V126H90.47a38,38,0,0,0,75.06,0H218v58A10,10,0,0,1,208,194Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,48H48A24,24,0,0,0,24,72V184a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V72A24,24,0,0,0,208,48ZM40,96H216v16H160a8,8,0,0,0-8,8,24,24,0,0,1-48,0,8,8,0,0,0-8-8H40Zm8-32H208a8,8,0,0,1,8,8v8H40V72A8,8,0,0,1,48,64ZM208,192H48a8,8,0,0,1-8-8V128H88.8a40,40,0,0,0,78.4,0H216v56A8,8,0,0,1,208,192Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,52H48A20,20,0,0,0,28,72V184a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V72A20,20,0,0,0,208,52ZM36,92H220v24H160a4,4,0,0,0-4,4,28,28,0,0,1-56,0,4,4,0,0,0-4-4H36ZM48,60H208a12,12,0,0,1,12,12V84H36V72A12,12,0,0,1,48,60ZM208,196H48a12,12,0,0,1-12-12V124H92.22a36,36,0,0,0,71.56,0H220v60A12,12,0,0,1,208,196Z\" }))\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: \"M222.14,105.85l-80-80a20,20,0,0,0-28.28,0l-80,80A19.86,19.86,0,0,0,28,120v96a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V164h24v52a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V120A19.86,19.86,0,0,0,222.14,105.85ZM204,204H164V152a12,12,0,0,0-12-12H104a12,12,0,0,0-12,12v52H52V121.65l76-76,76,76Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M216,120v96H152V152H104v64H40V120a8,8,0,0,1,2.34-5.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,216,120Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,120v96a8,8,0,0,1-8,8H160a8,8,0,0,1-8-8V164a4,4,0,0,0-4-4H108a4,4,0,0,0-4,4v52a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V120a16,16,0,0,1,4.69-11.31l80-80a16,16,0,0,1,22.62,0l80,80A16,16,0,0,1,224,120Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M217.9,110.1l-80-80a14,14,0,0,0-19.8,0l-80,80A13.92,13.92,0,0,0,34,120v96a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V158h36v58a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V120A13.92,13.92,0,0,0,217.9,110.1ZM210,210H158V152a6,6,0,0,0-6-6H104a6,6,0,0,0-6,6v58H46V120a2,2,0,0,1,.58-1.42l80-80a2,2,0,0,1,2.84,0l80,80A2,2,0,0,1,210,120Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216.49,111.51l-80-80a12,12,0,0,0-17,0l-80,80A12,12,0,0,0,36,120v96a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V156h40v60a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V120A12,12,0,0,0,216.49,111.51ZM212,212H156V152a4,4,0,0,0-4-4H104a4,4,0,0,0-4,4v60H44V120a4,4,0,0,1,1.17-2.83l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,212,120Z\" }))\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: \"M234.38,210a123.36,123.36,0,0,0-60.78-53.23,76,76,0,1,0-91.2,0A123.36,123.36,0,0,0,21.62,210a12,12,0,1,0,20.77,12c18.12-31.32,50.12-50,85.61-50s67.49,18.69,85.61,50a12,12,0,0,0,20.77-12ZM76,96a52,52,0,1,1,52,52A52.06,52.06,0,0,1,76,96Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M192,96a64,64,0,1,1-64-64A64,64,0,0,1,192,96Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M230.92,212c-15.23-26.33-38.7-45.21-66.09-54.16a72,72,0,1,0-73.66,0C63.78,166.78,40.31,185.66,25.08,212a8,8,0,1,0,13.85,8c18.84-32.56,52.14-52,89.07-52s70.23,19.44,89.07,52a8,8,0,1,0,13.85-8ZM72,96a56,56,0,1,1,56,56A56.06,56.06,0,0,1,72,96Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M230.93,220a8,8,0,0,1-6.93,4H32a8,8,0,0,1-6.92-12c15.23-26.33,38.7-45.21,66.09-54.16a72,72,0,1,1,73.66,0c27.39,8.95,50.86,27.83,66.09,54.16A8,8,0,0,1,230.93,220Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M229.19,213c-15.81-27.32-40.63-46.49-69.47-54.62a70,70,0,1,0-63.44,0C67.44,166.5,42.62,185.67,26.81,213a6,6,0,1,0,10.38,6C56.4,185.81,90.34,166,128,166s71.6,19.81,90.81,53a6,6,0,1,0,10.38-6ZM70,96a58,58,0,1,1,58,58A58.07,58.07,0,0,1,70,96Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M230.92,212c-15.23-26.33-38.7-45.21-66.09-54.16a72,72,0,1,0-73.66,0C63.78,166.78,40.31,185.66,25.08,212a8,8,0,1,0,13.85,8c18.84-32.56,52.14-52,89.07-52s70.23,19.44,89.07,52a8,8,0,1,0,13.85-8ZM72,96a56,56,0,1,1,56,56A56.06,56.06,0,0,1,72,96Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M227.46,214c-16.52-28.56-43-48.06-73.68-55.09a68,68,0,1,0-51.56,0c-30.64,7-57.16,26.53-73.68,55.09a4,4,0,0,0,6.92,4C55,184.19,89.62,164,128,164s73,20.19,92.54,54a4,4,0,0,0,3.46,2,3.93,3.93,0,0,0,2-.54A4,4,0,0,0,227.46,214ZM68,96a60,60,0,1,1,60,60A60.07,60.07,0,0,1,68,96Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as o from \"react\";\nimport t from \"../lib/IconBase.es.js\";\nimport d from \"../defs/Cardholder.es.js\";\nconst r = o.forwardRef((e, a) => /* @__PURE__ */ o.createElement(t, { ref: a, ...e, weights: d }));\nr.displayName = \"CardholderIcon\";\nconst s = r;\nexport {\n s as Cardholder,\n r as CardholderIcon\n};\n","import * as o from \"react\";\nimport t from \"../lib/IconBase.es.js\";\nimport a from \"../defs/House.es.js\";\nconst e = o.forwardRef((r, s) => /* @__PURE__ */ o.createElement(t, { ref: s, ...r, weights: a }));\ne.displayName = \"HouseIcon\";\nconst n = e;\nexport {\n n as House,\n e as HouseIcon\n};\n","import * as e from \"react\";\nimport t from \"../lib/IconBase.es.js\";\nimport a from \"../defs/User.es.js\";\nconst o = e.forwardRef((r, s) => /* @__PURE__ */ e.createElement(t, { ref: s, ...r, weights: a }));\no.displayName = \"UserIcon\";\nconst n = o;\nexport {\n n as User,\n o as UserIcon\n};\n","export const icon = `w-6 h-6`;\n","import React from \"react\";\n\nimport type { Icon } from \"@phosphor-icons/react\";\n\nimport * as styles from \"./styles\";\n\nexport const TitleIcon = ({ icon: Icon }: { icon: Icon }) => (\n <Icon className={styles.icon} />\n);\n","export const text = `text-base leading-6 font-medium`;\n","import React from \"react\";\n\nimport * as styles from \"./styles\";\n\nexport const TitleText = ({\n text,\n className,\n}: {\n text: string;\n className?: string;\n}) => <h2 className={`${styles.text} ${className || \"\"}`}>{text}</h2>;\n","export const container = `flex flex-col gap-2`;\nexport const item = `px-4 rounded border border-ll-border shadow cursor-pointer group`;\nexport const header = `py-3 flex items-center gap-1.5 group-data-[active=true]:text-ll-primary`;\nexport const title = `grow`;\nexport const arrowIcon = `w-3.5 h-3.5 text-ll-placeholder data-[is-active=true]:rotate-180 transition-transform duration-50 ease-in-out`;\nexport const content = `py-3 border-t border-ll-surface`;\n","import React from \"react\";\n\nimport { CaretDownIcon } from \"@phosphor-icons/react\";\nimport { TitleIcon } from \"../TitleIcon\";\nimport { TitleText } from \"../TitleText\";\n\nimport { type SectionHeaders } from \"../../types\";\nimport * as styles from \"./styles\";\n\nexport const Accordion = ({\n sectionHeaders,\n activeTabIndex,\n onTabChange,\n children,\n}: {\n sectionHeaders: SectionHeaders;\n activeTabIndex: number;\n onTabChange: (index: number) => void;\n children?: React.ReactNode;\n}) => (\n <div className={styles.container}>\n {sectionHeaders.map((section, index) => (\n <div\n key={`section-accordion-${section.title}`}\n className={styles.item}\n onClick={() => onTabChange(activeTabIndex === index ? -1 : index)}\n data-active={activeTabIndex === index}\n >\n <div className={styles.header}>\n <TitleIcon icon={section.icon} />\n <TitleText text={section.title} className={styles.title} />\n <CaretDownIcon\n className={styles.arrowIcon}\n data-is-active={activeTabIndex === index}\n />\n </div>\n {activeTabIndex === index && (\n <div className={styles.content}>{children}</div>\n )}\n </div>\n ))}\n </div>\n);\n","export const container = `w-full`;\nexport const borderContainer = `border-b-4 border-ll-surface rounded flex items-center justify-center`;\nexport const itemActiveBorder = `h-1 bg-ll-primary rounded w-full -mb-1 data-[active=false]:opacity-0 transition-opacity`;\nexport const tabsContainer = `flex items-center justify-center pb-4`;\nexport const tab = `w-full flex items-center justify-center py-2.5 gap-2 data-[active=true]:text-ll-primary cursor-pointer transition-colors`;\nexport const content = `p-6`;\n","import React from \"react\";\n\nimport { TitleText } from \"../TitleText\";\nimport { TitleIcon } from \"../TitleIcon\";\n\nimport { type SectionHeaders } from \"../../types\";\nimport * as styles from \"./styles\";\n\nexport const Tabs = ({\n sectionHeaders,\n activeTabIndex,\n onTabChange,\n children,\n}: {\n sectionHeaders: SectionHeaders;\n activeTabIndex: number;\n onTabChange: (index: number) => void;\n children?: React.ReactNode;\n}) => (\n <>\n <div className={styles.container}>\n <div className={styles.tabsContainer}>\n {sectionHeaders.map((section, index) => (\n <div\n key={`section-tab-${section.title}`}\n className={styles.tab}\n onClick={() => onTabChange(index)}\n data-active={activeTabIndex === index}\n >\n <TitleIcon icon={section.icon} />\n <TitleText text={section.title} />\n </div>\n ))}\n </div>\n <div className={styles.borderContainer}>\n {sectionHeaders.map((section, index) => (\n <div\n key={`section-tab-border-${section.title}`}\n className={styles.itemActiveBorder}\n data-active={activeTabIndex === index}\n />\n ))}\n </div>\n </div>\n <div className={styles.content}>{children}</div>\n </>\n);\n","export const wrapper = `text-ll-placeholder`;\n","import {\n type Icon,\n CardholderIcon,\n UserIcon,\n HouseIcon,\n UsersFourIcon,\n GraduationCapIcon,\n CarIcon,\n TranslateIcon,\n} from \"@phosphor-icons/react\";\nimport type { DemographicsCategory } from \"~/sdks/NeighborhoodDemographics/types\";\n\nexport const sectionKeys: DemographicsCategory[] = [\n \"income\",\n \"population\",\n \"housing\",\n \"household\",\n \"education\",\n \"commute\",\n \"languages\",\n];\n\nexport const sectionIcons: { [key in DemographicsCategory]: Icon } = {\n income: CardholderIcon,\n population: UserIcon,\n housing: HouseIcon,\n household: UsersFourIcon,\n education: GraduationCapIcon,\n commute: CarIcon,\n languages: TranslateIcon,\n};\n","import { SDKOptions } from \"~/types/options\";\n\nexport type DemographicsCategory =\n | \"income\"\n | \"population\"\n | \"housing\"\n | \"household\"\n | \"education\"\n | \"commute\"\n | \"languages\";\n\nexport type Options = {\n lat?: number;\n lng?: number;\n geographyId?: string;\n title?: boolean | string;\n hideAttribution?: boolean;\n};\n\nexport type NeighborhoodDemographicsProps = SDKOptions<\n Options,\n {\n options: Options | undefined;\n }\n>;\n\nexport enum TrackingPipelineEvents {\n SDK_VIEWED = \"neighborhood-demographics-Viewed\",\n CATEGORY_CLICKED = \"neighborhood-demographics-Category-Clicked\",\n}\n\n// Why are these named differently?\n// https://docs.mixpanel.com/docs/data-structure/events-and-properties#name-events-and-properties-consistently\nexport enum AnalyticsEvents {\n SDK_VIEWED = \"sdk_viewed\",\n CATEGORY_CLICKED = \"category_clicked\",\n}\n","import React, { useContext, useMemo } from \"react\";\nimport { type Demographics } from \"@local-logic/client\";\n\nimport {\n type NeighborhoodDemographicsProps,\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"./types\";\nimport { useTracking } from \"~/tracking\";\nimport useEffectOnce from \"~/hooks/useEffectOnce\";\nimport { useGeographies } from \"~/features/clientLibrary/useGeographies\";\nimport { useLocation } from \"~/hooks/useLocation\";\nimport { useStateManagerContext } from \"~/context/stateManager\";\nimport { useDemographicsData } from \"~/hooks/useDemographicsData\";\n\nexport type DemographicsCategories =\n | \"income\"\n | \"population\"\n | \"housing\"\n | \"household\"\n | \"education\"\n | \"commute\"\n | \"languages\";\n\nexport type DefaultContext = {\n isLoading: boolean;\n demographicsData: Demographics;\n country: string;\n locale: \"en\" | \"fr\";\n hideAttribution: boolean;\n};\n\nconst NeighborhoodDemographicsContext = React.createContext<DefaultContext>(\n {} as DefaultContext,\n);\nconst useNeighborhoodDemographics = () =>\n useContext(NeighborhoodDemographicsContext);\n\nconst NeighborhoodDemographicsProvider = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const { sdkState } = useStateManagerContext<NeighborhoodDemographicsProps>();\n const tracking = useTracking();\n\n useEffectOnce(() => {\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SDK_VIEWED,\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.SDK_VIEWED,\n });\n });\n\n const { isLoading: isGeographyLoading, data: geographyData } = useGeographies(\n {\n location: {\n lat:\n typeof sdkState.options?.geographyId === \"undefined\"\n ? sdkState.options?.lat\n : undefined,\n lng:\n typeof sdkState.options?.geographyId === \"undefined\"\n ? sdkState.options?.lng\n : undefined,\n },\n },\n );\n\n const geography = useMemo(() => {\n const geographiesArray = Object.values(geographyData || {});\n\n return geographiesArray[0];\n }, [isGeographyLoading, geographyData]);\n\n const geographyId = useMemo(() => {\n if (typeof sdkState.options?.geographyId !== \"undefined\") {\n return sdkState.options.geographyId;\n }\n\n return Object.keys(geographyData || {})[0];\n }, [sdkState.options?.geographyId, geographyData]);\n\n const {\n data: { country },\n } = useLocation({\n lat: geography?.centroid.lat,\n lng: geography?.centroid.lng,\n });\n\n const { data: demographicsData, isFetching: isDemographicsFetching } =\n useDemographicsData({\n geographyId,\n });\n\n return (\n <NeighborhoodDemographicsContext.Provider\n value={{\n isLoading: isGeographyLoading || isDemographicsFetching,\n demographicsData: demographicsData || {},\n country: country || \"CA\",\n locale: sdkState.globalOptions?.locale || \"en\",\n hideAttribution: sdkState.options?.hideAttribution || false,\n }}\n >\n {children}\n </NeighborhoodDemographicsContext.Provider>\n );\n};\n\nexport { useNeighborhoodDemographics, NeighborhoodDemographicsProvider };\n","import React, { useState, useMemo, isValidElement } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { type SectionHeaders } from \"../../types\";\nimport { Accordion } from \"../Accordion\";\nimport { Tabs } from \"../Tabs\";\nimport * as styles from \"./styles\";\nimport { sectionKeys, sectionIcons } from \"./constants\";\nimport { useTracking } from \"~/tracking\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\nimport { useResponsiveBreakpoints } from \"~/hooks/useResponsiveBreakpoints\";\n\nimport {\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/NeighborhoodDemographics/types\";\n\nexport const Container = ({\n className,\n children,\n}: {\n className?: string;\n children: React.ReactNode[];\n}) => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const tracking = useTracking();\n const currentBreakpoints = useResponsiveBreakpoints();\n const [activeSectionIndex, setActiveSectionIndex] = useState(0);\n const { demographicsData } = useNeighborhoodDemographics();\n\n const omitTabs = useMemo(() => {\n if (!demographicsData) {\n return [];\n }\n\n const tabsToOmit: string[] = [];\n const dataKeys = {\n income: \"income\",\n population: \"population_age\",\n housing: \"housing_tenancy\",\n household: \"household_composition\",\n commute: \"commute_mode\",\n education: \"education_level\",\n languages: \"mother_tongue\",\n };\n\n Object.entries(dataKeys).forEach(([key, value]) => {\n if (!Object.keys(demographicsData).includes(value)) {\n tabsToOmit.push(key);\n }\n });\n return tabsToOmit;\n }, [demographicsData]);\n\n const sectionHeaders: SectionHeaders = useMemo(\n () =>\n sectionKeys\n .filter((value) => !omitTabs.includes(value))\n .map((key) => ({\n title: t(`data.${key}.title`),\n icon: sectionIcons[key],\n key,\n })),\n [omitTabs],\n );\n\n // Uses the name of the component to figure out if it should be displayed or not\n const sectionChildren = useMemo(\n () =>\n children.filter(\n (child) =>\n isValidElement(child) &&\n typeof child.type === \"function\" &&\n !omitTabs.includes(child.type.name.toLocaleLowerCase()),\n ),\n [children, omitTabs],\n );\n\n const tabAdaptedActiveSectionIndex = useMemo(\n () =>\n currentBreakpoints && currentBreakpoints.lg && activeSectionIndex < 0\n ? 0\n : activeSectionIndex,\n [currentBreakpoints, activeSectionIndex],\n );\n\n const handleOnTabChange = (index: number) => {\n setActiveSectionIndex(index);\n\n if (\n activeSectionIndex !== index &&\n typeof sectionHeaders[index] !== \"undefined\"\n ) {\n tracking.postEvent({\n eventType: TrackingPipelineEvents.CATEGORY_CLICKED,\n eventAttributes: [\n {\n label: \"category\",\n data: sectionHeaders[index].key,\n },\n ],\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.CATEGORY_CLICKED,\n eventAttributes: {\n ll_category: sectionHeaders[index].key,\n },\n });\n }\n };\n\n if (activeSectionIndex > children.length - 1) {\n // This should never really happen, but in case there aren't enough children, we'll display this error in the console\n\n console.error(\n \"Invalid tab content accessor. Index does not exist on the supplied list of nodes.\",\n );\n }\n\n return (\n <div className={`${styles.wrapper} ${className || \"\"}`}>\n {currentBreakpoints && !currentBreakpoints.lg && (\n <Accordion\n sectionHeaders={sectionHeaders}\n activeTabIndex={tabAdaptedActiveSectionIndex}\n onTabChange={handleOnTabChange}\n >\n {sectionChildren[tabAdaptedActiveSectionIndex]}\n </Accordion>\n )}\n {currentBreakpoints && currentBreakpoints.lg && (\n <Tabs\n sectionHeaders={sectionHeaders}\n activeTabIndex={tabAdaptedActiveSectionIndex}\n onTabChange={handleOnTabChange}\n >\n {sectionChildren[tabAdaptedActiveSectionIndex]}\n </Tabs>\n )}\n </div>\n );\n};\n","export const container = `\n flex flex-col flex-1\n`;\n\nexport const noDataElement = `\n bg-ll-surface px-3 pt-4 pb-3 rounded-sm box-border\n`;\n\nexport const spinner = `\n flex justify-center items-center \n px-3 pt-4 pb-3 height-[40px]\n`;\n\nexport const graphLayoutWrapper = `\n flex flex-col justify-start gap-3\n md:justify-between md:flex-row\n h-full\n`;\n\nexport const graphSideBySide = `\n flex justify-between gap-3 flex-row min-w-[250px]\n md:flex-col\n`;\n\nexport const graphContainer = `\n w-full md:h-full\n data-[size=quarter]:h-[25%] md:data-[size=quarter]:h-full\n data-[size=half]:h-[50%] md:data-[size=half]:h-full\n`;\n\nexport const donutChartIcon = `text-ll-primary w-2/4 h-2/4`;\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const AverageIncome = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { income },\n } = useNeighborhoodDemographics();\n\n const deleteKeys = [\"median_individual_income\", \"median_household_income\"];\n const incomeTypes = useMemo(\n () =>\n income?.variables\n .slice()\n .reverse()\n .filter(\n (variable) =>\n !variable.type ||\n variable.type === \"average\" ||\n variable.type === \"median\",\n ) || [\n {\n variable: \"avg_individual_income\",\n label: \"Avg individual income\",\n value:\n income?.variables?.find((x) => x.variable === \"inc_person\")\n ?.value || 0.0,\n },\n {\n variable: \"avg_household_income\",\n label: \"Avg household income\",\n value:\n income?.variables?.find((x) => x.variable === \"inc_home\")?.value ||\n 0.0,\n },\n ],\n [income?.variables],\n );\n\n /**\n * Intl.NumberFormat does a good job at displaying currency.\n *\n * We USD for the currency so that it formats to have a $ at the start of the amount.\n * If we put CAD, it will output as CAD$\n */\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.income.graphs.averageIncome.title\"),\n values: incomeTypes\n // Hotfix: Remove duplicated keys, will get resolved after some API work\n .filter((value) => !deleteKeys.includes(value.variable))\n .map((incomeType) => ({\n variable: incomeType.variable,\n value: `${new Intl.NumberFormat(\"en-EN\", {\n style: \"currency\",\n currency: \"USD\",\n maximumFractionDigits: 1,\n }).format(incomeType.value / 1000)}${\n incomeType.value >= 1000 ? \"k\" : \"\"\n }`,\n label: t(\n `data.income.graphs.averageIncome.types.${incomeType.variable as \"avg_household_income\" | \"avg_individual_income\"}`,\n ),\n })),\n },\n }),\n [incomeTypes],\n );\n\n return <DemographicsTextCard {...chartOptions} />;\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const EmploymentStatus = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { employment_status: employmentStatus },\n } = useNeighborhoodDemographics();\n\n const datasets = useMemo(\n () =>\n employmentStatus?.variables\n .filter((variable) => !variable.type || variable.type === \"percent\")\n .map((variable: Variable) => ({\n label: variable.label,\n data: Number((variable.value * 100).toFixed(1)),\n })) || [],\n [employmentStatus?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.income.graphs.employment.title\"),\n values: datasets.map((item) => ({\n variable: item.label.replace(\" \", \"_\"),\n label: item.label,\n value: `${item.data}%`,\n })),\n },\n }),\n [datasets],\n );\n\n if (!employmentStatus) {\n return null;\n }\n\n return <DemographicsTextCard {...chartOptions} />;\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const IncomeBrackets = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { income_level: incomeLevel },\n } = useNeighborhoodDemographics();\n\n const dataset = useMemo(() => {\n const variables = incomeLevel?.variables\n .filter((variable) => !variable.type || variable.type === \"percent\")\n .sort(\n (a, b) =>\n Number(a.variable.split(\"_\")[1]) - Number(b.variable.split(\"_\")[1]),\n );\n\n return {\n labels: variables?.map((variable) => variable.label) || [],\n data:\n variables?.map((variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n };\n }, [incomeLevel?.variables]);\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.income.graphs.incomeBrackets.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { AverageIncome } from \"./AverageIncome\";\n\nimport { EmploymentStatus } from \"./EmploymentStatus\";\nimport { IncomeBrackets } from \"./IncomeBrackets\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\n// TODO: To be reworked once we start implementing the new graphs\nexport const Income = () => {\n const {\n demographicsData: { income_level: incomeLevel },\n } = useNeighborhoodDemographics();\n\n // Employment status and Income level only available in the USA\n return (\n <>\n {incomeLevel ? (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphSideBySide}>\n <div className={styles.graphContainer}>\n <AverageIncome />\n </div>\n <div className={styles.graphContainer}>\n <EmploymentStatus />\n </div>\n </div>\n <IncomeBrackets />\n </div>\n ) : (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer} data-size=\"quarter\">\n <AverageIncome />\n </div>\n </div>\n )}\n </>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { UsersFourIcon } from \"@phosphor-icons/react\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const TotalPopulation = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { population_total: populationTotal },\n } = useNeighborhoodDemographics();\n\n const dataset = useMemo(\n () => populationTotal?.variables[0],\n [populationTotal?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.population.graphs.totalPopulation.title\"),\n values: [\n {\n variable: dataset?.variable || \"\",\n value: `${new Intl.NumberFormat(\"en-EN\").format(Math.round(dataset?.value || 0))}`,\n label: t(\"data.population.graphs.totalPopulation.title\"),\n icon: UsersFourIcon,\n },\n ],\n },\n }),\n [dataset],\n );\n\n return <DemographicsTextCard {...chartOptions} />;\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const PopulationByAgeGroup = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { population_age: populationAge },\n } = useNeighborhoodDemographics();\n\n const populationAgeFormatted = useMemo(() => {\n if (!populationAge) {\n return null;\n }\n\n const filteredVariables = populationAge?.variables\n .filter((variable) => !variable.type || variable.type === \"percent\")\n .sort(\n (a, b) =>\n Number(a.variable.split(\"_\")[1]) - Number(b.variable.split(\"_\")[1]),\n );\n\n if (populationAge?.variables.length > 12) {\n const keys = filteredVariables.map((e) => {\n const labels = e.label.split(\" \");\n labels.splice(1, 1);\n\n return labels;\n });\n\n const mergedPopulation: {\n variable: string;\n value: number;\n label: string;\n }[] = [];\n\n keys.forEach((element, index) => {\n if (index === 0 || index % 2 === 0) {\n mergedPopulation.push({\n variable: `age_${element[0]}_${keys[index + 1][1]}`,\n value:\n filteredVariables[index].value +\n filteredVariables[index + 1].value,\n label: `${element[0]} to ${keys[index + 1][1]}`,\n });\n }\n });\n\n return mergedPopulation;\n }\n\n return filteredVariables;\n }, [populationAge]);\n\n const dataset = useMemo(\n () => ({\n labels:\n populationAgeFormatted?.map((variable: Variable) => variable.label) ||\n [],\n data:\n populationAgeFormatted?.map((variable: Variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n }),\n [populationAgeFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.population.graphs.populationByAgeGroup.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { TotalPopulation } from \"./TotalPopulation\";\nimport { PopulationByAgeGroup } from \"./PopulationByAgeGroup\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\n// TODO: To be reworked once we start implementing the new graphs\nexport const Population = () => {\n const {\n demographicsData: { population_total: populationTotal },\n } = useNeighborhoodDemographics();\n\n return (\n <div className={styles.graphLayoutWrapper}>\n {populationTotal && (\n <div className={styles.graphSideBySide}>\n <div className={styles.graphContainer} data-size=\"half\">\n <TotalPopulation />\n </div>\n </div>\n )}\n\n <div className={styles.graphContainer} data-size=\"half\">\n <PopulationByAgeGroup />\n </div>\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const HomeOwnershipType = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: {\n property_tenure: propertyTenure,\n housing_tenancy: housingTenancy,\n },\n } = useNeighborhoodDemographics();\n\n // For the US, the name of the property changes\n const housingInfo = useMemo(\n () => housingTenancy || propertyTenure,\n [housingTenancy, propertyTenure],\n );\n\n const dataset = useMemo(\n () =>\n housingInfo?.variables\n .filter((variable) => !variable.type || variable.type === \"percent\")\n .map((variable: Variable) => ({\n label: variable.label,\n data: Number((variable.value * 100).toFixed(1)),\n })) || [],\n [housingInfo?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.housing.graphs.homeOwnershipType.title\"),\n values: dataset.map((item) => ({\n variable: item.label.replace(\" \", \"_\"),\n label: item.label,\n value: `${item.data}%`,\n })),\n },\n }),\n [dataset],\n );\n\n return <DemographicsTextCard {...chartOptions} />;\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const TypeOfHousing = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { housing_type: housingType },\n } = useNeighborhoodDemographics();\n\n const dataset = useMemo(() => {\n const variables = housingType?.variables.filter(\n (variable) => !variable.type || variable.type === \"percent\",\n );\n\n return {\n labels: variables?.map((variable) => variable.label) || [],\n data:\n variables?.map((variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n };\n }, [housingType?.variables]);\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.housing.graphs.typeOfHousing.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { HomeOwnershipType } from \"./HomeOwnershipType\";\nimport { TypeOfHousing } from \"./TypeOfHousing\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\n// TODO: To be reworked once we start implementing the new graphs\nexport const Housing = () => {\n const {\n demographicsData: {\n property_tenure: propertyTenure,\n housing_tenancy: housingTenancy,\n housing_type: housingType,\n },\n } = useNeighborhoodDemographics();\n\n // For the US, the name of the property changes\n const housingInfo = housingTenancy || propertyTenure;\n\n return (\n <div className={styles.graphLayoutWrapper}>\n {housingInfo && (\n <div className={styles.graphSideBySide}>\n <div className={styles.graphContainer}>\n <HomeOwnershipType />\n </div>\n </div>\n )}\n {housingType && (\n <div className={styles.graphContainer}>\n <TypeOfHousing />\n </div>\n )}\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { UsersThreeIcon } from \"@phosphor-icons/react\";\n\nimport type { Variable } from \"@local-logic/client\";\n\nimport * as styles from \"../../styles\";\nimport { DonutChart } from \"~/components/deprecated\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nexport const HouseholdComposition = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { household_composition: householdComposition },\n } = useNeighborhoodDemographics();\n\n const householdFormatted = useMemo(\n () =>\n householdComposition?.variables\n .map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter(\n (variable: Variable) =>\n (!variable.type || variable.type === \"percent\") &&\n Number((variable.value * 100).toFixed(1)) > 0,\n ),\n [householdComposition?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n householdFormatted?.map(\n (variable: Variable) => `${variable.value}% ${variable.label}`,\n ) || [],\n data:\n householdFormatted?.map((variable: Variable) => variable.value) || [],\n }),\n [householdFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.household.graphs.householdComposition.title\"),\n labels: dataset.labels,\n data: dataset.data,\n icon: <UsersThreeIcon className={styles.donutChartIcon} />,\n }),\n [dataset],\n );\n\n return <DonutChart {...chartOptions}></DonutChart>;\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { HouseholdComposition } from \"./HouseholdComposition\";\n\n// TODO: To be reworked once we start implementing the new graphs\nexport const Household = () => (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer} data-size=\"half\">\n <HouseholdComposition />\n </div>\n </div>\n);\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { PathIcon } from \"@phosphor-icons/react\";\n\nimport type { Variable } from \"@local-logic/client\";\n\nimport * as styles from \"../../styles\";\nimport { DonutChart } from \"~/components/deprecated\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nexport const CommuteMode = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { commute_mode: commuteMode },\n } = useNeighborhoodDemographics();\n\n const commuteFormatted = useMemo(\n () =>\n commuteMode?.variables\n .map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter(\n (variable: Variable) =>\n (!variable.type || variable.type === \"percent\") &&\n Number((variable.value * 100).toFixed(1)) > 0,\n ),\n [commuteMode?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n commuteFormatted?.map(\n (variable: Variable) => `${variable.value}% ${variable.label}`,\n ) || [],\n data: commuteFormatted?.map((variable: Variable) => variable.value) || [],\n }),\n [commuteFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.commute.graphs.commuteMode.title\"),\n labels: dataset.labels,\n data: dataset.data,\n icon: <PathIcon className={styles.donutChartIcon} />,\n }),\n [dataset],\n );\n\n return <DonutChart {...chartOptions}></DonutChart>;\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { CommuteMode } from \"./CommuteMode\";\n\n// TODO: To be reworked once we start implementing the new graphs\nexport const Commute = () => (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer} data-size=\"half\">\n <CommuteMode />\n </div>\n </div>\n);\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const EducationLevel = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { education_level: educationLevel },\n } = useNeighborhoodDemographics();\n\n const dataset = useMemo(() => {\n const variables = educationLevel?.variables.filter(\n (variable) => !variable.type || variable.type === \"percent\",\n );\n\n return {\n labels: variables?.map((variable: Variable) => variable.label) || [],\n data:\n variables?.map((variable: Variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n };\n }, [educationLevel?.variables]);\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.education.graphs.educationLevel.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { EducationLevel } from \"./EducationLevel\";\n\n// TODO: To be reworked once we start implementing the new graphs\nexport const Education = () => (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer} data-size=\"half\">\n <EducationLevel />\n </div>\n </div>\n);\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { TranslateIcon } from \"@phosphor-icons/react\";\n\nimport type { Variable } from \"@local-logic/client\";\n\nimport * as styles from \"../../styles\";\nimport { DonutChart } from \"~/components/deprecated\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nexport const SpokenLanguages = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { official_language_knowledge: oficialLanguages },\n } = useNeighborhoodDemographics();\n\n const oficialLanguagesFormatted = useMemo(\n () =>\n oficialLanguages?.variables\n .map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter(\n (variable: Variable) =>\n (!variable.type || variable.type === \"percent\") &&\n Number((variable.value * 100).toFixed(1)) > 0,\n ),\n [oficialLanguages?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n oficialLanguagesFormatted?.map(\n (variable: Variable) => `${variable.value}% ${variable.label}`,\n ) || [],\n data:\n oficialLanguagesFormatted?.map(\n (variable: Variable) => variable.value,\n ) || [],\n }),\n [oficialLanguagesFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.languages.graphs.spokenLanguages.title\"),\n labels: dataset.labels,\n data: dataset.data,\n icon: <TranslateIcon className={styles.donutChartIcon} />,\n }),\n [dataset],\n );\n\n return <DonutChart {...chartOptions}></DonutChart>;\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const MotherTongue = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { mother_tongue: motherTongue },\n } = useNeighborhoodDemographics();\n\n // The reason for the code below is because at the moment we only want to display the first 10 languages.\n // This is because displaying more than 10 languages at a time doesnt fit and ChartJS end up hiding some of the values.\n // french_and non_official_language_s and english_and_non_official_language_s' are too long to be displayed on mobile\n // So they are being filtered out.\n const motherTongueFormatted = useMemo(\n () =>\n motherTongue?.variables\n .filter(\n (item) =>\n item.variable !== \"french_and_non_official_language_s\" &&\n item.variable !== \"english_and_non_official_language_s\",\n )\n .slice(0, 10)\n ?.map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter(\n (variable: Variable) =>\n (!variable.type || variable.type === \"percent\") &&\n variable.value > 0,\n ),\n [motherTongue?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n motherTongueFormatted?.map((variable: Variable) => variable.label) ||\n [],\n data:\n motherTongueFormatted?.map((variable: Variable) => variable.value) ||\n [],\n }),\n [motherTongueFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.languages.graphs.motherTongue.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { SpokenLanguages } from \"./SpokenLanguages\";\nimport { MotherTongue } from \"./MotherTongue\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\n// TODO: To be reworked once we start implementing the new graphs\nexport const Languages = () => {\n const {\n demographicsData: { official_language_knowledge: oficialLanguages },\n } = useNeighborhoodDemographics();\n\n return (\n <div className={styles.graphLayoutWrapper}>\n {oficialLanguages && (\n <div className={styles.graphContainer} data-size=\"half\">\n <SpokenLanguages />\n </div>\n )}\n <div className={styles.graphContainer} data-size=\"half\">\n <MotherTongue />\n </div>\n </div>\n );\n};\n","import React from \"react\";\n\nimport { Container } from \"./Container\";\nimport type { DemographicsCategory } from \"~/sdks/NeighborhoodDemographics/types\";\n\nexport const Root = ({\n children,\n}: {\n omitTabs?: DemographicsCategory[];\n className?: string;\n children: React.ReactNode[];\n}) => <Container>{children}</Container>;\n\n// Export children\nexport * from \"./Content\";\n","export const spinner = `\n flex justify-center items-center \n px-3 pt-4 pb-3 w-full h-full\n`;\n\nexport const noDataContainer = `\n bg-ll-surface px-3 pt-4 pb-3 rounded-sm box-border\n`;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport * as Sections from \"../Sections\";\nimport * as styles from \"./styles\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { NoDataContentDeprecated } from \"~/components/NoDataContent\";\nimport { LoadingSpinner } from \"~/components/deprecated\";\n\nexport const Content = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const { isLoading, demographicsData } = useNeighborhoodDemographics();\n\n return (\n <>\n {isLoading && (\n <div className={styles.spinner}>\n <LoadingSpinner image />\n </div>\n )}\n\n {!isLoading &&\n (!demographicsData || Object.keys(demographicsData).length === 0) && (\n <NoDataContentDeprecated text={t(\"noData\")} />\n )}\n\n {demographicsData && (\n <Sections.Root>\n <Sections.Income />\n <Sections.Population />\n <Sections.Housing />\n <Sections.Household />\n <Sections.Education />\n <Sections.Commute />\n <Sections.Languages />\n </Sections.Root>\n )}\n </>\n );\n};\n","export const container = `\n py-3 items-center grid\n grid-cols-1 md:grid-cols-[2fr_1fr] \n [&>a]:justify-end\n`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport * as styles from \"./styles\";\nimport { Text } from \"~/components/deprecated\";\nimport { AttributionDeprecated as Attribution } from \"~/components/Attribution\";\n\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nexport const Footer = () => {\n const { t } = useTranslation([\"neighborhoodDemographics\", \"common\"]);\n const { locale, hideAttribution } = useNeighborhoodDemographics();\n\n return (\n <div className={styles.container}>\n <Text\n noMargin\n variant=\"caption1\"\n color=\"--ll-color-on-background-variant1\"\n >\n {t(\"note\")}\n </Text>\n {!hideAttribution && (\n <Attribution sdkName=\"neighborhood-demographics\" locale={locale} />\n )}\n </div>\n );\n};\n","import { ObjectSchema, mixed, boolean, number, string, object } from \"yup\";\nimport type { Options } from \"./types\";\n\nexport const schema: ObjectSchema<Options> = object({\n lat: number()\n .min(-90, \"Must be a valid latitude.\")\n .max(90, \"Must be a valid latitude.\")\n .when(\"geographyId\", {\n is: (geographyId?: string) => typeof geographyId === \"string\",\n then: (fieldSchema) => fieldSchema.optional(),\n otherwise: (fieldSchema) => fieldSchema.required(),\n }),\n lng: number()\n .min(-180, \"Must be a valid longitude.\")\n .max(180, \"Must be a valid longitude.\")\n .when(\"geographyId\", {\n is: (geographyId?: string) => typeof geographyId === \"string\",\n then: (fieldSchema) => fieldSchema.optional(),\n otherwise: (fieldSchema) => fieldSchema.required(),\n }),\n geographyId: string().optional(),\n title: mixed<string | boolean>().optional(),\n hideAttribution: boolean().optional(),\n}).noUnknown(true);\n","import React from \"react\";\nimport \"~/assets/styles/old-tailwind.css\";\nimport { useTranslation } from \"react-i18next\";\nimport { Content } from \"./components/Content\";\nimport { Footer } from \"./components/Footer\";\nimport { NeighborhoodDemographicsProvider } from \"./context\";\nimport { schema } from \"./schema\";\nimport { NeighborhoodDemographicsProps } from \"./types\";\nimport { TrackingProvider, initializeAnalytics } from \"~/tracking\";\n\nimport ResizeWrapper from \"~/components/ResizeWrapper\";\nimport { ValidateOptions } from \"~/components/ValidateOptions\";\nimport { LocalLogicProvider } from \"~/context/LocalLogicProvider\";\nimport { useStateManagerContext } from \"~/context/stateManager\";\nimport useIsMobile from \"~/hooks/useIsMobile\";\nimport { ProductNames } from \"~/types\";\nimport { ANALYTICS_SETTINGS } from \"~/constants/analytics\";\n\nimport { TitleHeader } from \"~/components/TitleHeader\";\n\ninitializeAnalytics(ANALYTICS_SETTINGS.neighborhoodWrap.key);\n\nconst NeighborhoodDemographics = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const { sdkState } = useStateManagerContext<NeighborhoodDemographicsProps>();\n const isMobile = useIsMobile();\n const locale = sdkState.globalOptions?.locale || \"en\";\n\n return (\n <ResizeWrapper>\n <ValidateOptions\n sdk=\"Neighborhood Demographics\"\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.NEIGHBORHOOD_DEMOGRAPHICS}\n >\n <TrackingProvider\n trackingPipelineSettings={{\n apiKey: sdkState.apiKey || \"\",\n }}\n analyticsSettings={ANALYTICS_SETTINGS.neighborhoodWrap}\n meta={{\n clientId: sdkState.clientId,\n productName: ProductNames.NEIGHBORHOOD_DEMOGRAPHICS,\n productVersion: FULL_APP_VERSION,\n }}\n attributes={{\n location: {\n lat: sdkState.options?.lat,\n lng: sdkState.options?.lng,\n },\n host: sdkState.location,\n host_url: document.referrer,\n locale,\n isMobile,\n }}\n flags={{\n isDebugMode:\n import.meta.env.VITE_TRACKING_PIPELINE_DEBUG === \"true\",\n }}\n >\n <NeighborhoodDemographicsProvider>\n <TitleHeader\n title={\n typeof sdkState.options?.title === \"string\" ||\n sdkState.options?.title === false\n ? sdkState.options.title\n : t(\"title\")\n }\n />\n <Content />\n <Footer />\n </NeighborhoodDemographicsProvider>\n </TrackingProvider>\n </LocalLogicProvider>\n </ValidateOptions>\n </ResizeWrapper>\n );\n};\n\nexport default NeighborhoodDemographics;\n"],"x_google_ignoreList":[0,1,2,3,4,5],"mappings":"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"}
1
+ {"version":3,"file":"NeighborhoodDemographics-C0jX8lOM.js","names":["e","e","t","d","t","a","t"],"sources":["../../../../node_modules/@phosphor-icons/react/dist/defs/Cardholder.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/House.es.js","../../../../node_modules/@phosphor-icons/react/dist/defs/User.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/Cardholder.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/House.es.js","../../../../node_modules/@phosphor-icons/react/dist/csr/User.es.js","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/TitleIcon/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/TitleIcon/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/TitleText/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/TitleText/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Accordion/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Accordion/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Tabs/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Tabs/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Container/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Container/constants.ts","../../src/sdks/NeighborhoodDemographics/types.ts","../../src/sdks/NeighborhoodDemographics/context.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Container/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Income/AverageIncome/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Income/EmploymentStatus/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Income/IncomeBrackets/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Income/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Population/TotalPopulation/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Population/PopulationByAgeGroup/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Population/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Housing/HomeOwnershipType/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Housing/TypeOfHousing/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Housing/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Household/HouseholdComposition/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Household/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Commute/CommuteMode/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Commute/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Education/EducationLevel/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Education/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Languages/SpokenLanguages/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Languages/MotherTongue/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/Content/Languages/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Sections/Root/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Content/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Content/index.tsx","../../src/sdks/NeighborhoodDemographics/components/Footer/styles.ts","../../src/sdks/NeighborhoodDemographics/components/Footer/index.tsx","../../src/sdks/NeighborhoodDemographics/schema.ts","../../src/sdks/NeighborhoodDemographics/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,44H48A28,28,0,0,0,20,72V184a28,28,0,0,0,28,28H208a28,28,0,0,0,28-28V72A28,28,0,0,0,208,44ZM48,68H208a4,4,0,0,1,4,4V88H160a12,12,0,0,0-12,12,20,20,0,0,1-40,0A12,12,0,0,0,96,88H44V72A4,4,0,0,1,48,68ZM208,188H48a4,4,0,0,1-4-4V112H85.66a44,44,0,0,0,84.68,0H212v72A4,4,0,0,1,208,188Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M224,72v48H160a32,32,0,0,1-64,0H32V72A16,16,0,0,1,48,56H208A16,16,0,0,1,224,72Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,48H48A24,24,0,0,0,24,72V184a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V72A24,24,0,0,0,208,48ZM40,96H216v16H160a8,8,0,0,0-8,8,24,24,0,0,1-48,0,8,8,0,0,0-8-8H40Zm8-32H208a8,8,0,0,1,8,8v8H40V72A8,8,0,0,1,48,64ZM208,192H48a8,8,0,0,1-8-8V128H88.8a40,40,0,0,0,78.4,0H216v56A8,8,0,0,1,208,192Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,48H48A24,24,0,0,0,24,72V184a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V72A24,24,0,0,0,208,48Zm-56,72a24,24,0,0,1-48,0,8,8,0,0,0-8-8H40V96H216v16H160A8,8,0,0,0,152,120ZM48,64H208a8,8,0,0,1,8,8v8H40V72A8,8,0,0,1,48,64Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,50H48A22,22,0,0,0,26,72V184a22,22,0,0,0,22,22H208a22,22,0,0,0,22-22V72A22,22,0,0,0,208,50ZM38,94H218v20H160a6,6,0,0,0-6,6,26,26,0,0,1-52,0,6,6,0,0,0-6-6H38ZM48,62H208a10,10,0,0,1,10,10V82H38V72A10,10,0,0,1,48,62ZM208,194H48a10,10,0,0,1-10-10V126H90.47a38,38,0,0,0,75.06,0H218v58A10,10,0,0,1,208,194Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,48H48A24,24,0,0,0,24,72V184a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V72A24,24,0,0,0,208,48ZM40,96H216v16H160a8,8,0,0,0-8,8,24,24,0,0,1-48,0,8,8,0,0,0-8-8H40Zm8-32H208a8,8,0,0,1,8,8v8H40V72A8,8,0,0,1,48,64ZM208,192H48a8,8,0,0,1-8-8V128H88.8a40,40,0,0,0,78.4,0H216v56A8,8,0,0,1,208,192Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,52H48A20,20,0,0,0,28,72V184a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V72A20,20,0,0,0,208,52ZM36,92H220v24H160a4,4,0,0,0-4,4,28,28,0,0,1-56,0,4,4,0,0,0-4-4H36ZM48,60H208a12,12,0,0,1,12,12V84H36V72A12,12,0,0,1,48,60ZM208,196H48a12,12,0,0,1-12-12V124H92.22a36,36,0,0,0,71.56,0H220v60A12,12,0,0,1,208,196Z\" }))\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: \"M222.14,105.85l-80-80a20,20,0,0,0-28.28,0l-80,80A19.86,19.86,0,0,0,28,120v96a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V164h24v52a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V120A19.86,19.86,0,0,0,222.14,105.85ZM204,204H164V152a12,12,0,0,0-12-12H104a12,12,0,0,0-12,12v52H52V121.65l76-76,76,76Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M216,120v96H152V152H104v64H40V120a8,8,0,0,1,2.34-5.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,216,120Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,120v96a8,8,0,0,1-8,8H160a8,8,0,0,1-8-8V164a4,4,0,0,0-4-4H108a4,4,0,0,0-4,4v52a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V120a16,16,0,0,1,4.69-11.31l80-80a16,16,0,0,1,22.62,0l80,80A16,16,0,0,1,224,120Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M217.9,110.1l-80-80a14,14,0,0,0-19.8,0l-80,80A13.92,13.92,0,0,0,34,120v96a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V158h36v58a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V120A13.92,13.92,0,0,0,217.9,110.1ZM210,210H158V152a6,6,0,0,0-6-6H104a6,6,0,0,0-6,6v58H46V120a2,2,0,0,1,.58-1.42l80-80a2,2,0,0,1,2.84,0l80,80A2,2,0,0,1,210,120Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216.49,111.51l-80-80a12,12,0,0,0-17,0l-80,80A12,12,0,0,0,36,120v96a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V156h40v60a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V120A12,12,0,0,0,216.49,111.51ZM212,212H156V152a4,4,0,0,0-4-4H104a4,4,0,0,0-4,4v60H44V120a4,4,0,0,1,1.17-2.83l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,212,120Z\" }))\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: \"M234.38,210a123.36,123.36,0,0,0-60.78-53.23,76,76,0,1,0-91.2,0A123.36,123.36,0,0,0,21.62,210a12,12,0,1,0,20.77,12c18.12-31.32,50.12-50,85.61-50s67.49,18.69,85.61,50a12,12,0,0,0,20.77-12ZM76,96a52,52,0,1,1,52,52A52.06,52.06,0,0,1,76,96Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M192,96a64,64,0,1,1-64-64A64,64,0,0,1,192,96Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M230.92,212c-15.23-26.33-38.7-45.21-66.09-54.16a72,72,0,1,0-73.66,0C63.78,166.78,40.31,185.66,25.08,212a8,8,0,1,0,13.85,8c18.84-32.56,52.14-52,89.07-52s70.23,19.44,89.07,52a8,8,0,1,0,13.85-8ZM72,96a56,56,0,1,1,56,56A56.06,56.06,0,0,1,72,96Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M230.93,220a8,8,0,0,1-6.93,4H32a8,8,0,0,1-6.92-12c15.23-26.33,38.7-45.21,66.09-54.16a72,72,0,1,1,73.66,0c27.39,8.95,50.86,27.83,66.09,54.16A8,8,0,0,1,230.93,220Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M229.19,213c-15.81-27.32-40.63-46.49-69.47-54.62a70,70,0,1,0-63.44,0C67.44,166.5,42.62,185.67,26.81,213a6,6,0,1,0,10.38,6C56.4,185.81,90.34,166,128,166s71.6,19.81,90.81,53a6,6,0,1,0,10.38-6ZM70,96a58,58,0,1,1,58,58A58.07,58.07,0,0,1,70,96Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M230.92,212c-15.23-26.33-38.7-45.21-66.09-54.16a72,72,0,1,0-73.66,0C63.78,166.78,40.31,185.66,25.08,212a8,8,0,1,0,13.85,8c18.84-32.56,52.14-52,89.07-52s70.23,19.44,89.07,52a8,8,0,1,0,13.85-8ZM72,96a56,56,0,1,1,56,56A56.06,56.06,0,0,1,72,96Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M227.46,214c-16.52-28.56-43-48.06-73.68-55.09a68,68,0,1,0-51.56,0c-30.64,7-57.16,26.53-73.68,55.09a4,4,0,0,0,6.92,4C55,184.19,89.62,164,128,164s73,20.19,92.54,54a4,4,0,0,0,3.46,2,3.93,3.93,0,0,0,2-.54A4,4,0,0,0,227.46,214ZM68,96a60,60,0,1,1,60,60A60.07,60.07,0,0,1,68,96Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as o from \"react\";\nimport t from \"../lib/IconBase.es.js\";\nimport d from \"../defs/Cardholder.es.js\";\nconst r = o.forwardRef((e, a) => /* @__PURE__ */ o.createElement(t, { ref: a, ...e, weights: d }));\nr.displayName = \"CardholderIcon\";\nconst s = r;\nexport {\n s as Cardholder,\n r as CardholderIcon\n};\n","import * as o from \"react\";\nimport t from \"../lib/IconBase.es.js\";\nimport a from \"../defs/House.es.js\";\nconst e = o.forwardRef((r, s) => /* @__PURE__ */ o.createElement(t, { ref: s, ...r, weights: a }));\ne.displayName = \"HouseIcon\";\nconst n = e;\nexport {\n n as House,\n e as HouseIcon\n};\n","import * as e from \"react\";\nimport t from \"../lib/IconBase.es.js\";\nimport a from \"../defs/User.es.js\";\nconst o = e.forwardRef((r, s) => /* @__PURE__ */ e.createElement(t, { ref: s, ...r, weights: a }));\no.displayName = \"UserIcon\";\nconst n = o;\nexport {\n n as User,\n o as UserIcon\n};\n","export const icon = `w-6 h-6`;\n","import React from \"react\";\n\nimport type { Icon } from \"@phosphor-icons/react\";\n\nimport * as styles from \"./styles\";\n\nexport const TitleIcon = ({ icon: Icon }: { icon: Icon }) => (\n <Icon className={styles.icon} />\n);\n","export const text = `text-base leading-6 font-medium`;\n","import React from \"react\";\n\nimport * as styles from \"./styles\";\n\nexport const TitleText = ({\n text,\n className,\n}: {\n text: string;\n className?: string;\n}) => <h2 className={`${styles.text} ${className || \"\"}`}>{text}</h2>;\n","export const container = `flex flex-col gap-2`;\nexport const item = `px-4 rounded border border-ll-border shadow cursor-pointer group`;\nexport const header = `py-3 flex items-center gap-1.5 group-data-[active=true]:text-ll-primary`;\nexport const title = `grow`;\nexport const arrowIcon = `w-3.5 h-3.5 text-ll-placeholder data-[is-active=true]:rotate-180 transition-transform duration-50 ease-in-out`;\nexport const content = `py-3 border-t border-ll-surface`;\n","import React from \"react\";\n\nimport { CaretDownIcon } from \"@phosphor-icons/react\";\nimport { TitleIcon } from \"../TitleIcon\";\nimport { TitleText } from \"../TitleText\";\n\nimport { type SectionHeaders } from \"../../types\";\nimport * as styles from \"./styles\";\n\nexport const Accordion = ({\n sectionHeaders,\n activeTabIndex,\n onTabChange,\n children,\n}: {\n sectionHeaders: SectionHeaders;\n activeTabIndex: number;\n onTabChange: (index: number) => void;\n children?: React.ReactNode;\n}) => (\n <div className={styles.container}>\n {sectionHeaders.map((section, index) => (\n <div\n key={`section-accordion-${section.title}`}\n className={styles.item}\n onClick={() => onTabChange(activeTabIndex === index ? -1 : index)}\n data-active={activeTabIndex === index}\n >\n <div className={styles.header}>\n <TitleIcon icon={section.icon} />\n <TitleText text={section.title} className={styles.title} />\n <CaretDownIcon\n className={styles.arrowIcon}\n data-is-active={activeTabIndex === index}\n />\n </div>\n {activeTabIndex === index && (\n <div className={styles.content}>{children}</div>\n )}\n </div>\n ))}\n </div>\n);\n","export const container = `w-full`;\nexport const borderContainer = `border-b-4 border-ll-surface rounded flex items-center justify-center`;\nexport const itemActiveBorder = `h-1 bg-ll-primary rounded w-full -mb-1 data-[active=false]:opacity-0 transition-opacity`;\nexport const tabsContainer = `flex items-center justify-center pb-4`;\nexport const tab = `w-full flex items-center justify-center py-2.5 gap-2 data-[active=true]:text-ll-primary cursor-pointer transition-colors`;\nexport const content = `p-6`;\n","import React from \"react\";\n\nimport { TitleText } from \"../TitleText\";\nimport { TitleIcon } from \"../TitleIcon\";\n\nimport { type SectionHeaders } from \"../../types\";\nimport * as styles from \"./styles\";\n\nexport const Tabs = ({\n sectionHeaders,\n activeTabIndex,\n onTabChange,\n children,\n}: {\n sectionHeaders: SectionHeaders;\n activeTabIndex: number;\n onTabChange: (index: number) => void;\n children?: React.ReactNode;\n}) => (\n <>\n <div className={styles.container}>\n <div className={styles.tabsContainer}>\n {sectionHeaders.map((section, index) => (\n <div\n key={`section-tab-${section.title}`}\n className={styles.tab}\n onClick={() => onTabChange(index)}\n data-active={activeTabIndex === index}\n >\n <TitleIcon icon={section.icon} />\n <TitleText text={section.title} />\n </div>\n ))}\n </div>\n <div className={styles.borderContainer}>\n {sectionHeaders.map((section, index) => (\n <div\n key={`section-tab-border-${section.title}`}\n className={styles.itemActiveBorder}\n data-active={activeTabIndex === index}\n />\n ))}\n </div>\n </div>\n <div className={styles.content}>{children}</div>\n </>\n);\n","export const wrapper = `text-ll-placeholder`;\n","import {\n type Icon,\n CardholderIcon,\n UserIcon,\n HouseIcon,\n UsersFourIcon,\n GraduationCapIcon,\n CarIcon,\n TranslateIcon,\n} from \"@phosphor-icons/react\";\nimport type { DemographicsCategory } from \"~/sdks/NeighborhoodDemographics/types\";\n\nexport const sectionKeys: DemographicsCategory[] = [\n \"income\",\n \"population\",\n \"housing\",\n \"household\",\n \"education\",\n \"commute\",\n \"languages\",\n];\n\nexport const sectionIcons: { [key in DemographicsCategory]: Icon } = {\n income: CardholderIcon,\n population: UserIcon,\n housing: HouseIcon,\n household: UsersFourIcon,\n education: GraduationCapIcon,\n commute: CarIcon,\n languages: TranslateIcon,\n};\n","import { SDKOptions } from \"~/types/options\";\n\nexport type DemographicsCategory =\n | \"income\"\n | \"population\"\n | \"housing\"\n | \"household\"\n | \"education\"\n | \"commute\"\n | \"languages\";\n\nexport type Options = {\n lat?: number;\n lng?: number;\n geographyId?: string;\n title?: boolean | string;\n hideAttribution?: boolean;\n};\n\nexport type NeighborhoodDemographicsProps = SDKOptions<\n Options,\n {\n options: Options | undefined;\n }\n>;\n\nexport enum TrackingPipelineEvents {\n SDK_VIEWED = \"neighborhood-demographics-Viewed\",\n CATEGORY_CLICKED = \"neighborhood-demographics-Category-Clicked\",\n}\n\n// Why are these named differently?\n// https://docs.mixpanel.com/docs/data-structure/events-and-properties#name-events-and-properties-consistently\nexport enum AnalyticsEvents {\n SDK_VIEWED = \"sdk_viewed\",\n CATEGORY_CLICKED = \"category_clicked\",\n}\n","import React, { useContext, useMemo } from \"react\";\nimport { type Demographics } from \"@local-logic/client\";\n\nimport {\n type NeighborhoodDemographicsProps,\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"./types\";\nimport { useTracking } from \"~/tracking\";\nimport useEffectOnce from \"~/hooks/useEffectOnce\";\nimport { useGeographies } from \"~/features/clientLibrary/useGeographies\";\nimport { useLocation } from \"~/hooks/useLocation\";\nimport { useStateManagerContext } from \"~/context/stateManager\";\nimport { useDemographicsData } from \"~/hooks/useDemographicsData\";\n\nexport type DemographicsCategories =\n | \"income\"\n | \"population\"\n | \"housing\"\n | \"household\"\n | \"education\"\n | \"commute\"\n | \"languages\";\n\nexport type DefaultContext = {\n isLoading: boolean;\n demographicsData: Demographics;\n country: string;\n locale: \"en\" | \"fr\";\n hideAttribution: boolean;\n};\n\nconst NeighborhoodDemographicsContext = React.createContext<DefaultContext>(\n {} as DefaultContext,\n);\nconst useNeighborhoodDemographics = () =>\n useContext(NeighborhoodDemographicsContext);\n\nconst NeighborhoodDemographicsProvider = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const { sdkState } = useStateManagerContext<NeighborhoodDemographicsProps>();\n const tracking = useTracking();\n\n useEffectOnce(() => {\n tracking.postEvent({\n eventType: TrackingPipelineEvents.SDK_VIEWED,\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.SDK_VIEWED,\n });\n });\n\n const { isLoading: isGeographyLoading, data: geographyData } = useGeographies(\n {\n location: {\n lat:\n typeof sdkState.options?.geographyId === \"undefined\"\n ? sdkState.options?.lat\n : undefined,\n lng:\n typeof sdkState.options?.geographyId === \"undefined\"\n ? sdkState.options?.lng\n : undefined,\n },\n },\n );\n\n const geography = useMemo(() => {\n const geographiesArray = Object.values(geographyData || {});\n\n return geographiesArray[0];\n }, [isGeographyLoading, geographyData]);\n\n const geographyId = useMemo(() => {\n if (typeof sdkState.options?.geographyId !== \"undefined\") {\n return sdkState.options.geographyId;\n }\n\n return Object.keys(geographyData || {})[0];\n }, [sdkState.options?.geographyId, geographyData]);\n\n const {\n data: { country },\n } = useLocation({\n lat: geography?.centroid.lat,\n lng: geography?.centroid.lng,\n });\n\n const { data: demographicsData, isFetching: isDemographicsFetching } =\n useDemographicsData({\n geographyId,\n });\n\n return (\n <NeighborhoodDemographicsContext.Provider\n value={{\n isLoading: isGeographyLoading || isDemographicsFetching,\n demographicsData: demographicsData || {},\n country: country || \"CA\",\n locale: sdkState.globalOptions?.locale || \"en\",\n hideAttribution: sdkState.options?.hideAttribution || false,\n }}\n >\n {children}\n </NeighborhoodDemographicsContext.Provider>\n );\n};\n\nexport { useNeighborhoodDemographics, NeighborhoodDemographicsProvider };\n","import React, { useState, useMemo, isValidElement } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { type SectionHeaders } from \"../../types\";\nimport { Accordion } from \"../Accordion\";\nimport { Tabs } from \"../Tabs\";\nimport * as styles from \"./styles\";\nimport { sectionKeys, sectionIcons } from \"./constants\";\nimport { useTracking } from \"~/tracking\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\nimport { useResponsiveBreakpoints } from \"~/hooks/useResponsiveBreakpoints\";\n\nimport {\n TrackingPipelineEvents,\n AnalyticsEvents,\n} from \"~/sdks/NeighborhoodDemographics/types\";\n\nexport const Container = ({\n className,\n children,\n}: {\n className?: string;\n children: React.ReactNode[];\n}) => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const tracking = useTracking();\n const currentBreakpoints = useResponsiveBreakpoints();\n const [activeSectionIndex, setActiveSectionIndex] = useState(0);\n const { demographicsData } = useNeighborhoodDemographics();\n\n const omitTabs = useMemo(() => {\n if (!demographicsData) {\n return [];\n }\n\n const tabsToOmit: string[] = [];\n const dataKeys = {\n income: \"income\",\n population: \"population_age\",\n housing: \"housing_tenancy\",\n household: \"household_composition\",\n commute: \"commute_mode\",\n education: \"education_level\",\n languages: \"mother_tongue\",\n };\n\n Object.entries(dataKeys).forEach(([key, value]) => {\n if (!Object.keys(demographicsData).includes(value)) {\n tabsToOmit.push(key);\n }\n });\n return tabsToOmit;\n }, [demographicsData]);\n\n const sectionHeaders: SectionHeaders = useMemo(\n () =>\n sectionKeys\n .filter((value) => !omitTabs.includes(value))\n .map((key) => ({\n title: t(`data.${key}.title`),\n icon: sectionIcons[key],\n key,\n })),\n [omitTabs],\n );\n\n // Uses the name of the component to figure out if it should be displayed or not\n const sectionChildren = useMemo(\n () =>\n children.filter(\n (child) =>\n isValidElement(child) &&\n typeof child.type === \"function\" &&\n !omitTabs.includes(child.type.name.toLocaleLowerCase()),\n ),\n [children, omitTabs],\n );\n\n const tabAdaptedActiveSectionIndex = useMemo(\n () =>\n currentBreakpoints && currentBreakpoints.lg && activeSectionIndex < 0\n ? 0\n : activeSectionIndex,\n [currentBreakpoints, activeSectionIndex],\n );\n\n const handleOnTabChange = (index: number) => {\n setActiveSectionIndex(index);\n\n if (\n activeSectionIndex !== index &&\n typeof sectionHeaders[index] !== \"undefined\"\n ) {\n tracking.postEvent({\n eventType: TrackingPipelineEvents.CATEGORY_CLICKED,\n eventAttributes: [\n {\n label: \"category\",\n data: sectionHeaders[index].key,\n },\n ],\n });\n\n tracking.trackAnalyticsEvent({\n eventName: AnalyticsEvents.CATEGORY_CLICKED,\n eventAttributes: {\n ll_category: sectionHeaders[index].key,\n },\n });\n }\n };\n\n if (activeSectionIndex > children.length - 1) {\n // This should never really happen, but in case there aren't enough children, we'll display this error in the console\n\n console.error(\n \"Invalid tab content accessor. Index does not exist on the supplied list of nodes.\",\n );\n }\n\n return (\n <div className={`${styles.wrapper} ${className || \"\"}`}>\n {currentBreakpoints && !currentBreakpoints.lg && (\n <Accordion\n sectionHeaders={sectionHeaders}\n activeTabIndex={tabAdaptedActiveSectionIndex}\n onTabChange={handleOnTabChange}\n >\n {sectionChildren[tabAdaptedActiveSectionIndex]}\n </Accordion>\n )}\n {currentBreakpoints && currentBreakpoints.lg && (\n <Tabs\n sectionHeaders={sectionHeaders}\n activeTabIndex={tabAdaptedActiveSectionIndex}\n onTabChange={handleOnTabChange}\n >\n {sectionChildren[tabAdaptedActiveSectionIndex]}\n </Tabs>\n )}\n </div>\n );\n};\n","export const container = `\n flex flex-col flex-1\n`;\n\nexport const noDataElement = `\n bg-ll-surface px-3 pt-4 pb-3 rounded-sm box-border\n`;\n\nexport const spinner = `\n flex justify-center items-center \n px-3 pt-4 pb-3 height-[40px]\n`;\n\nexport const graphLayoutWrapper = `\n flex flex-col justify-start gap-3\n md:justify-between md:flex-row\n h-full\n`;\n\nexport const graphSideBySide = `\n flex justify-between gap-3 flex-row min-w-[250px]\n md:flex-col\n`;\n\nexport const graphContainer = `\n w-full md:h-full\n data-[size=quarter]:h-[25%] md:data-[size=quarter]:h-full\n data-[size=half]:h-[50%] md:data-[size=half]:h-full\n`;\n\nexport const donutChartIcon = `text-ll-primary w-2/4 h-2/4`;\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const AverageIncome = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { income },\n } = useNeighborhoodDemographics();\n\n const deleteKeys = [\"median_individual_income\", \"median_household_income\"];\n const incomeTypes = useMemo(\n () =>\n income?.variables\n .slice()\n .reverse()\n .filter(\n (variable) =>\n !variable.type ||\n variable.type === \"average\" ||\n variable.type === \"median\",\n ) || [\n {\n variable: \"avg_individual_income\",\n label: \"Avg individual income\",\n value:\n income?.variables?.find((x) => x.variable === \"inc_person\")\n ?.value || 0.0,\n },\n {\n variable: \"avg_household_income\",\n label: \"Avg household income\",\n value:\n income?.variables?.find((x) => x.variable === \"inc_home\")?.value ||\n 0.0,\n },\n ],\n [income?.variables],\n );\n\n /**\n * Intl.NumberFormat does a good job at displaying currency.\n *\n * We USD for the currency so that it formats to have a $ at the start of the amount.\n * If we put CAD, it will output as CAD$\n */\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.income.graphs.averageIncome.title\"),\n values: incomeTypes\n // Hotfix: Remove duplicated keys, will get resolved after some API work\n .filter((value) => !deleteKeys.includes(value.variable))\n .map((incomeType) => ({\n variable: incomeType.variable,\n value: `${new Intl.NumberFormat(\"en-EN\", {\n style: \"currency\",\n currency: \"USD\",\n maximumFractionDigits: 1,\n }).format(incomeType.value / 1000)}${\n incomeType.value >= 1000 ? \"k\" : \"\"\n }`,\n label: t(\n `data.income.graphs.averageIncome.types.${incomeType.variable as \"avg_household_income\" | \"avg_individual_income\"}`,\n ),\n })),\n },\n }),\n [incomeTypes],\n );\n\n return <DemographicsTextCard {...chartOptions} />;\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const EmploymentStatus = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { employment_status: employmentStatus },\n } = useNeighborhoodDemographics();\n\n const datasets = useMemo(\n () =>\n employmentStatus?.variables\n .filter((variable) => !variable.type || variable.type === \"percent\")\n .map((variable: Variable) => ({\n label: variable.label,\n data: Number((variable.value * 100).toFixed(1)),\n })) || [],\n [employmentStatus?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.income.graphs.employment.title\"),\n values: datasets.map((item) => ({\n variable: item.label.replace(\" \", \"_\"),\n label: item.label,\n value: `${item.data}%`,\n })),\n },\n }),\n [datasets],\n );\n\n if (!employmentStatus) {\n return null;\n }\n\n return <DemographicsTextCard {...chartOptions} />;\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const IncomeBrackets = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { income_level: incomeLevel },\n } = useNeighborhoodDemographics();\n\n const dataset = useMemo(() => {\n const variables = incomeLevel?.variables\n .filter((variable) => !variable.type || variable.type === \"percent\")\n .sort(\n (a, b) =>\n Number(a.variable.split(\"_\")[1]) - Number(b.variable.split(\"_\")[1]),\n );\n\n return {\n labels: variables?.map((variable) => variable.label) || [],\n data:\n variables?.map((variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n };\n }, [incomeLevel?.variables]);\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.income.graphs.incomeBrackets.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { AverageIncome } from \"./AverageIncome\";\n\nimport { EmploymentStatus } from \"./EmploymentStatus\";\nimport { IncomeBrackets } from \"./IncomeBrackets\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\n// TODO: To be reworked once we start implementing the new graphs\nexport const Income = () => {\n const {\n demographicsData: { income_level: incomeLevel },\n } = useNeighborhoodDemographics();\n\n // Employment status and Income level only available in the USA\n return (\n <>\n {incomeLevel ? (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphSideBySide}>\n <div className={styles.graphContainer}>\n <AverageIncome />\n </div>\n <div className={styles.graphContainer}>\n <EmploymentStatus />\n </div>\n </div>\n <IncomeBrackets />\n </div>\n ) : (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer} data-size=\"quarter\">\n <AverageIncome />\n </div>\n </div>\n )}\n </>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { UsersFourIcon } from \"@phosphor-icons/react\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const TotalPopulation = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { population_total: populationTotal },\n } = useNeighborhoodDemographics();\n\n const dataset = useMemo(\n () => populationTotal?.variables[0],\n [populationTotal?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.population.graphs.totalPopulation.title\"),\n values: [\n {\n variable: dataset?.variable || \"\",\n value: `${new Intl.NumberFormat(\"en-EN\").format(Math.round(dataset?.value || 0))}`,\n label: t(\"data.population.graphs.totalPopulation.title\"),\n icon: UsersFourIcon,\n },\n ],\n },\n }),\n [dataset],\n );\n\n return <DemographicsTextCard {...chartOptions} />;\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const PopulationByAgeGroup = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { population_age: populationAge },\n } = useNeighborhoodDemographics();\n\n const populationAgeFormatted = useMemo(() => {\n if (!populationAge) {\n return null;\n }\n\n const filteredVariables = populationAge?.variables\n .filter((variable) => !variable.type || variable.type === \"percent\")\n .sort(\n (a, b) =>\n Number(a.variable.split(\"_\")[1]) - Number(b.variable.split(\"_\")[1]),\n );\n\n if (populationAge?.variables.length > 12) {\n const keys = filteredVariables.map((e) => {\n const labels = e.label.split(\" \");\n labels.splice(1, 1);\n\n return labels;\n });\n\n const mergedPopulation: {\n variable: string;\n value: number;\n label: string;\n }[] = [];\n\n keys.forEach((element, index) => {\n if (index === 0 || index % 2 === 0) {\n mergedPopulation.push({\n variable: `age_${element[0]}_${keys[index + 1][1]}`,\n value:\n filteredVariables[index].value +\n filteredVariables[index + 1].value,\n label: `${element[0]} to ${keys[index + 1][1]}`,\n });\n }\n });\n\n return mergedPopulation;\n }\n\n return filteredVariables;\n }, [populationAge]);\n\n const dataset = useMemo(\n () => ({\n labels:\n populationAgeFormatted?.map((variable: Variable) => variable.label) ||\n [],\n data:\n populationAgeFormatted?.map((variable: Variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n }),\n [populationAgeFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.population.graphs.populationByAgeGroup.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { TotalPopulation } from \"./TotalPopulation\";\nimport { PopulationByAgeGroup } from \"./PopulationByAgeGroup\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\n// TODO: To be reworked once we start implementing the new graphs\nexport const Population = () => {\n const {\n demographicsData: { population_total: populationTotal },\n } = useNeighborhoodDemographics();\n\n return (\n <div className={styles.graphLayoutWrapper}>\n {populationTotal && (\n <div className={styles.graphSideBySide}>\n <div className={styles.graphContainer} data-size=\"half\">\n <TotalPopulation />\n </div>\n </div>\n )}\n\n <div className={styles.graphContainer} data-size=\"half\">\n <PopulationByAgeGroup />\n </div>\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { DemographicsTextCard } from \"~/components/DemographicsTextCard\";\n\nexport const HomeOwnershipType = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: {\n property_tenure: propertyTenure,\n housing_tenancy: housingTenancy,\n },\n } = useNeighborhoodDemographics();\n\n // For the US, the name of the property changes\n const housingInfo = useMemo(\n () => housingTenancy || propertyTenure,\n [housingTenancy, propertyTenure],\n );\n\n const dataset = useMemo(\n () =>\n housingInfo?.variables\n .filter((variable) => !variable.type || variable.type === \"percent\")\n .map((variable: Variable) => ({\n label: variable.label,\n data: Number((variable.value * 100).toFixed(1)),\n })) || [],\n [housingInfo?.variables],\n );\n\n const chartOptions = useMemo(\n () => ({\n options: {\n title: t(\"data.housing.graphs.homeOwnershipType.title\"),\n values: dataset.map((item) => ({\n variable: item.label.replace(\" \", \"_\"),\n label: item.label,\n value: `${item.data}%`,\n })),\n },\n }),\n [dataset],\n );\n\n return <DemographicsTextCard {...chartOptions} />;\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const TypeOfHousing = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { housing_type: housingType },\n } = useNeighborhoodDemographics();\n\n const dataset = useMemo(() => {\n const variables = housingType?.variables.filter(\n (variable) => !variable.type || variable.type === \"percent\",\n );\n\n return {\n labels: variables?.map((variable) => variable.label) || [],\n data:\n variables?.map((variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n };\n }, [housingType?.variables]);\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.housing.graphs.typeOfHousing.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { HomeOwnershipType } from \"./HomeOwnershipType\";\nimport { TypeOfHousing } from \"./TypeOfHousing\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\n// TODO: To be reworked once we start implementing the new graphs\nexport const Housing = () => {\n const {\n demographicsData: {\n property_tenure: propertyTenure,\n housing_tenancy: housingTenancy,\n housing_type: housingType,\n },\n } = useNeighborhoodDemographics();\n\n // For the US, the name of the property changes\n const housingInfo = housingTenancy || propertyTenure;\n\n return (\n <div className={styles.graphLayoutWrapper}>\n {housingInfo && (\n <div className={styles.graphSideBySide}>\n <div className={styles.graphContainer}>\n <HomeOwnershipType />\n </div>\n </div>\n )}\n {housingType && (\n <div className={styles.graphContainer}>\n <TypeOfHousing />\n </div>\n )}\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { UsersThreeIcon } from \"@phosphor-icons/react\";\n\nimport type { Variable } from \"@local-logic/client\";\n\nimport * as styles from \"../../styles\";\nimport { DonutChart } from \"~/components/deprecated\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nexport const HouseholdComposition = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { household_composition: householdComposition },\n } = useNeighborhoodDemographics();\n\n const householdFormatted = useMemo(\n () =>\n householdComposition?.variables\n .map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter(\n (variable: Variable) =>\n (!variable.type || variable.type === \"percent\") &&\n Number((variable.value * 100).toFixed(1)) > 0,\n ),\n [householdComposition?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n householdFormatted?.map(\n (variable: Variable) => `${variable.value}% ${variable.label}`,\n ) || [],\n data:\n householdFormatted?.map((variable: Variable) => variable.value) || [],\n }),\n [householdFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.household.graphs.householdComposition.title\"),\n labels: dataset.labels,\n data: dataset.data,\n icon: <UsersThreeIcon className={styles.donutChartIcon} />,\n }),\n [dataset],\n );\n\n return <DonutChart {...chartOptions}></DonutChart>;\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { HouseholdComposition } from \"./HouseholdComposition\";\n\n// TODO: To be reworked once we start implementing the new graphs\nexport const Household = () => (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer} data-size=\"half\">\n <HouseholdComposition />\n </div>\n </div>\n);\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { PathIcon } from \"@phosphor-icons/react\";\n\nimport type { Variable } from \"@local-logic/client\";\n\nimport * as styles from \"../../styles\";\nimport { DonutChart } from \"~/components/deprecated\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nexport const CommuteMode = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { commute_mode: commuteMode },\n } = useNeighborhoodDemographics();\n\n const commuteFormatted = useMemo(\n () =>\n commuteMode?.variables\n .map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter(\n (variable: Variable) =>\n (!variable.type || variable.type === \"percent\") &&\n Number((variable.value * 100).toFixed(1)) > 0,\n ),\n [commuteMode?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n commuteFormatted?.map(\n (variable: Variable) => `${variable.value}% ${variable.label}`,\n ) || [],\n data: commuteFormatted?.map((variable: Variable) => variable.value) || [],\n }),\n [commuteFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.commute.graphs.commuteMode.title\"),\n labels: dataset.labels,\n data: dataset.data,\n icon: <PathIcon className={styles.donutChartIcon} />,\n }),\n [dataset],\n );\n\n return <DonutChart {...chartOptions}></DonutChart>;\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { CommuteMode } from \"./CommuteMode\";\n\n// TODO: To be reworked once we start implementing the new graphs\nexport const Commute = () => (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer} data-size=\"half\">\n <CommuteMode />\n </div>\n </div>\n);\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const EducationLevel = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { education_level: educationLevel },\n } = useNeighborhoodDemographics();\n\n const dataset = useMemo(() => {\n const variables = educationLevel?.variables.filter(\n (variable) => !variable.type || variable.type === \"percent\",\n );\n\n return {\n labels: variables?.map((variable: Variable) => variable.label) || [],\n data:\n variables?.map((variable: Variable) =>\n Number((variable.value * 100).toFixed(1)),\n ) || [],\n };\n }, [educationLevel?.variables]);\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.education.graphs.educationLevel.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { EducationLevel } from \"./EducationLevel\";\n\n// TODO: To be reworked once we start implementing the new graphs\nexport const Education = () => (\n <div className={styles.graphLayoutWrapper}>\n <div className={styles.graphContainer} data-size=\"half\">\n <EducationLevel />\n </div>\n </div>\n);\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { TranslateIcon } from \"@phosphor-icons/react\";\n\nimport type { Variable } from \"@local-logic/client\";\n\nimport * as styles from \"../../styles\";\nimport { DonutChart } from \"~/components/deprecated\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nexport const SpokenLanguages = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { official_language_knowledge: oficialLanguages },\n } = useNeighborhoodDemographics();\n\n const oficialLanguagesFormatted = useMemo(\n () =>\n oficialLanguages?.variables\n .map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter(\n (variable: Variable) =>\n (!variable.type || variable.type === \"percent\") &&\n Number((variable.value * 100).toFixed(1)) > 0,\n ),\n [oficialLanguages?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n oficialLanguagesFormatted?.map(\n (variable: Variable) => `${variable.value}% ${variable.label}`,\n ) || [],\n data:\n oficialLanguagesFormatted?.map(\n (variable: Variable) => variable.value,\n ) || [],\n }),\n [oficialLanguagesFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.languages.graphs.spokenLanguages.title\"),\n labels: dataset.labels,\n data: dataset.data,\n icon: <TranslateIcon className={styles.donutChartIcon} />,\n }),\n [dataset],\n );\n\n return <DonutChart {...chartOptions}></DonutChart>;\n};\n","import React, { useMemo } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\nimport type { Variable } from \"@local-logic/client\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { Chart } from \"~/components/deprecated\";\n\nexport const MotherTongue = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const {\n demographicsData: { mother_tongue: motherTongue },\n } = useNeighborhoodDemographics();\n\n // The reason for the code below is because at the moment we only want to display the first 10 languages.\n // This is because displaying more than 10 languages at a time doesnt fit and ChartJS end up hiding some of the values.\n // french_and non_official_language_s and english_and_non_official_language_s' are too long to be displayed on mobile\n // So they are being filtered out.\n const motherTongueFormatted = useMemo(\n () =>\n motherTongue?.variables\n .filter(\n (item) =>\n item.variable !== \"french_and_non_official_language_s\" &&\n item.variable !== \"english_and_non_official_language_s\",\n )\n .slice(0, 10)\n ?.map((variable: Variable) => ({\n ...variable,\n value: Number((variable.value * 100).toFixed(1)),\n }))\n .filter(\n (variable: Variable) =>\n (!variable.type || variable.type === \"percent\") &&\n variable.value > 0,\n ),\n [motherTongue?.variables],\n );\n\n const dataset = useMemo(\n () => ({\n labels:\n motherTongueFormatted?.map((variable: Variable) => variable.label) ||\n [],\n data:\n motherTongueFormatted?.map((variable: Variable) => variable.value) ||\n [],\n }),\n [motherTongueFormatted],\n );\n\n const chartOptions = useMemo(\n () => ({\n title: t(\"data.languages.graphs.motherTongue.title\"),\n labels: dataset.labels,\n data: dataset.data,\n unit: \"%\",\n }),\n [dataset],\n );\n\n return (\n <Chart.Root {...chartOptions}>\n <Chart.BarChart />\n </Chart.Root>\n );\n};\n","import React from \"react\";\n\nimport * as styles from \"../styles\";\nimport { SpokenLanguages } from \"./SpokenLanguages\";\nimport { MotherTongue } from \"./MotherTongue\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\n// TODO: To be reworked once we start implementing the new graphs\nexport const Languages = () => {\n const {\n demographicsData: { official_language_knowledge: oficialLanguages },\n } = useNeighborhoodDemographics();\n\n return (\n <div className={styles.graphLayoutWrapper}>\n {oficialLanguages && (\n <div className={styles.graphContainer} data-size=\"half\">\n <SpokenLanguages />\n </div>\n )}\n <div className={styles.graphContainer} data-size=\"half\">\n <MotherTongue />\n </div>\n </div>\n );\n};\n","import React from \"react\";\n\nimport { Container } from \"./Container\";\nimport type { DemographicsCategory } from \"~/sdks/NeighborhoodDemographics/types\";\n\nexport const Root = ({\n children,\n}: {\n omitTabs?: DemographicsCategory[];\n className?: string;\n children: React.ReactNode[];\n}) => <Container>{children}</Container>;\n\n// Export children\nexport * from \"./Content\";\n","export const spinner = `\n flex justify-center items-center \n px-3 pt-4 pb-3 w-full h-full\n`;\n\nexport const noDataContainer = `\n bg-ll-surface px-3 pt-4 pb-3 rounded-sm box-border\n`;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport * as Sections from \"../Sections\";\nimport * as styles from \"./styles\";\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nimport { NoDataContentDeprecated } from \"~/components/NoDataContent\";\nimport { LoadingSpinner } from \"~/components/deprecated\";\n\nexport const Content = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const { isLoading, demographicsData } = useNeighborhoodDemographics();\n\n return (\n <>\n {isLoading && (\n <div className={styles.spinner}>\n <LoadingSpinner image />\n </div>\n )}\n\n {!isLoading &&\n (!demographicsData || Object.keys(demographicsData).length === 0) && (\n <NoDataContentDeprecated text={t(\"noData\")} />\n )}\n\n {demographicsData && (\n <Sections.Root>\n <Sections.Income />\n <Sections.Population />\n <Sections.Housing />\n <Sections.Household />\n <Sections.Education />\n <Sections.Commute />\n <Sections.Languages />\n </Sections.Root>\n )}\n </>\n );\n};\n","export const container = `\n py-3 items-center grid\n grid-cols-1 md:grid-cols-[2fr_1fr] \n [&>a]:justify-end\n`;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport * as styles from \"./styles\";\nimport { Text } from \"~/components/deprecated\";\nimport { AttributionDeprecated as Attribution } from \"~/components/Attribution\";\n\nimport { useNeighborhoodDemographics } from \"~/sdks/NeighborhoodDemographics/context\";\n\nexport const Footer = () => {\n const { t } = useTranslation([\"neighborhoodDemographics\", \"common\"]);\n const { locale, hideAttribution } = useNeighborhoodDemographics();\n\n return (\n <div className={styles.container}>\n <Text\n noMargin\n variant=\"caption1\"\n color=\"--ll-color-on-background-variant1\"\n >\n {t(\"note\")}\n </Text>\n {!hideAttribution && (\n <Attribution sdkName=\"neighborhood-demographics\" locale={locale} />\n )}\n </div>\n );\n};\n","import { ObjectSchema, mixed, boolean, number, string, object } from \"yup\";\nimport type { Options } from \"./types\";\n\nexport const schema: ObjectSchema<Options> = object({\n lat: number()\n .min(-90, \"Must be a valid latitude.\")\n .max(90, \"Must be a valid latitude.\")\n .when(\"geographyId\", {\n is: (geographyId?: string) => typeof geographyId === \"string\",\n then: (fieldSchema) => fieldSchema.optional(),\n otherwise: (fieldSchema) => fieldSchema.required(),\n }),\n lng: number()\n .min(-180, \"Must be a valid longitude.\")\n .max(180, \"Must be a valid longitude.\")\n .when(\"geographyId\", {\n is: (geographyId?: string) => typeof geographyId === \"string\",\n then: (fieldSchema) => fieldSchema.optional(),\n otherwise: (fieldSchema) => fieldSchema.required(),\n }),\n geographyId: string().optional(),\n title: mixed<string | boolean>().optional(),\n hideAttribution: boolean().optional(),\n}).noUnknown(true);\n","import React from \"react\";\nimport \"~/assets/styles/old-tailwind.css\";\nimport { useTranslation } from \"react-i18next\";\nimport { Content } from \"./components/Content\";\nimport { Footer } from \"./components/Footer\";\nimport { NeighborhoodDemographicsProvider } from \"./context\";\nimport { schema } from \"./schema\";\nimport { NeighborhoodDemographicsProps } from \"./types\";\nimport { TrackingProvider, initializeAnalytics } from \"~/tracking\";\n\nimport ResizeWrapper from \"~/components/ResizeWrapper\";\nimport { ValidateOptions } from \"~/components/ValidateOptions\";\nimport { LocalLogicProvider } from \"~/context/LocalLogicProvider\";\nimport { useStateManagerContext } from \"~/context/stateManager\";\nimport useIsMobile from \"~/hooks/useIsMobile\";\nimport { ProductNames } from \"~/types\";\nimport { ANALYTICS_SETTINGS } from \"~/constants/analytics\";\n\nimport { TitleHeader } from \"~/components/TitleHeader\";\n\ninitializeAnalytics(ANALYTICS_SETTINGS.neighborhoodWrap.key);\n\nconst NeighborhoodDemographics = () => {\n const { t } = useTranslation(\"neighborhoodDemographics\");\n const { sdkState } = useStateManagerContext<NeighborhoodDemographicsProps>();\n const isMobile = useIsMobile();\n const locale = sdkState.globalOptions?.locale || \"en\";\n\n return (\n <ResizeWrapper>\n <ValidateOptions\n sdk=\"Neighborhood Demographics\"\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.NEIGHBORHOOD_DEMOGRAPHICS}\n >\n <TrackingProvider\n trackingPipelineSettings={{\n apiKey: sdkState.apiKey || \"\",\n }}\n analyticsSettings={ANALYTICS_SETTINGS.neighborhoodWrap}\n meta={{\n clientId: sdkState.clientId,\n productName: ProductNames.NEIGHBORHOOD_DEMOGRAPHICS,\n productVersion: FULL_APP_VERSION,\n }}\n attributes={{\n location: {\n lat: sdkState.options?.lat,\n lng: sdkState.options?.lng,\n },\n host: sdkState.location,\n host_url: document.referrer,\n locale,\n isMobile,\n }}\n flags={{\n isDebugMode:\n import.meta.env.VITE_TRACKING_PIPELINE_DEBUG === \"true\",\n }}\n >\n <NeighborhoodDemographicsProvider>\n <TitleHeader\n title={\n typeof sdkState.options?.title === \"string\" ||\n sdkState.options?.title === false\n ? sdkState.options.title\n : t(\"title\")\n }\n />\n <Content />\n <Footer />\n </NeighborhoodDemographicsProvider>\n </TrackingProvider>\n </LocalLogicProvider>\n </ValidateOptions>\n </ResizeWrapper>\n );\n};\n\nexport default NeighborhoodDemographics;\n"],"x_google_ignoreList":[0,1,2,3,4,5],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(){function e(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);a&&(l=l.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,l)}return t}function a(a){for(var l=1;l<arguments.length;l++){var i=null!=arguments[l]?arguments[l]:{};l%2?e(Object(i),!0).forEach(function(e){t(a,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(i)):e(Object(i)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(i,e))})}return a}function t(e,a,t){return(a=function(e){var a=function(e,a){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var l=t.call(e,a||"default");if("object"!=typeof l)return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(e)}(e,"string");return"symbol"==typeof a?a:a+""}(a))in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}System.register(["./rolldown-runtime-legacy-Djb2rrqm.js","./google-maps-vendor-legacy-CPuMOKGq.js","./sdks-legacy-CedyQdYU.js","./Car.es-legacy-BVO9zW_4.js","./CaretDown.es-legacy-AW_6LRgL.js","./GraduationCap.es-legacy-DDaS8ZM6.js","./useDemographicsData-legacy-CxtMmefE.js","./UsersThree.es-legacy-DZbZvazB.js","./IconBase.es-legacy-VUFA7Zpu.js","./index-legacy-kyEaSclL.js","./useGeographies-legacy-C1KaCkDe.js","./useLocation-legacy-UxSoaQ23.js","./useResponsiveBreakpoints-legacy-CHMcuyvR.js","./Attribution-legacy-BfZKp_jr.js","./ResizeWrapper-legacy-DYQ5wMxT.js","./ValidateOptions-legacy-5tqMuOby.js","./useIsMobile-legacy-BoD5Raet.js","./old-tailwind-legacy-BXYu_3FF.js","./TitleHeader-legacy-Yq0pKMwQ.js","./NoDataContent-legacy-AbG_5zRB.js"],function(e,t){var l,i,n,o,r,s,c,d,u,m,p,v,h,g,b,x,f,j,y,M,H,N,E,A,_,D,V,w,Z,O,F,I,C,k,$,T,P,S,z,R,K,L,G,B,W,q,U,Y,J,Q,X,ee,ae,te,le,ie,ne,oe,re,se,ce,de,ue,me,pe,ve,he,ge,be,xe,fe,je,ye,Me,He,Ne,Ee,Ae,_e,De,Ve,we,Ze,Oe,Fe,Ie,Ce,ke;return{setters:[function(e){l=e.a},function(e){i=e.l},function(e){n=e.a,o=e.d,r=e.f,s=e.h,c=e.l,d=e.n,u=e.o,m=e.p,p=e.r,v=e.s,h=e.t,g=e.u},function(e){b=e.t},function(e){x=e.t},function(e){f=e.t},function(e){j=e.a,y=e.i,M=e.n,H=e.r,N=e.t},function(e){E=e.t},function(e){A=e.t},function(e){_=e.B,D=e.H,V=e.c,w=e.l,Z=e.q,O=e.r,F=e.t,I=e.u},function(e){C=e.t},function(e){k=e.t},function(e){$=e.t},function(e){T=e.n},function(e){P=e.t},function(e){S=e.t},function(e){z=e.t},function(e){},function(e){R=e.t},function(e){K=e.n}],execute:function(){L=l(i(),1),G=new Map([["bold",L.createElement(L.Fragment,null,L.createElement("path",{d:"M208,44H48A28,28,0,0,0,20,72V184a28,28,0,0,0,28,28H208a28,28,0,0,0,28-28V72A28,28,0,0,0,208,44ZM48,68H208a4,4,0,0,1,4,4V88H160a12,12,0,0,0-12,12,20,20,0,0,1-40,0A12,12,0,0,0,96,88H44V72A4,4,0,0,1,48,68ZM208,188H48a4,4,0,0,1-4-4V112H85.66a44,44,0,0,0,84.68,0H212v72A4,4,0,0,1,208,188Z"}))],["duotone",L.createElement(L.Fragment,null,L.createElement("path",{d:"M224,72v48H160a32,32,0,0,1-64,0H32V72A16,16,0,0,1,48,56H208A16,16,0,0,1,224,72Z",opacity:"0.2"}),L.createElement("path",{d:"M208,48H48A24,24,0,0,0,24,72V184a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V72A24,24,0,0,0,208,48ZM40,96H216v16H160a8,8,0,0,0-8,8,24,24,0,0,1-48,0,8,8,0,0,0-8-8H40Zm8-32H208a8,8,0,0,1,8,8v8H40V72A8,8,0,0,1,48,64ZM208,192H48a8,8,0,0,1-8-8V128H88.8a40,40,0,0,0,78.4,0H216v56A8,8,0,0,1,208,192Z"}))],["fill",L.createElement(L.Fragment,null,L.createElement("path",{d:"M208,48H48A24,24,0,0,0,24,72V184a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V72A24,24,0,0,0,208,48Zm-56,72a24,24,0,0,1-48,0,8,8,0,0,0-8-8H40V96H216v16H160A8,8,0,0,0,152,120ZM48,64H208a8,8,0,0,1,8,8v8H40V72A8,8,0,0,1,48,64Z"}))],["light",L.createElement(L.Fragment,null,L.createElement("path",{d:"M208,50H48A22,22,0,0,0,26,72V184a22,22,0,0,0,22,22H208a22,22,0,0,0,22-22V72A22,22,0,0,0,208,50ZM38,94H218v20H160a6,6,0,0,0-6,6,26,26,0,0,1-52,0,6,6,0,0,0-6-6H38ZM48,62H208a10,10,0,0,1,10,10V82H38V72A10,10,0,0,1,48,62ZM208,194H48a10,10,0,0,1-10-10V126H90.47a38,38,0,0,0,75.06,0H218v58A10,10,0,0,1,208,194Z"}))],["regular",L.createElement(L.Fragment,null,L.createElement("path",{d:"M208,48H48A24,24,0,0,0,24,72V184a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V72A24,24,0,0,0,208,48ZM40,96H216v16H160a8,8,0,0,0-8,8,24,24,0,0,1-48,0,8,8,0,0,0-8-8H40Zm8-32H208a8,8,0,0,1,8,8v8H40V72A8,8,0,0,1,48,64ZM208,192H48a8,8,0,0,1-8-8V128H88.8a40,40,0,0,0,78.4,0H216v56A8,8,0,0,1,208,192Z"}))],["thin",L.createElement(L.Fragment,null,L.createElement("path",{d:"M208,52H48A20,20,0,0,0,28,72V184a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V72A20,20,0,0,0,208,52ZM36,92H220v24H160a4,4,0,0,0-4,4,28,28,0,0,1-56,0,4,4,0,0,0-4-4H36ZM48,60H208a12,12,0,0,1,12,12V84H36V72A12,12,0,0,1,48,60ZM208,196H48a12,12,0,0,1-12-12V124H92.22a36,36,0,0,0,71.56,0H220v60A12,12,0,0,1,208,196Z"}))]]),B=new Map([["bold",L.createElement(L.Fragment,null,L.createElement("path",{d:"M222.14,105.85l-80-80a20,20,0,0,0-28.28,0l-80,80A19.86,19.86,0,0,0,28,120v96a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V164h24v52a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V120A19.86,19.86,0,0,0,222.14,105.85ZM204,204H164V152a12,12,0,0,0-12-12H104a12,12,0,0,0-12,12v52H52V121.65l76-76,76,76Z"}))],["duotone",L.createElement(L.Fragment,null,L.createElement("path",{d:"M216,120v96H152V152H104v64H40V120a8,8,0,0,1,2.34-5.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,216,120Z",opacity:"0.2"}),L.createElement("path",{d:"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z"}))],["fill",L.createElement(L.Fragment,null,L.createElement("path",{d:"M224,120v96a8,8,0,0,1-8,8H160a8,8,0,0,1-8-8V164a4,4,0,0,0-4-4H108a4,4,0,0,0-4,4v52a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V120a16,16,0,0,1,4.69-11.31l80-80a16,16,0,0,1,22.62,0l80,80A16,16,0,0,1,224,120Z"}))],["light",L.createElement(L.Fragment,null,L.createElement("path",{d:"M217.9,110.1l-80-80a14,14,0,0,0-19.8,0l-80,80A13.92,13.92,0,0,0,34,120v96a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V158h36v58a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V120A13.92,13.92,0,0,0,217.9,110.1ZM210,210H158V152a6,6,0,0,0-6-6H104a6,6,0,0,0-6,6v58H46V120a2,2,0,0,1,.58-1.42l80-80a2,2,0,0,1,2.84,0l80,80A2,2,0,0,1,210,120Z"}))],["regular",L.createElement(L.Fragment,null,L.createElement("path",{d:"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z"}))],["thin",L.createElement(L.Fragment,null,L.createElement("path",{d:"M216.49,111.51l-80-80a12,12,0,0,0-17,0l-80,80A12,12,0,0,0,36,120v96a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V156h40v60a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V120A12,12,0,0,0,216.49,111.51ZM212,212H156V152a4,4,0,0,0-4-4H104a4,4,0,0,0-4,4v60H44V120a4,4,0,0,1,1.17-2.83l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,212,120Z"}))]]),W=new Map([["bold",L.createElement(L.Fragment,null,L.createElement("path",{d:"M234.38,210a123.36,123.36,0,0,0-60.78-53.23,76,76,0,1,0-91.2,0A123.36,123.36,0,0,0,21.62,210a12,12,0,1,0,20.77,12c18.12-31.32,50.12-50,85.61-50s67.49,18.69,85.61,50a12,12,0,0,0,20.77-12ZM76,96a52,52,0,1,1,52,52A52.06,52.06,0,0,1,76,96Z"}))],["duotone",L.createElement(L.Fragment,null,L.createElement("path",{d:"M192,96a64,64,0,1,1-64-64A64,64,0,0,1,192,96Z",opacity:"0.2"}),L.createElement("path",{d:"M230.92,212c-15.23-26.33-38.7-45.21-66.09-54.16a72,72,0,1,0-73.66,0C63.78,166.78,40.31,185.66,25.08,212a8,8,0,1,0,13.85,8c18.84-32.56,52.14-52,89.07-52s70.23,19.44,89.07,52a8,8,0,1,0,13.85-8ZM72,96a56,56,0,1,1,56,56A56.06,56.06,0,0,1,72,96Z"}))],["fill",L.createElement(L.Fragment,null,L.createElement("path",{d:"M230.93,220a8,8,0,0,1-6.93,4H32a8,8,0,0,1-6.92-12c15.23-26.33,38.7-45.21,66.09-54.16a72,72,0,1,1,73.66,0c27.39,8.95,50.86,27.83,66.09,54.16A8,8,0,0,1,230.93,220Z"}))],["light",L.createElement(L.Fragment,null,L.createElement("path",{d:"M229.19,213c-15.81-27.32-40.63-46.49-69.47-54.62a70,70,0,1,0-63.44,0C67.44,166.5,42.62,185.67,26.81,213a6,6,0,1,0,10.38,6C56.4,185.81,90.34,166,128,166s71.6,19.81,90.81,53a6,6,0,1,0,10.38-6ZM70,96a58,58,0,1,1,58,58A58.07,58.07,0,0,1,70,96Z"}))],["regular",L.createElement(L.Fragment,null,L.createElement("path",{d:"M230.92,212c-15.23-26.33-38.7-45.21-66.09-54.16a72,72,0,1,0-73.66,0C63.78,166.78,40.31,185.66,25.08,212a8,8,0,1,0,13.85,8c18.84-32.56,52.14-52,89.07-52s70.23,19.44,89.07,52a8,8,0,1,0,13.85-8ZM72,96a56,56,0,1,1,56,56A56.06,56.06,0,0,1,72,96Z"}))],["thin",L.createElement(L.Fragment,null,L.createElement("path",{d:"M227.46,214c-16.52-28.56-43-48.06-73.68-55.09a68,68,0,1,0-51.56,0c-30.64,7-57.16,26.53-73.68,55.09a4,4,0,0,0,6.92,4C55,184.19,89.62,164,128,164s73,20.19,92.54,54a4,4,0,0,0,3.46,2,3.93,3.93,0,0,0,2-.54A4,4,0,0,0,227.46,214ZM68,96a60,60,0,1,1,60,60A60.07,60.07,0,0,1,68,96Z"}))]]),q=L.forwardRef((e,t)=>L.createElement(A,a(a({ref:t},e),{},{weights:G}))),q.displayName="CardholderIcon",U=L.forwardRef((e,t)=>L.createElement(A,a(a({ref:t},e),{},{weights:B}))),U.displayName="HouseIcon",Y=L.forwardRef((e,t)=>L.createElement(A,a(a({ref:t},e),{},{weights:W}))),Y.displayName="UserIcon",J=Z(),Q=({icon:e})=>(0,J.jsx)(e,{className:"w-6 h-6"}),X=({text:e,className:a})=>(0,J.jsx)("h2",{className:`text-base leading-6 font-medium ${a||""}`,children:e}),ee=({sectionHeaders:e,activeTabIndex:a,onTabChange:t,children:l})=>(0,J.jsx)("div",{className:"flex flex-col gap-2",children:e.map((e,i)=>(0,J.jsxs)("div",{className:"px-4 rounded border border-ll-border shadow cursor-pointer group",onClick:()=>t(a===i?-1:i),"data-active":a===i,children:[(0,J.jsxs)("div",{className:"py-3 flex items-center gap-1.5 group-data-[active=true]:text-ll-primary",children:[(0,J.jsx)(Q,{icon:e.icon}),(0,J.jsx)(X,{text:e.title,className:"grow"}),(0,J.jsx)(x,{className:"w-3.5 h-3.5 text-ll-placeholder data-[is-active=true]:rotate-180 transition-transform duration-50 ease-in-out","data-is-active":a===i})]}),a===i&&(0,J.jsx)("div",{className:"py-3 border-t border-ll-surface",children:l})]},`section-accordion-${e.title}`))}),ae=({sectionHeaders:e,activeTabIndex:a,onTabChange:t,children:l})=>(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)("div",{className:"w-full",children:[(0,J.jsx)("div",{className:"flex items-center justify-center pb-4",children:e.map((e,l)=>(0,J.jsxs)("div",{className:"w-full flex items-center justify-center py-2.5 gap-2 data-[active=true]:text-ll-primary cursor-pointer transition-colors",onClick:()=>t(l),"data-active":a===l,children:[(0,J.jsx)(Q,{icon:e.icon}),(0,J.jsx)(X,{text:e.title})]},`section-tab-${e.title}`))}),(0,J.jsx)("div",{className:"border-b-4 border-ll-surface rounded flex items-center justify-center",children:e.map((e,t)=>(0,J.jsx)("div",{className:"h-1 bg-ll-primary rounded w-full -mb-1 data-[active=false]:opacity-0 transition-opacity","data-active":a===t},`section-tab-border-${e.title}`))})]}),(0,J.jsx)("div",{className:"p-6",children:l})]}),te=["income","population","housing","household","education","commute","languages"],le={income:q,population:Y,housing:U,household:H,education:f,commute:b,languages:y},ie=function(e){return e.SDK_VIEWED="neighborhood-demographics-Viewed",e.CATEGORY_CLICKED="neighborhood-demographics-Category-Clicked",e}({}),ne=function(e){return e.SDK_VIEWED="sdk_viewed",e.CATEGORY_CLICKED="category_clicked",e}({}),oe=L.createContext({}),re=()=>(0,L.useContext)(oe),se=({children:e})=>{var a,t,l,i,n,o,r;const{sdkState:s}=F(),c=v();O(()=>{c.postEvent({eventType:ie.SDK_VIEWED}),c.trackAnalyticsEvent({eventName:ne.SDK_VIEWED})});const{isLoading:d,data:u}=C({location:{lat:void 0===(null===(a=s.options)||void 0===a?void 0:a.geographyId)?null===(t=s.options)||void 0===t?void 0:t.lat:void 0,lng:void 0===(null===(l=s.options)||void 0===l?void 0:l.geographyId)?null===(i=s.options)||void 0===i?void 0:i.lng:void 0}}),m=(0,L.useMemo)(()=>Object.values(u||{})[0],[d,u]),p=(0,L.useMemo)(()=>{var e;return void 0!==(null===(e=s.options)||void 0===e?void 0:e.geographyId)?s.options.geographyId:Object.keys(u||{})[0]},[null===(n=s.options)||void 0===n?void 0:n.geographyId,u]),{data:{country:h}}=k({lat:null==m?void 0:m.centroid.lat,lng:null==m?void 0:m.centroid.lng}),{data:g,isFetching:b}=N({geographyId:p});return(0,J.jsx)(oe.Provider,{value:{isLoading:d||b,demographicsData:g||{},country:h||"CA",locale:(null===(o=s.globalOptions)||void 0===o?void 0:o.locale)||"en",hideAttribution:(null===(r=s.options)||void 0===r?void 0:r.hideAttribution)||!1},children:e})},ce=({className:e,children:a})=>{const{t:t}=s("neighborhoodDemographics"),l=v(),i=$(),[n,o]=(0,L.useState)(0),{demographicsData:r}=re(),c=(0,L.useMemo)(()=>{if(!r)return[];const e=[];return Object.entries({income:"income",population:"population_age",housing:"housing_tenancy",household:"household_composition",commute:"commute_mode",education:"education_level",languages:"mother_tongue"}).forEach(([a,t])=>{Object.keys(r).includes(t)||e.push(a)}),e},[r]),d=(0,L.useMemo)(()=>te.filter(e=>!c.includes(e)).map(e=>({title:t(`data.${e}.title`),icon:le[e],key:e})),[c]),u=(0,L.useMemo)(()=>a.filter(e=>(0,L.isValidElement)(e)&&"function"==typeof e.type&&!c.includes(e.type.name.toLocaleLowerCase())),[a,c]),m=(0,L.useMemo)(()=>i&&i.lg&&n<0?0:n,[i,n]),p=e=>{o(e),n!==e&&void 0!==d[e]&&(l.postEvent({eventType:ie.CATEGORY_CLICKED,eventAttributes:[{label:"category",data:d[e].key}]}),l.trackAnalyticsEvent({eventName:ne.CATEGORY_CLICKED,eventAttributes:{ll_category:d[e].key}}))};return n>a.length-1&&console.error("Invalid tab content accessor. Index does not exist on the supplied list of nodes."),(0,J.jsxs)("div",{className:`text-ll-placeholder ${e||""}`,children:[i&&!i.lg&&(0,J.jsx)(ee,{sectionHeaders:d,activeTabIndex:m,onTabChange:p,children:u[m]}),i&&i.lg&&(0,J.jsx)(ae,{sectionHeaders:d,activeTabIndex:m,onTabChange:p,children:u[m]})]})},de="\n flex flex-col justify-start gap-3\n md:justify-between md:flex-row\n h-full\n",ue="\n flex justify-between gap-3 flex-row min-w-[250px]\n md:flex-col\n",me="\n w-full md:h-full\n data-[size=quarter]:h-[25%] md:data-[size=quarter]:h-full\n data-[size=half]:h-[50%] md:data-[size=half]:h-full\n",pe="text-ll-primary w-2/4 h-2/4",ve=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{income:t}}=re(),l=["median_individual_income","median_household_income"],i=(0,L.useMemo)(()=>{var e,a;return(null==t?void 0:t.variables.slice().reverse().filter(e=>!e.type||"average"===e.type||"median"===e.type))||[{variable:"avg_individual_income",label:"Avg individual income",value:(null==t||null===(e=t.variables)||void 0===e||null===(e=e.find(e=>"inc_person"===e.variable))||void 0===e?void 0:e.value)||0},{variable:"avg_household_income",label:"Avg household income",value:(null==t||null===(a=t.variables)||void 0===a||null===(a=a.find(e=>"inc_home"===e.variable))||void 0===a?void 0:a.value)||0}]},[null==t?void 0:t.variables]);return(0,J.jsx)(M,a({},(0,L.useMemo)(()=>({options:{title:e("data.income.graphs.averageIncome.title"),values:i.filter(e=>!l.includes(e.variable)).map(a=>({variable:a.variable,value:`${new Intl.NumberFormat("en-EN",{style:"currency",currency:"USD",maximumFractionDigits:1}).format(a.value/1e3)}${a.value>=1e3?"k":""}`,label:e(`data.income.graphs.averageIncome.types.${a.variable}`)}))}}),[i])))},he=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{employment_status:t}}=re(),l=(0,L.useMemo)(()=>(null==t?void 0:t.variables.filter(e=>!e.type||"percent"===e.type).map(e=>({label:e.label,data:Number((100*e.value).toFixed(1))})))||[],[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({options:{title:e("data.income.graphs.employment.title"),values:l.map(e=>({variable:e.label.replace(" ","_"),label:e.label,value:`${e.data}%`}))}}),[l]);return t?(0,J.jsx)(M,a({},i)):null},ge=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{income_level:t}}=re(),l=(0,L.useMemo)(()=>{const e=null==t?void 0:t.variables.filter(e=>!e.type||"percent"===e.type).sort((e,a)=>Number(e.variable.split("_")[1])-Number(a.variable.split("_")[1]));return{labels:(null==e?void 0:e.map(e=>e.label))||[],data:(null==e?void 0:e.map(e=>Number((100*e.value).toFixed(1))))||[]}},[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({title:e("data.income.graphs.incomeBrackets.title"),labels:l.labels,data:l.data,unit:"%"}),[l]);return(0,J.jsx)(w,a(a({},i),{},{children:(0,J.jsx)(I,{})}))},be=()=>{const{demographicsData:{income_level:e}}=re();return(0,J.jsx)(J.Fragment,{children:e?(0,J.jsxs)("div",{className:de,children:[(0,J.jsxs)("div",{className:ue,children:[(0,J.jsx)("div",{className:me,children:(0,J.jsx)(ve,{})}),(0,J.jsx)("div",{className:me,children:(0,J.jsx)(he,{})})]}),(0,J.jsx)(ge,{})]}):(0,J.jsx)("div",{className:de,children:(0,J.jsx)("div",{className:me,"data-size":"quarter",children:(0,J.jsx)(ve,{})})})})},xe=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{population_total:t}}=re(),l=(0,L.useMemo)(()=>null==t?void 0:t.variables[0],[null==t?void 0:t.variables]);return(0,J.jsx)(M,a({},(0,L.useMemo)(()=>({options:{title:e("data.population.graphs.totalPopulation.title"),values:[{variable:(null==l?void 0:l.variable)||"",value:`${new Intl.NumberFormat("en-EN").format(Math.round((null==l?void 0:l.value)||0))}`,label:e("data.population.graphs.totalPopulation.title"),icon:H}]}}),[l])))},fe=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{population_age:t}}=re(),l=(0,L.useMemo)(()=>{if(!t)return null;const e=null==t?void 0:t.variables.filter(e=>!e.type||"percent"===e.type).sort((e,a)=>Number(e.variable.split("_")[1])-Number(a.variable.split("_")[1]));if((null==t?void 0:t.variables.length)>12){const a=e.map(e=>{const a=e.label.split(" ");return a.splice(1,1),a}),t=[];return a.forEach((l,i)=>{0!==i&&i%2!=0||t.push({variable:`age_${l[0]}_${a[i+1][1]}`,value:e[i].value+e[i+1].value,label:`${l[0]} to ${a[i+1][1]}`})}),t}return e},[t]),i=(0,L.useMemo)(()=>({labels:(null==l?void 0:l.map(e=>e.label))||[],data:(null==l?void 0:l.map(e=>Number((100*e.value).toFixed(1))))||[]}),[l]),n=(0,L.useMemo)(()=>({title:e("data.population.graphs.populationByAgeGroup.title"),labels:i.labels,data:i.data,unit:"%"}),[i]);return(0,J.jsx)(w,a(a({},n),{},{children:(0,J.jsx)(I,{})}))},je=()=>{const{demographicsData:{population_total:e}}=re();return(0,J.jsxs)("div",{className:de,children:[e&&(0,J.jsx)("div",{className:ue,children:(0,J.jsx)("div",{className:me,"data-size":"half",children:(0,J.jsx)(xe,{})})}),(0,J.jsx)("div",{className:me,"data-size":"half",children:(0,J.jsx)(fe,{})})]})},ye=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{property_tenure:t,housing_tenancy:l}}=re(),i=(0,L.useMemo)(()=>l||t,[l,t]),n=(0,L.useMemo)(()=>(null==i?void 0:i.variables.filter(e=>!e.type||"percent"===e.type).map(e=>({label:e.label,data:Number((100*e.value).toFixed(1))})))||[],[null==i?void 0:i.variables]);return(0,J.jsx)(M,a({},(0,L.useMemo)(()=>({options:{title:e("data.housing.graphs.homeOwnershipType.title"),values:n.map(e=>({variable:e.label.replace(" ","_"),label:e.label,value:`${e.data}%`}))}}),[n])))},Me=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{housing_type:t}}=re(),l=(0,L.useMemo)(()=>{const e=null==t?void 0:t.variables.filter(e=>!e.type||"percent"===e.type);return{labels:(null==e?void 0:e.map(e=>e.label))||[],data:(null==e?void 0:e.map(e=>Number((100*e.value).toFixed(1))))||[]}},[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({title:e("data.housing.graphs.typeOfHousing.title"),labels:l.labels,data:l.data,unit:"%"}),[l]);return(0,J.jsx)(w,a(a({},i),{},{children:(0,J.jsx)(I,{})}))},He=()=>{const{demographicsData:{property_tenure:e,housing_tenancy:a,housing_type:t}}=re(),l=a||e;return(0,J.jsxs)("div",{className:de,children:[l&&(0,J.jsx)("div",{className:ue,children:(0,J.jsx)("div",{className:me,children:(0,J.jsx)(ye,{})})}),t&&(0,J.jsx)("div",{className:me,children:(0,J.jsx)(Me,{})})]})},Ne=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{household_composition:t}}=re(),l=(0,L.useMemo)(()=>null==t?void 0:t.variables.map(e=>a(a({},e),{},{value:Number((100*e.value).toFixed(1))})).filter(e=>(!e.type||"percent"===e.type)&&Number((100*e.value).toFixed(1))>0),[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({labels:(null==l?void 0:l.map(e=>`${e.value}% ${e.label}`))||[],data:(null==l?void 0:l.map(e=>e.value))||[]}),[l]);return(0,J.jsx)(V,a({},(0,L.useMemo)(()=>({title:e("data.household.graphs.householdComposition.title"),labels:i.labels,data:i.data,icon:(0,J.jsx)(E,{className:pe})}),[i])))},Ee=()=>(0,J.jsx)("div",{className:de,children:(0,J.jsx)("div",{className:me,"data-size":"half",children:(0,J.jsx)(Ne,{})})}),Ae=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{commute_mode:t}}=re(),l=(0,L.useMemo)(()=>null==t?void 0:t.variables.map(e=>a(a({},e),{},{value:Number((100*e.value).toFixed(1))})).filter(e=>(!e.type||"percent"===e.type)&&Number((100*e.value).toFixed(1))>0),[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({labels:(null==l?void 0:l.map(e=>`${e.value}% ${e.label}`))||[],data:(null==l?void 0:l.map(e=>e.value))||[]}),[l]);return(0,J.jsx)(V,a({},(0,L.useMemo)(()=>({title:e("data.commute.graphs.commuteMode.title"),labels:i.labels,data:i.data,icon:(0,J.jsx)(j,{className:pe})}),[i])))},_e=()=>(0,J.jsx)("div",{className:de,children:(0,J.jsx)("div",{className:me,"data-size":"half",children:(0,J.jsx)(Ae,{})})}),De=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{education_level:t}}=re(),l=(0,L.useMemo)(()=>{const e=null==t?void 0:t.variables.filter(e=>!e.type||"percent"===e.type);return{labels:(null==e?void 0:e.map(e=>e.label))||[],data:(null==e?void 0:e.map(e=>Number((100*e.value).toFixed(1))))||[]}},[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({title:e("data.education.graphs.educationLevel.title"),labels:l.labels,data:l.data,unit:"%"}),[l]);return(0,J.jsx)(w,a(a({},i),{},{children:(0,J.jsx)(I,{})}))},Ve=()=>(0,J.jsx)("div",{className:de,children:(0,J.jsx)("div",{className:me,"data-size":"half",children:(0,J.jsx)(De,{})})}),we=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{official_language_knowledge:t}}=re(),l=(0,L.useMemo)(()=>null==t?void 0:t.variables.map(e=>a(a({},e),{},{value:Number((100*e.value).toFixed(1))})).filter(e=>(!e.type||"percent"===e.type)&&Number((100*e.value).toFixed(1))>0),[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({labels:(null==l?void 0:l.map(e=>`${e.value}% ${e.label}`))||[],data:(null==l?void 0:l.map(e=>e.value))||[]}),[l]);return(0,J.jsx)(V,a({},(0,L.useMemo)(()=>({title:e("data.languages.graphs.spokenLanguages.title"),labels:i.labels,data:i.data,icon:(0,J.jsx)(y,{className:pe})}),[i])))},Ze=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{mother_tongue:t}}=re(),l=(0,L.useMemo)(()=>{var e;return null==t||null===(e=t.variables.filter(e=>"french_and_non_official_language_s"!==e.variable&&"english_and_non_official_language_s"!==e.variable).slice(0,10))||void 0===e?void 0:e.map(e=>a(a({},e),{},{value:Number((100*e.value).toFixed(1))})).filter(e=>(!e.type||"percent"===e.type)&&e.value>0)},[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({labels:(null==l?void 0:l.map(e=>e.label))||[],data:(null==l?void 0:l.map(e=>e.value))||[]}),[l]),n=(0,L.useMemo)(()=>({title:e("data.languages.graphs.motherTongue.title"),labels:i.labels,data:i.data,unit:"%"}),[i]);return(0,J.jsx)(w,a(a({},n),{},{children:(0,J.jsx)(I,{})}))},Oe=()=>{const{demographicsData:{official_language_knowledge:e}}=re();return(0,J.jsxs)("div",{className:de,children:[e&&(0,J.jsx)("div",{className:me,"data-size":"half",children:(0,J.jsx)(we,{})}),(0,J.jsx)("div",{className:me,"data-size":"half",children:(0,J.jsx)(Ze,{})})]})},Fe=({children:e})=>(0,J.jsx)(ce,{children:e}),Ie=()=>{const{t:e}=s("neighborhoodDemographics"),{isLoading:a,demographicsData:t}=re();return(0,J.jsxs)(J.Fragment,{children:[a&&(0,J.jsx)("div",{className:"\n flex justify-center items-center \n px-3 pt-4 pb-3 w-full h-full\n",children:(0,J.jsx)(_,{image:!0})}),!a&&(!t||0===Object.keys(t).length)&&(0,J.jsx)(K,{text:e("noData")}),t&&(0,J.jsxs)(Fe,{children:[(0,J.jsx)(be,{}),(0,J.jsx)(je,{}),(0,J.jsx)(He,{}),(0,J.jsx)(Ee,{}),(0,J.jsx)(Ve,{}),(0,J.jsx)(_e,{}),(0,J.jsx)(Oe,{})]})]})},Ce=()=>{const{t:e}=s(["neighborhoodDemographics","common"]),{locale:a,hideAttribution:t}=re();return(0,J.jsxs)("div",{className:"\n py-3 items-center grid\n grid-cols-1 md:grid-cols-[2fr_1fr] \n [&>a]:justify-end\n",children:[(0,J.jsx)(D,{noMargin:!0,variant:"caption1",color:"--ll-color-on-background-variant1",children:e("note")}),!t&&(0,J.jsx)(T,{sdkName:"neighborhood-demographics",locale:a})]})},ke=c({lat:g().min(-90,"Must be a valid latitude.").max(90,"Must be a valid latitude.").when("geographyId",{is:e=>"string"==typeof e,then:e=>e.optional(),otherwise:e=>e.required()}),lng:g().min(-180,"Must be a valid longitude.").max(180,"Must be a valid longitude.").when("geographyId",{is:e=>"string"==typeof e,then:e=>e.optional(),otherwise:e=>e.required()}),geographyId:o().optional(),title:m().optional(),hideAttribution:r().optional()}).noUnknown(!0),u(d.neighborhoodWrap.key),e("default",()=>{var e,a,t,l,i,o,r,c;const{t:u}=s("neighborhoodDemographics"),{sdkState:m}=F(),v=z(),g=(null===(e=m.globalOptions)||void 0===e?void 0:e.locale)||"en";return(0,J.jsx)(P,{children:(0,J.jsx)(S,{sdk:"Neighborhood Demographics",schema:ke,options:m.options,children:(0,J.jsx)(p,{environment:null===(a=m.globalOptions)||void 0===a||null===(a=a.environment)||void 0===a?void 0:a.api,apiKey:m.apiKey,appearance:null===(t=m.globalOptions)||void 0===t?void 0:t.appearance,locale:null===(l=m.globalOptions)||void 0===l?void 0:l.locale,product:h.NEIGHBORHOOD_DEMOGRAPHICS,children:(0,J.jsx)(n,{trackingPipelineSettings:{apiKey:m.apiKey||""},analyticsSettings:d.neighborhoodWrap,meta:{clientId:m.clientId,productName:h.NEIGHBORHOOD_DEMOGRAPHICS,productVersion:"1.24.39"},attributes:{location:{lat:null===(i=m.options)||void 0===i?void 0:i.lat,lng:null===(o=m.options)||void 0===o?void 0:o.lng},host:m.location,host_url:document.referrer,locale:g,isMobile:v},flags:{isDebugMode:!1},children:(0,J.jsxs)(se,{children:[(0,J.jsx)(R,{title:"string"==typeof(null===(r=m.options)||void 0===r?void 0:r.title)||!1===(null===(c=m.options)||void 0===c?void 0:c.title)?m.options.title:u("title")}),(0,J.jsx)(Ie,{}),(0,J.jsx)(Ce,{})]})})})})})})}}})}();
2
- //# sourceMappingURL=NeighborhoodDemographics-legacy-vex0EXld.js.map
1
+ !function(){function e(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);a&&(l=l.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,l)}return t}function a(a){for(var l=1;l<arguments.length;l++){var i=null!=arguments[l]?arguments[l]:{};l%2?e(Object(i),!0).forEach(function(e){t(a,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(i)):e(Object(i)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(i,e))})}return a}function t(e,a,t){return(a=function(e){var a=function(e,a){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var l=t.call(e,a||"default");if("object"!=typeof l)return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(e)}(e,"string");return"symbol"==typeof a?a:a+""}(a))in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}System.register(["./rolldown-runtime-legacy-Djb2rrqm.js","./google-maps-vendor-legacy-CPuMOKGq.js","./sdks-legacy-CoLf_W4Z.js","./Car.es-legacy-BVO9zW_4.js","./CaretDown.es-legacy-AW_6LRgL.js","./GraduationCap.es-legacy-DDaS8ZM6.js","./useDemographicsData-legacy-BYnQNjDv.js","./UsersThree.es-legacy-DZbZvazB.js","./IconBase.es-legacy-VUFA7Zpu.js","./index-legacy-D77-aBOf.js","./useGeographies-legacy-D7XUaxgU.js","./useLocation-legacy-TYbGg3Qq.js","./useResponsiveBreakpoints-legacy-CHMcuyvR.js","./Attribution-legacy-CdR3a3DX.js","./ResizeWrapper-legacy-DibF7KTC.js","./ValidateOptions-legacy-DSqr0GvA.js","./useIsMobile-legacy-BYXlMXeW.js","./old-tailwind-legacy-BXYu_3FF.js","./TitleHeader-legacy-Dkn0qrYi.js","./NoDataContent-legacy-DT86maak.js"],function(e,t){var l,i,n,o,r,s,c,d,u,m,p,v,h,g,b,x,f,j,y,M,H,N,E,A,_,D,V,w,Z,O,F,I,C,k,$,T,P,S,z,R,K,L,G,B,W,q,U,Y,J,Q,X,ee,ae,te,le,ie,ne,oe,re,se,ce,de,ue,me,pe,ve,he,ge,be,xe,fe,je,ye,Me,He,Ne,Ee,Ae,_e,De,Ve,we,Ze,Oe,Fe,Ie,Ce,ke;return{setters:[function(e){l=e.a},function(e){i=e.l},function(e){n=e.a,o=e.d,r=e.f,s=e.h,c=e.l,d=e.n,u=e.o,m=e.p,p=e.r,v=e.s,h=e.t,g=e.u},function(e){b=e.t},function(e){x=e.t},function(e){f=e.t},function(e){j=e.a,y=e.i,M=e.n,H=e.r,N=e.t},function(e){E=e.t},function(e){A=e.t},function(e){_=e.B,D=e.H,V=e.c,w=e.l,Z=e.q,O=e.r,F=e.t,I=e.u},function(e){C=e.t},function(e){k=e.t},function(e){$=e.t},function(e){T=e.n},function(e){P=e.t},function(e){S=e.t},function(e){z=e.t},function(e){},function(e){R=e.t},function(e){K=e.n}],execute:function(){L=l(i(),1),G=new Map([["bold",L.createElement(L.Fragment,null,L.createElement("path",{d:"M208,44H48A28,28,0,0,0,20,72V184a28,28,0,0,0,28,28H208a28,28,0,0,0,28-28V72A28,28,0,0,0,208,44ZM48,68H208a4,4,0,0,1,4,4V88H160a12,12,0,0,0-12,12,20,20,0,0,1-40,0A12,12,0,0,0,96,88H44V72A4,4,0,0,1,48,68ZM208,188H48a4,4,0,0,1-4-4V112H85.66a44,44,0,0,0,84.68,0H212v72A4,4,0,0,1,208,188Z"}))],["duotone",L.createElement(L.Fragment,null,L.createElement("path",{d:"M224,72v48H160a32,32,0,0,1-64,0H32V72A16,16,0,0,1,48,56H208A16,16,0,0,1,224,72Z",opacity:"0.2"}),L.createElement("path",{d:"M208,48H48A24,24,0,0,0,24,72V184a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V72A24,24,0,0,0,208,48ZM40,96H216v16H160a8,8,0,0,0-8,8,24,24,0,0,1-48,0,8,8,0,0,0-8-8H40Zm8-32H208a8,8,0,0,1,8,8v8H40V72A8,8,0,0,1,48,64ZM208,192H48a8,8,0,0,1-8-8V128H88.8a40,40,0,0,0,78.4,0H216v56A8,8,0,0,1,208,192Z"}))],["fill",L.createElement(L.Fragment,null,L.createElement("path",{d:"M208,48H48A24,24,0,0,0,24,72V184a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V72A24,24,0,0,0,208,48Zm-56,72a24,24,0,0,1-48,0,8,8,0,0,0-8-8H40V96H216v16H160A8,8,0,0,0,152,120ZM48,64H208a8,8,0,0,1,8,8v8H40V72A8,8,0,0,1,48,64Z"}))],["light",L.createElement(L.Fragment,null,L.createElement("path",{d:"M208,50H48A22,22,0,0,0,26,72V184a22,22,0,0,0,22,22H208a22,22,0,0,0,22-22V72A22,22,0,0,0,208,50ZM38,94H218v20H160a6,6,0,0,0-6,6,26,26,0,0,1-52,0,6,6,0,0,0-6-6H38ZM48,62H208a10,10,0,0,1,10,10V82H38V72A10,10,0,0,1,48,62ZM208,194H48a10,10,0,0,1-10-10V126H90.47a38,38,0,0,0,75.06,0H218v58A10,10,0,0,1,208,194Z"}))],["regular",L.createElement(L.Fragment,null,L.createElement("path",{d:"M208,48H48A24,24,0,0,0,24,72V184a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V72A24,24,0,0,0,208,48ZM40,96H216v16H160a8,8,0,0,0-8,8,24,24,0,0,1-48,0,8,8,0,0,0-8-8H40Zm8-32H208a8,8,0,0,1,8,8v8H40V72A8,8,0,0,1,48,64ZM208,192H48a8,8,0,0,1-8-8V128H88.8a40,40,0,0,0,78.4,0H216v56A8,8,0,0,1,208,192Z"}))],["thin",L.createElement(L.Fragment,null,L.createElement("path",{d:"M208,52H48A20,20,0,0,0,28,72V184a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V72A20,20,0,0,0,208,52ZM36,92H220v24H160a4,4,0,0,0-4,4,28,28,0,0,1-56,0,4,4,0,0,0-4-4H36ZM48,60H208a12,12,0,0,1,12,12V84H36V72A12,12,0,0,1,48,60ZM208,196H48a12,12,0,0,1-12-12V124H92.22a36,36,0,0,0,71.56,0H220v60A12,12,0,0,1,208,196Z"}))]]),B=new Map([["bold",L.createElement(L.Fragment,null,L.createElement("path",{d:"M222.14,105.85l-80-80a20,20,0,0,0-28.28,0l-80,80A19.86,19.86,0,0,0,28,120v96a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V164h24v52a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V120A19.86,19.86,0,0,0,222.14,105.85ZM204,204H164V152a12,12,0,0,0-12-12H104a12,12,0,0,0-12,12v52H52V121.65l76-76,76,76Z"}))],["duotone",L.createElement(L.Fragment,null,L.createElement("path",{d:"M216,120v96H152V152H104v64H40V120a8,8,0,0,1,2.34-5.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,216,120Z",opacity:"0.2"}),L.createElement("path",{d:"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z"}))],["fill",L.createElement(L.Fragment,null,L.createElement("path",{d:"M224,120v96a8,8,0,0,1-8,8H160a8,8,0,0,1-8-8V164a4,4,0,0,0-4-4H108a4,4,0,0,0-4,4v52a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V120a16,16,0,0,1,4.69-11.31l80-80a16,16,0,0,1,22.62,0l80,80A16,16,0,0,1,224,120Z"}))],["light",L.createElement(L.Fragment,null,L.createElement("path",{d:"M217.9,110.1l-80-80a14,14,0,0,0-19.8,0l-80,80A13.92,13.92,0,0,0,34,120v96a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V158h36v58a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V120A13.92,13.92,0,0,0,217.9,110.1ZM210,210H158V152a6,6,0,0,0-6-6H104a6,6,0,0,0-6,6v58H46V120a2,2,0,0,1,.58-1.42l80-80a2,2,0,0,1,2.84,0l80,80A2,2,0,0,1,210,120Z"}))],["regular",L.createElement(L.Fragment,null,L.createElement("path",{d:"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z"}))],["thin",L.createElement(L.Fragment,null,L.createElement("path",{d:"M216.49,111.51l-80-80a12,12,0,0,0-17,0l-80,80A12,12,0,0,0,36,120v96a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V156h40v60a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V120A12,12,0,0,0,216.49,111.51ZM212,212H156V152a4,4,0,0,0-4-4H104a4,4,0,0,0-4,4v60H44V120a4,4,0,0,1,1.17-2.83l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,212,120Z"}))]]),W=new Map([["bold",L.createElement(L.Fragment,null,L.createElement("path",{d:"M234.38,210a123.36,123.36,0,0,0-60.78-53.23,76,76,0,1,0-91.2,0A123.36,123.36,0,0,0,21.62,210a12,12,0,1,0,20.77,12c18.12-31.32,50.12-50,85.61-50s67.49,18.69,85.61,50a12,12,0,0,0,20.77-12ZM76,96a52,52,0,1,1,52,52A52.06,52.06,0,0,1,76,96Z"}))],["duotone",L.createElement(L.Fragment,null,L.createElement("path",{d:"M192,96a64,64,0,1,1-64-64A64,64,0,0,1,192,96Z",opacity:"0.2"}),L.createElement("path",{d:"M230.92,212c-15.23-26.33-38.7-45.21-66.09-54.16a72,72,0,1,0-73.66,0C63.78,166.78,40.31,185.66,25.08,212a8,8,0,1,0,13.85,8c18.84-32.56,52.14-52,89.07-52s70.23,19.44,89.07,52a8,8,0,1,0,13.85-8ZM72,96a56,56,0,1,1,56,56A56.06,56.06,0,0,1,72,96Z"}))],["fill",L.createElement(L.Fragment,null,L.createElement("path",{d:"M230.93,220a8,8,0,0,1-6.93,4H32a8,8,0,0,1-6.92-12c15.23-26.33,38.7-45.21,66.09-54.16a72,72,0,1,1,73.66,0c27.39,8.95,50.86,27.83,66.09,54.16A8,8,0,0,1,230.93,220Z"}))],["light",L.createElement(L.Fragment,null,L.createElement("path",{d:"M229.19,213c-15.81-27.32-40.63-46.49-69.47-54.62a70,70,0,1,0-63.44,0C67.44,166.5,42.62,185.67,26.81,213a6,6,0,1,0,10.38,6C56.4,185.81,90.34,166,128,166s71.6,19.81,90.81,53a6,6,0,1,0,10.38-6ZM70,96a58,58,0,1,1,58,58A58.07,58.07,0,0,1,70,96Z"}))],["regular",L.createElement(L.Fragment,null,L.createElement("path",{d:"M230.92,212c-15.23-26.33-38.7-45.21-66.09-54.16a72,72,0,1,0-73.66,0C63.78,166.78,40.31,185.66,25.08,212a8,8,0,1,0,13.85,8c18.84-32.56,52.14-52,89.07-52s70.23,19.44,89.07,52a8,8,0,1,0,13.85-8ZM72,96a56,56,0,1,1,56,56A56.06,56.06,0,0,1,72,96Z"}))],["thin",L.createElement(L.Fragment,null,L.createElement("path",{d:"M227.46,214c-16.52-28.56-43-48.06-73.68-55.09a68,68,0,1,0-51.56,0c-30.64,7-57.16,26.53-73.68,55.09a4,4,0,0,0,6.92,4C55,184.19,89.62,164,128,164s73,20.19,92.54,54a4,4,0,0,0,3.46,2,3.93,3.93,0,0,0,2-.54A4,4,0,0,0,227.46,214ZM68,96a60,60,0,1,1,60,60A60.07,60.07,0,0,1,68,96Z"}))]]),q=L.forwardRef((e,t)=>L.createElement(A,a(a({ref:t},e),{},{weights:G}))),q.displayName="CardholderIcon",U=L.forwardRef((e,t)=>L.createElement(A,a(a({ref:t},e),{},{weights:B}))),U.displayName="HouseIcon",Y=L.forwardRef((e,t)=>L.createElement(A,a(a({ref:t},e),{},{weights:W}))),Y.displayName="UserIcon",J=Z(),Q=({icon:e})=>(0,J.jsx)(e,{className:"w-6 h-6"}),X=({text:e,className:a})=>(0,J.jsx)("h2",{className:`text-base leading-6 font-medium ${a||""}`,children:e}),ee=({sectionHeaders:e,activeTabIndex:a,onTabChange:t,children:l})=>(0,J.jsx)("div",{className:"flex flex-col gap-2",children:e.map((e,i)=>(0,J.jsxs)("div",{className:"px-4 rounded border border-ll-border shadow cursor-pointer group",onClick:()=>t(a===i?-1:i),"data-active":a===i,children:[(0,J.jsxs)("div",{className:"py-3 flex items-center gap-1.5 group-data-[active=true]:text-ll-primary",children:[(0,J.jsx)(Q,{icon:e.icon}),(0,J.jsx)(X,{text:e.title,className:"grow"}),(0,J.jsx)(x,{className:"w-3.5 h-3.5 text-ll-placeholder data-[is-active=true]:rotate-180 transition-transform duration-50 ease-in-out","data-is-active":a===i})]}),a===i&&(0,J.jsx)("div",{className:"py-3 border-t border-ll-surface",children:l})]},`section-accordion-${e.title}`))}),ae=({sectionHeaders:e,activeTabIndex:a,onTabChange:t,children:l})=>(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)("div",{className:"w-full",children:[(0,J.jsx)("div",{className:"flex items-center justify-center pb-4",children:e.map((e,l)=>(0,J.jsxs)("div",{className:"w-full flex items-center justify-center py-2.5 gap-2 data-[active=true]:text-ll-primary cursor-pointer transition-colors",onClick:()=>t(l),"data-active":a===l,children:[(0,J.jsx)(Q,{icon:e.icon}),(0,J.jsx)(X,{text:e.title})]},`section-tab-${e.title}`))}),(0,J.jsx)("div",{className:"border-b-4 border-ll-surface rounded flex items-center justify-center",children:e.map((e,t)=>(0,J.jsx)("div",{className:"h-1 bg-ll-primary rounded w-full -mb-1 data-[active=false]:opacity-0 transition-opacity","data-active":a===t},`section-tab-border-${e.title}`))})]}),(0,J.jsx)("div",{className:"p-6",children:l})]}),te=["income","population","housing","household","education","commute","languages"],le={income:q,population:Y,housing:U,household:H,education:f,commute:b,languages:y},ie=function(e){return e.SDK_VIEWED="neighborhood-demographics-Viewed",e.CATEGORY_CLICKED="neighborhood-demographics-Category-Clicked",e}({}),ne=function(e){return e.SDK_VIEWED="sdk_viewed",e.CATEGORY_CLICKED="category_clicked",e}({}),oe=L.createContext({}),re=()=>(0,L.useContext)(oe),se=({children:e})=>{var a,t,l,i,n,o,r;const{sdkState:s}=F(),c=v();O(()=>{c.postEvent({eventType:ie.SDK_VIEWED}),c.trackAnalyticsEvent({eventName:ne.SDK_VIEWED})});const{isLoading:d,data:u}=C({location:{lat:void 0===(null===(a=s.options)||void 0===a?void 0:a.geographyId)?null===(t=s.options)||void 0===t?void 0:t.lat:void 0,lng:void 0===(null===(l=s.options)||void 0===l?void 0:l.geographyId)?null===(i=s.options)||void 0===i?void 0:i.lng:void 0}}),m=(0,L.useMemo)(()=>Object.values(u||{})[0],[d,u]),p=(0,L.useMemo)(()=>{var e;return void 0!==(null===(e=s.options)||void 0===e?void 0:e.geographyId)?s.options.geographyId:Object.keys(u||{})[0]},[null===(n=s.options)||void 0===n?void 0:n.geographyId,u]),{data:{country:h}}=k({lat:null==m?void 0:m.centroid.lat,lng:null==m?void 0:m.centroid.lng}),{data:g,isFetching:b}=N({geographyId:p});return(0,J.jsx)(oe.Provider,{value:{isLoading:d||b,demographicsData:g||{},country:h||"CA",locale:(null===(o=s.globalOptions)||void 0===o?void 0:o.locale)||"en",hideAttribution:(null===(r=s.options)||void 0===r?void 0:r.hideAttribution)||!1},children:e})},ce=({className:e,children:a})=>{const{t:t}=s("neighborhoodDemographics"),l=v(),i=$(),[n,o]=(0,L.useState)(0),{demographicsData:r}=re(),c=(0,L.useMemo)(()=>{if(!r)return[];const e=[];return Object.entries({income:"income",population:"population_age",housing:"housing_tenancy",household:"household_composition",commute:"commute_mode",education:"education_level",languages:"mother_tongue"}).forEach(([a,t])=>{Object.keys(r).includes(t)||e.push(a)}),e},[r]),d=(0,L.useMemo)(()=>te.filter(e=>!c.includes(e)).map(e=>({title:t(`data.${e}.title`),icon:le[e],key:e})),[c]),u=(0,L.useMemo)(()=>a.filter(e=>(0,L.isValidElement)(e)&&"function"==typeof e.type&&!c.includes(e.type.name.toLocaleLowerCase())),[a,c]),m=(0,L.useMemo)(()=>i&&i.lg&&n<0?0:n,[i,n]),p=e=>{o(e),n!==e&&void 0!==d[e]&&(l.postEvent({eventType:ie.CATEGORY_CLICKED,eventAttributes:[{label:"category",data:d[e].key}]}),l.trackAnalyticsEvent({eventName:ne.CATEGORY_CLICKED,eventAttributes:{ll_category:d[e].key}}))};return n>a.length-1&&console.error("Invalid tab content accessor. Index does not exist on the supplied list of nodes."),(0,J.jsxs)("div",{className:`text-ll-placeholder ${e||""}`,children:[i&&!i.lg&&(0,J.jsx)(ee,{sectionHeaders:d,activeTabIndex:m,onTabChange:p,children:u[m]}),i&&i.lg&&(0,J.jsx)(ae,{sectionHeaders:d,activeTabIndex:m,onTabChange:p,children:u[m]})]})},de="\n flex flex-col justify-start gap-3\n md:justify-between md:flex-row\n h-full\n",ue="\n flex justify-between gap-3 flex-row min-w-[250px]\n md:flex-col\n",me="\n w-full md:h-full\n data-[size=quarter]:h-[25%] md:data-[size=quarter]:h-full\n data-[size=half]:h-[50%] md:data-[size=half]:h-full\n",pe="text-ll-primary w-2/4 h-2/4",ve=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{income:t}}=re(),l=["median_individual_income","median_household_income"],i=(0,L.useMemo)(()=>{var e,a;return(null==t?void 0:t.variables.slice().reverse().filter(e=>!e.type||"average"===e.type||"median"===e.type))||[{variable:"avg_individual_income",label:"Avg individual income",value:(null==t||null===(e=t.variables)||void 0===e||null===(e=e.find(e=>"inc_person"===e.variable))||void 0===e?void 0:e.value)||0},{variable:"avg_household_income",label:"Avg household income",value:(null==t||null===(a=t.variables)||void 0===a||null===(a=a.find(e=>"inc_home"===e.variable))||void 0===a?void 0:a.value)||0}]},[null==t?void 0:t.variables]);return(0,J.jsx)(M,a({},(0,L.useMemo)(()=>({options:{title:e("data.income.graphs.averageIncome.title"),values:i.filter(e=>!l.includes(e.variable)).map(a=>({variable:a.variable,value:`${new Intl.NumberFormat("en-EN",{style:"currency",currency:"USD",maximumFractionDigits:1}).format(a.value/1e3)}${a.value>=1e3?"k":""}`,label:e(`data.income.graphs.averageIncome.types.${a.variable}`)}))}}),[i])))},he=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{employment_status:t}}=re(),l=(0,L.useMemo)(()=>(null==t?void 0:t.variables.filter(e=>!e.type||"percent"===e.type).map(e=>({label:e.label,data:Number((100*e.value).toFixed(1))})))||[],[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({options:{title:e("data.income.graphs.employment.title"),values:l.map(e=>({variable:e.label.replace(" ","_"),label:e.label,value:`${e.data}%`}))}}),[l]);return t?(0,J.jsx)(M,a({},i)):null},ge=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{income_level:t}}=re(),l=(0,L.useMemo)(()=>{const e=null==t?void 0:t.variables.filter(e=>!e.type||"percent"===e.type).sort((e,a)=>Number(e.variable.split("_")[1])-Number(a.variable.split("_")[1]));return{labels:(null==e?void 0:e.map(e=>e.label))||[],data:(null==e?void 0:e.map(e=>Number((100*e.value).toFixed(1))))||[]}},[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({title:e("data.income.graphs.incomeBrackets.title"),labels:l.labels,data:l.data,unit:"%"}),[l]);return(0,J.jsx)(w,a(a({},i),{},{children:(0,J.jsx)(I,{})}))},be=()=>{const{demographicsData:{income_level:e}}=re();return(0,J.jsx)(J.Fragment,{children:e?(0,J.jsxs)("div",{className:de,children:[(0,J.jsxs)("div",{className:ue,children:[(0,J.jsx)("div",{className:me,children:(0,J.jsx)(ve,{})}),(0,J.jsx)("div",{className:me,children:(0,J.jsx)(he,{})})]}),(0,J.jsx)(ge,{})]}):(0,J.jsx)("div",{className:de,children:(0,J.jsx)("div",{className:me,"data-size":"quarter",children:(0,J.jsx)(ve,{})})})})},xe=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{population_total:t}}=re(),l=(0,L.useMemo)(()=>null==t?void 0:t.variables[0],[null==t?void 0:t.variables]);return(0,J.jsx)(M,a({},(0,L.useMemo)(()=>({options:{title:e("data.population.graphs.totalPopulation.title"),values:[{variable:(null==l?void 0:l.variable)||"",value:`${new Intl.NumberFormat("en-EN").format(Math.round((null==l?void 0:l.value)||0))}`,label:e("data.population.graphs.totalPopulation.title"),icon:H}]}}),[l])))},fe=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{population_age:t}}=re(),l=(0,L.useMemo)(()=>{if(!t)return null;const e=null==t?void 0:t.variables.filter(e=>!e.type||"percent"===e.type).sort((e,a)=>Number(e.variable.split("_")[1])-Number(a.variable.split("_")[1]));if((null==t?void 0:t.variables.length)>12){const a=e.map(e=>{const a=e.label.split(" ");return a.splice(1,1),a}),t=[];return a.forEach((l,i)=>{0!==i&&i%2!=0||t.push({variable:`age_${l[0]}_${a[i+1][1]}`,value:e[i].value+e[i+1].value,label:`${l[0]} to ${a[i+1][1]}`})}),t}return e},[t]),i=(0,L.useMemo)(()=>({labels:(null==l?void 0:l.map(e=>e.label))||[],data:(null==l?void 0:l.map(e=>Number((100*e.value).toFixed(1))))||[]}),[l]),n=(0,L.useMemo)(()=>({title:e("data.population.graphs.populationByAgeGroup.title"),labels:i.labels,data:i.data,unit:"%"}),[i]);return(0,J.jsx)(w,a(a({},n),{},{children:(0,J.jsx)(I,{})}))},je=()=>{const{demographicsData:{population_total:e}}=re();return(0,J.jsxs)("div",{className:de,children:[e&&(0,J.jsx)("div",{className:ue,children:(0,J.jsx)("div",{className:me,"data-size":"half",children:(0,J.jsx)(xe,{})})}),(0,J.jsx)("div",{className:me,"data-size":"half",children:(0,J.jsx)(fe,{})})]})},ye=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{property_tenure:t,housing_tenancy:l}}=re(),i=(0,L.useMemo)(()=>l||t,[l,t]),n=(0,L.useMemo)(()=>(null==i?void 0:i.variables.filter(e=>!e.type||"percent"===e.type).map(e=>({label:e.label,data:Number((100*e.value).toFixed(1))})))||[],[null==i?void 0:i.variables]);return(0,J.jsx)(M,a({},(0,L.useMemo)(()=>({options:{title:e("data.housing.graphs.homeOwnershipType.title"),values:n.map(e=>({variable:e.label.replace(" ","_"),label:e.label,value:`${e.data}%`}))}}),[n])))},Me=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{housing_type:t}}=re(),l=(0,L.useMemo)(()=>{const e=null==t?void 0:t.variables.filter(e=>!e.type||"percent"===e.type);return{labels:(null==e?void 0:e.map(e=>e.label))||[],data:(null==e?void 0:e.map(e=>Number((100*e.value).toFixed(1))))||[]}},[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({title:e("data.housing.graphs.typeOfHousing.title"),labels:l.labels,data:l.data,unit:"%"}),[l]);return(0,J.jsx)(w,a(a({},i),{},{children:(0,J.jsx)(I,{})}))},He=()=>{const{demographicsData:{property_tenure:e,housing_tenancy:a,housing_type:t}}=re(),l=a||e;return(0,J.jsxs)("div",{className:de,children:[l&&(0,J.jsx)("div",{className:ue,children:(0,J.jsx)("div",{className:me,children:(0,J.jsx)(ye,{})})}),t&&(0,J.jsx)("div",{className:me,children:(0,J.jsx)(Me,{})})]})},Ne=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{household_composition:t}}=re(),l=(0,L.useMemo)(()=>null==t?void 0:t.variables.map(e=>a(a({},e),{},{value:Number((100*e.value).toFixed(1))})).filter(e=>(!e.type||"percent"===e.type)&&Number((100*e.value).toFixed(1))>0),[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({labels:(null==l?void 0:l.map(e=>`${e.value}% ${e.label}`))||[],data:(null==l?void 0:l.map(e=>e.value))||[]}),[l]);return(0,J.jsx)(V,a({},(0,L.useMemo)(()=>({title:e("data.household.graphs.householdComposition.title"),labels:i.labels,data:i.data,icon:(0,J.jsx)(E,{className:pe})}),[i])))},Ee=()=>(0,J.jsx)("div",{className:de,children:(0,J.jsx)("div",{className:me,"data-size":"half",children:(0,J.jsx)(Ne,{})})}),Ae=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{commute_mode:t}}=re(),l=(0,L.useMemo)(()=>null==t?void 0:t.variables.map(e=>a(a({},e),{},{value:Number((100*e.value).toFixed(1))})).filter(e=>(!e.type||"percent"===e.type)&&Number((100*e.value).toFixed(1))>0),[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({labels:(null==l?void 0:l.map(e=>`${e.value}% ${e.label}`))||[],data:(null==l?void 0:l.map(e=>e.value))||[]}),[l]);return(0,J.jsx)(V,a({},(0,L.useMemo)(()=>({title:e("data.commute.graphs.commuteMode.title"),labels:i.labels,data:i.data,icon:(0,J.jsx)(j,{className:pe})}),[i])))},_e=()=>(0,J.jsx)("div",{className:de,children:(0,J.jsx)("div",{className:me,"data-size":"half",children:(0,J.jsx)(Ae,{})})}),De=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{education_level:t}}=re(),l=(0,L.useMemo)(()=>{const e=null==t?void 0:t.variables.filter(e=>!e.type||"percent"===e.type);return{labels:(null==e?void 0:e.map(e=>e.label))||[],data:(null==e?void 0:e.map(e=>Number((100*e.value).toFixed(1))))||[]}},[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({title:e("data.education.graphs.educationLevel.title"),labels:l.labels,data:l.data,unit:"%"}),[l]);return(0,J.jsx)(w,a(a({},i),{},{children:(0,J.jsx)(I,{})}))},Ve=()=>(0,J.jsx)("div",{className:de,children:(0,J.jsx)("div",{className:me,"data-size":"half",children:(0,J.jsx)(De,{})})}),we=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{official_language_knowledge:t}}=re(),l=(0,L.useMemo)(()=>null==t?void 0:t.variables.map(e=>a(a({},e),{},{value:Number((100*e.value).toFixed(1))})).filter(e=>(!e.type||"percent"===e.type)&&Number((100*e.value).toFixed(1))>0),[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({labels:(null==l?void 0:l.map(e=>`${e.value}% ${e.label}`))||[],data:(null==l?void 0:l.map(e=>e.value))||[]}),[l]);return(0,J.jsx)(V,a({},(0,L.useMemo)(()=>({title:e("data.languages.graphs.spokenLanguages.title"),labels:i.labels,data:i.data,icon:(0,J.jsx)(y,{className:pe})}),[i])))},Ze=()=>{const{t:e}=s("neighborhoodDemographics"),{demographicsData:{mother_tongue:t}}=re(),l=(0,L.useMemo)(()=>{var e;return null==t||null===(e=t.variables.filter(e=>"french_and_non_official_language_s"!==e.variable&&"english_and_non_official_language_s"!==e.variable).slice(0,10))||void 0===e?void 0:e.map(e=>a(a({},e),{},{value:Number((100*e.value).toFixed(1))})).filter(e=>(!e.type||"percent"===e.type)&&e.value>0)},[null==t?void 0:t.variables]),i=(0,L.useMemo)(()=>({labels:(null==l?void 0:l.map(e=>e.label))||[],data:(null==l?void 0:l.map(e=>e.value))||[]}),[l]),n=(0,L.useMemo)(()=>({title:e("data.languages.graphs.motherTongue.title"),labels:i.labels,data:i.data,unit:"%"}),[i]);return(0,J.jsx)(w,a(a({},n),{},{children:(0,J.jsx)(I,{})}))},Oe=()=>{const{demographicsData:{official_language_knowledge:e}}=re();return(0,J.jsxs)("div",{className:de,children:[e&&(0,J.jsx)("div",{className:me,"data-size":"half",children:(0,J.jsx)(we,{})}),(0,J.jsx)("div",{className:me,"data-size":"half",children:(0,J.jsx)(Ze,{})})]})},Fe=({children:e})=>(0,J.jsx)(ce,{children:e}),Ie=()=>{const{t:e}=s("neighborhoodDemographics"),{isLoading:a,demographicsData:t}=re();return(0,J.jsxs)(J.Fragment,{children:[a&&(0,J.jsx)("div",{className:"\n flex justify-center items-center \n px-3 pt-4 pb-3 w-full h-full\n",children:(0,J.jsx)(_,{image:!0})}),!a&&(!t||0===Object.keys(t).length)&&(0,J.jsx)(K,{text:e("noData")}),t&&(0,J.jsxs)(Fe,{children:[(0,J.jsx)(be,{}),(0,J.jsx)(je,{}),(0,J.jsx)(He,{}),(0,J.jsx)(Ee,{}),(0,J.jsx)(Ve,{}),(0,J.jsx)(_e,{}),(0,J.jsx)(Oe,{})]})]})},Ce=()=>{const{t:e}=s(["neighborhoodDemographics","common"]),{locale:a,hideAttribution:t}=re();return(0,J.jsxs)("div",{className:"\n py-3 items-center grid\n grid-cols-1 md:grid-cols-[2fr_1fr] \n [&>a]:justify-end\n",children:[(0,J.jsx)(D,{noMargin:!0,variant:"caption1",color:"--ll-color-on-background-variant1",children:e("note")}),!t&&(0,J.jsx)(T,{sdkName:"neighborhood-demographics",locale:a})]})},ke=c({lat:g().min(-90,"Must be a valid latitude.").max(90,"Must be a valid latitude.").when("geographyId",{is:e=>"string"==typeof e,then:e=>e.optional(),otherwise:e=>e.required()}),lng:g().min(-180,"Must be a valid longitude.").max(180,"Must be a valid longitude.").when("geographyId",{is:e=>"string"==typeof e,then:e=>e.optional(),otherwise:e=>e.required()}),geographyId:o().optional(),title:m().optional(),hideAttribution:r().optional()}).noUnknown(!0),u(d.neighborhoodWrap.key),e("default",()=>{var e,a,t,l,i,o,r,c;const{t:u}=s("neighborhoodDemographics"),{sdkState:m}=F(),v=z(),g=(null===(e=m.globalOptions)||void 0===e?void 0:e.locale)||"en";return(0,J.jsx)(P,{children:(0,J.jsx)(S,{sdk:"Neighborhood Demographics",schema:ke,options:m.options,children:(0,J.jsx)(p,{environment:null===(a=m.globalOptions)||void 0===a||null===(a=a.environment)||void 0===a?void 0:a.api,apiKey:m.apiKey,appearance:null===(t=m.globalOptions)||void 0===t?void 0:t.appearance,locale:null===(l=m.globalOptions)||void 0===l?void 0:l.locale,product:h.NEIGHBORHOOD_DEMOGRAPHICS,children:(0,J.jsx)(n,{trackingPipelineSettings:{apiKey:m.apiKey||""},analyticsSettings:d.neighborhoodWrap,meta:{clientId:m.clientId,productName:h.NEIGHBORHOOD_DEMOGRAPHICS,productVersion:"1.24.41"},attributes:{location:{lat:null===(i=m.options)||void 0===i?void 0:i.lat,lng:null===(o=m.options)||void 0===o?void 0:o.lng},host:m.location,host_url:document.referrer,locale:g,isMobile:v},flags:{isDebugMode:!1},children:(0,J.jsxs)(se,{children:[(0,J.jsx)(R,{title:"string"==typeof(null===(r=m.options)||void 0===r?void 0:r.title)||!1===(null===(c=m.options)||void 0===c?void 0:c.title)?m.options.title:u("title")}),(0,J.jsx)(Ie,{}),(0,J.jsx)(Ce,{})]})})})})})})}}})}();
2
+ //# sourceMappingURL=NeighborhoodDemographics-legacy-CnNPTNnh.js.map