@local-logic/sdks-app 1.24.52 → 1.24.53

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 (302) hide show
  1. package/dist/assets/{Attribution-Bu4Ixh5w.js → Attribution-BzSinyYb.js} +2 -2
  2. package/dist/assets/{Attribution-Bu4Ixh5w.js.map → Attribution-BzSinyYb.js.map} +1 -1
  3. package/dist/assets/{Attribution-legacy-D-1dbckP.js → Attribution-legacy-jrz8DVgy.js} +2 -2
  4. package/dist/assets/{Attribution-legacy-D-1dbckP.js.map → Attribution-legacy-jrz8DVgy.js.map} +1 -1
  5. package/dist/assets/{Cluster-BHQcO6iC-DVNXYzVu.js → Cluster-BHQcO6iC-C1_WizBX.js} +2 -2
  6. package/dist/assets/{Cluster-BHQcO6iC-DVNXYzVu.js.map → Cluster-BHQcO6iC-C1_WizBX.js.map} +1 -1
  7. package/dist/assets/{Cluster-BHQcO6iC-legacy-Cp5yssSj.js → Cluster-BHQcO6iC-legacy-W0xr0mI7.js} +2 -2
  8. package/dist/assets/{Cluster-BHQcO6iC-legacy-Cp5yssSj.js.map → Cluster-BHQcO6iC-legacy-W0xr0mI7.js.map} +1 -1
  9. package/dist/assets/{Google-BFAJ84CT-BAoUG1EQ.js → Google-BFAJ84CT-Delec--D.js} +2 -2
  10. package/dist/assets/{Google-BFAJ84CT-BAoUG1EQ.js.map → Google-BFAJ84CT-Delec--D.js.map} +1 -1
  11. package/dist/assets/{Google-BFAJ84CT-legacy-BIJPK7L_.js → Google-BFAJ84CT-legacy-icqMuARz.js} +2 -2
  12. package/dist/assets/{Google-BFAJ84CT-legacy-BIJPK7L_.js.map → Google-BFAJ84CT-legacy-icqMuARz.js.map} +1 -1
  13. package/dist/assets/{Google-BS41ufih-zXmATQnv.js → Google-BS41ufih-DeXL4cPn.js} +2 -2
  14. package/dist/assets/{Google-BS41ufih-zXmATQnv.js.map → Google-BS41ufih-DeXL4cPn.js.map} +1 -1
  15. package/dist/assets/{Google-BS41ufih-legacy-D91BBh4s.js → Google-BS41ufih-legacy-BagkUdWw.js} +2 -2
  16. package/dist/assets/{Google-BS41ufih-legacy-D91BBh4s.js.map → Google-BS41ufih-legacy-BagkUdWw.js.map} +1 -1
  17. package/dist/assets/{Google-CH7a2yx--DaVXU-1v.js → Google-CH7a2yx--DvmmS5lw.js} +2 -2
  18. package/dist/assets/{Google-CH7a2yx--DaVXU-1v.js.map → Google-CH7a2yx--DvmmS5lw.js.map} +1 -1
  19. package/dist/assets/{Google-CH7a2yx--legacy-Dbvi3bWO.js → Google-CH7a2yx--legacy-ChrIuLFe.js} +2 -2
  20. package/dist/assets/{Google-CH7a2yx--legacy-Dbvi3bWO.js.map → Google-CH7a2yx--legacy-ChrIuLFe.js.map} +1 -1
  21. package/dist/assets/{Google-CXGCn-oJ-Dyisr8JK.js → Google-CXGCn-oJ-CTii_TpL.js} +2 -2
  22. package/dist/assets/{Google-CXGCn-oJ-Dyisr8JK.js.map → Google-CXGCn-oJ-CTii_TpL.js.map} +1 -1
  23. package/dist/assets/{Google-CXGCn-oJ-legacy-BtbiEPlt.js → Google-CXGCn-oJ-legacy-CYOKd313.js} +2 -2
  24. package/dist/assets/{Google-CXGCn-oJ-legacy-BtbiEPlt.js.map → Google-CXGCn-oJ-legacy-CYOKd313.js.map} +1 -1
  25. package/dist/assets/{Google-DbOLrYJn-bNspfTBA.js → Google-DbOLrYJn-C39ssNjX.js} +2 -2
  26. package/dist/assets/{Google-DbOLrYJn-bNspfTBA.js.map → Google-DbOLrYJn-C39ssNjX.js.map} +1 -1
  27. package/dist/assets/{Google-DbOLrYJn-legacy-CBq3WiTI.js → Google-DbOLrYJn-legacy-DjKQ1gPV.js} +2 -2
  28. package/dist/assets/{Google-DbOLrYJn-legacy-CBq3WiTI.js.map → Google-DbOLrYJn-legacy-DjKQ1gPV.js.map} +1 -1
  29. package/dist/assets/{GridGraph-Cr5umgYe.js → GridGraph-D_5nXRbr.js} +2 -2
  30. package/dist/assets/{GridGraph-Cr5umgYe.js.map → GridGraph-D_5nXRbr.js.map} +1 -1
  31. package/dist/assets/{GridGraph-legacy-Bw-ddPyz.js → GridGraph-legacy-DIK5KY7x.js} +2 -2
  32. package/dist/assets/{GridGraph-legacy-Bw-ddPyz.js.map → GridGraph-legacy-DIK5KY7x.js.map} +1 -1
  33. package/dist/assets/{LeadCapture-BjGyK4VZ.js → LeadCapture-ByvE_cwR.js} +2 -2
  34. package/dist/assets/{LeadCapture-BjGyK4VZ.js.map → LeadCapture-ByvE_cwR.js.map} +1 -1
  35. package/dist/assets/{LeadCapture-legacy-Bpvn2K-d.js → LeadCapture-legacy-CCtOgjF0.js} +2 -2
  36. package/dist/assets/{LeadCapture-legacy-Bpvn2K-d.js.map → LeadCapture-legacy-CCtOgjF0.js.map} +1 -1
  37. package/dist/assets/{LocalContent-CtIRSRFU.js → LocalContent-Bx_rkni1.js} +2 -2
  38. package/dist/assets/{LocalContent-CtIRSRFU.js.map → LocalContent-Bx_rkni1.js.map} +1 -1
  39. package/dist/assets/{LocalContent-legacy-BqQzEMvQ.js → LocalContent-legacy-C2f72kW4.js} +2 -2
  40. package/dist/assets/{LocalContent-legacy-BqQzEMvQ.js.map → LocalContent-legacy-C2f72kW4.js.map} +1 -1
  41. package/dist/assets/{LocalDemographics-BFmn0OGM.js → LocalDemographics-dEKbTT-b.js} +2 -2
  42. package/dist/assets/{LocalDemographics-BFmn0OGM.js.map → LocalDemographics-dEKbTT-b.js.map} +1 -1
  43. package/dist/assets/{LocalDemographics-legacy-Bickdn_f.js → LocalDemographics-legacy-DKB_XMkR.js} +2 -2
  44. package/dist/assets/{LocalDemographics-legacy-Bickdn_f.js.map → LocalDemographics-legacy-DKB_XMkR.js.map} +1 -1
  45. package/dist/assets/{Mapbox-CpLnA607-BpMp5bMb.js → Mapbox-CpLnA607-CTNQ4S3b.js} +2 -2
  46. package/dist/assets/{Mapbox-CpLnA607-BpMp5bMb.js.map → Mapbox-CpLnA607-CTNQ4S3b.js.map} +1 -1
  47. package/dist/assets/{Mapbox-CpLnA607-legacy-Ct_La6xb.js → Mapbox-CpLnA607-legacy-PHtCWTPT.js} +2 -2
  48. package/dist/assets/{Mapbox-CpLnA607-legacy-Ct_La6xb.js.map → Mapbox-CpLnA607-legacy-PHtCWTPT.js.map} +1 -1
  49. package/dist/assets/{Mapbox-DDJ1gHRb-DSi6CNii.js → Mapbox-DDJ1gHRb-cmFwgcV7.js} +2 -2
  50. package/dist/assets/{Mapbox-DDJ1gHRb-DSi6CNii.js.map → Mapbox-DDJ1gHRb-cmFwgcV7.js.map} +1 -1
  51. package/dist/assets/{Mapbox-DDJ1gHRb-legacy-BO872a9d.js → Mapbox-DDJ1gHRb-legacy-DBBIQclV.js} +2 -2
  52. package/dist/assets/{Mapbox-DDJ1gHRb-legacy-BO872a9d.js.map → Mapbox-DDJ1gHRb-legacy-DBBIQclV.js.map} +1 -1
  53. package/dist/assets/{Mapbox-DiD9etYJ-DO_qJvnI.js → Mapbox-DiD9etYJ-C7ThTgjG.js} +2 -2
  54. package/dist/assets/{Mapbox-DiD9etYJ-DO_qJvnI.js.map → Mapbox-DiD9etYJ-C7ThTgjG.js.map} +1 -1
  55. package/dist/assets/{Mapbox-DiD9etYJ-legacy-Cr1G3JpT.js → Mapbox-DiD9etYJ-legacy-P-YIHSlb.js} +2 -2
  56. package/dist/assets/{Mapbox-DiD9etYJ-legacy-Cr1G3JpT.js.map → Mapbox-DiD9etYJ-legacy-P-YIHSlb.js.map} +1 -1
  57. package/dist/assets/{Mapbox-DtZmt1D_-ChVjxP54.js → Mapbox-DtZmt1D_-JkbN3ti-.js} +2 -2
  58. package/dist/assets/{Mapbox-DtZmt1D_-ChVjxP54.js.map → Mapbox-DtZmt1D_-JkbN3ti-.js.map} +1 -1
  59. package/dist/assets/{Mapbox-DtZmt1D_-legacy-PBc3xcOu.js → Mapbox-DtZmt1D_-legacy-ZdY9d9o2.js} +2 -2
  60. package/dist/assets/{Mapbox-DtZmt1D_-legacy-PBc3xcOu.js.map → Mapbox-DtZmt1D_-legacy-ZdY9d9o2.js.map} +1 -1
  61. package/dist/assets/{Mapbox-u11C3LWs-Ds2ds_0a.js → Mapbox-u11C3LWs-C4v4a5a5.js} +2 -2
  62. package/dist/assets/{Mapbox-u11C3LWs-Ds2ds_0a.js.map → Mapbox-u11C3LWs-C4v4a5a5.js.map} +1 -1
  63. package/dist/assets/{Mapbox-u11C3LWs-legacy-i3-zdHJ-.js → Mapbox-u11C3LWs-legacy-Cw3Gjm0c.js} +2 -2
  64. package/dist/assets/{Mapbox-u11C3LWs-legacy-i3-zdHJ-.js.map → Mapbox-u11C3LWs-legacy-Cw3Gjm0c.js.map} +1 -1
  65. package/dist/assets/{Maptiler-C0oTROMk-QJLSJjxe.js → Maptiler-C0oTROMk-lYOF2Wk9.js} +2 -2
  66. package/dist/assets/{Maptiler-C0oTROMk-QJLSJjxe.js.map → Maptiler-C0oTROMk-lYOF2Wk9.js.map} +1 -1
  67. package/dist/assets/{Maptiler-C0oTROMk-legacy-BM5IZ27i.js → Maptiler-C0oTROMk-legacy-C2bFgO18.js} +2 -2
  68. package/dist/assets/{Maptiler-C0oTROMk-legacy-BM5IZ27i.js.map → Maptiler-C0oTROMk-legacy-C2bFgO18.js.map} +1 -1
  69. package/dist/assets/{Maptiler-DJScKW8p-EONT3zUZ.js → Maptiler-DJScKW8p-dGBWNPPe.js} +2 -2
  70. package/dist/assets/{Maptiler-DJScKW8p-EONT3zUZ.js.map → Maptiler-DJScKW8p-dGBWNPPe.js.map} +1 -1
  71. package/dist/assets/{Maptiler-DJScKW8p-legacy-DwBszJvC.js → Maptiler-DJScKW8p-legacy-DEAHzqw3.js} +2 -2
  72. package/dist/assets/{Maptiler-DJScKW8p-legacy-DwBszJvC.js.map → Maptiler-DJScKW8p-legacy-DEAHzqw3.js.map} +1 -1
  73. package/dist/assets/{Maptiler-DdeFS4iM-DoJr2i2p.js → Maptiler-DdeFS4iM-9nGWDCZV.js} +2 -2
  74. package/dist/assets/{Maptiler-DdeFS4iM-DoJr2i2p.js.map → Maptiler-DdeFS4iM-9nGWDCZV.js.map} +1 -1
  75. package/dist/assets/{Maptiler-DdeFS4iM-legacy-CIfkFW48.js → Maptiler-DdeFS4iM-legacy-eugMrWR1.js} +2 -2
  76. package/dist/assets/{Maptiler-DdeFS4iM-legacy-CIfkFW48.js.map → Maptiler-DdeFS4iM-legacy-eugMrWR1.js.map} +1 -1
  77. package/dist/assets/{Maptiler-DqeshLom-CNS1CS21.js → Maptiler-DqeshLom-_VzoCNhe.js} +2 -2
  78. package/dist/assets/{Maptiler-DqeshLom-CNS1CS21.js.map → Maptiler-DqeshLom-_VzoCNhe.js.map} +1 -1
  79. package/dist/assets/{Maptiler-DqeshLom-legacy-DHCLBw_P.js → Maptiler-DqeshLom-legacy-x09eT-9K.js} +2 -2
  80. package/dist/assets/{Maptiler-DqeshLom-legacy-DHCLBw_P.js.map → Maptiler-DqeshLom-legacy-x09eT-9K.js.map} +1 -1
  81. package/dist/assets/{Maptiler-YjlcPccn-legacy-mc-xJ6sE.js → Maptiler-YjlcPccn-legacy-zbSF03e3.js} +2 -2
  82. package/dist/assets/{Maptiler-YjlcPccn-legacy-mc-xJ6sE.js.map → Maptiler-YjlcPccn-legacy-zbSF03e3.js.map} +1 -1
  83. package/dist/assets/{Maptiler-YjlcPccn-w5aNtSyl.js → Maptiler-YjlcPccn-pGoR4MXd.js} +2 -2
  84. package/dist/assets/{Maptiler-YjlcPccn-w5aNtSyl.js.map → Maptiler-YjlcPccn-pGoR4MXd.js.map} +1 -1
  85. package/dist/assets/{MarkerIcon-Bc3X9WQk-Bz8OzTYu.js → MarkerIcon-Bc3X9WQk-BxM8U6s8.js} +2 -2
  86. package/dist/assets/{MarkerIcon-Bc3X9WQk-Bz8OzTYu.js.map → MarkerIcon-Bc3X9WQk-BxM8U6s8.js.map} +1 -1
  87. package/dist/assets/{MarkerIcon-Bc3X9WQk-legacy-BZgFV4d6.js → MarkerIcon-Bc3X9WQk-legacy-BPG3ibTy.js} +2 -2
  88. package/dist/assets/{MarkerIcon-Bc3X9WQk-legacy-BZgFV4d6.js.map → MarkerIcon-Bc3X9WQk-legacy-BPG3ibTy.js.map} +1 -1
  89. package/dist/assets/{NeighborhoodCard-FWoJ3NXB.js → NeighborhoodCard-DguoEKjE.js} +2 -2
  90. package/dist/assets/{NeighborhoodCard-FWoJ3NXB.js.map → NeighborhoodCard-DguoEKjE.js.map} +1 -1
  91. package/dist/assets/{NeighborhoodCard-legacy-CsOyv7pV.js → NeighborhoodCard-legacy-DuOHsLdd.js} +2 -2
  92. package/dist/assets/{NeighborhoodCard-legacy-CsOyv7pV.js.map → NeighborhoodCard-legacy-DuOHsLdd.js.map} +1 -1
  93. package/dist/assets/{NeighborhoodCharacteristics-legacy-DQfabpcd.js → NeighborhoodCharacteristics-legacy-DHWSsIs5.js} +2 -2
  94. package/dist/assets/{NeighborhoodCharacteristics-legacy-DQfabpcd.js.map → NeighborhoodCharacteristics-legacy-DHWSsIs5.js.map} +1 -1
  95. package/dist/assets/{NeighborhoodCharacteristics-IMUKTd6M.js → NeighborhoodCharacteristics-swFWnUUG.js} +2 -2
  96. package/dist/assets/{NeighborhoodCharacteristics-IMUKTd6M.js.map → NeighborhoodCharacteristics-swFWnUUG.js.map} +1 -1
  97. package/dist/assets/{NeighborhoodDemographics-vUaF1iTn.js → NeighborhoodDemographics-DtT9bsZo.js} +2 -2
  98. package/dist/assets/{NeighborhoodDemographics-vUaF1iTn.js.map → NeighborhoodDemographics-DtT9bsZo.js.map} +1 -1
  99. package/dist/assets/{NeighborhoodDemographics-legacy-D6t0Kv4-.js → NeighborhoodDemographics-legacy-NQXFBLhh.js} +2 -2
  100. package/dist/assets/{NeighborhoodDemographics-legacy-D6t0Kv4-.js.map → NeighborhoodDemographics-legacy-NQXFBLhh.js.map} +1 -1
  101. package/dist/assets/{NeighborhoodFeatured-C5Fv2qtl.js → NeighborhoodFeatured-Qgrk-zLT.js} +2 -2
  102. package/dist/assets/{NeighborhoodFeatured-C5Fv2qtl.js.map → NeighborhoodFeatured-Qgrk-zLT.js.map} +1 -1
  103. package/dist/assets/{NeighborhoodFeatured-legacy-BYS5qAuF.js → NeighborhoodFeatured-legacy-Ff-XTYMJ.js} +2 -2
  104. package/dist/assets/{NeighborhoodFeatured-legacy-BYS5qAuF.js.map → NeighborhoodFeatured-legacy-Ff-XTYMJ.js.map} +1 -1
  105. package/dist/assets/{NeighborhoodHero-FSOMvof3.js → NeighborhoodHero-N9_vfUTl.js} +2 -2
  106. package/dist/assets/{NeighborhoodHero-FSOMvof3.js.map → NeighborhoodHero-N9_vfUTl.js.map} +1 -1
  107. package/dist/assets/{NeighborhoodHero-legacy-EAqQgAwW.js → NeighborhoodHero-legacy-1xJDKtMD.js} +2 -2
  108. package/dist/assets/{NeighborhoodHero-legacy-EAqQgAwW.js.map → NeighborhoodHero-legacy-1xJDKtMD.js.map} +1 -1
  109. package/dist/assets/{NeighborhoodHighlights-BmsNsRGu.js → NeighborhoodHighlights-B1jGN8pN.js} +2 -2
  110. package/dist/assets/{NeighborhoodHighlights-BmsNsRGu.js.map → NeighborhoodHighlights-B1jGN8pN.js.map} +1 -1
  111. package/dist/assets/{NeighborhoodHighlights-legacy-C-UYzDk9.js → NeighborhoodHighlights-legacy-DB22qMGb.js} +2 -2
  112. package/dist/assets/{NeighborhoodHighlights-legacy-C-UYzDk9.js.map → NeighborhoodHighlights-legacy-DB22qMGb.js.map} +1 -1
  113. package/dist/assets/{NeighborhoodMap-B5-f4I8E.js → NeighborhoodMap-COSmBDR7.js} +2 -2
  114. package/dist/assets/{NeighborhoodMap-B5-f4I8E.js.map → NeighborhoodMap-COSmBDR7.js.map} +1 -1
  115. package/dist/assets/{NeighborhoodMap-legacy-Dk9-6R0k.js → NeighborhoodMap-legacy-BX8BFh91.js} +2 -2
  116. package/dist/assets/{NeighborhoodMap-legacy-Dk9-6R0k.js.map → NeighborhoodMap-legacy-BX8BFh91.js.map} +1 -1
  117. package/dist/assets/{NeighborhoodMarketTrends-B2d7NP7w.js → NeighborhoodMarketTrends-CKNzcykE.js} +3 -3
  118. package/dist/assets/{NeighborhoodMarketTrends-B2d7NP7w.js.map → NeighborhoodMarketTrends-CKNzcykE.js.map} +1 -1
  119. package/dist/assets/{NeighborhoodMarketTrends-legacy-BfguWAMF.js → NeighborhoodMarketTrends-legacy-X-hQmITw.js} +2 -2
  120. package/dist/assets/{NeighborhoodMarketTrends-legacy-BfguWAMF.js.map → NeighborhoodMarketTrends-legacy-X-hQmITw.js.map} +1 -1
  121. package/dist/assets/NeighborhoodMatch-4EAxQNMv.js +2 -0
  122. package/dist/assets/NeighborhoodMatch-4EAxQNMv.js.map +1 -0
  123. package/dist/assets/NeighborhoodMatch-legacy-CnLnRi6N.js +2 -0
  124. package/dist/assets/NeighborhoodMatch-legacy-CnLnRi6N.js.map +1 -0
  125. package/dist/assets/{NeighborhoodPropertyValueDrivers-fFLDx_37.js → NeighborhoodPropertyValueDrivers-a-M1Q4pU.js} +2 -2
  126. package/dist/assets/{NeighborhoodPropertyValueDrivers-fFLDx_37.js.map → NeighborhoodPropertyValueDrivers-a-M1Q4pU.js.map} +1 -1
  127. package/dist/assets/{NeighborhoodPropertyValueDrivers-legacy-CdA-gc48.js → NeighborhoodPropertyValueDrivers-legacy-Dt1NiytX.js} +2 -2
  128. package/dist/assets/{NeighborhoodPropertyValueDrivers-legacy-CdA-gc48.js.map → NeighborhoodPropertyValueDrivers-legacy-Dt1NiytX.js.map} +1 -1
  129. package/dist/assets/{NeighborhoodSchools-DbxCpQpr.js → NeighborhoodSchools-C6H76bMo.js} +2 -2
  130. package/dist/assets/{NeighborhoodSchools-DbxCpQpr.js.map → NeighborhoodSchools-C6H76bMo.js.map} +1 -1
  131. package/dist/assets/{NeighborhoodSchools-legacy-C4G1cD1e.js → NeighborhoodSchools-legacy-BQnb0ApI.js} +2 -2
  132. package/dist/assets/{NeighborhoodSchools-legacy-C4G1cD1e.js.map → NeighborhoodSchools-legacy-BQnb0ApI.js.map} +1 -1
  133. package/dist/assets/{NeighborhoodShowcase-DAlowEQ9.js → NeighborhoodShowcase-BvcwWCbY.js} +2 -2
  134. package/dist/assets/{NeighborhoodShowcase-DAlowEQ9.js.map → NeighborhoodShowcase-BvcwWCbY.js.map} +1 -1
  135. package/dist/assets/{NeighborhoodShowcase-legacy-C4qbNFWo.js → NeighborhoodShowcase-legacy-DKtBhoOg.js} +2 -2
  136. package/dist/assets/{NeighborhoodShowcase-legacy-C4qbNFWo.js.map → NeighborhoodShowcase-legacy-DKtBhoOg.js.map} +1 -1
  137. package/dist/assets/{NoDataContent-BD9seGdp.js → NoDataContent-L3RQBjYO.js} +2 -2
  138. package/dist/assets/{NoDataContent-BD9seGdp.js.map → NoDataContent-L3RQBjYO.js.map} +1 -1
  139. package/dist/assets/{NoDataContent-legacy-wYz6Ypns.js → NoDataContent-legacy-htuYFHPP.js} +2 -2
  140. package/dist/assets/{NoDataContent-legacy-wYz6Ypns.js.map → NoDataContent-legacy-htuYFHPP.js.map} +1 -1
  141. package/dist/assets/{ResizeWrapper-DNPZyJTY.js → ResizeWrapper-DsII2sr3.js} +2 -2
  142. package/dist/assets/{ResizeWrapper-DNPZyJTY.js.map → ResizeWrapper-DsII2sr3.js.map} +1 -1
  143. package/dist/assets/{ResizeWrapper-legacy-kyii0zxE.js → ResizeWrapper-legacy-CQYl-kWO.js} +2 -2
  144. package/dist/assets/{ResizeWrapper-legacy-kyii0zxE.js.map → ResizeWrapper-legacy-CQYl-kWO.js.map} +1 -1
  145. package/dist/assets/{ScoreCardList-tG64vpl9.js → ScoreCardList-DOXfdZHL.js} +2 -2
  146. package/dist/assets/{ScoreCardList-tG64vpl9.js.map → ScoreCardList-DOXfdZHL.js.map} +1 -1
  147. package/dist/assets/{ScoreCardList-legacy-CTX9QRK_.js → ScoreCardList-legacy-C1p0u4Jv.js} +2 -2
  148. package/dist/assets/{ScoreCardList-legacy-CTX9QRK_.js.map → ScoreCardList-legacy-C1p0u4Jv.js.map} +1 -1
  149. package/dist/assets/{ScoreIcon-DPxPo3RN.js → ScoreIcon-ClbM-KxK.js} +2 -2
  150. package/dist/assets/{ScoreIcon-DPxPo3RN.js.map → ScoreIcon-ClbM-KxK.js.map} +1 -1
  151. package/dist/assets/{ScoreIcon-legacy-C9f1CNKk.js → ScoreIcon-legacy-C40-WgQE.js} +2 -2
  152. package/dist/assets/{ScoreIcon-legacy-C9f1CNKk.js.map → ScoreIcon-legacy-C40-WgQE.js.map} +1 -1
  153. package/dist/assets/{Testing--n5Ro0Ek-B6lwyCjA.js → Testing--n5Ro0Ek-CCFuQMCV.js} +2 -2
  154. package/dist/assets/{Testing--n5Ro0Ek-B6lwyCjA.js.map → Testing--n5Ro0Ek-CCFuQMCV.js.map} +1 -1
  155. package/dist/assets/{Testing--n5Ro0Ek-legacy-CDNWBcJi.js → Testing--n5Ro0Ek-legacy-dFMaT5kB.js} +2 -2
  156. package/dist/assets/{Testing--n5Ro0Ek-legacy-CDNWBcJi.js.map → Testing--n5Ro0Ek-legacy-dFMaT5kB.js.map} +1 -1
  157. package/dist/assets/{Testing-BNJwzbRK-CBBtUTXx.js → Testing-BNJwzbRK-Cyce0IHo.js} +2 -2
  158. package/dist/assets/{Testing-BNJwzbRK-CBBtUTXx.js.map → Testing-BNJwzbRK-Cyce0IHo.js.map} +1 -1
  159. package/dist/assets/{Testing-BNJwzbRK-legacy-DEOJSPmK.js → Testing-BNJwzbRK-legacy-C3gm4Yat.js} +2 -2
  160. package/dist/assets/{Testing-BNJwzbRK-legacy-DEOJSPmK.js.map → Testing-BNJwzbRK-legacy-C3gm4Yat.js.map} +1 -1
  161. package/dist/assets/{Testing-CoRLhmNT-ElHVu9up.js → Testing-CoRLhmNT-BV3Up19Q.js} +2 -2
  162. package/dist/assets/{Testing-CoRLhmNT-ElHVu9up.js.map → Testing-CoRLhmNT-BV3Up19Q.js.map} +1 -1
  163. package/dist/assets/{Testing-CoRLhmNT-legacy-BFA8t27q.js → Testing-CoRLhmNT-legacy-Brn-mYV8.js} +2 -2
  164. package/dist/assets/{Testing-CoRLhmNT-legacy-BFA8t27q.js.map → Testing-CoRLhmNT-legacy-Brn-mYV8.js.map} +1 -1
  165. package/dist/assets/{Testing-DGUeGxdc-IddHpV4N.js → Testing-DGUeGxdc-DIRdMZMg.js} +2 -2
  166. package/dist/assets/{Testing-DGUeGxdc-IddHpV4N.js.map → Testing-DGUeGxdc-DIRdMZMg.js.map} +1 -1
  167. package/dist/assets/{Testing-DGUeGxdc-legacy-LgUhipo8.js → Testing-DGUeGxdc-legacy-D4Edg55G.js} +2 -2
  168. package/dist/assets/{Testing-DGUeGxdc-legacy-LgUhipo8.js.map → Testing-DGUeGxdc-legacy-D4Edg55G.js.map} +1 -1
  169. package/dist/assets/{Testing-DzWAcbhL-BeZe8xsa.js → Testing-DzWAcbhL-CTDL4sBf.js} +2 -2
  170. package/dist/assets/{Testing-DzWAcbhL-BeZe8xsa.js.map → Testing-DzWAcbhL-CTDL4sBf.js.map} +1 -1
  171. package/dist/assets/{Testing-DzWAcbhL-legacy-Nk2Ixurx.js → Testing-DzWAcbhL-legacy-BQIPFes3.js} +2 -2
  172. package/dist/assets/{Testing-DzWAcbhL-legacy-Nk2Ixurx.js.map → Testing-DzWAcbhL-legacy-BQIPFes3.js.map} +1 -1
  173. package/dist/assets/{TitleHeader-5ojydaRa.js → TitleHeader-DqGOSPFs.js} +2 -2
  174. package/dist/assets/{TitleHeader-5ojydaRa.js.map → TitleHeader-DqGOSPFs.js.map} +1 -1
  175. package/dist/assets/{TitleHeader-legacy-D0Ib7gN2.js → TitleHeader-legacy-CiV6yDcO.js} +2 -2
  176. package/dist/assets/{TitleHeader-legacy-D0Ib7gN2.js.map → TitleHeader-legacy-CiV6yDcO.js.map} +1 -1
  177. package/dist/assets/{Trans-D2_Q254o.js → Trans-BH-Ap2f3.js} +2 -2
  178. package/dist/assets/{Trans-D2_Q254o.js.map → Trans-BH-Ap2f3.js.map} +1 -1
  179. package/dist/assets/{Trans-legacy-BAgPyV83.js → Trans-legacy-BLj5eK3E.js} +2 -2
  180. package/dist/assets/{Trans-legacy-BAgPyV83.js.map → Trans-legacy-BLj5eK3E.js.map} +1 -1
  181. package/dist/assets/{ValidateOptions-BaBybKDR.js → ValidateOptions-CQ5HKcbd.js} +2 -2
  182. package/dist/assets/{ValidateOptions-BaBybKDR.js.map → ValidateOptions-CQ5HKcbd.js.map} +1 -1
  183. package/dist/assets/{ValidateOptions-legacy-DuKiUloO.js → ValidateOptions-legacy-BW3e0VOl.js} +2 -2
  184. package/dist/assets/{ValidateOptions-legacy-DuKiUloO.js.map → ValidateOptions-legacy-BW3e0VOl.js.map} +1 -1
  185. package/dist/assets/{dist-DTMzW7OW.js → dist-CyQWBpro.js} +2 -2
  186. package/dist/assets/{dist-DTMzW7OW.js.map → dist-CyQWBpro.js.map} +1 -1
  187. package/dist/assets/{dist-legacy-CUwprB8U.js → dist-legacy-Do4HUZtw.js} +2 -2
  188. package/dist/assets/{dist-legacy-CUwprB8U.js.map → dist-legacy-Do4HUZtw.js.map} +1 -1
  189. package/dist/assets/{getMapProviderConfig-CTtvNY7U.js → getMapProviderConfig-B6oi4_Wy.js} +3 -3
  190. package/dist/assets/{getMapProviderConfig-CTtvNY7U.js.map → getMapProviderConfig-B6oi4_Wy.js.map} +1 -1
  191. package/dist/assets/{getMapProviderConfig-legacy-BXjNKbNv.js → getMapProviderConfig-legacy-B6YHbXHW.js} +2 -2
  192. package/dist/assets/{getMapProviderConfig-legacy-BXjNKbNv.js.map → getMapProviderConfig-legacy-B6YHbXHW.js.map} +1 -1
  193. package/dist/assets/{index-gJBkt-Qb.js → index-D7pa5JMt.js} +3 -3
  194. package/dist/assets/{index-gJBkt-Qb.js.map → index-D7pa5JMt.js.map} +1 -1
  195. package/dist/assets/{index-legacy-BDnJ2iXf.js → index-legacy-DFOP_K7X.js} +2 -2
  196. package/dist/assets/{index-legacy-BDnJ2iXf.js.map → index-legacy-DFOP_K7X.js.map} +1 -1
  197. package/dist/assets/{index.es-Ddc76n2x.js → index.es-DkWtCun6.js} +2 -2
  198. package/dist/assets/{index.es-Ddc76n2x.js.map → index.es-DkWtCun6.js.map} +1 -1
  199. package/dist/assets/{index.es-legacy-fFGkV_7M.js → index.es-legacy-_IASdgOo.js} +2 -2
  200. package/dist/assets/{index.es-legacy-fFGkV_7M.js.map → index.es-legacy-_IASdgOo.js.map} +1 -1
  201. package/dist/assets/{mapbox-jb8Zev6T-UhbWjCmg.js → mapbox-jb8Zev6T-DgbiJ6QK.js} +2 -2
  202. package/dist/assets/{mapbox-jb8Zev6T-UhbWjCmg.js.map → mapbox-jb8Zev6T-DgbiJ6QK.js.map} +1 -1
  203. package/dist/assets/{mapbox-jb8Zev6T-legacy-B472oUZE.js → mapbox-jb8Zev6T-legacy-CitlGik8.js} +2 -2
  204. package/dist/assets/{mapbox-jb8Zev6T-legacy-B472oUZE.js.map → mapbox-jb8Zev6T-legacy-CitlGik8.js.map} +1 -1
  205. package/dist/assets/{maplibre-CUYkxr-D-DpvGdVLf.js → maplibre-CUYkxr-D-DTxN_nUg.js} +2 -2
  206. package/dist/assets/{maplibre-CUYkxr-D-DpvGdVLf.js.map → maplibre-CUYkxr-D-DTxN_nUg.js.map} +1 -1
  207. package/dist/assets/{maplibre-CUYkxr-D-legacy-EIfXGcqZ.js → maplibre-CUYkxr-D-legacy-C7pXY9rP.js} +2 -2
  208. package/dist/assets/{maplibre-CUYkxr-D-legacy-EIfXGcqZ.js.map → maplibre-CUYkxr-D-legacy-C7pXY9rP.js.map} +1 -1
  209. package/dist/assets/neighborhood-fallback-BnMMRTVG.js.map +1 -1
  210. package/dist/assets/{sdks-DiTZmVof.js → sdks-BegBTjcA.js} +2 -2
  211. package/dist/assets/{sdks-DiTZmVof.js.map → sdks-BegBTjcA.js.map} +1 -1
  212. package/dist/assets/{sdks-legacy-7f9oMCVL.js → sdks-legacy--eOW0Jjh.js} +2 -2
  213. package/dist/assets/{sdks-legacy-7f9oMCVL.js.map → sdks-legacy--eOW0Jjh.js.map} +1 -1
  214. package/dist/assets/{useDemographicsData-CCsD3e31.js → useDemographicsData-DMi8BKmT.js} +2 -2
  215. package/dist/assets/{useDemographicsData-CCsD3e31.js.map → useDemographicsData-DMi8BKmT.js.map} +1 -1
  216. package/dist/assets/{useDemographicsData-legacy-7DGDHXbP.js → useDemographicsData-legacy-BE2q-Zuf.js} +2 -2
  217. package/dist/assets/{useDemographicsData-legacy-7DGDHXbP.js.map → useDemographicsData-legacy-BE2q-Zuf.js.map} +1 -1
  218. package/dist/assets/{useGeographies-legacy-BxY4t3js.js → useGeographies-legacy-2Rn4r_5I.js} +2 -2
  219. package/dist/assets/{useGeographies-legacy-BxY4t3js.js.map → useGeographies-legacy-2Rn4r_5I.js.map} +1 -1
  220. package/dist/assets/{useGeographies-C7JmBOUL.js → useGeographies-v6lFthBq.js} +2 -2
  221. package/dist/assets/{useGeographies-C7JmBOUL.js.map → useGeographies-v6lFthBq.js.map} +1 -1
  222. package/dist/assets/{useIsMobile-DfO6FoJm.js → useIsMobile-BmD8fX_q.js} +2 -2
  223. package/dist/assets/{useIsMobile-DfO6FoJm.js.map → useIsMobile-BmD8fX_q.js.map} +1 -1
  224. package/dist/assets/{useIsMobile-legacy-Co8_DLOU.js → useIsMobile-legacy-DRqHydcz.js} +2 -2
  225. package/dist/assets/{useIsMobile-legacy-Co8_DLOU.js.map → useIsMobile-legacy-DRqHydcz.js.map} +1 -1
  226. package/dist/assets/{useLocation-DuCJPssr.js → useLocation-Buw1Dlui.js} +2 -2
  227. package/dist/assets/{useLocation-DuCJPssr.js.map → useLocation-Buw1Dlui.js.map} +1 -1
  228. package/dist/assets/{useLocation-legacy-CKnlGTXU.js → useLocation-legacy-BzRFytv3.js} +2 -2
  229. package/dist/assets/{useLocation-legacy-CKnlGTXU.js.map → useLocation-legacy-BzRFytv3.js.map} +1 -1
  230. package/dist/assets/{useProfiles-CDo6zc1G.js → useProfiles-DPbhy0mb.js} +2 -2
  231. package/dist/assets/{useProfiles-CDo6zc1G.js.map → useProfiles-DPbhy0mb.js.map} +1 -1
  232. package/dist/assets/{useProfiles-legacy-mWNv-IhU.js → useProfiles-legacy-Pojsnui2.js} +2 -2
  233. package/dist/assets/{useProfiles-legacy-mWNv-IhU.js.map → useProfiles-legacy-Pojsnui2.js.map} +1 -1
  234. package/dist/assets/{useSchools-CuwN6h-g.js → useSchools-DTW8fyNA.js} +2 -2
  235. package/dist/assets/{useSchools-CuwN6h-g.js.map → useSchools-DTW8fyNA.js.map} +1 -1
  236. package/dist/assets/{useSchools-legacy-BOF_PiIs.js → useSchools-legacy-LQ-kLFVi.js} +2 -2
  237. package/dist/assets/{useSchools-legacy-BOF_PiIs.js.map → useSchools-legacy-LQ-kLFVi.js.map} +1 -1
  238. package/dist/assets/{useScores-legacy-CE8FthO2.js → useScores-legacy-xhJIrF2R.js} +2 -2
  239. package/dist/assets/{useScores-legacy-CE8FthO2.js.map → useScores-legacy-xhJIrF2R.js.map} +1 -1
  240. package/dist/assets/{useScores-jyLCcG9E.js → useScores-qhKbxnaT.js} +2 -2
  241. package/dist/assets/{useScores-jyLCcG9E.js.map → useScores-qhKbxnaT.js.map} +1 -1
  242. package/dist/index.html +2 -2
  243. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Card/index.d.ts.map +1 -1
  244. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Card/index.js +2 -2
  245. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Card/index.js.map +1 -1
  246. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Card/index.test.d.ts +2 -0
  247. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Card/index.test.d.ts.map +1 -0
  248. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Card/index.test.js +95 -0
  249. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Card/index.test.js.map +1 -0
  250. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.d.ts +1 -3
  251. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.d.ts.map +1 -1
  252. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.js +15 -1
  253. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.js.map +1 -1
  254. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.test.d.ts +2 -0
  255. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.test.d.ts.map +1 -0
  256. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.test.js +15 -0
  257. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/Title/index.test.js.map +1 -0
  258. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/index.d.ts.map +1 -1
  259. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/index.js +1 -1
  260. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/index.js.map +1 -1
  261. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/index.test.d.ts +2 -0
  262. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/index.test.d.ts.map +1 -0
  263. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/index.test.js +20 -0
  264. package/dist/types/sdks/NeighborhoodMatch/components/CardList/Root/index.test.js.map +1 -0
  265. package/dist/types/sdks/NeighborhoodMatch/components/Content/index.test.d.ts +2 -0
  266. package/dist/types/sdks/NeighborhoodMatch/components/Content/index.test.d.ts.map +1 -0
  267. package/dist/types/sdks/NeighborhoodMatch/components/Content/index.test.js +108 -0
  268. package/dist/types/sdks/NeighborhoodMatch/components/Content/index.test.js.map +1 -0
  269. package/dist/types/sdks/NeighborhoodMatch/components/Description/index.d.ts.map +1 -1
  270. package/dist/types/sdks/NeighborhoodMatch/components/Description/index.js +1 -1
  271. package/dist/types/sdks/NeighborhoodMatch/components/Description/index.js.map +1 -1
  272. package/dist/types/sdks/NeighborhoodMatch/components/Description/index.test.d.ts +2 -0
  273. package/dist/types/sdks/NeighborhoodMatch/components/Description/index.test.d.ts.map +1 -0
  274. package/dist/types/sdks/NeighborhoodMatch/components/Description/index.test.js +28 -0
  275. package/dist/types/sdks/NeighborhoodMatch/components/Description/index.test.js.map +1 -0
  276. package/dist/types/sdks/NeighborhoodMatch/components/Neighborhoods/index.d.ts.map +1 -1
  277. package/dist/types/sdks/NeighborhoodMatch/components/Neighborhoods/index.js +1 -1
  278. package/dist/types/sdks/NeighborhoodMatch/components/Neighborhoods/index.js.map +1 -1
  279. package/dist/types/sdks/NeighborhoodMatch/components/Neighborhoods/index.test.d.ts +2 -0
  280. package/dist/types/sdks/NeighborhoodMatch/components/Neighborhoods/index.test.d.ts.map +1 -0
  281. package/dist/types/sdks/NeighborhoodMatch/components/Neighborhoods/index.test.js +158 -0
  282. package/dist/types/sdks/NeighborhoodMatch/components/Neighborhoods/index.test.js.map +1 -0
  283. package/dist/types/sdks/NeighborhoodMatch/components/PaginationButton/index.d.ts.map +1 -1
  284. package/dist/types/sdks/NeighborhoodMatch/components/PaginationButton/index.js +1 -1
  285. package/dist/types/sdks/NeighborhoodMatch/components/PaginationButton/index.js.map +1 -1
  286. package/dist/types/sdks/NeighborhoodMatch/components/PaginationButton/index.test.d.ts +2 -0
  287. package/dist/types/sdks/NeighborhoodMatch/components/PaginationButton/index.test.d.ts.map +1 -0
  288. package/dist/types/sdks/NeighborhoodMatch/components/PaginationButton/index.test.js +124 -0
  289. package/dist/types/sdks/NeighborhoodMatch/components/PaginationButton/index.test.js.map +1 -0
  290. package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/addAffordabilityComparisonToNeighborhood/index.test.d.ts +2 -0
  291. package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/addAffordabilityComparisonToNeighborhood/index.test.d.ts.map +1 -0
  292. package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/addAffordabilityComparisonToNeighborhood/index.test.js +35 -0
  293. package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/addAffordabilityComparisonToNeighborhood/index.test.js.map +1 -0
  294. package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/index.test.d.ts +2 -0
  295. package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/index.test.d.ts.map +1 -0
  296. package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/index.test.js +142 -0
  297. package/dist/types/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/index.test.js.map +1 -0
  298. package/package.json +1 -1
  299. package/dist/assets/NeighborhoodMatch-BRUuPLjm.js +0 -2
  300. package/dist/assets/NeighborhoodMatch-BRUuPLjm.js.map +0 -1
  301. package/dist/assets/NeighborhoodMatch-legacy-XLVTxdi2.js +0 -2
  302. package/dist/assets/NeighborhoodMatch-legacy-XLVTxdi2.js.map +0 -1
