Plugin Directory

Changeset 3333213


Ignore:
Timestamp:
07/24/2025 01:01:02 AM (7 months ago)
Author:
loftylisting
Message:

update code to trunk

Location:
lofty-idx/trunk
Files:
50 added
44 edited

Legend:

Unmodified
Added
Removed
  • lofty-idx/trunk/assets/.vite/manifest.json

    r3312310 r3333213  
    11{
    2   "_IconCopy.DKqiio1M.js": {
    3     "file": "IconCopy.DKqiio1M.js",
     2  "_IconCopy.DMe4YHlb.js": {
     3    "file": "IconCopy.DMe4YHlb.js",
    44    "name": "IconCopy",
    55    "imports": [
    6       "__plugin-vue_export-helper.BXwY9aDM.js",
    7       "_vendor.NEC4PHgy.js"
    8     ]
    9   },
    10   "_PluginUpdate.!~{00C}~.js": {
     6      "__plugin-vue_export-helper.bB-lvPOu.js",
     7      "_vendor.DSMCY3-_.js"
     8    ]
     9  },
     10  "_PluginUpdate.!~{00F}~.js": {
    1111    "file": "PluginUpdate.css",
    12     "src": "_PluginUpdate.!~{00C}~.js"
    13   },
    14   "_PluginUpdate.DdDy_9Ji.js": {
    15     "file": "PluginUpdate.DdDy_9Ji.js",
     12    "src": "_PluginUpdate.!~{00F}~.js"
     13  },
     14  "_PluginUpdate.D0brfHtJ.js": {
     15    "file": "PluginUpdate.D0brfHtJ.js",
    1616    "name": "PluginUpdate",
    1717    "imports": [
    18       "__plugin-vue_export-helper.BXwY9aDM.js",
    19       "_vendor.NEC4PHgy.js",
    20       "_user.C9PYqYHM.js"
     18      "__plugin-vue_export-helper.bB-lvPOu.js",
     19      "_vendor.DSMCY3-_.js",
     20      "_user.B_wb9Yeq.js"
    2121    ],
    2222    "css": [
     
    2424    ]
    2525  },
    26   "_SubmitJs.!~{00A}~.js": {
     26  "_SubmitJs.!~{00D}~.js": {
    2727    "file": "SubmitJs.css",
    28     "src": "_SubmitJs.!~{00A}~.js"
    29   },
    30   "_SubmitJs.DWmn7Vod.js": {
    31     "file": "SubmitJs.DWmn7Vod.js",
     28    "src": "_SubmitJs.!~{00D}~.js"
     29  },
     30  "_SubmitJs.CFwKS8Wv.js": {
     31    "file": "SubmitJs.CFwKS8Wv.js",
    3232    "name": "SubmitJs",
    3333    "imports": [
    34       "__plugin-vue_export-helper.BXwY9aDM.js",
    35       "_vendor.NEC4PHgy.js"
     34      "__plugin-vue_export-helper.bB-lvPOu.js",
     35      "_vendor.DSMCY3-_.js"
    3636    ],
    3737    "css": [
     
    4343    "src": "__plugin-vue_export-helper.!~{002}~.js"
    4444  },
    45   "__plugin-vue_export-helper.BXwY9aDM.js": {
    46     "file": "_plugin-vue_export-helper.BXwY9aDM.js",
     45  "__plugin-vue_export-helper.bB-lvPOu.js": {
     46    "file": "_plugin-vue_export-helper.bB-lvPOu.js",
    4747    "name": "_plugin-vue_export-helper",
    4848    "imports": [
    49       "_vendor.NEC4PHgy.js"
     49      "_vendor.DSMCY3-_.js"
    5050    ],
    5151    "dynamicImports": [
    52       "_vendor.NEC4PHgy.js"
     52      "_vendor.DSMCY3-_.js"
    5353    ],
    5454    "css": [
     
    5656    ]
    5757  },
    58   "_auto-login.DsI-xV2Y.js": {
    59     "file": "auto-login.DsI-xV2Y.js",
     58  "_auto-login.C1f3j8uL.js": {
     59    "file": "auto-login.C1f3j8uL.js",
    6060    "name": "auto-login",
    6161    "imports": [
    62       "__plugin-vue_export-helper.BXwY9aDM.js",
    63       "_user.C9PYqYHM.js"
    64     ]
    65   },
    66   "_checkBox.!~{00E}~.js": {
     62      "__plugin-vue_export-helper.bB-lvPOu.js",
     63      "_user.B_wb9Yeq.js"
     64    ]
     65  },
     66  "_checkBox.!~{00H}~.js": {
    6767    "file": "checkBox.css",
    68     "src": "_checkBox.!~{00E}~.js"
    69   },
    70   "_checkBox.CSsbXmX7.js": {
    71     "file": "checkBox.CSsbXmX7.js",
     68    "src": "_checkBox.!~{00H}~.js"
     69  },
     70  "_checkBox.nJJrXg5E.js": {
     71    "file": "checkBox.nJJrXg5E.js",
    7272    "name": "checkBox",
    7373    "imports": [
    74       "_vendor.NEC4PHgy.js",
    75       "__plugin-vue_export-helper.BXwY9aDM.js"
     74      "_vendor.DSMCY3-_.js",
     75      "__plugin-vue_export-helper.bB-lvPOu.js"
    7676    ],
    7777    "css": [
     
    7979    ]
    8080  },
    81   "_common.!~{00z}~.js": {
     81  "_common.!~{00C}~.js": {
    8282    "file": "common.css",
    83     "src": "_common.!~{00z}~.js"
     83    "src": "_common.!~{00C}~.js"
    8484  },
    8585  "_date-format.BrUodQAJ.js": {
     
    8787    "name": "date-format"
    8888  },
    89   "_feature-listing-slider.!~{00v}~.js": {
     89  "_feature-listing-slider.!~{00y}~.js": {
    9090    "file": "feature-listing-slider.css",
    91     "src": "_feature-listing-slider.!~{00v}~.js"
    92   },
    93   "_feature-listing-slider.BE3-pAJs.js": {
    94     "file": "feature-listing-slider.BE3-pAJs.js",
     91    "src": "_feature-listing-slider.!~{00y}~.js"
     92  },
     93  "_feature-listing-slider.C6SVvzLl.js": {
     94    "file": "feature-listing-slider.C6SVvzLl.js",
    9595    "name": "feature-listing-slider",
    9696    "imports": [
    97       "_index.BjLmwQWW.js",
    98       "_user.C9PYqYHM.js",
    99       "_verify-email.BuNdX22j.js",
    100       "_vendor.NEC4PHgy.js"
     97      "_index.B6VbAP4g.js",
     98      "_user.B_wb9Yeq.js",
     99      "_verify-email.CS8uhOrR.js",
     100      "_vendor.DSMCY3-_.js"
    101101    ],
    102102    "css": [
     
    107107    ]
    108108  },
    109   "_google.!~{00o}~.js": {
     109  "_google.!~{00q}~.js": {
    110110    "file": "google.css",
    111     "src": "_google.!~{00o}~.js"
    112   },
    113   "_google.xpY_32OC.js": {
    114     "file": "google.xpY_32OC.js",
     111    "src": "_google.!~{00q}~.js"
     112  },
     113  "_google.COqmJ1I4.js": {
     114    "file": "google.COqmJ1I4.js",
    115115    "name": "google",
    116116    "imports": [
    117       "__plugin-vue_export-helper.BXwY9aDM.js",
    118       "_vendor.NEC4PHgy.js"
     117      "__plugin-vue_export-helper.bB-lvPOu.js",
     118      "_vendor.DSMCY3-_.js"
    119119    ],
    120120    "css": [
     
    122122    ]
    123123  },
    124   "_houseSlider.!~{00w}~.js": {
     124  "_house-format.CGUVCimM.js": {
     125    "file": "house-format.CGUVCimM.js",
     126    "name": "house-format",
     127    "imports": [
     128      "__plugin-vue_export-helper.bB-lvPOu.js",
     129      "_number-format.CLdvQh6j.js",
     130      "_user.B_wb9Yeq.js"
     131    ]
     132  },
     133  "_houseSlider.!~{00z}~.js": {
    125134    "file": "houseSlider.css",
    126     "src": "_houseSlider.!~{00w}~.js"
    127   },
    128   "_houseSlider.B8lXL2Vn.js": {
    129     "file": "houseSlider.B8lXL2Vn.js",
     135    "src": "_houseSlider.!~{00z}~.js"
     136  },
     137  "_houseSlider.vt9Nc49G.js": {
     138    "file": "houseSlider.vt9Nc49G.js",
    130139    "name": "houseSlider",
    131140    "imports": [
    132       "_verify-email.BuNdX22j.js",
    133       "_feature-listing-slider.BE3-pAJs.js",
    134       "_vendor.NEC4PHgy.js"
     141      "_verify-email.CS8uhOrR.js",
     142      "_feature-listing-slider.C6SVvzLl.js",
     143      "_vendor.DSMCY3-_.js"
    135144    ],
    136145    "css": [
     
    138147    ]
    139148  },
    140   "_icon.DPA-YhG0.js": {
    141     "file": "icon.DPA-YhG0.js",
     149  "_icon.CxDQPYyM.js": {
     150    "file": "icon.CxDQPYyM.js",
    142151    "name": "icon",
    143152    "imports": [
    144       "_marker.CMP_wZIa.js",
    145       "__plugin-vue_export-helper.BXwY9aDM.js",
    146       "_vendor.NEC4PHgy.js"
    147     ]
    148   },
    149   "_index.!~{008}~.js": {
     153      "_marker.IEnWk-Xb.js",
     154      "__plugin-vue_export-helper.bB-lvPOu.js",
     155      "_vendor.DSMCY3-_.js"
     156    ]
     157  },
     158  "_index.!~{004}~.js": {
     159    "file": "index8.css",
     160    "src": "_index.!~{004}~.js"
     161  },
     162  "_index.!~{006}~.js": {
     163    "file": "index6.css",
     164    "src": "_index.!~{006}~.js"
     165  },
     166  "_index.!~{009}~.js": {
    150167    "file": "index2.css",
    151     "src": "_index.!~{008}~.js"
    152   },
    153   "_index.!~{009}~.js": {
     168    "src": "_index.!~{009}~.js"
     169  },
     170  "_index.!~{00A}~.js": {
     171    "file": "index4.css",
     172    "src": "_index.!~{00A}~.js"
     173  },
     174  "_index.!~{00B}~.js": {
     175    "file": "index3.css",
     176    "src": "_index.!~{00B}~.js"
     177  },
     178  "_index.!~{00b}~.js": {
     179    "file": "index12.css",
     180    "src": "_index.!~{00b}~.js"
     181  },
     182  "_index.!~{00c}~.js": {
    154183    "file": "index11.css",
    155     "src": "_index.!~{009}~.js"
    156   },
    157   "_index.!~{00a}~.js": {
     184    "src": "_index.!~{00c}~.js"
     185  },
     186  "_index.!~{00d}~.js": {
     187    "file": "index5.css",
     188    "src": "_index.!~{00d}~.js"
     189  },
     190  "_index.!~{00n}~.js": {
    158191    "file": "index10.css",
    159     "src": "_index.!~{00a}~.js"
    160   },
    161   "_index.!~{00b}~.js": {
    162     "file": "index5.css",
    163     "src": "_index.!~{00b}~.js"
    164   },
    165   "_index.!~{00i}~.js": {
     192    "src": "_index.!~{00n}~.js"
     193  },
     194  "_index.!~{00o}~.js": {
    166195    "file": "index7.css",
    167     "src": "_index.!~{00i}~.js"
    168   },
    169   "_index.!~{00k}~.js": {
     196    "src": "_index.!~{00o}~.js"
     197  },
     198  "_index.!~{00r}~.js": {
    170199    "file": "index9.css",
    171     "src": "_index.!~{00k}~.js"
    172   },
    173   "_index.!~{00m}~.js": {
    174     "file": "index8.css",
    175     "src": "_index.!~{00m}~.js"
    176   },
    177   "_index.!~{00n}~.js": {
    178     "file": "index6.css",
    179     "src": "_index.!~{00n}~.js"
    180   },
    181   "_index.!~{00u}~.js": {
     200    "src": "_index.!~{00r}~.js"
     201  },
     202  "_index.!~{00x}~.js": {
    182203    "file": "index.css",
    183     "src": "_index.!~{00u}~.js"
    184   },
    185   "_index.!~{00x}~.js": {
    186     "file": "index4.css",
    187204    "src": "_index.!~{00x}~.js"
    188205  },
    189   "_index.!~{00y}~.js": {
    190     "file": "index3.css",
    191     "src": "_index.!~{00y}~.js"
    192   },
    193   "_index.BLlfxopq.js": {
    194     "file": "index.BLlfxopq.js",
    195     "name": "index",
    196     "imports": [
    197       "_vendor.NEC4PHgy.js",
    198       "_feature-listing-slider.BE3-pAJs.js",
    199       "_verify-email.BuNdX22j.js"
     206  "_index.B1jQkB8N.js": {
     207    "file": "index.B1jQkB8N.js",
     208    "name": "index",
     209    "imports": [
     210      "_vendor.DSMCY3-_.js",
     211      "__plugin-vue_export-helper.bB-lvPOu.js"
     212    ],
     213    "css": [
     214      "index10.css"
     215    ]
     216  },
     217  "_index.B6VbAP4g.js": {
     218    "file": "index.B6VbAP4g.js",
     219    "name": "index",
     220    "imports": [
     221      "_user.B_wb9Yeq.js",
     222      "_vendor.DSMCY3-_.js",
     223      "_google.COqmJ1I4.js",
     224      "__plugin-vue_export-helper.bB-lvPOu.js",
     225      "_index.BPxU_3zo.js"
     226    ],
     227    "css": [
     228      "index2.css"
     229    ]
     230  },
     231  "_index.BIsjoQ8l.js": {
     232    "file": "index.BIsjoQ8l.js",
     233    "name": "index",
     234    "imports": [
     235      "_vendor.DSMCY3-_.js",
     236      "_outsideclick.Bw_hMuzW.js"
     237    ],
     238    "css": [
     239      "index5.css"
     240    ]
     241  },
     242  "_index.BPxU_3zo.js": {
     243    "file": "index.BPxU_3zo.js",
     244    "name": "index",
     245    "imports": [
     246      "_vendor.DSMCY3-_.js",
     247      "__plugin-vue_export-helper.bB-lvPOu.js"
     248    ],
     249    "css": [
     250      "index11.css"
     251    ]
     252  },
     253  "_index.BdhGsZUN.js": {
     254    "file": "index.BdhGsZUN.js",
     255    "name": "index",
     256    "imports": [
     257      "_vendor.DSMCY3-_.js"
     258    ],
     259    "css": [
     260      "index3.css"
     261    ]
     262  },
     263  "_index.C_5yu3Gg.js": {
     264    "file": "index.C_5yu3Gg.js",
     265    "name": "index",
     266    "imports": [
     267      "_date-format.BrUodQAJ.js",
     268      "_index.B1jQkB8N.js",
     269      "__plugin-vue_export-helper.bB-lvPOu.js",
     270      "_vendor.DSMCY3-_.js"
     271    ],
     272    "css": [
     273      "index8.css"
     274    ]
     275  },
     276  "_index.Ca0KQw1k.js": {
     277    "file": "index.Ca0KQw1k.js",
     278    "name": "index",
     279    "imports": [
     280      "_vendor.DSMCY3-_.js",
     281      "_outsideclick.Bw_hMuzW.js",
     282      "__plugin-vue_export-helper.bB-lvPOu.js"
     283    ],
     284    "css": [
     285      "index12.css"
     286    ]
     287  },
     288  "_index.CblVywxl.js": {
     289    "file": "index.CblVywxl.js",
     290    "name": "index",
     291    "imports": [
     292      "_vendor.DSMCY3-_.js",
     293      "__plugin-vue_export-helper.bB-lvPOu.js"
     294    ],
     295    "css": [
     296      "index9.css"
     297    ]
     298  },
     299  "_index.D1LZflJ-.js": {
     300    "file": "index.D1LZflJ-.js",
     301    "name": "index",
     302    "imports": [
     303      "_vendor.DSMCY3-_.js",
     304      "__plugin-vue_export-helper.bB-lvPOu.js"
     305    ],
     306    "css": [
     307      "index6.css"
     308    ]
     309  },
     310  "_index.DAwEVGKX.js": {
     311    "file": "index.DAwEVGKX.js",
     312    "name": "index",
     313    "imports": [
     314      "_vendor.DSMCY3-_.js"
     315    ],
     316    "css": [
     317      "index7.css"
     318    ]
     319  },
     320  "_index.W_awICU-.js": {
     321    "file": "index.W_awICU-.js",
     322    "name": "index",
     323    "imports": [
     324      "_vendor.DSMCY3-_.js",
     325      "_feature-listing-slider.C6SVvzLl.js",
     326      "_verify-email.CS8uhOrR.js"
    200327    ],
    201328    "css": [
     
    203330    ]
    204331  },
    205   "_index.BSqvwR4u.js": {
    206     "file": "index.BSqvwR4u.js",
    207     "name": "index",
    208     "imports": [
    209       "_vendor.NEC4PHgy.js"
     332  "_index.jjVwSEkV.js": {
     333    "file": "index.jjVwSEkV.js",
     334    "name": "index",
     335    "imports": [
     336      "_vendor.DSMCY3-_.js"
    210337    ],
    211338    "css": [
     
    213340    ]
    214341  },
    215   "_index.BjLmwQWW.js": {
    216     "file": "index.BjLmwQWW.js",
    217     "name": "index",
    218     "imports": [
    219       "_user.C9PYqYHM.js",
    220       "_vendor.NEC4PHgy.js",
    221       "_google.xpY_32OC.js",
    222       "__plugin-vue_export-helper.BXwY9aDM.js",
    223       "_index.zlpipePe.js"
    224     ],
    225     "css": [
    226       "index2.css"
    227     ]
    228   },
    229   "_index.C-6OBrPY.js": {
    230     "file": "index.C-6OBrPY.js",
    231     "name": "index",
    232     "imports": [
    233       "_vendor.NEC4PHgy.js",
    234       "__plugin-vue_export-helper.BXwY9aDM.js"
    235     ],
    236     "css": [
    237       "index8.css"
    238     ]
    239   },
    240   "_index.D4X1HF9n.js": {
    241     "file": "index.D4X1HF9n.js",
    242     "name": "index",
    243     "imports": [
    244       "_vendor.NEC4PHgy.js"
    245     ],
    246     "css": [
    247       "index3.css"
    248     ]
    249   },
    250   "_index.D8G0GxXE.js": {
    251     "file": "index.D8G0GxXE.js",
    252     "name": "index",
    253     "imports": [
    254       "_vendor.NEC4PHgy.js"
    255     ],
    256     "css": [
    257       "index6.css"
    258     ]
    259   },
    260   "_index.DWgDswh1.js": {
    261     "file": "index.DWgDswh1.js",
    262     "name": "index",
    263     "imports": [
    264       "_vendor.NEC4PHgy.js",
    265       "__plugin-vue_export-helper.BXwY9aDM.js"
    266     ],
    267     "css": [
    268       "index9.css"
    269     ]
    270   },
    271   "_index.Ey8cf3te.js": {
    272     "file": "index.Ey8cf3te.js",
    273     "name": "index",
    274     "imports": [
     342  "_loading.BdqyMKJZ.js": {
     343    "file": "loading.BdqyMKJZ.js",
     344    "name": "loading",
     345    "imports": [
     346      "_index.DAwEVGKX.js",
     347      "_vendor.DSMCY3-_.js"
     348    ]
     349  },
     350  "_marker.IEnWk-Xb.js": {
     351    "file": "marker.IEnWk-Xb.js",
     352    "name": "marker",
     353    "imports": [
     354      "_index.D1LZflJ-.js",
     355      "__plugin-vue_export-helper.bB-lvPOu.js",
     356      "_number-format.CLdvQh6j.js",
     357      "_vendor.DSMCY3-_.js"
     358    ]
     359  },
     360  "_mobileFilter.!~{00a}~.js": {
     361    "file": "mobileFilter.css",
     362    "src": "_mobileFilter.!~{00a}~.js"
     363  },
     364  "_mobileFilter.YOw-E2qB.js": {
     365    "file": "mobileFilter.YOw-E2qB.js",
     366    "name": "mobileFilter",
     367    "imports": [
     368      "_vendor.DSMCY3-_.js",
     369      "_index.Ca0KQw1k.js",
     370      "__plugin-vue_export-helper.bB-lvPOu.js",
     371      "_index.BPxU_3zo.js",
     372      "_index.C_5yu3Gg.js",
     373      "_number-format.CLdvQh6j.js",
    275374      "_date-format.BrUodQAJ.js",
    276       "_index.DWgDswh1.js",
    277       "__plugin-vue_export-helper.BXwY9aDM.js",
    278       "_vendor.NEC4PHgy.js"
    279     ],
    280     "css": [
    281       "index7.css"
    282     ]
    283   },
    284   "_index.qsOScXF2.js": {
    285     "file": "index.qsOScXF2.js",
    286     "name": "index",
    287     "imports": [
    288       "_vendor.NEC4PHgy.js",
    289       "_outsideclick.Bw_hMuzW.js",
    290       "__plugin-vue_export-helper.BXwY9aDM.js"
    291     ],
    292     "css": [
    293       "index11.css"
    294     ]
    295   },
    296   "_index.uDUgTW0e.js": {
    297     "file": "index.uDUgTW0e.js",
    298     "name": "index",
    299     "imports": [
    300       "_vendor.NEC4PHgy.js",
    301       "_outsideclick.Bw_hMuzW.js"
    302     ],
    303     "css": [
    304       "index5.css"
    305     ]
    306   },
    307   "_index.zlpipePe.js": {
    308     "file": "index.zlpipePe.js",
    309     "name": "index",
    310     "imports": [
    311       "_vendor.NEC4PHgy.js",
    312       "__plugin-vue_export-helper.BXwY9aDM.js"
    313     ],
    314     "css": [
    315       "index10.css"
    316     ]
    317   },
    318   "_loading.DTItxkGS.js": {
    319     "file": "loading.DTItxkGS.js",
    320     "name": "loading",
    321     "imports": [
    322       "_index.D8G0GxXE.js",
    323       "_vendor.NEC4PHgy.js"
    324     ]
    325   },
    326   "_marker.!~{006}~.js": {
    327     "file": "marker.css",
    328     "src": "_marker.!~{006}~.js"
    329   },
    330   "_marker.CMP_wZIa.js": {
    331     "file": "marker.CMP_wZIa.js",
    332     "name": "marker",
    333     "imports": [
    334       "__plugin-vue_export-helper.BXwY9aDM.js",
    335       "_vendor.NEC4PHgy.js",
    336       "_number-format.CLdvQh6j.js"
    337     ],
    338     "css": [
    339       "marker.css"
    340     ]
    341   },
    342   "_mobileFilter.!~{004}~.js": {
    343     "file": "mobileFilter.css",
    344     "src": "_mobileFilter.!~{004}~.js"
    345   },
    346   "_mobileFilter.Kp-Hxn-z.js": {
    347     "file": "mobileFilter.Kp-Hxn-z.js",
    348     "name": "mobileFilter",
    349     "imports": [
    350       "_vendor.NEC4PHgy.js",
    351       "_index.qsOScXF2.js",
    352       "__plugin-vue_export-helper.BXwY9aDM.js",
    353       "_index.zlpipePe.js",
    354       "_index.Ey8cf3te.js",
    355       "_number-format.CLdvQh6j.js",
    356       "_date-format.BrUodQAJ.js",
    357       "_index.C-6OBrPY.js",
     375      "_index.CblVywxl.js",
    358376      "_outsideclick.Bw_hMuzW.js"
    359377    ],
     
    366384    "name": "module"
    367385  },
    368   "_multiSelect.!~{00D}~.js": {
     386  "_multiSelect.!~{00G}~.js": {
    369387    "file": "multiSelect.css",
    370     "src": "_multiSelect.!~{00D}~.js"
    371   },
    372   "_multiSelect.DrlqYmIX.js": {
    373     "file": "multiSelect.DrlqYmIX.js",
     388    "src": "_multiSelect.!~{00G}~.js"
     389  },
     390  "_multiSelect.B-Bvv-QV.js": {
     391    "file": "multiSelect.B-Bvv-QV.js",
    374392    "name": "multiSelect",
    375393    "imports": [
    376       "_vendor.NEC4PHgy.js",
    377       "__plugin-vue_export-helper.BXwY9aDM.js",
    378       "_index.qsOScXF2.js",
    379       "_checkBox.CSsbXmX7.js"
     394      "_vendor.DSMCY3-_.js",
     395      "__plugin-vue_export-helper.bB-lvPOu.js",
     396      "_index.Ca0KQw1k.js",
     397      "_checkBox.nJJrXg5E.js"
    380398    ],
    381399    "css": [
     
    391409    "name": "outsideclick"
    392410  },
    393   "_popup-mls.CBKQfXSn.js": {
    394     "file": "popup-mls.CBKQfXSn.js",
     411  "_popup-mls.BtxMjRiY.js": {
     412    "file": "popup-mls.BtxMjRiY.js",
    395413    "name": "popup-mls",
    396414    "imports": [
    397       "__plugin-vue_export-helper.BXwY9aDM.js",
    398       "_user.C9PYqYHM.js",
    399       "_useConfirm.BpvHcTF0.js"
    400     ]
    401   },
    402   "_popup-trigger.DYYaUR3O.js": {
    403     "file": "popup-trigger.DYYaUR3O.js",
     415      "__plugin-vue_export-helper.bB-lvPOu.js",
     416      "_user.B_wb9Yeq.js",
     417      "_useConfirm.DafTdZE0.js"
     418    ]
     419  },
     420  "_popup-trigger.Dcnct9fd.js": {
     421    "file": "popup-trigger.Dcnct9fd.js",
    404422    "name": "popup-trigger",
    405423    "imports": [
    406       "_user.C9PYqYHM.js",
    407       "_index.BjLmwQWW.js",
    408       "__plugin-vue_export-helper.BXwY9aDM.js"
    409     ]
    410   },
    411   "_standard.!~{00c}~.js": {
     424      "_user.B_wb9Yeq.js",
     425      "_index.B6VbAP4g.js",
     426      "__plugin-vue_export-helper.bB-lvPOu.js"
     427    ]
     428  },
     429  "_service.DFLbHlSk.js": {
     430    "file": "service.DFLbHlSk.js",
     431    "name": "service",
     432    "imports": [
     433      "_vendor.DSMCY3-_.js",
     434      "__plugin-vue_export-helper.bB-lvPOu.js",
     435      "_index.D1LZflJ-.js"
     436    ]
     437  },
     438  "_standard.!~{00e}~.js": {
    412439    "file": "standard.css",
    413     "src": "_standard.!~{00c}~.js"
    414   },
    415   "_standard.CMta1D5J.js": {
    416     "file": "standard.CMta1D5J.js",
     440    "src": "_standard.!~{00e}~.js"
     441  },
     442  "_standard.CXwndxZu.js": {
     443    "file": "standard.CXwndxZu.js",
    417444    "name": "standard",
    418445    "imports": [
    419       "__plugin-vue_export-helper.BXwY9aDM.js",
    420       "_index.DWgDswh1.js",
    421       "_vendor.NEC4PHgy.js"
     446      "__plugin-vue_export-helper.bB-lvPOu.js",
     447      "_index.B1jQkB8N.js",
     448      "_vendor.DSMCY3-_.js"
    422449    ],
    423450    "css": [
     
    425452    ]
    426453  },
    427   "_styleConfig.!~{00B}~.js": {
     454  "_styleConfig.!~{00E}~.js": {
    428455    "file": "styleConfig.css",
    429     "src": "_styleConfig.!~{00B}~.js"
    430   },
    431   "_styleConfig.DhjOBK_9.js": {
    432     "file": "styleConfig.DhjOBK_9.js",
     456    "src": "_styleConfig.!~{00E}~.js"
     457  },
     458  "_styleConfig.CsnKPZfX.js": {
     459    "file": "styleConfig.CsnKPZfX.js",
    433460    "name": "styleConfig",
    434461    "imports": [
    435       "_vendor.NEC4PHgy.js",
    436       "__plugin-vue_export-helper.BXwY9aDM.js",
    437       "_number-format.CLdvQh6j.js",
    438       "_index.qsOScXF2.js",
    439       "_index.Ey8cf3te.js",
    440       "_index.C-6OBrPY.js",
    441       "_multiSelect.DrlqYmIX.js",
    442       "_outsideclick.Bw_hMuzW.js",
    443       "_SubmitJs.DWmn7Vod.js",
    444       "_checkBox.CSsbXmX7.js",
    445       "_tooltip.Chr6RZhw.js"
     462      "_vendor.DSMCY3-_.js",
     463      "__plugin-vue_export-helper.bB-lvPOu.js",
     464      "_number-format.CLdvQh6j.js",
     465      "_index.Ca0KQw1k.js",
     466      "_index.C_5yu3Gg.js",
     467      "_index.CblVywxl.js",
     468      "_multiSelect.B-Bvv-QV.js",
     469      "_outsideclick.Bw_hMuzW.js",
     470      "_index.BPxU_3zo.js",
     471      "_index.D1LZflJ-.js",
     472      "_service.DFLbHlSk.js",
     473      "_index.DAwEVGKX.js",
     474      "_house-format.CGUVCimM.js",
     475      "_SubmitJs.CFwKS8Wv.js",
     476      "_checkBox.nJJrXg5E.js",
     477      "_tooltip.D1TTPwD5.js"
    446478    ],
    447479    "css": [
     
    456488    ]
    457489  },
    458   "_tooltip.!~{00q}~.js": {
     490  "_tooltip.!~{00t}~.js": {
    459491    "file": "tooltip.css",
    460     "src": "_tooltip.!~{00q}~.js"
    461   },
    462   "_tooltip.Chr6RZhw.js": {
    463     "file": "tooltip.Chr6RZhw.js",
     492    "src": "_tooltip.!~{00t}~.js"
     493  },
     494  "_tooltip.D1TTPwD5.js": {
     495    "file": "tooltip.D1TTPwD5.js",
    464496    "name": "tooltip",
    465497    "imports": [
    466       "_vendor.NEC4PHgy.js",
    467       "_outsideclick.Bw_hMuzW.js",
    468       "__plugin-vue_export-helper.BXwY9aDM.js"
     498      "_vendor.DSMCY3-_.js",
     499      "_outsideclick.Bw_hMuzW.js",
     500      "__plugin-vue_export-helper.bB-lvPOu.js"
    469501    ],
    470502    "css": [
     
    472504    ]
    473505  },
    474   "_useConfirm.!~{00p}~.js": {
     506  "_useConfirm.!~{00s}~.js": {
    475507    "file": "useConfirm.css",
    476     "src": "_useConfirm.!~{00p}~.js"
    477   },
    478   "_useConfirm.BpvHcTF0.js": {
    479     "file": "useConfirm.BpvHcTF0.js",
     508    "src": "_useConfirm.!~{00s}~.js"
     509  },
     510  "_useConfirm.DafTdZE0.js": {
     511    "file": "useConfirm.DafTdZE0.js",
    480512    "name": "useConfirm",
    481513    "imports": [
    482       "_index.zlpipePe.js",
    483       "_vendor.NEC4PHgy.js"
     514      "_index.BPxU_3zo.js",
     515      "_vendor.DSMCY3-_.js"
    484516    ],
    485517    "css": [
     
    487519    ]
    488520  },
    489   "_useCopy.BlzIiYQ_.js": {
    490     "file": "useCopy.BlzIiYQ_.js",
     521  "_useCopy.CluLpl8Z.js": {
     522    "file": "useCopy.CluLpl8Z.js",
    491523    "name": "useCopy",
    492524    "imports": [
    493       "_vendor.NEC4PHgy.js"
    494     ]
    495   },
    496   "_user.C9PYqYHM.js": {
    497     "file": "user.C9PYqYHM.js",
     525      "_vendor.DSMCY3-_.js"
     526    ]
     527  },
     528  "_user.B_wb9Yeq.js": {
     529    "file": "user.B_wb9Yeq.js",
    498530    "name": "user",
    499531    "imports": [
    500       "__plugin-vue_export-helper.BXwY9aDM.js",
    501       "_vendor.NEC4PHgy.js"
    502     ]
    503   },
    504   "_vendor.NEC4PHgy.js": {
    505     "file": "vendor.NEC4PHgy.js",
     532      "__plugin-vue_export-helper.bB-lvPOu.js",
     533      "_vendor.DSMCY3-_.js"
     534    ]
     535  },
     536  "_vendor.DSMCY3-_.js": {
     537    "file": "vendor.DSMCY3-_.js",
    506538    "name": "vendor",
    507539    "isDynamicEntry": true
    508540  },
    509   "_verify-email.BuNdX22j.js": {
    510     "file": "verify-email.BuNdX22j.js",
     541  "_verify-email.CS8uhOrR.js": {
     542    "file": "verify-email.CS8uhOrR.js",
    511543    "name": "verify-email",
    512544    "imports": [
    513       "__plugin-vue_export-helper.BXwY9aDM.js",
    514       "_number-format.CLdvQh6j.js",
    515       "_user.C9PYqYHM.js",
    516       "_index.BjLmwQWW.js"
     545      "__plugin-vue_export-helper.bB-lvPOu.js",
     546      "_index.B6VbAP4g.js"
    517547    ]
    518548  },
     
    523553    "isEntry": true,
    524554    "imports": [
    525       "__plugin-vue_export-helper.BXwY9aDM.js",
    526       "_vendor.NEC4PHgy.js",
    527       "_PluginUpdate.DdDy_9Ji.js",
    528       "_user.C9PYqYHM.js"
     555      "__plugin-vue_export-helper.bB-lvPOu.js",
     556      "_vendor.DSMCY3-_.js",
     557      "_PluginUpdate.D0brfHtJ.js",
     558      "_user.B_wb9Yeq.js"
    529559    ],
    530560    "css": [
     
    539569    "isEntry": true,
    540570    "imports": [
    541       "__plugin-vue_export-helper.BXwY9aDM.js",
    542       "_vendor.NEC4PHgy.js",
    543       "_SubmitJs.DWmn7Vod.js",
    544       "_styleConfig.DhjOBK_9.js",
    545       "_PluginUpdate.DdDy_9Ji.js",
    546       "_useCopy.BlzIiYQ_.js",
    547       "_tooltip.Chr6RZhw.js",
    548       "_standard.CMta1D5J.js",
    549       "_index.D4X1HF9n.js",
    550       "_useConfirm.BpvHcTF0.js",
    551       "_loading.DTItxkGS.js",
    552       "_number-format.CLdvQh6j.js",
    553       "_index.qsOScXF2.js",
    554       "_outsideclick.Bw_hMuzW.js",
    555       "_index.Ey8cf3te.js",
     571      "__plugin-vue_export-helper.bB-lvPOu.js",
     572      "_vendor.DSMCY3-_.js",
     573      "_SubmitJs.CFwKS8Wv.js",
     574      "_styleConfig.CsnKPZfX.js",
     575      "_PluginUpdate.D0brfHtJ.js",
     576      "_useCopy.CluLpl8Z.js",
     577      "_tooltip.D1TTPwD5.js",
     578      "_standard.CXwndxZu.js",
     579      "_index.BdhGsZUN.js",
     580      "_useConfirm.DafTdZE0.js",
     581      "_loading.BdqyMKJZ.js",
     582      "_number-format.CLdvQh6j.js",
     583      "_index.Ca0KQw1k.js",
     584      "_outsideclick.Bw_hMuzW.js",
     585      "_index.C_5yu3Gg.js",
    556586      "_date-format.BrUodQAJ.js",
    557       "_index.DWgDswh1.js",
    558       "_index.C-6OBrPY.js",
    559       "_multiSelect.DrlqYmIX.js",
    560       "_checkBox.CSsbXmX7.js",
    561       "_user.C9PYqYHM.js",
    562       "_index.zlpipePe.js",
    563       "_index.D8G0GxXE.js"
     587      "_index.B1jQkB8N.js",
     588      "_index.CblVywxl.js",
     589      "_multiSelect.B-Bvv-QV.js",
     590      "_checkBox.nJJrXg5E.js",
     591      "_index.BPxU_3zo.js",
     592      "_index.D1LZflJ-.js",
     593      "_service.DFLbHlSk.js",
     594      "_index.DAwEVGKX.js",
     595      "_house-format.CGUVCimM.js",
     596      "_user.B_wb9Yeq.js"
    564597    ],
    565598    "css": [
     
    574607    "isEntry": true,
    575608    "imports": [
    576       "__plugin-vue_export-helper.BXwY9aDM.js",
    577       "_vendor.NEC4PHgy.js",
    578       "_SubmitJs.DWmn7Vod.js",
    579       "_index.zlpipePe.js",
    580       "_PluginUpdate.DdDy_9Ji.js",
    581       "_checkBox.CSsbXmX7.js",
    582       "_google.xpY_32OC.js",
    583       "_user.C9PYqYHM.js",
    584       "_tooltip.Chr6RZhw.js",
     609      "__plugin-vue_export-helper.bB-lvPOu.js",
     610      "_vendor.DSMCY3-_.js",
     611      "_SubmitJs.CFwKS8Wv.js",
     612      "_index.BPxU_3zo.js",
     613      "_PluginUpdate.D0brfHtJ.js",
     614      "_checkBox.nJJrXg5E.js",
     615      "_google.COqmJ1I4.js",
     616      "_user.B_wb9Yeq.js",
     617      "_tooltip.D1TTPwD5.js",
    585618      "_outsideclick.Bw_hMuzW.js"
    586619    ],
     
    599632    "isEntry": true,
    600633    "imports": [
    601       "__plugin-vue_export-helper.BXwY9aDM.js",
    602       "_vendor.NEC4PHgy.js",
    603       "_SubmitJs.DWmn7Vod.js",
    604       "_styleConfig.DhjOBK_9.js",
    605       "_useCopy.BlzIiYQ_.js",
     634      "__plugin-vue_export-helper.bB-lvPOu.js",
     635      "_vendor.DSMCY3-_.js",
     636      "_SubmitJs.CFwKS8Wv.js",
     637      "_styleConfig.CsnKPZfX.js",
     638      "_useCopy.CluLpl8Z.js",
    606639      "_date-format.BrUodQAJ.js",
    607       "_multiSelect.DrlqYmIX.js",
    608       "_PluginUpdate.DdDy_9Ji.js",
    609       "_index.D8G0GxXE.js",
    610       "_index.BSqvwR4u.js",
    611       "_user.C9PYqYHM.js",
    612       "_index.uDUgTW0e.js",
    613       "_standard.CMta1D5J.js",
    614       "_IconCopy.DKqiio1M.js",
    615       "_number-format.CLdvQh6j.js",
    616       "_index.qsOScXF2.js",
    617       "_outsideclick.Bw_hMuzW.js",
    618       "_index.Ey8cf3te.js",
    619       "_index.DWgDswh1.js",
    620       "_index.C-6OBrPY.js",
    621       "_checkBox.CSsbXmX7.js",
    622       "_tooltip.Chr6RZhw.js"
     640      "_multiSelect.B-Bvv-QV.js",
     641      "_PluginUpdate.D0brfHtJ.js",
     642      "_index.DAwEVGKX.js",
     643      "_index.jjVwSEkV.js",
     644      "_user.B_wb9Yeq.js",
     645      "_index.BIsjoQ8l.js",
     646      "_standard.CXwndxZu.js",
     647      "_IconCopy.DMe4YHlb.js",
     648      "_number-format.CLdvQh6j.js",
     649      "_index.Ca0KQw1k.js",
     650      "_outsideclick.Bw_hMuzW.js",
     651      "_index.C_5yu3Gg.js",
     652      "_index.B1jQkB8N.js",
     653      "_index.CblVywxl.js",
     654      "_index.BPxU_3zo.js",
     655      "_index.D1LZflJ-.js",
     656      "_service.DFLbHlSk.js",
     657      "_house-format.CGUVCimM.js",
     658      "_checkBox.nJJrXg5E.js",
     659      "_tooltip.D1TTPwD5.js"
    623660    ],
    624661    "css": [
     
    639676    "isEntry": true,
    640677    "imports": [
    641       "__plugin-vue_export-helper.BXwY9aDM.js",
     678      "__plugin-vue_export-helper.bB-lvPOu.js",
    642679      "_module.CKjUdtPN.js",
    643       "_vendor.NEC4PHgy.js",
    644       "_multiSelect.DrlqYmIX.js",
    645       "_index.qsOScXF2.js",
    646       "_outsideclick.Bw_hMuzW.js",
    647       "_checkBox.CSsbXmX7.js"
     680      "_vendor.DSMCY3-_.js",
     681      "_multiSelect.B-Bvv-QV.js",
     682      "_index.Ca0KQw1k.js",
     683      "_outsideclick.Bw_hMuzW.js",
     684      "_checkBox.nJJrXg5E.js"
    648685    ],
    649686    "css": [
     
    662699    "isEntry": true,
    663700    "imports": [
    664       "__plugin-vue_export-helper.BXwY9aDM.js",
    665       "_vendor.NEC4PHgy.js",
     701      "__plugin-vue_export-helper.bB-lvPOu.js",
     702      "_vendor.DSMCY3-_.js",
    666703      "_module.CKjUdtPN.js",
    667       "_verify-email.BuNdX22j.js",
    668       "_feature-listing-slider.BE3-pAJs.js",
    669       "_houseSlider.B8lXL2Vn.js",
    670       "_user.C9PYqYHM.js",
    671       "_popup-trigger.DYYaUR3O.js",
    672       "_popup-mls.CBKQfXSn.js",
    673       "_number-format.CLdvQh6j.js",
    674       "_index.BjLmwQWW.js",
    675       "_google.xpY_32OC.js",
    676       "_index.zlpipePe.js",
    677       "_useConfirm.BpvHcTF0.js"
     704      "_house-format.CGUVCimM.js",
     705      "_feature-listing-slider.C6SVvzLl.js",
     706      "_houseSlider.vt9Nc49G.js",
     707      "_verify-email.CS8uhOrR.js",
     708      "_user.B_wb9Yeq.js",
     709      "_popup-trigger.Dcnct9fd.js",
     710      "_popup-mls.BtxMjRiY.js",
     711      "_number-format.CLdvQh6j.js",
     712      "_index.B6VbAP4g.js",
     713      "_google.COqmJ1I4.js",
     714      "_index.BPxU_3zo.js",
     715      "_useConfirm.DafTdZE0.js"
    678716    ],
    679717    "css": [
     
    690728    "isEntry": true,
    691729    "imports": [
    692       "__plugin-vue_export-helper.BXwY9aDM.js",
    693       "_vendor.NEC4PHgy.js",
     730      "__plugin-vue_export-helper.bB-lvPOu.js",
     731      "_vendor.DSMCY3-_.js",
    694732      "_module.CKjUdtPN.js",
    695       "_user.C9PYqYHM.js",
    696       "_marker.CMP_wZIa.js",
    697       "_icon.DPA-YhG0.js",
    698       "_google.xpY_32OC.js",
    699       "_index.BjLmwQWW.js",
    700       "_number-format.CLdvQh6j.js",
    701       "_tooltip.Chr6RZhw.js",
    702       "_index.D8G0GxXE.js",
    703       "_index.zlpipePe.js",
     733      "_user.B_wb9Yeq.js",
     734      "_index.D1LZflJ-.js",
     735      "_icon.CxDQPYyM.js",
     736      "_google.COqmJ1I4.js",
     737      "_index.B6VbAP4g.js",
     738      "_number-format.CLdvQh6j.js",
     739      "_tooltip.D1TTPwD5.js",
     740      "_index.DAwEVGKX.js",
     741      "_marker.IEnWk-Xb.js",
     742      "_index.BPxU_3zo.js",
    704743      "_outsideclick.Bw_hMuzW.js"
    705744    ],
     
    714753    "isEntry": true,
    715754    "imports": [
    716       "__plugin-vue_export-helper.BXwY9aDM.js",
     755      "__plugin-vue_export-helper.bB-lvPOu.js",
    717756      "_module.CKjUdtPN.js",
    718       "_popup-mls.CBKQfXSn.js",
    719       "_user.C9PYqYHM.js",
    720       "_verify-email.BuNdX22j.js",
    721       "_index.zlpipePe.js",
    722       "_index.BjLmwQWW.js",
    723       "_vendor.NEC4PHgy.js",
    724       "_tooltip.Chr6RZhw.js",
    725       "_index.qsOScXF2.js",
     757      "_popup-mls.BtxMjRiY.js",
     758      "_user.B_wb9Yeq.js",
     759      "_house-format.CGUVCimM.js",
     760      "_index.BPxU_3zo.js",
     761      "_index.B6VbAP4g.js",
     762      "_verify-email.CS8uhOrR.js",
     763      "_vendor.DSMCY3-_.js",
     764      "_tooltip.D1TTPwD5.js",
     765      "_index.Ca0KQw1k.js",
    726766      "_date-format.BrUodQAJ.js",
    727       "_IconCopy.DKqiio1M.js",
    728       "_useCopy.BlzIiYQ_.js",
    729       "_marker.CMP_wZIa.js",
    730       "_icon.DPA-YhG0.js",
    731       "_number-format.CLdvQh6j.js",
    732       "_index.BLlfxopq.js",
    733       "_popup-trigger.DYYaUR3O.js",
    734       "_auto-login.DsI-xV2Y.js",
    735       "_useConfirm.BpvHcTF0.js",
    736       "_google.xpY_32OC.js",
    737       "_outsideclick.Bw_hMuzW.js",
    738       "_feature-listing-slider.BE3-pAJs.js"
     767      "_IconCopy.DMe4YHlb.js",
     768      "_useCopy.CluLpl8Z.js",
     769      "_index.D1LZflJ-.js",
     770      "_icon.CxDQPYyM.js",
     771      "_number-format.CLdvQh6j.js",
     772      "_index.W_awICU-.js",
     773      "_popup-trigger.Dcnct9fd.js",
     774      "_auto-login.C1f3j8uL.js",
     775      "_useConfirm.DafTdZE0.js",
     776      "_google.COqmJ1I4.js",
     777      "_outsideclick.Bw_hMuzW.js",
     778      "_marker.IEnWk-Xb.js",
     779      "_feature-listing-slider.C6SVvzLl.js"
    739780    ],
    740781    "css": [
     
    748789    "isEntry": true,
    749790    "imports": [
    750       "__plugin-vue_export-helper.BXwY9aDM.js",
     791      "__plugin-vue_export-helper.bB-lvPOu.js",
    751792      "_module.CKjUdtPN.js",
    752       "_vendor.NEC4PHgy.js",
    753       "_mobileFilter.Kp-Hxn-z.js",
    754       "_loading.DTItxkGS.js",
    755       "_marker.CMP_wZIa.js",
    756       "_verify-email.BuNdX22j.js",
    757       "_index.BjLmwQWW.js",
    758       "_index.qsOScXF2.js",
    759       "_index.zlpipePe.js",
    760       "_index.uDUgTW0e.js",
    761       "_standard.CMta1D5J.js",
    762       "_outsideclick.Bw_hMuzW.js",
    763       "_user.C9PYqYHM.js",
    764       "_popup-trigger.DYYaUR3O.js",
    765       "_auto-login.DsI-xV2Y.js",
    766       "_popup-mls.CBKQfXSn.js",
    767       "_index.Ey8cf3te.js",
     793      "_vendor.DSMCY3-_.js",
     794      "_index.C_5yu3Gg.js",
     795      "_loading.BdqyMKJZ.js",
     796      "_index.D1LZflJ-.js",
     797      "_house-format.CGUVCimM.js",
     798      "_verify-email.CS8uhOrR.js",
     799      "_index.B6VbAP4g.js",
     800      "_mobileFilter.YOw-E2qB.js",
     801      "_index.Ca0KQw1k.js",
     802      "_index.BPxU_3zo.js",
     803      "_index.BIsjoQ8l.js",
     804      "_standard.CXwndxZu.js",
     805      "_marker.IEnWk-Xb.js",
     806      "_outsideclick.Bw_hMuzW.js",
     807      "_service.DFLbHlSk.js",
     808      "_user.B_wb9Yeq.js",
     809      "_popup-trigger.Dcnct9fd.js",
     810      "_auto-login.C1f3j8uL.js",
     811      "_popup-mls.BtxMjRiY.js",
    768812      "_date-format.BrUodQAJ.js",
    769       "_index.DWgDswh1.js",
    770       "_number-format.CLdvQh6j.js",
    771       "_index.C-6OBrPY.js",
    772       "_index.D8G0GxXE.js",
    773       "_google.xpY_32OC.js",
    774       "_useConfirm.BpvHcTF0.js"
     813      "_index.B1jQkB8N.js",
     814      "_index.DAwEVGKX.js",
     815      "_number-format.CLdvQh6j.js",
     816      "_google.COqmJ1I4.js",
     817      "_index.CblVywxl.js",
     818      "_useConfirm.DafTdZE0.js"
    775819    ],
    776820    "css": [
     
    784828    "isEntry": true,
    785829    "imports": [
    786       "__plugin-vue_export-helper.BXwY9aDM.js",
    787       "_vendor.NEC4PHgy.js",
     830      "__plugin-vue_export-helper.bB-lvPOu.js",
     831      "_vendor.DSMCY3-_.js",
    788832      "_module.CKjUdtPN.js",
    789       "_user.C9PYqYHM.js",
    790       "_popup-mls.CBKQfXSn.js",
    791       "_index.qsOScXF2.js",
    792       "_index.BjLmwQWW.js",
    793       "_index.zlpipePe.js",
    794       "_index.uDUgTW0e.js",
    795       "_number-format.CLdvQh6j.js",
    796       "_feature-listing-slider.BE3-pAJs.js",
    797       "_houseSlider.B8lXL2Vn.js",
    798       "_verify-email.BuNdX22j.js",
    799       "_index.BLlfxopq.js",
    800       "_index.C-6OBrPY.js",
    801       "_useConfirm.BpvHcTF0.js",
    802       "_outsideclick.Bw_hMuzW.js",
    803       "_google.xpY_32OC.js"
     833      "_user.B_wb9Yeq.js",
     834      "_popup-mls.BtxMjRiY.js",
     835      "_index.Ca0KQw1k.js",
     836      "_index.B6VbAP4g.js",
     837      "_index.BPxU_3zo.js",
     838      "_index.BIsjoQ8l.js",
     839      "_number-format.CLdvQh6j.js",
     840      "_feature-listing-slider.C6SVvzLl.js",
     841      "_houseSlider.vt9Nc49G.js",
     842      "_house-format.CGUVCimM.js",
     843      "_index.W_awICU-.js",
     844      "_index.CblVywxl.js",
     845      "_useConfirm.DafTdZE0.js",
     846      "_outsideclick.Bw_hMuzW.js",
     847      "_google.COqmJ1I4.js",
     848      "_verify-email.CS8uhOrR.js"
    804849    ],
    805850    "css": [
     
    813858    "isEntry": true,
    814859    "imports": [
    815       "__plugin-vue_export-helper.BXwY9aDM.js",
    816       "_vendor.NEC4PHgy.js",
    817       "_index.BSqvwR4u.js",
    818       "_verify-email.BuNdX22j.js",
    819       "_index.BLlfxopq.js",
    820       "_index.qsOScXF2.js",
    821       "_feature-listing-slider.BE3-pAJs.js",
    822       "_index.D4X1HF9n.js",
    823       "_index.zlpipePe.js",
     860      "__plugin-vue_export-helper.bB-lvPOu.js",
     861      "_vendor.DSMCY3-_.js",
     862      "_index.jjVwSEkV.js",
     863      "_house-format.CGUVCimM.js",
     864      "_index.W_awICU-.js",
     865      "_index.Ca0KQw1k.js",
     866      "_feature-listing-slider.C6SVvzLl.js",
     867      "_index.BdhGsZUN.js",
     868      "_index.BPxU_3zo.js",
    824869      "_date-format.BrUodQAJ.js",
    825       "_standard.CMta1D5J.js",
    826       "_index.D8G0GxXE.js",
    827       "_index.uDUgTW0e.js",
    828       "_number-format.CLdvQh6j.js",
    829       "_useConfirm.BpvHcTF0.js",
    830       "_user.C9PYqYHM.js",
    831       "_index.BjLmwQWW.js",
    832       "_outsideclick.Bw_hMuzW.js",
    833       "_index.DWgDswh1.js",
    834       "_google.xpY_32OC.js"
     870      "_standard.CXwndxZu.js",
     871      "_index.DAwEVGKX.js",
     872      "_index.BIsjoQ8l.js",
     873      "_number-format.CLdvQh6j.js",
     874      "_useConfirm.DafTdZE0.js",
     875      "_user.B_wb9Yeq.js",
     876      "_index.B6VbAP4g.js",
     877      "_verify-email.CS8uhOrR.js",
     878      "_outsideclick.Bw_hMuzW.js",
     879      "_index.B1jQkB8N.js",
     880      "_google.COqmJ1I4.js"
    835881    ],
    836882    "css": [
     
    848894    "isEntry": true,
    849895    "imports": [
    850       "__plugin-vue_export-helper.BXwY9aDM.js",
     896      "__plugin-vue_export-helper.bB-lvPOu.js",
    851897      "_module.CKjUdtPN.js",
    852       "_vendor.NEC4PHgy.js",
    853       "_mobileFilter.Kp-Hxn-z.js",
    854       "_index.qsOScXF2.js",
    855       "_outsideclick.Bw_hMuzW.js",
    856       "_index.zlpipePe.js",
    857       "_index.Ey8cf3te.js",
     898      "_vendor.DSMCY3-_.js",
     899      "_mobileFilter.YOw-E2qB.js",
     900      "_index.Ca0KQw1k.js",
     901      "_outsideclick.Bw_hMuzW.js",
     902      "_index.BPxU_3zo.js",
     903      "_index.C_5yu3Gg.js",
    858904      "_date-format.BrUodQAJ.js",
    859       "_index.DWgDswh1.js",
    860       "_number-format.CLdvQh6j.js",
    861       "_index.C-6OBrPY.js"
     905      "_index.B1jQkB8N.js",
     906      "_number-format.CLdvQh6j.js",
     907      "_index.CblVywxl.js"
    862908    ],
    863909    "css": [
  • lofty-idx/trunk/assets/admin-customization.js

    r3312310 r3333213  
    1 import{_ as S,h}from"./_plugin-vue_export-helper.BXwY9aDM.js";/* empty css               */import{r as u,c as w,Q as P,o as d,g as v,e,z as m,y as j,u as z,t as D,q as p,v as g,D as y}from"./vendor.NEC4PHgy.js";import{s as _,P as H}from"./PluginUpdate.DdDy_9Ji.js";import"./user.C9PYqYHM.js";const M={class:"lofty-admin-container"},A={class:"main-content"},B={class:"header"},E={key:1,class:"btn-group"},T={class:"configuration"},U={class:"form-groups"},V={class:"form-group"},I=["readonly"],X={class:"form-group"},q=["readonly"],J={class:"form-group"},L=["readonly"],N={__name:"page",setup(F){const l=u(!0),n=u(""),i=u(""),o=u(""),c=u({}),r=u(!1),f=w(()=>{const{custom_css:a,custom_js:t,custom_html:s}=c.value;return a===n.value&&t===i.value&&s===o.value||r.value});async function x(){if(f.value)return;o.value&&b();const a={custom_css:n.value,custom_js:i.value,custom_html:o.value};r.value=!0;try{const t=await h.post("/set-custom-data",{action:"lofty_idx_customization",data:{config:a}});c.value=a,_("Save succeed"),l.value=!0}catch{_("Save failed. Please try again",{err:!0})}r.value=!1}function b(){const a=[],t=/<(meta|title|script|link)\b[^>]*>([\s\S]*?<\/\1>)?|<(meta|link)\b[^>]*\/?>/gi;let s;for(;(s=t.exec(o.value))!==null;)a.push(s[0]);o.value=a.join(`
    2 `)}function C(){l.value=!1}function k(){l.value=!0;const{custom_css:a,custom_js:t,custom_html:s}=c.value;n.value=a,i.value=t,o.value=s}return P(async()=>{try{const t=(await h.get("/get-custom-data",{action:"lofty_idx_customization"})).data;c.value=t,n.value=t.custom_css,i.value=t.custom_js,o.value=t.custom_html}catch(a){_("Error fetch custom data:"+a.message,{err:!0})}}),(a,t)=>(d(),v("div",M,[e("main",A,[t[7]||(t[7]=e("header",null,[e("h1",null,"Customization"),e("p",{class:"description"},"Supports customized code injection and global style configuration, applied to all IDX Pages")],-1)),e("div",B,[t[3]||(t[3]=e("h2",null,"Configuration",-1)),l.value?(d(),v("button",{key:0,class:"btn btn-edit",onClick:m(C,["prevent"])},"Edit")):(d(),v("div",E,[e("button",{class:"btn",onClick:m(k,["prevent"])},"Cancel"),e("button",{class:j(["btn btn-save",{disable:z(f)}]),onClick:m(x,["prevent"])},D(r.value?"Saving..":"Save Changes"),3)]))]),e("section",T,[e("div",U,[e("div",V,[t[4]||(t[4]=e("div",{class:"title"},[e("div",null,"add css to IDX stylesheet"),e("div",null,"Add CSS overrides to all pages")],-1)),p(e("textarea",{name:"page-css",rows:"7",maxlength:"50000","onUpdate:modelValue":t[0]||(t[0]=s=>n.value=s),placeholder:"Type something…",readonly:l.value},null,8,I),[[g,n.value]])]),e("div",X,[t[5]||(t[5]=e("div",{class:"title"},[e("div",null,"add code to idx content"),e("div",null,"Add scripts and other HTML to all pages")],-1)),p(e("textarea",{name:"page-js",rows:"7",maxlength:"50000","onUpdate:modelValue":t[1]||(t[1]=s=>i.value=s),placeholder:"Please enter the script tag code, eg:<script>console.log(1)<\/script>",readonly:l.value},null,8,q),[[g,i.value]])]),e("div",J,[t[6]||(t[6]=e("div",{class:"title"},[e("div",null,"add code to Page head"),e("div",null,"Add meta, title, link, and script elements to the <head> tag of all idx pages.")],-1)),p(e("textarea",{name:"page-head-html",rows:"7",maxlength:"50000","onUpdate:modelValue":t[2]||(t[2]=s=>o.value=s),placeholder:'Please enter the meta tag information, eg:<meta name="test name" content="test content">',readonly:l.value},null,8,L),[[g,o.value]])])])])])]))}},Q=S(N,[["__scopeId","data-v-6cf3f49c"]]);y(H).mount("#plugin-check");y(Q).mount("#app");
     1import{_ as S,h}from"./_plugin-vue_export-helper.bB-lvPOu.js";/* empty css               */import{r as u,c as w,U as P,o as d,g as v,e,z as m,y as j,u as z,t as D,q as p,v as g,D as y}from"./vendor.DSMCY3-_.js";import{s as _,P as H}from"./PluginUpdate.D0brfHtJ.js";import"./user.B_wb9Yeq.js";const M={class:"lofty-admin-container"},U={class:"main-content"},A={class:"header"},B={key:1,class:"btn-group"},E={class:"configuration"},T={class:"form-groups"},V={class:"form-group"},I=["readonly"],X={class:"form-group"},q=["readonly"],J={class:"form-group"},L=["readonly"],N={__name:"page",setup(G){const l=u(!0),n=u(""),i=u(""),o=u(""),c=u({}),r=u(!1),f=w(()=>{const{custom_css:a,custom_js:t,custom_html:s}=c.value;return a===n.value&&t===i.value&&s===o.value||r.value});async function x(){if(f.value)return;o.value&&b();const a={custom_css:n.value,custom_js:i.value,custom_html:o.value};r.value=!0;try{const t=await h.post("/set-custom-data",{action:"lofty_idx_customization",data:{config:a}});c.value=a,_("Save succeed"),l.value=!0}catch{_("Save failed. Please try again",{err:!0})}r.value=!1}function b(){const a=[],t=/<(meta|title|script|link)\b[^>]*>([\s\S]*?<\/\1>)?|<(meta|link)\b[^>]*\/?>/gi;let s;for(;(s=t.exec(o.value))!==null;)a.push(s[0]);o.value=a.join(`
     2`)}function C(){l.value=!1}function k(){l.value=!0;const{custom_css:a,custom_js:t,custom_html:s}=c.value;n.value=a,i.value=t,o.value=s}return P(async()=>{try{const t=(await h.get("/get-custom-data",{action:"lofty_idx_customization"})).data;c.value=t,n.value=t.custom_css,i.value=t.custom_js,o.value=t.custom_html}catch(a){_("Error fetch custom data:"+a.message,{err:!0})}}),(a,t)=>(d(),v("div",M,[e("main",U,[t[7]||(t[7]=e("header",null,[e("h1",null,"Customization"),e("p",{class:"description"},"Supports customized code injection and global style configuration, applied to all IDX Pages")],-1)),e("div",A,[t[3]||(t[3]=e("h2",null,"Configuration",-1)),l.value?(d(),v("button",{key:0,class:"btn btn-edit",onClick:m(C,["prevent"])},"Edit")):(d(),v("div",B,[e("button",{class:"btn",onClick:m(k,["prevent"])},"Cancel"),e("button",{class:j(["btn btn-save",{disable:z(f)}]),onClick:m(x,["prevent"])},D(r.value?"Saving..":"Save Changes"),3)]))]),e("section",E,[e("div",T,[e("div",V,[t[4]||(t[4]=e("div",{class:"title"},[e("div",null,"add css to IDX stylesheet"),e("div",null,"Add CSS overrides to all pages")],-1)),p(e("textarea",{name:"page-css",rows:"7",maxlength:"50000","onUpdate:modelValue":t[0]||(t[0]=s=>n.value=s),placeholder:"Type something…",readonly:l.value},null,8,I),[[g,n.value]])]),e("div",X,[t[5]||(t[5]=e("div",{class:"title"},[e("div",null,"add code to idx content"),e("div",null,"Add scripts and other HTML to all pages")],-1)),p(e("textarea",{name:"page-js",rows:"7",maxlength:"50000","onUpdate:modelValue":t[1]||(t[1]=s=>i.value=s),placeholder:"Please enter the script tag code, eg:<script>console.log(1)<\/script>",readonly:l.value},null,8,q),[[g,i.value]])]),e("div",J,[t[6]||(t[6]=e("div",{class:"title"},[e("div",null,"add code to Page head"),e("div",null,"Add meta, title, link, and script elements to the <head> tag of all idx pages.")],-1)),p(e("textarea",{name:"page-head-html",rows:"7",maxlength:"50000","onUpdate:modelValue":t[2]||(t[2]=s=>o.value=s),placeholder:'Please enter the meta tag information, eg:<meta name="test name" content="test content">',readonly:l.value},null,8,L),[[g,o.value]])])])])])]))}},F=S(N,[["__scopeId","data-v-6cf3f49c"]]);y(H).mount("#plugin-check");y(F).mount("#app");
  • lofty-idx/trunk/assets/admin-lead-setting.js

    r3312310 r3333213  
    1 import{_,t as ee,h as L}from"./_plugin-vue_export-helper.BXwY9aDM.js";/* empty css               */import{k as E,L as W,a as M,l as te,p as le,o as v,g as V,e as t,z as A,m,w as R,f,q as u,u as l,v as w,H as oe,r as P,d as $,t as x,s as ne,Y as b,F as U,j as O,x as C,K as ae,c as se,h as ie,i as ue,D as J}from"./vendor.NEC4PHgy.js";import{P as H,J as re,L as K,I as q,S as de}from"./SubmitJs.DWmn7Vod.js";import{P as pe}from"./index.zlpipePe.js";import{s as T,P as ge}from"./PluginUpdate.DdDy_9Ji.js";import{C as F}from"./checkBox.CSsbXmX7.js";import{g as me,F as ce,G as fe,C as z}from"./google.xpY_32OC.js";import{g as ve}from"./user.C9PYqYHM.js";import{T as h}from"./tooltip.Chr6RZhw.js";import"./outsideclick.Bw_hMuzW.js";const ye=[{title:"Registration",visible:!0,items:[{title:"Basic Settings",path:"basicSetting",component:"BasicSetting",visible:!0},{title:"Disclaimer",path:"disclaimer",component:"Disclaimer",visible:!0},{title:"Pop-up Trigger Rule",path:"trigger-rule",component:"TriggerRule",visible:!0}]}],be={class:"lofty-disclaimer",ref:"root"},Re={class:"pop-disclaimer-container"},Se={class:"disclaimer-pop-body"},xe={__name:"disclaimerInput",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(S,{expose:a}){const o=E("editorRich"),p=E("popRef"),y=E("root"),g=W(S,"modelValue"),d=M({name:"",url:""});function r(){p.value.close()}function e(){d.name&&d&&(Y(),p.value.close())}function n(){d.name="",d.url="",p.value.open()}let I=null;function Y(){oe(()=>{let i=o.value;I||X();let s=document.createElement("a");if(s.className="lofty-a-link",s.setAttribute("contenteditable","false"),s.setAttribute("href",d.url),s.setAttribute("target","_blank"),s.setAttribute("rel","noopener noreferrer"),s.innerHTML=`${d.name}`,!I)return;I.insertNode(s);let c=window.getSelection();c.collapseToEnd(),c.removeAllRanges(),i.blur(),N()})}function j(i){let s=window.getSelection();if(s.rangeCount<=0)return;let c=s.getRangeAt(0),k=i.target,D=k.classList||null;D&&D.contains("lofty-a-link")&&(c.selectNode(k),c.collapse(!1),s.removeAllRanges(),s.addRange(c)),N()}function X(){let i=document.createRange(),s=window.getSelection();i.selectNodeContents(o.value),i.collapse(!1),s.removeAllRanges(),s.addRange(i),I=B()}function B(){const i=document.getSelection();return i.rangeCount<=0?null:i.getRangeAt(0)}function G(i){if(g.value.length>2e3&&i.key!=="Backspace"&&i.key!=="Delete"){i.preventDefault();return}ee(()=>{i.type==="keyup"&&N()})()}function Q(i){if(I&&i.clipboardData){let s=i.clipboardData.getData("text/plain"),c=document.createTextNode(s.slice(0,2e3)),k=I,D=window.getSelection();D.deleteFromDocument(),k.insertNode(c),k.setStartAfter(c),k.setEndAfter(c),k.collapse(!1),D.removeAllRanges(),D.addRange(k),i.preventDefault(),N()}}function N(){I=B(),o.value&&(g.value=o.value.innerHTML.replace("<br>",""))}function Z(){const i=document.createElement("textarea");i.innerHTML=o.value.innerHTML;let s=i.value;return s=s.replace(/<(?!a\b|\/a\b|br\b)[^>]*>/gi,""),s=s.replace(/<br\s*\/?>/gi,""),s}return te(()=>{o.value.style.width=y.value.clientWidth+"px"}),a({getValueString:Z}),le(()=>g.value,i=>{o.value.innerHTML=i},{once:!0}),(i,s)=>(v(),V("div",be,[t("div",{class:"disclaimer-title"},[s[3]||(s[3]=t("label",null,"DISCLAIMER",-1)),t("span",{class:"insert-variable",onClick:n},s[2]||(s[2]=[t("span",{class:"plus-icon"},"+",-1),t("span",null,"Add hyperlink",-1)]))]),t("div",{class:"disclaimer-content",ref_key:"editorRich",ref:o,placeholder:"By checking this box, I confirm that I have read and agree to the Terms of Service, Privacy Policy, and E-Signature Disclosure.",contenteditable:"",onKeyup:G,onKeydown:G,onPaste:Q,onClick:A(j,["stop"])},null,544),m(pe,{ref_key:"popRef",ref:p,allowClose:!1},{default:R(()=>[t("div",Re,[t("div",{class:"title"},[s[4]||(s[4]=f(" Add Hyperlink ")),t("i",{class:"lofty_iconfont lofty-icon-close",onClick:r})]),t("div",Se,[s[5]||(s[5]=t("label",null,"HYPERLINK TEXT",-1)),u(t("input",{"onUpdate:modelValue":s[0]||(s[0]=c=>l(d).name=c),type:"text"},null,512),[[w,l(d).name]]),s[6]||(s[6]=t("label",null,"URL",-1)),u(t("input",{"onUpdate:modelValue":s[1]||(s[1]=c=>l(d).url=c),type:"text"},null,512),[[w,l(d).url]])]),t("div",{class:"disclaimer-footer"},[t("div",{class:"footer-cancel",onClick:r},"Cancel"),t("div",{class:"footer-save",onClick:e},"Save")])])]),_:1},512)],512))}},ke=_(xe,[["__scopeId","data-v-ab7f05fa"]]),Te={class:"lofty-content"},Ve={__name:"index",setup(S){const a=P(""),o=P(!1),p=E("disclaimerInput");g();async function y(){o.value=!0;const d={disclaimer:a.value,disclaimerHtml:p.value.getValueString()},r=await L.post("/save-data/data/update",{data:d});o.value=!1,r.data?T("Saved Successfully"):T("Save failed. Please try again.",{duration:3e3,err:!0})}async function g(){const d=await L.get("/save-data/common-info");d.data.commonData&&(a.value=d.data.commonData.disclaimerHtml||"")}return(d,r)=>(v(),$(H,{title:"Disclaimer",description:"Once the configuration is complete, the content will be displayed as a checkbox on the Home Valuation registration page."},{button:R(()=>[t("button",{class:"btn-save",onClick:A(y,["prevent"])},x(l(o)?"Saving..":"Save"),1)]),default:R(()=>[t("div",Te,[m(ke,{modelValue:l(a),"onUpdate:modelValue":r[0]||(r[0]=e=>ne(a)?a.value=e:null),ref_key:"disclaimerInput",ref:p},null,8,["modelValue"])])]),_:1}))}},Ie=_(Ve,[["__scopeId","data-v-208bbb35"]]),we="/login-setting-preview.BjeH_jgs.png",Ce={class:"form-groups setting-content"},Pe={class:"login-config"},De={class:"form-group"},Le={class:"form-group"},_e={class:"form-group"},Ne={style:{"font-size":"13px"}},Ee={style:{"margin-left":"30px","font-size":"13px"}},Ue={class:"form-group"},Ae={style:{"font-size":"13px"}},$e={style:{"margin-left":"30px","font-size":"13px"}},Oe={class:"form-group"},Me={class:"form-group"},He={class:"third-party-row"},Be={class:"third-party-row"},Ge={class:"form-group textarea mt30"},qe={class:"right-preview"},Fe=["src"],ze={class:"sign-title lofty-ellipsis"},he={class:"sign-desc"},We={class:"sign-button"},Je={class:"full-name-required"},Ke={class:"phone-number-required"},Ye={class:"third-party-login"},je=["src"],Xe=["src"],Qe={__name:"index",setup(S){const a=LoftyIdxUtils.static_url(we),o=M(me());g();const p=P(!1),y=P(!0);async function g(){const r=await L.get("/save-data/common-info");if(y.value=!1,r.data.commonData){const e=r.data.commonData.loginSetting||{};for(let n in e)o[n]=e[n]}}async function d(){if(o.facebookLogin&&!o.facebookClientId){T("Please input your facebook Client ID");return}if(o.googleLogin&&!o.googleClientId){T("Please input your google Client ID");return}p.value=!0;const r={loginSetting:o},e=await L.post("/save-data/data/update",{data:r});p.value=!1,e.data?T("Saved Successfully"):T("Save failed. Please try again.",{duration:3e3,err:!0})}return(r,e)=>(v(),$(H,{title:"Basic Settings",description:"Set the Style of registration."},{button:R(()=>[t("button",{class:"btn-save",onClick:A(d,["prevent"])},x(l(p)?"Saving..":"Save"),1)]),default:R(()=>[t("div",Ce,[t("div",Pe,[t("div",De,[e[14]||(e[14]=t("label",null,"TITLE",-1)),u(t("input",{"onUpdate:modelValue":e[0]||(e[0]=n=>l(o).title=n),type:"text",maxlength:"50"},null,512),[[w,l(o).title]])]),t("div",Le,[e[15]||(e[15]=t("label",null,"DESCRIPTION",-1)),u(t("input",{"onUpdate:modelValue":e[1]||(e[1]=n=>l(o).description=n),type:"text",maxlength:"400"},null,512),[[w,l(o).description]])]),t("div",_e,[e[18]||(e[18]=t("label",null,"FULL NAME",-1)),t("div",null,[t("span",Ne,[u(t("input",{"onUpdate:modelValue":e[2]||(e[2]=n=>l(o).fullNameRequired=n),type:"radio",name:"name",value:!0},null,512),[[b,l(o).fullNameRequired]]),e[16]||(e[16]=f("Required "))]),t("span",Ee,[u(t("input",{"onUpdate:modelValue":e[3]||(e[3]=n=>l(o).fullNameRequired=n),type:"radio",name:"name",value:!1},null,512),[[b,l(o).fullNameRequired]]),e[17]||(e[17]=f("Optional "))])])]),t("div",Ue,[e[21]||(e[21]=t("label",null,"INPUT PHONE",-1)),t("div",null,[t("span",Ae,[u(t("input",{"onUpdate:modelValue":e[4]||(e[4]=n=>l(o).phoneNumberRequired=n),type:"radio",name:"phone",value:!0},null,512),[[b,l(o).phoneNumberRequired]]),e[19]||(e[19]=f("Required "))]),t("span",$e,[u(t("input",{"onUpdate:modelValue":e[5]||(e[5]=n=>l(o).phoneNumberRequired=n),type:"radio",name:"phone",value:!1},null,512),[[b,l(o).phoneNumberRequired]]),e[20]||(e[20]=f("Optional "))])])]),t("div",Oe,[e[22]||(e[22]=t("label",null,"BUTTON TEXT",-1)),u(t("input",{"onUpdate:modelValue":e[6]||(e[6]=n=>l(o).buttonText=n),type:"text",maxlength:"20"},null,512),[[w,l(o).buttonText]])]),t("div",Me,[e[29]||(e[29]=t("label",null,"ADD THIRD PARTY REGISTRATION",-1)),t("div",He,[m(F,{modelValue:l(o).facebookLogin,"onUpdate:modelValue":[e[7]||(e[7]=n=>l(o).facebookLogin=n),e[8]||(e[8]=n=>l(o).facebookLogin=n)]},null,8,["modelValue"]),e[25]||(e[25]=t("span",{class:"name"},"Facebook",-1)),l(o).facebookLogin?(v(),V(U,{key:0},[e[23]||(e[23]=t("span",{class:"id-label"},"Client ID",-1)),e[24]||(e[24]=t("a",{href:"https://developers.facebook.com/docs/development/create-an-app",target:"_blank"},"How to get?",-1)),u(t("input",{class:"id-input","onUpdate:modelValue":e[9]||(e[9]=n=>l(o).facebookClientId=n),type:"text",maxlength:"200",placeholder:"Please input your Client ID"},null,512),[[w,l(o).facebookClientId]])],64)):O("",!0)]),t("div",Be,[m(F,{modelValue:l(o).googleLogin,"onUpdate:modelValue":[e[10]||(e[10]=n=>l(o).googleLogin=n),e[11]||(e[11]=n=>l(o).googleLogin=n)]},null,8,["modelValue"]),e[28]||(e[28]=t("span",{class:"name"},"Google",-1)),l(o).googleLogin?(v(),V(U,{key:0},[e[26]||(e[26]=t("span",{class:"id-label"},"Client ID",-1)),e[27]||(e[27]=t("a",{href:"https://developers.google.com/identity/sign-in/web/sign-in",target:"_blank"},"How to get?",-1)),u(t("input",{class:"id-input","onUpdate:modelValue":e[12]||(e[12]=n=>l(o).googleClientId=n),type:"text",maxlength:"200",placeholder:"Please input your Client ID"},null,512),[[w,l(o).googleClientId]])],64)):O("",!0)]),t("div",Ge,[m(re,{modelValue:l(o).submitJs,"onUpdate:modelValue":e[13]||(e[13]=n=>l(o).submitJs=n),desc:"The following code will be executed after a successful registration or login (including Facebook and Google)."},null,8,["modelValue"])])])]),t("div",qe,[e[30]||(e[30]=t("div",{class:"title"},"Preview",-1)),t("img",{class:"preview-image",src:l(a),alt:""},null,8,Fe),t("div",ze,x(l(o).title),1),t("div",he,x(l(o).description),1),t("div",We,x(l(o).buttonText),1),u(t("div",Je,"*",512),[[C,l(o).fullNameRequired]]),u(t("div",Ke,"*",512),[[C,l(o).phoneNumberRequired]]),t("div",Ye,[u(t("img",{src:l(ce),class:"lofty_iconfont",alt:"facebook"},null,8,je),[[C,l(o).facebookLogin]]),u(t("img",{src:l(fe),class:"lofty_iconfont",alt:"google"},null,8,Xe),[[C,l(o).googleLogin]])])]),m(K,{loading:l(y)},null,8,["loading"])])]),_:1}))}},Ze=_(Qe,[["__scopeId","data-v-c0adfb8c"]]),et={class:"lofty-check-group"},tt={class:"lofty-check-group-item"},lt=["onClick"],ot={__name:"group",props:ae({groups:{type:Array,default:()=>[]}},{modelValue:{default:[]},modelModifiers:{}}),emits:["update:modelValue"],setup(S){const a=W(S,"modelValue"),o=se(()=>a.value.length===S.groups.length);function p(){a.value=o.value?[]:S.groups.map(g=>g.value)}function y(g){a.value.includes(g)?a.value.splice(a.value.indexOf(g),1):a.value.push(g)}return(g,d)=>(v(),V("div",et,[t("div",tt,[m(z,{"model-value":l(o),onChange:p},null,8,["model-value"]),d[0]||(d[0]=t("span",null,"All",-1))]),(v(!0),V(U,null,ie(S.groups,r=>(v(),V("div",{class:"lofty-check-group-item",key:r.value,onClick:e=>y(r.value)},[m(z,{"model-value":a.value.includes(r.value)},null,8,["model-value"]),t("span",null,x(r.label),1)],8,lt))),128))]))}},nt=_(ot,[["__scopeId","data-v-9e4402b0"]]),at={class:"form-groups"},st={class:"form-group"},it={style:{"font-size":"13px"}},ut={style:{"margin-left":"30px","font-size":"13px"}},rt={style:{"margin-left":"30px","font-size":"13px"}},dt={class:"form-group"},pt={class:"form-group"},gt={style:{"font-size":"13px"}},mt={style:{"margin-left":"30px","font-size":"13px"}},ct={class:"form-group"},ft={class:"form-group"},vt={class:"form-group"},yt={style:{"font-size":"13px"}},bt={style:{"margin-left":"30px","font-size":"13px"}},Rt={__name:"index",setup(S){const a=M(ve()),o=P(!1),p=[{label:"Search",value:"search"},{label:"Featured Listings",value:"featured_listing"},{label:"Listing Detail",value:"listing_detail"},{label:"Sold Listings",value:"sold_listing"},{label:"Sold Listings Detail",value:"sold_listing_detail"}];d();async function y(){o.value=!0;const r={triggerRule:a},e=await L.post("/save-data/data/update",{data:r});o.value=!1,e.data?T("Saved Successfully"):T("Save failed. Please try again.",{duration:3e3,err:!0})}const g=P(!0);async function d(){const r=await L.get("/save-data/common-info");if(g.value=!1,r.data.commonData){const e=r.data.commonData.triggerRule||{};for(let n in e)a[n]=e[n]}}return(r,e)=>(v(),$(H,{title:"Pop-up Trigger Rule",description:"Set the Pop-up Trigger Rule for registration, which allows you to customize exactly when the forced registration pop-up will appear on your IDX website to capture lead information."},{button:R(()=>[t("button",{class:"btn-save",onClick:A(y,["prevent"])},x(l(o)?"Saving..":"Save"),1)]),default:R(()=>[t("div",at,[t("div",st,[e[13]||(e[13]=t("label",null,"TRIGGER REGISTRATION ON",-1)),t("div",null,[t("span",it,[u(t("input",{"onUpdate:modelValue":e[0]||(e[0]=n=>l(a).place=n),type:"radio",name:"place",value:"detail"},null,512),[[b,l(a).place]]),e[10]||(e[10]=f("Listing Detail Pages "))]),t("span",ut,[u(t("input",{"onUpdate:modelValue":e[1]||(e[1]=n=>l(a).place=n),type:"radio",name:"place",value:"page"},null,512),[[b,l(a).place]]),e[11]||(e[11]=f("Selected Pages "))]),t("span",rt,[u(t("input",{"onUpdate:modelValue":e[2]||(e[2]=n=>l(a).place=n),type:"radio",name:"place",value:"none"},null,512),[[b,l(a).place]]),e[12]||(e[12]=f("Never Trigger Registration Pop-up "))])])]),u(t("div",dt,[e[14]||(e[14]=t("label",null,"SELECT PAGES",-1)),m(nt,{modelValue:l(a).selectPages,"onUpdate:modelValue":e[3]||(e[3]=n=>l(a).selectPages=n),groups:p},null,8,["modelValue"])],512),[[C,l(a).place==="page"]]),l(a).place!=="none"?(v(),V(U,{key:0},[t("div",pt,[e[18]||(e[18]=t("label",null,"HOW TO TRIGGER",-1)),t("div",null,[t("span",gt,[u(t("input",{"onUpdate:modelValue":e[4]||(e[4]=n=>l(a).type=n),type:"radio",name:"triggerType",value:"count"},null,512),[[b,l(a).type]]),f("Trigger Registration Pop-up based on "+x(l(a).place==="page"?"Page":"Listing")+" Views ",1)]),t("span",mt,[u(t("input",{"onUpdate:modelValue":e[5]||(e[5]=n=>l(a).type=n),type:"radio",name:"triggerType",value:"time"},null,512),[[b,l(a).type]]),e[15]||(e[15]=f("Trigger Registration Pop-up based on Browsing Time "))]),t("span",null,[m(h,null,{trigger:R(()=>e[16]||(e[16]=[t("span",{class:"lofty_iconfont lofty-icon-help"},null,-1)])),content:R(()=>e[17]||(e[17]=[t("span",{class:"help-tip"}," Refers to the time spent on each page ",-1)])),_:1})])])]),u(t("div",ct,[t("label",null,"POP UP AFTER (NUMBER OF "+x(l(a).place==="page"?"PAGE":"LISTING")+" VIEWS)",1),m(q,{modelValue:l(a).count,"onUpdate:modelValue":e[6]||(e[6]=n=>l(a).count=n),min:1},null,8,["modelValue"])],512),[[C,l(a).type==="count"]]),u(t("div",ft,[e[19]||(e[19]=t("label",null,"POP UP AFTER BROWSING FOR (SECONDS)",-1)),m(q,{modelValue:l(a).time,"onUpdate:modelValue":e[7]||(e[7]=n=>l(a).time=n),min:1},null,8,["modelValue"])],512),[[C,l(a).type==="time"]]),t("div",vt,[t("label",null,[e[22]||(e[22]=f("ALLOW FOR POP-UP TO BE CLOSED PRIOR TO REGISTRATION ")),m(h,null,{trigger:R(()=>e[20]||(e[20]=[t("span",{class:"lofty_iconfont lofty-icon-help"},null,-1)])),content:R(()=>e[21]||(e[21]=[t("span",{class:"help-tip"}," Is this allowed to close when pop-up is triggered according to the rule? ",-1)])),_:1})]),t("div",null,[t("span",yt,[u(t("input",{"onUpdate:modelValue":e[8]||(e[8]=n=>l(a).allowClose=n),type:"radio",name:"allowClose",value:!0},null,512),[[b,l(a).allowClose]]),e[23]||(e[23]=f("YES "))]),t("span",bt,[u(t("input",{"onUpdate:modelValue":e[9]||(e[9]=n=>l(a).allowClose=n),type:"radio",name:"allowClose",value:!1},null,512),[[b,l(a).allowClose]]),e[24]||(e[24]=f("NO "))])])])],64)):O("",!0),m(K,{loading:l(g)},null,8,["loading"])])]),_:1}))}},St=_(Rt,[["__scopeId","data-v-8684369e"]]),xt={Disclaimer:Ie,BasicSetting:Ze,TriggerRule:St},kt={class:"lofty-admin-container"},Tt={class:"main-content"},Vt={__name:"app",setup(S){let a=P("");function o(p){a.value=xt[p.component]}return(p,y)=>(v(),V("div",kt,[m(de,{menuSections:l(ye),onMenuItemClick:o},null,8,["menuSections"]),t("main",Tt,[(v(),$(ue(l(a))))])]))}},It=_(Vt,[["__scopeId","data-v-44f3c6bd"]]);J(It).mount("#app");J(ge).mount("#plugin-check");
     1import{_,t as ee,h as L}from"./_plugin-vue_export-helper.bB-lvPOu.js";/* empty css               */import{k as E,L as W,a as M,l as te,p as le,o as v,g as V,e as t,z as A,m,w as R,f,q as u,u as l,v as w,H as oe,r as P,d as $,t as x,s as ne,X as b,F as U,j as O,x as C,K as ae,c as se,h as ie,i as ue,D as J}from"./vendor.DSMCY3-_.js";import{P as H,J as re,L as K,I as q,S as de}from"./SubmitJs.CFwKS8Wv.js";import{P as pe}from"./index.BPxU_3zo.js";import{s as T,P as ge}from"./PluginUpdate.D0brfHtJ.js";import{C as F}from"./checkBox.nJJrXg5E.js";import{g as me,F as ce,G as fe,C as z}from"./google.COqmJ1I4.js";import{g as ve}from"./user.B_wb9Yeq.js";import{T as h}from"./tooltip.D1TTPwD5.js";import"./outsideclick.Bw_hMuzW.js";const ye=[{title:"Registration",visible:!0,items:[{title:"Basic Settings",path:"basicSetting",component:"BasicSetting",visible:!0},{title:"Disclaimer",path:"disclaimer",component:"Disclaimer",visible:!0},{title:"Pop-up Trigger Rule",path:"trigger-rule",component:"TriggerRule",visible:!0}]}],be={class:"lofty-disclaimer",ref:"root"},Re={class:"pop-disclaimer-container"},Se={class:"disclaimer-pop-body"},xe={__name:"disclaimerInput",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(S,{expose:a}){const o=E("editorRich"),p=E("popRef"),y=E("root"),g=W(S,"modelValue"),d=M({name:"",url:""});function r(){p.value.close()}function e(){d.name&&d&&(X(),p.value.close())}function n(){d.name="",d.url="",p.value.open()}let I=null;function X(){oe(()=>{let i=o.value;I||Y();let s=document.createElement("a");if(s.className="lofty-a-link",s.setAttribute("contenteditable","false"),s.setAttribute("href",d.url),s.setAttribute("target","_blank"),s.setAttribute("rel","noopener noreferrer"),s.innerHTML=`${d.name}`,!I)return;I.insertNode(s);let c=window.getSelection();c.collapseToEnd(),c.removeAllRanges(),i.blur(),N()})}function j(i){let s=window.getSelection();if(s.rangeCount<=0)return;let c=s.getRangeAt(0),k=i.target,D=k.classList||null;D&&D.contains("lofty-a-link")&&(c.selectNode(k),c.collapse(!1),s.removeAllRanges(),s.addRange(c)),N()}function Y(){let i=document.createRange(),s=window.getSelection();i.selectNodeContents(o.value),i.collapse(!1),s.removeAllRanges(),s.addRange(i),I=B()}function B(){const i=document.getSelection();return i.rangeCount<=0?null:i.getRangeAt(0)}function G(i){if(g.value.length>2e3&&i.key!=="Backspace"&&i.key!=="Delete"){i.preventDefault();return}ee(()=>{i.type==="keyup"&&N()})()}function Q(i){if(I&&i.clipboardData){let s=i.clipboardData.getData("text/plain"),c=document.createTextNode(s.slice(0,2e3)),k=I,D=window.getSelection();D.deleteFromDocument(),k.insertNode(c),k.setStartAfter(c),k.setEndAfter(c),k.collapse(!1),D.removeAllRanges(),D.addRange(k),i.preventDefault(),N()}}function N(){I=B(),o.value&&(g.value=o.value.innerHTML.replace("<br>",""))}function Z(){const i=document.createElement("textarea");i.innerHTML=o.value.innerHTML;let s=i.value;return s=s.replace(/<(?!a\b|\/a\b|br\b)[^>]*>/gi,""),s=s.replace(/<br\s*\/?>/gi,""),s}return te(()=>{o.value.style.width=y.value.clientWidth+"px"}),a({getValueString:Z}),le(()=>g.value,i=>{o.value.innerHTML=i},{once:!0}),(i,s)=>(v(),V("div",be,[t("div",{class:"disclaimer-title"},[s[3]||(s[3]=t("label",null,"DISCLAIMER",-1)),t("span",{class:"insert-variable",onClick:n},s[2]||(s[2]=[t("span",{class:"plus-icon"},"+",-1),t("span",null,"Add hyperlink",-1)]))]),t("div",{class:"disclaimer-content",ref_key:"editorRich",ref:o,placeholder:"By checking this box, I confirm that I have read and agree to the Terms of Service, Privacy Policy, and E-Signature Disclosure.",contenteditable:"",onKeyup:G,onKeydown:G,onPaste:Q,onClick:A(j,["stop"])},null,544),m(pe,{ref_key:"popRef",ref:p,allowClose:!1},{default:R(()=>[t("div",Re,[t("div",{class:"title"},[s[4]||(s[4]=f(" Add Hyperlink ")),t("i",{class:"lofty_iconfont lofty-icon-close",onClick:r})]),t("div",Se,[s[5]||(s[5]=t("label",null,"HYPERLINK TEXT",-1)),u(t("input",{"onUpdate:modelValue":s[0]||(s[0]=c=>l(d).name=c),type:"text"},null,512),[[w,l(d).name]]),s[6]||(s[6]=t("label",null,"URL",-1)),u(t("input",{"onUpdate:modelValue":s[1]||(s[1]=c=>l(d).url=c),type:"text"},null,512),[[w,l(d).url]])]),t("div",{class:"disclaimer-footer"},[t("div",{class:"footer-cancel",onClick:r},"Cancel"),t("div",{class:"footer-save",onClick:e},"Save")])])]),_:1},512)],512))}},ke=_(xe,[["__scopeId","data-v-ab7f05fa"]]),Te={class:"lofty-content"},Ve={__name:"index",setup(S){const a=P(""),o=P(!1),p=E("disclaimerInput");g();async function y(){o.value=!0;const d={disclaimer:a.value,disclaimerHtml:p.value.getValueString()},r=await L.post("/save-data/data/update",{data:d});o.value=!1,r.data?T("Saved Successfully"):T("Save failed. Please try again.",{duration:3e3,err:!0})}async function g(){const d=await L.get("/save-data/common-info");d.data.commonData&&(a.value=d.data.commonData.disclaimerHtml||"")}return(d,r)=>(v(),$(H,{title:"Disclaimer",description:"Once the configuration is complete, the content will be displayed as a checkbox on the Home Valuation registration page."},{button:R(()=>[t("button",{class:"btn-save",onClick:A(y,["prevent"])},x(l(o)?"Saving..":"Save"),1)]),default:R(()=>[t("div",Te,[m(ke,{modelValue:l(a),"onUpdate:modelValue":r[0]||(r[0]=e=>ne(a)?a.value=e:null),ref_key:"disclaimerInput",ref:p},null,8,["modelValue"])])]),_:1}))}},Ie=_(Ve,[["__scopeId","data-v-208bbb35"]]),we="/login-setting-preview.BjeH_jgs.png",Ce={class:"form-groups setting-content"},Pe={class:"login-config"},De={class:"form-group"},Le={class:"form-group"},_e={class:"form-group"},Ne={style:{"font-size":"13px"}},Ee={style:{"margin-left":"30px","font-size":"13px"}},Ue={class:"form-group"},Ae={style:{"font-size":"13px"}},$e={style:{"margin-left":"30px","font-size":"13px"}},Oe={class:"form-group"},Me={class:"form-group"},He={class:"third-party-row"},Be={class:"third-party-row"},Ge={class:"form-group textarea mt30"},qe={class:"right-preview"},Fe=["src"],ze={class:"sign-title lofty-ellipsis"},he={class:"sign-desc"},We={class:"sign-button"},Je={class:"full-name-required"},Ke={class:"phone-number-required"},Xe={class:"third-party-login"},je=["src"],Ye=["src"],Qe={__name:"index",setup(S){const a=LoftyIdxUtils.static_url(we),o=M(me());g();const p=P(!1),y=P(!0);async function g(){const r=await L.get("/save-data/common-info");if(y.value=!1,r.data.commonData){const e=r.data.commonData.loginSetting||{};for(let n in e)o[n]=e[n]}}async function d(){if(o.facebookLogin&&!o.facebookClientId){T("Please input your facebook Client ID");return}if(o.googleLogin&&!o.googleClientId){T("Please input your google Client ID");return}p.value=!0;const r={loginSetting:o},e=await L.post("/save-data/data/update",{data:r});p.value=!1,e.data?T("Saved Successfully"):T("Save failed. Please try again.",{duration:3e3,err:!0})}return(r,e)=>(v(),$(H,{title:"Basic Settings",description:"Set the Style of registration."},{button:R(()=>[t("button",{class:"btn-save",onClick:A(d,["prevent"])},x(l(p)?"Saving..":"Save"),1)]),default:R(()=>[t("div",Ce,[t("div",Pe,[t("div",De,[e[14]||(e[14]=t("label",null,"TITLE",-1)),u(t("input",{"onUpdate:modelValue":e[0]||(e[0]=n=>l(o).title=n),type:"text",maxlength:"50"},null,512),[[w,l(o).title]])]),t("div",Le,[e[15]||(e[15]=t("label",null,"DESCRIPTION",-1)),u(t("input",{"onUpdate:modelValue":e[1]||(e[1]=n=>l(o).description=n),type:"text",maxlength:"400"},null,512),[[w,l(o).description]])]),t("div",_e,[e[18]||(e[18]=t("label",null,"FULL NAME",-1)),t("div",null,[t("span",Ne,[u(t("input",{"onUpdate:modelValue":e[2]||(e[2]=n=>l(o).fullNameRequired=n),type:"radio",name:"name",value:!0},null,512),[[b,l(o).fullNameRequired]]),e[16]||(e[16]=f("Required "))]),t("span",Ee,[u(t("input",{"onUpdate:modelValue":e[3]||(e[3]=n=>l(o).fullNameRequired=n),type:"radio",name:"name",value:!1},null,512),[[b,l(o).fullNameRequired]]),e[17]||(e[17]=f("Optional "))])])]),t("div",Ue,[e[21]||(e[21]=t("label",null,"INPUT PHONE",-1)),t("div",null,[t("span",Ae,[u(t("input",{"onUpdate:modelValue":e[4]||(e[4]=n=>l(o).phoneNumberRequired=n),type:"radio",name:"phone",value:!0},null,512),[[b,l(o).phoneNumberRequired]]),e[19]||(e[19]=f("Required "))]),t("span",$e,[u(t("input",{"onUpdate:modelValue":e[5]||(e[5]=n=>l(o).phoneNumberRequired=n),type:"radio",name:"phone",value:!1},null,512),[[b,l(o).phoneNumberRequired]]),e[20]||(e[20]=f("Optional "))])])]),t("div",Oe,[e[22]||(e[22]=t("label",null,"BUTTON TEXT",-1)),u(t("input",{"onUpdate:modelValue":e[6]||(e[6]=n=>l(o).buttonText=n),type:"text",maxlength:"20"},null,512),[[w,l(o).buttonText]])]),t("div",Me,[e[29]||(e[29]=t("label",null,"ADD THIRD PARTY REGISTRATION",-1)),t("div",He,[m(F,{modelValue:l(o).facebookLogin,"onUpdate:modelValue":[e[7]||(e[7]=n=>l(o).facebookLogin=n),e[8]||(e[8]=n=>l(o).facebookLogin=n)]},null,8,["modelValue"]),e[25]||(e[25]=t("span",{class:"name"},"Facebook",-1)),l(o).facebookLogin?(v(),V(U,{key:0},[e[23]||(e[23]=t("span",{class:"id-label"},"Client ID",-1)),e[24]||(e[24]=t("a",{href:"https://developers.facebook.com/docs/development/create-an-app",target:"_blank"},"How to get?",-1)),u(t("input",{class:"id-input","onUpdate:modelValue":e[9]||(e[9]=n=>l(o).facebookClientId=n),type:"text",maxlength:"200",placeholder:"Please input your Client ID"},null,512),[[w,l(o).facebookClientId]])],64)):O("",!0)]),t("div",Be,[m(F,{modelValue:l(o).googleLogin,"onUpdate:modelValue":[e[10]||(e[10]=n=>l(o).googleLogin=n),e[11]||(e[11]=n=>l(o).googleLogin=n)]},null,8,["modelValue"]),e[28]||(e[28]=t("span",{class:"name"},"Google",-1)),l(o).googleLogin?(v(),V(U,{key:0},[e[26]||(e[26]=t("span",{class:"id-label"},"Client ID",-1)),e[27]||(e[27]=t("a",{href:"https://developers.google.com/identity/sign-in/web/sign-in",target:"_blank"},"How to get?",-1)),u(t("input",{class:"id-input","onUpdate:modelValue":e[12]||(e[12]=n=>l(o).googleClientId=n),type:"text",maxlength:"200",placeholder:"Please input your Client ID"},null,512),[[w,l(o).googleClientId]])],64)):O("",!0)]),t("div",Ge,[m(re,{modelValue:l(o).submitJs,"onUpdate:modelValue":e[13]||(e[13]=n=>l(o).submitJs=n),desc:"The following code will be executed after a successful registration or login (including Facebook and Google)."},null,8,["modelValue"])])])]),t("div",qe,[e[30]||(e[30]=t("div",{class:"title"},"Preview",-1)),t("img",{class:"preview-image",src:l(a),alt:""},null,8,Fe),t("div",ze,x(l(o).title),1),t("div",he,x(l(o).description),1),t("div",We,x(l(o).buttonText),1),u(t("div",Je,"*",512),[[C,l(o).fullNameRequired]]),u(t("div",Ke,"*",512),[[C,l(o).phoneNumberRequired]]),t("div",Xe,[u(t("img",{src:l(ce),class:"lofty_iconfont",alt:"facebook"},null,8,je),[[C,l(o).facebookLogin]]),u(t("img",{src:l(fe),class:"lofty_iconfont",alt:"google"},null,8,Ye),[[C,l(o).googleLogin]])])]),m(K,{loading:l(y)},null,8,["loading"])])]),_:1}))}},Ze=_(Qe,[["__scopeId","data-v-c0adfb8c"]]),et={class:"lofty-check-group"},tt={class:"lofty-check-group-item"},lt=["onClick"],ot={__name:"group",props:ae({groups:{type:Array,default:()=>[]}},{modelValue:{default:[]},modelModifiers:{}}),emits:["update:modelValue"],setup(S){const a=W(S,"modelValue"),o=se(()=>a.value.length===S.groups.length);function p(){a.value=o.value?[]:S.groups.map(g=>g.value)}function y(g){a.value.includes(g)?a.value.splice(a.value.indexOf(g),1):a.value.push(g)}return(g,d)=>(v(),V("div",et,[t("div",tt,[m(z,{"model-value":l(o),onChange:p},null,8,["model-value"]),d[0]||(d[0]=t("span",null,"All",-1))]),(v(!0),V(U,null,ie(S.groups,r=>(v(),V("div",{class:"lofty-check-group-item",key:r.value,onClick:e=>y(r.value)},[m(z,{"model-value":a.value.includes(r.value)},null,8,["model-value"]),t("span",null,x(r.label),1)],8,lt))),128))]))}},nt=_(ot,[["__scopeId","data-v-9e4402b0"]]),at={class:"form-groups"},st={class:"form-group"},it={style:{"font-size":"13px"}},ut={style:{"margin-left":"30px","font-size":"13px"}},rt={style:{"margin-left":"30px","font-size":"13px"}},dt={class:"form-group"},pt={class:"form-group"},gt={style:{"font-size":"13px"}},mt={style:{"margin-left":"30px","font-size":"13px"}},ct={class:"form-group"},ft={class:"form-group"},vt={class:"form-group"},yt={style:{"font-size":"13px"}},bt={style:{"margin-left":"30px","font-size":"13px"}},Rt={__name:"index",setup(S){const a=M(ve()),o=P(!1),p=[{label:"Search",value:"search"},{label:"Featured Listings",value:"featured_listing"},{label:"Listing Detail",value:"listing_detail"},{label:"Sold Listings",value:"sold_listing"},{label:"Sold Listings Detail",value:"sold_listing_detail"}];d();async function y(){o.value=!0;const r={triggerRule:a},e=await L.post("/save-data/data/update",{data:r});o.value=!1,e.data?T("Saved Successfully"):T("Save failed. Please try again.",{duration:3e3,err:!0})}const g=P(!0);async function d(){const r=await L.get("/save-data/common-info");if(g.value=!1,r.data.commonData){const e=r.data.commonData.triggerRule||{};for(let n in e)a[n]=e[n]}}return(r,e)=>(v(),$(H,{title:"Pop-up Trigger Rule",description:"Set the Pop-up Trigger Rule for registration, which allows you to customize exactly when the forced registration pop-up will appear on your IDX website to capture lead information."},{button:R(()=>[t("button",{class:"btn-save",onClick:A(y,["prevent"])},x(l(o)?"Saving..":"Save"),1)]),default:R(()=>[t("div",at,[t("div",st,[e[13]||(e[13]=t("label",null,"TRIGGER REGISTRATION ON",-1)),t("div",null,[t("span",it,[u(t("input",{"onUpdate:modelValue":e[0]||(e[0]=n=>l(a).place=n),type:"radio",name:"place",value:"detail"},null,512),[[b,l(a).place]]),e[10]||(e[10]=f("Listing Detail Pages "))]),t("span",ut,[u(t("input",{"onUpdate:modelValue":e[1]||(e[1]=n=>l(a).place=n),type:"radio",name:"place",value:"page"},null,512),[[b,l(a).place]]),e[11]||(e[11]=f("Selected Pages "))]),t("span",rt,[u(t("input",{"onUpdate:modelValue":e[2]||(e[2]=n=>l(a).place=n),type:"radio",name:"place",value:"none"},null,512),[[b,l(a).place]]),e[12]||(e[12]=f("Never Trigger Registration Pop-up "))])])]),u(t("div",dt,[e[14]||(e[14]=t("label",null,"SELECT PAGES",-1)),m(nt,{modelValue:l(a).selectPages,"onUpdate:modelValue":e[3]||(e[3]=n=>l(a).selectPages=n),groups:p},null,8,["modelValue"])],512),[[C,l(a).place==="page"]]),l(a).place!=="none"?(v(),V(U,{key:0},[t("div",pt,[e[18]||(e[18]=t("label",null,"HOW TO TRIGGER",-1)),t("div",null,[t("span",gt,[u(t("input",{"onUpdate:modelValue":e[4]||(e[4]=n=>l(a).type=n),type:"radio",name:"triggerType",value:"count"},null,512),[[b,l(a).type]]),f("Trigger Registration Pop-up based on "+x(l(a).place==="page"?"Page":"Listing")+" Views ",1)]),t("span",mt,[u(t("input",{"onUpdate:modelValue":e[5]||(e[5]=n=>l(a).type=n),type:"radio",name:"triggerType",value:"time"},null,512),[[b,l(a).type]]),e[15]||(e[15]=f("Trigger Registration Pop-up based on Browsing Time "))]),t("span",null,[m(h,null,{trigger:R(()=>e[16]||(e[16]=[t("span",{class:"lofty_iconfont lofty-icon-help"},null,-1)])),content:R(()=>e[17]||(e[17]=[t("span",{class:"help-tip"}," Refers to the time spent on each page ",-1)])),_:1})])])]),u(t("div",ct,[t("label",null,"POP UP AFTER (NUMBER OF "+x(l(a).place==="page"?"PAGE":"LISTING")+" VIEWS)",1),m(q,{modelValue:l(a).count,"onUpdate:modelValue":e[6]||(e[6]=n=>l(a).count=n),min:1},null,8,["modelValue"])],512),[[C,l(a).type==="count"]]),u(t("div",ft,[e[19]||(e[19]=t("label",null,"POP UP AFTER BROWSING FOR (SECONDS)",-1)),m(q,{modelValue:l(a).time,"onUpdate:modelValue":e[7]||(e[7]=n=>l(a).time=n),min:1},null,8,["modelValue"])],512),[[C,l(a).type==="time"]]),t("div",vt,[t("label",null,[e[22]||(e[22]=f("ALLOW FOR POP-UP TO BE CLOSED PRIOR TO REGISTRATION ")),m(h,null,{trigger:R(()=>e[20]||(e[20]=[t("span",{class:"lofty_iconfont lofty-icon-help"},null,-1)])),content:R(()=>e[21]||(e[21]=[t("span",{class:"help-tip"}," Is this allowed to close when pop-up is triggered according to the rule? ",-1)])),_:1})]),t("div",null,[t("span",yt,[u(t("input",{"onUpdate:modelValue":e[8]||(e[8]=n=>l(a).allowClose=n),type:"radio",name:"allowClose",value:!0},null,512),[[b,l(a).allowClose]]),e[23]||(e[23]=f("YES "))]),t("span",bt,[u(t("input",{"onUpdate:modelValue":e[9]||(e[9]=n=>l(a).allowClose=n),type:"radio",name:"allowClose",value:!1},null,512),[[b,l(a).allowClose]]),e[24]||(e[24]=f("NO "))])])])],64)):O("",!0),m(K,{loading:l(g)},null,8,["loading"])])]),_:1}))}},St=_(Rt,[["__scopeId","data-v-8684369e"]]),xt={Disclaimer:Ie,BasicSetting:Ze,TriggerRule:St},kt={class:"lofty-admin-container"},Tt={class:"main-content"},Vt={__name:"app",setup(S){let a=P("");function o(p){a.value=xt[p.component]}return(p,y)=>(v(),V("div",kt,[m(de,{menuSections:l(ye),onMenuItemClick:o},null,8,["menuSections"]),t("main",Tt,[(v(),$(ue(l(a))))])]))}},It=_(Vt,[["__scopeId","data-v-44f3c6bd"]]);J(It).mount("#app");J(ge).mount("#plugin-check");
  • lofty-idx/trunk/assets/admin-search.js

    r3312310 r3333213  
    1 import{_ as K,h as _,d as me}from"./_plugin-vue_export-helper.BXwY9aDM.js";/* empty css               */import{o as V,g as N,e,K as fe,L as ve,r as f,c as D,p as ye,F as X,f as q,t as A,u as d,q as Y,v as W,j as re,y as F,G as Q,k as M,Q as te,d as G,w as k,z as B,m as p,R as ne,W as oe,a as ue,s as we,U as he,h as be,i as Ce,D as de}from"./vendor.NEC4PHgy.js";import{L as j,P as z,m as ie,J as _e,S as Te}from"./SubmitJs.DWmn7Vod.js";import{M as J,L as ge,a as se,S as Se,I as ae,b as Le,c as Ve}from"./styleConfig.DhjOBK_9.js";import{s as $,P as ke}from"./PluginUpdate.DdDy_9Ji.js";import{u as $e}from"./useCopy.BlzIiYQ_.js";import{T as le}from"./tooltip.Chr6RZhw.js";import{p as Pe}from"./standard.CMta1D5J.js";import{_ as Ee}from"./index.D4X1HF9n.js";import{u as Re}from"./useConfirm.BpvHcTF0.js";import{s as Ue}from"./loading.DTItxkGS.js";import"./number-format.CLdvQh6j.js";import"./index.qsOScXF2.js";import"./outsideclick.Bw_hMuzW.js";import"./index.Ey8cf3te.js";import"./date-format.BrUodQAJ.js";import"./index.DWgDswh1.js";import"./index.C-6OBrPY.js";import"./multiSelect.DrlqYmIX.js";import"./checkBox.CSsbXmX7.js";import"./user.C9PYqYHM.js";import"./index.zlpipePe.js";import"./index.D8G0GxXE.js";const xe={},He={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Me(P,a){return V(),N("svg",He,a[0]||(a[0]=[e("path",{d:"M3.99961 13C4.67043 13.3354 4.6703 13.3357 4.67017 13.3359L4.67298 13.3305C4.67621 13.3242 4.68184 13.3135 4.68988 13.2985C4.70595 13.2686 4.7316 13.2218 4.76695 13.1608C4.8377 13.0385 4.94692 12.8592 5.09541 12.6419C5.39312 12.2062 5.84436 11.624 6.45435 11.0431C7.67308 9.88241 9.49719 8.75 11.9996 8.75C14.502 8.75 16.3261 9.88241 17.5449 11.0431C18.1549 11.624 18.6061 12.2062 18.9038 12.6419C19.0523 12.8592 19.1615 13.0385 19.2323 13.1608C19.2676 13.2218 19.2933 13.2686 19.3093 13.2985C19.3174 13.3135 19.323 13.3242 19.3262 13.3305L19.3291 13.3359C19.3289 13.3357 19.3288 13.3354 19.9996 13C20.6704 12.6646 20.6703 12.6643 20.6701 12.664L20.6688 12.6614L20.6662 12.6563L20.6583 12.6408C20.6517 12.6282 20.6427 12.6108 20.631 12.5892C20.6078 12.5459 20.5744 12.4852 20.5306 12.4096C20.4432 12.2584 20.3141 12.0471 20.1423 11.7956C19.7994 11.2938 19.2819 10.626 18.5794 9.9569C17.1731 8.61759 14.9972 7.25 11.9996 7.25C9.00203 7.25 6.82614 8.61759 5.41987 9.9569C4.71736 10.626 4.19984 11.2938 3.85694 11.7956C3.68511 12.0471 3.55605 12.2584 3.4686 12.4096C3.42484 12.4852 3.39142 12.5459 3.36818 12.5892C3.35656 12.6108 3.34748 12.6282 3.34092 12.6408L3.33297 12.6563L3.33041 12.6614L3.32948 12.6632C3.32931 12.6635 3.32879 12.6646 3.99961 13ZM11.9996 16C13.9326 16 15.4996 14.433 15.4996 12.5C15.4996 10.567 13.9326 9 11.9996 9C10.0666 9 8.49961 10.567 8.49961 12.5C8.49961 14.433 10.0666 16 11.9996 16Z",fill:"#757575"},null,-1)]))}const Ie=K(xe,[["render",Me]]),De=[{title:"Listings",visible:!0,items:[{title:"Search",path:"search-page",component:"SearchPage",visible:!0},{title:"Featured Listings",path:"featured-listings",component:"FeaturedListings",visible:!0},{title:"Listing Detail",path:"listing-detail",component:"ListingDetail",visible:!0},{title:"Sold Listings",path:"sold-listings",component:"SoldListings",visible:!0},{title:"Sold Listing Detail",path:"sold-listing-detail",component:"SoldListingDetail",visible:!0}]},{title:"Marketing",visible:!0,items:[{title:"Market Report Collection",path:"market-report-collection",component:"MarketReport",visible:!0}]},{title:"Lead Capture",visible:!0,items:[{title:"Lead Center",path:"lead-center",component:"LeadCenter",visible:!0}]}],Ne={key:0},Ae={class:"domain"},Fe=["readonly"],Oe={class:"action-btns"},Z={__name:"PageUrl",props:fe({initialVal:String,canEdit:{type:Boolean,default:!0},pageConfig:{type:Object,default:()=>({})}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(P,{expose:a}){const i=ve(P,"modelValue"),t=f(!0),w=D(()=>{var v;return(v=P.pageConfig.domain)!=null&&v.startsWith("http")?P.pageConfig.domain:["localhost","127.0.0.1"].includes(location.hostname)?location.origin:"https://"+P.pageConfig.domain});ye(()=>P.initialVal,v=>{i.value=v});const L=()=>{t.value=!0,i.value=P.initialVal},E=()=>{t.value=!0},y=()=>{window.open(`${w.value}/${i.value}`,"_blank")},{copyCode:g}=$e(),b=()=>{g(`${w.value}/${i.value}`)};return a({cancel:L,confirm:E}),(v,T)=>(V(),N("div",{class:F(["page-url",{readOnly:t.value}])},[P.initialVal?(V(),N(X,{key:1},[e("span",Ae,[q(A(d(w))+" ",1),T[2]||(T[2]=e("span",{class:"separator"},"/",-1))]),Y(e("input",{type:"text","onUpdate:modelValue":T[0]||(T[0]=H=>i.value=H),readonly:t.value,class:"suffix"},null,8,Fe),[[W,i.value]]),e("div",Oe,[t.value?(V(),N(X,{key:0},[P.canEdit?(V(),N("i",{key:0,class:"lofty_iconfont lofty-icon-edit font-16",onClick:T[1]||(T[1]=H=>t.value=!1)})):re("",!0),e("i",{class:"lofty_iconfont lofty-icon-website font-16",onClick:y})],64)):(V(),N(X,{key:1},[e("span",{class:"btn",onClick:L},T[3]||(T[3]=[e("i",{class:"lofty_iconfont lofty-icon-cancel_bold"},null,-1)])),e("span",{class:"btn",onClick:E},T[4]||(T[4]=[e("i",{class:"lofty_iconfont lofty-icon-checked_bold"},null,-1)]))],64)),e("i",{class:"lofty_iconfont lofty-icon-copy_02",onClick:b})])],64)):(V(),N("div",Ne,"Loading page url.."))],2))}},Ke={class:"form-groups"},Ge={class:"form-group"},Be=["readonly"],je={class:"form-group"},ze={class:"form-group"},Je={__name:"index",setup(P){const a=f([]);Q("allConditions",a);const i=f({}),t=f(""),w=M("page-url"),L=M("listingRef");async function E(){var n,o;const s="/wp-plugin/admin/listing-search/searchCondition/init-info";try{const c=await _.get(s);if(((n=c==null?void 0:c.status)==null?void 0:n.code)!==0)throw new Error(`HTTP error! status: ${(o=c==null?void 0:c.status)==null?void 0:o.msg}`);const l=c.data,{allListingId:u,pluginPage:m={},allListingValues:h=[],sort:S}=l,x={pageName:"Property Search",uri:"listing",layout:"map-grid",metaTagHtml:""};i.value=ie({...m,id:u,sort:S},x,{overrideEmpty:!0}),t.value=i.value.uri,a.value=h.map(U=>{var O;const I=Object.keys(U.data);return"orderKeys"in U?((O=U.orderKeys)==null?void 0:O.length)!==I.length?{...U,orderKeys:I}:U:{...U,orderKeys:I}})}catch(c){console.error("Error fetching initial page info:",c)}}const y=f(!1);te(async()=>{y.value=!0;try{await E()}catch(s){$("Error fetching page info:"+s.message,{err:!0})}finally{y.value=!1}});const g=f(!1),b=D(()=>{var s,n,o;return!((s=i.value)!=null&&s.id)||!((n=i.value)!=null&&n.pageName)||g.value||!((o=i.value)!=null&&o.uri)}),v=D(()=>y.value||g.value),T=M("metaTags");async function H(){var u,m;const{pageName:s,layout:n,metaTagHtml:o,uri:c}=i.value,l=await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"search",pageName:s,metaTag:T.value.getValueString(),metaTagHtml:o,layout:n,uri:c}});if(((u=l==null?void 0:l.status)==null?void 0:u.code)!==0)throw new Error((m=l==null?void 0:l.status)==null?void 0:m.msg);l.data&&(i.value={...i.value,pageName:s,metaTagHtml:o,layout:n,uri:c},t.value=c)}async function R(){var c,l;const s=a.value.map(u=>{const m=ne(u);let{data:h={},orderKeys:S=[]}=m;const x=Object.keys(h);return S=S.filter(U=>x.includes(U)),{data:h,onlyId:oe(),orderKeys:S}}).filter(Boolean),n={id:i.value.id,name:"All Listings",sort:L.value.sortCondition,listingType:1,values:s},o=await _.post("/wp-plugin/admin/listing-search/searchCondition/saveOrUpdate",{data:n});if(((c=o==null?void 0:o.status)==null?void 0:c.code)!==0)throw new Error((l=o==null?void 0:o.status)==null?void 0:l.msg)}async function C(){await _.get("/update-routes")}async function r(){if(!b.value){w.value.confirm();try{g.value=!0,await Promise.all([H(),R()]),await C(),$("Saved Successfully")}catch(s){console.error("Error save page:",s),$("Error save page:"+s.message,{err:!0})}finally{g.value=!1}}}return(s,n)=>(V(),G(z,{title:"Search Page",description:"Configure and optimize a powerful real estate search page, delivering an enhanced user experience and driving lead generation through seamless property discovery."},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(b)}]),onClick:B(r,["prevent"])},A(g.value?"Saving..":"Save"),3)]),default:k(()=>[e("div",Ke,[e("div",Ge,[n[4]||(n[4]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":n[0]||(n[0]=o=>i.value.pageName=o),class:"page-name",maxlength:"100",readonly:d(v)},null,8,Be),[[W,i.value.pageName]])]),e("div",je,[n[5]||(n[5]=e("label",null,"PAGE URL",-1)),p(Z,{modelValue:i.value.uri,"onUpdate:modelValue":n[1]||(n[1]=o=>i.value.uri=o),"page-config":i.value,"initial-val":t.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(J,{class:"form-group",ref:"metaTags",modelValue:i.value.metaTagHtml,"onUpdate:modelValue":n[2]||(n[2]=o=>i.value.metaTagHtml=o),readonly:d(v)},null,8,["modelValue","readonly"]),e("div",ze,[n[6]||(n[6]=e("label",null,"LAYOUT",-1)),p(ge,{modelValue:i.value.layout,"onUpdate:modelValue":n[3]||(n[3]=o=>i.value.layout=o)},null,8,["modelValue"])])]),p(se,{"site-config":i.value,ref:"listingRef"},null,8,["site-config"]),p(j,{loading:y.value},null,8,["loading"])]),_:1}))}},qe=K(Je,[["__scopeId","data-v-96cbb891"]]),Ye={class:"form-groups"},We={class:"form-group"},Xe=["value"],Qe={__name:"index",setup(P){const a=ue({domain:"",uri:"",metaTagHtml:""}),i=f(!1),t=f(!1),w=D(()=>i.value||t.value),L=D(()=>`https://${a.domain}/${a.uri}`);E();async function E(){t.value=!0;const v=(await _.get("/wp-plugin/admin/listing-detail/active-init-info")).data.pluginPage;a.domain=v.domain,a.metaTagHtml=v.metaTagHtml||"",a.uri=v.uri,t.value=!1}const y=M("metaTags");async function g(){if(!w.value)try{i.value=!0,await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"listing_detail",metaTag:y.value.getValueString(),metaTagHtml:a.metaTagHtml}}),$("Saved Successfully")}catch(b){console.error("Error save page:",b),$("Error save page:"+b.message,{err:!0})}finally{i.value=!1}}return(b,v)=>(V(),G(z,{title:"Listing Detail",description:`The Listing Detail page is included by default and does not require configuration of the page content. To preview the page, you can click on any listing
    2         and view it through the Search Page or other IDX pages. However, you can set the Meta tags below to optimize SEO.`},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(w)}]),onClick:B(g,["prevent"])},A(d(i)?"Saving..":"Save"),3)]),default:k(()=>[e("div",Ye,[e("div",We,[v[1]||(v[1]=e("label",null,"PAGE URL",-1)),e("input",{type:"text",value:d(L),readonly:"",class:"suffix"},null,8,Xe)]),p(J,{class:"form-group",ref:"metaTags",type:"listingDetail",modelValue:d(a).metaTagHtml,"onUpdate:modelValue":v[0]||(v[0]=T=>d(a).metaTagHtml=T)},null,8,["modelValue"]),p(j,{loading:d(t)},null,8,["loading"])])]),_:1}))}},Ze=K(Qe,[["__scopeId","data-v-322f86e5"]]),et={class:"form-groups"},tt={class:"form-group"},at=["readonly"],lt={class:"form-group"},nt={__name:"index",setup(P){const a=f([]);Q("allConditions",a);const i=f({}),t=f({}),w=f(""),L=M("page-url");async function E(){var u,m;const l="/wp-plugin/admin/featured-listing/init-info";try{const h=await _.get(l);if(((u=h==null?void 0:h.status)==null?void 0:u.code)!==0)throw new Error(`HTTP error! status: ${(m=h==null?void 0:h.status)==null?void 0:m.msg}`);const S=h.data,{featureListingId:x,featureListingName:U,pluginPage:I={},pageConfigMap:O={},featuredListingValue:ee=[],sort:ce}=S;i.value=S;const pe={pageName:"Featured Listings Page",uri:"feature-listing",layout:"map-grid",metaTagHtml:""};t.value=ie({...I,id:x,name:U,styleConfig:O,sort:ce},pe,{overrideEmpty:!0}),w.value=t.value.uri,a.value=ee}catch(h){console.error("Error fetching initial page info:",h)}}const y=f(!1);te(async()=>{y.value=!0;try{await E()}catch(l){console.error("Error fetching page info:",l.message),$("Error fetching page info:"+l.message,{err:!0})}finally{y.value=!1}});const g=f(!1),b=D(()=>{var l,u,m;return!((l=t.value)!=null&&l.id)||!((u=t.value)!=null&&u.pageName)||g.value||!((m=t.value)!=null&&m.uri)}),v=D(()=>y.value||g.value),T=M("metaTags"),H=M("listingRef");async function R(){var x,U;const{pageName:l,metaTagHtml:u,layout:m,uri:h}=t.value,S=await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"featured_listing",pageName:l,metaTag:T.value.getValueString(),metaTagHtml:u,layout:m,uri:h}});if(((x=S==null?void 0:S.status)==null?void 0:x.code)!==0)throw new Error((U=S==null?void 0:S.status)==null?void 0:U.msg);S.data&&(t.value={...t.value,pageName:l,metaTagHtml:u,layout:m,uri:h},w.value=h)}async function C(){var h,S;const l=a.value.map(x=>({data:ne(x).data||{},onlyId:oe()})).filter(Boolean),u={id:t.value.id,name:t.value.name,sort:H.value.sortCondition,listingType:1,values:l},m=await _.post("/wp-plugin/admin/listing-search/searchCondition/saveOrUpdate",{data:u});if(((h=m==null?void 0:m.status)==null?void 0:h.code)!==0)throw new Error((S=m==null?void 0:m.status)==null?void 0:S.msg)}let r=f({});function s(l){r.value=l}async function n(){var u,m,h;const l=await _.post("/wp-plugin/admin/common/page/page-config/update/FEATURED_LISTING",{data:{...r.value}});if(((u=l==null?void 0:l.status)==null?void 0:u.code)!==0)throw new Error((m=l==null?void 0:l.status)==null?void 0:m.msg);l.data&&(t.value.styleConfig=((h=l.data)==null?void 0:h.pageConfigMap)||{})}async function o(){await _.get("/update-routes")}async function c(){if(!b.value){L.value.confirm();try{g.value=!0;let l=[R(),C()];Object.keys(r.value).length>0&&l.push(n()),await Promise.all(l),await o(),$("Saved Successfully")}catch(l){console.error("Error save page:",l),$("Save failed. Please try again.",{duration:3e3,err:!0})}finally{g.value=!1}}}return(l,u)=>(V(),G(z,{title:"Featured Listings",description:`Create and display a curated selection of featured properties on IDX
     1import{_ as K,h as _,d as me}from"./_plugin-vue_export-helper.bB-lvPOu.js";/* empty css               */import{o as L,g as N,e,K as fe,L as ve,r as f,c as D,p as ye,F as W,f as q,t as A,u as d,q as Y,v as X,j as re,y as F,G as Z,k as M,U as te,d as G,w as k,z as B,m as p,P as ne,V as oe,a as ue,s as we,R as he,h as be,i as Ce,D as de}from"./vendor.DSMCY3-_.js";import{L as j,P as z,m as ie,J as _e,S as Te}from"./SubmitJs.CFwKS8Wv.js";import{M as J,L as ge,a as se,S as Se,I as ae,b as Ve,c as Le}from"./styleConfig.CsnKPZfX.js";import{s as $,P as ke}from"./PluginUpdate.D0brfHtJ.js";import{u as $e}from"./useCopy.CluLpl8Z.js";import{T as le}from"./tooltip.D1TTPwD5.js";import{p as Pe}from"./standard.CXwndxZu.js";import{_ as Ee}from"./index.BdhGsZUN.js";import{u as Re}from"./useConfirm.DafTdZE0.js";import{s as Ue}from"./loading.BdqyMKJZ.js";import"./number-format.CLdvQh6j.js";import"./index.Ca0KQw1k.js";import"./outsideclick.Bw_hMuzW.js";import"./index.C_5yu3Gg.js";import"./date-format.BrUodQAJ.js";import"./index.B1jQkB8N.js";import"./index.CblVywxl.js";import"./multiSelect.B-Bvv-QV.js";import"./checkBox.nJJrXg5E.js";import"./index.BPxU_3zo.js";import"./index.D1LZflJ-.js";import"./service.DFLbHlSk.js";import"./index.DAwEVGKX.js";import"./house-format.CGUVCimM.js";import"./user.B_wb9Yeq.js";const xe={},He={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Me(P,a){return L(),N("svg",He,a[0]||(a[0]=[e("path",{d:"M3.99961 13C4.67043 13.3354 4.6703 13.3357 4.67017 13.3359L4.67298 13.3305C4.67621 13.3242 4.68184 13.3135 4.68988 13.2985C4.70595 13.2686 4.7316 13.2218 4.76695 13.1608C4.8377 13.0385 4.94692 12.8592 5.09541 12.6419C5.39312 12.2062 5.84436 11.624 6.45435 11.0431C7.67308 9.88241 9.49719 8.75 11.9996 8.75C14.502 8.75 16.3261 9.88241 17.5449 11.0431C18.1549 11.624 18.6061 12.2062 18.9038 12.6419C19.0523 12.8592 19.1615 13.0385 19.2323 13.1608C19.2676 13.2218 19.2933 13.2686 19.3093 13.2985C19.3174 13.3135 19.323 13.3242 19.3262 13.3305L19.3291 13.3359C19.3289 13.3357 19.3288 13.3354 19.9996 13C20.6704 12.6646 20.6703 12.6643 20.6701 12.664L20.6688 12.6614L20.6662 12.6563L20.6583 12.6408C20.6517 12.6282 20.6427 12.6108 20.631 12.5892C20.6078 12.5459 20.5744 12.4852 20.5306 12.4096C20.4432 12.2584 20.3141 12.0471 20.1423 11.7956C19.7994 11.2938 19.2819 10.626 18.5794 9.9569C17.1731 8.61759 14.9972 7.25 11.9996 7.25C9.00203 7.25 6.82614 8.61759 5.41987 9.9569C4.71736 10.626 4.19984 11.2938 3.85694 11.7956C3.68511 12.0471 3.55605 12.2584 3.4686 12.4096C3.42484 12.4852 3.39142 12.5459 3.36818 12.5892C3.35656 12.6108 3.34748 12.6282 3.34092 12.6408L3.33297 12.6563L3.33041 12.6614L3.32948 12.6632C3.32931 12.6635 3.32879 12.6646 3.99961 13ZM11.9996 16C13.9326 16 15.4996 14.433 15.4996 12.5C15.4996 10.567 13.9326 9 11.9996 9C10.0666 9 8.49961 10.567 8.49961 12.5C8.49961 14.433 10.0666 16 11.9996 16Z",fill:"#757575"},null,-1)]))}const Ie=K(xe,[["render",Me]]),De=[{title:"Listings",visible:!0,items:[{title:"Search",path:"search-page",component:"SearchPage",visible:!0},{title:"Featured Listings",path:"featured-listings",component:"FeaturedListings",visible:!0},{title:"Listing Detail",path:"listing-detail",component:"ListingDetail",visible:!0},{title:"Sold Listings",path:"sold-listings",component:"SoldListings",visible:!0},{title:"Sold Listing Detail",path:"sold-listing-detail",component:"SoldListingDetail",visible:!0}]},{title:"Marketing",visible:!0,items:[{title:"Market Report Collection",path:"market-report-collection",component:"MarketReport",visible:!0}]},{title:"Lead Capture",visible:!0,items:[{title:"Lead Center",path:"lead-center",component:"LeadCenter",visible:!0}]}],Ne={key:0},Ae={class:"domain"},Fe=["readonly"],Oe={class:"action-btns"},Q={__name:"PageUrl",props:fe({initialVal:String,canEdit:{type:Boolean,default:!0},pageConfig:{type:Object,default:()=>({})}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(P,{expose:a}){const i=ve(P,"modelValue"),t=f(!0),w=D(()=>{var v;return(v=P.pageConfig.domain)!=null&&v.startsWith("http")?P.pageConfig.domain:["localhost","127.0.0.1"].includes(location.hostname)?location.origin:"https://"+P.pageConfig.domain});ye(()=>P.initialVal,v=>{i.value=v});const V=()=>{t.value=!0,i.value=P.initialVal},E=()=>{t.value=!0},y=()=>{window.open(`${w.value}/${i.value}`,"_blank")},{copyCode:g}=$e(),b=()=>{g(`${w.value}/${i.value}`)};return a({cancel:V,confirm:E}),(v,T)=>(L(),N("div",{class:F(["page-url",{readOnly:t.value}])},[P.initialVal?(L(),N(W,{key:1},[e("span",Ae,[q(A(d(w))+" ",1),T[2]||(T[2]=e("span",{class:"separator"},"/",-1))]),Y(e("input",{type:"text","onUpdate:modelValue":T[0]||(T[0]=H=>i.value=H),readonly:t.value,class:"suffix"},null,8,Fe),[[X,i.value]]),e("div",Oe,[t.value?(L(),N(W,{key:0},[P.canEdit?(L(),N("i",{key:0,class:"lofty_iconfont lofty-icon-edit font-16",onClick:T[1]||(T[1]=H=>t.value=!1)})):re("",!0),e("i",{class:"lofty_iconfont lofty-icon-website font-16",onClick:y})],64)):(L(),N(W,{key:1},[e("span",{class:"btn",onClick:V},T[3]||(T[3]=[e("i",{class:"lofty_iconfont lofty-icon-cancel_bold"},null,-1)])),e("span",{class:"btn",onClick:E},T[4]||(T[4]=[e("i",{class:"lofty_iconfont lofty-icon-checked_bold"},null,-1)]))],64)),e("i",{class:"lofty_iconfont lofty-icon-copy_02",onClick:b})])],64)):(L(),N("div",Ne,"Loading page url.."))],2))}},Ke={class:"form-groups"},Ge={class:"form-group"},Be=["readonly"],je={class:"form-group"},ze={class:"form-group"},Je={__name:"index",setup(P){const a=f([]);Z("allConditions",a);const i=f({}),t=f(""),w=M("page-url"),V=M("listingRef");async function E(){var n,o;const s="/wp-plugin/admin/listing-search/searchCondition/init-info";try{const c=await _.get(s);if(((n=c==null?void 0:c.status)==null?void 0:n.code)!==0)throw new Error(`HTTP error! status: ${(o=c==null?void 0:c.status)==null?void 0:o.msg}`);const l=c.data,{allListingId:u,pluginPage:m={},allListingValues:h=[],sort:S}=l,x={pageName:"Property Search",uri:"listing",layout:"map-grid",metaTagHtml:""};i.value=ie({...m,id:u,sort:S},x,{overrideEmpty:!0}),t.value=i.value.uri,a.value=h.map(U=>{var O;const I=Object.keys(U.data);return"orderKeys"in U?((O=U.orderKeys)==null?void 0:O.length)!==I.length?{...U,orderKeys:I}:U:{...U,orderKeys:I}})}catch(c){console.error("Error fetching initial page info:",c)}}const y=f(!1);te(async()=>{y.value=!0;try{await E()}catch(s){$("Error fetching page info:"+s.message,{err:!0})}finally{y.value=!1}});const g=f(!1),b=D(()=>{var s,n,o;return!((s=i.value)!=null&&s.id)||!((n=i.value)!=null&&n.pageName)||g.value||!((o=i.value)!=null&&o.uri)}),v=D(()=>y.value||g.value),T=M("metaTags");async function H(){var u,m;const{pageName:s,layout:n,metaTagHtml:o,uri:c}=i.value,l=await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"search",pageName:s,metaTag:T.value.getValueString(),metaTagHtml:o,layout:n,uri:c}});if(((u=l==null?void 0:l.status)==null?void 0:u.code)!==0)throw new Error((m=l==null?void 0:l.status)==null?void 0:m.msg);l.data&&(i.value={...i.value,pageName:s,metaTagHtml:o,layout:n,uri:c},t.value=c)}async function R(){var c,l;const s=a.value.map(u=>{const m=ne(u);let{data:h={},orderKeys:S=[]}=m;const x=Object.keys(h);return S=S.filter(U=>x.includes(U)),{data:h,onlyId:oe(),orderKeys:S}}).filter(Boolean),n={id:i.value.id,name:"All Listings",sort:V.value.sortCondition,listingType:1,values:s},o=await _.post("/wp-plugin/admin/listing-search/searchCondition/saveOrUpdate",{data:n});if(((c=o==null?void 0:o.status)==null?void 0:c.code)!==0)throw new Error((l=o==null?void 0:o.status)==null?void 0:l.msg)}async function C(){await _.get("/update-routes")}async function r(){if(!b.value){w.value.confirm();try{g.value=!0,await Promise.all([H(),R()]),await C(),$("Saved Successfully")}catch(s){console.error("Error save page:",s),$("Error save page:"+s.message,{err:!0})}finally{g.value=!1}}}return(s,n)=>(L(),G(z,{title:"Search Page",description:"Configure and optimize a powerful real estate search page, delivering an enhanced user experience and driving lead generation through seamless property discovery."},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(b)}]),onClick:B(r,["prevent"])},A(g.value?"Saving..":"Save"),3)]),default:k(()=>[e("div",Ke,[e("div",Ge,[n[4]||(n[4]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":n[0]||(n[0]=o=>i.value.pageName=o),class:"page-name",maxlength:"100",readonly:d(v)},null,8,Be),[[X,i.value.pageName]])]),e("div",je,[n[5]||(n[5]=e("label",null,"PAGE URL",-1)),p(Q,{modelValue:i.value.uri,"onUpdate:modelValue":n[1]||(n[1]=o=>i.value.uri=o),"page-config":i.value,"initial-val":t.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(J,{class:"form-group",ref:"metaTags",modelValue:i.value.metaTagHtml,"onUpdate:modelValue":n[2]||(n[2]=o=>i.value.metaTagHtml=o),readonly:d(v)},null,8,["modelValue","readonly"]),e("div",ze,[n[6]||(n[6]=e("label",null,"LAYOUT",-1)),p(ge,{modelValue:i.value.layout,"onUpdate:modelValue":n[3]||(n[3]=o=>i.value.layout=o)},null,8,["modelValue"])])]),p(se,{"site-config":i.value,ref:"listingRef"},null,8,["site-config"]),p(j,{loading:y.value},null,8,["loading"])]),_:1}))}},qe=K(Je,[["__scopeId","data-v-96cbb891"]]),Ye={class:"form-groups"},Xe={class:"form-group"},We=["value"],Ze={__name:"index",setup(P){const a=ue({domain:"",uri:"",metaTagHtml:""}),i=f(!1),t=f(!1),w=D(()=>i.value||t.value),V=D(()=>`https://${a.domain}/${a.uri}`);E();async function E(){t.value=!0;const v=(await _.get("/wp-plugin/admin/listing-detail/active-init-info")).data.pluginPage;a.domain=v.domain,a.metaTagHtml=v.metaTagHtml||"",a.uri=v.uri,t.value=!1}const y=M("metaTags");async function g(){if(!w.value)try{i.value=!0,await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"listing_detail",metaTag:y.value.getValueString(),metaTagHtml:a.metaTagHtml}}),$("Saved Successfully")}catch(b){console.error("Error save page:",b),$("Error save page:"+b.message,{err:!0})}finally{i.value=!1}}return(b,v)=>(L(),G(z,{title:"Listing Detail",description:`The Listing Detail page is included by default and does not require configuration of the page content. To preview the page, you can click on any listing
     2        and view it through the Search Page or other IDX pages. However, you can set the Meta tags below to optimize SEO.`},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(w)}]),onClick:B(g,["prevent"])},A(d(i)?"Saving..":"Save"),3)]),default:k(()=>[e("div",Ye,[e("div",Xe,[v[1]||(v[1]=e("label",null,"PAGE URL",-1)),e("input",{type:"text",value:d(V),readonly:"",class:"suffix"},null,8,We)]),p(J,{class:"form-group",ref:"metaTags",type:"listingDetail",modelValue:d(a).metaTagHtml,"onUpdate:modelValue":v[0]||(v[0]=T=>d(a).metaTagHtml=T)},null,8,["modelValue"]),p(j,{loading:d(t)},null,8,["loading"])])]),_:1}))}},Qe=K(Ze,[["__scopeId","data-v-322f86e5"]]),et={class:"form-groups"},tt={class:"form-group"},at=["readonly"],lt={class:"form-group"},nt={__name:"index",setup(P){const a=f([]);Z("allConditions",a);const i=f({}),t=f({}),w=f(""),V=M("page-url");async function E(){var u,m;const l="/wp-plugin/admin/featured-listing/init-info";try{const h=await _.get(l);if(((u=h==null?void 0:h.status)==null?void 0:u.code)!==0)throw new Error(`HTTP error! status: ${(m=h==null?void 0:h.status)==null?void 0:m.msg}`);const S=h.data,{featureListingId:x,featureListingName:U,pluginPage:I={},pageConfigMap:O={},featuredListingValue:ee=[],sort:ce}=S;i.value=S;const pe={pageName:"Featured Listings Page",uri:"feature-listing",layout:"map-grid",metaTagHtml:""};t.value=ie({...I,id:x,name:U,styleConfig:O,sort:ce},pe,{overrideEmpty:!0}),w.value=t.value.uri,a.value=ee}catch(h){console.error("Error fetching initial page info:",h)}}const y=f(!1);te(async()=>{y.value=!0;try{await E()}catch(l){console.error("Error fetching page info:",l.message),$("Error fetching page info:"+l.message,{err:!0})}finally{y.value=!1}});const g=f(!1),b=D(()=>{var l,u,m;return!((l=t.value)!=null&&l.id)||!((u=t.value)!=null&&u.pageName)||g.value||!((m=t.value)!=null&&m.uri)}),v=D(()=>y.value||g.value),T=M("metaTags"),H=M("listingRef");async function R(){var x,U;const{pageName:l,metaTagHtml:u,layout:m,uri:h}=t.value,S=await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"featured_listing",pageName:l,metaTag:T.value.getValueString(),metaTagHtml:u,layout:m,uri:h}});if(((x=S==null?void 0:S.status)==null?void 0:x.code)!==0)throw new Error((U=S==null?void 0:S.status)==null?void 0:U.msg);S.data&&(t.value={...t.value,pageName:l,metaTagHtml:u,layout:m,uri:h},w.value=h)}async function C(){var h,S;const l=a.value.map(x=>({data:ne(x).data||{},onlyId:oe()})).filter(Boolean),u={id:t.value.id,name:t.value.name,sort:H.value.sortCondition,listingType:1,values:l},m=await _.post("/wp-plugin/admin/listing-search/searchCondition/saveOrUpdate",{data:u});if(((h=m==null?void 0:m.status)==null?void 0:h.code)!==0)throw new Error((S=m==null?void 0:m.status)==null?void 0:S.msg)}let r=f({});function s(l){r.value=l}async function n(){var u,m,h;const l=await _.post("/wp-plugin/admin/common/page/page-config/update/FEATURED_LISTING",{data:{...r.value}});if(((u=l==null?void 0:l.status)==null?void 0:u.code)!==0)throw new Error((m=l==null?void 0:l.status)==null?void 0:m.msg);l.data&&(t.value.styleConfig=((h=l.data)==null?void 0:h.pageConfigMap)||{})}async function o(){await _.get("/update-routes")}async function c(){if(!b.value){V.value.confirm();try{g.value=!0;let l=[R(),C()];Object.keys(r.value).length>0&&l.push(n()),await Promise.all(l),await o(),$("Saved Successfully")}catch(l){console.error("Error save page:",l),$("Save failed. Please try again.",{duration:3e3,err:!0})}finally{g.value=!1}}}return(l,u)=>(L(),G(z,{title:"Featured Listings",description:`Create and display a curated selection of featured properties on IDX
    33              pages, enhancing property visibility and driving engagement to boost
    4               lead generation.`},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(b)}]),onClick:B(c,["prevent"])},A(g.value?"Saving..":"Save"),3)]),default:k(()=>[e("div",et,[e("div",tt,[u[3]||(u[3]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":u[0]||(u[0]=m=>t.value.pageName=m),class:"page-name",maxlength:"100",readonly:d(v)},null,8,at),[[W,t.value.pageName]])]),e("div",lt,[u[4]||(u[4]=e("label",null,"PAGE URL",-1)),p(Z,{modelValue:t.value.uri,"onUpdate:modelValue":u[1]||(u[1]=m=>t.value.uri=m),"page-config":t.value,"initial-val":w.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(J,{class:"form-group",ref:"metaTags",modelValue:t.value.metaTagHtml,"onUpdate:modelValue":u[2]||(u[2]=m=>t.value.metaTagHtml=m)},null,8,["modelValue"])]),p(se,{"site-config":t.value,ref:"listingRef"},null,8,["site-config"]),p(Se,{config:t.value.styleConfig,onUpdate:s},null,8,["config"]),p(j,{loading:y.value},null,8,["loading"])]),_:1}))}},ot=K(nt,[["__scopeId","data-v-647c5daa"]]),it={class:"form-groups"},st={class:"form-group"},rt=["readonly"],ut={class:"form-group"},dt={class:"form-group"},gt={__name:"index",setup(P){const a=f([]);Q("allConditions",a),Q("listingFilterExcludeFields",f(["listingStatus"])),Q("listingFilterLabelMap",f({price:"Sold Price"}));const i=f({}),t=f({}),w=f(""),L=M("page-url");async function E(){var o,c;const n="/wp-plugin/admin/sold-listing/init-info";try{const l=await _.get(n);if(((o=l==null?void 0:l.status)==null?void 0:o.code)!==0)throw new Error(`HTTP error! status: ${(c=l==null?void 0:l.status)==null?void 0:c.msg}`);const u=l.data,{soldListingId:m,pluginPage:h={},soldListingValues:S=[],sort:x}=u;i.value=u;const U={pageName:"Sold Listings Page",uri:"sold-listing",layout:"map-grid",metaTagHtml:""};t.value=ie({...h,id:m,sort:x},U,{overrideEmpty:!0}),w.value=t.value.uri,a.value=S.map(I=>{var ee;const O=Object.keys(I.data);return"orderKeys"in I?((ee=I.orderKeys)==null?void 0:ee.length)!==O.length?{...I,orderKeys:O}:I:{...I,orderKeys:O}})}catch(l){console.error("Error fetching initial page info:",l)}}const y=f(!1);te(async()=>{y.value=!0;try{await E()}catch(n){console.error("Error fetching page info:",n.message),$("Error fetching page info:"+n.message,{err:!0})}finally{y.value=!1}});const g=f(!1),b=D(()=>{var n,o,c;return!((n=t.value)!=null&&n.id)||!((o=t.value)!=null&&o.pageName)||g.value||!((c=t.value)!=null&&c.uri)}),v=D(()=>y.value||g.value),T=M("metaTags"),H=M("listingRef");async function R(){var m,h;const{pageName:n,layout:o,metaTagHtml:c,uri:l}=t.value,u=await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"sold_listing",pageName:n,metaTag:T.value.getValueString(),metaTagHtml:c,layout:o,uri:l}});if(((m=u==null?void 0:u.status)==null?void 0:m.code)!==0)throw new Error((h=u==null?void 0:u.status)==null?void 0:h.msg);u.data&&(t.value={...t.value,pageName:n,metaTagHtml:c,layout:o,uri:l},w.value=l)}async function C(){var l,u;const n=a.value.map(m=>{const h=ne(m);let{data:S={},orderKeys:x=[]}=h;const U=Object.keys(S);return x=x.filter(I=>U.includes(I)),{data:S,onlyId:oe(),orderKeys:x}}).filter(Boolean),o={id:t.value.id,name:"Sold Listings",sort:H.value.sortCondition,listingType:4,values:n},c=await _.post("/wp-plugin/admin/listing-search/searchCondition/saveOrUpdate",{data:o});if(((l=c==null?void 0:c.status)==null?void 0:l.code)!==0)throw new Error((u=c==null?void 0:c.status)==null?void 0:u.msg)}async function r(){await _.get("/update-routes")}async function s(){if(!b.value){L.value.confirm();try{g.value=!0,await Promise.all([R(),C()]),await r(),$("Save succeed")}catch(n){console.error("Error save page:",n),$("Save failed. Please try again",{err:!0})}finally{g.value=!1}}}return(n,o)=>(V(),G(z,{title:"Sold Listings",description:"Create and showcase a curated selection of sold listings on IDX pages, highlighting market activity and building trust to attract potential clients and drive future leads."},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(b)}]),onClick:B(s,["prevent"])},A(g.value?"Saving..":"Save"),3)]),default:k(()=>[e("div",it,[e("div",st,[o[4]||(o[4]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":o[0]||(o[0]=c=>t.value.pageName=c),class:"page-name",maxlength:"100",readonly:d(v)},null,8,rt),[[W,t.value.pageName]])]),e("div",ut,[o[5]||(o[5]=e("label",null,"PAGE URL",-1)),p(Z,{modelValue:t.value.uri,"onUpdate:modelValue":o[1]||(o[1]=c=>t.value.uri=c),"page-config":t.value,"initial-val":w.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(J,{class:"form-group",ref:"metaTags",modelValue:t.value.metaTagHtml,"onUpdate:modelValue":o[2]||(o[2]=c=>t.value.metaTagHtml=c),readonly:d(v)},null,8,["modelValue","readonly"]),e("div",dt,[o[6]||(o[6]=e("label",null,"LAYOUT",-1)),p(ge,{modelValue:t.value.layout,"onUpdate:modelValue":o[3]||(o[3]=c=>t.value.layout=c)},null,8,["modelValue"])])]),p(se,{"site-config":t.value,"is-sold":!0,ref:"listingRef"},null,8,["site-config"]),p(j,{loading:y.value},null,8,["loading"])]),_:1}))}},ct=K(gt,[["__scopeId","data-v-ee970ace"]]),pt={class:"form-groups"},mt={class:"form-group"},ft=["value"],vt={__name:"index",setup(P){const a=ue({domain:"",uri:"",metaTagHtml:""}),i=f(!1),t=f(!1),w=D(()=>i.value||t.value||!a.domain),L=D(()=>`https://${a.domain}/${a.uri}`);E();async function E(){t.value=!0;try{const v=(await _.get("/wp-plugin/admin/listing-detail/sold-init-info")).data.pluginPage;a.domain=v.domain,a.metaTagHtml=v.metaTagHtml||"",a.uri=v.uri}finally{t.value=!1}}const y=M("metaTags");async function g(){try{i.value=!0,await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"sold_listing_detail",metaTag:y.value.getValueString(),metaTagHtml:a.metaTagHtml}}),$("Saved Successfully")}catch(b){console.error("Error save page:",b),$("Error save page:"+b.message,{err:!0})}finally{i.value=!1}}return(b,v)=>(V(),G(z,{title:"Sold Listing Detail",description:`The Sold Listing Detail page is included by default and does not require configuration of the page content. To preview the page, you can click on any listing
    5         and view it through Sold Listings Page. However, you can set the Meta tags below to optimize SEO.`},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(w)}]),onClick:B(g,["prevent"])},A(d(i)?"Saving..":"Save"),3)]),default:k(()=>[e("div",pt,[e("div",mt,[v[1]||(v[1]=e("label",null,"PAGE URL",-1)),e("input",{type:"text",value:d(L),readonly:"",class:"suffix"},null,8,ft)]),p(J,{class:"form-group",ref:"metaTags",type:"soldListingDetail",modelValue:d(a).metaTagHtml,"onUpdate:modelValue":v[0]||(v[0]=T=>d(a).metaTagHtml=T)},null,8,["modelValue"]),p(j,{loading:d(t)},null,8,["loading"])])]),_:1}))}},yt=K(vt,[["__scopeId","data-v-8b1631dc"]]),wt={class:"form-groups"},ht={class:"form-group"},bt={class:"form-group"},Ct={__name:"index",setup(P){const a=M("metaTags"),i={uri:"profile",domain:window.location.host,metaTagHtml:""},t=f(!1);async function w(){t.value=!0;const y=await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"profile",uri:"profile",metaTag:a.value.getValueString(),metaTagHtml:i.metaTagHtml}});y.status.code===0?$("Saved Successfully"):$("Error save page:"+y.status.msg,{err:!0}),t.value=!1}const L=f(!0);E();async function E(){const y=await _.get("/wp-plugin/admin/common/page/setting/profile");L.value=!1,y.status.code===0&&(i.metaTagHtml=y.data.metaTagHtml||"")}return(y,g)=>(V(),G(z,{title:"Lead Center",description:"This is a default page that requires no configuration. When a lead browses your website, the Saved Search List, Favorite Listings, and Account Detail will be displayed here. You can find this page in a set of menu generated by the plugin or add its link as a custom button in your website’s navigation bar."},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(t)}]),onClick:B(w,["prevent"])},A(d(t)?"Saving..":"Save"),3)]),default:k(()=>[e("div",wt,[e("div",ht,[g[2]||(g[2]=e("label",null,"PAGE URL",-1)),p(Z,{modelValue:i.uri,"onUpdate:modelValue":g[0]||(g[0]=b=>i.uri=b),"page-config":i,"initial-val":"profile","can-edit":!1},null,8,["modelValue"])]),e("div",bt,[p(J,{class:"form-group",ref:"metaTags",modelValue:i.metaTagHtml,"onUpdate:modelValue":g[1]||(g[1]=b=>i.metaTagHtml=b),isShortCode:""},null,8,["modelValue"])])]),p(j,{loading:d(L)},null,8,["loading"])]),_:1}))}},_t=K(Ct,[["__scopeId","data-v-bdb4b2d4"]]),Tt={class:"report-list-title"},St={class:"search-title"},Lt={class:"list-header"},Vt={class:"header-display"},kt={class:"header-operation"},$t={class:"list-row"},Pt={class:"header-title"},Et={class:"header-subscribe"},Rt={class:"header-display"},Ut={class:"header-operation"},xt={key:0,class:"no-report-data"},Ht={__name:"reportList",props:{pageConfig:Object},setup(P){const a=f(""),i=f([]),[t,w]=[f(1),f(0)];function L(){const r=new URLSearchParams(window.location.search);r.set("page","lofty-shortcodes"),r.set("sub","market-report"),window.location.search=r.toString()}function E(r){t.value=1,g(),r.target.blur()}const y=M("listRef"),g=me(async function(){const r={title:a.value.trim(),pageNum:t.value,pageSize:5},s=Ue(y.value),n=await _.post("/admin/report/list",{data:r});w.value=Math.ceil(n.data.total/5),i.value=n.data.pluginReports||[],s()});g();function b(r){t.value=r.page,g()}function v(r){window.open(`${window.location.origin}/${P.pageConfig.uri}?report=${encodeURIComponent(r.title)}&pageKey=market_report_page`)}const{confirm:T}=Re();function H(r){T({title:"Delete Market Report",content:"Delete this report? It will be removed from the Market Report page, and currently subscribed leads will be unsubscribed and won't receive the email.",onConfirm:async()=>{(await _.post(`/admin/report/remove/${r.encryptId}`,{})).status.code===0&&($("Delete Successfully"),await g())}})}function R(r,s){r===!1?T({title:"Hide this Report",content:"Hide this Report? It will be removed from the Market Report page, and currently subscribed leads will be unsubscribed and won't receive the email. If shown again, leads will need to resubscribe.",onConfirm:()=>{C(r,s)},confirmButtonText:"UPDATE",type:"normal"}):C(r,s)}async function C(r,s){const n={encryptId:s.encryptId,collectionDisplay:r};(await _.post("/admin/report/updateReport",{data:n})).status.code===0&&($("Update Successfully"),await g())}return(r,s)=>(V(),N(X,null,[e("div",Tt,[s[2]||(s[2]=e("h2",null,"Report List",-1)),p(le,null,{trigger:k(()=>[p(d(ae),{class:"icon-mark"})]),content:k(()=>s[1]||(s[1]=[q(" Create a series of Market Reports to display on the website, and visitors can switch to browse different reports ")])),_:1})]),e("div",{class:"report-list-table",ref_key:"listRef",ref:y},[e("div",St,[Y(e("input",{"onUpdate:modelValue":s[0]||(s[0]=n=>we(a)?a.value=n:null),onKeydown:he(E,["enter"]),type:"text",placeholder:"Search Market Report Title"},null,544),[[W,d(a)]]),p(d(Le),{class:"lofty-icon-search",onClick:d(g)},null,8,["onClick"]),e("div",{class:"add-report-btn",onClick:L},s[3]||(s[3]=[e("span",{class:"plus-icon"},"+",-1),e("span",null,"Add a New Report",-1)]))]),e("div",Lt,[s[8]||(s[8]=e("div",{class:"header-title"},"Report Title",-1)),s[9]||(s[9]=e("div",{class:"header-subscribe"},"Historical total of subscribers",-1)),e("div",Vt,[s[5]||(s[5]=q(" Collection Display ")),p(le,{right:""},{trigger:k(()=>[p(d(ae),{class:"icon-mark"})]),content:k(()=>s[4]||(s[4]=[q(" Once the toggle is enabled, visitors will be able to select the report from the Market Report page on the website. ")])),_:1})]),e("div",kt,[s[7]||(s[7]=q(" Operations ")),p(le,{right:""},{trigger:k(()=>[p(d(ae),{class:"icon-mark"})]),content:k(()=>s[6]||(s[6]=[q(" You can quickly view the generated report, delete any report. ")])),_:1})])]),e("div",{class:F(["list-body",{"has-pagination":d(w)>1}])},[(V(!0),N(X,null,be(d(i),n=>(V(),N("div",$t,[e("div",Pt,A(n.title),1),e("div",Et,A(n.subscribeCount),1),e("div",Rt,[p(Ee,{class:"mt10",modelValue:n.collectionDisplay,"onUpdate:modelValue":o=>n.collectionDisplay=o,onChange:o=>R(o,n),needConfirm:""},null,8,["modelValue","onUpdate:modelValue","onChange"])]),e("div",Ut,[p(d(Ie),{onClick:o=>v(n),class:"icon-view icon"},null,8,["onClick"]),p(d(Ve),{onClick:o=>H(n),class:"icon"},null,8,["onClick"])])]))),256)),d(i).length===0?(V(),N("div",xt,s[10]||(s[10]=[e("div",null,"No Data",-1)]))):re("",!0)],2),p(Pe,{class:"admin-pagination",onPageChange:b,pageNum:d(t),pageSize:5,totalPage:d(w)},null,8,["pageNum","totalPage"])],512)],64))}},Mt={class:"form-groups"},It={class:"form-group"},Dt=["readonly"],Nt={class:"form-group"},At={class:"form-group"},Ft={class:"form-group"},Ot={__name:"index",setup(P){const a=f({}),i=f(""),t=M("page-url"),w=f(!1),L=D(()=>{var R,C,r;return!((R=a.value)!=null&&R.id)||!((C=a.value)!=null&&C.pageName)||w.value||!((r=a.value)!=null&&r.uri)}),E=D(()=>H.value||w.value),y=M("metaTags"),g=f("");async function b(){var C;const R="/wp-plugin/admin/report/init-info";try{const r=await _.get(R);if(r.status.code!==0)throw new Error(`HTTP error! status: ${(C=response==null?void 0:response.status)==null?void 0:C.msg}`);a.value=r.data.pluginPage,i.value=r.data.pluginPage.uri,g.value=r.data.pageConfigMap.submitJs||""}catch(r){console.error("Error fetching initial page info:",r)}}async function v(){if(!L.value){t.value.confirm();try{w.value=!0,(await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"market_report_page",pageName:a.value.pageName,metaTag:y.value.getValueString(),metaTagHtml:a.value.metaTagHtml,uri:a.value.uri}})).status.code===0&&(await _.get("/update-routes"),await T(),$("Saved Successfully"))}catch(R){console.error("Error save page:",R),$("Save failed. Please try again.",{duration:3e3,err:!0})}finally{w.value=!1}}}async function T(){await _.post("/wp-plugin/admin/common/page/page-config/update/MARKET_REPORT_PAGE",{data:{submitJs:g.value}})}const H=f(!1);return te(async()=>{H.value=!0;try{await b()}catch(R){$("Error fetching page info:"+R.message,{err:!0})}finally{H.value=!1}}),(R,C)=>(V(),G(z,{title:"Market Report Collection",description:"Create multiple Market Reports to be displayed centrally on the website, allowing visitors to easily switch between and view different reports."},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(L)}]),onClick:B(v,["prevent"])},A(w.value?"Saving..":"Save"),3)]),default:k(()=>[e("div",Mt,[e("div",It,[C[4]||(C[4]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":C[0]||(C[0]=r=>a.value.pageName=r),class:"page-name",maxlength:"100",readonly:d(E)},null,8,Dt),[[W,a.value.pageName]])]),e("div",Nt,[C[5]||(C[5]=e("label",null,"PAGE URL",-1)),p(Z,{modelValue:a.value.uri,"onUpdate:modelValue":C[1]||(C[1]=r=>a.value.uri=r),"page-config":a.value,"initial-val":i.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(J,{class:"form-group",ref:"metaTags",modelValue:a.value.metaTagHtml,"onUpdate:modelValue":C[2]||(C[2]=r=>a.value.metaTagHtml=r),readonly:d(E)},null,8,["modelValue","readonly"]),e("div",At,[p(Ht,{pageConfig:a.value},null,8,["pageConfig"])]),e("div",Ft,[p(_e,{modelValue:g.value,"onUpdate:modelValue":C[3]||(C[3]=r=>g.value=r),desc:"The following code will be executed after successfully clicking the 'Subscribe to the report' button."},null,8,["modelValue"])])]),p(j,{loading:H.value},null,8,["loading"])]),_:1}))}},Kt={SearchPage:qe,ListingDetail:Ze,FeaturedListings:ot,SoldListings:ct,SoldListingDetail:yt,LeadCenter:_t,MarketReport:Ot},Gt={class:"lofty-admin-container"},Bt={class:"main-content"},jt={__name:"app",setup(P){let a=f("");function i(t){a.value=Kt[t.component]}return(t,w)=>(V(),N("div",Gt,[p(Te,{menuSections:d(De),onMenuItemClick:i},null,8,["menuSections"]),e("main",Bt,[(V(),G(Ce(d(a)),{key:d(a)}))])]))}},zt=K(jt,[["__scopeId","data-v-360938c4"]]);de(ke).mount("#plugin-check");de(zt).mount("#app");
     4              lead generation.`},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(b)}]),onClick:B(c,["prevent"])},A(g.value?"Saving..":"Save"),3)]),default:k(()=>[e("div",et,[e("div",tt,[u[3]||(u[3]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":u[0]||(u[0]=m=>t.value.pageName=m),class:"page-name",maxlength:"100",readonly:d(v)},null,8,at),[[X,t.value.pageName]])]),e("div",lt,[u[4]||(u[4]=e("label",null,"PAGE URL",-1)),p(Q,{modelValue:t.value.uri,"onUpdate:modelValue":u[1]||(u[1]=m=>t.value.uri=m),"page-config":t.value,"initial-val":w.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(J,{class:"form-group",ref:"metaTags",modelValue:t.value.metaTagHtml,"onUpdate:modelValue":u[2]||(u[2]=m=>t.value.metaTagHtml=m)},null,8,["modelValue"])]),p(se,{"site-config":t.value,ref:"listingRef"},null,8,["site-config"]),p(Se,{config:t.value.styleConfig,onUpdate:s},null,8,["config"]),p(j,{loading:y.value},null,8,["loading"])]),_:1}))}},ot=K(nt,[["__scopeId","data-v-647c5daa"]]),it={class:"form-groups"},st={class:"form-group"},rt=["readonly"],ut={class:"form-group"},dt={class:"form-group"},gt={__name:"index",setup(P){const a=f([]);Z("allConditions",a),Z("listingFilterExcludeFields",f(["listingStatus"])),Z("listingFilterLabelMap",f({price:"Sold Price"}));const i=f({}),t=f({}),w=f(""),V=M("page-url");async function E(){var o,c;const n="/wp-plugin/admin/sold-listing/init-info";try{const l=await _.get(n);if(((o=l==null?void 0:l.status)==null?void 0:o.code)!==0)throw new Error(`HTTP error! status: ${(c=l==null?void 0:l.status)==null?void 0:c.msg}`);const u=l.data,{soldListingId:m,pluginPage:h={},soldListingValues:S=[],sort:x}=u;i.value=u;const U={pageName:"Sold Listings Page",uri:"sold-listing",layout:"map-grid",metaTagHtml:""};t.value=ie({...h,id:m,sort:x},U,{overrideEmpty:!0}),w.value=t.value.uri,a.value=S.map(I=>{var ee;const O=Object.keys(I.data);return"orderKeys"in I?((ee=I.orderKeys)==null?void 0:ee.length)!==O.length?{...I,orderKeys:O}:I:{...I,orderKeys:O}})}catch(l){console.error("Error fetching initial page info:",l)}}const y=f(!1);te(async()=>{y.value=!0;try{await E()}catch(n){console.error("Error fetching page info:",n.message),$("Error fetching page info:"+n.message,{err:!0})}finally{y.value=!1}});const g=f(!1),b=D(()=>{var n,o,c;return!((n=t.value)!=null&&n.id)||!((o=t.value)!=null&&o.pageName)||g.value||!((c=t.value)!=null&&c.uri)}),v=D(()=>y.value||g.value),T=M("metaTags"),H=M("listingRef");async function R(){var m,h;const{pageName:n,layout:o,metaTagHtml:c,uri:l}=t.value,u=await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"sold_listing",pageName:n,metaTag:T.value.getValueString(),metaTagHtml:c,layout:o,uri:l}});if(((m=u==null?void 0:u.status)==null?void 0:m.code)!==0)throw new Error((h=u==null?void 0:u.status)==null?void 0:h.msg);u.data&&(t.value={...t.value,pageName:n,metaTagHtml:c,layout:o,uri:l},w.value=l)}async function C(){var l,u;const n=a.value.map(m=>{const h=ne(m);let{data:S={},orderKeys:x=[]}=h;const U=Object.keys(S);return x=x.filter(I=>U.includes(I)),{data:S,onlyId:oe(),orderKeys:x}}).filter(Boolean),o={id:t.value.id,name:"Sold Listings",sort:H.value.sortCondition,listingType:4,values:n},c=await _.post("/wp-plugin/admin/listing-search/searchCondition/saveOrUpdate",{data:o});if(((l=c==null?void 0:c.status)==null?void 0:l.code)!==0)throw new Error((u=c==null?void 0:c.status)==null?void 0:u.msg)}async function r(){await _.get("/update-routes")}async function s(){if(!b.value){V.value.confirm();try{g.value=!0,await Promise.all([R(),C()]),await r(),$("Save succeed")}catch(n){console.error("Error save page:",n),$("Save failed. Please try again",{err:!0})}finally{g.value=!1}}}return(n,o)=>(L(),G(z,{title:"Sold Listings",description:"Create and showcase a curated selection of sold listings on IDX pages, highlighting market activity and building trust to attract potential clients and drive future leads."},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(b)}]),onClick:B(s,["prevent"])},A(g.value?"Saving..":"Save"),3)]),default:k(()=>[e("div",it,[e("div",st,[o[4]||(o[4]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":o[0]||(o[0]=c=>t.value.pageName=c),class:"page-name",maxlength:"100",readonly:d(v)},null,8,rt),[[X,t.value.pageName]])]),e("div",ut,[o[5]||(o[5]=e("label",null,"PAGE URL",-1)),p(Q,{modelValue:t.value.uri,"onUpdate:modelValue":o[1]||(o[1]=c=>t.value.uri=c),"page-config":t.value,"initial-val":w.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(J,{class:"form-group",ref:"metaTags",modelValue:t.value.metaTagHtml,"onUpdate:modelValue":o[2]||(o[2]=c=>t.value.metaTagHtml=c),readonly:d(v)},null,8,["modelValue","readonly"]),e("div",dt,[o[6]||(o[6]=e("label",null,"LAYOUT",-1)),p(ge,{modelValue:t.value.layout,"onUpdate:modelValue":o[3]||(o[3]=c=>t.value.layout=c)},null,8,["modelValue"])])]),p(se,{"site-config":t.value,"is-sold":!0,ref:"listingRef"},null,8,["site-config"]),p(j,{loading:y.value},null,8,["loading"])]),_:1}))}},ct=K(gt,[["__scopeId","data-v-ee970ace"]]),pt={class:"form-groups"},mt={class:"form-group"},ft=["value"],vt={__name:"index",setup(P){const a=ue({domain:"",uri:"",metaTagHtml:""}),i=f(!1),t=f(!1),w=D(()=>i.value||t.value||!a.domain),V=D(()=>`https://${a.domain}/${a.uri}`);E();async function E(){t.value=!0;try{const v=(await _.get("/wp-plugin/admin/listing-detail/sold-init-info")).data.pluginPage;a.domain=v.domain,a.metaTagHtml=v.metaTagHtml||"",a.uri=v.uri}finally{t.value=!1}}const y=M("metaTags");async function g(){try{i.value=!0,await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"sold_listing_detail",metaTag:y.value.getValueString(),metaTagHtml:a.metaTagHtml}}),$("Saved Successfully")}catch(b){console.error("Error save page:",b),$("Error save page:"+b.message,{err:!0})}finally{i.value=!1}}return(b,v)=>(L(),G(z,{title:"Sold Listing Detail",description:`The Sold Listing Detail page is included by default and does not require configuration of the page content. To preview the page, you can click on any listing
     5        and view it through Sold Listings Page. However, you can set the Meta tags below to optimize SEO.`},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(w)}]),onClick:B(g,["prevent"])},A(d(i)?"Saving..":"Save"),3)]),default:k(()=>[e("div",pt,[e("div",mt,[v[1]||(v[1]=e("label",null,"PAGE URL",-1)),e("input",{type:"text",value:d(V),readonly:"",class:"suffix"},null,8,ft)]),p(J,{class:"form-group",ref:"metaTags",type:"soldListingDetail",modelValue:d(a).metaTagHtml,"onUpdate:modelValue":v[0]||(v[0]=T=>d(a).metaTagHtml=T)},null,8,["modelValue"]),p(j,{loading:d(t)},null,8,["loading"])])]),_:1}))}},yt=K(vt,[["__scopeId","data-v-8b1631dc"]]),wt={class:"form-groups"},ht={class:"form-group"},bt={class:"form-group"},Ct={__name:"index",setup(P){const a=M("metaTags"),i={uri:"profile",domain:window.location.host,metaTagHtml:""},t=f(!1);async function w(){t.value=!0;const y=await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"profile",uri:"profile",metaTag:a.value.getValueString(),metaTagHtml:i.metaTagHtml}});y.status.code===0?$("Saved Successfully"):$("Error save page:"+y.status.msg,{err:!0}),t.value=!1}const V=f(!0);E();async function E(){const y=await _.get("/wp-plugin/admin/common/page/setting/profile");V.value=!1,y.status.code===0&&(i.metaTagHtml=y.data.metaTagHtml||"")}return(y,g)=>(L(),G(z,{title:"Lead Center",description:"This is a default page that requires no configuration. When a lead browses your website, the Saved Search List, Favorite Listings, and Account Detail will be displayed here. You can find this page in a set of menu generated by the plugin or add its link as a custom button in your website’s navigation bar."},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(t)}]),onClick:B(w,["prevent"])},A(d(t)?"Saving..":"Save"),3)]),default:k(()=>[e("div",wt,[e("div",ht,[g[2]||(g[2]=e("label",null,"PAGE URL",-1)),p(Q,{modelValue:i.uri,"onUpdate:modelValue":g[0]||(g[0]=b=>i.uri=b),"page-config":i,"initial-val":"profile","can-edit":!1},null,8,["modelValue"])]),e("div",bt,[p(J,{class:"form-group",ref:"metaTags",modelValue:i.metaTagHtml,"onUpdate:modelValue":g[1]||(g[1]=b=>i.metaTagHtml=b),isShortCode:""},null,8,["modelValue"])])]),p(j,{loading:d(V)},null,8,["loading"])]),_:1}))}},_t=K(Ct,[["__scopeId","data-v-bdb4b2d4"]]),Tt={class:"report-list-title"},St={class:"search-title"},Vt={class:"list-header"},Lt={class:"header-display"},kt={class:"header-operation"},$t={class:"list-row"},Pt={class:"header-title"},Et={class:"header-subscribe"},Rt={class:"header-display"},Ut={class:"header-operation"},xt={key:0,class:"no-report-data"},Ht={__name:"reportList",props:{pageConfig:Object},setup(P){const a=f(""),i=f([]),[t,w]=[f(1),f(0)];function V(){const r=new URLSearchParams(window.location.search);r.set("page","lofty-shortcodes"),r.set("sub","market-report"),window.location.search=r.toString()}function E(r){t.value=1,g(),r.target.blur()}const y=M("listRef"),g=me(async function(){const r={title:a.value.trim(),pageNum:t.value,pageSize:5},s=Ue(y.value),n=await _.post("/admin/report/list",{data:r});w.value=Math.ceil(n.data.total/5),i.value=n.data.pluginReports||[],s()});g();function b(r){t.value=r.page,g()}function v(r){window.open(`${window.location.origin}/${P.pageConfig.uri}?report=${encodeURIComponent(r.title)}&pageKey=market_report_page`)}const{confirm:T}=Re();function H(r){T({title:"Delete Market Report",content:"Delete this report? It will be removed from the Market Report page, and currently subscribed leads will be unsubscribed and won't receive the email.",onConfirm:async()=>{(await _.post(`/admin/report/remove/${r.encryptId}`,{})).status.code===0&&($("Delete Successfully"),await g())}})}function R(r,s){r===!1?T({title:"Hide this Report",content:"Hide this Report? It will be removed from the Market Report page, and currently subscribed leads will be unsubscribed and won't receive the email. If shown again, leads will need to resubscribe.",onConfirm:()=>{C(r,s)},confirmButtonText:"UPDATE",type:"normal"}):C(r,s)}async function C(r,s){const n={encryptId:s.encryptId,collectionDisplay:r};(await _.post("/admin/report/updateReport",{data:n})).status.code===0&&($("Update Successfully"),await g())}return(r,s)=>(L(),N(W,null,[e("div",Tt,[s[2]||(s[2]=e("h2",null,"Report List",-1)),p(le,null,{trigger:k(()=>[p(d(ae),{class:"icon-mark"})]),content:k(()=>s[1]||(s[1]=[q(" Create a series of Market Reports to display on the website, and visitors can switch to browse different reports ")])),_:1})]),e("div",{class:"report-list-table",ref_key:"listRef",ref:y},[e("div",St,[Y(e("input",{"onUpdate:modelValue":s[0]||(s[0]=n=>we(a)?a.value=n:null),onKeydown:he(E,["enter"]),type:"text",placeholder:"Search Market Report Title"},null,544),[[X,d(a)]]),p(d(Ve),{class:"lofty-icon-search",onClick:d(g)},null,8,["onClick"]),e("div",{class:"add-report-btn",onClick:V},s[3]||(s[3]=[e("span",{class:"plus-icon"},"+",-1),e("span",null,"Add a New Report",-1)]))]),e("div",Vt,[s[8]||(s[8]=e("div",{class:"header-title"},"Report Title",-1)),s[9]||(s[9]=e("div",{class:"header-subscribe"},"Historical total of subscribers",-1)),e("div",Lt,[s[5]||(s[5]=q(" Collection Display ")),p(le,{right:""},{trigger:k(()=>[p(d(ae),{class:"icon-mark"})]),content:k(()=>s[4]||(s[4]=[q(" Once the toggle is enabled, visitors will be able to select the report from the Market Report page on the website. ")])),_:1})]),e("div",kt,[s[7]||(s[7]=q(" Operations ")),p(le,{right:""},{trigger:k(()=>[p(d(ae),{class:"icon-mark"})]),content:k(()=>s[6]||(s[6]=[q(" You can quickly view the generated report, delete any report. ")])),_:1})])]),e("div",{class:F(["list-body",{"has-pagination":d(w)>1}])},[(L(!0),N(W,null,be(d(i),n=>(L(),N("div",$t,[e("div",Pt,A(n.title),1),e("div",Et,A(n.subscribeCount),1),e("div",Rt,[p(Ee,{class:"mt10",modelValue:n.collectionDisplay,"onUpdate:modelValue":o=>n.collectionDisplay=o,onChange:o=>R(o,n),needConfirm:""},null,8,["modelValue","onUpdate:modelValue","onChange"])]),e("div",Ut,[p(d(Ie),{onClick:o=>v(n),class:"icon-view icon"},null,8,["onClick"]),p(d(Le),{onClick:o=>H(n),class:"icon"},null,8,["onClick"])])]))),256)),d(i).length===0?(L(),N("div",xt,s[10]||(s[10]=[e("div",null,"No Data",-1)]))):re("",!0)],2),p(Pe,{class:"admin-pagination",onPageChange:b,pageNum:d(t),pageSize:5,totalPage:d(w)},null,8,["pageNum","totalPage"])],512)],64))}},Mt={class:"form-groups"},It={class:"form-group"},Dt=["readonly"],Nt={class:"form-group"},At={class:"form-group"},Ft={class:"form-group"},Ot={__name:"index",setup(P){const a=f({}),i=f(""),t=M("page-url"),w=f(!1),V=D(()=>{var R,C,r;return!((R=a.value)!=null&&R.id)||!((C=a.value)!=null&&C.pageName)||w.value||!((r=a.value)!=null&&r.uri)}),E=D(()=>H.value||w.value),y=M("metaTags"),g=f("");async function b(){var C;const R="/wp-plugin/admin/report/init-info";try{const r=await _.get(R);if(r.status.code!==0)throw new Error(`HTTP error! status: ${(C=response==null?void 0:response.status)==null?void 0:C.msg}`);a.value=r.data.pluginPage,i.value=r.data.pluginPage.uri,g.value=r.data.pageConfigMap.submitJs||""}catch(r){console.error("Error fetching initial page info:",r)}}async function v(){if(!V.value){t.value.confirm();try{w.value=!0,(await _.post("/wp-plugin/admin/common/page/setting/update",{data:{type:"market_report_page",pageName:a.value.pageName,metaTag:y.value.getValueString(),metaTagHtml:a.value.metaTagHtml,uri:a.value.uri}})).status.code===0&&(await _.get("/update-routes"),await T(),$("Saved Successfully"))}catch(R){console.error("Error save page:",R),$("Save failed. Please try again.",{duration:3e3,err:!0})}finally{w.value=!1}}}async function T(){await _.post("/wp-plugin/admin/common/page/page-config/update/MARKET_REPORT_PAGE",{data:{submitJs:g.value}})}const H=f(!1);return te(async()=>{H.value=!0;try{await b()}catch(R){$("Error fetching page info:"+R.message,{err:!0})}finally{H.value=!1}}),(R,C)=>(L(),G(z,{title:"Market Report Collection",description:"Create multiple Market Reports to be displayed centrally on the website, allowing visitors to easily switch between and view different reports."},{button:k(()=>[e("button",{class:F(["btn-save",{disable:d(V)}]),onClick:B(v,["prevent"])},A(w.value?"Saving..":"Save"),3)]),default:k(()=>[e("div",Mt,[e("div",It,[C[4]||(C[4]=e("label",null,"PAGE NAME",-1)),Y(e("input",{type:"text",placeholder:"Type something...","onUpdate:modelValue":C[0]||(C[0]=r=>a.value.pageName=r),class:"page-name",maxlength:"100",readonly:d(E)},null,8,Dt),[[X,a.value.pageName]])]),e("div",Nt,[C[5]||(C[5]=e("label",null,"PAGE URL",-1)),p(Q,{modelValue:a.value.uri,"onUpdate:modelValue":C[1]||(C[1]=r=>a.value.uri=r),"page-config":a.value,"initial-val":i.value,ref:"page-url"},null,8,["modelValue","page-config","initial-val"])]),p(J,{class:"form-group",ref:"metaTags",modelValue:a.value.metaTagHtml,"onUpdate:modelValue":C[2]||(C[2]=r=>a.value.metaTagHtml=r),readonly:d(E)},null,8,["modelValue","readonly"]),e("div",At,[p(Ht,{pageConfig:a.value},null,8,["pageConfig"])]),e("div",Ft,[p(_e,{modelValue:g.value,"onUpdate:modelValue":C[3]||(C[3]=r=>g.value=r),desc:"The following code will be executed after successfully clicking the 'Subscribe to the report' button."},null,8,["modelValue"])])]),p(j,{loading:H.value},null,8,["loading"])]),_:1}))}},Kt={SearchPage:qe,ListingDetail:Qe,FeaturedListings:ot,SoldListings:ct,SoldListingDetail:yt,LeadCenter:_t,MarketReport:Ot},Gt={class:"lofty-admin-container"},Bt={class:"main-content"},jt={__name:"app",setup(P){let a=f("");function i(t){a.value=Kt[t.component]}return(t,w)=>(L(),N("div",Gt,[p(Te,{menuSections:d(De),onMenuItemClick:i},null,8,["menuSections"]),e("main",Bt,[(L(),G(Ce(d(a)),{key:d(a)}))])]))}},zt=K(jt,[["__scopeId","data-v-360938c4"]]);de(ke).mount("#plugin-check");de(zt).mount("#app");
  • lofty-idx/trunk/assets/admin-shortcodes.js

    r3312310 r3333213  
    1 import{h as F,_ as L}from"./_plugin-vue_export-helper.BXwY9aDM.js";/* empty css               */import{r as v,G as M,k as w,o as c,d as U,w as k,u as o,g as h,z as N,e,m as C,s as R,t as S,l as ce,p as ie,X as me,F as ee,h as te,q as b,x as V,S as ae,j as B,f as I,y as G,R as se,L as re,c as ge,a as fe,v as $,Y as E,i as ve,D as ue}from"./vendor.NEC4PHgy.js";import{P as D,f as ye,J as _e,L as he,S as Ce}from"./SubmitJs.DWmn7Vod.js";import{M as H,L as de,a as j,d as be,S as Se,c as ke}from"./styleConfig.DhjOBK_9.js";import{u as O}from"./useCopy.BlzIiYQ_.js";import{f as le}from"./date-format.BrUodQAJ.js";import{M as Ve}from"./multiSelect.DrlqYmIX.js";import{s as A,P as we}from"./PluginUpdate.DdDy_9Ji.js";import{_ as ne}from"./index.D8G0GxXE.js";import{_ as xe}from"./index.BSqvwR4u.js";import{u as Te}from"./user.C9PYqYHM.js";import{_ as Ue}from"./index.uDUgTW0e.js";import{p as Le}from"./standard.CMta1D5J.js";import{I as $e}from"./IconCopy.DKqiio1M.js";import"./number-format.CLdvQh6j.js";import"./index.qsOScXF2.js";import"./outsideclick.Bw_hMuzW.js";import"./index.Ey8cf3te.js";import"./index.DWgDswh1.js";import"./index.C-6OBrPY.js";import"./checkBox.CSsbXmX7.js";import"./tooltip.Chr6RZhw.js";const Re=[{title:"ShortCode",visible:!0,items:[{title:"ShortCode Log",path:"shortcode-log",component:"ShortCodeLog",visible:!0}]},{title:"Listings",visible:!0,items:[{title:"Search",path:"search-page",component:"SearchPage",visible:!0},{title:"Quick Search",path:"quick-search",component:"QuickSearch",visible:!0},{title:"Featured Listings",path:"featured-listings",component:"FeaturedListings",visible:!0},{title:"Sold Listings",path:"sold-listings",component:"SoldListings",visible:!0}]},{title:"Marketing",visible:!0,items:[{title:"Market Report",path:"market-report",component:"MarketReport",visible:!0}]},{title:"Lead Capture",visible:!0,items:[{title:"Home Valuation",path:"home-valuation",component:"HomeValuation",visible:!0}]}];function Ie(m=","){const l=m.split(",");return l[0]&&(l[0]=le("yyyy/MM/dd",+l[0])),l[1]&&(l[1]=le("yyyy/MM/dd",+l[1])),l.join(",")}const q={Search:"Search",QuickSearch:"QuickSearch",FeaturedListings:"FeaturedListings",SoldListings:"SoldListings",MarketReport:"MarketReport",HomeValuation:"HomeValuation"},pe=[{label:"Search",value:"Search"},{label:"Quick Search",value:"QuickSearch"},{label:"Featured Listings",value:"FeaturedListings"},{label:"Sold Listings",value:"SoldListings"},{label:"Market Report",value:"MarketReport"},{label:"Home Valuation",value:"HomeValuation"}],Me=pe.reduce((m,l)=>(m[l.value]=l.label,m),{});function J(m,l){const n=[];return m.forEach(d=>{const a={};for(let f in d.data)l.includes(f)?a[`date_${f}`]=Ie(d.data[f]):a[f]=d.data[f];n.push(a)}),n}function Y(m,l){F.post("/admin/shortCodeLog/save",{data:{type:m,content:l}})}const Fe={key:0},Ne={class:"form-groups"},De={class:"form-group mt20"},Oe={__name:"index",setup(m){const{copyCode:l,copied:n}=O(),d=v("map-grid"),a=v([]);M("allConditions",a);const f=v(""),t=w("metaTags"),s=w("listingRef");let y=[];function _(){const p={layout:d.value,meta:t.value.getValueString(),conditions:J(a.value,y),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:s.value.sortCondition},r=`[lofty_idx_listing_page][[${JSON.stringify(p,null,2)}]][/lofty_idx_listing_page]`;l(r),Y(q.Search,r)}return(p,r)=>(c(),U(D,{title:"Search",description:"Generate and configure the shortcode of search page, then create a new WordPress page and insert the shortcode into it."},{button:k(()=>[o(n)?(c(),h("span",Fe,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(_,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",Ne,[C(H,{class:"listing-groups",ref:"metaTags",modelValue:f.value,"onUpdate:modelValue":r[0]||(r[0]=i=>f.value=i),isShortCode:""},null,8,["modelValue"]),e("div",De,[r[3]||(r[3]=e("label",null,"LAYOUT",-1)),C(de,{modelValue:d.value,"onUpdate:modelValue":r[1]||(r[1]=i=>d.value=i)},null,8,["modelValue"])]),C(j,{class:"search-page-filter",onReady:r[2]||(r[2]=i=>R(y)?y.value=i:y=i),ref:"listingRef"},null,512)])]),_:1}))}},Pe=L(Oe,[["__scopeId","data-v-5cca0e8e"]]),Ee={key:0},Ae={class:"form-groups"},He={class:"form-group mt20"},qe={class:"form-group"},Ye={style:{width:"100%"}},ze={__name:"index",setup(m){const{copyCode:l,copied:n}=O(),d=v([]),a=v("universal"),f=v([]);M("allConditions",d);const t=v(""),s=w("metaTags"),y=w("listingRef");async function _(i){if(i.value.length>0)return;const u=await F.get("/wp-plugin/admin/listing-search/quickSearch/conditions");i.value=u.data}let p=[];function r(){const i={layout:a.value,quick_listing_filters:f.value.join(","),meta:s.value.getValueString(),conditions:J(d.value,p),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:y.value.sortCondition},u=`[lofty_idx_quick_search][[${JSON.stringify(i,null,2)}]][/lofty_idx_quick_search]`;l(u),Y(q.QuickSearch,u)}return(i,u)=>(c(),U(D,{title:"Quick Search",description:"Integrate a streamlined and user-friendly search interface directly into your WordPress page, providing a clean, intuitive experience that allows users to easily find what they're looking for."},{button:k(()=>[o(n)?(c(),h("span",Ee,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(r,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",Ae,[C(H,{class:"listing-groups",ref:"metaTags",modelValue:t.value,"onUpdate:modelValue":u[0]||(u[0]=g=>t.value=g),isShortCode:""},null,8,["modelValue"]),e("div",He,[u[4]||(u[4]=e("label",null,"LAYOUT",-1)),C(be,{options:[{label:"Universal",value:"universal"},{label:"Two-line layout",value:"two-line"}],"initial-condition":[a.value],"onUpdate:condition":u[1]||(u[1]=g=>a.value=g[0])},null,8,["initial-condition"])]),e("div",qe,[e("label",Ye,S("Show Listing Filter".toUpperCase()),1),C(Ve,{"initial-condition":f.value,"onUpdate:condition":u[2]||(u[2]=g=>f.value=g),"get-option-func":_,"any-label":"None"},null,8,["initial-condition"])]),C(j,{onReady:u[3]||(u[3]=g=>R(p)?p.value=g:p=g),class:"search-page-filter",ref:"listingRef"},null,512)])]),_:1}))}},Be=L(ze,[["__scopeId","data-v-5c22ec94"]]),Ge={featuredListingStyle:"grid",grid:{buttonText:"More",default:4,min:1,max:6,showButton:!0},slider:{duration:5,buttonText:"More",default:3,min:1,max:50,showButton:!0,autoPlay:!0,speed:1e3,layout:"full"},gallery:{buttonText:"More",default:3,min:1,max:8,showButton:!0,title:""}},je={key:0},Je={class:"form-groups"},We={__name:"index",setup(m){const l=v([]);M("allConditions",l);const n=v(""),d=w("metaTags"),{copied:a,copyCode:f}=O(),t=w("styleConfig"),s=w("listingRef"),y=v({});function _(i){y.value=i}let p=[];function r(){const i=t.value.getCurrentConfig(),u=i.featuredListingStyle,g=JSON.parse(JSON.stringify(i[u]||{})),x={layout:u,layout_config:g,meta:d.value.getValueString(),conditions:J(l.value,p),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:s.value.sortCondition},P=`[lofty_idx_featured_listing][[${JSON.stringify(x,null,2)}]][/lofty_idx_featured_listing]`;f(P),Y(q.FeaturedListings,P)}return(i,u)=>(c(),U(D,{title:"Featured Listings",description:"Generate and configure the shortcode of various styles featured Listings page, then create a new WordPress page and insert the shortcode into it."},{button:k(()=>[o(a)?(c(),h("span",je,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(r,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",Je,[C(H,{class:"listing-groups",ref:"metaTags",modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=g=>n.value=g),isShortCode:""},null,8,["modelValue"]),C(j,{onReady:u[1]||(u[1]=g=>R(p)?p.value=g:p=g),style:{"padding-left":"0"},ref:"listingRef"},null,512),C(Se,{config:o(Ge),onUpdate:_,ref:"styleConfig",style:{"padding-left":"0"}},null,8,["config"])])]),_:1}))}},Qe=L(We,[["__scopeId","data-v-1ff2633b"]]),Ze=m=>[{key:"title",inputType:"text",label:"Title",value:m.title,maxLength:100},{key:"show_new",inputType:"radio",label:"Display New Listings (Last 30 Days)",value:m.show_new,options:[{label:"Yes",value:!0},{label:"No",value:!1}]},{key:"show_pending",inputType:"radio",label:"Display Pending Listings",value:m.show_pending,options:[{label:"Yes",value:!0},{label:"No",value:!1}]},{key:"show_sold",inputType:"radio",label:"Display Sold Listings (Last 30 Days)",value:m.show_sold,options:[{label:"Yes",value:!0},{label:"No",value:!1}]}],X={title:"",show_new:!0,show_pending:!0,show_sold:!0},Ke={class:"marketReport-config-content"},Xe={class:"config-item-name"},et=["type","onUpdate:modelValue","maxlength"],tt=["type","onUpdate:modelValue","name","value"],ot={__name:"report-config",props:{config:{type:Object,default:()=>({})}},emits:["update"],setup(m,{emit:l}){ce(()=>{d()});let n=v([]);function d(){n.value=Ze(X)}ie(()=>n.value,()=>{f()},{deep:!0});const a=l;function f(){const y=s();a("update",{diffData:y,configData:t()})}function t(){var _;let y={};return(_=n.value)==null||_.forEach(p=>{y[p.key]=p.value}),y}function s(){let y={},_=t();return me(X,_)||(y=ye(X,_)),y}return(y,_)=>(c(),h("div",Ke,[_[0]||(_[0]=e("div",{class:"config-name"},"Style Settings",-1)),(c(!0),h(ee,null,te(o(n),p=>b((c(),h("div",{class:"config-item",key:p.key},[e("div",Xe,S(p.label),1),e("div",{class:G(["config-item-content",{row:p.inputType==="radio"}])},[p.inputType==="text"?b((c(),h("input",{key:0,type:p.inputType,"onUpdate:modelValue":r=>p.value=r,maxlength:p.maxLength},null,8,et)),[[ae,p.value]]):B("",!0),p.inputType==="radio"?(c(!0),h(ee,{key:1},te(p.options,(r,i)=>(c(),h("label",{key:i},[b(e("input",{type:p.inputType,"onUpdate:modelValue":u=>p.value=u,name:m.config.type+"_"+p.key,value:r.value},null,8,tt),[[ae,p.value]]),I(" "+S(r.label),1)]))),128)):B("",!0)],2)])),[[V,p.show!==!1]])),128))]))}},at=L(ot,[["__scopeId","data-v-a8ce3903"]]),st={key:0},lt={__name:"index",setup(m){const l={title:"Market Criteria",tip:"Define the criteria used to generate the market report",criteriaUrl:"/wp-plugin/market-report/conditions",listingCountUrl:"/wp-plugin/market-report/match-count",isMarketReport:!0},n=v([{data:{location:{}},orderKeys:["location"]}]);M("allConditions",n);const{copied:d,copyCode:a}=O();let f=v({});function t({configData:u}){f.value=u}const s=v(""),y=w("metaTags");let _=[];function p(){var T,oe;const u=n.value.map(K=>({data:se(K.data||{})})).filter(Boolean);let g=[];(T=u[0])!=null&&T.data.location&&Object.values((oe=u[0])==null?void 0:oe.data.location).forEach(K=>{g=g.concat(K)});const{title:x,show_new:P,show_pending:W,show_sold:Q}=f.value,Z={title:x,location:g.join(","),show_new:P,show_pending:W,show_sold:Q,meta:y.value.getValueString(),conditions:J(n.value,_),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone},z=`[lofty_idx_market_report][[${JSON.stringify(Z,null,2)}]][/lofty_idx_market_report]`;a(z),Y(q.MarketReport,z)}const r=v(!1);async function i(){if(r.value)return;const{title:u,show_new:g,show_pending:x,show_sold:P}=f.value;if(!u){A("Please fill the report title.",{duration:3e3,err:!0});return}if(!/^[a-zA-Z0-9_\- ]*$/.test(u)){A("Special characters are not allowed in the title.",{duration:3e3,err:!0});return}r.value=!0;const W=n.value.map(T=>({data:se(T.data||{})})).filter(Boolean),Q=await F.post("/admin/listing-search/short-code/saveOrUpdate",{data:{values:W}}),Z={title:u,filterName:Q.data,extraInfoMap:{displayNewListing:g,displayPendingListings:x,displaySoldListings:P}},z=await F.post("/admin/report/save",{data:Z});if(z.status.code===0)A("Add Successfully"),setTimeout(()=>{const T=new URLSearchParams(window.location.search);T.set("page","lofty-idx-pages"),T.set("sub","market-report-collection"),window.location.search=T.toString()},1e3);else{let T="A report with the same filters already exists. Please do not create a duplicate";z.status.code===230001&&(T="This report title is already in use. Please choose a different one"),A(T,{duration:5e3,err:!0}),r.value=!1}}return(u,g)=>(c(),U(D,{title:"Market Report",description:"Generate and configure the shortcode of Market Report, then create a new WordPress Page and insert the shortcode into it, improving market transparency and attracting investor attention to fuel business opportunities."},{button:k(()=>[e("button",{class:G(["btn-save","btn-add-report",{disable:r.value}]),onClick:N(i,["prevent"])},"Add To Report List",2),o(d)?(c(),h("span",st,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(p,["prevent"])}," Copy to clipboard "))]),default:k(()=>[C(H,{class:"market-form-groups",ref:"metaTags",modelValue:s.value,"onUpdate:modelValue":g[0]||(g[0]=x=>s.value=x),type:"marketReport",isShortCode:""},null,8,["modelValue"]),C(j,{class:"market-report-short-code",maxGroupNumber:1,config:l,onReady:g[1]||(g[1]=x=>R(_)?_.value=x:_=x)}),C(at,{onUpdate:t})]),_:1}))}},nt={key:0},it={class:"form-groups"},rt={class:"form-group"},ut={__name:"index",setup(m){const{copyCode:l,copied:n}=O(),d=v("map-grid"),a=v([]);M("allConditions",a),M("listingFilterExcludeFields",v(["listingStatus"])),M("listingFilterLabelMap",v({price:"Sold Price"}));const f=v(""),t=w("metaTags"),s=w("listingRef");let y=[];function _(){const p={layout:d.value,meta:t.value.getValueString(),conditions:J(a.value,y),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:s.value.sortCondition},r=`[lofty_idx_sold_listing][[${JSON.stringify(p,null,2)}]][/lofty_idx_sold_listing]`;l(r),Y(q.SoldListings,r)}return(p,r)=>(c(),U(D,{title:"Sold Listings",description:"Generate and configure the shortcode of sold listings page, then create a new WordPress page and insert the shortcode into it."},{button:k(()=>[o(n)?(c(),h("span",nt,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(_,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",it,[e("div",rt,[r[3]||(r[3]=e("label",null,"LAYOUT",-1)),C(de,{modelValue:d.value,"onUpdate:modelValue":r[0]||(r[0]=i=>d.value=i)},null,8,["modelValue"])]),C(H,{class:"listing-groups",ref:"metaTags",modelValue:f.value,"onUpdate:modelValue":r[1]||(r[1]=i=>f.value=i),isShortCode:""},null,8,["modelValue"]),C(j,{class:"filters-wrap","is-sold":!0,onReady:r[2]||(r[2]=i=>R(y)?y.value=i:y=i),ref:"listingRef"},null,512)])]),_:1}))}},dt=L(ut,[["__scopeId","data-v-74a6f2c5"]]),pt={class:"lofty-img-upload"},ct={key:0,class:"img-wrapper"},mt=["src"],gt={key:1,class:"upload-wrapper"},ft={key:1},vt={__name:"imgUpload",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(m){const l=re(m,"modelValue"),n=w("fileInput");function d(){n.value.click()}const a=v(!1);function f(){const t=n.value.files[0],s=new FileReader;a.value=!0,s.onload=async y=>{const _=y.target.result,p=await F.post("/wp-plugin/evaluation/upload-aws/image",{data:{base64File:_.split(",")[1]}});p.status.code===0&&(l.value=p.data),a.value=!1},s.readAsDataURL(t)}return(t,s)=>(c(),h("div",pt,[l.value?(c(),h("div",ct,[e("img",{src:l.value,alt:""},null,8,mt),e("div",{class:"img-btn edit",onClick:d},s[1]||(s[1]=[e("span",{class:"lofty_iconfont lofty-icon-Shape"},null,-1)])),e("div",{class:"img-btn delete",onClick:s[0]||(s[0]=y=>l.value="")},s[2]||(s[2]=[e("span",{class:"lofty_iconfont lofty-icon-delete2"},null,-1)])),o(a)?(c(),U(ne,{key:0,loading:o(a)},null,8,["loading"])):B("",!0)])):(c(),h("div",gt,[o(a)?(c(),U(ne,{key:0,loading:o(a)},null,8,["loading"])):(c(),h("div",ft,s[3]||(s[3]=[e("div",{class:"lofty_iconfont lofty-icon-plus_01"},null,-1),e("div",{class:"upload-text"},"Upload Image",-1),e("div",{class:"upload-tip"},"(1440×900)",-1),e("label",{for:"fileInput"},null,-1)])))])),e("input",{id:"fileInput",ref_key:"fileInput",ref:n,type:"file",onChange:f,accept:"image/png, image/jpeg, image/gif, image/jpg"},null,544)]))}},yt=L(vt,[["__scopeId","data-v-35cd6e29"]]),_t={class:"style-setting"},ht={__name:"style-setting",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(m){const l=v(""),n=re(m,"modelValue");return ie(l,()=>{n.value=l.value}),n.value=l.value,(d,a)=>(c(),h("div",_t,[a[1]||(a[1]=e("p",{class:"second-title"},"BACKGROUND IMAGE",-1)),C(yt,{modelValue:o(l),"onUpdate:modelValue":a[0]||(a[0]=f=>R(l)?l.value=f:null)},null,8,["modelValue"])]))}},Ct=L(ht,[["__scopeId","data-v-c79f239d"]]),bt="/home-valuation-step1.BcOghYip.png",St="/home-valuation-step2.C1GywpzI.png",kt="/home-valuation-step3-yes.C4P-9dZ9.png",Vt="/home-valuation-step3-no.OGxWnwZp.png",wt={class:"admin-home-valuation-preview"},xt=["src"],Tt=["src"],Ut={class:"title ellipsis"},Lt={class:"desc"},$t={class:"step-1-content"},Rt={class:"placeholder"},It={class:"button-text ellipsis"},Mt={class:"unit-field"},Ft={class:"step-2-content"},Nt={class:"form-title ellipsis"},Dt={class:"form-desc"},Ot={class:"ellipsis"},Pt={class:"name-required"},Et={class:"step-3-content"},At={__name:"preview",props:{stepValue:String,imgUrl:String,config:Object},setup(m){const{step1:l,step2:n,step3:d}=m.config,a=ge(()=>m.stepValue==="1"?LoftyIdxUtils.static_url(bt):m.stepValue==="2"?LoftyIdxUtils.static_url(St):d.autoValuation?LoftyIdxUtils.static_url(kt):LoftyIdxUtils.static_url(Vt));return(f,t)=>(c(),h("div",wt,[t[1]||(t[1]=e("div",{class:"preview-title"},"Preview",-1)),e("div",{class:G(["preview-content",["step-"+m.stepValue,o(d).autoValuation?"yes":"no"]])},[m.imgUrl?(c(),h("img",{key:0,src:m.imgUrl,alt:""},null,8,xt)):B("",!0),e("img",{src:o(a),alt:""},null,8,Tt),e("div",Ut,S(o(l).title),1),e("div",Lt,[e("span",null,S(o(l).desc),1)]),b(e("div",$t,[e("div",Rt,S(o(l).placeholder),1),e("div",It,S(o(l).buttonText),1),b(e("div",Mt,"| Unit",512),[[V,o(l).showUnit]])],512),[[V,m.stepValue==="1"]]),b(e("div",Ft,[e("div",Nt,S(o(n).title),1),e("div",Dt,[e("span",Ot,S(o(n).desc),1)]),b(e("div",Pt,t[0]||(t[0]=[e("span",null,"*",-1),e("span",{style:{"margin-left":"210px"}},"*",-1)]),512),[[V,o(n).nameRequired]])],512),[[V,m.stepValue==="2"]]),b(e("div",Et,[b(e("div",{class:"step3-title ellipsis"},S(o(d).title),513),[[V,o(d).autoValuation]]),b(e("div",{class:"thank-you"},S(o(d).thankYou),513),[[V,!o(d).autoValuation]])],512),[[V,m.stepValue==="3"]])],2)]))}},Ht=L(At,[["__scopeId","data-v-f37d07a7"]]),qt={class:"lofty-admin-step-config"},Yt={class:"step-content"},zt={class:"left-config"},Bt={style:{"margin-left":"30px"}},Gt={style:{"margin-left":"30px"}},jt={class:"step-3"},Jt={style:{"margin-left":"30px"}},Wt={class:"label mt20"},Qt={__name:"step-config",props:{imgUrl:String},setup(m,{expose:l}){const n=v("1"),d=[{label:"Step1",value:"1"},{label:"Step2",value:"2"},{label:"Step3",value:"3"}],a=fe({step1:{title:"What‘s your Home Worth?",desc:"Find out the worth of your home and get the most accurate valuation.",placeholder:"Enter your street address",buttonText:"GET REPORT",showUnit:!0},step2:{title:"Property Found!",desc:"Where would you like us to send your home valuation report?",nameRequired:!0},step3:{autoValuation:!0,title:"Estimated Home Value",thankYou:"At this time we can't provide an automated home value estimate, but we'll be reaching out to arrange a personalized quote based on market conditions and property information. Thank you!"}});return l({config:a}),(f,t)=>(c(),h("div",qt,[C(xe,{modelValue:o(n),"onUpdate:modelValue":t[0]||(t[0]=s=>R(n)?n.value=s:null),tabs:d},null,8,["modelValue"]),e("div",Yt,[e("div",zt,[b(e("div",null,[t[17]||(t[17]=e("div",{class:"title"},"Content",-1)),t[18]||(t[18]=e("div",{class:"label"},"TITLE",-1)),b(e("input",{"onUpdate:modelValue":t[1]||(t[1]=s=>o(a).step1.title=s),type:"text",maxlength:"100"},null,512),[[$,o(a).step1.title]]),t[19]||(t[19]=e("div",{class:"label mt20"},"DESCRIPTION",-1)),b(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>o(a).step1.desc=s),type:"text",maxlength:"100"},null,512),[[$,o(a).step1.desc]]),t[20]||(t[20]=e("div",{class:"title mt30"},"Address Bar",-1)),t[21]||(t[21]=e("div",{class:"label"},"DEFAULT TEXT",-1)),b(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>o(a).step1.placeholder=s),type:"text",maxlength:"50"},null,512),[[$,o(a).step1.placeholder]]),t[22]||(t[22]=e("div",{class:"label mt20"},"BUTTON TEXT",-1)),b(e("input",{"onUpdate:modelValue":t[4]||(t[4]=s=>o(a).step1.buttonText=s),type:"text",maxlength:"20"},null,512),[[$,o(a).step1.buttonText]]),t[23]||(t[23]=e("div",{class:"label mt20"},"SHOW UNIT FIELD",-1)),e("label",null,[b(e("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>o(a).step1.showUnit=s),type:"radio",name:"unit",value:!0},null,512),[[E,o(a).step1.showUnit]]),t[15]||(t[15]=I("Yes "))]),e("label",Bt,[b(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>o(a).step1.showUnit=s),type:"radio",name:"unit",value:!1},null,512),[[E,o(a).step1.showUnit]]),t[16]||(t[16]=I("No "))])],512),[[V,o(n)==="1"]]),b(e("div",null,[t[26]||(t[26]=e("div",{class:"title"},"Content",-1)),t[27]||(t[27]=e("div",{class:"label"},"FORM TITLE",-1)),b(e("input",{"onUpdate:modelValue":t[7]||(t[7]=s=>o(a).step2.title=s),type:"text",maxlength:"50"},null,512),[[$,o(a).step2.title]]),t[28]||(t[28]=e("div",{class:"label mt20"},"DESCRIPTION",-1)),b(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>o(a).step2.desc=s),type:"text",maxlength:"100"},null,512),[[$,o(a).step2.desc]]),t[29]||(t[29]=e("div",{class:"title mt30"},"Form Settings",-1)),t[30]||(t[30]=e("div",{class:"label mt20"},"NAME",-1)),e("label",null,[b(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>o(a).step2.nameRequired=s),type:"radio",name:"name",value:!0},null,512),[[E,o(a).step2.nameRequired]]),t[24]||(t[24]=I("Required "))]),e("label",Gt,[b(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>o(a).step2.nameRequired=s),type:"radio",name:"name",value:!1},null,512),[[E,o(a).step2.nameRequired]]),t[25]||(t[25]=I("Optional "))])],512),[[V,o(n)==="2"]]),b(e("div",jt,[t[33]||(t[33]=e("div",{class:"title"},"Form Settings",-1)),t[34]||(t[34]=e("div",{class:"label mt20"},"AUTO HOME VALUATION",-1)),e("label",null,[b(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>o(a).step3.autoValuation=s),type:"radio",name:"autoValuation",value:!0},null,512),[[E,o(a).step3.autoValuation]]),t[31]||(t[31]=I("Yes "))]),e("label",Jt,[b(e("input",{"onUpdate:modelValue":t[12]||(t[12]=s=>o(a).step3.autoValuation=s),type:"radio",name:"autoValuation",value:!1},null,512),[[E,o(a).step3.autoValuation]]),t[32]||(t[32]=I("No "))]),e("div",Wt,S(o(a).step3.autoValuation?"TITLE":"THANK YOU MESSAGE"),1),b(e("input",{"onUpdate:modelValue":t[13]||(t[13]=s=>o(a).step3.title=s),type:"text",maxlength:"60"},null,512),[[V,o(a).step3.autoValuation],[$,o(a).step3.title]]),b(e("textarea",{"onUpdate:modelValue":t[14]||(t[14]=s=>o(a).step3.thankYou=s),maxlength:"300"},null,512),[[V,!o(a).step3.autoValuation],[$,o(a).step3.thankYou]])],512),[[V,o(n)==="3"]])]),C(Ht,{class:"right-preview",stepValue:o(n),imgUrl:m.imgUrl,config:o(a)},null,8,["stepValue","imgUrl","config"])])]))}},Zt=L(Qt,[["__scopeId","data-v-3d9aec6c"]]),Kt={key:0},Xt={__name:"index",setup(m){const l=v(""),n=v(""),d=w("stepConfig"),a=v(""),f=w("metaTags"),{copied:t,copyCode:s}=O(),y=v(!0);function _(){if(!Te.permission){y.value=!1;return}const{step1:p,step2:r,step3:i}=d.value.config,u={img_url:l.value,step1:p,step2:r,step3:i,meta:f.value.getValueString(),submitJs:n.value},g=`[lofty_idx_home_valuation][[${JSON.stringify(u,null,2)}]][/lofty_idx_home_valuation]`;s(g),Y(q.HomeValuation,g)}return(p,r)=>(c(),U(D,{title:"Home Valuation",description:"Provide a curated and dynamic home valuation experience, showcasing featured properties to enhance visibility, engage users, and drive lead generation effectively."},{button:k(()=>[o(t)?(c(),h("span",Kt,"Copied!")):(c(),h("button",{key:1,class:G(["btn-save",{disable:!y.value}]),onClick:N(_,["prevent"])}," Copy to clipboard ",2))]),default:k(()=>[C(H,{class:"market-form-groups",ref:"metaTags",modelValue:a.value,"onUpdate:modelValue":r[0]||(r[0]=i=>a.value=i),isShortCode:""},null,8,["modelValue"]),C(Ct,{class:"market-form-groups",modelValue:l.value,"onUpdate:modelValue":r[1]||(r[1]=i=>l.value=i)},null,8,["modelValue"]),C(_e,{modelValue:n.value,"onUpdate:modelValue":r[2]||(r[2]=i=>n.value=i),class:"market-form-groups",desc:"The following code will be executed after the report results are generated in step three."},null,8,["modelValue"]),C(Zt,{class:"market-form-groups",ref_key:"stepConfig",ref:d,imgUrl:l.value},null,8,["imgUrl"])]),_:1}))}},eo={class:"lofty-shortCode-log"},to={class:"short-log-table"},oo={class:"list-row"},ao={class:"header-type"},so=["textContent"],lo={class:"header-operation"},no={key:0,class:"no-log-data"},io={__name:"index",setup(m){const{copyCode:l}=O(),n=v(""),[d,a,f,t]=[v(1),v(1),v([]),v(!1)];_();function s(i){n.value=i,d.value=1,_()}function y(i){d.value=i.page,_()}async function _(){t.value=!0;const i=await F.get(`/admin/shortCodeLog/list?pageNum=${d.value}&pageSize=5&type=${n.value}`);a.value=Math.ceil(i.data.total/5),f.value=i.data.shortCodeList,t.value=!1}async function p(i){(await F.post("/admin/shortCodeLog/remove",{data:{id:i.id}})).status.code===0&&(A("Delete Successfully"),d.value=1,await _())}function r(i){l(i.content),A("Copy Successfully")}return(i,u)=>(c(),U(D,{title:"ShortCode Log",showHeader:!1,description:"Review the history and details of your Lofty WordPress ShortCode generation history on this log page."},{default:k(()=>[e("div",eo,[C(Ue,{modelValue:o(n),"onUpdate:modelValue":u[0]||(u[0]=g=>R(n)?n.value=g:null),list:o(pe),"show-all":"",class:"short-log-select",size:"small",onChange:s},{label:k(({label:g})=>[e("span",null,"Type: "+S(g||"All"),1)]),_:1},8,["modelValue","list"]),e("div",to,[u[2]||(u[2]=e("div",{class:"list-header"},[e("div",{class:"header-type"},"Type"),e("div",{class:"header-content"},"Content"),e("div",{class:"header-operation"}," Operations ")],-1)),e("div",{class:G(["list-body",{"has-pagination":o(a)>1}])},[(c(!0),h(ee,null,te(o(f),g=>(c(),h("div",oo,[e("div",ao,S(o(Me)[g.type]),1),e("div",{class:"header-content",textContent:S(g.content)},null,8,so),e("div",lo,[C(o($e),{onClick:x=>r(g),class:"icon"},null,8,["onClick"]),C(o(ke),{onClick:x=>p(g),class:"icon icon-trash"},null,8,["onClick"])])]))),256)),o(f).length===0?(c(),h("div",no,u[1]||(u[1]=[e("div",null,"No Data",-1)]))):B("",!0)],2),C(Le,{class:"admin-pagination",onPageChange:y,pageNum:o(d),pageSize:5,totalPage:o(a)},null,8,["pageNum","totalPage"]),C(he,{loading:o(t)},null,8,["loading"])])])]),_:1}))}},ro={SearchPage:Pe,QuickSearch:Be,FeaturedListings:Qe,MarketReport:lt,SoldListings:dt,HomeValuation:Xt,ShortCodeLog:io},uo={class:"lofty-admin-container"},po={class:"main-content"},co={__name:"app",setup(m){let l=v("");function n(d){l.value=ro[d.component]}return(d,a)=>(c(),h("div",uo,[C(Ce,{menuSections:o(Re),onMenuItemClick:n},null,8,["menuSections"]),e("main",po,[(c(),U(ve(o(l))))])]))}},mo=L(co,[["__scopeId","data-v-9b62c2a8"]]);ue(mo).mount("#app");ue(we).mount("#plugin-check");
     1import{h as F,_ as L}from"./_plugin-vue_export-helper.bB-lvPOu.js";/* empty css               */import{r as v,G as M,k as w,o as c,d as U,w as k,u as o,g as h,z as N,e,m as C,s as R,t as S,l as ce,p as ie,W as me,F as ee,h as te,q as b,x as V,Q as ae,j as B,f as I,y as G,P as se,L as re,c as ge,a as fe,v as $,X as E,i as ve,D as ue}from"./vendor.DSMCY3-_.js";import{P as D,f as ye,J as _e,L as he,S as Ce}from"./SubmitJs.CFwKS8Wv.js";import{M as H,L as de,a as W,d as be,S as Se,c as ke}from"./styleConfig.CsnKPZfX.js";import{u as O}from"./useCopy.CluLpl8Z.js";import{f as le}from"./date-format.BrUodQAJ.js";import{M as Ve}from"./multiSelect.B-Bvv-QV.js";import{s as A,P as we}from"./PluginUpdate.D0brfHtJ.js";import{_ as ne}from"./index.DAwEVGKX.js";import{_ as xe}from"./index.jjVwSEkV.js";import{u as Te}from"./user.B_wb9Yeq.js";import{_ as Ue}from"./index.BIsjoQ8l.js";import{p as Le}from"./standard.CXwndxZu.js";import{I as $e}from"./IconCopy.DMe4YHlb.js";import"./number-format.CLdvQh6j.js";import"./index.Ca0KQw1k.js";import"./outsideclick.Bw_hMuzW.js";import"./index.C_5yu3Gg.js";import"./index.B1jQkB8N.js";import"./index.CblVywxl.js";import"./index.BPxU_3zo.js";import"./index.D1LZflJ-.js";import"./service.DFLbHlSk.js";import"./house-format.CGUVCimM.js";import"./checkBox.nJJrXg5E.js";import"./tooltip.D1TTPwD5.js";const Re=[{title:"ShortCode",visible:!0,items:[{title:"ShortCode Log",path:"shortcode-log",component:"ShortCodeLog",visible:!0}]},{title:"Listings",visible:!0,items:[{title:"Search",path:"search-page",component:"SearchPage",visible:!0},{title:"Quick Search",path:"quick-search",component:"QuickSearch",visible:!0},{title:"Featured Listings",path:"featured-listings",component:"FeaturedListings",visible:!0},{title:"Sold Listings",path:"sold-listings",component:"SoldListings",visible:!0}]},{title:"Marketing",visible:!0,items:[{title:"Market Report",path:"market-report",component:"MarketReport",visible:!0}]},{title:"Lead Capture",visible:!0,items:[{title:"Home Valuation",path:"home-valuation",component:"HomeValuation",visible:!0}]}];function Ie(m=","){const l=m.split(",");return l[0]&&(l[0]=le("yyyy/MM/dd",+l[0])),l[1]&&(l[1]=le("yyyy/MM/dd",+l[1])),l.join(",")}const q={Search:"Search",QuickSearch:"QuickSearch",FeaturedListings:"FeaturedListings",SoldListings:"SoldListings",MarketReport:"MarketReport",HomeValuation:"HomeValuation"},pe=[{label:"Search",value:"Search"},{label:"Quick Search",value:"QuickSearch"},{label:"Featured Listings",value:"FeaturedListings"},{label:"Sold Listings",value:"SoldListings"},{label:"Market Report",value:"MarketReport"},{label:"Home Valuation",value:"HomeValuation"}],Me=pe.reduce((m,l)=>(m[l.value]=l.label,m),{});function j(m,l){const n=[];return m.forEach(d=>{const a={};for(let f in d.data)l.includes(f)?a[`date_${f}`]=Ie(d.data[f]):a[f]=d.data[f];n.push(a)}),n}function Y(m,l){F.post("/admin/shortCodeLog/save",{data:{type:m,content:l}})}const Fe={key:0},Ne={class:"form-groups"},De={class:"form-group mt20"},Oe={__name:"index",setup(m){const{copyCode:l,copied:n}=O(),d=v("map-grid"),a=v([]);M("allConditions",a);const f=v(""),t=w("metaTags"),s=w("listingRef");let y=[];function _(){const p={layout:d.value,meta:t.value.getValueString(),conditions:j(a.value,y),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:s.value.sortCondition},r=`[lofty_idx_listing_page][[${JSON.stringify(p,null,2)}]][/lofty_idx_listing_page]`;l(r),Y(q.Search,r)}return(p,r)=>(c(),U(D,{title:"Search",description:"Generate and configure the shortcode of search page, then create a new WordPress page and insert the shortcode into it."},{button:k(()=>[o(n)?(c(),h("span",Fe,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(_,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",Ne,[C(H,{class:"listing-groups",ref:"metaTags",modelValue:f.value,"onUpdate:modelValue":r[0]||(r[0]=i=>f.value=i),isShortCode:""},null,8,["modelValue"]),e("div",De,[r[3]||(r[3]=e("label",null,"LAYOUT",-1)),C(de,{modelValue:d.value,"onUpdate:modelValue":r[1]||(r[1]=i=>d.value=i)},null,8,["modelValue"])]),C(W,{class:"search-page-filter",onReady:r[2]||(r[2]=i=>R(y)?y.value=i:y=i),ref:"listingRef"},null,512)])]),_:1}))}},Pe=L(Oe,[["__scopeId","data-v-5cca0e8e"]]),Ee={key:0},Ae={class:"form-groups"},He={class:"form-group mt20"},qe={class:"form-group"},Ye={style:{width:"100%"}},ze={__name:"index",setup(m){const{copyCode:l,copied:n}=O(),d=v([]),a=v("universal"),f=v([]);M("allConditions",d);const t=v(""),s=w("metaTags"),y=w("listingRef");async function _(i){if(i.value.length>0)return;const u=await F.get("/wp-plugin/admin/listing-search/quickSearch/conditions");i.value=u.data}let p=[];function r(){const i={layout:a.value,quick_listing_filters:f.value.join(","),meta:s.value.getValueString(),conditions:j(d.value,p),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:y.value.sortCondition},u=`[lofty_idx_quick_search][[${JSON.stringify(i,null,2)}]][/lofty_idx_quick_search]`;l(u),Y(q.QuickSearch,u)}return(i,u)=>(c(),U(D,{title:"Quick Search",description:"Integrate a streamlined and user-friendly search interface directly into your WordPress page, providing a clean, intuitive experience that allows users to easily find what they're looking for."},{button:k(()=>[o(n)?(c(),h("span",Ee,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(r,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",Ae,[C(H,{class:"listing-groups",ref:"metaTags",modelValue:t.value,"onUpdate:modelValue":u[0]||(u[0]=g=>t.value=g),isShortCode:""},null,8,["modelValue"]),e("div",He,[u[4]||(u[4]=e("label",null,"LAYOUT",-1)),C(be,{options:[{label:"Universal",value:"universal"},{label:"Two-line layout",value:"two-line"}],"initial-condition":[a.value],"onUpdate:condition":u[1]||(u[1]=g=>a.value=g[0])},null,8,["initial-condition"])]),e("div",qe,[e("label",Ye,S("Show Listing Filter".toUpperCase()),1),C(Ve,{"initial-condition":f.value,"onUpdate:condition":u[2]||(u[2]=g=>f.value=g),"get-option-func":_,"any-label":"None"},null,8,["initial-condition"])]),C(W,{onReady:u[3]||(u[3]=g=>R(p)?p.value=g:p=g),class:"search-page-filter",ref:"listingRef"},null,512)])]),_:1}))}},Be=L(ze,[["__scopeId","data-v-5c22ec94"]]),Ge={featuredListingStyle:"grid",grid:{buttonText:"More",default:4,min:1,max:6,showButton:!0},slider:{duration:5,buttonText:"More",default:3,min:1,max:50,showButton:!0,autoPlay:!0,speed:1e3,layout:"full"},gallery:{buttonText:"More",default:3,min:1,max:8,showButton:!0,title:""}},We={key:0},je={class:"form-groups"},Je={__name:"index",setup(m){const l=v([]);M("allConditions",l);const n=v(""),d=w("metaTags"),{copied:a,copyCode:f}=O(),t=w("styleConfig"),s=w("listingRef"),y=v({});function _(i){y.value=i}let p=[];function r(){const i=t.value.getCurrentConfig(),u=i.featuredListingStyle,g=JSON.parse(JSON.stringify(i[u]||{})),x={layout:u,layout_config:g,meta:d.value.getValueString(),conditions:j(l.value,p),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:s.value.sortCondition},P=`[lofty_idx_featured_listing][[${JSON.stringify(x,null,2)}]][/lofty_idx_featured_listing]`;f(P),Y(q.FeaturedListings,P)}return(i,u)=>(c(),U(D,{title:"Featured Listings",description:"Generate and configure the shortcode of various styles featured Listings page, then create a new WordPress page and insert the shortcode into it."},{button:k(()=>[o(a)?(c(),h("span",We,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(r,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",je,[C(H,{class:"listing-groups",ref:"metaTags",modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=g=>n.value=g),isShortCode:""},null,8,["modelValue"]),C(W,{onReady:u[1]||(u[1]=g=>R(p)?p.value=g:p=g),style:{"padding-left":"0"},ref:"listingRef"},null,512),C(Se,{config:o(Ge),onUpdate:_,ref:"styleConfig",style:{"padding-left":"0"}},null,8,["config"])])]),_:1}))}},Qe=L(Je,[["__scopeId","data-v-1ff2633b"]]),Ze=m=>[{key:"title",inputType:"text",label:"Title",value:m.title,maxLength:100},{key:"show_new",inputType:"radio",label:"Display New Listings (Last 30 Days)",value:m.show_new,options:[{label:"Yes",value:!0},{label:"No",value:!1}]},{key:"show_pending",inputType:"radio",label:"Display Pending Listings",value:m.show_pending,options:[{label:"Yes",value:!0},{label:"No",value:!1}]},{key:"show_sold",inputType:"radio",label:"Display Sold Listings (Last 30 Days)",value:m.show_sold,options:[{label:"Yes",value:!0},{label:"No",value:!1}]}],X={title:"",show_new:!0,show_pending:!0,show_sold:!0},Ke={class:"marketReport-config-content"},Xe={class:"config-item-name"},et=["type","onUpdate:modelValue","maxlength"],tt=["type","onUpdate:modelValue","name","value"],ot={__name:"report-config",props:{config:{type:Object,default:()=>({})}},emits:["update"],setup(m,{emit:l}){ce(()=>{d()});let n=v([]);function d(){n.value=Ze(X)}ie(()=>n.value,()=>{f()},{deep:!0});const a=l;function f(){const y=s();a("update",{diffData:y,configData:t()})}function t(){var _;let y={};return(_=n.value)==null||_.forEach(p=>{y[p.key]=p.value}),y}function s(){let y={},_=t();return me(X,_)||(y=ye(X,_)),y}return(y,_)=>(c(),h("div",Ke,[_[0]||(_[0]=e("div",{class:"config-name"},"Style Settings",-1)),(c(!0),h(ee,null,te(o(n),p=>b((c(),h("div",{class:"config-item",key:p.key},[e("div",Xe,S(p.label),1),e("div",{class:G(["config-item-content",{row:p.inputType==="radio"}])},[p.inputType==="text"?b((c(),h("input",{key:0,type:p.inputType,"onUpdate:modelValue":r=>p.value=r,maxlength:p.maxLength},null,8,et)),[[ae,p.value]]):B("",!0),p.inputType==="radio"?(c(!0),h(ee,{key:1},te(p.options,(r,i)=>(c(),h("label",{key:i},[b(e("input",{type:p.inputType,"onUpdate:modelValue":u=>p.value=u,name:m.config.type+"_"+p.key,value:r.value},null,8,tt),[[ae,p.value]]),I(" "+S(r.label),1)]))),128)):B("",!0)],2)])),[[V,p.show!==!1]])),128))]))}},at=L(ot,[["__scopeId","data-v-a8ce3903"]]),st={key:0},lt={__name:"index",setup(m){const l={title:"Market Criteria",tip:"Define the criteria used to generate the market report",criteriaUrl:"/wp-plugin/market-report/conditions",listingCountUrl:"/wp-plugin/market-report/match-count",isMarketReport:!0},n=v([{data:{location:{}},orderKeys:["location"]}]);M("allConditions",n);const{copied:d,copyCode:a}=O();let f=v({});function t({configData:u}){f.value=u}const s=v(""),y=w("metaTags");let _=[];function p(){var T,oe;const u=n.value.map(K=>({data:se(K.data||{})})).filter(Boolean);let g=[];(T=u[0])!=null&&T.data.location&&Object.values((oe=u[0])==null?void 0:oe.data.location).forEach(K=>{g=g.concat(K)});const{title:x,show_new:P,show_pending:J,show_sold:Q}=f.value,Z={title:x,location:g.join(","),show_new:P,show_pending:J,show_sold:Q,meta:y.value.getValueString(),conditions:j(n.value,_),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone},z=`[lofty_idx_market_report][[${JSON.stringify(Z,null,2)}]][/lofty_idx_market_report]`;a(z),Y(q.MarketReport,z)}const r=v(!1);async function i(){if(r.value)return;const{title:u,show_new:g,show_pending:x,show_sold:P}=f.value;if(!u){A("Please fill the report title.",{duration:3e3,err:!0});return}if(!/^[a-zA-Z0-9_\- ]*$/.test(u)){A("Special characters are not allowed in the title.",{duration:3e3,err:!0});return}r.value=!0;const J=n.value.map(T=>({data:se(T.data||{})})).filter(Boolean),Q=await F.post("/admin/listing-search/short-code/saveOrUpdate",{data:{values:J}}),Z={title:u,filterName:Q.data,extraInfoMap:{displayNewListing:g,displayPendingListings:x,displaySoldListings:P}},z=await F.post("/admin/report/save",{data:Z});if(z.status.code===0)A("Add Successfully"),setTimeout(()=>{const T=new URLSearchParams(window.location.search);T.set("page","lofty-idx-pages"),T.set("sub","market-report-collection"),window.location.search=T.toString()},1e3);else{let T="A report with the same filters already exists. Please do not create a duplicate";z.status.code===230001&&(T="This report title is already in use. Please choose a different one"),A(T,{duration:5e3,err:!0}),r.value=!1}}return(u,g)=>(c(),U(D,{title:"Market Report",description:"Generate and configure the shortcode of Market Report, then create a new WordPress Page and insert the shortcode into it, improving market transparency and attracting investor attention to fuel business opportunities."},{button:k(()=>[e("button",{class:G(["btn-save","btn-add-report",{disable:r.value}]),onClick:N(i,["prevent"])},"Add To Report List",2),o(d)?(c(),h("span",st,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(p,["prevent"])}," Copy to clipboard "))]),default:k(()=>[C(H,{class:"market-form-groups",ref:"metaTags",modelValue:s.value,"onUpdate:modelValue":g[0]||(g[0]=x=>s.value=x),type:"marketReport",isShortCode:""},null,8,["modelValue"]),C(W,{class:"market-report-short-code",maxGroupNumber:1,config:l,onReady:g[1]||(g[1]=x=>R(_)?_.value=x:_=x)}),C(at,{onUpdate:t})]),_:1}))}},nt={key:0},it={class:"form-groups"},rt={class:"form-group"},ut={__name:"index",setup(m){const{copyCode:l,copied:n}=O(),d=v("map-grid"),a=v([]);M("allConditions",a),M("listingFilterExcludeFields",v(["listingStatus"])),M("listingFilterLabelMap",v({price:"Sold Price"}));const f=v(""),t=w("metaTags"),s=w("listingRef");let y=[];function _(){const p={layout:d.value,meta:t.value.getValueString(),conditions:j(a.value,y),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,sort:s.value.sortCondition},r=`[lofty_idx_sold_listing][[${JSON.stringify(p,null,2)}]][/lofty_idx_sold_listing]`;l(r),Y(q.SoldListings,r)}return(p,r)=>(c(),U(D,{title:"Sold Listings",description:"Generate and configure the shortcode of sold listings page, then create a new WordPress page and insert the shortcode into it."},{button:k(()=>[o(n)?(c(),h("span",nt,"Copied!")):(c(),h("button",{key:1,class:"btn-save",onClick:N(_,["prevent"])},"Copy to clipboard"))]),default:k(()=>[e("div",it,[e("div",rt,[r[3]||(r[3]=e("label",null,"LAYOUT",-1)),C(de,{modelValue:d.value,"onUpdate:modelValue":r[0]||(r[0]=i=>d.value=i)},null,8,["modelValue"])]),C(H,{class:"listing-groups",ref:"metaTags",modelValue:f.value,"onUpdate:modelValue":r[1]||(r[1]=i=>f.value=i),isShortCode:""},null,8,["modelValue"]),C(W,{class:"filters-wrap","is-sold":!0,onReady:r[2]||(r[2]=i=>R(y)?y.value=i:y=i),ref:"listingRef"},null,512)])]),_:1}))}},dt=L(ut,[["__scopeId","data-v-74a6f2c5"]]),pt={class:"lofty-img-upload"},ct={key:0,class:"img-wrapper"},mt=["src"],gt={key:1,class:"upload-wrapper"},ft={key:1},vt={__name:"imgUpload",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(m){const l=re(m,"modelValue"),n=w("fileInput");function d(){n.value.click()}const a=v(!1);function f(){const t=n.value.files[0],s=new FileReader;a.value=!0,s.onload=async y=>{const _=y.target.result,p=await F.post("/wp-plugin/evaluation/upload-aws/image",{data:{base64File:_.split(",")[1]}});p.status.code===0&&(l.value=p.data),a.value=!1},s.readAsDataURL(t)}return(t,s)=>(c(),h("div",pt,[l.value?(c(),h("div",ct,[e("img",{src:l.value,alt:""},null,8,mt),e("div",{class:"img-btn edit",onClick:d},s[1]||(s[1]=[e("span",{class:"lofty_iconfont lofty-icon-Shape"},null,-1)])),e("div",{class:"img-btn delete",onClick:s[0]||(s[0]=y=>l.value="")},s[2]||(s[2]=[e("span",{class:"lofty_iconfont lofty-icon-delete2"},null,-1)])),o(a)?(c(),U(ne,{key:0,loading:o(a)},null,8,["loading"])):B("",!0)])):(c(),h("div",gt,[o(a)?(c(),U(ne,{key:0,loading:o(a)},null,8,["loading"])):(c(),h("div",ft,s[3]||(s[3]=[e("div",{class:"lofty_iconfont lofty-icon-plus_01"},null,-1),e("div",{class:"upload-text"},"Upload Image",-1),e("div",{class:"upload-tip"},"(1440×900)",-1),e("label",{for:"fileInput"},null,-1)])))])),e("input",{id:"fileInput",ref_key:"fileInput",ref:n,type:"file",onChange:f,accept:"image/png, image/jpeg, image/gif, image/jpg"},null,544)]))}},yt=L(vt,[["__scopeId","data-v-35cd6e29"]]),_t={class:"style-setting"},ht={__name:"style-setting",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(m){const l=v(""),n=re(m,"modelValue");return ie(l,()=>{n.value=l.value}),n.value=l.value,(d,a)=>(c(),h("div",_t,[a[1]||(a[1]=e("p",{class:"second-title"},"BACKGROUND IMAGE",-1)),C(yt,{modelValue:o(l),"onUpdate:modelValue":a[0]||(a[0]=f=>R(l)?l.value=f:null)},null,8,["modelValue"])]))}},Ct=L(ht,[["__scopeId","data-v-c79f239d"]]),bt="/home-valuation-step1.BcOghYip.png",St="/home-valuation-step2.C1GywpzI.png",kt="/home-valuation-step3-yes.C4P-9dZ9.png",Vt="/home-valuation-step3-no.OGxWnwZp.png",wt={class:"admin-home-valuation-preview"},xt=["src"],Tt=["src"],Ut={class:"title ellipsis"},Lt={class:"desc"},$t={class:"step-1-content"},Rt={class:"placeholder"},It={class:"button-text ellipsis"},Mt={class:"unit-field"},Ft={class:"step-2-content"},Nt={class:"form-title ellipsis"},Dt={class:"form-desc"},Ot={class:"ellipsis"},Pt={class:"name-required"},Et={class:"step-3-content"},At={__name:"preview",props:{stepValue:String,imgUrl:String,config:Object},setup(m){const{step1:l,step2:n,step3:d}=m.config,a=ge(()=>m.stepValue==="1"?LoftyIdxUtils.static_url(bt):m.stepValue==="2"?LoftyIdxUtils.static_url(St):d.autoValuation?LoftyIdxUtils.static_url(kt):LoftyIdxUtils.static_url(Vt));return(f,t)=>(c(),h("div",wt,[t[1]||(t[1]=e("div",{class:"preview-title"},"Preview",-1)),e("div",{class:G(["preview-content",["step-"+m.stepValue,o(d).autoValuation?"yes":"no"]])},[m.imgUrl?(c(),h("img",{key:0,src:m.imgUrl,alt:""},null,8,xt)):B("",!0),e("img",{src:o(a),alt:""},null,8,Tt),e("div",Ut,S(o(l).title),1),e("div",Lt,[e("span",null,S(o(l).desc),1)]),b(e("div",$t,[e("div",Rt,S(o(l).placeholder),1),e("div",It,S(o(l).buttonText),1),b(e("div",Mt,"| Unit",512),[[V,o(l).showUnit]])],512),[[V,m.stepValue==="1"]]),b(e("div",Ft,[e("div",Nt,S(o(n).title),1),e("div",Dt,[e("span",Ot,S(o(n).desc),1)]),b(e("div",Pt,t[0]||(t[0]=[e("span",null,"*",-1),e("span",{style:{"margin-left":"210px"}},"*",-1)]),512),[[V,o(n).nameRequired]])],512),[[V,m.stepValue==="2"]]),b(e("div",Et,[b(e("div",{class:"step3-title ellipsis"},S(o(d).title),513),[[V,o(d).autoValuation]]),b(e("div",{class:"thank-you"},S(o(d).thankYou),513),[[V,!o(d).autoValuation]])],512),[[V,m.stepValue==="3"]])],2)]))}},Ht=L(At,[["__scopeId","data-v-f37d07a7"]]),qt={class:"lofty-admin-step-config"},Yt={class:"step-content"},zt={class:"left-config"},Bt={style:{"margin-left":"30px"}},Gt={style:{"margin-left":"30px"}},Wt={class:"step-3"},jt={style:{"margin-left":"30px"}},Jt={class:"label mt20"},Qt={__name:"step-config",props:{imgUrl:String},setup(m,{expose:l}){const n=v("1"),d=[{label:"Step1",value:"1"},{label:"Step2",value:"2"},{label:"Step3",value:"3"}],a=fe({step1:{title:"What‘s your Home Worth?",desc:"Find out the worth of your home and get the most accurate valuation.",placeholder:"Enter your street address",buttonText:"GET REPORT",showUnit:!0},step2:{title:"Property Found!",desc:"Where would you like us to send your home valuation report?",nameRequired:!0},step3:{autoValuation:!0,title:"Estimated Home Value",thankYou:"At this time we can't provide an automated home value estimate, but we'll be reaching out to arrange a personalized quote based on market conditions and property information. Thank you!"}});return l({config:a}),(f,t)=>(c(),h("div",qt,[C(xe,{modelValue:o(n),"onUpdate:modelValue":t[0]||(t[0]=s=>R(n)?n.value=s:null),tabs:d},null,8,["modelValue"]),e("div",Yt,[e("div",zt,[b(e("div",null,[t[17]||(t[17]=e("div",{class:"title"},"Content",-1)),t[18]||(t[18]=e("div",{class:"label"},"TITLE",-1)),b(e("input",{"onUpdate:modelValue":t[1]||(t[1]=s=>o(a).step1.title=s),type:"text",maxlength:"100"},null,512),[[$,o(a).step1.title]]),t[19]||(t[19]=e("div",{class:"label mt20"},"DESCRIPTION",-1)),b(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>o(a).step1.desc=s),type:"text",maxlength:"100"},null,512),[[$,o(a).step1.desc]]),t[20]||(t[20]=e("div",{class:"title mt30"},"Address Bar",-1)),t[21]||(t[21]=e("div",{class:"label"},"DEFAULT TEXT",-1)),b(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>o(a).step1.placeholder=s),type:"text",maxlength:"50"},null,512),[[$,o(a).step1.placeholder]]),t[22]||(t[22]=e("div",{class:"label mt20"},"BUTTON TEXT",-1)),b(e("input",{"onUpdate:modelValue":t[4]||(t[4]=s=>o(a).step1.buttonText=s),type:"text",maxlength:"20"},null,512),[[$,o(a).step1.buttonText]]),t[23]||(t[23]=e("div",{class:"label mt20"},"SHOW UNIT FIELD",-1)),e("label",null,[b(e("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>o(a).step1.showUnit=s),type:"radio",name:"unit",value:!0},null,512),[[E,o(a).step1.showUnit]]),t[15]||(t[15]=I("Yes "))]),e("label",Bt,[b(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>o(a).step1.showUnit=s),type:"radio",name:"unit",value:!1},null,512),[[E,o(a).step1.showUnit]]),t[16]||(t[16]=I("No "))])],512),[[V,o(n)==="1"]]),b(e("div",null,[t[26]||(t[26]=e("div",{class:"title"},"Content",-1)),t[27]||(t[27]=e("div",{class:"label"},"FORM TITLE",-1)),b(e("input",{"onUpdate:modelValue":t[7]||(t[7]=s=>o(a).step2.title=s),type:"text",maxlength:"50"},null,512),[[$,o(a).step2.title]]),t[28]||(t[28]=e("div",{class:"label mt20"},"DESCRIPTION",-1)),b(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>o(a).step2.desc=s),type:"text",maxlength:"100"},null,512),[[$,o(a).step2.desc]]),t[29]||(t[29]=e("div",{class:"title mt30"},"Form Settings",-1)),t[30]||(t[30]=e("div",{class:"label mt20"},"NAME",-1)),e("label",null,[b(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>o(a).step2.nameRequired=s),type:"radio",name:"name",value:!0},null,512),[[E,o(a).step2.nameRequired]]),t[24]||(t[24]=I("Required "))]),e("label",Gt,[b(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>o(a).step2.nameRequired=s),type:"radio",name:"name",value:!1},null,512),[[E,o(a).step2.nameRequired]]),t[25]||(t[25]=I("Optional "))])],512),[[V,o(n)==="2"]]),b(e("div",Wt,[t[33]||(t[33]=e("div",{class:"title"},"Form Settings",-1)),t[34]||(t[34]=e("div",{class:"label mt20"},"AUTO HOME VALUATION",-1)),e("label",null,[b(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>o(a).step3.autoValuation=s),type:"radio",name:"autoValuation",value:!0},null,512),[[E,o(a).step3.autoValuation]]),t[31]||(t[31]=I("Yes "))]),e("label",jt,[b(e("input",{"onUpdate:modelValue":t[12]||(t[12]=s=>o(a).step3.autoValuation=s),type:"radio",name:"autoValuation",value:!1},null,512),[[E,o(a).step3.autoValuation]]),t[32]||(t[32]=I("No "))]),e("div",Jt,S(o(a).step3.autoValuation?"TITLE":"THANK YOU MESSAGE"),1),b(e("input",{"onUpdate:modelValue":t[13]||(t[13]=s=>o(a).step3.title=s),type:"text",maxlength:"60"},null,512),[[V,o(a).step3.autoValuation],[$,o(a).step3.title]]),b(e("textarea",{"onUpdate:modelValue":t[14]||(t[14]=s=>o(a).step3.thankYou=s),maxlength:"300"},null,512),[[V,!o(a).step3.autoValuation],[$,o(a).step3.thankYou]])],512),[[V,o(n)==="3"]])]),C(Ht,{class:"right-preview",stepValue:o(n),imgUrl:m.imgUrl,config:o(a)},null,8,["stepValue","imgUrl","config"])])]))}},Zt=L(Qt,[["__scopeId","data-v-3d9aec6c"]]),Kt={key:0},Xt={__name:"index",setup(m){const l=v(""),n=v(""),d=w("stepConfig"),a=v(""),f=w("metaTags"),{copied:t,copyCode:s}=O(),y=v(!0);function _(){if(!Te.permission){y.value=!1;return}const{step1:p,step2:r,step3:i}=d.value.config,u={img_url:l.value,step1:p,step2:r,step3:i,meta:f.value.getValueString(),submitJs:n.value},g=`[lofty_idx_home_valuation][[${JSON.stringify(u,null,2)}]][/lofty_idx_home_valuation]`;s(g),Y(q.HomeValuation,g)}return(p,r)=>(c(),U(D,{title:"Home Valuation",description:"Provide a curated and dynamic home valuation experience, showcasing featured properties to enhance visibility, engage users, and drive lead generation effectively."},{button:k(()=>[o(t)?(c(),h("span",Kt,"Copied!")):(c(),h("button",{key:1,class:G(["btn-save",{disable:!y.value}]),onClick:N(_,["prevent"])}," Copy to clipboard ",2))]),default:k(()=>[C(H,{class:"market-form-groups",ref:"metaTags",modelValue:a.value,"onUpdate:modelValue":r[0]||(r[0]=i=>a.value=i),isShortCode:""},null,8,["modelValue"]),C(Ct,{class:"market-form-groups",modelValue:l.value,"onUpdate:modelValue":r[1]||(r[1]=i=>l.value=i)},null,8,["modelValue"]),C(_e,{modelValue:n.value,"onUpdate:modelValue":r[2]||(r[2]=i=>n.value=i),class:"market-form-groups",desc:"The following code will be executed after the report results are generated in step three."},null,8,["modelValue"]),C(Zt,{class:"market-form-groups",ref_key:"stepConfig",ref:d,imgUrl:l.value},null,8,["imgUrl"])]),_:1}))}},eo={class:"lofty-shortCode-log"},to={class:"short-log-table"},oo={class:"list-row"},ao={class:"header-type"},so=["textContent"],lo={class:"header-operation"},no={key:0,class:"no-log-data"},io={__name:"index",setup(m){const{copyCode:l}=O(),n=v(""),[d,a,f,t]=[v(1),v(1),v([]),v(!1)];_();function s(i){n.value=i,d.value=1,_()}function y(i){d.value=i.page,_()}async function _(){t.value=!0;const i=await F.get(`/admin/shortCodeLog/list?pageNum=${d.value}&pageSize=5&type=${n.value}`);a.value=Math.ceil(i.data.total/5),f.value=i.data.shortCodeList,t.value=!1}async function p(i){(await F.post("/admin/shortCodeLog/remove",{data:{id:i.id}})).status.code===0&&(A("Delete Successfully"),d.value=1,await _())}function r(i){l(i.content),A("Copy Successfully")}return(i,u)=>(c(),U(D,{title:"ShortCode Log",showHeader:!1,description:"Review the history and details of your Lofty WordPress ShortCode generation history on this log page."},{default:k(()=>[e("div",eo,[C(Ue,{modelValue:o(n),"onUpdate:modelValue":u[0]||(u[0]=g=>R(n)?n.value=g:null),list:o(pe),"show-all":"",class:"short-log-select",size:"small",onChange:s},{label:k(({label:g})=>[e("span",null,"Type: "+S(g||"All"),1)]),_:1},8,["modelValue","list"]),e("div",to,[u[2]||(u[2]=e("div",{class:"list-header"},[e("div",{class:"header-type"},"Type"),e("div",{class:"header-content"},"Content"),e("div",{class:"header-operation"}," Operations ")],-1)),e("div",{class:G(["list-body",{"has-pagination":o(a)>1}])},[(c(!0),h(ee,null,te(o(f),g=>(c(),h("div",oo,[e("div",ao,S(o(Me)[g.type]),1),e("div",{class:"header-content",textContent:S(g.content)},null,8,so),e("div",lo,[C(o($e),{onClick:x=>r(g),class:"icon"},null,8,["onClick"]),C(o(ke),{onClick:x=>p(g),class:"icon icon-trash"},null,8,["onClick"])])]))),256)),o(f).length===0?(c(),h("div",no,u[1]||(u[1]=[e("div",null,"No Data",-1)]))):B("",!0)],2),C(Le,{class:"admin-pagination",onPageChange:y,pageNum:o(d),pageSize:5,totalPage:o(a)},null,8,["pageNum","totalPage"]),C(he,{loading:o(t)},null,8,["loading"])])])]),_:1}))}},ro={SearchPage:Pe,QuickSearch:Be,FeaturedListings:Qe,MarketReport:lt,SoldListings:dt,HomeValuation:Xt,ShortCodeLog:io},uo={class:"lofty-admin-container"},po={class:"main-content"},co={__name:"app",setup(m){let l=v("");function n(d){l.value=ro[d.component]}return(d,a)=>(c(),h("div",uo,[C(Ce,{menuSections:o(Re),onMenuItemClick:n},null,8,["menuSections"]),e("main",po,[(c(),U(ve(o(l))))])]))}},mo=L(co,[["__scopeId","data-v-9b62c2a8"]]);ue(mo).mount("#app");ue(we).mount("#plugin-check");
  • lofty-idx/trunk/assets/admin-widget-quick-search.js

    r3312310 r3333213  
    1 import{_ as w,h as m}from"./_plugin-vue_export-helper.BXwY9aDM.js";/* empty css               */import{c as k}from"./module.CKjUdtPN.js";import{r as c,p as _,o as S,g as I,e as i,y as p,u as n,m as q,t as b,n as A,D}from"./vendor.NEC4PHgy.js";import{M as L}from"./multiSelect.DrlqYmIX.js";import"./index.qsOScXF2.js";import"./outsideclick.Bw_hMuzW.js";import"./checkBox.CSsbXmX7.js";const h="/layout-universal.BBQ9Gjhk.png",T="/layout-two-line.NGE2Q4kl.png",x={class:"form-group"},B=["src"],C=["src"],N={class:"form-group"},U={__name:"app",props:{id:String,initData:Object},setup(o){const f=LoftyIdxUtils.static_url(h),g=LoftyIdxUtils.static_url(T),e=c(o.initData.layout||"universal"),s=c(o.initData.quick_listing_filters||[]),r=c(!1),u=o.id.split("-")[1],a=c(!0);_([e,s],async()=>{a.value=!1});async function v(){if(!u)return;(await m.post("/widget/save/quickSearch",{action:"lofty_widget_save",data:{widget_id:u,config:{layout:e.value,quick_listing_filters:s.value}}})).data&&(a.value=!0)}async function y(d){if(d.value.length>0)return;const l=await m.get("/wp-plugin/admin/listing-search/quickSearch/conditions");d.value=l.data}return(d,t)=>(S(),I("div",{class:"lofty-admin-widget-config",style:A({height:n(r)?"350px":"unset"})},[i("div",x,[t[6]||(t[6]=i("label",null,"LAYOUT",-1)),i("div",{class:"lofty-fake-radio-container",onClick:t[0]||(t[0]=l=>e.value="universal")},[i("span",{class:p(["lofty-fake-radio",{active:n(e)==="universal"}])},null,2),t[4]||(t[4]=i("span",null,"Universal",-1))]),i("img",{class:"lofty-layout-img",width:"400",src:n(f),alt:""},null,8,B),i("div",{class:"lofty-fake-radio-container",onClick:t[1]||(t[1]=l=>e.value="two-line")},[i("span",{class:p(["lofty-fake-radio",{active:n(e)==="two-line"}])},null,2),t[5]||(t[5]=i("span",null,"Two-line layout",-1))]),i("img",{class:"lofty-layout-img",width:"400",src:n(g),alt:""},null,8,C)]),i("div",N,[t[7]||(t[7]=i("label",{style:{width:"100%"}},"SHOW LISTING FILTER",-1)),q(L,{"initial-condition":n(s),"onUpdate:condition":t[2]||(t[2]=l=>s.value=l),onToggle:t[3]||(t[3]=l=>r.value=l),"get-option-func":y,"any-label":"None"},null,8,["initial-condition"])]),i("div",{class:p(["lofty-widget-save",{disabled:n(a)}]),onClick:v},b(n(a)?"Saved":"Save"),3)],4))}},E=w(U,[["__scopeId","data-v-1e259355"]]);window.loftyWidgetAdminRender=function(){const o=document.querySelectorAll(".lofty-admin-widget-quick-search");o.length>0&&o.forEach(f=>{const g=f.getAttribute("id"),e=k(g),s=e.getModuleData()||{},{id:r,$:u}=e,a=u("#admin-app");a.__vue_app__||D(E,{id:r,initData:s}).mount(a)})};setTimeout(()=>{loftyWidgetAdminRender()},3e3);
     1import{_ as w,h as m}from"./_plugin-vue_export-helper.bB-lvPOu.js";/* empty css               */import{c as k}from"./module.CKjUdtPN.js";import{r as c,p as _,o as S,g as I,e as i,y as p,u as n,m as q,t as b,n as A,D}from"./vendor.DSMCY3-_.js";import{M as L}from"./multiSelect.B-Bvv-QV.js";import"./index.Ca0KQw1k.js";import"./outsideclick.Bw_hMuzW.js";import"./checkBox.nJJrXg5E.js";const h="/layout-universal.BBQ9Gjhk.png",T="/layout-two-line.NGE2Q4kl.png",x={class:"form-group"},B=["src"],C=["src"],N={class:"form-group"},U={__name:"app",props:{id:String,initData:Object},setup(o){const f=LoftyIdxUtils.static_url(h),g=LoftyIdxUtils.static_url(T),e=c(o.initData.layout||"universal"),s=c(o.initData.quick_listing_filters||[]),r=c(!1),u=o.id.split("-")[1],a=c(!0);_([e,s],async()=>{a.value=!1});async function v(){if(!u)return;(await m.post("/widget/save/quickSearch",{action:"lofty_widget_save",data:{widget_id:u,config:{layout:e.value,quick_listing_filters:s.value}}})).data&&(a.value=!0)}async function y(d){if(d.value.length>0)return;const l=await m.get("/wp-plugin/admin/listing-search/quickSearch/conditions");d.value=l.data}return(d,t)=>(S(),I("div",{class:"lofty-admin-widget-config",style:A({height:n(r)?"350px":"unset"})},[i("div",x,[t[6]||(t[6]=i("label",null,"LAYOUT",-1)),i("div",{class:"lofty-fake-radio-container",onClick:t[0]||(t[0]=l=>e.value="universal")},[i("span",{class:p(["lofty-fake-radio",{active:n(e)==="universal"}])},null,2),t[4]||(t[4]=i("span",null,"Universal",-1))]),i("img",{class:"lofty-layout-img",width:"400",src:n(f),alt:""},null,8,B),i("div",{class:"lofty-fake-radio-container",onClick:t[1]||(t[1]=l=>e.value="two-line")},[i("span",{class:p(["lofty-fake-radio",{active:n(e)==="two-line"}])},null,2),t[5]||(t[5]=i("span",null,"Two-line layout",-1))]),i("img",{class:"lofty-layout-img",width:"400",src:n(g),alt:""},null,8,C)]),i("div",N,[t[7]||(t[7]=i("label",{style:{width:"100%"}},"SHOW LISTING FILTER",-1)),q(L,{"initial-condition":n(s),"onUpdate:condition":t[2]||(t[2]=l=>s.value=l),onToggle:t[3]||(t[3]=l=>r.value=l),"get-option-func":y,"any-label":"None"},null,8,["initial-condition"])]),i("div",{class:p(["lofty-widget-save",{disabled:n(a)}]),onClick:v},b(n(a)?"Saved":"Save"),3)],4))}},E=w(U,[["__scopeId","data-v-1e259355"]]);window.loftyWidgetAdminRender=function(){const o=document.querySelectorAll(".lofty-admin-widget-quick-search");o.length>0&&o.forEach(f=>{const g=f.getAttribute("id"),e=k(g),s=e.getModuleData()||{},{id:r,$:u}=e,a=u("#admin-app");a.__vue_app__||D(E,{id:r,initData:s}).mount(a)})};setTimeout(()=>{loftyWidgetAdminRender()},3e3);
  • lofty-idx/trunk/assets/feature-listing.css

    r3306828 r3333213  
    1 .lofty-feature-listing-page{width:100%}.lofty-feature-listing-page .lofty-house-base span+span:before{content:"|";color:#fff;margin:0 6px;position:relative;bottom:1px}@media (max-width: 600px){#lofty-feature-listing-container.slider .lofty-feature-address{font-size:20px!important;width:70vw;word-break:break-word}#lofty-feature-listing-container.slider .lofty-house-price{font-size:18px!important}#lofty-feature-listing-container.slider .lofty-mls-text{width:70vw;word-break:break-word}}.lofty-single-house{width:100%}@media (max-width: 600px){.lofty-single-house{height:400px;padding:0 15px}}.lofty-listing-slider{width:100%;height:535px;padding-top:60px;position:relative;display:flex;justify-content:flex-end}@media (max-width: 600px){.lofty-listing-slider{padding-top:40px;height:400px}}.lofty-listing-slider .mask,.lofty-listing-slider .img-background{position:absolute;width:100%;height:100%;background:linear-gradient(180deg,#ffffffd9,#fff);left:0;bottom:0}.lofty-listing-slider .img-background{object-fit:cover;filter:grayscale(100%)}.swiper-container{width:100%;height:475px;position:relative}@media (max-width: 600px){.swiper-container{height:400px;padding-left:10px}}.swiper-container .swiper-slide-flow{width:50%}.swiper-container .swiper-slide-mobile{width:calc(100% - 30px)!important}.swiper-hide-prev{width:calc(100% - 40px);margin-right:0}.swiper-hide-prev .swiper-slide-flow{width:70%}.listing-slider-prev-button,.listing-slider-next-button{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:50px;height:50px;line-height:50px;border-radius:50%;border:solid 1px #fff;text-align:center;cursor:pointer}.listing-slider-prev-button i,.listing-slider-next-button i{color:#fff;font-size:20px}.listing-slider-prev-button.swiper-button-disabled,.listing-slider-next-button.swiper-button-disabled{opacity:.4;cursor:default}.listing-slider-prev-button:hover,.listing-slider-next-button:hover{background:#fff3}.sold-button{border:none;color:#fff;background:#111;box-shadow:0 4px 10px #0000001a}.sold-button:after{content:"";position:absolute;width:100%;height:100%;background:#ffffff26;left:0;top:0;display:none;border-radius:50%}.sold-button:hover{background:#111}.sold-button:hover:after{display:block}.listing-slider-prev-button{left:30px}.listing-slider-prev-button.sold-button{left:calc(25% - 75px)}.listing-slider-next-button{right:30px}.listing-slider-next-button.sold-button{right:calc(25% - 75px)}.listing-slider-next-button.sold-button.hide-prev{right:25%}.lofty-more{margin:40px auto;min-width:200px;width:fit-content;padding:0 20px;height:50px;cursor:pointer;border:solid 1px #111;line-height:50px;font-family:var(--lofty-font-regular);text-align:center}@media (max-width: 600px){.lofty-more{max-width:calc(100% - 30px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:50px;margin-left:auto;margin-right:auto}}.swiper-slide-prev .lofty-feature-listing-house .lofty-house-price,.swiper-slide-prev .lofty-feature-listing-house .lofty-mls-info,.swiper-slide-prev .lofty-feature-listing-house .lofty-house-info,.swiper-slide-prev .lofty-feature-listing-house .lofty-feature-address,.swiper-slide-prev .lofty-feature-listing-house .collect,.swiper-slide-next .lofty-feature-listing-house .lofty-house-price,.swiper-slide-next .lofty-feature-listing-house .lofty-mls-info,.swiper-slide-next .lofty-feature-listing-house .lofty-house-info,.swiper-slide-next .lofty-feature-listing-house .lofty-feature-address,.swiper-slide-next .lofty-feature-listing-house .collect{display:none}.lofty-house-card-grid{position:relative;cursor:pointer}@media (max-width: 600px){.lofty-house-card-grid{width:100vw}}.lofty-house-card-grid .lofty-house-img-grid{overflow:hidden}.lofty-house-card-grid .lofty-house-img-grid:hover img{transform:scale(1.1)}.lofty-house-card-grid .lofty-house-img-grid a{text-decoration:none}.lofty-house-card-grid .lofty-house-img-grid img{width:100%!important;height:560px;object-fit:cover;transition:transform .3s ease-in-out}@media (max-width: 600px){.lofty-house-card-grid .lofty-house-img-grid img{height:400px}}.lofty-house-card-grid .lofty-house-img-grid .img-mask{width:100%;height:100%;position:absolute;right:0;bottom:0;top:0;left:0;z-index:2;overflow:hidden;background:linear-gradient(180deg,#19191900,#19191999 66.96%)}.lofty-house-card-grid .lofty-house-info-grid{position:absolute;z-index:10;left:30px;bottom:50px;color:#fff}@media (max-width: 600px){.lofty-house-card-grid .lofty-house-info-grid{left:15px}}.lofty-house-card-grid .lofty-house-info-grid .lofty-house-price{font-size:26px;font-family:var(--lofty-font-regular-serif);color:inherit}.lofty-house-card-grid .lofty-house-info-grid .lofty-house-base{margin:14px 0 10px;font-size:14px;font-family:var(--lofty-font-light);color:inherit}@media (max-width: 600px){.lofty-house-card-grid .lofty-house-info-grid .lofty-house-base{margin:10px 0}}.lofty-house-card-grid .lofty-house-info-grid .lofty-feature-address,.lofty-house-card-grid .lofty-house-info-grid .lofty-house-id{font-size:14px;font-family:var(--lofty-font-light);color:inherit}@media (max-width: 600px){.lofty-house-card-grid .lofty-house-info-grid .lofty-feature-address,.lofty-house-card-grid .lofty-house-info-grid .lofty-house-id{width:100%}}.lofty-house-card-grid .lofty-mls-info-grid{position:absolute;bottom:20px;display:flex;align-items:end;z-index:10;width:-webkit-fill-available;margin:0 30px}@media (max-width: 600px){.lofty-house-card-grid .lofty-mls-info-grid{margin:0 15px}}.lofty-house-card-grid .lofty-mls-info-grid .lofty-mls-text{font-size:12px;font-family:var(--lofty-font-light);font-style:italic;color:#fff9}.lofty-house-card-grid .lofty-mls-info-grid .lofty-mls-logo{margin-left:auto}.lofty-house-card-grid .lofty-mls-info-grid .lofty-mls-logo img{height:24px}@media (max-width: 600px){.lofty-house-mask-grid .lofty-house-login-box{position:relative;bottom:50px}}.lofty-grid-house-list{display:flex;flex-wrap:wrap;font-size:0}.lofty-more{margin:40px auto;min-width:200px;width:fit-content;padding:0 20px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:solid 1px #111;font-family:var(--lofty-font-regular)}@media (max-width: 600px){.lofty-more{margin-top:20px}}.lofty-more:hover{background-color:#0000001a}.lofty-icon-heart-fill,.lofty-icon-heart{position:absolute;right:20px;top:20px;cursor:pointer;font-size:24px;z-index:100}@media (max-width: 600px){.lofty-icon-heart-fill,.lofty-icon-heart{right:10px;top:10px}}.lofty-icon-heart-fill{color:#f0454c}.lofty-icon-heart{color:#fff}.lofty-house-card-gallery{position:relative;height:400px;cursor:pointer;overflow:hidden}.lofty-house-card-gallery .lofty-house-img-gallery{height:100%;width:100%;position:absolute;left:0;top:0;z-index:1}.lofty-house-card-gallery .lofty-house-img-gallery a{text-decoration:none}.lofty-house-card-gallery .lofty-house-img-gallery img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:transform .5s ease}@media (max-width: 600px){.lofty-house-card-gallery .lofty-house-img-gallery img{filter:grayscale(0)}}.lofty-house-card-gallery .lofty-house-img-gallery .img-mask{width:100%;height:100%;position:absolute;right:0;bottom:0;top:0;left:0;z-index:2;overflow:hidden;display:none;background:linear-gradient(180deg,#0000,#0006 66.96%)}@media (max-width: 600px){.lofty-house-card-gallery .lofty-house-img-gallery .img-mask{display:block}}.lofty-house-card-gallery .lofty-house-info-gallery{width:100%;position:absolute;z-index:10;left:0;bottom:0;color:#fff;transform:translateY(0);transition:all .5s ease}@media (max-width: 600px){.lofty-house-card-gallery .lofty-house-info-gallery{bottom:15px}}.lofty-house-card-gallery .lofty-house-info-gallery .lofty-house-price{color:inherit;width:fit-content;font-size:26px;line-height:1.2;padding:10px 20px;font-family:var(--lofty-font-bold);background:linear-gradient(90deg,#5f3808,#5f380800)}@media (max-width: 600px){.lofty-house-card-gallery .lofty-house-info-gallery .lofty-house-price{padding:10px 20px 10px 15px}}.lofty-house-card-gallery .lofty-house-info-gallery .lofty-house-base{color:inherit;margin:10px 20px 0;font-size:14px}@media (max-width: 600px){.lofty-house-card-gallery .lofty-house-info-gallery .lofty-house-base{margin:10px 15px 0}}.lofty-house-card-gallery .lofty-house-info-gallery .lofty-feature-address,.lofty-house-card-gallery .lofty-house-info-gallery .lofty-house-id{color:inherit;margin:5px 10px 10px 20px;font-size:14px}@media (max-width: 600px){.lofty-house-card-gallery .lofty-house-info-gallery .lofty-feature-address,.lofty-house-card-gallery .lofty-house-info-gallery .lofty-house-id{margin:5px 15px 0}}.lofty-house-card-gallery .lofty-house-info-gallery .lofty-mls-info-gallery{margin:0 20px;font-size:12px;justify-content:space-between;align-items:flex-end;gap:20px;color:#fffc;display:none}@media (max-width: 600px){.lofty-house-card-gallery .lofty-house-info-gallery .lofty-mls-info-gallery{margin:0 15px;display:flex;color:#fff}}.lofty-house-card-gallery .lofty-house-info-gallery .lofty-mls-info-gallery .lofty-mls-text{color:inherit}.lofty-house-card-gallery .lofty-house-info-gallery .lofty-mls-info-gallery .lofty-mls-logo{height:24px}.lofty-house-card-gallery .lofty-house-info-gallery .lofty-mls-info-gallery .lofty-mls-logo img{max-height:100%}.lofty-house-card-gallery:hover .img-mask{display:block}@media (min-width: 601px){.lofty-house-card-gallery:hover .lofty-house-img-gallery img{transform:scale(1.2);filter:grayscale(0)}.lofty-house-card-gallery:hover .lofty-house-info-gallery{transform:translateY(-20px)}.lofty-house-card-gallery:hover .lofty-house-info-gallery .lofty-mls-info-gallery{display:flex}}.lofty-feature-listing-gallery{position:relative;padding-top:80px;background-size:cover;background-position:center}@media (max-width: 600px){.lofty-feature-listing-gallery{padding-top:0}}.lofty-feature-listing-gallery .mask,.lofty-feature-listing-gallery .img-background{position:absolute;width:100%;height:100%;background:linear-gradient(180deg,#ffffffd9,#fff);left:0;bottom:0}.lofty-feature-listing-gallery .img-background{object-fit:cover;filter:grayscale(100%)}.lofty-feature-listing-gallery .gallery-house-content{display:flex;flex-wrap:wrap;gap:2px;position:relative;z-index:3}@media (max-width: 600px){.lofty-feature-listing-gallery .gallery-house-content{flex-direction:column}}.lofty-feature-listing-gallery .title-info{width:30%;padding-right:70px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:end;gap:20px;font-family:var(--lofty-font-play-bold)}@media (max-width: 600px){.lofty-feature-listing-gallery .title-info{align-items:flex-start;width:100%;padding:20px 15px;gap:15px}}.lofty-feature-listing-gallery .title-info .title{font-size:48px;font-weight:700;line-height:1.5;text-align:right;text-transform:uppercase}@media (max-width: 600px){.lofty-feature-listing-gallery .title-info .title{text-align:left;display:flex;flex-direction:column;gap:5px;font-size:34px;font-family:var(--lofty-font-play-bold)}}.lofty-feature-listing-gallery .title-info .line{width:100px;height:1px;background:#000;margin-bottom:20px}.lofty-feature-listing-gallery .lofty-more-btn{position:relative;z-index:3;min-width:200px;max-width:calc(100% - 50px);padding:15px;text-align:center;color:#111;border:1px solid #a8a8a8;border-radius:1px;cursor:pointer}@media (max-width: 600px){.lofty-feature-listing-gallery .lofty-more-btn{margin:18px 15px 40px;max-width:100%}}.lofty-feature-listing-gallery .lofty-more-btn:hover{background:#0000001a}.lofty-feature-listing-gallery .gallery-house-card{width:calc(35% - 2px);flex-grow:1;height:400px}.lofty-feature-listing-gallery .gallery-house-card:nth-child(6n+1),.lofty-feature-listing-gallery .gallery-house-card:nth-child(6n+6){width:30%}@media (max-width: 600px){.lofty-feature-listing-gallery .gallery-house-card{width:100%!important;height:264px}}
     1.lofty-feature-listing-page{width:100%}.lofty-feature-listing-page .lofty-house-base span+span:before{content:"|";color:#fff;margin:0 6px;position:relative;bottom:1px}@media (max-width: 600px){#lofty-feature-listing-container.slider .lofty-feature-address{font-size:20px!important;width:70vw;word-break:break-word}#lofty-feature-listing-container.slider .lofty-house-price{font-size:18px!important}#lofty-feature-listing-container.slider .lofty-mls-text{width:70vw;word-break:break-word}}.lofty-single-house{width:100%}@media (max-width: 600px){.lofty-single-house{height:400px;padding:0 15px}}.lofty-listing-slider-empty{width:100%;height:535px;display:flex;justify-content:center;align-items:center}@media (max-width: 600px){.lofty-listing-slider-empty{padding-top:40px;height:400px}}.lofty-listing-slider{width:100%;height:535px;padding-top:60px;position:relative;display:flex;justify-content:flex-end}@media (max-width: 600px){.lofty-listing-slider{padding-top:40px;height:400px}}.lofty-listing-slider .mask,.lofty-listing-slider .img-background{position:absolute;width:100%;height:100%;background:linear-gradient(180deg,#ffffffd9,#fff);left:0;bottom:0}.lofty-listing-slider .img-background{object-fit:cover;filter:grayscale(100%)}.swiper-container{width:100%;height:475px;position:relative}@media (max-width: 600px){.swiper-container{height:400px;padding-left:10px}}.swiper-container .swiper-slide-flow{width:50%}.swiper-container .swiper-slide-mobile{width:calc(100% - 30px)!important}.swiper-hide-prev{width:calc(100% - 40px);margin-right:0}.swiper-hide-prev .swiper-slide-flow{width:70%}.listing-slider-prev-button,.listing-slider-next-button{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:50px;height:50px;line-height:50px;border-radius:50%;border:solid 1px #fff;text-align:center;cursor:pointer}.listing-slider-prev-button i,.listing-slider-next-button i{color:#fff;font-size:20px}.listing-slider-prev-button.swiper-button-disabled,.listing-slider-next-button.swiper-button-disabled{opacity:.4;cursor:default}.listing-slider-prev-button:hover,.listing-slider-next-button:hover{background:#fff3}.sold-button{border:none;color:#fff;background:#111;box-shadow:0 4px 10px #0000001a}.sold-button:after{content:"";position:absolute;width:100%;height:100%;background:#ffffff26;left:0;top:0;display:none;border-radius:50%}.sold-button:hover{background:#111}.sold-button:hover:after{display:block}.listing-slider-prev-button{left:30px}.listing-slider-prev-button.sold-button{left:calc(25% - 75px)}.listing-slider-next-button{right:30px}.listing-slider-next-button.sold-button{right:calc(25% - 75px)}.listing-slider-next-button.sold-button.hide-prev{right:25%}.lofty-more{margin:40px auto;min-width:200px;width:fit-content;padding:0 20px;height:50px;cursor:pointer;border:solid 1px #111;line-height:50px;font-family:var(--lofty-font-regular);text-align:center}@media (max-width: 600px){.lofty-more{max-width:calc(100% - 30px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:50px;margin-left:auto;margin-right:auto}}.swiper-slide-prev .lofty-feature-listing-house .lofty-house-price,.swiper-slide-prev .lofty-feature-listing-house .lofty-mls-info,.swiper-slide-prev .lofty-feature-listing-house .lofty-house-info,.swiper-slide-prev .lofty-feature-listing-house .lofty-feature-address,.swiper-slide-prev .lofty-feature-listing-house .collect,.swiper-slide-next .lofty-feature-listing-house .lofty-house-price,.swiper-slide-next .lofty-feature-listing-house .lofty-mls-info,.swiper-slide-next .lofty-feature-listing-house .lofty-house-info,.swiper-slide-next .lofty-feature-listing-house .lofty-feature-address,.swiper-slide-next .lofty-feature-listing-house .collect{display:none}.lofty-house-card-grid{position:relative;cursor:pointer}@media (max-width: 600px){.lofty-house-card-grid{width:100vw}}.lofty-house-card-grid .lofty-house-img-grid{overflow:hidden}.lofty-house-card-grid .lofty-house-img-grid:hover img{transform:scale(1.1)}.lofty-house-card-grid .lofty-house-img-grid a{text-decoration:none}.lofty-house-card-grid .lofty-house-img-grid img{width:100%!important;height:560px;object-fit:cover;transition:transform .3s ease-in-out}@media (max-width: 600px){.lofty-house-card-grid .lofty-house-img-grid img{height:400px}}.lofty-house-card-grid .lofty-house-img-grid .img-mask{width:100%;height:100%;position:absolute;right:0;bottom:0;top:0;left:0;z-index:2;overflow:hidden;background:linear-gradient(180deg,#19191900,#19191999 66.96%)}.lofty-house-card-grid .lofty-house-info-grid{position:absolute;z-index:10;left:30px;bottom:50px;color:#fff}@media (max-width: 600px){.lofty-house-card-grid .lofty-house-info-grid{left:15px}}.lofty-house-card-grid .lofty-house-info-grid .lofty-house-price{font-size:26px;font-family:var(--lofty-font-regular-serif);color:inherit}.lofty-house-card-grid .lofty-house-info-grid .lofty-house-base{margin:14px 0 10px;font-size:14px;font-family:var(--lofty-font-light);color:inherit}@media (max-width: 600px){.lofty-house-card-grid .lofty-house-info-grid .lofty-house-base{margin:10px 0}}.lofty-house-card-grid .lofty-house-info-grid .lofty-feature-address,.lofty-house-card-grid .lofty-house-info-grid .lofty-house-id{font-size:14px;font-family:var(--lofty-font-light);color:inherit}@media (max-width: 600px){.lofty-house-card-grid .lofty-house-info-grid .lofty-feature-address,.lofty-house-card-grid .lofty-house-info-grid .lofty-house-id{width:100%}}.lofty-house-card-grid .lofty-mls-info-grid{position:absolute;bottom:20px;display:flex;align-items:end;z-index:10;width:-webkit-fill-available;margin:0 30px}@media (max-width: 600px){.lofty-house-card-grid .lofty-mls-info-grid{margin:0 15px}}.lofty-house-card-grid .lofty-mls-info-grid .lofty-mls-text{font-size:12px;font-family:var(--lofty-font-light);font-style:italic;color:#fff9}.lofty-house-card-grid .lofty-mls-info-grid .lofty-mls-logo{margin-left:auto}.lofty-house-card-grid .lofty-mls-info-grid .lofty-mls-logo img{height:24px}@media (max-width: 600px){.lofty-house-mask-grid .lofty-house-login-box{position:relative;bottom:50px}}.lofty-grid-house-list{display:flex;flex-wrap:wrap;font-size:0}.lofty-more{margin:40px auto;min-width:200px;width:fit-content;padding:0 20px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:solid 1px #111;font-family:var(--lofty-font-regular)}@media (max-width: 600px){.lofty-more{margin-top:20px}}.lofty-more:hover{background-color:#0000001a}.lofty-icon-heart-fill,.lofty-icon-heart{position:absolute;right:20px;top:20px;cursor:pointer;font-size:24px;z-index:100}@media (max-width: 600px){.lofty-icon-heart-fill,.lofty-icon-heart{right:10px;top:10px}}.lofty-icon-heart-fill{color:#f0454c}.lofty-icon-heart{color:#fff}.lofty-house-card-gallery{position:relative;height:400px;cursor:pointer;overflow:hidden}.lofty-house-card-gallery .lofty-house-img-gallery{height:100%;width:100%;position:absolute;left:0;top:0;z-index:1}.lofty-house-card-gallery .lofty-house-img-gallery a{text-decoration:none}.lofty-house-card-gallery .lofty-house-img-gallery img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:transform .5s ease}@media (max-width: 600px){.lofty-house-card-gallery .lofty-house-img-gallery img{filter:grayscale(0)}}.lofty-house-card-gallery .lofty-house-img-gallery .img-mask{width:100%;height:100%;position:absolute;right:0;bottom:0;top:0;left:0;z-index:2;overflow:hidden;display:none;background:linear-gradient(180deg,#0000,#0006 66.96%)}@media (max-width: 600px){.lofty-house-card-gallery .lofty-house-img-gallery .img-mask{display:block}}.lofty-house-card-gallery .lofty-house-info-gallery{width:100%;position:absolute;z-index:10;left:0;bottom:0;color:#fff;transform:translateY(0);transition:all .5s ease}@media (max-width: 600px){.lofty-house-card-gallery .lofty-house-info-gallery{bottom:15px}}.lofty-house-card-gallery .lofty-house-info-gallery .lofty-house-price{color:inherit;width:fit-content;font-size:26px;line-height:1.2;padding:10px 20px;font-family:var(--lofty-font-bold);background:linear-gradient(90deg,#5f3808,#5f380800)}@media (max-width: 600px){.lofty-house-card-gallery .lofty-house-info-gallery .lofty-house-price{padding:10px 20px 10px 15px}}.lofty-house-card-gallery .lofty-house-info-gallery .lofty-house-base{color:inherit;margin:10px 20px 0;font-size:14px}@media (max-width: 600px){.lofty-house-card-gallery .lofty-house-info-gallery .lofty-house-base{margin:10px 15px 0}}.lofty-house-card-gallery .lofty-house-info-gallery .lofty-feature-address,.lofty-house-card-gallery .lofty-house-info-gallery .lofty-house-id{color:inherit;margin:5px 10px 10px 20px;font-size:14px}@media (max-width: 600px){.lofty-house-card-gallery .lofty-house-info-gallery .lofty-feature-address,.lofty-house-card-gallery .lofty-house-info-gallery .lofty-house-id{margin:5px 15px 0}}.lofty-house-card-gallery .lofty-house-info-gallery .lofty-mls-info-gallery{margin:0 20px;font-size:12px;justify-content:space-between;align-items:flex-end;gap:20px;color:#fffc;display:none}@media (max-width: 600px){.lofty-house-card-gallery .lofty-house-info-gallery .lofty-mls-info-gallery{margin:0 15px;display:flex;color:#fff}}.lofty-house-card-gallery .lofty-house-info-gallery .lofty-mls-info-gallery .lofty-mls-text{color:inherit}.lofty-house-card-gallery .lofty-house-info-gallery .lofty-mls-info-gallery .lofty-mls-logo{height:24px}.lofty-house-card-gallery .lofty-house-info-gallery .lofty-mls-info-gallery .lofty-mls-logo img{max-height:100%}.lofty-house-card-gallery:hover .img-mask{display:block}@media (min-width: 601px){.lofty-house-card-gallery:hover .lofty-house-img-gallery img{transform:scale(1.2);filter:grayscale(0)}.lofty-house-card-gallery:hover .lofty-house-info-gallery{transform:translateY(-20px)}.lofty-house-card-gallery:hover .lofty-house-info-gallery .lofty-mls-info-gallery{display:flex}}.lofty-feature-listing-gallery{position:relative;padding-top:80px;background-size:cover;background-position:center}@media (max-width: 600px){.lofty-feature-listing-gallery{padding-top:0}}.lofty-feature-listing-gallery .mask,.lofty-feature-listing-gallery .img-background{position:absolute;width:100%;height:100%;background:linear-gradient(180deg,#ffffffd9,#fff);left:0;bottom:0}.lofty-feature-listing-gallery .img-background{object-fit:cover;filter:grayscale(100%)}.lofty-feature-listing-gallery .gallery-house-content{display:flex;flex-wrap:wrap;gap:2px;position:relative;z-index:3}@media (max-width: 600px){.lofty-feature-listing-gallery .gallery-house-content{flex-direction:column}}.lofty-feature-listing-gallery .title-info{width:30%;padding-right:70px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:end;gap:20px;font-family:var(--lofty-font-play-bold)}@media (max-width: 600px){.lofty-feature-listing-gallery .title-info{align-items:flex-start;width:100%;padding:20px 15px;gap:15px}}.lofty-feature-listing-gallery .title-info .title{font-size:48px;font-weight:700;line-height:1.5;text-align:right;text-transform:uppercase}@media (max-width: 600px){.lofty-feature-listing-gallery .title-info .title{text-align:left;display:flex;flex-direction:column;gap:5px;font-size:34px;font-family:var(--lofty-font-play-bold)}}.lofty-feature-listing-gallery .title-info .line{width:100px;height:1px;background:#000;margin-bottom:20px}.lofty-feature-listing-gallery .lofty-more-btn{position:relative;z-index:3;min-width:200px;max-width:calc(100% - 50px);padding:15px;text-align:center;color:#111;border:1px solid #a8a8a8;border-radius:1px;cursor:pointer}@media (max-width: 600px){.lofty-feature-listing-gallery .lofty-more-btn{margin:18px 15px 40px;max-width:100%}}.lofty-feature-listing-gallery .lofty-more-btn:hover{background:#0000001a}.lofty-feature-listing-gallery .gallery-house-card{width:calc(35% - 2px);flex-grow:1;height:400px}.lofty-feature-listing-gallery .gallery-house-card:nth-child(6n+1),.lofty-feature-listing-gallery .gallery-house-card:nth-child(6n+6){width:30%}@media (max-width: 600px){.lofty-feature-listing-gallery .gallery-house-card{width:100%!important;height:264px}}
  • lofty-idx/trunk/assets/feature-listing.js

    r3312310 r3333213  
    1 import{h as B,i as f}from"./_plugin-vue_export-helper.BXwY9aDM.js";import{r as L,I as P,l as U,k as D,o,g as n,e as t,u as s,m as p,y as w,F as k,h as b,j as m,t as h,d as x,c as H,n as A,D as C}from"./vendor.NEC4PHgy.js";import{c as G}from"./module.CKjUdtPN.js";import{h as R,c as E}from"./verify-email.BuNdX22j.js";import{E as V,_ as N}from"./feature-listing-slider.BE3-pAJs.js";import{_ as M}from"./houseSlider.B8lXL2Vn.js";import{u as T}from"./user.C9PYqYHM.js";import{f as F}from"./popup-trigger.DYYaUR3O.js";import{a as q,s as W}from"./popup-mls.CBKQfXSn.js";import"./number-format.CLdvQh6j.js";import"./index.BjLmwQWW.js";import"./google.xpY_32OC.js";import"./index.zlpipePe.js";import"./useConfirm.BpvHcTF0.js";const $={};function K(e){const a=e.getModuleData(),r={module:e,data:a,layout:a.layout||"grid",featuredListingName:a.featuredListingName,list:L([]),showMore:L(a.layoutConfig.showButton),moreText:L(a.layoutConfig.buttonText),isShortCode:!!a.shortcode_config.layout,shortcode_config:a.shortcode_config},u={async searchList(){const l={action:"lofty_idx_api",data:{pageSize:a.layoutConfig.default,page:1,listingType:"featured-listing",featureListingName:a.featureListingName||"WP_CUSTOM_FEATURED_LISTING"},headers:{}};r.isShortCode||(l.headers.trackingpagekey="featured_listing");const g=await B.get("/search/realTimeListings",l);g.data.listings.forEach(y=>R(y)),r.list.value=g.data.listings},moreClick(){const l=document.createElement("a");l.target=f?"_self":"_blank",l.href=`/listing/?featureListingName=${a.featureListingName}&pageKey=search`,document.body.appendChild(l),l.click(),document.body.removeChild(l)}};return{...r,...u,onload:u.searchList()}}function Q(e){$[e.id]=K(e)}const J={class:"lofty-listing-slider"},X=["src"],Y={key:0,class:"lofty-single-house"},Z={__name:"listingSlider",props:{id:String,config:Object},setup(e){P();const{onload:a,list:r,module:u,showMore:l,moreText:g,moreClick:y}=$[e.id],c=LoftyIdxUtils.static_url(V),i=e.config.layout,_=["prevNext","next"].includes(i);function I(){const v=r.value.length;if(f)return v>1;if(i==="full")return v>1;if(i==="next")return v>2;if(i==="prevNext")return v>3}U(()=>{a.then(()=>{j()})});function j(){if(r.value.length<2)return;r.value.length===2&&i==="next"&&r.value.push(...r.value);const v=u.$(".swiper-container");let d={navigation:{prevEl:".listing-slider-prev-button",nextEl:".listing-slider-next-button"},loop:I(),initialSlide:i==="prevNext"&&r.value.length>2?1:0,observer:!0,spaceBetween:f?10:0,speed:e.config.speed||1e3,centeredSlides:!f&&i!=="next",centeredSlidesBounds:!1,injectStyles:[`:host .swiper-button-disabled {
     1import{h as B,i as f}from"./_plugin-vue_export-helper.bB-lvPOu.js";import{r as L,I as P,l as U,k as H,o,g as n,u as s,e as t,m as p,y as w,F as k,h as _,j as y,t as h,d as x,c as D,n as A,D as C}from"./vendor.DSMCY3-_.js";import{c as G}from"./module.CKjUdtPN.js";import{f as R}from"./house-format.CGUVCimM.js";import{E as V,_ as E}from"./feature-listing-slider.C6SVvzLl.js";import{_ as M}from"./houseSlider.vt9Nc49G.js";import{c as N}from"./verify-email.CS8uhOrR.js";import{u as T}from"./user.B_wb9Yeq.js";import{f as F}from"./popup-trigger.Dcnct9fd.js";import{a as q,s as W}from"./popup-mls.BtxMjRiY.js";import"./number-format.CLdvQh6j.js";import"./index.B6VbAP4g.js";import"./google.COqmJ1I4.js";import"./index.BPxU_3zo.js";import"./useConfirm.DafTdZE0.js";const $={};function K(e){const a=e.getModuleData(),i={module:e,data:a,layout:a.layout||"grid",featuredListingName:a.featuredListingName,list:L([]),showMore:L(a.layoutConfig.showButton),moreText:L(a.layoutConfig.buttonText),isShortCode:!!a.shortcode_config.layout,shortcode_config:a.shortcode_config},u={async searchList(){const l={action:"lofty_idx_api",data:{pageSize:a.layoutConfig.default,page:1,listingType:"featured-listing",featureListingName:a.featureListingName||"WP_CUSTOM_FEATURED_LISTING"},headers:{}};i.isShortCode||(l.headers.trackingpagekey="featured_listing");const g=await B.get("/search/realTimeListings",l);g.data.listings.forEach(m=>R(m)),i.list.value=g.data.listings},moreClick(){const l=document.createElement("a");l.target=f?"_self":"_blank",l.href=`/listing/?featureListingName=${a.featureListingName}&pageKey=search`,document.body.appendChild(l),l.click(),document.body.removeChild(l)}};return{...i,...u,onload:u.searchList()}}function Q(e){$[e.id]=K(e)}const J={key:0,class:"lofty-listing-slider"},X=["src"],Y={key:0,class:"lofty-single-house"},Z={key:1,class:"lofty-listing-slider-empty"},ee={__name:"listingSlider",props:{id:String,config:Object},setup(e){P();const{onload:a,list:i,module:u,showMore:l,moreText:g,moreClick:m}=$[e.id],c=LoftyIdxUtils.static_url(V),r=e.config.layout,b=["prevNext","next"].includes(r);function I(){const v=i.value.length;if(f)return v>1;if(r==="full")return v>1;if(r==="next")return v>2;if(r==="prevNext")return v>3}U(()=>{a.then(()=>{j()})});function j(){if(i.value.length<2)return;i.value.length===2&&r==="next"&&i.value.push(...i.value);const v=u.$(".swiper-container");let d={navigation:{prevEl:".listing-slider-prev-button",nextEl:".listing-slider-next-button"},loop:I(),initialSlide:r==="prevNext"&&i.value.length>2?1:0,observer:!0,spaceBetween:f?10:0,speed:e.config.speed||1e3,centeredSlides:!f&&r!=="next",centeredSlidesBounds:!1,injectStyles:[`:host .swiper-button-disabled {
    22        pointer-events: auto;
    3       }`]};e.config.autoPlay&&(d.autoplay={delay:e.config.duration*1e3,pauseOnMouseEnter:!0}),(_||f)&&(d.slidesPerView="auto",d.effect="coverflow",d.coverflowEffect={rotate:0,depth:0,scale:f?1:(50-100/window.innerWidth*100)/50,slideShadows:!1}),Object.assign(v,d),v.initialize()}const O=D("swiperRef");return(v,d)=>(o(),n(k,null,[t("div",J,[t("img",{class:"img-background",src:s(c),alt:""},null,8,X),d[3]||(d[3]=t("div",{class:"mask"},null,-1)),s(r).length===1?(o(),n("div",Y,[p(M,{house:s(r)[0]},null,8,["house"])])):(o(),n("swiper-container",{key:1,init:"false",ref_key:"swiperRef",ref:O,class:w([{"swiper-hide-prev":s(i)==="next"&&!s(f)},"swiper-container"])},[(o(!0),n(k,null,b(s(r),(S,z)=>(o(),n("swiper-slide",{class:w({"swiper-slide-flow":s(_)&&!s(f),"swiper-slide-mobile":s(f)}),key:z},[p(M,{house:S},null,8,["house"])],2))),128))],2)),s(r).length>1&&!s(f)?(o(),n(k,{key:2},[s(i)!=="next"?(o(),n("div",{key:0,class:w(["listing-slider-prev-button",{"sold-button":s(_)}])},d[1]||(d[1]=[t("i",{class:"lofty_iconfont lofty-icon-arrow_06_left"},null,-1)]),2)):m("",!0),t("div",{class:w(["listing-slider-next-button",{"sold-button":s(_),"hide-prev":s(i)==="next"}])},d[2]||(d[2]=[t("i",{class:"lofty_iconfont lofty-icon-arrow_06_right"},null,-1)]),2)],64)):m("",!0)]),s(l)?(o(),n("div",{key:0,onClick:d[0]||(d[0]=(...S)=>s(y)&&s(y)(...S)),class:"lofty-more"},h(s(g)),1)):m("",!0)],64))}},ee={class:"lofty-house-card-grid"},te={class:"lofty-house-img-grid"},se=["href"],oe=["src","alt"],le={class:"lofty-house-info-grid"},ie={class:"lofty-house-price"},ne={class:"lofty-house-base"},ae={class:"lofty-feature-address"},re=["href"],ue={key:0,class:"lofty-house-id"},ce={class:"lofty-mls-info-grid"},de=["innerHTML"],fe={key:0,class:"lofty-mls-logo"},he=["src","alt"],ge={__name:"houseGrid",props:{house:Object},setup(e){function a(){E(e.house.id,e.house.collectStatus,()=>{e.house.collectStatus=!e.house.collectStatus})}return(r,u)=>(o(),n("div",ee,[t("div",te,[t("a",{target:"_blank",href:e.house.detailUrl},[t("img",{src:e.house.previewPicture,loading:"lazy",alt:e.house.address},null,8,oe),u[0]||(u[0]=t("div",{class:"img-mask"},null,-1))],8,se)]),e.house.isProtected?(o(),x(N,{key:0,class:"lofty-house-mask-grid"})):m("",!0),t("div",le,[t("p",ie,h(e.house.price),1),t("p",ne,[(o(!0),n(k,null,b(e.house.basic,l=>(o(),n("span",{key:l.key},h(l.text),1))),128))]),t("p",ae,[t("a",{target:"_blank",href:e.house.detailUrl},h(e.house.address),9,re)]),e.house.showMls?(o(),n("p",ue," MLS# "+h(e.house.mlsListingId),1)):m("",!0)]),t("div",ce,[t("p",{class:"lofty-mls-text",innerHTML:e.house.provided},null,8,de),e.house.mlsLogo?(o(),n("div",fe,[t("img",{src:e.house.mlsLogo,alt:e.house.mlsOrg.name},null,8,he)])):m("",!0)]),t("i",{onClick:a,style:{"font-size":"24px"},class:w(["lofty_iconfont",e.house.collectStatus?"lofty-icon-heart-fill":"lofty-icon-heart"])},null,2)]))}},me={class:"lofty-feature-listing-grid"},ye={class:"lofty-grid-house-list"},ve={__name:"listingGrid",props:{id:String},setup(e){const{list:a,showMore:r,moreText:u,moreClick:l}=$[e.id],g=H(()=>{if(!f)return{width:a.value.length===4?"50%":"33.33%","flex-grow":1}});return(y,c)=>(o(),n("div",me,[t("div",ye,[(o(!0),n(k,null,b(s(a),i=>(o(),x(ge,{style:A(s(g)),house:i,key:i.id},null,8,["style","house"]))),128))]),s(r)?(o(),n("div",{key:0,class:"lofty-more",onClick:c[0]||(c[0]=(...i)=>s(l)&&s(l)(...i))},h(s(u)),1)):m("",!0)]))}},ke="/feature-listing-gallery.DAH8vgqo.jpg",we={class:"lofty-house-card-gallery"},be={class:"lofty-house-img-gallery"},_e=["href"],xe=["src","alt"],$e={class:"lofty-house-info-gallery"},Se={class:"lofty-house-price"},Le={class:"lofty-house-base"},Ce={class:"lofty-feature-address"},pe=["href"],Me={key:0,class:"lofty-house-id"},Te={class:"lofty-mls-info-gallery"},Ee=["innerHTML"],Ne={key:0,class:"lofty-mls-logo"},Ie=["src","alt"],je={__name:"houseGallery",props:{house:Object},setup(e){function a(){E(e.house.id,e.house.collectStatus,()=>{e.house.collectStatus=!e.house.collectStatus})}return(r,u)=>(o(),n("div",we,[t("div",be,[t("a",{target:"_blank",href:e.house.detailUrl},[t("img",{src:e.house.previewPicture,loading:"lazy",alt:e.house.address},null,8,xe),u[0]||(u[0]=t("div",{class:"img-mask"},null,-1))],8,_e),e.house.isProtected?(o(),x(N,{key:0,"show-lock":!s(f)},null,8,["show-lock"])):m("",!0)]),t("div",$e,[t("p",Se,h(e.house.price),1),t("p",Le,[(o(!0),n(k,null,b(e.house.basic,l=>(o(),n("span",{key:l.key},h(l.text),1))),128))]),t("p",Ce,[t("a",{target:"_blank",href:e.house.detailUrl},h(e.house.address),9,pe)]),e.house.showMls?(o(),n("p",Me," MLS# "+h(e.house.mlsListingId),1)):m("",!0),t("div",Te,[t("p",{class:"lofty-mls-text",innerHTML:e.house.provided},null,8,Ee),e.house.mlsLogo?(o(),n("div",Ne,[t("img",{src:e.house.mlsLogo,alt:e.house.mlsOrg.name},null,8,Ie)])):m("",!0)])]),t("i",{onClick:a,style:{"font-size":"24px"},class:w(["lofty_iconfont",e.house.collectStatus?"lofty-icon-heart-fill":"lofty-icon-heart"])},null,2)]))}},Oe={class:"lofty-feature-listing-gallery"},ze=["src"],Be={class:"gallery-house-content"},Pe={class:"title-info"},Ue={class:"title"},De={__name:"listingGallery",props:{id:String,config:Object},setup(e){const{list:a,showMore:r,moreText:u,moreClick:l}=$[e.id],g=LoftyIdxUtils.static_url(ke);return(y,c)=>(o(),n("div",Oe,[t("img",{class:"img-background",src:s(g),alt:""},null,8,ze),c[3]||(c[3]=t("div",{class:"mask"},null,-1)),t("div",Be,[t("div",Pe,[t("div",Ue,h(e.config.title),1),c[2]||(c[2]=t("div",{class:"line"},null,-1)),s(r)&&!s(f)?(o(),n("div",{key:0,class:"lofty-more-btn",onClick:c[0]||(c[0]=(...i)=>s(l)&&s(l)(...i))},h(s(u)),1)):m("",!0)]),(o(!0),n(k,null,b(s(a),i=>(o(),x(je,{class:"gallery-house-card",key:i.id,house:i},null,8,["house"]))),128))]),s(r)&&s(f)?(o(),n("div",{key:0,class:"lofty-more-btn",onClick:c[1]||(c[1]=(...i)=>s(l)&&s(l)(...i))},h(s(u)),1)):m("",!0)]))}};q();T.initState(()=>{F(),T.mlsList.forEach(e=>W(e))});jQuery(".lofty-feature-listing-page").ready(function(){document.querySelectorAll(".lofty-feature-listing-page").forEach(a=>{const r=a.getAttribute("id"),u=G(r);Q(u);const{id:l,$:g,getModuleData:y}=u,c=y().layout||"grid",i=y().layoutConfig;c==="gallery"?C(De,{id:l,config:i}).mount(g("#lofty-feature-listing-container")):c==="slider"?C(Z,{id:l,config:i}).mount(g("#lofty-feature-listing-container")):C(ve,{id:l,config:i}).mount(g("#lofty-feature-listing-container"))})});
     3      }`]};e.config.autoPlay&&(d.autoplay={delay:e.config.duration*1e3,pauseOnMouseEnter:!0}),(b||f)&&(d.slidesPerView="auto",d.effect="coverflow",d.coverflowEffect={rotate:0,depth:0,scale:f?1:(50-100/window.innerWidth*100)/50,slideShadows:!1}),Object.assign(v,d),v.initialize()}const O=H("swiperRef");return(v,d)=>(o(),n(k,null,[s(i).length>0?(o(),n("div",J,[t("img",{class:"img-background",src:s(c),alt:""},null,8,X),d[3]||(d[3]=t("div",{class:"mask"},null,-1)),s(i).length===1?(o(),n("div",Y,[p(M,{house:s(i)[0]},null,8,["house"])])):(o(),n("swiper-container",{key:1,init:"false",ref_key:"swiperRef",ref:O,class:w([{"swiper-hide-prev":s(r)==="next"&&!s(f)},"swiper-container"])},[(o(!0),n(k,null,_(s(i),(S,z)=>(o(),n("swiper-slide",{class:w({"swiper-slide-flow":s(b)&&!s(f),"swiper-slide-mobile":s(f)}),key:z},[p(M,{house:S},null,8,["house"])],2))),128))],2)),s(i).length>1&&!s(f)?(o(),n(k,{key:2},[s(r)!=="next"?(o(),n("div",{key:0,class:w(["listing-slider-prev-button",{"sold-button":s(b)}])},d[1]||(d[1]=[t("i",{class:"lofty_iconfont lofty-icon-arrow_06_left"},null,-1)]),2)):y("",!0),t("div",{class:w(["listing-slider-next-button",{"sold-button":s(b),"hide-prev":s(r)==="next"}])},d[2]||(d[2]=[t("i",{class:"lofty_iconfont lofty-icon-arrow_06_right"},null,-1)]),2)],64)):y("",!0)])):(o(),n("div",Z,d[4]||(d[4]=[t("div",{class:"lofty-no-listing"},[t("i",{class:"lofty_iconfont lofty-icon-house_02"}),t("div",{class:"no-listing-text"},"No Listing Found")],-1)]))),s(l)&&s(i).length>0?(o(),n("div",{key:2,onClick:d[0]||(d[0]=(...S)=>s(m)&&s(m)(...S)),class:"lofty-more"},h(s(g)),1)):y("",!0)],64))}},te={class:"lofty-house-card-grid"},se={class:"lofty-house-img-grid"},oe=["href"],le=["src","alt"],ie={class:"lofty-house-info-grid"},ne={class:"lofty-house-price"},ae={class:"lofty-house-base"},re={class:"lofty-feature-address"},ue=["href"],ce={key:0,class:"lofty-house-id"},de={class:"lofty-mls-info-grid"},fe=["innerHTML"],he={key:0,class:"lofty-mls-logo"},ge=["src","alt"],ye={__name:"houseGrid",props:{house:Object},setup(e){function a(){N(e.house.id,e.house.collectStatus,()=>{e.house.collectStatus=!e.house.collectStatus})}return(i,u)=>(o(),n("div",te,[t("div",se,[t("a",{target:"_blank",href:e.house.detailUrl},[t("img",{src:e.house.previewPicture,loading:"lazy",alt:e.house.address},null,8,le),u[0]||(u[0]=t("div",{class:"img-mask"},null,-1))],8,oe)]),e.house.isProtected?(o(),x(E,{key:0,class:"lofty-house-mask-grid"})):y("",!0),t("div",ie,[t("p",ne,h(e.house.price),1),t("p",ae,[(o(!0),n(k,null,_(e.house.basic,l=>(o(),n("span",{key:l.key},h(l.text),1))),128))]),t("p",re,[t("a",{target:"_blank",href:e.house.detailUrl},h(e.house.address),9,ue)]),e.house.showMls?(o(),n("p",ce," MLS# "+h(e.house.mlsListingId),1)):y("",!0)]),t("div",de,[t("p",{class:"lofty-mls-text",innerHTML:e.house.provided},null,8,fe),e.house.mlsLogo?(o(),n("div",he,[t("img",{src:e.house.mlsLogo,alt:e.house.mlsOrg.name},null,8,ge)])):y("",!0)]),t("i",{onClick:a,style:{"font-size":"24px"},class:w(["lofty_iconfont",e.house.collectStatus?"lofty-icon-heart-fill":"lofty-icon-heart"])},null,2)]))}},me={class:"lofty-feature-listing-grid"},ve={class:"lofty-grid-house-list"},ke={__name:"listingGrid",props:{id:String},setup(e){const{list:a,showMore:i,moreText:u,moreClick:l}=$[e.id],g=D(()=>{if(!f)return{width:a.value.length===4?"50%":"33.33%","flex-grow":1}});return(m,c)=>(o(),n("div",me,[t("div",ve,[(o(!0),n(k,null,_(s(a),r=>(o(),x(ye,{style:A(s(g)),house:r,key:r.id},null,8,["style","house"]))),128))]),s(i)?(o(),n("div",{key:0,class:"lofty-more",onClick:c[0]||(c[0]=(...r)=>s(l)&&s(l)(...r))},h(s(u)),1)):y("",!0)]))}},we="/feature-listing-gallery.DAH8vgqo.jpg",_e={class:"lofty-house-card-gallery"},be={class:"lofty-house-img-gallery"},xe=["href"],$e=["src","alt"],Se={class:"lofty-house-info-gallery"},Le={class:"lofty-house-price"},Ce={class:"lofty-house-base"},pe={class:"lofty-feature-address"},Me=["href"],Te={key:0,class:"lofty-house-id"},Ee={class:"lofty-mls-info-gallery"},Ne=["innerHTML"],Ie={key:0,class:"lofty-mls-logo"},je=["src","alt"],Oe={__name:"houseGallery",props:{house:Object},setup(e){function a(){N(e.house.id,e.house.collectStatus,()=>{e.house.collectStatus=!e.house.collectStatus})}return(i,u)=>(o(),n("div",_e,[t("div",be,[t("a",{target:"_blank",href:e.house.detailUrl},[t("img",{src:e.house.previewPicture,loading:"lazy",alt:e.house.address},null,8,$e),u[0]||(u[0]=t("div",{class:"img-mask"},null,-1))],8,xe),e.house.isProtected?(o(),x(E,{key:0,"show-lock":!s(f)},null,8,["show-lock"])):y("",!0)]),t("div",Se,[t("p",Le,h(e.house.price),1),t("p",Ce,[(o(!0),n(k,null,_(e.house.basic,l=>(o(),n("span",{key:l.key},h(l.text),1))),128))]),t("p",pe,[t("a",{target:"_blank",href:e.house.detailUrl},h(e.house.address),9,Me)]),e.house.showMls?(o(),n("p",Te," MLS# "+h(e.house.mlsListingId),1)):y("",!0),t("div",Ee,[t("p",{class:"lofty-mls-text",innerHTML:e.house.provided},null,8,Ne),e.house.mlsLogo?(o(),n("div",Ie,[t("img",{src:e.house.mlsLogo,alt:e.house.mlsOrg.name},null,8,je)])):y("",!0)])]),t("i",{onClick:a,style:{"font-size":"24px"},class:w(["lofty_iconfont",e.house.collectStatus?"lofty-icon-heart-fill":"lofty-icon-heart"])},null,2)]))}},ze={class:"lofty-feature-listing-gallery"},Be=["src"],Pe={class:"gallery-house-content"},Ue={class:"title-info"},He={class:"title"},De={__name:"listingGallery",props:{id:String,config:Object},setup(e){const{list:a,showMore:i,moreText:u,moreClick:l}=$[e.id],g=LoftyIdxUtils.static_url(we);return(m,c)=>(o(),n("div",ze,[t("img",{class:"img-background",src:s(g),alt:""},null,8,Be),c[3]||(c[3]=t("div",{class:"mask"},null,-1)),t("div",Pe,[t("div",Ue,[t("div",He,h(e.config.title),1),c[2]||(c[2]=t("div",{class:"line"},null,-1)),s(i)&&!s(f)?(o(),n("div",{key:0,class:"lofty-more-btn",onClick:c[0]||(c[0]=(...r)=>s(l)&&s(l)(...r))},h(s(u)),1)):y("",!0)]),(o(!0),n(k,null,_(s(a),r=>(o(),x(Oe,{class:"gallery-house-card",key:r.id,house:r},null,8,["house"]))),128))]),s(i)&&s(f)?(o(),n("div",{key:0,class:"lofty-more-btn",onClick:c[1]||(c[1]=(...r)=>s(l)&&s(l)(...r))},h(s(u)),1)):y("",!0)]))}};q();T.initState(()=>{var e,a;F(),(a=(e=T.mlsList)==null?void 0:e.forEach)==null||a.call(e,i=>W(i))});jQuery(".lofty-feature-listing-page").ready(function(){document.querySelectorAll(".lofty-feature-listing-page").forEach(a=>{const i=a.getAttribute("id"),u=G(i);Q(u);const{id:l,$:g,getModuleData:m}=u,c=m().layout||"grid",r=m().layoutConfig;c==="gallery"?C(De,{id:l,config:r}).mount(g("#lofty-feature-listing-container")):c==="slider"?C(ee,{id:l,config:r}).mount(g("#lofty-feature-listing-container")):C(ke,{id:l,config:r}).mount(g("#lofty-feature-listing-container"))})});
  • lofty-idx/trunk/assets/home-valuation.js

    r3312310 r3333213  
    1 import{u as q,h as F,_ as Y,i as B,g as Z}from"./_plugin-vue_export-helper.BXwY9aDM.js";import{r as y,o as m,g,e as t,q as w,v as U,u as e,s as D,z as V,x as P,j as k,F as G,h as K,t as f,y as N,a as H,d as z,w as J,m as R,c as O,D as W}from"./vendor.NEC4PHgy.js";import{c as X}from"./module.CKjUdtPN.js";import{u as L}from"./user.C9PYqYHM.js";import{_ as ee}from"./marker.CMP_wZIa.js";import{M as te}from"./icon.DPA-YhG0.js";import{C as se}from"./google.xpY_32OC.js";import{s as ne}from"./index.BjLmwQWW.js";import{n as T}from"./number-format.CLdvQh6j.js";import{T as oe}from"./tooltip.Chr6RZhw.js";import{_ as ae}from"./index.D8G0GxXE.js";import"./index.zlpipePe.js";import"./outsideclick.Bw_hMuzW.js";const le={};function ie(s){return s.getModuleData(),{...{module:s},...{}}}function re(s){le[s.id]=ie(s)}const ce={class:"lofty-home-valuation-step1"},ue={class:"address-body"},de={class:"address-input-container"},me=["placeholder"],pe={class:"error-tip"},fe={class:"autocomplete"},he=["onClick"],ve=["innerHTML"],ge={key:0,class:"shu-line"},_e={__name:"Step1",props:{step1:Object},emits:["next"],setup(s,{emit:p}){const h=p,r=y(""),l=y(""),u=y(!1),n=y([]),a=q.debounce(async function(v){if(!v.target.value)return;const o={query:v.target.value,country:"usa",beginHighlight:encodeURIComponent("<mark>"),endHighlight:encodeURIComponent("</mark>")},S=(await F.get("/search/home-j/here-api/autoSuggest",{data:o})).data,I=[];for(let M=0,j=0,E=S.length;j<5&&M<E;M++){let A=_(S[M]);A&&I.indexOf(A)===-1&&(I.push(A),j++)}n.value=I,u.value=!0}),d=y(!1);function C(){if(!r.value){d.value=!0,setTimeout(()=>{d.value=!1},3e3);return}h("next",r.value,l.value)}function $(v){r.value=v,u.value=!1}function _(v){let o=v.address,c=x(o,["houseNumber","street"])+x(o,["city"]);return c?decodeURIComponent(c+x(o,["state","postalCode"],!1)):null}function x(v,o,c){let S=[],I="";for(let M=0,j=o.length;M<j;M++){let E=v[o[M]];E&&I!==E&&S.push(I=E)}return S.length?S.join(" ")+(c===!1?"":", "):""}function b(){u.value=!1}function i(){r.value="",u.value=!1}return(v,o)=>(m(),g("div",ce,[t("div",ue,[t("div",de,[w(t("input",{class:"address-input","onUpdate:modelValue":o[0]||(o[0]=c=>D(r)?r.value=c:null),type:"text",placeholder:s.step1.placeholder,onMousedown:o[1]||(o[1]=V(()=>{},["stop"])),onDblclick:o[2]||(o[2]=V(()=>{},["stop"])),onFocus:V(b,["stop"]),onTouchstart:V(b,["stop"]),onInput:o[3]||(o[3]=V((...c)=>e(a)&&e(a)(...c),["stop"]))},null,40,me),[[U,e(r)]]),w(t("div",pe,"A valid address is required to continue",512),[[P,e(d)]]),e(r)?(m(),g("i",{key:0,class:"lofty_iconfont lofty-icon-close",onClick:i})):k("",!0),w(t("ul",fe,[(m(!0),g(G,null,K(e(n),c=>(m(),g("li",{key:c,class:"item",onClick:S=>$(c)},[o[5]||(o[5]=t("i",{class:"lofty_iconfont lofty-icon-location_02"},null,-1)),t("span",{innerHTML:c},null,8,ve)],8,he))),128))],512),[[P,e(n).length>0&&e(u)]])]),s.step1.showUnit?(m(),g("div",ge)):k("",!0),s.step1.showUnit?w((m(),g("input",{key:1,"onUpdate:modelValue":o[4]||(o[4]=c=>D(l)?l.value=c:null),class:"unit-input",placeholder:"Unit"},null,512)),[[U,e(l)]]):k("",!0),t("div",{class:"lofty-btn lofty-next-btn",onClick:C},f(s.step1.buttonText),1)])]))}},ye={props:{map:Object},data(){return{fullscreen:!1}},methods:{handler(){this.fullscreen?this.exitFullscreen():this.fullScreen(this.map.getElement().parentElement.parentElement),this.fullscreen=!this.fullscreen},fullScreen(s){s.requestFullscreen?s.requestFullscreen():s.msRequestFullscreen?s.msRequestFullscreen():s.mozRequestFullScreen?s.mozRequestFullScreen():s.webkitRequestFullscreen&&s.webkitRequestFullscreen()},exitFullscreen(){document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()}}};function be(s,p,h,r,l,u){return m(),g("i",{class:N(["lofty_iconfont fullscreen-tool",l.fullscreen?"lofty-icon-exit-fullscreen":"lofty-icon-a-fullscreen"]),onClick:p[0]||(p[0]=(...n)=>u.handler&&u.handler(...n))},null,2)}const $e=Y(ye,[["render",be]]),Q={__name:"StepMap",props:{address:String},setup(s){l();const p={zoom:14,center:{lat:0,lng:0}},h=y(!1),r=H({name:s.address,lat:0,lng:0,icon:"lofty-icon-location_02",iconColor:"rgba(240, 69, 76, 1)"});async function l(){const a={query:s.address},{data:d}=await F.get("/search/home-j/here-api/geoPoint",{data:a});d&&d.lng&&(p.center.lng=d.lng,p.center.lat=d.lat,r.lat=d.lat,r.lng=d.lng,h.value=!0)}const u=y(null);function n(a){u.value=a}return(a,d)=>e(h)?(m(),z(ee,{key:0,class:"step-map-container",config:p,onInit:n},{default:J(()=>[R($e,{class:"map-tool",map:e(u)},null,8,["map"]),R(te,{data:e(r),map:e(u)},null,8,["data","map"])]),_:1})):k("",!0)}},we={class:"lofty-home-valuation-step2"},ke={class:"home-map-container"},xe={class:"lofty-property-form"},Ne={key:0,class:"step2-title"},Se={key:1,class:"step2-desc"},Ce={class:"form-wrap"},Me={class:"form-name"},Re={class:"input-wrapper"},Ie=["placeholder"],Ue={class:"input-wrapper"},Fe=["placeholder"],Pe={class:"input-wrapper"},Ee={class:"input-wrapper"},Ve={key:0,class:"policy-para"},qe=["innerHTML"],Le={__name:"Step2",props:{step2:Object,address:String,unit:String},emits:["next"],setup(s,{emit:p}){const h=L.commonData.disclaimer,r=p,l=y(!1),u=O(()=>{const v=s.step2.nameRequired&&(!n.firstName||!n.lastName);return h&&!l.value||!n.account||!n.phoneNumber||v}),n=H({firstName:"",lastName:"",account:"",phoneNumber:""}),a=H({accountMsg:"",phoneNumberMsg:""}),d=/^([a-z0-9]+\+)?[a-z0-9.'\-_]+@[a-z0-9\-_]+\.[a-z0-9.\-]+$/i,C=/^\d{3}-?\d{3}-?\d{4}$/;async function $(){const v={account:n.account},o=await F.get("/register/hasUser",{data:v});o.status.code===210003?(ne(()=>{_()},n.account,"login"),q.toast(o.status.msg,3e3)):x()}function _(){r("next")}async function x(){var o;const v=await F.get(`/register/phoneValidate?phoneNumber=${n.phoneNumber}`);if(v.status.code===0){const c={firstName:n.firstName,lastName:n.lastName,account:n.account,phoneNumber:n.phoneNumber,roles:"1"};(o=(await F.post("/register/leadRegister",{data:c})).data)!=null&&o.user&&(q.toast("Registered Successfully",2e3),await L.getCommonInfo(),_())}else a.phoneNumber=v.status.msg,i()}function b(){if(!u.value){if(!d.test(n.account)){a.accountMsg="Email invalid",i();return}if(!C.test(n.phoneNumber)){a.phoneNumberMsg="Please enter a valid phone number format.",i();return}$()}}function i(){setTimeout(()=>{Object.keys(a).forEach(v=>{a[v]=""})},3e3)}return(v,o)=>(m(),g("div",we,[t("div",ke,[R(Q,{address:s.address},null,8,["address"])]),t("div",xe,[e(B)?k("",!0):(m(),g("div",Ne,f(s.step2.title),1)),e(B)?k("",!0):(m(),g("div",Se,f(s.step2.desc),1)),t("div",Ce,[t("div",Me,[t("div",Re,[w(t("input",{"onUpdate:modelValue":o[0]||(o[0]=c=>e(n).firstName=c),placeholder:`First Name${s.step2.nameRequired?" *":""}`,type:"text"},null,8,Ie),[[U,e(n).firstName]])]),t("div",Ue,[w(t("input",{"onUpdate:modelValue":o[1]||(o[1]=c=>e(n).lastName=c),placeholder:`Last Name${s.step2.nameRequired?" *":""}`,type:"text"},null,8,Fe),[[U,e(n).lastName]])])]),t("div",Pe,[w(t("input",{"onUpdate:modelValue":o[2]||(o[2]=c=>e(n).account=c),inputmode:"email",class:N([{error:e(a).accountMsg},"mt10"]),placeholder:"Email *",type:"text"},null,2),[[U,e(n).account]]),w(t("span",null,f(e(a).accountMsg),513),[[P,e(a).accountMsg]])]),t("div",Ee,[w(t("input",{"onUpdate:modelValue":o[3]||(o[3]=c=>e(n).phoneNumber=c),inputmode:"tel",class:N([{error:e(a).phoneNumberMsg},"mt10"]),placeholder:"Phone *",type:"text"},null,2),[[U,e(n).phoneNumber]]),w(t("span",null,f(e(a).phoneNumberMsg),513),[[P,e(a).phoneNumberMsg]])]),e(h)?(m(),g("div",Ve,[R(se,{modelValue:e(l),"onUpdate:modelValue":o[4]||(o[4]=c=>D(l)?l.value=c:null)},null,8,["modelValue"]),t("span",{innerHTML:e(h),class:"policy-text"},null,8,qe)])):k("",!0),t("div",{class:N(["lofty-btn next-btn",{disabled:e(u)}]),onClick:b},"Next",2)])])]))}},je={class:"lofty-home-valuation-step3"},Te={class:"home-map-container"},ze={class:"home-report-result"},Ae={class:"address-info"},De={class:"address-detail"},He={class:"street"},Je={class:"report-info"},Oe={key:0,class:"result-detail"},Be={class:"step3-title"},Ze={class:"price-result"},Qe={class:"house-price"},Ye={class:"price-change"},Ge={class:"min-max-container"},Ke={class:"price-wrapper"},We={class:"money"},Xe={class:"price-wrapper"},et={class:"money"},tt={class:"last-30"},st={key:0,class:"price-trend"},nt={class:"money"},ot={key:1},at={key:1,class:"thank-you"},lt={key:0,class:"agent-info"},it=["src"],rt={class:"agent-detail"},ct={class:"agent-name"},ut=["href"],dt=["href"],mt={__name:"Step3",props:{step3:Object,submitJs:String},setup(s){const p=Z(),h=y(decodeURIComponent(p.address||""));let r=p.evaluationId||0;const[l,u]=[y(""),y("")];_(),r===0&&q.executeSubmitJS(s.submitJs);const n=y({}),a=y({}),d=O(()=>+a.value.minus30Zestimate?+a.value.housePrice-+a.value.minus30Zestimate:0),C=O(()=>d.value?`${(100*d.value/+a.value.minus30Zestimate).toFixed(2)}%`:0),$=y(!0);async function _(){const b={address:h.value,unit:decodeURIComponent(p.unit||""),isTimeLine:r?"1":"0",useEvaluation:s.step3.autoValuation?"1":"0"};r&&(b.evaluationId=r);const i=await F.get("/evaluation/report-json",{data:b});$.value=!1,r=i.data.evaluationId,l.value=i.data.listing.streetAddress||"-",u.value=i.data.listing.cityAddress,h.value=`${l.value}${u.value}`,n.value=i.data.agentInfo,i.data.hasReport?a.value=i.data.report:s.step3.autoValuation=!1,x()}function x(){const b=new URL(window.location.href);b.searchParams.set("address",encodeURIComponent(h.value)),b.searchParams.set("evaluationId",r),window.history.replaceState({},"",b)}return(b,i)=>(m(),g("div",je,[R(ae,{loading:e($)},null,8,["loading"]),w(t("div",Te,[R(Q,{address:e(h)},null,8,["address"])],512),[[P,!e($)]]),w(t("div",ze,[t("div",Ae,[i[0]||(i[0]=t("i",{class:"lofty_iconfont lofty-icon-location_02"},null,-1)),t("div",De,[t("div",He,f(e(l)),1),t("div",null,f(e(u)),1)])]),t("div",Je,[s.step3.autoValuation?(m(),g("div",Oe,[t("div",Be,f(s.step3.title),1),t("div",Ze,[t("div",Qe,f(e(T)(e(a).housePrice,null,2,"$")),1),R(oe,null,{trigger:J(()=>i[1]||(i[1]=[t("span",{class:"lofty_iconfont lofty-icon-help"},null,-1)])),content:J(()=>i[2]||(i[2]=[t("span",{class:"help-tip"}," The estimated price is fetched from a 3rd party vendor. ",-1)])),_:1})]),t("div",Ye,[t("div",null,[i[6]||(i[6]=t("div",{class:"label-title"},"Price Range:",-1)),t("div",Ge,[t("div",Ke,[i[3]||(i[3]=t("i",{class:"lofty_iconfont lofty-icon-trend-down"},null,-1)),t("div",We,f(e(T)(e(a).houseLow,null,2,"$")),1)]),i[5]||(i[5]=t("span",null,"-",-1)),t("div",Xe,[i[4]||(i[4]=t("i",{class:"lofty_iconfont lofty-icon-trend-up"},null,-1)),t("div",et,f(e(T)(e(a).houseHigh,null,2,"$")),1)])])]),t("div",tt,[i[7]||(i[7]=t("div",{class:"label-title"},"Last 30-day change:",-1)),e(d)?(m(),g("div",st,[t("div",nt,f(e(d)>0?"+":"-")+f(e(T)(e(d),null,2,"$")),1),t("div",{class:N(["lofty_iconfont",e(d)>0?"lofty-icon-arrow_03_up":"lofty-icon-arrow_04_down"])},null,2),t("span",{class:N(e(d)>0?"up":"down")},f(e(C)),3)])):(m(),g("div",ot,"--"))])])])):(m(),g("div",at,f(s.step3.thankYou),1))]),e(n).agentId?(m(),g("div",lt,[t("img",{src:e(n).image,alt:""},null,8,it),t("div",rt,[t("div",ct,f(e(n).fullName),1),t("a",{href:`tel:${e(n).phone}`,class:"agent-phone"},f(e(n).phone),9,ut),t("a",{href:`mailto:${e(n).email}`,class:"agent-email"},f(e(n).email),9,dt)])])):k("",!0)],512),[[P,!e($)]])]))}},pt={class:"lofty-home-valuation-content"},ft=["src"],ht={class:"step-progress"},vt={class:"title"},gt={class:"desc"},_t={__name:"index",props:{imgUrl:String,config:Object,submitJs:String},setup(s){const{step1:p,step2:h,step3:r}=s.config;q.getHereMapPs();const l=y(1),u=Z(),n=y(decodeURIComponent(u.address||"")),a=y(decodeURIComponent(u.unit||""));u.evaluationId&&(u.isPopup==="0"||L.loginStatus.value?l.value=3:l.value=2);function d($,_){n.value=$,a.value=_;const x=new URL(window.location.href);x.searchParams.set("address",encodeURIComponent($)),x.searchParams.set("unit",encodeURIComponent(_)),window.history.replaceState({},"",x),L.loginStatus.value?l.value=3:l.value=2}function C(){l.value=3}return($,_)=>(m(),g("div",pt,[s.imgUrl?(m(),g("img",{key:0,class:"lofty-home-valuation-bg",src:s.imgUrl,alt:""},null,8,ft)):k("",!0),_[3]||(_[3]=t("div",{class:"img-mask"},null,-1)),t("div",ht,[t("div",{class:N(["step-block",{active:e(l)===1}])},_[0]||(_[0]=[t("div",{class:"step-num has-line"},"1",-1),t("div",{class:"step-desc"},"Enter Property Address",-1)]),2),t("div",{class:N(["step-block",{active:e(l)===2}])},_[1]||(_[1]=[t("div",{class:"step-num has-line"},"2",-1),t("div",{class:"step-desc"},"Property Details",-1)]),2),t("div",{class:N(["step-block",{active:e(l)===3}])},_[2]||(_[2]=[t("div",{class:"step-num"},"3",-1),t("div",{class:"step-desc"},"Property Valuation",-1)]),2)]),t("div",vt,f(e(p).title),1),t("div",gt,f(e(p).desc),1),e(l)===1?(m(),z(_e,{key:1,onNext:d,step1:e(p)},null,8,["step1"])):k("",!0),e(l)===2?(m(),z(Le,{key:2,onNext:C,step2:e(h),address:e(n),unit:e(a)},null,8,["step2","address","unit"])):k("",!0),e(l)===3?(m(),z(mt,{key:3,step3:e(r),submitJs:s.submitJs},null,8,["step3","submitJs"])):k("",!0)]))}};jQuery(".lofty-home-valuation-page").ready(function(){const s=document.querySelectorAll(".lofty-home-valuation-page");L.initState(()=>{s.forEach(p=>{const h=p.getAttribute("id"),r=X(h);re(r);const{$:l,getModuleData:u}=r,{config:n,imgUrl:a,submitJs:d}=u();W(_t,{config:n,imgUrl:a,submitJs:d}).mount(l("#lofty-home-valuation-container"))})})});
     1import{u as q,h as F,_ as Y,i as B,g as Z}from"./_plugin-vue_export-helper.bB-lvPOu.js";import{r as y,o as m,g,e as t,q as w,v as U,u as e,s as D,z as V,x as P,j as k,F as G,h as K,t as f,y as N,a as H,d as z,w as J,m as R,c as O,D as W}from"./vendor.DSMCY3-_.js";import{c as X}from"./module.CKjUdtPN.js";import{u as L}from"./user.B_wb9Yeq.js";import{_ as ee}from"./index.D1LZflJ-.js";import{M as te}from"./icon.CxDQPYyM.js";import{C as se}from"./google.COqmJ1I4.js";import{s as ne}from"./index.B6VbAP4g.js";import{n as T}from"./number-format.CLdvQh6j.js";import{T as oe}from"./tooltip.D1TTPwD5.js";import{_ as ae}from"./index.DAwEVGKX.js";import"./marker.IEnWk-Xb.js";import"./index.BPxU_3zo.js";import"./outsideclick.Bw_hMuzW.js";const le={};function ie(s){return s.getModuleData(),{...{module:s},...{}}}function re(s){le[s.id]=ie(s)}const ce={class:"lofty-home-valuation-step1"},ue={class:"address-body"},de={class:"address-input-container"},me=["placeholder"],pe={class:"error-tip"},fe={class:"autocomplete"},he=["onClick"],ve=["innerHTML"],ge={key:0,class:"shu-line"},_e={__name:"Step1",props:{step1:Object},emits:["next"],setup(s,{emit:p}){const h=p,r=y(""),l=y(""),u=y(!1),n=y([]),a=q.debounce(async function(v){if(!v.target.value)return;const o={query:v.target.value,country:"usa",beginHighlight:encodeURIComponent("<mark>"),endHighlight:encodeURIComponent("</mark>")},S=(await F.get("/search/home-j/here-api/autoSuggest",{data:o})).data,I=[];for(let M=0,j=0,E=S.length;j<5&&M<E;M++){let A=_(S[M]);A&&I.indexOf(A)===-1&&(I.push(A),j++)}n.value=I,u.value=!0}),d=y(!1);function C(){if(!r.value){d.value=!0,setTimeout(()=>{d.value=!1},3e3);return}h("next",r.value,l.value)}function $(v){r.value=v,u.value=!1}function _(v){let o=v.address,c=x(o,["houseNumber","street"])+x(o,["city"]);return c?decodeURIComponent(c+x(o,["state","postalCode"],!1)):null}function x(v,o,c){let S=[],I="";for(let M=0,j=o.length;M<j;M++){let E=v[o[M]];E&&I!==E&&S.push(I=E)}return S.length?S.join(" ")+(c===!1?"":", "):""}function b(){u.value=!1}function i(){r.value="",u.value=!1}return(v,o)=>(m(),g("div",ce,[t("div",ue,[t("div",de,[w(t("input",{class:"address-input","onUpdate:modelValue":o[0]||(o[0]=c=>D(r)?r.value=c:null),type:"text",placeholder:s.step1.placeholder,onMousedown:o[1]||(o[1]=V(()=>{},["stop"])),onDblclick:o[2]||(o[2]=V(()=>{},["stop"])),onFocus:V(b,["stop"]),onTouchstart:V(b,["stop"]),onInput:o[3]||(o[3]=V((...c)=>e(a)&&e(a)(...c),["stop"]))},null,40,me),[[U,e(r)]]),w(t("div",pe,"A valid address is required to continue",512),[[P,e(d)]]),e(r)?(m(),g("i",{key:0,class:"lofty_iconfont lofty-icon-close",onClick:i})):k("",!0),w(t("ul",fe,[(m(!0),g(G,null,K(e(n),c=>(m(),g("li",{key:c,class:"item",onClick:S=>$(c)},[o[5]||(o[5]=t("i",{class:"lofty_iconfont lofty-icon-location_02"},null,-1)),t("span",{innerHTML:c},null,8,ve)],8,he))),128))],512),[[P,e(n).length>0&&e(u)]])]),s.step1.showUnit?(m(),g("div",ge)):k("",!0),s.step1.showUnit?w((m(),g("input",{key:1,"onUpdate:modelValue":o[4]||(o[4]=c=>D(l)?l.value=c:null),class:"unit-input",placeholder:"Unit"},null,512)),[[U,e(l)]]):k("",!0),t("div",{class:"lofty-btn lofty-next-btn",onClick:C},f(s.step1.buttonText),1)])]))}},ye={props:{map:Object},data(){return{fullscreen:!1}},methods:{handler(){this.fullscreen?this.exitFullscreen():this.fullScreen(this.map.getElement().parentElement.parentElement),this.fullscreen=!this.fullscreen},fullScreen(s){s.requestFullscreen?s.requestFullscreen():s.msRequestFullscreen?s.msRequestFullscreen():s.mozRequestFullScreen?s.mozRequestFullScreen():s.webkitRequestFullscreen&&s.webkitRequestFullscreen()},exitFullscreen(){document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()}}};function be(s,p,h,r,l,u){return m(),g("i",{class:N(["lofty_iconfont fullscreen-tool",l.fullscreen?"lofty-icon-exit-fullscreen":"lofty-icon-a-fullscreen"]),onClick:p[0]||(p[0]=(...n)=>u.handler&&u.handler(...n))},null,2)}const $e=Y(ye,[["render",be]]),Q={__name:"StepMap",props:{address:String},setup(s){l();const p={zoom:14,center:{lat:0,lng:0}},h=y(!1),r=H({name:s.address,lat:0,lng:0,icon:"lofty-icon-location_02",iconColor:"rgba(240, 69, 76, 1)"});async function l(){const a={query:s.address},{data:d}=await F.get("/search/home-j/here-api/geoPoint",{data:a});d&&d.lng&&(p.center.lng=d.lng,p.center.lat=d.lat,r.lat=d.lat,r.lng=d.lng,h.value=!0)}const u=y(null);function n(a){u.value=a}return(a,d)=>e(h)?(m(),z(ee,{key:0,class:"step-map-container",config:p,onInit:n},{default:J(()=>[R($e,{class:"map-tool",map:e(u)},null,8,["map"]),R(te,{data:e(r),map:e(u)},null,8,["data","map"])]),_:1})):k("",!0)}},we={class:"lofty-home-valuation-step2"},ke={class:"home-map-container"},xe={class:"lofty-property-form"},Ne={key:0,class:"step2-title"},Se={key:1,class:"step2-desc"},Ce={class:"form-wrap"},Me={class:"form-name"},Re={class:"input-wrapper"},Ie=["placeholder"],Ue={class:"input-wrapper"},Fe=["placeholder"],Pe={class:"input-wrapper"},Ee={class:"input-wrapper"},Ve={key:0,class:"policy-para"},qe=["innerHTML"],Le={__name:"Step2",props:{step2:Object,address:String,unit:String},emits:["next"],setup(s,{emit:p}){const h=L.commonData.disclaimer,r=p,l=y(!1),u=O(()=>{const v=s.step2.nameRequired&&(!n.firstName||!n.lastName);return h&&!l.value||!n.account||!n.phoneNumber||v}),n=H({firstName:"",lastName:"",account:"",phoneNumber:""}),a=H({accountMsg:"",phoneNumberMsg:""}),d=/^([a-z0-9]+\+)?[a-z0-9.'\-_]+@[a-z0-9\-_]+\.[a-z0-9.\-]+$/i,C=/^\d{3}-?\d{3}-?\d{4}$/;async function $(){const v={account:n.account},o=await F.get("/register/hasUser",{data:v});o.status.code===210003?(ne(()=>{_()},n.account,"login"),q.toast(o.status.msg,3e3)):x()}function _(){r("next")}async function x(){var o;const v=await F.get(`/register/phoneValidate?phoneNumber=${n.phoneNumber}`);if(v.status.code===0){const c={firstName:n.firstName,lastName:n.lastName,account:n.account,phoneNumber:n.phoneNumber,roles:"1"};(o=(await F.post("/register/leadRegister",{data:c})).data)!=null&&o.user&&(q.toast("Registered Successfully",2e3),await L.getCommonInfo(),_())}else a.phoneNumber=v.status.msg,i()}function b(){if(!u.value){if(!d.test(n.account)){a.accountMsg="Email invalid",i();return}if(!C.test(n.phoneNumber)){a.phoneNumberMsg="Please enter a valid phone number format.",i();return}$()}}function i(){setTimeout(()=>{Object.keys(a).forEach(v=>{a[v]=""})},3e3)}return(v,o)=>(m(),g("div",we,[t("div",ke,[R(Q,{address:s.address},null,8,["address"])]),t("div",xe,[e(B)?k("",!0):(m(),g("div",Ne,f(s.step2.title),1)),e(B)?k("",!0):(m(),g("div",Se,f(s.step2.desc),1)),t("div",Ce,[t("div",Me,[t("div",Re,[w(t("input",{"onUpdate:modelValue":o[0]||(o[0]=c=>e(n).firstName=c),placeholder:`First Name${s.step2.nameRequired?" *":""}`,type:"text"},null,8,Ie),[[U,e(n).firstName]])]),t("div",Ue,[w(t("input",{"onUpdate:modelValue":o[1]||(o[1]=c=>e(n).lastName=c),placeholder:`Last Name${s.step2.nameRequired?" *":""}`,type:"text"},null,8,Fe),[[U,e(n).lastName]])])]),t("div",Pe,[w(t("input",{"onUpdate:modelValue":o[2]||(o[2]=c=>e(n).account=c),inputmode:"email",class:N([{error:e(a).accountMsg},"mt10"]),placeholder:"Email *",type:"text"},null,2),[[U,e(n).account]]),w(t("span",null,f(e(a).accountMsg),513),[[P,e(a).accountMsg]])]),t("div",Ee,[w(t("input",{"onUpdate:modelValue":o[3]||(o[3]=c=>e(n).phoneNumber=c),inputmode:"tel",class:N([{error:e(a).phoneNumberMsg},"mt10"]),placeholder:"Phone *",type:"text"},null,2),[[U,e(n).phoneNumber]]),w(t("span",null,f(e(a).phoneNumberMsg),513),[[P,e(a).phoneNumberMsg]])]),e(h)?(m(),g("div",Ve,[R(se,{modelValue:e(l),"onUpdate:modelValue":o[4]||(o[4]=c=>D(l)?l.value=c:null)},null,8,["modelValue"]),t("span",{innerHTML:e(h),class:"policy-text"},null,8,qe)])):k("",!0),t("div",{class:N(["lofty-btn next-btn",{disabled:e(u)}]),onClick:b},"Next",2)])])]))}},je={class:"lofty-home-valuation-step3"},Te={class:"home-map-container"},ze={class:"home-report-result"},Ae={class:"address-info"},De={class:"address-detail"},He={class:"street"},Je={class:"report-info"},Oe={key:0,class:"result-detail"},Be={class:"step3-title"},Ze={class:"price-result"},Qe={class:"house-price"},Ye={class:"price-change"},Ge={class:"min-max-container"},Ke={class:"price-wrapper"},We={class:"money"},Xe={class:"price-wrapper"},et={class:"money"},tt={class:"last-30"},st={key:0,class:"price-trend"},nt={class:"money"},ot={key:1},at={key:1,class:"thank-you"},lt={key:0,class:"agent-info"},it=["src"],rt={class:"agent-detail"},ct={class:"agent-name"},ut=["href"],dt=["href"],mt={__name:"Step3",props:{step3:Object,submitJs:String},setup(s){const p=Z(),h=y(decodeURIComponent(p.address||""));let r=p.evaluationId||0;const[l,u]=[y(""),y("")];_(),r===0&&q.executeSubmitJS(s.submitJs);const n=y({}),a=y({}),d=O(()=>+a.value.minus30Zestimate?+a.value.housePrice-+a.value.minus30Zestimate:0),C=O(()=>d.value?`${(100*d.value/+a.value.minus30Zestimate).toFixed(2)}%`:0),$=y(!0);async function _(){const b={address:h.value,unit:decodeURIComponent(p.unit||""),isTimeLine:r?"1":"0",useEvaluation:s.step3.autoValuation?"1":"0"};r&&(b.evaluationId=r);const i=await F.get("/evaluation/report-json",{data:b});$.value=!1,r=i.data.evaluationId,l.value=i.data.listing.streetAddress||"-",u.value=i.data.listing.cityAddress,h.value=`${l.value}${u.value}`,n.value=i.data.agentInfo,i.data.hasReport?a.value=i.data.report:s.step3.autoValuation=!1,x()}function x(){const b=new URL(window.location.href);b.searchParams.set("address",encodeURIComponent(h.value)),b.searchParams.set("evaluationId",r),window.history.replaceState({},"",b)}return(b,i)=>(m(),g("div",je,[R(ae,{loading:e($)},null,8,["loading"]),w(t("div",Te,[R(Q,{address:e(h)},null,8,["address"])],512),[[P,!e($)]]),w(t("div",ze,[t("div",Ae,[i[0]||(i[0]=t("i",{class:"lofty_iconfont lofty-icon-location_02"},null,-1)),t("div",De,[t("div",He,f(e(l)),1),t("div",null,f(e(u)),1)])]),t("div",Je,[s.step3.autoValuation?(m(),g("div",Oe,[t("div",Be,f(s.step3.title),1),t("div",Ze,[t("div",Qe,f(e(T)(e(a).housePrice,null,2,"$")),1),R(oe,null,{trigger:J(()=>i[1]||(i[1]=[t("span",{class:"lofty_iconfont lofty-icon-help"},null,-1)])),content:J(()=>i[2]||(i[2]=[t("span",{class:"help-tip"}," The estimated price is fetched from a 3rd party vendor. ",-1)])),_:1})]),t("div",Ye,[t("div",null,[i[6]||(i[6]=t("div",{class:"label-title"},"Price Range:",-1)),t("div",Ge,[t("div",Ke,[i[3]||(i[3]=t("i",{class:"lofty_iconfont lofty-icon-trend-down"},null,-1)),t("div",We,f(e(T)(e(a).houseLow,null,2,"$")),1)]),i[5]||(i[5]=t("span",null,"-",-1)),t("div",Xe,[i[4]||(i[4]=t("i",{class:"lofty_iconfont lofty-icon-trend-up"},null,-1)),t("div",et,f(e(T)(e(a).houseHigh,null,2,"$")),1)])])]),t("div",tt,[i[7]||(i[7]=t("div",{class:"label-title"},"Last 30-day change:",-1)),e(d)?(m(),g("div",st,[t("div",nt,f(e(d)>0?"+":"-")+f(e(T)(e(d),null,2,"$")),1),t("div",{class:N(["lofty_iconfont",e(d)>0?"lofty-icon-arrow_03_up":"lofty-icon-arrow_04_down"])},null,2),t("span",{class:N(e(d)>0?"up":"down")},f(e(C)),3)])):(m(),g("div",ot,"--"))])])])):(m(),g("div",at,f(s.step3.thankYou),1))]),e(n).agentId?(m(),g("div",lt,[t("img",{src:e(n).image,alt:""},null,8,it),t("div",rt,[t("div",ct,f(e(n).fullName),1),t("a",{href:`tel:${e(n).phone}`,class:"agent-phone"},f(e(n).phone),9,ut),t("a",{href:`mailto:${e(n).email}`,class:"agent-email"},f(e(n).email),9,dt)])])):k("",!0)],512),[[P,!e($)]])]))}},pt={class:"lofty-home-valuation-content"},ft=["src"],ht={class:"step-progress"},vt={class:"title"},gt={class:"desc"},_t={__name:"index",props:{imgUrl:String,config:Object,submitJs:String},setup(s){const{step1:p,step2:h,step3:r}=s.config;q.getHereMapPs();const l=y(1),u=Z(),n=y(decodeURIComponent(u.address||"")),a=y(decodeURIComponent(u.unit||""));u.evaluationId&&(u.isPopup==="0"||L.loginStatus.value?l.value=3:l.value=2);function d($,_){n.value=$,a.value=_;const x=new URL(window.location.href);x.searchParams.set("address",encodeURIComponent($)),x.searchParams.set("unit",encodeURIComponent(_)),window.history.replaceState({},"",x),L.loginStatus.value?l.value=3:l.value=2}function C(){l.value=3}return($,_)=>(m(),g("div",pt,[s.imgUrl?(m(),g("img",{key:0,class:"lofty-home-valuation-bg",src:s.imgUrl,alt:""},null,8,ft)):k("",!0),_[3]||(_[3]=t("div",{class:"img-mask"},null,-1)),t("div",ht,[t("div",{class:N(["step-block",{active:e(l)===1}])},_[0]||(_[0]=[t("div",{class:"step-num has-line"},"1",-1),t("div",{class:"step-desc"},"Enter Property Address",-1)]),2),t("div",{class:N(["step-block",{active:e(l)===2}])},_[1]||(_[1]=[t("div",{class:"step-num has-line"},"2",-1),t("div",{class:"step-desc"},"Property Details",-1)]),2),t("div",{class:N(["step-block",{active:e(l)===3}])},_[2]||(_[2]=[t("div",{class:"step-num"},"3",-1),t("div",{class:"step-desc"},"Property Valuation",-1)]),2)]),t("div",vt,f(e(p).title),1),t("div",gt,f(e(p).desc),1),e(l)===1?(m(),z(_e,{key:1,onNext:d,step1:e(p)},null,8,["step1"])):k("",!0),e(l)===2?(m(),z(Le,{key:2,onNext:C,step2:e(h),address:e(n),unit:e(a)},null,8,["step2","address","unit"])):k("",!0),e(l)===3?(m(),z(mt,{key:3,step3:e(r),submitJs:s.submitJs},null,8,["step3","submitJs"])):k("",!0)]))}};jQuery(".lofty-home-valuation-page").ready(function(){const s=document.querySelectorAll(".lofty-home-valuation-page");L.initState(()=>{s.forEach(p=>{const h=p.getAttribute("id"),r=X(h);re(r);const{$:l,getModuleData:u}=r,{config:n,imgUrl:a,submitJs:d}=u();W(_t,{config:n,imgUrl:a,submitJs:d}).mount(l("#lofty-home-valuation-container"))})})});
  • lofty-idx/trunk/assets/index10.css

    r3291483 r3333213  
    1 .pop-mask{position:fixed;left:0;top:0;width:100%;height:100%;background-color:#0009;z-index:299900}.pop-mask.active{display:block}.pop-out-close{position:fixed;z-index:300005;top:30px;right:30px;font-size:14px;color:#fff;width:40px;height:40px;line-height:40px;text-align:center;background:#00000080;border-radius:50%;cursor:pointer}.pop-out-close:hover{color:#fff;background:#fff6}.pop{position:fixed;top:0;left:0;z-index:300000;max-height:100%;max-width:100%}.pop .lofty-icon-close{position:absolute;right:20px;top:20px;width:20px;height:20px;cursor:pointer;transform:translateZ(0)}.pop .lofty-icon-close:before{position:absolute;font-size:14px;color:#515666;top:50%;left:50%;transform:translate(-50%,-50%)}.pop.sign-log .lofty-icon-close{top:10px;right:10px}@media (max-width: 600px){.pop{width:100%}.pop.sign-log{width:calc(100% - 30px)}}.pop.fadeIn{top:50%;left:50%;transform:translate(-50%,-50%)}.pop.fadeIn-enter-active,.pop.fadeIn-leave-active{transition:opacity .2s ease}.pop.fadeIn-enter,.pop.fadeIn-leave-to{opacity:0}.pop.bottomToUp{top:auto;left:50%;bottom:0;transform:translate(-50%)}.pop.bottomToUp-enter-active,.pop.bottomToUp-leave-active{transition:transform ease .2s}.pop.bottomToUp-enter,.pop.bottomToUp-leave-to{transform:translate(-50%,100%)}.pop.leftToRight{top:50%;left:0;right:auto;transform:translateY(-50%)}.pop.leftToRight-enter-active,.pop.leftToRight-leave-active{transition:transform ease .2s}.pop.leftToRight-enter,.pop.leftToRight-leave-to{transform:translate(-100%,-50%)}.pop.fadeInRight{top:50%;left:auto;right:0;transform:translateY(-50%)}.pop.fadeInRight-enter-active,.pop.fadeInRight-leave-active{transition:transform ease .2s}.pop.fadeInRight-enter,.pop.fadeInRight-leave-to{transform:translate(100%,-50%)}.pop.scale{top:50%;left:50%;transform:translate(-50%,-50%) scale(1);opacity:1;transition:all ease .2s}.pop.scale-enter-active,.pop.scale-leave-active{transition:all ease .2s}.pop.scale-enter{transform:translate(-50%,-50%) scale(.6);opacity:1}.pop.scale-leave-to{transform:translate(-50%,-50%) scale(1);opacity:0}
     1.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.popper{z-index:99999}.popper .arrow,.popper .arrow:before{position:absolute;width:8px;height:8px;background:inherit}.popper .arrow{visibility:hidden}.popper .arrow:before{visibility:visible;content:"";transform:rotate(45deg);border:1px solid;border-color:inherit}.popper[data-popper-placement^=top]>.arrow{bottom:-4px;border-top-color:transparent;border-left-color:transparent}.popper[data-popper-placement^=bottom]>.arrow{top:-4px;border-right-color:transparent;border-bottom-color:transparent}.popper[data-popper-placement^=left]>.arrow{right:-4px;border-left-color:transparent;border-bottom-color:transparent}.popper[data-popper-placement^=right]>.arrow{left:-4px;border-top-color:transparent;border-right-color:transparent}
  • lofty-idx/trunk/assets/index11.css

    r3291483 r3333213  
    1 .lofty-dropdown{display:flex;align-items:center;position:relative;border-radius:var(--3104eb64)}.lofty-dropdown:hover{border-color:var(--fcfe897a)}.lofty-dropdown .reverse{display:inline-block;transform:rotate(180deg)}.lofty-dropdown .trigger{display:flex;justify-content:space-between;align-items:center}.lofty-dropdown .lofty-menu{padding:10px;box-sizing:border-box;box-shadow:0 4px 30px #0000001a;border-radius:0;z-index:10030;background:#fff;position:absolute;float:unset;height:unset}@media (max-width: 600px){.lofty-dropdown .lofty-menu{min-width:240px}}@media (max-width: 600px){.lofty-dropdown .lofty-menu-fixed{position:fixed!important;width:100vw!important;bottom:0!important;left:0;top:unset!important;right:unset!important;transition:all .5s ease;transform:translateY(100%)}.lofty-dropdown .lofty-menu-fixed.isOpen{transform:translateY(0)}}.lofty-dropdown .lofty_iconfont{font-size:10px;font-weight:700;color:#1e1e1e}.lofty-dropdown .float-right{float:right}
     1.pop-mask{position:fixed;left:0;top:0;width:100%;height:100%;background-color:#0009;z-index:299900}.pop-mask.active{display:block}.pop-out-close{position:fixed;z-index:300005;top:30px;right:30px;font-size:14px;color:#fff;width:40px;height:40px;line-height:40px;text-align:center;background:#00000080;border-radius:50%;cursor:pointer}.pop-out-close:hover{color:#fff;background:#fff6}.pop{position:fixed;top:0;left:0;z-index:300000;max-height:100%;max-width:100%}.pop .lofty-pop-close-icon{position:absolute;right:20px;top:20px;width:20px;height:20px;cursor:pointer;transform:translateZ(0)}.pop .lofty-pop-close-icon:before{position:absolute;font-size:14px;color:#515666;top:50%;left:50%;transform:translate(-50%,-50%)}.pop.sign-log .lofty-icon-close{top:10px;right:10px}@media (max-width: 600px){.pop{width:100%}.pop.sign-log{width:calc(100% - 30px)}}.pop.fadeIn{top:50%;left:50%;transform:translate(-50%,-50%)}.pop.fadeIn-enter-active,.pop.fadeIn-leave-active{transition:opacity .2s ease}.pop.fadeIn-enter,.pop.fadeIn-leave-to{opacity:0}.pop.bottomToUp{top:auto;left:50%;bottom:0;transform:translate(-50%)}.pop.bottomToUp-enter-active,.pop.bottomToUp-leave-active{transition:transform ease .2s}.pop.bottomToUp-enter,.pop.bottomToUp-leave-to{transform:translate(-50%,100%)}.pop.leftToRight{top:50%;left:0;right:auto;transform:translateY(-50%)}.pop.leftToRight-enter-active,.pop.leftToRight-leave-active{transition:transform ease .2s}.pop.leftToRight-enter,.pop.leftToRight-leave-to{transform:translate(-100%,-50%)}.pop.fadeInRight{top:50%;left:auto;right:0;transform:translateY(-50%)}.pop.fadeInRight-enter-active,.pop.fadeInRight-leave-active{transition:transform ease .2s}.pop.fadeInRight-enter,.pop.fadeInRight-leave-to{transform:translate(100%,-50%)}.pop.scale{top:50%;left:50%;transform:translate(-50%,-50%) scale(1);opacity:1;transition:all ease .2s}.pop.scale-enter-active,.pop.scale-leave-active{transition:all ease .2s}.pop.scale-enter{transform:translate(-50%,-50%) scale(.6);opacity:1}.pop.scale-leave-to{transform:translate(-50%,-50%) scale(1);opacity:0}
  • lofty-idx/trunk/assets/index6.css

    r3291483 r3333213  
    1 .lofty-loadEffect{width:80px;height:80px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lofty-loadEffect .dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#191919;position:absolute;-webkit-animation:load .56s ease infinite}@-webkit-keyframes load{0%{opacity:1}to{opacity:.2}}.lofty-loadEffect .dot:nth-child(1){left:0;top:50%;margin-top:-10px}.lofty-loadEffect .dot:nth-child(2){left:10px;top:10px;-webkit-animation-delay:80ms}.lofty-loadEffect .dot:nth-child(3){left:50%;top:0;margin-left:-7px;-webkit-animation-delay:.16s}.lofty-loadEffect .dot:nth-child(4){top:10px;right:10px;-webkit-animation-delay:.24s}.lofty-loadEffect .dot:nth-child(5){right:0;top:50%;margin-top:-10px;-webkit-animation-delay:.32s}.lofty-loadEffect .dot:nth-child(6){right:10px;bottom:14px;-webkit-animation-delay:.4s}.lofty-loadEffect .dot:nth-child(7){bottom:4px;left:50%;margin-left:-7px;-webkit-animation-delay:.48s}.lofty-loadEffect .dot:nth-child(8){bottom:14px;left:10px;-webkit-animation-delay:.56s}
     1.zoom.standard{width:30px;height:60px;right:20px;bottom:70px}.zoom.standard .zoom-out,.zoom.standard .zoom-in{display:block;width:100%;height:50%;position:relative;background:#fff;border-radius:3px}.zoom.standard .zoom-out:after,.zoom.standard .zoom-in:after{position:absolute;background-color:#191919;content:"";width:14px;height:2px;top:50%;left:50%;transform:translate(-50%,-50%)}.zoom.standard .zoom-out:hover .tip,.zoom.standard .zoom-in:hover .tip{display:block}.zoom.standard .zoom-in{border-bottom-left-radius:0;border-bottom-right-radius:0}.zoom.standard .zoom-in:before{position:absolute;background-color:#191919;content:"";width:2px;height:14px;top:50%;left:50%;transform:translate(-50%,-50%)}.zoom.standard .zoom-in.disabled:after,.zoom.standard .zoom-in.disabled:before{opacity:.4}.zoom.standard .zoom-in.disabled{cursor:not-allowed}.zoom.standard .zoom-out{border-top-left-radius:0;border-top-right-radius:0}.zoom.standard .zoom-out:before{position:absolute;content:"";left:50%;top:0;width:30px;height:1px;background-image:linear-gradient(to left,#fff,#dadce2,#fff);transform:translate(-50%)}.zoom.standard .zoom-out.disabled:after{opacity:.4}.zoom.standard .zoom-out.disabled{cursor:not-allowed}.site-map .nearby.map-tool{width:30px;height:30px;right:20px;bottom:20px;line-height:30px;text-align:center;background-color:#fff;display:flex}.site-map .nearby.map-tool .lofty_iconfont.lofty-icon-locate{margin:auto}.site-map .nearby.map-tool:hover .tip{display:block}.map-type{transition:ease all .2s;box-shadow:0 2px 6px #0003}.map-type .lofty_iconfont{transition:ease all 0s;transition-delay:.2s;position:absolute;left:0;bottom:0;height:40px;width:40px;text-align:center}.map-type .lofty_iconfont:before{font-size:16px;line-height:40px;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.2)}.map-type img{width:40px;height:40px;vertical-align:middle;transition:ease all .2s}.map-type p{position:absolute;left:0;right:0;top:0;bottom:0;color:#fff;font-size:14px;text-align:center;transition:ease all 0s;transition-delay:.2s;display:none;background-color:#0003;font-family:var(--font-medium)}.map-type:hover .lofty_iconfont{display:none}.map-type:hover img{width:80px;height:80px}.map-type:hover p{display:block;line-height:80px}.map-type.roadmap p,.map-type.roadmap .lofty_iconfont:before{color:#202437}.map-type.roadmap p{background-color:transparent}@media (max-width: 600px){.map-type img{width:80px;height:30px}.map-type p{display:block;line-height:30px}.map-type:hover img{width:80px;height:30px}.map-type:hover p{line-height:30px}}.site-map.standard .map-marker{position:absolute;transform:translate(-50%,-50%)}.site-map.standard .map-marker .marker-pop{display:none;position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%);z-index:4}.site-map.standard .map-marker .marker-pop:after{content:"";position:absolute;width:100%;height:12px;left:0;top:100%}.site-map.standard .map-marker .marker-pop.bottom{top:calc(100% + 10px);bottom:auto}.site-map.standard .map-marker .marker-pop.bottom:after{top:-12px}.site-map.standard .map-marker.active{z-index:2}.site-map.standard .map-marker.active .marker-pop{display:block}.site-map.standard .map-marker:hover{z-index:2}@media (min-width: 801px){.site-map.standard .map-marker:hover .marker-pop{display:block}}.site-map.standard .marker-house .marker-shape{padding:0 10px;line-height:30px;border-radius:20px;font-size:12px;display:block;color:#fff;position:relative;box-shadow:0 4px 8px #000a1e33;white-space:nowrap;background-color:var(--lofty-map-point-bgColor, #191919)}.site-map.standard .marker-house .marker-shape.highlight{background-color:var("#29335d", #03c9ff)}.site-map.standard .marker-house .marker-shape.highlight:before{border-top:7px solid var("#29335d", #03c9ff)}.site-map.standard .marker-house .marker-pop{width:350px;max-width:95vw;box-shadow:0 2px 6px #0003;background-color:#fff}.site-map.standard .marker-house .marker-pop a{display:block;padding:10px;text-decoration:none!important}.site-map.standard .marker-house .marker-pop a .house-top{display:flex;padding-bottom:10px}.site-map.standard .marker-house .marker-pop a .house-top .img-container{width:80px;height:60px;flex:none}.site-map.standard .marker-house .marker-pop a .house-top .house-info{margin-left:10px;flex:1;overflow:hidden}.site-map.standard .marker-house .marker-pop a .house-top .house-info .price{font-size:20px;line-height:24px;color:#202437}.site-map.standard .marker-house .marker-pop a .house-top .house-info .info{margin-top:6px;display:flex;align-items:center;font-size:12px;line-height:1;color:#797e8b}.site-map.standard .marker-house .marker-pop a .house-top .house-info .info .desc-span+.desc-span:before{content:"|";display:inline;margin:0 8px}.site-map.standard .marker-house .marker-pop a .house-top .house-info .addr{margin-top:6px;font-size:12px;line-height:13px;color:#a0a3af}.site-map.standard .marker-house .marker-pop a .house-bottom{border-top:1px solid #f0f1f5;padding-top:10px;display:flex}.site-map.standard .marker-house .marker-pop a .house-bottom .detail{flex:1;overflow:hidden}.site-map.standard .marker-house .marker-pop a .house-bottom .detail p{font-size:12px;line-height:1.5;color:#a0a3af}.site-map.standard .marker-house .marker-pop a .house-bottom .house-mls-logo{margin-left:10px;max-width:100px;max-height:36px;flex:none}.site-map.standard .marker-house .marker-pop.multi{padding:0}.site-map.standard .marker-house .marker-pop.multi .house-header{color:#797e8b;line-height:30px;padding:0 10px;border-bottom:1px solid #ebecf1}.site-map.standard .marker-house .marker-pop.multi .house-header .lofty-icon-pinterest:before{color:#999;margin-right:2px}.site-map.standard .marker-house .marker-pop.multi>ul{max-height:210px;overflow:auto}.site-map.standard .marker-house.active .marker-shape{background-color:var(--lofty-map-point-hoverColor, #505050)}.site-map.standard .marker-house.active .marker-shape:before{border-top-color:#323232}.site-map.standard .marker-icon .lofty_iconfont{position:relative;display:block;color:#bbcbd7;z-index:1}.site-map.standard .marker-icon .marker-pop{padding:10px 15px;font-size:13px;border-radius:4px;color:#fff;background-color:#1e2b39e6;white-space:nowrap;box-shadow:0 5px 10px #0006}.site-map.standard .marker-icon .marker-pop .pointer{content:"";display:block;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #323e4a;position:absolute;left:50%;bottom:-6px;transform:translate(-50%)}.site-map.standard .marker-icon .marker-pop.bottom .pointer{border-top:none;border-bottom:7px solid #323e4a;bottom:initial;top:-6px}.site-map.standard .marker-icon.school{width:60px;height:60px;border-radius:50%;background-color:#1919191a;display:flex;align-items:center;justify-content:center}.site-map.standard .marker-icon.school:before{content:"";width:28px;height:28px;background-color:#191919;border-radius:50%;position:absolute;border:solid 1px #fff}.site-map.standard .marker-icon.school .lofty_iconfont{font-size:18px;color:#fff;z-index:10}.site-map.standard .marker-icon.business .lofty_iconfont{color:#ffb300}.site-map.standard .marker-icon.subway .lofty_iconfont:before{font-size:12px;line-height:25px;height:25px;transform:scale(.83);display:inline-block}.site-map.standard .marker-icon.subway .lofty_iconfont:after{background:#2177e4;border-radius:5px}.site-map.standard .marker-icon.location .lofty_iconfont{font-size:40px;color:#5f3808}@media (max-width: 600px){.site-map.standard .marker-icon.location .lofty_iconfont{font-size:30px}}.site-map.standard .marker-school .lofty_iconfont{position:relative;display:block;color:#bbcbd7;z-index:1}.site-map.standard .marker-school .lofty_iconfont .count{position:absolute;width:15px;height:15px;line-height:15px;top:-10px;right:-6px;border-radius:50%;text-align:center;background:#fff}.site-map.standard .marker-school .lofty_iconfont:after{content:"";display:inline-block;width:25px;height:25px;border-radius:50%;border:1px solid #fff;background-color:var(--lofty-map-point-bgColor, #191919);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:-1}.site-map.standard .marker-school .lofty_iconfont:before{font-size:16px;color:#fff}.site-map.standard .marker-school .lofty_iconfont.highlight:after{background-color:var(--lofty-map-point-hoverColor, #505050)}.site-map.standard .marker-school .marker-pop{background-color:#fff;width:250px;padding:0;border:1px solid #ebecf0;box-shadow:0 3px 2px #aabada38}.site-map.standard .marker-school .marker-pop .school-list{max-height:210px;overflow:auto;padding:20px;position:relative}.site-map.standard .marker-school .marker-pop .school-list li{list-style:none}.site-map.standard .marker-school .marker-pop .school-list .info{display:flex}.site-map.standard .marker-school .marker-pop .school-list .info .left{color:#505050;width:100%}.site-map.standard .marker-school .marker-pop .school-list .info .left .name{height:36px;font-size:14px;line-height:1.4;margin-bottom:8px;font-family:SF-UI-Text Bold;display:-webkit-box;white-space:normal;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word;width:160px}.site-map.standard .marker-school .marker-pop .school-list .info .left .tip{font-size:12px;color:#a8a8a8;white-space:nowrap}.site-map.standard .marker-school .marker-pop .school-list .info .right{width:50px;flex-grow:0;flex-shrink:0}.site-map.standard .marker-school .marker-pop .school-list .info .right .rating{width:36px;height:36px;line-height:36px;font-size:18px;text-align:center;border-radius:50%;vertical-align:middle;color:#fff;margin:0 auto 8px;background:#bbcbd7}.site-map.standard .marker-school .marker-pop .school-list .info .right .rating.middle{background:#77b0fd}.site-map.standard .marker-school .marker-pop .school-list .info .right .rating.high{background:#49d975}.site-map.standard .marker-school .marker-pop .school-list .info .right .tip{margin-top:3px;font-size:12px;color:#a8a8a8;white-space:nowrap}.site-map.standard .marker-school .marker-pop .school-list .link{display:block;width:100%;font-size:12px;border-radius:2px;text-align:center;margin-top:20px;padding-top:18px;border-top:1px solid #dcdcdc;cursor:pointer;color:#022448}.site-map.standard .marker-school .marker-pop .school-list .link+.info{margin-top:15px;padding-top:15px;position:relative}.site-map.standard .marker-school .marker-pop .school-list .link+.info:before{content:"";position:absolute;top:0;left:-20px;right:-20px;height:1px;background:#dcdcdc}.site-map.standard .marker-school .marker-pop .school-list .link.novisible{display:none}.site-map.standard .marker-school .marker-pop .pointer{border-top-color:#fff}.site-map.standard .marker-school .marker-pop.bottom .pointer{border-bottom-color:#fff}.site-map.standard .marker-school.active .lofty_iconfont:after{background-color:#042343}.site-map.standard .marker-aggre{font-size:14px;color:#fff;border-radius:50%;text-align:center;background-color:var(--lofty-map-point-bgColor, #191919);box-shadow:0 4px 8px #000a1e33;cursor:pointer}.site-map.standard .marker-aggre .marker-shape{padding-top:100%;height:0}.site-map.standard .marker-aggre .marker-shape .info{margin-top:-50%;line-height:100%;padding:10px;transform:translateY(-50%);display:flex;flex-direction:column}.site-map.standard .marker-aggre.active{background-color:var(--lofty-map-point-hoverColor, #505050)}.site-map.standard .marker-city{white-space:nowrap}.site-map.standard .marker-city .marker-address{padding:8px 12px;border-radius:4px;color:#fff;background-color:#505050;box-shadow:0 4px 8px #000a1e33}.site-map.standard .marker-city .marker-address:before{content:"";width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #505050;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.site-map.standard .marker-city .marker-pop{position:relative;box-shadow:0 1px 6px #0003}.site-map.standard .marker-city .marker-pop>.detail{text-align:center;padding:10px 30px;border-radius:4px 4px 0 0;color:#fff;background-color:var("#29335d", #03c9ff)}.site-map.standard .marker-city .marker-pop>.detail .address{font-size:16px}.site-map.standard .marker-city .marker-pop>.detail .info{color:#d2f5ff}.site-map.standard .marker-city .marker-pop>.detail.no-price{border-radius:4px}.site-map.standard .marker-city .marker-pop>.detail.no-price:before{content:"";width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid;border-top-color:var("#29335d", #03c9ff);position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.site-map.standard .marker-city .marker-pop>.price{text-align:center;padding:8px 30px;border-radius:0 0 4px 4px;color:#292e3f;background-color:#fff}.site-map.standard .marker-city .marker-pop>.price:before{content:"";width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.site-map.standard .marker-city.active .marker-address{display:none}.site-map.standard .search-radius{z-index:200!important}.gm-style-pbc{z-index:1000!important;pointer-events:none}.site-map.standard{position:relative;width:100%;height:100%}.site-map.standard .map-box{width:100%;height:100%}.site-map.standard .map-tool{position:absolute;color:#191919;font-size:14px;box-shadow:0 2px 4px #0003;cursor:pointer;line-height:1;font-family:font-regular}.site-map.standard .map-tool .tip{display:none;position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);height:40px;width:87px;font-size:14px;text-align:center;line-height:40px;color:#fff;box-shadow:0 4px 8px #000a1e33;background-color:#202437f2;border-radius:3px}.site-map.standard .map-tool .tip:after{content:"";display:block;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid rgba(32,36,55,.95);position:absolute;top:15px;right:-5px}@media (max-width: 800px){.site-map.standard .map-tool .tip{display:none!important}}.site-map.standard .map-tool.map-type{border:2px solid #fff}.site-map.standard .map-tool.map-type .lofty_iconfont{width:36px;height:36px}.site-map.standard .map-tool.map-type .lofty_iconfont:before{line-height:36px;color:#f1f5f6}.site-map.standard .map-tool.map-type img{width:36px;height:36px}.site-map.standard .map-tool.map-type:hover img{width:76px;height:76px}@media (max-width: 600px){.site-map.standard .map-tool.map-type{border:none}.site-map.standard .map-tool.map-type img,.site-map.standard .map-tool.map-type:hover img{width:80px;height:30px}}.site-map.standard .map-tool.lofty_iconfont{background-color:#fff;width:30px;height:30px;line-height:30px;text-align:center}.site-map.standard .marker-box,.site-map.standard.drawing .map-marker,.site-map.standard .H_imprint{display:none}
  • lofty-idx/trunk/assets/index7.css

    r3291483 r3333213  
    1 .chime-datepicker-wrapper .chime-datepicker-table .month-table td div,.chime-datepicker-wrapper .chime-datepicker-table .year-table td div{height:48px;line-height:36px;padding:6px 0;box-sizing:border-box}.chime-datepicker-popper{color:#606266;width:292px}.chime-datepicker-popper .chime-datepicker-header{display:flex;justify-content:space-between;margin:12px 12px 0;padding-bottom:12px;line-height:30px}.chime-datepicker-popper .chime-datepicker-header.line{border-bottom:1px solid #e4e7ed}.chime-datepicker-popper .chime-datepicker-header .title{font-size:16px;font-weight:500;padding:0 5px;line-height:30px;color:#606266;-webkit-user-select:none;user-select:none}.chime-datepicker-popper .chime-datepicker-header .title .cursor{cursor:pointer}.chime-datepicker-popper .chime-datepicker-header .title .cursor:hover{color:#111}.chime-datepicker-popper .datepicker-btn{cursor:pointer;font-size:12px}.chime-datepicker-popper .datepicker-btn:hover{color:#111}.chime-datepicker-popper .datepicker-btn.prev-prev-btn{transform:rotate(180deg)}.chime-datepicker-popper .chime-datepicker-table{font-size:12px;-webkit-user-select:none;user-select:none;padding:12px}.chime-datepicker-popper .chime-datepicker-table table{width:100%}.chime-datepicker-popper .chime-datepicker-table th{padding:5px;color:#606266;font-weight:400;border-bottom:solid 1px #ebeef5}.chime-datepicker-popper .chime-datepicker-table td{cursor:pointer;width:32px;height:30px;padding:4px 0;text-align:center}.chime-datepicker-popper .chime-datepicker-table td:hover{color:#111}.chime-datepicker-popper .chime-datepicker-table td.current:not(.disabled) span{color:#fff;background-color:#111}.chime-datepicker-popper .chime-datepicker-table td.available:hover{color:#111}.chime-datepicker-popper .chime-datepicker-table td.today{color:#111;font-weight:700}.chime-datepicker-popper .chime-datepicker-table td.prev-month,.chime-datepicker-popper .chime-datepicker-table td.next-month{color:#c0c4cc}.chime-datepicker-popper .chime-datepicker-table td span{display:block;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;margin:auto}.chime-datepicker{display:inline-block;width:100%;min-width:140px}.chime-datepicker .date-picker-input-wrapper{position:relative}.chime-datepicker .date-picker-input-wrapper i.lofty-icon-data{position:absolute;height:40px;line-height:40px;left:4px;top:0;color:#c0c4cc}.chime-datepicker .date-picker-input-wrapper i.lofty-icon-cancel_bold{position:absolute;line-height:40px;right:8px;top:0;color:#c0c4cc;font-size:12px;cursor:pointer}.chime-datepicker input{padding:0 30px;width:100%;border:1px solid #dcdfe6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;border-radius:4px}.chime-datepicker-popper-wrapper{border:1px solid #e4e7ed;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px #0000001a;background:#fff;border-radius:4px}.chime-datepicker-popper-wrapper>.arrow{border-color:#e4e7ed}
     1.lofty-loadEffect{width:80px;height:80px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lofty-loadEffect .dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#191919;position:absolute;-webkit-animation:load .56s ease infinite}@-webkit-keyframes load{0%{opacity:1}to{opacity:.2}}.lofty-loadEffect .dot:nth-child(1){left:0;top:50%;margin-top:-10px}.lofty-loadEffect .dot:nth-child(2){left:10px;top:10px;-webkit-animation-delay:80ms}.lofty-loadEffect .dot:nth-child(3){left:50%;top:0;margin-left:-7px;-webkit-animation-delay:.16s}.lofty-loadEffect .dot:nth-child(4){top:10px;right:10px;-webkit-animation-delay:.24s}.lofty-loadEffect .dot:nth-child(5){right:0;top:50%;margin-top:-10px;-webkit-animation-delay:.32s}.lofty-loadEffect .dot:nth-child(6){right:10px;bottom:14px;-webkit-animation-delay:.4s}.lofty-loadEffect .dot:nth-child(7){bottom:4px;left:50%;margin-left:-7px;-webkit-animation-delay:.48s}.lofty-loadEffect .dot:nth-child(8){bottom:14px;left:10px;-webkit-animation-delay:.56s}
  • lofty-idx/trunk/assets/index8.css

    r3291483 r3333213  
    1 .input_container{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;position:relative;box-sizing:border-box;background:#fff;border:1px solid #949494;border-radius:2px;padding-left:12px}.input_container:hover,.input_container:focus{border-color:#3858e9}.input_container.disabled{border:solid 1px #ebecf1;background:#f8f9fd}.input_container.disabled.hover,.input_container.disabled.focus{border:solid 1px #ebecf1}.input_container .input_wrap{position:relative;flex:1 0 0;display:flex;height:100%}.input_container .input_wrap .input{width:100%;height:100%;outline:none;border:0!important;box-shadow:none;border-radius:0;background:transparent;box-sizing:border-box;font-size:14px;min-height:30px;margin:0}.input_container .input_wrap .input.left{text-align:left}.input_container .input_wrap .input.center{text-align:center}.input_container .input_wrap .input.right{text-align:right}.input_container .input_wrap .input ::placeholder{line-height:normal}.input_container .input_wrap .search{width:30px;display:flex;align-items:center;justify-content:center;color:#ccc;cursor:pointer}.input_container .input_wrap .clear{position:absolute;z-index:1;right:0;top:0;cursor:pointer;height:100%;width:30px;display:flex;align-items:center;justify-content:center;color:#ccc}
     1.chime-datepicker-wrapper .chime-datepicker-table .month-table td div,.chime-datepicker-wrapper .chime-datepicker-table .year-table td div{height:48px;line-height:36px;padding:6px 0;box-sizing:border-box}.chime-datepicker-popper{color:#606266;width:292px}.chime-datepicker-popper .chime-datepicker-header{display:flex;justify-content:space-between;margin:12px 12px 0;padding-bottom:12px;line-height:30px}.chime-datepicker-popper .chime-datepicker-header.line{border-bottom:1px solid #e4e7ed}.chime-datepicker-popper .chime-datepicker-header .title{font-size:16px;font-weight:500;padding:0 5px;line-height:30px;color:#606266;-webkit-user-select:none;user-select:none}.chime-datepicker-popper .chime-datepicker-header .title .cursor{cursor:pointer}.chime-datepicker-popper .chime-datepicker-header .title .cursor:hover{color:#111}.chime-datepicker-popper .datepicker-btn{cursor:pointer;font-size:12px}.chime-datepicker-popper .datepicker-btn:hover{color:#111}.chime-datepicker-popper .datepicker-btn.prev-prev-btn{transform:rotate(180deg)}.chime-datepicker-popper .chime-datepicker-table{font-size:12px;-webkit-user-select:none;user-select:none;padding:12px}.chime-datepicker-popper .chime-datepicker-table table{width:100%}.chime-datepicker-popper .chime-datepicker-table th{padding:5px;color:#606266;font-weight:400;border-bottom:solid 1px #ebeef5}.chime-datepicker-popper .chime-datepicker-table td{cursor:pointer;width:32px;height:30px;padding:4px 0;text-align:center}.chime-datepicker-popper .chime-datepicker-table td:hover{color:#111}.chime-datepicker-popper .chime-datepicker-table td.current:not(.disabled) span{color:#fff;background-color:#111}.chime-datepicker-popper .chime-datepicker-table td.available:hover{color:#111}.chime-datepicker-popper .chime-datepicker-table td.today{color:#111;font-weight:700}.chime-datepicker-popper .chime-datepicker-table td.prev-month,.chime-datepicker-popper .chime-datepicker-table td.next-month{color:#c0c4cc}.chime-datepicker-popper .chime-datepicker-table td span{display:block;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;margin:auto}.chime-datepicker{display:inline-block;width:100%;min-width:140px}.chime-datepicker .date-picker-input-wrapper{position:relative}.chime-datepicker .date-picker-input-wrapper i.lofty-icon-data{position:absolute;height:40px;line-height:40px;left:4px;top:0;color:#c0c4cc}.chime-datepicker .date-picker-input-wrapper i.lofty-icon-cancel_bold{position:absolute;line-height:40px;right:8px;top:0;color:#c0c4cc;font-size:12px;cursor:pointer}.chime-datepicker input{padding:0 30px;width:100%;border:1px solid #dcdfe6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;border-radius:4px}.chime-datepicker-popper-wrapper{border:1px solid #e4e7ed;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px #0000001a;background:#fff;border-radius:4px}.chime-datepicker-popper-wrapper>.arrow{border-color:#e4e7ed}
  • lofty-idx/trunk/assets/index9.css

    r3291483 r3333213  
    1 .fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.popper{z-index:99999}.popper .arrow,.popper .arrow:before{position:absolute;width:8px;height:8px;background:inherit}.popper .arrow{visibility:hidden}.popper .arrow:before{visibility:visible;content:"";transform:rotate(45deg);border:1px solid;border-color:inherit}.popper[data-popper-placement^=top]>.arrow{bottom:-4px;border-top-color:transparent;border-left-color:transparent}.popper[data-popper-placement^=bottom]>.arrow{top:-4px;border-right-color:transparent;border-bottom-color:transparent}.popper[data-popper-placement^=left]>.arrow{right:-4px;border-left-color:transparent;border-bottom-color:transparent}.popper[data-popper-placement^=right]>.arrow{left:-4px;border-top-color:transparent;border-right-color:transparent}
     1.input_container{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;position:relative;box-sizing:border-box;background:#fff;border:1px solid #949494;border-radius:2px;padding-left:12px}.input_container:hover,.input_container:focus{border-color:#3858e9}.input_container.disabled{border:solid 1px #ebecf1;background:#f8f9fd}.input_container.disabled.hover,.input_container.disabled.focus{border:solid 1px #ebecf1}.input_container .input_wrap{position:relative;flex:1 0 0;display:flex;height:100%}.input_container .input_wrap .input{width:100%;height:100%;outline:none;border:0!important;box-shadow:none;border-radius:0;background:transparent;box-sizing:border-box;font-size:14px;min-height:30px;margin:0}.input_container .input_wrap .input.left{text-align:left}.input_container .input_wrap .input.center{text-align:center}.input_container .input_wrap .input.right{text-align:right}.input_container .input_wrap .input ::placeholder{line-height:normal}.input_container .input_wrap .search{width:30px;display:flex;align-items:center;justify-content:center;color:#ccc;cursor:pointer}.input_container .input_wrap .clear{position:absolute;z-index:1;right:0;top:0;cursor:pointer;height:100%;width:30px;display:flex;align-items:center;justify-content:center;color:#ccc}
  • lofty-idx/trunk/assets/listing-detail.js

    r3312310 r3333213  
    1 import{h as Q,g as gt,i as L,u as st,_ as J}from"./_plugin-vue_export-helper.BXwY9aDM.js";import{c as ht}from"./module.CKjUdtPN.js";import{s as yt,a as wt}from"./popup-mls.CBKQfXSn.js";import{u as rt}from"./user.C9PYqYHM.js";import{v as _t,g as kt,c as bt,h as Ct}from"./verify-email.BuNdX22j.js";import{P as ot}from"./index.zlpipePe.js";import{s as At,c as nt}from"./index.BjLmwQWW.js";import{k as Z,r as w,l as Y,o as s,d as O,w as V,u as e,g as c,e as t,f as N,t as b,j as E,a as it,c as X,D as q,H as ut,F as M,h as H,I as St,z as ft,q as P,x as B,y as T,p as lt,m as j,s as tt,v as mt,J as xt,n as et,i as It,K as ct,L as Lt}from"./vendor.NEC4PHgy.js";import{T as Tt}from"./tooltip.Chr6RZhw.js";import{_ as at}from"./index.qsOScXF2.js";import{f as z}from"./date-format.BrUodQAJ.js";import{I as Mt}from"./IconCopy.DKqiio1M.js";import{u as Dt}from"./useCopy.BlzIiYQ_.js";import{_ as Pt}from"./marker.CMP_wZIa.js";import{M as dt}from"./icon.DPA-YhG0.js";import{n as Vt}from"./number-format.CLdvQh6j.js";import{_ as Et}from"./index.BLlfxopq.js";import{a as $t}from"./popup-trigger.DYYaUR3O.js";import{a as Bt}from"./auto-login.DsI-xV2Y.js";import"./useConfirm.BpvHcTF0.js";import"./google.xpY_32OC.js";import"./outsideclick.Bw_hMuzW.js";import"./feature-listing-slider.BE3-pAJs.js";const Ht={key:0,class:"pop-protect-container"},Rt={class:"protect-footer"},qt={key:1,class:"pop-protect-container"},Gt={class:"protect-content"},Nt={class:"lofty-link"},Ut={class:"protect-footer"},zt=["disabled"],jt={__name:"protectPop",props:{isDetailPage:{type:Boolean,default:!1}},setup(u){const{loginStatus:m,vowStatus:o,user:a}=rt,v=Z("popRef");function i(d){At(()=>{u.isDetailPage||window.location.reload()},"",d)}const l=w(!1);function f(){l.value||_t(()=>{l.value=!0})}return Y(()=>{v.value.open()}),(d,r)=>(s(),O(ot,{class:"lofty-under-mask-pop",ref_key:"popRef",ref:v,popMaskClass:"lofty-filter-blur-mask",allowClose:!1},{default:V(()=>[e(m)?e(o)?E("",!0):(s(),c("div",qt,[r[6]||(r[6]=t("div",{class:"title"}," Email Verification Required ",-1)),t("div",Gt,[r[4]||(r[4]=N(" Go Verify your email at ")),t("span",Nt,b(e(a).account),1),r[5]||(r[5]=t("div",{class:"lofty-tip"}," If you failed to receive the code, please refresh the page and click on the button again to request another one. ",-1))]),t("div",Ut,[t("div",{class:"footer-confirm",style:{"margin-left":"auto"},disabled:e(l),onClick:f},"Verify Your Email",8,zt)])])):(s(),c("div",Ht,[r[2]||(r[2]=t("div",{class:"title"}," Free Account Required ",-1)),r[3]||(r[3]=t("div",{class:"protect-content"},[t("ul",null,[t("li",null,"Instant access to listing photos & details"),t("li",null,"Save listings and searches"),t("li",null,"Access details for this property")])],-1)),t("div",Rt,[t("div",{class:"footer-cancel",onClick:r[0]||(r[0]=y=>i("login"))},"Sign In"),t("div",{class:"footer-confirm",onClick:r[1]||(r[1]=y=>i("register"))},"Register")])]))]),_:1},512))}},G={};function Ot(u){const m=u.getModuleData(),o={module:u,listingId:m.listingId,sold:m.sold,collectStatus:w(!1),previewPictures:it(m.previewPictures),info:w({}),location:it({lat:0,lng:0,type:"location"}),schoolGroups:w([]),schoolMarkers:X(()=>{const v=[];return o.schoolGroups.value.forEach(i=>{i.data.forEach(l=>{v.push({id:l.id,hjId:l.hjId,key:`${l.latitude}-${l.longitude}`,lat:+l.latitude,lng:+l.longitude,name:l.name,icon:"lofty-icon-school2",group:i.label})})}),v}),tourType:w("tour_info"),dayList:it([]),dayIndex:w(0)},a={async getDetailInfo(){if(!o.listingId){window.location.reload();return}const v={data:{listingId:o.listingId,isSold:o.sold},headers:{trackingpagekey:o.sold?"sold_listing_detail":"listing_detail"}},{data:i}=await Q.get("/listing/detail",v);o.collectStatus.value=i.collectStatus,o.info.value=i.info,o.location.name=i.info.streetAddress,o.location.key=`house-${i.info.longitude}-${i.info.latitude}`,o.location.lng=i.info.longitude,o.location.lat=i.info.latitude;const l=rt.mlsList.find(r=>r.id===i.info.mlsOrg.id);l&&yt(l);const f=gt(),{isPopup:d}=f;if(kt(i.info)&&d!=="0"){const r=document.createElement("div");document.body.appendChild(r),q(jt,{isDetailPage:!0}).mount(r)}},async getNearBySchool(){const v={page:1,pageSize:10,status:o.sold?"sold":"active",miles:5},{data:i}=await Q.get(`/search/listing/detailNearBy/${o.listingId}`,{data:v});if(i&&i.length>0){const l=i.find(f=>f.type==="school");l!=null&&l.groups&&(o.schoolGroups.value=l.groups)}},getDayList(){const v=Date.now(),i=24*60*60*1e3;for(let l=0;l<30;l++){const f=new Date(v+l*i);f.setHours(0,0,0,0);const d=f.getDate();o.dayList.push({month:f.toLocaleString("en-US",{month:"short"}),week:f.toLocaleString("en-US",{weekday:"short"}),dayNum:d,date:f})}}};return a.getDayList(),a.getNearBySchool(),{...o,...a,onLoad:a.getDetailInfo()}}function Yt(u){G[u.id]=Ot(u)}const Kt={key:0,class:"mobile-previewImg-gallery-content"},Zt=["src"],Ft=["initialSlide"],Qt=["src"],Jt={__name:"previewImgPop",props:{imgList:{type:Array,default:()=>[]},previewImgIndex:{type:Number,default:0}},emits:["close"],setup(u,{emit:m}){const o=w(null),a=m;function v(){a("close"),o.value.$el.parentNode.remove()}function i(){const f=document.querySelector(".swiper-previewImg-container");Object.assign(f,{navigation:{prevEl:".previewImg-prev-button",nextEl:".previewImg-next-button"},injectStyles:[`:host svg {
     1import{h as F,g as Ct,i as L,u as st,_ as J}from"./_plugin-vue_export-helper.bB-lvPOu.js";import{c as At}from"./module.CKjUdtPN.js";import{s as St,a as xt}from"./popup-mls.BtxMjRiY.js";import{u as rt}from"./user.B_wb9Yeq.js";import{g as It,f as Lt}from"./house-format.CGUVCimM.js";import{P as ot}from"./index.BPxU_3zo.js";import{s as Tt,c as nt}from"./index.B6VbAP4g.js";import{v as Mt,c as Dt}from"./verify-email.CS8uhOrR.js";import{k as K,r as _,l as O,o as s,d as j,w as V,u as e,g as c,e as t,f as N,t as b,j as E,a as it,c as X,D as q,H as pt,F as M,h as H,I as Pt,z as vt,q as P,x as B,y as T,p as lt,m as Z,s as tt,v as gt,J as Vt,n as et,i as Et,K as ft,L as $t}from"./vendor.DSMCY3-_.js";import{T as Bt}from"./tooltip.D1TTPwD5.js";import{_ as at}from"./index.Ca0KQw1k.js";import{f as z}from"./date-format.BrUodQAJ.js";import{I as Ht}from"./IconCopy.DMe4YHlb.js";import{u as Rt}from"./useCopy.CluLpl8Z.js";import{_ as qt}from"./index.D1LZflJ-.js";import{M as mt}from"./icon.CxDQPYyM.js";import{n as Gt}from"./number-format.CLdvQh6j.js";import{_ as Nt}from"./index.W_awICU-.js";import{a as Ut}from"./popup-trigger.Dcnct9fd.js";import{a as zt}from"./auto-login.C1f3j8uL.js";import"./useConfirm.DafTdZE0.js";import"./google.COqmJ1I4.js";import"./outsideclick.Bw_hMuzW.js";import"./marker.IEnWk-Xb.js";import"./feature-listing-slider.C6SVvzLl.js";const Zt={key:0,class:"pop-protect-container"},jt={class:"protect-footer"},Ot={key:1,class:"pop-protect-container"},Yt={class:"protect-content"},Kt={class:"lofty-link"},Qt={class:"protect-footer"},Ft=["disabled"],Jt={__name:"protectPop",props:{isDetailPage:{type:Boolean,default:!1}},setup(u){const{loginStatus:m,vowStatus:o,user:r}=rt,v=K("popRef");function i(d){Tt(()=>{u.isDetailPage||window.location.reload()},"",d)}const l=_(!1);function f(){l.value||Mt(()=>{l.value=!0})}return O(()=>{v.value.open()}),(d,a)=>(s(),j(ot,{class:"lofty-under-mask-pop",ref_key:"popRef",ref:v,popMaskClass:"lofty-filter-blur-mask",allowClose:!1},{default:V(()=>[e(m)?e(o)?E("",!0):(s(),c("div",Ot,[a[6]||(a[6]=t("div",{class:"title"}," Email Verification Required ",-1)),t("div",Yt,[a[4]||(a[4]=N(" Go Verify your email at ")),t("span",Kt,b(e(r).account),1),a[5]||(a[5]=t("div",{class:"lofty-tip"}," If you failed to receive the code, please refresh the page and click on the button again to request another one. ",-1))]),t("div",Qt,[t("div",{class:"footer-confirm",style:{"margin-left":"auto"},disabled:e(l),onClick:f},"Verify Your Email",8,Ft)])])):(s(),c("div",Zt,[a[2]||(a[2]=t("div",{class:"title"}," Free Account Required ",-1)),a[3]||(a[3]=t("div",{class:"protect-content"},[t("ul",null,[t("li",null,"Instant access to listing photos & details"),t("li",null,"Save listings and searches"),t("li",null,"Access details for this property")])],-1)),t("div",jt,[t("div",{class:"footer-cancel",onClick:a[0]||(a[0]=g=>i("login"))},"Sign In"),t("div",{class:"footer-confirm",onClick:a[1]||(a[1]=g=>i("register"))},"Register")])]))]),_:1},512))}},G={};function Xt(u){const m=u.getModuleData(),o={module:u,listingId:m.listingId,sold:m.sold,collectStatus:_(!1),previewPictures:it(m.previewPictures),info:_({}),location:it({lat:0,lng:0,type:"location"}),schoolGroups:_([]),schoolMarkers:X(()=>{const v=[];return o.schoolGroups.value.forEach(i=>{i.data.forEach(l=>{v.push({id:l.id,hjId:l.hjId,key:`${l.latitude}-${l.longitude}`,lat:+l.latitude,lng:+l.longitude,name:l.name,icon:"lofty-icon-school2",group:i.label})})}),v}),tourType:_("tour_info"),dayList:it([]),dayIndex:_(0)},r={async getDetailInfo(){var a,g;if(!o.listingId){window.location.reload();return}const v={data:{listingId:o.listingId,isSold:o.sold},headers:{trackingpagekey:o.sold?"sold_listing_detail":"listing_detail"}},{data:i}=await F.get("/listing/detail",v);o.collectStatus.value=i.collectStatus,o.info.value=i.info,o.location.name=i.info.streetAddress,o.location.key=`house-${i.info.longitude}-${i.info.latitude}`,o.location.lng=i.info.longitude,o.location.lat=i.info.latitude;const l=(g=(a=rt.mlsList).find)==null?void 0:g.call(a,w=>w.id===i.info.mlsOrg.id);l&&St(l);const f=Ct(),{isPopup:d}=f;if(It(i.info)&&d!=="0"){const w=document.createElement("div");document.body.appendChild(w),q(Jt,{isDetailPage:!0}).mount(w)}},async getNearBySchool(){const v={page:1,pageSize:10,status:o.sold?"sold":"active",miles:5},{data:i}=await F.get(`/search/listing/detailNearBy/${o.listingId}`,{data:v});if(i&&i.length>0){const l=i.find(f=>f.type==="school");l!=null&&l.groups&&(o.schoolGroups.value=l.groups)}},getDayList(){const v=Date.now(),i=24*60*60*1e3;for(let l=0;l<30;l++){const f=new Date(v+l*i);f.setHours(0,0,0,0);const d=f.getDate();o.dayList.push({month:f.toLocaleString("en-US",{month:"short"}),week:f.toLocaleString("en-US",{weekday:"short"}),dayNum:d,date:f})}}};return r.getDayList(),r.getNearBySchool(),{...o,...r,onLoad:r.getDetailInfo()}}function Wt(u){G[u.id]=Xt(u)}const te={key:0,class:"mobile-previewImg-gallery-content"},ee=["src"],oe=["initialSlide"],se=["src"],ne={__name:"previewImgPop",props:{imgList:{type:Array,default:()=>[]},previewImgIndex:{type:Number,default:0}},emits:["close"],setup(u,{emit:m}){const o=_(null),r=m;function v(){r("close"),o.value.$el.parentNode.remove()}function i(){const f=document.querySelector(".swiper-previewImg-container");Object.assign(f,{navigation:{prevEl:".previewImg-prev-button",nextEl:".previewImg-next-button"},injectStyles:[`:host svg {
    22        width: ${L?"6px":"8px"};
    33      }`,`:host .swiper-button-disabled {
    44        pointer-events: auto;
    5       }`]}),f.initialize()}Y(()=>{o.value.open(),L?ut(()=>{l()}):i()});function l(){const f=document.querySelectorAll(".mobile-previewImg-gallery-img")[u.previewImgIndex];f&&f.scrollIntoView({behavior:"smooth",block:"start",inline:"start"})}return(f,d)=>(s(),O(ot,{ref_key:"popRef",ref:o,customClass:"listing-detail-preview-img","on-close":v,allowClose:!0,outClose:!0},{default:V(()=>[e(L)?(s(),c("div",Kt,[(s(!0),c(M,null,H(u.imgList,(r,y)=>(s(),c("img",{class:"mobile-previewImg-gallery-img",src:r,alt:"",key:r+"_"+y},null,8,Zt))),128))])):(s(),c(M,{key:1},[t("swiper-container",{class:"swiper-previewImg-container",init:!1,centeredSlides:!0,initialSlide:u.previewImgIndex},[(s(!0),c(M,null,H(u.imgList,(r,y)=>(s(),c("swiper-slide",{class:"previewImg-slide",key:r+"_"+y},[t("img",{src:r,alt:""},null,8,Qt)]))),128))],8,Ft),u.imgList.length>1?(s(),c(M,{key:0},[d[0]||(d[0]=t("div",{class:"previewImg-prev-button"},[t("i",{class:"lofty_iconfont lofty-icon-arrow_08_left"})],-1)),d[1]||(d[1]=t("div",{class:"previewImg-next-button"},[t("i",{class:"lofty_iconfont lofty-icon-arrow_08_right"})],-1))],64)):E("",!0)],64))]),_:1},512))}},Xt=["slides-per-view","space-between","centeredSlides"],Wt=["src","onClick"],te={class:"listingDetail-prev-button"},ee={class:"listingDetail-next-button"},oe={__name:"swiperPictures",props:{id:String},setup(u){St();const m=u;let{previewPictures:o,module:a}=G[m.id];const v=w(3),i=X(()=>L?o.length>1:o.length>3);Y(()=>{l()});function l(){const r=a.$(".swiper-container");Object.assign(r,{navigation:{prevEl:".listingDetail-prev-button",nextEl:".listingDetail-next-button"},injectStyles:[`:host svg {
     5      }`]}),f.initialize()}O(()=>{o.value.open(),L?pt(()=>{l()}):i()});function l(){const f=document.querySelectorAll(".mobile-previewImg-gallery-img")[u.previewImgIndex];f&&f.scrollIntoView({behavior:"smooth",block:"start",inline:"start"})}return(f,d)=>(s(),j(ot,{ref_key:"popRef",ref:o,customClass:"listing-detail-preview-img","on-close":v,allowClose:!0,outClose:!0},{default:V(()=>[e(L)?(s(),c("div",te,[(s(!0),c(M,null,H(u.imgList,(a,g)=>(s(),c("img",{class:"mobile-previewImg-gallery-img",src:a,alt:"",key:a+"_"+g},null,8,ee))),128))])):(s(),c(M,{key:1},[t("swiper-container",{class:"swiper-previewImg-container",init:!1,centeredSlides:!0,initialSlide:u.previewImgIndex},[(s(!0),c(M,null,H(u.imgList,(a,g)=>(s(),c("swiper-slide",{class:"previewImg-slide",key:a+"_"+g},[t("img",{src:a,alt:""},null,8,se)]))),128))],8,oe),u.imgList.length>1?(s(),c(M,{key:0},[d[0]||(d[0]=t("div",{class:"previewImg-prev-button"},[t("i",{class:"lofty_iconfont lofty-icon-arrow_08_left"})],-1)),d[1]||(d[1]=t("div",{class:"previewImg-next-button"},[t("i",{class:"lofty_iconfont lofty-icon-arrow_08_right"})],-1))],64)):E("",!0)],64))]),_:1},512))}},ie=["slides-per-view","space-between","centeredSlides"],le=["src","onClick"],ae={class:"listingDetail-prev-button"},re={class:"listingDetail-next-button"},ce={__name:"swiperPictures",props:{id:String},setup(u){Pt();const m=u;let{previewPictures:o,module:r}=G[m.id];const v=_(3),i=X(()=>L?o.length>1:o.length>3);O(()=>{l()});function l(){const a=r.$(".swiper-container");Object.assign(a,{navigation:{prevEl:".listingDetail-prev-button",nextEl:".listingDetail-next-button"},injectStyles:[`:host svg {
    66        width: ${L?"6px":"12px"};
    77      }`,`:host .swiper-button-disabled {
    88        pointer-events: auto;
    9       }`]}),o.length<=3&&(v.value=o.length>1?o.length:2),v.value=L?1:v.value,r.initialize()}const f=w(!0);function d(r){const y=document.createElement("div");document.body.appendChild(y),q(Jt,{imgList:o,previewImgIndex:r||0,onClose:()=>{f.value=!0}}).mount(y),f.value=!1}return(r,y)=>(s(),c(M,null,[t("swiper-container",{init:"false",class:"swiper-container","slides-per-view":e(v),"space-between":e(L)?0:2,centeredSlides:e(o).length==1},[(s(!0),c(M,null,H(e(o),(_,h)=>(s(),c("swiper-slide",{key:h},[t("img",{src:_,alt:"",onClick:ft(x=>d(h),["stop"])},null,8,Wt)]))),128))],8,Xt),e(i)?(s(),c(M,{key:0},[P(t("div",te,y[0]||(y[0]=[t("i",{class:"lofty_iconfont lofty-icon-arrow_08_left"},null,-1)]),512),[[B,e(f)]]),P(t("div",ee,y[1]||(y[1]=[t("i",{class:"lofty_iconfont lofty-icon-arrow_08_right"},null,-1)]),512),[[B,e(f)]])],64)):E("",!0)],64))}},se={__name:"showMoreButton",props:{id:String},setup(u){const m=u,{module:o}=G[m.id],a=w(!1),v=X(()=>a.value?"Less":"More"),i=o.$(".lofty-other-fields");function l(){a.value=!a.value,i.style.display=a.value?"block":"none"}return(f,d)=>(s(),c("div",{class:"showMoreButton",onClick:l},[t("span",null,"Read "+b(e(v)),1),t("i",{class:T(["lofty_iconfont lofty-icon-arrow_01_right",{rotate:e(a)}])},null,2)]))}},ne={class:"lofty-swiper-calendar-view"},ie=["slides-per-view","slides-per-group","initialSlide"],le=["onClick"],ae={class:"day-num"},pt={__name:"swiperCalendar",props:{id:String,slidesPerView:{type:Number,default:3}},setup(u){const{dayList:m,dayIndex:o}=G[u.id],a=Z("swiper"),v=Z("prev"),i=Z("next");function l(){const d={navigation:{prevEl:v.value,nextEl:i.value}};Object.assign(a.value,d),a.value.initialize()}function f(d){o.value=d}return Y(()=>{l()}),(d,r)=>(s(),c("div",ne,[t("swiper-container",{ref_key:"swiper",ref:a,class:"swiper-calendar-container",init:!1,"space-between":10,"slides-per-view":u.slidesPerView,"slides-per-group":u.slidesPerView,initialSlide:e(o)},[(s(!0),c(M,null,H(e(m),(y,_)=>(s(),c("swiper-slide",{class:T(["day-slide",{"day-active":e(o)===_}]),onClick:h=>f(_)},[t("div",null,b(y.week),1),t("div",ae,b(y.dayNum),1),t("div",null,b(y.month),1)],10,le))),256))],8,ie),t("div",{class:"day-prev-button",ref_key:"prev",ref:v},r[0]||(r[0]=[t("i",{class:"lofty_iconfont lofty-icon-arrow_08_left"},null,-1)]),512),t("div",{class:"day-next-button",ref_key:"next",ref:i},r[1]||(r[1]=[t("i",{class:"lofty_iconfont lofty-icon-arrow_08_right"},null,-1)]),512)]))}},re={class:"lofty-schedule-pop is-scheduled"},ce={class:"title"},de={class:"scheduled-date"},ue={class:"scheduled-time"},fe={class:"lofty-schedule-pop"},me={class:"lofty-tour-type-tab"},pe={class:"lofty_iconfont lofty-icon-arrow_01_down"},ve={class:"lofty_iconfont lofty-icon-arrow_01_up"},ge={class:"lofty-time-list"},he=["onClick"],ye={class:"lofty_iconfont lofty-icon-arrow_01_down"},we={class:"lofty_iconfont lofty-icon-arrow_01_up"},_e={class:"lofty-time-list"},ke=["onClick"],be={__name:"schedulePop",props:{id:String,formatDate:Function,isScheduled:Boolean},emits:["submit"],setup(u,{emit:m}){const o=Z("popRef"),{tourType:a,dayIndex:v,dayList:i,listingId:l}=G[u.id],[f,d,r,y]=[w(0),w(0),w([]),w([])],_=L?3:5,h=X(()=>({startTime:f.value,endTime:d.value,listingId:l})),x=m;function C(){if(v.value===0)f.value=g();else{const n=i[v.value].date;f.value=+n}r.value=k(f.value)}function D(){const[n,p]=[new Date(f.value),new Date(f.value)];n.setMinutes(n.getMinutes()+15),p.setMinutes(p.getMinutes()+30),d.value=+n,y.value=[+n],I(n)||(y.value.push(+p),d.value=+p)}lt(v,C),lt(f,D);function k(n){const p=[],A=new Date(n).setHours(23,59,59,999);let $=new Date(n);for(;$<=A;)p.push(+$),$.setMinutes($.getMinutes()+15);return p}Y(()=>{C(),o.value.open()});function g(){const n=new Date;return n.setMinutes(Math.ceil(n.getMinutes()/15)*15),n.setSeconds(0),n.setMilliseconds(0),n.getMinutes()===0&&(n.setHours(n.getHours()),n.setMinutes(0)),+n}function I(n){return n.getHours()===0&&n.getMinutes()===0&&n.getSeconds()===0&&n.getMilliseconds()===0}const R=w(!1);function U(){x("submit",h.value),L?R.value=!0:F()}function F(){o.value.$el.parentNode.remove(),document.body.classList.remove("lofty-overflow-hidden")}const K=w(!1),S=w(!1);return(n,p)=>(s(),O(ot,{ref_key:"popRef",ref:o,allowClose:!1},{default:V(()=>[P(t("div",re,[t("div",ce,[p[5]||(p[5]=N("Your Request was Received!")),t("i",{class:"lofty_iconfont lofty-icon-close",onClick:F}),p[6]||(p[6]=t("div",{class:"scheduled-desc"},"We'll be in touch to confirm our meeting",-1)),t("div",de,b(u.formatDate(e(h).startTime)),1),t("div",ue,b(e(z)("hh:mmp",e(h).startTime))+" - "+b(e(z)("hh:mmp",e(h).endTime)),1),t("div",{class:"lofty-btn lofty-schedule-tour",onClick:p[0]||(p[0]=A=>R.value=!1)},"Schedule Again")])],512),[[B,e(R)&&e(L)]]),P(t("div",fe,[t("div",{class:"title"},[p[7]||(p[7]=N("REQUEST A TOUR")),t("i",{class:"lofty_iconfont lofty-icon-close",onClick:F})]),t("div",me,[t("div",{class:T(["tab-type",{active:e(a)==="tour_info"}]),onClick:p[1]||(p[1]=A=>a.value="tour_info")},"In-Person",2),t("div",{class:T(["tab-type",{active:e(a)==="virtual_tour"}]),onClick:p[2]||(p[2]=A=>a.value="virtual_tour")},"Virtual Tour",2)]),j(pt,{class:"lofty-swiper-calendar",id:u.id,"slides-per-view":e(_)},null,8,["id","slides-per-view"]),p[10]||(p[10]=t("div",{class:"lofty-select-time"},"Start Time",-1)),j(at,{"hide-arrow":"",top:40,"menu-style":{padding:0},"mobile-fix":"",onToggle:p[3]||(p[3]=A=>K.value=A)},{menu:V(()=>[t("ul",ge,[(s(!0),c(M,null,H(e(r),A=>(s(),c("li",{class:T([{active:A===e(f)},"time-item"]),onClick:$=>f.value=A},b(e(z)("hh:mm p",A)),11,he))),256))])]),default:V(()=>[t("div",{class:T(["lofty-dropdown-time",{open:e(K)}])},[p[8]||(p[8]=t("i",{class:"lofty_iconfont lofty-icon-time"},null,-1)),t("span",null,b(e(z)("hh:mm p",e(f))),1),P(t("i",pe,null,512),[[B,!e(K)]]),P(t("i",ve,null,512),[[B,e(K)]])],2)]),_:1}),p[11]||(p[11]=t("div",{class:"lofty-select-time"},"End Time",-1)),j(at,{"hide-arrow":"",top:40,"menu-style":{padding:0},"mobile-fix":"",onToggle:p[4]||(p[4]=A=>S.value=A)},{menu:V(()=>[t("ul",_e,[(s(!0),c(M,null,H(e(y),A=>(s(),c("li",{class:T([{active:A===e(d)},"time-item"]),onClick:$=>d.value=A},b(e(z)("hh:mm p",A)),11,ke))),256))])]),default:V(()=>[t("div",{class:T(["lofty-dropdown-time",{open:e(S)}])},[p[9]||(p[9]=t("i",{class:"lofty_iconfont lofty-icon-time"},null,-1)),t("span",null,b(e(z)("hh:mm p",e(d))),1),P(t("i",ye,null,512),[[B,!e(S)]]),P(t("i",we,null,512),[[B,e(S)]])],2)]),_:1}),t("div",{class:"lofty-btn lofty-schedule-tour",onClick:U},"Schedule a Tour")],512),[[B,!u.isScheduled&&!e(R)]])]),_:1},512))}},Ce={class:"lofty-message-pop get-touch"},Ae={key:0,class:"is-leaved"},Se={key:1},xe={__name:"messagePop",props:{message:String},emits:["submit"],setup(u,{emit:m}){const o=m,a=Z("popRef"),v=Z("textarea"),i=w(u.message),l=w(!1);function f(){l.value=!0,o("submit",i.value)}Y(()=>{a.value.open(),ut(()=>{v.value.focus()})});function d(){a.value.$el.parentNode.remove(),document.body.classList.remove("lofty-overflow-hidden")}return(r,y)=>(s(),O(ot,{ref_key:"popRef",ref:a,allowClose:!1},{default:V(()=>[t("div",Ce,[t("div",{class:"title"},[y[1]||(y[1]=N("GET IN TOUCH")),t("i",{class:"lofty_iconfont lofty-icon-close",onClick:d})]),e(l)?(s(),c("div",Ae,y[2]||(y[2]=[t("div",{class:"lofty_iconfont lofty-icon-success"},null,-1),t("div",null,"Thanks!I'll get back to you shortly.",-1)]))):(s(),c("div",Se,[P(t("textarea",{ref_key:"textarea",ref:v,"onUpdate:modelValue":y[0]||(y[0]=_=>tt(i)?i.value=_:null),class:"message-textarea",placeholder:"type something"},null,512),[[mt,e(i)]]),t("div",{class:"get-touch-submit-btn",onClick:f},"Submit")]))])]),_:1},512))}},Ie={key:0,class:"lofty-mobile-fix-bottom lofty-request-tour-mobile"},Le={key:0,class:"lofty-request-tour lofty-right-container"},Te={class:"title"},Me={class:"lofty-tour-type-tab"},De={key:1,class:"is-scheduled lofty-right-container"},Pe={class:"scheduled-date"},Ve={class:"scheduled-time"},Ee={class:"get-touch lofty-right-container"},$e={key:0,class:"is-leaved"},Be={key:1},He={__name:"requestTour",props:{id:String},setup(u){const{tourType:m,listingId:o,sold:a}=G[u.id],v=w(!1),i=w({});function l(k=Date.now()){return new Intl.DateTimeFormat("en-US",{month:"long",day:"numeric",year:"numeric"}).format(new Date(k))}const f=st.getTimeZone();function d(k=!1){k&&(v.value=!1),nt(()=>{const g=document.createElement("div");document.body.appendChild(g),q(be,{id:u.id,animation:L?"bottomToUp":"fadeIn",formatDate:l,isScheduled:v.value,onSubmit:async I=>{i.value=I;const R={listingId:o,timeZone:f,appointmentStartTime:I.startTime,appointmentEndTime:I.endTime,recordFlag:m.value},U=await Q.post("/lead/operate/visitorInfo",{data:R});U.status.code===0?v.value=!0:st.toast(U.status.message,3e3)}}).mount(g)})}function r(){nt(()=>{const k=document.createElement("div");document.body.appendChild(k),q(xe,{animation:"bottomToUp",message:_.value,onSubmit:g=>{_.value=g,x()}}).mount(k)})}function y(k){k.target.style.height="200px"}const _=w(a?"I like this property. Do you have any recommendations for similar ones?":"I'm interested in this listing"),h=w(!1);function x(){_.value&&nt(async()=>{const k={question:_.value,listingId:o,isSold:a},g=await Q.post("/lead/operate/leaveMsg",{data:k});g.status.code===0?h.value=!0:st.toast(g.status.message,3e3)})}const C=w("static"),D=new IntersectionObserver((k,g)=>{k.forEach(I=>{I.isIntersecting?C.value="static":I.boundingClientRect.top<0&&(C.value="sticky")})});return Y(()=>{L||D.observe(document.querySelector(".lofty-detail-address"))}),xt(()=>{L||D.unobserve(document.querySelector(".lofty-detail-address"))}),(k,g)=>e(L)?(s(),c("div",Ie,[t("div",{class:"get-touch-submit-btn",onClick:r},"GET IN TOUCH"),e(a)?E("",!0):(s(),c("div",{key:0,class:"lofty-btn schedule-tour-lofty",onClick:d},"Schedule a Tour"))])):(s(),c("div",{key:1,style:et({position:e(C)}),class:"lofty-right-panel"},[e(a)?E("",!0):(s(),c(M,{key:0},[e(v)?(s(),c("div",De,[g[7]||(g[7]=t("div",{class:"title"},"Your Request was Received!",-1)),g[8]||(g[8]=t("div",{class:"scheduled-desc"},"We'll be in touch to confirm our meeting",-1)),t("div",Pe,b(l(e(i).startTime)),1),t("div",Ve,b(e(z)("hh:mmp",e(i).startTime))+" - "+b(e(z)("hh:mmp",e(i).endTime)),1),t("div",{class:"lofty-btn schedule-tour-lofty",onClick:g[2]||(g[2]=I=>d(!0))},"Schedule Again")])):(s(),c("div",Le,[t("div",Te,[g[6]||(g[6]=N(" REQUEST A TOUR ")),j(Tt,null,{trigger:V(()=>g[4]||(g[4]=[t("span",{class:"lofty_iconfont lofty-icon-help"},null,-1)])),content:V(()=>g[5]||(g[5]=[t("span",{class:"help-tip"},' If you would like to see this home without being there in person, select the "Virtual Tour" option and your agent will contact you to discuss available opportunities. ',-1)])),_:1})]),t("div",Me,[t("div",{class:T(["tab-type",{active:e(m)==="tour_info"}]),onClick:g[0]||(g[0]=I=>m.value="tour_info")},"In-Person",2),t("div",{class:T(["tab-type",{active:e(m)==="virtual_tour"}]),onClick:g[1]||(g[1]=I=>m.value="virtual_tour")},"Virtual Tour",2)]),j(pt,{class:"lofty-swiper-calendar",id:u.id},null,8,["id"]),t("div",{class:"lofty-btn schedule-tour-lofty",onClick:d},"Schedule a Tour")]))],64)),t("div",Ee,[g[10]||(g[10]=t("div",{class:"title"},"GET IN TOUCH",-1)),e(h)?(s(),c("div",$e,g[9]||(g[9]=[t("div",{class:"lofty_iconfont lofty-icon-success"},null,-1),t("div",null,"Thanks!I'll get back to you shortly.",-1)]))):(s(),c("div",Be,[P(t("textarea",{"onUpdate:modelValue":g[3]||(g[3]=I=>tt(_)?_.value=I:null),class:"message-textarea",style:et({height:e(a)?"70px":"40px"}),onFocus:y},null,36),[[mt,e(_)]]),t("div",{class:T(["get-touch-submit-btn",{disabled:!e(_)}]),onClick:x},"Submit",2)]))])],4))}},Re={},qe={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ge(u,m){return s(),c("svg",qe,m[0]||(m[0]=[t("circle",{cx:"10",cy:"10",r:"10",fill:"black"},null,-1),t("path",{d:"M11.0148 9.16585L14.9857 4.54999H14.0447L10.5968 8.55787L7.84294 4.54999H4.66669L8.83106 10.6106L4.66669 15.4511H5.60772L9.24883 11.2186L12.1571 15.4511H15.3334L11.0146 9.16585H11.0148ZM9.72593 10.664L9.30399 10.0605L5.94678 5.25838H7.39215L10.1015 9.13385L10.5234 9.73736L14.0452 14.7749H12.5998L9.72593 10.6642V10.664Z",fill:"white"},null,-1)]))}const Ne=J(Re,[["render",Ge]]),Ue={},ze={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function je(u,m){return s(),c("svg",ze,m[0]||(m[0]=[t("path",{d:"M20 10C20 4.47715 15.5229 0 10 0C4.47715 0 0 4.47715 0 10C0 14.9913 3.65685 19.1283 8.4375 19.8785V12.8906H5.89844V10H8.4375V7.79688C8.4375 5.29062 9.93043 3.90626 12.2146 3.90626C13.3087 3.90626 14.4531 4.10156 14.4531 4.10156V6.5625H13.1922C11.9499 6.5625 11.5625 7.33335 11.5625 8.12417V10H14.3359L13.8926 12.8906H11.5625V19.8785C16.3431 19.1283 20 14.9913 20 10Z",fill:"#1877F2"},null,-1),t("path",{d:"M13.8926 12.8906L14.3359 10H11.5625V8.12415C11.5625 7.33334 11.9499 6.5625 13.1921 6.5625H14.4531V4.10156C14.4531 4.10156 13.3087 3.90625 12.2146 3.90625C9.93042 3.90625 8.4375 5.29062 8.4375 7.79688V10H5.89844V12.8906H8.4375V19.8785C8.95439 19.9595 9.4768 20.0001 10 20C10.5316 20 11.0534 19.9584 11.5625 19.8785V12.8906H13.8926Z",fill:"white"},null,-1)]))}const Oe=J(Ue,[["render",je]]),Ye={},Ke={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"};function Ze(u,m){return s(),c("svg",Ke,m[0]||(m[0]=[t("rect",{width:"20",height:"20",fill:"url(#pattern0_1988_3736)"},null,-1),t("defs",null,[t("pattern",{id:"pattern0_1988_3736",patternContentUnits:"objectBoundingBox",width:"1",height:"1"},[t("use",{"xlink:href":"#image0_1988_3736",transform:"scale(0.015625)"})]),t("image",{id:"image0_1988_3736",width:"64",height:"64","xlink:href":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAANXUlEQVR4AdVbCXgURRZ+3XPnnMkYREQIIYsiiAoIKxA1XHIIGL8FORQFT2RBDjXggbgui8ii8O2niLpE8MBlEVAgKEciAgZQLgFdEELCKgghyRw55u6t19LjTE9VT/dkXHfr++brrvdevTq6jvf+V8PBr5zcC17tGKxzThCcjm6Cw5EbrL6YLbjcJqGpSSc0NHJYPZeaInAWS5DLSPfqsi+r5qzWCi7Tul9nyyxOL5r+3a/ZRLEByaxAEATO9af594TO/PC4/+SpTsHTVWYQhMSq4DjQtWvrMeS1P8a3ab0kY87s9ziOS1AZvQlJG4CGBX9r5fvxzDL/wcMDgpVVJnp1zaPqctp6DTdev9V4ZZtHUoumnG2etp9LN3sAHK++niscP17s27k7P+RyN1ufmk7xGemC8ZY+X3AdOky0Tn+sQk0ZlkzCDRZWr9Y59x58y7u19P5QnSNhPayGqaHzNmvINKDfO5k9b3iYGzUqqKaMXCahhrvnLSjw7ixf7z/2XYZc4W+RN3Tq6DLd2ntE+uwnP9dav+YBcBY9t6jp403ThYYGzWW1Nk6LPJeWJljuvOPVzPkvzNRUTq0wTnnHp2Xlnq2lN6kt81vImW/vt9868LaeapeEqq8orFyZWluy/ahv956c36JTWus09bm50ja4b2du/PiGeGXjDgB2vmbt5gr//gMt4in7X+IbunW9YL9rcG68QeCVGo3TvnZz6bH/t85jn7DNdZtLj2IflPqoV2I6tny+17ervK2STKI8LsUCXEoKcGZiKLrdEHK6ElXFLOfdVZ7jSE3ZSwS6s4SYS8A5a84rje//YzqroBY6n2UDY34vMN2aD/qOHUDf5irg0tOjVAg+H4SqayB04QL4DhwC345d4NvzFQgeT5RcIhnLuDGLrC/NfYJWljoA7vkL+zasWLWtOUcdOZYgZfxYMA8eAIbrOgHwiquN1jYQvF7w7fwS6l9bRqb0IaqMGiIekanjR/el2QkxA4Brpmb5B7WJGjk4tVPuuwdSJz0IvDVTTftUyfh2kYFY/Dr49n2tSl4uhMaSfeLYLPnxGPNZnHsPvZlo500D+0H27m2QPntmUjuPnTH26QVZa96DjLlPA+gVty5538U89sm57/AyOTNqBqBj4y1ecVKzbU/c1rSpkyBtxhTi3EeplNeXlLz/wGFwPDYNgmfPadKHvoNxwuj2tunTK6WCUUMpnDixXGvnOZMJMpcsBPOQgZJOxWfgu+MQqDoDoYtkw6u+KH5N3p4FBAgBQ7cbATfMeMnQ9Xqwb1wDNXeOhuCZf8cTD/NJ33g4XllMCAUSMfy50J+vX7niB60ubebil8Fy13BJH/XpP3wEmlavBe+2Mgie+4kqIxLJRmnofC2Yhw2BlHvHkGPSwpYlnEBFJdQWjgbSMUW5SCafmUE2xPtbpT01WWxIeA9AMENr51MfmqDY+SD50o5J06Bm2EhofHeVcuexlaEQ+L85Cu55L0N1737QWPwuKKFJ+twcsC1/A3AWqk3E3uD8P5x+U5IXBwBhLERyJKKap/HmHpD+NPVoFYt7Sj6DiwOGg2fTp2rUxciEamrB9fw8cDw8BYT6+hi+RDB0uwFSH31Ayqp6+g99MxD7jMLiACCGpwnGIhtdxvNkN9bpqBU2LH1L/PLJMGI8n22D2rvvUzSIUic9BLqWl1PbQiMSnNLkenHBOOSJA4AAJk2QRTMPHgj6a6+hsj3rN4J7/iLFqUstqED0HzkGzhmzmRK4V6TNmsHk0xihqjPTkC4OAKK3NCEqjWxUaU9MpbICJ06Cs+hZKq+5RM/GzeDZUMJUY7lzGPB2O5MvZ/hPVYh95kXcHqFrlclIjip9XnuqNK5ZoYluu+NRlzZzKmR9+A7YVr4l2gx8hjZEzf3XJWTrZ0B/5MMQMITaLhoxWFFpdi1YfDWPQQulnVZe2FRwi5wk5n3l+8C3u5zK07fPFc/ttMcfA2Ov34PptnxImzYZ7CUfAd8im1qGRiRrFzxbttNYIs00SMM+TmIV5Ph8gMeIDVMjhWFkDEDD2+9QpMk+2fpKyFr/IeiubBXD1xGvEAdCS/JuL2OKEyRIdK+ZAjKG4HJ25TFcJaMzs8SUBOJUxPDRlUVnhZbSpjwKxPigsUSa+fb+TB6N4S37gkb+mUZ8BL6leuBKcNTl8hirY2uM5vBXtIwmXMr5935NXfv49S0jC6llJCJPTGAERdQmNKGFejbUp7tcw3FYXdOCx0Cl2srRXqelwOlKGhnMuCbjeG44e9Dv15JwEFhJ0wwgfecxSstSJqfzl9EHgNUgPQIhcVLoLDHJNQZPQw627a/lZMG+81KIOk47RTaXlkoVY01JNZ6d/5sjVJ1KRBJOZ7K1YIuk3RzPMmdpNSB4SUscC/khzk28RIDLeCIxfD6TjTSFauti5JUIPIGt4rfykobgj+eounStrqDS1bipiPlpSsQP4RROFaFO/QCQGS3wZDQDahvg//Zf1PVq7EE3JQInTymqRn7wR21hfnSBldzf4E/nFeuMZOKtFGLYp9Jt10jJS++4BHxfH4jhoEGDDZMnPB6VkrdU4UxnFDR06czgECv51GlAN1ptwis5PGc2qS9BNHvWfkLVbxl3dwwdByt0/kIMXSJ4S3dIr6qfhu5dmbK+vV8xeTSGLtt+gSfW3Wkak0VDgEPw+2PYKWNGAn+5zAojeAFrveLJ4f9qf4weRQKxKcxDBzFFfOUYBFKfOKutgidTV9M8DDmc4Nn4aUwtGAjJ+POcKDoGRFhWnpeYzrSBjFIgy6ATxTpa0Qv1fb5TVkI5y2VkHuD113YpBr1qW0jU6H7xJSoQae5HwNYIlIi1OaIS9B41JbL7o1/BSk1r1mmLLxJ9ZPb/nbcM7Velz8trYimm0dHycz33YgzLf/QYQPAXf914E/10wIKh8+p3a5S3FA4DckMMX2MTsSQbl6+MpStQdLk5noyiacd5lNHntPlWQZbK8nyyCZrWbYjiYTAznMgIK21YMftFuGDsC54y6XPYkBjihngCaEmG9rnka12CxAy5OQTE056cM2ZB4werwwUjBwBBENZ6xQIYP4xcLmElshd0wW0rljF1hVwu6myUqYnJ8m3bLEaiOANSZ838UN+po6ZlIGok0901aw7U3fsgIBjqK98Trkhp/aMQ2g2IECklhLztJesAB5OV3HP/onjU0sqR26fejOeK3keeOAB4/dTYozv9gKdpkNG8JJbvmPpEFCZguIl9XkvFEQ2yLV8ahTEiwouwmfWNJWBf8z5BkuhmNuoQl+Ga9ZI61U/DDV22SFduw7FB3TW5j/Pp6aNC7uTc9iQDqqpBpv4FgD/RiyP2BX+ZXVU5DLw4pj2lSjZSCENjhtbtHpZo4gzATNrYseeNt/b5QmI054lBCt1VrakqxIAohYOwmerOE2PM8ccZbISYol8ikTD7DikuiLTwAGDGOKhgrO6Klqq9QyxDS0q7P34135faLDapDvRFyEVNMerEhMclYcqTbKghuDpnQiQragBSR4w4axo6eGmkQCLvrOmPoTJ0kOomPAKNK8gepBIJQovR8/EmqO47FJpW/TORJollTAP7F0feDUCiGCCM1EiChnzNiLtrSLDUGknX8m7fvI6KHqPvXztuYlgVmsqW0X8Qw+Hy6zR4vAWOfy+eLhgRQhO8OYl1RSa8CUrKye4YIpeh7wqerNieyIaIPoGh49WSuqinHP3BmB/+XM+8IJ7ziCKjTR88d04R+Y1SqiKDl6TwMrX8fhAWjVoCkq70Z4rKLGNGvpTIzS5j9xuJVqpaZuQI60UoC+8GBL4/mdTOo27ziGGv0G6IIY/eUsIghsLTKaMKtblXpBxrA8Rjzn9Us8WNbWxWEi9PM+4IomLmACAz4+V5txl79azCd7VJ/7s8qqi486sASamFEySa8m8+jTfHlYorDgDuB8FbenY25vemo6EUzfp2bSlUAO9WdlCTWqCZRLwsbRvU9zrauo9UHbMJRjLxvcXkyfVCWVmuw2I+TCKzHeR8eR6dF3nCHZ0GosjlkpXXcl1ecQZIDeIKCjzWt1/raB4+ND6GTbmw5Fm7QfGKi1RPMp645m2FQ/LiXZOX6lI1ACiMy8H22iu9yemwiJzZgqQg5snHmBbQuOoXlzlGPkkEPOrwUrTt7de7x5v2kVXGtjaSy3hvXLmqZ9OGkhLfnn1ZcpHs8tKouwD+/QehpnCMXCyp+f/qn6aklqPF6Hzy2Te9n22dSKy08EDKrcDakfeCVrhaqiPeE217NG8ze1z/iJavHqk37iYYKRz5jkuC5B9sXLH6ed+Rg8u923f0J1ghuXHiCoshVPVrdB5dWvTq0LGxRtz7DVes4SX85TSUoYq6S0qygzvKl1qGD+lGAI0cCATgYv87xOus1AIJEH/+62yXLejPR7q0CagKF0naAEgaL93A7Eq+/oz6hUsKA6cqLJFIsSSn6kmAVURvEcBEDA9hLDLz2BuwKqXRQkkfgGj1AE0fbWobqDgxIVBRlU/AkDzB67MKjQ1mslT0xDzmcXAwSvvL3+ftFzBiIwYtCG6P0LVcZzLz/wGn7fJnXXc03AAAAABJRU5ErkJggg=="})],-1)]))}const Fe=J(Ye,[["render",Ze]]),Qe={},Je={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Xe(u,m){return s(),c("svg",Je,m[0]||(m[0]=[t("path",{d:"M18.75 2.5H1.25C0.918479 2.5 0.600537 2.6317 0.366117 2.86612C0.131696 3.10054 0 3.41848 0 3.75L0 16.25C0 16.5815 0.131696 16.8995 0.366117 17.1339C0.600537 17.3683 0.918479 17.5 1.25 17.5H18.75C19.0815 17.5 19.3995 17.3683 19.6339 17.1339C19.8683 16.8995 20 16.5815 20 16.25V3.75C20 3.41848 19.8683 3.10054 19.6339 2.86612C19.3995 2.6317 19.0815 2.5 18.75 2.5V2.5ZM18.4375 3.75L10 11.25L1.56875 3.75H18.4375ZM1.25 16.25V5.15625L9.175 12.1812C9.40311 12.3816 9.69636 12.4922 10 12.4922C10.3036 12.4922 10.5969 12.3816 10.825 12.1812L18.75 5.15625V16.25H1.25Z",fill:"black"},null,-1)]))}const We=J(Qe,[["render",Xe]]),to={},eo={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function oo(u,m){return s(),c("svg",eo,m[0]||(m[0]=[t("path",{d:"M18.75 5H16.25V0H3.75V5H1.25C0.918479 5 0.600537 5.1317 0.366117 5.36612C0.131696 5.60054 0 5.91848 0 6.25L0 15C0 15.3315 0.131696 15.6495 0.366117 15.8839C0.600537 16.1183 0.918479 16.25 1.25 16.25H3.75V20H16.25V16.25H18.75C19.0815 16.25 19.3995 16.1183 19.6339 15.8839C19.8683 15.6495 20 15.3315 20 15V6.25C20 5.91848 19.8683 5.60054 19.6339 5.36612C19.3995 5.1317 19.0815 5 18.75 5V5ZM5 1.25H15V5H5V1.25ZM15 18.75H5V11.25H15V18.75ZM18.75 15H16.25V10H3.75V15H1.25V6.25H18.75V15ZM15.625 8.75H16.875C17.0408 8.75 17.1997 8.68415 17.3169 8.56694C17.4342 8.44973 17.5 8.29076 17.5 8.125C17.5 7.95924 17.4342 7.80027 17.3169 7.68306C17.1997 7.56585 17.0408 7.5 16.875 7.5H15.625C15.4592 7.5 15.3003 7.56585 15.1831 7.68306C15.0658 7.80027 15 7.95924 15 8.125C15 8.29076 15.0658 8.44973 15.1831 8.56694C15.3003 8.68415 15.4592 8.75 15.625 8.75Z",fill:"black"},null,-1)]))}const so=J(to,[["render",oo]]),no={class:"lofty-links"},io=["onClick"],lo={__name:"detailBtns",props:{id:String},setup(u){const m=u,{collectStatus:o,listingId:a,info:v,sold:i}=G[m.id],{copyCode:l}=Dt();async function f(){bt(a,o.value,()=>{o.value=!o.value})}const d={twitter:"https://twitter.com/share?text=Instantly view all photos and details of this hot listing and own the perfect place before other buyers. &url=",facebook:"https://www.facebook.com/sharer/sharer.php?u=",pinterest:"https://pinterest.com/pin/create/button/?url="},r=[{icon:Ne,name:"X",fn:()=>y(d.twitter)},{icon:Oe,name:"Facebook",fn:()=>y(d.facebook)},{icon:Fe,name:"Pinterest",fn:()=>y(d.pinterest)},{icon:We,name:"Email",fn:h},{icon:Mt,name:"Copy Link",fn:x},{icon:so,name:"Print",fn:()=>{setTimeout(window.print,100)}}];function y(C=""){_(`${C}${window.location.href}`)}function _(C){const g=(window.screen.availWidth-800)/2,I=(window.screen.availHeight-600)/2,R=["width=800","height=600",`left=${g}`,`top=${I}`,"resizable=yes","scrollbars=yes"].join(",");window.open(C,"CenteredWindow",R)}function h(){var g;const C=document.createElement("a"),D=encodeURIComponent("Hot Listing - "+((g=v==null?void 0:v.value)==null?void 0:g.address)||""),k=encodeURIComponent("Hi. Take a look at this property: "+window.location.href);C.href=`mailto:?subject=${D}&body=${k}`,C.target="_blank",document.body.appendChild(C),C.click(),document.body.removeChild(C)}function x(){l(window.location.href)}return(C,D)=>(s(),c(M,null,[e(i)?E("",!0):(s(),c("div",{key:0,class:"lofty-btn-item lofty-save",onClick:f},[t("i",{class:T(["lofty_iconfont",e(o)?"lofty-icon-heart-fill":"lofty-icon-heart"])},null,2),D[0]||(D[0]=t("span",null,"Save",-1))])),j(at,{"menu-style":{padding:"0",width:"300px"},right:0,trigger:"click","hide-arrow":"","mobile-fix":"","fit-width":!1},{menu:V(()=>[t("ul",no,[(s(),c(M,null,H(r,k=>t("li",{onClick:ft(()=>{var g;return(g=k.fn)==null?void 0:g.call(k)},["prevent"])},[(s(),O(It(k.icon))),t("span",null,b(k.name),1)],8,io)),64))])]),default:V(()=>[D[1]||(D[1]=t("div",{class:"lofty-btn-item lofty-share"},[t("i",{class:"lofty_iconfont lofty-icon-big-normal-share"}),t("span",null,"Share")],-1))]),_:1})],64))}},ao={class:"lofty-school-panel"},ro=["onClick"],co=["onMouseenter","onClick"],uo={class:"score-circle"},fo={style:{"font-size":"24px"}},mo={class:"school-info"},po={class:"school-name lofty-ellipsis"},vo={class:"school-type"},go={key:1,class:"lofty-school-detail"},ho={class:"school-title"},yo={class:"detail-info"},wo={class:"value"},_o={class:"item"},ko={class:"value"},bo={key:0,class:"item"},Co={class:"value"},Ao={class:"item"},So={class:"value"},xo={key:0,class:"mt20"},Io={class:"value"},Lo={key:1,class:"mt20"},To={class:"value"},Mo={class:"mt20"},Do={class:"value"},Po={class:"mt20"},Vo={class:"value"},Eo={key:2,class:"no-school-data"},$o={__name:"schoolPanel",props:ct({showContent:Boolean,id:String},{modelValue:{},modelModifiers:{}}),emits:ct(["mouseenter","changeSchoolType"],["update:modelValue"]),setup(u,{emit:m}){const{schoolGroups:o}=G[u.id],a=w(""),v=Lt(u,"modelValue"),i=m;function l(_){v.value=_.id,i("mouseenter")}function f(_){a.value=a.value===_.label?"":_.label,i("changeSchoolType",a.value)}const d=w({}),r=w(!1);function y(_){d.value=_,r.value=!0}return(_,h)=>(s(),c("div",ao,[e(r)?P((s(),c("div",go,[t("div",{class:"back-to-list",onClick:h[0]||(h[0]=x=>r.value=!1)},h[3]||(h[3]=[t("span",{class:"lofty_iconfont lofty-icon-prev"},null,-1),N("Back To Previous ")])),t("div",ho,b(e(d).name),1),t("div",yo,[t("div",null,[h[4]||(h[4]=t("div",{class:"label"},"Admission",-1)),t("div",wo,b(e(d).admission),1)]),t("div",_o,[h[5]||(h[5]=t("div",{class:"label"},"Level",-1)),t("div",ko,b(e(d).gradeRange),1)]),e(d).gsRating?(s(),c("div",bo,[h[6]||(h[6]=t("div",{class:"label"},"Rating",-1)),t("div",Co,b(e(d).gsRating),1)])):E("",!0),t("div",Ao,[h[7]||(h[7]=t("div",{class:"label"},"Library",-1)),t("div",So,b(e(d).library?"YES":"NO"),1)])]),e(d).phone?(s(),c("div",xo,[h[8]||(h[8]=t("div",{class:"label"},"Phone",-1)),t("div",Io,b(e(d).phone),1)])):E("",!0),e(d).expenditure?(s(),c("div",Lo,[h[9]||(h[9]=t("div",{class:"label"},"Expenditure",-1)),t("div",To,b(e(Vt)(e(d).expenditure,null,2,"$")),1)])):E("",!0),t("div",Mo,[h[10]||(h[10]=t("div",{class:"label"},"Address",-1)),t("div",Do,b(e(d).address),1)]),t("div",Po,[h[11]||(h[11]=t("div",{class:"label"},"Ratio",-1)),t("div",Vo,b(e(d).ratio),1)])],512)),[[B,u.showContent]]):(s(!0),c(M,{key:0},H(e(o),x=>P((s(),c("div",null,[t("div",{class:"group-title",onClick:C=>f(x)},[t("span",null,[N(b(x.label)+" ",1),t("span",null,b(x.data.length),1)]),t("i",{class:T(["lofty_iconfont lofty-icon-arrow_03_up",{reverse:e(a)!==x.label}])},null,2)],8,ro),t("div",{class:T([e(a)===x.label?"show-school":"hide-school"])},[(s(!0),c(M,null,H(x.data,C=>(s(),c("div",{onMouseenter:D=>l(C),onClick:D=>y(C),class:T([{active:v.value===C.id},"school-item"]),key:C.id},[t("div",uo,[t("span",fo,b(C.gsRating),1),h[1]||(h[1]=t("span",{class:"small-number"},"/10",-1))]),t("div",mo,[t("div",po,b(C.name),1),t("div",vo,[t("span",null,b(C.type),1),h[2]||(h[2]=t("span",{style:{margin:"0 6px"}},"|",-1)),t("span",null,b(C.gradeRange),1)])])],42,co))),128))],2)],512)),[[B,u.showContent]])),256)),e(o).length===0?(s(),c("div",Eo,h[12]||(h[12]=[t("div",{style:{"text-align":"center"}},[t("div",{class:"lofty_iconfont lofty-icon-school2"}),t("div",null,"No School Data")],-1)]))):E("",!0)]))}},Bo="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1736910598105'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='25931'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M797.26907%20115.696523a366.825715%20366.825715%200%200%201%2074.005104%20124.61323%20441.829159%20441.829159%200%200%201%2025.649642%20150.262872%20467.094824%20467.094824%200%200%201-32.049253%20163.702055%201044.493347%201044.493347%200%200%201-79.124793%20162.754912%201474.214441%201474.214441%200%200%201-104.134474%20152.822716%203186.724806%203186.724806%200%200%201-105.081616%20128.145816%20120.927054%20120.927054%200%200%201-15.051886%2013.439183A53.193568%2053.193568%200%200%201%20526.591114%201023.954947h-3.199806a53.50075%2053.50075%200%200%201-35.581838-12.492041%20108.793391%20108.793391%200%200%201-14.411925-13.439184c-34.583499-40.16396-72.085221-83.962899-112.42837-131.345621a1468.505988%201468.505988%200%200%201-112.121189-149.62291%20970.437046%20970.437046%200%200%201-86.189963-160.195068A429.925882%20429.925882%200%200%201%20128.023327%20390.572625c0-51.785654%2010.930536-102.982544%2032.049253-150.262872A402.714735%20402.714735%200%200%201%20243.037139%20115.722122a393.140917%20393.140917%200%200%201%20124.920412-83.63012A366.185754%20366.185754%200%200%201%20517.631658%200.042749c55.036657-0.511969%20109.561344%2010.392969%20160.16947%2032.023655a340.228931%20340.228931%200%200%201%20119.49354%2083.630119z'%20fill='%235F3808'%20p-id='25932'%3e%3c/path%3e%3cpath%20d='M518.297217%20140.347826l205.760301%20198.055168a19.070841%2019.070841%200%200%201%205.734051%2014.027948%2018.533274%2018.533274%200%200%201-18.354085%2018.635668h-19.070841v168.181783a37.296934%2037.296934%200%200%201-37.271336%2037.424926h-93.485521V445.942061a18.789259%2018.789259%200%200%200-18.661266-18.789259h-74.824255a18.789259%2018.789259%200%200%200-18.661266%2018.789259v130.756857h-93.485521a37.296934%2037.296934%200%200%201-37.271335-37.834502v-168.181783h-17.662927a18.507676%2018.507676%200%200%201-14.027948-5.75965%2018.942849%2018.942849%200%200%201%200-26.494391l205.7603-198.055168a18.354085%2018.354085%200%200%201%2025.521649%200z'%20fill='%23FFFFFF'%20p-id='25933'%3e%3c/path%3e%3c/svg%3e",Ho={class:"lofty-detail-map"},Ro={class:"lofty-school-map-container"},qo={key:0,class:"marker-box icon"},Go=["src"],No={__name:"detailMap",props:{id:String},setup(u){const m=u,{info:o,location:a,onLoad:v,schoolMarkers:i}=G[m.id],l=w(!0),f=w(""),d=X(()=>f.value?i.value.filter(S=>S.group===f.value):i.value),r=w(null),y={zoom:14,center:{lat:0,lng:0}},_=w(""),h={mouseEnter:function(S){_.value=S.id,U.value=!1}},x=w("");lt(_,S=>{const n=i.value.find(p=>p.id===S);x.value=n.key,setTimeout(()=>{R(n.hjId)},300)});const C=w(!1);function D(S){r.value=S,setTimeout(()=>{C.value=!0},3e3)}let k=[];function g(){k.forEach(S=>{r.value.removeObject(S)}),k=[]}const I={};async function R(S){if(g(),I[S]){let n=I[S];F(n)}else{const n=await Q.get(`search/hj-data/v1/boundary?type=school&hjId=${S}`);I[S]=n.data||[],F(n.data||[])}}const U=w(!1);function F(S){if(S.forEach(n=>{n.forEach(p=>{const A=new window.H.geo.LineString;p.forEach($=>{A.pushPoint($)}),k.push(new window.H.map.Polygon(new window.H.geo.Polygon(A),{style:{strokeColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-borderColor")||"rgb(25, 25, 25)",fillColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-bgColor")||"rgba(25, 25, 25, 0.2)",lineWidth:2}}))})}),k.forEach(n=>{r.value.addObject(n)}),k.length>0&&U.value){let n=1/0,p=1/0,A=-1/0,$=-1/0;k.forEach(vt=>{const W=vt.getGeometry().getBoundingBox();n=Math.min(n,W.getBottom()),A=Math.max(A,W.getTop()),p=Math.min(p,W.getLeft()),$=Math.max($,W.getRight())}),r.value.getViewModel().setLookAtData({bounds:new window.H.geo.Rect(A,p,n,$)},!0)}}const K=w(!1);return Y(()=>{v.then(()=>{y.center.lat=+o.value.latitude,y.center.lng=+o.value.longitude,K.value=!0})}),(S,n)=>(s(),c("div",Ho,[n[7]||(n[7]=t("div",{class:"lofty-detail-title"},"NEARBY SCHOOLS",-1)),t("div",Ro,[e(K)?(s(),O(Pt,{key:0,style:et({height:e(L)?"380px":"100%"}),config:y,onInit:D},{default:V(()=>[e(C)?(s(),c("div",qo,[j(dt,{data:e(a),map:e(r)},{default:V(()=>[t("img",{src:e(Bo),width:"40",alt:"location"},null,8,Go)]),_:1},8,["data","map"]),(s(!0),c(M,null,H(e(d),p=>(s(),O(dt,{class:"school",active:e(x),"onUpdate:active":n[0]||(n[0]=A=>tt(x)?x.value=A:null),key:p.key,map:e(r),data:p,events:h},null,8,["active","map","data"]))),128))])):E("",!0)]),_:1},8,["style"])):E("",!0),j($o,{modelValue:e(_),"onUpdate:modelValue":n[1]||(n[1]=p=>tt(_)?_.value=p:null),class:"school-area",onMouseenter:n[2]||(n[2]=p=>U.value=!0),onChangeSchoolType:n[3]||(n[3]=p=>f.value=p),showContent:e(l),style:et({width:e(l)?e(L)?"100%":"400px":"0",height:e(l)?e(L)?"fit-content":"460px":"0"}),id:u.id},null,8,["modelValue","showContent","style","id"]),P(t("div",{onClick:n[4]||(n[4]=p=>l.value=!1),class:"hide-school-button"},[t("span",{class:T(["lofty_iconfont lofty-icon-arrow_01_right",{reverse:e(l)}])},null,2),t("span",{style:{"margin-left":"-7px"},class:T(["lofty_iconfont lofty-icon-arrow_01_right",{reverse:e(l)}])},null,2)],512),[[B,!e(L)&&e(l)]]),P(t("div",{onClick:n[5]||(n[5]=p=>l.value=!0),class:"show-school-button"},n[6]||(n[6]=[t("span",{style:{"margin-right":"10px"}},"SCHOOLS",-1),t("span",{class:"lofty_iconfont lofty-icon-arrow_01_right"},null,-1),t("span",{style:{"margin-left":"-7px"},class:"lofty_iconfont lofty-icon-arrow_01_right"},null,-1)]),512),[[B,!e(L)&&!e(l)]])]),n[8]||(n[8]=t("div",{class:"school-disclaimer"},[N(" School data provided by "),t("a",{class:"disclaimer",target:"_blank",href:"https://www.greatschools.org",rel:"noopener"},"GreatSchools"),N(" for your convenience. Please contact schools directly for enrollment eligibility. ")],-1))]))}},Uo={key:0,class:"lofty-detail-title"},zo={class:"lofty-listing"},jo={__name:"similarListing",props:{id:String},setup(u){const{listingId:m}=G[u.id];v();const o=w([]),a=w(!0);async function v(){const i={pageSize:4,detailId:m},l=await Q.get("/search/recommended-listings",{data:i});l.status.code===0&&(o.value=l.data.listings,o.value.forEach(Ct),a.value=o.value.length>0)}return(i,l)=>(s(),c("div",null,[e(a)?(s(),c("div",Uo,"SIMILAR LISTINGS")):E("",!0),t("div",zo,[(s(!0),c(M,null,H(e(o),f=>(s(),O(Et,{house:f,class:"list-card"},null,8,["house"]))),256))])]))}};Bt();wt();rt.initState(()=>{$t(),jQuery(".lofty-listing-detail-page").ready(function(){var i;const u=((i=document.querySelector(".lofty-listing-detail-page"))==null?void 0:i.getAttribute("id"))||"",m=ht(u),{id:o,$:a}=m;Yt(m);const{mapCenter:v}=m.getModuleData();q(oe,{id:o}).mount(a("#lofty-listing-pictures")),q(se,{id:o}).mount(a("#lofty-open-fields")),q(lo,{id:o}).mount(a(".lofty-detail-btns")),q(He,{id:o}).mount(a("#lofty-request-tour")),v.lat&&v.lng&&q(No,{id:o}).mount(a("#lofty-detail-map-container")),q(jo,{id:o}).mount(a("#lofty-detail-similar-listings"))})});
     9      }`]}),o.length<=3&&(v.value=o.length>1?o.length:2),v.value=L?1:v.value,a.initialize()}const f=_(!0);function d(a){const g=document.createElement("div");document.body.appendChild(g),q(ne,{imgList:o,previewImgIndex:a||0,onClose:()=>{f.value=!0}}).mount(g),f.value=!1}return(a,g)=>(s(),c(M,null,[t("swiper-container",{init:"false",class:"swiper-container","slides-per-view":e(v),"space-between":e(L)?0:2,centeredSlides:e(o).length==1},[(s(!0),c(M,null,H(e(o),(w,y)=>(s(),c("swiper-slide",{key:y},[t("img",{src:w,alt:"",onClick:vt(x=>d(y),["stop"])},null,8,le)]))),128))],8,ie),e(i)?(s(),c(M,{key:0},[P(t("div",ae,g[0]||(g[0]=[t("i",{class:"lofty_iconfont lofty-icon-arrow_08_left"},null,-1)]),512),[[B,e(f)]]),P(t("div",re,g[1]||(g[1]=[t("i",{class:"lofty_iconfont lofty-icon-arrow_08_right"},null,-1)]),512),[[B,e(f)]])],64)):E("",!0)],64))}},de={__name:"showMoreButton",props:{id:String},setup(u){const m=u,{module:o}=G[m.id],r=_(!1),v=X(()=>r.value?"Less":"More"),i=o.$(".lofty-other-fields");function l(){r.value=!r.value,i.style.display=r.value?"block":"none"}return(f,d)=>(s(),c("div",{class:"showMoreButton",onClick:l},[t("span",null,"Read "+b(e(v)),1),t("i",{class:T(["lofty_iconfont lofty-icon-arrow_01_right",{rotate:e(r)}])},null,2)]))}},ue={class:"lofty-swiper-calendar-view"},fe=["slides-per-view","slides-per-group","initialSlide"],me=["onClick"],pe={class:"day-num"},ht={__name:"swiperCalendar",props:{id:String,slidesPerView:{type:Number,default:3}},setup(u){const{dayList:m,dayIndex:o}=G[u.id],r=K("swiper"),v=K("prev"),i=K("next");function l(){const d={navigation:{prevEl:v.value,nextEl:i.value}};Object.assign(r.value,d),r.value.initialize()}function f(d){o.value=d}return O(()=>{l()}),(d,a)=>(s(),c("div",ue,[t("swiper-container",{ref_key:"swiper",ref:r,class:"swiper-calendar-container",init:!1,"space-between":10,"slides-per-view":u.slidesPerView,"slides-per-group":u.slidesPerView,initialSlide:e(o)},[(s(!0),c(M,null,H(e(m),(g,w)=>(s(),c("swiper-slide",{class:T(["day-slide",{"day-active":e(o)===w}]),onClick:y=>f(w)},[t("div",null,b(g.week),1),t("div",pe,b(g.dayNum),1),t("div",null,b(g.month),1)],10,me))),256))],8,fe),t("div",{class:"day-prev-button",ref_key:"prev",ref:v},a[0]||(a[0]=[t("i",{class:"lofty_iconfont lofty-icon-arrow_08_left"},null,-1)]),512),t("div",{class:"day-next-button",ref_key:"next",ref:i},a[1]||(a[1]=[t("i",{class:"lofty_iconfont lofty-icon-arrow_08_right"},null,-1)]),512)]))}},ve={class:"lofty-schedule-pop is-scheduled"},ge={class:"title"},he={class:"scheduled-date"},ye={class:"scheduled-time"},we={class:"lofty-schedule-pop"},_e={class:"lofty-tour-type-tab"},ke={class:"lofty_iconfont lofty-icon-arrow_01_down"},be={class:"lofty_iconfont lofty-icon-arrow_01_up"},Ce={class:"lofty-time-list"},Ae=["onClick"],Se={class:"lofty_iconfont lofty-icon-arrow_01_down"},xe={class:"lofty_iconfont lofty-icon-arrow_01_up"},Ie={class:"lofty-time-list"},Le=["onClick"],Te={__name:"schedulePop",props:{id:String,formatDate:Function,isScheduled:Boolean},emits:["submit"],setup(u,{emit:m}){const o=K("popRef"),{tourType:r,dayIndex:v,dayList:i,listingId:l}=G[u.id],[f,d,a,g]=[_(0),_(0),_([]),_([])],w=L?3:5,y=X(()=>({startTime:f.value,endTime:d.value,listingId:l})),x=m;function C(){if(v.value===0)f.value=h();else{const n=i[v.value].date;f.value=+n}a.value=k(f.value)}function D(){const[n,p]=[new Date(f.value),new Date(f.value)];n.setMinutes(n.getMinutes()+15),p.setMinutes(p.getMinutes()+30),d.value=+n,g.value=[+n],I(n)||(g.value.push(+p),d.value=+p)}lt(v,C),lt(f,D);function k(n){const p=[],A=new Date(n).setHours(23,59,59,999);let $=new Date(n);for(;$<=A;)p.push(+$),$.setMinutes($.getMinutes()+15);return p}O(()=>{C(),o.value.open()});function h(){const n=new Date;return n.setMinutes(Math.ceil(n.getMinutes()/15)*15),n.setSeconds(0),n.setMilliseconds(0),n.getMinutes()===0&&(n.setHours(n.getHours()),n.setMinutes(0)),+n}function I(n){return n.getHours()===0&&n.getMinutes()===0&&n.getSeconds()===0&&n.getMilliseconds()===0}const R=_(!1);function U(){x("submit",y.value),L?R.value=!0:Q()}function Q(){o.value.$el.parentNode.remove(),document.body.classList.remove("lofty-overflow-hidden")}const Y=_(!1),S=_(!1);return(n,p)=>(s(),j(ot,{ref_key:"popRef",ref:o,allowClose:!1},{default:V(()=>[P(t("div",ve,[t("div",ge,[p[5]||(p[5]=N("Your Request was Received!")),t("i",{class:"lofty_iconfont lofty-icon-close",onClick:Q}),p[6]||(p[6]=t("div",{class:"scheduled-desc"},"We'll be in touch to confirm our meeting",-1)),t("div",he,b(u.formatDate(e(y).startTime)),1),t("div",ye,b(e(z)("hh:mmp",e(y).startTime))+" - "+b(e(z)("hh:mmp",e(y).endTime)),1),t("div",{class:"lofty-btn lofty-schedule-tour",onClick:p[0]||(p[0]=A=>R.value=!1)},"Schedule Again")])],512),[[B,e(R)&&e(L)]]),P(t("div",we,[t("div",{class:"title"},[p[7]||(p[7]=N("REQUEST A TOUR")),t("i",{class:"lofty_iconfont lofty-icon-close",onClick:Q})]),t("div",_e,[t("div",{class:T(["tab-type",{active:e(r)==="tour_info"}]),onClick:p[1]||(p[1]=A=>r.value="tour_info")},"In-Person",2),t("div",{class:T(["tab-type",{active:e(r)==="virtual_tour"}]),onClick:p[2]||(p[2]=A=>r.value="virtual_tour")},"Virtual Tour",2)]),Z(ht,{class:"lofty-swiper-calendar",id:u.id,"slides-per-view":e(w)},null,8,["id","slides-per-view"]),p[10]||(p[10]=t("div",{class:"lofty-select-time"},"Start Time",-1)),Z(at,{"hide-arrow":"",top:40,"menu-style":{padding:0},"mobile-fix":"",onToggle:p[3]||(p[3]=A=>Y.value=A)},{menu:V(()=>[t("ul",Ce,[(s(!0),c(M,null,H(e(a),A=>(s(),c("li",{class:T([{active:A===e(f)},"time-item"]),onClick:$=>f.value=A},b(e(z)("hh:mm p",A)),11,Ae))),256))])]),default:V(()=>[t("div",{class:T(["lofty-dropdown-time",{open:e(Y)}])},[p[8]||(p[8]=t("i",{class:"lofty_iconfont lofty-icon-time"},null,-1)),t("span",null,b(e(z)("hh:mm p",e(f))),1),P(t("i",ke,null,512),[[B,!e(Y)]]),P(t("i",be,null,512),[[B,e(Y)]])],2)]),_:1}),p[11]||(p[11]=t("div",{class:"lofty-select-time"},"End Time",-1)),Z(at,{"hide-arrow":"",top:40,"menu-style":{padding:0},"mobile-fix":"",onToggle:p[4]||(p[4]=A=>S.value=A)},{menu:V(()=>[t("ul",Ie,[(s(!0),c(M,null,H(e(g),A=>(s(),c("li",{class:T([{active:A===e(d)},"time-item"]),onClick:$=>d.value=A},b(e(z)("hh:mm p",A)),11,Le))),256))])]),default:V(()=>[t("div",{class:T(["lofty-dropdown-time",{open:e(S)}])},[p[9]||(p[9]=t("i",{class:"lofty_iconfont lofty-icon-time"},null,-1)),t("span",null,b(e(z)("hh:mm p",e(d))),1),P(t("i",Se,null,512),[[B,!e(S)]]),P(t("i",xe,null,512),[[B,e(S)]])],2)]),_:1}),t("div",{class:"lofty-btn lofty-schedule-tour",onClick:U},"Schedule a Tour")],512),[[B,!u.isScheduled&&!e(R)]])]),_:1},512))}},Me={class:"lofty-message-pop get-touch"},De={key:0,class:"is-leaved"},Pe={key:1},Ve={__name:"messagePop",props:{message:String},emits:["submit"],setup(u,{emit:m}){const o=m,r=K("popRef"),v=K("textarea"),i=_(u.message),l=_(!1);function f(){l.value=!0,o("submit",i.value)}O(()=>{r.value.open(),pt(()=>{v.value.focus()})});function d(){r.value.$el.parentNode.remove(),document.body.classList.remove("lofty-overflow-hidden")}return(a,g)=>(s(),j(ot,{ref_key:"popRef",ref:r,allowClose:!1},{default:V(()=>[t("div",Me,[t("div",{class:"title"},[g[1]||(g[1]=N("GET IN TOUCH")),t("i",{class:"lofty_iconfont lofty-icon-close",onClick:d})]),e(l)?(s(),c("div",De,g[2]||(g[2]=[t("div",{class:"lofty_iconfont lofty-icon-success"},null,-1),t("div",null,"Thanks!I'll get back to you shortly.",-1)]))):(s(),c("div",Pe,[P(t("textarea",{ref_key:"textarea",ref:v,"onUpdate:modelValue":g[0]||(g[0]=w=>tt(i)?i.value=w:null),class:"message-textarea",placeholder:"type something"},null,512),[[gt,e(i)]]),t("div",{class:"get-touch-submit-btn",onClick:f},"Submit")]))])]),_:1},512))}},Ee={key:0,class:"lofty-mobile-fix-bottom lofty-request-tour-mobile"},$e={key:0,class:"lofty-request-tour lofty-right-container"},Be={class:"title"},He={class:"lofty-tour-type-tab"},Re={key:1,class:"is-scheduled lofty-right-container"},qe={class:"scheduled-date"},Ge={class:"scheduled-time"},Ne={class:"get-touch lofty-right-container"},Ue={key:0,class:"is-leaved"},ze={key:1},Ze={__name:"requestTour",props:{id:String},setup(u){const{tourType:m,listingId:o,sold:r}=G[u.id],v=_(!1),i=_({});function l(k=Date.now()){return new Intl.DateTimeFormat("en-US",{month:"long",day:"numeric",year:"numeric"}).format(new Date(k))}const f=st.getTimeZone();function d(k=!1){k&&(v.value=!1),nt(()=>{const h=document.createElement("div");document.body.appendChild(h),q(Te,{id:u.id,animation:L?"bottomToUp":"fadeIn",formatDate:l,isScheduled:v.value,onSubmit:async I=>{i.value=I;const R={listingId:o,timeZone:f,appointmentStartTime:I.startTime,appointmentEndTime:I.endTime,recordFlag:m.value},U=await F.post("/lead/operate/visitorInfo",{data:R});U.status.code===0?v.value=!0:st.toast(U.status.message,3e3)}}).mount(h)})}function a(){nt(()=>{const k=document.createElement("div");document.body.appendChild(k),q(Ve,{animation:"bottomToUp",message:w.value,onSubmit:h=>{w.value=h,x()}}).mount(k)})}function g(k){k.target.style.height="200px"}const w=_(r?"I like this property. Do you have any recommendations for similar ones?":"I'm interested in this listing"),y=_(!1);function x(){w.value&&nt(async()=>{const k={question:w.value,listingId:o,isSold:r},h=await F.post("/lead/operate/leaveMsg",{data:k});h.status.code===0?y.value=!0:st.toast(h.status.message,3e3)})}const C=_("static"),D=new IntersectionObserver((k,h)=>{k.forEach(I=>{I.isIntersecting?C.value="static":I.boundingClientRect.top<0&&(C.value="sticky")})});return O(()=>{L||D.observe(document.querySelector(".lofty-detail-address"))}),Vt(()=>{L||D.unobserve(document.querySelector(".lofty-detail-address"))}),(k,h)=>e(L)?(s(),c("div",Ee,[t("div",{class:"get-touch-submit-btn",onClick:a},"GET IN TOUCH"),e(r)?E("",!0):(s(),c("div",{key:0,class:"lofty-btn schedule-tour-lofty",onClick:d},"Schedule a Tour"))])):(s(),c("div",{key:1,style:et({position:e(C)}),class:"lofty-right-panel"},[e(r)?E("",!0):(s(),c(M,{key:0},[e(v)?(s(),c("div",Re,[h[7]||(h[7]=t("div",{class:"title"},"Your Request was Received!",-1)),h[8]||(h[8]=t("div",{class:"scheduled-desc"},"We'll be in touch to confirm our meeting",-1)),t("div",qe,b(l(e(i).startTime)),1),t("div",Ge,b(e(z)("hh:mmp",e(i).startTime))+" - "+b(e(z)("hh:mmp",e(i).endTime)),1),t("div",{class:"lofty-btn schedule-tour-lofty",onClick:h[2]||(h[2]=I=>d(!0))},"Schedule Again")])):(s(),c("div",$e,[t("div",Be,[h[6]||(h[6]=N(" REQUEST A TOUR ")),Z(Bt,null,{trigger:V(()=>h[4]||(h[4]=[t("span",{class:"lofty_iconfont lofty-icon-help"},null,-1)])),content:V(()=>h[5]||(h[5]=[t("span",{class:"help-tip"},' If you would like to see this home without being there in person, select the "Virtual Tour" option and your agent will contact you to discuss available opportunities. ',-1)])),_:1})]),t("div",He,[t("div",{class:T(["tab-type",{active:e(m)==="tour_info"}]),onClick:h[0]||(h[0]=I=>m.value="tour_info")},"In-Person",2),t("div",{class:T(["tab-type",{active:e(m)==="virtual_tour"}]),onClick:h[1]||(h[1]=I=>m.value="virtual_tour")},"Virtual Tour",2)]),Z(ht,{class:"lofty-swiper-calendar",id:u.id},null,8,["id"]),t("div",{class:"lofty-btn schedule-tour-lofty",onClick:d},"Schedule a Tour")]))],64)),t("div",Ne,[h[10]||(h[10]=t("div",{class:"title"},"GET IN TOUCH",-1)),e(y)?(s(),c("div",Ue,h[9]||(h[9]=[t("div",{class:"lofty_iconfont lofty-icon-success"},null,-1),t("div",null,"Thanks!I'll get back to you shortly.",-1)]))):(s(),c("div",ze,[P(t("textarea",{"onUpdate:modelValue":h[3]||(h[3]=I=>tt(w)?w.value=I:null),class:"message-textarea",style:et({height:e(r)?"70px":"40px"}),onFocus:g},null,36),[[gt,e(w)]]),t("div",{class:T(["get-touch-submit-btn",{disabled:!e(w)}]),onClick:x},"Submit",2)]))])],4))}},je={},Oe={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ye(u,m){return s(),c("svg",Oe,m[0]||(m[0]=[t("circle",{cx:"10",cy:"10",r:"10",fill:"black"},null,-1),t("path",{d:"M11.0148 9.16585L14.9857 4.54999H14.0447L10.5968 8.55787L7.84294 4.54999H4.66669L8.83106 10.6106L4.66669 15.4511H5.60772L9.24883 11.2186L12.1571 15.4511H15.3334L11.0146 9.16585H11.0148ZM9.72593 10.664L9.30399 10.0605L5.94678 5.25838H7.39215L10.1015 9.13385L10.5234 9.73736L14.0452 14.7749H12.5998L9.72593 10.6642V10.664Z",fill:"white"},null,-1)]))}const Ke=J(je,[["render",Ye]]),Qe={},Fe={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Je(u,m){return s(),c("svg",Fe,m[0]||(m[0]=[t("path",{d:"M20 10C20 4.47715 15.5229 0 10 0C4.47715 0 0 4.47715 0 10C0 14.9913 3.65685 19.1283 8.4375 19.8785V12.8906H5.89844V10H8.4375V7.79688C8.4375 5.29062 9.93043 3.90626 12.2146 3.90626C13.3087 3.90626 14.4531 4.10156 14.4531 4.10156V6.5625H13.1922C11.9499 6.5625 11.5625 7.33335 11.5625 8.12417V10H14.3359L13.8926 12.8906H11.5625V19.8785C16.3431 19.1283 20 14.9913 20 10Z",fill:"#1877F2"},null,-1),t("path",{d:"M13.8926 12.8906L14.3359 10H11.5625V8.12415C11.5625 7.33334 11.9499 6.5625 13.1921 6.5625H14.4531V4.10156C14.4531 4.10156 13.3087 3.90625 12.2146 3.90625C9.93042 3.90625 8.4375 5.29062 8.4375 7.79688V10H5.89844V12.8906H8.4375V19.8785C8.95439 19.9595 9.4768 20.0001 10 20C10.5316 20 11.0534 19.9584 11.5625 19.8785V12.8906H13.8926Z",fill:"white"},null,-1)]))}const Xe=J(Qe,[["render",Je]]),We={},to={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"};function eo(u,m){return s(),c("svg",to,m[0]||(m[0]=[t("rect",{width:"20",height:"20",fill:"url(#pattern0_1988_3736)"},null,-1),t("defs",null,[t("pattern",{id:"pattern0_1988_3736",patternContentUnits:"objectBoundingBox",width:"1",height:"1"},[t("use",{"xlink:href":"#image0_1988_3736",transform:"scale(0.015625)"})]),t("image",{id:"image0_1988_3736",width:"64",height:"64","xlink:href":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAANXUlEQVR4AdVbCXgURRZ+3XPnnMkYREQIIYsiiAoIKxA1XHIIGL8FORQFT2RBDjXggbgui8ii8O2niLpE8MBlEVAgKEciAgZQLgFdEELCKgghyRw55u6t19LjTE9VT/dkXHfr++brrvdevTq6jvf+V8PBr5zcC17tGKxzThCcjm6Cw5EbrL6YLbjcJqGpSSc0NHJYPZeaInAWS5DLSPfqsi+r5qzWCi7Tul9nyyxOL5r+3a/ZRLEByaxAEATO9af594TO/PC4/+SpTsHTVWYQhMSq4DjQtWvrMeS1P8a3ab0kY87s9ziOS1AZvQlJG4CGBX9r5fvxzDL/wcMDgpVVJnp1zaPqctp6DTdev9V4ZZtHUoumnG2etp9LN3sAHK++niscP17s27k7P+RyN1ufmk7xGemC8ZY+X3AdOky0Tn+sQk0ZlkzCDRZWr9Y59x58y7u19P5QnSNhPayGqaHzNmvINKDfO5k9b3iYGzUqqKaMXCahhrvnLSjw7ixf7z/2XYZc4W+RN3Tq6DLd2ntE+uwnP9dav+YBcBY9t6jp403ThYYGzWW1Nk6LPJeWJljuvOPVzPkvzNRUTq0wTnnHp2Xlnq2lN6kt81vImW/vt9868LaeapeEqq8orFyZWluy/ahv956c36JTWus09bm50ja4b2du/PiGeGXjDgB2vmbt5gr//gMt4in7X+IbunW9YL9rcG68QeCVGo3TvnZz6bH/t85jn7DNdZtLj2IflPqoV2I6tny+17ervK2STKI8LsUCXEoKcGZiKLrdEHK6ElXFLOfdVZ7jSE3ZSwS6s4SYS8A5a84rje//YzqroBY6n2UDY34vMN2aD/qOHUDf5irg0tOjVAg+H4SqayB04QL4DhwC345d4NvzFQgeT5RcIhnLuDGLrC/NfYJWljoA7vkL+zasWLWtOUcdOZYgZfxYMA8eAIbrOgHwiquN1jYQvF7w7fwS6l9bRqb0IaqMGiIekanjR/el2QkxA4Brpmb5B7WJGjk4tVPuuwdSJz0IvDVTTftUyfh2kYFY/Dr49n2tSl4uhMaSfeLYLPnxGPNZnHsPvZlo500D+0H27m2QPntmUjuPnTH26QVZa96DjLlPA+gVty5538U89sm57/AyOTNqBqBj4y1ecVKzbU/c1rSpkyBtxhTi3EeplNeXlLz/wGFwPDYNgmfPadKHvoNxwuj2tunTK6WCUUMpnDixXGvnOZMJMpcsBPOQgZJOxWfgu+MQqDoDoYtkw6u+KH5N3p4FBAgBQ7cbATfMeMnQ9Xqwb1wDNXeOhuCZf8cTD/NJ33g4XllMCAUSMfy50J+vX7niB60ubebil8Fy13BJH/XpP3wEmlavBe+2Mgie+4kqIxLJRmnofC2Yhw2BlHvHkGPSwpYlnEBFJdQWjgbSMUW5SCafmUE2xPtbpT01WWxIeA9AMENr51MfmqDY+SD50o5J06Bm2EhofHeVcuexlaEQ+L85Cu55L0N1737QWPwuKKFJ+twcsC1/A3AWqk3E3uD8P5x+U5IXBwBhLERyJKKap/HmHpD+NPVoFYt7Sj6DiwOGg2fTp2rUxciEamrB9fw8cDw8BYT6+hi+RDB0uwFSH31Ayqp6+g99MxD7jMLiACCGpwnGIhtdxvNkN9bpqBU2LH1L/PLJMGI8n22D2rvvUzSIUic9BLqWl1PbQiMSnNLkenHBOOSJA4AAJk2QRTMPHgj6a6+hsj3rN4J7/iLFqUstqED0HzkGzhmzmRK4V6TNmsHk0xihqjPTkC4OAKK3NCEqjWxUaU9MpbICJ06Cs+hZKq+5RM/GzeDZUMJUY7lzGPB2O5MvZ/hPVYh95kXcHqFrlclIjip9XnuqNK5ZoYluu+NRlzZzKmR9+A7YVr4l2gx8hjZEzf3XJWTrZ0B/5MMQMITaLhoxWFFpdi1YfDWPQQulnVZe2FRwi5wk5n3l+8C3u5zK07fPFc/ttMcfA2Ov34PptnxImzYZ7CUfAd8im1qGRiRrFzxbttNYIs00SMM+TmIV5Ph8gMeIDVMjhWFkDEDD2+9QpMk+2fpKyFr/IeiubBXD1xGvEAdCS/JuL2OKEyRIdK+ZAjKG4HJ25TFcJaMzs8SUBOJUxPDRlUVnhZbSpjwKxPigsUSa+fb+TB6N4S37gkb+mUZ8BL6leuBKcNTl8hirY2uM5vBXtIwmXMr5935NXfv49S0jC6llJCJPTGAERdQmNKGFejbUp7tcw3FYXdOCx0Cl2srRXqelwOlKGhnMuCbjeG44e9Dv15JwEFhJ0wwgfecxSstSJqfzl9EHgNUgPQIhcVLoLDHJNQZPQw627a/lZMG+81KIOk47RTaXlkoVY01JNZ6d/5sjVJ1KRBJOZ7K1YIuk3RzPMmdpNSB4SUscC/khzk28RIDLeCIxfD6TjTSFauti5JUIPIGt4rfykobgj+eounStrqDS1bipiPlpSsQP4RROFaFO/QCQGS3wZDQDahvg//Zf1PVq7EE3JQInTymqRn7wR21hfnSBldzf4E/nFeuMZOKtFGLYp9Jt10jJS++4BHxfH4jhoEGDDZMnPB6VkrdU4UxnFDR06czgECv51GlAN1ptwis5PGc2qS9BNHvWfkLVbxl3dwwdByt0/kIMXSJ4S3dIr6qfhu5dmbK+vV8xeTSGLtt+gSfW3Wkak0VDgEPw+2PYKWNGAn+5zAojeAFrveLJ4f9qf4weRQKxKcxDBzFFfOUYBFKfOKutgidTV9M8DDmc4Nn4aUwtGAjJ+POcKDoGRFhWnpeYzrSBjFIgy6ATxTpa0Qv1fb5TVkI5y2VkHuD113YpBr1qW0jU6H7xJSoQae5HwNYIlIi1OaIS9B41JbL7o1/BSk1r1mmLLxJ9ZPb/nbcM7Velz8trYimm0dHycz33YgzLf/QYQPAXf914E/10wIKh8+p3a5S3FA4DckMMX2MTsSQbl6+MpStQdLk5noyiacd5lNHntPlWQZbK8nyyCZrWbYjiYTAznMgIK21YMftFuGDsC54y6XPYkBjihngCaEmG9rnka12CxAy5OQTE056cM2ZB4werwwUjBwBBENZ6xQIYP4xcLmElshd0wW0rljF1hVwu6myUqYnJ8m3bLEaiOANSZ838UN+po6ZlIGok0901aw7U3fsgIBjqK98Trkhp/aMQ2g2IECklhLztJesAB5OV3HP/onjU0sqR26fejOeK3keeOAB4/dTYozv9gKdpkNG8JJbvmPpEFCZguIl9XkvFEQ2yLV8ahTEiwouwmfWNJWBf8z5BkuhmNuoQl+Ga9ZI61U/DDV22SFduw7FB3TW5j/Pp6aNC7uTc9iQDqqpBpv4FgD/RiyP2BX+ZXVU5DLw4pj2lSjZSCENjhtbtHpZo4gzATNrYseeNt/b5QmI054lBCt1VrakqxIAohYOwmerOE2PM8ccZbISYol8ikTD7DikuiLTwAGDGOKhgrO6Klqq9QyxDS0q7P34135faLDapDvRFyEVNMerEhMclYcqTbKghuDpnQiQragBSR4w4axo6eGmkQCLvrOmPoTJ0kOomPAKNK8gepBIJQovR8/EmqO47FJpW/TORJollTAP7F0feDUCiGCCM1EiChnzNiLtrSLDUGknX8m7fvI6KHqPvXztuYlgVmsqW0X8Qw+Hy6zR4vAWOfy+eLhgRQhO8OYl1RSa8CUrKye4YIpeh7wqerNieyIaIPoGh49WSuqinHP3BmB/+XM+8IJ7ziCKjTR88d04R+Y1SqiKDl6TwMrX8fhAWjVoCkq70Z4rKLGNGvpTIzS5j9xuJVqpaZuQI60UoC+8GBL4/mdTOo27ziGGv0G6IIY/eUsIghsLTKaMKtblXpBxrA8Rjzn9Us8WNbWxWEi9PM+4IomLmACAz4+V5txl79azCd7VJ/7s8qqi486sASamFEySa8m8+jTfHlYorDgDuB8FbenY25vemo6EUzfp2bSlUAO9WdlCTWqCZRLwsbRvU9zrauo9UHbMJRjLxvcXkyfVCWVmuw2I+TCKzHeR8eR6dF3nCHZ0GosjlkpXXcl1ecQZIDeIKCjzWt1/raB4+ND6GTbmw5Fm7QfGKi1RPMp645m2FQ/LiXZOX6lI1ACiMy8H22iu9yemwiJzZgqQg5snHmBbQuOoXlzlGPkkEPOrwUrTt7de7x5v2kVXGtjaSy3hvXLmqZ9OGkhLfnn1ZcpHs8tKouwD+/QehpnCMXCyp+f/qn6aklqPF6Hzy2Te9n22dSKy08EDKrcDakfeCVrhaqiPeE217NG8ze1z/iJavHqk37iYYKRz5jkuC5B9sXLH6ed+Rg8u923f0J1ghuXHiCoshVPVrdB5dWvTq0LGxRtz7DVes4SX85TSUoYq6S0qygzvKl1qGD+lGAI0cCATgYv87xOus1AIJEH/+62yXLejPR7q0CagKF0naAEgaL93A7Eq+/oz6hUsKA6cqLJFIsSSn6kmAVURvEcBEDA9hLDLz2BuwKqXRQkkfgGj1AE0fbWobqDgxIVBRlU/AkDzB67MKjQ1mslT0xDzmcXAwSvvL3+ftFzBiIwYtCG6P0LVcZzLz/wGn7fJnXXc03AAAAABJRU5ErkJggg=="})],-1)]))}const oo=J(We,[["render",eo]]),so={},no={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function io(u,m){return s(),c("svg",no,m[0]||(m[0]=[t("path",{d:"M18.75 2.5H1.25C0.918479 2.5 0.600537 2.6317 0.366117 2.86612C0.131696 3.10054 0 3.41848 0 3.75L0 16.25C0 16.5815 0.131696 16.8995 0.366117 17.1339C0.600537 17.3683 0.918479 17.5 1.25 17.5H18.75C19.0815 17.5 19.3995 17.3683 19.6339 17.1339C19.8683 16.8995 20 16.5815 20 16.25V3.75C20 3.41848 19.8683 3.10054 19.6339 2.86612C19.3995 2.6317 19.0815 2.5 18.75 2.5V2.5ZM18.4375 3.75L10 11.25L1.56875 3.75H18.4375ZM1.25 16.25V5.15625L9.175 12.1812C9.40311 12.3816 9.69636 12.4922 10 12.4922C10.3036 12.4922 10.5969 12.3816 10.825 12.1812L18.75 5.15625V16.25H1.25Z",fill:"black"},null,-1)]))}const lo=J(so,[["render",io]]),ao={},ro={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function co(u,m){return s(),c("svg",ro,m[0]||(m[0]=[t("path",{d:"M18.75 5H16.25V0H3.75V5H1.25C0.918479 5 0.600537 5.1317 0.366117 5.36612C0.131696 5.60054 0 5.91848 0 6.25L0 15C0 15.3315 0.131696 15.6495 0.366117 15.8839C0.600537 16.1183 0.918479 16.25 1.25 16.25H3.75V20H16.25V16.25H18.75C19.0815 16.25 19.3995 16.1183 19.6339 15.8839C19.8683 15.6495 20 15.3315 20 15V6.25C20 5.91848 19.8683 5.60054 19.6339 5.36612C19.3995 5.1317 19.0815 5 18.75 5V5ZM5 1.25H15V5H5V1.25ZM15 18.75H5V11.25H15V18.75ZM18.75 15H16.25V10H3.75V15H1.25V6.25H18.75V15ZM15.625 8.75H16.875C17.0408 8.75 17.1997 8.68415 17.3169 8.56694C17.4342 8.44973 17.5 8.29076 17.5 8.125C17.5 7.95924 17.4342 7.80027 17.3169 7.68306C17.1997 7.56585 17.0408 7.5 16.875 7.5H15.625C15.4592 7.5 15.3003 7.56585 15.1831 7.68306C15.0658 7.80027 15 7.95924 15 8.125C15 8.29076 15.0658 8.44973 15.1831 8.56694C15.3003 8.68415 15.4592 8.75 15.625 8.75Z",fill:"black"},null,-1)]))}const uo=J(ao,[["render",co]]),fo={class:"lofty-links"},mo=["onClick"],po={__name:"detailBtns",props:{id:String},setup(u){const m=u,{collectStatus:o,listingId:r,info:v,sold:i}=G[m.id],{copyCode:l}=Rt();async function f(){Dt(r,o.value,()=>{o.value=!o.value})}const d={twitter:"https://twitter.com/share?text=Instantly view all photos and details of this hot listing and own the perfect place before other buyers. &url=",facebook:"https://www.facebook.com/sharer/sharer.php?u=",pinterest:"https://pinterest.com/pin/create/button/?url="},a=[{icon:Ke,name:"X",fn:()=>g(d.twitter)},{icon:Xe,name:"Facebook",fn:()=>g(d.facebook)},{icon:oo,name:"Pinterest",fn:()=>g(d.pinterest)},{icon:lo,name:"Email",fn:y},{icon:Ht,name:"Copy Link",fn:x},{icon:uo,name:"Print",fn:()=>{setTimeout(window.print,100)}}];function g(C=""){w(`${C}${window.location.href}`)}function w(C){const h=(window.screen.availWidth-800)/2,I=(window.screen.availHeight-600)/2,R=["width=800","height=600",`left=${h}`,`top=${I}`,"resizable=yes","scrollbars=yes"].join(",");window.open(C,"CenteredWindow",R)}function y(){var h;const C=document.createElement("a"),D=encodeURIComponent("Hot Listing - "+((h=v==null?void 0:v.value)==null?void 0:h.address)||""),k=encodeURIComponent("Hi. Take a look at this property: "+window.location.href);C.href=`mailto:?subject=${D}&body=${k}`,C.target="_blank",document.body.appendChild(C),C.click(),document.body.removeChild(C)}function x(){l(window.location.href)}return(C,D)=>(s(),c(M,null,[e(i)?E("",!0):(s(),c("div",{key:0,class:"lofty-btn-item lofty-save",onClick:f},[t("i",{class:T(["lofty_iconfont",e(o)?"lofty-icon-heart-fill":"lofty-icon-heart"])},null,2),D[0]||(D[0]=t("span",null,"Save",-1))])),Z(at,{"menu-style":{padding:"0",width:"300px"},right:0,trigger:"click","hide-arrow":"","mobile-fix":"","fit-width":!1},{menu:V(()=>[t("ul",fo,[(s(),c(M,null,H(a,k=>t("li",{onClick:vt(()=>{var h;return(h=k.fn)==null?void 0:h.call(k)},["prevent"])},[(s(),j(Et(k.icon))),t("span",null,b(k.name),1)],8,mo)),64))])]),default:V(()=>[D[1]||(D[1]=t("div",{class:"lofty-btn-item lofty-share"},[t("i",{class:"lofty_iconfont lofty-icon-big-normal-share"}),t("span",null,"Share")],-1))]),_:1})],64))}},vo={class:"lofty-school-panel"},go=["onClick"],ho=["onMouseenter","onClick"],yo={class:"score-circle"},wo={style:{"font-size":"24px"}},_o={class:"school-info"},ko={class:"school-name lofty-ellipsis"},bo={class:"school-type"},Co={key:1,class:"lofty-school-detail"},Ao={class:"school-title"},So={class:"detail-info"},xo={class:"value"},Io={class:"item"},Lo={class:"value"},To={key:0,class:"item"},Mo={class:"value"},Do={class:"item"},Po={class:"value"},Vo={key:0,class:"mt20"},Eo={class:"value"},$o={key:1,class:"mt20"},Bo={class:"value"},Ho={class:"mt20"},Ro={class:"value"},qo={class:"mt20"},Go={class:"value"},No={key:2,class:"no-school-data"},Uo={__name:"schoolPanel",props:ft({showContent:Boolean,id:String},{modelValue:{},modelModifiers:{}}),emits:ft(["mouseenter","changeSchoolType"],["update:modelValue"]),setup(u,{emit:m}){const{schoolGroups:o}=G[u.id],r=_(""),v=$t(u,"modelValue"),i=m;function l(w){v.value=w.id,i("mouseenter")}function f(w){r.value=r.value===w.label?"":w.label,i("changeSchoolType",r.value)}const d=_({}),a=_(!1);function g(w){d.value=w,a.value=!0}return(w,y)=>(s(),c("div",vo,[e(a)?P((s(),c("div",Co,[t("div",{class:"back-to-list",onClick:y[0]||(y[0]=x=>a.value=!1)},y[3]||(y[3]=[t("span",{class:"lofty_iconfont lofty-icon-prev"},null,-1),N("Back To Previous ")])),t("div",Ao,b(e(d).name),1),t("div",So,[t("div",null,[y[4]||(y[4]=t("div",{class:"label"},"Admission",-1)),t("div",xo,b(e(d).admission),1)]),t("div",Io,[y[5]||(y[5]=t("div",{class:"label"},"Level",-1)),t("div",Lo,b(e(d).gradeRange),1)]),e(d).gsRating?(s(),c("div",To,[y[6]||(y[6]=t("div",{class:"label"},"Rating",-1)),t("div",Mo,b(e(d).gsRating),1)])):E("",!0),t("div",Do,[y[7]||(y[7]=t("div",{class:"label"},"Library",-1)),t("div",Po,b(e(d).library?"YES":"NO"),1)])]),e(d).phone?(s(),c("div",Vo,[y[8]||(y[8]=t("div",{class:"label"},"Phone",-1)),t("div",Eo,b(e(d).phone),1)])):E("",!0),e(d).expenditure?(s(),c("div",$o,[y[9]||(y[9]=t("div",{class:"label"},"Expenditure",-1)),t("div",Bo,b(e(Gt)(e(d).expenditure,null,2,"$")),1)])):E("",!0),t("div",Ho,[y[10]||(y[10]=t("div",{class:"label"},"Address",-1)),t("div",Ro,b(e(d).address),1)]),t("div",qo,[y[11]||(y[11]=t("div",{class:"label"},"Ratio",-1)),t("div",Go,b(e(d).ratio),1)])],512)),[[B,u.showContent]]):(s(!0),c(M,{key:0},H(e(o),x=>P((s(),c("div",null,[t("div",{class:"group-title",onClick:C=>f(x)},[t("span",null,[N(b(x.label)+" ",1),t("span",null,b(x.data.length),1)]),t("i",{class:T(["lofty_iconfont lofty-icon-arrow_03_up",{reverse:e(r)!==x.label}])},null,2)],8,go),t("div",{class:T([e(r)===x.label?"show-school":"hide-school"])},[(s(!0),c(M,null,H(x.data,C=>(s(),c("div",{onMouseenter:D=>l(C),onClick:D=>g(C),class:T([{active:v.value===C.id},"school-item"]),key:C.id},[t("div",yo,[t("span",wo,b(C.gsRating),1),y[1]||(y[1]=t("span",{class:"small-number"},"/10",-1))]),t("div",_o,[t("div",ko,b(C.name),1),t("div",bo,[t("span",null,b(C.type),1),y[2]||(y[2]=t("span",{style:{margin:"0 6px"}},"|",-1)),t("span",null,b(C.gradeRange),1)])])],42,ho))),128))],2)],512)),[[B,u.showContent]])),256)),e(o).length===0?(s(),c("div",No,y[12]||(y[12]=[t("div",{style:{"text-align":"center"}},[t("div",{class:"lofty_iconfont lofty-icon-school2"}),t("div",null,"No School Data")],-1)]))):E("",!0)]))}},zo="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1736910598105'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='25931'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M797.26907%20115.696523a366.825715%20366.825715%200%200%201%2074.005104%20124.61323%20441.829159%20441.829159%200%200%201%2025.649642%20150.262872%20467.094824%20467.094824%200%200%201-32.049253%20163.702055%201044.493347%201044.493347%200%200%201-79.124793%20162.754912%201474.214441%201474.214441%200%200%201-104.134474%20152.822716%203186.724806%203186.724806%200%200%201-105.081616%20128.145816%20120.927054%20120.927054%200%200%201-15.051886%2013.439183A53.193568%2053.193568%200%200%201%20526.591114%201023.954947h-3.199806a53.50075%2053.50075%200%200%201-35.581838-12.492041%20108.793391%20108.793391%200%200%201-14.411925-13.439184c-34.583499-40.16396-72.085221-83.962899-112.42837-131.345621a1468.505988%201468.505988%200%200%201-112.121189-149.62291%20970.437046%20970.437046%200%200%201-86.189963-160.195068A429.925882%20429.925882%200%200%201%20128.023327%20390.572625c0-51.785654%2010.930536-102.982544%2032.049253-150.262872A402.714735%20402.714735%200%200%201%20243.037139%20115.722122a393.140917%20393.140917%200%200%201%20124.920412-83.63012A366.185754%20366.185754%200%200%201%20517.631658%200.042749c55.036657-0.511969%20109.561344%2010.392969%20160.16947%2032.023655a340.228931%20340.228931%200%200%201%20119.49354%2083.630119z'%20fill='%235F3808'%20p-id='25932'%3e%3c/path%3e%3cpath%20d='M518.297217%20140.347826l205.760301%20198.055168a19.070841%2019.070841%200%200%201%205.734051%2014.027948%2018.533274%2018.533274%200%200%201-18.354085%2018.635668h-19.070841v168.181783a37.296934%2037.296934%200%200%201-37.271336%2037.424926h-93.485521V445.942061a18.789259%2018.789259%200%200%200-18.661266-18.789259h-74.824255a18.789259%2018.789259%200%200%200-18.661266%2018.789259v130.756857h-93.485521a37.296934%2037.296934%200%200%201-37.271335-37.834502v-168.181783h-17.662927a18.507676%2018.507676%200%200%201-14.027948-5.75965%2018.942849%2018.942849%200%200%201%200-26.494391l205.7603-198.055168a18.354085%2018.354085%200%200%201%2025.521649%200z'%20fill='%23FFFFFF'%20p-id='25933'%3e%3c/path%3e%3c/svg%3e",Zo={class:"lofty-detail-map"},jo={class:"lofty-school-map-container"},Oo={key:0,class:"marker-box icon"},Yo=["src"],Ko={__name:"detailMap",props:{id:String},setup(u){const m=u,{info:o,location:r,onLoad:v,schoolMarkers:i}=G[m.id],l=_(!0),f=_(""),d=X(()=>f.value?i.value.filter(S=>S.group===f.value):i.value),a=_(null),g={zoom:14,center:{lat:0,lng:0}},w=_(""),y={mouseEnter:function(S){w.value=S.id,U.value=!1}},x=_("");lt(w,S=>{const n=i.value.find(p=>p.id===S);x.value=n.key,setTimeout(()=>{R(n.hjId)},300)});const C=_(!1);function D(S){a.value=S,setTimeout(()=>{C.value=!0},3e3)}let k=[];function h(){k.forEach(S=>{a.value.removeObject(S)}),k=[]}const I={};async function R(S){if(h(),I[S]){let n=I[S];Q(n)}else{const n=await F.get(`search/hj-data/v1/boundary?type=school&hjId=${S}`);I[S]=n.data||[],Q(n.data||[])}}const U=_(!1);function Q(S){if(S.forEach(n=>{n.forEach(p=>{const A=new window.H.geo.LineString;p.forEach($=>{A.pushPoint($)}),k.push(new window.H.map.Polygon(new window.H.geo.Polygon(A),{style:{strokeColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-borderColor")||"rgb(25, 25, 25)",fillColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-bgColor")||"rgba(25, 25, 25, 0.2)",lineWidth:2}}))})}),k.forEach(n=>{a.value.addObject(n)}),k.length>0&&U.value){let n=1/0,p=1/0,A=-1/0,$=-1/0;k.forEach(bt=>{const W=bt.getGeometry().getBoundingBox();n=Math.min(n,W.getBottom()),A=Math.max(A,W.getTop()),p=Math.min(p,W.getLeft()),$=Math.max($,W.getRight())});const ct=a.value.getZoom(),dt=new window.H.geo.Rect(A,p,n,$);a.value.getViewModel().setLookAtData({bounds:dt},!1);const yt=a.value.getZoom(),ut=3,wt=Math.max(ct-ut,4),_t=Math.min(ct+ut,20),kt=Math.max(wt,Math.min(yt,_t));a.value.getViewModel().setLookAtData({bounds:dt,zoom:kt},!0)}}const Y=_(!1);return O(()=>{v.then(()=>{g.center.lat=+o.value.latitude,g.center.lng=+o.value.longitude,Y.value=!0})}),(S,n)=>(s(),c("div",Zo,[n[7]||(n[7]=t("div",{class:"lofty-detail-title"},"NEARBY SCHOOLS",-1)),t("div",jo,[e(Y)?(s(),j(qt,{key:0,style:et({height:e(L)?"380px":"100%"}),config:g,onInit:D},{default:V(()=>[e(C)?(s(),c("div",Oo,[Z(mt,{data:e(r),map:e(a)},{default:V(()=>[t("img",{src:e(zo),width:"40",alt:"location"},null,8,Yo)]),_:1},8,["data","map"]),(s(!0),c(M,null,H(e(d),p=>(s(),j(mt,{class:"school",active:e(x),"onUpdate:active":n[0]||(n[0]=A=>tt(x)?x.value=A:null),key:p.key,map:e(a),data:p,events:y},null,8,["active","map","data"]))),128))])):E("",!0)]),_:1},8,["style"])):E("",!0),Z(Uo,{modelValue:e(w),"onUpdate:modelValue":n[1]||(n[1]=p=>tt(w)?w.value=p:null),class:"school-area",onMouseenter:n[2]||(n[2]=p=>U.value=!0),onChangeSchoolType:n[3]||(n[3]=p=>f.value=p),showContent:e(l),style:et({width:e(l)?e(L)?"100%":"400px":"0",height:e(l)?e(L)?"fit-content":"460px":"0"}),id:u.id},null,8,["modelValue","showContent","style","id"]),P(t("div",{onClick:n[4]||(n[4]=p=>l.value=!1),class:"hide-school-button"},[t("span",{class:T(["lofty_iconfont lofty-icon-arrow_01_right",{reverse:e(l)}])},null,2),t("span",{style:{"margin-left":"-7px"},class:T(["lofty_iconfont lofty-icon-arrow_01_right",{reverse:e(l)}])},null,2)],512),[[B,!e(L)&&e(l)]]),P(t("div",{onClick:n[5]||(n[5]=p=>l.value=!0),class:"show-school-button"},n[6]||(n[6]=[t("span",{style:{"margin-right":"10px"}},"SCHOOLS",-1),t("span",{class:"lofty_iconfont lofty-icon-arrow_01_right"},null,-1),t("span",{style:{"margin-left":"-7px"},class:"lofty_iconfont lofty-icon-arrow_01_right"},null,-1)]),512),[[B,!e(L)&&!e(l)]])]),n[8]||(n[8]=t("div",{class:"school-disclaimer"},[N(" School data provided by "),t("a",{class:"disclaimer",target:"_blank",href:"https://www.greatschools.org",rel:"noopener"},"GreatSchools"),N(" for your convenience. Please contact schools directly for enrollment eligibility. ")],-1))]))}},Qo={key:0,class:"lofty-detail-title"},Fo={class:"lofty-listing"},Jo={__name:"similarListing",props:{id:String},setup(u){const{listingId:m}=G[u.id];v();const o=_([]),r=_(!0);async function v(){const i={pageSize:4,detailId:m},l=await F.get("/search/recommended-listings",{data:i});l.status.code===0&&(o.value=l.data.listings,o.value.forEach(Lt),r.value=o.value.length>0)}return(i,l)=>(s(),c("div",null,[e(r)?(s(),c("div",Qo,"SIMILAR LISTINGS")):E("",!0),t("div",Fo,[(s(!0),c(M,null,H(e(o),f=>(s(),j(Nt,{house:f,class:"list-card"},null,8,["house"]))),256))])]))}};zt();xt();rt.initState(()=>{Ut(),jQuery(".lofty-listing-detail-page").ready(function(){var i;const u=((i=document.querySelector(".lofty-listing-detail-page"))==null?void 0:i.getAttribute("id"))||"",m=At(u),{id:o,$:r}=m;Wt(m);const{mapCenter:v}=m.getModuleData();q(ce,{id:o}).mount(r("#lofty-listing-pictures")),q(de,{id:o}).mount(r("#lofty-open-fields")),q(po,{id:o}).mount(r(".lofty-detail-btns")),q(Ze,{id:o}).mount(r("#lofty-request-tour")),v.lat&&v.lng&&q(Ko,{id:o}).mount(r("#lofty-detail-map-container")),q(Jo,{id:o}).mount(r("#lofty-detail-similar-listings"))})});
  • lofty-idx/trunk/assets/listing.js

    r3312310 r3333213  
    1 import{u as V,d as he,h as I,g as Se,o as Pe,i as te,_ as J}from"./_plugin-vue_export-helper.BXwY9aDM.js";import{c as Ve}from"./module.CKjUdtPN.js";import{r as y,c as U,a as Z,b as ge,o as d,d as _,w as se,e as a,t as w,u as c,f as K,g as h,h as B,F as $,n as me,i as $e,j as k,k as ze,l as Ne,m as Y,p as pe,q as E,v as be,s as Me,x,y as j,z as N,A as je,B as Le,C as ke,T as fe,D as re,E as De,G as Te}from"./vendor.NEC4PHgy.js";import{i as Be,c as He,_ as xe,a as Je}from"./mobileFilter.Kp-Hxn-z.js";import{s as Fe}from"./loading.DTItxkGS.js";import{m as Ge,l as Ce,M as ye,_ as qe}from"./marker.CMP_wZIa.js";import{c as Ke,v as We,g as Ze,h as Ye}from"./verify-email.BuNdX22j.js";import{s as _e,c as Qe}from"./index.BjLmwQWW.js";import{_ as Ie}from"./index.qsOScXF2.js";import{P as Xe}from"./index.zlpipePe.js";import{_ as et}from"./index.uDUgTW0e.js";import{p as tt}from"./standard.CMta1D5J.js";import{d as Ue}from"./outsideclick.Bw_hMuzW.js";import{u as Ee}from"./user.C9PYqYHM.js";import{l as ot}from"./popup-trigger.DYYaUR3O.js";import{a as st}from"./auto-login.DsI-xV2Y.js";import{a as it,s as at}from"./popup-mls.CBKQfXSn.js";import"./index.Ey8cf3te.js";import"./date-format.BrUodQAJ.js";import"./index.DWgDswh1.js";import"./number-format.CLdvQh6j.js";import"./index.C-6OBrPY.js";import"./index.D8G0GxXE.js";import"./google.xpY_32OC.js";import"./useConfirm.BpvHcTF0.js";const Re=V.getTimeZone(),ie={};function nt(t){const e={cancelList:null,cancelMap:null,module:t,hasMap:y(!0),showMap:y(!V.isMobile),featureListingName:y(""),listingType:U(()=>e.featureListingName.value&&!e.sold.value?"featured-listing":e.sold.value?"sold-listing":""),counts:y(0),totalPage:y(0),searchType:y("All"),listings:y([]),mlsList:Z([]),listingSort:y("RELEVANCE"),currPage:y(1),pageSize:y(12),address:y(""),condition:Z({}),uiConfig:Z({}),sold:y(!1),map:y(null),zoom:y(14),mapSyncList:y(!1),rect:null,mapSyncType:y(""),mapPath:y(""),needMapPath:U(()=>["mapArea","polygon"].includes(e.mapSyncType.value)),mapRadius:y([]),polygonPath:y([]),markerData:Z({aggregation:[],house:[],school:[],activeHouse:null,activeHouseKey:1}),showSchool:y(!1),schoolData:{},drawing:y(!1),geometry:y([]),shortCodeConfig:y({}),isShortCode:U(()=>!!e.shortCodeConfig.value.layout)},r={searchList:he(async function(){try{e.cancelList&&e.cancelList.cancel("search-list canceled due to new request."),e.cancelList=ge.CancelToken.source();const o={condition:JSON.stringify(n.formatCondition()),pageSize:e.pageSize.value,page:e.currPage.value,currPage:e.currPage.value,listingSort:e.listingSort.value,listingType:e.listingType.value,featureListingName:e.featureListingName.value,timeline:!0,mls_list_id:JSON.stringify(e.mlsList),uiConfig:JSON.stringify(e.uiConfig),timezone:Re};if(e.mapSyncList.value){let m=n.formatCondition();if(e.mapSyncType.value==="radius")m.location={mapRadius:e.mapRadius.value};else if(e.needMapPath.value&&(m.location={mapPath:e.mapPath.value},!e.mapPath.value))return;o.condition=JSON.stringify(m)}const s={action:"lofty_idx_api",data:o,cancelToken:e.cancelList.token},i=e.module.$(".lofty-listing"),u=Fe(i);i.classList.add("lofty-empty-listing"),n.asyncListConditionToUrl(o),console.log("searchList");const g=await I.get("/search/realTimeListings",s);u(),i.innerHTML=g.data.html,e.totalPage.value=g.data.totalPage,e.counts.value=g.data.counts,e.listings.value=g.data.listings,e.searchType.value=g.data.searchType,i.classList.remove("lofty-empty-listing"),r.addCardEvents()}catch{}},300),searchMap:he(async function(){if(!(!e.showMap.value||!e.map.value||!Number.isInteger(e.zoom.value)))try{e.cancelMap&&e.cancelMap.cancel("search-map canceled due to new request."),e.cancelMap=ge.CancelToken.source(),e.mapSyncList.value&&e.needMapPath.value&&(await r.getMapPath(),e.currPage.value=1,r.searchList());const o={mobile:V.isMobile,mapSearch:!0,layoutType:"map",listingSort:e.listingSort.value,listingType:e.listingType.value,featureListingName:e.featureListingName.value,zoom:e.zoom.value,rect:n.getRect(),condition:JSON.stringify(n.formatCondition()),timezone:Re};n.formatLocation(o);const s={action:"lofty_idx_api",data:o,cancelToken:e.cancelMap.token};r.searchSchool(e.schoolData),n.asyncMapConditionToUrl(),console.log("searchMap");const i=await I.get("/search/realTimeListings",s);e.markerData.aggregation=n.dealAggregationData(i.data.aggregation||[]),e.markerData.house=n.dealHouseData(i.data.house||[]),e.markerData.activeHouse=null,e.markerData.activeHouseKey=Date.now()}catch{}},300),searchSchool:he(async function(o){if(e.showSchool.value){e.schoolData=o;const s={...o,condition:JSON.stringify(n.formatCondition()),zoom:e.zoom.value,rect:n.getRect(),mapSearch:!1,t:Date.now()};if(e.mapSyncList.value){let u=n.formatCondition();u.location={},s.condition=JSON.stringify(u),n.formatLocation(s)}e.markerData.school=[],console.log("searchSchool");const i=await I.get("/search/schools",{data:s});i&&i.data&&(e.markerData.school=i.data.map(u=>(u.key=`school-${u.latitude}${u.longitude}${Date.now()}`,u.lat=+u.latitude,u.lng=+u.longitude,u)))}},300),async getMapPath(){const o={data:{mapPointList:Ge.getFormatBounds(e.map.value)}};e.mapSyncType.value==="polygon"&&(o.data.mapPointList=e.polygonPath.value);const s=await I.post("/search/mapPath",o);e.mapPath.value=s.data.regionId},removeMapTag(){console.log("removeMapTag"),e.mapSyncList.value=!1,e.mapSyncType.value="",e.mapPath.value=null,e.polygonPath.value=[],e.mapRadius.value=[]},addCardEvents(){const o=t.$all(".lofty-listing .lofty-house-item");Array.from(o).forEach(s=>{const i=s.querySelector(".collect-heart");i&&(i.onclick=()=>{const g=s.getAttribute("house-id"),m=i.classList.contains("lofty-icon-heart-fill");Ke(g,m,()=>{m?(i.classList.remove("lofty-icon-heart-fill"),i.classList.add("lofty-icon-heart")):(i.classList.remove("lofty-icon-heart"),i.classList.add("lofty-icon-heart-fill"))})});const u=s.querySelector(".lofty-house-login-box");u&&(u.querySelector(".lofty-register")&&(u.querySelector(".lofty-register").onclick=()=>{_e(()=>{window.location.reload()},"","register")}),u.querySelector(".lofty-login")&&(u.querySelector(".lofty-login").onclick=()=>{_e(()=>{window.location.reload()},"","login")}),u.querySelector(".lofty-verify")&&(u.querySelector(".lofty-verify").onclick=()=>{We()}))})}},n={formatCondition(){let o={};for(let s in e.condition){let i=e.condition[s];e.uiConfig[s]&&e.uiConfig[s].sqft==="acre"&&(i=i.split(",").map(u=>+u?+u*43560:"").toString()),Be(i)&&(o[s]=i)}if(e.address.value="",o.location&&e.mapSyncList.value===!1){const s=Object.values(o.location).reduce((i,u)=>i.concat(u),[]);s.length===1&&(e.address.value=s[0].split(",")[0])}return o},formatLocation(o){if(e.mapSyncType.value==="polygon"){let s=n.formatCondition();s.location={mapPath:e.mapPath.value},o.condition=JSON.stringify(s)}else if(e.mapSyncType.value==="radius"){let s=n.formatCondition();s.location={mapRadius:e.mapRadius.value},o.condition=JSON.stringify(s)}},asyncListConditionToUrl(o){if(e.isShortCode.value)return;let s=window.location.pathname,i=Se();Object.entries(o).forEach(([u,g])=>{let m=g;typeof g=="object"&&(m=JSON.stringify(g)),(u==="uiConfig"||u==="condition")&&(m=encodeURIComponent(m)),m&&["currPage","pageSize","listingSort","listingType","uiConfig","condition","featureListingName"].includes(u)&&(i[u]=m),i.address=encodeURIComponent(e.address.value),document.querySelector(".lofty-is-shortcode")||(i.pageKey=e.sold.value?"sold_listing":"search")}),i.hideMap=e.showMap.value?0:1,s=s+"?"+Pe(i),window.history.pushState(null,"",s)},asyncMapConditionToUrl(){if(e.isShortCode.value)return;let o=window.location.pathname,s=Se();delete s.rect,delete s.polygonPath,delete s.mapRadius,s.zoom=e.zoom.value,s.condition&&(s.condition=encodeURIComponent(s.condition)),s.uiConfig&&(s.uiConfig=encodeURIComponent(s.uiConfig)),e.mapSyncList.value&&(e.mapSyncType.value==="mapArea"?s.rect=encodeURIComponent(n.getRect()):e.mapSyncType.value==="polygon"?s.polygonPath=encodeURIComponent(JSON.stringify(e.polygonPath.value)):e.mapSyncType.value==="radius"&&(s.mapRadius=encodeURIComponent(JSON.stringify(e.mapRadius.value)))),o=o+"?"+Pe(s),window.history.pushState(null,"",o)},initConditionFromUrl(){var s,i;const o=Se();if(o.currPage||o.condition){let u=o.condition?JSON.parse(decodeURIComponent(o.condition)):{},g=o.uiConfig?JSON.parse(decodeURIComponent(o.uiConfig)):{};(s=u.location)!=null&&s.mapPath&&delete u.location.mapPath,(i=u.location)!=null&&i.mapRadius&&delete u.location.mapRadius,o.rect?(e.rect=decodeURIComponent(o.rect),e.mapSyncType.value="mapArea",e.mapSyncList.value=!0):o.polygonPath?(e.polygonPath.value=JSON.parse(decodeURIComponent(o.polygonPath)),e.mapSyncType.value="polygon",e.mapSyncList.value=!0):o.mapRadius&&(e.mapSyncType.value="radius",e.mapRadius.value=JSON.parse(decodeURIComponent(o.mapRadius)),e.mapSyncList.value=!0),Object.keys(u).forEach(m=>{e.condition[m]=u[m]}),Object.keys(g).forEach(m=>{e.uiConfig[m]=g[m]}),e.address.value=decodeURIComponent(o.address||""),e.listingSort.value=o.listingSort||"RELEVANCE",e.currPage.value=+o.currPage||1,e.pageSize.value=+o.pageSize||12,e.zoom.value=+o.zoom||14,e.showMap.value=o.hideMap!=="1"}},dealAggregationData(o){return o.forEach(s=>{s.key=`key-${s.latitude}${s.longitude}${Date.now()}`,s.lat=+s.latitude,s.lng=+s.longitude,Array.isArray(s.bounds)&&(s.bounds=s.bounds.map(i=>({lat:i.latitude,lng:i.longitude})))}),o},dealHouseData(o){o=o.filter(u=>!Ze(u));function s(u){return u.reduce((g,m)=>{if(g===null)return m;let T=g.soldPrice||g.price;return(m.soldPrice||m.price)<T?m:g},null)}const i=Ce.generateDataByLatlng(o);return i.forEach(u=>{const g=s(u.items);u.key=`key-${u.lat}${u.lng}${Date.now()}`,u.price=g.soldPrice||g.price,u.nodisclosureDes=g.nodisclosureDes,u.items.forEach(m=>Ye(m))}),i},getRect(){const o=e.map.value.getViewModel().getLookAtData().bounds.getBoundingBox();if(o)return`${o.getTop()},${o.getLeft()},${o.getBottom()},${o.getRight()}`},toggleMap(){e.showMap.value=!e.showMap.value,e.currPage.value=1,e.pageSize.value=e.showMap.value?12:24,n.toggleClass(),r.searchList()},toggleClass(){e.hasMap.value&&(e.showMap.value?(t.$(".lofty-result-listing").classList.add("has-map"),t.$("#lofty-map-container").classList.remove("lofty-hidden")):(t.$(".lofty-result-listing").classList.remove("has-map"),t.$("#lofty-map-container").classList.add("lofty-hidden")))}},l=t.getModuleData();return e.counts.value=l.counts||0,e.mlsList=Z(l.mls_list),e.searchType.value=l.searchType,e.totalPage.value=l.totalPage||0,e.sold.value=l.sold,e.hasMap.value=l.hasMap,e.shortCodeConfig.value=l.shortcode_config||{},e.featureListingName.value=l.featureListingName||"",e.shortCodeConfig.value.layout||n.initConditionFromUrl(),r.searchList(),{...e,...r,formatCondition:n.formatCondition,formatLocation:n.formatLocation,getRect:n.getRect,toggleMap:n.toggleMap,toggleClass:n.toggleClass,dealHouseData:n.dealHouseData}}function lt(t){ie[t.id]=nt(t)}const rt={class:"lofty-show-more-name"},ut={key:0},ct={class:"lofty-more-panel"},dt={class:"lofty-more-filter-title"},ht={class:"lofty-more-filter-count"},pt={class:"lofty-group-name"},gt={class:"lofty-group-wrapper"},mt={class:"lofty-condition-label"},ft={__name:"moreFilter",props:{moreConfigs:{type:Array,required:!0},condition:Object,uiConfig:Object},setup(t){const e=t,r=U(()=>{const o=new Set;return e.moreConfigs.forEach(s=>{s.conditions.forEach(i=>{o.add(i.name)})}),o}),n=U(()=>{let o=0;for(let s in e.condition){const i=e.condition[s];if(Be(i)&&r.value.has(s)&&(o++,typeof i=="string")){const u=i.split(",");u.length===2&&u.every(g=>!!g)&&o++}}return o});function l(){for(const o of r.value){const s=e.condition[o];Array.isArray(s)?e.condition[o]=[]:typeof s=="object"?e.condition[o]={}:typeof s=="boolean"?e.condition[o]=!1:typeof s=="string"&&(e.condition[o]="")}}return(o,s)=>(d(),_(Ie,{class:"lofty-more-box",right:0,menuStyle:{paddingRight:0},clickMenuClose:!1,"fit-width":!1},{menu:se(()=>[a("div",ct,[a("div",dt,[a("div",ht,w(c(n))+" Filters Applied",1),a("div",{class:"lofty-clear-filter",onClick:l},s[1]||(s[1]=[a("i",{class:"lofty_iconfont lofty-icon-reset"},null,-1),K(" Clear")]))]),(d(!0),h($,null,B(t.moreConfigs,i=>(d(),h("div",{class:"lofty-condition-group",key:i.name},[a("p",pt,w(i.nameText),1),a("div",gt,[(d(!0),h($,null,B(i.conditions,u=>(d(),h("div",{key:u.name,class:"lofty-condition-label-input",style:me({width:u.inputType==="keyWord"?"100%":""})},[a("p",mt,[a("span",null,w(u.label),1)]),(d(),_($e(c(He)[u.inputType]),{modelValue:t.condition[u.name],"onUpdate:modelValue":g=>t.condition[u.name]=g,key:u.name,uiConfig:t.uiConfig,config:u},null,8,["modelValue","onUpdate:modelValue","uiConfig","config"]))],4))),128))])]))),128))])]),default:se(()=>[a("span",rt,[s[0]||(s[0]=K("More ")),c(n)?(d(),h("span",ut,"("+w(c(n))+")",1)):k("",!0)])]),_:1}))}},yt={class:"lofty-listing-search"},vt={key:1,class:"lofty-multi-filter"},wt=["disabled"],St={class:"save-search-pop-container"},Ct={class:"save-search-pop-content"},bt={__name:"searchBar",props:{id:String},setup(t){const e=t,{counts:r,currPage:n,pageSize:l,searchList:o,condition:s,formatCondition:i,formatLocation:u,polygonPath:g,getRect:m,listingSort:T,uiConfig:F,sold:W,zoom:Q,address:oe,mapSyncList:ae,mapSyncType:R,removeMapTag:X,isShortCode:q}=ie[e.id],[M,L,A,ne]=[y([]),y([]),y([]),y([])],ue=U(()=>{if(ae.value){if(R.value==="mapArea")return["Map Area"];if(R.value==="polygon")return["Polygon Search"];if(R.value==="radius")return["Radius Search"]}return[]}),ce=y({});async function ve(){const G={data:{isSold:W.value},headers:{}};q.value||(G.headers.trackingpagekey=W.value?"sold_listing":"search");const S=await I.get("/search/center/conditions",G);S.data.configs.forEach(b=>{let P=null;b.conditions.forEach((O,we)=>{O.name==="location"&&(P=we,ce.value=O),O.inputType==="suggestion"&&!s[O.name]&&(s[O.name]={}),["multiSelect","singleSelect","keyWord"].includes(O.inputType)&&!s[O.name]&&(s[O.name]=[])}),P!==null&&b.conditions.splice(P,1)}),M.value=S.data.configs.filter(b=>b.conditions.length>0),ne.value=JSON.parse(JSON.stringify(M.value));let D=0;M.value.forEach(b=>{b.conditions.forEach(P=>{D<4&&["singleSelect","multiSelect","inputBox","checkBox"].includes(P.inputType)&&(L.value.push(P),D++)}),b.conditions=b.conditions.filter(P=>!L.value.some(O=>O.name===P.name)),b.conditions.length>0&&A.value.push(b)}),pe(s,()=>{n.value=1,o()})}const ee=ze("popRef");function de(){Qe(()=>{ee.value.open()})}Ne(()=>{ve()});const v=U(()=>Object.values(i()).length===0&&!R.value),p=y(""),f=y(7),C=[{label:"Instantly",value:0},{label:"Daily",value:1},{label:"Weekly",value:7},{label:"Biweekly",value:14},{label:"Monthly",value:28}];async function H(){let G=p.value.trim();if(G){const S={condition:i(),uiConfig:F,address:oe.value,listingSort:T.value,currPage:n.value,pageSize:l.value,zoom:Q.value,timezone:V.getTimeZone()};if(R.value==="polygon"&&(S.polygonPath=g.value),R.value==="mapArea"){const b=m(),P=b.split(",");S.rect=b;let O=[{lat:P[0],lng:P[1]},{lat:P[0],lng:P[3]},{lat:P[2],lng:P[3]},{lat:P[2],lng:P[1]}];O=O.map(we=>JSON.stringify(we)),S.condition.location={mapPath:O}}u(S);const D={saveName:G,searchCondition:JSON.stringify(S),mailFrequency:f.value};try{const b=await I.post("/wp-plugin/save-search/saveSearch",{data:D});b.status.code===0&&(p.value="",V.toast(b.data),ee.value.close())}catch(b){console.error("save-search/saveSearch",b)}}}function z(){ee.value.close()}return(G,S)=>(d(),h("div",yt,[Y(xe,{class:"location-suggestion",modelValue:c(s).location,"onUpdate:modelValue":S[0]||(S[0]=D=>c(s).location=D),config:c(ce),"custom-tag":c(ue),onRemoveCustomTag:c(X)},null,8,["modelValue","config","custom-tag","onRemoveCustomTag"]),c(te)?(d(),_(Je,{key:0,condition:c(s),mobileConfigs:c(ne),uiConfig:c(F),counts:c(r),onSaveSearch:de},null,8,["condition","mobileConfigs","uiConfig","counts"])):(d(),h("div",vt,[(d(!0),h($,null,B(c(L),D=>(d(),_($e(c(He)[D.inputType]),{modelValue:c(s)[D.name],"onUpdate:modelValue":b=>c(s)[D.name]=b,class:"lofty-filter-block","show-default-label":!0,"fit-width":!1,uiConfig:c(F),config:D,outSide:""},null,8,["modelValue","onUpdate:modelValue","uiConfig","config"]))),256)),c(A).length>0?(d(),_(ft,{key:0,class:"lofty-filter-block",moreConfigs:c(A),uiConfig:c(F),condition:c(s)},null,8,["moreConfigs","uiConfig","condition"])):k("",!0),c(W)?k("",!0):(d(),h("button",{key:1,class:"save-search lofty-btn",disabled:c(v),onClick:de},S[3]||(S[3]=[a("span",null,"Save Search",-1)]),8,wt))])),Y(Xe,{ref_key:"popRef",ref:ee,class:"save-search-pop"},{default:se(()=>[a("div",St,[S[6]||(S[6]=a("div",{class:"title"},"SAVE THIS SEARCH",-1)),a("div",Ct,[S[4]||(S[4]=a("div",{class:"label"},"Name This Search",-1)),E(a("input",{"onUpdate:modelValue":S[1]||(S[1]=D=>Me(p)?p.value=D:null),placeholder:"Type Something"},null,512),[[be,c(p)]]),S[5]||(S[5]=a("div",{class:"label mt20"},"Property Alert",-1)),Y(et,{class:"mt20",modelValue:c(f),"onUpdate:modelValue":S[2]||(S[2]=D=>Me(f)?f.value=D:null),list:C},null,8,["modelValue"])]),a("div",{class:"save-search-footer"},[a("div",{class:"footer-cancel",onClick:z},"Cancel"),a("div",{class:"footer-save lofty-btn",onClick:H},"Save")])])]),_:1},512)]))}},Lt={class:"lofty-listing-top"},kt={key:0,class:"lofty-page-title"},Pt={key:1,class:"lofty-page-title"},Mt={key:0},Dt={key:0,class:"lofty-current-filter"},Tt={key:1,class:"lofty-map-filter"},_t={style:{margin:"0 10px"}},Et={class:"lofty-sort-list"},Rt=["onClick"],At={class:"lofty_iconfont lofty-icon-checked"},Ot={class:"lofty-filter-name"},$t={__name:"listingFilter",props:{id:String},setup(t){const e=t,{counts:r,listingSort:n,currPage:l,searchType:o,searchList:s,hasMap:i,showMap:u,address:g,sold:m,toggleMap:T,toggleClass:F}=ie[e.id],W=U(()=>r.value.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")),Q=U(()=>o.value==="sold"?r.value===1?"Sold Property Available":"Sold Properties Available":o.value==="For Rent"?r.value===1?"Property ForRent":"Properties For Rent":o.value==="For Sale"?r.value===1?"Property ForSale":"Properties For Sale":o.value==="neighborhood"?r.value===1?"Property AvailableNearby":"Properties AvailableNearby":"Properties Available"),oe=U(()=>m.value?R.value:ae.value),ae=y([{value:"RELEVANCE",label:"Default"},{value:"PRICE_DESC",label:"Price-High To Low"},{value:"PRICE_ASC",label:"Price-Low To High"},{value:"MLS_LIST_DATE_L_DESC",label:"Newest Listings"},{value:"BEDROOMS_DESC",label:"Beds (Most)"},{value:"BATHS_DESC",label:"Baths (Most)"},{value:"BUILT_YEAR_DESC",label:"Year Built (Newest)"},{value:"SQFT_DESC",label:"Square Feet (Biggest)"}]),R=y([{value:"RELEVANCE",label:"Default"},{value:"MLS_LIST_DATE_L_DESC",label:"Most Recent"},{value:"PRICE_DESC",label:"Price-Highest"},{value:"PRICE_ASC",label:"Price-Lowest"},{value:"BEDROOMS_DESC",label:"Beds (Most)"},{value:"BATHS_DESC",label:"Baths (Most)"},{value:"BUILT_YEAR_DESC",label:"Year Built (Newest)"}]),X=U(()=>{var M;return(M=oe.value.find(L=>L.value===n.value))==null?void 0:M.label});function q(M){n.value!==M.value&&(n.value=M.value,l.value=1,s())}return Ne(()=>{F()}),(M,L)=>E((d(),h("div",Lt,[c(r)===0?(d(),h("p",kt,"0 Properties")):(d(),h("p",Pt,[K(w(c(W))+" "+w(c(Q))+" ",1),c(g)?(d(),h("span",Mt," In "+w(c(g)),1)):k("",!0)])),Y(Ie,{class:"lofty-sort-filter",top:40,right:c(te)?"auto":0,left:c(te)?0:"auto","fit-width":!1,hideArrow:!0},{menu:se(()=>[a("ul",Et,[(d(!0),h($,null,B(c(oe),A=>(d(),h("li",{class:"lofty-filter-item",onClick:ne=>q(A)},[K(w(A.label)+" ",1),E(a("i",At,null,512),[[x,c(n)===A.value]])],8,Rt))),256))])]),default:se(()=>[c(te)?(d(),h("span",Dt,[K(w(c(X))+" ",1),L[2]||(L[2]=a("i",{class:"lofty_iconfont lofty-icon-sort_04"},null,-1))])):(d(),h("span",Tt,[L[3]||(L[3]=a("span",{style:{color:"#A8A8A8"}},"Sort by",-1)),a("span",_t,w(c(X)),1),L[4]||(L[4]=a("i",{class:"lofty_iconfont lofty-icon-sort_04"},null,-1))]))]),_:1},8,["right","left"]),!c(te)&&c(i)?(d(),h("span",{key:2,class:"lofty-map-filter",onClick:L[0]||(L[0]=(...A)=>c(T)&&c(T)(...A))},[a("span",Ot,w(c(u)?"Hide Map":"Show Map"),1),L[5]||(L[5]=a("i",{class:"lofty_iconfont lofty-icon-map_01"},null,-1))])):k("",!0),c(te)&&c(i)?(d(),h("div",{key:3,class:"lofty-map-mobile-btn",onClick:L[1]||(L[1]=(...A)=>c(T)&&c(T)(...A))},L[6]||(L[6]=[a("i",{class:"lofty_iconfont lofty-icon-map_01"},null,-1),a("span",null,"Map",-1)]))):k("",!0)],512)),[[x,!c(te)||!c(u)||!c(i)]])}},Nt={__name:"listingPagination",props:{id:String},setup(t){const e=t,{currPage:r,totalPage:n,counts:l,searchList:o}=ie[e.id],s=i=>{r.value=i.page,o()};return(i,u)=>c(l)>1?(d(),_(tt,{key:0,totalPage:c(n),onPageChange:s,pageSize:24,noScroll:!0,pageNum:c(r)},null,8,["totalPage","pageNum"])):k("",!0)}},jt={name:"Select",inject:["isMobile"],directives:{outSideClick:Ue},props:{value:{default:()=>({label:"1 Miles",value:1})},dataList:{type:Array,default:()=>[]}},data(){return{showList:!1}},methods:{changeSelect(t){this.$emit("change",t),this.showList=!1},switchDataList(){this.showList=!this.showList,this.$emit("closeSuggestion")},closeDataList(){this.showList=!1}},mounted(){this.isMobile?(this.$refs.switch.addEventListener("touchend",this.switchDataList),window.addEventListener("resize",this.closeDataList)):this.$refs.switch.addEventListener("click",this.switchDataList)},beforeDestroy(){this.isMobile&&window.removeEventListener("resize",this.closeDataList)}},Bt={class:"select-wrapper"},Ht={ref:"switch"},Gt={class:"label-txt"},It=["onClick"];function Ut(t,e,r,n,l,o){const s=je("out-side-click");return E((d(),h("div",Bt,[a("div",Ht,[a("span",Gt,w(r.value.label),1),a("span",{class:j(["lofty_iconfont lofty-icon-arrow-down",{up:l.showList}])},null,2)],512),E(a("div",{class:"data-list",id:"select-radius-list",onWheel:N(()=>{},["stop"]),onDrag:N(()=>{},["stop"]),onTouchmove:N(()=>{},["stop"]),onTouchstart:N(()=>{},["stop"]),onTouchend:N(()=>{},["stop"])},[a("ul",null,[(d(!0),h($,null,B(r.dataList,(i,u)=>(d(),h("li",{key:u,onClick:g=>o.changeSelect(i)},w(i.label),9,It))),128))])],544),[[x,l.showList]])])),[[s,()=>{l.showList=!1}]])}const Vt=J(jt,[["render",Ut]]),zt={style:function(t="default"){return ge.get("/static/map-style/"+t+".json")},getMapCenter:function(t){return ge.get("/api-site/search/centerPoint?listingType="+(t||"all-listing")).then(e=>new Promise((r,n)=>{const l=e.data?e.data:e;l&&l.geoPoint?r({lat:Ce.getLatitude(l.geoPoint),lng:Ce.getLongitude(l.geoPoint),zoom:l.zoom}):n("Failed to get the center point.")}))},geocode:function(t){return new Promise((e,r)=>{if(t){const n={query:t};I.get("/search/home-j/here-api/geoPoint",{data:n}).then(l=>{l.data&&e({center:l.data})})}else r("Unknown address.")})},latlngToAddress({lat:t,lng:e}){return V.getMapPs().then(r=>new Promise((n,l)=>{const o=new r.LatLng(t,e);new r.Geocoder().geocode({location:o,language:"en"},(i,u)=>{if(u===r.GeocoderStatus.OK)if(i!=null&&i[0]){const g=i[0].formatted_address;n(g)}else l("No results found");else l("Geocoder failed due to: "+u)})}))}};let le="";const xt={name:"radius-search",inject:["isMobile"],data(){return{location:le,suggestList:[],latlng:null,mileList:[1,1.5,2,2.5,3,3.5,4,4.5,5,10,15,20,25,30,50].map(t=>({value:t,label:t+(t>1?" miles":" mile")})),showSuggest:!1}},computed:{radiusValue(){return{value:this.radius,label:`${this.radius} ${this.radius>1?"miles":"mile"}`}}},props:{map:{type:Object},showRadiusOption:{type:Boolean},clearKey:{type:Number,default:1},radius:{type:Number,default:1}},components:{Select:Vt},watch:{clearKey(){le=""}},methods:{searchSuggest:V.debounce(async function(t){const e={query:t.target.value,country:"usa",beginHighlight:encodeURIComponent("<mark>"),endHighlight:encodeURIComponent("</mark>"),maxresults:20},n=(await I.get("/search/home-j/here-api/autoSuggest",{data:e})).data.filter(o=>!!o.address.street),l=[];for(let o=0,s=0,i=n.length;s<5&&o<i;o++){let u=this.formatAddress(n[o]);u&&l.indexOf(u)===-1&&(l.push(u),s++)}this.suggestList=l,this.showSuggest=!0}),async changeLocation(t){le=t.replace(/<mark>|<\/mark>/g,""),this.location=le;let e=await zt.geocode(t.replace(/<mark>|<\/mark>/g,""),!0);this.latlng=e.center,this.$emit("submit",{location:this.latlng,radius:this.radiusValue.value}),this.showSuggest=!1},changeRadius(t){this.$emit("submit",{location:this.latlng,radius:t.value})},clearLocation(){le="",this.location="",this.showSuggest=!1},handleMutual(){this.$refs.select.showList=!1,this.showSuggest=!0},stopResizeEvent(t){return t&&t.preeventDefault?t.preeventDefault():window.event.returnValue=!1,!1},closeSuggestion(){this.showSuggest=!1},formatAddress(t){let e=t.address,r=this.getAddressItem(e,["houseNumber","street"])+this.getAddressItem(e,["city"]);return r?decodeURIComponent(r+this.getAddressItem(e,["state","postalCode"],!1)):null},getAddressItem(t,e,r){let n=[],l;for(let o=0,s=e.length;o<s;o++){let i=t[e[o]];i&&l!==i&&n.push(l=i)}return n.length?n.join(" ")+(r===!1?"":", "):""}},mounted(){this.isMobileSize&&window.addEventListener("resize",this.stopResizeEvent,!1)},beforeUnmount(){this.isMobile&&window.removeEventListener("resize",this.stopResizeEvent)}},Jt={class:"radius-search"},Ft={class:"position-wrapper"},qt={class:"select-container"},Kt={class:"key-search"},Wt={class:"autocomplete"},Zt=["onClick"],Yt=["innerHTML"];function Qt(t,e,r,n,l,o){const s=Le("Select");return E((d(),h("div",Jt,[e[12]||(e[12]=a("div",{class:"radius-search-title"},"Radius",-1)),a("div",Ft,[a("div",qt,[Y(s,{dataList:l.mileList,value:o.radiusValue,onChange:o.changeRadius,onCloseSuggestion:o.closeSuggestion,ref:"select"},null,8,["dataList","value","onChange","onCloseSuggestion"]),e[8]||(e[8]=a("span",{class:"select-tag"},"near",-1))]),a("div",Kt,[e[9]||(e[9]=a("i",{class:"lofty_iconfont lofty-icon-search"},null,-1)),E(a("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=i=>l.location=i),onMousedown:e[1]||(e[1]=N(()=>{},["stop"])),onDblclick:e[2]||(e[2]=N(()=>{},["stop"])),onFocus:e[3]||(e[3]=N((...i)=>o.handleMutual&&o.handleMutual(...i),["stop"])),onTouchstart:e[4]||(e[4]=N((...i)=>o.handleMutual&&o.handleMutual(...i),["stop"])),onInput:e[5]||(e[5]=N((...i)=>o.searchSuggest&&o.searchSuggest(...i),["stop"])),placeholder:"Input a location to center the map",ref:"input",class:j({"show-clear-content":l.location})},null,34),[[be,l.location]]),l.location?(d(),h("i",{key:0,class:"lofty_iconfont lofty-icon-close",onClick:e[6]||(e[6]=(...i)=>o.clearLocation&&o.clearLocation(...i))})):k("",!0)]),e[11]||(e[11]=a("div",{class:"arrow-style"},null,-1)),E(a("ul",Wt,[(d(!0),h($,null,B(l.suggestList,i=>(d(),h("li",{key:i,class:"item",onClick:u=>o.changeLocation(i)},[e[10]||(e[10]=a("i",{class:"lofty_iconfont lofty-icon-location_02"},null,-1)),a("span",{innerHTML:i},null,8,Yt)],8,Zt))),128))],512),[[x,l.suggestList.length>0&&l.showSuggest]]),a("span",{class:"lofty_iconfont lofty-icon-close",id:"close_radius_search_form",onClick:e[7]||(e[7]=N(i=>t.$emit("onClose"),["stop"]))})])],512)),[[x,r.showRadiusOption]])}const Xt=J(xt,[["render",Qt]]),eo=1609.344,to={mixins:[ye],inject:["isMobile"],props:{radius:{type:Number,default:1},clearKey:{type:Number,default:1}},components:{radiusOption:Xt},data(){return{showRadiusOption:!1,className:"search-radius"}},methods:{async initCircle(){this.circle&&this.map.removeObject(this.circle),this.circle=new window.H.map.Circle(this.data,this.radius*eo,{style:{strokeColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-borderColor")||"rgb(25, 25, 25)",lineWidth:2,fillColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-bgColor")||"rgba(25, 25, 25, 0.2)"}}),this.circle.addEventListener("tap",()=>{this.showRadiusOption=!0}),this.circle.addEventListener("pointerenter",()=>{document.body.style.cursor="pointer"}),this.circle.addEventListener("pointerleave",()=>{document.body.style.cursor="default"}),this.map.addObject(this.circle),this.updateRadiusOption()},updateRadiusOption(){this.map&&this.circle&&this.map.getViewModel().setLookAtData({bounds:this.circle.getBoundingBox()},!0)},updateCircle(t){const e={location:t.location||this.data,radius:t.radius||this.radius};this.$emit("updateCircle",e)},onOpen(){this.showRadiusOption=!0},onClose(){this.showRadiusOption=!1}},mounted(){this.showRadiusOption=!0,this.initCircle()},unmounted(){this.circle&&this.map.removeObject(this.circle)}};function oo(t,e,r,n,l,o){const s=Le("radius-option");return t.parentDom?(d(),_(fe,{key:0,to:t.parentDom},[a("div",ke({class:"radius-center",onClick:e[0]||(e[0]=(...i)=>o.onOpen&&o.onOpen(...i)),onTouch:e[1]||(e[1]=(...i)=>o.onOpen&&o.onOpen(...i)),id:"open_radius_search_form"},t.$attrs),[Y(s,{showRadiusOption:l.showRadiusOption,map:t.map,radius:r.radius,clearKey:r.clearKey,onSubmit:o.updateCircle,onOnClose:o.onClose},null,8,["showRadiusOption","map","radius","clearKey","onSubmit","onOnClose"])],16)],8,["to"])):k("",!0)}const so=J(to,[["render",oo]]),io={name:"tip"},ao={class:"draw-tip"};function no(t,e,r,n,l,o){return d(),h("div",ao,[a("p",null,[e[1]||(e[1]=K("Click and drag to draw your search ")),a("span",{class:"cancel",onClick:e[0]||(e[0]=s=>t.$emit("cancel"))}," Cancel")])])}const lo=J(io,[["render",no]]),Ae=35,ro={inject:["store","isMobile","mapbox"],props:{map:Object},data(){return{path:[],lines:[],points:[],showTip:!1,drawing:!1,outPath:[],showSelectDraw:!1,showCircle:!1,location:null,circleRadius:1,timer:null,clearKey:1}},watch:{mapSyncType:{handler(t){this.map&&(t==="mapArea"||!t)&&this.clearDraw()}},outPath(){if(this.outPath&&this.outPath.length>0){let t=JSON.stringify(this.outPath);this.store.polygonPath.value=JSON.parse(t),this.store.mapSyncType.value="polygon",this.store.mapSyncList.value=!0,this.store.geometry.value=[],this.store.condition.location={}}else{if(this.mapSyncType==="mapArea")return;this.store.mapPath.value="",this.store.mapSyncType.value="",this.store.mapSyncList.value=!1,this.store.searchMap(),this.store.searchList()}}},computed:{mapSyncType(){return this.store.mapSyncType.value}},methods:{handleMouseenter(){this.isMobile||(clearTimeout(this.timer),this.showSelectDraw=!0)},handleMouseleave(){this.isMobile||(this.timer=setTimeout(()=>{this.showSelectDraw=!1},300))},handleClick(){this.isMobile&&(this.showSelectDraw=!this.showSelectDraw)},outsidetouchstart(){this.isMobile&&(this.showSelectDraw=!1)},startDraw(){this.store.drawing.value||(this.store.drawing.value=!0,this.showTip=!0,this.tapCb||(this.tapCb=t=>{var e=this.map.screenToGeo(t.currentPointer.viewportX,t.currentPointer.viewportY);this.addPoint(e)}),this.pointermoveThrottle||(this.pointermoveThrottle=V.throttle(t=>{var e=this.map.screenToGeo(t.currentPointer.viewportX,t.currentPointer.viewportY);this.hoverPoint(e)},200)),this.pointermoveCb||(this.pointermoveCb=t=>{this.pointermoveThrottle(t)}),this.createTip(),this.map.addEventListener("pointerdown",this.tapCb),this.map.addEventListener("pointermove",this.pointermoveCb))},endDraw(){this.store.drawing.value=!1,this.showTip=!0,this.tapCb&&this.map.removeEventListener("pointerdown",this.tapCb),this.pointermoveCb&&this.map.removeEventListener("pointermove",this.pointermoveCb),this.clearDashedLine(),this.destroyTip()},clearDraw(){this.path=[],this.outPath=[],this.endDraw(),this.stopListenDragPoint(),this.mainGroup&&(this.pointGroup&&this.mainGroup.removeObject(this.pointGroup),this.mapPolygon&&this.mainGroup.removeObject(this.mapPolygon),this.mapPolyline&&this.mainGroup.removeObject(this.mapPolyline),this.map.removeObject(this.mainGroup)),this.mainGroup=null,this.pointGroup=null,this.mapPolygon=null,this.mapPolyline=null,this.geoLineString=null,this.clearKey=Date.now(),setTimeout(()=>{this.showCircle=!1},100),this.showTip=!1,this.store.drawing.value=!1,this.mapSyncType!=="mapArea"&&this.store.removeMapTag(),this.destroyTip(),this.showSelectDraw=!1},addLineStringPoint(t){this.geoLineString||(this.geoLineString=new window.H.geo.LineString),this.geoLineString.pushLatLngAlt(t.lat,t.lng,0)},closeLineString(t){var e=t.toGeoJSON().coordinates[0];t.pushLatLngAlt(e[1],e[0],e[2]),this.geoLineString.isClosed=!0},initDraw(){this.pointGroup=new window.H.map.Group({visibility:!0}),this.mainGroup=new window.H.map.Group({volatility:!0,objects:[this.pointGroup]}),this.map.addObject(this.mainGroup)},drawPoint(t,e){var r=`<svg width="12" height="12" version="1.1" xmlns="http://www.w3.org/2000/svg">
     1import{u as x,d as he,h as G,g as we,o as Le,i as te,_ as J}from"./_plugin-vue_export-helper.bB-lvPOu.js";import{c as Ve}from"./module.CKjUdtPN.js";import{r as y,c as U,a as W,b as ke,o as d,d as _,w as se,e as a,t as S,u as c,f as q,g as h,h as H,F as $,n as ge,i as Oe,j as L,k as Ge,l as $e,m as Y,p as pe,q as R,v as Se,s as Pe,x as z,y as B,z as j,A as Ne,B as Ce,C as be,T as me,D as re,E as Me,G as De}from"./vendor.DSMCY3-_.js";import{i as je}from"./index.C_5yu3Gg.js";import{s as ze}from"./loading.BdqyMKJZ.js";import{m as Be,l as xe,_ as Je}from"./index.D1LZflJ-.js";import{g as Fe,f as Ze}from"./house-format.CGUVCimM.js";import{c as qe,v as Ke}from"./verify-email.CS8uhOrR.js";import{s as Te,c as We}from"./index.B6VbAP4g.js";import{c as He,_ as Ye,a as Qe}from"./mobileFilter.YOw-E2qB.js";import{_ as Ie}from"./index.Ca0KQw1k.js";import{P as Xe}from"./index.BPxU_3zo.js";import{_ as et}from"./index.BIsjoQ8l.js";import{p as tt}from"./standard.CXwndxZu.js";import{M as fe}from"./marker.IEnWk-Xb.js";import{d as Ue}from"./outsideclick.Bw_hMuzW.js";import{s as ot}from"./service.DFLbHlSk.js";import{u as _e}from"./user.B_wb9Yeq.js";import{l as st}from"./popup-trigger.Dcnct9fd.js";import{a as it}from"./auto-login.C1f3j8uL.js";import{a as at,s as nt}from"./popup-mls.BtxMjRiY.js";import"./date-format.BrUodQAJ.js";import"./index.B1jQkB8N.js";import"./index.DAwEVGKX.js";import"./number-format.CLdvQh6j.js";import"./google.COqmJ1I4.js";import"./index.CblVywxl.js";import"./useConfirm.DafTdZE0.js";const Re=x.getTimeZone(),ie={};function lt(t){const e={cancelList:null,cancelMap:null,module:t,hasMap:y(!0),showMap:y(!x.isMobile),featureListingName:y(""),listingType:U(()=>e.featureListingName.value&&!e.sold.value?"featured-listing":e.sold.value?"sold-listing":""),counts:y(0),totalPage:y(0),searchType:y("All"),listings:y([]),mlsList:W([]),listingSort:y("RELEVANCE"),currPage:y(1),pageSize:y(12),address:y(""),condition:W({}),uiConfig:W({}),sold:y(!1),map:y(null),zoom:y(14),mapSyncList:y(!1),rect:null,mapSyncType:y(""),mapPath:y(""),needMapPath:U(()=>["mapArea","polygon"].includes(e.mapSyncType.value)),mapRadius:y([]),polygonPath:y([]),markerData:W({aggregation:[],house:[],school:[],activeHouse:null,activeHouseKey:1}),showSchool:y(!1),schoolData:{},drawing:y(!1),geometry:y([]),shortCodeConfig:y({}),isShortCode:U(()=>!!e.shortCodeConfig.value.layout)},l={searchList:he(async function(){try{e.cancelList&&e.cancelList.cancel("search-list canceled due to new request."),e.cancelList=ke.CancelToken.source();const o={condition:JSON.stringify(n.formatCondition()),pageSize:e.pageSize.value,page:e.currPage.value,currPage:e.currPage.value,listingSort:e.listingSort.value,listingType:e.listingType.value,featureListingName:e.featureListingName.value,timeline:!0,mls_list_id:JSON.stringify(e.mlsList),uiConfig:JSON.stringify(e.uiConfig),timezone:Re};if(e.mapSyncList.value){let m=n.formatCondition();if(e.mapSyncType.value==="radius")m.location={mapRadius:e.mapRadius.value};else if(e.needMapPath.value&&(m.location={mapPath:e.mapPath.value},!e.mapPath.value))return;o.condition=JSON.stringify(m)}const s={action:"lofty_idx_api",data:o,cancelToken:e.cancelList.token},i=e.module.$(".lofty-listing"),u=ze(i);i.classList.add("lofty-empty-listing"),n.asyncListConditionToUrl(o),console.log("searchList");const g=await G.get("/search/realTimeListings",s);u(),i.innerHTML=g.data.html,e.totalPage.value=g.data.totalPage,e.counts.value=g.data.counts,e.listings.value=g.data.listings,e.searchType.value=g.data.searchType,i.classList.remove("lofty-empty-listing"),l.addCardEvents()}catch{}},300),searchMap:he(async function(){if(!(!e.showMap.value||!e.map.value||!Number.isInteger(e.zoom.value)))try{e.cancelMap&&e.cancelMap.cancel("search-map canceled due to new request."),e.cancelMap=ke.CancelToken.source(),e.mapSyncList.value&&e.needMapPath.value&&(await l.getMapPath(),e.currPage.value=1,l.searchList());const o={mobile:x.isMobile,mapSearch:!0,layoutType:"map",listingSort:e.listingSort.value,listingType:e.listingType.value,featureListingName:e.featureListingName.value,zoom:e.zoom.value,rect:n.getRect(),condition:JSON.stringify(n.formatCondition()),timezone:Re};n.formatLocation(o);const s={action:"lofty_idx_api",data:o,cancelToken:e.cancelMap.token};l.searchSchool(e.schoolData),n.asyncMapConditionToUrl(),console.log("searchMap");const i=await G.get("/search/realTimeListings",s);e.markerData.aggregation=n.dealAggregationData(i.data.aggregation||[]),e.markerData.house=n.dealHouseData(i.data.house||[]),e.markerData.activeHouse=null,e.markerData.activeHouseKey=Date.now()}catch{}},300),searchSchool:he(async function(o){if(e.showSchool.value){e.schoolData=o;const s={...o,condition:JSON.stringify(n.formatCondition()),zoom:e.zoom.value,rect:n.getRect(),mapSearch:!1,t:Date.now()};if(e.mapSyncList.value){let u=n.formatCondition();u.location={},s.condition=JSON.stringify(u),n.formatLocation(s)}e.markerData.school=[],console.log("searchSchool");const i=await G.get("/search/schools",{data:s});i&&i.data&&(e.markerData.school=i.data.map(u=>(u.key=`school-${u.latitude}${u.longitude}${Date.now()}`,u.lat=+u.latitude,u.lng=+u.longitude,u)))}},300),async getMapPath(){const o={data:{mapPointList:Be.getFormatBounds(e.map.value)}};e.mapSyncType.value==="polygon"&&(o.data.mapPointList=e.polygonPath.value);const s=await G.post("/search/mapPath",o);e.mapPath.value=s.data.regionId},removeMapTag(){console.log("removeMapTag"),e.mapSyncList.value=!1,e.mapSyncType.value="",e.mapPath.value=null,e.polygonPath.value=[],e.mapRadius.value=[]},addCardEvents(){const o=t.$all(".lofty-listing .lofty-house-item");Array.from(o).forEach(s=>{const i=s.querySelector(".collect-heart");i&&(i.onclick=()=>{const g=s.getAttribute("house-id"),m=i.classList.contains("lofty-icon-heart-fill");qe(g,m,()=>{m?(i.classList.remove("lofty-icon-heart-fill"),i.classList.add("lofty-icon-heart")):(i.classList.remove("lofty-icon-heart"),i.classList.add("lofty-icon-heart-fill"))})});const u=s.querySelector(".lofty-house-login-box");u&&(u.querySelector(".lofty-register")&&(u.querySelector(".lofty-register").onclick=()=>{Te(()=>{window.location.reload()},"","register")}),u.querySelector(".lofty-login")&&(u.querySelector(".lofty-login").onclick=()=>{Te(()=>{window.location.reload()},"","login")}),u.querySelector(".lofty-verify")&&(u.querySelector(".lofty-verify").onclick=()=>{Ke()}))})}},n={formatCondition(){let o={};for(let s in e.condition){let i=e.condition[s];e.uiConfig[s]&&e.uiConfig[s].sqft==="acre"&&(i=i.split(",").map(u=>+u?+u*43560:"").toString()),je(i)&&(o[s]=i)}if(e.address.value="",o.location&&e.mapSyncList.value===!1){const s=Object.values(o.location).reduce((i,u)=>i.concat(u),[]);s.length===1&&(e.address.value=s[0].split(",")[0])}return o},formatLocation(o){if(e.mapSyncType.value==="polygon"){let s=n.formatCondition();s.location={mapPath:e.mapPath.value},o.condition=JSON.stringify(s)}else if(e.mapSyncType.value==="radius"){let s=n.formatCondition();s.location={mapRadius:e.mapRadius.value},o.condition=JSON.stringify(s)}},asyncListConditionToUrl(o){if(e.isShortCode.value)return;let s=window.location.pathname,i=we();Object.entries(o).forEach(([u,g])=>{let m=g;typeof g=="object"&&(m=JSON.stringify(g)),(u==="uiConfig"||u==="condition")&&(m=encodeURIComponent(m)),m&&["currPage","pageSize","listingSort","listingType","uiConfig","condition","featureListingName"].includes(u)&&(i[u]=m),i.address=encodeURIComponent(e.address.value),document.querySelector(".lofty-is-shortcode")||(i.pageKey=e.sold.value?"sold_listing":"search")}),i.hideMap=e.showMap.value?0:1,s=s+"?"+Le(i),window.history.pushState(null,"",s)},asyncMapConditionToUrl(){if(e.isShortCode.value)return;let o=window.location.pathname,s=we();delete s.rect,delete s.polygonPath,delete s.mapRadius,s.zoom=e.zoom.value,s.condition&&(s.condition=encodeURIComponent(s.condition)),s.uiConfig&&(s.uiConfig=encodeURIComponent(s.uiConfig)),e.mapSyncList.value&&(e.mapSyncType.value==="mapArea"?s.rect=encodeURIComponent(n.getRect()):e.mapSyncType.value==="polygon"?s.polygonPath=encodeURIComponent(JSON.stringify(e.polygonPath.value)):e.mapSyncType.value==="radius"&&(s.mapRadius=encodeURIComponent(JSON.stringify(e.mapRadius.value)))),o=o+"?"+Le(s),window.history.pushState(null,"",o)},initConditionFromUrl(){var s,i;const o=we();if(o.currPage||o.condition){let u=o.condition?JSON.parse(decodeURIComponent(o.condition)):{},g=o.uiConfig?JSON.parse(decodeURIComponent(o.uiConfig)):{};(s=u.location)!=null&&s.mapPath&&delete u.location.mapPath,(i=u.location)!=null&&i.mapRadius&&delete u.location.mapRadius,o.rect?(e.rect=decodeURIComponent(o.rect),e.mapSyncType.value="mapArea",e.mapSyncList.value=!0):o.polygonPath?(e.polygonPath.value=JSON.parse(decodeURIComponent(o.polygonPath)),e.mapSyncType.value="polygon",e.mapSyncList.value=!0):o.mapRadius&&(e.mapSyncType.value="radius",e.mapRadius.value=JSON.parse(decodeURIComponent(o.mapRadius)),e.mapSyncList.value=!0),Object.keys(u).forEach(m=>{e.condition[m]=u[m]}),Object.keys(g).forEach(m=>{e.uiConfig[m]=g[m]}),e.address.value=decodeURIComponent(o.address||""),e.listingSort.value=o.listingSort||"RELEVANCE",e.currPage.value=+o.currPage||1,e.pageSize.value=+o.pageSize||12,e.zoom.value=+o.zoom||14,e.showMap.value=o.hideMap!=="1"}},dealAggregationData(o){return o.forEach(s=>{s.key=`key-${s.latitude}${s.longitude}${Date.now()}`,s.lat=+s.latitude,s.lng=+s.longitude,Array.isArray(s.bounds)&&(s.bounds=s.bounds.map(i=>({lat:i.latitude,lng:i.longitude})))}),o},dealHouseData(o){o=o.filter(u=>!Fe(u));function s(u){return u.reduce((g,m)=>{if(g===null)return m;let T=g.soldPrice||g.price;return(m.soldPrice||m.price)<T?m:g},null)}const i=xe.generateDataByLatlng(o);return i.forEach(u=>{const g=s(u.items);u.key=`key-${u.lat}${u.lng}${Date.now()}`,u.price=g.soldPrice||g.price,u.nodisclosureDes=g.nodisclosureDes,u.items.forEach(m=>Ze(m))}),i},getRect(){const o=e.map.value.getViewModel().getLookAtData().bounds.getBoundingBox();if(o)return`${o.getTop()},${o.getLeft()},${o.getBottom()},${o.getRight()}`},toggleMap(){e.showMap.value=!e.showMap.value,e.currPage.value=1,e.pageSize.value=e.showMap.value?12:24,n.toggleClass(),l.searchList()},toggleClass(){e.hasMap.value&&(e.showMap.value?(t.$(".lofty-result-listing").classList.add("has-map"),t.$("#lofty-map-container").classList.remove("lofty-hidden")):(t.$(".lofty-result-listing").classList.remove("has-map"),t.$("#lofty-map-container").classList.add("lofty-hidden")))}},r=t.getModuleData();return e.counts.value=r.counts||0,e.mlsList=W(r.mls_list),e.searchType.value=r.searchType,e.totalPage.value=r.totalPage||0,e.sold.value=r.sold,e.hasMap.value=r.hasMap,e.shortCodeConfig.value=r.shortcode_config||{},e.featureListingName.value=r.featureListingName||"",e.shortCodeConfig.value.layout||n.initConditionFromUrl(),l.searchList(),{...e,...l,formatCondition:n.formatCondition,formatLocation:n.formatLocation,getRect:n.getRect,toggleMap:n.toggleMap,toggleClass:n.toggleClass,dealHouseData:n.dealHouseData}}function rt(t){ie[t.id]=lt(t)}const ut={class:"lofty-show-more-name"},ct={key:0},dt={class:"lofty-more-panel"},ht={class:"lofty-more-filter-title"},pt={class:"lofty-more-filter-count"},gt={class:"lofty-group-name"},mt={class:"lofty-group-wrapper"},ft={class:"lofty-condition-label"},yt={__name:"moreFilter",props:{moreConfigs:{type:Array,required:!0},condition:Object,uiConfig:Object},setup(t){const e=t,l=U(()=>{const o=new Set;return e.moreConfigs.forEach(s=>{s.conditions.forEach(i=>{o.add(i.name)})}),o}),n=U(()=>{let o=0;for(let s in e.condition){const i=e.condition[s];if(je(i)&&l.value.has(s)&&(o++,typeof i=="string")){const u=i.split(",");u.length===2&&u.every(g=>!!g)&&o++}}return o});function r(){for(const o of l.value){const s=e.condition[o];Array.isArray(s)?e.condition[o]=[]:typeof s=="object"?e.condition[o]={}:typeof s=="boolean"?e.condition[o]=!1:typeof s=="string"&&(e.condition[o]="")}}return(o,s)=>(d(),_(Ie,{class:"lofty-more-box",right:0,menuStyle:{paddingRight:0},clickMenuClose:!1,"fit-width":!1},{menu:se(()=>[a("div",dt,[a("div",ht,[a("div",pt,S(c(n))+" Filters Applied",1),a("div",{class:"lofty-clear-filter",onClick:r},s[1]||(s[1]=[a("i",{class:"lofty_iconfont lofty-icon-reset"},null,-1),q(" Clear")]))]),(d(!0),h($,null,H(t.moreConfigs,i=>(d(),h("div",{class:"lofty-condition-group",key:i.name},[a("p",gt,S(i.nameText),1),a("div",mt,[(d(!0),h($,null,H(i.conditions,u=>(d(),h("div",{key:u.name,class:"lofty-condition-label-input",style:ge({width:u.inputType==="keyWord"?"100%":""})},[a("p",ft,[a("span",null,S(u.label),1)]),(d(),_(Oe(c(He)[u.inputType]),{modelValue:t.condition[u.name],"onUpdate:modelValue":g=>t.condition[u.name]=g,key:u.name,uiConfig:t.uiConfig,config:u},null,8,["modelValue","onUpdate:modelValue","uiConfig","config"]))],4))),128))])]))),128))])]),default:se(()=>[a("span",ut,[s[0]||(s[0]=q("More ")),c(n)?(d(),h("span",ct,"("+S(c(n))+")",1)):L("",!0)])]),_:1}))}},vt={class:"lofty-listing-search"},wt={key:1,class:"lofty-multi-filter"},St=["disabled"],Ct={class:"save-search-pop-container"},bt={class:"save-search-pop-content"},Lt={__name:"searchBar",props:{id:String},setup(t){const e=t,{counts:l,currPage:n,pageSize:r,searchList:o,condition:s,formatCondition:i,formatLocation:u,polygonPath:g,getRect:m,listingSort:T,uiConfig:F,sold:K,zoom:Q,address:oe,mapSyncList:ae,mapSyncType:E,removeMapTag:X,isShortCode:Z}=ie[e.id],[P,k,A,ne]=[y([]),y([]),y([]),y([])],ue=U(()=>{if(ae.value){if(E.value==="mapArea")return["Map Area"];if(E.value==="polygon")return["Polygon Search"];if(E.value==="radius")return["Radius Search"]}return[]}),ce=y({});async function ye(){const N={data:{isSold:K.value},headers:{}};Z.value||(N.headers.trackingpagekey=K.value?"sold_listing":"search");const w=await G.get("/search/center/conditions",N);w.data.configs.forEach(b=>{let M=null;b.conditions.forEach((O,ve)=>{O.name==="location"&&(M=ve,ce.value=O),O.inputType==="suggestion"&&!s[O.name]&&(s[O.name]={}),["multiSelect","singleSelect","keyWord"].includes(O.inputType)&&!s[O.name]&&(s[O.name]=[])}),M!==null&&b.conditions.splice(M,1)}),P.value=w.data.configs.filter(b=>b.conditions.length>0),ne.value=JSON.parse(JSON.stringify(P.value));let D=0;P.value.forEach(b=>{b.conditions.forEach(M=>{D<4&&["singleSelect","multiSelect","inputBox","checkBox"].includes(M.inputType)&&(k.value.push(M),D++)}),b.conditions=b.conditions.filter(M=>!k.value.some(O=>O.name===M.name)),b.conditions.length>0&&A.value.push(b)}),pe(s,()=>{n.value=1,o()})}const ee=Ge("popRef");function de(){We(()=>{ee.value.open()})}$e(()=>{ye()});const v=U(()=>Object.values(i()).length===0&&!E.value),p=y(""),f=y(7),C=[{label:"Instantly",value:0},{label:"Daily",value:1},{label:"Weekly",value:7},{label:"Biweekly",value:14},{label:"Monthly",value:28}];async function I(){let N=p.value.trim();if(N){const w={condition:i(),uiConfig:F,address:oe.value,listingSort:T.value,currPage:n.value,pageSize:r.value,zoom:Q.value,timezone:x.getTimeZone()};if(E.value==="polygon"&&(w.polygonPath=g.value),E.value==="mapArea"){const b=m(),M=b.split(",");w.rect=b;let O=[{lat:M[0],lng:M[1]},{lat:M[0],lng:M[3]},{lat:M[2],lng:M[3]},{lat:M[2],lng:M[1]}];O=O.map(ve=>JSON.stringify(ve)),w.condition.location={mapPath:O}}u(w);const D={saveName:N,searchCondition:JSON.stringify(w),mailFrequency:f.value};try{const b=await G.post("/wp-plugin/save-search/saveSearch",{data:D});b.status.code===0&&(p.value="",x.toast(b.data),ee.value.close())}catch(b){console.error("save-search/saveSearch",b)}}}function V(){ee.value.close()}return(N,w)=>(d(),h("div",vt,[Y(Ye,{class:"location-suggestion",modelValue:c(s).location,"onUpdate:modelValue":w[0]||(w[0]=D=>c(s).location=D),config:c(ce),"custom-tag":c(ue),onRemoveCustomTag:c(X)},null,8,["modelValue","config","custom-tag","onRemoveCustomTag"]),c(te)?(d(),_(Qe,{key:0,condition:c(s),mobileConfigs:c(ne),uiConfig:c(F),counts:c(l),onSaveSearch:de},null,8,["condition","mobileConfigs","uiConfig","counts"])):(d(),h("div",wt,[(d(!0),h($,null,H(c(k),D=>(d(),_(Oe(c(He)[D.inputType]),{modelValue:c(s)[D.name],"onUpdate:modelValue":b=>c(s)[D.name]=b,class:"lofty-filter-block","show-default-label":!0,"fit-width":!1,uiConfig:c(F),config:D,outSide:""},null,8,["modelValue","onUpdate:modelValue","uiConfig","config"]))),256)),c(A).length>0?(d(),_(yt,{key:0,class:"lofty-filter-block",moreConfigs:c(A),uiConfig:c(F),condition:c(s)},null,8,["moreConfigs","uiConfig","condition"])):L("",!0),c(K)?L("",!0):(d(),h("button",{key:1,class:"save-search lofty-btn",disabled:c(v),onClick:de},w[3]||(w[3]=[a("span",null,"Save Search",-1)]),8,St))])),Y(Xe,{ref_key:"popRef",ref:ee,class:"save-search-pop"},{default:se(()=>[a("div",Ct,[w[6]||(w[6]=a("div",{class:"title"},"SAVE THIS SEARCH",-1)),a("div",bt,[w[4]||(w[4]=a("div",{class:"label"},"Name This Search",-1)),R(a("input",{"onUpdate:modelValue":w[1]||(w[1]=D=>Pe(p)?p.value=D:null),placeholder:"Type Something"},null,512),[[Se,c(p)]]),w[5]||(w[5]=a("div",{class:"label mt20"},"Property Alert",-1)),Y(et,{class:"mt20",modelValue:c(f),"onUpdate:modelValue":w[2]||(w[2]=D=>Pe(f)?f.value=D:null),list:C},null,8,["modelValue"])]),a("div",{class:"save-search-footer"},[a("div",{class:"footer-cancel",onClick:V},"Cancel"),a("div",{class:"footer-save lofty-btn",onClick:I},"Save")])])]),_:1},512)]))}},kt={class:"lofty-listing-top"},Pt={key:0,class:"lofty-page-title"},Mt={key:1,class:"lofty-page-title"},Dt={key:0},Tt={key:0,class:"lofty-current-filter"},_t={key:1,class:"lofty-map-filter"},Rt={style:{margin:"0 10px"}},Et={class:"lofty-sort-list"},At=["onClick"],Ot={class:"lofty_iconfont lofty-icon-checked"},$t={class:"lofty-filter-name"},Nt={__name:"listingFilter",props:{id:String},setup(t){const e=t,{counts:l,listingSort:n,currPage:r,searchType:o,searchList:s,hasMap:i,showMap:u,address:g,sold:m,toggleMap:T,toggleClass:F}=ie[e.id],K=U(()=>l.value.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")),Q=U(()=>o.value==="sold"?l.value===1?"Sold Property Available":"Sold Properties Available":o.value==="For Rent"?l.value===1?"Property ForRent":"Properties For Rent":o.value==="For Sale"?l.value===1?"Property ForSale":"Properties For Sale":o.value==="neighborhood"?l.value===1?"Property AvailableNearby":"Properties AvailableNearby":"Properties Available"),oe=U(()=>m.value?E.value:ae.value),ae=y([{value:"RELEVANCE",label:"Default"},{value:"PRICE_DESC",label:"Price-High To Low"},{value:"PRICE_ASC",label:"Price-Low To High"},{value:"MLS_LIST_DATE_L_DESC",label:"Newest Listings"},{value:"BEDROOMS_DESC",label:"Beds (Most)"},{value:"BATHS_DESC",label:"Baths (Most)"},{value:"BUILT_YEAR_DESC",label:"Year Built (Newest)"},{value:"SQFT_DESC",label:"Square Feet (Biggest)"}]),E=y([{value:"RELEVANCE",label:"Default"},{value:"MLS_LIST_DATE_L_DESC",label:"Most Recent"},{value:"PRICE_DESC",label:"Price-Highest"},{value:"PRICE_ASC",label:"Price-Lowest"},{value:"BEDROOMS_DESC",label:"Beds (Most)"},{value:"BATHS_DESC",label:"Baths (Most)"},{value:"BUILT_YEAR_DESC",label:"Year Built (Newest)"}]),X=U(()=>{var P;return(P=oe.value.find(k=>k.value===n.value))==null?void 0:P.label});function Z(P){n.value!==P.value&&(n.value=P.value,r.value=1,s())}return $e(()=>{F()}),(P,k)=>R((d(),h("div",kt,[c(l)===0?(d(),h("p",Pt,"0 Properties")):(d(),h("p",Mt,[q(S(c(K))+" "+S(c(Q))+" ",1),c(g)?(d(),h("span",Dt," In "+S(c(g)),1)):L("",!0)])),Y(Ie,{class:"lofty-sort-filter",top:40,right:c(te)?"auto":0,left:c(te)?0:"auto","fit-width":!1,hideArrow:!0},{menu:se(()=>[a("ul",Et,[(d(!0),h($,null,H(c(oe),A=>(d(),h("li",{class:"lofty-filter-item",onClick:ne=>Z(A)},[q(S(A.label)+" ",1),R(a("i",Ot,null,512),[[z,c(n)===A.value]])],8,At))),256))])]),default:se(()=>[c(te)?(d(),h("span",Tt,[q(S(c(X))+" ",1),k[2]||(k[2]=a("i",{class:"lofty_iconfont lofty-icon-sort_04"},null,-1))])):(d(),h("span",_t,[k[3]||(k[3]=a("span",{style:{color:"#A8A8A8"}},"Sort by",-1)),a("span",Rt,S(c(X)),1),k[4]||(k[4]=a("i",{class:"lofty_iconfont lofty-icon-sort_04"},null,-1))]))]),_:1},8,["right","left"]),!c(te)&&c(i)?(d(),h("span",{key:2,class:"lofty-map-filter",onClick:k[0]||(k[0]=(...A)=>c(T)&&c(T)(...A))},[a("span",$t,S(c(u)?"Hide Map":"Show Map"),1),k[5]||(k[5]=a("i",{class:"lofty_iconfont lofty-icon-map_01"},null,-1))])):L("",!0),c(te)&&c(i)?(d(),h("div",{key:3,class:"lofty-map-mobile-btn",onClick:k[1]||(k[1]=(...A)=>c(T)&&c(T)(...A))},k[6]||(k[6]=[a("i",{class:"lofty_iconfont lofty-icon-map_01"},null,-1),a("span",null,"Map",-1)]))):L("",!0)],512)),[[z,!c(te)||!c(u)||!c(i)]])}},jt={__name:"listingPagination",props:{id:String},setup(t){const e=t,{currPage:l,totalPage:n,counts:r,searchList:o}=ie[e.id],s=i=>{l.value=i.page,o()};return(i,u)=>c(r)>1?(d(),_(tt,{key:0,totalPage:c(n),onPageChange:s,pageSize:24,noScroll:!0,pageNum:c(l)},null,8,["totalPage","pageNum"])):L("",!0)}},Bt={name:"Select",inject:["isMobile"],directives:{outSideClick:Ue},props:{value:{default:()=>({label:"1 Miles",value:1})},dataList:{type:Array,default:()=>[]}},data(){return{showList:!1}},methods:{changeSelect(t){this.$emit("change",t),this.showList=!1},switchDataList(){this.showList=!this.showList,this.$emit("closeSuggestion")},closeDataList(){this.showList=!1}},mounted(){this.isMobile?(this.$refs.switch.addEventListener("touchend",this.switchDataList),window.addEventListener("resize",this.closeDataList)):this.$refs.switch.addEventListener("click",this.switchDataList)},beforeDestroy(){this.isMobile&&window.removeEventListener("resize",this.closeDataList)}},Ht={class:"select-wrapper"},It={ref:"switch"},Ut={class:"label-txt"},Vt=["onClick"];function Gt(t,e,l,n,r,o){const s=Ne("out-side-click");return R((d(),h("div",Ht,[a("div",It,[a("span",Ut,S(l.value.label),1),a("span",{class:B(["lofty_iconfont lofty-icon-arrow-down",{up:r.showList}])},null,2)],512),R(a("div",{class:"data-list",id:"select-radius-list",onWheel:j(()=>{},["stop"]),onDrag:j(()=>{},["stop"]),onTouchmove:j(()=>{},["stop"]),onTouchstart:j(()=>{},["stop"]),onTouchend:j(()=>{},["stop"])},[a("ul",null,[(d(!0),h($,null,H(l.dataList,(i,u)=>(d(),h("li",{key:u,onClick:g=>o.changeSelect(i)},S(i.label),9,Vt))),128))])],544),[[z,r.showList]])])),[[s,()=>{r.showList=!1}]])}const zt=J(Bt,[["render",Gt]]);let le="";const xt={name:"radius-search",inject:["isMobile"],data(){return{location:le,suggestList:[],latlng:null,mileList:[1,1.5,2,2.5,3,3.5,4,4.5,5,10,15,20,25,30,50].map(t=>({value:t,label:t+(t>1?" miles":" mile")})),showSuggest:!1}},computed:{radiusValue(){return{value:this.radius,label:`${this.radius} ${this.radius>1?"miles":"mile"}`}}},props:{map:{type:Object},showRadiusOption:{type:Boolean},clearKey:{type:Number,default:1},radius:{type:Number,default:1}},components:{Select:zt},watch:{clearKey(){le=""}},methods:{searchSuggest:x.debounce(async function(t){const e={query:t.target.value,country:"usa",beginHighlight:encodeURIComponent("<mark>"),endHighlight:encodeURIComponent("</mark>"),maxresults:20},n=(await G.get("/search/home-j/here-api/autoSuggest",{data:e})).data.filter(o=>!!o.address.street),r=[];for(let o=0,s=0,i=n.length;s<5&&o<i;o++){let u=this.formatAddress(n[o]);u&&r.indexOf(u)===-1&&(r.push(u),s++)}this.suggestList=r,this.showSuggest=!0}),async changeLocation(t){le=t.replace(/<mark>|<\/mark>/g,""),this.location=le;let e=await ot.geocode(t.replace(/<mark>|<\/mark>/g,""),!0);this.latlng=e.center,this.$emit("submit",{location:this.latlng,radius:this.radiusValue.value}),this.showSuggest=!1},changeRadius(t){this.$emit("submit",{location:this.latlng,radius:t.value})},clearLocation(){le="",this.location="",this.showSuggest=!1},handleMutual(){this.$refs.select.showList=!1,this.showSuggest=!0},stopResizeEvent(t){return t&&t.preeventDefault?t.preeventDefault():window.event.returnValue=!1,!1},closeSuggestion(){this.showSuggest=!1},formatAddress(t){let e=t.address,l=this.getAddressItem(e,["houseNumber","street"])+this.getAddressItem(e,["city"]);return l?decodeURIComponent(l+this.getAddressItem(e,["state","postalCode"],!1)):null},getAddressItem(t,e,l){let n=[],r;for(let o=0,s=e.length;o<s;o++){let i=t[e[o]];i&&r!==i&&n.push(r=i)}return n.length?n.join(" ")+(l===!1?"":", "):""}},mounted(){this.isMobileSize&&window.addEventListener("resize",this.stopResizeEvent,!1)},beforeUnmount(){this.isMobile&&window.removeEventListener("resize",this.stopResizeEvent)}},Jt={class:"radius-search"},Ft={class:"position-wrapper"},Zt={class:"select-container"},qt={class:"key-search"},Kt={class:"autocomplete"},Wt=["onClick"],Yt=["innerHTML"];function Qt(t,e,l,n,r,o){const s=Ce("Select");return R((d(),h("div",Jt,[e[12]||(e[12]=a("div",{class:"radius-search-title"},"Radius",-1)),a("div",Ft,[a("div",Zt,[Y(s,{dataList:r.mileList,value:o.radiusValue,onChange:o.changeRadius,onCloseSuggestion:o.closeSuggestion,ref:"select"},null,8,["dataList","value","onChange","onCloseSuggestion"]),e[8]||(e[8]=a("span",{class:"select-tag"},"near",-1))]),a("div",qt,[e[9]||(e[9]=a("i",{class:"lofty_iconfont lofty-icon-search"},null,-1)),R(a("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=i=>r.location=i),onMousedown:e[1]||(e[1]=j(()=>{},["stop"])),onDblclick:e[2]||(e[2]=j(()=>{},["stop"])),onFocus:e[3]||(e[3]=j((...i)=>o.handleMutual&&o.handleMutual(...i),["stop"])),onTouchstart:e[4]||(e[4]=j((...i)=>o.handleMutual&&o.handleMutual(...i),["stop"])),onInput:e[5]||(e[5]=j((...i)=>o.searchSuggest&&o.searchSuggest(...i),["stop"])),placeholder:"Input a location to center the map",ref:"input",class:B({"show-clear-content":r.location})},null,34),[[Se,r.location]]),r.location?(d(),h("i",{key:0,class:"lofty_iconfont lofty-icon-close",onClick:e[6]||(e[6]=(...i)=>o.clearLocation&&o.clearLocation(...i))})):L("",!0)]),e[11]||(e[11]=a("div",{class:"arrow-style"},null,-1)),R(a("ul",Kt,[(d(!0),h($,null,H(r.suggestList,i=>(d(),h("li",{key:i,class:"item",onClick:u=>o.changeLocation(i)},[e[10]||(e[10]=a("i",{class:"lofty_iconfont lofty-icon-location_02"},null,-1)),a("span",{innerHTML:i},null,8,Yt)],8,Wt))),128))],512),[[z,r.suggestList.length>0&&r.showSuggest]]),a("span",{class:"lofty_iconfont lofty-icon-close",id:"close_radius_search_form",onClick:e[7]||(e[7]=j(i=>t.$emit("onClose"),["stop"]))})])],512)),[[z,l.showRadiusOption]])}const Xt=J(xt,[["render",Qt]]),eo=1609.344,to={mixins:[fe],inject:["isMobile"],props:{radius:{type:Number,default:1},clearKey:{type:Number,default:1}},components:{radiusOption:Xt},data(){return{showRadiusOption:!1,className:"search-radius"}},methods:{async initCircle(){this.circle&&this.map.removeObject(this.circle),this.circle=new window.H.map.Circle(this.data,this.radius*eo,{style:{strokeColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-borderColor")||"rgb(25, 25, 25)",lineWidth:2,fillColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-bgColor")||"rgba(25, 25, 25, 0.2)"}}),this.circle.addEventListener("tap",()=>{this.showRadiusOption=!0}),this.circle.addEventListener("pointerenter",()=>{document.body.style.cursor="pointer"}),this.circle.addEventListener("pointerleave",()=>{document.body.style.cursor="default"}),this.map.addObject(this.circle),this.updateRadiusOption()},updateRadiusOption(){if(this.map&&this.circle){const t=this.map.getZoom(),e=this.circle.getBoundingBox();this.map.getViewModel().setLookAtData({bounds:e},!1);const l=this.map.getZoom(),n=3,r=Math.max(t-n,4),o=Math.min(t+n,20),s=Math.max(r,Math.min(l,o));this.map.getViewModel().setLookAtData({bounds:e,zoom:s},!0)}},updateCircle(t){const e={location:t.location||this.data,radius:t.radius||this.radius};this.$emit("updateCircle",e)},onOpen(){this.showRadiusOption=!0},onClose(){this.showRadiusOption=!1}},mounted(){this.showRadiusOption=!0,this.initCircle()},unmounted(){this.circle&&this.map.removeObject(this.circle)}};function oo(t,e,l,n,r,o){const s=Ce("radius-option");return t.parentDom?(d(),_(me,{key:0,to:t.parentDom},[a("div",be({class:"radius-center",onClick:e[0]||(e[0]=(...i)=>o.onOpen&&o.onOpen(...i)),onTouch:e[1]||(e[1]=(...i)=>o.onOpen&&o.onOpen(...i)),id:"open_radius_search_form"},t.$attrs),[Y(s,{showRadiusOption:r.showRadiusOption,map:t.map,radius:l.radius,clearKey:l.clearKey,onSubmit:o.updateCircle,onOnClose:o.onClose},null,8,["showRadiusOption","map","radius","clearKey","onSubmit","onOnClose"])],16)],8,["to"])):L("",!0)}const so=J(to,[["render",oo]]),io={name:"tip"},ao={class:"draw-tip"};function no(t,e,l,n,r,o){return d(),h("div",ao,[a("p",null,[e[1]||(e[1]=q("Click and drag to draw your search ")),a("span",{class:"cancel",onClick:e[0]||(e[0]=s=>t.$emit("cancel"))}," Cancel")])])}const lo=J(io,[["render",no]]),Ee=35,ro={inject:["store","isMobile","mapbox"],props:{map:Object,showPolygon:{type:Boolean,default:!0},showRadius:{type:Boolean,default:!0}},data(){return{path:[],lines:[],points:[],showTip:!1,drawing:!1,outPath:[],showSelectDraw:!1,showCircle:!1,location:null,circleRadius:1,timer:null,clearKey:1}},watch:{mapSyncType:{handler(t){this.map&&(t==="mapArea"||!t)&&this.clearDraw()}},outPath(){if(this.outPath&&this.outPath.length>0){let t=JSON.stringify(this.outPath);this.store.polygonPath.value=JSON.parse(t),this.store.mapSyncType.value="polygon",this.store.mapSyncList.value=!0,this.store.geometry.value=[],this.store.condition.location={}}else{if(this.mapSyncType==="mapArea")return;this.store.mapPath.value="",this.store.mapSyncType.value="",this.store.mapSyncList.value=!1,this.store.searchMap(),this.store.searchList()}}},computed:{mapSyncType(){return this.store.mapSyncType.value}},methods:{handleMouseenter(){this.isMobile||(clearTimeout(this.timer),this.showSelectDraw=!0)},handleMouseleave(){this.isMobile||(this.timer=setTimeout(()=>{this.showSelectDraw=!1},300))},handleClick(){this.isMobile&&(this.showSelectDraw=!this.showSelectDraw)},outsidetouchstart(){this.isMobile&&(this.showSelectDraw=!1)},startDraw(){this.store.drawing.value||(this.store.drawing.value=!0,this.showTip=!0,this.tapCb||(this.tapCb=t=>{var e=this.map.screenToGeo(t.currentPointer.viewportX,t.currentPointer.viewportY);this.addPoint(e)}),this.pointermoveThrottle||(this.pointermoveThrottle=x.throttle(t=>{var e=this.map.screenToGeo(t.currentPointer.viewportX,t.currentPointer.viewportY);this.hoverPoint(e)},200)),this.pointermoveCb||(this.pointermoveCb=t=>{this.pointermoveThrottle(t)}),this.createTip(),this.map.addEventListener("pointerdown",this.tapCb),this.map.addEventListener("pointermove",this.pointermoveCb))},endDraw(){this.store.drawing.value=!1,this.showTip=!0,this.tapCb&&this.map.removeEventListener("pointerdown",this.tapCb),this.pointermoveCb&&this.map.removeEventListener("pointermove",this.pointermoveCb),this.clearDashedLine(),this.destroyTip()},clearDraw(){this.path=[],this.outPath=[],this.endDraw(),this.stopListenDragPoint(),this.mainGroup&&(this.pointGroup&&this.mainGroup.removeObject(this.pointGroup),this.mapPolygon&&this.mainGroup.removeObject(this.mapPolygon),this.mapPolyline&&this.mainGroup.removeObject(this.mapPolyline),this.map.removeObject(this.mainGroup)),this.mainGroup=null,this.pointGroup=null,this.mapPolygon=null,this.mapPolyline=null,this.geoLineString=null,this.clearKey=Date.now(),setTimeout(()=>{this.showCircle=!1},100),this.showTip=!1,this.store.drawing.value=!1,this.mapSyncType!=="mapArea"&&this.store.removeMapTag(),this.destroyTip(),this.showSelectDraw=!1},addLineStringPoint(t){this.geoLineString||(this.geoLineString=new window.H.geo.LineString),this.geoLineString.pushLatLngAlt(t.lat,t.lng,0)},closeLineString(t){var e=t.toGeoJSON().coordinates[0];t.pushLatLngAlt(e[1],e[0],e[2]),this.geoLineString.isClosed=!0},initDraw(){this.pointGroup=new window.H.map.Group({visibility:!0}),this.mainGroup=new window.H.map.Group({volatility:!0,objects:[this.pointGroup]}),this.map.addObject(this.mainGroup)},drawPoint(t,e){var l=`<svg width="12" height="12" version="1.1" xmlns="http://www.w3.org/2000/svg">
    22            <circle stroke="#fff" fill="rgb(25,25,25)" stroke-width="2" cx="6" cy="6" r="5"/>
    3             </svg>`,n=new window.H.map.Marker(t,{icon:new window.H.map.Icon(r,{anchor:{x:6,y:6}})});n.draggable=!0,n.setData({index:e}),this.pointGroup.addObject(n)},drawLines(t){this.mapPolyline?this.mapPolyline.setGeometry(t):(this.mapPolyline=new window.H.map.Polyline(t,{style:{lineWidth:2,strokeColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-borderColor")||"rgb(25, 25, 25)"}}),this.mainGroup.addObject(this.mapPolyline))},drawPolygon(t){var e=new window.H.geo.Polygon(t);this.mapPolygon?this.mapPolygon.setGeometry(e):(this.mapPolygon=new window.H.map.Polygon(e,{style:{fillColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-bgColor")||"rgba(25, 25, 25, 0.2)",lineWidth:0}}),this.mainGroup.addObject(this.mapPolygon))},addPoint(t){var e=this.path.length;if(e===0&&this.initDraw(),e>=3&&this.closeToFirstPoint(t)){this.closePath();return}if(e>=Ae){V.toast(`Maximum support for ${Ae} strokes`);return}var r=this.path.length;this.path.push(t),this.addLineStringPoint(t),e++,this.drawPoint(t,r),e>=2&&(this.drawLines(this.geoLineString),e>=3&&this.drawPolygon(this.geoLineString))},closeToFirstPoint(t){var e=this.path,r=Ge.distance(e[0],t),n=3e-6*Math.pow(2,22-this.map.getZoom());return r<n},drawDashedLine(t,e){var r=new window.H.geo.LineString;r.pushLatLngAlt(t.lat,t.lng,0),r.pushLatLngAlt(e.lat,e.lng,0),this.tempDashedline?this.tempDashedline.setGeometry(r):(this.tempDashedline=new window.H.map.Polyline(r,{style:{lineWidth:2,strokeColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-borderColor")||"rgb(25, 25, 25)",lineDash:[2,4]}}),this.mainGroup.addObject(this.tempDashedline))},clearDashedLine(){this.tempDashedline&&setTimeout(()=>{this.mainGroup&&this.mainGroup.removeObject(this.tempDashedline),this.tempDashedline=null},210)},hoverPoint(t){var e=this.path.length;if(e>=1){e>=3&&this.closeToFirstPoint(t)&&(t=this.path[0]);var r=this.path[this.path.length-1];if(this.drawDashedLine(r,t),e>=2){this.geoLineString.pushLatLngAlt(t.lat,t.lng,0),this.drawPolygon(this.geoLineString);var n=this.geoLineString.getPointCount();this.geoLineString.removePoint(n-1)}}},closePath(){this.closeLineString(this.geoLineString),this.drawLines(this.geoLineString),this.outPath=this.path,this.endDraw(),this.listenDragPoint()},listenDragPoint(){this.pointGroup&&(this.pointerenterCb||(this.pointerenterCb=()=>{document.body.style.cursor="pointer"}),this.pointGroup.addEventListener("pointerenter",this.pointerenterCb,!0),this.pointerleaveCb||(this.pointerleaveCb=()=>{document.body.style.cursor="default"}),this.pointGroup.addEventListener("pointerleave",this.pointerleaveCb,!0),this.dragCb||(this.dragCb=t=>{var e=t.currentPointer,r=this.map.screenToGeo(e.viewportX,e.viewportY);t.target.setGeometry(r);var n=t.target.getData().index;if(this.geoLineString.removePoint(n),this.geoLineString.insertPoint(n,r),n===0&&this.geoLineString.isClosed){var l=this.geoLineString.getPointCount()-1;this.geoLineString.removePoint(l),this.geoLineString.pushPoint(r)}this.drawLines(this.geoLineString),this.drawPolygon(this.geoLineString),t.stopPropagation()}),this.pointGroup.addEventListener("drag",this.dragCb,!0),this.dragendCb||(this.dragendCb=t=>{var e=t.currentPointer,r=this.map.screenToGeo(e.viewportX,e.viewportY),n=t.target.getData().index;this.path.splice(n,1,r),this.outPath=[...this.path]}),this.pointGroup.addEventListener("dragend",this.dragendCb,!0))},stopListenDragPoint(){this.pointGroup&&(this.pointerenterCb&&this.pointGroup.removeEventListener("pointerenter",this.pointerenterCb,!0),this.pointerleaveCb&&this.pointGroup.removeEventListener("pointerleave",this.pointerleaveCb,!0),this.dragCb&&this.pointGroup.removeEventListener("drag",this.dragCb,!0),this.dragendCb&&this.pointGroup.removeEventListener("dragend",this.dragendCb,!0))},drawPath(t,e=!1){this.initDraw(),this.path=t,this.geoLineString=new window.H.geo.LineString,t.forEach((r,n)=>{this.geoLineString.pushLatLngAlt(r.lat,r.lng,0),this.drawPoint(r,n)}),this.closeLineString(this.geoLineString),this.drawLines(this.geoLineString),this.drawPolygon(this.geoLineString),this.listenDragPoint(),this.showTip=!0,e&&this.map.getViewModel().setLookAtData({bounds:this.geoLineString.getBoundingBox()},!0)},openDrawCircle({location:t,radius:e}){var l,o;(o=(l=this.map)==null?void 0:l.clearBoundary)==null||o.call(l),e=e||1,this.circleRadius=e,t=t||this.map.getCenter();let{lng:r,lat:n}=t;Object.prototype.toString.call(r)==="[object Function]"&&(r=r(),n=n()),this.location={lng:r,lat:n},this.map.setCenter(this.location),this.showCircle=!0,this.showTip=!0,this.store.mapRadius.value=this.formatBackendQuery({location:this.location,radius:e}),this.store.mapSyncType.value="radius",this.store.mapSyncList.value=!0,this.store.geometry.value=[],this.store.condition.location={}},createTip(){if(this.destroyTip(),this.mapbox){const t=this.mapbox.parentElement.querySelector("#tip");this.tipComp=re(lo,{onCancel:()=>{this.clearDraw()}}),this.tipComp.mount(t)}},destroyTip(){this.tipComp&&(this.tipComp.unmount(),this.tipComp=null)},updateCircle({location:t,radius:e}){this.map.setCenter(t),this.circleRadius=e,this.location=t,this.showCircle=!1,this.$nextTick(()=>{this.drawing=!1,this.showCircle=!0,this.showTip=!0,this.store.mapRadius.value=this.formatBackendQuery({location:this.location,radius:e}),this.store.searchMap(),this.store.searchList()})},formatBackendQuery({location:t,radius:e}){return[JSON.stringify({originPoint:t,radius:e,unit:"miles"})]}},mounted(){if(this.store.polygonPath.value.length>0&&this.drawPath(this.store.polygonPath.value,!0),this.store.mapRadius.value.length>0){let{originPoint:t,radius:e}=JSON.parse(this.store.mapRadius.value[0]);this.openDrawCircle({location:t,radius:e},!1)}},components:{circleSearch:so}},uo={class:"draw"},co={class:"btn-lofty"},ho={class:"select-item"};function po(t,e,r,n,l,o){const s=Le("circle-search");return d(),h("div",uo,[a("div",co,[l.showTip?(d(),h("span",{key:1,class:"btn-lofty-txt clear",onClick:e[5]||(e[5]=(...i)=>o.clearDraw&&o.clearDraw(...i))},"Clear")):(d(),h("div",{key:0,class:j(["btn-lofty-select",{unfold:l.showSelectDraw}]),onMouseenter:e[2]||(e[2]=(...i)=>o.handleMouseenter&&o.handleMouseenter(...i)),onMouseleave:e[3]||(e[3]=(...i)=>o.handleMouseleave&&o.handleMouseleave(...i)),onClick:e[4]||(e[4]=(...i)=>o.handleClick&&o.handleClick(...i))},[e[7]||(e[7]=a("span",{class:"btn-lofty-txt"},"Draw",-1)),e[8]||(e[8]=a("span",{class:"lofty_iconfont lofty-icon-arrow-down"},null,-1)),E(a("div",ho,[a("p",{onClick:e[0]||(e[0]=(...i)=>o.startDraw&&o.startDraw(...i))},"Polygon"),a("p",{onClick:e[1]||(e[1]=(...i)=>o.openDrawCircle&&o.openDrawCircle(...i))},"Radius"),e[6]||(e[6]=a("div",{class:"opacity"},null,-1))],512),[[x,l.showSelectDraw]])],34))]),l.showCircle?(d(),_(s,{key:0,map:r.map,clearKey:l.clearKey,data:l.location,radius:l.circleRadius,onUpdateCircle:o.updateCircle},null,8,["map","clearKey","data","radius","onUpdateCircle"])):k("",!0)])}const go=J(ro,[["render",po]]),mo={inject:["store","isMobile"],computed:{hideMapAreaButton(){return this.store.mapSyncList.value&&this.store.mapSyncType.value==="mapArea"}},methods:{handler(){this.store.mapSyncList.value=!0,this.store.mapSyncType.value="mapArea",this.store.condition.location={}},showList(){this.store.toggleMap()}}},fo={key:0,class:"lofty-search"},yo={key:1,class:"lofty-search"},vo={class:"split-line"};function wo(t,e,r,n,l,o){return o.isMobile?(d(),h("div",yo,[E(a("span",{class:"search-text",onClick:e[1]||(e[1]=(...s)=>o.handler&&o.handler(...s))},"Search this area",512),[[x,!o.hideMapAreaButton]]),E(a("span",vo,null,512),[[x,!o.hideMapAreaButton]]),a("span",{class:"change-grid",onClick:e[2]||(e[2]=(...s)=>o.showList&&o.showList(...s))},e[3]||(e[3]=[a("i",{class:"lofty_iconfont lofty-icon-grid-fill"},null,-1),a("span",null,"Grid",-1)]))])):E((d(),h("div",fo,[a("span",{class:"search-text",onClick:e[0]||(e[0]=(...s)=>o.handler&&o.handler(...s))},"Redo Search On Map Area")],512)),[[x,!o.hideMapAreaButton]])}const So=J(mo,[["render",wo]]),Co={inject:["store","isMobile"],data(){return{isPop:!1,rating:"0",schoolChecked:this.store.showSchool.value,level:Z({elementary:{label:"Elementary",value:!0},middle:{label:"Middle",value:!0},high:{label:"High",value:!0}}),timer:null}},computed:{ratingText(){let t=this.rating;return t==="0"?"All":t+(t==="10"?"":"+")},schoolData(){return{admission:"public,private",level:Object.keys(this.level).filter(t=>this.level[t].value).join(","),rating:this.rating}}},watch:{schoolData:{handler:he(function(){this.searchSchool()},300)}},methods:{toggleSchool(t){const e=t.target.checked;this.store.showSchool.value=e,e?this.searchSchool():this.store.markerData.school=[]},searchSchool(){this.store.searchSchool(this.schoolData)},handleMouseenter(){this.isMobile||(clearTimeout(this.timer),this.isPop=!0)},handleMouseleave(){this.isMobile||(this.timer=setTimeout(()=>{this.isPop=!1},100))},handleClick(){this.isMobile&&(this.isPop=!this.isPop)},updateRangeStyle(){const t=100*+this.rating/10;this.$refs.range.style.background=`linear-gradient(to right, #191919 ${t}%, rgba(218, 218, 218, 0.5) ${t}%)`}},mounted(){this.updateRangeStyle()}},bo={class:"school"},Lo={class:"switch"},ko={class:"school"},Po=["onUpdate:modelValue","value"],Mo={class:"rating"},Do={class:"range"},To={class:"label"};function _o(t,e,r,n,l,o){return d(),h("div",bo,[a("div",{class:j(["school-btn",{unfold:l.isPop}]),onClick:e[0]||(e[0]=(...s)=>o.handleClick&&o.handleClick(...s)),onMouseenter:e[1]||(e[1]=(...s)=>o.handleMouseenter&&o.handleMouseenter(...s)),onMouseleave:e[2]||(e[2]=(...s)=>o.handleMouseleave&&o.handleMouseleave(...s))},e[9]||(e[9]=[a("span",{class:"btn-txt"},"School",-1),a("span",{class:"lofty_iconfont lofty-icon-arrow-down"},null,-1)]),34),E(a("div",{class:"pop-school-search",ref:"pop",onMouseenter:e[7]||(e[7]=(...s)=>o.handleMouseenter&&o.handleMouseenter(...s)),onMouseleave:e[8]||(e[8]=(...s)=>o.handleMouseleave&&o.handleMouseleave(...s))},[a("div",Lo,[a("label",null,[E(a("input",{type:"checkbox",name:"switch","onUpdate:modelValue":e[3]||(e[3]=s=>l.schoolChecked=s),onInput:e[4]||(e[4]=(...s)=>o.toggleSchool&&o.toggleSchool(...s))},null,544),[[De,l.schoolChecked]]),a("span",{class:j(["lofty_iconfont lofty-icon-checked",{mobile:o.isMobile}])},null,2),e[10]||(e[10]=a("span",null,"Show Schools On Map",-1))])]),e[14]||(e[14]=a("div",{class:"divider"},null,-1)),a("div",ko,[(d(!0),h($,null,B(Object.keys(l.level),s=>(d(),h("label",{key:s},[E(a("input",{type:"checkbox",name:"level","onUpdate:modelValue":i=>l.level[s].value=i,value:s},null,8,Po),[[De,l.level[s].value]]),a("span",{class:j(["lofty_iconfont lofty-icon-checked",{mobile:o.isMobile}])},null,2),K(" "+w(s),1)]))),128))]),e[15]||(e[15]=a("div",{class:"divider"},null,-1)),e[16]||(e[16]=a("p",{class:"rating-title"},"GreatSchools Rating",-1)),a("div",Mo,[a("div",Do,[e[12]||(e[12]=a("span",null,"Low",-1)),a("div",null,[E(a("input",{ref:"range",type:"range",name:"rating",min:"0",max:"10","onUpdate:modelValue":e[5]||(e[5]=s=>l.rating=s),onInput:e[6]||(e[6]=(...s)=>o.updateRangeStyle&&o.updateRangeStyle(...s))},null,544),[[be,l.rating]]),e[11]||(e[11]=a("div",{class:"bar"},null,-1))]),e[13]||(e[13]=a("span",null,"High",-1))]),a("span",To,w(o.ratingText),1)])],544),[[x,l.isPop]])])}const Eo=J(Co,[["render",_o]]),Ro={mixins:[ye],data(){return{type:"house"}},computed:{houses(){return this.data.items},housesStatus(){return"house-status-"+(this.houses[0].listingStatus||"").toLowerCase()}}},Ao={key:0,class:"house-header"},Oo={class:"house-list"},$o=["href"],No={class:"house-top"},jo=["src"],Bo={class:"house-info"},Ho={key:0,class:"price"},Go={key:1,class:"price"},Io={class:"info"},Uo={class:"addr"},Vo={class:"house-bottom"},zo={class:"detail"},xo={key:0,class:"house-mls-id"},Jo=["src"];function Fo(t,e,r,n,l,o){return t.parentDom?(d(),_(fe,{key:0,to:t.parentDom},[a("div",ke({ref:"marker",class:["marker-house map-marker",{active:t.active===t.fmLatlng,hidden:t.data.destroyed}],onMouseenter:e[0]||(e[0]=(...s)=>t.onMouseEnter&&t.onMouseEnter(...s)),onMouseleave:e[1]||(e[1]=(...s)=>t.onMouseLeave&&t.onMouseLeave(...s)),onClick:e[2]||(e[2]=(...s)=>t.onClick&&t.onClick(...s)),onWheel:e[3]||(e[3]=N(()=>{},["stop"])),onMousewheel:e[4]||(e[4]=N(()=>{},["stop"]))},t.$attrs),[a("span",{class:j(["marker-shape",[{highlight:t.data.keepHighlight},o.housesStatus]])},[t.data.nodisclosureDes?(d(),h($,{key:0},[K("﹡﹡﹡﹡﹡")],64)):k("",!0),t.data.nodisclosureDes?k("",!0):(d(),h($,{key:1},[K(w(t.showPrice),1)],64))],2),a("div",{ref:"pop",class:j(["marker-pop",{multi:o.houses.length>1,bottom:t.popBottom}]),style:me(t.popStyle)},[o.houses.length>1?(d(),h("div",Ao,[a("span",null,w(o.houses.length)+" units here ",1)])):k("",!0),a("ul",Oo,[(d(!0),h($,null,B(o.houses,s=>(d(),h("li",{class:"house-item",key:s.id},[a("a",{href:s.detailLink||s.detailUrl,target:"_blank",rel:"noopener noreferrer"},[a("div",No,[a("img",{class:"img-container",src:s.previewPicture,alt:""},null,8,jo),a("div",Bo,[s.nodisclosureDes?(d(),h("p",Go,w(s.nodisclosureDes),1)):(d(),h("p",Ho,w(s.soldDate?s.soldPrice:s.price),1)),a("div",Io,[(d(!0),h($,null,B(s.basic,i=>(d(),h("span",{class:"desc-span",key:i.key},w(i.text),1))),128))]),a("p",Uo,w(s.streetAddress),1)])]),a("div",Vo,[a("div",zo,[s.showMls?(d(),h("p",xo," Listing # "+w(s.mlsListingId),1)):k("",!0)]),s.mlsLogo?(d(),h("img",{key:0,class:"house-mls-logo",height:"18",src:s.mlsLogo,alt:"house mls logo"},null,8,Jo)):k("",!0)])],8,$o)]))),128))])],6)],16)],8,["to"])):k("",!0)}const Oe=J(Ro,[["render",Fo]]),qo={emits:["update:active"],mixins:[ye],inject:["store"],directives:{outSideClick:Ue},data(){return{type:"school"}},methods:{pushLocation(){const{location:t}=this.store.condition;this.store.removeMapTag();const{keywordType:e,label:r}=this.data;t[e]?t[e].includes(r)===-1&&t[e].push(r):t[e]=[r]},touchstart(t){this.active||t.preventDefault(),this.onClick()},outClick(){this.active&&this.$emit("update:active","")}}},Ko={class:"school-list"},Wo={class:"info"},Zo={class:"left"},Yo={class:"name"},Qo={class:"tip"},Xo={class:"right"};function es(t,e,r,n,l,o){const s=je("out-side-click");return t.parentDom?(d(),_(fe,{key:0,to:t.parentDom},[a("div",{class:j(["marker-school map-marker",{active:t.active===t.fmLatlng}]),onMouseenter:e[1]||(e[1]=(...i)=>t.onMouseEnter&&t.onMouseEnter(...i)),onMouseleave:e[2]||(e[2]=(...i)=>t.onMouseLeave&&t.onMouseLeave(...i)),onTouchstart:e[3]||(e[3]=(...i)=>o.touchstart&&o.touchstart(...i))},[e[5]||(e[5]=a("i",{class:"lofty_iconfont lofty-icon-school2"},null,-1)),a("div",{ref:"pop",class:j(["marker-pop",{bottom:t.popBottom}]),style:me(t.popStyle)},[a("span",{ref:"pointer",class:"pointer",style:me(t.pointerStyle)},null,4),E((d(),h("ul",Ko,[a("li",null,[a("div",Wo,[a("div",Zo,[a("p",Yo,w(t.data.name),1),a("span",Qo,w(t.data.type)+" · "+w(t.data.gradeRange),1)]),a("div",Xo,[a("div",{class:j({rating:!0,high:t.data.gsRating>9,middle:t.data.gsRating>=6&&t.data.gsRating<=9})},w(t.data.gsRating),3),e[4]||(e[4]=a("span",{class:"tip"},"Out of 10",-1))])]),a("div",{class:"link",onClick:e[0]||(e[0]=(...i)=>o.pushLocation&&o.pushLocation(...i))},"View Homes in This School Area")])])),[[s,o.outClick]])],6)],34)],8,["to"])):k("",!0)}const ts=J(qo,[["render",es]]),os={mixins:[ye],data(){return{type:"aggre"}},methods:{showBoundary(){if(this.boundary&&!this.isMobile)this.boundary.setVisibility(!0);else{const t={strokeColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-borderColor")||"rgb(25, 25, 25)",fillColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-bgColor")||"rgba(25, 25, 25, 0.2)",lineWidth:2},e=new window.H.geo.LineString,r=[];this.data.bounds.forEach((o,s)=>{if(Array.isArray(o))if(s===0)o.forEach(i=>{e.pushPoint(i)});else{const i=new window.H.geo.LineString;o.forEach(u=>{i.pushPoint(u)}),r.push(i)}else e.pushPoint(o)});const l=new window.H.geo.Polygon(e,r);this.boundary=new window.H.map.Polygon(l,{style:t}),this.map.addObject(this.boundary),this.boundary.setVisibility(!0)}this.onMouseEnter()},hideBoundary(){this.boundary&&this.boundary.setVisibility(!1),this.onMouseLeave()},onClick(){const t=this.events&&this.events.click;t&&t.call(this),this.hideBoundary();let{lat:e,lng:r}=this.data,n=this.map.getZoom();this.isMobile?n+=2:n+=n<10?3:n<=16?2:1,this.map.getViewModel().setLookAtData({position:{lat:e,lng:r},zoom:n},!0)}},beforeUnmount(){this.boundary&&this.map&&this.map.removeObject(this.boundary)}},ss={class:"marker-shape"},is={class:"info"},as={class:"count"};function ns(t,e,r,n,l,o){return t.parentDom?(d(),_(fe,{key:0,to:t.parentDom},[a("div",ke({class:["marker-aggre map-marker",{active:t.active===t.fmLatlng}],onMouseenter:e[0]||(e[0]=(...s)=>o.showBoundary&&o.showBoundary(...s)),onMouseleave:e[1]||(e[1]=(...s)=>o.hideBoundary&&o.hideBoundary(...s)),onClick:e[2]||(e[2]=(...s)=>o.onClick&&o.onClick(...s))},t.$attrs),[a("div",ss,[a("div",is,[a("span",as,w(t.data.count),1)])])],16)],8,["to"])):k("",!0)}const ls=J(os,[["render",ns]]),rs={class:"marker-box aggre"},us={class:"marker-box house"},cs={class:"marker-box school"},ds={__name:"listingMap",props:{id:String},setup(t){const e=t,{module:r,zoom:n,map:l,sold:o,rect:s,geometry:i,drawing:u,searchMap:g,listings:m,markerData:T,mlsList:F,condition:W,showMap:Q,mapSyncType:oe,dealHouseData:ae}=ie[e.id],R=Z({aggre:"",house:"",school:""});Te("isMobile",V.isMobile),Te("store",ie[e.id]);const X=y(!1),q=Z({lat:0,lng:0}),M={minZoom:4,maxZoom:20,zoom:n.value,center:{lat:40.00267,lng:-75.3057}};L();async function L(){const v=r.getModuleData().mapCenter;if(s){const p=s.split(",");M.center.lat=(+p[0]+ +p[2])/2,M.center.lng=(+p[1]+ +p[3])/2}else if(v)M.center.lng=+v.lng,M.center.lat=+v.lat,M.zoom=11,n.value=11;else{const p=await I.get("search/centerPoint");p.centerLatitude&&p.centerLongitude&&(M.center.lat=p.centerLatitude,M.center.lng=p.centerLongitude,n.value=p.zoom)}X.value=!0}const A=["city","zipCode","neighborhood"];function ne(){pe([W,Q],async()=>{if(!Q.value)return;const v=W.location||{};Object.keys(v).filter(f=>f!=="mapPath"&&f!=="mapRadius").length>0&&await ce(v),A.some(f=>!!v[f])?ve(v):i.value=[],g()},{immediate:!0})}pe(m,()=>{const v=r.$all(".lofty-listing .lofty-house-item");Array.from(v).forEach(p=>{p.onmouseenter=f=>{const C=f.target.getAttribute("house-id"),H=m.value.find(G=>String(G.id)===C),z=ae([JSON.parse(JSON.stringify(H))]);T.activeHouse=z[0],T.activeHouseKey=Date.now()}})}),pe(Q,v=>{if(v&&m.value[0]){const p=m.value[0];q.lat=+p.latitude,q.lng=+p.longitude}});const ue=y([]);async function ce(v){const p={mlsOrgIds:F};for(let C in v){let H=v[C];["streetAddress"].includes(C)&&(H=v[C].map(z=>z.split(",")[0])),p[C]=H.join(";")}const{data:f}=await I.post("search/listing/locationSearch",{data:p});if(f&&f.length===2){const[C,H,z,G]=[f[0].longitude,f[1].longitude,f[0].latitude,f[1].latitude],S=Math.min(C,H),D=Math.max(C,H),b=Math.min(z,G),P=Math.max(z,G);ue.value=[[S,b],[S,P],[D,P],[D,b]]}else f.length===1&&(q.lat=f[0].latitude,q.lng=f[0].longitude,n.value=18,l.value.setZoom(18))}async function ve(v){const p={};A.forEach(C=>{v[C]&&(p[C]=v[C].join(";"))});const f=await I.get("search/hj/getBoundary",{data:p});i.value=f.geometry}const ee=V.debounce(g,300);function de(v){l.value=v,v.addEventListener("dragend",()=>{["polygon","radius"].includes(oe.value)||ee()}),v.addEventListener("dbltap",p=>{let f=v.getZoom(),{viewportX:C,viewportY:H}=p.currentPointer,z=v.screenToGeo(C,H);v.getViewModel().setLookAtData({position:z,zoom:f+2},!0),g()}),v.addEventListener("mapviewchangeend",()=>{const p=Math.round(l.value.getZoom());n.value!==p&&(n.value=p,ee())}),ne()}return(v,p)=>c(X)?(d(),_(qe,{key:0,onInit:de,config:M,center:c(q),boundary:c(ue),geometry:c(i),class:j({drawing:c(u)})},{default:se(()=>[Y(So,{class:"map-tool"}),c(o)?k("",!0):(d(),_(Eo,{key:0,class:"map-tool"})),Y(go,{class:j(["map-tool",{"draw-is-sold":c(o)}]),map:c(l)},null,8,["class","map"]),p[3]||(p[3]=a("div",{id:"tip"},null,-1)),a("div",rs,[(d(!0),h($,null,B(c(T).aggregation,f=>(d(),_(ls,{key:f.key,map:c(l),class:"map-marker",data:f,active:c(R).aggre,"onUpdate:active":p[0]||(p[0]=C=>c(R).aggre=C)},null,8,["map","data","active"]))),128))]),a("div",us,[(d(!0),h($,null,B(c(T).house,f=>(d(),_(Oe,{key:f.key,map:c(l),class:"map-marker",data:f,active:c(R).house,"onUpdate:active":p[1]||(p[1]=C=>c(R).house=C)},null,8,["map","data","active"]))),128)),c(T).activeHouse?(d(),_(Oe,{map:c(l),key:c(T).activeHouseKey,class:"map-marker active-house",data:c(T).activeHouse},null,8,["map","data"])):k("",!0)]),a("div",cs,[(d(!0),h($,null,B(c(T).school,f=>(d(),_(ts,{key:f.key,map:c(l),class:"map-marker",data:f,active:c(R).school,"onUpdate:active":p[2]||(p[2]=C=>c(R).school=C)},null,8,["map","data","active"]))),128))])]),_:1},8,["center","boundary","geometry","class"])):k("",!0)}};st();it();Ee.initState(()=>{ot(),Ee.mlsList.forEach(t=>at(t))});jQuery(".lofty-listing-page").ready(function(){const t=document.querySelectorAll(".lofty-listing-page");t.length>0&&t.forEach(e=>{const r=e.getAttribute("id"),n=Ve(r),{id:l,$:o}=n;lt(n);const s=n.getModuleData();re(bt,{id:l}).mount(o("#lofty-listing-search")),re($t,{id:l}).mount(o("#lofty_filter_container")),re(Nt,{id:l}).mount(o("#lofty_pagination_container")),s.hasMap&&re(ds,{id:l}).mount(o("#lofty-map-container"))})});
     3            </svg>`,n=new window.H.map.Marker(t,{icon:new window.H.map.Icon(l,{anchor:{x:6,y:6}})});n.draggable=!0,n.setData({index:e}),this.pointGroup.addObject(n)},drawLines(t){this.mapPolyline?this.mapPolyline.setGeometry(t):(this.mapPolyline=new window.H.map.Polyline(t,{style:{lineWidth:2,strokeColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-borderColor")||"rgb(25, 25, 25)"}}),this.mainGroup.addObject(this.mapPolyline))},drawPolygon(t){var e=new window.H.geo.Polygon(t);this.mapPolygon?this.mapPolygon.setGeometry(e):(this.mapPolygon=new window.H.map.Polygon(e,{style:{fillColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-bgColor")||"rgba(25, 25, 25, 0.2)",lineWidth:0}}),this.mainGroup.addObject(this.mapPolygon))},addPoint(t){var e=this.path.length;if(e===0&&this.initDraw(),e>=3&&this.closeToFirstPoint(t)){this.closePath();return}if(e>=Ee){x.toast(`Maximum support for ${Ee} strokes`);return}var l=this.path.length;this.path.push(t),this.addLineStringPoint(t),e++,this.drawPoint(t,l),e>=2&&(this.drawLines(this.geoLineString),e>=3&&this.drawPolygon(this.geoLineString))},closeToFirstPoint(t){var e=this.path,l=Be.distance(e[0],t),n=3e-6*Math.pow(2,22-this.map.getZoom());return l<n},drawDashedLine(t,e){var l=new window.H.geo.LineString;l.pushLatLngAlt(t.lat,t.lng,0),l.pushLatLngAlt(e.lat,e.lng,0),this.tempDashedline?this.tempDashedline.setGeometry(l):(this.tempDashedline=new window.H.map.Polyline(l,{style:{lineWidth:2,strokeColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-borderColor")||"rgb(25, 25, 25)",lineDash:[2,4]}}),this.mainGroup.addObject(this.tempDashedline))},clearDashedLine(){this.tempDashedline&&setTimeout(()=>{this.mainGroup&&this.mainGroup.removeObject(this.tempDashedline),this.tempDashedline=null},210)},hoverPoint(t){var e=this.path.length;if(e>=1){e>=3&&this.closeToFirstPoint(t)&&(t=this.path[0]);var l=this.path[this.path.length-1];if(this.drawDashedLine(l,t),e>=2){this.geoLineString.pushLatLngAlt(t.lat,t.lng,0),this.drawPolygon(this.geoLineString);var n=this.geoLineString.getPointCount();this.geoLineString.removePoint(n-1)}}},closePath(){this.closeLineString(this.geoLineString),this.drawLines(this.geoLineString),this.outPath=this.path,this.endDraw(),this.listenDragPoint()},listenDragPoint(){this.pointGroup&&(this.pointerenterCb||(this.pointerenterCb=()=>{document.body.style.cursor="pointer"}),this.pointGroup.addEventListener("pointerenter",this.pointerenterCb,!0),this.pointerleaveCb||(this.pointerleaveCb=()=>{document.body.style.cursor="default"}),this.pointGroup.addEventListener("pointerleave",this.pointerleaveCb,!0),this.dragCb||(this.dragCb=t=>{var e=t.currentPointer,l=this.map.screenToGeo(e.viewportX,e.viewportY);t.target.setGeometry(l);var n=t.target.getData().index;if(this.geoLineString.removePoint(n),this.geoLineString.insertPoint(n,l),n===0&&this.geoLineString.isClosed){var r=this.geoLineString.getPointCount()-1;this.geoLineString.removePoint(r),this.geoLineString.pushPoint(l)}this.drawLines(this.geoLineString),this.drawPolygon(this.geoLineString),t.stopPropagation()}),this.pointGroup.addEventListener("drag",this.dragCb,!0),this.dragendCb||(this.dragendCb=t=>{var e=t.currentPointer,l=this.map.screenToGeo(e.viewportX,e.viewportY),n=t.target.getData().index;this.path.splice(n,1,l),this.outPath=[...this.path]}),this.pointGroup.addEventListener("dragend",this.dragendCb,!0))},stopListenDragPoint(){this.pointGroup&&(this.pointerenterCb&&this.pointGroup.removeEventListener("pointerenter",this.pointerenterCb,!0),this.pointerleaveCb&&this.pointGroup.removeEventListener("pointerleave",this.pointerleaveCb,!0),this.dragCb&&this.pointGroup.removeEventListener("drag",this.dragCb,!0),this.dragendCb&&this.pointGroup.removeEventListener("dragend",this.dragendCb,!0))},drawPath(t,e=!1){this.initDraw(),this.path=t,this.geoLineString=new window.H.geo.LineString,t.forEach((l,n)=>{this.geoLineString.pushLatLngAlt(l.lat,l.lng,0),this.drawPoint(l,n)}),this.closeLineString(this.geoLineString),this.drawLines(this.geoLineString),this.drawPolygon(this.geoLineString),this.listenDragPoint(),this.showTip=!0,e&&this.map.getViewModel().setLookAtData({bounds:this.geoLineString.getBoundingBox()},!0)},openDrawCircle({location:t,radius:e}){var r,o;(o=(r=this.map)==null?void 0:r.clearBoundary)==null||o.call(r),e=e||1,this.circleRadius=e,t=t||this.map.getCenter();let{lng:l,lat:n}=t;Object.prototype.toString.call(l)==="[object Function]"&&(l=l(),n=n()),this.location={lng:l,lat:n},this.map.setCenter(this.location),this.showCircle=!0,this.showTip=!0,this.store.mapRadius.value=this.formatBackendQuery({location:this.location,radius:e}),this.store.mapSyncType.value="radius",this.store.mapSyncList.value=!0,this.store.geometry.value=[],this.store.condition.location={}},createTip(){if(this.destroyTip(),this.mapbox){const t=this.mapbox.parentElement.querySelector("#tip");this.tipComp=re(lo,{onCancel:()=>{this.clearDraw()}}),this.tipComp.mount(t)}},destroyTip(){this.tipComp&&(this.tipComp.unmount(),this.tipComp=null)},updateCircle({location:t,radius:e}){this.map.setCenter(t),this.circleRadius=e,this.location=t,this.showCircle=!1,this.$nextTick(()=>{this.drawing=!1,this.showCircle=!0,this.showTip=!0,this.store.mapRadius.value=this.formatBackendQuery({location:this.location,radius:e}),this.store.searchMap(),this.store.searchList()})},formatBackendQuery({location:t,radius:e}){return[JSON.stringify({originPoint:t,radius:e,unit:"miles"})]}},mounted(){if(this.store.polygonPath.value.length>0&&this.drawPath(this.store.polygonPath.value,!0),this.store.mapRadius.value.length>0){let{originPoint:t,radius:e}=JSON.parse(this.store.mapRadius.value[0]);this.openDrawCircle({location:t,radius:e},!1)}},components:{circleSearch:so}},uo={class:"draw"},co={class:"btn-lofty"},ho={class:"select-item"};function po(t,e,l,n,r,o){const s=Ce("circle-search");return d(),h("div",uo,[a("div",co,[r.showTip?(d(),h("span",{key:1,class:"btn-lofty-txt clear",onClick:e[5]||(e[5]=(...i)=>o.clearDraw&&o.clearDraw(...i))},"Clear")):(d(),h("div",{key:0,class:B(["btn-lofty-select",{unfold:r.showSelectDraw}]),onMouseenter:e[2]||(e[2]=(...i)=>o.handleMouseenter&&o.handleMouseenter(...i)),onMouseleave:e[3]||(e[3]=(...i)=>o.handleMouseleave&&o.handleMouseleave(...i)),onClick:e[4]||(e[4]=(...i)=>o.handleClick&&o.handleClick(...i))},[e[7]||(e[7]=a("span",{class:"btn-lofty-txt"},"Draw",-1)),e[8]||(e[8]=a("span",{class:"lofty_iconfont lofty-icon-arrow-down"},null,-1)),R(a("div",ho,[l.showPolygon?(d(),h("p",{key:0,onClick:e[0]||(e[0]=(...i)=>o.startDraw&&o.startDraw(...i))},"Polygon")):L("",!0),l.showRadius?(d(),h("p",{key:1,onClick:e[1]||(e[1]=(...i)=>o.openDrawCircle&&o.openDrawCircle(...i))},"Radius")):L("",!0),e[6]||(e[6]=a("div",{class:"opacity"},null,-1))],512),[[z,r.showSelectDraw]])],34))]),r.showCircle?(d(),_(s,{key:0,map:l.map,clearKey:r.clearKey,data:r.location,radius:r.circleRadius,onUpdateCircle:o.updateCircle},null,8,["map","clearKey","data","radius","onUpdateCircle"])):L("",!0)])}const go=J(ro,[["render",po]]),mo={inject:["store","isMobile"],computed:{hideMapAreaButton(){return this.store.mapSyncList.value&&this.store.mapSyncType.value==="mapArea"}},methods:{handler(){this.store.mapSyncList.value=!0,this.store.mapSyncType.value="mapArea",this.store.condition.location={}},showList(){this.store.toggleMap()}}},fo={key:0,class:"lofty-search"},yo={key:1,class:"lofty-search"},vo={class:"split-line"};function wo(t,e,l,n,r,o){return o.isMobile?(d(),h("div",yo,[R(a("span",{class:"search-text",onClick:e[1]||(e[1]=(...s)=>o.handler&&o.handler(...s))},"Search this area",512),[[z,!o.hideMapAreaButton]]),R(a("span",vo,null,512),[[z,!o.hideMapAreaButton]]),a("span",{class:"change-grid",onClick:e[2]||(e[2]=(...s)=>o.showList&&o.showList(...s))},e[3]||(e[3]=[a("i",{class:"lofty_iconfont lofty-icon-grid-fill"},null,-1),a("span",null,"Grid",-1)]))])):R((d(),h("div",fo,[a("span",{class:"search-text",onClick:e[0]||(e[0]=(...s)=>o.handler&&o.handler(...s))},"Redo Search On Map Area")],512)),[[z,!o.hideMapAreaButton]])}const So=J(mo,[["render",wo]]),Co={inject:["store","isMobile"],data(){return{isPop:!1,rating:"0",schoolChecked:this.store.showSchool.value,level:W({elementary:{label:"Elementary",value:!0},middle:{label:"Middle",value:!0},high:{label:"High",value:!0}}),timer:null}},computed:{ratingText(){let t=this.rating;return t==="0"?"All":t+(t==="10"?"":"+")},schoolData(){return{admission:"public,private",level:Object.keys(this.level).filter(t=>this.level[t].value).join(","),rating:this.rating}}},watch:{schoolData:{handler:he(function(){this.searchSchool()},300)}},methods:{toggleSchool(t){const e=t.target.checked;this.store.showSchool.value=e,e?this.searchSchool():this.store.markerData.school=[]},searchSchool(){this.store.searchSchool(this.schoolData)},handleMouseenter(){this.isMobile||(clearTimeout(this.timer),this.isPop=!0)},handleMouseleave(){this.isMobile||(this.timer=setTimeout(()=>{this.isPop=!1},100))},handleClick(){this.isMobile&&(this.isPop=!this.isPop)},updateRangeStyle(){const t=100*+this.rating/10;this.$refs.range.style.background=`linear-gradient(to right, #191919 ${t}%, rgba(218, 218, 218, 0.5) ${t}%)`}},mounted(){this.updateRangeStyle()}},bo={class:"school"},Lo={class:"switch"},ko={class:"school"},Po=["onUpdate:modelValue","value"],Mo={class:"rating"},Do={class:"range"},To={class:"label"};function _o(t,e,l,n,r,o){return d(),h("div",bo,[a("div",{class:B(["school-btn",{unfold:r.isPop}]),onClick:e[0]||(e[0]=(...s)=>o.handleClick&&o.handleClick(...s)),onMouseenter:e[1]||(e[1]=(...s)=>o.handleMouseenter&&o.handleMouseenter(...s)),onMouseleave:e[2]||(e[2]=(...s)=>o.handleMouseleave&&o.handleMouseleave(...s))},e[9]||(e[9]=[a("span",{class:"btn-txt"},"School",-1),a("span",{class:"lofty_iconfont lofty-icon-arrow-down"},null,-1)]),34),R(a("div",{class:"pop-school-search",ref:"pop",onMouseenter:e[7]||(e[7]=(...s)=>o.handleMouseenter&&o.handleMouseenter(...s)),onMouseleave:e[8]||(e[8]=(...s)=>o.handleMouseleave&&o.handleMouseleave(...s))},[a("div",Lo,[a("label",null,[R(a("input",{type:"checkbox",name:"switch","onUpdate:modelValue":e[3]||(e[3]=s=>r.schoolChecked=s),onInput:e[4]||(e[4]=(...s)=>o.toggleSchool&&o.toggleSchool(...s))},null,544),[[Me,r.schoolChecked]]),a("span",{class:B(["lofty_iconfont lofty-icon-checked",{mobile:o.isMobile}])},null,2),e[10]||(e[10]=a("span",null,"Show Schools On Map",-1))])]),e[14]||(e[14]=a("div",{class:"divider"},null,-1)),a("div",ko,[(d(!0),h($,null,H(Object.keys(r.level),s=>(d(),h("label",{key:s},[R(a("input",{type:"checkbox",name:"level","onUpdate:modelValue":i=>r.level[s].value=i,value:s},null,8,Po),[[Me,r.level[s].value]]),a("span",{class:B(["lofty_iconfont lofty-icon-checked",{mobile:o.isMobile}])},null,2),q(" "+S(s),1)]))),128))]),e[15]||(e[15]=a("div",{class:"divider"},null,-1)),e[16]||(e[16]=a("p",{class:"rating-title"},"GreatSchools Rating",-1)),a("div",Mo,[a("div",Do,[e[12]||(e[12]=a("span",null,"Low",-1)),a("div",null,[R(a("input",{ref:"range",type:"range",name:"rating",min:"0",max:"10","onUpdate:modelValue":e[5]||(e[5]=s=>r.rating=s),onInput:e[6]||(e[6]=(...s)=>o.updateRangeStyle&&o.updateRangeStyle(...s))},null,544),[[Se,r.rating]]),e[11]||(e[11]=a("div",{class:"bar"},null,-1))]),e[13]||(e[13]=a("span",null,"High",-1))]),a("span",To,S(o.ratingText),1)])],544),[[z,r.isPop]])])}const Ro=J(Co,[["render",_o]]),Eo={mixins:[fe],data(){return{type:"house"}},computed:{houses(){return this.data.items},housesStatus(){return"house-status-"+(this.houses[0].listingStatus||"").toLowerCase()}}},Ao={key:0,class:"house-header"},Oo={class:"house-list"},$o=["href"],No={class:"house-top"},jo=["src"],Bo={class:"house-info"},Ho={key:0,class:"price"},Io={key:1,class:"price"},Uo={class:"info"},Vo={class:"addr"},Go={class:"house-bottom"},zo={class:"detail"},xo={key:0,class:"house-mls-id"},Jo=["src"];function Fo(t,e,l,n,r,o){return t.parentDom?(d(),_(me,{key:0,to:t.parentDom},[a("div",be({ref:"marker",class:["marker-house map-marker",{active:t.active===t.fmLatlng,hidden:t.data.destroyed}],onMouseenter:e[0]||(e[0]=(...s)=>t.onMouseEnter&&t.onMouseEnter(...s)),onMouseleave:e[1]||(e[1]=(...s)=>t.onMouseLeave&&t.onMouseLeave(...s)),onClick:e[2]||(e[2]=(...s)=>t.onClick&&t.onClick(...s)),onWheel:e[3]||(e[3]=j(()=>{},["stop"])),onMousewheel:e[4]||(e[4]=j(()=>{},["stop"]))},t.$attrs),[a("span",{class:B(["marker-shape",[{highlight:t.data.keepHighlight},o.housesStatus]])},[t.data.nodisclosureDes?(d(),h($,{key:0},[q("﹡﹡﹡﹡﹡")],64)):L("",!0),t.data.nodisclosureDes?L("",!0):(d(),h($,{key:1},[q(S(t.showPrice),1)],64))],2),a("div",{ref:"pop",class:B(["marker-pop",{multi:o.houses.length>1,bottom:t.popBottom}]),style:ge(t.popStyle)},[o.houses.length>1?(d(),h("div",Ao,[a("span",null,S(o.houses.length)+" units here ",1)])):L("",!0),a("ul",Oo,[(d(!0),h($,null,H(o.houses,s=>(d(),h("li",{class:"house-item",key:s.id},[a("a",{href:s.detailLink||s.detailUrl,target:"_blank",rel:"noopener noreferrer"},[a("div",No,[a("img",{class:"img-container",src:s.previewPicture,alt:""},null,8,jo),a("div",Bo,[s.nodisclosureDes?(d(),h("p",Io,S(s.nodisclosureDes),1)):(d(),h("p",Ho,S(s.soldDate?s.soldPrice:s.price),1)),a("div",Uo,[(d(!0),h($,null,H(s.basic,i=>(d(),h("span",{class:"desc-span",key:i.key},S(i.text),1))),128))]),a("p",Vo,S(s.streetAddress),1)])]),a("div",Go,[a("div",zo,[s.showMls?(d(),h("p",xo," Listing # "+S(s.mlsListingId),1)):L("",!0)]),s.mlsLogo?(d(),h("img",{key:0,class:"house-mls-logo",height:"18",src:s.mlsLogo,alt:"house mls logo"},null,8,Jo)):L("",!0)])],8,$o)]))),128))])],6)],16)],8,["to"])):L("",!0)}const Ae=J(Eo,[["render",Fo]]),Zo={emits:["update:active"],mixins:[fe],inject:["store"],directives:{outSideClick:Ue},data(){return{type:"school"}},methods:{pushLocation(){const{location:t}=this.store.condition;this.store.removeMapTag();const{keywordType:e,label:l}=this.data;t[e]?t[e].includes(l)===-1&&t[e].push(l):t[e]=[l]},touchstart(t){this.active||t.preventDefault(),this.onClick()},outClick(){this.active&&this.$emit("update:active","")}}},qo={class:"school-list"},Ko={class:"info"},Wo={class:"left"},Yo={class:"name"},Qo={class:"tip"},Xo={class:"right"};function es(t,e,l,n,r,o){const s=Ne("out-side-click");return t.parentDom?(d(),_(me,{key:0,to:t.parentDom},[a("div",{class:B(["marker-school map-marker",{active:t.active===t.fmLatlng}]),onMouseenter:e[1]||(e[1]=(...i)=>t.onMouseEnter&&t.onMouseEnter(...i)),onMouseleave:e[2]||(e[2]=(...i)=>t.onMouseLeave&&t.onMouseLeave(...i)),onTouchstart:e[3]||(e[3]=(...i)=>o.touchstart&&o.touchstart(...i))},[e[5]||(e[5]=a("i",{class:"lofty_iconfont lofty-icon-school2"},null,-1)),a("div",{ref:"pop",class:B(["marker-pop",{bottom:t.popBottom}]),style:ge(t.popStyle)},[a("span",{ref:"pointer",class:"pointer",style:ge(t.pointerStyle)},null,4),R((d(),h("ul",qo,[a("li",null,[a("div",Ko,[a("div",Wo,[a("p",Yo,S(t.data.name),1),a("span",Qo,S(t.data.type)+" · "+S(t.data.gradeRange),1)]),a("div",Xo,[a("div",{class:B({rating:!0,high:t.data.gsRating>9,middle:t.data.gsRating>=6&&t.data.gsRating<=9})},S(t.data.gsRating),3),e[4]||(e[4]=a("span",{class:"tip"},"Out of 10",-1))])]),a("div",{class:"link",onClick:e[0]||(e[0]=(...i)=>o.pushLocation&&o.pushLocation(...i))},"View Homes in This School Area")])])),[[s,o.outClick]])],6)],34)],8,["to"])):L("",!0)}const ts=J(Zo,[["render",es]]),os={mixins:[fe],data(){return{type:"aggre"}},methods:{showBoundary(){if(this.boundary&&!this.isMobile)this.boundary.setVisibility(!0);else{const t={strokeColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-borderColor")||"rgb(25, 25, 25)",fillColor:getComputedStyle(document.documentElement).getPropertyValue("--lofty-map-polygon-bgColor")||"rgba(25, 25, 25, 0.2)",lineWidth:2},e=new window.H.geo.LineString,l=[];this.data.bounds.forEach((o,s)=>{if(Array.isArray(o))if(s===0)o.forEach(i=>{e.pushPoint(i)});else{const i=new window.H.geo.LineString;o.forEach(u=>{i.pushPoint(u)}),l.push(i)}else e.pushPoint(o)});const r=new window.H.geo.Polygon(e,l);this.boundary=new window.H.map.Polygon(r,{style:t}),this.map.addObject(this.boundary),this.boundary.setVisibility(!0)}this.onMouseEnter()},hideBoundary(){this.boundary&&this.boundary.setVisibility(!1),this.onMouseLeave()},onClick(){const t=this.events&&this.events.click;t&&t.call(this),this.hideBoundary();let{lat:e,lng:l}=this.data,n=this.map.getZoom();this.isMobile?n+=1:n+=n<12?1.5:n<=16?1:.5;const r=this.map.getOptions().maxZoom||20;n=Math.min(n,r),this.map.getViewModel().setLookAtData({position:{lat:e,lng:l},zoom:n},!0)}},beforeUnmount(){this.boundary&&this.map&&this.map.removeObject(this.boundary)}},ss={class:"marker-shape"},is={class:"info"},as={class:"count"};function ns(t,e,l,n,r,o){return t.parentDom?(d(),_(me,{key:0,to:t.parentDom},[a("div",be({class:["marker-aggre map-marker",{active:t.active===t.fmLatlng}],onMouseenter:e[0]||(e[0]=(...s)=>o.showBoundary&&o.showBoundary(...s)),onMouseleave:e[1]||(e[1]=(...s)=>o.hideBoundary&&o.hideBoundary(...s)),onClick:e[2]||(e[2]=(...s)=>o.onClick&&o.onClick(...s))},t.$attrs),[a("div",ss,[a("div",is,[a("span",as,S(t.data.count),1)])])],16)],8,["to"])):L("",!0)}const ls=J(os,[["render",ns]]),rs={class:"marker-box aggre"},us={class:"marker-box house"},cs={class:"marker-box school"},ds={__name:"listingMap",props:{id:String},setup(t){const e=t,{module:l,zoom:n,map:r,sold:o,rect:s,geometry:i,drawing:u,searchMap:g,listings:m,markerData:T,mlsList:F,condition:K,showMap:Q,mapSyncType:oe,dealHouseData:ae}=ie[e.id],E=W({aggre:"",house:"",school:""});De("isMobile",x.isMobile),De("store",ie[e.id]);const X=y(!1),Z=W({lat:0,lng:0}),P={minZoom:4,maxZoom:20,zoom:n.value,center:{lat:40.00267,lng:-75.3057}};k();async function k(){const v=l.getModuleData().mapCenter;if(s){const p=s.split(",");P.center.lat=(+p[0]+ +p[2])/2,P.center.lng=(+p[1]+ +p[3])/2}else if(v)P.center.lng=+v.lng,P.center.lat=+v.lat,P.zoom=11,n.value=11;else{const p=await G.get("search/centerPoint");p.centerLatitude&&p.centerLongitude&&(P.center.lat=p.centerLatitude,P.center.lng=p.centerLongitude,n.value=p.zoom)}X.value=!0}const A=["city","zipCode","neighborhood"];function ne(){pe([K,Q],async()=>{if(!Q.value)return;const v=K.location||{};Object.keys(v).filter(f=>f!=="mapPath"&&f!=="mapRadius").length>0&&await ce(v),A.some(f=>!!v[f])?ye(v):i.value=[],g()},{immediate:!0})}pe(m,()=>{const v=l.$all(".lofty-listing .lofty-house-item");Array.from(v).forEach(p=>{p.onmouseenter=f=>{const C=f.target.getAttribute("house-id"),I=m.value.find(N=>String(N.id)===C),V=ae([JSON.parse(JSON.stringify(I))]);T.activeHouse=V[0],T.activeHouseKey=Date.now()}})}),pe(Q,v=>{if(v&&m.value[0]){const p=m.value[0];Z.lat=+p.latitude,Z.lng=+p.longitude}});const ue=y([]);async function ce(v){const p={mlsOrgIds:F};for(let C in v){let I=v[C];["streetAddress"].includes(C)&&(I=v[C].map(V=>V.split(",")[0])),p[C]=I.join(";")}const{data:f}=await G.post("search/listing/locationSearch",{data:p});if(f&&f.length===2){const[C,I,V,N]=[f[0].longitude,f[1].longitude,f[0].latitude,f[1].latitude],w=Math.min(C,I),D=Math.max(C,I),b=Math.min(V,N),M=Math.max(V,N);ue.value=[[w,b],[w,M],[D,M],[D,b]]}else f.length===1&&(Z.lat=f[0].latitude,Z.lng=f[0].longitude,n.value=18,r.value.setZoom(18))}async function ye(v){const p={};A.forEach(C=>{v[C]&&(p[C]=v[C].join(";"))});const f=await G.get("search/hj/getBoundary",{data:p});i.value=f.geometry}const ee=x.debounce(g,300);function de(v){r.value=v,v.addEventListener("dragend",()=>{["polygon","radius"].includes(oe.value)||ee()}),v.addEventListener("dbltap",p=>{let f=v.getZoom(),{viewportX:C,viewportY:I}=p.currentPointer,V=v.screenToGeo(C,I);const N=P.maxZoom||20,w=Math.min(f+1,N);v.getViewModel().setLookAtData({position:V,zoom:w},!0),g()}),v.addEventListener("mapviewchangeend",()=>{const p=Math.round(r.value.getZoom());n.value!==p&&(n.value=p,ee())}),ne()}return(v,p)=>c(X)?(d(),_(Je,{key:0,onInit:de,config:P,center:c(Z),boundary:c(ue),geometry:c(i),class:B({drawing:c(u)})},{default:se(()=>[Y(So,{class:"map-tool"}),c(o)?L("",!0):(d(),_(Ro,{key:0,class:"map-tool"})),Y(go,{class:B(["map-tool",{"draw-is-sold":c(o)}]),map:c(r)},null,8,["class","map"]),p[3]||(p[3]=a("div",{id:"tip"},null,-1)),a("div",rs,[(d(!0),h($,null,H(c(T).aggregation,f=>(d(),_(ls,{key:f.key,map:c(r),class:"map-marker",data:f,active:c(E).aggre,"onUpdate:active":p[0]||(p[0]=C=>c(E).aggre=C)},null,8,["map","data","active"]))),128))]),a("div",us,[(d(!0),h($,null,H(c(T).house,f=>(d(),_(Ae,{key:f.key,map:c(r),class:"map-marker",data:f,active:c(E).house,"onUpdate:active":p[1]||(p[1]=C=>c(E).house=C)},null,8,["map","data","active"]))),128)),c(T).activeHouse?(d(),_(Ae,{map:c(r),key:c(T).activeHouseKey,class:"map-marker active-house",data:c(T).activeHouse},null,8,["map","data"])):L("",!0)]),a("div",cs,[(d(!0),h($,null,H(c(T).school,f=>(d(),_(ts,{key:f.key,map:c(r),class:"map-marker",data:f,active:c(E).school,"onUpdate:active":p[2]||(p[2]=C=>c(E).school=C)},null,8,["map","data","active"]))),128))])]),_:1},8,["center","boundary","geometry","class"])):L("",!0)}};it();at();_e.initState(()=>{var t,e;st(),(e=(t=_e.mlsList)==null?void 0:t.forEach)==null||e.call(t,l=>nt(l))});jQuery(".lofty-listing-page").ready(function(){const t=document.querySelectorAll(".lofty-listing-page");t.length>0&&t.forEach(e=>{const l=e.getAttribute("id"),n=Ve(l),{id:r,$:o}=n;rt(n);const s=n.getModuleData();re(Lt,{id:r}).mount(o("#lofty-listing-search")),re(Nt,{id:r}).mount(o("#lofty_filter_container")),re(jt,{id:r}).mount(o("#lofty_pagination_container")),s.hasMap&&re(ds,{id:r}).mount(o("#lofty-map-container"))})});
  • lofty-idx/trunk/assets/market-report.js

    r3329655 r3333213  
    1 import{g as U,i as d,h as A,o as Y,u as F,d as Z}from"./_plugin-vue_export-helper.BXwY9aDM.js";import{r as S,c as C,k as j,l as E,o as l,d as x,w as R,e,f as V,q as N,s as O,y as z,u as t,v as tt,x as D,m as B,g as y,F as k,D as Q,p as et,M as st,J as ot,j as b,a as it,N as at,h as M,t as $,I as nt,H as lt}from"./vendor.NEC4PHgy.js";import{c as rt}from"./module.CKjUdtPN.js";import{u as q}from"./user.C9PYqYHM.js";import{a as dt,s as ct}from"./popup-mls.CBKQfXSn.js";import{_ as ut}from"./index.qsOScXF2.js";import{c as pt}from"./index.BjLmwQWW.js";import{P as yt}from"./index.zlpipePe.js";import{_ as ft}from"./index.uDUgTW0e.js";import{n as P}from"./number-format.CLdvQh6j.js";import{E as mt}from"./feature-listing-slider.BE3-pAJs.js";import{_ as gt}from"./houseSlider.B8lXL2Vn.js";import{h as W}from"./verify-email.BuNdX22j.js";import{_ as X}from"./index.BLlfxopq.js";import{I as vt}from"./index.C-6OBrPY.js";import"./useConfirm.BpvHcTF0.js";import"./outsideclick.Bw_hMuzW.js";import"./google.xpY_32OC.js";const I={};function ht(a){const n=a.getModuleData(),s={module:a,isShortCode:n.isShortCode,config:S(n.isShortCode?n.shortcode_config:{}),featureListingName:C(()=>s.config.value.featureListingName),hideDropDown:S(!1),submitJs:n.submitJs},r={getPageSize(){if(d)return 4;{const i=window.innerWidth;if(i>1480)return 4;if(i>900)return 3}},async getReportByTitle(i){r.syncUrl(i);const{data:f}=await A.post("/admin/report/getByTitle",{data:{title:i}});s.config.value={encryptId:f.encryptId,title:f.title,featureListingName:f.filterName,show_new:f.extraInfo.displayNewListing,show_pending:f.extraInfo.displayPendingListings,show_sold:f.extraInfo.displaySoldListings,leadSubscribeStatus:!!f.leadSubscribeStatus}},syncUrl(i){let f=window.location.pathname,g=U();g.report=encodeURIComponent(i),f=f+"?"+Y(g),window.history.pushState(null,"",f)}},o=U();return o.report&&r.getReportByTitle(decodeURIComponent(o.report)),{...s,...r}}function _t(a){I[a.id]=ht(a)}const bt={class:"lofty-subscribe-pop"},St={class:"market-subscribe-pop-content"},wt={class:"snapshot-input-wrap"},xt={__name:"subscribePop",props:{reportId:[String,Number],name:String},emits:["submit"],setup(a,{emit:n}){const s=j("popRef"),r=n,o=S(a.name),i=S(7),f=[{label:"Instantly",value:0},{label:"Daily",value:1},{label:"Weekly",value:7},{label:"Biweekly",value:14},{label:"Monthly",value:28}];E(()=>{s.value.open()});const g=S(!1);async function m(){if(!o.value.trim()){g.value=!0,setTimeout(()=>{g.value=!1},3e3);return}const _={encryptId:a.reportId,subscribe:!0,snapshotName:o.value,mailFrequency:i.value};(await A.post("/admin/report/subscribe",{data:_})).status.code===0?(r("submit"),h()):F.toast("Failed to subscribe to this report")}function h(){s.value.$el.parentNode.remove(),document.body.classList.remove("lofty-overflow-hidden")}return(_,c)=>(l(),x(yt,{ref_key:"popRef",ref:s,allowClose:!1},{default:R(()=>[e("div",bt,[e("div",{class:"title"},[c[3]||(c[3]=V("SAVE MARKET REPORT")),e("i",{class:"lofty_iconfont lofty-icon-close",onClick:h})]),c[6]||(c[6]=e("div",{class:"desc"}," Market updates that will help you to better understand the local market. ",-1)),e("div",St,[c[4]||(c[4]=e("div",{class:"label"},"Custom Market Report Name",-1)),e("div",wt,[N(e("input",{"onUpdate:modelValue":c[0]||(c[0]=p=>O(o)?o.value=p:null),class:z({error:t(g)}),placeholder:"Type Something"},null,2),[[tt,t(o)]]),N(e("span",null,"Please fill out this field.",512),[[D,t(g)]]),N(e("span",{class:"lofty_iconfont lofty-icon-clear_circle_outlined",onClick:c[1]||(c[1]=p=>o.value="")},null,512),[[D,t(o)]])]),c[5]||(c[5]=e("div",{class:"label mt20"},"Email Frequency",-1)),B(ft,{class:"mt10",modelValue:t(i),"onUpdate:modelValue":c[2]||(c[2]=p=>O(i)?i.value=p:null),list:f},null,8,["modelValue"])]),e("div",{class:"lofty-btn mt20",onClick:m},"Save")])]),_:1},512))}},kt={class:"lofty-btn is-subscribed ml-auto"},G={__name:"subscribeButton",props:{submitJs:String,reportId:[String,Number],leadSubscribeStatus:Boolean,name:String},setup(a){const n=S(a.leadSubscribeStatus);function s(){pt(async()=>{const r=document.createElement("div");document.body.appendChild(r),Q(xt,{reportId:a.reportId,name:a.name,onSubmit:()=>{n.value=!0,F.toast("Subscribe Successful!"),F.executeSubmitJS(a.submitJs)}}).mount(r)})}return(r,o)=>(l(),y(k,null,[N(e("div",{class:"lofty-btn ml-auto",onClick:s},"Subscribe to the report",512),[[D,!t(n)]]),N(e("div",kt,o[0]||(o[0]=[e("span",null,"Already subscribed to the report",-1),e("i",{class:"lofty_iconfont lofty-icon-checked"},null,-1)]),512),[[D,t(n)]])],64))}},Lt={class:"lofty-chart-container"},At={key:0,class:"lofty-chart-no-data"},H={__name:"index",props:{option:Object},setup(a){const n=C(()=>a.option.series.every(f=>f.data.every(g=>g===0))),s=j("chart");let r=null;et(()=>a.option,f=>{r&&r.setOption(f,!0)},{deep:!0});const o=Z(()=>{r&&r.resize()},1e3),i=new ResizeObserver(()=>{o()});return E(()=>{r=st(s.value),r.setOption(a.option),i.observe(s.value)}),ot(()=>{i.unobserve(s.value)}),(f,g)=>(l(),y("div",Lt,[e("div",{class:"lofty-charts",ref_key:"chart",ref:s},null,512),t(n)?(l(),y("div",At,g[0]||(g[0]=[e("div",{class:"lofty-no-listing"},[e("i",{class:"lofty_iconfont lofty-icon-activities_04"}),e("div",{class:"no-listing-text"},"No Data")],-1)]))):b("",!0)]))}},T=getComputedStyle(document.documentElement),J="border-radius: 0;box-shadow: 0px 2px 5px 0px rgba(25, 25, 25, 0.1)",$t={price:{color:[T.getPropertyValue("--lofty-market-report-list-price-color")||"#A8A8A8",T.getPropertyValue("--lofty-market-report-sold-price-color")||"#505050"],legend:{data:["List Price","Sold Price"],left:d?0:40,top:d?315:40,icon:"rect",itemWidth:12,itemHeight:3,itemGap:30},grid:{top:d?10:100,left:d?45:100,right:d?10:50},xAxis:{type:"category",boundaryGap:!1,data:[],axisLine:{lineStyle:{color:"#dadada"}},axisLabel:{color:"#A8A8A8"}},yAxis:{type:"value",scale:!0,axisLabel:{padding:d?[0,0,0,0]:[0,10,0,0],color:"#A8A8A8",formatter:function(a){if(a)return"$"+(P(a,!0,1)||"0")}},axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisTick:{show:!0,lineStyle:{color:"#A8A8A8"}},splitLine:{show:!1}},tooltip:{trigger:"axis",position:d?[45,10]:null,extraCssText:J,formatter:function(a){let n=`<div style="color:#A8A8A8">${a[0].axisValue}</div>`;return a.forEach(s=>{const r="$"+String(s.value).replace(/\B(?=(\d{3})+(?!\d))/g,",");n+=`<div style="color: #191919;margin-top: 10px;padding-right: 20px">${s.seriesName}:${r} </div>`}),n}},series:[{name:"List Price",data:[],type:"line",showSymbol:!1,symbolSize:5,lineStyle:{width:3},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(25, 25, 25, 0.15)"},{offset:1,color:"rgba(25, 25, 25, 0)"}]}}},{name:"Sold Price",data:[],type:"line",showSymbol:!1,symbolSize:5,lineStyle:{width:3},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(25, 25, 25, 0.15)"},{offset:1,color:"rgba(25, 25, 25, 0)"}]}}}]},day:{color:[T.getPropertyValue("--lofty-market-report-day-color")||"#505050"],grid:{top:d?10:100,left:d?30:60,right:d?10:50,bottom:d?40:60},xAxis:{type:"category",data:[],axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisLabel:{color:"#A8A8A8"}},yAxis:{type:"value",axisLabel:{padding:d?[0,0,0,0]:[0,10,0,0],color:"#A8A8A8"},axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisTick:{show:!0,lineStyle:{color:"#A8A8A8"}},splitLine:{show:!1}},tooltip:{trigger:"axis",position:d?[30,10]:null,extraCssText:J,formatter:function(a){let n=`<div style="color:#A8A8A8">${a[0].axisValue}</div>`;return a.forEach(s=>{n+=`<div style="color: #191919;margin-top: 10px;padding-right: 20px">${s.seriesName}:${s.value} </div>`}),n}},series:[{name:"Median Days on Market",data:[],type:"bar",barWidth:d?15:30}]},inventory:{color:[T.getPropertyValue("--lofty-market-report-inventory-active-color")||"#A8A8A8",T.getPropertyValue("--lofty-market-report-inventory-sold-color")||"#505050"],legend:{data:["Active Listings","Sold Listings"],left:d?0:40,top:d?315:40,icon:"rect",itemWidth:12,itemHeight:3,itemGap:30},grid:{top:d?10:100,left:d?30:80,right:d?10:50},xAxis:{type:"category",data:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisLabel:{color:"#A8A8A8"}},yAxis:{type:"value",axisLabel:{padding:d?[0,0,0,0]:[0,10,0,0],color:"#A8A8A8"},axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisTick:{show:!0,lineStyle:{color:"#A8A8A8"}},splitLine:{show:!1}},tooltip:{trigger:"axis",position:d?[30,10]:null,extraCssText:J,formatter:function(a){let n=`<div style="color:#A8A8A8">${a[0].axisValue}</div>`;return a.forEach(s=>{n+=`<div style="color: #191919;margin-top: 10px;padding-right: 20px">${s.seriesName}:${s.value} </div>`}),n}},series:[{name:"Active Listings",data:[],type:"bar",barWidth:d?10:30},{name:"Sold Listings",data:[],type:"bar",barWidth:d?10:30}]}},Ct={class:"market-report-three-data"},Nt={class:"lofty-three-card-wrap"},It=["onClick"],Tt={class:"title"},Dt={class:"value"},Et={key:0,class:"lofty_iconfont lofty-icon-arrow_03_up"},Mt={key:1,class:"lofty_iconfont lofty-icon-arrow_04_down"},Pt={class:"desc"},Rt={__name:"threeData",props:{id:String},setup(a){const n=it({price:{title:"Median List Price",value:null,rate:"",trend:"",desc:"The past 30 days -over- the previous 30 days"},day:{title:"Median Days on Market",value:null,rate:"",trend:"",desc:"The past 30 days -over- the previous 30 days"},inventory:{title:"Inventory",value:null,rate:"",trend:"",desc:"The past 30 days -over- the previous 30 days"}}),s=S(1),r=S("price"),o=at($t),i=S(o.price);function f(c){!d&&r.value!==c&&(r.value=c,i.value=o[c])}const{config:g}=I[a.id],m={filterName:g.value.featureListingName};h(),_();async function h(){const c=await A.get("market-report/statsInLastSixtyDays",{data:m}),{last_30_days:p,month_over_month:u}=c.data;n.price.value=P(p.median_list_price,!1,0,"$"),n.price.rate=u.median_list_price,n.price.trend=u.median_list_price_trend,n.day.value=P(p.median_days_on_market),n.day.rate=u.median_days_on_market,n.day.trend=u.median_days_on_market_trend,n.inventory.value=P(p.list_inventory+""),n.inventory.rate=u.list_inventory,n.inventory.trend=u.list_inventory_trend}async function _(){const c=await A.get("market-report/statsInLastSixMonths",{data:m}),p=[];for(let u in c.data){const v=c.data[u],w=new Date(`${u}-01`).toLocaleString("en-US",{month:"short"});p.push(w),o.price.series[0].data.push(+v.median_list_price||0),o.price.series[1].data.push(+v.median_sale_price||0),o.day.series[0].data.push(+v.median_days_on_market||0),o.inventory.series[0].data.push(v.list_inventory||0),o.inventory.series[1].data.push(v.sold_inventory||0)}o.price.xAxis.data=p,o.day.xAxis.data=p,o.inventory.xAxis.data=p,s.value=Date.now()}return(c,p)=>(l(),y("div",Ct,[e("div",Nt,[(l(!0),y(k,null,M(t(n),(u,v)=>(l(),y("div",{class:z(["card",{active:t(r)===v||t(d)}]),onClick:w=>f(v)},[e("div",Tt,$(u.title),1),e("div",Dt,[V($(u.value||"--")+" ",1),e("span",{class:z(["rate-number",u.trend])},[u.trend==="up"?(l(),y("i",Et)):u.trend==="down"?(l(),y("i",Mt)):b("",!0),V(" "+$(u.rate),1)],2)]),e("div",Pt,$(u.desc),1),t(d)?(l(),x(H,{option:t(o)[v],key:t(s),class:"chart-wrap-mobile"},null,8,["option"])):b("",!0)],10,It))),256))]),t(d)?b("",!0):(l(),x(H,{option:t(i),key:t(s),class:"chart-wrap-pc",style:{height:"calc(100vh - 300px)"}},null,8,["option"]))]))}},Vt={key:0,class:"lofty-market-listing-slider"},zt=["src"],Bt={init:"false",class:"swiper-container"},Jt={key:2,class:"lofty-no-listing"},Ut={__name:"newListing",props:{id:String},setup(a){nt();const{module:n,featureListingName:s}=I[a.id],r=LoftyIdxUtils.static_url(mt),o=S(!0),i=S([]),f=Date.now(),g=f-30*24*60*60*1e3,m=JSON.stringify({listingDate:[g,f].join(",")});async function h(){const p={pageSize:50,page:1,listingType:"featured-listing",featureListingName:s.value,condition:m},u=await A.get("/search/realTimeListings",{data:p,action:"lofty_idx_api"});u.data.listings.forEach(v=>W(v)),i.value=u.data.listings,o.value=!1,i.value.length>0&&lt(()=>{_()})}function _(){const p=n.$(".swiper-container");let u={navigation:{prevEl:".listing-slider-prev-button",nextEl:".listing-slider-next-button"},loop:i.value.length>3,initialSlide:1,observer:!0,spaceBetween:d?10:0,speed:1e3,autoplay:{pauseOnMouseEnter:!0,delay:5e3},centeredSlides:!d,centeredSlidesBounds:!1,slidesPerView:"auto",effect:"coverflow",coverflowEffect:{rotate:0,depth:0,scale:d?1:(50-100/window.innerWidth*100)/50,slideShadows:!1}};Object.assign(p,u),p.initialize()}function c(){const p=document.createElement("a");p.href=`/listing/?pageKey=search&featureListingName=${s.value}&condition=${encodeURIComponent(m)}`,p.target=d?"_self":"_blank",document.body.appendChild(p),p.click(),document.body.removeChild(p)}return E(()=>{h()}),(p,u)=>(l(),y(k,null,[u[5]||(u[5]=e("div",{class:"lofty-market-report-title lofty-page-padding"},[e("p",{class:"page-title"},"New Listings"),e("span",{class:"last-time"},"Last 30 Days")],-1)),t(i).length>0&&!t(o)?(l(),y("div",Vt,[e("img",{class:"img-background",src:t(r),alt:""},null,8,zt),u[3]||(u[3]=e("div",{class:"mask"},null,-1)),e("swiper-container",Bt,[(l(!0),y(k,null,M(t(i),(v,w)=>(l(),y("swiper-slide",{key:w,class:z({"swiper-slide-flow":!t(d),"swiper-slide-mobile":t(d)})},[B(gt,{house:v},{default:R(()=>u[0]||(u[0]=[e("div",{class:"lofty-status-tag new"},"Active",-1)])),_:2},1032,["house"])],2))),128))]),t(d)?b("",!0):(l(),y(k,{key:0},[u[1]||(u[1]=e("div",{class:"listing-slider-prev-button"},[e("i",{class:"lofty_iconfont lofty-icon-arrow_06_left"})],-1)),u[2]||(u[2]=e("div",{class:"listing-slider-next-button"},[e("i",{class:"lofty_iconfont lofty-icon-arrow_06_right"})],-1))],64))])):b("",!0),t(i).length>0&&!t(o)?(l(),y("div",{key:1,onClick:c,class:"lofty-more"},"More")):b("",!0),t(i).length===0&&!t(o)?(l(),y("div",Jt,u[4]||(u[4]=[e("i",{class:"lofty_iconfont lofty-icon-house_02"},null,-1),e("div",{class:"no-listing-text"},"No Listing Found",-1)]))):b("",!0)],64))}},Ft={key:0,class:"lofty-listing pending-listing"},Ot={key:2,class:"lofty-no-listing"},jt={__name:"pendingListing",props:{id:String},setup(a){const{featureListingName:n,getPageSize:s}=I[a.id],r=S([]),o=S(!0);E(()=>{f()});const i=JSON.stringify({listingStatus:["Pending"]});async function f(){const m={pageSize:s(),page:1,listingType:"featured-listing",featureListingName:n.value,condition:i},h=await A.get("/search/realTimeListings",{data:m,action:"lofty_idx_api"});h.data.listings.forEach(_=>W(_)),r.value=h.data.listings,o.value=!1}function g(){const m=document.createElement("a");m.href=`/listing/?pageKey=search&featureListingName=${n.value}&condition=${encodeURIComponent(i)}`,m.target=d?"_self":"_blank",document.body.appendChild(m),m.click(),document.body.removeChild(m)}return(m,h)=>(l(),y(k,null,[h[1]||(h[1]=e("div",{class:"lofty-market-report-title"},[e("p",{class:"page-title"},"Pending Listings")],-1)),t(r).length>0&&!t(o)?(l(),y("div",Ft,[(l(!0),y(k,null,M(t(r),_=>(l(),x(X,{class:"list-card",house:_},null,8,["house"]))),256))])):b("",!0),t(r).length>0&&!t(o)?(l(),y("div",{key:1,onClick:g,class:"lofty-more"},"More")):b("",!0),t(r).length===0&&!t(o)?(l(),y("div",Ot,h[0]||(h[0]=[e("i",{class:"lofty_iconfont lofty-icon-house_02"},null,-1),e("div",{class:"no-listing-text"},"No Listing Found",-1)]))):b("",!0)],64))}},Wt={key:0,class:"lofty-listing"},Kt={key:2,class:"lofty-no-listing"},qt={__name:"soldListing",props:{id:String},setup(a){const{featureListingName:n,getPageSize:s}=I[a.id],r=S([]),o=S(!0),i=Date.now(),f=i-30*24*60*60*1e3,g=JSON.stringify({soldDate:[f,i].join(",")});E(()=>{m()});async function m(){const _={pageSize:s(),page:1,featureListingName:n.value,listingType:"sold-listing",condition:g},c=await A.get("/search/realTimeListings",{data:_,action:"lofty_idx_api"});c.data.listings.forEach(p=>W(p)),r.value=c.data.listings,o.value=!1}function h(){const _=document.createElement("a");_.href=`/sold-listing/?pageKey=sold_listing&featureListingName=${n.value}&condition=${encodeURIComponent(g)}`,_.target=d?"_self":"_blank",document.body.appendChild(_),_.click(),document.body.removeChild(_)}return(_,c)=>(l(),y(k,null,[c[1]||(c[1]=e("div",{class:"lofty-market-report-title"},[e("p",{class:"page-title"},"Sold Listings"),e("span",{class:"last-time"},"Last 30 Days")],-1)),t(r).length>0&&!t(o)?(l(),y("div",Wt,[(l(!0),y(k,null,M(t(r),p=>(l(),x(X,{class:"list-card",house:p},null,8,["house"]))),256))])):b("",!0),t(r).length>0&&!t(o)?(l(),y("div",{key:1,onClick:h,class:"lofty-more"},"More")):b("",!0),t(r).length===0&&!t(o)?(l(),y("div",Kt,c[0]||(c[0]=[e("i",{class:"lofty_iconfont lofty-icon-house_02"},null,-1),e("div",{class:"no-listing-text"},"No Listing Found",-1)]))):b("",!0)],64))}},Gt={key:0,class:"lofty-market-report-header lofty-page-padding"},Ht={class:"lofty-ellipsis"},Qt={class:"market-report-list"},Xt=["onClick"],Yt={class:"lofty_iconfont lofty-icon-checked"},Zt={class:"lofty-market-report-title lofty-page-padding"},te={class:"page-title"},ee={class:"lofty-page-padding"},se={key:1},oe={key:2,class:"lofty-page-padding"},ie={key:3,class:"lofty-page-padding"},ae={key:4,class:"lofty-mobile-fix-bottom lofty-mobile-subscribe"},ne={__name:"index",props:{id:String},setup(a){const{isShortCode:n,config:s,getReportByTitle:r,submitJs:o}=I[a.id],i=C(()=>s.value.encryptId),f=C(()=>s.value.leadSubscribeStatus),g=C(()=>n||i.value),m=S(""),h=S([]),_=C(()=>h.value.filter(v=>m.value?v.title.toLowerCase().includes(m.value.toLowerCase()):h.value));n||c();async function c(){const v={pageNum:1,pageSize:300,onlyShowDisplay:!0},w=await A.post("/admin/report/list",{data:v});h.value=w.data.pluginReports||[];const L=h.value[0],K=U();L&&!K.report&&r(L.title)}const p=j("dropdown");function u(v){v.encryptId!==s.value.encryptId&&(s.value.title=v.title,r(v.title)),p.value.open(!1)}return(v,w)=>(l(),y(k,null,[t(n)?b("",!0):(l(),y("div",Gt,[B(ut,{class:"lofty-report-list-dropdown",left:0,clickMenuClose:!1,ref_key:"dropdown",ref:p},{menu:R(()=>[e("ul",Qt,[B(vt,{value:t(m),"onUpdate:value":w[0]||(w[0]=L=>O(m)?m.value=L:null),searchable:""},null,8,["value"]),(l(!0),y(k,null,M(t(_),L=>(l(),y("li",{class:"lofty-report-item lofty-ellipsis",onClick:K=>u(L)},[V($(L.title)+" ",1),N(e("i",Yt,null,512),[[D,t(i)===L.encryptId]])],8,Xt))),256))])]),default:R(()=>[e("span",Ht,$(t(s).title),1)]),_:1},512),!t(d)&&t(i)?(l(),x(G,{reportId:t(i),key:t(i),submitJs:t(o),name:t(s).title,leadSubscribeStatus:t(f)},null,8,["reportId","submitJs","name","leadSubscribeStatus"])):b("",!0)])),e("div",Zt,[e("p",te,$(t(s).title),1),w[1]||(w[1]=e("span",{class:"last-time"},"Last 30 Days",-1))]),e("div",ee,[t(g)?(l(),x(Rt,{id:a.id,key:t(i)},null,8,["id"])):b("",!0)]),t(s).show_new?(l(),y("div",se,[(l(),x(Ut,{id:a.id,key:t(i)},null,8,["id"]))])):b("",!0),t(s).show_pending?(l(),y("div",oe,[(l(),x(jt,{id:a.id,key:t(i)},null,8,["id"]))])):b("",!0),t(s).show_sold?(l(),y("div",ie,[(l(),x(qt,{id:a.id,key:t(i)},null,8,["id"]))])):b("",!0),t(d)&&t(i)?(l(),y("div",ae,[(l(),x(G,{reportId:t(i),key:t(i),submitJs:t(o),name:t(s).title,leadSubscribeStatus:t(f)},null,8,["reportId","submitJs","name","leadSubscribeStatus"]))])):b("",!0)],64))}};dt();q.initState(()=>{q.mlsList.forEach(a=>ct(a))});jQuery(".lofty-market-report-page").ready(function(){document.querySelectorAll(".lofty-market-report-page").forEach(n=>{const s=n.getAttribute("id"),r=rt(s);_t(r);const{id:o,$:i}=r;Q(ne,{id:o}).mount(i("#lofty-market-report-container"))})});
     1import{g as U,i as d,h as A,o as Y,u as F,d as Z}from"./_plugin-vue_export-helper.bB-lvPOu.js";import{r as S,c as C,k as j,l as E,o as l,d as x,w as R,e,f as V,q as N,s as O,y as z,u as t,v as tt,x as D,m as B,g as y,F as k,D as Q,p as et,M as st,J as ot,j as b,a as it,N as at,h as M,t as $,I as nt,H as lt}from"./vendor.DSMCY3-_.js";import{c as rt}from"./module.CKjUdtPN.js";import{u as q}from"./user.B_wb9Yeq.js";import{a as dt,s as ct}from"./popup-mls.BtxMjRiY.js";import{_ as ut}from"./index.Ca0KQw1k.js";import{c as pt}from"./index.B6VbAP4g.js";import{P as yt}from"./index.BPxU_3zo.js";import{_ as ft}from"./index.BIsjoQ8l.js";import{n as P}from"./number-format.CLdvQh6j.js";import{E as mt}from"./feature-listing-slider.C6SVvzLl.js";import{_ as gt}from"./houseSlider.vt9Nc49G.js";import{f as W}from"./house-format.CGUVCimM.js";import{_ as X}from"./index.W_awICU-.js";import{I as vt}from"./index.CblVywxl.js";import"./useConfirm.DafTdZE0.js";import"./outsideclick.Bw_hMuzW.js";import"./google.COqmJ1I4.js";import"./verify-email.CS8uhOrR.js";const I={};function ht(o){const i=o.getModuleData(),s={module:o,isShortCode:i.isShortCode,config:S(i.isShortCode?i.shortcode_config:{}),featureListingName:C(()=>s.config.value.featureListingName),hideDropDown:S(!1),submitJs:i.submitJs},r={getPageSize(){if(d)return 4;{const n=window.innerWidth;if(n>1480)return 4;if(n>900)return 3}},async getReportByTitle(n){r.syncUrl(n);const{data:f}=await A.post("/admin/report/getByTitle",{data:{title:n}});s.config.value={encryptId:f.encryptId,title:f.title,featureListingName:f.filterName,show_new:f.extraInfo.displayNewListing,show_pending:f.extraInfo.displayPendingListings,show_sold:f.extraInfo.displaySoldListings,leadSubscribeStatus:!!f.leadSubscribeStatus}},syncUrl(n){let f=window.location.pathname,g=U();g.report=encodeURIComponent(n),f=f+"?"+Y(g),window.history.pushState(null,"",f)}},a=U();return a.report&&r.getReportByTitle(decodeURIComponent(a.report)),{...s,...r}}function _t(o){I[o.id]=ht(o)}const bt={class:"lofty-subscribe-pop"},St={class:"market-subscribe-pop-content"},wt={class:"snapshot-input-wrap"},xt={__name:"subscribePop",props:{reportId:[String,Number],name:String},emits:["submit"],setup(o,{emit:i}){const s=j("popRef"),r=i,a=S(o.name),n=S(7),f=[{label:"Instantly",value:0},{label:"Daily",value:1},{label:"Weekly",value:7},{label:"Biweekly",value:14},{label:"Monthly",value:28}];E(()=>{s.value.open()});const g=S(!1);async function m(){if(!a.value.trim()){g.value=!0,setTimeout(()=>{g.value=!1},3e3);return}const _={encryptId:o.reportId,subscribe:!0,snapshotName:a.value,mailFrequency:n.value};(await A.post("/admin/report/subscribe",{data:_})).status.code===0?(r("submit"),h()):F.toast("Failed to subscribe to this report")}function h(){s.value.$el.parentNode.remove(),document.body.classList.remove("lofty-overflow-hidden")}return(_,c)=>(l(),x(yt,{ref_key:"popRef",ref:s,allowClose:!1},{default:R(()=>[e("div",bt,[e("div",{class:"title"},[c[3]||(c[3]=V("SAVE MARKET REPORT")),e("i",{class:"lofty_iconfont lofty-icon-close",onClick:h})]),c[6]||(c[6]=e("div",{class:"desc"}," Market updates that will help you to better understand the local market. ",-1)),e("div",St,[c[4]||(c[4]=e("div",{class:"label"},"Custom Market Report Name",-1)),e("div",wt,[N(e("input",{"onUpdate:modelValue":c[0]||(c[0]=p=>O(a)?a.value=p:null),class:z({error:t(g)}),placeholder:"Type Something"},null,2),[[tt,t(a)]]),N(e("span",null,"Please fill out this field.",512),[[D,t(g)]]),N(e("span",{class:"lofty_iconfont lofty-icon-clear_circle_outlined",onClick:c[1]||(c[1]=p=>a.value="")},null,512),[[D,t(a)]])]),c[5]||(c[5]=e("div",{class:"label mt20"},"Email Frequency",-1)),B(ft,{class:"mt10",modelValue:t(n),"onUpdate:modelValue":c[2]||(c[2]=p=>O(n)?n.value=p:null),list:f},null,8,["modelValue"])]),e("div",{class:"lofty-btn mt20",onClick:m},"Save")])]),_:1},512))}},kt={class:"lofty-btn is-subscribed ml-auto"},H={__name:"subscribeButton",props:{submitJs:String,reportId:[String,Number],leadSubscribeStatus:Boolean,name:String},setup(o){const i=S(o.leadSubscribeStatus);function s(){pt(async()=>{const r=document.createElement("div");document.body.appendChild(r),Q(xt,{reportId:o.reportId,name:o.name,onSubmit:()=>{i.value=!0,F.toast("Subscribe Successful!"),F.executeSubmitJS(o.submitJs)}}).mount(r)})}return(r,a)=>(l(),y(k,null,[N(e("div",{class:"lofty-btn ml-auto",onClick:s},"Subscribe to the report",512),[[D,!t(i)]]),N(e("div",kt,a[0]||(a[0]=[e("span",null,"Already subscribed to the report",-1),e("i",{class:"lofty_iconfont lofty-icon-checked"},null,-1)]),512),[[D,t(i)]])],64))}},Lt={class:"lofty-chart-container"},At={key:0,class:"lofty-chart-no-data"},G={__name:"index",props:{option:Object},setup(o){const i=C(()=>o.option.series.every(f=>f.data.every(g=>g===0))),s=j("chart");let r=null;et(()=>o.option,f=>{r&&r.setOption(f,!0)},{deep:!0});const a=Z(()=>{r&&r.resize()},1e3),n=new ResizeObserver(()=>{a()});return E(()=>{r=st(s.value),r.setOption(o.option),n.observe(s.value)}),ot(()=>{n.unobserve(s.value)}),(f,g)=>(l(),y("div",Lt,[e("div",{class:"lofty-charts",ref_key:"chart",ref:s},null,512),t(i)?(l(),y("div",At,g[0]||(g[0]=[e("div",{class:"lofty-no-listing"},[e("i",{class:"lofty_iconfont lofty-icon-activities_04"}),e("div",{class:"no-listing-text"},"No Data")],-1)]))):b("",!0)]))}},T=getComputedStyle(document.documentElement),J="border-radius: 0;box-shadow: 0px 2px 5px 0px rgba(25, 25, 25, 0.1)",$t={price:{color:[T.getPropertyValue("--lofty-market-report-list-price-color")||"#A8A8A8",T.getPropertyValue("--lofty-market-report-sold-price-color")||"#505050"],legend:{data:["List Price","Sold Price"],left:d?0:40,top:d?315:40,icon:"rect",itemWidth:12,itemHeight:3,itemGap:30},grid:{top:d?10:100,left:d?45:100,right:d?10:50},xAxis:{type:"category",boundaryGap:!1,data:[],axisLine:{lineStyle:{color:"#dadada"}},axisLabel:{color:"#A8A8A8"}},yAxis:{type:"value",scale:!0,axisLabel:{padding:d?[0,0,0,0]:[0,10,0,0],color:"#A8A8A8",formatter:function(o){if(o)return"$"+(P(o,!0,1)||"0")}},axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisTick:{show:!0,lineStyle:{color:"#A8A8A8"}},splitLine:{show:!1}},tooltip:{trigger:"axis",position:d?[45,10]:null,extraCssText:J,formatter:function(o){let i=`<div style="color:#A8A8A8">${o[0].axisValue}</div>`;return o.forEach(s=>{const r="$"+String(s.value).replace(/\B(?=(\d{3})+(?!\d))/g,",");i+=`<div style="color: #191919;margin-top: 10px;padding-right: 20px">${s.seriesName}:${r} </div>`}),i}},series:[{name:"List Price",data:[],type:"line",showSymbol:!1,symbolSize:5,lineStyle:{width:3},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(25, 25, 25, 0.15)"},{offset:1,color:"rgba(25, 25, 25, 0)"}]}}},{name:"Sold Price",data:[],type:"line",showSymbol:!1,symbolSize:5,lineStyle:{width:3},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(25, 25, 25, 0.15)"},{offset:1,color:"rgba(25, 25, 25, 0)"}]}}}]},day:{color:[T.getPropertyValue("--lofty-market-report-day-color")||"#505050"],grid:{top:d?10:100,left:d?30:60,right:d?10:50,bottom:d?40:60},xAxis:{type:"category",data:[],axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisLabel:{color:"#A8A8A8"}},yAxis:{type:"value",axisLabel:{padding:d?[0,0,0,0]:[0,10,0,0],color:"#A8A8A8"},axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisTick:{show:!0,lineStyle:{color:"#A8A8A8"}},splitLine:{show:!1}},tooltip:{trigger:"axis",position:d?[30,10]:null,extraCssText:J,formatter:function(o){let i=`<div style="color:#A8A8A8">${o[0].axisValue}</div>`;return o.forEach(s=>{i+=`<div style="color: #191919;margin-top: 10px;padding-right: 20px">${s.seriesName}:${s.value} </div>`}),i}},series:[{name:"Median Days on Market",data:[],type:"bar",barWidth:d?15:30}]},inventory:{color:[T.getPropertyValue("--lofty-market-report-inventory-active-color")||"#A8A8A8",T.getPropertyValue("--lofty-market-report-inventory-sold-color")||"#505050"],legend:{data:["Active Listings","Sold Listings"],left:d?0:40,top:d?315:40,icon:"rect",itemWidth:12,itemHeight:3,itemGap:30},grid:{top:d?10:100,left:d?30:80,right:d?10:50},xAxis:{type:"category",data:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisLabel:{color:"#A8A8A8"}},yAxis:{type:"value",axisLabel:{padding:d?[0,0,0,0]:[0,10,0,0],color:"#A8A8A8"},axisLine:{show:!0,lineStyle:{color:"#dadada"}},axisTick:{show:!0,lineStyle:{color:"#A8A8A8"}},splitLine:{show:!1}},tooltip:{trigger:"axis",position:d?[30,10]:null,extraCssText:J,formatter:function(o){let i=`<div style="color:#A8A8A8">${o[0].axisValue}</div>`;return o.forEach(s=>{i+=`<div style="color: #191919;margin-top: 10px;padding-right: 20px">${s.seriesName}:${s.value} </div>`}),i}},series:[{name:"Active Listings",data:[],type:"bar",barWidth:d?10:30},{name:"Sold Listings",data:[],type:"bar",barWidth:d?10:30}]}},Ct={class:"market-report-three-data"},Nt={class:"lofty-three-card-wrap"},It=["onClick"],Tt={class:"title"},Dt={class:"value"},Et={key:0,class:"lofty_iconfont lofty-icon-arrow_03_up"},Mt={key:1,class:"lofty_iconfont lofty-icon-arrow_04_down"},Pt={class:"desc"},Rt={__name:"threeData",props:{id:String},setup(o){const i=it({price:{title:"Median List Price",value:null,rate:"",trend:"",desc:"The past 30 days -over- the previous 30 days"},day:{title:"Median Days on Market",value:null,rate:"",trend:"",desc:"The past 30 days -over- the previous 30 days"},inventory:{title:"Inventory",value:null,rate:"",trend:"",desc:"The past 30 days -over- the previous 30 days"}}),s=S(1),r=S("price"),a=at($t),n=S(a.price);function f(c){!d&&r.value!==c&&(r.value=c,n.value=a[c])}const{config:g}=I[o.id],m={filterName:g.value.featureListingName};h(),_();async function h(){const c=await A.get("market-report/statsInLastSixtyDays",{data:m}),{last_30_days:p,month_over_month:u}=c.data;i.price.value=P(p.median_list_price,!1,0,"$"),i.price.rate=u.median_list_price,i.price.trend=u.median_list_price_trend,i.day.value=P(p.median_days_on_market),i.day.rate=u.median_days_on_market,i.day.trend=u.median_days_on_market_trend,i.inventory.value=P(p.list_inventory+""),i.inventory.rate=u.list_inventory,i.inventory.trend=u.list_inventory_trend}async function _(){const c=await A.get("market-report/statsInLastSixMonths",{data:m}),p=[];for(let u in c.data){const v=c.data[u],w=new Date(`${u}-01`).toLocaleString("en-US",{month:"short"});p.push(w),a.price.series[0].data.push(+v.median_list_price||0),a.price.series[1].data.push(+v.median_sale_price||0),a.day.series[0].data.push(+v.median_days_on_market||0),a.inventory.series[0].data.push(v.list_inventory||0),a.inventory.series[1].data.push(v.sold_inventory||0)}a.price.xAxis.data=p,a.day.xAxis.data=p,a.inventory.xAxis.data=p,s.value=Date.now()}return(c,p)=>(l(),y("div",Ct,[e("div",Nt,[(l(!0),y(k,null,M(t(i),(u,v)=>(l(),y("div",{class:z(["card",{active:t(r)===v||t(d)}]),onClick:w=>f(v)},[e("div",Tt,$(u.title),1),e("div",Dt,[V($(u.value||"--")+" ",1),e("span",{class:z(["rate-number",u.trend])},[u.trend==="up"?(l(),y("i",Et)):u.trend==="down"?(l(),y("i",Mt)):b("",!0),V(" "+$(u.rate),1)],2)]),e("div",Pt,$(u.desc),1),t(d)?(l(),x(G,{option:t(a)[v],key:t(s),class:"chart-wrap-mobile"},null,8,["option"])):b("",!0)],10,It))),256))]),t(d)?b("",!0):(l(),x(G,{option:t(n),key:t(s),class:"chart-wrap-pc",style:{height:"calc(100vh - 300px)"}},null,8,["option"]))]))}},Vt={key:0,class:"lofty-market-listing-slider"},zt=["src"],Bt={init:"false",class:"swiper-container"},Jt={key:2,class:"lofty-no-listing"},Ut={__name:"newListing",props:{id:String},setup(o){nt();const{module:i,featureListingName:s}=I[o.id],r=LoftyIdxUtils.static_url(mt),a=S(!0),n=S([]),f=Date.now(),g=f-30*24*60*60*1e3,m=JSON.stringify({listingDate:[g,f].join(",")});async function h(){const p={pageSize:50,page:1,listingType:"featured-listing",featureListingName:s.value,condition:m},u=await A.get("/search/realTimeListings",{data:p,action:"lofty_idx_api"});u.data.listings.forEach(v=>W(v)),n.value=u.data.listings,a.value=!1,n.value.length>0&&lt(()=>{_()})}function _(){const p=i.$(".swiper-container");let u={navigation:{prevEl:".listing-slider-prev-button",nextEl:".listing-slider-next-button"},loop:n.value.length>3,initialSlide:1,observer:!0,spaceBetween:d?10:0,speed:1e3,autoplay:{pauseOnMouseEnter:!0,delay:5e3},centeredSlides:!d,centeredSlidesBounds:!1,slidesPerView:"auto",effect:"coverflow",coverflowEffect:{rotate:0,depth:0,scale:d?1:(50-100/window.innerWidth*100)/50,slideShadows:!1}};Object.assign(p,u),p.initialize()}function c(){const p=document.createElement("a");p.href=`/listing/?pageKey=search&featureListingName=${s.value}&condition=${encodeURIComponent(m)}`,p.target=d?"_self":"_blank",document.body.appendChild(p),p.click(),document.body.removeChild(p)}return E(()=>{h()}),(p,u)=>(l(),y(k,null,[u[5]||(u[5]=e("div",{class:"lofty-market-report-title lofty-page-padding"},[e("p",{class:"page-title"},"New Listings"),e("span",{class:"last-time"},"Last 30 Days")],-1)),t(n).length>0&&!t(a)?(l(),y("div",Vt,[e("img",{class:"img-background",src:t(r),alt:""},null,8,zt),u[3]||(u[3]=e("div",{class:"mask"},null,-1)),e("swiper-container",Bt,[(l(!0),y(k,null,M(t(n),(v,w)=>(l(),y("swiper-slide",{key:w,class:z({"swiper-slide-flow":!t(d),"swiper-slide-mobile":t(d)})},[B(gt,{house:v},{default:R(()=>u[0]||(u[0]=[e("div",{class:"lofty-status-tag new"},"Active",-1)])),_:2},1032,["house"])],2))),128))]),t(d)?b("",!0):(l(),y(k,{key:0},[u[1]||(u[1]=e("div",{class:"listing-slider-prev-button"},[e("i",{class:"lofty_iconfont lofty-icon-arrow_06_left"})],-1)),u[2]||(u[2]=e("div",{class:"listing-slider-next-button"},[e("i",{class:"lofty_iconfont lofty-icon-arrow_06_right"})],-1))],64))])):b("",!0),t(n).length>0&&!t(a)?(l(),y("div",{key:1,onClick:c,class:"lofty-more"},"More")):b("",!0),t(n).length===0&&!t(a)?(l(),y("div",Jt,u[4]||(u[4]=[e("i",{class:"lofty_iconfont lofty-icon-house_02"},null,-1),e("div",{class:"no-listing-text"},"No Listing Found",-1)]))):b("",!0)],64))}},Ft={key:0,class:"lofty-listing pending-listing"},Ot={key:2,class:"lofty-no-listing"},jt={__name:"pendingListing",props:{id:String},setup(o){const{featureListingName:i,getPageSize:s}=I[o.id],r=S([]),a=S(!0);E(()=>{f()});const n=JSON.stringify({listingStatus:["Pending"]});async function f(){const m={pageSize:s(),page:1,listingType:"featured-listing",featureListingName:i.value,condition:n},h=await A.get("/search/realTimeListings",{data:m,action:"lofty_idx_api"});h.data.listings.forEach(_=>W(_)),r.value=h.data.listings,a.value=!1}function g(){const m=document.createElement("a");m.href=`/listing/?pageKey=search&featureListingName=${i.value}&condition=${encodeURIComponent(n)}`,m.target=d?"_self":"_blank",document.body.appendChild(m),m.click(),document.body.removeChild(m)}return(m,h)=>(l(),y(k,null,[h[1]||(h[1]=e("div",{class:"lofty-market-report-title"},[e("p",{class:"page-title"},"Pending Listings")],-1)),t(r).length>0&&!t(a)?(l(),y("div",Ft,[(l(!0),y(k,null,M(t(r),_=>(l(),x(X,{class:"list-card",house:_},null,8,["house"]))),256))])):b("",!0),t(r).length>0&&!t(a)?(l(),y("div",{key:1,onClick:g,class:"lofty-more"},"More")):b("",!0),t(r).length===0&&!t(a)?(l(),y("div",Ot,h[0]||(h[0]=[e("i",{class:"lofty_iconfont lofty-icon-house_02"},null,-1),e("div",{class:"no-listing-text"},"No Listing Found",-1)]))):b("",!0)],64))}},Wt={key:0,class:"lofty-listing"},Kt={key:2,class:"lofty-no-listing"},qt={__name:"soldListing",props:{id:String},setup(o){const{featureListingName:i,getPageSize:s}=I[o.id],r=S([]),a=S(!0),n=Date.now(),f=n-30*24*60*60*1e3,g=JSON.stringify({soldDate:[f,n].join(",")});E(()=>{m()});async function m(){const _={pageSize:s(),page:1,featureListingName:i.value,listingType:"sold-listing",condition:g},c=await A.get("/search/realTimeListings",{data:_,action:"lofty_idx_api"});c.data.listings.forEach(p=>W(p)),r.value=c.data.listings,a.value=!1}function h(){const _=document.createElement("a");_.href=`/sold-listing/?pageKey=sold_listing&featureListingName=${i.value}&condition=${encodeURIComponent(g)}`,_.target=d?"_self":"_blank",document.body.appendChild(_),_.click(),document.body.removeChild(_)}return(_,c)=>(l(),y(k,null,[c[1]||(c[1]=e("div",{class:"lofty-market-report-title"},[e("p",{class:"page-title"},"Sold Listings"),e("span",{class:"last-time"},"Last 30 Days")],-1)),t(r).length>0&&!t(a)?(l(),y("div",Wt,[(l(!0),y(k,null,M(t(r),p=>(l(),x(X,{class:"list-card",house:p},null,8,["house"]))),256))])):b("",!0),t(r).length>0&&!t(a)?(l(),y("div",{key:1,onClick:h,class:"lofty-more"},"More")):b("",!0),t(r).length===0&&!t(a)?(l(),y("div",Kt,c[0]||(c[0]=[e("i",{class:"lofty_iconfont lofty-icon-house_02"},null,-1),e("div",{class:"no-listing-text"},"No Listing Found",-1)]))):b("",!0)],64))}},Ht={key:0,class:"lofty-market-report-header lofty-page-padding"},Gt={class:"lofty-ellipsis"},Qt={class:"market-report-list"},Xt=["onClick"],Yt={class:"lofty_iconfont lofty-icon-checked"},Zt={class:"lofty-market-report-title lofty-page-padding"},te={class:"page-title"},ee={class:"lofty-page-padding"},se={key:1},oe={key:2,class:"lofty-page-padding"},ie={key:3,class:"lofty-page-padding"},ae={key:4,class:"lofty-mobile-fix-bottom lofty-mobile-subscribe"},ne={__name:"index",props:{id:String},setup(o){const{isShortCode:i,config:s,getReportByTitle:r,submitJs:a}=I[o.id],n=C(()=>s.value.encryptId),f=C(()=>s.value.leadSubscribeStatus),g=C(()=>i||n.value),m=S(""),h=S([]),_=C(()=>h.value.filter(v=>m.value?v.title.toLowerCase().includes(m.value.toLowerCase()):h.value));i||c();async function c(){const v={pageNum:1,pageSize:300,onlyShowDisplay:!0},w=await A.post("/admin/report/list",{data:v});h.value=w.data.pluginReports||[];const L=h.value[0],K=U();L&&!K.report&&r(L.title)}const p=j("dropdown");function u(v){v.encryptId!==s.value.encryptId&&(s.value.title=v.title,r(v.title)),p.value.open(!1)}return(v,w)=>(l(),y(k,null,[t(i)?b("",!0):(l(),y("div",Ht,[B(ut,{class:"lofty-report-list-dropdown",left:0,clickMenuClose:!1,ref_key:"dropdown",ref:p},{menu:R(()=>[e("ul",Qt,[B(vt,{value:t(m),"onUpdate:value":w[0]||(w[0]=L=>O(m)?m.value=L:null),searchable:""},null,8,["value"]),(l(!0),y(k,null,M(t(_),L=>(l(),y("li",{class:"lofty-report-item lofty-ellipsis",onClick:K=>u(L)},[V($(L.title)+" ",1),N(e("i",Yt,null,512),[[D,t(n)===L.encryptId]])],8,Xt))),256))])]),default:R(()=>[e("span",Gt,$(t(s).title),1)]),_:1},512),!t(d)&&t(n)?(l(),x(H,{reportId:t(n),key:t(n),submitJs:t(a),name:t(s).title,leadSubscribeStatus:t(f)},null,8,["reportId","submitJs","name","leadSubscribeStatus"])):b("",!0)])),e("div",Zt,[e("p",te,$(t(s).title),1),w[1]||(w[1]=e("span",{class:"last-time"},"Last 30 Days",-1))]),e("div",ee,[t(g)?(l(),x(Rt,{id:o.id,key:t(n)},null,8,["id"])):b("",!0)]),t(s).show_new?(l(),y("div",se,[(l(),x(Ut,{id:o.id,key:t(n)},null,8,["id"]))])):b("",!0),t(s).show_pending?(l(),y("div",oe,[(l(),x(jt,{id:o.id,key:t(n)},null,8,["id"]))])):b("",!0),t(s).show_sold?(l(),y("div",ie,[(l(),x(qt,{id:o.id,key:t(n)},null,8,["id"]))])):b("",!0),t(d)&&t(n)?(l(),y("div",ae,[(l(),x(H,{reportId:t(n),key:t(n),submitJs:t(a),name:t(s).title,leadSubscribeStatus:t(f)},null,8,["reportId","submitJs","name","leadSubscribeStatus"]))])):b("",!0)],64))}};dt();q.initState(()=>{var o,i;(i=(o=q.mlsList)==null?void 0:o.forEach)==null||i.call(o,s=>ct(s))});jQuery(".lofty-market-report-page").ready(function(){document.querySelectorAll(".lofty-market-report-page").forEach(i=>{const s=i.getAttribute("id"),r=rt(s);_t(r);const{id:a,$:n}=r;Q(ne,{id:a}).mount(n("#lofty-market-report-container"))})});
  • lofty-idx/trunk/assets/profile.js

    r3312310 r3333213  
    1 import{h as R,u as V,i as T}from"./_plugin-vue_export-helper.BXwY9aDM.js";import{K as IA,L as sA,c as Z,o,g as i,F as _,h as P,e as A,n as q,u as e,y as S,k as K,r as g,l as aA,d as D,w as U,f as O,t as B,m as k,q as Y,x as $,s as H,v as j,j as x,p as oA,D as J,H as mA,a as eA,i as EA}from"./vendor.NEC4PHgy.js";import{_ as CA}from"./index.BSqvwR4u.js";import{h as W}from"./verify-email.BuNdX22j.js";import{_ as X}from"./index.BLlfxopq.js";import{_ as hA}from"./index.qsOScXF2.js";import{E as pA}from"./feature-listing-slider.BE3-pAJs.js";import{_ as BA}from"./index.D4X1HF9n.js";import{P as QA}from"./index.zlpipePe.js";import{f as nA}from"./date-format.BrUodQAJ.js";import{p as iA}from"./standard.CMta1D5J.js";import{_ as lA}from"./index.D8G0GxXE.js";import{_ as vA}from"./index.uDUgTW0e.js";import{n as wA}from"./number-format.CLdvQh6j.js";import{u as yA}from"./useConfirm.BpvHcTF0.js";import{u as z}from"./user.C9PYqYHM.js";import{_ as MA}from"./index.BjLmwQWW.js";import"./outsideclick.Bw_hMuzW.js";import"./index.DWgDswh1.js";import"./google.xpY_32OC.js";const YA="/no-favority-yet.BlN9RJ9T.png",GA={class:"lofty-rate-stars"},RA=["onClick"],tA={__name:"index",props:IA({size:{type:[Number,String],default:20},gap:{type:[Number,String],default:10}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const c=sA(a,"modelValue"),I=Z(()=>({fontSize:`${a.size}px`,"margin-right":`${a.gap}px`}));return(r,n)=>(o(),i("div",GA,[(o(),i(_,null,P(5,t=>A("i",{onClick:s=>c.value=t,style:q(e(I)),class:S(["lofty_iconfont lofty-icon-star-fill",{active:c.value>=t}])},null,14,RA)),64))]))}},xA={class:"note-pop-container"},NA={class:"note-pop-content"},_A={class:"house-info"},bA=["src","alt"],SA=["src","alt"],$A={class:"house-base-info"},DA={class:"house-address"},PA={class:"house-basic"},kA={class:"house-price"},jA={class:"note-write"},LA={class:"note-title"},VA={class:"note-footer"},UA={class:"note-date"},TA={__name:"notePop",props:{house:Object,isView:Boolean},setup(a){const c=LoftyIdxUtils.static_url(pA),I=K("popRef"),r=g(!a.isView),n=g("");function t(){n.value=a.house.leadListingNote,r.value=!0}const s=g(!1);async function m(){if(s.value)return;s.value=!0;const G={listingId:a.house.id};(await R.post("/lead/operate/rating/delete-note",{data:G})).status.code===0&&(u(),V.toast("Delete Successfully",3e3),a.house.leadListingNote="",s.value=!1)}async function Q(){if(s.value)return;if(!n.value){V.toast("Please Type Something",2e3);return}const G={listingId:a.house.id,note:n.value};s.value=!0,(await R.post("/lead/operate/rating/update",{data:G})).status.code===0&&(u(),V.toast("Save Successfully",3e3),a.house.leadListingNote=n.value,s.value=!1)}async function d(G){const f={listingId:a.house.id,syncCrm:G};await R.post("/lead/operate/rating/syncCrm",{data:f})}function u(){I.value.$el.parentNode.remove(),document.body.classList.remove("lofty-overflow-hidden")}return aA(()=>{I.value.open()}),(G,f)=>(o(),D(QA,{ref_key:"popRef",ref:I,allowClose:!1},{default:U(()=>[A("div",xA,[A("div",{class:"note-title"},[f[2]||(f[2]=O(" MY NOTES ")),A("i",{class:"lofty_iconfont lofty-icon-close",onClick:u})]),A("div",NA,[A("div",_A,[a.house.previewPicture?(o(),i("img",{key:0,src:a.house.previewPicture,loading:"lazy",alt:a.house.address},null,8,bA)):(o(),i("img",{key:1,src:e(c),loading:"lazy",alt:a.house.address},null,8,SA)),(o(!0),i(_,null,P(a.house.listingTags,v=>(o(),i("div",{class:S(["lofty-status-tag",v.style.className])},B(v.value),3))),256)),A("div",$A,[A("p",DA,B(a.house.address),1),A("p",PA,[(o(!0),i(_,null,P(a.house.basic,v=>(o(),i("span",{key:v.key},B(v.text),1))),128))])]),A("div",kA,B(a.house.price),1)]),A("div",jA,[A("div",LA,[f[3]||(f[3]=A("div",null,"Note",-1)),f[4]||(f[4]=A("span",{class:"note-share"},"Share with my Agent",-1)),k(BA,{modelValue:a.house.leadListingSyncCrm,"onUpdate:modelValue":f[0]||(f[0]=v=>a.house.leadListingSyncCrm=v),onChange:d},null,8,["modelValue"])]),Y(A("p",{class:"note-text"},B(a.house.leadListingNote),513),[[$,!e(r)]]),Y(A("textarea",{"onUpdate:modelValue":f[1]||(f[1]=v=>H(n)?n.value=v:null),placeholder:"Type Something",maxlength:"3000"},null,512),[[$,e(r)],[j,e(n)]])]),A("div",VA,[e(r)?x("",!0):(o(),i(_,{key:0},[A("div",UA,B(e(nA)("MM/dd/yyyy",a.house.leadListingNoteTime)),1),A("span",{class:"lofty_iconfont lofty-icon-edit_01",onClick:t}),A("span",{class:"lofty_iconfont lofty-icon-delete",onClick:m})],64)),Y(A("div",{class:"lofty-btn",onClick:Q},"Save",512),[[$,e(r)]])])])])]),_:1},512))}},OA={key:0,class:"rate-star-wrap"},zA={class:"rating-panel"},FA={key:0,class:"lofty_iconfont lofty-icon-blog_01"},qA={key:1},KA={key:2},HA={__name:"rateNote",props:{house:Object},setup(a){const c=Z(()=>!!a.house.leadListingNote);function I(){const n=document.createElement("div");document.body.appendChild(n),J(TA,{house:a.house,isView:c.value}).mount(n)}oA(()=>a.house.leadListingRating,r);async function r(){const n={listingId:a.house.id,note:a.house.leadListingNote};a.house.leadListingRating&&(n.rating=String(a.house.leadListingRating)),await R.post("/lead/operate/rating/update",{data:n})}return(n,t)=>(o(),i("div",{class:"house-rate-note",style:q({display:e(c)?"block":"flex"})},[a.house.leadListingRating?(o(),i("div",OA,[k(tA,{modelValue:a.house.leadListingRating,"onUpdate:modelValue":t[0]||(t[0]=s=>a.house.leadListingRating=s),size:"12",gap:"5"},null,8,["modelValue"])])):(o(),D(hA,{key:1,left:0,top:24,"hide-arrow":"",trigger:"hover","fit-width":!1},{menu:U(()=>[A("div",zA,[t[2]||(t[2]=A("div",{class:"rating-panel-title"},"Rating",-1)),k(tA,{modelValue:a.house.leadListingRating,"onUpdate:modelValue":t[1]||(t[1]=s=>a.house.leadListingRating=s)},null,8,["modelValue"])])]),default:U(()=>[t[3]||(t[3]=A("span",{class:"rating-button"},[A("i",{class:"lofty_iconfont lofty-icon-star"}),A("span",null,"Rating")],-1))]),_:1})),A("div",{class:"rating-button",onClick:I,style:q({marginTop:e(c)?"6px":"0"})},[e(c)?x("",!0):(o(),i("i",FA)),e(c)?(o(),i("span",KA,[t[4]||(t[4]=A("span",null,"Noted:",-1)),A("span",null,B(a.house.leadListingNote),1)])):(o(),i("span",qA,"Note"))],4)],4))}},JA={class:"lofty-detail-title"},WA={key:0,style:{"margin-right":"10px"}},XA={class:"save-result"},ZA={key:0,class:"no-favorite-listing"},Ae=["src"],ee={class:"lofty-listing"},te={class:"lofty-listing"},se={__name:"saveListing",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(a){const c=LoftyIdxUtils.static_url(YA);function I(){if(T)return 5;{const w=window.innerWidth;if(w>1480)return 8;if(w>900)return 6}}const r=g([]),n=g(1),t=g(I()),s=g(1),m=g(0),Q=g(!0),d=sA(a,"modelValue");u();async function u(){Q.value=!0;const w={data:{pageIndex:n.value,pageSize:t.value},headers:{}};d.value&&(w.headers.trackingpagekey="profile",d.value=!1);const y=await R.get("/lead/profile/favorite-listing/list",w);Q.value=!1,y.status.code===0&&(r.value=y.data.listings,r.value.forEach(W),s.value=y.data.totalPage,m.value=y.data.counts,n.value===1&&(G.value=r.value.length>0,G.value&&v()))}const G=g(!1),f=g([]);async function v(){const w={pageSize:T?4:I()/2,detailId:r.value[0].id},y=await R.get("/search/recommended-listings",{data:w});y.status.code===0&&(f.value=y.data.listings,f.value.forEach(W))}function E(){n.value=1,u()}function l(w){n.value=w.page,u()}function p(){const w=document.createElement("a");w.href="/listing/?pageKey=search",document.body.appendChild(w),w.click(),document.body.removeChild(w)}return(w,y)=>(o(),i("div",null,[A("div",JA,[e(m)?(o(),i("span",WA,B(e(m)),1)):x("",!0),O("SAVED LISTING"+B(e(m)>1?"S":""),1)]),A("div",XA,[k(lA,{loading:e(Q)},null,8,["loading"]),e(r).length===0&&!e(Q)?(o(),i("div",ZA,[A("img",{src:e(c),width:"240",height:"240",alt:""},null,8,Ae),y[0]||(y[0]=A("div",{class:"tip"},"You don’t have any saved listings yet",-1)),y[1]||(y[1]=A("div",{class:"desc"},"Simply browse our website and add properties to your favorites list. Collect more!",-1)),A("div",{class:"get-start",onClick:p},"Let's get started!")])):x("",!0),A("div",ee,[(o(!0),i(_,null,P(e(r),L=>(o(),D(X,{house:L,class:"list-card",onRefresh:E},{inner:U(()=>[k(HA,{house:L},null,8,["house"])]),_:2},1032,["house"]))),256))])]),e(s)>1&&!e(Q)?(o(),D(iA,{key:0,totalPage:e(s),onPageChange:l,pageNum:e(n),pageSize:e(t),noScroll:!0},null,8,["totalPage","pageNum","pageSize"])):x("",!0),e(G)?(o(),i(_,{key:1},[y[2]||(y[2]=A("div",{class:"lofty-detail-title recommend-title"},"RECOMMEND LISTINGS FOR YOU",-1)),A("div",te,[(o(!0),i(_,null,P(e(f),L=>(o(),D(X,{house:L,class:"list-card",onRefresh:E},null,8,["house"]))),256))])],64)):x("",!0)]))}},ae="/no-saved-search-yet.DyaetOmV.png",oe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAKoCAYAAADnMk54AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAuvSURBVHgB7d0xcQRBEATBuSOzNJfmsBEFKWQoXpVpN4Dy+tndOwAAZLwDAECKAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDas7t3AD7AOecOAL/2DgAAKQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMd6dvcOAAAZ7wAAkCIAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/Nizu3cAAMjwBQwAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAXnt29AwAknHPud3b64H97BwCAFAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIOYLSHMYsAMFv7MAAAAASUVORK5CYII=",ne={class:"lofty-house-item"},ie=["src"],le={__name:"houseSkeleton",setup(a){return(c,I)=>(o(),i("div",ne,[A("img",{class:"lofty-house-skeleton",src:e(oe),alt:""},null,8,ie)]))}},re={class:"search-title"},ue={class:"search-date"},de={class:"mail-label"},ce={class:"mail-value"},ge={class:"tag"},fe={class:"value"},Ie={class:"lofty-listing"},me={__name:"searchResult",props:{search:Object},emits:["refresh"],setup(a,{emit:c}){const I=nA("MM/dd/yyyy",new Date(a.search.createTime)),r=c,n=JSON.parse(a.search.searchCondition);let t=n.origin.condition;typeof t=="object"&&(t=JSON.stringify(t));const s=m();function m(){if(T)return 4;{const C=window.innerWidth;if(C>1480)return 4;if(C>900)return 3}}const Q=K("result"),d=new IntersectionObserver((C,M)=>{C.forEach(h=>{h.isIntersecting&&(rA(),M.unobserve(h.target))})},{threshold:.3});aA(()=>{d.observe(Q.value)});const u=g([]);G();async function G(){const C={action:"lofty_idx_api",condition:t,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone};n.origin.rect&&(C.rect=n.origin.rect);const M=await R.get("/save-search/tags",{data:C});if(M.data.data){const h=M.data.data.split(";");u.value=h.map(N=>{const b=N.split(":");return{label:b[1]?b[0]+":":"",value:b[1]||b[0]}}),p()}}const f=g(999),v=g(!1),E=g(!0),l=K("tagRef");function p(){f.value=u.value.length,C();function C(){mA(()=>{l.value&&l.value.scrollHeight>50&&(f.value--,C(),v.value=!0,E.value=!1)})}}function w(){E.value?p():(f.value=u.value.length,E.value=!0)}const y=g([]),L=g(0),AA=g(!0);async function rA(){const C={action:"lofty_idx_api",data:{...n.origin,condition:t}},M=await R.get("/search/realTimeListings",C);AA.value=!1,L.value=M.data.counts;const h=M.data.listings.slice(0,s);h.forEach(N=>W(N)),y.value=h}const{confirm:uA}=yA();function dA(){uA({title:"Delete Saved Search",content:"Are you sure to delete this alert ?",onConfirm:async()=>{(await R.post(`/save-search/delete?saveSearchId=${a.search.id}`,{})).status.code===0&&r("refresh")}})}function cA(){const{origin:C}=n;delete C.wordpressSiteId;let M="/listing/?pageKey=search";for(let b in C)typeof C[b]=="object"?M+=`&${b}=${encodeURIComponent(JSON.stringify(C[b]))}`:M+=`&${b}=${encodeURIComponent(C[b])}`;let h=JSON.parse(t);h.location&&h.location.mapRadius&&(M+=`&mapRadius=${encodeURIComponent(JSON.stringify(h.location.mapRadius))}`);const N=document.createElement("a");N.href=M,N.target="_blank",document.body.appendChild(N),N.click(),document.body.removeChild(N)}const gA=[{label:"Instantly",value:0},{label:"Daily",value:1},{label:"Weekly",value:7},{label:"Biweekly",value:14},{label:"Monthly",value:28}];oA(()=>a.search.alertFrequency,fA);async function fA(){(await R.post("/save-search/updateSnapshot",{data:{snapshotId:a.search.id,frequency:a.search.alertFrequency}})).status.code===0&&V.toast("Update Successfully",3e3)}return(C,M)=>(o(),i("div",{class:"search-result-container",ref_key:"result",ref:Q},[A("div",re,[A("span",null,[O(B(a.search.alertName)+" ",1),A("i",{class:"lofty_iconfont lofty-icon-delete",onClick:dA})]),A("span",ue,B(e(I)),1),k(vA,{class:"alert-select",modelValue:a.search.alertFrequency,"onUpdate:modelValue":M[0]||(M[0]=h=>a.search.alertFrequency=h),list:gA,size:"small"},{label:U(({label:h})=>[A("span",de,[M[1]||(M[1]=O("Property Alert ")),A("span",ce,B(h),1)])]),_:1},8,["modelValue"])]),A("div",{class:"search-tag-list",ref_key:"tagRef",ref:l},[(o(!0),i(_,null,P(e(u),(h,N)=>Y((o(),i("div",ge,[A("label",null,B(h.label),1),A("span",fe,B(h.value),1)],512)),[[$,N<e(f)]])),256)),e(v)?(o(),i("div",{key:0,class:"tag",onClick:w},[A("span",{class:S(["value","lofty_iconfont",e(E)?"lofty-icon-arrow_08_up":"lofty-icon-arrow_08_down"])},null,2)])):x("",!0)],512),A("div",Ie,[e(AA)?(o(!0),i(_,{key:0},P(e(s),h=>(o(),D(le,{class:"list-card"}))),256)):x("",!0),(o(!0),i(_,null,P(e(y),h=>(o(),D(X,{class:"list-card",house:h},null,8,["house"]))),256))]),A("div",{class:"view-all-listing",onClick:cA}," View All Matched "+B(e(wA)(e(L))||0)+" Listings ",1)],512))}},Ee={style:{"min-height":"300px",position:"relative"}},Ce={key:0,class:"no-favorite-listing"},he=["src"],pe={class:"search-list"},Be={__name:"saveSearch",setup(a){const c=LoftyIdxUtils.static_url(ae),I=g(1),r=g([]),n=g(!0),t=g(1);s();async function s(){n.value=!0;const d={pageIndex:I.value,pageSize:10,leadType:2},u=await R.get("/save-search/list",{data:d});t.value=u.data.totalPage,r.value=u.data.searchList||[],n.value=!1}function m(d){I.value=d.page,s()}function Q(){const d=document.createElement("a");d.href="/listing/?pageKey=search",document.body.appendChild(d),d.click(),document.body.removeChild(d)}return(d,u)=>(o(),i("div",null,[u[2]||(u[2]=A("div",{class:"lofty-detail-title"},"SAVED SEARCHES",-1)),A("div",Ee,[k(lA,{loading:e(n)},null,8,["loading"]),e(r).length===0&&!e(n)?(o(),i("div",Ce,[A("img",{src:e(c),width:"240",height:"240",alt:""},null,8,he),u[0]||(u[0]=A("div",{class:"tip"},"You don’t have any saved searches yet.",-1)),u[1]||(u[1]=A("div",{class:"desc"},"Easily add saved searches and we'll send you new properties once they become available.",-1)),A("div",{class:"get-start",onClick:Q},"Let's get started!")])):x("",!0),A("div",pe,[(o(!0),i(_,null,P(e(r),G=>(o(),D(me,{search:G,onRefresh:s},null,8,["search"]))),256))]),e(t)>1?(o(),D(iA,{key:1,totalPage:e(t),onPageChange:m,pageNum:e(I),pageSize:10,noScroll:!0},null,8,["totalPage","pageNum"])):x("",!0)])]))}},Qe={class:"lofty-form-panel"},ve={class:"info-form"},we={class:"form-wrap"},ye={class:"form-name"},Me={class:"input-wrapper"},Ye={class:"input-wrapper"},Ge={class:"input-wrapper"},Re={class:"info-form"},xe={class:"form-wrap"},Ne={class:"input-wrapper"},_e={class:"input-wrapper"},be={class:"input-wrapper"},F=`The password must be between 6-20 characters, have both numbers and letters, and no spaces. The following special characters are supported:-/:;()$&@\\".,?!'[]{}#%^*+=_|~<>€£¥·`,Se="Please enter the same password as the former",$e={__name:"account",emits:["refresh"],setup(a,{emit:c}){const I=c,r=z.getUser(),n=Z(()=>{const E=t.firstName!==r.firstName||t.lastName!==r.lastName||t.phoneNumber!==r.phoneNumber,l=t.password&&t.newPassword&&t.confirmPassword;return E||l}),t=eA({account:r.account,firstName:r.firstName,lastName:r.lastName,phoneNumber:r.phoneNumber,password:"",newPassword:"",confirmPassword:""}),s=eA({firstName:!1,lastName:!1,phone:!1,phoneMsg:"Please enter your phone number",password:!1,newPassword:!1,confirmPassword:!1,passwordRequire:!1});function m(){setTimeout(()=>{Object.keys(s).forEach(E=>{s[E]=!1})},3e3)}async function Q(){if(n.value){if(!t.firstName){s.firstName=!0,m();return}if(!t.lastName){s.lastName=!0,m();return}if(!t.phoneNumber){s.phone=!0,s.phoneMsg="Please enter your phone number",m();return}if(/^\d{3}-?\d{3}-?\d{4}$/.test(t.phoneNumber)){const E=await R.get(`/register/phoneValidate?phoneNumber=${t.phoneNumber}`);E.status.code===0?f():(s.phone=!0,s.phoneMsg=E.status.msg)}else s.phone=!0,s.phoneMsg="Please enter a valid phone number format.";m()}}const d=/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d\-\/:;()$&@".,?!'\[\]{}#%^*+=_|~<>€£¥·]{6,20}$/,u=g(F);function G(){if(s.passwordRequire=!0,!t.password){s.password=!0,m();return}if(!t.newPassword||!d.test(t.newPassword)){s.newPassword=!0,u.value=F,m();return}if(!t.confirmPassword||!d.test(t.confirmPassword)){s.confirmPassword=!0,u.value=F,m();return}if(t.confirmPassword!==t.newPassword){s.confirmPassword=!0,u.value=Se,m();return}v()}function f(){const{password:E,newPassword:l,confirmPassword:p}=t;E||l||p?G():v()}async function v(){await V.addScript(LoftyIdxUtils.public_url("js/md5.min.js"),!0);const E={firstName:t.firstName,lastName:t.lastName,phoneNumber:t.phoneNumber};t.password&&(E.password=window.md5(t.password),E.newPassword=window.md5(t.newPassword));const l=await R.post("/lead/profile/update",{data:E});l.status.code===0?(V.toast("Update Successfully",3e3),I("refresh")):V.toast(l.status.msg,3e3)}return(E,l)=>(o(),i("div",null,[l[9]||(l[9]=A("div",{class:"lofty-detail-title"},"ACCOUNT",-1)),A("div",Qe,[A("div",ve,[l[7]||(l[7]=A("div",{class:"form-title"},"Personal Info",-1)),A("div",we,[A("div",ye,[A("div",Me,[Y(A("input",{"onUpdate:modelValue":l[0]||(l[0]=p=>e(t).firstName=p),placeholder:"First Name",type:"text",class:S({error:e(s).firstName})},null,2),[[j,e(t).firstName]]),Y(A("span",null,"Please fill out this field.",512),[[$,e(s).firstName]])]),A("div",Ye,[Y(A("input",{"onUpdate:modelValue":l[1]||(l[1]=p=>e(t).lastName=p),placeholder:"Last Name",type:"text",class:S({error:e(s).lastName})},null,2),[[j,e(t).lastName]]),Y(A("span",null,"Please fill out this field.",512),[[$,e(s).lastName]])])]),A("div",Ge,[Y(A("input",{"onUpdate:modelValue":l[2]||(l[2]=p=>e(t).phoneNumber=p),inputmode:"tel",class:S([{error:e(s).phone},"mt20"]),placeholder:"Phone Number",type:"text"},null,2),[[j,e(t).phoneNumber]]),Y(A("span",null,B(e(s).phoneMsg),513),[[$,e(s).phone]])]),Y(A("input",{"onUpdate:modelValue":l[3]||(l[3]=p=>e(t).account=p),readonly:"",disabled:"",class:"mt20",type:"text"},null,512),[[j,e(t).account]])])]),A("div",Re,[l[8]||(l[8]=A("div",{class:"form-title"},"Login Info Settings",-1)),A("div",xe,[A("div",Ne,[Y(A("input",{"onUpdate:modelValue":l[4]||(l[4]=p=>e(t).password=p),class:S({error:e(s).passwordRequire&&!e(t).password}),type:"password",placeholder:"Current Password"},null,2),[[j,e(t).password]]),Y(A("span",null,"Please fill out this field.",512),[[$,e(s).passwordRequire&&!e(t).password]])]),A("div",_e,[Y(A("input",{"onUpdate:modelValue":l[5]||(l[5]=p=>e(t).newPassword=p),class:S([{error:e(s).passwordRequire&&e(s).newPassword},"mt20"]),placeholder:"New Password",type:"password"},null,2),[[j,e(t).newPassword]]),Y(A("span",null,B(e(u)),513),[[$,e(s).passwordRequire&&e(s).newPassword]])]),A("div",be,[Y(A("input",{"onUpdate:modelValue":l[6]||(l[6]=p=>e(t).confirmPassword=p),class:S([{error:e(s).passwordRequire&&e(s).confirmPassword},"mt20"]),placeholder:"Confirm New Password",type:"password"},null,2),[[j,e(t).confirmPassword]]),Y(A("span",null,B(e(u)),513),[[$,e(s).passwordRequire&&e(s).confirmPassword]])])])])]),A("div",{class:S(["lofty-btn update-button",{disabled:!e(n)}]),onClick:Q},"Update",2)]))}},De={__name:"index",setup(a){const c=g("SaveListing"),I={SaveListing:se,SaveSearch:Be,Account:$e},r=[{label:"Saved Listings",value:"SaveListing"},{label:"Saved Searches",value:"SaveSearch"},{label:"Account",value:"Account"}];function n(){R.get("/lofty-logout").then(Q=>{Q.data&&window.location.reload()})}const t=g(1),s=g(!0);function m(){z.getCommonInfo().then(()=>{t.value=Date.now()})}return(Q,d)=>(o(),i("div",null,[e(T)?(o(),i("div",{key:0,class:"lofty-logout-button",onClick:n},d[2]||(d[2]=[A("i",{class:"lofty_iconfont lofty-icon-map_01"},null,-1),A("span",null,"Logout",-1)]))):x("",!0),k(CA,{modelValue:e(c),"onUpdate:modelValue":d[0]||(d[0]=u=>H(c)?c.value=u:null),tabs:r},{default:U(()=>[e(T)?x("",!0):(o(),i("span",{key:0,class:"lofty-logout-button",onClick:n},d[3]||(d[3]=[A("i",{class:"lofty_iconfont lofty-icon-export"},null,-1),A("span",null,"Logout",-1)])))]),_:1},8,["modelValue"]),(o(),D(EA(I[e(c)]),{onRefresh:m,key:e(t),modelValue:e(s),"onUpdate:modelValue":d[1]||(d[1]=u=>H(s)?s.value=u:null)},null,40,["modelValue"]))]))}},Pe={__name:"login",setup(a){function c(){window.location.reload()}return(I,r)=>(o(),i("div",null,[k(MA,{class:"account-login-form",callback:c})]))}};z.initState(()=>{z.loginStatus.value?J(De).mount("#lofty-app"):J(Pe).mount("#lofty-app")});
     1import{h as R,u as V,i as T}from"./_plugin-vue_export-helper.bB-lvPOu.js";import{K as IA,L as sA,c as Z,o,g as i,F as _,h as P,e as A,n as F,u as e,y as S,k as H,r as g,l as aA,d as D,w as U,f as O,t as B,m as k,q as Y,x as $,s as K,v as j,j as x,p as oA,D as J,H as mA,a as eA,i as EA}from"./vendor.DSMCY3-_.js";import{_ as CA}from"./index.jjVwSEkV.js";import{f as W}from"./house-format.CGUVCimM.js";import{_ as X}from"./index.W_awICU-.js";import{_ as pA}from"./index.Ca0KQw1k.js";import{E as hA}from"./feature-listing-slider.C6SVvzLl.js";import{_ as BA}from"./index.BdhGsZUN.js";import{P as QA}from"./index.BPxU_3zo.js";import{f as nA}from"./date-format.BrUodQAJ.js";import{p as iA}from"./standard.CXwndxZu.js";import{_ as lA}from"./index.DAwEVGKX.js";import{_ as vA}from"./index.BIsjoQ8l.js";import{n as wA}from"./number-format.CLdvQh6j.js";import{u as yA}from"./useConfirm.DafTdZE0.js";import{u as z}from"./user.B_wb9Yeq.js";import{_ as MA}from"./index.B6VbAP4g.js";import"./verify-email.CS8uhOrR.js";import"./outsideclick.Bw_hMuzW.js";import"./index.B1jQkB8N.js";import"./google.COqmJ1I4.js";const YA="/no-favority-yet.BlN9RJ9T.png",GA={class:"lofty-rate-stars"},RA=["onClick"],tA={__name:"index",props:IA({size:{type:[Number,String],default:20},gap:{type:[Number,String],default:10}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const c=sA(a,"modelValue"),I=Z(()=>({fontSize:`${a.size}px`,"margin-right":`${a.gap}px`}));return(r,n)=>(o(),i("div",GA,[(o(),i(_,null,P(5,t=>A("i",{onClick:s=>c.value=t,style:F(e(I)),class:S(["lofty_iconfont lofty-icon-star-fill",{active:c.value>=t}])},null,14,RA)),64))]))}},xA={class:"note-pop-container"},NA={class:"note-pop-content"},_A={class:"house-info"},bA=["src","alt"],SA=["src","alt"],$A={class:"house-base-info"},DA={class:"house-address"},PA={class:"house-basic"},kA={class:"house-price"},jA={class:"note-write"},LA={class:"note-title"},VA={class:"note-footer"},UA={class:"note-date"},TA={__name:"notePop",props:{house:Object,isView:Boolean},setup(a){const c=LoftyIdxUtils.static_url(hA),I=H("popRef"),r=g(!a.isView),n=g("");function t(){n.value=a.house.leadListingNote,r.value=!0}const s=g(!1);async function m(){if(s.value)return;s.value=!0;const G={listingId:a.house.id};(await R.post("/lead/operate/rating/delete-note",{data:G})).status.code===0&&(u(),V.toast("Delete Successfully",3e3),a.house.leadListingNote="",s.value=!1)}async function Q(){if(s.value)return;if(!n.value){V.toast("Please Type Something",2e3);return}const G={listingId:a.house.id,note:n.value};s.value=!0,(await R.post("/lead/operate/rating/update",{data:G})).status.code===0&&(u(),V.toast("Save Successfully",3e3),a.house.leadListingNote=n.value,s.value=!1)}async function d(G){const f={listingId:a.house.id,syncCrm:G};await R.post("/lead/operate/rating/syncCrm",{data:f})}function u(){I.value.$el.parentNode.remove(),document.body.classList.remove("lofty-overflow-hidden")}return aA(()=>{I.value.open()}),(G,f)=>(o(),D(QA,{ref_key:"popRef",ref:I,allowClose:!1},{default:U(()=>[A("div",xA,[A("div",{class:"note-title"},[f[2]||(f[2]=O(" MY NOTES ")),A("i",{class:"lofty_iconfont lofty-icon-close",onClick:u})]),A("div",NA,[A("div",_A,[a.house.previewPicture?(o(),i("img",{key:0,src:a.house.previewPicture,loading:"lazy",alt:a.house.address},null,8,bA)):(o(),i("img",{key:1,src:e(c),loading:"lazy",alt:a.house.address},null,8,SA)),(o(!0),i(_,null,P(a.house.listingTags,v=>(o(),i("div",{class:S(["lofty-status-tag",v.style.className])},B(v.value),3))),256)),A("div",$A,[A("p",DA,B(a.house.address),1),A("p",PA,[(o(!0),i(_,null,P(a.house.basic,v=>(o(),i("span",{key:v.key},B(v.text),1))),128))])]),A("div",kA,B(a.house.price),1)]),A("div",jA,[A("div",LA,[f[3]||(f[3]=A("div",null,"Note",-1)),f[4]||(f[4]=A("span",{class:"note-share"},"Share with my Agent",-1)),k(BA,{modelValue:a.house.leadListingSyncCrm,"onUpdate:modelValue":f[0]||(f[0]=v=>a.house.leadListingSyncCrm=v),onChange:d},null,8,["modelValue"])]),Y(A("p",{class:"note-text"},B(a.house.leadListingNote),513),[[$,!e(r)]]),Y(A("textarea",{"onUpdate:modelValue":f[1]||(f[1]=v=>K(n)?n.value=v:null),placeholder:"Type Something",maxlength:"3000"},null,512),[[$,e(r)],[j,e(n)]])]),A("div",VA,[e(r)?x("",!0):(o(),i(_,{key:0},[A("div",UA,B(e(nA)("MM/dd/yyyy",a.house.leadListingNoteTime)),1),A("span",{class:"lofty_iconfont lofty-icon-edit_01",onClick:t}),A("span",{class:"lofty_iconfont lofty-icon-delete",onClick:m})],64)),Y(A("div",{class:"lofty-btn",onClick:Q},"Save",512),[[$,e(r)]])])])])]),_:1},512))}},OA={key:0,class:"rate-star-wrap"},zA={class:"rating-panel"},qA={key:0,class:"lofty_iconfont lofty-icon-blog_01"},FA={key:1},HA={key:2},KA={__name:"rateNote",props:{house:Object},setup(a){const c=Z(()=>!!a.house.leadListingNote);function I(){const n=document.createElement("div");document.body.appendChild(n),J(TA,{house:a.house,isView:c.value}).mount(n)}oA(()=>a.house.leadListingRating,r);async function r(){const n={listingId:a.house.id,note:a.house.leadListingNote};a.house.leadListingRating&&(n.rating=String(a.house.leadListingRating)),await R.post("/lead/operate/rating/update",{data:n})}return(n,t)=>(o(),i("div",{class:"house-rate-note",style:F({display:e(c)?"block":"flex"})},[a.house.leadListingRating?(o(),i("div",OA,[k(tA,{modelValue:a.house.leadListingRating,"onUpdate:modelValue":t[0]||(t[0]=s=>a.house.leadListingRating=s),size:"12",gap:"5"},null,8,["modelValue"])])):(o(),D(pA,{key:1,left:0,top:24,"hide-arrow":"",trigger:"hover","fit-width":!1},{menu:U(()=>[A("div",zA,[t[2]||(t[2]=A("div",{class:"rating-panel-title"},"Rating",-1)),k(tA,{modelValue:a.house.leadListingRating,"onUpdate:modelValue":t[1]||(t[1]=s=>a.house.leadListingRating=s)},null,8,["modelValue"])])]),default:U(()=>[t[3]||(t[3]=A("span",{class:"rating-button"},[A("i",{class:"lofty_iconfont lofty-icon-star"}),A("span",null,"Rating")],-1))]),_:1})),A("div",{class:"rating-button",onClick:I,style:F({marginTop:e(c)?"6px":"0"})},[e(c)?x("",!0):(o(),i("i",qA)),e(c)?(o(),i("span",HA,[t[4]||(t[4]=A("span",null,"Noted:",-1)),A("span",null,B(a.house.leadListingNote),1)])):(o(),i("span",FA,"Note"))],4)],4))}},JA={class:"lofty-detail-title"},WA={key:0,style:{"margin-right":"10px"}},XA={class:"save-result"},ZA={key:0,class:"no-favorite-listing"},Ae=["src"],ee={class:"lofty-listing"},te={class:"lofty-listing"},se={__name:"saveListing",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(a){const c=LoftyIdxUtils.static_url(YA);function I(){if(T)return 5;{const w=window.innerWidth;if(w>1480)return 8;if(w>900)return 6}}const r=g([]),n=g(1),t=g(I()),s=g(1),m=g(0),Q=g(!0),d=sA(a,"modelValue");u();async function u(){Q.value=!0;const w={data:{pageIndex:n.value,pageSize:t.value},headers:{}};d.value&&(w.headers.trackingpagekey="profile",d.value=!1);const y=await R.get("/lead/profile/favorite-listing/list",w);Q.value=!1,y.status.code===0&&(r.value=y.data.listings,r.value.forEach(W),s.value=y.data.totalPage,m.value=y.data.counts,n.value===1&&(G.value=r.value.length>0,G.value&&v()))}const G=g(!1),f=g([]);async function v(){const w={pageSize:T?4:I()/2,detailId:r.value[0].id},y=await R.get("/search/recommended-listings",{data:w});y.status.code===0&&(f.value=y.data.listings,f.value.forEach(W))}function E(){n.value=1,u()}function l(w){n.value=w.page,u()}function h(){const w=document.createElement("a");w.href="/listing/?pageKey=search",document.body.appendChild(w),w.click(),document.body.removeChild(w)}return(w,y)=>(o(),i("div",null,[A("div",JA,[e(m)?(o(),i("span",WA,B(e(m)),1)):x("",!0),O("SAVED LISTING"+B(e(m)>1?"S":""),1)]),A("div",XA,[k(lA,{loading:e(Q)},null,8,["loading"]),e(r).length===0&&!e(Q)?(o(),i("div",ZA,[A("img",{src:e(c),width:"240",height:"240",alt:""},null,8,Ae),y[0]||(y[0]=A("div",{class:"tip"},"You don’t have any saved listings yet",-1)),y[1]||(y[1]=A("div",{class:"desc"},"Simply browse our website and add properties to your favorites list. Collect more!",-1)),A("div",{class:"get-start",onClick:h},"Let's get started!")])):x("",!0),A("div",ee,[(o(!0),i(_,null,P(e(r),L=>(o(),D(X,{house:L,class:"list-card",onRefresh:E},{inner:U(()=>[k(KA,{house:L},null,8,["house"])]),_:2},1032,["house"]))),256))])]),e(s)>1&&!e(Q)?(o(),D(iA,{key:0,totalPage:e(s),onPageChange:l,pageNum:e(n),pageSize:e(t),noScroll:!0},null,8,["totalPage","pageNum","pageSize"])):x("",!0),e(G)?(o(),i(_,{key:1},[y[2]||(y[2]=A("div",{class:"lofty-detail-title recommend-title"},"RECOMMEND LISTINGS FOR YOU",-1)),A("div",te,[(o(!0),i(_,null,P(e(f),L=>(o(),D(X,{house:L,class:"list-card",onRefresh:E},null,8,["house"]))),256))])],64)):x("",!0)]))}},ae="/no-saved-search-yet.DyaetOmV.png",oe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAKoCAYAAADnMk54AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAuvSURBVHgB7d0xcQRBEATBuSOzNJfmsBEFKWQoXpVpN4Dy+tndOwAAZLwDAECKAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDas7t3AD7AOecOAL/2DgAAKQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMd6dvcOAAAZ7wAAkCIAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/Nizu3cAAMjwBQwAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAXnt29AwAknHPud3b64H97BwCAFAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIEYAAgDECEAAgBgBCAAQIwABAGIEIABAjAAEAIgRgAAAMQIQACBGAAIAxAhAAIAYAQgAECMAAQBiBCAAQIwABACIEYAAADECEAAgRgACAMQIQACAGAEIABAjAAEAYgQgAECMAAQAiBGAAAAxAhAAIOYLSHMYsAMFv7MAAAAASUVORK5CYII=",ne={class:"lofty-house-item"},ie=["src"],le={__name:"houseSkeleton",setup(a){return(c,I)=>(o(),i("div",ne,[A("img",{class:"lofty-house-skeleton",src:e(oe),alt:""},null,8,ie)]))}},re={class:"search-title"},ue={class:"search-date"},de={class:"mail-label"},ce={class:"mail-value"},ge={class:"tag"},fe={class:"value"},Ie={class:"lofty-listing"},me={__name:"searchResult",props:{search:Object},emits:["refresh"],setup(a,{emit:c}){const I=nA("MM/dd/yyyy",new Date(a.search.createTime)),r=c,n=JSON.parse(a.search.searchCondition);let t=n.origin.condition;typeof t=="object"&&(t=JSON.stringify(t));const s=m();function m(){if(T)return 4;{const C=window.innerWidth;if(C>1480)return 4;if(C>900)return 3}}const Q=H("result"),d=new IntersectionObserver((C,M)=>{C.forEach(p=>{p.isIntersecting&&(rA(),M.unobserve(p.target))})},{threshold:.3});aA(()=>{d.observe(Q.value)});const u=g([]);G();async function G(){const C={action:"lofty_idx_api",condition:t,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone};n.origin.rect&&(C.rect=n.origin.rect);const M=await R.get("/save-search/tags",{data:C});if(M.data.data){const p=M.data.data.split(";");u.value=p.map(N=>{const b=N.split(":");return{label:b[1]?b[0]+":":"",value:b[1]||b[0]}}),h()}}const f=g(999),v=g(!1),E=g(!0),l=H("tagRef");function h(){f.value=u.value.length,C();function C(){mA(()=>{l.value&&l.value.scrollHeight>50&&(f.value--,C(),v.value=!0,E.value=!1)})}}function w(){E.value?h():(f.value=u.value.length,E.value=!0)}const y=g([]),L=g(0),AA=g(!0);async function rA(){const C={action:"lofty_idx_api",data:{...n.origin,condition:t}},M=await R.get("/search/realTimeListings",C);AA.value=!1,L.value=M.data.counts;const p=M.data.listings.slice(0,s);p.forEach(N=>W(N)),y.value=p}const{confirm:uA}=yA();function dA(){uA({title:"Delete Saved Search",content:"Are you sure to delete this alert ?",onConfirm:async()=>{(await R.post(`/save-search/delete?saveSearchId=${a.search.id}`,{})).status.code===0&&r("refresh")}})}function cA(){const{origin:C}=n;delete C.wordpressSiteId;let M="/listing/?pageKey=search";for(let b in C)typeof C[b]=="object"?M+=`&${b}=${encodeURIComponent(JSON.stringify(C[b]))}`:M+=`&${b}=${encodeURIComponent(C[b])}`;let p=JSON.parse(t);p.location&&p.location.mapRadius&&(M+=`&mapRadius=${encodeURIComponent(JSON.stringify(p.location.mapRadius))}`);const N=document.createElement("a");N.href=M,N.target="_blank",document.body.appendChild(N),N.click(),document.body.removeChild(N)}const gA=[{label:"Instantly",value:0},{label:"Daily",value:1},{label:"Weekly",value:7},{label:"Biweekly",value:14},{label:"Monthly",value:28}];oA(()=>a.search.alertFrequency,fA);async function fA(){(await R.post("/save-search/updateSnapshot",{data:{snapshotId:a.search.id,frequency:a.search.alertFrequency}})).status.code===0&&V.toast("Update Successfully",3e3)}return(C,M)=>(o(),i("div",{class:"search-result-container",ref_key:"result",ref:Q},[A("div",re,[A("span",null,[O(B(a.search.alertName)+" ",1),A("i",{class:"lofty_iconfont lofty-icon-delete",onClick:dA})]),A("span",ue,B(e(I)),1),k(vA,{class:"alert-select",modelValue:a.search.alertFrequency,"onUpdate:modelValue":M[0]||(M[0]=p=>a.search.alertFrequency=p),list:gA,size:"small"},{label:U(({label:p})=>[A("span",de,[M[1]||(M[1]=O("Property Alert ")),A("span",ce,B(p),1)])]),_:1},8,["modelValue"])]),A("div",{class:"search-tag-list",ref_key:"tagRef",ref:l},[(o(!0),i(_,null,P(e(u),(p,N)=>Y((o(),i("div",ge,[A("label",null,B(p.label),1),A("span",fe,B(p.value),1)],512)),[[$,N<e(f)]])),256)),e(v)?(o(),i("div",{key:0,class:"tag",onClick:w},[A("span",{class:S(["value","lofty_iconfont",e(E)?"lofty-icon-arrow_08_up":"lofty-icon-arrow_08_down"])},null,2)])):x("",!0)],512),A("div",Ie,[e(AA)?(o(!0),i(_,{key:0},P(e(s),p=>(o(),D(le,{class:"list-card"}))),256)):x("",!0),(o(!0),i(_,null,P(e(y),p=>(o(),D(X,{class:"list-card",house:p},null,8,["house"]))),256))]),A("div",{class:"view-all-listing",onClick:cA}," View All Matched "+B(e(wA)(e(L))||0)+" Listings ",1)],512))}},Ee={style:{"min-height":"300px",position:"relative"}},Ce={key:0,class:"no-favorite-listing"},pe=["src"],he={class:"search-list"},Be={__name:"saveSearch",setup(a){const c=LoftyIdxUtils.static_url(ae),I=g(1),r=g([]),n=g(!0),t=g(1);s();async function s(){n.value=!0;const d={pageIndex:I.value,pageSize:10,leadType:2},u=await R.get("/save-search/list",{data:d});t.value=u.data.totalPage,r.value=u.data.searchList||[],n.value=!1}function m(d){I.value=d.page,s()}function Q(){const d=document.createElement("a");d.href="/listing/?pageKey=search",document.body.appendChild(d),d.click(),document.body.removeChild(d)}return(d,u)=>(o(),i("div",null,[u[2]||(u[2]=A("div",{class:"lofty-detail-title"},"SAVED SEARCHES",-1)),A("div",Ee,[k(lA,{loading:e(n)},null,8,["loading"]),e(r).length===0&&!e(n)?(o(),i("div",Ce,[A("img",{src:e(c),width:"240",height:"240",alt:""},null,8,pe),u[0]||(u[0]=A("div",{class:"tip"},"You don’t have any saved searches yet.",-1)),u[1]||(u[1]=A("div",{class:"desc"},"Easily add saved searches and we'll send you new properties once they become available.",-1)),A("div",{class:"get-start",onClick:Q},"Let's get started!")])):x("",!0),A("div",he,[(o(!0),i(_,null,P(e(r),G=>(o(),D(me,{search:G,onRefresh:s},null,8,["search"]))),256))]),e(t)>1?(o(),D(iA,{key:1,totalPage:e(t),onPageChange:m,pageNum:e(I),pageSize:10,noScroll:!0},null,8,["totalPage","pageNum"])):x("",!0)])]))}},Qe={class:"lofty-form-panel"},ve={class:"info-form"},we={class:"form-wrap"},ye={class:"form-name"},Me={class:"input-wrapper"},Ye={class:"input-wrapper"},Ge={class:"input-wrapper"},Re={class:"info-form"},xe={class:"form-wrap"},Ne={class:"input-wrapper"},_e={class:"input-wrapper"},be={class:"input-wrapper"},q=`The password must be between 6-20 characters, have both numbers and letters, and no spaces. The following special characters are supported:-/:;()$&@\\".,?!'[]{}#%^*+=_|~<>€£¥·`,Se="Please enter the same password as the former",$e={__name:"account",emits:["refresh"],setup(a,{emit:c}){const I=c,r=z.getUser(),n=Z(()=>{const E=t.firstName!==r.firstName||t.lastName!==r.lastName||t.phoneNumber!==r.phoneNumber,l=t.password&&t.newPassword&&t.confirmPassword;return E||l}),t=eA({account:r.account,firstName:r.firstName,lastName:r.lastName,phoneNumber:r.phoneNumber,password:"",newPassword:"",confirmPassword:""}),s=eA({firstName:!1,lastName:!1,phone:!1,phoneMsg:"Please enter your phone number",password:!1,newPassword:!1,confirmPassword:!1,passwordRequire:!1});function m(){setTimeout(()=>{Object.keys(s).forEach(E=>{s[E]=!1})},3e3)}async function Q(){if(n.value){if(!t.firstName){s.firstName=!0,m();return}if(!t.lastName){s.lastName=!0,m();return}if(!t.phoneNumber){s.phone=!0,s.phoneMsg="Please enter your phone number",m();return}if(/^\d{3}-?\d{3}-?\d{4}$/.test(t.phoneNumber)){const E=await R.get(`/register/phoneValidate?phoneNumber=${t.phoneNumber}`);E.status.code===0?f():(s.phone=!0,s.phoneMsg=E.status.msg)}else s.phone=!0,s.phoneMsg="Please enter a valid phone number format.";m()}}const d=/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d\-\/:;()$&@".,?!'\[\]{}#%^*+=_|~<>€£¥·]{6,20}$/,u=g(q);function G(){if(s.passwordRequire=!0,!t.password){s.password=!0,m();return}if(!t.newPassword||!d.test(t.newPassword)){s.newPassword=!0,u.value=q,m();return}if(!t.confirmPassword||!d.test(t.confirmPassword)){s.confirmPassword=!0,u.value=q,m();return}if(t.confirmPassword!==t.newPassword){s.confirmPassword=!0,u.value=Se,m();return}v()}function f(){const{password:E,newPassword:l,confirmPassword:h}=t;E||l||h?G():v()}async function v(){await V.addScript(LoftyIdxUtils.public_url("js/md5.min.js"),!0);const E={firstName:t.firstName,lastName:t.lastName,phoneNumber:t.phoneNumber};t.password&&(E.password=window.md5(t.password),E.newPassword=window.md5(t.newPassword));const l=await R.post("/lead/profile/update",{data:E});l.status.code===0?(V.toast("Update Successfully",3e3),I("refresh")):V.toast(l.status.msg,3e3)}return(E,l)=>(o(),i("div",null,[l[9]||(l[9]=A("div",{class:"lofty-detail-title"},"ACCOUNT",-1)),A("div",Qe,[A("div",ve,[l[7]||(l[7]=A("div",{class:"form-title"},"Personal Info",-1)),A("div",we,[A("div",ye,[A("div",Me,[Y(A("input",{"onUpdate:modelValue":l[0]||(l[0]=h=>e(t).firstName=h),placeholder:"First Name",type:"text",class:S({error:e(s).firstName})},null,2),[[j,e(t).firstName]]),Y(A("span",null,"Please fill out this field.",512),[[$,e(s).firstName]])]),A("div",Ye,[Y(A("input",{"onUpdate:modelValue":l[1]||(l[1]=h=>e(t).lastName=h),placeholder:"Last Name",type:"text",class:S({error:e(s).lastName})},null,2),[[j,e(t).lastName]]),Y(A("span",null,"Please fill out this field.",512),[[$,e(s).lastName]])])]),A("div",Ge,[Y(A("input",{"onUpdate:modelValue":l[2]||(l[2]=h=>e(t).phoneNumber=h),inputmode:"tel",class:S([{error:e(s).phone},"mt20"]),placeholder:"Phone Number",type:"text"},null,2),[[j,e(t).phoneNumber]]),Y(A("span",null,B(e(s).phoneMsg),513),[[$,e(s).phone]])]),Y(A("input",{"onUpdate:modelValue":l[3]||(l[3]=h=>e(t).account=h),readonly:"",disabled:"",class:"mt20",type:"text"},null,512),[[j,e(t).account]])])]),A("div",Re,[l[8]||(l[8]=A("div",{class:"form-title"},"Login Info Settings",-1)),A("div",xe,[A("div",Ne,[Y(A("input",{"onUpdate:modelValue":l[4]||(l[4]=h=>e(t).password=h),class:S({error:e(s).passwordRequire&&!e(t).password}),type:"password",placeholder:"Current Password"},null,2),[[j,e(t).password]]),Y(A("span",null,"Please fill out this field.",512),[[$,e(s).passwordRequire&&!e(t).password]])]),A("div",_e,[Y(A("input",{"onUpdate:modelValue":l[5]||(l[5]=h=>e(t).newPassword=h),class:S([{error:e(s).passwordRequire&&e(s).newPassword},"mt20"]),placeholder:"New Password",type:"password"},null,2),[[j,e(t).newPassword]]),Y(A("span",null,B(e(u)),513),[[$,e(s).passwordRequire&&e(s).newPassword]])]),A("div",be,[Y(A("input",{"onUpdate:modelValue":l[6]||(l[6]=h=>e(t).confirmPassword=h),class:S([{error:e(s).passwordRequire&&e(s).confirmPassword},"mt20"]),placeholder:"Confirm New Password",type:"password"},null,2),[[j,e(t).confirmPassword]]),Y(A("span",null,B(e(u)),513),[[$,e(s).passwordRequire&&e(s).confirmPassword]])])])])]),A("div",{class:S(["lofty-btn update-button",{disabled:!e(n)}]),onClick:Q},"Update",2)]))}},De={__name:"index",setup(a){const c=g("SaveListing"),I={SaveListing:se,SaveSearch:Be,Account:$e},r=[{label:"Saved Listings",value:"SaveListing"},{label:"Saved Searches",value:"SaveSearch"},{label:"Account",value:"Account"}];function n(){R.get("/lofty-logout").then(Q=>{Q.data&&window.location.reload()})}const t=g(1),s=g(!0);function m(){z.getCommonInfo().then(()=>{t.value=Date.now()})}return(Q,d)=>(o(),i("div",null,[e(T)?(o(),i("div",{key:0,class:"lofty-logout-button",onClick:n},d[2]||(d[2]=[A("i",{class:"lofty_iconfont lofty-icon-map_01"},null,-1),A("span",null,"Logout",-1)]))):x("",!0),k(CA,{modelValue:e(c),"onUpdate:modelValue":d[0]||(d[0]=u=>K(c)?c.value=u:null),tabs:r},{default:U(()=>[e(T)?x("",!0):(o(),i("span",{key:0,class:"lofty-logout-button",onClick:n},d[3]||(d[3]=[A("i",{class:"lofty_iconfont lofty-icon-export"},null,-1),A("span",null,"Logout",-1)])))]),_:1},8,["modelValue"]),(o(),D(EA(I[e(c)]),{onRefresh:m,key:e(t),modelValue:e(s),"onUpdate:modelValue":d[1]||(d[1]=u=>K(s)?s.value=u:null)},null,40,["modelValue"]))]))}},Pe={__name:"login",setup(a){function c(){window.location.reload()}return(I,r)=>(o(),i("div",null,[k(MA,{class:"account-login-form",callback:c})]))}};z.initState(()=>{z.loginStatus.value?J(De).mount("#lofty-app"):J(Pe).mount("#lofty-app")});
  • lofty-idx/trunk/assets/styleConfig.css

    r3306828 r3333213  
    1 .lofty-input-box[data-v-ad26a301]{display:flex;align-items:center;column-gap:10px;height:40px}.lofty-input-box .lofty-suggestion-list[data-v-ad26a301]{margin-top:13px;max-height:220px;overflow-y:auto}.lofty-input-box .lofty-suggestion-list .lofty-suggestion-item[data-v-ad26a301]{list-style:none;height:40px;font-size:14px;font-weight:400;line-height:40px;color:#111;padding-left:10px;cursor:pointer;display:flex;justify-content:space-between;column-gap:5px}.lofty-input-box .lofty-suggestion-list .lofty-suggestion-item[data-v-ad26a301]:hover{background:#1111110d}.lofty-input-box .lofty-suggestion-list .lofty-suggestion-item .lofty_iconfont[data-v-ad26a301]{margin-right:10px}.option-dropdown[data-v-ad26a301]{width:80px}.option-dropdown[data-v-ad26a301]>div:first-child{display:flex;align-items:center;justify-content:space-around}.lofty-input-range[data-v-ad26a301]{position:relative;display:flex;align-items:center;flex:1}.lofty-input-range .lofty-line[data-v-ad26a301]{width:10px;height:1px;background-color:#505050;margin:0 5px}.lofty-input-range input[data-v-ad26a301]{flex:1;height:40px;border:1px solid #949494;border-radius:2px;position:relative;display:flex;align-items:center;padding:5px 12px}.lofty-input-range input[data-v-ad26a301]:hover,.lofty-input-range input[data-v-ad26a301]:focus{border-color:#3858e9;box-shadow:none}@media (max-width: 600px){.lofty-input-range input[data-v-ad26a301]{width:0}}.lofty-input-range .lofty-unit-text[data-v-ad26a301]{position:absolute;font-size:14px;color:#949494}.lofty-single-select-box[data-v-71858496]{border:1px solid #949494;padding:10px 12px;border-radius:2px}.lofty-single-select-box .lofty-show-name[data-v-71858496]{cursor:pointer;font-size:14px;font-weight:400;margin-right:10px}.lofty-single-select-box .lofty-result-list[data-v-71858496]{overflow:auto;max-height:240px;min-width:200px;max-width:300%}.lofty-single-select-box .lofty-result-list .lofty-result-item[data-v-71858496]{font-size:14px;font-weight:400;line-height:40px;text-align:left;padding:0 10px;display:flex;justify-content:space-between;cursor:pointer}.lofty-single-select-box .lofty-result-list .lofty-result-item[data-v-71858496]:hover{background:#f0f0f0}.lofty-single-select-box .lofty-result-list .lofty-result-item>i[data-v-71858496]{font-size:14px}.lofty-single-select-box[data-v-104ad2e4]{border:1px solid #949494;padding:10px 12px;border-radius:2px}.lofty-single-select-box .lofty-show-name[data-v-104ad2e4]{cursor:pointer;font-size:14px;font-weight:400;margin-right:10px}.lofty-single-select-box .lofty-result-list[data-v-104ad2e4]{overflow:auto;max-height:240px;min-width:200px;max-width:300%}.lofty-single-select-box .lofty-result-list .lofty-result-item[data-v-104ad2e4]{font-size:14px;font-weight:400;line-height:40px;text-align:left;padding:0 10px;display:flex;justify-content:space-between;cursor:pointer}.lofty-single-select-box .lofty-result-list .lofty-result-item[data-v-104ad2e4]:hover{background:#f0f0f0}.lofty-single-select-box .lofty-result-list .lofty-result-item>i[data-v-104ad2e4]{font-size:14px}.lofty-search-suggestion[data-v-3f8aa904]{display:flex;border:1px solid #949494;border-radius:2px;position:relative;justify-content:space-between;align-items:center;flex:1;transition:border-color .3s;min-height:40px;padding:2px 12px}.lofty-search-suggestion[data-v-3f8aa904]:hover{border-color:#3858e9}@media (max-width: 600px){.lofty-search-suggestion[data-v-3f8aa904]{min-height:40px}}.lofty-search-suggestion .lofty-icon-search[data-v-3f8aa904]{color:#a8a8a8}.lofty-search-suggestion .lofty-input-tags[data-v-3f8aa904]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1;padding:0 5px}.lofty-search-suggestion .lofty-input-tags .lofty-search-input[data-v-3f8aa904]{border:none;outline:0;width:100%;flex:1;height:33px;margin:0;font-family:inherit;font-size:inherit;line-height:inherit;background:inherit;text-overflow:ellipsis;white-space:nowrap;padding:0 5px}@media (max-width: 600px){.lofty-search-suggestion .lofty-input-tags .lofty-search-input[data-v-3f8aa904]{font-size:14px;height:28px}}.lofty-search-suggestion .lofty-input-tags .lofty-search-input[data-v-3f8aa904]:focus{border:none!important;outline:none!important;box-shadow:none}.lofty-search-suggestion .lofty-input-tags .lofty-search-input[data-v-3f8aa904]:focus:focus-visible{outline:none!important;border:none!important}.lofty-search-suggestion .lofty-suggestion-list[data-v-3f8aa904]{position:absolute;width:calc(100% - 20px);background-color:#fff;top:calc(100% + 10px);left:0;box-shadow:0 4px 30px #0000001a;max-height:300px;border:1px solid #fff;overflow-y:auto;z-index:1;padding:10px}.lofty-search-suggestion .lofty-suggestion-list .lofty-suggestion-loading[data-v-3f8aa904]{text-align:center;padding:0 10px;font-size:16px;font-weight:400;line-height:30px}.lofty-search-suggestion .lofty-suggestion-list .lofty-suggestion-type[data-v-3f8aa904]{padding:0 10px;font-size:14px;font-weight:600;line-height:40px}.lofty-search-suggestion .lofty-suggestion-list .lofty-suggestion-type .lofty-suggestion-item[data-v-3f8aa904]{padding:0 10px;list-style:none;font-size:14px;font-weight:400;line-height:40px;color:#111;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lofty-search-suggestion .lofty-suggestion-list .lofty-suggestion-type .lofty-suggestion-item[data-v-3f8aa904]:hover{background:#1111110d}.lofty-suggestion-tag[data-v-3f8aa904]{cursor:pointer;white-space:nowrap;display:inline-flex;justify-content:space-between;align-items:center;column-gap:8px;background-color:#3858e90a;color:#3858e9;padding:4px 8px}.lofty-suggestion-tag .lofty-tag-text[data-v-3f8aa904]{text-overflow:ellipsis;overflow:hidden;line-height:20px}.lofty-suggestion-tag .lofty-icon-close[data-v-3f8aa904]{font-size:10px}.lofty-keyword[data-v-055369dc]{display:flex;width:100%;border:1px solid #949494;border-radius:2px;padding:4px 12px}.lofty-keyword[data-v-055369dc]:hover,.lofty-keyword[data-v-055369dc]:focus{border-color:#3858e9}@media (max-width: 600px){.lofty-keyword[data-v-055369dc]{flex-wrap:wrap}}.lofty-keyword .lofty-keyWord-tags[data-v-055369dc]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1}.lofty-keyword .lofty-keyWord-tags .lofty-keyWord-tag[data-v-055369dc]{display:inline-flex;justify-content:space-between;align-items:center;column-gap:5px;background-color:#3858e90a;color:#3858e9;padding:2px 8px}.lofty-keyword .lofty-keyWord-tags .lofty-keyWord-tag .lofty-tag-text[data-v-055369dc]{line-height:20px}.lofty-keyword .lofty-keyWord-tags .lofty-keyWord-tag .lofty-icon-close[data-v-055369dc]{font-size:10px;cursor:pointer}.lofty-keyword .lofty-keyWord-tags .lofty-keyword-input[data-v-055369dc]{border:0;box-shadow:none;padding:0;flex:1;width:100%;height:30px}.group[data-v-d9c72012]{border-bottom:1px solid #f0f0f0}.group[data-v-d9c72012]:not(:first-of-type){margin-top:20px}.group .header[data-v-d9c72012]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.group .header .title[data-v-d9c72012]{display:flex;align-items:center;gap:1rem}.group .header .title h3[data-v-d9c72012]{font-size:14px;font-weight:700;line-height:24px;color:#2f2f2f;margin:0}.group .header .title .description[data-v-d9c72012]{color:#757575}.group .header .actions[data-v-d9c72012]{display:flex;align-items:center;gap:10px;font-size:14px}.group .header .actions .listings-count[data-v-d9c72012]{font-size:14px}.group .header .actions .delete-group-btn[data-v-d9c72012]{display:grid;place-items:center;width:24px;height:24px;cursor:pointer}.group .header .actions .delete-group-btn[data-v-d9c72012]:hover{color:#3858e9;background-color:#3858e914}.group .header .actions .delete-group-btn svg[data-v-d9c72012]{width:16px;height:16px}.group .criteria-dropdown[data-v-d9c72012]{position:relative}.group[data-v-d9c72012] .search-input{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:60px}.group[data-v-d9c72012] .search-input>input{border:none;padding-left:0;padding-right:0;flex:1;color:#949494}.group[data-v-d9c72012] .search-input>input::placeholder{color:#949494}.group[data-v-d9c72012] .search-input>input:focus{outline:none;box-shadow:none}.group[data-v-d9c72012] .criteria-list{width:288px;max-height:216px;overflow:auto}.group[data-v-d9c72012] .criteria-item{box-sizing:border-box;width:100%;height:40px;padding:12px 16px;display:flex;align-items:center;cursor:pointer}.group[data-v-d9c72012] .criteria-item:hover{background-color:#eee}.group[data-v-d9c72012] .criteria-item .check-criteria{width:100%}.group[data-v-d9c72012] .empty-list{display:flex;place-content:center;color:#949494}.group[data-v-d9c72012] .add-criteria-btn{color:#2563eb;display:inline-flex;align-items:center;gap:.25rem;cursor:pointer;font-size:13px;line-height:20px}.group[data-v-d9c72012] .add-criteria-btn:hover{color:#134cca}.group[data-v-d9c72012] .add-criteria-btn:hover .btn-name{text-decoration:underline}.group[data-v-d9c72012] .add-criteria-btn .plus-icon{position:relative;top:-2px;font-size:1.2rem}.group .selected-criterias[data-v-d9c72012]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}.group .selected-criterias .filter-item label[data-v-d9c72012]{display:block;font-size:11px;font-weight:500;color:#2f2f2f;margin-bottom:8px;text-transform:uppercase}.group .selected-criterias .filter-item label>span[data-v-d9c72012]{color:#cc1818;margin-left:3px}.group .selected-criterias .filter-item .filter-item-control[data-v-d9c72012]{position:relative;display:flex;align-items:center;justify-content:space-between;column-gap:10px}.group .selected-criterias .filter-item .filter-item-control[data-v-d9c72012]>:first-child{box-sizing:border-box;width:100%}.group .selected-criterias .filter-item .filter-item-control .clear-icon[data-v-d9c72012]{width:20px;height:20px;fill:#ef4444;cursor:pointer;flex-shrink:0}.lofty-sort-group{display:flex;margin-right:10px;align-items:center}.lofty-sort-group .sort-select-list{border:none;padding:0}.lofty-sort-group .sort-select-list .lofty-menu{min-width:200px;top:25px!important;height:fit-content}.lofty-sort-group .sort-select-list .input_container{display:none}.lofty-sort-group .group-label{color:#757575;margin-right:5px}.listing-filter[data-v-647c724b]{border-top:1px solid #f0f0f0;padding:20px}.listing-filter .header[data-v-647c724b]{display:flex;justify-content:space-between;align-items:center}.listing-filter .header>.left-side[data-v-647c724b]{display:flex;align-items:center;column-gap:5px;flex:1}.listing-filter .header>.left-side h2[data-v-647c724b]{font-size:14px;font-weight:700;line-height:24px;color:#2f2f2f;margin:0}.listing-filter .header>.left-side .lofty-tooltip-wrapper[data-v-647c724b]{height:16px}.listing-filter .header>.left-side .lofty-tooltip-wrapper[data-v-647c724b] svg path{fill:#ccc}.listing-filter .header>.left-side .lofty-tooltip-wrapper[data-v-647c724b] svg path:hover{fill:#949494}.listing-filter .header>.left-side>svg[data-v-647c724b]{position:relative;top:-2px;cursor:pointer}.listing-filter .header .btn-expand-groups[data-v-647c724b]{display:grid;place-items:center;width:20px;height:20px;cursor:pointer;transition:all .3s ease-in-out;border-radius:100%;background-color:#3858e914;transform:rotate(180deg)}.listing-filter .header .btn-expand-groups.expand[data-v-647c724b]{transform:rotate(0)}.listing-filter .header .btn-expand-groups[data-v-647c724b]:hover{color:#fff;background-color:#3858e9}.listing-filter .header .btn-expand-groups:hover svg[data-v-647c724b]{fill:#fff}.listing-filter .header .btn-expand-groups svg[data-v-647c724b]{fill:#3858e9}.listing-filter .groups[data-v-647c724b]{position:relative;margin-top:20px}.listing-filter .groups .add-group-btn[data-v-647c724b]{display:flex;align-items:center;justify-content:center;column-gap:3px;width:100%;height:40px;cursor:pointer;padding:8px;border:1px dashed #3858E9;color:#3858e9;background-color:#fff;border-radius:2px;transition:background-color .2s;font-size:13px;line-height:20px}.listing-filter .groups .add-group-btn[data-v-647c724b]:hover{background-color:#3858e90a}.listing-filter .groups .add-group-btn.disable[data-v-647c724b]{cursor:not-allowed;opacity:.5}.lofty-admin-layout-config[data-v-e5669bc1]{display:flex;gap:30px}.lofty-admin-layout-config .config-layout[data-v-e5669bc1]{display:flex;flex-direction:column;align-items:center;gap:10px;position:relative}.lofty-admin-layout-config .config-layout img[data-v-e5669bc1]{border:1px solid #e0e0e0;border-radius:2px;height:150px;box-sizing:border-box;cursor:pointer}.lofty-admin-layout-config .config-layout .name[data-v-e5669bc1]{font-size:14px;color:#757575}.lofty-admin-layout-config .config-layout .selected-mark[data-v-e5669bc1]{position:absolute;width:36px;height:36px;right:0;top:0;text-align:center;border-radius:2px;background-image:linear-gradient(to right top,transparent 50%,#3858E9 50%)}.lofty-admin-layout-config .config-layout .selected-mark i[data-v-e5669bc1]{position:absolute;bottom:20px;right:4px;font-size:12px;line-height:1;color:#fff}.lofty-admin-layout-config .config-layout.active img[data-v-e5669bc1],.lofty-admin-layout-config .config-layout:hover img[data-v-e5669bc1]{border-width:1px;border-color:#3858e9}.meta-tag-title[data-v-744eb154]{display:flex;margin-bottom:10px}.meta-tag-title label[data-v-744eb154]{font-size:11px;color:#2f2f2f;font-weight:500}.meta-tag-title .insert-variable[data-v-744eb154]{color:#3858e9;cursor:pointer}.meta-tag-title .insert-variable[data-v-744eb154]:hover{text-decoration:underline}.meta-tag-title .insert-variable .plus-icon[data-v-744eb154]{position:relative;top:2px;font-size:1.2rem}.meta-tag-title .meta-tag-list[data-v-744eb154]{overflow:auto;max-height:240px;min-width:150px;max-width:300%;padding:10px 0}.meta-tag-title .meta-tag-list .meta-tag-item[data-v-744eb154]{padding:0 10px;font-size:14px;font-weight:400;line-height:40px;text-align:left;display:flex;justify-content:space-between;cursor:pointer}.meta-tag-title .meta-tag-list .meta-tag-item[data-v-744eb154]:hover{background:#f0f0f0}.meta-tag-content[data-v-744eb154]{min-height:160px;height:auto;color:#000;background-color:#f0f0f0;border:1px solid #f0f0f0;padding:12px}.meta-tag-content[data-v-744eb154]:hover{border-color:#3858e9}.meta-tag-content[data-v-744eb154]:empty:before{content:attr(placeholder);color:#c6c8d1;font-size:14px;cursor:text}.lofty-variable-tag{height:24px;line-height:24px;border-radius:2px;color:#3858e9;margin:0 2px;padding:0 8px;background:#3858e90a;display:inline-block}.lofty-variable-tag .lofty_iconfont{font-size:12px;margin-left:8px;cursor:pointer}.lofty-featuredListing-style[data-v-1bcb11f5]{border-top:1px solid #f0f0f0;padding:20px}.lofty-featuredListing-style .title[data-v-1bcb11f5]{font-size:14px;font-weight:700;color:#1e1e1e}.lofty-featuredListing-style .configs-wrap[data-v-1bcb11f5]{margin-top:20px}.lofty-featuredListing-style .configs-wrap .config-name[data-v-1bcb11f5]{font-size:11px;color:#2f2f2f;font-weight:500;text-transform:uppercase;margin-bottom:10px}.lofty-featuredListing-style .configs-wrap .config-style-tabs[data-v-1bcb11f5]{margin-top:10px;display:flex;gap:30px;height:150px}.lofty-featuredListing-style .configs-wrap .config-style-tabs .config-style-tab[data-v-1bcb11f5]{height:100%;display:flex;flex-direction:column;justify-content:center;cursor:pointer;border:2px solid transparent;border-radius:2px;border:1px solid #e0e0e0;position:relative}.lofty-featuredListing-style .configs-wrap .config-style-tabs .config-style-tab img[data-v-1bcb11f5]{width:100%;max-height:100%;object-fit:cover}.lofty-featuredListing-style .configs-wrap .config-style-tabs .config-style-tab.active[data-v-1bcb11f5],.lofty-featuredListing-style .configs-wrap .config-style-tabs .config-style-tab[data-v-1bcb11f5]:hover{border-color:#3858e9}.lofty-featuredListing-style .configs-wrap .config-style-tabs .config-style-tab .selected-mark[data-v-1bcb11f5]{position:absolute;width:36px;height:36px;right:0;top:0;text-align:center;background-image:linear-gradient(to right top,transparent 50%,#3858E9 50%)}.lofty-featuredListing-style .configs-wrap .config-style-tabs .config-style-tab .selected-mark i[data-v-1bcb11f5]{position:absolute;bottom:20px;right:4px;font-size:12px;line-height:1;color:#fff}.lofty-featuredListing-style .configs-wrap .config-style-content[data-v-1bcb11f5]{margin-top:20px}.lofty-featuredListing-style .configs-wrap .config-style-content .config-style-tab-content .config-item[data-v-1bcb11f5]{display:flex;flex-direction:column;gap:10px}.lofty-featuredListing-style .configs-wrap .config-style-content .config-style-tab-content .config-item[data-v-1bcb11f5]:not(:first-child){margin-top:20px}.lofty-featuredListing-style .configs-wrap .config-style-content .config-style-tab-content .config-item .config-item-name[data-v-1bcb11f5]{font-size:11px;color:#2f2f2f;font-weight:500;text-transform:uppercase}.lofty-featuredListing-style .configs-wrap .config-style-content .config-style-tab-content .config-item .config-item-content.row[data-v-1bcb11f5]{display:flex;align-items:center;gap:30px}.lofty-featuredListing-style .configs-wrap .config-style-content .config-style-tab-content .config-item .config-item-content label[data-v-1bcb11f5]{color:#2f2f2f}
     1.lofty-input-box[data-v-ad26a301]{display:flex;align-items:center;column-gap:10px;height:40px}.lofty-input-box .lofty-suggestion-list[data-v-ad26a301]{margin-top:13px;max-height:220px;overflow-y:auto}.lofty-input-box .lofty-suggestion-list .lofty-suggestion-item[data-v-ad26a301]{list-style:none;height:40px;font-size:14px;font-weight:400;line-height:40px;color:#111;padding-left:10px;cursor:pointer;display:flex;justify-content:space-between;column-gap:5px}.lofty-input-box .lofty-suggestion-list .lofty-suggestion-item[data-v-ad26a301]:hover{background:#1111110d}.lofty-input-box .lofty-suggestion-list .lofty-suggestion-item .lofty_iconfont[data-v-ad26a301]{margin-right:10px}.option-dropdown[data-v-ad26a301]{width:80px}.option-dropdown[data-v-ad26a301]>div:first-child{display:flex;align-items:center;justify-content:space-around}.lofty-input-range[data-v-ad26a301]{position:relative;display:flex;align-items:center;flex:1}.lofty-input-range .lofty-line[data-v-ad26a301]{width:10px;height:1px;background-color:#505050;margin:0 5px}.lofty-input-range input[data-v-ad26a301]{flex:1;height:40px;border:1px solid #949494;border-radius:2px;position:relative;display:flex;align-items:center;padding:5px 12px}.lofty-input-range input[data-v-ad26a301]:hover,.lofty-input-range input[data-v-ad26a301]:focus{border-color:#3858e9;box-shadow:none}@media (max-width: 600px){.lofty-input-range input[data-v-ad26a301]{width:0}}.lofty-input-range .lofty-unit-text[data-v-ad26a301]{position:absolute;font-size:14px;color:#949494}.lofty-single-select-box[data-v-71858496]{border:1px solid #949494;padding:10px 12px;border-radius:2px}.lofty-single-select-box .lofty-show-name[data-v-71858496]{cursor:pointer;font-size:14px;font-weight:400;margin-right:10px}.lofty-single-select-box .lofty-result-list[data-v-71858496]{overflow:auto;max-height:240px;min-width:200px;max-width:300%}.lofty-single-select-box .lofty-result-list .lofty-result-item[data-v-71858496]{font-size:14px;font-weight:400;line-height:40px;text-align:left;padding:0 10px;display:flex;justify-content:space-between;cursor:pointer}.lofty-single-select-box .lofty-result-list .lofty-result-item[data-v-71858496]:hover{background:#f0f0f0}.lofty-single-select-box .lofty-result-list .lofty-result-item>i[data-v-71858496]{font-size:14px}.lofty-single-select-box[data-v-104ad2e4]{border:1px solid #949494;padding:10px 12px;border-radius:2px}.lofty-single-select-box .lofty-show-name[data-v-104ad2e4]{cursor:pointer;font-size:14px;font-weight:400;margin-right:10px}.lofty-single-select-box .lofty-result-list[data-v-104ad2e4]{overflow:auto;max-height:240px;min-width:200px;max-width:300%}.lofty-single-select-box .lofty-result-list .lofty-result-item[data-v-104ad2e4]{font-size:14px;font-weight:400;line-height:40px;text-align:left;padding:0 10px;display:flex;justify-content:space-between;cursor:pointer}.lofty-single-select-box .lofty-result-list .lofty-result-item[data-v-104ad2e4]:hover{background:#f0f0f0}.lofty-single-select-box .lofty-result-list .lofty-result-item>i[data-v-104ad2e4]{font-size:14px}.lofty-search-suggestion[data-v-3f8aa904]{display:flex;border:1px solid #949494;border-radius:2px;position:relative;justify-content:space-between;align-items:center;flex:1;transition:border-color .3s;min-height:40px;padding:2px 12px}.lofty-search-suggestion[data-v-3f8aa904]:hover{border-color:#3858e9}@media (max-width: 600px){.lofty-search-suggestion[data-v-3f8aa904]{min-height:40px}}.lofty-search-suggestion .lofty-icon-search[data-v-3f8aa904]{color:#a8a8a8}.lofty-search-suggestion .lofty-input-tags[data-v-3f8aa904]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1;padding:0 5px}.lofty-search-suggestion .lofty-input-tags .lofty-search-input[data-v-3f8aa904]{border:none;outline:0;width:100%;flex:1;height:33px;margin:0;font-family:inherit;font-size:inherit;line-height:inherit;background:inherit;text-overflow:ellipsis;white-space:nowrap;padding:0 5px}@media (max-width: 600px){.lofty-search-suggestion .lofty-input-tags .lofty-search-input[data-v-3f8aa904]{font-size:14px;height:28px}}.lofty-search-suggestion .lofty-input-tags .lofty-search-input[data-v-3f8aa904]:focus{border:none!important;outline:none!important;box-shadow:none}.lofty-search-suggestion .lofty-input-tags .lofty-search-input[data-v-3f8aa904]:focus:focus-visible{outline:none!important;border:none!important}.lofty-search-suggestion .lofty-suggestion-list[data-v-3f8aa904]{position:absolute;width:calc(100% - 20px);background-color:#fff;top:calc(100% + 10px);left:0;box-shadow:0 4px 30px #0000001a;max-height:300px;border:1px solid #fff;overflow-y:auto;z-index:1;padding:10px}.lofty-search-suggestion .lofty-suggestion-list .lofty-suggestion-loading[data-v-3f8aa904]{text-align:center;padding:0 10px;font-size:16px;font-weight:400;line-height:30px}.lofty-search-suggestion .lofty-suggestion-list .lofty-suggestion-type[data-v-3f8aa904]{padding:0 10px;font-size:14px;font-weight:600;line-height:40px}.lofty-search-suggestion .lofty-suggestion-list .lofty-suggestion-type .lofty-suggestion-item[data-v-3f8aa904]{padding:0 10px;list-style:none;font-size:14px;font-weight:400;line-height:40px;color:#111;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lofty-search-suggestion .lofty-suggestion-list .lofty-suggestion-type .lofty-suggestion-item[data-v-3f8aa904]:hover{background:#1111110d}.lofty-suggestion-tag[data-v-3f8aa904]{cursor:pointer;white-space:nowrap;display:inline-flex;justify-content:space-between;align-items:center;column-gap:8px;background-color:#3858e90a;color:#3858e9;padding:4px 8px}.lofty-suggestion-tag .lofty-tag-text[data-v-3f8aa904]{text-overflow:ellipsis;overflow:hidden;line-height:20px}.lofty-suggestion-tag .lofty-icon-close[data-v-3f8aa904]{font-size:10px}.lofty-keyword[data-v-055369dc]{display:flex;width:100%;border:1px solid #949494;border-radius:2px;padding:4px 12px}.lofty-keyword[data-v-055369dc]:hover,.lofty-keyword[data-v-055369dc]:focus{border-color:#3858e9}@media (max-width: 600px){.lofty-keyword[data-v-055369dc]{flex-wrap:wrap}}.lofty-keyword .lofty-keyWord-tags[data-v-055369dc]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1}.lofty-keyword .lofty-keyWord-tags .lofty-keyWord-tag[data-v-055369dc]{display:inline-flex;justify-content:space-between;align-items:center;column-gap:5px;background-color:#3858e90a;color:#3858e9;padding:2px 8px}.lofty-keyword .lofty-keyWord-tags .lofty-keyWord-tag .lofty-tag-text[data-v-055369dc]{line-height:20px}.lofty-keyword .lofty-keyWord-tags .lofty-keyWord-tag .lofty-icon-close[data-v-055369dc]{font-size:10px;cursor:pointer}.lofty-keyword .lofty-keyWord-tags .lofty-keyword-input[data-v-055369dc]{border:0;box-shadow:none;padding:0;flex:1;width:100%;height:30px}.lofty-search-suggestion[data-v-2c2c0517]{display:flex;border:1px solid #949494;border-radius:2px;position:relative;justify-content:space-between;align-items:center;flex:1;transition:border-color .3s;min-height:40px;padding:2px 12px}.lofty-search-suggestion[data-v-2c2c0517]:hover{border-color:#3858e9}@media (max-width: 600px){.lofty-search-suggestion[data-v-2c2c0517]{min-height:40px}}.lofty-search-suggestion .lofty-icon-search[data-v-2c2c0517]{color:#a8a8a8}.lofty-search-suggestion .lofty-input-tags[data-v-2c2c0517]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1;padding:0 5px}.lofty-search-suggestion .lofty-input-tags .lofty-search-input[data-v-2c2c0517]{border:none;outline:0;width:100%;flex:1;height:33px;margin:0;font-family:inherit;font-size:inherit;line-height:inherit;background:inherit;text-overflow:ellipsis;white-space:nowrap;padding:0 5px}@media (max-width: 600px){.lofty-search-suggestion .lofty-input-tags .lofty-search-input[data-v-2c2c0517]{font-size:14px;height:28px}}.lofty-search-suggestion .lofty-input-tags .lofty-search-input[data-v-2c2c0517]:focus{border:none!important;outline:none!important;box-shadow:none}.lofty-search-suggestion .lofty-input-tags .lofty-search-input[data-v-2c2c0517]:focus:focus-visible{outline:none!important;border:none!important}.lofty-search-suggestion .lofty-suggestion-list[data-v-2c2c0517]{position:absolute;width:calc(100% - 20px);background-color:#fff;top:calc(100% + 10px);left:0;box-shadow:0 4px 30px #0000001a;max-height:300px;border:1px solid #fff;overflow-y:auto;z-index:1;padding:10px}.lofty-search-suggestion .lofty-suggestion-list .lofty-suggestion-loading[data-v-2c2c0517]{text-align:center;padding:0 10px;font-size:16px;font-weight:400;line-height:30px}.lofty-search-suggestion .lofty-suggestion-list .lofty-suggestion-type[data-v-2c2c0517]{padding:0 10px;font-size:14px;font-weight:600;line-height:40px}.lofty-search-suggestion .lofty-suggestion-list .lofty-suggestion-type .lofty-suggestion-item[data-v-2c2c0517]{padding:0 10px;list-style:none;font-size:14px;font-weight:400;line-height:40px;color:#111;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lofty-search-suggestion .lofty-suggestion-list .lofty-suggestion-type .lofty-suggestion-item[data-v-2c2c0517]:hover{background:#1111110d}.lofty-suggestion-tag[data-v-2c2c0517]{cursor:pointer;white-space:nowrap;display:inline-flex;justify-content:space-between;align-items:center;column-gap:8px;background-color:#3858e90a;color:#3858e9;padding:4px 8px}.lofty-suggestion-tag .lofty-tag-text[data-v-2c2c0517]{text-overflow:ellipsis;overflow:hidden;line-height:20px}.lofty-suggestion-tag .lofty-icon-close[data-v-2c2c0517]{font-size:10px}.map-tool.draw-polygon{right:10px;top:10px;position:absolute;color:#505050;font-size:16px;box-shadow:0 2px 4px #0003;cursor:pointer}.map-tool.draw-polygon .btn-lofty{width:30px;height:30px;line-height:30px;text-align:center;display:block;font-size:16px;color:#505050;background-color:#fff;border-radius:3px;position:relative}.map-tool.draw-polygon .btn-lofty .tip-text{display:none;position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);height:30px;width:80px;font-size:14px;text-align:center;line-height:30px;color:#000;background:#fefefe;box-shadow:0 2px 4px #0003;border-radius:3px}.map-tool.draw-polygon .btn-lofty:hover .tip-text{display:block}.map-tool.draw-polygon .draw-tip{width:auto;white-space:nowrap;position:absolute;display:flex;justify-content:space-between;right:50px;top:0;height:30px;background-color:#202437f2;box-shadow:0 4px 8px #000a1e33;border-radius:5px;color:#fff;line-height:30px;padding:0 30px;box-sizing:border-box;z-index:1;font-size:14px}.map-tool.draw-polygon .draw-tip p{line-height:30px!important;padding:0 10px;margin:0}.map-tool.draw-polygon .draw-tip .cancel{margin-left:30px;text-decoration:underline;cursor:pointer}.map-tool.draw-polygon .draw-tip:after{content:" ";position:absolute;right:-4px;top:calc(50% - 5px);width:0;height:0;border-top:5px solid transparent;border-left:5px solid rgba(32,36,55,.95);border-bottom:5px solid transparent}.lofty-condition-map[data-v-85e0033d]{height:100%;width:100%;position:relative}.lofty-condition-map[data-v-85e0033d] .map-tool.draw{left:20px}.lofty-condition-map .lofty-map-loading[data-v-85e0033d]{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0003;z-index:2}.lofty-input-suggestion[data-v-19a513c8]{display:flex;border:1px solid #949494;border-radius:2px;position:relative;justify-content:space-between;align-items:center;flex:1;transition:border-color .3s;min-height:40px;padding:2px 12px}.lofty-input-suggestion[data-v-19a513c8]:hover{border-color:#3858e9}@media (max-width: 600px){.lofty-input-suggestion[data-v-19a513c8]{min-height:40px}}.lofty-input-suggestion .lofty-icon-search[data-v-19a513c8]{color:#a8a8a8}.lofty-input-suggestion .lofty-input-tags[data-v-19a513c8]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1;padding:0 5px}.lofty-input-suggestion .lofty-input-tags .lofty-search-input[data-v-19a513c8]{border:none;outline:0;width:100%;flex:1;height:33px;margin:0;font-family:inherit;font-size:inherit;line-height:inherit;background:inherit;text-overflow:ellipsis;white-space:nowrap;padding:0 5px}@media (max-width: 600px){.lofty-input-suggestion .lofty-input-tags .lofty-search-input[data-v-19a513c8]{font-size:14px;height:28px}}.lofty-input-suggestion .lofty-input-tags .lofty-search-input[data-v-19a513c8]:focus{border:none!important;outline:none!important;box-shadow:none}.lofty-input-suggestion .lofty-input-tags .lofty-search-input[data-v-19a513c8]:focus:focus-visible{outline:none!important;border:none!important}.lofty-input-suggestion .lofty-suggestion-list[data-v-19a513c8]{position:absolute;width:calc(100% - 20px);background-color:#fff;top:calc(100% + 10px);left:0;box-shadow:0 4px 30px #0000001a;max-height:300px;border:1px solid #fff;overflow-y:auto;z-index:5;padding:10px}.lofty-input-suggestion .lofty-suggestion-list .lofty-suggestion-loading[data-v-19a513c8]{text-align:center;padding:0 10px;font-size:16px;font-weight:400;line-height:30px}.lofty-input-suggestion .lofty-suggestion-list .lofty-suggestion-type[data-v-19a513c8]{padding:0 10px;font-size:14px;font-weight:600;line-height:40px}.lofty-input-suggestion .lofty-suggestion-list .lofty-suggestion-type .lofty-suggestion-item[data-v-19a513c8]{padding:0 10px;list-style:none;font-size:14px;font-weight:400;line-height:40px;color:#111;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lofty-input-suggestion .lofty-suggestion-list .lofty-suggestion-type .lofty-suggestion-item[data-v-19a513c8]:hover{background:#1111110d}.location-diag-popper-wrapper{background-color:#fff;border-radius:4px}.location-diag-popper-wrapper .location-diag-header{display:flex;justify-content:space-between;padding:15px 20px;font-size:16px;line-height:1.2;border-bottom:1px solid #e5e5e5}.location-diag-popper-wrapper .location-diag-header .header-title{font-weight:600;color:#202437;text-transform:uppercase}.location-diag-popper-wrapper .location-diag-header .lofty-close{font-size:20px;cursor:pointer}.location-diag-popper-wrapper .location-diag-content{padding:20px 30px;width:50vw}.location-diag-popper-wrapper .location-search-title{font-size:14px;color:#515666;margin-bottom:10px;font-weight:600}.location-diag-popper-wrapper .location-footer{padding:20px 30px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e5e5e5}.location-diag-popper-wrapper .location-footer .lofty-btn{padding:7px 0;width:100px;border-radius:2px;outline:none;border:none;cursor:pointer}.location-diag-popper-wrapper .location-footer .lofty-btn.btn-cancel{color:#797e8b;background:transparent}.location-diag-popper-wrapper .location-footer .lofty-btn.btn-cancel:hover{background-color:#c6c8d11a}.location-diag-popper-wrapper .location-footer .lofty-btn.btn-save{background-color:#3858e9;color:#fff}.location-diag-popper-wrapper .location-footer .lofty-btn.btn-save:hover{background-color:#4f6ce1}.location-diag-popper-wrapper .lofty-condition-map-container{height:400px;margin-top:10px}.lofty-location-map[data-v-216230d4]{width:100%;height:100%}.lofty-location-map .plot-btn[data-v-216230d4]{position:absolute;top:23px;right:40px;transform:translateY(-50%);z-index:2;color:#3b5cde;cursor:pointer}.group[data-v-72b16c0c]{border-bottom:1px solid #f0f0f0}.group[data-v-72b16c0c]:not(:first-of-type){margin-top:20px}.group .header[data-v-72b16c0c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.group .header .title[data-v-72b16c0c]{display:flex;align-items:center;gap:1rem}.group .header .title h3[data-v-72b16c0c]{font-size:14px;font-weight:700;line-height:24px;color:#2f2f2f;margin:0}.group .header .title .description[data-v-72b16c0c]{color:#757575}.group .header .actions[data-v-72b16c0c]{display:flex;align-items:center;gap:10px;font-size:14px}.group .header .actions .listings-count[data-v-72b16c0c]{font-size:14px}.group .header .actions .delete-group-btn[data-v-72b16c0c]{display:grid;place-items:center;width:24px;height:24px;cursor:pointer}.group .header .actions .delete-group-btn[data-v-72b16c0c]:hover{color:#3858e9;background-color:#3858e914}.group .header .actions .delete-group-btn svg[data-v-72b16c0c]{width:16px;height:16px}.group .criteria-dropdown[data-v-72b16c0c]{position:relative}.group[data-v-72b16c0c] .search-input{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:60px}.group[data-v-72b16c0c] .search-input>input{border:none;padding-left:0;padding-right:0;flex:1;color:#949494}.group[data-v-72b16c0c] .search-input>input::placeholder{color:#949494}.group[data-v-72b16c0c] .search-input>input:focus{outline:none;box-shadow:none}.group[data-v-72b16c0c] .criteria-list{width:288px;max-height:216px;overflow:auto}.group[data-v-72b16c0c] .criteria-item{box-sizing:border-box;width:100%;height:40px;padding:12px 16px;display:flex;align-items:center;cursor:pointer}.group[data-v-72b16c0c] .criteria-item:hover{background-color:#eee}.group[data-v-72b16c0c] .criteria-item .check-criteria{width:100%}.group[data-v-72b16c0c] .empty-list{display:flex;place-content:center;color:#949494}.group[data-v-72b16c0c] .add-criteria-btn{color:#2563eb;display:inline-flex;align-items:center;gap:.25rem;cursor:pointer;font-size:13px;line-height:20px}.group[data-v-72b16c0c] .add-criteria-btn:hover{color:#134cca}.group[data-v-72b16c0c] .add-criteria-btn:hover .btn-name{text-decoration:underline}.group[data-v-72b16c0c] .add-criteria-btn .plus-icon{position:relative;top:-2px;font-size:1.2rem}.group .selected-criterias[data-v-72b16c0c]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}.group .selected-criterias .filter-item label[data-v-72b16c0c]{display:block;font-size:11px;font-weight:500;color:#2f2f2f;margin-bottom:8px;text-transform:uppercase}.group .selected-criterias .filter-item label>span[data-v-72b16c0c]{color:#cc1818;margin-left:3px}.group .selected-criterias .filter-item .filter-item-control[data-v-72b16c0c]{position:relative;display:flex;align-items:center;justify-content:space-between;column-gap:10px}.group .selected-criterias .filter-item .filter-item-control[data-v-72b16c0c]>:first-child{box-sizing:border-box;width:100%}.group .selected-criterias .filter-item .filter-item-control .clear-icon[data-v-72b16c0c]{width:20px;height:20px;fill:#ef4444;cursor:pointer;flex-shrink:0}.lofty-sort-group{display:flex;margin-right:10px;align-items:center}.lofty-sort-group .sort-select-list{border:none;padding:0}.lofty-sort-group .sort-select-list .lofty-menu{min-width:200px;top:25px!important;height:fit-content}.lofty-sort-group .sort-select-list .input_container{display:none}.lofty-sort-group .group-label{color:#757575;margin-right:5px}.listing-filter[data-v-647c724b]{border-top:1px solid #f0f0f0;padding:20px}.listing-filter .header[data-v-647c724b]{display:flex;justify-content:space-between;align-items:center}.listing-filter .header>.left-side[data-v-647c724b]{display:flex;align-items:center;column-gap:5px;flex:1}.listing-filter .header>.left-side h2[data-v-647c724b]{font-size:14px;font-weight:700;line-height:24px;color:#2f2f2f;margin:0}.listing-filter .header>.left-side .lofty-tooltip-wrapper[data-v-647c724b]{height:16px}.listing-filter .header>.left-side .lofty-tooltip-wrapper[data-v-647c724b] svg path{fill:#ccc}.listing-filter .header>.left-side .lofty-tooltip-wrapper[data-v-647c724b] svg path:hover{fill:#949494}.listing-filter .header>.left-side>svg[data-v-647c724b]{position:relative;top:-2px;cursor:pointer}.listing-filter .header .btn-expand-groups[data-v-647c724b]{display:grid;place-items:center;width:20px;height:20px;cursor:pointer;transition:all .3s ease-in-out;border-radius:100%;background-color:#3858e914;transform:rotate(180deg)}.listing-filter .header .btn-expand-groups.expand[data-v-647c724b]{transform:rotate(0)}.listing-filter .header .btn-expand-groups[data-v-647c724b]:hover{color:#fff;background-color:#3858e9}.listing-filter .header .btn-expand-groups:hover svg[data-v-647c724b]{fill:#fff}.listing-filter .header .btn-expand-groups svg[data-v-647c724b]{fill:#3858e9}.listing-filter .groups[data-v-647c724b]{position:relative;margin-top:20px}.listing-filter .groups .add-group-btn[data-v-647c724b]{display:flex;align-items:center;justify-content:center;column-gap:3px;width:100%;height:40px;cursor:pointer;padding:8px;border:1px dashed #3858E9;color:#3858e9;background-color:#fff;border-radius:2px;transition:background-color .2s;font-size:13px;line-height:20px}.listing-filter .groups .add-group-btn[data-v-647c724b]:hover{background-color:#3858e90a}.listing-filter .groups .add-group-btn.disable[data-v-647c724b]{cursor:not-allowed;opacity:.5}.lofty-admin-layout-config[data-v-e5669bc1]{display:flex;gap:30px}.lofty-admin-layout-config .config-layout[data-v-e5669bc1]{display:flex;flex-direction:column;align-items:center;gap:10px;position:relative}.lofty-admin-layout-config .config-layout img[data-v-e5669bc1]{border:1px solid #e0e0e0;border-radius:2px;height:150px;box-sizing:border-box;cursor:pointer}.lofty-admin-layout-config .config-layout .name[data-v-e5669bc1]{font-size:14px;color:#757575}.lofty-admin-layout-config .config-layout .selected-mark[data-v-e5669bc1]{position:absolute;width:36px;height:36px;right:0;top:0;text-align:center;border-radius:2px;background-image:linear-gradient(to right top,transparent 50%,#3858E9 50%)}.lofty-admin-layout-config .config-layout .selected-mark i[data-v-e5669bc1]{position:absolute;bottom:20px;right:4px;font-size:12px;line-height:1;color:#fff}.lofty-admin-layout-config .config-layout.active img[data-v-e5669bc1],.lofty-admin-layout-config .config-layout:hover img[data-v-e5669bc1]{border-width:1px;border-color:#3858e9}.meta-tag-title[data-v-744eb154]{display:flex;margin-bottom:10px}.meta-tag-title label[data-v-744eb154]{font-size:11px;color:#2f2f2f;font-weight:500}.meta-tag-title .insert-variable[data-v-744eb154]{color:#3858e9;cursor:pointer}.meta-tag-title .insert-variable[data-v-744eb154]:hover{text-decoration:underline}.meta-tag-title .insert-variable .plus-icon[data-v-744eb154]{position:relative;top:2px;font-size:1.2rem}.meta-tag-title .meta-tag-list[data-v-744eb154]{overflow:auto;max-height:240px;min-width:150px;max-width:300%;padding:10px 0}.meta-tag-title .meta-tag-list .meta-tag-item[data-v-744eb154]{padding:0 10px;font-size:14px;font-weight:400;line-height:40px;text-align:left;display:flex;justify-content:space-between;cursor:pointer}.meta-tag-title .meta-tag-list .meta-tag-item[data-v-744eb154]:hover{background:#f0f0f0}.meta-tag-content[data-v-744eb154]{min-height:160px;height:auto;color:#000;background-color:#f0f0f0;border:1px solid #f0f0f0;padding:12px}.meta-tag-content[data-v-744eb154]:hover{border-color:#3858e9}.meta-tag-content[data-v-744eb154]:empty:before{content:attr(placeholder);color:#c6c8d1;font-size:14px;cursor:text}.lofty-variable-tag{height:24px;line-height:24px;border-radius:2px;color:#3858e9;margin:0 2px;padding:0 8px;background:#3858e90a;display:inline-block}.lofty-variable-tag .lofty_iconfont{font-size:12px;margin-left:8px;cursor:pointer}.lofty-featuredListing-style[data-v-1bcb11f5]{border-top:1px solid #f0f0f0;padding:20px}.lofty-featuredListing-style .title[data-v-1bcb11f5]{font-size:14px;font-weight:700;color:#1e1e1e}.lofty-featuredListing-style .configs-wrap[data-v-1bcb11f5]{margin-top:20px}.lofty-featuredListing-style .configs-wrap .config-name[data-v-1bcb11f5]{font-size:11px;color:#2f2f2f;font-weight:500;text-transform:uppercase;margin-bottom:10px}.lofty-featuredListing-style .configs-wrap .config-style-tabs[data-v-1bcb11f5]{margin-top:10px;display:flex;gap:30px;height:150px}.lofty-featuredListing-style .configs-wrap .config-style-tabs .config-style-tab[data-v-1bcb11f5]{height:100%;display:flex;flex-direction:column;justify-content:center;cursor:pointer;border:2px solid transparent;border-radius:2px;border:1px solid #e0e0e0;position:relative}.lofty-featuredListing-style .configs-wrap .config-style-tabs .config-style-tab img[data-v-1bcb11f5]{width:100%;max-height:100%;object-fit:cover}.lofty-featuredListing-style .configs-wrap .config-style-tabs .config-style-tab.active[data-v-1bcb11f5],.lofty-featuredListing-style .configs-wrap .config-style-tabs .config-style-tab[data-v-1bcb11f5]:hover{border-color:#3858e9}.lofty-featuredListing-style .configs-wrap .config-style-tabs .config-style-tab .selected-mark[data-v-1bcb11f5]{position:absolute;width:36px;height:36px;right:0;top:0;text-align:center;background-image:linear-gradient(to right top,transparent 50%,#3858E9 50%)}.lofty-featuredListing-style .configs-wrap .config-style-tabs .config-style-tab .selected-mark i[data-v-1bcb11f5]{position:absolute;bottom:20px;right:4px;font-size:12px;line-height:1;color:#fff}.lofty-featuredListing-style .configs-wrap .config-style-content[data-v-1bcb11f5]{margin-top:20px}.lofty-featuredListing-style .configs-wrap .config-style-content .config-style-tab-content .config-item[data-v-1bcb11f5]{display:flex;flex-direction:column;gap:10px}.lofty-featuredListing-style .configs-wrap .config-style-content .config-style-tab-content .config-item[data-v-1bcb11f5]:not(:first-child){margin-top:20px}.lofty-featuredListing-style .configs-wrap .config-style-content .config-style-tab-content .config-item .config-item-name[data-v-1bcb11f5]{font-size:11px;color:#2f2f2f;font-weight:500;text-transform:uppercase}.lofty-featuredListing-style .configs-wrap .config-style-content .config-style-tab-content .config-item .config-item-content.row[data-v-1bcb11f5]{display:flex;align-items:center;gap:30px}.lofty-featuredListing-style .configs-wrap .config-style-content .config-style-tab-content .config-item .config-item-content label[data-v-1bcb11f5]{color:#2f2f2f}
  • lofty-idx/trunk/assets/widget-quick-search.js

    r3312310 r3333213  
    1 import{i as f,h as V}from"./_plugin-vue_export-helper.BXwY9aDM.js";import{c as v}from"./module.CKjUdtPN.js";import{a as q,c as N,r as m,l as $,o as s,g as p,m as B,u as o,d as k,w as E,F as L,h as U,i as M,e as _,y as A,D}from"./vendor.NEC4PHgy.js";import{_ as I,a as x,c as F}from"./mobileFilter.Kp-Hxn-z.js";import"./index.qsOScXF2.js";import"./outsideclick.Bw_hMuzW.js";import"./index.zlpipePe.js";import"./index.Ey8cf3te.js";import"./date-format.BrUodQAJ.js";import"./index.DWgDswh1.js";import"./number-format.CLdvQh6j.js";import"./index.C-6OBrPY.js";const b={};function J(i){return{...{module:i,condition:q({location:{}}),config:i.getModuleData()}}}function K(i){b[i.id]=J(i)}const O={key:1,class:"lofty-multi-filter"},Q={__name:"quickSearchBar",props:{id:String},setup(i){const c=i,{condition:t,config:n}=b[c.id];console.log("quick-search-config",n);const u=N(()=>n.layout==="two-line"||f),[l,g,h]=[m([]),m([]),m({})],{quick_listing_filters:C}=n,d=[];async function S(){(await V.get("/search/center/conditions",{data:{isSold:!1}})).data.configs.forEach(r=>{r.conditions.forEach(e=>{e.name==="location"&&(h.value=e),C.includes(e.name)&&(d.push(e),["multiSelect","singleSelect"].includes(e.inputType)&&!t[e.name]&&(t[e.name]=[]))})}),l.value=d,g.value=d}function y(){const a=document.createElement("a");a.href=`/listing/?pageKey=search&condition=${encodeURIComponent(JSON.stringify(t))}`,n.featureListingName&&(a.href=`/listing/?pageKey=search&featureListingName=${n.featureListingName}&condition=${encodeURIComponent(JSON.stringify(t))}`),a.target=f?"_self":"_blank",document.body.appendChild(a),a.click(),document.body.removeChild(a)}return $(()=>{S()}),(a,r)=>(s(),p("div",{class:A(["lofty-listing-search",{"two-line":o(u)}])},[B(I,{class:"location-suggestion",modelValue:o(t).location,"onUpdate:modelValue":r[0]||(r[0]=e=>o(t).location=e),config:o(h)},null,8,["modelValue","config"]),o(f)?(s(),k(x,{key:0,condition:o(t),mobileConfigs:o(g),isQuickSearch:!0},{default:E(()=>[_("button",{class:"lofty-btn",onClick:y},"Search")]),_:1},8,["condition","mobileConfigs"])):(s(),p("div",O,[(s(!0),p(L,null,U(o(l),e=>(s(),k(M(o(F)[e.inputType]),{modelValue:o(t)[e.name],"onUpdate:modelValue":w=>o(t)[e.name]=w,class:"lofty-filter-block","show-default-label":!0,"fit-width":!1,config:e,outSide:""},null,8,["modelValue","onUpdate:modelValue","config"]))),256)),_("button",{class:"lofty-btn",onClick:y},"Search")]))],2))}};jQuery(".lofty-widget-quick-search-container").ready(function(){document.querySelectorAll(".lofty-widget-quick-search-container").forEach(c=>{const t=c.getAttribute("id"),n=v(t),{id:u,$:l}=n;K(n),D(Q,{id:u}).mount(l("#lofty-widget-quick-search-app"))})});
     1import{i as f,h as V}from"./_plugin-vue_export-helper.bB-lvPOu.js";import{c as v}from"./module.CKjUdtPN.js";import{a as q,c as N,r as m,l as $,o as s,g as p,m as B,u as o,d as k,w as E,F as L,h as U,i as M,e as _,y as A,D}from"./vendor.DSMCY3-_.js";import{_ as I,a as x,c as F}from"./mobileFilter.YOw-E2qB.js";import"./index.Ca0KQw1k.js";import"./outsideclick.Bw_hMuzW.js";import"./index.BPxU_3zo.js";import"./index.C_5yu3Gg.js";import"./date-format.BrUodQAJ.js";import"./index.B1jQkB8N.js";import"./number-format.CLdvQh6j.js";import"./index.CblVywxl.js";const b={};function J(i){return{...{module:i,condition:q({location:{}}),config:i.getModuleData()}}}function K(i){b[i.id]=J(i)}const O={key:1,class:"lofty-multi-filter"},Q={__name:"quickSearchBar",props:{id:String},setup(i){const c=i,{condition:t,config:n}=b[c.id];console.log("quick-search-config",n);const u=N(()=>n.layout==="two-line"||f),[l,g,h]=[m([]),m([]),m({})],{quick_listing_filters:C}=n,d=[];async function S(){(await V.get("/search/center/conditions",{data:{isSold:!1}})).data.configs.forEach(r=>{r.conditions.forEach(e=>{e.name==="location"&&(h.value=e),C.includes(e.name)&&(d.push(e),["multiSelect","singleSelect"].includes(e.inputType)&&!t[e.name]&&(t[e.name]=[]))})}),l.value=d,g.value=d}function y(){const a=document.createElement("a");a.href=`/listing/?pageKey=search&condition=${encodeURIComponent(JSON.stringify(t))}`,n.featureListingName&&(a.href=`/listing/?pageKey=search&featureListingName=${n.featureListingName}&condition=${encodeURIComponent(JSON.stringify(t))}`),a.target=f?"_self":"_blank",document.body.appendChild(a),a.click(),document.body.removeChild(a)}return $(()=>{S()}),(a,r)=>(s(),p("div",{class:A(["lofty-listing-search",{"two-line":o(u)}])},[B(I,{class:"location-suggestion",modelValue:o(t).location,"onUpdate:modelValue":r[0]||(r[0]=e=>o(t).location=e),config:o(h)},null,8,["modelValue","config"]),o(f)?(s(),k(x,{key:0,condition:o(t),mobileConfigs:o(g),isQuickSearch:!0},{default:E(()=>[_("button",{class:"lofty-btn",onClick:y},"Search")]),_:1},8,["condition","mobileConfigs"])):(s(),p("div",O,[(s(!0),p(L,null,U(o(l),e=>(s(),k(M(o(F)[e.inputType]),{modelValue:o(t)[e.name],"onUpdate:modelValue":w=>o(t)[e.name]=w,class:"lofty-filter-block","show-default-label":!0,"fit-width":!1,config:e,outSide:""},null,8,["modelValue","onUpdate:modelValue","config"]))),256)),_("button",{class:"lofty-btn",onClick:y},"Search")]))],2))}};jQuery(".lofty-widget-quick-search-container").ready(function(){document.querySelectorAll(".lofty-widget-quick-search-container").forEach(c=>{const t=c.getAttribute("id"),n=v(t),{id:u,$:l}=n;K(n),D(Q,{id:u}).mount(l("#lofty-widget-quick-search-app"))})});
  • lofty-idx/trunk/includes/common/LoftyIDXApiCache.php

    r3329655 r3333213  
    2222    public static function clearAllCache()
    2323    {
     24       try{
    2425        foreach (self::$cacheApi as $path) {
    2526            self::deleteApiCacheData($path);
     
    3536            "apiKey" =>  $settings['lofty_idx_api_key']
    3637        ]);
     38       }catch(\Exception $e){
     39        error_log($e->getMessage());
     40       }
    3741    }
    3842
  • lofty-idx/trunk/includes/providers/LoftyIDXProxyServiceProvider.php

    r3312310 r3333213  
    340340            $default_headers['Including-Inactive-Mls'] = 'true';
    341341        }
    342         $headers = getallheaders();
     342       
     343        $headers = $this->get_all_headers();
     344       
    343345        if (!isset($default_headers['Including-Inactive-Mls'])) {
    344346            if (isset($headers['Including-Inactive-Mls'])) {
     
    451453        return $this->respond(400, $message, $data);
    452454    }
     455
     456    /**
     457     * 获取所有HTTP头信息,兼容低版本PHP
     458     * @return array
     459     */
     460    private function get_all_headers()
     461    {
     462        if (function_exists('getallheaders')) {
     463            return getallheaders();
     464        }
     465       
     466        $headers = [];
     467        foreach ($_SERVER as $name => $value) {
     468            if (substr($name, 0, 5) === 'HTTP_') {
     469                // 将 HTTP_HEADER_NAME 转换为 Header-Name 格式
     470                $header_name = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))));
     471                $headers[$header_name] = $value;
     472            }
     473        }
     474       
     475        return $headers;
     476    }
    453477}
  • lofty-idx/trunk/lofty-idx.php

    r3329655 r3333213  
    55 * Description: A powerful WordPress plugin that integrates IDX/MLS property listings.
    66 * Author: loftylisting
    7  * Version: 1.5.5
     7 * Version: 1.5.6
    88 * License: GPLv2 or later
    99 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    2020// error_reporting(E_ERROR);
    2121
    22 // load env file
     22// load env file 
    2323$dotenv=Dotenv::createImmutable(__DIR__);
    24 $dotenv->safeLoad();
     24try {
     25    if (file_exists(__DIR__ . '/.env')) {
     26        if (method_exists($dotenv, 'safeLoad')) {
     27            $dotenv->safeLoad();
     28        } else {
     29            $dotenv->load();
     30        }
     31    }
     32} catch (Exception $e) {
     33}
    2534
    2635define('LOFTY_IDX_FILE', __FILE__);
     
    2938define('LOFTY_API_PROXY', isset($_ENV['LOFTY_API_PROXY']) ? sanitize_url($_ENV['LOFTY_API_PROXY']) : 'https://lofty.com/wp-api/wp-plugin/');
    3039define('LOFTY_API_REFERRER', isset($_ENV['LOFTY_API_REFERRER']) ? sanitize_url($_ENV['LOFTY_API_REFERRER']) : '');
    31 define('LOFTY_BUILD_ID', isset($_ENV['LOFTY_BUILD_ID']) ? sanitize_text_field($_ENV['LOFTY_BUILD_ID']) : '1750057354494');
     40define('LOFTY_BUILD_ID', isset($_ENV['LOFTY_BUILD_ID']) ? sanitize_text_field($_ENV['LOFTY_BUILD_ID']) : '1753318773190');
    3241
    33 define('LOFTY_IDX_VERSION', '1.5.5');
     42define('LOFTY_IDX_VERSION', '1.5.6');
    3443
    3544define('LOFTY_IDX_PATH', plugin_dir_path(__FILE__));
  • lofty-idx/trunk/package.json

    r3329655 r3333213  
    22  "name": "lofty-idx-web",
    33  "private": true,
    4   "version": "1.5.5",
     4  "version": "1.5.6",
    55  "type": "module",
    66  "scripts": {
  • lofty-idx/trunk/readme.txt

    r3329655 r3333213  
    66Requires at least: 5.0
    77Tested up to: 6.7
    8 Stable tag: 1.5.5
     8Stable tag: 1.5.6
    99Requires PHP: 7.4
    1010License: GPLv2 or later
     
    147147* Refined a few features
    148148
    149 = 1.5.5 =
     149= 1.5.6 =
    150150* Change key clear cache
  • lofty-idx/trunk/src/admin/common/FilterGroup.vue

    r3306828 r3333213  
    7070            :initial-condition="conditions[item.name]"
    7171            @update:condition="updateCondition(item.name, $event)"
    72             :is="components[item.inputType]"
     72            :is="components[componentName(item)]"
    7373            class="lofty-filter-block"
    7474            :fit-width="false"
     
    128128  }
    129129});
     130
     131
     132const componentName = (item)=>{
     133  if (item.inputType === 'suggestion') {
     134      if (item.name.match(/location/i)) {
     135          return 'addressEditor';
     136      }
     137  }
     138  return item.inputType
     139}
     140
    130141const allConditions=inject('allConditions')
    131142
     
    160171  // consider each condition's order
    161172  const filtered_conditions=props.allCriterias.filter(c => conditions.value.hasOwnProperty(c.name.toLowerCase()) || conditions.value.hasOwnProperty(c.name))
    162   return filtered_conditions.sort((a, b)=> {
     173  let sorted_conditions= filtered_conditions.sort((a, b)=> {
    163174    const idx_a=orderKeys.value.indexOf(a.name)
    164175    const idx_b=orderKeys.value.indexOf(b.name)
    165176    return idx_a - idx_b
    166177  })
     178  return sorted_conditions
    167179})
    168180
     
    207219  if(!deepCompare(toRaw(conditions.value[name]), newValue)){
    208220    conditions.value={...conditions.value, [name]: newValue}
     221    console.log("======updateCondition=======", conditions.value)
    209222  }
    210223}
     
    309322  return requiredKey.value?.includes(key)
    310323}
     324
    311325
    312326
  • lofty-idx/trunk/src/admin/common/components/index.js

    r3270752 r3333213  
    66import text from "./text.vue";
    77import keyWord from './keyWord.vue';
    8 
     8import addressEditor from './addressEditor/index.vue';
    99export default {
    1010    inputBox,
     
    1414    suggestion,
    1515    text,
    16     keyWord
     16    keyWord,
     17    addressEditor
    1718}
  • lofty-idx/trunk/src/common/format/house-format.js

    r3312310 r3333213  
    147147    house.price = house.isProtected ? '$ ****' :numberFormat(house.price, null,2,'$');
    148148    house.address = house.isProtected ? 'Address Not Disclosed' : house.address
    149     const mls = userState.mlsList.find(item => item.id === house.mlsOrg.id);
     149    const mls = userState.mlsList?.find?.(item => item.id === house.mlsOrg.id);
    150150    if (mls) {
    151151        house.showSoldPrice = mls.showSoldPrice;
  • lofty-idx/trunk/src/components/map-here/js/mapUtil.js

    r3264238 r3333213  
    118118};
    119119
     120/**
     121 * 安全的设置地图视图,限制zoom变化幅度
     122 * @param {Object} map - Here地图实例
     123 * @param {Object} options - setLookAtData的选项
     124 * @param {Number} maxZoomChange - 最大允许的zoom变化级数,默认3
     125 * @param {Boolean} animated - 是否使用动画,默认true
     126 */
     127export function safeSetLookAtData(map, options, maxZoomChange = 3, animated = true) {
     128    if (!map || !options) return;
     129   
     130    const currentZoom = map.getZoom();
     131    const mapConfig = map.getViewPort().getOptions();
     132    const minMapZoom = mapConfig.minZoom || 4;
     133    const maxMapZoom = mapConfig.maxZoom || 20;
     134   
     135    if (options.bounds && !options.zoom) {
     136        // 如果只设置了bounds,需要先计算合适的zoom
     137        map.getViewModel().setLookAtData({ bounds: options.bounds }, false);
     138        const calculatedZoom = map.getZoom();
     139       
     140        // 限制zoom变化幅度
     141        const minZoom = Math.max(currentZoom - maxZoomChange, minMapZoom);
     142        const maxZoom = Math.min(currentZoom + maxZoomChange, maxMapZoom);
     143        const finalZoom = Math.max(minZoom, Math.min(calculatedZoom, maxZoom));
     144       
     145        // 使用限制后的zoom重新设置
     146        map.getViewModel().setLookAtData({
     147            ...options,
     148            zoom: finalZoom
     149        }, animated);
     150    } else if (options.zoom) {
     151        // 如果设置了zoom,确保不超过限制范围
     152        const limitedZoom = Math.max(minMapZoom, Math.min(options.zoom, maxMapZoom));
     153        map.getViewModel().setLookAtData({
     154            ...options,
     155            zoom: limitedZoom
     156        }, animated);
     157    } else {
     158        // 没有zoom相关设置,直接使用原选项
     159        map.getViewModel().setLookAtData(options, animated);
     160    }
     161}
     162
    120163export default mapUtil;
  • lofty-idx/trunk/src/components/map-here/markers/aggre.vue

    r3291483 r3333213  
    8282      let { lat, lng } = this.data;
    8383      let zoom = this.map.getZoom();
     84     
     85      // 优化zoom递增逻辑,减少跳跃幅度
    8486      if (this.isMobile) {
    85         zoom += 2;
     87        zoom += 1; // 从2改为1
    8688      } else {
    87         zoom += zoom < 10 ? 3 : zoom <= 16 ? 2 : 1;
     89        zoom += zoom < 12 ? 1.5 : zoom <= 16 ? 1 : 0.5; // 减少递增幅度
    8890      }
     91     
     92      // 确保zoom不超过地图配置的最大值
     93      const maxZoom = this.map.getOptions().maxZoom || 20;
     94      zoom = Math.min(zoom, maxZoom);
     95     
    8996      this.map.getViewModel().setLookAtData(
    9097          { position: { lat, lng }, zoom },
  • lofty-idx/trunk/src/components/map-here/tools/components/circle.vue

    r3291483 r3333213  
    7474        updateRadiusOption() {
    7575            if(this.map && this.circle){
     76                // 获取当前zoom,限制变化幅度
     77                const currentZoom = this.map.getZoom();
     78                const bounds = this.circle.getBoundingBox();
     79               
     80                // 先不使用动画计算合适的zoom
     81                this.map.getViewModel().setLookAtData({ bounds }, false);
     82                const calculatedZoom = this.map.getZoom();
     83               
     84                // 限制zoom变化幅度,最大允许变化3级
     85                const maxZoomChange = 3;
     86                const minZoom = Math.max(currentZoom - maxZoomChange, 4);
     87                const maxZoom = Math.min(currentZoom + maxZoomChange, 20);
     88                const finalZoom = Math.max(minZoom, Math.min(calculatedZoom, maxZoom));
     89               
    7690                this.map.getViewModel().setLookAtData({
    77                     bounds: this.circle.getBoundingBox()
     91                    bounds,
     92                    zoom: finalZoom
    7893                }, true);
    7994            }
  • lofty-idx/trunk/src/components/map-here/tools/draw.vue

    r3264238 r3333213  
    1111                <span class="lofty_iconfont lofty-icon-arrow-down"></span>
    1212                <div class="select-item" v-show="showSelectDraw">
    13                     <p @click="startDraw">Polygon</p>
    14                     <p @click="openDrawCircle">Radius</p>
     13                    <p v-if="showPolygon" @click="startDraw">Polygon</p>
     14                    <p v-if="showRadius" @click="openDrawCircle">Radius</p>
    1515                    <div class="opacity"></div>
    1616                </div>
     
    3636    inject: ['store', 'isMobile', 'mapbox'],
    3737    props: {
    38       map: Object
     38      map: Object,
     39      showPolygon: {
     40        type: Boolean,
     41        default: true
     42      },
     43      showRadius: {
     44        type: Boolean,
     45        default: true
     46      }
    3947    },
    4048    data() {
  • lofty-idx/trunk/src/components/map-here/useMap.js

    r3264238 r3333213  
    2121                });
    2222            })
     23           
     24            // 获取当前zoom,限制变化幅度
     25            const currentZoom = map.getZoom();
     26            const bounds = linestring.getBoundingBox();
     27           
     28            // 先不使用动画计算合适的zoom
     29            map.getViewModel().setLookAtData({ bounds }, false);
     30            const calculatedZoom = map.getZoom();
     31           
     32            // 限制zoom变化幅度,最大允许变化4级
     33            const maxZoomChange = 4;
     34            const minZoom = Math.max(currentZoom - maxZoomChange, 4);
     35            const maxZoom = Math.min(currentZoom + maxZoomChange, 20);
     36            const finalZoom = Math.max(minZoom, Math.min(calculatedZoom, maxZoom));
     37           
    2338            map.getViewModel().setLookAtData(
    2439                {
    25                     bounds: linestring.getBoundingBox()
    26                 }
     40                    bounds,
     41                    zoom: finalZoom
     42                },
     43                true
    2744            );
    2845        }
  • lofty-idx/trunk/src/components/pop/index.vue

    r3306828 r3333213  
    2828        <span
    2929            v-show="allowClose && !outClose"
    30             class="lofty_iconfont"
     30            class="lofty_iconfont lofty-pop-close-icon"
    3131            :class="[closeIcon.startsWith('lofty-') ? closeIcon : 'lofty-' + closeIcon]"
    3232            @click="close"
  • lofty-idx/trunk/src/components/pop/pop.scss

    r3291483 r3333213  
    4040    max-width: 100%;
    4141    //overflow: auto;
    42     .lofty-icon-close {
     42    .lofty-pop-close-icon {
    4343        position: absolute;
    4444       // z-index: 1;
  • lofty-idx/trunk/src/module/feature-listing/index.js

    r3306828 r3333213  
    1515userState.initState(()=>{
    1616    featureListingTrigger();
    17     userState.mlsList.forEach(mls => showMlsPop(mls));
     17    userState.mlsList?.forEach?.(mls => showMlsPop(mls));
    1818});
    1919jQuery('.lofty-feature-listing-page').ready(function () {
  • lofty-idx/trunk/src/module/feature-listing/listingSlider.vue

    r3270752 r3333213  
    11<template>
    2   <div class="lofty-listing-slider">
    3     <img class="img-background" :src="backgroundImage" alt="">
    4     <div class="mask"></div>
    5     <div v-if="list.length===1" class="lofty-single-house">
    6       <house-slider :house="list[0]"></house-slider>
     2    <div class="lofty-listing-slider" v-if="list.length > 0">
     3      <img class="img-background" :src="backgroundImage" alt="">
     4      <div class="mask"></div>
     5      <div v-if="list.length===1" class="lofty-single-house">
     6        <house-slider :house="list[0]"></house-slider>
     7      </div>
     8      <swiper-container
     9          v-else
     10          init="false"
     11          ref="swiperRef"
     12          :class="{'swiper-hide-prev': layout === 'next' && !isMobile }"
     13          class="swiper-container">
     14        <swiper-slide :class="{'swiper-slide-flow': isCoverflow && !isMobile, 'swiper-slide-mobile': isMobile }"
     15                      v-for="(house, index) in list" :key="index">
     16          <house-slider :house="house"></house-slider>
     17        </swiper-slide>
     18      </swiper-container>
     19      <template v-if="list.length > 1 && !isMobile">
     20        <div v-if="layout!=='next'" class="listing-slider-prev-button" :class="{'sold-button': isCoverflow}">
     21          <i class="lofty_iconfont lofty-icon-arrow_06_left"></i>
     22        </div>
     23        <div class="listing-slider-next-button" :class="{'sold-button': isCoverflow, 'hide-prev': layout === 'next'}">
     24          <i class="lofty_iconfont lofty-icon-arrow_06_right"></i>
     25        </div>
     26      </template>
    727    </div>
    8     <swiper-container
    9         v-else
    10         init="false"
    11         ref="swiperRef"
    12         :class="{'swiper-hide-prev': layout === 'next' && !isMobile }"
    13         class="swiper-container">
    14       <swiper-slide :class="{'swiper-slide-flow': isCoverflow && !isMobile, 'swiper-slide-mobile': isMobile }"
    15                     v-for="(house, index) in list" :key="index">
    16         <house-slider :house="house"></house-slider>
    17       </swiper-slide>
    18     </swiper-container>
    19     <template v-if="list.length > 1 && !isMobile">
    20       <div v-if="layout!=='next'" class="listing-slider-prev-button" :class="{'sold-button': isCoverflow}">
    21         <i class="lofty_iconfont lofty-icon-arrow_06_left"></i>
     28    <div v-else class="lofty-listing-slider-empty">
     29      <div class="lofty-no-listing">
     30        <i class="lofty_iconfont lofty-icon-house_02"></i>
     31        <div class="no-listing-text">No Listing Found</div>
    2232      </div>
    23       <div class="listing-slider-next-button" :class="{'sold-button': isCoverflow, 'hide-prev': layout === 'next'}">
    24         <i class="lofty_iconfont lofty-icon-arrow_06_right"></i>
    25       </div>
    26     </template>
    27   </div>
    28 
    29   <div v-if="showMore" @click="moreClick" class="lofty-more">
    30     {{moreText}}
    31   </div>
     33    </div>
     34
     35    <div v-if="showMore && list.length > 0"  @click="moreClick" class="lofty-more">
     36      {{moreText}}
     37    </div>
     38
     39
    3240</template>
    3341
     
    121129  }
    122130}
     131
     132.lofty-listing-slider-empty{
     133  width: 100%;
     134  height: 535px;
     135  display: flex;
     136  justify-content: center;
     137  align-items: center;
     138  @include media-600 {
     139    padding-top: 40px;
     140    height: 400px;
     141  }
     142}
    123143.lofty-listing-slider {
    124144  width: 100%;
  • lofty-idx/trunk/src/module/listing-detail/detailMap.vue

    r3291483 r3333213  
    142142      maxLng = Math.max(maxLng, boundingBox.getRight());
    143143    });
     144   
     145    // 获取当前zoom,限制变化幅度
     146    const currentZoom = map.value.getZoom();
     147    const bounds = new window.H.geo.Rect(maxLat, minLng, minLat, maxLng);
     148   
     149    // 先不使用动画计算合适的zoom
     150    map.value.getViewModel().setLookAtData({ bounds }, false);
     151    const calculatedZoom = map.value.getZoom();
     152   
     153    // 限制zoom变化幅度,最大允许变化3级
     154    const maxZoomChange = 3;
     155    const minZoom = Math.max(currentZoom - maxZoomChange, 4);
     156    const maxZoom = Math.min(currentZoom + maxZoomChange, 20);
     157    const finalZoom = Math.max(minZoom, Math.min(calculatedZoom, maxZoom));
     158   
    144159    map.value.getViewModel().setLookAtData({
    145       bounds: new window.H.geo.Rect(maxLat, minLng, minLat, maxLng),
     160      bounds,
     161      zoom: finalZoom
    146162    }, true);
    147163  }
  • lofty-idx/trunk/src/module/listing-detail/store.js

    r3291483 r3333213  
    6767            state.location.lng = data.info.longitude
    6868            state.location.lat = data.info.latitude
    69             const mls = userState.mlsList.find(t => t.id === data.info.mlsOrg.id)
     69            const mls = userState.mlsList.find?.(t => t.id === data.info.mlsOrg.id)
    7070            if (mls) {
    7171                showMlsPop(mls)
  • lofty-idx/trunk/src/module/listing/index.js

    r3270752 r3333213  
    1717userState.initState(()=>{
    1818  listingTrigger();
    19   userState.mlsList.forEach(mls => showMlsPop(mls))
     19  userState.mlsList?.forEach?.(mls => showMlsPop(mls))
    2020});
    2121
  • lofty-idx/trunk/src/module/listing/listingMap.vue

    r3264238 r3333213  
    209209    let { viewportX, viewportY } = e.currentPointer;
    210210    let point = mapView.screenToGeo(viewportX, viewportY);
     211   
     212    // 减少zoom增量,从+2改为+1
     213    const maxZoom = config.maxZoom || 20;
     214    const newZoom = Math.min(zoom + 1, maxZoom);
     215   
    211216    mapView.getViewModel().setLookAtData(
    212217        {
    213218          position: point,
    214           zoom: zoom + 2
     219          zoom: newZoom
    215220        },
    216221        true
  • lofty-idx/trunk/src/module/market-report/index.js

    r3306828 r3333213  
    1111autoVow();
    1212userState.initState(()=>{
    13     userState.mlsList.forEach(mls => showMlsPop(mls))
     13    userState.mlsList?.forEach?.(mls => showMlsPop(mls))
    1414});
    1515
  • lofty-idx/trunk/src/util/index.js

    r3291483 r3333213  
    100100    isObject(obj) {
    101101        return Object.prototype.toString.call(obj) === "[object Object]";
     102    },
     103    isArray(arr) {
     104        return Object.prototype.toString.call(arr) === "[object Array]";
    102105    },
    103106    addScript(url, async = true, crossorigin = false) {
Note: See TracChangeset for help on using the changeset viewer.