@@ -0,0 +1,108 @@
1
+ import React from "react";
2
+ import { describe, beforeEach, it, expect, vi } from "vitest";
3
+ import { render } from "@testing-library/react";
4
+ import { Content } from "./index";
5
+ vi.mock("react-i18next", () => ({
6
+ useTranslation: () => ({
7
+ t: (key, options) => options && typeof options.context !== "undefined"
8
+ ? `${key}:${options.context}`
9
+ : key,
10
+ }),
11
+ }));
12
+ const { useNeighborhoodMatchMock } = vi.hoisted(() => ({
13
+ useNeighborhoodMatchMock: vi.fn(),
14
+ }));
15
+ vi.mock("~/sdks/NeighborhoodMatch/context", () => ({
16
+ useNeighborhoodMatch: useNeighborhoodMatchMock,
17
+ }));
18
+ vi.mock("~/components/TitleHeader", () => ({
19
+ TitleHeader: ({ title }) => (React.createElement("div", { "data-testid": "title-header", "data-value": String(title) }, String(title))),
20
+ }));
21
+ vi.mock("~/components/Attribution", () => ({
22
+ Attribution: ({ locale, isHidden, sdkName, }) => (React.createElement("div", { "data-testid": "attribution", "data-locale": locale, "data-hidden": String(isHidden), "data-sdk-name": sdkName })),
23
+ }));
24
+ vi.mock("../Description", () => ({
25
+ Description: ({ neighborhoodName, isLoading, }) => (React.createElement("div", { "data-testid": "description", "data-name": neighborhoodName, "data-loading": String(isLoading) })),
26
+ }));
27
+ vi.mock("../Neighborhoods", () => ({
28
+ Neighborhoods: () => React.createElement("div", { "data-testid": "neighborhoods" }),
29
+ }));
30
+ vi.mock("../PaginationButton", () => ({
31
+ PaginationButton: () => React.createElement("div", { "data-testid": "pagination" }),
32
+ }));
33
+ describe("Content", () => {
34
+ beforeEach(() => {
35
+ vi.clearAllMocks();
36
+ useNeighborhoodMatchMock.mockReturnValue({
37
+ title: undefined,
38
+ locale: "en",
39
+ isLoading: false,
40
+ level: 10,
41
+ neighborhoodName: undefined,
42
+ hideAttribution: false,
43
+ });
44
+ });
45
+ it("passes a string title straight through to the title header", () => {
46
+ useNeighborhoodMatchMock.mockReturnValue({
47
+ title: "Custom Title",
48
+ locale: "en",
49
+ isLoading: false,
50
+ level: 10,
51
+ });
52
+ const { getByTestId } = render(React.createElement(Content, null));
53
+ expect(getByTestId("title-header")).toHaveAttribute("data-value", "Custom Title");
54
+ });
55
+ it("passes a false title straight through to the title header", () => {
56
+ useNeighborhoodMatchMock.mockReturnValue({
57
+ title: false,
58
+ locale: "en",
59
+ isLoading: false,
60
+ level: 10,
61
+ });
62
+ const { getByTestId } = render(React.createElement(Content, null));
63
+ expect(getByTestId("title-header")).toHaveAttribute("data-value", "false");
64
+ });
65
+ it("falls back to the translated title with the geography level as context", () => {
66
+ useNeighborhoodMatchMock.mockReturnValue({
67
+ title: undefined,
68
+ locale: "en",
69
+ isLoading: false,
70
+ level: 30,
71
+ });
72
+ const { getByTestId } = render(React.createElement(Content, null));
73
+ expect(getByTestId("title-header")).toHaveAttribute("data-value", "title:30");
74
+ });
75
+ it("forwards the neighborhood name and loading state to the description", () => {
76
+ useNeighborhoodMatchMock.mockReturnValue({
77
+ title: "Title",
78
+ locale: "en",
79
+ isLoading: true,
80
+ level: 10,
81
+ neighborhoodName: "Downtown",
82
+ });
83
+ const { getByTestId } = render(React.createElement(Content, null));
84
+ const description = getByTestId("description");
85
+ expect(description).toHaveAttribute("data-name", "Downtown");
86
+ expect(description).toHaveAttribute("data-loading", "true");
87
+ });
88
+ it("forwards the locale and hidden flag to the attribution", () => {
89
+ useNeighborhoodMatchMock.mockReturnValue({
90
+ title: "Title",
91
+ locale: "fr",
92
+ isLoading: false,
93
+ level: 10,
94
+ hideAttribution: true,
95
+ });
96
+ const { getByTestId } = render(React.createElement(Content, null));
97
+ const attribution = getByTestId("attribution");
98
+ expect(attribution).toHaveAttribute("data-locale", "fr");
99
+ expect(attribution).toHaveAttribute("data-hidden", "true");
100
+ expect(attribution).toHaveAttribute("data-sdk-name", "neighborhood-match");
101
+ });
102
+ it("renders the neighborhoods list and pagination button", () => {
103
+ const { getByTestId } = render(React.createElement(Content, null));
104
+ expect(getByTestId("neighborhoods")).toBeInTheDocument();
105
+ expect(getByTestId("pagination")).toBeInTheDocument();
106
+ });
107
+ });
108
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Content/index.test.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Description/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,eAAO,MAAM,WAAW,GAAI,kCAGzB;IACD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,sBAWA,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Description/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,eAAO,MAAM,WAAW,GAAI,kCAGzB;IACD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,sBAeA,CAAC"}
@@ -3,7 +3,7 @@ import { useTranslation } from "react-i18next";
3
3
  import * as styles from "./styles";
4
4
  export const Description = ({ isLoading = false, neighborhoodName, }) => {
5
5
  const { t } = useTranslation("neighborhoodMatch");
6
- return (React.createElement("p", { className: styles.text, "data-is-loading": isLoading }, t(neighborhoodName ? "descriptionWithNeighborhood" : "description", {
6
+ return (React.createElement("p", { className: styles.text, "data-testid": "neighborhood-match-description", "data-is-loading": isLoading }, t(neighborhoodName ? "descriptionWithNeighborhood" : "description", {
7
7
  neighborhoodName,
8
8
  interpolation: { escapeValue: false },
9
9
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Description/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,SAAS,GAAG,KAAK,EACjB,gBAAgB,GAIjB,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAElD,OAAO,CACL,2BAAG,SAAS,EAAE,MAAM,CAAC,IAAI,qBAAmB,SAAS,IAClD,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,aAAa,EAAE;QACnE,gBAAgB;QAChB,aAAa,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;KACtC,CAAC,CACA,CACL,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Description/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,SAAS,GAAG,KAAK,EACjB,gBAAgB,GAIjB,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAElD,OAAO,CACL,2BACE,SAAS,EAAE,MAAM,CAAC,IAAI,iBACV,gCAAgC,qBAC3B,SAAS,IAEzB,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,aAAa,EAAE;QACnE,gBAAgB;QAChB,aAAa,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;KACtC,CAAC,CACA,CACL,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Description/index.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import React from "react";
2
+ import { describe, it, expect, vi } from "vitest";
3
+ import { render } from "@testing-library/react";
4
+ import { Description } from "./index";
5
+ vi.mock("react-i18next", () => ({
6
+ useTranslation: () => ({
7
+ t: (key) => key,
8
+ }),
9
+ }));
10
+ describe("Description", () => {
11
+ it("uses the neighborhood-specific translation key when a name is provided", () => {
12
+ const { getByTestId } = render(React.createElement(Description, { neighborhoodName: "Downtown" }));
13
+ expect(getByTestId("neighborhood-match-description")).toHaveTextContent("descriptionWithNeighborhood");
14
+ });
15
+ it("uses the generic translation key when no name is provided", () => {
16
+ const { getByTestId } = render(React.createElement(Description, null));
17
+ expect(getByTestId("neighborhood-match-description")).toHaveTextContent("description");
18
+ });
19
+ it("is not marked as loading by default", () => {
20
+ const { getByTestId } = render(React.createElement(Description, null));
21
+ expect(getByTestId("neighborhood-match-description")).toHaveAttribute("data-is-loading", "false");
22
+ });
23
+ it("is marked as loading when isLoading is true", () => {
24
+ const { getByTestId } = render(React.createElement(Description, { isLoading: true }));
25
+ expect(getByTestId("neighborhood-match-description")).toHaveAttribute("data-is-loading", "true");
26
+ });
27
+ });
28
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Description/index.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9B,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;QACrB,CAAC,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;KACxB,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAC,WAAW,IAAC,gBAAgB,EAAC,UAAU,GAAG,CAAC,CAAC;QAE5E,MAAM,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC,CAAC,iBAAiB,CACrE,6BAA6B,CAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAC,WAAW,OAAG,CAAC,CAAC;QAEhD,MAAM,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC,CAAC,iBAAiB,CACrE,aAAa,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAC,WAAW,OAAG,CAAC,CAAC;QAEhD,MAAM,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC,CAAC,eAAe,CACnE,iBAAiB,EACjB,OAAO,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAC,WAAW,IAAC,SAAS,SAAG,CAAC,CAAC;QAE1D,MAAM,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC,CAAC,eAAe,CACnE,iBAAiB,EACjB,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Neighborhoods/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,wBAAgB,aAAa,sBAyG5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Neighborhoods/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,wBAAgB,aAAa,sBA4G5B"}
@@ -40,7 +40,7 @@ export function Neighborhoods() {
40
40
  React.createElement("span", null))))))));
41
41
  }
42
42
  return (React.createElement(CardList.Root, { isLoading: isLoading }, similarNeighborhoods.map((neighborhood, index) => (React.createElement(CardList.Card, { key: `similar-neighborhood-card-${neighborhood.id}`, onClick: handleCardClickEvent(index), url: neighborhood.redirect_url, imageSrc: neighborhood.thumbnail_url, expanded: hasAffordabilityIndex },
43
- typeof neighborhood.affordabilityComparison !== "undefined" && (React.createElement("div", { className: styles.tag },
43
+ typeof neighborhood.affordabilityComparison !== "undefined" && (React.createElement("div", { className: styles.tag, "data-testid": "neighborhood-match-affordability-tag" },
44
44
  React.createElement(Tag, { isTopLeftRounded: false, isTopRightRounded: false, isVisible: !hideAffordabilityTags &&
45
45
  !!neighborhood.affordabilityComparison, variant: neighborhood.affordabilityComparison }, t(`tags.${neighborhood.affordabilityComparison}`)))),
46
46
  React.createElement("div", { className: styles.cardDataContent },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Neighborhoods/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Neighborhoods/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Neighborhoods/index.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,158 @@
1
+ import React from "react";
2
+ import { describe, beforeEach, it, expect, vi } from "vitest";
3
+ import { render, fireEvent } from "@testing-library/react";
4
+ import { Neighborhoods } from "./index";
5
+ import { TrackingPipelineEvents, AnalyticsEvents, } from "~/sdks/NeighborhoodMatch/types";
6
+ vi.mock("react-i18next", () => ({
7
+ useTranslation: () => ({
8
+ t: (key) => key,
9
+ }),
10
+ }));
11
+ const { postEventMock, trackAnalyticsEventMock } = vi.hoisted(() => ({
12
+ postEventMock: vi.fn(),
13
+ trackAnalyticsEventMock: vi.fn(),
14
+ }));
15
+ vi.mock("~/tracking", () => ({
16
+ useTracking: () => ({
17
+ postEvent: postEventMock,
18
+ trackAnalyticsEvent: trackAnalyticsEventMock,
19
+ }),
20
+ }));
21
+ const { useNeighborhoodMatchMock } = vi.hoisted(() => ({
22
+ useNeighborhoodMatchMock: vi.fn(),
23
+ }));
24
+ vi.mock("~/sdks/NeighborhoodMatch/context", () => ({
25
+ useNeighborhoodMatch: useNeighborhoodMatchMock,
26
+ }));
27
+ vi.mock("../CardList", () => ({
28
+ Root: ({ isLoading, children, }) => (React.createElement("div", { "data-testid": "card-list", "data-is-loading": String(isLoading) }, children)),
29
+ // Mirror the real Card: onClick only fires when there is a url to navigate to.
30
+ Card: ({ url, imageSrc, expanded, onClick, children, }) => (React.createElement("div", { "data-testid": "card", "data-url": url, "data-image": imageSrc, "data-expanded": String(expanded), onClick: url ? onClick : undefined }, children)),
31
+ Title: ({ children }) => (React.createElement("div", { "data-testid": "card-title" }, children)),
32
+ }));
33
+ vi.mock("@local-logic/design-system", () => ({
34
+ Tag: ({ children, variant, isVisible, }) => (React.createElement("span", { "data-testid": "tag", "data-variant": variant, "data-visible": String(isVisible) }, children)),
35
+ }));
36
+ vi.mock("~/components/NoDataContent", () => ({
37
+ NoDataContent: ({ text }) => (React.createElement("div", { "data-testid": "no-data" }, text)),
38
+ }));
39
+ vi.mock("~/components/ScoreCardList", () => ({
40
+ Root: ({ children }) => (React.createElement("div", { "data-testid": "score-list" }, children)),
41
+ Card: ({ title, value, scoreKey, }) => (React.createElement("div", { "data-testid": "score-card", "data-score-key": scoreKey, "data-value": String(value) }, title)),
42
+ }));
43
+ const baseContext = {
44
+ isFetched: true,
45
+ isLoading: false,
46
+ similarNeighborhoods: [],
47
+ hasAffordabilityIndex: false,
48
+ hideAffordabilityTags: false,
49
+ };
50
+ describe("Neighborhoods", () => {
51
+ beforeEach(() => {
52
+ vi.clearAllMocks();
53
+ useNeighborhoodMatchMock.mockReturnValue(Object.assign({}, baseContext));
54
+ });
55
+ it("renders the no-data message when fetched with no results", () => {
56
+ useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { isFetched: true, similarNeighborhoods: [] }));
57
+ const { getByTestId } = render(React.createElement(Neighborhoods, null));
58
+ expect(getByTestId("no-data")).toHaveTextContent("noData");
59
+ });
60
+ it("renders four loading skeleton cards while loading", () => {
61
+ useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { isFetched: false, isLoading: true, similarNeighborhoods: [] }));
62
+ const { getByTestId, getAllByTestId } = render(React.createElement(Neighborhoods, null));
63
+ expect(getByTestId("card-list")).toHaveAttribute("data-is-loading", "true");
64
+ expect(getAllByTestId("card")).toHaveLength(4);
65
+ });
66
+ it("renders a card for each similar neighborhood with its url, image and expanded state", () => {
67
+ useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { hasAffordabilityIndex: true, similarNeighborhoods: [
68
+ {
69
+ id: "1",
70
+ name: "Alpha",
71
+ redirect_url: "https://example.com/alpha",
72
+ thumbnail_url: "https://example.com/alpha.jpg",
73
+ scores: {},
74
+ },
75
+ { id: "2", name: "Beta", scores: {} },
76
+ ] }));
77
+ const { getAllByTestId } = render(React.createElement(Neighborhoods, null));
78
+ const cards = getAllByTestId("card");
79
+ expect(cards).toHaveLength(2);
80
+ expect(cards[0]).toHaveAttribute("data-url", "https://example.com/alpha");
81
+ expect(cards[0]).toHaveAttribute("data-image", "https://example.com/alpha.jpg");
82
+ expect(cards[0]).toHaveAttribute("data-expanded", "true");
83
+ expect(getAllByTestId("card-title")[0]).toHaveTextContent("Alpha");
84
+ });
85
+ it("renders a score card for each score with a non-negative value", () => {
86
+ useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { similarNeighborhoods: [
87
+ {
88
+ id: "1",
89
+ name: "Alpha",
90
+ scores: {
91
+ pedestrian_friendly: 5,
92
+ transit_friendly: 0,
93
+ groceries: -1,
94
+ },
95
+ },
96
+ ] }));
97
+ const { getAllByTestId } = render(React.createElement(Neighborhoods, null));
98
+ expect(getAllByTestId("score-card")).toHaveLength(2);
99
+ });
100
+ it("renders a visible affordability tag when a comparison is present", () => {
101
+ useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { hideAffordabilityTags: false, similarNeighborhoods: [
102
+ {
103
+ id: "1",
104
+ name: "Alpha",
105
+ scores: {},
106
+ affordabilityComparison: "positive",
107
+ },
108
+ ] }));
109
+ const { getByTestId } = render(React.createElement(Neighborhoods, null));
110
+ expect(getByTestId("neighborhood-match-affordability-tag")).toBeInTheDocument();
111
+ expect(getByTestId("tag")).toHaveAttribute("data-variant", "positive");
112
+ expect(getByTestId("tag")).toHaveAttribute("data-visible", "true");
113
+ });
114
+ it("hides the affordability tag content when affordability tags are hidden", () => {
115
+ useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { hideAffordabilityTags: true, similarNeighborhoods: [
116
+ {
117
+ id: "1",
118
+ name: "Alpha",
119
+ scores: {},
120
+ affordabilityComparison: "positive",
121
+ },
122
+ ] }));
123
+ const { getByTestId } = render(React.createElement(Neighborhoods, null));
124
+ expect(getByTestId("tag")).toHaveAttribute("data-visible", "false");
125
+ });
126
+ it("does not render an affordability tag when there is no comparison", () => {
127
+ useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { similarNeighborhoods: [{ id: "1", name: "Alpha", scores: {} }] }));
128
+ const { queryByTestId } = render(React.createElement(Neighborhoods, null));
129
+ expect(queryByTestId("neighborhood-match-affordability-tag")).toBeNull();
130
+ });
131
+ it("tracks a card click with its position in the set", () => {
132
+ useNeighborhoodMatchMock.mockReturnValue(Object.assign(Object.assign({}, baseContext), { similarNeighborhoods: [
133
+ {
134
+ id: "1",
135
+ name: "Alpha",
136
+ scores: {},
137
+ redirect_url: "https://example.com/alpha",
138
+ },
139
+ {
140
+ id: "2",
141
+ name: "Beta",
142
+ scores: {},
143
+ redirect_url: "https://example.com/beta",
144
+ },
145
+ ] }));
146
+ const { getAllByTestId } = render(React.createElement(Neighborhoods, null));
147
+ fireEvent.click(getAllByTestId("card")[1]);
148
+ expect(postEventMock).toHaveBeenCalledWith({
149
+ eventType: TrackingPipelineEvents.NEIGHBORHOOD_CARD_CLICKED,
150
+ eventAttributes: [{ label: "position_in_set", data: 1 }],
151
+ });
152
+ expect(trackAnalyticsEventMock).toHaveBeenCalledWith({
153
+ eventName: AnalyticsEvents.NEIGHBORHOOD_CARD_CLICKED,
154
+ eventAttributes: { ll_position_in_set: 1 },
155
+ });
156
+ });
157
+ });
158
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/Neighborhoods/index.test.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/PaginationButton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,eAAO,MAAM,gBAAgB,gCA8D5B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/PaginationButton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,eAAO,MAAM,gBAAgB,gCAiE5B,CAAC"}
@@ -52,7 +52,7 @@ export const PaginationButton = () => {
52
52
  if (!(breakpoints === null || breakpoints === void 0 ? void 0 : breakpoints.lg) || (!hasMore && limit === minimumLimit)) {
53
53
  return null;
54
54
  }
55
- return (React.createElement("div", { className: styles.container },
55
+ return (React.createElement("div", { className: styles.container, "data-testid": "neighborhood-match-pagination" },
56
56
  React.createElement(Button, { variant: "secondary", onClick: handleClick },
57
57
  hasMore && t("pagination.next"),
58
58
  !hasMore && limit > minimumLimit && t("pagination.previous"))));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/PaginationButton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EACL,sBAAsB,EACtB,eAAe,GAChB,MAAM,gCAAgC,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GACxD,oBAAoB,EAAE,CAAC;IACzB,MAAM,WAAW,GAAG,wBAAwB,EAAE,CAAC;IAE/C,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,SAAS,CAAC;gBACjB,SAAS,EAAE,sBAAsB,CAAC,kBAAkB;gBACpD,eAAe,EAAE;oBACf;wBACE,KAAK,EAAE,wBAAwB;wBAC/B,IAAI,EAAE,WAAW;qBAClB;iBACF;aACF,CAAC,CAAC;YAEH,QAAQ,CAAC,mBAAmB,CAAC;gBAC3B,SAAS,EAAE,eAAe,CAAC,kBAAkB;gBAC7C,eAAe,EAAE;oBACf,yBAAyB,EAAE,WAAW;iBACvC;aACF,CAAC,CAAC;YACH,QAAQ,EAAE,CAAC;QACb,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,KAAK,GAAG,YAAY,EAAE,CAAC;YACrC,QAAQ,CAAC,SAAS,CAAC;gBACjB,SAAS,EAAE,sBAAsB,CAAC,kBAAkB;gBACpD,eAAe,EAAE;oBACf;wBACE,KAAK,EAAE,wBAAwB;wBAC/B,IAAI,EAAE,WAAW;qBAClB;iBACF;aACF,CAAC,CAAC;YAEH,QAAQ,CAAC,mBAAmB,CAAC;gBAC3B,SAAS,EAAE,eAAe,CAAC,kBAAkB;gBAC7C,eAAe,EAAE;oBACf,yBAAyB,EAAE,WAAW;iBACvC;aACF,CAAC,CAAC;YAEH,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,CAAA,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,KAAK,YAAY,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,SAAS;QAC9B,oBAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,WAAW;YAC7C,OAAO,IAAI,CAAC,CAAC,iBAAiB,CAAC;YAC/B,CAAC,OAAO,IAAI,KAAK,GAAG,YAAY,IAAI,CAAC,CAAC,qBAAqB,CAAC,CACtD,CACL,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/PaginationButton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EACL,sBAAsB,EACtB,eAAe,GAChB,MAAM,gCAAgC,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GACxD,oBAAoB,EAAE,CAAC;IACzB,MAAM,WAAW,GAAG,wBAAwB,EAAE,CAAC;IAE/C,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,SAAS,CAAC;gBACjB,SAAS,EAAE,sBAAsB,CAAC,kBAAkB;gBACpD,eAAe,EAAE;oBACf;wBACE,KAAK,EAAE,wBAAwB;wBAC/B,IAAI,EAAE,WAAW;qBAClB;iBACF;aACF,CAAC,CAAC;YAEH,QAAQ,CAAC,mBAAmB,CAAC;gBAC3B,SAAS,EAAE,eAAe,CAAC,kBAAkB;gBAC7C,eAAe,EAAE;oBACf,yBAAyB,EAAE,WAAW;iBACvC;aACF,CAAC,CAAC;YACH,QAAQ,EAAE,CAAC;QACb,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,KAAK,GAAG,YAAY,EAAE,CAAC;YACrC,QAAQ,CAAC,SAAS,CAAC;gBACjB,SAAS,EAAE,sBAAsB,CAAC,kBAAkB;gBACpD,eAAe,EAAE;oBACf;wBACE,KAAK,EAAE,wBAAwB;wBAC/B,IAAI,EAAE,WAAW;qBAClB;iBACF;aACF,CAAC,CAAC;YAEH,QAAQ,CAAC,mBAAmB,CAAC;gBAC3B,SAAS,EAAE,eAAe,CAAC,kBAAkB;gBAC7C,eAAe,EAAE;oBACf,yBAAyB,EAAE,WAAW;iBACvC;aACF,CAAC,CAAC;YAEH,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,CAAA,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,KAAK,YAAY,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,6BACE,SAAS,EAAE,MAAM,CAAC,SAAS,iBACf,+BAA+B;QAE3C,oBAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,WAAW;YAC7C,OAAO,IAAI,CAAC,CAAC,iBAAiB,CAAC;YAC/B,CAAC,OAAO,IAAI,KAAK,GAAG,YAAY,IAAI,CAAC,CAAC,qBAAqB,CAAC,CACtD,CACL,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/PaginationButton/index.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,124 @@
1
+ import React from "react";
2
+ import { describe, beforeEach, it, expect, vi } from "vitest";
3
+ import { render, fireEvent } from "@testing-library/react";
4
+ import { PaginationButton } from "./index";
5
+ import { TrackingPipelineEvents, AnalyticsEvents, } from "~/sdks/NeighborhoodMatch/types";
6
+ vi.mock("react-i18next", () => ({
7
+ useTranslation: () => ({
8
+ t: (key) => key,
9
+ }),
10
+ }));
11
+ const { postEventMock, trackAnalyticsEventMock } = vi.hoisted(() => ({
12
+ postEventMock: vi.fn(),
13
+ trackAnalyticsEventMock: vi.fn(),
14
+ }));
15
+ vi.mock("~/tracking", () => ({
16
+ useTracking: () => ({
17
+ postEvent: postEventMock,
18
+ trackAnalyticsEvent: trackAnalyticsEventMock,
19
+ }),
20
+ }));
21
+ const { useNeighborhoodMatchMock } = vi.hoisted(() => ({
22
+ useNeighborhoodMatchMock: vi.fn(),
23
+ }));
24
+ vi.mock("~/sdks/NeighborhoodMatch/context", () => ({
25
+ useNeighborhoodMatch: useNeighborhoodMatchMock,
26
+ }));
27
+ const { breakpointsMock } = vi.hoisted(() => ({ breakpointsMock: vi.fn() }));
28
+ vi.mock("~/hooks/useResponsiveBreakpoints", () => ({
29
+ useResponsiveBreakpoints: breakpointsMock,
30
+ }));
31
+ vi.mock("@local-logic/design-system", () => ({
32
+ Button: ({ children, onClick, }) => (React.createElement("button", { "data-testid": "pagination-button", onClick: onClick }, children)),
33
+ }));
34
+ describe("PaginationButton", () => {
35
+ beforeEach(() => {
36
+ vi.clearAllMocks();
37
+ breakpointsMock.mockReturnValue({ lg: true });
38
+ useNeighborhoodMatchMock.mockReturnValue({
39
+ limit: 4,
40
+ minimumLimit: 4,
41
+ hasMore: true,
42
+ viewMore: vi.fn(),
43
+ viewLess: vi.fn(),
44
+ });
45
+ });
46
+ it("does not render below the lg breakpoint", () => {
47
+ breakpointsMock.mockReturnValue({ lg: false });
48
+ const { queryByTestId } = render(React.createElement(PaginationButton, null));
49
+ expect(queryByTestId("neighborhood-match-pagination")).toBeNull();
50
+ });
51
+ it("does not render when there is nothing more to show and nothing to collapse", () => {
52
+ useNeighborhoodMatchMock.mockReturnValue({
53
+ limit: 4,
54
+ minimumLimit: 4,
55
+ hasMore: false,
56
+ viewMore: vi.fn(),
57
+ viewLess: vi.fn(),
58
+ });
59
+ const { queryByTestId } = render(React.createElement(PaginationButton, null));
60
+ expect(queryByTestId("neighborhood-match-pagination")).toBeNull();
61
+ });
62
+ it("shows the next label when there are more results", () => {
63
+ const { getByTestId } = render(React.createElement(PaginationButton, null));
64
+ expect(getByTestId("pagination-button")).toHaveTextContent("pagination.next");
65
+ });
66
+ it("shows the previous label when expanded past the minimum with nothing more", () => {
67
+ useNeighborhoodMatchMock.mockReturnValue({
68
+ limit: 8,
69
+ minimumLimit: 4,
70
+ hasMore: false,
71
+ viewMore: vi.fn(),
72
+ viewLess: vi.fn(),
73
+ });
74
+ const { getByTestId } = render(React.createElement(PaginationButton, null));
75
+ expect(getByTestId("pagination-button")).toHaveTextContent("pagination.previous");
76
+ });
77
+ it("calls viewMore and tracks a view_more event when there are more results", () => {
78
+ const viewMore = vi.fn();
79
+ const viewLess = vi.fn();
80
+ useNeighborhoodMatchMock.mockReturnValue({
81
+ limit: 4,
82
+ minimumLimit: 4,
83
+ hasMore: true,
84
+ viewMore,
85
+ viewLess,
86
+ });
87
+ const { getByTestId } = render(React.createElement(PaginationButton, null));
88
+ fireEvent.click(getByTestId("pagination-button"));
89
+ expect(viewMore).toHaveBeenCalledTimes(1);
90
+ expect(viewLess).not.toHaveBeenCalled();
91
+ expect(postEventMock).toHaveBeenCalledWith({
92
+ eventType: TrackingPipelineEvents.PAGINATION_CLICKED,
93
+ eventAttributes: [{ label: "pagination_action_type", data: "view_more" }],
94
+ });
95
+ expect(trackAnalyticsEventMock).toHaveBeenCalledWith({
96
+ eventName: AnalyticsEvents.PAGINATION_CLICKED,
97
+ eventAttributes: { ll_pagination_action_type: "view_more" },
98
+ });
99
+ });
100
+ it("calls viewLess and tracks a view_less event when collapsing", () => {
101
+ const viewMore = vi.fn();
102
+ const viewLess = vi.fn();
103
+ useNeighborhoodMatchMock.mockReturnValue({
104
+ limit: 8,
105
+ minimumLimit: 4,
106
+ hasMore: false,
107
+ viewMore,
108
+ viewLess,
109
+ });
110
+ const { getByTestId } = render(React.createElement(PaginationButton, null));
111
+ fireEvent.click(getByTestId("pagination-button"));
112
+ expect(viewLess).toHaveBeenCalledTimes(1);
113
+ expect(viewMore).not.toHaveBeenCalled();
114
+ expect(postEventMock).toHaveBeenCalledWith({
115
+ eventType: TrackingPipelineEvents.PAGINATION_CLICKED,
116
+ eventAttributes: [{ label: "pagination_action_type", data: "view_less" }],
117
+ });
118
+ expect(trackAnalyticsEventMock).toHaveBeenCalledWith({
119
+ eventName: AnalyticsEvents.PAGINATION_CLICKED,
120
+ eventAttributes: { ll_pagination_action_type: "view_less" },
121
+ });
122
+ });
123
+ });
124
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../../src/sdks/NeighborhoodMatch/components/PaginationButton/index.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/addAffordabilityComparisonToNeighborhood/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { addAffordabilityComparisonToNeighborhood } from "./index";
3
+ const makeNeighborhood = (affordabilityIndex) => ({
4
+ id: "g30_test",
5
+ name: "Test Neighborhood",
6
+ affordability_index: affordabilityIndex,
7
+ });
8
+ describe("addAffordabilityComparisonToNeighborhood", () => {
9
+ it("returns the neighborhood unchanged when the base affordability index is missing", () => {
10
+ const neighborhood = makeNeighborhood(100);
11
+ const result = addAffordabilityComparisonToNeighborhood(undefined, neighborhood);
12
+ expect(result).toBe(neighborhood);
13
+ expect(result.affordabilityComparison).toBeUndefined();
14
+ });
15
+ it("returns the neighborhood unchanged when the compared neighborhood has no affordability index", () => {
16
+ const neighborhood = makeNeighborhood(null);
17
+ const result = addAffordabilityComparisonToNeighborhood(100, neighborhood);
18
+ expect(result).toBe(neighborhood);
19
+ expect(result.affordabilityComparison).toBeUndefined();
20
+ });
21
+ it("flags the comparison as neutral when the indices are within 5%", () => {
22
+ // |1 - 100 / 102| ~= 0.0196, which is under the 0.05 threshold.
23
+ const result = addAffordabilityComparisonToNeighborhood(100, makeNeighborhood(102));
24
+ expect(result.affordabilityComparison).toBe("neutral");
25
+ });
26
+ it("flags the comparison as negative when the base index is higher than the compared one", () => {
27
+ const result = addAffordabilityComparisonToNeighborhood(200, makeNeighborhood(100));
28
+ expect(result.affordabilityComparison).toBe("negative");
29
+ });
30
+ it("flags the comparison as positive when the base index is lower than the compared one", () => {
31
+ const result = addAffordabilityComparisonToNeighborhood(100, makeNeighborhood(200));
32
+ expect(result.affordabilityComparison).toBe("positive");
33
+ });
34
+ });
35
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../../../src/sdks/NeighborhoodMatch/hooks/useSimilarNeighborhoods/addAffordabilityComparisonToNeighborhood/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,wCAAwC,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,gBAAgB,GAAG,CAAC,kBAAkC,EAAgB,EAAE,CAC5E,CAAC;IACC,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,mBAAmB;IACzB,mBAAmB,EAAE,kBAAkB;CACxC,CAA4B,CAAC;AAEhC,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACxD,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,wCAAwC,CACrD,SAAS,EACT,YAAY,CACb,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,aAAa,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8FAA8F,EAAE,GAAG,EAAE;QACtG,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,wCAAwC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAE3E,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,aAAa,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,gEAAgE;QAChE,MAAM,MAAM,GAAG,wCAAwC,CACrD,GAAG,EACH,gBAAgB,CAAC,GAAG,CAAC,CACtB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,GAAG,EAAE;QAC9F,MAAM,MAAM,GAAG,wCAAwC,CACrD,GAAG,EACH,gBAAgB,CAAC,GAAG,CAAC,CACtB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;QAC7F,MAAM,MAAM,GAAG,wCAAwC,CACrD,GAAG,EACH,gBAAgB,CAAC,GAAG,CAAC,CACtB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}